From dda45f4912c52fdec0657992400750aa53506218 Mon Sep 17 00:00:00 2001 From: Sameep Singhania Date: Mon, 19 Nov 2018 16:14:11 +0530 Subject: [PATCH 01/19] Removing dead code from transferFunds function --- build/contracts/Escrow_v1_0.json | 1758 ++++++++++++++------------- build/contracts/ITokenContract.json | 182 +-- build/contracts/SafeMath.json | 818 ++++++------- contracts/escrow/Escrow_v1_0.sol | 5 +- 4 files changed, 1443 insertions(+), 1320 deletions(-) diff --git a/build/contracts/Escrow_v1_0.json b/build/contracts/Escrow_v1_0.json index d44be3e..fc9a829 100644 --- a/build/contracts/Escrow_v1_0.json +++ b/build/contracts/Escrow_v1_0.json @@ -422,20 +422,20 @@ "type": "function" } ], - "bytecode": "0x6080604052600060015534801561001557600080fd5b50614296806100256000396000f3006080604052600436106100ba576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806323b6fd3f146100bf5780632d9ef96e1461017957806346fbcdeb1461019d57806357bced7614610292578063642f2eaf14610383578063b0550c66146104f4578063b719e2801461055d578063b77bf60014610598578063be84ceaf146105c3578063e4ec8b001461065b578063f078656214610704578063f5dbe09c1461076d575b600080fd5b610177600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff169060200190929190803563ffffffff169060200190929190803560001916906020019092919080356bffffffffffffffffffffffff191690602001909291905050506107d6565b005b61019b6004803603810190808035600019169060200190929190505050610a35565b005b3480156101a957600080fd5b5061027460048036038101908080356bffffffffffffffffffffffff19169060200190929190803560ff169060200190929190803563ffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610ec3565b60405180826000191660001916815260200191505060405180910390f35b34801561029e57600080fd5b50610381600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff169060200190929190803563ffffffff16906020019092919080356000191690602001909291908035906020019092919080356bffffffffffffffffffffffff19169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061136f565b005b34801561038f57600080fd5b506103b2600480360381019080803560001916906020019092919050505061184f565b604051808c600019166000191681526020018b81526020018a81526020018960018111156103dc57fe5b60ff1681526020018860018111156103f057fe5b60ff1681526020018760ff1660ff1681526020018663ffffffff1663ffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019b50505050505050505050505060405180910390f35b34801561050057600080fd5b506105436004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611960565b604051808215151515815260200191505060405180910390f35b34801561056957600080fd5b506105966004803603810190808035600019169060200190929190803590602001909291905050506119d2565b005b3480156105a457600080fd5b506105ad6120b2565b6040518082815260200191505060405180910390f35b3480156105cf57600080fd5b50610604600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506120b8565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b8381101561064757808201518184015260208101905061062c565b505050509050019250505060405180910390f35b34801561066757600080fd5b506107026004803603810190808035906020019082018035906020019190919293919293908035906020019082018035906020019190919293919293908035906020019082018035906020019190919293919293908035600019169060200190929190803590602001908201803590602001919091929391929390803590602001908201803590602001919091929391929390505050612153565b005b34801561071057600080fd5b506107536004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506126b5565b604051808215151515815260200191505060405180910390f35b34801561077957600080fd5b506107b8600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050612727565b60405180826000191660001916815260200191505060405180910390f35b81600080600083600019166000191681526020019081526020016000206001015414151561086c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f5472616e73616374696f6e20657869737473000000000000000000000000000081525060200191505060405180910390fd5b87600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610912576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b87600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156109b8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b6109cb8a8a8a8a8a8a348b600080612757565b3373ffffffffffffffffffffffffffffffffffffffff167fce7089d0668849fb9ca29778c0cbf1e764d9efb048d81fd71fb34c94f26db36886346040518083600019166000191681526020018281526020019250505060405180910390a250505050505050505050565b600081600080600083600019166000191681526020019081526020016000206001015414151515610ace576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737473000000000081525060200191505060405180910390fd5b8260006001811115610adc57fe5b600080836000191660001916815260200190815260200160002060030160009054906101000a900460ff166001811115610b1257fe5b141515610bad576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001807f5472616e73616374696f6e2069732065697468657220696e206469737075746581526020017f206f722072656c6561736564207374617465000000000000000000000000000081525060400191505060405180910390fd5b836000806001811115610bbc57fe5b600080846000191660001916815260200190815260200160002060030160019054906101000a900460ff166001811115610bf257fe5b141515610c67576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5472616e73616374696f6e207479706520646f6573206e6f74206d617463680081525060200191505060405180910390fd5b85600080826000191660001916815260200190815260200160002060030160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610d6e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f54686520696e69746961746f72206f6620746865207472616e73616374696f6e81526020017f206973206e6f742062757965720000000000000000000000000000000000000081525060400191505060405180910390fd5b349550600086111515610de9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f56616c7565206d7573742062652067726561746572207468616e207a65726f2e81525060200191505060405180910390fd5b610e19866000808a60001916600019168152602001908152602001600020600101546130f190919063ffffffff16565b600080896000191660001916815260200190815260200160002060010181905550426000808960001916600019168152602001908152602001600020600201819055503373ffffffffffffffffffffffffffffffffffffffff167ff66fd2ae9e24a6a24b02e1b5b7512ffde5149a4176085fc0298ae228c9b9d72988886040518083600019166000191681526020018281526020019250505060405180910390a250505050505050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561110f578787878787873060405160200180886bffffffffffffffffffffffff19166bffffffffffffffffffffffff191681526014018760ff1660ff167f01000000000000000000000000000000000000000000000000000000000000000281526001018663ffffffff1663ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014019750505050505050506040516020818303038152906040526040518082805190602001908083835b6020831015156110db57805182526020820191506020810190506020830392506110b6565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390209050611364565b878787878787308860405160200180896bffffffffffffffffffffffff19166bffffffffffffffffffffffff191681526014018860ff1660ff167f01000000000000000000000000000000000000000000000000000000000000000281526001018763ffffffff1663ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401985050505050505050506040516020818303038152906040526040518082805190602001908083835b602083101515611334578051825260208201915060208101905060208303925061130f565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902090505b979650505050505050565b6000846000806000836000191660001916815260200190815260200160002060010154141515611407576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f5472616e73616374696f6e20657869737473000000000000000000000000000081525060200191505060405180910390fd5b8a600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156114ad576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b8a600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515611553576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b84600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156115f9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b61160c8e8e8e8e8e8e8e8e60018f612757565b8594508473ffffffffffffffffffffffffffffffffffffffff166323b872dd33308b6040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b1580156116e657600080fd5b505af11580156116fa573d6000803e3d6000fd5b505050506040513d602081101561171057600080fd5b810190808051906020019092919050505015156117e1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252605c8152602001807f546f6b656e207472616e73666572206661696c65642c206d6179626520796f7581526020017f20646964206e6f7420617070726f766520657363726f7720636f6e747261637481526020017f20746f207370656e64206f6e20626568616c66206f662062757965720000000081525060600191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff167fce7089d0668849fb9ca29778c0cbf1e764d9efb048d81fd71fb34c94f26db3688a8a6040518083600019166000191681526020018281526020019250505060405180910390a25050505050505050505050505050565b60006020528060005260406000206000915090508060000154908060010154908060020154908060030160009054906101000a900460ff16908060030160019054906101000a900460ff16908060030160029054906101000a900460ff16908060030160039054906101000a900463ffffffff16908060030160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060050160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060060160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508b565b6000806000846000191660001916815260200190815260200160002060090160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b60008083600080600083600019166000191681526020019081526020016000206001015414151515611a6c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737473000000000081525060200191505060405180910390fd5b8460006001811115611a7a57fe5b600080836000191660001916815260200190815260200160002060030160009054906101000a900460ff166001811115611ab057fe5b141515611b4b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001807f5472616e73616374696f6e2069732065697468657220696e206469737075746581526020017f206f722072656c6561736564207374617465000000000000000000000000000081525060400191505060405180910390fd5b856001806001811115611b5a57fe5b600080846000191660001916815260200190815260200160002060030160019054906101000a900460ff166001811115611b9057fe5b141515611c05576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5472616e73616374696f6e207479706520646f6573206e6f74206d617463680081525060200191505060405180910390fd5b87600080826000191660001916815260200190815260200160002060030160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611d0c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f54686520696e69746961746f72206f6620746865207472616e73616374696f6e81526020017f206973206e6f742062757965720000000000000000000000000000000000000081525060400191505060405180910390fd5b879650600087111515611d87576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f56616c7565206d7573742062652067726561746572207468616e207a65726f2e81525060200191505060405180910390fd5b6000808a6000191660001916815260200190815260200160002060050160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1695508573ffffffffffffffffffffffffffffffffffffffff166323b872dd6000808c6000191660001916815260200190815260200160002060030160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff16308b6040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b158015611edb57600080fd5b505af1158015611eef573d6000803e3d6000fd5b505050506040513d6020811015611f0557600080fd5b81019080805190602001909291905050501515611fd6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252605c8152602001807f546f6b656e207472616e73666572206661696c65642c206d6179626520796f7581526020017f20646964206e6f7420617070726f766520657363726f7720636f6e747261637481526020017f20746f207370656e64206f6e20626568616c66206f662062757965720000000081525060600191505060405180910390fd5b612006876000808c60001916600019168152602001908152602001600020600101546130f190919063ffffffff16565b6000808b6000191660001916815260200190815260200160002060010181905550426000808b60001916600019168152602001908152602001600020600201819055503373ffffffffffffffffffffffffffffffffffffffff167ff66fd2ae9e24a6a24b02e1b5b7512ffde5149a4176085fc0298ae228c9b9d7298a896040518083600019166000191681526020018281526020019250505060405180910390a2505050505050505050565b60015481565b6060600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080548060200260200160405190810160405280929190818152602001828054801561214757602002820191906000526020600020905b8154600019168152602001906001019080831161212f575b50505050509050919050565b846000806000836000191660001916815260200190815260200160002060010154141515156121ea576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737473000000000081525060200191505060405180910390fd5b85600060018111156121f857fe5b600080836000191660001916815260200190815260200160002060030160009054906101000a900460ff16600181111561222e57fe5b1415156122c9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001807f5472616e73616374696f6e2069732065697468657220696e206469737075746581526020017f206f722072656c6561736564207374617465000000000000000000000000000081525060400191505060405180910390fd5b6000868690501180156122e157508383905086869050145b151561237b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001807f4c656e677468206f662064657374696e6174696f6e7320697320696e636f727281526020017f6563742e0000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b6124748d8d808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508c8c808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508b8b808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508a8a8a80806020026020016040519081016040528093929190818152602001838360200280828437820191505050505050898980806020026020016040519081016040528093929190818152602001838360200280828437820191505050505050613112565b6001600080896000191660001916815260200190815260200160002060030160006101000a81548160ff021916908360018111156124ae57fe5b02179055504260008089600019166000191681526020019081526020016000206002018190555060008088600019166000191681526020019081526020016000206001015461255c888888808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508787808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050506132cd565b14151561261d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260488152602001807f546f74616c2076616c756520746f2062652072656c6561736564206d7573742081526020017f626520657175616c20746f20746865207472616e73616374696f6e206573637281526020017f6f772076616c756500000000000000000000000000000000000000000000000081525060600191505060405180910390fd5b7f688e2a1b34445bcd47b0e11ba2a9c8c4d850a1831b64199b59d1c70e2970154587878787876040518086600019166000191681526020018060200180602001838103835287878281815260200192506020028082843782019150508381038252858582818152602001925060200280828437820191505097505050505050505060405180910390a150505050505050505050505050565b6000806000846000191660001916815260200190815260200160002060080160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b60026020528160005260406000208181548110151561274257fe5b90600052602060002001600091509150505481565b8873ffffffffffffffffffffffffffffffffffffffff168a73ffffffffffffffffffffffffffffffffffffffff16141515156127fb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f427579657220616e642073656c6c6572206172652073616d650000000000000081525060200191505060405180910390fd5b600084111515612873576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f56616c756520706173736564206973203000000000000000000000000000000081525060200191505060405180910390fd5b60008760ff1611801561288a575060038760ff1611155b1515612924576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603d8152602001807f5468726573686f6c642063616e6e6f742062652067726561746572207468616e81526020017f203320616e64206d7573742062652067726561746572207468616e203000000081525060400191505060405180910390fd5b60018760ff1614806129635750600073ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff1614155b1515612a23576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252604f8152602001807f456974686572207468726573686f6c642073686f756c642062652031206f746881526020017f6572776973652076616c6964206d6f64657261746f722061646472657373207381526020017f686f756c6420626520706173736564000000000000000000000000000000000081525060600191505060405180910390fd5b612a328388888d8d8d87610ec3565b600019168560001916141515612ad6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260398152602001807f43616c63756c6174656420736372697074206861736820646f6573206e6f742081526020017f6d61746368207061737365642073637269707420686173682e0000000000000081525060400191505060405180910390fd5b610160604051908101604052808660001916815260200185815260200142815260200160006001811115612b0657fe5b8152602001836001811115612b1757fe5b81526020018860ff1681526020018763ffffffff1681526020018b73ffffffffffffffffffffffffffffffffffffffff1681526020018a73ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020018973ffffffffffffffffffffffffffffffffffffffff16815250600080876000191660001916815260200190815260200160002060008201518160000190600019169055602082015181600101556040820151816002015560608201518160030160006101000a81548160ff02191690836001811115612c0157fe5b021790555060808201518160030160016101000a81548160ff02191690836001811115612c2a57fe5b021790555060a08201518160030160026101000a81548160ff021916908360ff16021790555060c08201518160030160036101000a81548163ffffffff021916908363ffffffff16021790555060e08201518160030160076101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506101008201518160040160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506101208201518160050160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506101408201518160060160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055509050506001600080876000191660001916815260200190815260200160002060070160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600080876000191660001916815260200190815260200160002060070160008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600080866000191660001916815260200190815260200160002060070160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151515612f82576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f456974686572206275796572206f722073656c6c65722069732070617373656481526020017f206173206d6f64657261746f720000000000000000000000000000000000000081525060400191505060405180910390fd5b6001600080876000191660001916815260200190815260200160002060070160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160008154809291906001019190505550600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020859080600181540180825580915050906001820390600052602060002001600090919290919091509060001916905550600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002085908060018154018082558091505090600182039060005260206000200160009091929091909150906000191690555050505050505050505050565b600080828401905083811015151561310857600080fd5b8091505092915050565b600080613123888888888888613b44565b9150613179600080876000191660001916815260200190815260200160002060030160039054906101000a900463ffffffff166000808860001916600019168152602001908152602001600020600201546141b7565b9050600080866000191660001916815260200190815260200160002060030160029054906101000a900460ff1660ff16885110801561322a57508015806132295750600080866000191660001916815260200190815260200160002060040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b5b156132c3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001807f736967562e6c656e67746820697320756e64657220746865207468726573686f81526020017f6c642e000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b5050505050505050565b600080600080600080600089600019166000191681526020019081526020016000209350600060018111156132fe57fe5b8460030160019054906101000a900460ff16600181111561331b57fe5b141561363257600092505b865183101561362d57600073ffffffffffffffffffffffffffffffffffffffff16878481518110151561335557fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff16141580156133e55750836007016000888581518110151561339257fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1515613459576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f4e6f7420612076616c69642064657374696e6174696f6e00000000000000000081525060200191505060405180910390fd5b6000868481518110151561346957fe5b9060200190602002015111151561350e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001807f416d6f756e7420746f2062652073656e742073686f756c64206265206772656181526020017f746572207468616e20300000000000000000000000000000000000000000000081525060400191505060405180910390fd5b613538868481518110151561351f57fe5b90602001906020020151866130f190919063ffffffff16565b94506001846009016000898681518110151561355057fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555086838151811015156135b957fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff166108fc87858151811015156135ea57fe5b906020019060200201519081150290604051600060405180830381858888f1935050505015801561361f573d6000803e3d6000fd5b508280600101935050613326565b613b39565b60018081111561363e57fe5b8460030160019054906101000a900460ff16600181111561365b57fe5b1415613aa4578360050160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169150600090505b8651811015613a9f57600073ffffffffffffffffffffffffffffffffffffffff1687828151811015156136bc57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff161415801561374c575083600701600088838151811015156136f957fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15156137c0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f4e6f7420612076616c69642064657374696e6174696f6e00000000000000000081525060200191505060405180910390fd5b600086828151811015156137d057fe5b90602001906020020151111515613875576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001807f416d6f756e7420746f2062652073656e742073686f756c64206265206772656181526020017f746572207468616e20300000000000000000000000000000000000000000000081525060400191505060405180910390fd5b61389f868281518110151561388657fe5b90602001906020020151866130f190919063ffffffff16565b9450600184600901600089848151811015156138b757fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb888381518110151561393c57fe5b90602001906020020151888481518110151561395457fe5b906020019060200201516040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1580156139e357600080fd5b505af11580156139f7573d6000803e3d6000fd5b505050506040513d6020811015613a0d57600080fd5b81019080805190602001909291905050501515613a92576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f546f6b656e207472616e73666572206661696c65642e0000000000000000000081525060200191505060405180910390fd5b808060010191505061368d565b613b38565b6040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001807f5472616e736174696f6e2074797065206973206e6f7420737570706f7274656481526020017f2e0000000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b5b505050509392505050565b60008060008087518951148015613b5c575089518951145b1515613bd0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f522c532c56206c656e677468206d69736d617463682e0000000000000000000081525060200191505060405180910390fd5b60197f01000000000000000000000000000000000000000000000000000000000000000260007f0100000000000000000000000000000000000000000000000000000000000000023088888b60405160200180877effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168152600101867effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526001018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401848051906020019060200280838360005b83811015613d24578082015181840152602081019050613d09565b50505050905001838051906020019060200280838360005b83811015613d57578082015181840152602081019050613d3c565b50505050905001826000191660001916815260200196505050505050506040516020818303038152906040526040518082805190602001908083835b602083101515613db85780518252602082019150602081019050602083039250613d93565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902060405160200180807f19457468657265756d205369676e6564204d6573736167653a0a333200000000815250601c0182600019166000191681526020019150506040516020818303038152906040526040518082805190602001908083835b602083101515613e695780518252602082019150602081019050602083039250613e44565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390209250600091505b88518210156141aa576001838b84815181101515613eb757fe5b906020019060200201518b85815181101515613ecf57fe5b906020019060200201518b86815181101515613ee757fe5b90602001906020020151604051600081526020016040526040518085600019166000191681526020018460ff1660ff1681526020018360001916600019168152602001826000191660001916815260200194505050505060206040516020810390808403906000865af1158015613f62573d6000803e3d6000fd5b505050602060405103519050600080886000191660001916815260200190815260200160002060070160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151561404a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f496e76616c6964207369676e617475726500000000000000000000000000000081525060200191505060405180910390fd5b600080886000191660001916815260200190815260200160002060080160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151515614127576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f53616d65207369676e61747572652073656e742074776963650000000000000081525060200191505060405180910390fd5b6001600080896000191660001916815260200190815260200160002060080160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508093508180600101925050613e9d565b5050509695505050505050565b6000806141cd834261420b90919063ffffffff16565b905060008463ffffffff16146141ff576141f8610e108563ffffffff1661422c90919063ffffffff16565b8111614202565b60005b91505092915050565b60008083831115151561421d57600080fd5b82840390508091505092915050565b60008060008414156142415760009150614263565b828402905082848281151561425257fe5b0414151561425f57600080fd5b8091505b50929150505600a165627a7a72305820c73a0380d7c72c0d00ed68ed7fefbb186daae42ab13438c78d9f78599fe11f9d0029", - "deployedBytecode": "0x6080604052600436106100ba576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806323b6fd3f146100bf5780632d9ef96e1461017957806346fbcdeb1461019d57806357bced7614610292578063642f2eaf14610383578063b0550c66146104f4578063b719e2801461055d578063b77bf60014610598578063be84ceaf146105c3578063e4ec8b001461065b578063f078656214610704578063f5dbe09c1461076d575b600080fd5b610177600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff169060200190929190803563ffffffff169060200190929190803560001916906020019092919080356bffffffffffffffffffffffff191690602001909291905050506107d6565b005b61019b6004803603810190808035600019169060200190929190505050610a35565b005b3480156101a957600080fd5b5061027460048036038101908080356bffffffffffffffffffffffff19169060200190929190803560ff169060200190929190803563ffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610ec3565b60405180826000191660001916815260200191505060405180910390f35b34801561029e57600080fd5b50610381600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff169060200190929190803563ffffffff16906020019092919080356000191690602001909291908035906020019092919080356bffffffffffffffffffffffff19169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061136f565b005b34801561038f57600080fd5b506103b2600480360381019080803560001916906020019092919050505061184f565b604051808c600019166000191681526020018b81526020018a81526020018960018111156103dc57fe5b60ff1681526020018860018111156103f057fe5b60ff1681526020018760ff1660ff1681526020018663ffffffff1663ffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019b50505050505050505050505060405180910390f35b34801561050057600080fd5b506105436004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611960565b604051808215151515815260200191505060405180910390f35b34801561056957600080fd5b506105966004803603810190808035600019169060200190929190803590602001909291905050506119d2565b005b3480156105a457600080fd5b506105ad6120b2565b6040518082815260200191505060405180910390f35b3480156105cf57600080fd5b50610604600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506120b8565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b8381101561064757808201518184015260208101905061062c565b505050509050019250505060405180910390f35b34801561066757600080fd5b506107026004803603810190808035906020019082018035906020019190919293919293908035906020019082018035906020019190919293919293908035906020019082018035906020019190919293919293908035600019169060200190929190803590602001908201803590602001919091929391929390803590602001908201803590602001919091929391929390505050612153565b005b34801561071057600080fd5b506107536004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506126b5565b604051808215151515815260200191505060405180910390f35b34801561077957600080fd5b506107b8600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050612727565b60405180826000191660001916815260200191505060405180910390f35b81600080600083600019166000191681526020019081526020016000206001015414151561086c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f5472616e73616374696f6e20657869737473000000000000000000000000000081525060200191505060405180910390fd5b87600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610912576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b87600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156109b8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b6109cb8a8a8a8a8a8a348b600080612757565b3373ffffffffffffffffffffffffffffffffffffffff167fce7089d0668849fb9ca29778c0cbf1e764d9efb048d81fd71fb34c94f26db36886346040518083600019166000191681526020018281526020019250505060405180910390a250505050505050505050565b600081600080600083600019166000191681526020019081526020016000206001015414151515610ace576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737473000000000081525060200191505060405180910390fd5b8260006001811115610adc57fe5b600080836000191660001916815260200190815260200160002060030160009054906101000a900460ff166001811115610b1257fe5b141515610bad576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001807f5472616e73616374696f6e2069732065697468657220696e206469737075746581526020017f206f722072656c6561736564207374617465000000000000000000000000000081525060400191505060405180910390fd5b836000806001811115610bbc57fe5b600080846000191660001916815260200190815260200160002060030160019054906101000a900460ff166001811115610bf257fe5b141515610c67576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5472616e73616374696f6e207479706520646f6573206e6f74206d617463680081525060200191505060405180910390fd5b85600080826000191660001916815260200190815260200160002060030160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610d6e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f54686520696e69746961746f72206f6620746865207472616e73616374696f6e81526020017f206973206e6f742062757965720000000000000000000000000000000000000081525060400191505060405180910390fd5b349550600086111515610de9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f56616c7565206d7573742062652067726561746572207468616e207a65726f2e81525060200191505060405180910390fd5b610e19866000808a60001916600019168152602001908152602001600020600101546130f190919063ffffffff16565b600080896000191660001916815260200190815260200160002060010181905550426000808960001916600019168152602001908152602001600020600201819055503373ffffffffffffffffffffffffffffffffffffffff167ff66fd2ae9e24a6a24b02e1b5b7512ffde5149a4176085fc0298ae228c9b9d72988886040518083600019166000191681526020018281526020019250505060405180910390a250505050505050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561110f578787878787873060405160200180886bffffffffffffffffffffffff19166bffffffffffffffffffffffff191681526014018760ff1660ff167f01000000000000000000000000000000000000000000000000000000000000000281526001018663ffffffff1663ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014019750505050505050506040516020818303038152906040526040518082805190602001908083835b6020831015156110db57805182526020820191506020810190506020830392506110b6565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390209050611364565b878787878787308860405160200180896bffffffffffffffffffffffff19166bffffffffffffffffffffffff191681526014018860ff1660ff167f01000000000000000000000000000000000000000000000000000000000000000281526001018763ffffffff1663ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401985050505050505050506040516020818303038152906040526040518082805190602001908083835b602083101515611334578051825260208201915060208101905060208303925061130f565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902090505b979650505050505050565b6000846000806000836000191660001916815260200190815260200160002060010154141515611407576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f5472616e73616374696f6e20657869737473000000000000000000000000000081525060200191505060405180910390fd5b8a600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156114ad576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b8a600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515611553576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b84600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156115f9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b61160c8e8e8e8e8e8e8e8e60018f612757565b8594508473ffffffffffffffffffffffffffffffffffffffff166323b872dd33308b6040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b1580156116e657600080fd5b505af11580156116fa573d6000803e3d6000fd5b505050506040513d602081101561171057600080fd5b810190808051906020019092919050505015156117e1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252605c8152602001807f546f6b656e207472616e73666572206661696c65642c206d6179626520796f7581526020017f20646964206e6f7420617070726f766520657363726f7720636f6e747261637481526020017f20746f207370656e64206f6e20626568616c66206f662062757965720000000081525060600191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff167fce7089d0668849fb9ca29778c0cbf1e764d9efb048d81fd71fb34c94f26db3688a8a6040518083600019166000191681526020018281526020019250505060405180910390a25050505050505050505050505050565b60006020528060005260406000206000915090508060000154908060010154908060020154908060030160009054906101000a900460ff16908060030160019054906101000a900460ff16908060030160029054906101000a900460ff16908060030160039054906101000a900463ffffffff16908060030160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060050160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060060160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508b565b6000806000846000191660001916815260200190815260200160002060090160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b60008083600080600083600019166000191681526020019081526020016000206001015414151515611a6c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737473000000000081525060200191505060405180910390fd5b8460006001811115611a7a57fe5b600080836000191660001916815260200190815260200160002060030160009054906101000a900460ff166001811115611ab057fe5b141515611b4b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001807f5472616e73616374696f6e2069732065697468657220696e206469737075746581526020017f206f722072656c6561736564207374617465000000000000000000000000000081525060400191505060405180910390fd5b856001806001811115611b5a57fe5b600080846000191660001916815260200190815260200160002060030160019054906101000a900460ff166001811115611b9057fe5b141515611c05576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5472616e73616374696f6e207479706520646f6573206e6f74206d617463680081525060200191505060405180910390fd5b87600080826000191660001916815260200190815260200160002060030160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611d0c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f54686520696e69746961746f72206f6620746865207472616e73616374696f6e81526020017f206973206e6f742062757965720000000000000000000000000000000000000081525060400191505060405180910390fd5b879650600087111515611d87576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f56616c7565206d7573742062652067726561746572207468616e207a65726f2e81525060200191505060405180910390fd5b6000808a6000191660001916815260200190815260200160002060050160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1695508573ffffffffffffffffffffffffffffffffffffffff166323b872dd6000808c6000191660001916815260200190815260200160002060030160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff16308b6040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b158015611edb57600080fd5b505af1158015611eef573d6000803e3d6000fd5b505050506040513d6020811015611f0557600080fd5b81019080805190602001909291905050501515611fd6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252605c8152602001807f546f6b656e207472616e73666572206661696c65642c206d6179626520796f7581526020017f20646964206e6f7420617070726f766520657363726f7720636f6e747261637481526020017f20746f207370656e64206f6e20626568616c66206f662062757965720000000081525060600191505060405180910390fd5b612006876000808c60001916600019168152602001908152602001600020600101546130f190919063ffffffff16565b6000808b6000191660001916815260200190815260200160002060010181905550426000808b60001916600019168152602001908152602001600020600201819055503373ffffffffffffffffffffffffffffffffffffffff167ff66fd2ae9e24a6a24b02e1b5b7512ffde5149a4176085fc0298ae228c9b9d7298a896040518083600019166000191681526020018281526020019250505060405180910390a2505050505050505050565b60015481565b6060600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080548060200260200160405190810160405280929190818152602001828054801561214757602002820191906000526020600020905b8154600019168152602001906001019080831161212f575b50505050509050919050565b846000806000836000191660001916815260200190815260200160002060010154141515156121ea576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737473000000000081525060200191505060405180910390fd5b85600060018111156121f857fe5b600080836000191660001916815260200190815260200160002060030160009054906101000a900460ff16600181111561222e57fe5b1415156122c9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001807f5472616e73616374696f6e2069732065697468657220696e206469737075746581526020017f206f722072656c6561736564207374617465000000000000000000000000000081525060400191505060405180910390fd5b6000868690501180156122e157508383905086869050145b151561237b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001807f4c656e677468206f662064657374696e6174696f6e7320697320696e636f727281526020017f6563742e0000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b6124748d8d808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508c8c808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508b8b808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508a8a8a80806020026020016040519081016040528093929190818152602001838360200280828437820191505050505050898980806020026020016040519081016040528093929190818152602001838360200280828437820191505050505050613112565b6001600080896000191660001916815260200190815260200160002060030160006101000a81548160ff021916908360018111156124ae57fe5b02179055504260008089600019166000191681526020019081526020016000206002018190555060008088600019166000191681526020019081526020016000206001015461255c888888808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508787808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050506132cd565b14151561261d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260488152602001807f546f74616c2076616c756520746f2062652072656c6561736564206d7573742081526020017f626520657175616c20746f20746865207472616e73616374696f6e206573637281526020017f6f772076616c756500000000000000000000000000000000000000000000000081525060600191505060405180910390fd5b7f688e2a1b34445bcd47b0e11ba2a9c8c4d850a1831b64199b59d1c70e2970154587878787876040518086600019166000191681526020018060200180602001838103835287878281815260200192506020028082843782019150508381038252858582818152602001925060200280828437820191505097505050505050505060405180910390a150505050505050505050505050565b6000806000846000191660001916815260200190815260200160002060080160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b60026020528160005260406000208181548110151561274257fe5b90600052602060002001600091509150505481565b8873ffffffffffffffffffffffffffffffffffffffff168a73ffffffffffffffffffffffffffffffffffffffff16141515156127fb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f427579657220616e642073656c6c6572206172652073616d650000000000000081525060200191505060405180910390fd5b600084111515612873576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f56616c756520706173736564206973203000000000000000000000000000000081525060200191505060405180910390fd5b60008760ff1611801561288a575060038760ff1611155b1515612924576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603d8152602001807f5468726573686f6c642063616e6e6f742062652067726561746572207468616e81526020017f203320616e64206d7573742062652067726561746572207468616e203000000081525060400191505060405180910390fd5b60018760ff1614806129635750600073ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff1614155b1515612a23576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252604f8152602001807f456974686572207468726573686f6c642073686f756c642062652031206f746881526020017f6572776973652076616c6964206d6f64657261746f722061646472657373207381526020017f686f756c6420626520706173736564000000000000000000000000000000000081525060600191505060405180910390fd5b612a328388888d8d8d87610ec3565b600019168560001916141515612ad6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260398152602001807f43616c63756c6174656420736372697074206861736820646f6573206e6f742081526020017f6d61746368207061737365642073637269707420686173682e0000000000000081525060400191505060405180910390fd5b610160604051908101604052808660001916815260200185815260200142815260200160006001811115612b0657fe5b8152602001836001811115612b1757fe5b81526020018860ff1681526020018763ffffffff1681526020018b73ffffffffffffffffffffffffffffffffffffffff1681526020018a73ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020018973ffffffffffffffffffffffffffffffffffffffff16815250600080876000191660001916815260200190815260200160002060008201518160000190600019169055602082015181600101556040820151816002015560608201518160030160006101000a81548160ff02191690836001811115612c0157fe5b021790555060808201518160030160016101000a81548160ff02191690836001811115612c2a57fe5b021790555060a08201518160030160026101000a81548160ff021916908360ff16021790555060c08201518160030160036101000a81548163ffffffff021916908363ffffffff16021790555060e08201518160030160076101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506101008201518160040160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506101208201518160050160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506101408201518160060160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055509050506001600080876000191660001916815260200190815260200160002060070160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600080876000191660001916815260200190815260200160002060070160008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600080866000191660001916815260200190815260200160002060070160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151515612f82576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f456974686572206275796572206f722073656c6c65722069732070617373656481526020017f206173206d6f64657261746f720000000000000000000000000000000000000081525060400191505060405180910390fd5b6001600080876000191660001916815260200190815260200160002060070160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160008154809291906001019190505550600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020859080600181540180825580915050906001820390600052602060002001600090919290919091509060001916905550600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002085908060018154018082558091505090600182039060005260206000200160009091929091909150906000191690555050505050505050505050565b600080828401905083811015151561310857600080fd5b8091505092915050565b600080613123888888888888613b44565b9150613179600080876000191660001916815260200190815260200160002060030160039054906101000a900463ffffffff166000808860001916600019168152602001908152602001600020600201546141b7565b9050600080866000191660001916815260200190815260200160002060030160029054906101000a900460ff1660ff16885110801561322a57508015806132295750600080866000191660001916815260200190815260200160002060040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b5b156132c3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001807f736967562e6c656e67746820697320756e64657220746865207468726573686f81526020017f6c642e000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b5050505050505050565b600080600080600080600089600019166000191681526020019081526020016000209350600060018111156132fe57fe5b8460030160019054906101000a900460ff16600181111561331b57fe5b141561363257600092505b865183101561362d57600073ffffffffffffffffffffffffffffffffffffffff16878481518110151561335557fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff16141580156133e55750836007016000888581518110151561339257fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1515613459576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f4e6f7420612076616c69642064657374696e6174696f6e00000000000000000081525060200191505060405180910390fd5b6000868481518110151561346957fe5b9060200190602002015111151561350e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001807f416d6f756e7420746f2062652073656e742073686f756c64206265206772656181526020017f746572207468616e20300000000000000000000000000000000000000000000081525060400191505060405180910390fd5b613538868481518110151561351f57fe5b90602001906020020151866130f190919063ffffffff16565b94506001846009016000898681518110151561355057fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555086838151811015156135b957fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff166108fc87858151811015156135ea57fe5b906020019060200201519081150290604051600060405180830381858888f1935050505015801561361f573d6000803e3d6000fd5b508280600101935050613326565b613b39565b60018081111561363e57fe5b8460030160019054906101000a900460ff16600181111561365b57fe5b1415613aa4578360050160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169150600090505b8651811015613a9f57600073ffffffffffffffffffffffffffffffffffffffff1687828151811015156136bc57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff161415801561374c575083600701600088838151811015156136f957fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15156137c0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f4e6f7420612076616c69642064657374696e6174696f6e00000000000000000081525060200191505060405180910390fd5b600086828151811015156137d057fe5b90602001906020020151111515613875576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001807f416d6f756e7420746f2062652073656e742073686f756c64206265206772656181526020017f746572207468616e20300000000000000000000000000000000000000000000081525060400191505060405180910390fd5b61389f868281518110151561388657fe5b90602001906020020151866130f190919063ffffffff16565b9450600184600901600089848151811015156138b757fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb888381518110151561393c57fe5b90602001906020020151888481518110151561395457fe5b906020019060200201516040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1580156139e357600080fd5b505af11580156139f7573d6000803e3d6000fd5b505050506040513d6020811015613a0d57600080fd5b81019080805190602001909291905050501515613a92576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f546f6b656e207472616e73666572206661696c65642e0000000000000000000081525060200191505060405180910390fd5b808060010191505061368d565b613b38565b6040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001807f5472616e736174696f6e2074797065206973206e6f7420737570706f7274656481526020017f2e0000000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b5b505050509392505050565b60008060008087518951148015613b5c575089518951145b1515613bd0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f522c532c56206c656e677468206d69736d617463682e0000000000000000000081525060200191505060405180910390fd5b60197f01000000000000000000000000000000000000000000000000000000000000000260007f0100000000000000000000000000000000000000000000000000000000000000023088888b60405160200180877effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168152600101867effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526001018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401848051906020019060200280838360005b83811015613d24578082015181840152602081019050613d09565b50505050905001838051906020019060200280838360005b83811015613d57578082015181840152602081019050613d3c565b50505050905001826000191660001916815260200196505050505050506040516020818303038152906040526040518082805190602001908083835b602083101515613db85780518252602082019150602081019050602083039250613d93565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902060405160200180807f19457468657265756d205369676e6564204d6573736167653a0a333200000000815250601c0182600019166000191681526020019150506040516020818303038152906040526040518082805190602001908083835b602083101515613e695780518252602082019150602081019050602083039250613e44565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390209250600091505b88518210156141aa576001838b84815181101515613eb757fe5b906020019060200201518b85815181101515613ecf57fe5b906020019060200201518b86815181101515613ee757fe5b90602001906020020151604051600081526020016040526040518085600019166000191681526020018460ff1660ff1681526020018360001916600019168152602001826000191660001916815260200194505050505060206040516020810390808403906000865af1158015613f62573d6000803e3d6000fd5b505050602060405103519050600080886000191660001916815260200190815260200160002060070160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151561404a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f496e76616c6964207369676e617475726500000000000000000000000000000081525060200191505060405180910390fd5b600080886000191660001916815260200190815260200160002060080160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151515614127576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f53616d65207369676e61747572652073656e742074776963650000000000000081525060200191505060405180910390fd5b6001600080896000191660001916815260200190815260200160002060080160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508093508180600101925050613e9d565b5050509695505050505050565b6000806141cd834261420b90919063ffffffff16565b905060008463ffffffff16146141ff576141f8610e108563ffffffff1661422c90919063ffffffff16565b8111614202565b60005b91505092915050565b60008083831115151561421d57600080fd5b82840390508091505092915050565b60008060008414156142415760009150614263565b828402905082848281151561425257fe5b0414151561425f57600080fd5b8091505b50929150505600a165627a7a72305820c73a0380d7c72c0d00ed68ed7fefbb186daae42ab13438c78d9f78599fe11f9d0029", - "sourceMap": "460:20302:0:-;;;1680:1;1646:35;;460:20302;8:9:-1;5:2;;;30:1;27;20:12;5:2;460:20302:0;;;;;;;", - "deployedSourceMap": "460:20302:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3902:702;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7917:598;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12314:1004;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12314:1004:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5704:1021;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5704:1021:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1588:51;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1588:51:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6949:228;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6949:228:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8775:924;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8775:924:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1646:35;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1646:35:0;;;;;;;;;;;;;;;;;;;;;;;9816:207;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9816:207:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;9816:207:0;;;;;;;;;;;;;;;;;10780:1063;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10780:1063:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7400:199;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7400:199:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1758:54;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1758:54:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3902:702;4180:10;2104:1;2070:12;:24;2083:10;2070:24;;;;;;;;;;;;;;;;;:30;;;:35;2062:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4215:5;2454:1;2428:28;;:14;:28;;;;2420:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4245:6;2454:1;2428:28;;:14;:28;;;;2420:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4267:264;4296:5;4315:6;4335:9;4358;4381:12;4407:10;4431:9;4454:8;4476:21;4519:1;4267:15;:264::i;:::-;4574:10;4555:41;;;4562:10;4586:9;4555:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2490:1;2138;3902:702;;;;;;;;:::o;7917:598::-;8195:14;8025:10;1931:1;1897:12;:24;1910:10;1897:24;;;;;;;;;;;;;;;;;:30;;;:35;;1876:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8059:10;2261:13;2226:48;;;;;;;;:12;:24;2239:10;2226:24;;;;;;;;;;;;;;;;;:31;;;;;;;;;;;;:48;;;;;;;;;2205:133;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8100:10;8112:21;2688:15;2644:59;;;;;;;;:12;:24;2657:10;2644:24;;;;;;;;;;;;;;;;;:40;;;;;;;;;;;;:59;;;;;;;;;2623:125;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8153:10;2856:12;:24;2869:10;2856:24;;;;;;;;;;;;;;;;;:30;;;;;;;;;;;;2842:44;;:10;:44;;;2821:124;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8212:9;8195:26;;8249:1;8240:6;:10;8232:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8331;8379:6;8331:12;:24;8344:10;8331:24;;;;;;;;;;;;;;;;;:30;;;:47;;:55;;;;:::i;:::-;8298:12;:24;8311:10;8298:24;;;;;;;;;;;;;;;;;:30;;:88;;;;8436:15;8396:12;:24;8409:10;8396:24;;;;;;;;;;;;;;;;;:37;;:55;;;;8489:10;8467:41;;;8477:10;8501:6;8467:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2758:1;2348;;1983;7917:598;;;:::o;12314:1004::-;12584:12;12640:1;12616:26;;:12;:26;;;12612:700;;;12730:8;12760:9;12791:12;12825:5;12852:6;12880:9;12911:4;12692:241;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;12692:241:0;;;12665:282;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;12665:282:0;;;;;;;;;;;;;;;;12658:289;;12612:700;;;13050:8;13080:9;13111:12;13145:5;13172:6;13200:9;13231:4;13257:12;13012:275;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;13012:275:0;;;12985:316;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;12985:316:0;;;;;;;;;;;;;;;;12978:323;;12612:700;12314:1004;;;;;;;;;:::o;5704:1021::-;6422:20;6024:10;2104:1;2070:12;:24;2083:10;2070:24;;;;;;;;;;;;;;;;;:30;;;:35;2062:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6059:5;2454:1;2428:28;;:14;:28;;;;2420:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6089:6;2454:1;2428:28;;:14;:28;;;;2420:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6120:12;2454:1;2428:28;;:14;:28;;;;2420:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6149:262;6178:5;6197:6;6217:9;6240;6263:12;6289:10;6313:5;6332:8;6354:21;6389:12;6149:15;:262::i;:::-;6460:12;6422:51;;6505:5;:18;;;6524:10;6536:4;6542:5;6505:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6505:43:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6505:43:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6505:43:0;;;;;;;;;;;;;;;;6484:182;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6700:10;6681:37;;;6688:10;6712:5;6681:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2490:1;;2138;5704:1021;;;;;;;;;;;:::o;1588:51::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;6949:228::-;7085:10;7119:12;:24;7132:10;7119:24;;;;;;;;;;;;;;;;;:38;;:51;7158:11;7119:51;;;;;;;;;;;;;;;;;;;;;;;;;7111:59;;6949:228;;;;:::o;8775:924::-;9061:14;9160:20;8907:10;1931:1;1897:12;:24;1910:10;1897:24;;;;;;;;;;;;;;;;;:30;;;:35;;1876:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8941:10;2261:13;2226:48;;;;;;;;:12;:24;2239:10;2226:24;;;;;;;;;;;;;;;;;:31;;;;;;;;;;;;:48;;;;;;;;;2205:133;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8982:10;8994:21;2688:15;2644:59;;;;;;;;:12;:24;2657:10;2644:24;;;;;;;;;;;;;;;;;:40;;;;;;;;;;;;:59;;;;;;;;;2623:125;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9035:10;2856:12;:24;2869:10;2856:24;;;;;;;;;;;;;;;;;:30;;;;;;;;;;;;2842:44;;:10;:44;;;2821:124;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9078:5;9061:22;;9111:1;9102:6;:10;9094:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9211:12;:24;9224:10;9211:24;;;;;;;;;;;;;;;;;:37;;;;;;;;;;;;9160:98;;9290:5;:18;;;9309:12;:24;9322:10;9309:24;;;;;;;;;;;;;;;;;:30;;;;;;;;;;;;9341:4;9347:5;9290:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9290:63:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9290:63:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;9290:63:0;;;;;;;;;;;;;;;;9269:202;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9515:55;9563:6;9515:12;:24;9528:10;9515:24;;;;;;;;;;;;;;;;;:30;;;:47;;:55;;;;:::i;:::-;9482:12;:24;9495:10;9482:24;;;;;;;;;;;;;;;;;:30;;:88;;;;9620:15;9580:12;:24;9593:10;9580:24;;;;;;;;;;;;;;;;;:37;;:55;;;;9673:10;9651:41;;;9661:10;9685:6;9651:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2758:1;2348;;1983;8775:924;;;;;:::o;1646:35::-;;;;:::o;9816:207::-;9938:22;9984:18;:32;10003:12;9984:32;;;;;;;;;;;;;;;9977:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9816:207;;;:::o;10780:1063::-;11003:10;1931:1;1897:12;:24;1910:10;1897:24;;;;;;;;;;;;;;;;;:30;;;:35;;1876:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11037:10;2261:13;2226:48;;;;;;;;:12;:24;2239:10;2226:24;;;;;;;;;;;;;;;;;:31;;;;;;;;;;;;:48;;;;;;;;;2205:133;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11104:1;11084:12;;:19;;:21;:62;;;;;11132:7;;:14;;11109:12;;:19;;:37;11084:62;11063:133;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11207:152;11238:4;;11207:152;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11256:4;;11207:152;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11274:4;;11207:152;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11292:10;11316:12;;11207:152;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11342:7;;11207:152;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:17;:152::i;:::-;11404:15;11370:12;:24;11383:10;11370:24;;;;;;;;;;;;;;;;;:31;;;:49;;;;;;;;;;;;;;;;;;;;;;;;11543:15;11503:12;:24;11516:10;11503:24;;;;;;;;;;;;;;;;;:37;;:55;;;;11641:12;:24;11654:10;11641:24;;;;;;;;;;;;;;;;;:30;;;11589:48;11603:10;11615:12;;11589:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11629:7;;11589:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:13;:48::i;:::-;:82;11568:201;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11793:43;11802:10;11814:12;;11828:7;;11793:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1983:1;10780:1063;;;;;;;;;;;;:::o;7400:199::-;7523:9;7555:12;:24;7568:10;7555:24;;;;;;;;;;;;;;;;;:30;;:37;7586:5;7555:37;;;;;;;;;;;;;;;;;;;;;;;;;7548:44;;7400:199;;;;:::o;1758:54::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;18514:2246::-;18876:6;18867:15;;:5;:15;;;;18859:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18987:1;18979:5;:9;18971:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19125:1;19113:9;:13;;;:31;;;;;19143:1;19130:9;:14;;;;19113:31;19092:140;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19276:1;19263:9;:14;;;:41;;;;19302:1;19281:23;;:9;:23;;;;19263:41;19242:167;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19455:226;19498:8;19524:9;19551:12;19581:5;19604:6;19628:9;19655:12;19455:25;:226::i;:::-;19441:240;;;:10;:240;;;;19420:345;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19803:409;;;;;;;;;20033:10;19803:409;;;;;;;19924:5;19803:409;;;;19992:15;19803:409;;;;19951:13;19803:409;;;;;;;;;;;;20147:15;19803:409;;;;;;;;;;;;20068:9;19803:409;;;;;;20105:12;19803:409;;;;;;19836:5;19803:409;;;;;;19863:6;19803:409;;;;;;20189:12;19803:409;;;;;;19894:9;19803:409;;;;;19776:12;:24;19789:10;19776:24;;;;;;;;;;;;;;;;;:436;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20266:4;20223:12;:24;20236:10;20223:24;;;;;;;;;;;;;;;;;:32;;:40;20256:6;20223:40;;;;;;;;;;;;;;;;:47;;;;;;;;;;;;;;;;;;20322:4;20280:12;:24;20293:10;20280:24;;;;;;;;;;;;;;;;;:32;;:39;20313:5;20280:39;;;;;;;;;;;;;;;;:46;;;;;;;;;;;;;;;;;;20434:12;:24;20447:10;20434:24;;;;;;;;;;;;;;;;;:32;;:43;20467:9;20434:43;;;;;;;;;;;;;;;;;;;;;;;;;20433:44;20412:137;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20606:4;20560:12;:24;20573:10;20560:24;;;;;;;;;;;;;;;;;:32;;:43;20593:9;20560:43;;;;;;;;;;;;;;;;:50;;;;;;;;;;;;;;;;;;20629:16;;:18;;;;;;;;;;;;;20658;:25;20677:5;20658:25;;;;;;;;;;;;;;;20689:10;20658:42;;39:1:-1;33:3;27:10;23:18;57:10;52:3;45:23;79:10;72:17;;0:93;20658:42:0;;;;;;;;;;;;;;;;;;;;;;;;;;;20710:18;:26;20729:6;20710:26;;;;;;;;;;;;;;;20742:10;20710:43;;39:1:-1;33:3;27:10;23:18;57:10;52:3;45:23;79:10;72:17;;0:93;20710:43:0;;;;;;;;;;;;;;;;;;;;;;;;;;;18514:2246;;;;;;;;;;:::o;1272:131:2:-;1330:7;1345:9;1361:1;1357;:5;1345:17;;1381:1;1376;:6;;1368:15;;;;;;;;1397:1;1390:8;;1272:131;;;;;:::o;13592:952:0:-;13812:21;13998:20;13836:151;13866:4;13884;13902;13920:10;13944:12;13970:7;13836:16;:151::i;:::-;13812:175;;14021:129;14052:12;:24;14065:10;14052:24;;;;;;;;;;;;;;;;;:37;;;;;;;;;;;;14103:12;:24;14116:10;14103:24;;;;;;;;;;;;;;;;;:37;;;14021:17;:129::i;:::-;13998:152;;14336:12;:24;14349:10;14336:24;;;;;;;;;;;;;;;;;:34;;;;;;;;;;;;14322:48;;:4;:11;:48;:122;;;;;14376:15;14375:16;:68;;;;14412:12;:24;14425:10;14412:24;;;;;;;;;;;;;;;;;:31;;;;;;;;;;;;14395:48;;:13;:48;;;;14375:68;14322:122;14301:236;;;14481:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14301:236;13592:952;;;;;;;;:::o;14670:1717::-;14817:24;14857:21;14983:9;15620:20;15693:9;14881:12;:24;14894:10;14881:24;;;;;;;;;;;;;;;;;14857:48;;14941:21;14920:42;;;;;;;;:1;:17;;;;;;;;;;;;:42;;;;;;;;;14916:1465;;;14995:1;14983:13;;14978:562;15002:12;:19;14998:1;:23;14978:562;;;15082:1;15055:29;;:12;15068:1;15055:15;;;;;;;;;;;;;;;;;;:29;;;;:59;;;;;15088:1;:9;;:26;15098:12;15111:1;15098:15;;;;;;;;;;;;;;;;;;15088:26;;;;;;;;;;;;;;;;;;;;;;;;;15055:59;15047:95;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15181:1;15168:7;15176:1;15168:10;;;;;;;;;;;;;;;;;;:14;15160:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15267:32;15288:7;15296:1;15288:10;;;;;;;;;;;;;;;;;;15267:16;:20;;:32;;;;:::i;:::-;15248:51;;15353:4;15318:1;:15;;:32;15334:12;15347:1;15334:15;;;;;;;;;;;;;;;;;;15318:32;;;;;;;;;;;;;;;;:39;;;;;;;;;;;;;;;;;;15404:12;15417:1;15404:15;;;;;;;;;;;;;;;;;;:24;;:36;15429:7;15437:1;15429:10;;;;;;;;;;;;;;;;;;15404:36;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;15404:36:0;15023:3;;;;;;;14978:562;;;14916:1465;;;15582:21;15561:42;;;;;;;;:1;:17;;;;;;;;;;;;:42;;;;;;;;;15557:824;;;15658:1;:14;;;;;;;;;;;;15620:53;;15705:1;15693:13;;15688:517;15710:12;:19;15708:1;:21;15688:517;;;15790:1;15763:29;;:12;15776:1;15763:15;;;;;;;;;;;;;;;;;;:29;;;;:59;;;;;15796:1;:9;;:26;15806:12;15819:1;15806:15;;;;;;;;;;;;;;;;;;15796:26;;;;;;;;;;;;;;;;;;;;;;;;;15763:59;15755:95;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15889:1;15876:7;15884:1;15876:10;;;;;;;;;;;;;;;;;;:14;15868:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15975:32;15996:7;16004:1;15996:10;;;;;;;;;;;;;;;;;;15975:16;:20;;:32;;;;:::i;:::-;15956:51;;16060:4;16025:1;:15;;:32;16041:12;16054:1;16041:15;;;;;;;;;;;;;;;;;;16025:32;;;;;;;;;;;;;;;;:39;;;;;;;;;;;;;;;;;;16120:5;:14;;;16135:12;16148:1;16135:15;;;;;;;;;;;;;;;;;;16152:7;16160:1;16152:10;;;;;;;;;;;;;;;;;;16120:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;16120:43:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;16120:43:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;16120:43:0;;;;;;;;;;;;;;;;16112:78;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15731:3;;;;;;;15688:517;;;15557:824;;;16327:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15557:824;14916:1465;14670:1717;;;;;;;;;:::o;16571:1523::-;16792:19;17052:14;17511:6;17560:17;16863:4;:11;16848:4;:11;:26;:56;;;;;16893:4;:11;16878:4;:11;:26;16848:56;16827:126;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17256:4;17251:10;;17292:1;17287:7;;17320:4;17350:12;17388:7;17421:10;17209:244;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;17209:244:0;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;17209:244:0;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;17209:244:0;;;17178:293;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;17178:293:0;;;;;;;;;;;;;;;;17092:393;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;17092:393:0;;;17069:426;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;17069:426:0;;;;;;;;;;;;;;;;17052:443;;17520:1;17511:10;;17506:582;17527:4;:11;17523:1;:15;17506:582;;;17580:122;17607:6;17631:4;17636:1;17631:7;;;;;;;;;;;;;;;;;;17656:4;17661:1;17656:7;;;;;;;;;;;;;;;;;;17681:4;17686:1;17681:7;;;;;;;;;;;;;;;;;;17580:122;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;17580:122:0;;;;;;;;17560:142;;17742:12;:24;17755:10;17742:24;;;;;;;;;;;;;;;;;:32;;:43;17775:9;17742:43;;;;;;;;;;;;;;;;;;;;;;;;;17717:120;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17877:12;:24;17890:10;17877:24;;;;;;;;;;;;;;;;;:30;;:41;17908:9;17877:41;;;;;;;;;;;;;;;;;;;;;;;;;17876:42;17851:127;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18036:4;17992:12;:24;18005:10;17992:24;;;;;;;;;;;;;;;;;:30;;:41;18023:9;17992:41;;;;;;;;;;;;;;;;:48;;;;;;;;;;;;;;;;;;18068:9;18054:23;;17540:3;;;;;;;17506:582;;;16571:1523;;;;;;;;;;;:::o;18100:327::-;18238:12;18266:17;18286:21;18294:12;18286:3;:7;;:21;;;;:::i;:::-;18266:41;;18357:1;18341:12;:17;;;:69;;18379:31;18405:4;18387:12;18379:21;;:25;;:31;;;;:::i;:::-;18367:9;:43;18341:69;;;18361:5;18341:69;18317:103;;18100:327;;;;;:::o;1078:131:2:-;1136:7;1172:9;1164:1;1159;:6;;1151:15;;;;;;;;1188:1;1184;:5;1172:17;;1203:1;1196:8;;1078:131;;;;;:::o;204:381::-;262:7;523:9;491:1;486;:6;482:35;;;509:1;502:8;;;;482:35;539:1;535;:5;523:17;;563:1;558;554;:5;;;;;;;;:10;546:19;;;;;;;;579:1;572:8;;204:381;;;;;;:::o", - "source": "pragma solidity 0.4.24;\n\nimport \"openzeppelin-solidity/contracts/math/SafeMath.sol\";\n\nimport \"../token/ITokenContract.sol\";\n\n\n/**\n* @dev Supports ERC20 tokens\n* The escrow smart contract for the open bazaar trades in Ethereum\n* The smart contract is desgined keeping in mind the current wallet interface of the OB-core\n* https://github.com/OpenBazaar/wallet-interface/blob/master/wallet.go\n* Current wallet interface strictly adheres to UTXO(bitcoin) model\n*/\ncontract Escrow_v1_0 {\n\n using SafeMath for uint256;\n\n enum Status {FUNDED, RELEASED}\n\n enum TransactionType {ETHER, TOKEN}\n\n event Executed(\n bytes32 scriptHash,\n address[] destinations,\n uint256[] amounts\n );\n\n event FundAdded(\n bytes32 scriptHash,\n address indexed from,\n uint256 valueAdded\n );\n\n event Funded(bytes32 scriptHash, address indexed from, uint256 value);\n\n struct Transaction {\n bytes32 scriptHash;//This is unique indentifier for a transaction\n uint256 value;\n uint256 lastModified;//Time at which transaction was last modified\n Status status;\n TransactionType transactionType;\n uint8 threshold;\n uint32 timeoutHours;\n address buyer;\n address seller;\n address tokenAddress;// Token address in case of token transfer\n address moderator;\n mapping(address=>bool) isOwner;//to keep track of owners/signers.\n mapping(address=>bool) voted;//to keep track of who all voted\n mapping(address=>bool) beneficiaries;//Benefeciaries of execution\n }\n\n mapping(bytes32 => Transaction) public transactions;\n\n uint256 public transactionCount = 0;\n\n //Contains mapping between each party and all of his transactions\n mapping(address => bytes32[])public partyVsTransaction;\n\n modifier transactionExists(bytes32 scriptHash) {\n require(\n transactions[scriptHash].value != 0, \"Transaction does not exists\"\n );\n _;\n }\n\n modifier transactionDoesNotExists (bytes32 scriptHash) {\n require(transactions[scriptHash].value == 0, \"Transaction exists\");\n _;\n }\n\n modifier inFundedState(bytes32 scriptHash) {\n require(\n transactions[scriptHash].status == Status.FUNDED, \"Transaction is either in dispute or released state\"\n );\n _;\n }\n\n modifier nonZeroAddress(address addressToCheck) {\n require(addressToCheck != address(0), \"Zero address passed\");\n _;\n }\n\n modifier checkTransactionType(\n bytes32 scriptHash,\n TransactionType transactionType\n )\n {\n require(\n transactions[scriptHash].transactionType == transactionType, \"Transaction type does not match\"\n );\n _;\n }\n\n modifier onlyBuyer(bytes32 scriptHash) {\n require(\n msg.sender == transactions[scriptHash].buyer, \"The initiator of the transaction is not buyer\"\n );\n _;\n }\n\n /**\n *@dev Add new transaction in the contract\n *@param buyer The buyer of the transaction\n *@param seller The seller of the listing associated with the transaction\n *@param moderator Moderator for this transaction\n *@param scriptHash keccak256 hash of the redeem script\n *@param threshold Minimum number of singatures required to released funds\n *@param timeoutHours Hours after which seller can release funds into his favour by signing transaction\n *@param uniqueId bytes20 unique id for the transaction, generated by ETH wallet\n *Redeem Script format will be following\n \n * scripthash-> keccak256(uniqueId, threshold, timeoutHours, buyer, seller, moderator)\n *Pass amount of the ethers to be put in escrow\n *Please keep in mind you will have to add moderator fees also in the value\n */\n function addTransaction(\n address buyer,\n address seller,\n address moderator,\n uint8 threshold,\n uint32 timeoutHours,\n bytes32 scriptHash,\n bytes20 uniqueId\n )\n external\n payable\n transactionDoesNotExists(scriptHash)\n nonZeroAddress(buyer)\n nonZeroAddress(seller)\n {\n _addTransaction(\n buyer,\n seller,\n moderator,\n threshold,\n timeoutHours,\n scriptHash,\n msg.value,\n uniqueId,\n TransactionType.ETHER,\n address(0)\n );\n \n emit Funded(scriptHash, msg.sender, msg.value);\n\n }\n\n /**\n *@dev Add new transaction in the contract\n *@param buyer The buyer of the transaction\n *@param seller The seller of the listing associated with the transaction\n *@param moderator Moderator for this transaction\n *@param scriptHash keccak256 hash of the redeem script\n *@param threshold Minimum number of singatures required to released funds\n *@param timeoutHours Hours after which seller can release funds into his favour by signing transaction\n *@param value Amount of tokens to be put in escrow\n *@param uniqueId bytes20 unique id for the transaction, generated by ETH wallet\n *@param tokenAddress Address of the token to be used\n *Redeem Script format will be following\n \n * scripthash-> keccak256(uniqueId, threshold, timeoutHours, buyer, seller, moderator, tokenAddress)\n *approve escrow contract to spend amount of token on your behalf\n *Please keep in mind you will have to add moderator fees also in the value\n */\n function addTokenTransaction(\n address buyer,\n address seller,\n address moderator,\n uint8 threshold,\n uint32 timeoutHours,\n bytes32 scriptHash,\n uint256 value,\n bytes20 uniqueId,\n address tokenAddress\n )\n external\n transactionDoesNotExists(scriptHash)\n nonZeroAddress(buyer)\n nonZeroAddress(seller)\n nonZeroAddress(tokenAddress)\n {\n\n _addTransaction(\n buyer,\n seller,\n moderator,\n threshold,\n timeoutHours,\n scriptHash,\n value,\n uniqueId,\n TransactionType.TOKEN,\n tokenAddress\n );\n\n ITokenContract token = ITokenContract(tokenAddress);\n\n require(\n token.transferFrom(msg.sender, this, value),\n \"Token transfer failed, maybe you did not approve escrow contract to spend on behalf of buyer\"\n );\n emit Funded(scriptHash, msg.sender, value);\n }\n\n /**\n * @dev Check whether given address was a beneficiary of transaction execution or not\n * @param scriptHash script hash of the transaction\n * @param beneficiary Beneficiary address to be checked\n */\n function checkBeneficiary(\n bytes32 scriptHash,\n address beneficiary\n )\n external\n view\n returns (bool check)\n {\n check = transactions[scriptHash].beneficiaries[beneficiary];\n }\n\n /**\n * @dev Check whether given party has voted or not\n * @param scriptHash script hash of the transaction\n * @param party Address of the party whose vote has to be checked\n * @return bool vote\n */\n function checkVote(\n bytes32 scriptHash,\n address party\n )\n external\n view\n returns (bool vote)\n {\n vote = transactions[scriptHash].voted[party];\n }\n\n /**\n *@dev Allows buyer of the transaction to add more funds(ether) in the transaction. This will help to cater scenarios wherein initially buyer missed to fund transaction as required\n *@param scriptHash script hash of the transaction\n * Only buyer of the transaction can invoke this method\n */\n function addFundsToTransaction(\n bytes32 scriptHash\n )\n external\n transactionExists(scriptHash)\n inFundedState(scriptHash)\n checkTransactionType(scriptHash, TransactionType.ETHER)\n onlyBuyer(scriptHash)\n payable\n {\n uint256 _value = msg.value;\n\n require(_value > 0, \"Value must be greater than zero.\");\n\n transactions[scriptHash].value = transactions[scriptHash].value\n .add(_value);\n transactions[scriptHash].lastModified = block.timestamp;\n\n emit FundAdded(scriptHash, msg.sender, _value);\n }\n\n /**\n *@dev Allows buyer of the transaction to add more funds(Tokens) in the transaction. This will help to cater scenarios wherein initially buyer missed to fund transaction as required\n *@param scriptHash script hash of the transaction\n */\n function addTokensToTransaction(\n bytes32 scriptHash,\n uint256 value\n )\n external\n transactionExists(scriptHash)\n inFundedState(scriptHash)\n checkTransactionType(scriptHash, TransactionType.TOKEN)\n onlyBuyer(scriptHash)\n {\n uint256 _value = value;\n\n require(_value > 0, \"Value must be greater than zero.\");\n\n ITokenContract token = ITokenContract(\n transactions[scriptHash].tokenAddress\n );\n\n require(\n token.transferFrom(transactions[scriptHash].buyer, this, value),\n \"Token transfer failed, maybe you did not approve escrow contract to spend on behalf of buyer\"\n );\n\n transactions[scriptHash].value = transactions[scriptHash].value\n .add(_value);\n transactions[scriptHash].lastModified = block.timestamp;\n\n emit FundAdded(scriptHash, msg.sender, _value);\n }\n\n /**\n *@dev Returns all transaction ids for a party\n *@param partyAddress Address of the party\n */\n function getAllTransactionsForParty(\n address partyAddress\n ) \n external \n view \n returns (bytes32[] scriptHashes) \n {\n return partyVsTransaction[partyAddress];\n }\n\n /**\n *@dev Allows one of the moderator to collect all the signature to solve dispute and submit it to this method.\n * If all the required signatures are collected and consensus has been reached than funds will be released to the voted party\n *@param sigV Array containing V component of all the signatures\n *@param sigR Array containing R component of all the signatures\n *@param signS Array containing S component of all the signatures\n *@param scriptHash script hash of the transaction\n *@param destinations address of the destination in whose favour dispute resolution is taking place. In case of split payments it will be address of the split payments contract\n *@param amounts value to send to each destination\n */\n function execute(\n uint8[] sigV,\n bytes32[] sigR,\n bytes32[] sigS,\n bytes32 scriptHash,\n address[] destinations,\n uint256[] amounts\n )\n external\n transactionExists(scriptHash)\n inFundedState(scriptHash)\n {\n require(\n destinations.length>0 && destinations.length == amounts.length, \"Length of destinations is incorrect.\"\n );\n\n verifyTransaction(\n sigV,\n sigR,\n sigS,\n scriptHash,\n destinations,\n amounts\n );\n\n transactions[scriptHash].status = Status.RELEASED;\n //Last modified timestamp modified, which will be used by rewards\n transactions[scriptHash].lastModified = block.timestamp;\n require(\n transferFunds(scriptHash, destinations, amounts) == transactions[scriptHash].value,\n \"Total value to be released must be equal to the transaction escrow value\"\n );\n \n emit Executed(scriptHash, destinations, amounts);\n }\n\n\n /**\n *@dev Method for calculating script hash. Calculation will depend upon the type of transaction\n * ETHER Type transaction-:\n * Script Hash- keccak256(uniqueId, threshold, timeoutHours, buyer, seller, moderator)\n * TOKEN Type transaction\n * Script Hash- keccak256(uniqueId, threshold, timeoutHours, buyer, seller, moderator, tokenAddress)\n * Client can use this method to verify whether it has calculated correct script hash or not\n */\n function calculateRedeemScriptHash(\n bytes20 uniqueId,\n uint8 threshold,\n uint32 timeoutHours,\n address buyer,\n address seller,\n address moderator,\n address tokenAddress\n )\n public\n view\n returns (bytes32 hash)\n {\n if (tokenAddress == address(0)) {\n hash = keccak256(\n abi.encodePacked(\n uniqueId,\n threshold,\n timeoutHours,\n buyer,\n seller,\n moderator,\n this\n )\n );\n } else {\n hash = keccak256(\n abi.encodePacked(\n uniqueId,\n threshold,\n timeoutHours,\n buyer,\n seller,\n moderator,\n this,\n tokenAddress\n )\n );\n }\n }\n\n /**\n * @dev This methods checks validity of transaction\n * 1. Verify Signatures\n * 2. Check if minimum number of signatures has been acquired\n * 3. If above condition is false, check if time lock is expired and the execution is signed by seller\n */\n function verifyTransaction(\n uint8[] sigV,\n bytes32[] sigR,\n bytes32[] sigS,\n bytes32 scriptHash,\n address[] destinations,\n uint256[] amounts\n )\n private\n {\n address lastRecovered = verifySignatures(\n sigV,\n sigR,\n sigS,\n scriptHash,\n destinations,\n amounts\n );\n\n bool timeLockExpired = isTimeLockExpired(\n transactions[scriptHash].timeoutHours,\n transactions[scriptHash].lastModified\n );\n\n //if Minimum number of signatures are not gathered and timelock has not expired or transaction was not signed by seller then revert\n if (\n sigV.length < transactions[scriptHash].threshold && (!timeLockExpired || lastRecovered != transactions[scriptHash].seller)\n )\n {\n revert(\"sigV.length is under the threshold.\");\n }\n\n }\n\n /**\n *@dev Private method to transfer funds to the destination addresses on the basis of transaction type\n */\n function transferFunds(\n bytes32 scriptHash,\n address[]destinations,\n uint256[]amounts\n )\n private\n returns (uint256 valueTransferred)\n {\n Transaction storage t = transactions[scriptHash];\n\n if (t.transactionType == TransactionType.ETHER) {\n for (uint256 i = 0; i < destinations.length; i++) {\n\n require(destinations[i] != address(0) && t.isOwner[destinations[i]], \"Not a valid destination\");\n require(amounts[i] > 0, \"Amount to be sent should be greater than 0\");\n\n valueTransferred = valueTransferred.add(amounts[i]);\n\n t.beneficiaries[destinations[i]] = true;//add receiver as beneficiary\n destinations[i].transfer(amounts[i]);//shall we use send instead of transfer to stop malicious actors from blocking funds?\n }\n\n } else if (t.transactionType == TransactionType.TOKEN) {\n\n ITokenContract token = ITokenContract(t.tokenAddress);\n\n for (uint256 j = 0; j 0, \"Amount to be sent should be greater than 0\");\n\n valueTransferred = valueTransferred.add(amounts[j]);\n t.beneficiaries[destinations[j]] = true;//add receiver as beneficiary\n\n require(token.transfer(destinations[j], amounts[j]), \"Token transfer failed.\");\n }\n } else {\n //transaction type is not supported. Ideally this state should never be reached\n revert(\"Transation type is not supported.\");\n }\n }\n\n //to check whether the signature are valid or not and if consensus was reached\n //returns the last address recovered, in case of timeout this must be the sender's address\n function verifySignatures(\n uint8[] sigV,\n bytes32[] sigR,\n bytes32[] sigS,\n bytes32 scriptHash,\n address[] destinations,\n uint256[]amounts\n )\n private\n returns (address lastAddress)\n {\n require(\n sigR.length == sigS.length && sigR.length == sigV.length, \n \"R,S,V length mismatch.\"\n );\n\n // Follows ERC191 signature scheme: https://github.com/ethereum/EIPs/issues/191\n bytes32 txHash = keccak256(\n abi.encodePacked(\n \"\\x19Ethereum Signed Message:\\n32\",\n keccak256(\n abi.encodePacked(\n byte(0x19),\n byte(0),\n this,\n destinations,\n amounts,\n scriptHash\n )\n )\n )\n );\n\n for (uint i = 0; i < sigR.length; i++) {\n\n address recovered = ecrecover(\n txHash,\n sigV[i],\n sigR[i],\n sigS[i]\n );\n\n require(\n transactions[scriptHash].isOwner[recovered], \n \"Invalid signature\"\n );\n require(\n !transactions[scriptHash].voted[recovered], \n \"Same signature sent twice\"\n );\n transactions[scriptHash].voted[recovered] = true;\n lastAddress = recovered;\n }\n }\n\n function isTimeLockExpired(\n uint32 timeoutHours,\n uint256 lastModified\n )\n private\n view\n returns (bool expired)\n {\n uint256 timeSince = now.sub(lastModified);\n expired = (\n timeoutHours == 0 ? false:timeSince > uint256(timeoutHours).mul(3600)\n );\n }\n\n /**\n * Private method to add transaction to reduce code redundancy\n */\n function _addTransaction(\n address buyer,\n address seller,\n address moderator,\n uint8 threshold,\n uint32 timeoutHours,\n bytes32 scriptHash,\n uint256 value,\n bytes20 uniqueId,\n TransactionType transactionType,\n address tokenAddress\n )\n private\n { \n require(buyer != seller, \"Buyer and seller are same\");\n\n //value passed should be greater than 0\n require(value > 0, \"Value passed is 0\");\n\n // For now allowing 0 moderator to support 1-2 multisig wallet\n require(\n threshold > 0 && threshold <= 3, \n \"Threshold cannot be greater than 3 and must be greater than 0\"\n );\n require(\n threshold == 1 || moderator != address(0),\n \"Either threshold should be 1 otherwise valid moderator address should be passed\"\n );\n\n require(\n scriptHash == calculateRedeemScriptHash(\n uniqueId,\n threshold,\n timeoutHours,\n buyer,\n seller,\n moderator,\n tokenAddress\n ), \n \"Calculated script hash does not match passed script hash.\"\n );\n\n transactions[scriptHash] = Transaction({\n buyer: buyer,\n seller: seller,\n moderator: moderator,\n value: value,\n status: Status.FUNDED,\n lastModified: block.timestamp,\n scriptHash: scriptHash,\n threshold: threshold,\n timeoutHours: timeoutHours,\n transactionType:transactionType,\n tokenAddress:tokenAddress\n });\n\n transactions[scriptHash].isOwner[seller] = true;\n transactions[scriptHash].isOwner[buyer] = true; \n\n //Check if buyer or seller are not passed as moderator\n require(\n !transactions[scriptHash].isOwner[moderator], \n \"Either buyer or seller is passed as moderator\"\n );\n\n transactions[scriptHash].isOwner[moderator] = true;\n \n\n transactionCount++;\n\n partyVsTransaction[buyer].push(scriptHash);\n partyVsTransaction[seller].push(scriptHash);\n }\n}\n", + "bytecode": "0x6080604052600060015534801561001557600080fd5b506142a3806100256000396000f3006080604052600436106100ba576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806323b6fd3f146100bf5780632d9ef96e1461017957806346fbcdeb1461019d57806357bced7614610292578063642f2eaf14610383578063b0550c66146104f4578063b719e2801461055d578063b77bf60014610598578063be84ceaf146105c3578063e4ec8b001461065b578063f078656214610704578063f5dbe09c1461076d575b600080fd5b610177600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff169060200190929190803563ffffffff169060200190929190803560001916906020019092919080356bffffffffffffffffffffffff191690602001909291905050506107d6565b005b61019b6004803603810190808035600019169060200190929190505050610a35565b005b3480156101a957600080fd5b5061027460048036038101908080356bffffffffffffffffffffffff19169060200190929190803560ff169060200190929190803563ffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610ec3565b60405180826000191660001916815260200191505060405180910390f35b34801561029e57600080fd5b50610381600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff169060200190929190803563ffffffff16906020019092919080356000191690602001909291908035906020019092919080356bffffffffffffffffffffffff19169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061136f565b005b34801561038f57600080fd5b506103b2600480360381019080803560001916906020019092919050505061184f565b604051808c600019166000191681526020018b81526020018a81526020018960018111156103dc57fe5b60ff1681526020018860018111156103f057fe5b60ff1681526020018760ff1660ff1681526020018663ffffffff1663ffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019b50505050505050505050505060405180910390f35b34801561050057600080fd5b506105436004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611960565b604051808215151515815260200191505060405180910390f35b34801561056957600080fd5b506105966004803603810190808035600019169060200190929190803590602001909291905050506119d2565b005b3480156105a457600080fd5b506105ad6120b2565b6040518082815260200191505060405180910390f35b3480156105cf57600080fd5b50610604600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506120b8565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b8381101561064757808201518184015260208101905061062c565b505050509050019250505060405180910390f35b34801561066757600080fd5b506107026004803603810190808035906020019082018035906020019190919293919293908035906020019082018035906020019190919293919293908035906020019082018035906020019190919293919293908035600019169060200190929190803590602001908201803590602001919091929391929390803590602001908201803590602001919091929391929390505050612153565b005b34801561071057600080fd5b506107536004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506126b5565b604051808215151515815260200191505060405180910390f35b34801561077957600080fd5b506107b8600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050612727565b60405180826000191660001916815260200191505060405180910390f35b81600080600083600019166000191681526020019081526020016000206001015414151561086c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f5472616e73616374696f6e20657869737473000000000000000000000000000081525060200191505060405180910390fd5b87600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610912576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b87600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156109b8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b6109cb8a8a8a8a8a8a348b600080612757565b3373ffffffffffffffffffffffffffffffffffffffff167fce7089d0668849fb9ca29778c0cbf1e764d9efb048d81fd71fb34c94f26db36886346040518083600019166000191681526020018281526020019250505060405180910390a250505050505050505050565b600081600080600083600019166000191681526020019081526020016000206001015414151515610ace576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737473000000000081525060200191505060405180910390fd5b8260006001811115610adc57fe5b600080836000191660001916815260200190815260200160002060030160009054906101000a900460ff166001811115610b1257fe5b141515610bad576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001807f5472616e73616374696f6e2069732065697468657220696e206469737075746581526020017f206f722072656c6561736564207374617465000000000000000000000000000081525060400191505060405180910390fd5b836000806001811115610bbc57fe5b600080846000191660001916815260200190815260200160002060030160019054906101000a900460ff166001811115610bf257fe5b141515610c67576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5472616e73616374696f6e207479706520646f6573206e6f74206d617463680081525060200191505060405180910390fd5b85600080826000191660001916815260200190815260200160002060030160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610d6e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f54686520696e69746961746f72206f6620746865207472616e73616374696f6e81526020017f206973206e6f742062757965720000000000000000000000000000000000000081525060400191505060405180910390fd5b349550600086111515610de9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f56616c7565206d7573742062652067726561746572207468616e207a65726f2e81525060200191505060405180910390fd5b610e19866000808a60001916600019168152602001908152602001600020600101546130fe90919063ffffffff16565b600080896000191660001916815260200190815260200160002060010181905550426000808960001916600019168152602001908152602001600020600201819055503373ffffffffffffffffffffffffffffffffffffffff167ff66fd2ae9e24a6a24b02e1b5b7512ffde5149a4176085fc0298ae228c9b9d72988886040518083600019166000191681526020018281526020019250505060405180910390a250505050505050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561110f578787878787873060405160200180886bffffffffffffffffffffffff19166bffffffffffffffffffffffff191681526014018760ff1660ff167f01000000000000000000000000000000000000000000000000000000000000000281526001018663ffffffff1663ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014019750505050505050506040516020818303038152906040526040518082805190602001908083835b6020831015156110db57805182526020820191506020810190506020830392506110b6565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390209050611364565b878787878787308860405160200180896bffffffffffffffffffffffff19166bffffffffffffffffffffffff191681526014018860ff1660ff167f01000000000000000000000000000000000000000000000000000000000000000281526001018763ffffffff1663ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401985050505050505050506040516020818303038152906040526040518082805190602001908083835b602083101515611334578051825260208201915060208101905060208303925061130f565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902090505b979650505050505050565b6000846000806000836000191660001916815260200190815260200160002060010154141515611407576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f5472616e73616374696f6e20657869737473000000000000000000000000000081525060200191505060405180910390fd5b8a600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156114ad576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b8a600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515611553576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b84600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156115f9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b61160c8e8e8e8e8e8e8e8e60018f612757565b8594508473ffffffffffffffffffffffffffffffffffffffff166323b872dd33308b6040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b1580156116e657600080fd5b505af11580156116fa573d6000803e3d6000fd5b505050506040513d602081101561171057600080fd5b810190808051906020019092919050505015156117e1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252605c8152602001807f546f6b656e207472616e73666572206661696c65642c206d6179626520796f7581526020017f20646964206e6f7420617070726f766520657363726f7720636f6e747261637481526020017f20746f207370656e64206f6e20626568616c66206f662062757965720000000081525060600191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff167fce7089d0668849fb9ca29778c0cbf1e764d9efb048d81fd71fb34c94f26db3688a8a6040518083600019166000191681526020018281526020019250505060405180910390a25050505050505050505050505050565b60006020528060005260406000206000915090508060000154908060010154908060020154908060030160009054906101000a900460ff16908060030160019054906101000a900460ff16908060030160029054906101000a900460ff16908060030160039054906101000a900463ffffffff16908060030160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060050160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060060160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508b565b6000806000846000191660001916815260200190815260200160002060090160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b60008083600080600083600019166000191681526020019081526020016000206001015414151515611a6c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737473000000000081525060200191505060405180910390fd5b8460006001811115611a7a57fe5b600080836000191660001916815260200190815260200160002060030160009054906101000a900460ff166001811115611ab057fe5b141515611b4b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001807f5472616e73616374696f6e2069732065697468657220696e206469737075746581526020017f206f722072656c6561736564207374617465000000000000000000000000000081525060400191505060405180910390fd5b856001806001811115611b5a57fe5b600080846000191660001916815260200190815260200160002060030160019054906101000a900460ff166001811115611b9057fe5b141515611c05576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5472616e73616374696f6e207479706520646f6573206e6f74206d617463680081525060200191505060405180910390fd5b87600080826000191660001916815260200190815260200160002060030160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611d0c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f54686520696e69746961746f72206f6620746865207472616e73616374696f6e81526020017f206973206e6f742062757965720000000000000000000000000000000000000081525060400191505060405180910390fd5b879650600087111515611d87576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f56616c7565206d7573742062652067726561746572207468616e207a65726f2e81525060200191505060405180910390fd5b6000808a6000191660001916815260200190815260200160002060050160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1695508573ffffffffffffffffffffffffffffffffffffffff166323b872dd6000808c6000191660001916815260200190815260200160002060030160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff16308b6040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b158015611edb57600080fd5b505af1158015611eef573d6000803e3d6000fd5b505050506040513d6020811015611f0557600080fd5b81019080805190602001909291905050501515611fd6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252605c8152602001807f546f6b656e207472616e73666572206661696c65642c206d6179626520796f7581526020017f20646964206e6f7420617070726f766520657363726f7720636f6e747261637481526020017f20746f207370656e64206f6e20626568616c66206f662062757965720000000081525060600191505060405180910390fd5b612006876000808c60001916600019168152602001908152602001600020600101546130fe90919063ffffffff16565b6000808b6000191660001916815260200190815260200160002060010181905550426000808b60001916600019168152602001908152602001600020600201819055503373ffffffffffffffffffffffffffffffffffffffff167ff66fd2ae9e24a6a24b02e1b5b7512ffde5149a4176085fc0298ae228c9b9d7298a896040518083600019166000191681526020018281526020019250505060405180910390a2505050505050505050565b60015481565b6060600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080548060200260200160405190810160405280929190818152602001828054801561214757602002820191906000526020600020905b8154600019168152602001906001019080831161212f575b50505050509050919050565b846000806000836000191660001916815260200190815260200160002060010154141515156121ea576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737473000000000081525060200191505060405180910390fd5b85600060018111156121f857fe5b600080836000191660001916815260200190815260200160002060030160009054906101000a900460ff16600181111561222e57fe5b1415156122c9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001807f5472616e73616374696f6e2069732065697468657220696e206469737075746581526020017f206f722072656c6561736564207374617465000000000000000000000000000081525060400191505060405180910390fd5b6000868690501180156122e157508383905086869050145b151561237b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001807f4c656e677468206f662064657374696e6174696f6e7320697320696e636f727281526020017f6563742e0000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b6124748d8d808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508c8c808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508b8b808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508a8a8a8080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505089898080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505061311f565b6001600080896000191660001916815260200190815260200160002060030160006101000a81548160ff021916908360018111156124ae57fe5b02179055504260008089600019166000191681526020019081526020016000206002018190555060008088600019166000191681526020019081526020016000206001015461255c888888808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508787808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050506132da565b14151561261d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260488152602001807f546f74616c2076616c756520746f2062652072656c6561736564206d7573742081526020017f626520657175616c20746f20746865207472616e73616374696f6e206573637281526020017f6f772076616c756500000000000000000000000000000000000000000000000081525060600191505060405180910390fd5b7f688e2a1b34445bcd47b0e11ba2a9c8c4d850a1831b64199b59d1c70e2970154587878787876040518086600019166000191681526020018060200180602001838103835287878281815260200192506020028082843782019150508381038252858582818152602001925060200280828437820191505097505050505050505060405180910390a150505050505050505050505050565b6000806000846000191660001916815260200190815260200160002060080160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b60026020528160005260406000208181548110151561274257fe5b90600052602060002001600091509150505481565b8873ffffffffffffffffffffffffffffffffffffffff168a73ffffffffffffffffffffffffffffffffffffffff16141515156127fb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f427579657220616e642073656c6c6572206172652073616d650000000000000081525060200191505060405180910390fd5b600084111515612873576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f56616c756520706173736564206973203000000000000000000000000000000081525060200191505060405180910390fd5b60008760ff1611801561288a575060038760ff1611155b1515612924576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603d8152602001807f5468726573686f6c642063616e6e6f742062652067726561746572207468616e81526020017f203320616e64206d7573742062652067726561746572207468616e203000000081525060400191505060405180910390fd5b60018760ff1614806129635750600073ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff1614155b1515612a23576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252604f8152602001807f456974686572207468726573686f6c642073686f756c642062652031206f746881526020017f6572776973652076616c6964206d6f64657261746f722061646472657373207381526020017f686f756c6420626520706173736564000000000000000000000000000000000081525060600191505060405180910390fd5b612a328388888d8d8d87610ec3565b600019168560001916141515612ad6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260398152602001807f43616c63756c6174656420736372697074206861736820646f6573206e6f742081526020017f6d61746368207061737365642073637269707420686173682e0000000000000081525060400191505060405180910390fd5b610160604051908101604052808660001916815260200185815260200142815260200160006001811115612b0657fe5b8152602001836001811115612b1757fe5b81526020018860ff1681526020018763ffffffff1681526020018b73ffffffffffffffffffffffffffffffffffffffff1681526020018a73ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020018973ffffffffffffffffffffffffffffffffffffffff16815250600080876000191660001916815260200190815260200160002060008201518160000190600019169055602082015181600101556040820151816002015560608201518160030160006101000a81548160ff02191690836001811115612c0157fe5b021790555060808201518160030160016101000a81548160ff02191690836001811115612c2a57fe5b021790555060a08201518160030160026101000a81548160ff021916908360ff16021790555060c08201518160030160036101000a81548163ffffffff021916908363ffffffff16021790555060e08201518160030160076101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506101008201518160040160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506101208201518160050160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506101408201518160060160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055509050506001600080876000191660001916815260200190815260200160002060070160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600080876000191660001916815260200190815260200160002060070160008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600080866000191660001916815260200190815260200160002060070160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151515612f82576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f456974686572206275796572206f722073656c6c65722069732070617373656481526020017f206173206d6f64657261746f720000000000000000000000000000000000000081525060400191505060405180910390fd5b60018760ff161115613002576001600080876000191660001916815260200190815260200160002060070160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b600160008154809291906001019190505550600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020859080600181540180825580915050906001820390600052602060002001600090919290919091509060001916905550600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002085908060018154018082558091505090600182039060005260206000200160009091929091909150906000191690555050505050505050505050565b600080828401905083811015151561311557600080fd5b8091505092915050565b600080613130888888888888613b51565b9150613186600080876000191660001916815260200190815260200160002060030160039054906101000a900463ffffffff166000808860001916600019168152602001908152602001600020600201546141c4565b9050600080866000191660001916815260200190815260200160002060030160029054906101000a900460ff1660ff16885110801561323757508015806132365750600080866000191660001916815260200190815260200160002060040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b5b156132d0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001807f736967562e6c656e67746820697320756e64657220746865207468726573686f81526020017f6c642e000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b5050505050505050565b6000806000806000806000896000191660001916815260200190815260200160002093506000600181111561330b57fe5b8460030160019054906101000a900460ff16600181111561332857fe5b141561363f57600092505b865183101561363a57600073ffffffffffffffffffffffffffffffffffffffff16878481518110151561336257fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff16141580156133f25750836007016000888581518110151561339f57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1515613466576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f4e6f7420612076616c69642064657374696e6174696f6e00000000000000000081525060200191505060405180910390fd5b6000868481518110151561347657fe5b9060200190602002015111151561351b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001807f416d6f756e7420746f2062652073656e742073686f756c64206265206772656181526020017f746572207468616e20300000000000000000000000000000000000000000000081525060400191505060405180910390fd5b613545868481518110151561352c57fe5b90602001906020020151866130fe90919063ffffffff16565b94506001846009016000898681518110151561355d57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555086838151811015156135c657fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff166108fc87858151811015156135f757fe5b906020019060200201519081150290604051600060405180830381858888f1935050505015801561362c573d6000803e3d6000fd5b508280600101935050613333565b613b46565b60018081111561364b57fe5b8460030160019054906101000a900460ff16600181111561366857fe5b1415613ab1578360050160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169150600090505b8651811015613aac57600073ffffffffffffffffffffffffffffffffffffffff1687828151811015156136c957fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff16141580156137595750836007016000888381518110151561370657fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15156137cd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f4e6f7420612076616c69642064657374696e6174696f6e00000000000000000081525060200191505060405180910390fd5b600086828151811015156137dd57fe5b90602001906020020151111515613882576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001807f416d6f756e7420746f2062652073656e742073686f756c64206265206772656181526020017f746572207468616e20300000000000000000000000000000000000000000000081525060400191505060405180910390fd5b6138ac868281518110151561389357fe5b90602001906020020151866130fe90919063ffffffff16565b9450600184600901600089848151811015156138c457fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb888381518110151561394957fe5b90602001906020020151888481518110151561396157fe5b906020019060200201516040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1580156139f057600080fd5b505af1158015613a04573d6000803e3d6000fd5b505050506040513d6020811015613a1a57600080fd5b81019080805190602001909291905050501515613a9f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f546f6b656e207472616e73666572206661696c65642e0000000000000000000081525060200191505060405180910390fd5b808060010191505061369a565b613b45565b6040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001807f5472616e736174696f6e2074797065206973206e6f7420737570706f7274656481526020017f2e0000000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b5b505050509392505050565b60008060008087518951148015613b69575089518951145b1515613bdd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f522c532c56206c656e677468206d69736d617463682e0000000000000000000081525060200191505060405180910390fd5b60197f01000000000000000000000000000000000000000000000000000000000000000260007f0100000000000000000000000000000000000000000000000000000000000000023088888b60405160200180877effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168152600101867effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526001018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401848051906020019060200280838360005b83811015613d31578082015181840152602081019050613d16565b50505050905001838051906020019060200280838360005b83811015613d64578082015181840152602081019050613d49565b50505050905001826000191660001916815260200196505050505050506040516020818303038152906040526040518082805190602001908083835b602083101515613dc55780518252602082019150602081019050602083039250613da0565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902060405160200180807f19457468657265756d205369676e6564204d6573736167653a0a333200000000815250601c0182600019166000191681526020019150506040516020818303038152906040526040518082805190602001908083835b602083101515613e765780518252602082019150602081019050602083039250613e51565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390209250600091505b88518210156141b7576001838b84815181101515613ec457fe5b906020019060200201518b85815181101515613edc57fe5b906020019060200201518b86815181101515613ef457fe5b90602001906020020151604051600081526020016040526040518085600019166000191681526020018460ff1660ff1681526020018360001916600019168152602001826000191660001916815260200194505050505060206040516020810390808403906000865af1158015613f6f573d6000803e3d6000fd5b505050602060405103519050600080886000191660001916815260200190815260200160002060070160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515614057576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f496e76616c6964207369676e617475726500000000000000000000000000000081525060200191505060405180910390fd5b600080886000191660001916815260200190815260200160002060080160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151515614134576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f53616d65207369676e61747572652073656e742074776963650000000000000081525060200191505060405180910390fd5b6001600080896000191660001916815260200190815260200160002060080160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508093508180600101925050613eaa565b5050509695505050505050565b6000806141da834261421890919063ffffffff16565b905060008463ffffffff161461420c57614205610e108563ffffffff1661423990919063ffffffff16565b811161420f565b60005b91505092915050565b60008083831115151561422a57600080fd5b82840390508091505092915050565b600080600084141561424e5760009150614270565b828402905082848281151561425f57fe5b0414151561426c57600080fd5b8091505b50929150505600a165627a7a72305820bc6b7965a447e9f309338b9f88317978dd00401be47e7f6211fd2a7eaec58f1d0029", + "deployedBytecode": "0x6080604052600436106100ba576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806323b6fd3f146100bf5780632d9ef96e1461017957806346fbcdeb1461019d57806357bced7614610292578063642f2eaf14610383578063b0550c66146104f4578063b719e2801461055d578063b77bf60014610598578063be84ceaf146105c3578063e4ec8b001461065b578063f078656214610704578063f5dbe09c1461076d575b600080fd5b610177600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff169060200190929190803563ffffffff169060200190929190803560001916906020019092919080356bffffffffffffffffffffffff191690602001909291905050506107d6565b005b61019b6004803603810190808035600019169060200190929190505050610a35565b005b3480156101a957600080fd5b5061027460048036038101908080356bffffffffffffffffffffffff19169060200190929190803560ff169060200190929190803563ffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610ec3565b60405180826000191660001916815260200191505060405180910390f35b34801561029e57600080fd5b50610381600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff169060200190929190803563ffffffff16906020019092919080356000191690602001909291908035906020019092919080356bffffffffffffffffffffffff19169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061136f565b005b34801561038f57600080fd5b506103b2600480360381019080803560001916906020019092919050505061184f565b604051808c600019166000191681526020018b81526020018a81526020018960018111156103dc57fe5b60ff1681526020018860018111156103f057fe5b60ff1681526020018760ff1660ff1681526020018663ffffffff1663ffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019b50505050505050505050505060405180910390f35b34801561050057600080fd5b506105436004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611960565b604051808215151515815260200191505060405180910390f35b34801561056957600080fd5b506105966004803603810190808035600019169060200190929190803590602001909291905050506119d2565b005b3480156105a457600080fd5b506105ad6120b2565b6040518082815260200191505060405180910390f35b3480156105cf57600080fd5b50610604600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506120b8565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b8381101561064757808201518184015260208101905061062c565b505050509050019250505060405180910390f35b34801561066757600080fd5b506107026004803603810190808035906020019082018035906020019190919293919293908035906020019082018035906020019190919293919293908035906020019082018035906020019190919293919293908035600019169060200190929190803590602001908201803590602001919091929391929390803590602001908201803590602001919091929391929390505050612153565b005b34801561071057600080fd5b506107536004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506126b5565b604051808215151515815260200191505060405180910390f35b34801561077957600080fd5b506107b8600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050612727565b60405180826000191660001916815260200191505060405180910390f35b81600080600083600019166000191681526020019081526020016000206001015414151561086c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f5472616e73616374696f6e20657869737473000000000000000000000000000081525060200191505060405180910390fd5b87600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610912576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b87600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156109b8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b6109cb8a8a8a8a8a8a348b600080612757565b3373ffffffffffffffffffffffffffffffffffffffff167fce7089d0668849fb9ca29778c0cbf1e764d9efb048d81fd71fb34c94f26db36886346040518083600019166000191681526020018281526020019250505060405180910390a250505050505050505050565b600081600080600083600019166000191681526020019081526020016000206001015414151515610ace576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737473000000000081525060200191505060405180910390fd5b8260006001811115610adc57fe5b600080836000191660001916815260200190815260200160002060030160009054906101000a900460ff166001811115610b1257fe5b141515610bad576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001807f5472616e73616374696f6e2069732065697468657220696e206469737075746581526020017f206f722072656c6561736564207374617465000000000000000000000000000081525060400191505060405180910390fd5b836000806001811115610bbc57fe5b600080846000191660001916815260200190815260200160002060030160019054906101000a900460ff166001811115610bf257fe5b141515610c67576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5472616e73616374696f6e207479706520646f6573206e6f74206d617463680081525060200191505060405180910390fd5b85600080826000191660001916815260200190815260200160002060030160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610d6e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f54686520696e69746961746f72206f6620746865207472616e73616374696f6e81526020017f206973206e6f742062757965720000000000000000000000000000000000000081525060400191505060405180910390fd5b349550600086111515610de9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f56616c7565206d7573742062652067726561746572207468616e207a65726f2e81525060200191505060405180910390fd5b610e19866000808a60001916600019168152602001908152602001600020600101546130fe90919063ffffffff16565b600080896000191660001916815260200190815260200160002060010181905550426000808960001916600019168152602001908152602001600020600201819055503373ffffffffffffffffffffffffffffffffffffffff167ff66fd2ae9e24a6a24b02e1b5b7512ffde5149a4176085fc0298ae228c9b9d72988886040518083600019166000191681526020018281526020019250505060405180910390a250505050505050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561110f578787878787873060405160200180886bffffffffffffffffffffffff19166bffffffffffffffffffffffff191681526014018760ff1660ff167f01000000000000000000000000000000000000000000000000000000000000000281526001018663ffffffff1663ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014019750505050505050506040516020818303038152906040526040518082805190602001908083835b6020831015156110db57805182526020820191506020810190506020830392506110b6565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390209050611364565b878787878787308860405160200180896bffffffffffffffffffffffff19166bffffffffffffffffffffffff191681526014018860ff1660ff167f01000000000000000000000000000000000000000000000000000000000000000281526001018763ffffffff1663ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401985050505050505050506040516020818303038152906040526040518082805190602001908083835b602083101515611334578051825260208201915060208101905060208303925061130f565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902090505b979650505050505050565b6000846000806000836000191660001916815260200190815260200160002060010154141515611407576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f5472616e73616374696f6e20657869737473000000000000000000000000000081525060200191505060405180910390fd5b8a600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156114ad576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b8a600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515611553576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b84600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156115f9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b61160c8e8e8e8e8e8e8e8e60018f612757565b8594508473ffffffffffffffffffffffffffffffffffffffff166323b872dd33308b6040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b1580156116e657600080fd5b505af11580156116fa573d6000803e3d6000fd5b505050506040513d602081101561171057600080fd5b810190808051906020019092919050505015156117e1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252605c8152602001807f546f6b656e207472616e73666572206661696c65642c206d6179626520796f7581526020017f20646964206e6f7420617070726f766520657363726f7720636f6e747261637481526020017f20746f207370656e64206f6e20626568616c66206f662062757965720000000081525060600191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff167fce7089d0668849fb9ca29778c0cbf1e764d9efb048d81fd71fb34c94f26db3688a8a6040518083600019166000191681526020018281526020019250505060405180910390a25050505050505050505050505050565b60006020528060005260406000206000915090508060000154908060010154908060020154908060030160009054906101000a900460ff16908060030160019054906101000a900460ff16908060030160029054906101000a900460ff16908060030160039054906101000a900463ffffffff16908060030160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060050160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060060160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508b565b6000806000846000191660001916815260200190815260200160002060090160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b60008083600080600083600019166000191681526020019081526020016000206001015414151515611a6c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737473000000000081525060200191505060405180910390fd5b8460006001811115611a7a57fe5b600080836000191660001916815260200190815260200160002060030160009054906101000a900460ff166001811115611ab057fe5b141515611b4b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001807f5472616e73616374696f6e2069732065697468657220696e206469737075746581526020017f206f722072656c6561736564207374617465000000000000000000000000000081525060400191505060405180910390fd5b856001806001811115611b5a57fe5b600080846000191660001916815260200190815260200160002060030160019054906101000a900460ff166001811115611b9057fe5b141515611c05576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5472616e73616374696f6e207479706520646f6573206e6f74206d617463680081525060200191505060405180910390fd5b87600080826000191660001916815260200190815260200160002060030160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611d0c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f54686520696e69746961746f72206f6620746865207472616e73616374696f6e81526020017f206973206e6f742062757965720000000000000000000000000000000000000081525060400191505060405180910390fd5b879650600087111515611d87576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f56616c7565206d7573742062652067726561746572207468616e207a65726f2e81525060200191505060405180910390fd5b6000808a6000191660001916815260200190815260200160002060050160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1695508573ffffffffffffffffffffffffffffffffffffffff166323b872dd6000808c6000191660001916815260200190815260200160002060030160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff16308b6040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b158015611edb57600080fd5b505af1158015611eef573d6000803e3d6000fd5b505050506040513d6020811015611f0557600080fd5b81019080805190602001909291905050501515611fd6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252605c8152602001807f546f6b656e207472616e73666572206661696c65642c206d6179626520796f7581526020017f20646964206e6f7420617070726f766520657363726f7720636f6e747261637481526020017f20746f207370656e64206f6e20626568616c66206f662062757965720000000081525060600191505060405180910390fd5b612006876000808c60001916600019168152602001908152602001600020600101546130fe90919063ffffffff16565b6000808b6000191660001916815260200190815260200160002060010181905550426000808b60001916600019168152602001908152602001600020600201819055503373ffffffffffffffffffffffffffffffffffffffff167ff66fd2ae9e24a6a24b02e1b5b7512ffde5149a4176085fc0298ae228c9b9d7298a896040518083600019166000191681526020018281526020019250505060405180910390a2505050505050505050565b60015481565b6060600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080548060200260200160405190810160405280929190818152602001828054801561214757602002820191906000526020600020905b8154600019168152602001906001019080831161212f575b50505050509050919050565b846000806000836000191660001916815260200190815260200160002060010154141515156121ea576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737473000000000081525060200191505060405180910390fd5b85600060018111156121f857fe5b600080836000191660001916815260200190815260200160002060030160009054906101000a900460ff16600181111561222e57fe5b1415156122c9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001807f5472616e73616374696f6e2069732065697468657220696e206469737075746581526020017f206f722072656c6561736564207374617465000000000000000000000000000081525060400191505060405180910390fd5b6000868690501180156122e157508383905086869050145b151561237b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001807f4c656e677468206f662064657374696e6174696f6e7320697320696e636f727281526020017f6563742e0000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b6124748d8d808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508c8c808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508b8b808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508a8a8a8080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505089898080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505061311f565b6001600080896000191660001916815260200190815260200160002060030160006101000a81548160ff021916908360018111156124ae57fe5b02179055504260008089600019166000191681526020019081526020016000206002018190555060008088600019166000191681526020019081526020016000206001015461255c888888808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508787808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050506132da565b14151561261d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260488152602001807f546f74616c2076616c756520746f2062652072656c6561736564206d7573742081526020017f626520657175616c20746f20746865207472616e73616374696f6e206573637281526020017f6f772076616c756500000000000000000000000000000000000000000000000081525060600191505060405180910390fd5b7f688e2a1b34445bcd47b0e11ba2a9c8c4d850a1831b64199b59d1c70e2970154587878787876040518086600019166000191681526020018060200180602001838103835287878281815260200192506020028082843782019150508381038252858582818152602001925060200280828437820191505097505050505050505060405180910390a150505050505050505050505050565b6000806000846000191660001916815260200190815260200160002060080160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b60026020528160005260406000208181548110151561274257fe5b90600052602060002001600091509150505481565b8873ffffffffffffffffffffffffffffffffffffffff168a73ffffffffffffffffffffffffffffffffffffffff16141515156127fb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f427579657220616e642073656c6c6572206172652073616d650000000000000081525060200191505060405180910390fd5b600084111515612873576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f56616c756520706173736564206973203000000000000000000000000000000081525060200191505060405180910390fd5b60008760ff1611801561288a575060038760ff1611155b1515612924576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603d8152602001807f5468726573686f6c642063616e6e6f742062652067726561746572207468616e81526020017f203320616e64206d7573742062652067726561746572207468616e203000000081525060400191505060405180910390fd5b60018760ff1614806129635750600073ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff1614155b1515612a23576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252604f8152602001807f456974686572207468726573686f6c642073686f756c642062652031206f746881526020017f6572776973652076616c6964206d6f64657261746f722061646472657373207381526020017f686f756c6420626520706173736564000000000000000000000000000000000081525060600191505060405180910390fd5b612a328388888d8d8d87610ec3565b600019168560001916141515612ad6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260398152602001807f43616c63756c6174656420736372697074206861736820646f6573206e6f742081526020017f6d61746368207061737365642073637269707420686173682e0000000000000081525060400191505060405180910390fd5b610160604051908101604052808660001916815260200185815260200142815260200160006001811115612b0657fe5b8152602001836001811115612b1757fe5b81526020018860ff1681526020018763ffffffff1681526020018b73ffffffffffffffffffffffffffffffffffffffff1681526020018a73ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020018973ffffffffffffffffffffffffffffffffffffffff16815250600080876000191660001916815260200190815260200160002060008201518160000190600019169055602082015181600101556040820151816002015560608201518160030160006101000a81548160ff02191690836001811115612c0157fe5b021790555060808201518160030160016101000a81548160ff02191690836001811115612c2a57fe5b021790555060a08201518160030160026101000a81548160ff021916908360ff16021790555060c08201518160030160036101000a81548163ffffffff021916908363ffffffff16021790555060e08201518160030160076101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506101008201518160040160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506101208201518160050160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506101408201518160060160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055509050506001600080876000191660001916815260200190815260200160002060070160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600080876000191660001916815260200190815260200160002060070160008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600080866000191660001916815260200190815260200160002060070160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151515612f82576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f456974686572206275796572206f722073656c6c65722069732070617373656481526020017f206173206d6f64657261746f720000000000000000000000000000000000000081525060400191505060405180910390fd5b60018760ff161115613002576001600080876000191660001916815260200190815260200160002060070160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b600160008154809291906001019190505550600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020859080600181540180825580915050906001820390600052602060002001600090919290919091509060001916905550600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002085908060018154018082558091505090600182039060005260206000200160009091929091909150906000191690555050505050505050505050565b600080828401905083811015151561311557600080fd5b8091505092915050565b600080613130888888888888613b51565b9150613186600080876000191660001916815260200190815260200160002060030160039054906101000a900463ffffffff166000808860001916600019168152602001908152602001600020600201546141c4565b9050600080866000191660001916815260200190815260200160002060030160029054906101000a900460ff1660ff16885110801561323757508015806132365750600080866000191660001916815260200190815260200160002060040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b5b156132d0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001807f736967562e6c656e67746820697320756e64657220746865207468726573686f81526020017f6c642e000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b5050505050505050565b6000806000806000806000896000191660001916815260200190815260200160002093506000600181111561330b57fe5b8460030160019054906101000a900460ff16600181111561332857fe5b141561363f57600092505b865183101561363a57600073ffffffffffffffffffffffffffffffffffffffff16878481518110151561336257fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff16141580156133f25750836007016000888581518110151561339f57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1515613466576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f4e6f7420612076616c69642064657374696e6174696f6e00000000000000000081525060200191505060405180910390fd5b6000868481518110151561347657fe5b9060200190602002015111151561351b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001807f416d6f756e7420746f2062652073656e742073686f756c64206265206772656181526020017f746572207468616e20300000000000000000000000000000000000000000000081525060400191505060405180910390fd5b613545868481518110151561352c57fe5b90602001906020020151866130fe90919063ffffffff16565b94506001846009016000898681518110151561355d57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555086838151811015156135c657fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff166108fc87858151811015156135f757fe5b906020019060200201519081150290604051600060405180830381858888f1935050505015801561362c573d6000803e3d6000fd5b508280600101935050613333565b613b46565b60018081111561364b57fe5b8460030160019054906101000a900460ff16600181111561366857fe5b1415613ab1578360050160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169150600090505b8651811015613aac57600073ffffffffffffffffffffffffffffffffffffffff1687828151811015156136c957fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff16141580156137595750836007016000888381518110151561370657fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15156137cd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f4e6f7420612076616c69642064657374696e6174696f6e00000000000000000081525060200191505060405180910390fd5b600086828151811015156137dd57fe5b90602001906020020151111515613882576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001807f416d6f756e7420746f2062652073656e742073686f756c64206265206772656181526020017f746572207468616e20300000000000000000000000000000000000000000000081525060400191505060405180910390fd5b6138ac868281518110151561389357fe5b90602001906020020151866130fe90919063ffffffff16565b9450600184600901600089848151811015156138c457fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb888381518110151561394957fe5b90602001906020020151888481518110151561396157fe5b906020019060200201516040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1580156139f057600080fd5b505af1158015613a04573d6000803e3d6000fd5b505050506040513d6020811015613a1a57600080fd5b81019080805190602001909291905050501515613a9f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f546f6b656e207472616e73666572206661696c65642e0000000000000000000081525060200191505060405180910390fd5b808060010191505061369a565b613b45565b6040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001807f5472616e736174696f6e2074797065206973206e6f7420737570706f7274656481526020017f2e0000000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b5b505050509392505050565b60008060008087518951148015613b69575089518951145b1515613bdd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f522c532c56206c656e677468206d69736d617463682e0000000000000000000081525060200191505060405180910390fd5b60197f01000000000000000000000000000000000000000000000000000000000000000260007f0100000000000000000000000000000000000000000000000000000000000000023088888b60405160200180877effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168152600101867effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526001018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401848051906020019060200280838360005b83811015613d31578082015181840152602081019050613d16565b50505050905001838051906020019060200280838360005b83811015613d64578082015181840152602081019050613d49565b50505050905001826000191660001916815260200196505050505050506040516020818303038152906040526040518082805190602001908083835b602083101515613dc55780518252602082019150602081019050602083039250613da0565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902060405160200180807f19457468657265756d205369676e6564204d6573736167653a0a333200000000815250601c0182600019166000191681526020019150506040516020818303038152906040526040518082805190602001908083835b602083101515613e765780518252602082019150602081019050602083039250613e51565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390209250600091505b88518210156141b7576001838b84815181101515613ec457fe5b906020019060200201518b85815181101515613edc57fe5b906020019060200201518b86815181101515613ef457fe5b90602001906020020151604051600081526020016040526040518085600019166000191681526020018460ff1660ff1681526020018360001916600019168152602001826000191660001916815260200194505050505060206040516020810390808403906000865af1158015613f6f573d6000803e3d6000fd5b505050602060405103519050600080886000191660001916815260200190815260200160002060070160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515614057576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f496e76616c6964207369676e617475726500000000000000000000000000000081525060200191505060405180910390fd5b600080886000191660001916815260200190815260200160002060080160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151515614134576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f53616d65207369676e61747572652073656e742074776963650000000000000081525060200191505060405180910390fd5b6001600080896000191660001916815260200190815260200160002060080160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508093508180600101925050613eaa565b5050509695505050505050565b6000806141da834261421890919063ffffffff16565b905060008463ffffffff161461420c57614205610e108563ffffffff1661423990919063ffffffff16565b811161420f565b60005b91505092915050565b60008083831115151561422a57600080fd5b82840390508091505092915050565b600080600084141561424e5760009150614270565b828402905082848281151561425f57fe5b0414151561426c57600080fd5b8091505b50929150505600a165627a7a72305820bc6b7965a447e9f309338b9f88317978dd00401be47e7f6211fd2a7eaec58f1d0029", + "sourceMap": "460:20727:0:-;;;1680:1;1646:35;;460:20727;8:9:-1;5:2;;;30:1;27;20:12;5:2;460:20727:0;;;;;;;", + "deployedSourceMap": "460:20727:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3902:702;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7917:598;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12314:1004;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12314:1004:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5704:1021;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5704:1021:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1588:51;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1588:51:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6949:228;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6949:228:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8775:924;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8775:924:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1646:35;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1646:35:0;;;;;;;;;;;;;;;;;;;;;;;9816:207;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9816:207:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;9816:207:0;;;;;;;;;;;;;;;;;10780:1063;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10780:1063:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7400:199;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7400:199:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1758:54;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1758:54:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3902:702;4180:10;2104:1;2070:12;:24;2083:10;2070:24;;;;;;;;;;;;;;;;;:30;;;:35;2062:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4215:5;2454:1;2428:28;;:14;:28;;;;2420:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4245:6;2454:1;2428:28;;:14;:28;;;;2420:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4267:264;4296:5;4315:6;4335:9;4358;4381:12;4407:10;4431:9;4454:8;4476:21;4519:1;4267:15;:264::i;:::-;4574:10;4555:41;;;4562:10;4586:9;4555:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2490:1;2138;3902:702;;;;;;;;:::o;7917:598::-;8195:14;8025:10;1931:1;1897:12;:24;1910:10;1897:24;;;;;;;;;;;;;;;;;:30;;;:35;;1876:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8059:10;2261:13;2226:48;;;;;;;;:12;:24;2239:10;2226:24;;;;;;;;;;;;;;;;;:31;;;;;;;;;;;;:48;;;;;;;;;2205:133;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8100:10;8112:21;2688:15;2644:59;;;;;;;;:12;:24;2657:10;2644:24;;;;;;;;;;;;;;;;;:40;;;;;;;;;;;;:59;;;;;;;;;2623:125;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8153:10;2856:12;:24;2869:10;2856:24;;;;;;;;;;;;;;;;;:30;;;;;;;;;;;;2842:44;;:10;:44;;;2821:124;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8212:9;8195:26;;8249:1;8240:6;:10;8232:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8331;8379:6;8331:12;:24;8344:10;8331:24;;;;;;;;;;;;;;;;;:30;;;:47;;:55;;;;:::i;:::-;8298:12;:24;8311:10;8298:24;;;;;;;;;;;;;;;;;:30;;:88;;;;8436:15;8396:12;:24;8409:10;8396:24;;;;;;;;;;;;;;;;;:37;;:55;;;;8489:10;8467:41;;;8477:10;8501:6;8467:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2758:1;2348;;1983;7917:598;;;:::o;12314:1004::-;12584:12;12640:1;12616:26;;:12;:26;;;12612:700;;;12730:8;12760:9;12791:12;12825:5;12852:6;12880:9;12911:4;12692:241;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;12692:241:0;;;12665:282;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;12665:282:0;;;;;;;;;;;;;;;;12658:289;;12612:700;;;13050:8;13080:9;13111:12;13145:5;13172:6;13200:9;13231:4;13257:12;13012:275;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;13012:275:0;;;12985:316;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;12985:316:0;;;;;;;;;;;;;;;;12978:323;;12612:700;12314:1004;;;;;;;;;:::o;5704:1021::-;6422:20;6024:10;2104:1;2070:12;:24;2083:10;2070:24;;;;;;;;;;;;;;;;;:30;;;:35;2062:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6059:5;2454:1;2428:28;;:14;:28;;;;2420:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6089:6;2454:1;2428:28;;:14;:28;;;;2420:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6120:12;2454:1;2428:28;;:14;:28;;;;2420:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6149:262;6178:5;6197:6;6217:9;6240;6263:12;6289:10;6313:5;6332:8;6354:21;6389:12;6149:15;:262::i;:::-;6460:12;6422:51;;6505:5;:18;;;6524:10;6536:4;6542:5;6505:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6505:43:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6505:43:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6505:43:0;;;;;;;;;;;;;;;;6484:182;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6700:10;6681:37;;;6688:10;6712:5;6681:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2490:1;;2138;5704:1021;;;;;;;;;;;:::o;1588:51::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;6949:228::-;7085:10;7119:12;:24;7132:10;7119:24;;;;;;;;;;;;;;;;;:38;;:51;7158:11;7119:51;;;;;;;;;;;;;;;;;;;;;;;;;7111:59;;6949:228;;;;:::o;8775:924::-;9061:14;9160:20;8907:10;1931:1;1897:12;:24;1910:10;1897:24;;;;;;;;;;;;;;;;;:30;;;:35;;1876:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8941:10;2261:13;2226:48;;;;;;;;:12;:24;2239:10;2226:24;;;;;;;;;;;;;;;;;:31;;;;;;;;;;;;:48;;;;;;;;;2205:133;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8982:10;8994:21;2688:15;2644:59;;;;;;;;:12;:24;2657:10;2644:24;;;;;;;;;;;;;;;;;:40;;;;;;;;;;;;:59;;;;;;;;;2623:125;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9035:10;2856:12;:24;2869:10;2856:24;;;;;;;;;;;;;;;;;:30;;;;;;;;;;;;2842:44;;:10;:44;;;2821:124;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9078:5;9061:22;;9111:1;9102:6;:10;9094:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9211:12;:24;9224:10;9211:24;;;;;;;;;;;;;;;;;:37;;;;;;;;;;;;9160:98;;9290:5;:18;;;9309:12;:24;9322:10;9309:24;;;;;;;;;;;;;;;;;:30;;;;;;;;;;;;9341:4;9347:5;9290:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9290:63:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9290:63:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;9290:63:0;;;;;;;;;;;;;;;;9269:202;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9515:55;9563:6;9515:12;:24;9528:10;9515:24;;;;;;;;;;;;;;;;;:30;;;:47;;:55;;;;:::i;:::-;9482:12;:24;9495:10;9482:24;;;;;;;;;;;;;;;;;:30;;:88;;;;9620:15;9580:12;:24;9593:10;9580:24;;;;;;;;;;;;;;;;;:37;;:55;;;;9673:10;9651:41;;;9661:10;9685:6;9651:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2758:1;2348;;1983;8775:924;;;;;:::o;1646:35::-;;;;:::o;9816:207::-;9938:22;9984:18;:32;10003:12;9984:32;;;;;;;;;;;;;;;9977:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9816:207;;;:::o;10780:1063::-;11003:10;1931:1;1897:12;:24;1910:10;1897:24;;;;;;;;;;;;;;;;;:30;;;:35;;1876:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11037:10;2261:13;2226:48;;;;;;;;:12;:24;2239:10;2226:24;;;;;;;;;;;;;;;;;:31;;;;;;;;;;;;:48;;;;;;;;;2205:133;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11104:1;11084:12;;:19;;:21;:62;;;;;11132:7;;:14;;11109:12;;:19;;:37;11084:62;11063:133;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11207:152;11238:4;;11207:152;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11256:4;;11207:152;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11274:4;;11207:152;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11292:10;11316:12;;11207:152;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11342:7;;11207:152;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:17;:152::i;:::-;11404:15;11370:12;:24;11383:10;11370:24;;;;;;;;;;;;;;;;;:31;;;:49;;;;;;;;;;;;;;;;;;;;;;;;11543:15;11503:12;:24;11516:10;11503:24;;;;;;;;;;;;;;;;;:37;;:55;;;;11641:12;:24;11654:10;11641:24;;;;;;;;;;;;;;;;;:30;;;11589:48;11603:10;11615:12;;11589:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11629:7;;11589:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:13;:48::i;:::-;:82;11568:201;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11793:43;11802:10;11814:12;;11828:7;;11793:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1983:1;10780:1063;;;;;;;;;;;;:::o;7400:199::-;7523:9;7555:12;:24;7568:10;7555:24;;;;;;;;;;;;;;;;;:30;;:37;7586:5;7555:37;;;;;;;;;;;;;;;;;;;;;;;;;7548:44;;7400:199;;;;:::o;1758:54::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;18514:2671::-;18876:6;18867:15;;:5;:15;;;;18859:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18987:1;18979:5;:9;18971:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19125:1;19113:9;:13;;;:31;;;;;19143:1;19130:9;:14;;;;19113:31;19092:140;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19514:1;19501:9;:14;;;:41;;;;19540:1;19519:23;;:9;:23;;;;19501:41;19480:167;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19693:226;19736:8;19762:9;19789:12;19819:5;19842:6;19866:9;19893:12;19693:25;:226::i;:::-;19679:240;;;:10;:240;;;;19658:345;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20041:409;;;;;;;;;20271:10;20041:409;;;;;;;20162:5;20041:409;;;;20230:15;20041:409;;;;20189:13;20041:409;;;;;;;;;;;;20385:15;20041:409;;;;;;;;;;;;20306:9;20041:409;;;;;;20343:12;20041:409;;;;;;20074:5;20041:409;;;;;;20101:6;20041:409;;;;;;20427:12;20041:409;;;;;;20132:9;20041:409;;;;;20014:12;:24;20027:10;20014:24;;;;;;;;;;;;;;;;;:436;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20504:4;20461:12;:24;20474:10;20461:24;;;;;;;;;;;;;;;;;:32;;:40;20494:6;20461:40;;;;;;;;;;;;;;;;:47;;;;;;;;;;;;;;;;;;20560:4;20518:12;:24;20531:10;20518:24;;;;;;;;;;;;;;;;;:32;;:39;20551:5;20518:39;;;;;;;;;;;;;;;;:46;;;;;;;;;;;;;;;;;;20672:12;:24;20685:10;20672:24;;;;;;;;;;;;;;;;;:32;;:43;20705:9;20672:43;;;;;;;;;;;;;;;;;;;;;;;;;20671:44;20650:137;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20959:1;20947:9;:13;;;20943:93;;;21021:4;20975:12;:24;20988:10;20975:24;;;;;;;;;;;;;;;;;:32;;:43;21008:9;20975:43;;;;;;;;;;;;;;;;:50;;;;;;;;;;;;;;;;;;20943:93;21054:16;;:18;;;;;;;;;;;;;21083;:25;21102:5;21083:25;;;;;;;;;;;;;;;21114:10;21083:42;;39:1:-1;33:3;27:10;23:18;57:10;52:3;45:23;79:10;72:17;;0:93;21083:42:0;;;;;;;;;;;;;;;;;;;;;;;;;;;21135:18;:26;21154:6;21135:26;;;;;;;;;;;;;;;21167:10;21135:43;;39:1:-1;33:3;27:10;23:18;57:10;52:3;45:23;79:10;72:17;;0:93;21135:43:0;;;;;;;;;;;;;;;;;;;;;;;;;;;18514:2671;;;;;;;;;;:::o;1272:131:2:-;1330:7;1345:9;1361:1;1357;:5;1345:17;;1381:1;1376;:6;;1368:15;;;;;;;;1397:1;1390:8;;1272:131;;;;;:::o;13592:952:0:-;13812:21;13998:20;13836:151;13866:4;13884;13902;13920:10;13944:12;13970:7;13836:16;:151::i;:::-;13812:175;;14021:129;14052:12;:24;14065:10;14052:24;;;;;;;;;;;;;;;;;:37;;;;;;;;;;;;14103:12;:24;14116:10;14103:24;;;;;;;;;;;;;;;;;:37;;;14021:17;:129::i;:::-;13998:152;;14336:12;:24;14349:10;14336:24;;;;;;;;;;;;;;;;;:34;;;;;;;;;;;;14322:48;;:4;:11;:48;:122;;;;;14376:15;14375:16;:68;;;;14412:12;:24;14425:10;14412:24;;;;;;;;;;;;;;;;;:31;;;;;;;;;;;;14395:48;;:13;:48;;;;14375:68;14322:122;14301:236;;;14481:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14301:236;13592:952;;;;;;;;:::o;14670:1717::-;14817:24;14857:21;14983:9;15620:20;15693:9;14881:12;:24;14894:10;14881:24;;;;;;;;;;;;;;;;;14857:48;;14941:21;14920:42;;;;;;;;:1;:17;;;;;;;;;;;;:42;;;;;;;;;14916:1465;;;14995:1;14983:13;;14978:562;15002:12;:19;14998:1;:23;14978:562;;;15082:1;15055:29;;:12;15068:1;15055:15;;;;;;;;;;;;;;;;;;:29;;;;:59;;;;;15088:1;:9;;:26;15098:12;15111:1;15098:15;;;;;;;;;;;;;;;;;;15088:26;;;;;;;;;;;;;;;;;;;;;;;;;15055:59;15047:95;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15181:1;15168:7;15176:1;15168:10;;;;;;;;;;;;;;;;;;:14;15160:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15267:32;15288:7;15296:1;15288:10;;;;;;;;;;;;;;;;;;15267:16;:20;;:32;;;;:::i;:::-;15248:51;;15353:4;15318:1;:15;;:32;15334:12;15347:1;15334:15;;;;;;;;;;;;;;;;;;15318:32;;;;;;;;;;;;;;;;:39;;;;;;;;;;;;;;;;;;15404:12;15417:1;15404:15;;;;;;;;;;;;;;;;;;:24;;:36;15429:7;15437:1;15429:10;;;;;;;;;;;;;;;;;;15404:36;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;15404:36:0;15023:3;;;;;;;14978:562;;;14916:1465;;;15582:21;15561:42;;;;;;;;:1;:17;;;;;;;;;;;;:42;;;;;;;;;15557:824;;;15658:1;:14;;;;;;;;;;;;15620:53;;15705:1;15693:13;;15688:517;15710:12;:19;15708:1;:21;15688:517;;;15790:1;15763:29;;:12;15776:1;15763:15;;;;;;;;;;;;;;;;;;:29;;;;:59;;;;;15796:1;:9;;:26;15806:12;15819:1;15806:15;;;;;;;;;;;;;;;;;;15796:26;;;;;;;;;;;;;;;;;;;;;;;;;15763:59;15755:95;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15889:1;15876:7;15884:1;15876:10;;;;;;;;;;;;;;;;;;:14;15868:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15975:32;15996:7;16004:1;15996:10;;;;;;;;;;;;;;;;;;15975:16;:20;;:32;;;;:::i;:::-;15956:51;;16060:4;16025:1;:15;;:32;16041:12;16054:1;16041:15;;;;;;;;;;;;;;;;;;16025:32;;;;;;;;;;;;;;;;:39;;;;;;;;;;;;;;;;;;16120:5;:14;;;16135:12;16148:1;16135:15;;;;;;;;;;;;;;;;;;16152:7;16160:1;16152:10;;;;;;;;;;;;;;;;;;16120:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;16120:43:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;16120:43:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;16120:43:0;;;;;;;;;;;;;;;;16112:78;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15731:3;;;;;;;15688:517;;;15557:824;;;16327:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15557:824;14916:1465;14670:1717;;;;;;;;;:::o;16571:1523::-;16792:19;17052:14;17511:6;17560:17;16863:4;:11;16848:4;:11;:26;:56;;;;;16893:4;:11;16878:4;:11;:26;16848:56;16827:126;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17256:4;17251:10;;17292:1;17287:7;;17320:4;17350:12;17388:7;17421:10;17209:244;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;17209:244:0;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;17209:244:0;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;17209:244:0;;;17178:293;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;17178:293:0;;;;;;;;;;;;;;;;17092:393;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;17092:393:0;;;17069:426;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;17069:426:0;;;;;;;;;;;;;;;;17052:443;;17520:1;17511:10;;17506:582;17527:4;:11;17523:1;:15;17506:582;;;17580:122;17607:6;17631:4;17636:1;17631:7;;;;;;;;;;;;;;;;;;17656:4;17661:1;17656:7;;;;;;;;;;;;;;;;;;17681:4;17686:1;17681:7;;;;;;;;;;;;;;;;;;17580:122;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;17580:122:0;;;;;;;;17560:142;;17742:12;:24;17755:10;17742:24;;;;;;;;;;;;;;;;;:32;;:43;17775:9;17742:43;;;;;;;;;;;;;;;;;;;;;;;;;17717:120;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17877:12;:24;17890:10;17877:24;;;;;;;;;;;;;;;;;:30;;:41;17908:9;17877:41;;;;;;;;;;;;;;;;;;;;;;;;;17876:42;17851:127;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18036:4;17992:12;:24;18005:10;17992:24;;;;;;;;;;;;;;;;;:30;;:41;18023:9;17992:41;;;;;;;;;;;;;;;;:48;;;;;;;;;;;;;;;;;;18068:9;18054:23;;17540:3;;;;;;;17506:582;;;16571:1523;;;;;;;;;;;:::o;18100:327::-;18238:12;18266:17;18286:21;18294:12;18286:3;:7;;:21;;;;:::i;:::-;18266:41;;18357:1;18341:12;:17;;;:69;;18379:31;18405:4;18387:12;18379:21;;:25;;:31;;;;:::i;:::-;18367:9;:43;18341:69;;;18361:5;18341:69;18317:103;;18100:327;;;;;:::o;1078:131:2:-;1136:7;1172:9;1164:1;1159;:6;;1151:15;;;;;;;;1188:1;1184;:5;1172:17;;1203:1;1196:8;;1078:131;;;;;:::o;204:381::-;262:7;523:9;491:1;486;:6;482:35;;;509:1;502:8;;;;482:35;539:1;535;:5;523:17;;563:1;558;554;:5;;;;;;;;:10;546:19;;;;;;;;579:1;572:8;;204:381;;;;;;:::o", + "source": "pragma solidity 0.4.24;\n\nimport \"openzeppelin-solidity/contracts/math/SafeMath.sol\";\n\nimport \"../token/ITokenContract.sol\";\n\n\n/**\n* @dev Supports ERC20 tokens\n* The escrow smart contract for the open bazaar trades in Ethereum\n* The smart contract is desgined keeping in mind the current wallet interface of the OB-core\n* https://github.com/OpenBazaar/wallet-interface/blob/master/wallet.go\n* Current wallet interface strictly adheres to UTXO(bitcoin) model\n*/\ncontract Escrow_v1_0 {\n\n using SafeMath for uint256;\n\n enum Status {FUNDED, RELEASED}\n\n enum TransactionType {ETHER, TOKEN}\n\n event Executed(\n bytes32 scriptHash,\n address[] destinations,\n uint256[] amounts\n );\n\n event FundAdded(\n bytes32 scriptHash,\n address indexed from,\n uint256 valueAdded\n );\n\n event Funded(bytes32 scriptHash, address indexed from, uint256 value);\n\n struct Transaction {\n bytes32 scriptHash;//This is unique indentifier for a transaction\n uint256 value;\n uint256 lastModified;//Time at which transaction was last modified\n Status status;\n TransactionType transactionType;\n uint8 threshold;\n uint32 timeoutHours;\n address buyer;\n address seller;\n address tokenAddress;// Token address in case of token transfer\n address moderator;\n mapping(address=>bool) isOwner;//to keep track of owners/signers.\n mapping(address=>bool) voted;//to keep track of who all voted\n mapping(address=>bool) beneficiaries;//Benefeciaries of execution\n }\n\n mapping(bytes32 => Transaction) public transactions;\n\n uint256 public transactionCount = 0;\n\n //Contains mapping between each party and all of his transactions\n mapping(address => bytes32[])public partyVsTransaction;\n\n modifier transactionExists(bytes32 scriptHash) {\n require(\n transactions[scriptHash].value != 0, \"Transaction does not exists\"\n );\n _;\n }\n\n modifier transactionDoesNotExists (bytes32 scriptHash) {\n require(transactions[scriptHash].value == 0, \"Transaction exists\");\n _;\n }\n\n modifier inFundedState(bytes32 scriptHash) {\n require(\n transactions[scriptHash].status == Status.FUNDED, \"Transaction is either in dispute or released state\"\n );\n _;\n }\n\n modifier nonZeroAddress(address addressToCheck) {\n require(addressToCheck != address(0), \"Zero address passed\");\n _;\n }\n\n modifier checkTransactionType(\n bytes32 scriptHash,\n TransactionType transactionType\n )\n {\n require(\n transactions[scriptHash].transactionType == transactionType, \"Transaction type does not match\"\n );\n _;\n }\n\n modifier onlyBuyer(bytes32 scriptHash) {\n require(\n msg.sender == transactions[scriptHash].buyer, \"The initiator of the transaction is not buyer\"\n );\n _;\n }\n\n /**\n *@dev Add new transaction in the contract\n *@param buyer The buyer of the transaction\n *@param seller The seller of the listing associated with the transaction\n *@param moderator Moderator for this transaction\n *@param scriptHash keccak256 hash of the redeem script\n *@param threshold Minimum number of singatures required to released funds\n *@param timeoutHours Hours after which seller can release funds into his favour by signing transaction\n *@param uniqueId bytes20 unique id for the transaction, generated by ETH wallet\n *Redeem Script format will be following\n \n * scripthash-> keccak256(uniqueId, threshold, timeoutHours, buyer, seller, moderator)\n *Pass amount of the ethers to be put in escrow\n *Please keep in mind you will have to add moderator fees also in the value\n */\n function addTransaction(\n address buyer,\n address seller,\n address moderator,\n uint8 threshold,\n uint32 timeoutHours,\n bytes32 scriptHash,\n bytes20 uniqueId\n )\n external\n payable\n transactionDoesNotExists(scriptHash)\n nonZeroAddress(buyer)\n nonZeroAddress(seller)\n {\n _addTransaction(\n buyer,\n seller,\n moderator,\n threshold,\n timeoutHours,\n scriptHash,\n msg.value,\n uniqueId,\n TransactionType.ETHER,\n address(0)\n );\n \n emit Funded(scriptHash, msg.sender, msg.value);\n\n }\n\n /**\n *@dev Add new transaction in the contract\n *@param buyer The buyer of the transaction\n *@param seller The seller of the listing associated with the transaction\n *@param moderator Moderator for this transaction\n *@param scriptHash keccak256 hash of the redeem script\n *@param threshold Minimum number of singatures required to released funds\n *@param timeoutHours Hours after which seller can release funds into his favour by signing transaction\n *@param value Amount of tokens to be put in escrow\n *@param uniqueId bytes20 unique id for the transaction, generated by ETH wallet\n *@param tokenAddress Address of the token to be used\n *Redeem Script format will be following\n \n * scripthash-> keccak256(uniqueId, threshold, timeoutHours, buyer, seller, moderator, tokenAddress)\n *approve escrow contract to spend amount of token on your behalf\n *Please keep in mind you will have to add moderator fees also in the value\n */\n function addTokenTransaction(\n address buyer,\n address seller,\n address moderator,\n uint8 threshold,\n uint32 timeoutHours,\n bytes32 scriptHash,\n uint256 value,\n bytes20 uniqueId,\n address tokenAddress\n )\n external\n transactionDoesNotExists(scriptHash)\n nonZeroAddress(buyer)\n nonZeroAddress(seller)\n nonZeroAddress(tokenAddress)\n {\n\n _addTransaction(\n buyer,\n seller,\n moderator,\n threshold,\n timeoutHours,\n scriptHash,\n value,\n uniqueId,\n TransactionType.TOKEN,\n tokenAddress\n );\n\n ITokenContract token = ITokenContract(tokenAddress);\n\n require(\n token.transferFrom(msg.sender, this, value),\n \"Token transfer failed, maybe you did not approve escrow contract to spend on behalf of buyer\"\n );\n emit Funded(scriptHash, msg.sender, value);\n }\n\n /**\n * @dev Check whether given address was a beneficiary of transaction execution or not\n * @param scriptHash script hash of the transaction\n * @param beneficiary Beneficiary address to be checked\n */\n function checkBeneficiary(\n bytes32 scriptHash,\n address beneficiary\n )\n external\n view\n returns (bool check)\n {\n check = transactions[scriptHash].beneficiaries[beneficiary];\n }\n\n /**\n * @dev Check whether given party has voted or not\n * @param scriptHash script hash of the transaction\n * @param party Address of the party whose vote has to be checked\n * @return bool vote\n */\n function checkVote(\n bytes32 scriptHash,\n address party\n )\n external\n view\n returns (bool vote)\n {\n vote = transactions[scriptHash].voted[party];\n }\n\n /**\n *@dev Allows buyer of the transaction to add more funds(ether) in the transaction. This will help to cater scenarios wherein initially buyer missed to fund transaction as required\n *@param scriptHash script hash of the transaction\n * Only buyer of the transaction can invoke this method\n */\n function addFundsToTransaction(\n bytes32 scriptHash\n )\n external\n transactionExists(scriptHash)\n inFundedState(scriptHash)\n checkTransactionType(scriptHash, TransactionType.ETHER)\n onlyBuyer(scriptHash)\n payable\n {\n uint256 _value = msg.value;\n\n require(_value > 0, \"Value must be greater than zero.\");\n\n transactions[scriptHash].value = transactions[scriptHash].value\n .add(_value);\n transactions[scriptHash].lastModified = block.timestamp;\n\n emit FundAdded(scriptHash, msg.sender, _value);\n }\n\n /**\n *@dev Allows buyer of the transaction to add more funds(Tokens) in the transaction. This will help to cater scenarios wherein initially buyer missed to fund transaction as required\n *@param scriptHash script hash of the transaction\n */\n function addTokensToTransaction(\n bytes32 scriptHash,\n uint256 value\n )\n external\n transactionExists(scriptHash)\n inFundedState(scriptHash)\n checkTransactionType(scriptHash, TransactionType.TOKEN)\n onlyBuyer(scriptHash)\n {\n uint256 _value = value;\n\n require(_value > 0, \"Value must be greater than zero.\");\n\n ITokenContract token = ITokenContract(\n transactions[scriptHash].tokenAddress\n );\n\n require(\n token.transferFrom(transactions[scriptHash].buyer, this, value),\n \"Token transfer failed, maybe you did not approve escrow contract to spend on behalf of buyer\"\n );\n\n transactions[scriptHash].value = transactions[scriptHash].value\n .add(_value);\n transactions[scriptHash].lastModified = block.timestamp;\n\n emit FundAdded(scriptHash, msg.sender, _value);\n }\n\n /**\n *@dev Returns all transaction ids for a party\n *@param partyAddress Address of the party\n */\n function getAllTransactionsForParty(\n address partyAddress\n ) \n external \n view \n returns (bytes32[] scriptHashes) \n {\n return partyVsTransaction[partyAddress];\n }\n\n /**\n *@dev Allows one of the moderator to collect all the signature to solve dispute and submit it to this method.\n * If all the required signatures are collected and consensus has been reached than funds will be released to the voted party\n *@param sigV Array containing V component of all the signatures\n *@param sigR Array containing R component of all the signatures\n *@param signS Array containing S component of all the signatures\n *@param scriptHash script hash of the transaction\n *@param destinations address of the destination in whose favour dispute resolution is taking place. In case of split payments it will be address of the split payments contract\n *@param amounts value to send to each destination\n */\n function execute(\n uint8[] sigV,\n bytes32[] sigR,\n bytes32[] sigS,\n bytes32 scriptHash,\n address[] destinations,\n uint256[] amounts\n )\n external\n transactionExists(scriptHash)\n inFundedState(scriptHash)\n {\n require(\n destinations.length>0 && destinations.length == amounts.length, \"Length of destinations is incorrect.\"\n );\n\n verifyTransaction(\n sigV,\n sigR,\n sigS,\n scriptHash,\n destinations,\n amounts\n );\n\n transactions[scriptHash].status = Status.RELEASED;\n //Last modified timestamp modified, which will be used by rewards\n transactions[scriptHash].lastModified = block.timestamp;\n require(\n transferFunds(scriptHash, destinations, amounts) == transactions[scriptHash].value,\n \"Total value to be released must be equal to the transaction escrow value\"\n );\n \n emit Executed(scriptHash, destinations, amounts);\n }\n\n\n /**\n *@dev Method for calculating script hash. Calculation will depend upon the type of transaction\n * ETHER Type transaction-:\n * Script Hash- keccak256(uniqueId, threshold, timeoutHours, buyer, seller, moderator)\n * TOKEN Type transaction\n * Script Hash- keccak256(uniqueId, threshold, timeoutHours, buyer, seller, moderator, tokenAddress)\n * Client can use this method to verify whether it has calculated correct script hash or not\n */\n function calculateRedeemScriptHash(\n bytes20 uniqueId,\n uint8 threshold,\n uint32 timeoutHours,\n address buyer,\n address seller,\n address moderator,\n address tokenAddress\n )\n public\n view\n returns (bytes32 hash)\n {\n if (tokenAddress == address(0)) {\n hash = keccak256(\n abi.encodePacked(\n uniqueId,\n threshold,\n timeoutHours,\n buyer,\n seller,\n moderator,\n this\n )\n );\n } else {\n hash = keccak256(\n abi.encodePacked(\n uniqueId,\n threshold,\n timeoutHours,\n buyer,\n seller,\n moderator,\n this,\n tokenAddress\n )\n );\n }\n }\n\n /**\n * @dev This methods checks validity of transaction\n * 1. Verify Signatures\n * 2. Check if minimum number of signatures has been acquired\n * 3. If above condition is false, check if time lock is expired and the execution is signed by seller\n */\n function verifyTransaction(\n uint8[] sigV,\n bytes32[] sigR,\n bytes32[] sigS,\n bytes32 scriptHash,\n address[] destinations,\n uint256[] amounts\n )\n private\n {\n address lastRecovered = verifySignatures(\n sigV,\n sigR,\n sigS,\n scriptHash,\n destinations,\n amounts\n );\n\n bool timeLockExpired = isTimeLockExpired(\n transactions[scriptHash].timeoutHours,\n transactions[scriptHash].lastModified\n );\n\n //if Minimum number of signatures are not gathered and timelock has not expired or transaction was not signed by seller then revert\n if (\n sigV.length < transactions[scriptHash].threshold && (!timeLockExpired || lastRecovered != transactions[scriptHash].seller)\n )\n {\n revert(\"sigV.length is under the threshold.\");\n }\n\n }\n\n /**\n *@dev Private method to transfer funds to the destination addresses on the basis of transaction type\n */\n function transferFunds(\n bytes32 scriptHash,\n address[]destinations,\n uint256[]amounts\n )\n private\n returns (uint256 valueTransferred)\n {\n Transaction storage t = transactions[scriptHash];\n\n if (t.transactionType == TransactionType.ETHER) {\n for (uint256 i = 0; i < destinations.length; i++) {\n\n require(destinations[i] != address(0) && t.isOwner[destinations[i]], \"Not a valid destination\");\n require(amounts[i] > 0, \"Amount to be sent should be greater than 0\");\n\n valueTransferred = valueTransferred.add(amounts[i]);\n\n t.beneficiaries[destinations[i]] = true;//add receiver as beneficiary\n destinations[i].transfer(amounts[i]);//shall we use send instead of transfer to stop malicious actors from blocking funds?\n }\n\n } else if (t.transactionType == TransactionType.TOKEN) {\n\n ITokenContract token = ITokenContract(t.tokenAddress);\n\n for (uint256 j = 0; j 0, \"Amount to be sent should be greater than 0\");\n\n valueTransferred = valueTransferred.add(amounts[j]);\n t.beneficiaries[destinations[j]] = true;//add receiver as beneficiary\n\n require(token.transfer(destinations[j], amounts[j]), \"Token transfer failed.\");\n }\n } else {\n //transaction type is not supported. Ideally this state should never be reached\n revert(\"Transation type is not supported.\");\n }\n }\n\n //to check whether the signature are valid or not and if consensus was reached\n //returns the last address recovered, in case of timeout this must be the sender's address\n function verifySignatures(\n uint8[] sigV,\n bytes32[] sigR,\n bytes32[] sigS,\n bytes32 scriptHash,\n address[] destinations,\n uint256[]amounts\n )\n private\n returns (address lastAddress)\n {\n require(\n sigR.length == sigS.length && sigR.length == sigV.length, \n \"R,S,V length mismatch.\"\n );\n\n // Follows ERC191 signature scheme: https://github.com/ethereum/EIPs/issues/191\n bytes32 txHash = keccak256(\n abi.encodePacked(\n \"\\x19Ethereum Signed Message:\\n32\",\n keccak256(\n abi.encodePacked(\n byte(0x19),\n byte(0),\n this,\n destinations,\n amounts,\n scriptHash\n )\n )\n )\n );\n\n for (uint i = 0; i < sigR.length; i++) {\n\n address recovered = ecrecover(\n txHash,\n sigV[i],\n sigR[i],\n sigS[i]\n );\n\n require(\n transactions[scriptHash].isOwner[recovered], \n \"Invalid signature\"\n );\n require(\n !transactions[scriptHash].voted[recovered], \n \"Same signature sent twice\"\n );\n transactions[scriptHash].voted[recovered] = true;\n lastAddress = recovered;\n }\n }\n\n function isTimeLockExpired(\n uint32 timeoutHours,\n uint256 lastModified\n )\n private\n view\n returns (bool expired)\n {\n uint256 timeSince = now.sub(lastModified);\n expired = (\n timeoutHours == 0 ? false:timeSince > uint256(timeoutHours).mul(3600)\n );\n }\n\n /**\n * Private method to add transaction to reduce code redundancy\n */\n function _addTransaction(\n address buyer,\n address seller,\n address moderator,\n uint8 threshold,\n uint32 timeoutHours,\n bytes32 scriptHash,\n uint256 value,\n bytes20 uniqueId,\n TransactionType transactionType,\n address tokenAddress\n )\n private\n { \n require(buyer != seller, \"Buyer and seller are same\");\n\n //value passed should be greater than 0\n require(value > 0, \"Value passed is 0\");\n\n // For now allowing 0 moderator to support 1-2 multisig wallet\n require(\n threshold > 0 && threshold <= 3, \n \"Threshold cannot be greater than 3 and must be greater than 0\"\n );\n\n //if threshold is 1 then moderator can be passed as zero address or any other address(it wont matter aopart from scripthash since we wont add moderator as one of the owner)\n //otherwise moderator should be a valid address\n require(\n threshold == 1 || moderator != address(0),\n \"Either threshold should be 1 otherwise valid moderator address should be passed\"\n );\n\n require(\n scriptHash == calculateRedeemScriptHash(\n uniqueId,\n threshold,\n timeoutHours,\n buyer,\n seller,\n moderator,\n tokenAddress\n ), \n \"Calculated script hash does not match passed script hash.\"\n );\n\n transactions[scriptHash] = Transaction({\n buyer: buyer,\n seller: seller,\n moderator: moderator,\n value: value,\n status: Status.FUNDED,\n lastModified: block.timestamp,\n scriptHash: scriptHash,\n threshold: threshold,\n timeoutHours: timeoutHours,\n transactionType:transactionType,\n tokenAddress:tokenAddress\n });\n\n transactions[scriptHash].isOwner[seller] = true;\n transactions[scriptHash].isOwner[buyer] = true; \n\n //Check if buyer or seller are not passed as moderator\n require(\n !transactions[scriptHash].isOwner[moderator], \n \"Either buyer or seller is passed as moderator\"\n );\n\n //set moderator as one of the owners only if threshold is greater than 1 otherwise only buyer and seller should be able to release funds\n if (threshold > 1){\n transactions[scriptHash].isOwner[moderator] = true;\n }\n \n\n transactionCount++;\n\n partyVsTransaction[buyer].push(scriptHash);\n partyVsTransaction[seller].push(scriptHash);\n }\n}\n", "sourcePath": "/home/sameep/freelancing-projects/toptal/open baazar/publicRepo/smart-contracts/contracts/escrow/Escrow_v1_0.sol", "ast": { "absolutePath": "/home/sameep/freelancing-projects/toptal/open baazar/publicRepo/smart-contracts/contracts/escrow/Escrow_v1_0.sol", "exportedSymbols": { "Escrow_v1_0": [ - 1213 + 1218 ] }, - "id": 1214, + "id": 1219, "nodeType": "SourceUnit", "nodes": [ { @@ -453,8 +453,8 @@ "file": "openzeppelin-solidity/contracts/math/SafeMath.sol", "id": 2, "nodeType": "ImportDirective", - "scope": 1214, - "sourceUnit": 1372, + "scope": 1219, + "sourceUnit": 1377, "src": "25:59:0", "symbolAliases": [], "unitAlias": "" @@ -464,8 +464,8 @@ "file": "../token/ITokenContract.sol", "id": 3, "nodeType": "ImportDirective", - "scope": 1214, - "sourceUnit": 1244, + "scope": 1219, + "sourceUnit": 1249, "src": "86:37:0", "symbolAliases": [], "unitAlias": "" @@ -476,9 +476,9 @@ "contractKind": "contract", "documentation": "@dev Supports ERC20 tokens\nThe escrow smart contract for the open bazaar trades in Ethereum\nThe smart contract is desgined keeping in mind the current wallet interface of the OB-core\nhttps://github.com/OpenBazaar/wallet-interface/blob/master/wallet.go\nCurrent wallet interface strictly adheres to UTXO(bitcoin) model", "fullyImplemented": true, - "id": 1213, + "id": 1218, "linearizedBaseContracts": [ - 1213 + 1218 ], "name": "Escrow_v1_0", "nodeType": "ContractDefinition", @@ -490,10 +490,10 @@ "id": 4, "name": "SafeMath", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1371, + "referencedDeclaration": 1376, "src": "494:8:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$1371", + "typeIdentifier": "t_contract$_SafeMath_$1376", "typeString": "library SafeMath" } }, @@ -1292,7 +1292,7 @@ ], "name": "Transaction", "nodeType": "StructDefinition", - "scope": 1213, + "scope": 1218, "src": "902:680:0", "visibility": "public" }, @@ -1301,7 +1301,7 @@ "id": 77, "name": "transactions", "nodeType": "VariableDeclaration", - "scope": 1213, + "scope": 1218, "src": "1588:51:0", "stateVariable": true, "storageLocation": "default", @@ -1348,7 +1348,7 @@ "id": 80, "name": "transactionCount", "nodeType": "VariableDeclaration", - "scope": 1213, + "scope": 1218, "src": "1646:35:0", "stateVariable": true, "storageLocation": "default", @@ -1391,7 +1391,7 @@ "id": 85, "name": "partyVsTransaction", "nodeType": "VariableDeclaration", - "scope": 1213, + "scope": 1218, "src": "1758:54:0", "stateVariable": true, "storageLocation": "default", @@ -1578,10 +1578,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1389, - 1390 + 1394, + 1395 ], - "referencedDeclaration": 1390, + "referencedDeclaration": 1395, "src": "1876:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -1790,10 +1790,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1389, - 1390 + 1394, + 1395 ], - "referencedDeclaration": 1390, + "referencedDeclaration": 1395, "src": "2062:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -2013,10 +2013,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1389, - 1390 + 1394, + 1395 ], - "referencedDeclaration": 1390, + "referencedDeclaration": 1395, "src": "2205:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -2220,10 +2220,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1389, - 1390 + 1394, + 1395 ], - "referencedDeclaration": 1390, + "referencedDeclaration": 1395, "src": "2420:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -2427,10 +2427,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1389, - 1390 + 1394, + 1395 ], - "referencedDeclaration": 1390, + "referencedDeclaration": 1395, "src": "2623:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -2559,7 +2559,7 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1386, + "referencedDeclaration": 1391, "src": "2842:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", @@ -2678,10 +2678,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1389, - 1390 + 1394, + 1395 ], - "referencedDeclaration": 1390, + "referencedDeclaration": 1395, "src": "2821:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -2849,7 +2849,7 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1386, + "referencedDeclaration": 1391, "src": "4431:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", @@ -3016,7 +3016,7 @@ "name": "_addTransaction", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1212, + "referencedDeclaration": 1217, "src": "4267:15:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_address_$_t_uint8_$_t_uint32_$_t_bytes32_$_t_uint256_$_t_bytes20_$_t_enum$_TransactionType_$12_$_t_address_$returns$__$", @@ -3066,7 +3066,7 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1386, + "referencedDeclaration": 1391, "src": "4574:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", @@ -3095,7 +3095,7 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1386, + "referencedDeclaration": 1391, "src": "4586:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", @@ -3467,7 +3467,7 @@ "parameters": [], "src": "4257:0:0" }, - "scope": 1213, + "scope": 1218, "src": "3902:702:0", "stateMutability": "payable", "superFunction": null, @@ -3677,7 +3677,7 @@ "name": "_addTransaction", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1212, + "referencedDeclaration": 1217, "src": "6149:15:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_address_$_t_uint8_$_t_uint32_$_t_bytes32_$_t_uint256_$_t_bytes20_$_t_enum$_TransactionType_$12_$_t_address_$returns$__$", @@ -3717,7 +3717,7 @@ "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenContract_$1243", + "typeIdentifier": "t_contract$_ITokenContract_$1248", "typeString": "contract ITokenContract" }, "typeName": { @@ -3725,10 +3725,10 @@ "id": 283, "name": "ITokenContract", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1243, + "referencedDeclaration": 1248, "src": "6422:14:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenContract_$1243", + "typeIdentifier": "t_contract$_ITokenContract_$1248", "typeString": "contract ITokenContract" } }, @@ -3765,10 +3765,10 @@ "name": "ITokenContract", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1243, + "referencedDeclaration": 1248, "src": "6445:14:0", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ITokenContract_$1243_$", + "typeIdentifier": "t_type$_t_contract$_ITokenContract_$1248_$", "typeString": "type(contract ITokenContract)" } }, @@ -3782,7 +3782,7 @@ "nodeType": "FunctionCall", "src": "6445:28:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenContract_$1243", + "typeIdentifier": "t_contract$_ITokenContract_$1248", "typeString": "contract ITokenContract" } }, @@ -3804,7 +3804,7 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1386, + "referencedDeclaration": 1391, "src": "6524:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", @@ -3831,10 +3831,10 @@ "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1403, + "referencedDeclaration": 1408, "src": "6536:4:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_Escrow_v1_0_$1213", + "typeIdentifier": "t_contract$_Escrow_v1_0_$1218", "typeString": "contract Escrow_v1_0" } }, @@ -3859,7 +3859,7 @@ "typeString": "address" }, { - "typeIdentifier": "t_contract$_Escrow_v1_0_$1213", + "typeIdentifier": "t_contract$_Escrow_v1_0_$1218", "typeString": "contract Escrow_v1_0" }, { @@ -3876,7 +3876,7 @@ "referencedDeclaration": 284, "src": "6505:5:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenContract_$1243", + "typeIdentifier": "t_contract$_ITokenContract_$1248", "typeString": "contract ITokenContract" } }, @@ -3887,7 +3887,7 @@ "lValueRequested": false, "memberName": "transferFrom", "nodeType": "MemberAccess", - "referencedDeclaration": 1242, + "referencedDeclaration": 1247, "src": "6505:18:0", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", @@ -3942,10 +3942,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1389, - 1390 + 1394, + 1395 ], - "referencedDeclaration": 1390, + "referencedDeclaration": 1395, "src": "6484:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -3995,7 +3995,7 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1386, + "referencedDeclaration": 1391, "src": "6700:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", @@ -4465,7 +4465,7 @@ "parameters": [], "src": "6138:0:0" }, - "scope": 1213, + "scope": 1218, "src": "5704:1021:0", "stateMutability": "nonpayable", "superFunction": null, @@ -4696,7 +4696,7 @@ ], "src": "7084:12:0" }, - "scope": 1213, + "scope": 1218, "src": "6949:228:0", "stateMutability": "view", "superFunction": null, @@ -4927,7 +4927,7 @@ ], "src": "7522:11:0" }, - "scope": 1213, + "scope": 1218, "src": "7400:199:0", "stateMutability": "view", "superFunction": null, @@ -4980,7 +4980,7 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1386, + "referencedDeclaration": 1391, "src": "8212:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", @@ -5092,10 +5092,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1389, - 1390 + 1394, + 1395 ], - "referencedDeclaration": 1390, + "referencedDeclaration": 1395, "src": "8232:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -5273,7 +5273,7 @@ "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 1350, + "referencedDeclaration": 1355, "src": "8331:47:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", @@ -5378,7 +5378,7 @@ "name": "block", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1376, + "referencedDeclaration": 1381, "src": "8436:5:0", "typeDescriptions": { "typeIdentifier": "t_magic_block", @@ -5434,7 +5434,7 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1386, + "referencedDeclaration": 1391, "src": "8489:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", @@ -5725,7 +5725,7 @@ "parameters": [], "src": "8185:0:0" }, - "scope": 1213, + "scope": 1218, "src": "7917:598:0", "stateMutability": "payable", "superFunction": null, @@ -5874,10 +5874,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1389, - 1390 + 1394, + 1395 ], - "referencedDeclaration": 1390, + "referencedDeclaration": 1395, "src": "9094:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -5917,7 +5917,7 @@ "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenContract_$1243", + "typeIdentifier": "t_contract$_ITokenContract_$1248", "typeString": "contract ITokenContract" }, "typeName": { @@ -5925,10 +5925,10 @@ "id": 438, "name": "ITokenContract", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1243, + "referencedDeclaration": 1248, "src": "9160:14:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenContract_$1243", + "typeIdentifier": "t_contract$_ITokenContract_$1248", "typeString": "contract ITokenContract" } }, @@ -6008,10 +6008,10 @@ "name": "ITokenContract", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1243, + "referencedDeclaration": 1248, "src": "9183:14:0", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ITokenContract_$1243_$", + "typeIdentifier": "t_type$_t_contract$_ITokenContract_$1248_$", "typeString": "type(contract ITokenContract)" } }, @@ -6025,7 +6025,7 @@ "nodeType": "FunctionCall", "src": "9183:75:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenContract_$1243", + "typeIdentifier": "t_contract$_ITokenContract_$1248", "typeString": "contract ITokenContract" } }, @@ -6101,10 +6101,10 @@ "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1403, + "referencedDeclaration": 1408, "src": "9341:4:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_Escrow_v1_0_$1213", + "typeIdentifier": "t_contract$_Escrow_v1_0_$1218", "typeString": "contract Escrow_v1_0" } }, @@ -6129,7 +6129,7 @@ "typeString": "address" }, { - "typeIdentifier": "t_contract$_Escrow_v1_0_$1213", + "typeIdentifier": "t_contract$_Escrow_v1_0_$1218", "typeString": "contract Escrow_v1_0" }, { @@ -6146,7 +6146,7 @@ "referencedDeclaration": 439, "src": "9290:5:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenContract_$1243", + "typeIdentifier": "t_contract$_ITokenContract_$1248", "typeString": "contract ITokenContract" } }, @@ -6157,7 +6157,7 @@ "lValueRequested": false, "memberName": "transferFrom", "nodeType": "MemberAccess", - "referencedDeclaration": 1242, + "referencedDeclaration": 1247, "src": "9290:18:0", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", @@ -6212,10 +6212,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1389, - 1390 + 1394, + 1395 ], - "referencedDeclaration": 1390, + "referencedDeclaration": 1395, "src": "9269:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -6393,7 +6393,7 @@ "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 1350, + "referencedDeclaration": 1355, "src": "9515:47:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", @@ -6498,7 +6498,7 @@ "name": "block", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1376, + "referencedDeclaration": 1381, "src": "9620:5:0", "typeDescriptions": { "typeIdentifier": "t_magic_block", @@ -6554,7 +6554,7 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1386, + "referencedDeclaration": 1391, "src": "9673:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", @@ -6871,7 +6871,7 @@ "parameters": [], "src": "9051:0:0" }, - "scope": 1213, + "scope": 1218, "src": "8775:924:0", "stateMutability": "nonpayable", "superFunction": null, @@ -7016,7 +7016,7 @@ ], "src": "9937:24:0" }, - "scope": 1213, + "scope": 1218, "src": "9816:207:0", "stateMutability": "view", "superFunction": null, @@ -7228,10 +7228,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1389, - 1390 + 1394, + 1395 ], - "referencedDeclaration": 1390, + "referencedDeclaration": 1395, "src": "11063:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -7574,7 +7574,7 @@ "name": "block", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1376, + "referencedDeclaration": 1381, "src": "11543:5:0", "typeDescriptions": { "typeIdentifier": "t_magic_block", @@ -7801,10 +7801,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1389, - 1390 + 1394, + 1395 ], - "referencedDeclaration": 1390, + "referencedDeclaration": 1395, "src": "11568:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -8214,7 +8214,7 @@ "parameters": [], "src": "11053:0:0" }, - "scope": 1213, + "scope": 1218, "src": "10780:1063:0", "stateMutability": "nonpayable", "superFunction": null, @@ -8433,10 +8433,10 @@ "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1403, + "referencedDeclaration": 1408, "src": "13231:4:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_Escrow_v1_0_$1213", + "typeIdentifier": "t_contract$_Escrow_v1_0_$1218", "typeString": "contract Escrow_v1_0" } }, @@ -8481,7 +8481,7 @@ "typeString": "address" }, { - "typeIdentifier": "t_contract$_Escrow_v1_0_$1213", + "typeIdentifier": "t_contract$_Escrow_v1_0_$1218", "typeString": "contract Escrow_v1_0" }, { @@ -8495,7 +8495,7 @@ "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1373, + "referencedDeclaration": 1378, "src": "13012:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_abi", @@ -8542,7 +8542,7 @@ "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1380, + "referencedDeclaration": 1385, "src": "12985:9:0", "typeDescriptions": { "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", @@ -8696,10 +8696,10 @@ "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1403, + "referencedDeclaration": 1408, "src": "12911:4:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_Escrow_v1_0_$1213", + "typeIdentifier": "t_contract$_Escrow_v1_0_$1218", "typeString": "contract Escrow_v1_0" } } @@ -8731,7 +8731,7 @@ "typeString": "address" }, { - "typeIdentifier": "t_contract$_Escrow_v1_0_$1213", + "typeIdentifier": "t_contract$_Escrow_v1_0_$1218", "typeString": "contract Escrow_v1_0" } ], @@ -8741,7 +8741,7 @@ "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1373, + "referencedDeclaration": 1378, "src": "12692:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_abi", @@ -8788,7 +8788,7 @@ "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1380, + "referencedDeclaration": 1385, "src": "12665:9:0", "typeDescriptions": { "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", @@ -9055,7 +9055,7 @@ ], "src": "12583:14:0" }, - "scope": 1213, + "scope": 1218, "src": "12314:1004:0", "stateMutability": "view", "superFunction": null, @@ -9745,10 +9745,10 @@ "name": "revert", "nodeType": "Identifier", "overloadedDeclarations": [ - 1391, - 1392 + 1396, + 1397 ], - "referencedDeclaration": 1392, + "referencedDeclaration": 1397, "src": "14481:6:0", "typeDescriptions": { "typeIdentifier": "t_function_revert_pure$_t_string_memory_ptr_$returns$__$", @@ -10006,7 +10006,7 @@ "parameters": [], "src": "13802:0:0" }, - "scope": 1213, + "scope": 1218, "src": "13592:952:0", "stateMutability": "nonpayable", "superFunction": null, @@ -10291,10 +10291,10 @@ "name": "revert", "nodeType": "Identifier", "overloadedDeclarations": [ - 1391, - 1392 + 1396, + 1397 ], - "referencedDeclaration": 1392, + "referencedDeclaration": 1397, "src": "16327:6:0", "typeDescriptions": { "typeIdentifier": "t_function_revert_pure$_t_string_memory_ptr_$returns$__$", @@ -10344,7 +10344,7 @@ "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenContract_$1243", + "typeIdentifier": "t_contract$_ITokenContract_$1248", "typeString": "contract ITokenContract" }, "typeName": { @@ -10352,10 +10352,10 @@ "id": 814, "name": "ITokenContract", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1243, + "referencedDeclaration": 1248, "src": "15620:14:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenContract_$1243", + "typeIdentifier": "t_contract$_ITokenContract_$1248", "typeString": "contract ITokenContract" } }, @@ -10408,10 +10408,10 @@ "name": "ITokenContract", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1243, + "referencedDeclaration": 1248, "src": "15643:14:0", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ITokenContract_$1243_$", + "typeIdentifier": "t_type$_t_contract$_ITokenContract_$1248_$", "typeString": "type(contract ITokenContract)" } }, @@ -10425,7 +10425,7 @@ "nodeType": "FunctionCall", "src": "15643:30:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenContract_$1243", + "typeIdentifier": "t_contract$_ITokenContract_$1248", "typeString": "contract ITokenContract" } }, @@ -10693,10 +10693,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1389, - 1390 + 1394, + 1395 ], - "referencedDeclaration": 1390, + "referencedDeclaration": 1395, "src": "15755:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -10836,10 +10836,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1389, - 1390 + 1394, + 1395 ], - "referencedDeclaration": 1390, + "referencedDeclaration": 1395, "src": "15868:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -10958,7 +10958,7 @@ "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 1350, + "referencedDeclaration": 1355, "src": "15975:20:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", @@ -11218,7 +11218,7 @@ "referencedDeclaration": 815, "src": "16120:5:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenContract_$1243", + "typeIdentifier": "t_contract$_ITokenContract_$1248", "typeString": "contract ITokenContract" } }, @@ -11229,7 +11229,7 @@ "lValueRequested": false, "memberName": "transfer", "nodeType": "MemberAccess", - "referencedDeclaration": 1231, + "referencedDeclaration": 1236, "src": "16120:14:0", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", @@ -11284,10 +11284,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1389, - 1390 + 1394, + 1395 ], - "referencedDeclaration": 1390, + "referencedDeclaration": 1395, "src": "16112:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -11739,10 +11739,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1389, - 1390 + 1394, + 1395 ], - "referencedDeclaration": 1390, + "referencedDeclaration": 1395, "src": "15047:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -11882,10 +11882,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1389, - 1390 + 1394, + 1395 ], - "referencedDeclaration": 1390, + "referencedDeclaration": 1395, "src": "15160:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -12004,7 +12004,7 @@ "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 1350, + "referencedDeclaration": 1355, "src": "15267:20:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", @@ -12587,7 +12587,7 @@ ], "src": "14816:26:0" }, - "scope": 1213, + "scope": 1218, "src": "14670:1717:0", "stateMutability": "nonpayable", "superFunction": null, @@ -12810,10 +12810,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1389, - 1390 + 1394, + 1395 ], - "referencedDeclaration": 1390, + "referencedDeclaration": 1395, "src": "16827:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -13019,10 +13019,10 @@ "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1403, + "referencedDeclaration": 1408, "src": "17320:4:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_Escrow_v1_0_$1213", + "typeIdentifier": "t_contract$_Escrow_v1_0_$1218", "typeString": "contract Escrow_v1_0" } }, @@ -13077,7 +13077,7 @@ "typeString": "bytes1" }, { - "typeIdentifier": "t_contract$_Escrow_v1_0_$1213", + "typeIdentifier": "t_contract$_Escrow_v1_0_$1218", "typeString": "contract Escrow_v1_0" }, { @@ -13099,7 +13099,7 @@ "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1373, + "referencedDeclaration": 1378, "src": "17209:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_abi", @@ -13146,7 +13146,7 @@ "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1380, + "referencedDeclaration": 1385, "src": "17178:9:0", "typeDescriptions": { "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", @@ -13185,7 +13185,7 @@ "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1373, + "referencedDeclaration": 1378, "src": "17092:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_abi", @@ -13232,7 +13232,7 @@ "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1380, + "referencedDeclaration": 1385, "src": "17069:9:0", "typeDescriptions": { "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", @@ -13455,7 +13455,7 @@ "name": "ecrecover", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1378, + "referencedDeclaration": 1383, "src": "17580:9:0", "typeDescriptions": { "typeIdentifier": "t_function_ecrecover_pure$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$_t_address_$", @@ -13600,10 +13600,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1389, - 1390 + 1394, + 1395 ], - "referencedDeclaration": 1390, + "referencedDeclaration": 1395, "src": "17717:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -13765,10 +13765,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1389, - 1390 + 1394, + 1395 ], - "referencedDeclaration": 1390, + "referencedDeclaration": 1395, "src": "17851:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -14372,7 +14372,7 @@ ], "src": "16791:21:0" }, - "scope": 1213, + "scope": 1218, "src": "16571:1523:0", "stateMutability": "nonpayable", "superFunction": null, @@ -14447,7 +14447,7 @@ "name": "now", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1388, + "referencedDeclaration": 1393, "src": "18286:3:0", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -14461,7 +14461,7 @@ "lValueRequested": false, "memberName": "sub", "nodeType": "MemberAccess", - "referencedDeclaration": 1326, + "referencedDeclaration": 1331, "src": "18286:7:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", @@ -14676,7 +14676,7 @@ "lValueRequested": false, "memberName": "mul", "nodeType": "MemberAccess", - "referencedDeclaration": 1278, + "referencedDeclaration": 1283, "src": "18379:25:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", @@ -14860,7 +14860,7 @@ ], "src": "18237:14:0" }, - "scope": 1213, + "scope": 1218, "src": "18100:327:0", "stateMutability": "view", "superFunction": null, @@ -14868,9 +14868,9 @@ }, { "body": { - "id": 1211, + "id": 1216, "nodeType": "Block", - "src": "18841:1919:0", + "src": "18841:2344:0", "statements": [ { "expression": { @@ -14955,10 +14955,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1389, - 1390 + 1394, + 1395 ], - "referencedDeclaration": 1390, + "referencedDeclaration": 1395, "src": "18859:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -15071,10 +15071,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1389, - 1390 + 1394, + 1395 ], - "referencedDeclaration": 1390, + "referencedDeclaration": 1395, "src": "18971:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -15256,10 +15256,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1389, - 1390 + 1394, + 1395 ], - "referencedDeclaration": 1390, + "referencedDeclaration": 1395, "src": "19092:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -15317,7 +15317,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1068, - "src": "19263:9:0", + "src": "19501:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -15335,7 +15335,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "19276:1:0", + "src": "19514:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -15343,7 +15343,7 @@ }, "value": "1" }, - "src": "19263:14:0", + "src": "19501:14:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -15369,7 +15369,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1066, - "src": "19281:9:0", + "src": "19519:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15390,7 +15390,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "19302:1:0", + "src": "19540:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -15412,7 +15412,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "19294:7:0", + "src": "19532:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" @@ -15427,19 +15427,19 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "19294:10:0", + "src": "19532:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "19281:23:0", + "src": "19519:23:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "19263:41:0", + "src": "19501:41:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -15455,7 +15455,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "19318:81:0", + "src": "19556:81:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_08dfdd405be5d5023d3f601e2b0a844b246ceb6764817070ff6789d5e1f80050", @@ -15479,11 +15479,11 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1389, - 1390 + 1394, + 1395 ], - "referencedDeclaration": 1390, - "src": "19242:7:0", + "referencedDeclaration": 1395, + "src": "19480:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -15497,7 +15497,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "19242:167:0", + "src": "19480:167:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -15505,7 +15505,7 @@ }, "id": 1120, "nodeType": "ExpressionStatement", - "src": "19242:167:0" + "src": "19480:167:0" }, { "expression": { @@ -15529,7 +15529,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1072, - "src": "19441:10:0", + "src": "19679:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -15547,7 +15547,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1076, - "src": "19498:8:0", + "src": "19736:8:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -15560,7 +15560,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1068, - "src": "19524:9:0", + "src": "19762:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -15573,7 +15573,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1070, - "src": "19551:12:0", + "src": "19789:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -15586,7 +15586,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1062, - "src": "19581:5:0", + "src": "19819:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15599,7 +15599,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1064, - "src": "19604:6:0", + "src": "19842:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15612,7 +15612,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1066, - "src": "19628:9:0", + "src": "19866:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15625,7 +15625,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1080, - "src": "19655:12:0", + "src": "19893:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15668,7 +15668,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 647, - "src": "19455:25:0", + "src": "19693:25:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_bytes20_$_t_uint8_$_t_uint32_$_t_address_$_t_address_$_t_address_$_t_address_$returns$_t_bytes32_$", "typeString": "function (bytes20,uint8,uint32,address,address,address,address) view returns (bytes32)" @@ -15682,13 +15682,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "19455:226:0", + "src": "19693:226:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "src": "19441:240:0", + "src": "19679:240:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -15704,7 +15704,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "19696:59:0", + "src": "19934:59:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_0c041e0c58e6b0e01d338d852a5abb639065eabeb0aee05e0ce3e5f0e52b4f51", @@ -15728,11 +15728,11 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1389, - 1390 + 1394, + 1395 ], - "referencedDeclaration": 1390, - "src": "19420:7:0", + "referencedDeclaration": 1395, + "src": "19658:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -15746,7 +15746,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "19420:345:0", + "src": "19658:345:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -15754,7 +15754,7 @@ }, "id": 1135, "nodeType": "ExpressionStatement", - "src": "19420:345:0" + "src": "19658:345:0" }, { "expression": { @@ -15773,7 +15773,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 77, - "src": "19776:12:0", + "src": "20014:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$73_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -15787,7 +15787,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1072, - "src": "19789:10:0", + "src": "20027:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -15798,7 +15798,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "19776:24:0", + "src": "20014:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$73_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -15816,7 +15816,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1062, - "src": "19836:5:0", + "src": "20074:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15829,7 +15829,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1064, - "src": "19863:6:0", + "src": "20101:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15842,7 +15842,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1066, - "src": "19894:9:0", + "src": "20132:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15855,7 +15855,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1074, - "src": "19924:5:0", + "src": "20162:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -15870,7 +15870,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9, - "src": "19951:6:0", + "src": "20189:6:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_Status_$9_$", "typeString": "type(enum Escrow_v1_0.Status)" @@ -15884,7 +15884,7 @@ "memberName": "FUNDED", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "19951:13:0", + "src": "20189:13:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$9", "typeString": "enum Escrow_v1_0.Status" @@ -15898,8 +15898,8 @@ "name": "block", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1376, - "src": "19992:5:0", + "referencedDeclaration": 1381, + "src": "20230:5:0", "typeDescriptions": { "typeIdentifier": "t_magic_block", "typeString": "block" @@ -15913,7 +15913,7 @@ "memberName": "timestamp", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "19992:15:0", + "src": "20230:15:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -15926,7 +15926,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1072, - "src": "20033:10:0", + "src": "20271:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -15939,7 +15939,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1068, - "src": "20068:9:0", + "src": "20306:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -15952,7 +15952,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1070, - "src": "20105:12:0", + "src": "20343:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -15965,7 +15965,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1078, - "src": "20147:15:0", + "src": "20385:15:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -15978,7 +15978,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1080, - "src": "20189:12:0", + "src": "20427:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15992,7 +15992,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 73, - "src": "19803:11:0", + "src": "20041:11:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_struct$_Transaction_$73_storage_ptr_$", "typeString": "type(struct Escrow_v1_0.Transaction storage pointer)" @@ -16018,13 +16018,13 @@ "tokenAddress" ], "nodeType": "FunctionCall", - "src": "19803:409:0", + "src": "20041:409:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$73_memory", "typeString": "struct Escrow_v1_0.Transaction memory" } }, - "src": "19776:436:0", + "src": "20014:436:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$73_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -16032,7 +16032,7 @@ }, "id": 1155, "nodeType": "ExpressionStatement", - "src": "19776:436:0" + "src": "20014:436:0" }, { "expression": { @@ -16055,7 +16055,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 77, - "src": "20223:12:0", + "src": "20461:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$73_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -16069,7 +16069,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1072, - "src": "20236:10:0", + "src": "20474:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -16080,7 +16080,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20223:24:0", + "src": "20461:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$73_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -16094,7 +16094,7 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 64, - "src": "20223:32:0", + "src": "20461:32:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -16108,7 +16108,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1064, - "src": "20256:6:0", + "src": "20494:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -16119,7 +16119,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "20223:40:0", + "src": "20461:40:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -16137,7 +16137,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "20266:4:0", + "src": "20504:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -16145,7 +16145,7 @@ }, "value": "true" }, - "src": "20223:47:0", + "src": "20461:47:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -16153,7 +16153,7 @@ }, "id": 1164, "nodeType": "ExpressionStatement", - "src": "20223:47:0" + "src": "20461:47:0" }, { "expression": { @@ -16176,7 +16176,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 77, - "src": "20280:12:0", + "src": "20518:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$73_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -16190,7 +16190,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1072, - "src": "20293:10:0", + "src": "20531:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -16201,7 +16201,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20280:24:0", + "src": "20518:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$73_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -16215,7 +16215,7 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 64, - "src": "20280:32:0", + "src": "20518:32:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -16229,7 +16229,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1062, - "src": "20313:5:0", + "src": "20551:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -16240,7 +16240,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "20280:39:0", + "src": "20518:39:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -16258,7 +16258,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "20322:4:0", + "src": "20560:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -16266,7 +16266,7 @@ }, "value": "true" }, - "src": "20280:46:0", + "src": "20518:46:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -16274,7 +16274,7 @@ }, "id": 1173, "nodeType": "ExpressionStatement", - "src": "20280:46:0" + "src": "20518:46:0" }, { "expression": { @@ -16290,7 +16290,7 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "20433:44:0", + "src": "20671:44:0", "subExpression": { "argumentTypes": null, "baseExpression": { @@ -16304,7 +16304,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 77, - "src": "20434:12:0", + "src": "20672:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$73_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -16318,7 +16318,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1072, - "src": "20447:10:0", + "src": "20685:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -16329,7 +16329,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20434:24:0", + "src": "20672:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$73_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -16343,7 +16343,7 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 64, - "src": "20434:32:0", + "src": "20672:32:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -16357,7 +16357,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1066, - "src": "20467:9:0", + "src": "20705:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -16368,7 +16368,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20434:43:0", + "src": "20672:43:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -16389,7 +16389,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "20492:47:0", + "src": "20730:47:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_313b391557427937e7bdb85c7561d47c5b9c985755a448dd33a92026ffb38f8d", @@ -16413,11 +16413,11 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1389, - 1390 + 1394, + 1395 ], - "referencedDeclaration": 1390, - "src": "20412:7:0", + "referencedDeclaration": 1395, + "src": "20650:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -16431,7 +16431,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "20412:137:0", + "src": "20650:137:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -16439,133 +16439,196 @@ }, "id": 1184, "nodeType": "ExpressionStatement", - "src": "20412:137:0" + "src": "20650:137:0" }, { - "expression": { + "condition": { "argumentTypes": null, - "id": 1192, + "commonType": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "id": 1187, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "leftHandSide": { + "leftExpression": { "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1185, - "name": "transactions", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77, - "src": "20560:12:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$73_storage_$", - "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" - } - }, - "id": 1187, - "indexExpression": { - "argumentTypes": null, - "id": 1186, - "name": "scriptHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1072, - "src": "20573:10:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "20560:24:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Transaction_$73_storage", - "typeString": "struct Escrow_v1_0.Transaction storage ref" - } - }, - "id": 1188, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "isOwner", - "nodeType": "MemberAccess", - "referencedDeclaration": 64, - "src": "20560:32:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 1190, - "indexExpression": { - "argumentTypes": null, - "id": 1189, - "name": "moderator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1066, - "src": "20593:9:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "20560:43:0", + "id": 1185, + "name": "threshold", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1068, + "src": "20947:9:0", "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_uint8", + "typeString": "uint8" } }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { "argumentTypes": null, - "hexValue": "74727565", - "id": 1191, + "hexValue": "31", + "id": 1186, "isConstant": false, "isLValue": false, "isPure": true, - "kind": "bool", + "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "20606:4:0", + "src": "20959:1:0", "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" }, - "value": "true" + "value": "1" }, - "src": "20560:50:0", + "src": "20947:13:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 1193, - "nodeType": "ExpressionStatement", - "src": "20560:50:0" + "falseBody": null, + "id": 1198, + "nodeType": "IfStatement", + "src": "20943:93:0", + "trueBody": { + "id": 1197, + "nodeType": "Block", + "src": "20961:75:0", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 1195, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 1188, + "name": "transactions", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77, + "src": "20975:12:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$73_storage_$", + "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" + } + }, + "id": 1190, + "indexExpression": { + "argumentTypes": null, + "id": 1189, + "name": "scriptHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1072, + "src": "20988:10:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "20975:24:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Transaction_$73_storage", + "typeString": "struct Escrow_v1_0.Transaction storage ref" + } + }, + "id": 1191, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "isOwner", + "nodeType": "MemberAccess", + "referencedDeclaration": 64, + "src": "20975:32:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + } + }, + "id": 1193, + "indexExpression": { + "argumentTypes": null, + "id": 1192, + "name": "moderator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1066, + "src": "21008:9:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "20975:43:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 1194, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "21021:4:0", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "20975:50:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 1196, + "nodeType": "ExpressionStatement", + "src": "20975:50:0" + } + ] + } }, { "expression": { "argumentTypes": null, - "id": 1195, + "id": 1200, "isConstant": false, "isLValue": false, "isPure": false, @@ -16573,15 +16636,15 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "20629:18:0", + "src": "21054:18:0", "subExpression": { "argumentTypes": null, - "id": 1194, + "id": 1199, "name": "transactionCount", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 80, - "src": "20629:16:0", + "src": "21054:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -16592,9 +16655,9 @@ "typeString": "uint256" } }, - "id": 1196, + "id": 1201, "nodeType": "ExpressionStatement", - "src": "20629:18:0" + "src": "21054:18:0" }, { "expression": { @@ -16602,12 +16665,12 @@ "arguments": [ { "argumentTypes": null, - "id": 1201, + "id": 1206, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1072, - "src": "20689:10:0", + "src": "21114:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -16625,26 +16688,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1197, + "id": 1202, "name": "partyVsTransaction", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 85, - "src": "20658:18:0", + "src": "21083:18:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_bytes32_$dyn_storage_$", "typeString": "mapping(address => bytes32[] storage ref)" } }, - "id": 1199, + "id": 1204, "indexExpression": { "argumentTypes": null, - "id": 1198, + "id": 1203, "name": "buyer", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1062, - "src": "20677:5:0", + "src": "21102:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -16655,13 +16718,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20658:25:0", + "src": "21083:25:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage", "typeString": "bytes32[] storage ref" } }, - "id": 1200, + "id": 1205, "isConstant": false, "isLValue": false, "isPure": false, @@ -16669,13 +16732,13 @@ "memberName": "push", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "20658:30:0", + "src": "21083:30:0", "typeDescriptions": { "typeIdentifier": "t_function_arraypush_nonpayable$_t_bytes32_$returns$_t_uint256_$", "typeString": "function (bytes32) returns (uint256)" } }, - "id": 1202, + "id": 1207, "isConstant": false, "isLValue": false, "isPure": false, @@ -16683,15 +16746,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "20658:42:0", + "src": "21083:42:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1203, + "id": 1208, "nodeType": "ExpressionStatement", - "src": "20658:42:0" + "src": "21083:42:0" }, { "expression": { @@ -16699,12 +16762,12 @@ "arguments": [ { "argumentTypes": null, - "id": 1208, + "id": 1213, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1072, - "src": "20742:10:0", + "src": "21167:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -16722,26 +16785,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1204, + "id": 1209, "name": "partyVsTransaction", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 85, - "src": "20710:18:0", + "src": "21135:18:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_bytes32_$dyn_storage_$", "typeString": "mapping(address => bytes32[] storage ref)" } }, - "id": 1206, + "id": 1211, "indexExpression": { "argumentTypes": null, - "id": 1205, + "id": 1210, "name": "seller", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1064, - "src": "20729:6:0", + "src": "21154:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -16752,13 +16815,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20710:26:0", + "src": "21135:26:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage", "typeString": "bytes32[] storage ref" } }, - "id": 1207, + "id": 1212, "isConstant": false, "isLValue": false, "isPure": false, @@ -16766,13 +16829,13 @@ "memberName": "push", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "20710:31:0", + "src": "21135:31:0", "typeDescriptions": { "typeIdentifier": "t_function_arraypush_nonpayable$_t_bytes32_$returns$_t_uint256_$", "typeString": "function (bytes32) returns (uint256)" } }, - "id": 1209, + "id": 1214, "isConstant": false, "isLValue": false, "isPure": false, @@ -16780,20 +16843,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "20710:43:0", + "src": "21135:43:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1210, + "id": 1215, "nodeType": "ExpressionStatement", - "src": "20710:43:0" + "src": "21135:43:0" } ] }, "documentation": "Private method to add transaction to reduce code redundancy", - "id": 1212, + "id": 1217, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -16809,7 +16872,7 @@ "id": 1062, "name": "buyer", "nodeType": "VariableDeclaration", - "scope": 1212, + "scope": 1217, "src": "18548:13:0", "stateVariable": false, "storageLocation": "default", @@ -16835,7 +16898,7 @@ "id": 1064, "name": "seller", "nodeType": "VariableDeclaration", - "scope": 1212, + "scope": 1217, "src": "18571:14:0", "stateVariable": false, "storageLocation": "default", @@ -16861,7 +16924,7 @@ "id": 1066, "name": "moderator", "nodeType": "VariableDeclaration", - "scope": 1212, + "scope": 1217, "src": "18595:17:0", "stateVariable": false, "storageLocation": "default", @@ -16887,7 +16950,7 @@ "id": 1068, "name": "threshold", "nodeType": "VariableDeclaration", - "scope": 1212, + "scope": 1217, "src": "18622:15:0", "stateVariable": false, "storageLocation": "default", @@ -16913,7 +16976,7 @@ "id": 1070, "name": "timeoutHours", "nodeType": "VariableDeclaration", - "scope": 1212, + "scope": 1217, "src": "18647:19:0", "stateVariable": false, "storageLocation": "default", @@ -16939,7 +17002,7 @@ "id": 1072, "name": "scriptHash", "nodeType": "VariableDeclaration", - "scope": 1212, + "scope": 1217, "src": "18676:18:0", "stateVariable": false, "storageLocation": "default", @@ -16965,7 +17028,7 @@ "id": 1074, "name": "value", "nodeType": "VariableDeclaration", - "scope": 1212, + "scope": 1217, "src": "18704:13:0", "stateVariable": false, "storageLocation": "default", @@ -16991,7 +17054,7 @@ "id": 1076, "name": "uniqueId", "nodeType": "VariableDeclaration", - "scope": 1212, + "scope": 1217, "src": "18727:16:0", "stateVariable": false, "storageLocation": "default", @@ -17017,7 +17080,7 @@ "id": 1078, "name": "transactionType", "nodeType": "VariableDeclaration", - "scope": 1212, + "scope": 1217, "src": "18753:31:0", "stateVariable": false, "storageLocation": "default", @@ -17045,7 +17108,7 @@ "id": 1080, "name": "tokenAddress", "nodeType": "VariableDeclaration", - "scope": 1212, + "scope": 1217, "src": "18794:20:0", "stateVariable": false, "storageLocation": "default", @@ -17076,27 +17139,27 @@ "parameters": [], "src": "18841:0:0" }, - "scope": 1213, - "src": "18514:2246:0", + "scope": 1218, + "src": "18514:2671:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "private" } ], - "scope": 1214, - "src": "460:20302:0" + "scope": 1219, + "src": "460:20727:0" } ], - "src": "0:20763:0" + "src": "0:21188:0" }, "legacyAST": { "absolutePath": "/home/sameep/freelancing-projects/toptal/open baazar/publicRepo/smart-contracts/contracts/escrow/Escrow_v1_0.sol", "exportedSymbols": { "Escrow_v1_0": [ - 1213 + 1218 ] }, - "id": 1214, + "id": 1219, "nodeType": "SourceUnit", "nodes": [ { @@ -17114,8 +17177,8 @@ "file": "openzeppelin-solidity/contracts/math/SafeMath.sol", "id": 2, "nodeType": "ImportDirective", - "scope": 1214, - "sourceUnit": 1372, + "scope": 1219, + "sourceUnit": 1377, "src": "25:59:0", "symbolAliases": [], "unitAlias": "" @@ -17125,8 +17188,8 @@ "file": "../token/ITokenContract.sol", "id": 3, "nodeType": "ImportDirective", - "scope": 1214, - "sourceUnit": 1244, + "scope": 1219, + "sourceUnit": 1249, "src": "86:37:0", "symbolAliases": [], "unitAlias": "" @@ -17137,9 +17200,9 @@ "contractKind": "contract", "documentation": "@dev Supports ERC20 tokens\nThe escrow smart contract for the open bazaar trades in Ethereum\nThe smart contract is desgined keeping in mind the current wallet interface of the OB-core\nhttps://github.com/OpenBazaar/wallet-interface/blob/master/wallet.go\nCurrent wallet interface strictly adheres to UTXO(bitcoin) model", "fullyImplemented": true, - "id": 1213, + "id": 1218, "linearizedBaseContracts": [ - 1213 + 1218 ], "name": "Escrow_v1_0", "nodeType": "ContractDefinition", @@ -17151,10 +17214,10 @@ "id": 4, "name": "SafeMath", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1371, + "referencedDeclaration": 1376, "src": "494:8:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$1371", + "typeIdentifier": "t_contract$_SafeMath_$1376", "typeString": "library SafeMath" } }, @@ -17953,7 +18016,7 @@ ], "name": "Transaction", "nodeType": "StructDefinition", - "scope": 1213, + "scope": 1218, "src": "902:680:0", "visibility": "public" }, @@ -17962,7 +18025,7 @@ "id": 77, "name": "transactions", "nodeType": "VariableDeclaration", - "scope": 1213, + "scope": 1218, "src": "1588:51:0", "stateVariable": true, "storageLocation": "default", @@ -18009,7 +18072,7 @@ "id": 80, "name": "transactionCount", "nodeType": "VariableDeclaration", - "scope": 1213, + "scope": 1218, "src": "1646:35:0", "stateVariable": true, "storageLocation": "default", @@ -18052,7 +18115,7 @@ "id": 85, "name": "partyVsTransaction", "nodeType": "VariableDeclaration", - "scope": 1213, + "scope": 1218, "src": "1758:54:0", "stateVariable": true, "storageLocation": "default", @@ -18239,10 +18302,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1389, - 1390 + 1394, + 1395 ], - "referencedDeclaration": 1390, + "referencedDeclaration": 1395, "src": "1876:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -18451,10 +18514,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1389, - 1390 + 1394, + 1395 ], - "referencedDeclaration": 1390, + "referencedDeclaration": 1395, "src": "2062:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -18674,10 +18737,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1389, - 1390 + 1394, + 1395 ], - "referencedDeclaration": 1390, + "referencedDeclaration": 1395, "src": "2205:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -18881,10 +18944,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1389, - 1390 + 1394, + 1395 ], - "referencedDeclaration": 1390, + "referencedDeclaration": 1395, "src": "2420:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -19088,10 +19151,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1389, - 1390 + 1394, + 1395 ], - "referencedDeclaration": 1390, + "referencedDeclaration": 1395, "src": "2623:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -19220,7 +19283,7 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1386, + "referencedDeclaration": 1391, "src": "2842:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", @@ -19339,10 +19402,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1389, - 1390 + 1394, + 1395 ], - "referencedDeclaration": 1390, + "referencedDeclaration": 1395, "src": "2821:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -19510,7 +19573,7 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1386, + "referencedDeclaration": 1391, "src": "4431:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", @@ -19677,7 +19740,7 @@ "name": "_addTransaction", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1212, + "referencedDeclaration": 1217, "src": "4267:15:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_address_$_t_uint8_$_t_uint32_$_t_bytes32_$_t_uint256_$_t_bytes20_$_t_enum$_TransactionType_$12_$_t_address_$returns$__$", @@ -19727,7 +19790,7 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1386, + "referencedDeclaration": 1391, "src": "4574:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", @@ -19756,7 +19819,7 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1386, + "referencedDeclaration": 1391, "src": "4586:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", @@ -20128,7 +20191,7 @@ "parameters": [], "src": "4257:0:0" }, - "scope": 1213, + "scope": 1218, "src": "3902:702:0", "stateMutability": "payable", "superFunction": null, @@ -20338,7 +20401,7 @@ "name": "_addTransaction", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1212, + "referencedDeclaration": 1217, "src": "6149:15:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_address_$_t_uint8_$_t_uint32_$_t_bytes32_$_t_uint256_$_t_bytes20_$_t_enum$_TransactionType_$12_$_t_address_$returns$__$", @@ -20378,7 +20441,7 @@ "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenContract_$1243", + "typeIdentifier": "t_contract$_ITokenContract_$1248", "typeString": "contract ITokenContract" }, "typeName": { @@ -20386,10 +20449,10 @@ "id": 283, "name": "ITokenContract", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1243, + "referencedDeclaration": 1248, "src": "6422:14:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenContract_$1243", + "typeIdentifier": "t_contract$_ITokenContract_$1248", "typeString": "contract ITokenContract" } }, @@ -20426,10 +20489,10 @@ "name": "ITokenContract", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1243, + "referencedDeclaration": 1248, "src": "6445:14:0", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ITokenContract_$1243_$", + "typeIdentifier": "t_type$_t_contract$_ITokenContract_$1248_$", "typeString": "type(contract ITokenContract)" } }, @@ -20443,7 +20506,7 @@ "nodeType": "FunctionCall", "src": "6445:28:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenContract_$1243", + "typeIdentifier": "t_contract$_ITokenContract_$1248", "typeString": "contract ITokenContract" } }, @@ -20465,7 +20528,7 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1386, + "referencedDeclaration": 1391, "src": "6524:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", @@ -20492,10 +20555,10 @@ "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1403, + "referencedDeclaration": 1408, "src": "6536:4:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_Escrow_v1_0_$1213", + "typeIdentifier": "t_contract$_Escrow_v1_0_$1218", "typeString": "contract Escrow_v1_0" } }, @@ -20520,7 +20583,7 @@ "typeString": "address" }, { - "typeIdentifier": "t_contract$_Escrow_v1_0_$1213", + "typeIdentifier": "t_contract$_Escrow_v1_0_$1218", "typeString": "contract Escrow_v1_0" }, { @@ -20537,7 +20600,7 @@ "referencedDeclaration": 284, "src": "6505:5:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenContract_$1243", + "typeIdentifier": "t_contract$_ITokenContract_$1248", "typeString": "contract ITokenContract" } }, @@ -20548,7 +20611,7 @@ "lValueRequested": false, "memberName": "transferFrom", "nodeType": "MemberAccess", - "referencedDeclaration": 1242, + "referencedDeclaration": 1247, "src": "6505:18:0", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", @@ -20603,10 +20666,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1389, - 1390 + 1394, + 1395 ], - "referencedDeclaration": 1390, + "referencedDeclaration": 1395, "src": "6484:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -20656,7 +20719,7 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1386, + "referencedDeclaration": 1391, "src": "6700:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", @@ -21126,7 +21189,7 @@ "parameters": [], "src": "6138:0:0" }, - "scope": 1213, + "scope": 1218, "src": "5704:1021:0", "stateMutability": "nonpayable", "superFunction": null, @@ -21357,7 +21420,7 @@ ], "src": "7084:12:0" }, - "scope": 1213, + "scope": 1218, "src": "6949:228:0", "stateMutability": "view", "superFunction": null, @@ -21588,7 +21651,7 @@ ], "src": "7522:11:0" }, - "scope": 1213, + "scope": 1218, "src": "7400:199:0", "stateMutability": "view", "superFunction": null, @@ -21641,7 +21704,7 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1386, + "referencedDeclaration": 1391, "src": "8212:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", @@ -21753,10 +21816,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1389, - 1390 + 1394, + 1395 ], - "referencedDeclaration": 1390, + "referencedDeclaration": 1395, "src": "8232:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -21934,7 +21997,7 @@ "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 1350, + "referencedDeclaration": 1355, "src": "8331:47:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", @@ -22039,7 +22102,7 @@ "name": "block", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1376, + "referencedDeclaration": 1381, "src": "8436:5:0", "typeDescriptions": { "typeIdentifier": "t_magic_block", @@ -22095,7 +22158,7 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1386, + "referencedDeclaration": 1391, "src": "8489:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", @@ -22386,7 +22449,7 @@ "parameters": [], "src": "8185:0:0" }, - "scope": 1213, + "scope": 1218, "src": "7917:598:0", "stateMutability": "payable", "superFunction": null, @@ -22535,10 +22598,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1389, - 1390 + 1394, + 1395 ], - "referencedDeclaration": 1390, + "referencedDeclaration": 1395, "src": "9094:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -22578,7 +22641,7 @@ "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenContract_$1243", + "typeIdentifier": "t_contract$_ITokenContract_$1248", "typeString": "contract ITokenContract" }, "typeName": { @@ -22586,10 +22649,10 @@ "id": 438, "name": "ITokenContract", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1243, + "referencedDeclaration": 1248, "src": "9160:14:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenContract_$1243", + "typeIdentifier": "t_contract$_ITokenContract_$1248", "typeString": "contract ITokenContract" } }, @@ -22669,10 +22732,10 @@ "name": "ITokenContract", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1243, + "referencedDeclaration": 1248, "src": "9183:14:0", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ITokenContract_$1243_$", + "typeIdentifier": "t_type$_t_contract$_ITokenContract_$1248_$", "typeString": "type(contract ITokenContract)" } }, @@ -22686,7 +22749,7 @@ "nodeType": "FunctionCall", "src": "9183:75:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenContract_$1243", + "typeIdentifier": "t_contract$_ITokenContract_$1248", "typeString": "contract ITokenContract" } }, @@ -22762,10 +22825,10 @@ "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1403, + "referencedDeclaration": 1408, "src": "9341:4:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_Escrow_v1_0_$1213", + "typeIdentifier": "t_contract$_Escrow_v1_0_$1218", "typeString": "contract Escrow_v1_0" } }, @@ -22790,7 +22853,7 @@ "typeString": "address" }, { - "typeIdentifier": "t_contract$_Escrow_v1_0_$1213", + "typeIdentifier": "t_contract$_Escrow_v1_0_$1218", "typeString": "contract Escrow_v1_0" }, { @@ -22807,7 +22870,7 @@ "referencedDeclaration": 439, "src": "9290:5:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenContract_$1243", + "typeIdentifier": "t_contract$_ITokenContract_$1248", "typeString": "contract ITokenContract" } }, @@ -22818,7 +22881,7 @@ "lValueRequested": false, "memberName": "transferFrom", "nodeType": "MemberAccess", - "referencedDeclaration": 1242, + "referencedDeclaration": 1247, "src": "9290:18:0", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", @@ -22873,10 +22936,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1389, - 1390 + 1394, + 1395 ], - "referencedDeclaration": 1390, + "referencedDeclaration": 1395, "src": "9269:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -23054,7 +23117,7 @@ "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 1350, + "referencedDeclaration": 1355, "src": "9515:47:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", @@ -23159,7 +23222,7 @@ "name": "block", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1376, + "referencedDeclaration": 1381, "src": "9620:5:0", "typeDescriptions": { "typeIdentifier": "t_magic_block", @@ -23215,7 +23278,7 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1386, + "referencedDeclaration": 1391, "src": "9673:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", @@ -23532,7 +23595,7 @@ "parameters": [], "src": "9051:0:0" }, - "scope": 1213, + "scope": 1218, "src": "8775:924:0", "stateMutability": "nonpayable", "superFunction": null, @@ -23677,7 +23740,7 @@ ], "src": "9937:24:0" }, - "scope": 1213, + "scope": 1218, "src": "9816:207:0", "stateMutability": "view", "superFunction": null, @@ -23889,10 +23952,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1389, - 1390 + 1394, + 1395 ], - "referencedDeclaration": 1390, + "referencedDeclaration": 1395, "src": "11063:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -24235,7 +24298,7 @@ "name": "block", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1376, + "referencedDeclaration": 1381, "src": "11543:5:0", "typeDescriptions": { "typeIdentifier": "t_magic_block", @@ -24462,10 +24525,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1389, - 1390 + 1394, + 1395 ], - "referencedDeclaration": 1390, + "referencedDeclaration": 1395, "src": "11568:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -24875,7 +24938,7 @@ "parameters": [], "src": "11053:0:0" }, - "scope": 1213, + "scope": 1218, "src": "10780:1063:0", "stateMutability": "nonpayable", "superFunction": null, @@ -25094,10 +25157,10 @@ "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1403, + "referencedDeclaration": 1408, "src": "13231:4:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_Escrow_v1_0_$1213", + "typeIdentifier": "t_contract$_Escrow_v1_0_$1218", "typeString": "contract Escrow_v1_0" } }, @@ -25142,7 +25205,7 @@ "typeString": "address" }, { - "typeIdentifier": "t_contract$_Escrow_v1_0_$1213", + "typeIdentifier": "t_contract$_Escrow_v1_0_$1218", "typeString": "contract Escrow_v1_0" }, { @@ -25156,7 +25219,7 @@ "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1373, + "referencedDeclaration": 1378, "src": "13012:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_abi", @@ -25203,7 +25266,7 @@ "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1380, + "referencedDeclaration": 1385, "src": "12985:9:0", "typeDescriptions": { "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", @@ -25357,10 +25420,10 @@ "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1403, + "referencedDeclaration": 1408, "src": "12911:4:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_Escrow_v1_0_$1213", + "typeIdentifier": "t_contract$_Escrow_v1_0_$1218", "typeString": "contract Escrow_v1_0" } } @@ -25392,7 +25455,7 @@ "typeString": "address" }, { - "typeIdentifier": "t_contract$_Escrow_v1_0_$1213", + "typeIdentifier": "t_contract$_Escrow_v1_0_$1218", "typeString": "contract Escrow_v1_0" } ], @@ -25402,7 +25465,7 @@ "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1373, + "referencedDeclaration": 1378, "src": "12692:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_abi", @@ -25449,7 +25512,7 @@ "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1380, + "referencedDeclaration": 1385, "src": "12665:9:0", "typeDescriptions": { "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", @@ -25716,7 +25779,7 @@ ], "src": "12583:14:0" }, - "scope": 1213, + "scope": 1218, "src": "12314:1004:0", "stateMutability": "view", "superFunction": null, @@ -26406,10 +26469,10 @@ "name": "revert", "nodeType": "Identifier", "overloadedDeclarations": [ - 1391, - 1392 + 1396, + 1397 ], - "referencedDeclaration": 1392, + "referencedDeclaration": 1397, "src": "14481:6:0", "typeDescriptions": { "typeIdentifier": "t_function_revert_pure$_t_string_memory_ptr_$returns$__$", @@ -26667,7 +26730,7 @@ "parameters": [], "src": "13802:0:0" }, - "scope": 1213, + "scope": 1218, "src": "13592:952:0", "stateMutability": "nonpayable", "superFunction": null, @@ -26952,10 +27015,10 @@ "name": "revert", "nodeType": "Identifier", "overloadedDeclarations": [ - 1391, - 1392 + 1396, + 1397 ], - "referencedDeclaration": 1392, + "referencedDeclaration": 1397, "src": "16327:6:0", "typeDescriptions": { "typeIdentifier": "t_function_revert_pure$_t_string_memory_ptr_$returns$__$", @@ -27005,7 +27068,7 @@ "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenContract_$1243", + "typeIdentifier": "t_contract$_ITokenContract_$1248", "typeString": "contract ITokenContract" }, "typeName": { @@ -27013,10 +27076,10 @@ "id": 814, "name": "ITokenContract", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1243, + "referencedDeclaration": 1248, "src": "15620:14:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenContract_$1243", + "typeIdentifier": "t_contract$_ITokenContract_$1248", "typeString": "contract ITokenContract" } }, @@ -27069,10 +27132,10 @@ "name": "ITokenContract", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1243, + "referencedDeclaration": 1248, "src": "15643:14:0", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ITokenContract_$1243_$", + "typeIdentifier": "t_type$_t_contract$_ITokenContract_$1248_$", "typeString": "type(contract ITokenContract)" } }, @@ -27086,7 +27149,7 @@ "nodeType": "FunctionCall", "src": "15643:30:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenContract_$1243", + "typeIdentifier": "t_contract$_ITokenContract_$1248", "typeString": "contract ITokenContract" } }, @@ -27354,10 +27417,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1389, - 1390 + 1394, + 1395 ], - "referencedDeclaration": 1390, + "referencedDeclaration": 1395, "src": "15755:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -27497,10 +27560,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1389, - 1390 + 1394, + 1395 ], - "referencedDeclaration": 1390, + "referencedDeclaration": 1395, "src": "15868:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -27619,7 +27682,7 @@ "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 1350, + "referencedDeclaration": 1355, "src": "15975:20:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", @@ -27879,7 +27942,7 @@ "referencedDeclaration": 815, "src": "16120:5:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenContract_$1243", + "typeIdentifier": "t_contract$_ITokenContract_$1248", "typeString": "contract ITokenContract" } }, @@ -27890,7 +27953,7 @@ "lValueRequested": false, "memberName": "transfer", "nodeType": "MemberAccess", - "referencedDeclaration": 1231, + "referencedDeclaration": 1236, "src": "16120:14:0", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", @@ -27945,10 +28008,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1389, - 1390 + 1394, + 1395 ], - "referencedDeclaration": 1390, + "referencedDeclaration": 1395, "src": "16112:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -28400,10 +28463,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1389, - 1390 + 1394, + 1395 ], - "referencedDeclaration": 1390, + "referencedDeclaration": 1395, "src": "15047:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -28543,10 +28606,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1389, - 1390 + 1394, + 1395 ], - "referencedDeclaration": 1390, + "referencedDeclaration": 1395, "src": "15160:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -28665,7 +28728,7 @@ "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 1350, + "referencedDeclaration": 1355, "src": "15267:20:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", @@ -29248,7 +29311,7 @@ ], "src": "14816:26:0" }, - "scope": 1213, + "scope": 1218, "src": "14670:1717:0", "stateMutability": "nonpayable", "superFunction": null, @@ -29471,10 +29534,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1389, - 1390 + 1394, + 1395 ], - "referencedDeclaration": 1390, + "referencedDeclaration": 1395, "src": "16827:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -29680,10 +29743,10 @@ "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1403, + "referencedDeclaration": 1408, "src": "17320:4:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_Escrow_v1_0_$1213", + "typeIdentifier": "t_contract$_Escrow_v1_0_$1218", "typeString": "contract Escrow_v1_0" } }, @@ -29738,7 +29801,7 @@ "typeString": "bytes1" }, { - "typeIdentifier": "t_contract$_Escrow_v1_0_$1213", + "typeIdentifier": "t_contract$_Escrow_v1_0_$1218", "typeString": "contract Escrow_v1_0" }, { @@ -29760,7 +29823,7 @@ "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1373, + "referencedDeclaration": 1378, "src": "17209:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_abi", @@ -29807,7 +29870,7 @@ "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1380, + "referencedDeclaration": 1385, "src": "17178:9:0", "typeDescriptions": { "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", @@ -29846,7 +29909,7 @@ "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1373, + "referencedDeclaration": 1378, "src": "17092:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_abi", @@ -29893,7 +29956,7 @@ "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1380, + "referencedDeclaration": 1385, "src": "17069:9:0", "typeDescriptions": { "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", @@ -30116,7 +30179,7 @@ "name": "ecrecover", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1378, + "referencedDeclaration": 1383, "src": "17580:9:0", "typeDescriptions": { "typeIdentifier": "t_function_ecrecover_pure$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$_t_address_$", @@ -30261,10 +30324,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1389, - 1390 + 1394, + 1395 ], - "referencedDeclaration": 1390, + "referencedDeclaration": 1395, "src": "17717:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -30426,10 +30489,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1389, - 1390 + 1394, + 1395 ], - "referencedDeclaration": 1390, + "referencedDeclaration": 1395, "src": "17851:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -31033,7 +31096,7 @@ ], "src": "16791:21:0" }, - "scope": 1213, + "scope": 1218, "src": "16571:1523:0", "stateMutability": "nonpayable", "superFunction": null, @@ -31108,7 +31171,7 @@ "name": "now", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1388, + "referencedDeclaration": 1393, "src": "18286:3:0", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -31122,7 +31185,7 @@ "lValueRequested": false, "memberName": "sub", "nodeType": "MemberAccess", - "referencedDeclaration": 1326, + "referencedDeclaration": 1331, "src": "18286:7:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", @@ -31337,7 +31400,7 @@ "lValueRequested": false, "memberName": "mul", "nodeType": "MemberAccess", - "referencedDeclaration": 1278, + "referencedDeclaration": 1283, "src": "18379:25:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", @@ -31521,7 +31584,7 @@ ], "src": "18237:14:0" }, - "scope": 1213, + "scope": 1218, "src": "18100:327:0", "stateMutability": "view", "superFunction": null, @@ -31529,9 +31592,9 @@ }, { "body": { - "id": 1211, + "id": 1216, "nodeType": "Block", - "src": "18841:1919:0", + "src": "18841:2344:0", "statements": [ { "expression": { @@ -31616,10 +31679,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1389, - 1390 + 1394, + 1395 ], - "referencedDeclaration": 1390, + "referencedDeclaration": 1395, "src": "18859:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -31732,10 +31795,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1389, - 1390 + 1394, + 1395 ], - "referencedDeclaration": 1390, + "referencedDeclaration": 1395, "src": "18971:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -31917,10 +31980,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1389, - 1390 + 1394, + 1395 ], - "referencedDeclaration": 1390, + "referencedDeclaration": 1395, "src": "19092:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -31978,7 +32041,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1068, - "src": "19263:9:0", + "src": "19501:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -31996,7 +32059,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "19276:1:0", + "src": "19514:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -32004,7 +32067,7 @@ }, "value": "1" }, - "src": "19263:14:0", + "src": "19501:14:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -32030,7 +32093,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1066, - "src": "19281:9:0", + "src": "19519:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -32051,7 +32114,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "19302:1:0", + "src": "19540:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -32073,7 +32136,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "19294:7:0", + "src": "19532:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" @@ -32088,19 +32151,19 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "19294:10:0", + "src": "19532:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "19281:23:0", + "src": "19519:23:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "19263:41:0", + "src": "19501:41:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -32116,7 +32179,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "19318:81:0", + "src": "19556:81:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_08dfdd405be5d5023d3f601e2b0a844b246ceb6764817070ff6789d5e1f80050", @@ -32140,11 +32203,11 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1389, - 1390 + 1394, + 1395 ], - "referencedDeclaration": 1390, - "src": "19242:7:0", + "referencedDeclaration": 1395, + "src": "19480:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -32158,7 +32221,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "19242:167:0", + "src": "19480:167:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -32166,7 +32229,7 @@ }, "id": 1120, "nodeType": "ExpressionStatement", - "src": "19242:167:0" + "src": "19480:167:0" }, { "expression": { @@ -32190,7 +32253,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1072, - "src": "19441:10:0", + "src": "19679:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -32208,7 +32271,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1076, - "src": "19498:8:0", + "src": "19736:8:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -32221,7 +32284,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1068, - "src": "19524:9:0", + "src": "19762:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -32234,7 +32297,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1070, - "src": "19551:12:0", + "src": "19789:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -32247,7 +32310,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1062, - "src": "19581:5:0", + "src": "19819:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -32260,7 +32323,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1064, - "src": "19604:6:0", + "src": "19842:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -32273,7 +32336,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1066, - "src": "19628:9:0", + "src": "19866:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -32286,7 +32349,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1080, - "src": "19655:12:0", + "src": "19893:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -32329,7 +32392,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 647, - "src": "19455:25:0", + "src": "19693:25:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_bytes20_$_t_uint8_$_t_uint32_$_t_address_$_t_address_$_t_address_$_t_address_$returns$_t_bytes32_$", "typeString": "function (bytes20,uint8,uint32,address,address,address,address) view returns (bytes32)" @@ -32343,13 +32406,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "19455:226:0", + "src": "19693:226:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "src": "19441:240:0", + "src": "19679:240:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -32365,7 +32428,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "19696:59:0", + "src": "19934:59:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_0c041e0c58e6b0e01d338d852a5abb639065eabeb0aee05e0ce3e5f0e52b4f51", @@ -32389,11 +32452,11 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1389, - 1390 + 1394, + 1395 ], - "referencedDeclaration": 1390, - "src": "19420:7:0", + "referencedDeclaration": 1395, + "src": "19658:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -32407,7 +32470,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "19420:345:0", + "src": "19658:345:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -32415,7 +32478,7 @@ }, "id": 1135, "nodeType": "ExpressionStatement", - "src": "19420:345:0" + "src": "19658:345:0" }, { "expression": { @@ -32434,7 +32497,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 77, - "src": "19776:12:0", + "src": "20014:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$73_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -32448,7 +32511,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1072, - "src": "19789:10:0", + "src": "20027:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -32459,7 +32522,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "19776:24:0", + "src": "20014:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$73_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -32477,7 +32540,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1062, - "src": "19836:5:0", + "src": "20074:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -32490,7 +32553,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1064, - "src": "19863:6:0", + "src": "20101:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -32503,7 +32566,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1066, - "src": "19894:9:0", + "src": "20132:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -32516,7 +32579,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1074, - "src": "19924:5:0", + "src": "20162:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -32531,7 +32594,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9, - "src": "19951:6:0", + "src": "20189:6:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_Status_$9_$", "typeString": "type(enum Escrow_v1_0.Status)" @@ -32545,7 +32608,7 @@ "memberName": "FUNDED", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "19951:13:0", + "src": "20189:13:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$9", "typeString": "enum Escrow_v1_0.Status" @@ -32559,8 +32622,8 @@ "name": "block", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1376, - "src": "19992:5:0", + "referencedDeclaration": 1381, + "src": "20230:5:0", "typeDescriptions": { "typeIdentifier": "t_magic_block", "typeString": "block" @@ -32574,7 +32637,7 @@ "memberName": "timestamp", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "19992:15:0", + "src": "20230:15:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -32587,7 +32650,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1072, - "src": "20033:10:0", + "src": "20271:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -32600,7 +32663,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1068, - "src": "20068:9:0", + "src": "20306:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -32613,7 +32676,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1070, - "src": "20105:12:0", + "src": "20343:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -32626,7 +32689,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1078, - "src": "20147:15:0", + "src": "20385:15:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -32639,7 +32702,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1080, - "src": "20189:12:0", + "src": "20427:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -32653,7 +32716,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 73, - "src": "19803:11:0", + "src": "20041:11:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_struct$_Transaction_$73_storage_ptr_$", "typeString": "type(struct Escrow_v1_0.Transaction storage pointer)" @@ -32679,13 +32742,13 @@ "tokenAddress" ], "nodeType": "FunctionCall", - "src": "19803:409:0", + "src": "20041:409:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$73_memory", "typeString": "struct Escrow_v1_0.Transaction memory" } }, - "src": "19776:436:0", + "src": "20014:436:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$73_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -32693,7 +32756,7 @@ }, "id": 1155, "nodeType": "ExpressionStatement", - "src": "19776:436:0" + "src": "20014:436:0" }, { "expression": { @@ -32716,7 +32779,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 77, - "src": "20223:12:0", + "src": "20461:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$73_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -32730,7 +32793,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1072, - "src": "20236:10:0", + "src": "20474:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -32741,7 +32804,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20223:24:0", + "src": "20461:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$73_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -32755,7 +32818,7 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 64, - "src": "20223:32:0", + "src": "20461:32:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -32769,7 +32832,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1064, - "src": "20256:6:0", + "src": "20494:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -32780,7 +32843,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "20223:40:0", + "src": "20461:40:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -32798,7 +32861,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "20266:4:0", + "src": "20504:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -32806,7 +32869,7 @@ }, "value": "true" }, - "src": "20223:47:0", + "src": "20461:47:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -32814,7 +32877,7 @@ }, "id": 1164, "nodeType": "ExpressionStatement", - "src": "20223:47:0" + "src": "20461:47:0" }, { "expression": { @@ -32837,7 +32900,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 77, - "src": "20280:12:0", + "src": "20518:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$73_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -32851,7 +32914,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1072, - "src": "20293:10:0", + "src": "20531:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -32862,7 +32925,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20280:24:0", + "src": "20518:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$73_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -32876,7 +32939,7 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 64, - "src": "20280:32:0", + "src": "20518:32:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -32890,7 +32953,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1062, - "src": "20313:5:0", + "src": "20551:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -32901,7 +32964,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "20280:39:0", + "src": "20518:39:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -32919,7 +32982,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "20322:4:0", + "src": "20560:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -32927,7 +32990,7 @@ }, "value": "true" }, - "src": "20280:46:0", + "src": "20518:46:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -32935,7 +32998,7 @@ }, "id": 1173, "nodeType": "ExpressionStatement", - "src": "20280:46:0" + "src": "20518:46:0" }, { "expression": { @@ -32951,7 +33014,7 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "20433:44:0", + "src": "20671:44:0", "subExpression": { "argumentTypes": null, "baseExpression": { @@ -32965,7 +33028,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 77, - "src": "20434:12:0", + "src": "20672:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$73_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -32979,7 +33042,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1072, - "src": "20447:10:0", + "src": "20685:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -32990,7 +33053,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20434:24:0", + "src": "20672:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$73_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -33004,7 +33067,7 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 64, - "src": "20434:32:0", + "src": "20672:32:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -33018,7 +33081,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1066, - "src": "20467:9:0", + "src": "20705:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -33029,7 +33092,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20434:43:0", + "src": "20672:43:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -33050,7 +33113,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "20492:47:0", + "src": "20730:47:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_313b391557427937e7bdb85c7561d47c5b9c985755a448dd33a92026ffb38f8d", @@ -33074,11 +33137,11 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1389, - 1390 + 1394, + 1395 ], - "referencedDeclaration": 1390, - "src": "20412:7:0", + "referencedDeclaration": 1395, + "src": "20650:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -33092,7 +33155,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "20412:137:0", + "src": "20650:137:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -33100,133 +33163,196 @@ }, "id": 1184, "nodeType": "ExpressionStatement", - "src": "20412:137:0" + "src": "20650:137:0" }, { - "expression": { + "condition": { "argumentTypes": null, - "id": 1192, + "commonType": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "id": 1187, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "leftHandSide": { + "leftExpression": { "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1185, - "name": "transactions", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77, - "src": "20560:12:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$73_storage_$", - "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" - } - }, - "id": 1187, - "indexExpression": { - "argumentTypes": null, - "id": 1186, - "name": "scriptHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1072, - "src": "20573:10:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "20560:24:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Transaction_$73_storage", - "typeString": "struct Escrow_v1_0.Transaction storage ref" - } - }, - "id": 1188, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "isOwner", - "nodeType": "MemberAccess", - "referencedDeclaration": 64, - "src": "20560:32:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 1190, - "indexExpression": { - "argumentTypes": null, - "id": 1189, - "name": "moderator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1066, - "src": "20593:9:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "20560:43:0", + "id": 1185, + "name": "threshold", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1068, + "src": "20947:9:0", "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_uint8", + "typeString": "uint8" } }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { "argumentTypes": null, - "hexValue": "74727565", - "id": 1191, + "hexValue": "31", + "id": 1186, "isConstant": false, "isLValue": false, "isPure": true, - "kind": "bool", + "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "20606:4:0", + "src": "20959:1:0", "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" }, - "value": "true" + "value": "1" }, - "src": "20560:50:0", + "src": "20947:13:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 1193, - "nodeType": "ExpressionStatement", - "src": "20560:50:0" + "falseBody": null, + "id": 1198, + "nodeType": "IfStatement", + "src": "20943:93:0", + "trueBody": { + "id": 1197, + "nodeType": "Block", + "src": "20961:75:0", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 1195, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 1188, + "name": "transactions", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77, + "src": "20975:12:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$73_storage_$", + "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" + } + }, + "id": 1190, + "indexExpression": { + "argumentTypes": null, + "id": 1189, + "name": "scriptHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1072, + "src": "20988:10:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "20975:24:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Transaction_$73_storage", + "typeString": "struct Escrow_v1_0.Transaction storage ref" + } + }, + "id": 1191, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "isOwner", + "nodeType": "MemberAccess", + "referencedDeclaration": 64, + "src": "20975:32:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + } + }, + "id": 1193, + "indexExpression": { + "argumentTypes": null, + "id": 1192, + "name": "moderator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1066, + "src": "21008:9:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "20975:43:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 1194, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "21021:4:0", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "20975:50:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 1196, + "nodeType": "ExpressionStatement", + "src": "20975:50:0" + } + ] + } }, { "expression": { "argumentTypes": null, - "id": 1195, + "id": 1200, "isConstant": false, "isLValue": false, "isPure": false, @@ -33234,15 +33360,15 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "20629:18:0", + "src": "21054:18:0", "subExpression": { "argumentTypes": null, - "id": 1194, + "id": 1199, "name": "transactionCount", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 80, - "src": "20629:16:0", + "src": "21054:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -33253,9 +33379,9 @@ "typeString": "uint256" } }, - "id": 1196, + "id": 1201, "nodeType": "ExpressionStatement", - "src": "20629:18:0" + "src": "21054:18:0" }, { "expression": { @@ -33263,12 +33389,12 @@ "arguments": [ { "argumentTypes": null, - "id": 1201, + "id": 1206, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1072, - "src": "20689:10:0", + "src": "21114:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -33286,26 +33412,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1197, + "id": 1202, "name": "partyVsTransaction", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 85, - "src": "20658:18:0", + "src": "21083:18:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_bytes32_$dyn_storage_$", "typeString": "mapping(address => bytes32[] storage ref)" } }, - "id": 1199, + "id": 1204, "indexExpression": { "argumentTypes": null, - "id": 1198, + "id": 1203, "name": "buyer", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1062, - "src": "20677:5:0", + "src": "21102:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -33316,13 +33442,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20658:25:0", + "src": "21083:25:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage", "typeString": "bytes32[] storage ref" } }, - "id": 1200, + "id": 1205, "isConstant": false, "isLValue": false, "isPure": false, @@ -33330,13 +33456,13 @@ "memberName": "push", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "20658:30:0", + "src": "21083:30:0", "typeDescriptions": { "typeIdentifier": "t_function_arraypush_nonpayable$_t_bytes32_$returns$_t_uint256_$", "typeString": "function (bytes32) returns (uint256)" } }, - "id": 1202, + "id": 1207, "isConstant": false, "isLValue": false, "isPure": false, @@ -33344,15 +33470,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "20658:42:0", + "src": "21083:42:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1203, + "id": 1208, "nodeType": "ExpressionStatement", - "src": "20658:42:0" + "src": "21083:42:0" }, { "expression": { @@ -33360,12 +33486,12 @@ "arguments": [ { "argumentTypes": null, - "id": 1208, + "id": 1213, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1072, - "src": "20742:10:0", + "src": "21167:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -33383,26 +33509,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1204, + "id": 1209, "name": "partyVsTransaction", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 85, - "src": "20710:18:0", + "src": "21135:18:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_bytes32_$dyn_storage_$", "typeString": "mapping(address => bytes32[] storage ref)" } }, - "id": 1206, + "id": 1211, "indexExpression": { "argumentTypes": null, - "id": 1205, + "id": 1210, "name": "seller", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1064, - "src": "20729:6:0", + "src": "21154:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -33413,13 +33539,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20710:26:0", + "src": "21135:26:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage", "typeString": "bytes32[] storage ref" } }, - "id": 1207, + "id": 1212, "isConstant": false, "isLValue": false, "isPure": false, @@ -33427,13 +33553,13 @@ "memberName": "push", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "20710:31:0", + "src": "21135:31:0", "typeDescriptions": { "typeIdentifier": "t_function_arraypush_nonpayable$_t_bytes32_$returns$_t_uint256_$", "typeString": "function (bytes32) returns (uint256)" } }, - "id": 1209, + "id": 1214, "isConstant": false, "isLValue": false, "isPure": false, @@ -33441,20 +33567,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "20710:43:0", + "src": "21135:43:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1210, + "id": 1215, "nodeType": "ExpressionStatement", - "src": "20710:43:0" + "src": "21135:43:0" } ] }, "documentation": "Private method to add transaction to reduce code redundancy", - "id": 1212, + "id": 1217, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -33470,7 +33596,7 @@ "id": 1062, "name": "buyer", "nodeType": "VariableDeclaration", - "scope": 1212, + "scope": 1217, "src": "18548:13:0", "stateVariable": false, "storageLocation": "default", @@ -33496,7 +33622,7 @@ "id": 1064, "name": "seller", "nodeType": "VariableDeclaration", - "scope": 1212, + "scope": 1217, "src": "18571:14:0", "stateVariable": false, "storageLocation": "default", @@ -33522,7 +33648,7 @@ "id": 1066, "name": "moderator", "nodeType": "VariableDeclaration", - "scope": 1212, + "scope": 1217, "src": "18595:17:0", "stateVariable": false, "storageLocation": "default", @@ -33548,7 +33674,7 @@ "id": 1068, "name": "threshold", "nodeType": "VariableDeclaration", - "scope": 1212, + "scope": 1217, "src": "18622:15:0", "stateVariable": false, "storageLocation": "default", @@ -33574,7 +33700,7 @@ "id": 1070, "name": "timeoutHours", "nodeType": "VariableDeclaration", - "scope": 1212, + "scope": 1217, "src": "18647:19:0", "stateVariable": false, "storageLocation": "default", @@ -33600,7 +33726,7 @@ "id": 1072, "name": "scriptHash", "nodeType": "VariableDeclaration", - "scope": 1212, + "scope": 1217, "src": "18676:18:0", "stateVariable": false, "storageLocation": "default", @@ -33626,7 +33752,7 @@ "id": 1074, "name": "value", "nodeType": "VariableDeclaration", - "scope": 1212, + "scope": 1217, "src": "18704:13:0", "stateVariable": false, "storageLocation": "default", @@ -33652,7 +33778,7 @@ "id": 1076, "name": "uniqueId", "nodeType": "VariableDeclaration", - "scope": 1212, + "scope": 1217, "src": "18727:16:0", "stateVariable": false, "storageLocation": "default", @@ -33678,7 +33804,7 @@ "id": 1078, "name": "transactionType", "nodeType": "VariableDeclaration", - "scope": 1212, + "scope": 1217, "src": "18753:31:0", "stateVariable": false, "storageLocation": "default", @@ -33706,7 +33832,7 @@ "id": 1080, "name": "tokenAddress", "nodeType": "VariableDeclaration", - "scope": 1212, + "scope": 1217, "src": "18794:20:0", "stateVariable": false, "storageLocation": "default", @@ -33737,18 +33863,18 @@ "parameters": [], "src": "18841:0:0" }, - "scope": 1213, - "src": "18514:2246:0", + "scope": 1218, + "src": "18514:2671:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "private" } ], - "scope": 1214, - "src": "460:20302:0" + "scope": 1219, + "src": "460:20727:0" } ], - "src": "0:20763:0" + "src": "0:21188:0" }, "compiler": { "name": "solc", @@ -33756,5 +33882,5 @@ }, "networks": {}, "schemaVersion": "2.0.1", - "updatedAt": "2018-10-24T15:24:21.055Z" + "updatedAt": "2018-11-03T15:38:22.733Z" } \ No newline at end of file diff --git a/build/contracts/ITokenContract.json b/build/contracts/ITokenContract.json index b4bf90a..94b406d 100644 --- a/build/contracts/ITokenContract.json +++ b/build/contracts/ITokenContract.json @@ -81,14 +81,14 @@ "absolutePath": "/home/sameep/freelancing-projects/toptal/open baazar/publicRepo/smart-contracts/contracts/token/ITokenContract.sol", "exportedSymbols": { "ITokenContract": [ - 1243 + 1248 ] }, - "id": 1244, + "id": 1249, "nodeType": "SourceUnit", "nodes": [ { - "id": 1215, + "id": 1220, "literals": [ "solidity", "0.4", @@ -103,9 +103,9 @@ "contractKind": "interface", "documentation": null, "fullyImplemented": false, - "id": 1243, + "id": 1248, "linearizedBaseContracts": [ - 1243 + 1248 ], "name": "ITokenContract", "nodeType": "ContractDefinition", @@ -113,7 +113,7 @@ { "body": null, "documentation": null, - "id": 1222, + "id": 1227, "implemented": false, "isConstructor": false, "isDeclaredConst": true, @@ -121,15 +121,15 @@ "name": "balanceOf", "nodeType": "FunctionDefinition", "parameters": { - "id": 1218, + "id": 1223, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1217, + "id": 1222, "name": "_owner", "nodeType": "VariableDeclaration", - "scope": 1222, + "scope": 1227, "src": "75:14:1", "stateVariable": false, "storageLocation": "default", @@ -138,7 +138,7 @@ "typeString": "address" }, "typeName": { - "id": 1216, + "id": 1221, "name": "address", "nodeType": "ElementaryTypeName", "src": "75:7:1", @@ -155,15 +155,15 @@ }, "payable": false, "returnParameters": { - "id": 1221, + "id": 1226, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1220, + "id": 1225, "name": "balance", "nodeType": "VariableDeclaration", - "scope": 1222, + "scope": 1227, "src": "114:15:1", "stateVariable": false, "storageLocation": "default", @@ -172,7 +172,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1219, + "id": 1224, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "114:7:1", @@ -187,7 +187,7 @@ ], "src": "113:17:1" }, - "scope": 1243, + "scope": 1248, "src": "56:75:1", "stateMutability": "view", "superFunction": null, @@ -196,7 +196,7 @@ { "body": null, "documentation": null, - "id": 1231, + "id": 1236, "implemented": false, "isConstructor": false, "isDeclaredConst": false, @@ -204,15 +204,15 @@ "name": "transfer", "nodeType": "FunctionDefinition", "parameters": { - "id": 1227, + "id": 1232, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1224, + "id": 1229, "name": "_to", "nodeType": "VariableDeclaration", - "scope": 1231, + "scope": 1236, "src": "166:11:1", "stateVariable": false, "storageLocation": "default", @@ -221,7 +221,7 @@ "typeString": "address" }, "typeName": { - "id": 1223, + "id": 1228, "name": "address", "nodeType": "ElementaryTypeName", "src": "166:7:1", @@ -235,10 +235,10 @@ }, { "constant": false, - "id": 1226, + "id": 1231, "name": "_amount", "nodeType": "VariableDeclaration", - "scope": 1231, + "scope": 1236, "src": "188:15:1", "stateVariable": false, "storageLocation": "default", @@ -247,7 +247,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1225, + "id": 1230, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "188:7:1", @@ -264,15 +264,15 @@ }, "payable": false, "returnParameters": { - "id": 1230, + "id": 1235, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1229, + "id": 1234, "name": "success", "nodeType": "VariableDeclaration", - "scope": 1231, + "scope": 1236, "src": "245:12:1", "stateVariable": false, "storageLocation": "default", @@ -281,7 +281,7 @@ "typeString": "bool" }, "typeName": { - "id": 1228, + "id": 1233, "name": "bool", "nodeType": "ElementaryTypeName", "src": "245:4:1", @@ -296,7 +296,7 @@ ], "src": "244:14:1" }, - "scope": 1243, + "scope": 1248, "src": "139:120:1", "stateMutability": "nonpayable", "superFunction": null, @@ -305,7 +305,7 @@ { "body": null, "documentation": null, - "id": 1242, + "id": 1247, "implemented": false, "isConstructor": false, "isDeclaredConst": false, @@ -313,15 +313,15 @@ "name": "transferFrom", "nodeType": "FunctionDefinition", "parameters": { - "id": 1238, + "id": 1243, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1233, + "id": 1238, "name": "_from", "nodeType": "VariableDeclaration", - "scope": 1242, + "scope": 1247, "src": "296:13:1", "stateVariable": false, "storageLocation": "default", @@ -330,7 +330,7 @@ "typeString": "address" }, "typeName": { - "id": 1232, + "id": 1237, "name": "address", "nodeType": "ElementaryTypeName", "src": "296:7:1", @@ -344,10 +344,10 @@ }, { "constant": false, - "id": 1235, + "id": 1240, "name": "_to", "nodeType": "VariableDeclaration", - "scope": 1242, + "scope": 1247, "src": "320:11:1", "stateVariable": false, "storageLocation": "default", @@ -356,7 +356,7 @@ "typeString": "address" }, "typeName": { - "id": 1234, + "id": 1239, "name": "address", "nodeType": "ElementaryTypeName", "src": "320:7:1", @@ -370,10 +370,10 @@ }, { "constant": false, - "id": 1237, + "id": 1242, "name": "_amount", "nodeType": "VariableDeclaration", - "scope": 1242, + "scope": 1247, "src": "342:15:1", "stateVariable": false, "storageLocation": "default", @@ -382,7 +382,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1236, + "id": 1241, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "342:7:1", @@ -399,15 +399,15 @@ }, "payable": false, "returnParameters": { - "id": 1241, + "id": 1246, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1240, + "id": 1245, "name": "success", "nodeType": "VariableDeclaration", - "scope": 1242, + "scope": 1247, "src": "400:12:1", "stateVariable": false, "storageLocation": "default", @@ -416,7 +416,7 @@ "typeString": "bool" }, "typeName": { - "id": 1239, + "id": 1244, "name": "bool", "nodeType": "ElementaryTypeName", "src": "400:4:1", @@ -431,14 +431,14 @@ ], "src": "399:14:1" }, - "scope": 1243, + "scope": 1248, "src": "265:149:1", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" } ], - "scope": 1244, + "scope": 1249, "src": "25:391:1" } ], @@ -448,14 +448,14 @@ "absolutePath": "/home/sameep/freelancing-projects/toptal/open baazar/publicRepo/smart-contracts/contracts/token/ITokenContract.sol", "exportedSymbols": { "ITokenContract": [ - 1243 + 1248 ] }, - "id": 1244, + "id": 1249, "nodeType": "SourceUnit", "nodes": [ { - "id": 1215, + "id": 1220, "literals": [ "solidity", "0.4", @@ -470,9 +470,9 @@ "contractKind": "interface", "documentation": null, "fullyImplemented": false, - "id": 1243, + "id": 1248, "linearizedBaseContracts": [ - 1243 + 1248 ], "name": "ITokenContract", "nodeType": "ContractDefinition", @@ -480,7 +480,7 @@ { "body": null, "documentation": null, - "id": 1222, + "id": 1227, "implemented": false, "isConstructor": false, "isDeclaredConst": true, @@ -488,15 +488,15 @@ "name": "balanceOf", "nodeType": "FunctionDefinition", "parameters": { - "id": 1218, + "id": 1223, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1217, + "id": 1222, "name": "_owner", "nodeType": "VariableDeclaration", - "scope": 1222, + "scope": 1227, "src": "75:14:1", "stateVariable": false, "storageLocation": "default", @@ -505,7 +505,7 @@ "typeString": "address" }, "typeName": { - "id": 1216, + "id": 1221, "name": "address", "nodeType": "ElementaryTypeName", "src": "75:7:1", @@ -522,15 +522,15 @@ }, "payable": false, "returnParameters": { - "id": 1221, + "id": 1226, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1220, + "id": 1225, "name": "balance", "nodeType": "VariableDeclaration", - "scope": 1222, + "scope": 1227, "src": "114:15:1", "stateVariable": false, "storageLocation": "default", @@ -539,7 +539,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1219, + "id": 1224, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "114:7:1", @@ -554,7 +554,7 @@ ], "src": "113:17:1" }, - "scope": 1243, + "scope": 1248, "src": "56:75:1", "stateMutability": "view", "superFunction": null, @@ -563,7 +563,7 @@ { "body": null, "documentation": null, - "id": 1231, + "id": 1236, "implemented": false, "isConstructor": false, "isDeclaredConst": false, @@ -571,15 +571,15 @@ "name": "transfer", "nodeType": "FunctionDefinition", "parameters": { - "id": 1227, + "id": 1232, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1224, + "id": 1229, "name": "_to", "nodeType": "VariableDeclaration", - "scope": 1231, + "scope": 1236, "src": "166:11:1", "stateVariable": false, "storageLocation": "default", @@ -588,7 +588,7 @@ "typeString": "address" }, "typeName": { - "id": 1223, + "id": 1228, "name": "address", "nodeType": "ElementaryTypeName", "src": "166:7:1", @@ -602,10 +602,10 @@ }, { "constant": false, - "id": 1226, + "id": 1231, "name": "_amount", "nodeType": "VariableDeclaration", - "scope": 1231, + "scope": 1236, "src": "188:15:1", "stateVariable": false, "storageLocation": "default", @@ -614,7 +614,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1225, + "id": 1230, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "188:7:1", @@ -631,15 +631,15 @@ }, "payable": false, "returnParameters": { - "id": 1230, + "id": 1235, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1229, + "id": 1234, "name": "success", "nodeType": "VariableDeclaration", - "scope": 1231, + "scope": 1236, "src": "245:12:1", "stateVariable": false, "storageLocation": "default", @@ -648,7 +648,7 @@ "typeString": "bool" }, "typeName": { - "id": 1228, + "id": 1233, "name": "bool", "nodeType": "ElementaryTypeName", "src": "245:4:1", @@ -663,7 +663,7 @@ ], "src": "244:14:1" }, - "scope": 1243, + "scope": 1248, "src": "139:120:1", "stateMutability": "nonpayable", "superFunction": null, @@ -672,7 +672,7 @@ { "body": null, "documentation": null, - "id": 1242, + "id": 1247, "implemented": false, "isConstructor": false, "isDeclaredConst": false, @@ -680,15 +680,15 @@ "name": "transferFrom", "nodeType": "FunctionDefinition", "parameters": { - "id": 1238, + "id": 1243, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1233, + "id": 1238, "name": "_from", "nodeType": "VariableDeclaration", - "scope": 1242, + "scope": 1247, "src": "296:13:1", "stateVariable": false, "storageLocation": "default", @@ -697,7 +697,7 @@ "typeString": "address" }, "typeName": { - "id": 1232, + "id": 1237, "name": "address", "nodeType": "ElementaryTypeName", "src": "296:7:1", @@ -711,10 +711,10 @@ }, { "constant": false, - "id": 1235, + "id": 1240, "name": "_to", "nodeType": "VariableDeclaration", - "scope": 1242, + "scope": 1247, "src": "320:11:1", "stateVariable": false, "storageLocation": "default", @@ -723,7 +723,7 @@ "typeString": "address" }, "typeName": { - "id": 1234, + "id": 1239, "name": "address", "nodeType": "ElementaryTypeName", "src": "320:7:1", @@ -737,10 +737,10 @@ }, { "constant": false, - "id": 1237, + "id": 1242, "name": "_amount", "nodeType": "VariableDeclaration", - "scope": 1242, + "scope": 1247, "src": "342:15:1", "stateVariable": false, "storageLocation": "default", @@ -749,7 +749,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1236, + "id": 1241, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "342:7:1", @@ -766,15 +766,15 @@ }, "payable": false, "returnParameters": { - "id": 1241, + "id": 1246, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1240, + "id": 1245, "name": "success", "nodeType": "VariableDeclaration", - "scope": 1242, + "scope": 1247, "src": "400:12:1", "stateVariable": false, "storageLocation": "default", @@ -783,7 +783,7 @@ "typeString": "bool" }, "typeName": { - "id": 1239, + "id": 1244, "name": "bool", "nodeType": "ElementaryTypeName", "src": "400:4:1", @@ -798,14 +798,14 @@ ], "src": "399:14:1" }, - "scope": 1243, + "scope": 1248, "src": "265:149:1", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" } ], - "scope": 1244, + "scope": 1249, "src": "25:391:1" } ], @@ -817,5 +817,5 @@ }, "networks": {}, "schemaVersion": "2.0.1", - "updatedAt": "2018-10-24T15:24:21.034Z" + "updatedAt": "2018-11-03T15:38:22.712Z" } \ No newline at end of file diff --git a/build/contracts/SafeMath.json b/build/contracts/SafeMath.json index 926189e..8eca98e 100644 --- a/build/contracts/SafeMath.json +++ b/build/contracts/SafeMath.json @@ -11,14 +11,14 @@ "absolutePath": "openzeppelin-solidity/contracts/math/SafeMath.sol", "exportedSymbols": { "SafeMath": [ - 1371 + 1376 ] }, - "id": 1372, + "id": 1377, "nodeType": "SourceUnit", "nodes": [ { - "id": 1245, + "id": 1250, "literals": [ "solidity", "^", @@ -34,16 +34,16 @@ "contractKind": "library", "documentation": "@title SafeMath\n@dev Math operations with safety checks that revert on error", "fullyImplemented": true, - "id": 1371, + "id": 1376, "linearizedBaseContracts": [ - 1371 + 1376 ], "name": "SafeMath", "nodeType": "ContractDefinition", "nodes": [ { "body": { - "id": 1277, + "id": 1282, "nodeType": "Block", "src": "271:314:2", "statements": [ @@ -54,18 +54,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1256, + "id": 1261, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1254, + "id": 1259, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1247, + "referencedDeclaration": 1252, "src": "486:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -77,7 +77,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 1255, + "id": 1260, "isConstant": false, "isLValue": false, "isPure": true, @@ -99,11 +99,11 @@ } }, "falseBody": null, - "id": 1260, + "id": 1265, "nodeType": "IfStatement", "src": "482:35:2", "trueBody": { - "id": 1259, + "id": 1264, "nodeType": "Block", "src": "494:23:2", "statements": [ @@ -111,7 +111,7 @@ "expression": { "argumentTypes": null, "hexValue": "30", - "id": 1257, + "id": 1262, "isConstant": false, "isLValue": false, "isPure": true, @@ -126,8 +126,8 @@ }, "value": "0" }, - "functionReturnParameters": 1253, - "id": 1258, + "functionReturnParameters": 1258, + "id": 1263, "nodeType": "Return", "src": "502:8:2" } @@ -136,15 +136,15 @@ }, { "assignments": [ - 1262 + 1267 ], "declarations": [ { "constant": false, - "id": 1262, + "id": 1267, "name": "c", "nodeType": "VariableDeclaration", - "scope": 1278, + "scope": 1283, "src": "523:9:2", "stateVariable": false, "storageLocation": "default", @@ -153,7 +153,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1261, + "id": 1266, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "523:7:2", @@ -166,25 +166,25 @@ "visibility": "internal" } ], - "id": 1266, + "id": 1271, "initialValue": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1265, + "id": 1270, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1263, + "id": 1268, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1247, + "referencedDeclaration": 1252, "src": "535:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -195,11 +195,11 @@ "operator": "*", "rightExpression": { "argumentTypes": null, - "id": 1264, + "id": 1269, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1249, + "referencedDeclaration": 1254, "src": "539:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -225,7 +225,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1272, + "id": 1277, "isConstant": false, "isLValue": false, "isPure": false, @@ -236,18 +236,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1270, + "id": 1275, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1268, + "id": 1273, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1262, + "referencedDeclaration": 1267, "src": "554:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -258,11 +258,11 @@ "operator": "/", "rightExpression": { "argumentTypes": null, - "id": 1269, + "id": 1274, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1247, + "referencedDeclaration": 1252, "src": "558:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -279,11 +279,11 @@ "operator": "==", "rightExpression": { "argumentTypes": null, - "id": 1271, + "id": 1276, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1249, + "referencedDeclaration": 1254, "src": "563:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -304,21 +304,21 @@ "typeString": "bool" } ], - "id": 1267, + "id": 1272, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1389, - 1390 + 1394, + 1395 ], - "referencedDeclaration": 1389, + "referencedDeclaration": 1394, "src": "546:7:2", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 1273, + "id": 1278, "isConstant": false, "isLValue": false, "isPure": false, @@ -332,33 +332,33 @@ "typeString": "tuple()" } }, - "id": 1274, + "id": 1279, "nodeType": "ExpressionStatement", "src": "546:19:2" }, { "expression": { "argumentTypes": null, - "id": 1275, + "id": 1280, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1262, + "referencedDeclaration": 1267, "src": "579:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 1253, - "id": 1276, + "functionReturnParameters": 1258, + "id": 1281, "nodeType": "Return", "src": "572:8:2" } ] }, "documentation": "@dev Multiplies two numbers, reverts on overflow.", - "id": 1278, + "id": 1283, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -366,15 +366,15 @@ "name": "mul", "nodeType": "FunctionDefinition", "parameters": { - "id": 1250, + "id": 1255, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1247, + "id": 1252, "name": "a", "nodeType": "VariableDeclaration", - "scope": 1278, + "scope": 1283, "src": "217:9:2", "stateVariable": false, "storageLocation": "default", @@ -383,7 +383,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1246, + "id": 1251, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "217:7:2", @@ -397,10 +397,10 @@ }, { "constant": false, - "id": 1249, + "id": 1254, "name": "b", "nodeType": "VariableDeclaration", - "scope": 1278, + "scope": 1283, "src": "228:9:2", "stateVariable": false, "storageLocation": "default", @@ -409,7 +409,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1248, + "id": 1253, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "228:7:2", @@ -426,15 +426,15 @@ }, "payable": false, "returnParameters": { - "id": 1253, + "id": 1258, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1252, + "id": 1257, "name": "", "nodeType": "VariableDeclaration", - "scope": 1278, + "scope": 1283, "src": "262:7:2", "stateVariable": false, "storageLocation": "default", @@ -443,7 +443,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1251, + "id": 1256, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "262:7:2", @@ -458,7 +458,7 @@ ], "src": "261:9:2" }, - "scope": 1371, + "scope": 1376, "src": "204:381:2", "stateMutability": "pure", "superFunction": null, @@ -466,7 +466,7 @@ }, { "body": { - "id": 1301, + "id": 1306, "nodeType": "Block", "src": "762:203:2", "statements": [ @@ -480,18 +480,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1290, + "id": 1295, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1288, + "id": 1293, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1282, + "referencedDeclaration": 1287, "src": "776:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -503,7 +503,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 1289, + "id": 1294, "isConstant": false, "isLValue": false, "isPure": true, @@ -532,21 +532,21 @@ "typeString": "bool" } ], - "id": 1287, + "id": 1292, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1389, - 1390 + 1394, + 1395 ], - "referencedDeclaration": 1389, + "referencedDeclaration": 1394, "src": "768:7:2", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 1291, + "id": 1296, "isConstant": false, "isLValue": false, "isPure": false, @@ -560,21 +560,21 @@ "typeString": "tuple()" } }, - "id": 1292, + "id": 1297, "nodeType": "ExpressionStatement", "src": "768:14:2" }, { "assignments": [ - 1294 + 1299 ], "declarations": [ { "constant": false, - "id": 1294, + "id": 1299, "name": "c", "nodeType": "VariableDeclaration", - "scope": 1302, + "scope": 1307, "src": "846:9:2", "stateVariable": false, "storageLocation": "default", @@ -583,7 +583,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1293, + "id": 1298, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "846:7:2", @@ -596,25 +596,25 @@ "visibility": "internal" } ], - "id": 1298, + "id": 1303, "initialValue": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1297, + "id": 1302, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1295, + "id": 1300, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1280, + "referencedDeclaration": 1285, "src": "858:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -625,11 +625,11 @@ "operator": "/", "rightExpression": { "argumentTypes": null, - "id": 1296, + "id": 1301, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1282, + "referencedDeclaration": 1287, "src": "862:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -648,26 +648,26 @@ { "expression": { "argumentTypes": null, - "id": 1299, + "id": 1304, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1294, + "referencedDeclaration": 1299, "src": "959:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 1286, - "id": 1300, + "functionReturnParameters": 1291, + "id": 1305, "nodeType": "Return", "src": "952:8:2" } ] }, "documentation": "@dev Integer division of two numbers truncating the quotient, reverts on division by zero.", - "id": 1302, + "id": 1307, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -675,15 +675,15 @@ "name": "div", "nodeType": "FunctionDefinition", "parameters": { - "id": 1283, + "id": 1288, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1280, + "id": 1285, "name": "a", "nodeType": "VariableDeclaration", - "scope": 1302, + "scope": 1307, "src": "708:9:2", "stateVariable": false, "storageLocation": "default", @@ -692,7 +692,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1279, + "id": 1284, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "708:7:2", @@ -706,10 +706,10 @@ }, { "constant": false, - "id": 1282, + "id": 1287, "name": "b", "nodeType": "VariableDeclaration", - "scope": 1302, + "scope": 1307, "src": "719:9:2", "stateVariable": false, "storageLocation": "default", @@ -718,7 +718,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1281, + "id": 1286, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "719:7:2", @@ -735,15 +735,15 @@ }, "payable": false, "returnParameters": { - "id": 1286, + "id": 1291, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1285, + "id": 1290, "name": "", "nodeType": "VariableDeclaration", - "scope": 1302, + "scope": 1307, "src": "753:7:2", "stateVariable": false, "storageLocation": "default", @@ -752,7 +752,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1284, + "id": 1289, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "753:7:2", @@ -767,7 +767,7 @@ ], "src": "752:9:2" }, - "scope": 1371, + "scope": 1376, "src": "695:270:2", "stateMutability": "pure", "superFunction": null, @@ -775,7 +775,7 @@ }, { "body": { - "id": 1325, + "id": 1330, "nodeType": "Block", "src": "1145:64:2", "statements": [ @@ -789,18 +789,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1314, + "id": 1319, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1312, + "id": 1317, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1306, + "referencedDeclaration": 1311, "src": "1159:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -811,11 +811,11 @@ "operator": "<=", "rightExpression": { "argumentTypes": null, - "id": 1313, + "id": 1318, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1304, + "referencedDeclaration": 1309, "src": "1164:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -836,21 +836,21 @@ "typeString": "bool" } ], - "id": 1311, + "id": 1316, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1389, - 1390 + 1394, + 1395 ], - "referencedDeclaration": 1389, + "referencedDeclaration": 1394, "src": "1151:7:2", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 1315, + "id": 1320, "isConstant": false, "isLValue": false, "isPure": false, @@ -864,21 +864,21 @@ "typeString": "tuple()" } }, - "id": 1316, + "id": 1321, "nodeType": "ExpressionStatement", "src": "1151:15:2" }, { "assignments": [ - 1318 + 1323 ], "declarations": [ { "constant": false, - "id": 1318, + "id": 1323, "name": "c", "nodeType": "VariableDeclaration", - "scope": 1326, + "scope": 1331, "src": "1172:9:2", "stateVariable": false, "storageLocation": "default", @@ -887,7 +887,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1317, + "id": 1322, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1172:7:2", @@ -900,25 +900,25 @@ "visibility": "internal" } ], - "id": 1322, + "id": 1327, "initialValue": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1321, + "id": 1326, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1319, + "id": 1324, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1304, + "referencedDeclaration": 1309, "src": "1184:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -929,11 +929,11 @@ "operator": "-", "rightExpression": { "argumentTypes": null, - "id": 1320, + "id": 1325, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1306, + "referencedDeclaration": 1311, "src": "1188:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -952,26 +952,26 @@ { "expression": { "argumentTypes": null, - "id": 1323, + "id": 1328, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1318, + "referencedDeclaration": 1323, "src": "1203:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 1310, - "id": 1324, + "functionReturnParameters": 1315, + "id": 1329, "nodeType": "Return", "src": "1196:8:2" } ] }, "documentation": "@dev Subtracts two numbers, reverts on overflow (i.e. if subtrahend is greater than minuend).", - "id": 1326, + "id": 1331, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -979,15 +979,15 @@ "name": "sub", "nodeType": "FunctionDefinition", "parameters": { - "id": 1307, + "id": 1312, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1304, + "id": 1309, "name": "a", "nodeType": "VariableDeclaration", - "scope": 1326, + "scope": 1331, "src": "1091:9:2", "stateVariable": false, "storageLocation": "default", @@ -996,7 +996,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1303, + "id": 1308, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1091:7:2", @@ -1010,10 +1010,10 @@ }, { "constant": false, - "id": 1306, + "id": 1311, "name": "b", "nodeType": "VariableDeclaration", - "scope": 1326, + "scope": 1331, "src": "1102:9:2", "stateVariable": false, "storageLocation": "default", @@ -1022,7 +1022,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1305, + "id": 1310, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1102:7:2", @@ -1039,15 +1039,15 @@ }, "payable": false, "returnParameters": { - "id": 1310, + "id": 1315, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1309, + "id": 1314, "name": "", "nodeType": "VariableDeclaration", - "scope": 1326, + "scope": 1331, "src": "1136:7:2", "stateVariable": false, "storageLocation": "default", @@ -1056,7 +1056,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1308, + "id": 1313, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1136:7:2", @@ -1071,7 +1071,7 @@ ], "src": "1135:9:2" }, - "scope": 1371, + "scope": 1376, "src": "1078:131:2", "stateMutability": "pure", "superFunction": null, @@ -1079,21 +1079,21 @@ }, { "body": { - "id": 1349, + "id": 1354, "nodeType": "Block", "src": "1339:64:2", "statements": [ { "assignments": [ - 1336 + 1341 ], "declarations": [ { "constant": false, - "id": 1336, + "id": 1341, "name": "c", "nodeType": "VariableDeclaration", - "scope": 1350, + "scope": 1355, "src": "1345:9:2", "stateVariable": false, "storageLocation": "default", @@ -1102,7 +1102,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1335, + "id": 1340, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1345:7:2", @@ -1115,25 +1115,25 @@ "visibility": "internal" } ], - "id": 1340, + "id": 1345, "initialValue": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1339, + "id": 1344, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1337, + "id": 1342, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1328, + "referencedDeclaration": 1333, "src": "1357:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1144,11 +1144,11 @@ "operator": "+", "rightExpression": { "argumentTypes": null, - "id": 1338, + "id": 1343, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1330, + "referencedDeclaration": 1335, "src": "1361:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1174,18 +1174,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1344, + "id": 1349, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1342, + "id": 1347, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1336, + "referencedDeclaration": 1341, "src": "1376:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1196,11 +1196,11 @@ "operator": ">=", "rightExpression": { "argumentTypes": null, - "id": 1343, + "id": 1348, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1328, + "referencedDeclaration": 1333, "src": "1381:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1221,21 +1221,21 @@ "typeString": "bool" } ], - "id": 1341, + "id": 1346, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1389, - 1390 + 1394, + 1395 ], - "referencedDeclaration": 1389, + "referencedDeclaration": 1394, "src": "1368:7:2", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 1345, + "id": 1350, "isConstant": false, "isLValue": false, "isPure": false, @@ -1249,33 +1249,33 @@ "typeString": "tuple()" } }, - "id": 1346, + "id": 1351, "nodeType": "ExpressionStatement", "src": "1368:15:2" }, { "expression": { "argumentTypes": null, - "id": 1347, + "id": 1352, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1336, + "referencedDeclaration": 1341, "src": "1397:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 1334, - "id": 1348, + "functionReturnParameters": 1339, + "id": 1353, "nodeType": "Return", "src": "1390:8:2" } ] }, "documentation": "@dev Adds two numbers, reverts on overflow.", - "id": 1350, + "id": 1355, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -1283,15 +1283,15 @@ "name": "add", "nodeType": "FunctionDefinition", "parameters": { - "id": 1331, + "id": 1336, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1328, + "id": 1333, "name": "a", "nodeType": "VariableDeclaration", - "scope": 1350, + "scope": 1355, "src": "1285:9:2", "stateVariable": false, "storageLocation": "default", @@ -1300,7 +1300,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1327, + "id": 1332, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1285:7:2", @@ -1314,10 +1314,10 @@ }, { "constant": false, - "id": 1330, + "id": 1335, "name": "b", "nodeType": "VariableDeclaration", - "scope": 1350, + "scope": 1355, "src": "1296:9:2", "stateVariable": false, "storageLocation": "default", @@ -1326,7 +1326,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1329, + "id": 1334, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1296:7:2", @@ -1343,15 +1343,15 @@ }, "payable": false, "returnParameters": { - "id": 1334, + "id": 1339, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1333, + "id": 1338, "name": "", "nodeType": "VariableDeclaration", - "scope": 1350, + "scope": 1355, "src": "1330:7:2", "stateVariable": false, "storageLocation": "default", @@ -1360,7 +1360,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1332, + "id": 1337, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1330:7:2", @@ -1375,7 +1375,7 @@ ], "src": "1329:9:2" }, - "scope": 1371, + "scope": 1376, "src": "1272:131:2", "stateMutability": "pure", "superFunction": null, @@ -1383,7 +1383,7 @@ }, { "body": { - "id": 1369, + "id": 1374, "nodeType": "Block", "src": "1602:44:2", "statements": [ @@ -1397,18 +1397,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1362, + "id": 1367, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1360, + "id": 1365, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1354, + "referencedDeclaration": 1359, "src": "1616:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1420,7 +1420,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 1361, + "id": 1366, "isConstant": false, "isLValue": false, "isPure": true, @@ -1449,21 +1449,21 @@ "typeString": "bool" } ], - "id": 1359, + "id": 1364, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1389, - 1390 + 1394, + 1395 ], - "referencedDeclaration": 1389, + "referencedDeclaration": 1394, "src": "1608:7:2", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 1363, + "id": 1368, "isConstant": false, "isLValue": false, "isPure": false, @@ -1477,7 +1477,7 @@ "typeString": "tuple()" } }, - "id": 1364, + "id": 1369, "nodeType": "ExpressionStatement", "src": "1608:15:2" }, @@ -1488,18 +1488,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1367, + "id": 1372, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1365, + "id": 1370, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1352, + "referencedDeclaration": 1357, "src": "1636:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1510,11 +1510,11 @@ "operator": "%", "rightExpression": { "argumentTypes": null, - "id": 1366, + "id": 1371, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1354, + "referencedDeclaration": 1359, "src": "1640:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1527,15 +1527,15 @@ "typeString": "uint256" } }, - "functionReturnParameters": 1358, - "id": 1368, + "functionReturnParameters": 1363, + "id": 1373, "nodeType": "Return", "src": "1629:12:2" } ] }, "documentation": "@dev Divides two numbers and returns the remainder (unsigned integer modulo),\nreverts when dividing by zero.", - "id": 1370, + "id": 1375, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -1543,15 +1543,15 @@ "name": "mod", "nodeType": "FunctionDefinition", "parameters": { - "id": 1355, + "id": 1360, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1352, + "id": 1357, "name": "a", "nodeType": "VariableDeclaration", - "scope": 1370, + "scope": 1375, "src": "1548:9:2", "stateVariable": false, "storageLocation": "default", @@ -1560,7 +1560,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1351, + "id": 1356, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1548:7:2", @@ -1574,10 +1574,10 @@ }, { "constant": false, - "id": 1354, + "id": 1359, "name": "b", "nodeType": "VariableDeclaration", - "scope": 1370, + "scope": 1375, "src": "1559:9:2", "stateVariable": false, "storageLocation": "default", @@ -1586,7 +1586,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1353, + "id": 1358, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1559:7:2", @@ -1603,15 +1603,15 @@ }, "payable": false, "returnParameters": { - "id": 1358, + "id": 1363, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1357, + "id": 1362, "name": "", "nodeType": "VariableDeclaration", - "scope": 1370, + "scope": 1375, "src": "1593:7:2", "stateVariable": false, "storageLocation": "default", @@ -1620,7 +1620,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1356, + "id": 1361, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1593:7:2", @@ -1635,14 +1635,14 @@ ], "src": "1592:9:2" }, - "scope": 1371, + "scope": 1376, "src": "1535:111:2", "stateMutability": "pure", "superFunction": null, "visibility": "internal" } ], - "scope": 1372, + "scope": 1377, "src": "117:1531:2" } ], @@ -1652,14 +1652,14 @@ "absolutePath": "openzeppelin-solidity/contracts/math/SafeMath.sol", "exportedSymbols": { "SafeMath": [ - 1371 + 1376 ] }, - "id": 1372, + "id": 1377, "nodeType": "SourceUnit", "nodes": [ { - "id": 1245, + "id": 1250, "literals": [ "solidity", "^", @@ -1675,16 +1675,16 @@ "contractKind": "library", "documentation": "@title SafeMath\n@dev Math operations with safety checks that revert on error", "fullyImplemented": true, - "id": 1371, + "id": 1376, "linearizedBaseContracts": [ - 1371 + 1376 ], "name": "SafeMath", "nodeType": "ContractDefinition", "nodes": [ { "body": { - "id": 1277, + "id": 1282, "nodeType": "Block", "src": "271:314:2", "statements": [ @@ -1695,18 +1695,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1256, + "id": 1261, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1254, + "id": 1259, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1247, + "referencedDeclaration": 1252, "src": "486:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1718,7 +1718,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 1255, + "id": 1260, "isConstant": false, "isLValue": false, "isPure": true, @@ -1740,11 +1740,11 @@ } }, "falseBody": null, - "id": 1260, + "id": 1265, "nodeType": "IfStatement", "src": "482:35:2", "trueBody": { - "id": 1259, + "id": 1264, "nodeType": "Block", "src": "494:23:2", "statements": [ @@ -1752,7 +1752,7 @@ "expression": { "argumentTypes": null, "hexValue": "30", - "id": 1257, + "id": 1262, "isConstant": false, "isLValue": false, "isPure": true, @@ -1767,8 +1767,8 @@ }, "value": "0" }, - "functionReturnParameters": 1253, - "id": 1258, + "functionReturnParameters": 1258, + "id": 1263, "nodeType": "Return", "src": "502:8:2" } @@ -1777,15 +1777,15 @@ }, { "assignments": [ - 1262 + 1267 ], "declarations": [ { "constant": false, - "id": 1262, + "id": 1267, "name": "c", "nodeType": "VariableDeclaration", - "scope": 1278, + "scope": 1283, "src": "523:9:2", "stateVariable": false, "storageLocation": "default", @@ -1794,7 +1794,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1261, + "id": 1266, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "523:7:2", @@ -1807,25 +1807,25 @@ "visibility": "internal" } ], - "id": 1266, + "id": 1271, "initialValue": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1265, + "id": 1270, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1263, + "id": 1268, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1247, + "referencedDeclaration": 1252, "src": "535:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1836,11 +1836,11 @@ "operator": "*", "rightExpression": { "argumentTypes": null, - "id": 1264, + "id": 1269, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1249, + "referencedDeclaration": 1254, "src": "539:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1866,7 +1866,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1272, + "id": 1277, "isConstant": false, "isLValue": false, "isPure": false, @@ -1877,18 +1877,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1270, + "id": 1275, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1268, + "id": 1273, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1262, + "referencedDeclaration": 1267, "src": "554:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1899,11 +1899,11 @@ "operator": "/", "rightExpression": { "argumentTypes": null, - "id": 1269, + "id": 1274, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1247, + "referencedDeclaration": 1252, "src": "558:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1920,11 +1920,11 @@ "operator": "==", "rightExpression": { "argumentTypes": null, - "id": 1271, + "id": 1276, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1249, + "referencedDeclaration": 1254, "src": "563:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1945,21 +1945,21 @@ "typeString": "bool" } ], - "id": 1267, + "id": 1272, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1389, - 1390 + 1394, + 1395 ], - "referencedDeclaration": 1389, + "referencedDeclaration": 1394, "src": "546:7:2", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 1273, + "id": 1278, "isConstant": false, "isLValue": false, "isPure": false, @@ -1973,33 +1973,33 @@ "typeString": "tuple()" } }, - "id": 1274, + "id": 1279, "nodeType": "ExpressionStatement", "src": "546:19:2" }, { "expression": { "argumentTypes": null, - "id": 1275, + "id": 1280, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1262, + "referencedDeclaration": 1267, "src": "579:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 1253, - "id": 1276, + "functionReturnParameters": 1258, + "id": 1281, "nodeType": "Return", "src": "572:8:2" } ] }, "documentation": "@dev Multiplies two numbers, reverts on overflow.", - "id": 1278, + "id": 1283, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -2007,15 +2007,15 @@ "name": "mul", "nodeType": "FunctionDefinition", "parameters": { - "id": 1250, + "id": 1255, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1247, + "id": 1252, "name": "a", "nodeType": "VariableDeclaration", - "scope": 1278, + "scope": 1283, "src": "217:9:2", "stateVariable": false, "storageLocation": "default", @@ -2024,7 +2024,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1246, + "id": 1251, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "217:7:2", @@ -2038,10 +2038,10 @@ }, { "constant": false, - "id": 1249, + "id": 1254, "name": "b", "nodeType": "VariableDeclaration", - "scope": 1278, + "scope": 1283, "src": "228:9:2", "stateVariable": false, "storageLocation": "default", @@ -2050,7 +2050,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1248, + "id": 1253, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "228:7:2", @@ -2067,15 +2067,15 @@ }, "payable": false, "returnParameters": { - "id": 1253, + "id": 1258, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1252, + "id": 1257, "name": "", "nodeType": "VariableDeclaration", - "scope": 1278, + "scope": 1283, "src": "262:7:2", "stateVariable": false, "storageLocation": "default", @@ -2084,7 +2084,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1251, + "id": 1256, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "262:7:2", @@ -2099,7 +2099,7 @@ ], "src": "261:9:2" }, - "scope": 1371, + "scope": 1376, "src": "204:381:2", "stateMutability": "pure", "superFunction": null, @@ -2107,7 +2107,7 @@ }, { "body": { - "id": 1301, + "id": 1306, "nodeType": "Block", "src": "762:203:2", "statements": [ @@ -2121,18 +2121,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1290, + "id": 1295, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1288, + "id": 1293, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1282, + "referencedDeclaration": 1287, "src": "776:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2144,7 +2144,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 1289, + "id": 1294, "isConstant": false, "isLValue": false, "isPure": true, @@ -2173,21 +2173,21 @@ "typeString": "bool" } ], - "id": 1287, + "id": 1292, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1389, - 1390 + 1394, + 1395 ], - "referencedDeclaration": 1389, + "referencedDeclaration": 1394, "src": "768:7:2", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 1291, + "id": 1296, "isConstant": false, "isLValue": false, "isPure": false, @@ -2201,21 +2201,21 @@ "typeString": "tuple()" } }, - "id": 1292, + "id": 1297, "nodeType": "ExpressionStatement", "src": "768:14:2" }, { "assignments": [ - 1294 + 1299 ], "declarations": [ { "constant": false, - "id": 1294, + "id": 1299, "name": "c", "nodeType": "VariableDeclaration", - "scope": 1302, + "scope": 1307, "src": "846:9:2", "stateVariable": false, "storageLocation": "default", @@ -2224,7 +2224,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1293, + "id": 1298, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "846:7:2", @@ -2237,25 +2237,25 @@ "visibility": "internal" } ], - "id": 1298, + "id": 1303, "initialValue": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1297, + "id": 1302, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1295, + "id": 1300, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1280, + "referencedDeclaration": 1285, "src": "858:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2266,11 +2266,11 @@ "operator": "/", "rightExpression": { "argumentTypes": null, - "id": 1296, + "id": 1301, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1282, + "referencedDeclaration": 1287, "src": "862:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2289,26 +2289,26 @@ { "expression": { "argumentTypes": null, - "id": 1299, + "id": 1304, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1294, + "referencedDeclaration": 1299, "src": "959:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 1286, - "id": 1300, + "functionReturnParameters": 1291, + "id": 1305, "nodeType": "Return", "src": "952:8:2" } ] }, "documentation": "@dev Integer division of two numbers truncating the quotient, reverts on division by zero.", - "id": 1302, + "id": 1307, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -2316,15 +2316,15 @@ "name": "div", "nodeType": "FunctionDefinition", "parameters": { - "id": 1283, + "id": 1288, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1280, + "id": 1285, "name": "a", "nodeType": "VariableDeclaration", - "scope": 1302, + "scope": 1307, "src": "708:9:2", "stateVariable": false, "storageLocation": "default", @@ -2333,7 +2333,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1279, + "id": 1284, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "708:7:2", @@ -2347,10 +2347,10 @@ }, { "constant": false, - "id": 1282, + "id": 1287, "name": "b", "nodeType": "VariableDeclaration", - "scope": 1302, + "scope": 1307, "src": "719:9:2", "stateVariable": false, "storageLocation": "default", @@ -2359,7 +2359,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1281, + "id": 1286, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "719:7:2", @@ -2376,15 +2376,15 @@ }, "payable": false, "returnParameters": { - "id": 1286, + "id": 1291, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1285, + "id": 1290, "name": "", "nodeType": "VariableDeclaration", - "scope": 1302, + "scope": 1307, "src": "753:7:2", "stateVariable": false, "storageLocation": "default", @@ -2393,7 +2393,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1284, + "id": 1289, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "753:7:2", @@ -2408,7 +2408,7 @@ ], "src": "752:9:2" }, - "scope": 1371, + "scope": 1376, "src": "695:270:2", "stateMutability": "pure", "superFunction": null, @@ -2416,7 +2416,7 @@ }, { "body": { - "id": 1325, + "id": 1330, "nodeType": "Block", "src": "1145:64:2", "statements": [ @@ -2430,18 +2430,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1314, + "id": 1319, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1312, + "id": 1317, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1306, + "referencedDeclaration": 1311, "src": "1159:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2452,11 +2452,11 @@ "operator": "<=", "rightExpression": { "argumentTypes": null, - "id": 1313, + "id": 1318, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1304, + "referencedDeclaration": 1309, "src": "1164:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2477,21 +2477,21 @@ "typeString": "bool" } ], - "id": 1311, + "id": 1316, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1389, - 1390 + 1394, + 1395 ], - "referencedDeclaration": 1389, + "referencedDeclaration": 1394, "src": "1151:7:2", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 1315, + "id": 1320, "isConstant": false, "isLValue": false, "isPure": false, @@ -2505,21 +2505,21 @@ "typeString": "tuple()" } }, - "id": 1316, + "id": 1321, "nodeType": "ExpressionStatement", "src": "1151:15:2" }, { "assignments": [ - 1318 + 1323 ], "declarations": [ { "constant": false, - "id": 1318, + "id": 1323, "name": "c", "nodeType": "VariableDeclaration", - "scope": 1326, + "scope": 1331, "src": "1172:9:2", "stateVariable": false, "storageLocation": "default", @@ -2528,7 +2528,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1317, + "id": 1322, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1172:7:2", @@ -2541,25 +2541,25 @@ "visibility": "internal" } ], - "id": 1322, + "id": 1327, "initialValue": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1321, + "id": 1326, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1319, + "id": 1324, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1304, + "referencedDeclaration": 1309, "src": "1184:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2570,11 +2570,11 @@ "operator": "-", "rightExpression": { "argumentTypes": null, - "id": 1320, + "id": 1325, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1306, + "referencedDeclaration": 1311, "src": "1188:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2593,26 +2593,26 @@ { "expression": { "argumentTypes": null, - "id": 1323, + "id": 1328, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1318, + "referencedDeclaration": 1323, "src": "1203:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 1310, - "id": 1324, + "functionReturnParameters": 1315, + "id": 1329, "nodeType": "Return", "src": "1196:8:2" } ] }, "documentation": "@dev Subtracts two numbers, reverts on overflow (i.e. if subtrahend is greater than minuend).", - "id": 1326, + "id": 1331, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -2620,15 +2620,15 @@ "name": "sub", "nodeType": "FunctionDefinition", "parameters": { - "id": 1307, + "id": 1312, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1304, + "id": 1309, "name": "a", "nodeType": "VariableDeclaration", - "scope": 1326, + "scope": 1331, "src": "1091:9:2", "stateVariable": false, "storageLocation": "default", @@ -2637,7 +2637,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1303, + "id": 1308, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1091:7:2", @@ -2651,10 +2651,10 @@ }, { "constant": false, - "id": 1306, + "id": 1311, "name": "b", "nodeType": "VariableDeclaration", - "scope": 1326, + "scope": 1331, "src": "1102:9:2", "stateVariable": false, "storageLocation": "default", @@ -2663,7 +2663,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1305, + "id": 1310, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1102:7:2", @@ -2680,15 +2680,15 @@ }, "payable": false, "returnParameters": { - "id": 1310, + "id": 1315, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1309, + "id": 1314, "name": "", "nodeType": "VariableDeclaration", - "scope": 1326, + "scope": 1331, "src": "1136:7:2", "stateVariable": false, "storageLocation": "default", @@ -2697,7 +2697,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1308, + "id": 1313, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1136:7:2", @@ -2712,7 +2712,7 @@ ], "src": "1135:9:2" }, - "scope": 1371, + "scope": 1376, "src": "1078:131:2", "stateMutability": "pure", "superFunction": null, @@ -2720,21 +2720,21 @@ }, { "body": { - "id": 1349, + "id": 1354, "nodeType": "Block", "src": "1339:64:2", "statements": [ { "assignments": [ - 1336 + 1341 ], "declarations": [ { "constant": false, - "id": 1336, + "id": 1341, "name": "c", "nodeType": "VariableDeclaration", - "scope": 1350, + "scope": 1355, "src": "1345:9:2", "stateVariable": false, "storageLocation": "default", @@ -2743,7 +2743,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1335, + "id": 1340, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1345:7:2", @@ -2756,25 +2756,25 @@ "visibility": "internal" } ], - "id": 1340, + "id": 1345, "initialValue": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1339, + "id": 1344, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1337, + "id": 1342, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1328, + "referencedDeclaration": 1333, "src": "1357:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2785,11 +2785,11 @@ "operator": "+", "rightExpression": { "argumentTypes": null, - "id": 1338, + "id": 1343, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1330, + "referencedDeclaration": 1335, "src": "1361:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2815,18 +2815,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1344, + "id": 1349, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1342, + "id": 1347, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1336, + "referencedDeclaration": 1341, "src": "1376:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2837,11 +2837,11 @@ "operator": ">=", "rightExpression": { "argumentTypes": null, - "id": 1343, + "id": 1348, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1328, + "referencedDeclaration": 1333, "src": "1381:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2862,21 +2862,21 @@ "typeString": "bool" } ], - "id": 1341, + "id": 1346, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1389, - 1390 + 1394, + 1395 ], - "referencedDeclaration": 1389, + "referencedDeclaration": 1394, "src": "1368:7:2", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 1345, + "id": 1350, "isConstant": false, "isLValue": false, "isPure": false, @@ -2890,33 +2890,33 @@ "typeString": "tuple()" } }, - "id": 1346, + "id": 1351, "nodeType": "ExpressionStatement", "src": "1368:15:2" }, { "expression": { "argumentTypes": null, - "id": 1347, + "id": 1352, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1336, + "referencedDeclaration": 1341, "src": "1397:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 1334, - "id": 1348, + "functionReturnParameters": 1339, + "id": 1353, "nodeType": "Return", "src": "1390:8:2" } ] }, "documentation": "@dev Adds two numbers, reverts on overflow.", - "id": 1350, + "id": 1355, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -2924,15 +2924,15 @@ "name": "add", "nodeType": "FunctionDefinition", "parameters": { - "id": 1331, + "id": 1336, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1328, + "id": 1333, "name": "a", "nodeType": "VariableDeclaration", - "scope": 1350, + "scope": 1355, "src": "1285:9:2", "stateVariable": false, "storageLocation": "default", @@ -2941,7 +2941,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1327, + "id": 1332, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1285:7:2", @@ -2955,10 +2955,10 @@ }, { "constant": false, - "id": 1330, + "id": 1335, "name": "b", "nodeType": "VariableDeclaration", - "scope": 1350, + "scope": 1355, "src": "1296:9:2", "stateVariable": false, "storageLocation": "default", @@ -2967,7 +2967,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1329, + "id": 1334, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1296:7:2", @@ -2984,15 +2984,15 @@ }, "payable": false, "returnParameters": { - "id": 1334, + "id": 1339, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1333, + "id": 1338, "name": "", "nodeType": "VariableDeclaration", - "scope": 1350, + "scope": 1355, "src": "1330:7:2", "stateVariable": false, "storageLocation": "default", @@ -3001,7 +3001,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1332, + "id": 1337, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1330:7:2", @@ -3016,7 +3016,7 @@ ], "src": "1329:9:2" }, - "scope": 1371, + "scope": 1376, "src": "1272:131:2", "stateMutability": "pure", "superFunction": null, @@ -3024,7 +3024,7 @@ }, { "body": { - "id": 1369, + "id": 1374, "nodeType": "Block", "src": "1602:44:2", "statements": [ @@ -3038,18 +3038,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1362, + "id": 1367, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1360, + "id": 1365, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1354, + "referencedDeclaration": 1359, "src": "1616:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -3061,7 +3061,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 1361, + "id": 1366, "isConstant": false, "isLValue": false, "isPure": true, @@ -3090,21 +3090,21 @@ "typeString": "bool" } ], - "id": 1359, + "id": 1364, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1389, - 1390 + 1394, + 1395 ], - "referencedDeclaration": 1389, + "referencedDeclaration": 1394, "src": "1608:7:2", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 1363, + "id": 1368, "isConstant": false, "isLValue": false, "isPure": false, @@ -3118,7 +3118,7 @@ "typeString": "tuple()" } }, - "id": 1364, + "id": 1369, "nodeType": "ExpressionStatement", "src": "1608:15:2" }, @@ -3129,18 +3129,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1367, + "id": 1372, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1365, + "id": 1370, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1352, + "referencedDeclaration": 1357, "src": "1636:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -3151,11 +3151,11 @@ "operator": "%", "rightExpression": { "argumentTypes": null, - "id": 1366, + "id": 1371, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1354, + "referencedDeclaration": 1359, "src": "1640:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -3168,15 +3168,15 @@ "typeString": "uint256" } }, - "functionReturnParameters": 1358, - "id": 1368, + "functionReturnParameters": 1363, + "id": 1373, "nodeType": "Return", "src": "1629:12:2" } ] }, "documentation": "@dev Divides two numbers and returns the remainder (unsigned integer modulo),\nreverts when dividing by zero.", - "id": 1370, + "id": 1375, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -3184,15 +3184,15 @@ "name": "mod", "nodeType": "FunctionDefinition", "parameters": { - "id": 1355, + "id": 1360, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1352, + "id": 1357, "name": "a", "nodeType": "VariableDeclaration", - "scope": 1370, + "scope": 1375, "src": "1548:9:2", "stateVariable": false, "storageLocation": "default", @@ -3201,7 +3201,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1351, + "id": 1356, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1548:7:2", @@ -3215,10 +3215,10 @@ }, { "constant": false, - "id": 1354, + "id": 1359, "name": "b", "nodeType": "VariableDeclaration", - "scope": 1370, + "scope": 1375, "src": "1559:9:2", "stateVariable": false, "storageLocation": "default", @@ -3227,7 +3227,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1353, + "id": 1358, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1559:7:2", @@ -3244,15 +3244,15 @@ }, "payable": false, "returnParameters": { - "id": 1358, + "id": 1363, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1357, + "id": 1362, "name": "", "nodeType": "VariableDeclaration", - "scope": 1370, + "scope": 1375, "src": "1593:7:2", "stateVariable": false, "storageLocation": "default", @@ -3261,7 +3261,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1356, + "id": 1361, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1593:7:2", @@ -3276,14 +3276,14 @@ ], "src": "1592:9:2" }, - "scope": 1371, + "scope": 1376, "src": "1535:111:2", "stateMutability": "pure", "superFunction": null, "visibility": "internal" } ], - "scope": 1372, + "scope": 1377, "src": "117:1531:2" } ], @@ -3295,5 +3295,5 @@ }, "networks": {}, "schemaVersion": "2.0.1", - "updatedAt": "2018-10-24T15:24:21.036Z" + "updatedAt": "2018-11-03T15:38:22.715Z" } \ No newline at end of file diff --git a/contracts/escrow/Escrow_v1_0.sol b/contracts/escrow/Escrow_v1_0.sol index a08b17d..961bcfc 100644 --- a/contracts/escrow/Escrow_v1_0.sol +++ b/contracts/escrow/Escrow_v1_0.sol @@ -486,10 +486,7 @@ contract Escrow_v1_0 { require(token.transfer(destinations[j], amounts[j]), "Token transfer failed."); } - } else { - //transaction type is not supported. Ideally this state should never be reached - revert("Transation type is not supported."); - } + } } //to check whether the signature are valid or not and if consensus was reached From d11fdd9326eebb115ef010d310961966118c9ec5 Mon Sep 17 00:00:00 2001 From: Sameep Singhania Date: Mon, 19 Nov 2018 16:28:50 +0530 Subject: [PATCH 02/19] Removing scriptHash field from Transaction struct --- build/contracts/Escrow_v1_0.json | 3860 +++++++++++++-------------- build/contracts/ITokenContract.json | 182 +- build/contracts/SafeMath.json | 818 +++--- contracts/escrow/Escrow_v1_0.sol | 2 - test/escrow/1_Escrow_v1_0_test.js | 122 +- 5 files changed, 2416 insertions(+), 2568 deletions(-) diff --git a/build/contracts/Escrow_v1_0.json b/build/contracts/Escrow_v1_0.json index fc9a829..7f0995b 100644 --- a/build/contracts/Escrow_v1_0.json +++ b/build/contracts/Escrow_v1_0.json @@ -422,20 +422,20 @@ "type": "function" } ], - "bytecode": "0x6080604052600060015534801561001557600080fd5b506142a3806100256000396000f3006080604052600436106100ba576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806323b6fd3f146100bf5780632d9ef96e1461017957806346fbcdeb1461019d57806357bced7614610292578063642f2eaf14610383578063b0550c66146104f4578063b719e2801461055d578063b77bf60014610598578063be84ceaf146105c3578063e4ec8b001461065b578063f078656214610704578063f5dbe09c1461076d575b600080fd5b610177600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff169060200190929190803563ffffffff169060200190929190803560001916906020019092919080356bffffffffffffffffffffffff191690602001909291905050506107d6565b005b61019b6004803603810190808035600019169060200190929190505050610a35565b005b3480156101a957600080fd5b5061027460048036038101908080356bffffffffffffffffffffffff19169060200190929190803560ff169060200190929190803563ffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610ec3565b60405180826000191660001916815260200191505060405180910390f35b34801561029e57600080fd5b50610381600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff169060200190929190803563ffffffff16906020019092919080356000191690602001909291908035906020019092919080356bffffffffffffffffffffffff19169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061136f565b005b34801561038f57600080fd5b506103b2600480360381019080803560001916906020019092919050505061184f565b604051808c600019166000191681526020018b81526020018a81526020018960018111156103dc57fe5b60ff1681526020018860018111156103f057fe5b60ff1681526020018760ff1660ff1681526020018663ffffffff1663ffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019b50505050505050505050505060405180910390f35b34801561050057600080fd5b506105436004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611960565b604051808215151515815260200191505060405180910390f35b34801561056957600080fd5b506105966004803603810190808035600019169060200190929190803590602001909291905050506119d2565b005b3480156105a457600080fd5b506105ad6120b2565b6040518082815260200191505060405180910390f35b3480156105cf57600080fd5b50610604600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506120b8565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b8381101561064757808201518184015260208101905061062c565b505050509050019250505060405180910390f35b34801561066757600080fd5b506107026004803603810190808035906020019082018035906020019190919293919293908035906020019082018035906020019190919293919293908035906020019082018035906020019190919293919293908035600019169060200190929190803590602001908201803590602001919091929391929390803590602001908201803590602001919091929391929390505050612153565b005b34801561071057600080fd5b506107536004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506126b5565b604051808215151515815260200191505060405180910390f35b34801561077957600080fd5b506107b8600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050612727565b60405180826000191660001916815260200191505060405180910390f35b81600080600083600019166000191681526020019081526020016000206001015414151561086c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f5472616e73616374696f6e20657869737473000000000000000000000000000081525060200191505060405180910390fd5b87600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610912576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b87600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156109b8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b6109cb8a8a8a8a8a8a348b600080612757565b3373ffffffffffffffffffffffffffffffffffffffff167fce7089d0668849fb9ca29778c0cbf1e764d9efb048d81fd71fb34c94f26db36886346040518083600019166000191681526020018281526020019250505060405180910390a250505050505050505050565b600081600080600083600019166000191681526020019081526020016000206001015414151515610ace576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737473000000000081525060200191505060405180910390fd5b8260006001811115610adc57fe5b600080836000191660001916815260200190815260200160002060030160009054906101000a900460ff166001811115610b1257fe5b141515610bad576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001807f5472616e73616374696f6e2069732065697468657220696e206469737075746581526020017f206f722072656c6561736564207374617465000000000000000000000000000081525060400191505060405180910390fd5b836000806001811115610bbc57fe5b600080846000191660001916815260200190815260200160002060030160019054906101000a900460ff166001811115610bf257fe5b141515610c67576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5472616e73616374696f6e207479706520646f6573206e6f74206d617463680081525060200191505060405180910390fd5b85600080826000191660001916815260200190815260200160002060030160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610d6e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f54686520696e69746961746f72206f6620746865207472616e73616374696f6e81526020017f206973206e6f742062757965720000000000000000000000000000000000000081525060400191505060405180910390fd5b349550600086111515610de9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f56616c7565206d7573742062652067726561746572207468616e207a65726f2e81525060200191505060405180910390fd5b610e19866000808a60001916600019168152602001908152602001600020600101546130fe90919063ffffffff16565b600080896000191660001916815260200190815260200160002060010181905550426000808960001916600019168152602001908152602001600020600201819055503373ffffffffffffffffffffffffffffffffffffffff167ff66fd2ae9e24a6a24b02e1b5b7512ffde5149a4176085fc0298ae228c9b9d72988886040518083600019166000191681526020018281526020019250505060405180910390a250505050505050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561110f578787878787873060405160200180886bffffffffffffffffffffffff19166bffffffffffffffffffffffff191681526014018760ff1660ff167f01000000000000000000000000000000000000000000000000000000000000000281526001018663ffffffff1663ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014019750505050505050506040516020818303038152906040526040518082805190602001908083835b6020831015156110db57805182526020820191506020810190506020830392506110b6565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390209050611364565b878787878787308860405160200180896bffffffffffffffffffffffff19166bffffffffffffffffffffffff191681526014018860ff1660ff167f01000000000000000000000000000000000000000000000000000000000000000281526001018763ffffffff1663ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401985050505050505050506040516020818303038152906040526040518082805190602001908083835b602083101515611334578051825260208201915060208101905060208303925061130f565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902090505b979650505050505050565b6000846000806000836000191660001916815260200190815260200160002060010154141515611407576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f5472616e73616374696f6e20657869737473000000000000000000000000000081525060200191505060405180910390fd5b8a600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156114ad576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b8a600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515611553576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b84600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156115f9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b61160c8e8e8e8e8e8e8e8e60018f612757565b8594508473ffffffffffffffffffffffffffffffffffffffff166323b872dd33308b6040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b1580156116e657600080fd5b505af11580156116fa573d6000803e3d6000fd5b505050506040513d602081101561171057600080fd5b810190808051906020019092919050505015156117e1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252605c8152602001807f546f6b656e207472616e73666572206661696c65642c206d6179626520796f7581526020017f20646964206e6f7420617070726f766520657363726f7720636f6e747261637481526020017f20746f207370656e64206f6e20626568616c66206f662062757965720000000081525060600191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff167fce7089d0668849fb9ca29778c0cbf1e764d9efb048d81fd71fb34c94f26db3688a8a6040518083600019166000191681526020018281526020019250505060405180910390a25050505050505050505050505050565b60006020528060005260406000206000915090508060000154908060010154908060020154908060030160009054906101000a900460ff16908060030160019054906101000a900460ff16908060030160029054906101000a900460ff16908060030160039054906101000a900463ffffffff16908060030160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060050160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060060160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508b565b6000806000846000191660001916815260200190815260200160002060090160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b60008083600080600083600019166000191681526020019081526020016000206001015414151515611a6c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737473000000000081525060200191505060405180910390fd5b8460006001811115611a7a57fe5b600080836000191660001916815260200190815260200160002060030160009054906101000a900460ff166001811115611ab057fe5b141515611b4b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001807f5472616e73616374696f6e2069732065697468657220696e206469737075746581526020017f206f722072656c6561736564207374617465000000000000000000000000000081525060400191505060405180910390fd5b856001806001811115611b5a57fe5b600080846000191660001916815260200190815260200160002060030160019054906101000a900460ff166001811115611b9057fe5b141515611c05576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5472616e73616374696f6e207479706520646f6573206e6f74206d617463680081525060200191505060405180910390fd5b87600080826000191660001916815260200190815260200160002060030160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611d0c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f54686520696e69746961746f72206f6620746865207472616e73616374696f6e81526020017f206973206e6f742062757965720000000000000000000000000000000000000081525060400191505060405180910390fd5b879650600087111515611d87576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f56616c7565206d7573742062652067726561746572207468616e207a65726f2e81525060200191505060405180910390fd5b6000808a6000191660001916815260200190815260200160002060050160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1695508573ffffffffffffffffffffffffffffffffffffffff166323b872dd6000808c6000191660001916815260200190815260200160002060030160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff16308b6040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b158015611edb57600080fd5b505af1158015611eef573d6000803e3d6000fd5b505050506040513d6020811015611f0557600080fd5b81019080805190602001909291905050501515611fd6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252605c8152602001807f546f6b656e207472616e73666572206661696c65642c206d6179626520796f7581526020017f20646964206e6f7420617070726f766520657363726f7720636f6e747261637481526020017f20746f207370656e64206f6e20626568616c66206f662062757965720000000081525060600191505060405180910390fd5b612006876000808c60001916600019168152602001908152602001600020600101546130fe90919063ffffffff16565b6000808b6000191660001916815260200190815260200160002060010181905550426000808b60001916600019168152602001908152602001600020600201819055503373ffffffffffffffffffffffffffffffffffffffff167ff66fd2ae9e24a6a24b02e1b5b7512ffde5149a4176085fc0298ae228c9b9d7298a896040518083600019166000191681526020018281526020019250505060405180910390a2505050505050505050565b60015481565b6060600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080548060200260200160405190810160405280929190818152602001828054801561214757602002820191906000526020600020905b8154600019168152602001906001019080831161212f575b50505050509050919050565b846000806000836000191660001916815260200190815260200160002060010154141515156121ea576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737473000000000081525060200191505060405180910390fd5b85600060018111156121f857fe5b600080836000191660001916815260200190815260200160002060030160009054906101000a900460ff16600181111561222e57fe5b1415156122c9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001807f5472616e73616374696f6e2069732065697468657220696e206469737075746581526020017f206f722072656c6561736564207374617465000000000000000000000000000081525060400191505060405180910390fd5b6000868690501180156122e157508383905086869050145b151561237b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001807f4c656e677468206f662064657374696e6174696f6e7320697320696e636f727281526020017f6563742e0000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b6124748d8d808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508c8c808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508b8b808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508a8a8a8080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505089898080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505061311f565b6001600080896000191660001916815260200190815260200160002060030160006101000a81548160ff021916908360018111156124ae57fe5b02179055504260008089600019166000191681526020019081526020016000206002018190555060008088600019166000191681526020019081526020016000206001015461255c888888808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508787808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050506132da565b14151561261d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260488152602001807f546f74616c2076616c756520746f2062652072656c6561736564206d7573742081526020017f626520657175616c20746f20746865207472616e73616374696f6e206573637281526020017f6f772076616c756500000000000000000000000000000000000000000000000081525060600191505060405180910390fd5b7f688e2a1b34445bcd47b0e11ba2a9c8c4d850a1831b64199b59d1c70e2970154587878787876040518086600019166000191681526020018060200180602001838103835287878281815260200192506020028082843782019150508381038252858582818152602001925060200280828437820191505097505050505050505060405180910390a150505050505050505050505050565b6000806000846000191660001916815260200190815260200160002060080160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b60026020528160005260406000208181548110151561274257fe5b90600052602060002001600091509150505481565b8873ffffffffffffffffffffffffffffffffffffffff168a73ffffffffffffffffffffffffffffffffffffffff16141515156127fb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f427579657220616e642073656c6c6572206172652073616d650000000000000081525060200191505060405180910390fd5b600084111515612873576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f56616c756520706173736564206973203000000000000000000000000000000081525060200191505060405180910390fd5b60008760ff1611801561288a575060038760ff1611155b1515612924576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603d8152602001807f5468726573686f6c642063616e6e6f742062652067726561746572207468616e81526020017f203320616e64206d7573742062652067726561746572207468616e203000000081525060400191505060405180910390fd5b60018760ff1614806129635750600073ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff1614155b1515612a23576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252604f8152602001807f456974686572207468726573686f6c642073686f756c642062652031206f746881526020017f6572776973652076616c6964206d6f64657261746f722061646472657373207381526020017f686f756c6420626520706173736564000000000000000000000000000000000081525060600191505060405180910390fd5b612a328388888d8d8d87610ec3565b600019168560001916141515612ad6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260398152602001807f43616c63756c6174656420736372697074206861736820646f6573206e6f742081526020017f6d61746368207061737365642073637269707420686173682e0000000000000081525060400191505060405180910390fd5b610160604051908101604052808660001916815260200185815260200142815260200160006001811115612b0657fe5b8152602001836001811115612b1757fe5b81526020018860ff1681526020018763ffffffff1681526020018b73ffffffffffffffffffffffffffffffffffffffff1681526020018a73ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020018973ffffffffffffffffffffffffffffffffffffffff16815250600080876000191660001916815260200190815260200160002060008201518160000190600019169055602082015181600101556040820151816002015560608201518160030160006101000a81548160ff02191690836001811115612c0157fe5b021790555060808201518160030160016101000a81548160ff02191690836001811115612c2a57fe5b021790555060a08201518160030160026101000a81548160ff021916908360ff16021790555060c08201518160030160036101000a81548163ffffffff021916908363ffffffff16021790555060e08201518160030160076101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506101008201518160040160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506101208201518160050160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506101408201518160060160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055509050506001600080876000191660001916815260200190815260200160002060070160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600080876000191660001916815260200190815260200160002060070160008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600080866000191660001916815260200190815260200160002060070160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151515612f82576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f456974686572206275796572206f722073656c6c65722069732070617373656481526020017f206173206d6f64657261746f720000000000000000000000000000000000000081525060400191505060405180910390fd5b60018760ff161115613002576001600080876000191660001916815260200190815260200160002060070160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b600160008154809291906001019190505550600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020859080600181540180825580915050906001820390600052602060002001600090919290919091509060001916905550600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002085908060018154018082558091505090600182039060005260206000200160009091929091909150906000191690555050505050505050505050565b600080828401905083811015151561311557600080fd5b8091505092915050565b600080613130888888888888613b51565b9150613186600080876000191660001916815260200190815260200160002060030160039054906101000a900463ffffffff166000808860001916600019168152602001908152602001600020600201546141c4565b9050600080866000191660001916815260200190815260200160002060030160029054906101000a900460ff1660ff16885110801561323757508015806132365750600080866000191660001916815260200190815260200160002060040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b5b156132d0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001807f736967562e6c656e67746820697320756e64657220746865207468726573686f81526020017f6c642e000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b5050505050505050565b6000806000806000806000896000191660001916815260200190815260200160002093506000600181111561330b57fe5b8460030160019054906101000a900460ff16600181111561332857fe5b141561363f57600092505b865183101561363a57600073ffffffffffffffffffffffffffffffffffffffff16878481518110151561336257fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff16141580156133f25750836007016000888581518110151561339f57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1515613466576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f4e6f7420612076616c69642064657374696e6174696f6e00000000000000000081525060200191505060405180910390fd5b6000868481518110151561347657fe5b9060200190602002015111151561351b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001807f416d6f756e7420746f2062652073656e742073686f756c64206265206772656181526020017f746572207468616e20300000000000000000000000000000000000000000000081525060400191505060405180910390fd5b613545868481518110151561352c57fe5b90602001906020020151866130fe90919063ffffffff16565b94506001846009016000898681518110151561355d57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555086838151811015156135c657fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff166108fc87858151811015156135f757fe5b906020019060200201519081150290604051600060405180830381858888f1935050505015801561362c573d6000803e3d6000fd5b508280600101935050613333565b613b46565b60018081111561364b57fe5b8460030160019054906101000a900460ff16600181111561366857fe5b1415613ab1578360050160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169150600090505b8651811015613aac57600073ffffffffffffffffffffffffffffffffffffffff1687828151811015156136c957fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff16141580156137595750836007016000888381518110151561370657fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15156137cd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f4e6f7420612076616c69642064657374696e6174696f6e00000000000000000081525060200191505060405180910390fd5b600086828151811015156137dd57fe5b90602001906020020151111515613882576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001807f416d6f756e7420746f2062652073656e742073686f756c64206265206772656181526020017f746572207468616e20300000000000000000000000000000000000000000000081525060400191505060405180910390fd5b6138ac868281518110151561389357fe5b90602001906020020151866130fe90919063ffffffff16565b9450600184600901600089848151811015156138c457fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb888381518110151561394957fe5b90602001906020020151888481518110151561396157fe5b906020019060200201516040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1580156139f057600080fd5b505af1158015613a04573d6000803e3d6000fd5b505050506040513d6020811015613a1a57600080fd5b81019080805190602001909291905050501515613a9f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f546f6b656e207472616e73666572206661696c65642e0000000000000000000081525060200191505060405180910390fd5b808060010191505061369a565b613b45565b6040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001807f5472616e736174696f6e2074797065206973206e6f7420737570706f7274656481526020017f2e0000000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b5b505050509392505050565b60008060008087518951148015613b69575089518951145b1515613bdd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f522c532c56206c656e677468206d69736d617463682e0000000000000000000081525060200191505060405180910390fd5b60197f01000000000000000000000000000000000000000000000000000000000000000260007f0100000000000000000000000000000000000000000000000000000000000000023088888b60405160200180877effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168152600101867effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526001018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401848051906020019060200280838360005b83811015613d31578082015181840152602081019050613d16565b50505050905001838051906020019060200280838360005b83811015613d64578082015181840152602081019050613d49565b50505050905001826000191660001916815260200196505050505050506040516020818303038152906040526040518082805190602001908083835b602083101515613dc55780518252602082019150602081019050602083039250613da0565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902060405160200180807f19457468657265756d205369676e6564204d6573736167653a0a333200000000815250601c0182600019166000191681526020019150506040516020818303038152906040526040518082805190602001908083835b602083101515613e765780518252602082019150602081019050602083039250613e51565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390209250600091505b88518210156141b7576001838b84815181101515613ec457fe5b906020019060200201518b85815181101515613edc57fe5b906020019060200201518b86815181101515613ef457fe5b90602001906020020151604051600081526020016040526040518085600019166000191681526020018460ff1660ff1681526020018360001916600019168152602001826000191660001916815260200194505050505060206040516020810390808403906000865af1158015613f6f573d6000803e3d6000fd5b505050602060405103519050600080886000191660001916815260200190815260200160002060070160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515614057576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f496e76616c6964207369676e617475726500000000000000000000000000000081525060200191505060405180910390fd5b600080886000191660001916815260200190815260200160002060080160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151515614134576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f53616d65207369676e61747572652073656e742074776963650000000000000081525060200191505060405180910390fd5b6001600080896000191660001916815260200190815260200160002060080160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508093508180600101925050613eaa565b5050509695505050505050565b6000806141da834261421890919063ffffffff16565b905060008463ffffffff161461420c57614205610e108563ffffffff1661423990919063ffffffff16565b811161420f565b60005b91505092915050565b60008083831115151561422a57600080fd5b82840390508091505092915050565b600080600084141561424e5760009150614270565b828402905082848281151561425f57fe5b0414151561426c57600080fd5b8091505b50929150505600a165627a7a72305820bc6b7965a447e9f309338b9f88317978dd00401be47e7f6211fd2a7eaec58f1d0029", - "deployedBytecode": "0x6080604052600436106100ba576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806323b6fd3f146100bf5780632d9ef96e1461017957806346fbcdeb1461019d57806357bced7614610292578063642f2eaf14610383578063b0550c66146104f4578063b719e2801461055d578063b77bf60014610598578063be84ceaf146105c3578063e4ec8b001461065b578063f078656214610704578063f5dbe09c1461076d575b600080fd5b610177600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff169060200190929190803563ffffffff169060200190929190803560001916906020019092919080356bffffffffffffffffffffffff191690602001909291905050506107d6565b005b61019b6004803603810190808035600019169060200190929190505050610a35565b005b3480156101a957600080fd5b5061027460048036038101908080356bffffffffffffffffffffffff19169060200190929190803560ff169060200190929190803563ffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610ec3565b60405180826000191660001916815260200191505060405180910390f35b34801561029e57600080fd5b50610381600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff169060200190929190803563ffffffff16906020019092919080356000191690602001909291908035906020019092919080356bffffffffffffffffffffffff19169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061136f565b005b34801561038f57600080fd5b506103b2600480360381019080803560001916906020019092919050505061184f565b604051808c600019166000191681526020018b81526020018a81526020018960018111156103dc57fe5b60ff1681526020018860018111156103f057fe5b60ff1681526020018760ff1660ff1681526020018663ffffffff1663ffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019b50505050505050505050505060405180910390f35b34801561050057600080fd5b506105436004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611960565b604051808215151515815260200191505060405180910390f35b34801561056957600080fd5b506105966004803603810190808035600019169060200190929190803590602001909291905050506119d2565b005b3480156105a457600080fd5b506105ad6120b2565b6040518082815260200191505060405180910390f35b3480156105cf57600080fd5b50610604600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506120b8565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b8381101561064757808201518184015260208101905061062c565b505050509050019250505060405180910390f35b34801561066757600080fd5b506107026004803603810190808035906020019082018035906020019190919293919293908035906020019082018035906020019190919293919293908035906020019082018035906020019190919293919293908035600019169060200190929190803590602001908201803590602001919091929391929390803590602001908201803590602001919091929391929390505050612153565b005b34801561071057600080fd5b506107536004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506126b5565b604051808215151515815260200191505060405180910390f35b34801561077957600080fd5b506107b8600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050612727565b60405180826000191660001916815260200191505060405180910390f35b81600080600083600019166000191681526020019081526020016000206001015414151561086c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f5472616e73616374696f6e20657869737473000000000000000000000000000081525060200191505060405180910390fd5b87600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610912576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b87600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156109b8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b6109cb8a8a8a8a8a8a348b600080612757565b3373ffffffffffffffffffffffffffffffffffffffff167fce7089d0668849fb9ca29778c0cbf1e764d9efb048d81fd71fb34c94f26db36886346040518083600019166000191681526020018281526020019250505060405180910390a250505050505050505050565b600081600080600083600019166000191681526020019081526020016000206001015414151515610ace576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737473000000000081525060200191505060405180910390fd5b8260006001811115610adc57fe5b600080836000191660001916815260200190815260200160002060030160009054906101000a900460ff166001811115610b1257fe5b141515610bad576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001807f5472616e73616374696f6e2069732065697468657220696e206469737075746581526020017f206f722072656c6561736564207374617465000000000000000000000000000081525060400191505060405180910390fd5b836000806001811115610bbc57fe5b600080846000191660001916815260200190815260200160002060030160019054906101000a900460ff166001811115610bf257fe5b141515610c67576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5472616e73616374696f6e207479706520646f6573206e6f74206d617463680081525060200191505060405180910390fd5b85600080826000191660001916815260200190815260200160002060030160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610d6e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f54686520696e69746961746f72206f6620746865207472616e73616374696f6e81526020017f206973206e6f742062757965720000000000000000000000000000000000000081525060400191505060405180910390fd5b349550600086111515610de9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f56616c7565206d7573742062652067726561746572207468616e207a65726f2e81525060200191505060405180910390fd5b610e19866000808a60001916600019168152602001908152602001600020600101546130fe90919063ffffffff16565b600080896000191660001916815260200190815260200160002060010181905550426000808960001916600019168152602001908152602001600020600201819055503373ffffffffffffffffffffffffffffffffffffffff167ff66fd2ae9e24a6a24b02e1b5b7512ffde5149a4176085fc0298ae228c9b9d72988886040518083600019166000191681526020018281526020019250505060405180910390a250505050505050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561110f578787878787873060405160200180886bffffffffffffffffffffffff19166bffffffffffffffffffffffff191681526014018760ff1660ff167f01000000000000000000000000000000000000000000000000000000000000000281526001018663ffffffff1663ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014019750505050505050506040516020818303038152906040526040518082805190602001908083835b6020831015156110db57805182526020820191506020810190506020830392506110b6565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390209050611364565b878787878787308860405160200180896bffffffffffffffffffffffff19166bffffffffffffffffffffffff191681526014018860ff1660ff167f01000000000000000000000000000000000000000000000000000000000000000281526001018763ffffffff1663ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401985050505050505050506040516020818303038152906040526040518082805190602001908083835b602083101515611334578051825260208201915060208101905060208303925061130f565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902090505b979650505050505050565b6000846000806000836000191660001916815260200190815260200160002060010154141515611407576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f5472616e73616374696f6e20657869737473000000000000000000000000000081525060200191505060405180910390fd5b8a600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156114ad576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b8a600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515611553576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b84600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156115f9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b61160c8e8e8e8e8e8e8e8e60018f612757565b8594508473ffffffffffffffffffffffffffffffffffffffff166323b872dd33308b6040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b1580156116e657600080fd5b505af11580156116fa573d6000803e3d6000fd5b505050506040513d602081101561171057600080fd5b810190808051906020019092919050505015156117e1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252605c8152602001807f546f6b656e207472616e73666572206661696c65642c206d6179626520796f7581526020017f20646964206e6f7420617070726f766520657363726f7720636f6e747261637481526020017f20746f207370656e64206f6e20626568616c66206f662062757965720000000081525060600191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff167fce7089d0668849fb9ca29778c0cbf1e764d9efb048d81fd71fb34c94f26db3688a8a6040518083600019166000191681526020018281526020019250505060405180910390a25050505050505050505050505050565b60006020528060005260406000206000915090508060000154908060010154908060020154908060030160009054906101000a900460ff16908060030160019054906101000a900460ff16908060030160029054906101000a900460ff16908060030160039054906101000a900463ffffffff16908060030160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060050160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060060160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508b565b6000806000846000191660001916815260200190815260200160002060090160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b60008083600080600083600019166000191681526020019081526020016000206001015414151515611a6c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737473000000000081525060200191505060405180910390fd5b8460006001811115611a7a57fe5b600080836000191660001916815260200190815260200160002060030160009054906101000a900460ff166001811115611ab057fe5b141515611b4b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001807f5472616e73616374696f6e2069732065697468657220696e206469737075746581526020017f206f722072656c6561736564207374617465000000000000000000000000000081525060400191505060405180910390fd5b856001806001811115611b5a57fe5b600080846000191660001916815260200190815260200160002060030160019054906101000a900460ff166001811115611b9057fe5b141515611c05576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5472616e73616374696f6e207479706520646f6573206e6f74206d617463680081525060200191505060405180910390fd5b87600080826000191660001916815260200190815260200160002060030160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611d0c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f54686520696e69746961746f72206f6620746865207472616e73616374696f6e81526020017f206973206e6f742062757965720000000000000000000000000000000000000081525060400191505060405180910390fd5b879650600087111515611d87576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f56616c7565206d7573742062652067726561746572207468616e207a65726f2e81525060200191505060405180910390fd5b6000808a6000191660001916815260200190815260200160002060050160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1695508573ffffffffffffffffffffffffffffffffffffffff166323b872dd6000808c6000191660001916815260200190815260200160002060030160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff16308b6040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b158015611edb57600080fd5b505af1158015611eef573d6000803e3d6000fd5b505050506040513d6020811015611f0557600080fd5b81019080805190602001909291905050501515611fd6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252605c8152602001807f546f6b656e207472616e73666572206661696c65642c206d6179626520796f7581526020017f20646964206e6f7420617070726f766520657363726f7720636f6e747261637481526020017f20746f207370656e64206f6e20626568616c66206f662062757965720000000081525060600191505060405180910390fd5b612006876000808c60001916600019168152602001908152602001600020600101546130fe90919063ffffffff16565b6000808b6000191660001916815260200190815260200160002060010181905550426000808b60001916600019168152602001908152602001600020600201819055503373ffffffffffffffffffffffffffffffffffffffff167ff66fd2ae9e24a6a24b02e1b5b7512ffde5149a4176085fc0298ae228c9b9d7298a896040518083600019166000191681526020018281526020019250505060405180910390a2505050505050505050565b60015481565b6060600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080548060200260200160405190810160405280929190818152602001828054801561214757602002820191906000526020600020905b8154600019168152602001906001019080831161212f575b50505050509050919050565b846000806000836000191660001916815260200190815260200160002060010154141515156121ea576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737473000000000081525060200191505060405180910390fd5b85600060018111156121f857fe5b600080836000191660001916815260200190815260200160002060030160009054906101000a900460ff16600181111561222e57fe5b1415156122c9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001807f5472616e73616374696f6e2069732065697468657220696e206469737075746581526020017f206f722072656c6561736564207374617465000000000000000000000000000081525060400191505060405180910390fd5b6000868690501180156122e157508383905086869050145b151561237b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001807f4c656e677468206f662064657374696e6174696f6e7320697320696e636f727281526020017f6563742e0000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b6124748d8d808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508c8c808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508b8b808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508a8a8a8080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505089898080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505061311f565b6001600080896000191660001916815260200190815260200160002060030160006101000a81548160ff021916908360018111156124ae57fe5b02179055504260008089600019166000191681526020019081526020016000206002018190555060008088600019166000191681526020019081526020016000206001015461255c888888808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508787808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050506132da565b14151561261d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260488152602001807f546f74616c2076616c756520746f2062652072656c6561736564206d7573742081526020017f626520657175616c20746f20746865207472616e73616374696f6e206573637281526020017f6f772076616c756500000000000000000000000000000000000000000000000081525060600191505060405180910390fd5b7f688e2a1b34445bcd47b0e11ba2a9c8c4d850a1831b64199b59d1c70e2970154587878787876040518086600019166000191681526020018060200180602001838103835287878281815260200192506020028082843782019150508381038252858582818152602001925060200280828437820191505097505050505050505060405180910390a150505050505050505050505050565b6000806000846000191660001916815260200190815260200160002060080160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b60026020528160005260406000208181548110151561274257fe5b90600052602060002001600091509150505481565b8873ffffffffffffffffffffffffffffffffffffffff168a73ffffffffffffffffffffffffffffffffffffffff16141515156127fb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f427579657220616e642073656c6c6572206172652073616d650000000000000081525060200191505060405180910390fd5b600084111515612873576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f56616c756520706173736564206973203000000000000000000000000000000081525060200191505060405180910390fd5b60008760ff1611801561288a575060038760ff1611155b1515612924576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603d8152602001807f5468726573686f6c642063616e6e6f742062652067726561746572207468616e81526020017f203320616e64206d7573742062652067726561746572207468616e203000000081525060400191505060405180910390fd5b60018760ff1614806129635750600073ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff1614155b1515612a23576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252604f8152602001807f456974686572207468726573686f6c642073686f756c642062652031206f746881526020017f6572776973652076616c6964206d6f64657261746f722061646472657373207381526020017f686f756c6420626520706173736564000000000000000000000000000000000081525060600191505060405180910390fd5b612a328388888d8d8d87610ec3565b600019168560001916141515612ad6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260398152602001807f43616c63756c6174656420736372697074206861736820646f6573206e6f742081526020017f6d61746368207061737365642073637269707420686173682e0000000000000081525060400191505060405180910390fd5b610160604051908101604052808660001916815260200185815260200142815260200160006001811115612b0657fe5b8152602001836001811115612b1757fe5b81526020018860ff1681526020018763ffffffff1681526020018b73ffffffffffffffffffffffffffffffffffffffff1681526020018a73ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020018973ffffffffffffffffffffffffffffffffffffffff16815250600080876000191660001916815260200190815260200160002060008201518160000190600019169055602082015181600101556040820151816002015560608201518160030160006101000a81548160ff02191690836001811115612c0157fe5b021790555060808201518160030160016101000a81548160ff02191690836001811115612c2a57fe5b021790555060a08201518160030160026101000a81548160ff021916908360ff16021790555060c08201518160030160036101000a81548163ffffffff021916908363ffffffff16021790555060e08201518160030160076101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506101008201518160040160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506101208201518160050160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506101408201518160060160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055509050506001600080876000191660001916815260200190815260200160002060070160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600080876000191660001916815260200190815260200160002060070160008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600080866000191660001916815260200190815260200160002060070160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151515612f82576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f456974686572206275796572206f722073656c6c65722069732070617373656481526020017f206173206d6f64657261746f720000000000000000000000000000000000000081525060400191505060405180910390fd5b60018760ff161115613002576001600080876000191660001916815260200190815260200160002060070160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b600160008154809291906001019190505550600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020859080600181540180825580915050906001820390600052602060002001600090919290919091509060001916905550600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002085908060018154018082558091505090600182039060005260206000200160009091929091909150906000191690555050505050505050505050565b600080828401905083811015151561311557600080fd5b8091505092915050565b600080613130888888888888613b51565b9150613186600080876000191660001916815260200190815260200160002060030160039054906101000a900463ffffffff166000808860001916600019168152602001908152602001600020600201546141c4565b9050600080866000191660001916815260200190815260200160002060030160029054906101000a900460ff1660ff16885110801561323757508015806132365750600080866000191660001916815260200190815260200160002060040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b5b156132d0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001807f736967562e6c656e67746820697320756e64657220746865207468726573686f81526020017f6c642e000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b5050505050505050565b6000806000806000806000896000191660001916815260200190815260200160002093506000600181111561330b57fe5b8460030160019054906101000a900460ff16600181111561332857fe5b141561363f57600092505b865183101561363a57600073ffffffffffffffffffffffffffffffffffffffff16878481518110151561336257fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff16141580156133f25750836007016000888581518110151561339f57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1515613466576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f4e6f7420612076616c69642064657374696e6174696f6e00000000000000000081525060200191505060405180910390fd5b6000868481518110151561347657fe5b9060200190602002015111151561351b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001807f416d6f756e7420746f2062652073656e742073686f756c64206265206772656181526020017f746572207468616e20300000000000000000000000000000000000000000000081525060400191505060405180910390fd5b613545868481518110151561352c57fe5b90602001906020020151866130fe90919063ffffffff16565b94506001846009016000898681518110151561355d57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555086838151811015156135c657fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff166108fc87858151811015156135f757fe5b906020019060200201519081150290604051600060405180830381858888f1935050505015801561362c573d6000803e3d6000fd5b508280600101935050613333565b613b46565b60018081111561364b57fe5b8460030160019054906101000a900460ff16600181111561366857fe5b1415613ab1578360050160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169150600090505b8651811015613aac57600073ffffffffffffffffffffffffffffffffffffffff1687828151811015156136c957fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff16141580156137595750836007016000888381518110151561370657fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15156137cd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f4e6f7420612076616c69642064657374696e6174696f6e00000000000000000081525060200191505060405180910390fd5b600086828151811015156137dd57fe5b90602001906020020151111515613882576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001807f416d6f756e7420746f2062652073656e742073686f756c64206265206772656181526020017f746572207468616e20300000000000000000000000000000000000000000000081525060400191505060405180910390fd5b6138ac868281518110151561389357fe5b90602001906020020151866130fe90919063ffffffff16565b9450600184600901600089848151811015156138c457fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb888381518110151561394957fe5b90602001906020020151888481518110151561396157fe5b906020019060200201516040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1580156139f057600080fd5b505af1158015613a04573d6000803e3d6000fd5b505050506040513d6020811015613a1a57600080fd5b81019080805190602001909291905050501515613a9f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f546f6b656e207472616e73666572206661696c65642e0000000000000000000081525060200191505060405180910390fd5b808060010191505061369a565b613b45565b6040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001807f5472616e736174696f6e2074797065206973206e6f7420737570706f7274656481526020017f2e0000000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b5b505050509392505050565b60008060008087518951148015613b69575089518951145b1515613bdd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f522c532c56206c656e677468206d69736d617463682e0000000000000000000081525060200191505060405180910390fd5b60197f01000000000000000000000000000000000000000000000000000000000000000260007f0100000000000000000000000000000000000000000000000000000000000000023088888b60405160200180877effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168152600101867effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526001018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401848051906020019060200280838360005b83811015613d31578082015181840152602081019050613d16565b50505050905001838051906020019060200280838360005b83811015613d64578082015181840152602081019050613d49565b50505050905001826000191660001916815260200196505050505050506040516020818303038152906040526040518082805190602001908083835b602083101515613dc55780518252602082019150602081019050602083039250613da0565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902060405160200180807f19457468657265756d205369676e6564204d6573736167653a0a333200000000815250601c0182600019166000191681526020019150506040516020818303038152906040526040518082805190602001908083835b602083101515613e765780518252602082019150602081019050602083039250613e51565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390209250600091505b88518210156141b7576001838b84815181101515613ec457fe5b906020019060200201518b85815181101515613edc57fe5b906020019060200201518b86815181101515613ef457fe5b90602001906020020151604051600081526020016040526040518085600019166000191681526020018460ff1660ff1681526020018360001916600019168152602001826000191660001916815260200194505050505060206040516020810390808403906000865af1158015613f6f573d6000803e3d6000fd5b505050602060405103519050600080886000191660001916815260200190815260200160002060070160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515614057576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f496e76616c6964207369676e617475726500000000000000000000000000000081525060200191505060405180910390fd5b600080886000191660001916815260200190815260200160002060080160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151515614134576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f53616d65207369676e61747572652073656e742074776963650000000000000081525060200191505060405180910390fd5b6001600080896000191660001916815260200190815260200160002060080160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508093508180600101925050613eaa565b5050509695505050505050565b6000806141da834261421890919063ffffffff16565b905060008463ffffffff161461420c57614205610e108563ffffffff1661423990919063ffffffff16565b811161420f565b60005b91505092915050565b60008083831115151561422a57600080fd5b82840390508091505092915050565b600080600084141561424e5760009150614270565b828402905082848281151561425f57fe5b0414151561426c57600080fd5b8091505b50929150505600a165627a7a72305820bc6b7965a447e9f309338b9f88317978dd00401be47e7f6211fd2a7eaec58f1d0029", - "sourceMap": "460:20727:0:-;;;1680:1;1646:35;;460:20727;8:9:-1;5:2;;;30:1;27;20:12;5:2;460:20727:0;;;;;;;", - "deployedSourceMap": "460:20727:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3902:702;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7917:598;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12314:1004;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12314:1004:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5704:1021;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5704:1021:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1588:51;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1588:51:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6949:228;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6949:228:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8775:924;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8775:924:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1646:35;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1646:35:0;;;;;;;;;;;;;;;;;;;;;;;9816:207;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9816:207:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;9816:207:0;;;;;;;;;;;;;;;;;10780:1063;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10780:1063:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7400:199;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7400:199:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1758:54;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1758:54:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3902:702;4180:10;2104:1;2070:12;:24;2083:10;2070:24;;;;;;;;;;;;;;;;;:30;;;:35;2062:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4215:5;2454:1;2428:28;;:14;:28;;;;2420:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4245:6;2454:1;2428:28;;:14;:28;;;;2420:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4267:264;4296:5;4315:6;4335:9;4358;4381:12;4407:10;4431:9;4454:8;4476:21;4519:1;4267:15;:264::i;:::-;4574:10;4555:41;;;4562:10;4586:9;4555:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2490:1;2138;3902:702;;;;;;;;:::o;7917:598::-;8195:14;8025:10;1931:1;1897:12;:24;1910:10;1897:24;;;;;;;;;;;;;;;;;:30;;;:35;;1876:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8059:10;2261:13;2226:48;;;;;;;;:12;:24;2239:10;2226:24;;;;;;;;;;;;;;;;;:31;;;;;;;;;;;;:48;;;;;;;;;2205:133;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8100:10;8112:21;2688:15;2644:59;;;;;;;;:12;:24;2657:10;2644:24;;;;;;;;;;;;;;;;;:40;;;;;;;;;;;;:59;;;;;;;;;2623:125;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8153:10;2856:12;:24;2869:10;2856:24;;;;;;;;;;;;;;;;;:30;;;;;;;;;;;;2842:44;;:10;:44;;;2821:124;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8212:9;8195:26;;8249:1;8240:6;:10;8232:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8331;8379:6;8331:12;:24;8344:10;8331:24;;;;;;;;;;;;;;;;;:30;;;:47;;:55;;;;:::i;:::-;8298:12;:24;8311:10;8298:24;;;;;;;;;;;;;;;;;:30;;:88;;;;8436:15;8396:12;:24;8409:10;8396:24;;;;;;;;;;;;;;;;;:37;;:55;;;;8489:10;8467:41;;;8477:10;8501:6;8467:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2758:1;2348;;1983;7917:598;;;:::o;12314:1004::-;12584:12;12640:1;12616:26;;:12;:26;;;12612:700;;;12730:8;12760:9;12791:12;12825:5;12852:6;12880:9;12911:4;12692:241;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;12692:241:0;;;12665:282;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;12665:282:0;;;;;;;;;;;;;;;;12658:289;;12612:700;;;13050:8;13080:9;13111:12;13145:5;13172:6;13200:9;13231:4;13257:12;13012:275;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;13012:275:0;;;12985:316;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;12985:316:0;;;;;;;;;;;;;;;;12978:323;;12612:700;12314:1004;;;;;;;;;:::o;5704:1021::-;6422:20;6024:10;2104:1;2070:12;:24;2083:10;2070:24;;;;;;;;;;;;;;;;;:30;;;:35;2062:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6059:5;2454:1;2428:28;;:14;:28;;;;2420:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6089:6;2454:1;2428:28;;:14;:28;;;;2420:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6120:12;2454:1;2428:28;;:14;:28;;;;2420:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6149:262;6178:5;6197:6;6217:9;6240;6263:12;6289:10;6313:5;6332:8;6354:21;6389:12;6149:15;:262::i;:::-;6460:12;6422:51;;6505:5;:18;;;6524:10;6536:4;6542:5;6505:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6505:43:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6505:43:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6505:43:0;;;;;;;;;;;;;;;;6484:182;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6700:10;6681:37;;;6688:10;6712:5;6681:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2490:1;;2138;5704:1021;;;;;;;;;;;:::o;1588:51::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;6949:228::-;7085:10;7119:12;:24;7132:10;7119:24;;;;;;;;;;;;;;;;;:38;;:51;7158:11;7119:51;;;;;;;;;;;;;;;;;;;;;;;;;7111:59;;6949:228;;;;:::o;8775:924::-;9061:14;9160:20;8907:10;1931:1;1897:12;:24;1910:10;1897:24;;;;;;;;;;;;;;;;;:30;;;:35;;1876:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8941:10;2261:13;2226:48;;;;;;;;:12;:24;2239:10;2226:24;;;;;;;;;;;;;;;;;:31;;;;;;;;;;;;:48;;;;;;;;;2205:133;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8982:10;8994:21;2688:15;2644:59;;;;;;;;:12;:24;2657:10;2644:24;;;;;;;;;;;;;;;;;:40;;;;;;;;;;;;:59;;;;;;;;;2623:125;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9035:10;2856:12;:24;2869:10;2856:24;;;;;;;;;;;;;;;;;:30;;;;;;;;;;;;2842:44;;:10;:44;;;2821:124;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9078:5;9061:22;;9111:1;9102:6;:10;9094:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9211:12;:24;9224:10;9211:24;;;;;;;;;;;;;;;;;:37;;;;;;;;;;;;9160:98;;9290:5;:18;;;9309:12;:24;9322:10;9309:24;;;;;;;;;;;;;;;;;:30;;;;;;;;;;;;9341:4;9347:5;9290:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9290:63:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9290:63:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;9290:63:0;;;;;;;;;;;;;;;;9269:202;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9515:55;9563:6;9515:12;:24;9528:10;9515:24;;;;;;;;;;;;;;;;;:30;;;:47;;:55;;;;:::i;:::-;9482:12;:24;9495:10;9482:24;;;;;;;;;;;;;;;;;:30;;:88;;;;9620:15;9580:12;:24;9593:10;9580:24;;;;;;;;;;;;;;;;;:37;;:55;;;;9673:10;9651:41;;;9661:10;9685:6;9651:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2758:1;2348;;1983;8775:924;;;;;:::o;1646:35::-;;;;:::o;9816:207::-;9938:22;9984:18;:32;10003:12;9984:32;;;;;;;;;;;;;;;9977:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9816:207;;;:::o;10780:1063::-;11003:10;1931:1;1897:12;:24;1910:10;1897:24;;;;;;;;;;;;;;;;;:30;;;:35;;1876:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11037:10;2261:13;2226:48;;;;;;;;:12;:24;2239:10;2226:24;;;;;;;;;;;;;;;;;:31;;;;;;;;;;;;:48;;;;;;;;;2205:133;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11104:1;11084:12;;:19;;:21;:62;;;;;11132:7;;:14;;11109:12;;:19;;:37;11084:62;11063:133;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11207:152;11238:4;;11207:152;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11256:4;;11207:152;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11274:4;;11207:152;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11292:10;11316:12;;11207:152;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11342:7;;11207:152;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:17;:152::i;:::-;11404:15;11370:12;:24;11383:10;11370:24;;;;;;;;;;;;;;;;;:31;;;:49;;;;;;;;;;;;;;;;;;;;;;;;11543:15;11503:12;:24;11516:10;11503:24;;;;;;;;;;;;;;;;;:37;;:55;;;;11641:12;:24;11654:10;11641:24;;;;;;;;;;;;;;;;;:30;;;11589:48;11603:10;11615:12;;11589:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11629:7;;11589:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:13;:48::i;:::-;:82;11568:201;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11793:43;11802:10;11814:12;;11828:7;;11793:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1983:1;10780:1063;;;;;;;;;;;;:::o;7400:199::-;7523:9;7555:12;:24;7568:10;7555:24;;;;;;;;;;;;;;;;;:30;;:37;7586:5;7555:37;;;;;;;;;;;;;;;;;;;;;;;;;7548:44;;7400:199;;;;:::o;1758:54::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;18514:2671::-;18876:6;18867:15;;:5;:15;;;;18859:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18987:1;18979:5;:9;18971:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19125:1;19113:9;:13;;;:31;;;;;19143:1;19130:9;:14;;;;19113:31;19092:140;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19514:1;19501:9;:14;;;:41;;;;19540:1;19519:23;;:9;:23;;;;19501:41;19480:167;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19693:226;19736:8;19762:9;19789:12;19819:5;19842:6;19866:9;19893:12;19693:25;:226::i;:::-;19679:240;;;:10;:240;;;;19658:345;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20041:409;;;;;;;;;20271:10;20041:409;;;;;;;20162:5;20041:409;;;;20230:15;20041:409;;;;20189:13;20041:409;;;;;;;;;;;;20385:15;20041:409;;;;;;;;;;;;20306:9;20041:409;;;;;;20343:12;20041:409;;;;;;20074:5;20041:409;;;;;;20101:6;20041:409;;;;;;20427:12;20041:409;;;;;;20132:9;20041:409;;;;;20014:12;:24;20027:10;20014:24;;;;;;;;;;;;;;;;;:436;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20504:4;20461:12;:24;20474:10;20461:24;;;;;;;;;;;;;;;;;:32;;:40;20494:6;20461:40;;;;;;;;;;;;;;;;:47;;;;;;;;;;;;;;;;;;20560:4;20518:12;:24;20531:10;20518:24;;;;;;;;;;;;;;;;;:32;;:39;20551:5;20518:39;;;;;;;;;;;;;;;;:46;;;;;;;;;;;;;;;;;;20672:12;:24;20685:10;20672:24;;;;;;;;;;;;;;;;;:32;;:43;20705:9;20672:43;;;;;;;;;;;;;;;;;;;;;;;;;20671:44;20650:137;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20959:1;20947:9;:13;;;20943:93;;;21021:4;20975:12;:24;20988:10;20975:24;;;;;;;;;;;;;;;;;:32;;:43;21008:9;20975:43;;;;;;;;;;;;;;;;:50;;;;;;;;;;;;;;;;;;20943:93;21054:16;;:18;;;;;;;;;;;;;21083;:25;21102:5;21083:25;;;;;;;;;;;;;;;21114:10;21083:42;;39:1:-1;33:3;27:10;23:18;57:10;52:3;45:23;79:10;72:17;;0:93;21083:42:0;;;;;;;;;;;;;;;;;;;;;;;;;;;21135:18;:26;21154:6;21135:26;;;;;;;;;;;;;;;21167:10;21135:43;;39:1:-1;33:3;27:10;23:18;57:10;52:3;45:23;79:10;72:17;;0:93;21135:43:0;;;;;;;;;;;;;;;;;;;;;;;;;;;18514:2671;;;;;;;;;;:::o;1272:131:2:-;1330:7;1345:9;1361:1;1357;:5;1345:17;;1381:1;1376;:6;;1368:15;;;;;;;;1397:1;1390:8;;1272:131;;;;;:::o;13592:952:0:-;13812:21;13998:20;13836:151;13866:4;13884;13902;13920:10;13944:12;13970:7;13836:16;:151::i;:::-;13812:175;;14021:129;14052:12;:24;14065:10;14052:24;;;;;;;;;;;;;;;;;:37;;;;;;;;;;;;14103:12;:24;14116:10;14103:24;;;;;;;;;;;;;;;;;:37;;;14021:17;:129::i;:::-;13998:152;;14336:12;:24;14349:10;14336:24;;;;;;;;;;;;;;;;;:34;;;;;;;;;;;;14322:48;;:4;:11;:48;:122;;;;;14376:15;14375:16;:68;;;;14412:12;:24;14425:10;14412:24;;;;;;;;;;;;;;;;;:31;;;;;;;;;;;;14395:48;;:13;:48;;;;14375:68;14322:122;14301:236;;;14481:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14301:236;13592:952;;;;;;;;:::o;14670:1717::-;14817:24;14857:21;14983:9;15620:20;15693:9;14881:12;:24;14894:10;14881:24;;;;;;;;;;;;;;;;;14857:48;;14941:21;14920:42;;;;;;;;:1;:17;;;;;;;;;;;;:42;;;;;;;;;14916:1465;;;14995:1;14983:13;;14978:562;15002:12;:19;14998:1;:23;14978:562;;;15082:1;15055:29;;:12;15068:1;15055:15;;;;;;;;;;;;;;;;;;:29;;;;:59;;;;;15088:1;:9;;:26;15098:12;15111:1;15098:15;;;;;;;;;;;;;;;;;;15088:26;;;;;;;;;;;;;;;;;;;;;;;;;15055:59;15047:95;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15181:1;15168:7;15176:1;15168:10;;;;;;;;;;;;;;;;;;:14;15160:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15267:32;15288:7;15296:1;15288:10;;;;;;;;;;;;;;;;;;15267:16;:20;;:32;;;;:::i;:::-;15248:51;;15353:4;15318:1;:15;;:32;15334:12;15347:1;15334:15;;;;;;;;;;;;;;;;;;15318:32;;;;;;;;;;;;;;;;:39;;;;;;;;;;;;;;;;;;15404:12;15417:1;15404:15;;;;;;;;;;;;;;;;;;:24;;:36;15429:7;15437:1;15429:10;;;;;;;;;;;;;;;;;;15404:36;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;15404:36:0;15023:3;;;;;;;14978:562;;;14916:1465;;;15582:21;15561:42;;;;;;;;:1;:17;;;;;;;;;;;;:42;;;;;;;;;15557:824;;;15658:1;:14;;;;;;;;;;;;15620:53;;15705:1;15693:13;;15688:517;15710:12;:19;15708:1;:21;15688:517;;;15790:1;15763:29;;:12;15776:1;15763:15;;;;;;;;;;;;;;;;;;:29;;;;:59;;;;;15796:1;:9;;:26;15806:12;15819:1;15806:15;;;;;;;;;;;;;;;;;;15796:26;;;;;;;;;;;;;;;;;;;;;;;;;15763:59;15755:95;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15889:1;15876:7;15884:1;15876:10;;;;;;;;;;;;;;;;;;:14;15868:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15975:32;15996:7;16004:1;15996:10;;;;;;;;;;;;;;;;;;15975:16;:20;;:32;;;;:::i;:::-;15956:51;;16060:4;16025:1;:15;;:32;16041:12;16054:1;16041:15;;;;;;;;;;;;;;;;;;16025:32;;;;;;;;;;;;;;;;:39;;;;;;;;;;;;;;;;;;16120:5;:14;;;16135:12;16148:1;16135:15;;;;;;;;;;;;;;;;;;16152:7;16160:1;16152:10;;;;;;;;;;;;;;;;;;16120:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;16120:43:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;16120:43:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;16120:43:0;;;;;;;;;;;;;;;;16112:78;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15731:3;;;;;;;15688:517;;;15557:824;;;16327:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15557:824;14916:1465;14670:1717;;;;;;;;;:::o;16571:1523::-;16792:19;17052:14;17511:6;17560:17;16863:4;:11;16848:4;:11;:26;:56;;;;;16893:4;:11;16878:4;:11;:26;16848:56;16827:126;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17256:4;17251:10;;17292:1;17287:7;;17320:4;17350:12;17388:7;17421:10;17209:244;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;17209:244:0;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;17209:244:0;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;17209:244:0;;;17178:293;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;17178:293:0;;;;;;;;;;;;;;;;17092:393;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;17092:393:0;;;17069:426;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;17069:426:0;;;;;;;;;;;;;;;;17052:443;;17520:1;17511:10;;17506:582;17527:4;:11;17523:1;:15;17506:582;;;17580:122;17607:6;17631:4;17636:1;17631:7;;;;;;;;;;;;;;;;;;17656:4;17661:1;17656:7;;;;;;;;;;;;;;;;;;17681:4;17686:1;17681:7;;;;;;;;;;;;;;;;;;17580:122;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;17580:122:0;;;;;;;;17560:142;;17742:12;:24;17755:10;17742:24;;;;;;;;;;;;;;;;;:32;;:43;17775:9;17742:43;;;;;;;;;;;;;;;;;;;;;;;;;17717:120;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17877:12;:24;17890:10;17877:24;;;;;;;;;;;;;;;;;:30;;:41;17908:9;17877:41;;;;;;;;;;;;;;;;;;;;;;;;;17876:42;17851:127;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18036:4;17992:12;:24;18005:10;17992:24;;;;;;;;;;;;;;;;;:30;;:41;18023:9;17992:41;;;;;;;;;;;;;;;;:48;;;;;;;;;;;;;;;;;;18068:9;18054:23;;17540:3;;;;;;;17506:582;;;16571:1523;;;;;;;;;;;:::o;18100:327::-;18238:12;18266:17;18286:21;18294:12;18286:3;:7;;:21;;;;:::i;:::-;18266:41;;18357:1;18341:12;:17;;;:69;;18379:31;18405:4;18387:12;18379:21;;:25;;:31;;;;:::i;:::-;18367:9;:43;18341:69;;;18361:5;18341:69;18317:103;;18100:327;;;;;:::o;1078:131:2:-;1136:7;1172:9;1164:1;1159;:6;;1151:15;;;;;;;;1188:1;1184;:5;1172:17;;1203:1;1196:8;;1078:131;;;;;:::o;204:381::-;262:7;523:9;491:1;486;:6;482:35;;;509:1;502:8;;;;482:35;539:1;535;:5;523:17;;563:1;558;554;:5;;;;;;;;:10;546:19;;;;;;;;579:1;572:8;;204:381;;;;;;:::o", - "source": "pragma solidity 0.4.24;\n\nimport \"openzeppelin-solidity/contracts/math/SafeMath.sol\";\n\nimport \"../token/ITokenContract.sol\";\n\n\n/**\n* @dev Supports ERC20 tokens\n* The escrow smart contract for the open bazaar trades in Ethereum\n* The smart contract is desgined keeping in mind the current wallet interface of the OB-core\n* https://github.com/OpenBazaar/wallet-interface/blob/master/wallet.go\n* Current wallet interface strictly adheres to UTXO(bitcoin) model\n*/\ncontract Escrow_v1_0 {\n\n using SafeMath for uint256;\n\n enum Status {FUNDED, RELEASED}\n\n enum TransactionType {ETHER, TOKEN}\n\n event Executed(\n bytes32 scriptHash,\n address[] destinations,\n uint256[] amounts\n );\n\n event FundAdded(\n bytes32 scriptHash,\n address indexed from,\n uint256 valueAdded\n );\n\n event Funded(bytes32 scriptHash, address indexed from, uint256 value);\n\n struct Transaction {\n bytes32 scriptHash;//This is unique indentifier for a transaction\n uint256 value;\n uint256 lastModified;//Time at which transaction was last modified\n Status status;\n TransactionType transactionType;\n uint8 threshold;\n uint32 timeoutHours;\n address buyer;\n address seller;\n address tokenAddress;// Token address in case of token transfer\n address moderator;\n mapping(address=>bool) isOwner;//to keep track of owners/signers.\n mapping(address=>bool) voted;//to keep track of who all voted\n mapping(address=>bool) beneficiaries;//Benefeciaries of execution\n }\n\n mapping(bytes32 => Transaction) public transactions;\n\n uint256 public transactionCount = 0;\n\n //Contains mapping between each party and all of his transactions\n mapping(address => bytes32[])public partyVsTransaction;\n\n modifier transactionExists(bytes32 scriptHash) {\n require(\n transactions[scriptHash].value != 0, \"Transaction does not exists\"\n );\n _;\n }\n\n modifier transactionDoesNotExists (bytes32 scriptHash) {\n require(transactions[scriptHash].value == 0, \"Transaction exists\");\n _;\n }\n\n modifier inFundedState(bytes32 scriptHash) {\n require(\n transactions[scriptHash].status == Status.FUNDED, \"Transaction is either in dispute or released state\"\n );\n _;\n }\n\n modifier nonZeroAddress(address addressToCheck) {\n require(addressToCheck != address(0), \"Zero address passed\");\n _;\n }\n\n modifier checkTransactionType(\n bytes32 scriptHash,\n TransactionType transactionType\n )\n {\n require(\n transactions[scriptHash].transactionType == transactionType, \"Transaction type does not match\"\n );\n _;\n }\n\n modifier onlyBuyer(bytes32 scriptHash) {\n require(\n msg.sender == transactions[scriptHash].buyer, \"The initiator of the transaction is not buyer\"\n );\n _;\n }\n\n /**\n *@dev Add new transaction in the contract\n *@param buyer The buyer of the transaction\n *@param seller The seller of the listing associated with the transaction\n *@param moderator Moderator for this transaction\n *@param scriptHash keccak256 hash of the redeem script\n *@param threshold Minimum number of singatures required to released funds\n *@param timeoutHours Hours after which seller can release funds into his favour by signing transaction\n *@param uniqueId bytes20 unique id for the transaction, generated by ETH wallet\n *Redeem Script format will be following\n \n * scripthash-> keccak256(uniqueId, threshold, timeoutHours, buyer, seller, moderator)\n *Pass amount of the ethers to be put in escrow\n *Please keep in mind you will have to add moderator fees also in the value\n */\n function addTransaction(\n address buyer,\n address seller,\n address moderator,\n uint8 threshold,\n uint32 timeoutHours,\n bytes32 scriptHash,\n bytes20 uniqueId\n )\n external\n payable\n transactionDoesNotExists(scriptHash)\n nonZeroAddress(buyer)\n nonZeroAddress(seller)\n {\n _addTransaction(\n buyer,\n seller,\n moderator,\n threshold,\n timeoutHours,\n scriptHash,\n msg.value,\n uniqueId,\n TransactionType.ETHER,\n address(0)\n );\n \n emit Funded(scriptHash, msg.sender, msg.value);\n\n }\n\n /**\n *@dev Add new transaction in the contract\n *@param buyer The buyer of the transaction\n *@param seller The seller of the listing associated with the transaction\n *@param moderator Moderator for this transaction\n *@param scriptHash keccak256 hash of the redeem script\n *@param threshold Minimum number of singatures required to released funds\n *@param timeoutHours Hours after which seller can release funds into his favour by signing transaction\n *@param value Amount of tokens to be put in escrow\n *@param uniqueId bytes20 unique id for the transaction, generated by ETH wallet\n *@param tokenAddress Address of the token to be used\n *Redeem Script format will be following\n \n * scripthash-> keccak256(uniqueId, threshold, timeoutHours, buyer, seller, moderator, tokenAddress)\n *approve escrow contract to spend amount of token on your behalf\n *Please keep in mind you will have to add moderator fees also in the value\n */\n function addTokenTransaction(\n address buyer,\n address seller,\n address moderator,\n uint8 threshold,\n uint32 timeoutHours,\n bytes32 scriptHash,\n uint256 value,\n bytes20 uniqueId,\n address tokenAddress\n )\n external\n transactionDoesNotExists(scriptHash)\n nonZeroAddress(buyer)\n nonZeroAddress(seller)\n nonZeroAddress(tokenAddress)\n {\n\n _addTransaction(\n buyer,\n seller,\n moderator,\n threshold,\n timeoutHours,\n scriptHash,\n value,\n uniqueId,\n TransactionType.TOKEN,\n tokenAddress\n );\n\n ITokenContract token = ITokenContract(tokenAddress);\n\n require(\n token.transferFrom(msg.sender, this, value),\n \"Token transfer failed, maybe you did not approve escrow contract to spend on behalf of buyer\"\n );\n emit Funded(scriptHash, msg.sender, value);\n }\n\n /**\n * @dev Check whether given address was a beneficiary of transaction execution or not\n * @param scriptHash script hash of the transaction\n * @param beneficiary Beneficiary address to be checked\n */\n function checkBeneficiary(\n bytes32 scriptHash,\n address beneficiary\n )\n external\n view\n returns (bool check)\n {\n check = transactions[scriptHash].beneficiaries[beneficiary];\n }\n\n /**\n * @dev Check whether given party has voted or not\n * @param scriptHash script hash of the transaction\n * @param party Address of the party whose vote has to be checked\n * @return bool vote\n */\n function checkVote(\n bytes32 scriptHash,\n address party\n )\n external\n view\n returns (bool vote)\n {\n vote = transactions[scriptHash].voted[party];\n }\n\n /**\n *@dev Allows buyer of the transaction to add more funds(ether) in the transaction. This will help to cater scenarios wherein initially buyer missed to fund transaction as required\n *@param scriptHash script hash of the transaction\n * Only buyer of the transaction can invoke this method\n */\n function addFundsToTransaction(\n bytes32 scriptHash\n )\n external\n transactionExists(scriptHash)\n inFundedState(scriptHash)\n checkTransactionType(scriptHash, TransactionType.ETHER)\n onlyBuyer(scriptHash)\n payable\n {\n uint256 _value = msg.value;\n\n require(_value > 0, \"Value must be greater than zero.\");\n\n transactions[scriptHash].value = transactions[scriptHash].value\n .add(_value);\n transactions[scriptHash].lastModified = block.timestamp;\n\n emit FundAdded(scriptHash, msg.sender, _value);\n }\n\n /**\n *@dev Allows buyer of the transaction to add more funds(Tokens) in the transaction. This will help to cater scenarios wherein initially buyer missed to fund transaction as required\n *@param scriptHash script hash of the transaction\n */\n function addTokensToTransaction(\n bytes32 scriptHash,\n uint256 value\n )\n external\n transactionExists(scriptHash)\n inFundedState(scriptHash)\n checkTransactionType(scriptHash, TransactionType.TOKEN)\n onlyBuyer(scriptHash)\n {\n uint256 _value = value;\n\n require(_value > 0, \"Value must be greater than zero.\");\n\n ITokenContract token = ITokenContract(\n transactions[scriptHash].tokenAddress\n );\n\n require(\n token.transferFrom(transactions[scriptHash].buyer, this, value),\n \"Token transfer failed, maybe you did not approve escrow contract to spend on behalf of buyer\"\n );\n\n transactions[scriptHash].value = transactions[scriptHash].value\n .add(_value);\n transactions[scriptHash].lastModified = block.timestamp;\n\n emit FundAdded(scriptHash, msg.sender, _value);\n }\n\n /**\n *@dev Returns all transaction ids for a party\n *@param partyAddress Address of the party\n */\n function getAllTransactionsForParty(\n address partyAddress\n ) \n external \n view \n returns (bytes32[] scriptHashes) \n {\n return partyVsTransaction[partyAddress];\n }\n\n /**\n *@dev Allows one of the moderator to collect all the signature to solve dispute and submit it to this method.\n * If all the required signatures are collected and consensus has been reached than funds will be released to the voted party\n *@param sigV Array containing V component of all the signatures\n *@param sigR Array containing R component of all the signatures\n *@param signS Array containing S component of all the signatures\n *@param scriptHash script hash of the transaction\n *@param destinations address of the destination in whose favour dispute resolution is taking place. In case of split payments it will be address of the split payments contract\n *@param amounts value to send to each destination\n */\n function execute(\n uint8[] sigV,\n bytes32[] sigR,\n bytes32[] sigS,\n bytes32 scriptHash,\n address[] destinations,\n uint256[] amounts\n )\n external\n transactionExists(scriptHash)\n inFundedState(scriptHash)\n {\n require(\n destinations.length>0 && destinations.length == amounts.length, \"Length of destinations is incorrect.\"\n );\n\n verifyTransaction(\n sigV,\n sigR,\n sigS,\n scriptHash,\n destinations,\n amounts\n );\n\n transactions[scriptHash].status = Status.RELEASED;\n //Last modified timestamp modified, which will be used by rewards\n transactions[scriptHash].lastModified = block.timestamp;\n require(\n transferFunds(scriptHash, destinations, amounts) == transactions[scriptHash].value,\n \"Total value to be released must be equal to the transaction escrow value\"\n );\n \n emit Executed(scriptHash, destinations, amounts);\n }\n\n\n /**\n *@dev Method for calculating script hash. Calculation will depend upon the type of transaction\n * ETHER Type transaction-:\n * Script Hash- keccak256(uniqueId, threshold, timeoutHours, buyer, seller, moderator)\n * TOKEN Type transaction\n * Script Hash- keccak256(uniqueId, threshold, timeoutHours, buyer, seller, moderator, tokenAddress)\n * Client can use this method to verify whether it has calculated correct script hash or not\n */\n function calculateRedeemScriptHash(\n bytes20 uniqueId,\n uint8 threshold,\n uint32 timeoutHours,\n address buyer,\n address seller,\n address moderator,\n address tokenAddress\n )\n public\n view\n returns (bytes32 hash)\n {\n if (tokenAddress == address(0)) {\n hash = keccak256(\n abi.encodePacked(\n uniqueId,\n threshold,\n timeoutHours,\n buyer,\n seller,\n moderator,\n this\n )\n );\n } else {\n hash = keccak256(\n abi.encodePacked(\n uniqueId,\n threshold,\n timeoutHours,\n buyer,\n seller,\n moderator,\n this,\n tokenAddress\n )\n );\n }\n }\n\n /**\n * @dev This methods checks validity of transaction\n * 1. Verify Signatures\n * 2. Check if minimum number of signatures has been acquired\n * 3. If above condition is false, check if time lock is expired and the execution is signed by seller\n */\n function verifyTransaction(\n uint8[] sigV,\n bytes32[] sigR,\n bytes32[] sigS,\n bytes32 scriptHash,\n address[] destinations,\n uint256[] amounts\n )\n private\n {\n address lastRecovered = verifySignatures(\n sigV,\n sigR,\n sigS,\n scriptHash,\n destinations,\n amounts\n );\n\n bool timeLockExpired = isTimeLockExpired(\n transactions[scriptHash].timeoutHours,\n transactions[scriptHash].lastModified\n );\n\n //if Minimum number of signatures are not gathered and timelock has not expired or transaction was not signed by seller then revert\n if (\n sigV.length < transactions[scriptHash].threshold && (!timeLockExpired || lastRecovered != transactions[scriptHash].seller)\n )\n {\n revert(\"sigV.length is under the threshold.\");\n }\n\n }\n\n /**\n *@dev Private method to transfer funds to the destination addresses on the basis of transaction type\n */\n function transferFunds(\n bytes32 scriptHash,\n address[]destinations,\n uint256[]amounts\n )\n private\n returns (uint256 valueTransferred)\n {\n Transaction storage t = transactions[scriptHash];\n\n if (t.transactionType == TransactionType.ETHER) {\n for (uint256 i = 0; i < destinations.length; i++) {\n\n require(destinations[i] != address(0) && t.isOwner[destinations[i]], \"Not a valid destination\");\n require(amounts[i] > 0, \"Amount to be sent should be greater than 0\");\n\n valueTransferred = valueTransferred.add(amounts[i]);\n\n t.beneficiaries[destinations[i]] = true;//add receiver as beneficiary\n destinations[i].transfer(amounts[i]);//shall we use send instead of transfer to stop malicious actors from blocking funds?\n }\n\n } else if (t.transactionType == TransactionType.TOKEN) {\n\n ITokenContract token = ITokenContract(t.tokenAddress);\n\n for (uint256 j = 0; j 0, \"Amount to be sent should be greater than 0\");\n\n valueTransferred = valueTransferred.add(amounts[j]);\n t.beneficiaries[destinations[j]] = true;//add receiver as beneficiary\n\n require(token.transfer(destinations[j], amounts[j]), \"Token transfer failed.\");\n }\n } else {\n //transaction type is not supported. Ideally this state should never be reached\n revert(\"Transation type is not supported.\");\n }\n }\n\n //to check whether the signature are valid or not and if consensus was reached\n //returns the last address recovered, in case of timeout this must be the sender's address\n function verifySignatures(\n uint8[] sigV,\n bytes32[] sigR,\n bytes32[] sigS,\n bytes32 scriptHash,\n address[] destinations,\n uint256[]amounts\n )\n private\n returns (address lastAddress)\n {\n require(\n sigR.length == sigS.length && sigR.length == sigV.length, \n \"R,S,V length mismatch.\"\n );\n\n // Follows ERC191 signature scheme: https://github.com/ethereum/EIPs/issues/191\n bytes32 txHash = keccak256(\n abi.encodePacked(\n \"\\x19Ethereum Signed Message:\\n32\",\n keccak256(\n abi.encodePacked(\n byte(0x19),\n byte(0),\n this,\n destinations,\n amounts,\n scriptHash\n )\n )\n )\n );\n\n for (uint i = 0; i < sigR.length; i++) {\n\n address recovered = ecrecover(\n txHash,\n sigV[i],\n sigR[i],\n sigS[i]\n );\n\n require(\n transactions[scriptHash].isOwner[recovered], \n \"Invalid signature\"\n );\n require(\n !transactions[scriptHash].voted[recovered], \n \"Same signature sent twice\"\n );\n transactions[scriptHash].voted[recovered] = true;\n lastAddress = recovered;\n }\n }\n\n function isTimeLockExpired(\n uint32 timeoutHours,\n uint256 lastModified\n )\n private\n view\n returns (bool expired)\n {\n uint256 timeSince = now.sub(lastModified);\n expired = (\n timeoutHours == 0 ? false:timeSince > uint256(timeoutHours).mul(3600)\n );\n }\n\n /**\n * Private method to add transaction to reduce code redundancy\n */\n function _addTransaction(\n address buyer,\n address seller,\n address moderator,\n uint8 threshold,\n uint32 timeoutHours,\n bytes32 scriptHash,\n uint256 value,\n bytes20 uniqueId,\n TransactionType transactionType,\n address tokenAddress\n )\n private\n { \n require(buyer != seller, \"Buyer and seller are same\");\n\n //value passed should be greater than 0\n require(value > 0, \"Value passed is 0\");\n\n // For now allowing 0 moderator to support 1-2 multisig wallet\n require(\n threshold > 0 && threshold <= 3, \n \"Threshold cannot be greater than 3 and must be greater than 0\"\n );\n\n //if threshold is 1 then moderator can be passed as zero address or any other address(it wont matter aopart from scripthash since we wont add moderator as one of the owner)\n //otherwise moderator should be a valid address\n require(\n threshold == 1 || moderator != address(0),\n \"Either threshold should be 1 otherwise valid moderator address should be passed\"\n );\n\n require(\n scriptHash == calculateRedeemScriptHash(\n uniqueId,\n threshold,\n timeoutHours,\n buyer,\n seller,\n moderator,\n tokenAddress\n ), \n \"Calculated script hash does not match passed script hash.\"\n );\n\n transactions[scriptHash] = Transaction({\n buyer: buyer,\n seller: seller,\n moderator: moderator,\n value: value,\n status: Status.FUNDED,\n lastModified: block.timestamp,\n scriptHash: scriptHash,\n threshold: threshold,\n timeoutHours: timeoutHours,\n transactionType:transactionType,\n tokenAddress:tokenAddress\n });\n\n transactions[scriptHash].isOwner[seller] = true;\n transactions[scriptHash].isOwner[buyer] = true; \n\n //Check if buyer or seller are not passed as moderator\n require(\n !transactions[scriptHash].isOwner[moderator], \n \"Either buyer or seller is passed as moderator\"\n );\n\n //set moderator as one of the owners only if threshold is greater than 1 otherwise only buyer and seller should be able to release funds\n if (threshold > 1){\n transactions[scriptHash].isOwner[moderator] = true;\n }\n \n\n transactionCount++;\n\n partyVsTransaction[buyer].push(scriptHash);\n partyVsTransaction[seller].push(scriptHash);\n }\n}\n", + "bytecode": "0x6080604052600060015534801561001557600080fd5b5061420b806100256000396000f3006080604052600436106100ba576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806323b6fd3f146100bf5780632d9ef96e1461017957806346fbcdeb1461019d57806357bced7614610292578063642f2eaf14610383578063b0550c66146104f4578063b719e2801461055d578063b77bf60014610598578063be84ceaf146105c3578063e4ec8b001461065b578063f078656214610704578063f5dbe09c1461076d575b600080fd5b610177600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff169060200190929190803563ffffffff169060200190929190803560001916906020019092919080356bffffffffffffffffffffffff191690602001909291905050506107d6565b005b61019b6004803603810190808035600019169060200190929190505050610a35565b005b3480156101a957600080fd5b5061027460048036038101908080356bffffffffffffffffffffffff19169060200190929190803560ff169060200190929190803563ffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610ec3565b60405180826000191660001916815260200191505060405180910390f35b34801561029e57600080fd5b50610381600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff169060200190929190803563ffffffff16906020019092919080356000191690602001909291908035906020019092919080356bffffffffffffffffffffffff19169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061136f565b005b34801561038f57600080fd5b506103b2600480360381019080803560001916906020019092919050505061184f565b604051808c600019166000191681526020018b81526020018a81526020018960018111156103dc57fe5b60ff1681526020018860018111156103f057fe5b60ff1681526020018760ff1660ff1681526020018663ffffffff1663ffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019b50505050505050505050505060405180910390f35b34801561050057600080fd5b506105436004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611960565b604051808215151515815260200191505060405180910390f35b34801561056957600080fd5b506105966004803603810190808035600019169060200190929190803590602001909291905050506119d2565b005b3480156105a457600080fd5b506105ad6120b2565b6040518082815260200191505060405180910390f35b3480156105cf57600080fd5b50610604600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506120b8565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b8381101561064757808201518184015260208101905061062c565b505050509050019250505060405180910390f35b34801561066757600080fd5b506107026004803603810190808035906020019082018035906020019190919293919293908035906020019082018035906020019190919293919293908035906020019082018035906020019190919293919293908035600019169060200190929190803590602001908201803590602001919091929391929390803590602001908201803590602001919091929391929390505050612153565b005b34801561071057600080fd5b506107536004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506126b5565b604051808215151515815260200191505060405180910390f35b34801561077957600080fd5b506107b8600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050612727565b60405180826000191660001916815260200191505060405180910390f35b81600080600083600019166000191681526020019081526020016000206001015414151561086c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f5472616e73616374696f6e20657869737473000000000000000000000000000081525060200191505060405180910390fd5b87600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610912576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b87600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156109b8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b6109cb8a8a8a8a8a8a348b600080612757565b3373ffffffffffffffffffffffffffffffffffffffff167fce7089d0668849fb9ca29778c0cbf1e764d9efb048d81fd71fb34c94f26db36886346040518083600019166000191681526020018281526020019250505060405180910390a250505050505050505050565b600081600080600083600019166000191681526020019081526020016000206001015414151515610ace576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737473000000000081525060200191505060405180910390fd5b8260006001811115610adc57fe5b600080836000191660001916815260200190815260200160002060030160009054906101000a900460ff166001811115610b1257fe5b141515610bad576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001807f5472616e73616374696f6e2069732065697468657220696e206469737075746581526020017f206f722072656c6561736564207374617465000000000000000000000000000081525060400191505060405180910390fd5b836000806001811115610bbc57fe5b600080846000191660001916815260200190815260200160002060030160019054906101000a900460ff166001811115610bf257fe5b141515610c67576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5472616e73616374696f6e207479706520646f6573206e6f74206d617463680081525060200191505060405180910390fd5b85600080826000191660001916815260200190815260200160002060030160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610d6e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f54686520696e69746961746f72206f6620746865207472616e73616374696f6e81526020017f206973206e6f742062757965720000000000000000000000000000000000000081525060400191505060405180910390fd5b349550600086111515610de9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f56616c7565206d7573742062652067726561746572207468616e207a65726f2e81525060200191505060405180910390fd5b610e19866000808a60001916600019168152602001908152602001600020600101546130fe90919063ffffffff16565b600080896000191660001916815260200190815260200160002060010181905550426000808960001916600019168152602001908152602001600020600201819055503373ffffffffffffffffffffffffffffffffffffffff167ff66fd2ae9e24a6a24b02e1b5b7512ffde5149a4176085fc0298ae228c9b9d72988886040518083600019166000191681526020018281526020019250505060405180910390a250505050505050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561110f578787878787873060405160200180886bffffffffffffffffffffffff19166bffffffffffffffffffffffff191681526014018760ff1660ff167f01000000000000000000000000000000000000000000000000000000000000000281526001018663ffffffff1663ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014019750505050505050506040516020818303038152906040526040518082805190602001908083835b6020831015156110db57805182526020820191506020810190506020830392506110b6565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390209050611364565b878787878787308860405160200180896bffffffffffffffffffffffff19166bffffffffffffffffffffffff191681526014018860ff1660ff167f01000000000000000000000000000000000000000000000000000000000000000281526001018763ffffffff1663ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401985050505050505050506040516020818303038152906040526040518082805190602001908083835b602083101515611334578051825260208201915060208101905060208303925061130f565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902090505b979650505050505050565b6000846000806000836000191660001916815260200190815260200160002060010154141515611407576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f5472616e73616374696f6e20657869737473000000000000000000000000000081525060200191505060405180910390fd5b8a600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156114ad576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b8a600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515611553576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b84600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156115f9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b61160c8e8e8e8e8e8e8e8e60018f612757565b8594508473ffffffffffffffffffffffffffffffffffffffff166323b872dd33308b6040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b1580156116e657600080fd5b505af11580156116fa573d6000803e3d6000fd5b505050506040513d602081101561171057600080fd5b810190808051906020019092919050505015156117e1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252605c8152602001807f546f6b656e207472616e73666572206661696c65642c206d6179626520796f7581526020017f20646964206e6f7420617070726f766520657363726f7720636f6e747261637481526020017f20746f207370656e64206f6e20626568616c66206f662062757965720000000081525060600191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff167fce7089d0668849fb9ca29778c0cbf1e764d9efb048d81fd71fb34c94f26db3688a8a6040518083600019166000191681526020018281526020019250505060405180910390a25050505050505050505050505050565b60006020528060005260406000206000915090508060000154908060010154908060020154908060030160009054906101000a900460ff16908060030160019054906101000a900460ff16908060030160029054906101000a900460ff16908060030160039054906101000a900463ffffffff16908060030160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060050160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060060160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508b565b6000806000846000191660001916815260200190815260200160002060090160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b60008083600080600083600019166000191681526020019081526020016000206001015414151515611a6c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737473000000000081525060200191505060405180910390fd5b8460006001811115611a7a57fe5b600080836000191660001916815260200190815260200160002060030160009054906101000a900460ff166001811115611ab057fe5b141515611b4b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001807f5472616e73616374696f6e2069732065697468657220696e206469737075746581526020017f206f722072656c6561736564207374617465000000000000000000000000000081525060400191505060405180910390fd5b856001806001811115611b5a57fe5b600080846000191660001916815260200190815260200160002060030160019054906101000a900460ff166001811115611b9057fe5b141515611c05576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5472616e73616374696f6e207479706520646f6573206e6f74206d617463680081525060200191505060405180910390fd5b87600080826000191660001916815260200190815260200160002060030160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611d0c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f54686520696e69746961746f72206f6620746865207472616e73616374696f6e81526020017f206973206e6f742062757965720000000000000000000000000000000000000081525060400191505060405180910390fd5b879650600087111515611d87576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f56616c7565206d7573742062652067726561746572207468616e207a65726f2e81525060200191505060405180910390fd5b6000808a6000191660001916815260200190815260200160002060050160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1695508573ffffffffffffffffffffffffffffffffffffffff166323b872dd6000808c6000191660001916815260200190815260200160002060030160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff16308b6040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b158015611edb57600080fd5b505af1158015611eef573d6000803e3d6000fd5b505050506040513d6020811015611f0557600080fd5b81019080805190602001909291905050501515611fd6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252605c8152602001807f546f6b656e207472616e73666572206661696c65642c206d6179626520796f7581526020017f20646964206e6f7420617070726f766520657363726f7720636f6e747261637481526020017f20746f207370656e64206f6e20626568616c66206f662062757965720000000081525060600191505060405180910390fd5b612006876000808c60001916600019168152602001908152602001600020600101546130fe90919063ffffffff16565b6000808b6000191660001916815260200190815260200160002060010181905550426000808b60001916600019168152602001908152602001600020600201819055503373ffffffffffffffffffffffffffffffffffffffff167ff66fd2ae9e24a6a24b02e1b5b7512ffde5149a4176085fc0298ae228c9b9d7298a896040518083600019166000191681526020018281526020019250505060405180910390a2505050505050505050565b60015481565b6060600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080548060200260200160405190810160405280929190818152602001828054801561214757602002820191906000526020600020905b8154600019168152602001906001019080831161212f575b50505050509050919050565b846000806000836000191660001916815260200190815260200160002060010154141515156121ea576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737473000000000081525060200191505060405180910390fd5b85600060018111156121f857fe5b600080836000191660001916815260200190815260200160002060030160009054906101000a900460ff16600181111561222e57fe5b1415156122c9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001807f5472616e73616374696f6e2069732065697468657220696e206469737075746581526020017f206f722072656c6561736564207374617465000000000000000000000000000081525060400191505060405180910390fd5b6000868690501180156122e157508383905086869050145b151561237b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001807f4c656e677468206f662064657374696e6174696f6e7320697320696e636f727281526020017f6563742e0000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b6124748d8d808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508c8c808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508b8b808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508a8a8a8080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505089898080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505061311f565b6001600080896000191660001916815260200190815260200160002060030160006101000a81548160ff021916908360018111156124ae57fe5b02179055504260008089600019166000191681526020019081526020016000206002018190555060008088600019166000191681526020019081526020016000206001015461255c888888808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508787808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050506132da565b14151561261d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260488152602001807f546f74616c2076616c756520746f2062652072656c6561736564206d7573742081526020017f626520657175616c20746f20746865207472616e73616374696f6e206573637281526020017f6f772076616c756500000000000000000000000000000000000000000000000081525060600191505060405180910390fd5b7f688e2a1b34445bcd47b0e11ba2a9c8c4d850a1831b64199b59d1c70e2970154587878787876040518086600019166000191681526020018060200180602001838103835287878281815260200192506020028082843782019150508381038252858582818152602001925060200280828437820191505097505050505050505060405180910390a150505050505050505050505050565b6000806000846000191660001916815260200190815260200160002060080160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b60026020528160005260406000208181548110151561274257fe5b90600052602060002001600091509150505481565b8873ffffffffffffffffffffffffffffffffffffffff168a73ffffffffffffffffffffffffffffffffffffffff16141515156127fb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f427579657220616e642073656c6c6572206172652073616d650000000000000081525060200191505060405180910390fd5b600084111515612873576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f56616c756520706173736564206973203000000000000000000000000000000081525060200191505060405180910390fd5b60008760ff1611801561288a575060038760ff1611155b1515612924576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603d8152602001807f5468726573686f6c642063616e6e6f742062652067726561746572207468616e81526020017f203320616e64206d7573742062652067726561746572207468616e203000000081525060400191505060405180910390fd5b60018760ff1614806129635750600073ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff1614155b1515612a23576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252604f8152602001807f456974686572207468726573686f6c642073686f756c642062652031206f746881526020017f6572776973652076616c6964206d6f64657261746f722061646472657373207381526020017f686f756c6420626520706173736564000000000000000000000000000000000081525060600191505060405180910390fd5b612a328388888d8d8d87610ec3565b600019168560001916141515612ad6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260398152602001807f43616c63756c6174656420736372697074206861736820646f6573206e6f742081526020017f6d61746368207061737365642073637269707420686173682e0000000000000081525060400191505060405180910390fd5b610160604051908101604052808660001916815260200185815260200142815260200160006001811115612b0657fe5b8152602001836001811115612b1757fe5b81526020018860ff1681526020018763ffffffff1681526020018b73ffffffffffffffffffffffffffffffffffffffff1681526020018a73ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020018973ffffffffffffffffffffffffffffffffffffffff16815250600080876000191660001916815260200190815260200160002060008201518160000190600019169055602082015181600101556040820151816002015560608201518160030160006101000a81548160ff02191690836001811115612c0157fe5b021790555060808201518160030160016101000a81548160ff02191690836001811115612c2a57fe5b021790555060a08201518160030160026101000a81548160ff021916908360ff16021790555060c08201518160030160036101000a81548163ffffffff021916908363ffffffff16021790555060e08201518160030160076101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506101008201518160040160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506101208201518160050160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506101408201518160060160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055509050506001600080876000191660001916815260200190815260200160002060070160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600080876000191660001916815260200190815260200160002060070160008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600080866000191660001916815260200190815260200160002060070160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151515612f82576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f456974686572206275796572206f722073656c6c65722069732070617373656481526020017f206173206d6f64657261746f720000000000000000000000000000000000000081525060400191505060405180910390fd5b60018760ff161115613002576001600080876000191660001916815260200190815260200160002060070160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b600160008154809291906001019190505550600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020859080600181540180825580915050906001820390600052602060002001600090919290919091509060001916905550600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002085908060018154018082558091505090600182039060005260206000200160009091929091909150906000191690555050505050505050505050565b600080828401905083811015151561311557600080fd5b8091505092915050565b600080613130888888888888613ab9565b9150613186600080876000191660001916815260200190815260200160002060030160039054906101000a900463ffffffff1660008088600019166000191681526020019081526020016000206002015461412c565b9050600080866000191660001916815260200190815260200160002060030160029054906101000a900460ff1660ff16885110801561323757508015806132365750600080866000191660001916815260200190815260200160002060040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b5b156132d0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001807f736967562e6c656e67746820697320756e64657220746865207468726573686f81526020017f6c642e000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b5050505050505050565b6000806000806000806000896000191660001916815260200190815260200160002093506000600181111561330b57fe5b8460030160019054906101000a900460ff16600181111561332857fe5b141561363f57600092505b865183101561363a57600073ffffffffffffffffffffffffffffffffffffffff16878481518110151561336257fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff16141580156133f25750836007016000888581518110151561339f57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1515613466576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f4e6f7420612076616c69642064657374696e6174696f6e00000000000000000081525060200191505060405180910390fd5b6000868481518110151561347657fe5b9060200190602002015111151561351b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001807f416d6f756e7420746f2062652073656e742073686f756c64206265206772656181526020017f746572207468616e20300000000000000000000000000000000000000000000081525060400191505060405180910390fd5b613545868481518110151561352c57fe5b90602001906020020151866130fe90919063ffffffff16565b94506001846009016000898681518110151561355d57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555086838151811015156135c657fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff166108fc87858151811015156135f757fe5b906020019060200201519081150290604051600060405180830381858888f1935050505015801561362c573d6000803e3d6000fd5b508280600101935050613333565b613aae565b60018081111561364b57fe5b8460030160019054906101000a900460ff16600181111561366857fe5b1415613aad578360050160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169150600090505b8651811015613aac57600073ffffffffffffffffffffffffffffffffffffffff1687828151811015156136c957fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff16141580156137595750836007016000888381518110151561370657fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15156137cd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f4e6f7420612076616c69642064657374696e6174696f6e00000000000000000081525060200191505060405180910390fd5b600086828151811015156137dd57fe5b90602001906020020151111515613882576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001807f416d6f756e7420746f2062652073656e742073686f756c64206265206772656181526020017f746572207468616e20300000000000000000000000000000000000000000000081525060400191505060405180910390fd5b6138ac868281518110151561389357fe5b90602001906020020151866130fe90919063ffffffff16565b9450600184600901600089848151811015156138c457fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb888381518110151561394957fe5b90602001906020020151888481518110151561396157fe5b906020019060200201516040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1580156139f057600080fd5b505af1158015613a04573d6000803e3d6000fd5b505050506040513d6020811015613a1a57600080fd5b81019080805190602001909291905050501515613a9f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f546f6b656e207472616e73666572206661696c65642e0000000000000000000081525060200191505060405180910390fd5b808060010191505061369a565b5b5b505050509392505050565b60008060008087518951148015613ad1575089518951145b1515613b45576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f522c532c56206c656e677468206d69736d617463682e0000000000000000000081525060200191505060405180910390fd5b60197f01000000000000000000000000000000000000000000000000000000000000000260007f0100000000000000000000000000000000000000000000000000000000000000023088888b60405160200180877effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168152600101867effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526001018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401848051906020019060200280838360005b83811015613c99578082015181840152602081019050613c7e565b50505050905001838051906020019060200280838360005b83811015613ccc578082015181840152602081019050613cb1565b50505050905001826000191660001916815260200196505050505050506040516020818303038152906040526040518082805190602001908083835b602083101515613d2d5780518252602082019150602081019050602083039250613d08565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902060405160200180807f19457468657265756d205369676e6564204d6573736167653a0a333200000000815250601c0182600019166000191681526020019150506040516020818303038152906040526040518082805190602001908083835b602083101515613dde5780518252602082019150602081019050602083039250613db9565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390209250600091505b885182101561411f576001838b84815181101515613e2c57fe5b906020019060200201518b85815181101515613e4457fe5b906020019060200201518b86815181101515613e5c57fe5b90602001906020020151604051600081526020016040526040518085600019166000191681526020018460ff1660ff1681526020018360001916600019168152602001826000191660001916815260200194505050505060206040516020810390808403906000865af1158015613ed7573d6000803e3d6000fd5b505050602060405103519050600080886000191660001916815260200190815260200160002060070160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515613fbf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f496e76616c6964207369676e617475726500000000000000000000000000000081525060200191505060405180910390fd5b600080886000191660001916815260200190815260200160002060080160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151561409c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f53616d65207369676e61747572652073656e742074776963650000000000000081525060200191505060405180910390fd5b6001600080896000191660001916815260200190815260200160002060080160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508093508180600101925050613e12565b5050509695505050505050565b600080614142834261418090919063ffffffff16565b905060008463ffffffff16146141745761416d610e108563ffffffff166141a190919063ffffffff16565b8111614177565b60005b91505092915050565b60008083831115151561419257600080fd5b82840390508091505092915050565b60008060008414156141b657600091506141d8565b82840290508284828115156141c757fe5b041415156141d457600080fd5b8091505b50929150505600a165627a7a723058200a536a27e2741eb00935ec9d3564539373843a2f0a761986ff23adc3fca62ce30029", + "deployedBytecode": "0x6080604052600436106100ba576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806323b6fd3f146100bf5780632d9ef96e1461017957806346fbcdeb1461019d57806357bced7614610292578063642f2eaf14610383578063b0550c66146104f4578063b719e2801461055d578063b77bf60014610598578063be84ceaf146105c3578063e4ec8b001461065b578063f078656214610704578063f5dbe09c1461076d575b600080fd5b610177600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff169060200190929190803563ffffffff169060200190929190803560001916906020019092919080356bffffffffffffffffffffffff191690602001909291905050506107d6565b005b61019b6004803603810190808035600019169060200190929190505050610a35565b005b3480156101a957600080fd5b5061027460048036038101908080356bffffffffffffffffffffffff19169060200190929190803560ff169060200190929190803563ffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610ec3565b60405180826000191660001916815260200191505060405180910390f35b34801561029e57600080fd5b50610381600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff169060200190929190803563ffffffff16906020019092919080356000191690602001909291908035906020019092919080356bffffffffffffffffffffffff19169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061136f565b005b34801561038f57600080fd5b506103b2600480360381019080803560001916906020019092919050505061184f565b604051808c600019166000191681526020018b81526020018a81526020018960018111156103dc57fe5b60ff1681526020018860018111156103f057fe5b60ff1681526020018760ff1660ff1681526020018663ffffffff1663ffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019b50505050505050505050505060405180910390f35b34801561050057600080fd5b506105436004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611960565b604051808215151515815260200191505060405180910390f35b34801561056957600080fd5b506105966004803603810190808035600019169060200190929190803590602001909291905050506119d2565b005b3480156105a457600080fd5b506105ad6120b2565b6040518082815260200191505060405180910390f35b3480156105cf57600080fd5b50610604600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506120b8565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b8381101561064757808201518184015260208101905061062c565b505050509050019250505060405180910390f35b34801561066757600080fd5b506107026004803603810190808035906020019082018035906020019190919293919293908035906020019082018035906020019190919293919293908035906020019082018035906020019190919293919293908035600019169060200190929190803590602001908201803590602001919091929391929390803590602001908201803590602001919091929391929390505050612153565b005b34801561071057600080fd5b506107536004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506126b5565b604051808215151515815260200191505060405180910390f35b34801561077957600080fd5b506107b8600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050612727565b60405180826000191660001916815260200191505060405180910390f35b81600080600083600019166000191681526020019081526020016000206001015414151561086c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f5472616e73616374696f6e20657869737473000000000000000000000000000081525060200191505060405180910390fd5b87600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610912576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b87600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156109b8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b6109cb8a8a8a8a8a8a348b600080612757565b3373ffffffffffffffffffffffffffffffffffffffff167fce7089d0668849fb9ca29778c0cbf1e764d9efb048d81fd71fb34c94f26db36886346040518083600019166000191681526020018281526020019250505060405180910390a250505050505050505050565b600081600080600083600019166000191681526020019081526020016000206001015414151515610ace576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737473000000000081525060200191505060405180910390fd5b8260006001811115610adc57fe5b600080836000191660001916815260200190815260200160002060030160009054906101000a900460ff166001811115610b1257fe5b141515610bad576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001807f5472616e73616374696f6e2069732065697468657220696e206469737075746581526020017f206f722072656c6561736564207374617465000000000000000000000000000081525060400191505060405180910390fd5b836000806001811115610bbc57fe5b600080846000191660001916815260200190815260200160002060030160019054906101000a900460ff166001811115610bf257fe5b141515610c67576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5472616e73616374696f6e207479706520646f6573206e6f74206d617463680081525060200191505060405180910390fd5b85600080826000191660001916815260200190815260200160002060030160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610d6e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f54686520696e69746961746f72206f6620746865207472616e73616374696f6e81526020017f206973206e6f742062757965720000000000000000000000000000000000000081525060400191505060405180910390fd5b349550600086111515610de9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f56616c7565206d7573742062652067726561746572207468616e207a65726f2e81525060200191505060405180910390fd5b610e19866000808a60001916600019168152602001908152602001600020600101546130fe90919063ffffffff16565b600080896000191660001916815260200190815260200160002060010181905550426000808960001916600019168152602001908152602001600020600201819055503373ffffffffffffffffffffffffffffffffffffffff167ff66fd2ae9e24a6a24b02e1b5b7512ffde5149a4176085fc0298ae228c9b9d72988886040518083600019166000191681526020018281526020019250505060405180910390a250505050505050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561110f578787878787873060405160200180886bffffffffffffffffffffffff19166bffffffffffffffffffffffff191681526014018760ff1660ff167f01000000000000000000000000000000000000000000000000000000000000000281526001018663ffffffff1663ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014019750505050505050506040516020818303038152906040526040518082805190602001908083835b6020831015156110db57805182526020820191506020810190506020830392506110b6565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390209050611364565b878787878787308860405160200180896bffffffffffffffffffffffff19166bffffffffffffffffffffffff191681526014018860ff1660ff167f01000000000000000000000000000000000000000000000000000000000000000281526001018763ffffffff1663ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401985050505050505050506040516020818303038152906040526040518082805190602001908083835b602083101515611334578051825260208201915060208101905060208303925061130f565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902090505b979650505050505050565b6000846000806000836000191660001916815260200190815260200160002060010154141515611407576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f5472616e73616374696f6e20657869737473000000000000000000000000000081525060200191505060405180910390fd5b8a600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156114ad576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b8a600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515611553576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b84600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156115f9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b61160c8e8e8e8e8e8e8e8e60018f612757565b8594508473ffffffffffffffffffffffffffffffffffffffff166323b872dd33308b6040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b1580156116e657600080fd5b505af11580156116fa573d6000803e3d6000fd5b505050506040513d602081101561171057600080fd5b810190808051906020019092919050505015156117e1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252605c8152602001807f546f6b656e207472616e73666572206661696c65642c206d6179626520796f7581526020017f20646964206e6f7420617070726f766520657363726f7720636f6e747261637481526020017f20746f207370656e64206f6e20626568616c66206f662062757965720000000081525060600191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff167fce7089d0668849fb9ca29778c0cbf1e764d9efb048d81fd71fb34c94f26db3688a8a6040518083600019166000191681526020018281526020019250505060405180910390a25050505050505050505050505050565b60006020528060005260406000206000915090508060000154908060010154908060020154908060030160009054906101000a900460ff16908060030160019054906101000a900460ff16908060030160029054906101000a900460ff16908060030160039054906101000a900463ffffffff16908060030160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060050160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060060160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508b565b6000806000846000191660001916815260200190815260200160002060090160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b60008083600080600083600019166000191681526020019081526020016000206001015414151515611a6c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737473000000000081525060200191505060405180910390fd5b8460006001811115611a7a57fe5b600080836000191660001916815260200190815260200160002060030160009054906101000a900460ff166001811115611ab057fe5b141515611b4b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001807f5472616e73616374696f6e2069732065697468657220696e206469737075746581526020017f206f722072656c6561736564207374617465000000000000000000000000000081525060400191505060405180910390fd5b856001806001811115611b5a57fe5b600080846000191660001916815260200190815260200160002060030160019054906101000a900460ff166001811115611b9057fe5b141515611c05576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5472616e73616374696f6e207479706520646f6573206e6f74206d617463680081525060200191505060405180910390fd5b87600080826000191660001916815260200190815260200160002060030160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611d0c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f54686520696e69746961746f72206f6620746865207472616e73616374696f6e81526020017f206973206e6f742062757965720000000000000000000000000000000000000081525060400191505060405180910390fd5b879650600087111515611d87576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f56616c7565206d7573742062652067726561746572207468616e207a65726f2e81525060200191505060405180910390fd5b6000808a6000191660001916815260200190815260200160002060050160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1695508573ffffffffffffffffffffffffffffffffffffffff166323b872dd6000808c6000191660001916815260200190815260200160002060030160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff16308b6040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b158015611edb57600080fd5b505af1158015611eef573d6000803e3d6000fd5b505050506040513d6020811015611f0557600080fd5b81019080805190602001909291905050501515611fd6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252605c8152602001807f546f6b656e207472616e73666572206661696c65642c206d6179626520796f7581526020017f20646964206e6f7420617070726f766520657363726f7720636f6e747261637481526020017f20746f207370656e64206f6e20626568616c66206f662062757965720000000081525060600191505060405180910390fd5b612006876000808c60001916600019168152602001908152602001600020600101546130fe90919063ffffffff16565b6000808b6000191660001916815260200190815260200160002060010181905550426000808b60001916600019168152602001908152602001600020600201819055503373ffffffffffffffffffffffffffffffffffffffff167ff66fd2ae9e24a6a24b02e1b5b7512ffde5149a4176085fc0298ae228c9b9d7298a896040518083600019166000191681526020018281526020019250505060405180910390a2505050505050505050565b60015481565b6060600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080548060200260200160405190810160405280929190818152602001828054801561214757602002820191906000526020600020905b8154600019168152602001906001019080831161212f575b50505050509050919050565b846000806000836000191660001916815260200190815260200160002060010154141515156121ea576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737473000000000081525060200191505060405180910390fd5b85600060018111156121f857fe5b600080836000191660001916815260200190815260200160002060030160009054906101000a900460ff16600181111561222e57fe5b1415156122c9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001807f5472616e73616374696f6e2069732065697468657220696e206469737075746581526020017f206f722072656c6561736564207374617465000000000000000000000000000081525060400191505060405180910390fd5b6000868690501180156122e157508383905086869050145b151561237b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001807f4c656e677468206f662064657374696e6174696f6e7320697320696e636f727281526020017f6563742e0000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b6124748d8d808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508c8c808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508b8b808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508a8a8a8080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505089898080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505061311f565b6001600080896000191660001916815260200190815260200160002060030160006101000a81548160ff021916908360018111156124ae57fe5b02179055504260008089600019166000191681526020019081526020016000206002018190555060008088600019166000191681526020019081526020016000206001015461255c888888808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508787808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050506132da565b14151561261d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260488152602001807f546f74616c2076616c756520746f2062652072656c6561736564206d7573742081526020017f626520657175616c20746f20746865207472616e73616374696f6e206573637281526020017f6f772076616c756500000000000000000000000000000000000000000000000081525060600191505060405180910390fd5b7f688e2a1b34445bcd47b0e11ba2a9c8c4d850a1831b64199b59d1c70e2970154587878787876040518086600019166000191681526020018060200180602001838103835287878281815260200192506020028082843782019150508381038252858582818152602001925060200280828437820191505097505050505050505060405180910390a150505050505050505050505050565b6000806000846000191660001916815260200190815260200160002060080160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b60026020528160005260406000208181548110151561274257fe5b90600052602060002001600091509150505481565b8873ffffffffffffffffffffffffffffffffffffffff168a73ffffffffffffffffffffffffffffffffffffffff16141515156127fb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f427579657220616e642073656c6c6572206172652073616d650000000000000081525060200191505060405180910390fd5b600084111515612873576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f56616c756520706173736564206973203000000000000000000000000000000081525060200191505060405180910390fd5b60008760ff1611801561288a575060038760ff1611155b1515612924576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603d8152602001807f5468726573686f6c642063616e6e6f742062652067726561746572207468616e81526020017f203320616e64206d7573742062652067726561746572207468616e203000000081525060400191505060405180910390fd5b60018760ff1614806129635750600073ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff1614155b1515612a23576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252604f8152602001807f456974686572207468726573686f6c642073686f756c642062652031206f746881526020017f6572776973652076616c6964206d6f64657261746f722061646472657373207381526020017f686f756c6420626520706173736564000000000000000000000000000000000081525060600191505060405180910390fd5b612a328388888d8d8d87610ec3565b600019168560001916141515612ad6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260398152602001807f43616c63756c6174656420736372697074206861736820646f6573206e6f742081526020017f6d61746368207061737365642073637269707420686173682e0000000000000081525060400191505060405180910390fd5b610160604051908101604052808660001916815260200185815260200142815260200160006001811115612b0657fe5b8152602001836001811115612b1757fe5b81526020018860ff1681526020018763ffffffff1681526020018b73ffffffffffffffffffffffffffffffffffffffff1681526020018a73ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020018973ffffffffffffffffffffffffffffffffffffffff16815250600080876000191660001916815260200190815260200160002060008201518160000190600019169055602082015181600101556040820151816002015560608201518160030160006101000a81548160ff02191690836001811115612c0157fe5b021790555060808201518160030160016101000a81548160ff02191690836001811115612c2a57fe5b021790555060a08201518160030160026101000a81548160ff021916908360ff16021790555060c08201518160030160036101000a81548163ffffffff021916908363ffffffff16021790555060e08201518160030160076101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506101008201518160040160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506101208201518160050160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506101408201518160060160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055509050506001600080876000191660001916815260200190815260200160002060070160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600080876000191660001916815260200190815260200160002060070160008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600080866000191660001916815260200190815260200160002060070160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151515612f82576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f456974686572206275796572206f722073656c6c65722069732070617373656481526020017f206173206d6f64657261746f720000000000000000000000000000000000000081525060400191505060405180910390fd5b60018760ff161115613002576001600080876000191660001916815260200190815260200160002060070160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b600160008154809291906001019190505550600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020859080600181540180825580915050906001820390600052602060002001600090919290919091509060001916905550600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002085908060018154018082558091505090600182039060005260206000200160009091929091909150906000191690555050505050505050505050565b600080828401905083811015151561311557600080fd5b8091505092915050565b600080613130888888888888613ab9565b9150613186600080876000191660001916815260200190815260200160002060030160039054906101000a900463ffffffff1660008088600019166000191681526020019081526020016000206002015461412c565b9050600080866000191660001916815260200190815260200160002060030160029054906101000a900460ff1660ff16885110801561323757508015806132365750600080866000191660001916815260200190815260200160002060040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b5b156132d0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001807f736967562e6c656e67746820697320756e64657220746865207468726573686f81526020017f6c642e000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b5050505050505050565b6000806000806000806000896000191660001916815260200190815260200160002093506000600181111561330b57fe5b8460030160019054906101000a900460ff16600181111561332857fe5b141561363f57600092505b865183101561363a57600073ffffffffffffffffffffffffffffffffffffffff16878481518110151561336257fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff16141580156133f25750836007016000888581518110151561339f57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1515613466576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f4e6f7420612076616c69642064657374696e6174696f6e00000000000000000081525060200191505060405180910390fd5b6000868481518110151561347657fe5b9060200190602002015111151561351b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001807f416d6f756e7420746f2062652073656e742073686f756c64206265206772656181526020017f746572207468616e20300000000000000000000000000000000000000000000081525060400191505060405180910390fd5b613545868481518110151561352c57fe5b90602001906020020151866130fe90919063ffffffff16565b94506001846009016000898681518110151561355d57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555086838151811015156135c657fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff166108fc87858151811015156135f757fe5b906020019060200201519081150290604051600060405180830381858888f1935050505015801561362c573d6000803e3d6000fd5b508280600101935050613333565b613aae565b60018081111561364b57fe5b8460030160019054906101000a900460ff16600181111561366857fe5b1415613aad578360050160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169150600090505b8651811015613aac57600073ffffffffffffffffffffffffffffffffffffffff1687828151811015156136c957fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff16141580156137595750836007016000888381518110151561370657fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15156137cd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f4e6f7420612076616c69642064657374696e6174696f6e00000000000000000081525060200191505060405180910390fd5b600086828151811015156137dd57fe5b90602001906020020151111515613882576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001807f416d6f756e7420746f2062652073656e742073686f756c64206265206772656181526020017f746572207468616e20300000000000000000000000000000000000000000000081525060400191505060405180910390fd5b6138ac868281518110151561389357fe5b90602001906020020151866130fe90919063ffffffff16565b9450600184600901600089848151811015156138c457fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb888381518110151561394957fe5b90602001906020020151888481518110151561396157fe5b906020019060200201516040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1580156139f057600080fd5b505af1158015613a04573d6000803e3d6000fd5b505050506040513d6020811015613a1a57600080fd5b81019080805190602001909291905050501515613a9f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f546f6b656e207472616e73666572206661696c65642e0000000000000000000081525060200191505060405180910390fd5b808060010191505061369a565b5b5b505050509392505050565b60008060008087518951148015613ad1575089518951145b1515613b45576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f522c532c56206c656e677468206d69736d617463682e0000000000000000000081525060200191505060405180910390fd5b60197f01000000000000000000000000000000000000000000000000000000000000000260007f0100000000000000000000000000000000000000000000000000000000000000023088888b60405160200180877effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168152600101867effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526001018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401848051906020019060200280838360005b83811015613c99578082015181840152602081019050613c7e565b50505050905001838051906020019060200280838360005b83811015613ccc578082015181840152602081019050613cb1565b50505050905001826000191660001916815260200196505050505050506040516020818303038152906040526040518082805190602001908083835b602083101515613d2d5780518252602082019150602081019050602083039250613d08565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902060405160200180807f19457468657265756d205369676e6564204d6573736167653a0a333200000000815250601c0182600019166000191681526020019150506040516020818303038152906040526040518082805190602001908083835b602083101515613dde5780518252602082019150602081019050602083039250613db9565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390209250600091505b885182101561411f576001838b84815181101515613e2c57fe5b906020019060200201518b85815181101515613e4457fe5b906020019060200201518b86815181101515613e5c57fe5b90602001906020020151604051600081526020016040526040518085600019166000191681526020018460ff1660ff1681526020018360001916600019168152602001826000191660001916815260200194505050505060206040516020810390808403906000865af1158015613ed7573d6000803e3d6000fd5b505050602060405103519050600080886000191660001916815260200190815260200160002060070160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515613fbf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f496e76616c6964207369676e617475726500000000000000000000000000000081525060200191505060405180910390fd5b600080886000191660001916815260200190815260200160002060080160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151561409c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f53616d65207369676e61747572652073656e742074776963650000000000000081525060200191505060405180910390fd5b6001600080896000191660001916815260200190815260200160002060080160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508093508180600101925050613e12565b5050509695505050505050565b600080614142834261418090919063ffffffff16565b905060008463ffffffff16146141745761416d610e108563ffffffff166141a190919063ffffffff16565b8111614177565b60005b91505092915050565b60008083831115151561419257600080fd5b82840390508091505092915050565b60008060008414156141b657600091506141d8565b82840290508284828115156141c757fe5b041415156141d457600080fd5b8091505b50929150505600a165627a7a723058200a536a27e2741eb00935ec9d3564539373843a2f0a761986ff23adc3fca62ce30029", + "sourceMap": "460:20562:0:-;;;1680:1;1646:35;;460:20562;8:9:-1;5:2;;;30:1;27;20:12;5:2;460:20562:0;;;;;;;", + "deployedSourceMap": "460:20562:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3902:702;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7917:598;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12314:1004;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12314:1004:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5704:1021;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5704:1021:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1588:51;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1588:51:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6949:228;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6949:228:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8775:924;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8775:924:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1646:35;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1646:35:0;;;;;;;;;;;;;;;;;;;;;;;9816:207;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9816:207:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;9816:207:0;;;;;;;;;;;;;;;;;10780:1063;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10780:1063:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7400:199;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7400:199:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1758:54;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1758:54:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3902:702;4180:10;2104:1;2070:12;:24;2083:10;2070:24;;;;;;;;;;;;;;;;;:30;;;:35;2062:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4215:5;2454:1;2428:28;;:14;:28;;;;2420:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4245:6;2454:1;2428:28;;:14;:28;;;;2420:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4267:264;4296:5;4315:6;4335:9;4358;4381:12;4407:10;4431:9;4454:8;4476:21;4519:1;4267:15;:264::i;:::-;4574:10;4555:41;;;4562:10;4586:9;4555:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2490:1;2138;3902:702;;;;;;;;:::o;7917:598::-;8195:14;8025:10;1931:1;1897:12;:24;1910:10;1897:24;;;;;;;;;;;;;;;;;:30;;;:35;;1876:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8059:10;2261:13;2226:48;;;;;;;;:12;:24;2239:10;2226:24;;;;;;;;;;;;;;;;;:31;;;;;;;;;;;;:48;;;;;;;;;2205:133;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8100:10;8112:21;2688:15;2644:59;;;;;;;;:12;:24;2657:10;2644:24;;;;;;;;;;;;;;;;;:40;;;;;;;;;;;;:59;;;;;;;;;2623:125;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8153:10;2856:12;:24;2869:10;2856:24;;;;;;;;;;;;;;;;;:30;;;;;;;;;;;;2842:44;;:10;:44;;;2821:124;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8212:9;8195:26;;8249:1;8240:6;:10;8232:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8331;8379:6;8331:12;:24;8344:10;8331:24;;;;;;;;;;;;;;;;;:30;;;:47;;:55;;;;:::i;:::-;8298:12;:24;8311:10;8298:24;;;;;;;;;;;;;;;;;:30;;:88;;;;8436:15;8396:12;:24;8409:10;8396:24;;;;;;;;;;;;;;;;;:37;;:55;;;;8489:10;8467:41;;;8477:10;8501:6;8467:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2758:1;2348;;1983;7917:598;;;:::o;12314:1004::-;12584:12;12640:1;12616:26;;:12;:26;;;12612:700;;;12730:8;12760:9;12791:12;12825:5;12852:6;12880:9;12911:4;12692:241;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;12692:241:0;;;12665:282;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;12665:282:0;;;;;;;;;;;;;;;;12658:289;;12612:700;;;13050:8;13080:9;13111:12;13145:5;13172:6;13200:9;13231:4;13257:12;13012:275;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;13012:275:0;;;12985:316;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;12985:316:0;;;;;;;;;;;;;;;;12978:323;;12612:700;12314:1004;;;;;;;;;:::o;5704:1021::-;6422:20;6024:10;2104:1;2070:12;:24;2083:10;2070:24;;;;;;;;;;;;;;;;;:30;;;:35;2062:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6059:5;2454:1;2428:28;;:14;:28;;;;2420:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6089:6;2454:1;2428:28;;:14;:28;;;;2420:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6120:12;2454:1;2428:28;;:14;:28;;;;2420:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6149:262;6178:5;6197:6;6217:9;6240;6263:12;6289:10;6313:5;6332:8;6354:21;6389:12;6149:15;:262::i;:::-;6460:12;6422:51;;6505:5;:18;;;6524:10;6536:4;6542:5;6505:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6505:43:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6505:43:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6505:43:0;;;;;;;;;;;;;;;;6484:182;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6700:10;6681:37;;;6688:10;6712:5;6681:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2490:1;;2138;5704:1021;;;;;;;;;;;:::o;1588:51::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;6949:228::-;7085:10;7119:12;:24;7132:10;7119:24;;;;;;;;;;;;;;;;;:38;;:51;7158:11;7119:51;;;;;;;;;;;;;;;;;;;;;;;;;7111:59;;6949:228;;;;:::o;8775:924::-;9061:14;9160:20;8907:10;1931:1;1897:12;:24;1910:10;1897:24;;;;;;;;;;;;;;;;;:30;;;:35;;1876:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8941:10;2261:13;2226:48;;;;;;;;:12;:24;2239:10;2226:24;;;;;;;;;;;;;;;;;:31;;;;;;;;;;;;:48;;;;;;;;;2205:133;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8982:10;8994:21;2688:15;2644:59;;;;;;;;:12;:24;2657:10;2644:24;;;;;;;;;;;;;;;;;:40;;;;;;;;;;;;:59;;;;;;;;;2623:125;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9035:10;2856:12;:24;2869:10;2856:24;;;;;;;;;;;;;;;;;:30;;;;;;;;;;;;2842:44;;:10;:44;;;2821:124;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9078:5;9061:22;;9111:1;9102:6;:10;9094:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9211:12;:24;9224:10;9211:24;;;;;;;;;;;;;;;;;:37;;;;;;;;;;;;9160:98;;9290:5;:18;;;9309:12;:24;9322:10;9309:24;;;;;;;;;;;;;;;;;:30;;;;;;;;;;;;9341:4;9347:5;9290:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9290:63:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9290:63:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;9290:63:0;;;;;;;;;;;;;;;;9269:202;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9515:55;9563:6;9515:12;:24;9528:10;9515:24;;;;;;;;;;;;;;;;;:30;;;:47;;:55;;;;:::i;:::-;9482:12;:24;9495:10;9482:24;;;;;;;;;;;;;;;;;:30;;:88;;;;9620:15;9580:12;:24;9593:10;9580:24;;;;;;;;;;;;;;;;;:37;;:55;;;;9673:10;9651:41;;;9661:10;9685:6;9651:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2758:1;2348;;1983;8775:924;;;;;:::o;1646:35::-;;;;:::o;9816:207::-;9938:22;9984:18;:32;10003:12;9984:32;;;;;;;;;;;;;;;9977:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9816:207;;;:::o;10780:1063::-;11003:10;1931:1;1897:12;:24;1910:10;1897:24;;;;;;;;;;;;;;;;;:30;;;:35;;1876:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11037:10;2261:13;2226:48;;;;;;;;:12;:24;2239:10;2226:24;;;;;;;;;;;;;;;;;:31;;;;;;;;;;;;:48;;;;;;;;;2205:133;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11104:1;11084:12;;:19;;:21;:62;;;;;11132:7;;:14;;11109:12;;:19;;:37;11084:62;11063:133;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11207:152;11238:4;;11207:152;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11256:4;;11207:152;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11274:4;;11207:152;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11292:10;11316:12;;11207:152;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11342:7;;11207:152;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:17;:152::i;:::-;11404:15;11370:12;:24;11383:10;11370:24;;;;;;;;;;;;;;;;;:31;;;:49;;;;;;;;;;;;;;;;;;;;;;;;11543:15;11503:12;:24;11516:10;11503:24;;;;;;;;;;;;;;;;;:37;;:55;;;;11641:12;:24;11654:10;11641:24;;;;;;;;;;;;;;;;;:30;;;11589:48;11603:10;11615:12;;11589:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11629:7;;11589:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:13;:48::i;:::-;:82;11568:201;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11793:43;11802:10;11814:12;;11828:7;;11793:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1983:1;10780:1063;;;;;;;;;;;;:::o;7400:199::-;7523:9;7555:12;:24;7568:10;7555:24;;;;;;;;;;;;;;;;;:30;;:37;7586:5;7555:37;;;;;;;;;;;;;;;;;;;;;;;;;7548:44;;7400:199;;;;:::o;1758:54::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;18349:2671::-;18711:6;18702:15;;:5;:15;;;;18694:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18822:1;18814:5;:9;18806:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18960:1;18948:9;:13;;;:31;;;;;18978:1;18965:9;:14;;;;18948:31;18927:140;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19349:1;19336:9;:14;;;:41;;;;19375:1;19354:23;;:9;:23;;;;19336:41;19315:167;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19528:226;19571:8;19597:9;19624:12;19654:5;19677:6;19701:9;19728:12;19528:25;:226::i;:::-;19514:240;;;:10;:240;;;;19493:345;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19876:409;;;;;;;;;20106:10;19876:409;;;;;;;19997:5;19876:409;;;;20065:15;19876:409;;;;20024:13;19876:409;;;;;;;;;;;;20220:15;19876:409;;;;;;;;;;;;20141:9;19876:409;;;;;;20178:12;19876:409;;;;;;19909:5;19876:409;;;;;;19936:6;19876:409;;;;;;20262:12;19876:409;;;;;;19967:9;19876:409;;;;;19849:12;:24;19862:10;19849:24;;;;;;;;;;;;;;;;;:436;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20339:4;20296:12;:24;20309:10;20296:24;;;;;;;;;;;;;;;;;:32;;:40;20329:6;20296:40;;;;;;;;;;;;;;;;:47;;;;;;;;;;;;;;;;;;20395:4;20353:12;:24;20366:10;20353:24;;;;;;;;;;;;;;;;;:32;;:39;20386:5;20353:39;;;;;;;;;;;;;;;;:46;;;;;;;;;;;;;;;;;;20507:12;:24;20520:10;20507:24;;;;;;;;;;;;;;;;;:32;;:43;20540:9;20507:43;;;;;;;;;;;;;;;;;;;;;;;;;20506:44;20485:137;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20794:1;20782:9;:13;;;20778:93;;;20856:4;20810:12;:24;20823:10;20810:24;;;;;;;;;;;;;;;;;:32;;:43;20843:9;20810:43;;;;;;;;;;;;;;;;:50;;;;;;;;;;;;;;;;;;20778:93;20889:16;;:18;;;;;;;;;;;;;20918;:25;20937:5;20918:25;;;;;;;;;;;;;;;20949:10;20918:42;;39:1:-1;33:3;27:10;23:18;57:10;52:3;45:23;79:10;72:17;;0:93;20918:42:0;;;;;;;;;;;;;;;;;;;;;;;;;;;20970:18;:26;20989:6;20970:26;;;;;;;;;;;;;;;21002:10;20970:43;;39:1:-1;33:3;27:10;23:18;57:10;52:3;45:23;79:10;72:17;;0:93;20970:43:0;;;;;;;;;;;;;;;;;;;;;;;;;;;18349:2671;;;;;;;;;;:::o;1272:131:2:-;1330:7;1345:9;1361:1;1357;:5;1345:17;;1381:1;1376;:6;;1368:15;;;;;;;;1397:1;1390:8;;1272:131;;;;;:::o;13592:952:0:-;13812:21;13998:20;13836:151;13866:4;13884;13902;13920:10;13944:12;13970:7;13836:16;:151::i;:::-;13812:175;;14021:129;14052:12;:24;14065:10;14052:24;;;;;;;;;;;;;;;;;:37;;;;;;;;;;;;14103:12;:24;14116:10;14103:24;;;;;;;;;;;;;;;;;:37;;;14021:17;:129::i;:::-;13998:152;;14336:12;:24;14349:10;14336:24;;;;;;;;;;;;;;;;;:34;;;;;;;;;;;;14322:48;;:4;:11;:48;:122;;;;;14376:15;14375:16;:68;;;;14412:12;:24;14425:10;14412:24;;;;;;;;;;;;;;;;;:31;;;;;;;;;;;;14395:48;;:13;:48;;;;14375:68;14322:122;14301:236;;;14481:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14301:236;13592:952;;;;;;;;:::o;14670:1552::-;14817:24;14857:21;14983:9;15620:20;15693:9;14881:12;:24;14894:10;14881:24;;;;;;;;;;;;;;;;;14857:48;;14941:21;14920:42;;;;;;;;:1;:17;;;;;;;;;;;;:42;;;;;;;;;14916:1299;;;14995:1;14983:13;;14978:562;15002:12;:19;14998:1;:23;14978:562;;;15082:1;15055:29;;:12;15068:1;15055:15;;;;;;;;;;;;;;;;;;:29;;;;:59;;;;;15088:1;:9;;:26;15098:12;15111:1;15098:15;;;;;;;;;;;;;;;;;;15088:26;;;;;;;;;;;;;;;;;;;;;;;;;15055:59;15047:95;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15181:1;15168:7;15176:1;15168:10;;;;;;;;;;;;;;;;;;:14;15160:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15267:32;15288:7;15296:1;15288:10;;;;;;;;;;;;;;;;;;15267:16;:20;;:32;;;;:::i;:::-;15248:51;;15353:4;15318:1;:15;;:32;15334:12;15347:1;15334:15;;;;;;;;;;;;;;;;;;15318:32;;;;;;;;;;;;;;;;:39;;;;;;;;;;;;;;;;;;15404:12;15417:1;15404:15;;;;;;;;;;;;;;;;;;:24;;:36;15429:7;15437:1;15429:10;;;;;;;;;;;;;;;;;;15404:36;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;15404:36:0;15023:3;;;;;;;14978:562;;;14916:1299;;;15582:21;15561:42;;;;;;;;:1;:17;;;;;;;;;;;;:42;;;;;;;;;15557:658;;;15658:1;:14;;;;;;;;;;;;15620:53;;15705:1;15693:13;;15688:517;15710:12;:19;15708:1;:21;15688:517;;;15790:1;15763:29;;:12;15776:1;15763:15;;;;;;;;;;;;;;;;;;:29;;;;:59;;;;;15796:1;:9;;:26;15806:12;15819:1;15806:15;;;;;;;;;;;;;;;;;;15796:26;;;;;;;;;;;;;;;;;;;;;;;;;15763:59;15755:95;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15889:1;15876:7;15884:1;15876:10;;;;;;;;;;;;;;;;;;:14;15868:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15975:32;15996:7;16004:1;15996:10;;;;;;;;;;;;;;;;;;15975:16;:20;;:32;;;;:::i;:::-;15956:51;;16060:4;16025:1;:15;;:32;16041:12;16054:1;16041:15;;;;;;;;;;;;;;;;;;16025:32;;;;;;;;;;;;;;;;:39;;;;;;;;;;;;;;;;;;16120:5;:14;;;16135:12;16148:1;16135:15;;;;;;;;;;;;;;;;;;16152:7;16160:1;16152:10;;;;;;;;;;;;;;;;;;16120:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;16120:43:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;16120:43:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;16120:43:0;;;;;;;;;;;;;;;;16112:78;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15731:3;;;;;;;15688:517;;;15557:658;14916:1299;14670:1552;;;;;;;;;:::o;16406:1523::-;16627:19;16887:14;17346:6;17395:17;16698:4;:11;16683:4;:11;:26;:56;;;;;16728:4;:11;16713:4;:11;:26;16683:56;16662:126;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17091:4;17086:10;;17127:1;17122:7;;17155:4;17185:12;17223:7;17256:10;17044:244;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;17044:244:0;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;17044:244:0;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;17044:244:0;;;17013:293;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;17013:293:0;;;;;;;;;;;;;;;;16927:393;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;16927:393:0;;;16904:426;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;16904:426:0;;;;;;;;;;;;;;;;16887:443;;17355:1;17346:10;;17341:582;17362:4;:11;17358:1;:15;17341:582;;;17415:122;17442:6;17466:4;17471:1;17466:7;;;;;;;;;;;;;;;;;;17491:4;17496:1;17491:7;;;;;;;;;;;;;;;;;;17516:4;17521:1;17516:7;;;;;;;;;;;;;;;;;;17415:122;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;17415:122:0;;;;;;;;17395:142;;17577:12;:24;17590:10;17577:24;;;;;;;;;;;;;;;;;:32;;:43;17610:9;17577:43;;;;;;;;;;;;;;;;;;;;;;;;;17552:120;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17712:12;:24;17725:10;17712:24;;;;;;;;;;;;;;;;;:30;;:41;17743:9;17712:41;;;;;;;;;;;;;;;;;;;;;;;;;17711:42;17686:127;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17871:4;17827:12;:24;17840:10;17827:24;;;;;;;;;;;;;;;;;:30;;:41;17858:9;17827:41;;;;;;;;;;;;;;;;:48;;;;;;;;;;;;;;;;;;17903:9;17889:23;;17375:3;;;;;;;17341:582;;;16406:1523;;;;;;;;;;;:::o;17935:327::-;18073:12;18101:17;18121:21;18129:12;18121:3;:7;;:21;;;;:::i;:::-;18101:41;;18192:1;18176:12;:17;;;:69;;18214:31;18240:4;18222:12;18214:21;;:25;;:31;;;;:::i;:::-;18202:9;:43;18176:69;;;18196:5;18176:69;18152:103;;17935:327;;;;;:::o;1078:131:2:-;1136:7;1172:9;1164:1;1159;:6;;1151:15;;;;;;;;1188:1;1184;:5;1172:17;;1203:1;1196:8;;1078:131;;;;;:::o;204:381::-;262:7;523:9;491:1;486;:6;482:35;;;509:1;502:8;;;;482:35;539:1;535;:5;523:17;;563:1;558;554;:5;;;;;;;;:10;546:19;;;;;;;;579:1;572:8;;204:381;;;;;;:::o", + "source": "pragma solidity 0.4.24;\n\nimport \"openzeppelin-solidity/contracts/math/SafeMath.sol\";\n\nimport \"../token/ITokenContract.sol\";\n\n\n/**\n* @dev Supports ERC20 tokens\n* The escrow smart contract for the open bazaar trades in Ethereum\n* The smart contract is desgined keeping in mind the current wallet interface of the OB-core\n* https://github.com/OpenBazaar/wallet-interface/blob/master/wallet.go\n* Current wallet interface strictly adheres to UTXO(bitcoin) model\n*/\ncontract Escrow_v1_0 {\n\n using SafeMath for uint256;\n\n enum Status {FUNDED, RELEASED}\n\n enum TransactionType {ETHER, TOKEN}\n\n event Executed(\n bytes32 scriptHash,\n address[] destinations,\n uint256[] amounts\n );\n\n event FundAdded(\n bytes32 scriptHash,\n address indexed from,\n uint256 valueAdded\n );\n\n event Funded(bytes32 scriptHash, address indexed from, uint256 value);\n\n struct Transaction {\n bytes32 scriptHash;//This is unique indentifier for a transaction\n uint256 value;\n uint256 lastModified;//Time at which transaction was last modified\n Status status;\n TransactionType transactionType;\n uint8 threshold;\n uint32 timeoutHours;\n address buyer;\n address seller;\n address tokenAddress;// Token address in case of token transfer\n address moderator;\n mapping(address=>bool) isOwner;//to keep track of owners/signers.\n mapping(address=>bool) voted;//to keep track of who all voted\n mapping(address=>bool) beneficiaries;//Benefeciaries of execution\n }\n\n mapping(bytes32 => Transaction) public transactions;\n\n uint256 public transactionCount = 0;\n\n //Contains mapping between each party and all of his transactions\n mapping(address => bytes32[])public partyVsTransaction;\n\n modifier transactionExists(bytes32 scriptHash) {\n require(\n transactions[scriptHash].value != 0, \"Transaction does not exists\"\n );\n _;\n }\n\n modifier transactionDoesNotExists (bytes32 scriptHash) {\n require(transactions[scriptHash].value == 0, \"Transaction exists\");\n _;\n }\n\n modifier inFundedState(bytes32 scriptHash) {\n require(\n transactions[scriptHash].status == Status.FUNDED, \"Transaction is either in dispute or released state\"\n );\n _;\n }\n\n modifier nonZeroAddress(address addressToCheck) {\n require(addressToCheck != address(0), \"Zero address passed\");\n _;\n }\n\n modifier checkTransactionType(\n bytes32 scriptHash,\n TransactionType transactionType\n )\n {\n require(\n transactions[scriptHash].transactionType == transactionType, \"Transaction type does not match\"\n );\n _;\n }\n\n modifier onlyBuyer(bytes32 scriptHash) {\n require(\n msg.sender == transactions[scriptHash].buyer, \"The initiator of the transaction is not buyer\"\n );\n _;\n }\n\n /**\n *@dev Add new transaction in the contract\n *@param buyer The buyer of the transaction\n *@param seller The seller of the listing associated with the transaction\n *@param moderator Moderator for this transaction\n *@param scriptHash keccak256 hash of the redeem script\n *@param threshold Minimum number of singatures required to released funds\n *@param timeoutHours Hours after which seller can release funds into his favour by signing transaction\n *@param uniqueId bytes20 unique id for the transaction, generated by ETH wallet\n *Redeem Script format will be following\n \n * scripthash-> keccak256(uniqueId, threshold, timeoutHours, buyer, seller, moderator)\n *Pass amount of the ethers to be put in escrow\n *Please keep in mind you will have to add moderator fees also in the value\n */\n function addTransaction(\n address buyer,\n address seller,\n address moderator,\n uint8 threshold,\n uint32 timeoutHours,\n bytes32 scriptHash,\n bytes20 uniqueId\n )\n external\n payable\n transactionDoesNotExists(scriptHash)\n nonZeroAddress(buyer)\n nonZeroAddress(seller)\n {\n _addTransaction(\n buyer,\n seller,\n moderator,\n threshold,\n timeoutHours,\n scriptHash,\n msg.value,\n uniqueId,\n TransactionType.ETHER,\n address(0)\n );\n \n emit Funded(scriptHash, msg.sender, msg.value);\n\n }\n\n /**\n *@dev Add new transaction in the contract\n *@param buyer The buyer of the transaction\n *@param seller The seller of the listing associated with the transaction\n *@param moderator Moderator for this transaction\n *@param scriptHash keccak256 hash of the redeem script\n *@param threshold Minimum number of singatures required to released funds\n *@param timeoutHours Hours after which seller can release funds into his favour by signing transaction\n *@param value Amount of tokens to be put in escrow\n *@param uniqueId bytes20 unique id for the transaction, generated by ETH wallet\n *@param tokenAddress Address of the token to be used\n *Redeem Script format will be following\n \n * scripthash-> keccak256(uniqueId, threshold, timeoutHours, buyer, seller, moderator, tokenAddress)\n *approve escrow contract to spend amount of token on your behalf\n *Please keep in mind you will have to add moderator fees also in the value\n */\n function addTokenTransaction(\n address buyer,\n address seller,\n address moderator,\n uint8 threshold,\n uint32 timeoutHours,\n bytes32 scriptHash,\n uint256 value,\n bytes20 uniqueId,\n address tokenAddress\n )\n external\n transactionDoesNotExists(scriptHash)\n nonZeroAddress(buyer)\n nonZeroAddress(seller)\n nonZeroAddress(tokenAddress)\n {\n\n _addTransaction(\n buyer,\n seller,\n moderator,\n threshold,\n timeoutHours,\n scriptHash,\n value,\n uniqueId,\n TransactionType.TOKEN,\n tokenAddress\n );\n\n ITokenContract token = ITokenContract(tokenAddress);\n\n require(\n token.transferFrom(msg.sender, this, value),\n \"Token transfer failed, maybe you did not approve escrow contract to spend on behalf of buyer\"\n );\n emit Funded(scriptHash, msg.sender, value);\n }\n\n /**\n * @dev Check whether given address was a beneficiary of transaction execution or not\n * @param scriptHash script hash of the transaction\n * @param beneficiary Beneficiary address to be checked\n */\n function checkBeneficiary(\n bytes32 scriptHash,\n address beneficiary\n )\n external\n view\n returns (bool check)\n {\n check = transactions[scriptHash].beneficiaries[beneficiary];\n }\n\n /**\n * @dev Check whether given party has voted or not\n * @param scriptHash script hash of the transaction\n * @param party Address of the party whose vote has to be checked\n * @return bool vote\n */\n function checkVote(\n bytes32 scriptHash,\n address party\n )\n external\n view\n returns (bool vote)\n {\n vote = transactions[scriptHash].voted[party];\n }\n\n /**\n *@dev Allows buyer of the transaction to add more funds(ether) in the transaction. This will help to cater scenarios wherein initially buyer missed to fund transaction as required\n *@param scriptHash script hash of the transaction\n * Only buyer of the transaction can invoke this method\n */\n function addFundsToTransaction(\n bytes32 scriptHash\n )\n external\n transactionExists(scriptHash)\n inFundedState(scriptHash)\n checkTransactionType(scriptHash, TransactionType.ETHER)\n onlyBuyer(scriptHash)\n payable\n {\n uint256 _value = msg.value;\n\n require(_value > 0, \"Value must be greater than zero.\");\n\n transactions[scriptHash].value = transactions[scriptHash].value\n .add(_value);\n transactions[scriptHash].lastModified = block.timestamp;\n\n emit FundAdded(scriptHash, msg.sender, _value);\n }\n\n /**\n *@dev Allows buyer of the transaction to add more funds(Tokens) in the transaction. This will help to cater scenarios wherein initially buyer missed to fund transaction as required\n *@param scriptHash script hash of the transaction\n */\n function addTokensToTransaction(\n bytes32 scriptHash,\n uint256 value\n )\n external\n transactionExists(scriptHash)\n inFundedState(scriptHash)\n checkTransactionType(scriptHash, TransactionType.TOKEN)\n onlyBuyer(scriptHash)\n {\n uint256 _value = value;\n\n require(_value > 0, \"Value must be greater than zero.\");\n\n ITokenContract token = ITokenContract(\n transactions[scriptHash].tokenAddress\n );\n\n require(\n token.transferFrom(transactions[scriptHash].buyer, this, value),\n \"Token transfer failed, maybe you did not approve escrow contract to spend on behalf of buyer\"\n );\n\n transactions[scriptHash].value = transactions[scriptHash].value\n .add(_value);\n transactions[scriptHash].lastModified = block.timestamp;\n\n emit FundAdded(scriptHash, msg.sender, _value);\n }\n\n /**\n *@dev Returns all transaction ids for a party\n *@param partyAddress Address of the party\n */\n function getAllTransactionsForParty(\n address partyAddress\n ) \n external \n view \n returns (bytes32[] scriptHashes) \n {\n return partyVsTransaction[partyAddress];\n }\n\n /**\n *@dev Allows one of the moderator to collect all the signature to solve dispute and submit it to this method.\n * If all the required signatures are collected and consensus has been reached than funds will be released to the voted party\n *@param sigV Array containing V component of all the signatures\n *@param sigR Array containing R component of all the signatures\n *@param signS Array containing S component of all the signatures\n *@param scriptHash script hash of the transaction\n *@param destinations address of the destination in whose favour dispute resolution is taking place. In case of split payments it will be address of the split payments contract\n *@param amounts value to send to each destination\n */\n function execute(\n uint8[] sigV,\n bytes32[] sigR,\n bytes32[] sigS,\n bytes32 scriptHash,\n address[] destinations,\n uint256[] amounts\n )\n external\n transactionExists(scriptHash)\n inFundedState(scriptHash)\n {\n require(\n destinations.length>0 && destinations.length == amounts.length, \"Length of destinations is incorrect.\"\n );\n\n verifyTransaction(\n sigV,\n sigR,\n sigS,\n scriptHash,\n destinations,\n amounts\n );\n\n transactions[scriptHash].status = Status.RELEASED;\n //Last modified timestamp modified, which will be used by rewards\n transactions[scriptHash].lastModified = block.timestamp;\n require(\n transferFunds(scriptHash, destinations, amounts) == transactions[scriptHash].value,\n \"Total value to be released must be equal to the transaction escrow value\"\n );\n \n emit Executed(scriptHash, destinations, amounts);\n }\n\n\n /**\n *@dev Method for calculating script hash. Calculation will depend upon the type of transaction\n * ETHER Type transaction-:\n * Script Hash- keccak256(uniqueId, threshold, timeoutHours, buyer, seller, moderator)\n * TOKEN Type transaction\n * Script Hash- keccak256(uniqueId, threshold, timeoutHours, buyer, seller, moderator, tokenAddress)\n * Client can use this method to verify whether it has calculated correct script hash or not\n */\n function calculateRedeemScriptHash(\n bytes20 uniqueId,\n uint8 threshold,\n uint32 timeoutHours,\n address buyer,\n address seller,\n address moderator,\n address tokenAddress\n )\n public\n view\n returns (bytes32 hash)\n {\n if (tokenAddress == address(0)) {\n hash = keccak256(\n abi.encodePacked(\n uniqueId,\n threshold,\n timeoutHours,\n buyer,\n seller,\n moderator,\n this\n )\n );\n } else {\n hash = keccak256(\n abi.encodePacked(\n uniqueId,\n threshold,\n timeoutHours,\n buyer,\n seller,\n moderator,\n this,\n tokenAddress\n )\n );\n }\n }\n\n /**\n * @dev This methods checks validity of transaction\n * 1. Verify Signatures\n * 2. Check if minimum number of signatures has been acquired\n * 3. If above condition is false, check if time lock is expired and the execution is signed by seller\n */\n function verifyTransaction(\n uint8[] sigV,\n bytes32[] sigR,\n bytes32[] sigS,\n bytes32 scriptHash,\n address[] destinations,\n uint256[] amounts\n )\n private\n {\n address lastRecovered = verifySignatures(\n sigV,\n sigR,\n sigS,\n scriptHash,\n destinations,\n amounts\n );\n\n bool timeLockExpired = isTimeLockExpired(\n transactions[scriptHash].timeoutHours,\n transactions[scriptHash].lastModified\n );\n\n //if Minimum number of signatures are not gathered and timelock has not expired or transaction was not signed by seller then revert\n if (\n sigV.length < transactions[scriptHash].threshold && (!timeLockExpired || lastRecovered != transactions[scriptHash].seller)\n )\n {\n revert(\"sigV.length is under the threshold.\");\n }\n\n }\n\n /**\n *@dev Private method to transfer funds to the destination addresses on the basis of transaction type\n */\n function transferFunds(\n bytes32 scriptHash,\n address[]destinations,\n uint256[]amounts\n )\n private\n returns (uint256 valueTransferred)\n {\n Transaction storage t = transactions[scriptHash];\n\n if (t.transactionType == TransactionType.ETHER) {\n for (uint256 i = 0; i < destinations.length; i++) {\n\n require(destinations[i] != address(0) && t.isOwner[destinations[i]], \"Not a valid destination\");\n require(amounts[i] > 0, \"Amount to be sent should be greater than 0\");\n\n valueTransferred = valueTransferred.add(amounts[i]);\n\n t.beneficiaries[destinations[i]] = true;//add receiver as beneficiary\n destinations[i].transfer(amounts[i]);//shall we use send instead of transfer to stop malicious actors from blocking funds?\n }\n\n } else if (t.transactionType == TransactionType.TOKEN) {\n\n ITokenContract token = ITokenContract(t.tokenAddress);\n\n for (uint256 j = 0; j 0, \"Amount to be sent should be greater than 0\");\n\n valueTransferred = valueTransferred.add(amounts[j]);\n t.beneficiaries[destinations[j]] = true;//add receiver as beneficiary\n\n require(token.transfer(destinations[j], amounts[j]), \"Token transfer failed.\");\n }\n } \n }\n\n //to check whether the signature are valid or not and if consensus was reached\n //returns the last address recovered, in case of timeout this must be the sender's address\n function verifySignatures(\n uint8[] sigV,\n bytes32[] sigR,\n bytes32[] sigS,\n bytes32 scriptHash,\n address[] destinations,\n uint256[]amounts\n )\n private\n returns (address lastAddress)\n {\n require(\n sigR.length == sigS.length && sigR.length == sigV.length, \n \"R,S,V length mismatch.\"\n );\n\n // Follows ERC191 signature scheme: https://github.com/ethereum/EIPs/issues/191\n bytes32 txHash = keccak256(\n abi.encodePacked(\n \"\\x19Ethereum Signed Message:\\n32\",\n keccak256(\n abi.encodePacked(\n byte(0x19),\n byte(0),\n this,\n destinations,\n amounts,\n scriptHash\n )\n )\n )\n );\n\n for (uint i = 0; i < sigR.length; i++) {\n\n address recovered = ecrecover(\n txHash,\n sigV[i],\n sigR[i],\n sigS[i]\n );\n\n require(\n transactions[scriptHash].isOwner[recovered], \n \"Invalid signature\"\n );\n require(\n !transactions[scriptHash].voted[recovered], \n \"Same signature sent twice\"\n );\n transactions[scriptHash].voted[recovered] = true;\n lastAddress = recovered;\n }\n }\n\n function isTimeLockExpired(\n uint32 timeoutHours,\n uint256 lastModified\n )\n private\n view\n returns (bool expired)\n {\n uint256 timeSince = now.sub(lastModified);\n expired = (\n timeoutHours == 0 ? false:timeSince > uint256(timeoutHours).mul(3600)\n );\n }\n\n /**\n * Private method to add transaction to reduce code redundancy\n */\n function _addTransaction(\n address buyer,\n address seller,\n address moderator,\n uint8 threshold,\n uint32 timeoutHours,\n bytes32 scriptHash,\n uint256 value,\n bytes20 uniqueId,\n TransactionType transactionType,\n address tokenAddress\n )\n private\n { \n require(buyer != seller, \"Buyer and seller are same\");\n\n //value passed should be greater than 0\n require(value > 0, \"Value passed is 0\");\n\n // For now allowing 0 moderator to support 1-2 multisig wallet\n require(\n threshold > 0 && threshold <= 3, \n \"Threshold cannot be greater than 3 and must be greater than 0\"\n );\n\n //if threshold is 1 then moderator can be passed as zero address or any other address(it wont matter aopart from scripthash since we wont add moderator as one of the owner)\n //otherwise moderator should be a valid address\n require(\n threshold == 1 || moderator != address(0),\n \"Either threshold should be 1 otherwise valid moderator address should be passed\"\n );\n\n require(\n scriptHash == calculateRedeemScriptHash(\n uniqueId,\n threshold,\n timeoutHours,\n buyer,\n seller,\n moderator,\n tokenAddress\n ), \n \"Calculated script hash does not match passed script hash.\"\n );\n\n transactions[scriptHash] = Transaction({\n buyer: buyer,\n seller: seller,\n moderator: moderator,\n value: value,\n status: Status.FUNDED,\n lastModified: block.timestamp,\n scriptHash: scriptHash,\n threshold: threshold,\n timeoutHours: timeoutHours,\n transactionType:transactionType,\n tokenAddress:tokenAddress\n });\n\n transactions[scriptHash].isOwner[seller] = true;\n transactions[scriptHash].isOwner[buyer] = true; \n\n //Check if buyer or seller are not passed as moderator\n require(\n !transactions[scriptHash].isOwner[moderator], \n \"Either buyer or seller is passed as moderator\"\n );\n\n //set moderator as one of the owners only if threshold is greater than 1 otherwise only buyer and seller should be able to release funds\n if (threshold > 1){\n transactions[scriptHash].isOwner[moderator] = true;\n }\n \n\n transactionCount++;\n\n partyVsTransaction[buyer].push(scriptHash);\n partyVsTransaction[seller].push(scriptHash);\n }\n}\n", "sourcePath": "/home/sameep/freelancing-projects/toptal/open baazar/publicRepo/smart-contracts/contracts/escrow/Escrow_v1_0.sol", "ast": { "absolutePath": "/home/sameep/freelancing-projects/toptal/open baazar/publicRepo/smart-contracts/contracts/escrow/Escrow_v1_0.sol", "exportedSymbols": { "Escrow_v1_0": [ - 1218 + 1213 ] }, - "id": 1219, + "id": 1214, "nodeType": "SourceUnit", "nodes": [ { @@ -453,8 +453,8 @@ "file": "openzeppelin-solidity/contracts/math/SafeMath.sol", "id": 2, "nodeType": "ImportDirective", - "scope": 1219, - "sourceUnit": 1377, + "scope": 1214, + "sourceUnit": 1372, "src": "25:59:0", "symbolAliases": [], "unitAlias": "" @@ -464,8 +464,8 @@ "file": "../token/ITokenContract.sol", "id": 3, "nodeType": "ImportDirective", - "scope": 1219, - "sourceUnit": 1249, + "scope": 1214, + "sourceUnit": 1244, "src": "86:37:0", "symbolAliases": [], "unitAlias": "" @@ -476,9 +476,9 @@ "contractKind": "contract", "documentation": "@dev Supports ERC20 tokens\nThe escrow smart contract for the open bazaar trades in Ethereum\nThe smart contract is desgined keeping in mind the current wallet interface of the OB-core\nhttps://github.com/OpenBazaar/wallet-interface/blob/master/wallet.go\nCurrent wallet interface strictly adheres to UTXO(bitcoin) model", "fullyImplemented": true, - "id": 1218, + "id": 1213, "linearizedBaseContracts": [ - 1218 + 1213 ], "name": "Escrow_v1_0", "nodeType": "ContractDefinition", @@ -490,10 +490,10 @@ "id": 4, "name": "SafeMath", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1376, + "referencedDeclaration": 1371, "src": "494:8:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$1376", + "typeIdentifier": "t_contract$_SafeMath_$1371", "typeString": "library SafeMath" } }, @@ -1292,7 +1292,7 @@ ], "name": "Transaction", "nodeType": "StructDefinition", - "scope": 1218, + "scope": 1213, "src": "902:680:0", "visibility": "public" }, @@ -1301,7 +1301,7 @@ "id": 77, "name": "transactions", "nodeType": "VariableDeclaration", - "scope": 1218, + "scope": 1213, "src": "1588:51:0", "stateVariable": true, "storageLocation": "default", @@ -1348,7 +1348,7 @@ "id": 80, "name": "transactionCount", "nodeType": "VariableDeclaration", - "scope": 1218, + "scope": 1213, "src": "1646:35:0", "stateVariable": true, "storageLocation": "default", @@ -1391,7 +1391,7 @@ "id": 85, "name": "partyVsTransaction", "nodeType": "VariableDeclaration", - "scope": 1218, + "scope": 1213, "src": "1758:54:0", "stateVariable": true, "storageLocation": "default", @@ -1578,10 +1578,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1394, - 1395 + 1389, + 1390 ], - "referencedDeclaration": 1395, + "referencedDeclaration": 1390, "src": "1876:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -1790,10 +1790,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1394, - 1395 + 1389, + 1390 ], - "referencedDeclaration": 1395, + "referencedDeclaration": 1390, "src": "2062:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -2013,10 +2013,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1394, - 1395 + 1389, + 1390 ], - "referencedDeclaration": 1395, + "referencedDeclaration": 1390, "src": "2205:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -2220,10 +2220,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1394, - 1395 + 1389, + 1390 ], - "referencedDeclaration": 1395, + "referencedDeclaration": 1390, "src": "2420:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -2427,10 +2427,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1394, - 1395 + 1389, + 1390 ], - "referencedDeclaration": 1395, + "referencedDeclaration": 1390, "src": "2623:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -2559,7 +2559,7 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1391, + "referencedDeclaration": 1386, "src": "2842:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", @@ -2678,10 +2678,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1394, - 1395 + 1389, + 1390 ], - "referencedDeclaration": 1395, + "referencedDeclaration": 1390, "src": "2821:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -2849,7 +2849,7 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1391, + "referencedDeclaration": 1386, "src": "4431:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", @@ -3016,7 +3016,7 @@ "name": "_addTransaction", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1217, + "referencedDeclaration": 1212, "src": "4267:15:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_address_$_t_uint8_$_t_uint32_$_t_bytes32_$_t_uint256_$_t_bytes20_$_t_enum$_TransactionType_$12_$_t_address_$returns$__$", @@ -3066,7 +3066,7 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1391, + "referencedDeclaration": 1386, "src": "4574:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", @@ -3095,7 +3095,7 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1391, + "referencedDeclaration": 1386, "src": "4586:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", @@ -3467,7 +3467,7 @@ "parameters": [], "src": "4257:0:0" }, - "scope": 1218, + "scope": 1213, "src": "3902:702:0", "stateMutability": "payable", "superFunction": null, @@ -3677,7 +3677,7 @@ "name": "_addTransaction", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1217, + "referencedDeclaration": 1212, "src": "6149:15:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_address_$_t_uint8_$_t_uint32_$_t_bytes32_$_t_uint256_$_t_bytes20_$_t_enum$_TransactionType_$12_$_t_address_$returns$__$", @@ -3717,7 +3717,7 @@ "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenContract_$1248", + "typeIdentifier": "t_contract$_ITokenContract_$1243", "typeString": "contract ITokenContract" }, "typeName": { @@ -3725,10 +3725,10 @@ "id": 283, "name": "ITokenContract", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1248, + "referencedDeclaration": 1243, "src": "6422:14:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenContract_$1248", + "typeIdentifier": "t_contract$_ITokenContract_$1243", "typeString": "contract ITokenContract" } }, @@ -3765,10 +3765,10 @@ "name": "ITokenContract", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1248, + "referencedDeclaration": 1243, "src": "6445:14:0", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ITokenContract_$1248_$", + "typeIdentifier": "t_type$_t_contract$_ITokenContract_$1243_$", "typeString": "type(contract ITokenContract)" } }, @@ -3782,7 +3782,7 @@ "nodeType": "FunctionCall", "src": "6445:28:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenContract_$1248", + "typeIdentifier": "t_contract$_ITokenContract_$1243", "typeString": "contract ITokenContract" } }, @@ -3804,7 +3804,7 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1391, + "referencedDeclaration": 1386, "src": "6524:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", @@ -3831,10 +3831,10 @@ "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1408, + "referencedDeclaration": 1403, "src": "6536:4:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_Escrow_v1_0_$1218", + "typeIdentifier": "t_contract$_Escrow_v1_0_$1213", "typeString": "contract Escrow_v1_0" } }, @@ -3859,7 +3859,7 @@ "typeString": "address" }, { - "typeIdentifier": "t_contract$_Escrow_v1_0_$1218", + "typeIdentifier": "t_contract$_Escrow_v1_0_$1213", "typeString": "contract Escrow_v1_0" }, { @@ -3876,7 +3876,7 @@ "referencedDeclaration": 284, "src": "6505:5:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenContract_$1248", + "typeIdentifier": "t_contract$_ITokenContract_$1243", "typeString": "contract ITokenContract" } }, @@ -3887,7 +3887,7 @@ "lValueRequested": false, "memberName": "transferFrom", "nodeType": "MemberAccess", - "referencedDeclaration": 1247, + "referencedDeclaration": 1242, "src": "6505:18:0", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", @@ -3942,10 +3942,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1394, - 1395 + 1389, + 1390 ], - "referencedDeclaration": 1395, + "referencedDeclaration": 1390, "src": "6484:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -3995,7 +3995,7 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1391, + "referencedDeclaration": 1386, "src": "6700:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", @@ -4465,7 +4465,7 @@ "parameters": [], "src": "6138:0:0" }, - "scope": 1218, + "scope": 1213, "src": "5704:1021:0", "stateMutability": "nonpayable", "superFunction": null, @@ -4696,7 +4696,7 @@ ], "src": "7084:12:0" }, - "scope": 1218, + "scope": 1213, "src": "6949:228:0", "stateMutability": "view", "superFunction": null, @@ -4927,7 +4927,7 @@ ], "src": "7522:11:0" }, - "scope": 1218, + "scope": 1213, "src": "7400:199:0", "stateMutability": "view", "superFunction": null, @@ -4980,7 +4980,7 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1391, + "referencedDeclaration": 1386, "src": "8212:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", @@ -5092,10 +5092,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1394, - 1395 + 1389, + 1390 ], - "referencedDeclaration": 1395, + "referencedDeclaration": 1390, "src": "8232:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -5273,7 +5273,7 @@ "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 1355, + "referencedDeclaration": 1350, "src": "8331:47:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", @@ -5378,7 +5378,7 @@ "name": "block", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1381, + "referencedDeclaration": 1376, "src": "8436:5:0", "typeDescriptions": { "typeIdentifier": "t_magic_block", @@ -5434,7 +5434,7 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1391, + "referencedDeclaration": 1386, "src": "8489:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", @@ -5725,7 +5725,7 @@ "parameters": [], "src": "8185:0:0" }, - "scope": 1218, + "scope": 1213, "src": "7917:598:0", "stateMutability": "payable", "superFunction": null, @@ -5874,10 +5874,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1394, - 1395 + 1389, + 1390 ], - "referencedDeclaration": 1395, + "referencedDeclaration": 1390, "src": "9094:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -5917,7 +5917,7 @@ "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenContract_$1248", + "typeIdentifier": "t_contract$_ITokenContract_$1243", "typeString": "contract ITokenContract" }, "typeName": { @@ -5925,10 +5925,10 @@ "id": 438, "name": "ITokenContract", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1248, + "referencedDeclaration": 1243, "src": "9160:14:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenContract_$1248", + "typeIdentifier": "t_contract$_ITokenContract_$1243", "typeString": "contract ITokenContract" } }, @@ -6008,10 +6008,10 @@ "name": "ITokenContract", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1248, + "referencedDeclaration": 1243, "src": "9183:14:0", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ITokenContract_$1248_$", + "typeIdentifier": "t_type$_t_contract$_ITokenContract_$1243_$", "typeString": "type(contract ITokenContract)" } }, @@ -6025,7 +6025,7 @@ "nodeType": "FunctionCall", "src": "9183:75:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenContract_$1248", + "typeIdentifier": "t_contract$_ITokenContract_$1243", "typeString": "contract ITokenContract" } }, @@ -6101,10 +6101,10 @@ "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1408, + "referencedDeclaration": 1403, "src": "9341:4:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_Escrow_v1_0_$1218", + "typeIdentifier": "t_contract$_Escrow_v1_0_$1213", "typeString": "contract Escrow_v1_0" } }, @@ -6129,7 +6129,7 @@ "typeString": "address" }, { - "typeIdentifier": "t_contract$_Escrow_v1_0_$1218", + "typeIdentifier": "t_contract$_Escrow_v1_0_$1213", "typeString": "contract Escrow_v1_0" }, { @@ -6146,7 +6146,7 @@ "referencedDeclaration": 439, "src": "9290:5:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenContract_$1248", + "typeIdentifier": "t_contract$_ITokenContract_$1243", "typeString": "contract ITokenContract" } }, @@ -6157,7 +6157,7 @@ "lValueRequested": false, "memberName": "transferFrom", "nodeType": "MemberAccess", - "referencedDeclaration": 1247, + "referencedDeclaration": 1242, "src": "9290:18:0", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", @@ -6212,10 +6212,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1394, - 1395 + 1389, + 1390 ], - "referencedDeclaration": 1395, + "referencedDeclaration": 1390, "src": "9269:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -6393,7 +6393,7 @@ "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 1355, + "referencedDeclaration": 1350, "src": "9515:47:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", @@ -6498,7 +6498,7 @@ "name": "block", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1381, + "referencedDeclaration": 1376, "src": "9620:5:0", "typeDescriptions": { "typeIdentifier": "t_magic_block", @@ -6554,7 +6554,7 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1391, + "referencedDeclaration": 1386, "src": "9673:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", @@ -6871,7 +6871,7 @@ "parameters": [], "src": "9051:0:0" }, - "scope": 1218, + "scope": 1213, "src": "8775:924:0", "stateMutability": "nonpayable", "superFunction": null, @@ -7016,7 +7016,7 @@ ], "src": "9937:24:0" }, - "scope": 1218, + "scope": 1213, "src": "9816:207:0", "stateMutability": "view", "superFunction": null, @@ -7228,10 +7228,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1394, - 1395 + 1389, + 1390 ], - "referencedDeclaration": 1395, + "referencedDeclaration": 1390, "src": "11063:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -7574,7 +7574,7 @@ "name": "block", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1381, + "referencedDeclaration": 1376, "src": "11543:5:0", "typeDescriptions": { "typeIdentifier": "t_magic_block", @@ -7682,7 +7682,7 @@ "name": "transferFunds", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 902, + "referencedDeclaration": 897, "src": "11589:13:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$_t_uint256_$", @@ -7801,10 +7801,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1394, - 1395 + 1389, + 1390 ], - "referencedDeclaration": 1395, + "referencedDeclaration": 1390, "src": "11568:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -8214,7 +8214,7 @@ "parameters": [], "src": "11053:0:0" }, - "scope": 1218, + "scope": 1213, "src": "10780:1063:0", "stateMutability": "nonpayable", "superFunction": null, @@ -8433,10 +8433,10 @@ "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1408, + "referencedDeclaration": 1403, "src": "13231:4:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_Escrow_v1_0_$1218", + "typeIdentifier": "t_contract$_Escrow_v1_0_$1213", "typeString": "contract Escrow_v1_0" } }, @@ -8481,7 +8481,7 @@ "typeString": "address" }, { - "typeIdentifier": "t_contract$_Escrow_v1_0_$1218", + "typeIdentifier": "t_contract$_Escrow_v1_0_$1213", "typeString": "contract Escrow_v1_0" }, { @@ -8495,7 +8495,7 @@ "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1378, + "referencedDeclaration": 1373, "src": "13012:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_abi", @@ -8542,7 +8542,7 @@ "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1385, + "referencedDeclaration": 1380, "src": "12985:9:0", "typeDescriptions": { "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", @@ -8696,10 +8696,10 @@ "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1408, + "referencedDeclaration": 1403, "src": "12911:4:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_Escrow_v1_0_$1218", + "typeIdentifier": "t_contract$_Escrow_v1_0_$1213", "typeString": "contract Escrow_v1_0" } } @@ -8731,7 +8731,7 @@ "typeString": "address" }, { - "typeIdentifier": "t_contract$_Escrow_v1_0_$1218", + "typeIdentifier": "t_contract$_Escrow_v1_0_$1213", "typeString": "contract Escrow_v1_0" } ], @@ -8741,7 +8741,7 @@ "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1378, + "referencedDeclaration": 1373, "src": "12692:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_abi", @@ -8788,7 +8788,7 @@ "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1385, + "referencedDeclaration": 1380, "src": "12665:9:0", "typeDescriptions": { "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", @@ -9055,7 +9055,7 @@ ], "src": "12583:14:0" }, - "scope": 1218, + "scope": 1213, "src": "12314:1004:0", "stateMutability": "view", "superFunction": null, @@ -9213,7 +9213,7 @@ "name": "verifySignatures", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1026, + "referencedDeclaration": 1021, "src": "13836:16:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_array$_t_uint8_$dyn_memory_ptr_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_bytes32_$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$_t_address_$", @@ -9401,7 +9401,7 @@ "name": "isTimeLockExpired", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1060, + "referencedDeclaration": 1055, "src": "14021:17:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_uint32_$_t_uint256_$returns$_t_bool_$", @@ -9745,10 +9745,10 @@ "name": "revert", "nodeType": "Identifier", "overloadedDeclarations": [ - 1396, - 1397 + 1391, + 1392 ], - "referencedDeclaration": 1397, + "referencedDeclaration": 1392, "src": "14481:6:0", "typeDescriptions": { "typeIdentifier": "t_function_revert_pure$_t_string_memory_ptr_$returns$__$", @@ -10006,7 +10006,7 @@ "parameters": [], "src": "13802:0:0" }, - "scope": 1218, + "scope": 1213, "src": "13592:952:0", "stateMutability": "nonpayable", "superFunction": null, @@ -10014,9 +10014,9 @@ }, { "body": { - "id": 901, + "id": 896, "nodeType": "Block", - "src": "14847:1540:0", + "src": "14847:1375:0", "statements": [ { "assignments": [ @@ -10028,7 +10028,7 @@ "id": 730, "name": "t", "nodeType": "VariableDeclaration", - "scope": 902, + "scope": 897, "src": "14857:21:0", "stateVariable": false, "storageLocation": "storage", @@ -10252,78 +10252,10 @@ "typeString": "bool" } }, - "falseBody": { - "id": 898, - "nodeType": "Block", - "src": "16221:160:0", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "5472616e736174696f6e2074797065206973206e6f7420737570706f727465642e", - "id": 895, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "16334:35:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_9d93f6a20d47e99a6df20afacc401ffacf7e50a57b5dfa59ab7b43321870608b", - "typeString": "literal_string \"Transation type is not supported.\"" - }, - "value": "Transation type is not supported." - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_9d93f6a20d47e99a6df20afacc401ffacf7e50a57b5dfa59ab7b43321870608b", - "typeString": "literal_string \"Transation type is not supported.\"" - } - ], - "id": 894, - "name": "revert", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 1396, - 1397 - ], - "referencedDeclaration": 1397, - "src": "16327:6:0", - "typeDescriptions": { - "typeIdentifier": "t_function_revert_pure$_t_string_memory_ptr_$returns$__$", - "typeString": "function (string memory) pure" - } - }, - "id": 896, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16327:43:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 897, - "nodeType": "ExpressionStatement", - "src": "16327:43:0" - } - ] - }, - "id": 899, + "falseBody": null, + "id": 894, "nodeType": "IfStatement", - "src": "15557:824:0", + "src": "15557:658:0", "trueBody": { "id": 893, "nodeType": "Block", @@ -10339,12 +10271,12 @@ "id": 815, "name": "token", "nodeType": "VariableDeclaration", - "scope": 902, + "scope": 897, "src": "15620:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenContract_$1248", + "typeIdentifier": "t_contract$_ITokenContract_$1243", "typeString": "contract ITokenContract" }, "typeName": { @@ -10352,10 +10284,10 @@ "id": 814, "name": "ITokenContract", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1248, + "referencedDeclaration": 1243, "src": "15620:14:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenContract_$1248", + "typeIdentifier": "t_contract$_ITokenContract_$1243", "typeString": "contract ITokenContract" } }, @@ -10408,10 +10340,10 @@ "name": "ITokenContract", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1248, + "referencedDeclaration": 1243, "src": "15643:14:0", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ITokenContract_$1248_$", + "typeIdentifier": "t_type$_t_contract$_ITokenContract_$1243_$", "typeString": "type(contract ITokenContract)" } }, @@ -10425,7 +10357,7 @@ "nodeType": "FunctionCall", "src": "15643:30:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenContract_$1248", + "typeIdentifier": "t_contract$_ITokenContract_$1243", "typeString": "contract ITokenContract" } }, @@ -10693,10 +10625,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1394, - 1395 + 1389, + 1390 ], - "referencedDeclaration": 1395, + "referencedDeclaration": 1390, "src": "15755:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -10836,10 +10768,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1394, - 1395 + 1389, + 1390 ], - "referencedDeclaration": 1395, + "referencedDeclaration": 1390, "src": "15868:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -10958,7 +10890,7 @@ "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 1355, + "referencedDeclaration": 1350, "src": "15975:20:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", @@ -11218,7 +11150,7 @@ "referencedDeclaration": 815, "src": "16120:5:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenContract_$1248", + "typeIdentifier": "t_contract$_ITokenContract_$1243", "typeString": "contract ITokenContract" } }, @@ -11229,7 +11161,7 @@ "lValueRequested": false, "memberName": "transfer", "nodeType": "MemberAccess", - "referencedDeclaration": 1236, + "referencedDeclaration": 1231, "src": "16120:14:0", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", @@ -11284,10 +11216,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1394, - 1395 + 1389, + 1390 ], - "referencedDeclaration": 1395, + "referencedDeclaration": 1390, "src": "16112:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -11386,7 +11318,7 @@ "id": 822, "name": "j", "nodeType": "VariableDeclaration", - "scope": 902, + "scope": 897, "src": "15693:9:0", "stateVariable": false, "storageLocation": "default", @@ -11470,9 +11402,9 @@ ] } }, - "id": 900, + "id": 895, "nodeType": "IfStatement", - "src": "14916:1465:0", + "src": "14916:1299:0", "trueBody": { "id": 808, "nodeType": "Block", @@ -11739,10 +11671,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1394, - 1395 + 1389, + 1390 ], - "referencedDeclaration": 1395, + "referencedDeclaration": 1390, "src": "15047:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -11882,10 +11814,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1394, - 1395 + 1389, + 1390 ], - "referencedDeclaration": 1395, + "referencedDeclaration": 1390, "src": "15160:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -12004,7 +11936,7 @@ "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 1355, + "referencedDeclaration": 1350, "src": "15267:20:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", @@ -12354,7 +12286,7 @@ "id": 741, "name": "i", "nodeType": "VariableDeclaration", - "scope": 902, + "scope": 897, "src": "14983:9:0", "stateVariable": false, "storageLocation": "default", @@ -12441,7 +12373,7 @@ ] }, "documentation": "dev Private method to transfer funds to the destination addresses on the basis of transaction type", - "id": 902, + "id": 897, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -12457,7 +12389,7 @@ "id": 718, "name": "scriptHash", "nodeType": "VariableDeclaration", - "scope": 902, + "scope": 897, "src": "14702:18:0", "stateVariable": false, "storageLocation": "default", @@ -12483,7 +12415,7 @@ "id": 721, "name": "destinations", "nodeType": "VariableDeclaration", - "scope": 902, + "scope": 897, "src": "14730:21:0", "stateVariable": false, "storageLocation": "default", @@ -12519,7 +12451,7 @@ "id": 724, "name": "amounts", "nodeType": "VariableDeclaration", - "scope": 902, + "scope": 897, "src": "14761:16:0", "stateVariable": false, "storageLocation": "default", @@ -12563,7 +12495,7 @@ "id": 727, "name": "valueTransferred", "nodeType": "VariableDeclaration", - "scope": 902, + "scope": 897, "src": "14817:24:0", "stateVariable": false, "storageLocation": "default", @@ -12587,17 +12519,17 @@ ], "src": "14816:26:0" }, - "scope": 1218, - "src": "14670:1717:0", + "scope": 1213, + "src": "14670:1552:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "private" }, { "body": { - "id": 1025, + "id": 1020, "nodeType": "Block", - "src": "16817:1277:0", + "src": "16652:1277:0", "statements": [ { "expression": { @@ -12609,7 +12541,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 935, + "id": 930, "isConstant": false, "isLValue": false, "isPure": false, @@ -12620,7 +12552,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 929, + "id": 924, "isConstant": false, "isLValue": false, "isPure": false, @@ -12629,18 +12561,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 925, + "id": 920, "name": "sigR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 908, - "src": "16848:4:0", + "referencedDeclaration": 903, + "src": "16683:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" } }, - "id": 926, + "id": 921, "isConstant": false, "isLValue": false, "isPure": false, @@ -12648,7 +12580,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "16848:11:0", + "src": "16683:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12660,18 +12592,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 927, + "id": 922, "name": "sigS", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 911, - "src": "16863:4:0", + "referencedDeclaration": 906, + "src": "16698:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" } }, - "id": 928, + "id": 923, "isConstant": false, "isLValue": false, "isPure": false, @@ -12679,13 +12611,13 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "16863:11:0", + "src": "16698:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "16848:26:0", + "src": "16683:26:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -12699,7 +12631,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 934, + "id": 929, "isConstant": false, "isLValue": false, "isPure": false, @@ -12708,18 +12640,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 930, + "id": 925, "name": "sigR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 908, - "src": "16878:4:0", + "referencedDeclaration": 903, + "src": "16713:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" } }, - "id": 931, + "id": 926, "isConstant": false, "isLValue": false, "isPure": false, @@ -12727,7 +12659,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "16878:11:0", + "src": "16713:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12739,18 +12671,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 932, + "id": 927, "name": "sigV", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 905, - "src": "16893:4:0", + "referencedDeclaration": 900, + "src": "16728:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr", "typeString": "uint8[] memory" } }, - "id": 933, + "id": 928, "isConstant": false, "isLValue": false, "isPure": false, @@ -12758,19 +12690,19 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "16893:11:0", + "src": "16728:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "16878:26:0", + "src": "16713:26:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "16848:56:0", + "src": "16683:56:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -12779,14 +12711,14 @@ { "argumentTypes": null, "hexValue": "522c532c56206c656e677468206d69736d617463682e", - "id": 936, + "id": 931, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "16919:24:0", + "src": "16754:24:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_f85073c8befb65baed58ca1ee563e5da0bdbdce8abd4d29ef22a8329c7c97506", @@ -12806,21 +12738,21 @@ "typeString": "literal_string \"R,S,V length mismatch.\"" } ], - "id": 924, + "id": 919, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1394, - 1395 + 1389, + 1390 ], - "referencedDeclaration": 1395, - "src": "16827:7:0", + "referencedDeclaration": 1390, + "src": "16662:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 937, + "id": 932, "isConstant": false, "isLValue": false, "isPure": false, @@ -12828,28 +12760,28 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16827:126:0", + "src": "16662:126:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 938, + "id": 933, "nodeType": "ExpressionStatement", - "src": "16827:126:0" + "src": "16662:126:0" }, { "assignments": [ - 940 + 935 ], "declarations": [ { "constant": false, - "id": 940, + "id": 935, "name": "txHash", "nodeType": "VariableDeclaration", - "scope": 1026, - "src": "17052:14:0", + "scope": 1021, + "src": "16887:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12857,10 +12789,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 939, + "id": 934, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "17052:7:0", + "src": "16887:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -12870,7 +12802,7 @@ "visibility": "internal" } ], - "id": 962, + "id": 957, "initialValue": { "argumentTypes": null, "arguments": [ @@ -12880,14 +12812,14 @@ { "argumentTypes": null, "hexValue": "19457468657265756d205369676e6564204d6573736167653a0a3332", - "id": 944, + "id": 939, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "17126:34:0", + "src": "16961:34:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_178a2411ab6fbc1ba11064408972259c558d0e82fd48b0aba3ad81d14f065e73", @@ -12907,14 +12839,14 @@ { "argumentTypes": null, "hexValue": "30783139", - "id": 949, + "id": 944, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "17256:4:0", + "src": "17091:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_25_by_1", @@ -12930,20 +12862,20 @@ "typeString": "int_const 25" } ], - "id": 948, + "id": 943, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "17251:4:0", + "src": "17086:4:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes1_$", "typeString": "type(bytes1)" }, "typeName": "byte" }, - "id": 950, + "id": 945, "isConstant": false, "isLValue": false, "isPure": true, @@ -12951,7 +12883,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17251:10:0", + "src": "17086:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes1", "typeString": "bytes1" @@ -12963,14 +12895,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 952, + "id": 947, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "17292:1:0", + "src": "17127:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -12986,20 +12918,20 @@ "typeString": "int_const 0" } ], - "id": 951, + "id": 946, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "17287:4:0", + "src": "17122:4:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes1_$", "typeString": "type(bytes1)" }, "typeName": "byte" }, - "id": 953, + "id": 948, "isConstant": false, "isLValue": false, "isPure": true, @@ -13007,7 +12939,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17287:7:0", + "src": "17122:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes1", "typeString": "bytes1" @@ -13015,25 +12947,25 @@ }, { "argumentTypes": null, - "id": 954, + "id": 949, "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1408, - "src": "17320:4:0", + "referencedDeclaration": 1403, + "src": "17155:4:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_Escrow_v1_0_$1218", + "typeIdentifier": "t_contract$_Escrow_v1_0_$1213", "typeString": "contract Escrow_v1_0" } }, { "argumentTypes": null, - "id": 955, + "id": 950, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 916, - "src": "17350:12:0", + "referencedDeclaration": 911, + "src": "17185:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -13041,12 +12973,12 @@ }, { "argumentTypes": null, - "id": 956, + "id": 951, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 919, - "src": "17388:7:0", + "referencedDeclaration": 914, + "src": "17223:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" @@ -13054,12 +12986,12 @@ }, { "argumentTypes": null, - "id": 957, + "id": 952, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 913, - "src": "17421:10:0", + "referencedDeclaration": 908, + "src": "17256:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -13077,7 +13009,7 @@ "typeString": "bytes1" }, { - "typeIdentifier": "t_contract$_Escrow_v1_0_$1218", + "typeIdentifier": "t_contract$_Escrow_v1_0_$1213", "typeString": "contract Escrow_v1_0" }, { @@ -13095,18 +13027,18 @@ ], "expression": { "argumentTypes": null, - "id": 946, + "id": 941, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1378, - "src": "17209:3:0", + "referencedDeclaration": 1373, + "src": "17044:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, - "id": 947, + "id": 942, "isConstant": false, "isLValue": false, "isPure": true, @@ -13114,13 +13046,13 @@ "memberName": "encodePacked", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "17209:16:0", + "src": "17044:16:0", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, - "id": 958, + "id": 953, "isConstant": false, "isLValue": false, "isPure": false, @@ -13128,7 +13060,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17209:244:0", + "src": "17044:244:0", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -13142,18 +13074,18 @@ "typeString": "bytes memory" } ], - "id": 945, + "id": 940, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1385, - "src": "17178:9:0", + "referencedDeclaration": 1380, + "src": "17013:9:0", "typeDescriptions": { "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", "typeString": "function () pure returns (bytes32)" } }, - "id": 959, + "id": 954, "isConstant": false, "isLValue": false, "isPure": false, @@ -13161,7 +13093,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17178:293:0", + "src": "17013:293:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -13181,18 +13113,18 @@ ], "expression": { "argumentTypes": null, - "id": 942, + "id": 937, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1378, - "src": "17092:3:0", + "referencedDeclaration": 1373, + "src": "16927:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, - "id": 943, + "id": 938, "isConstant": false, "isLValue": false, "isPure": true, @@ -13200,13 +13132,13 @@ "memberName": "encodePacked", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "17092:16:0", + "src": "16927:16:0", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, - "id": 960, + "id": 955, "isConstant": false, "isLValue": false, "isPure": false, @@ -13214,7 +13146,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17092:393:0", + "src": "16927:393:0", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -13228,18 +13160,18 @@ "typeString": "bytes memory" } ], - "id": 941, + "id": 936, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1385, - "src": "17069:9:0", + "referencedDeclaration": 1380, + "src": "16904:9:0", "typeDescriptions": { "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", "typeString": "function () pure returns (bytes32)" } }, - "id": 961, + "id": 956, "isConstant": false, "isLValue": false, "isPure": false, @@ -13247,33 +13179,33 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17069:426:0", + "src": "16904:426:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "nodeType": "VariableDeclarationStatement", - "src": "17052:443:0" + "src": "16887:443:0" }, { "body": { - "id": 1023, + "id": 1018, "nodeType": "Block", - "src": "17545:543:0", + "src": "17380:543:0", "statements": [ { "assignments": [ - 975 + 970 ], "declarations": [ { "constant": false, - "id": 975, + "id": 970, "name": "recovered", "nodeType": "VariableDeclaration", - "scope": 1026, - "src": "17560:17:0", + "scope": 1021, + "src": "17395:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -13281,10 +13213,10 @@ "typeString": "address" }, "typeName": { - "id": 974, + "id": 969, "name": "address", "nodeType": "ElementaryTypeName", - "src": "17560:7:0", + "src": "17395:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -13294,18 +13226,18 @@ "visibility": "internal" } ], - "id": 988, + "id": 983, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 977, + "id": 972, "name": "txHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 940, - "src": "17607:6:0", + "referencedDeclaration": 935, + "src": "17442:6:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -13315,26 +13247,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 978, + "id": 973, "name": "sigV", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 905, - "src": "17631:4:0", + "referencedDeclaration": 900, + "src": "17466:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr", "typeString": "uint8[] memory" } }, - "id": 980, + "id": 975, "indexExpression": { "argumentTypes": null, - "id": 979, + "id": 974, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 964, - "src": "17636:1:0", + "referencedDeclaration": 959, + "src": "17471:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13345,7 +13277,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17631:7:0", + "src": "17466:7:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -13355,26 +13287,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 981, + "id": 976, "name": "sigR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 908, - "src": "17656:4:0", + "referencedDeclaration": 903, + "src": "17491:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" } }, - "id": 983, + "id": 978, "indexExpression": { "argumentTypes": null, - "id": 982, + "id": 977, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 964, - "src": "17661:1:0", + "referencedDeclaration": 959, + "src": "17496:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13385,7 +13317,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17656:7:0", + "src": "17491:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -13395,26 +13327,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 984, + "id": 979, "name": "sigS", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 911, - "src": "17681:4:0", + "referencedDeclaration": 906, + "src": "17516:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" } }, - "id": 986, + "id": 981, "indexExpression": { "argumentTypes": null, - "id": 985, + "id": 980, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 964, - "src": "17686:1:0", + "referencedDeclaration": 959, + "src": "17521:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13425,7 +13357,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17681:7:0", + "src": "17516:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -13451,18 +13383,18 @@ "typeString": "bytes32" } ], - "id": 976, + "id": 971, "name": "ecrecover", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1383, - "src": "17580:9:0", + "referencedDeclaration": 1378, + "src": "17415:9:0", "typeDescriptions": { "typeIdentifier": "t_function_ecrecover_pure$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$_t_address_$", "typeString": "function (bytes32,uint8,bytes32,bytes32) pure returns (address)" } }, - "id": 987, + "id": 982, "isConstant": false, "isLValue": false, "isPure": false, @@ -13470,14 +13402,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17580:122:0", + "src": "17415:122:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "VariableDeclarationStatement", - "src": "17560:142:0" + "src": "17395:142:0" }, { "expression": { @@ -13491,26 +13423,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 990, + "id": 985, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 77, - "src": "17742:12:0", + "src": "17577:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$73_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 992, + "id": 987, "indexExpression": { "argumentTypes": null, - "id": 991, + "id": 986, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 913, - "src": "17755:10:0", + "referencedDeclaration": 908, + "src": "17590:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -13521,13 +13453,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17742:24:0", + "src": "17577:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$73_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 993, + "id": 988, "isConstant": false, "isLValue": true, "isPure": false, @@ -13535,21 +13467,21 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 64, - "src": "17742:32:0", + "src": "17577:32:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 995, + "id": 990, "indexExpression": { "argumentTypes": null, - "id": 994, + "id": 989, "name": "recovered", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 975, - "src": "17775:9:0", + "referencedDeclaration": 970, + "src": "17610:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -13560,7 +13492,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17742:43:0", + "src": "17577:43:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -13569,14 +13501,14 @@ { "argumentTypes": null, "hexValue": "496e76616c6964207369676e6174757265", - "id": 996, + "id": 991, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "17804:19:0", + "src": "17639:19:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_4f2d7dfcb27c0aafa13ae8c400de482c7832204d194018b6e45bd2bf244c74e7", @@ -13596,21 +13528,21 @@ "typeString": "literal_string \"Invalid signature\"" } ], - "id": 989, + "id": 984, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1394, - 1395 + 1389, + 1390 ], - "referencedDeclaration": 1395, - "src": "17717:7:0", + "referencedDeclaration": 1390, + "src": "17552:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 997, + "id": 992, "isConstant": false, "isLValue": false, "isPure": false, @@ -13618,15 +13550,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17717:120:0", + "src": "17552:120:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 998, + "id": 993, "nodeType": "ExpressionStatement", - "src": "17717:120:0" + "src": "17552:120:0" }, { "expression": { @@ -13634,7 +13566,7 @@ "arguments": [ { "argumentTypes": null, - "id": 1006, + "id": 1001, "isConstant": false, "isLValue": false, "isPure": false, @@ -13642,7 +13574,7 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "17876:42:0", + "src": "17711:42:0", "subExpression": { "argumentTypes": null, "baseExpression": { @@ -13651,26 +13583,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1000, + "id": 995, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 77, - "src": "17877:12:0", + "src": "17712:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$73_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 1002, + "id": 997, "indexExpression": { "argumentTypes": null, - "id": 1001, + "id": 996, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 913, - "src": "17890:10:0", + "referencedDeclaration": 908, + "src": "17725:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -13681,13 +13613,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17877:24:0", + "src": "17712:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$73_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 1003, + "id": 998, "isConstant": false, "isLValue": true, "isPure": false, @@ -13695,21 +13627,21 @@ "memberName": "voted", "nodeType": "MemberAccess", "referencedDeclaration": 68, - "src": "17877:30:0", + "src": "17712:30:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 1005, + "id": 1000, "indexExpression": { "argumentTypes": null, - "id": 1004, + "id": 999, "name": "recovered", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 975, - "src": "17908:9:0", + "referencedDeclaration": 970, + "src": "17743:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -13720,7 +13652,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17877:41:0", + "src": "17712:41:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -13734,14 +13666,14 @@ { "argumentTypes": null, "hexValue": "53616d65207369676e61747572652073656e74207477696365", - "id": 1007, + "id": 1002, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "17937:27:0", + "src": "17772:27:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_fb2c7e49d5ec7ce36fa812cf15ee7fa946942f931d04fe3ae970516007b2a543", @@ -13761,21 +13693,21 @@ "typeString": "literal_string \"Same signature sent twice\"" } ], - "id": 999, + "id": 994, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1394, - 1395 + 1389, + 1390 ], - "referencedDeclaration": 1395, - "src": "17851:7:0", + "referencedDeclaration": 1390, + "src": "17686:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 1008, + "id": 1003, "isConstant": false, "isLValue": false, "isPure": false, @@ -13783,20 +13715,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17851:127:0", + "src": "17686:127:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1009, + "id": 1004, "nodeType": "ExpressionStatement", - "src": "17851:127:0" + "src": "17686:127:0" }, { "expression": { "argumentTypes": null, - "id": 1017, + "id": 1012, "isConstant": false, "isLValue": false, "isPure": false, @@ -13809,26 +13741,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1010, + "id": 1005, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 77, - "src": "17992:12:0", + "src": "17827:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$73_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 1012, + "id": 1007, "indexExpression": { "argumentTypes": null, - "id": 1011, + "id": 1006, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 913, - "src": "18005:10:0", + "referencedDeclaration": 908, + "src": "17840:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -13839,13 +13771,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17992:24:0", + "src": "17827:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$73_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 1013, + "id": 1008, "isConstant": false, "isLValue": true, "isPure": false, @@ -13853,21 +13785,21 @@ "memberName": "voted", "nodeType": "MemberAccess", "referencedDeclaration": 68, - "src": "17992:30:0", + "src": "17827:30:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 1015, + "id": 1010, "indexExpression": { "argumentTypes": null, - "id": 1014, + "id": 1009, "name": "recovered", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 975, - "src": "18023:9:0", + "referencedDeclaration": 970, + "src": "17858:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -13878,7 +13810,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "17992:41:0", + "src": "17827:41:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -13889,14 +13821,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "74727565", - "id": 1016, + "id": 1011, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "18036:4:0", + "src": "17871:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -13904,32 +13836,32 @@ }, "value": "true" }, - "src": "17992:48:0", + "src": "17827:48:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 1018, + "id": 1013, "nodeType": "ExpressionStatement", - "src": "17992:48:0" + "src": "17827:48:0" }, { "expression": { "argumentTypes": null, - "id": 1021, + "id": 1016, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 1019, + "id": 1014, "name": "lastAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 922, - "src": "18054:11:0", + "referencedDeclaration": 917, + "src": "17889:11:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -13939,26 +13871,26 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 1020, + "id": 1015, "name": "recovered", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 975, - "src": "18068:9:0", + "referencedDeclaration": 970, + "src": "17903:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "18054:23:0", + "src": "17889:23:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 1022, + "id": 1017, "nodeType": "ExpressionStatement", - "src": "18054:23:0" + "src": "17889:23:0" } ] }, @@ -13968,19 +13900,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 970, + "id": 965, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 967, + "id": 962, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 964, - "src": "17523:1:0", + "referencedDeclaration": 959, + "src": "17358:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13992,18 +13924,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 968, + "id": 963, "name": "sigR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 908, - "src": "17527:4:0", + "referencedDeclaration": 903, + "src": "17362:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" } }, - "id": 969, + "id": 964, "isConstant": false, "isLValue": false, "isPure": false, @@ -14011,31 +13943,31 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "17527:11:0", + "src": "17362:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "17523:15:0", + "src": "17358:15:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 1024, + "id": 1019, "initializationExpression": { "assignments": [ - 964 + 959 ], "declarations": [ { "constant": false, - "id": 964, + "id": 959, "name": "i", "nodeType": "VariableDeclaration", - "scope": 1026, - "src": "17511:6:0", + "scope": 1021, + "src": "17346:6:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14043,10 +13975,10 @@ "typeString": "uint256" }, "typeName": { - "id": 963, + "id": 958, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "17511:4:0", + "src": "17346:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14056,18 +13988,18 @@ "visibility": "internal" } ], - "id": 966, + "id": 961, "initialValue": { "argumentTypes": null, "hexValue": "30", - "id": 965, + "id": 960, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "17520:1:0", + "src": "17355:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -14076,12 +14008,12 @@ "value": "0" }, "nodeType": "VariableDeclarationStatement", - "src": "17511:10:0" + "src": "17346:10:0" }, "loopExpression": { "expression": { "argumentTypes": null, - "id": 972, + "id": 967, "isConstant": false, "isLValue": false, "isPure": false, @@ -14089,15 +14021,15 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "17540:3:0", + "src": "17375:3:0", "subExpression": { "argumentTypes": null, - "id": 971, + "id": 966, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 964, - "src": "17540:1:0", + "referencedDeclaration": 959, + "src": "17375:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14108,17 +14040,17 @@ "typeString": "uint256" } }, - "id": 973, + "id": 968, "nodeType": "ExpressionStatement", - "src": "17540:3:0" + "src": "17375:3:0" }, "nodeType": "ForStatement", - "src": "17506:582:0" + "src": "17341:582:0" } ] }, "documentation": null, - "id": 1026, + "id": 1021, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -14126,16 +14058,16 @@ "name": "verifySignatures", "nodeType": "FunctionDefinition", "parameters": { - "id": 920, + "id": 915, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 905, + "id": 900, "name": "sigV", "nodeType": "VariableDeclaration", - "scope": 1026, - "src": "16606:12:0", + "scope": 1021, + "src": "16441:12:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14144,19 +14076,19 @@ }, "typeName": { "baseType": { - "id": 903, + "id": 898, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "16606:5:0", + "src": "16441:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, - "id": 904, + "id": 899, "length": null, "nodeType": "ArrayTypeName", - "src": "16606:7:0", + "src": "16441:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_storage_ptr", "typeString": "uint8[]" @@ -14167,11 +14099,11 @@ }, { "constant": false, - "id": 908, + "id": 903, "name": "sigR", "nodeType": "VariableDeclaration", - "scope": 1026, - "src": "16628:14:0", + "scope": 1021, + "src": "16463:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14180,19 +14112,19 @@ }, "typeName": { "baseType": { - "id": 906, + "id": 901, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "16628:7:0", + "src": "16463:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "id": 907, + "id": 902, "length": null, "nodeType": "ArrayTypeName", - "src": "16628:9:0", + "src": "16463:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -14203,11 +14135,11 @@ }, { "constant": false, - "id": 911, + "id": 906, "name": "sigS", "nodeType": "VariableDeclaration", - "scope": 1026, - "src": "16652:14:0", + "scope": 1021, + "src": "16487:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14216,19 +14148,19 @@ }, "typeName": { "baseType": { - "id": 909, + "id": 904, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "16652:7:0", + "src": "16487:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "id": 910, + "id": 905, "length": null, "nodeType": "ArrayTypeName", - "src": "16652:9:0", + "src": "16487:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -14239,11 +14171,11 @@ }, { "constant": false, - "id": 913, + "id": 908, "name": "scriptHash", "nodeType": "VariableDeclaration", - "scope": 1026, - "src": "16676:18:0", + "scope": 1021, + "src": "16511:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14251,10 +14183,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 912, + "id": 907, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "16676:7:0", + "src": "16511:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -14265,11 +14197,11 @@ }, { "constant": false, - "id": 916, + "id": 911, "name": "destinations", "nodeType": "VariableDeclaration", - "scope": 1026, - "src": "16704:22:0", + "scope": 1021, + "src": "16539:22:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14278,19 +14210,19 @@ }, "typeName": { "baseType": { - "id": 914, + "id": 909, "name": "address", "nodeType": "ElementaryTypeName", - "src": "16704:7:0", + "src": "16539:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 915, + "id": 910, "length": null, "nodeType": "ArrayTypeName", - "src": "16704:9:0", + "src": "16539:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", "typeString": "address[]" @@ -14301,11 +14233,11 @@ }, { "constant": false, - "id": 919, + "id": 914, "name": "amounts", "nodeType": "VariableDeclaration", - "scope": 1026, - "src": "16736:16:0", + "scope": 1021, + "src": "16571:16:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14314,19 +14246,19 @@ }, "typeName": { "baseType": { - "id": 917, + "id": 912, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "16736:7:0", + "src": "16571:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 918, + "id": 913, "length": null, "nodeType": "ArrayTypeName", - "src": "16736:9:0", + "src": "16571:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -14336,20 +14268,20 @@ "visibility": "internal" } ], - "src": "16596:162:0" + "src": "16431:162:0" }, "payable": false, "returnParameters": { - "id": 923, + "id": 918, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 922, + "id": 917, "name": "lastAddress", "nodeType": "VariableDeclaration", - "scope": 1026, - "src": "16792:19:0", + "scope": 1021, + "src": "16627:19:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14357,10 +14289,10 @@ "typeString": "address" }, "typeName": { - "id": 921, + "id": 916, "name": "address", "nodeType": "ElementaryTypeName", - "src": "16792:7:0", + "src": "16627:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -14370,32 +14302,32 @@ "visibility": "internal" } ], - "src": "16791:21:0" + "src": "16626:21:0" }, - "scope": 1218, - "src": "16571:1523:0", + "scope": 1213, + "src": "16406:1523:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "private" }, { "body": { - "id": 1059, + "id": 1054, "nodeType": "Block", - "src": "18256:171:0", + "src": "18091:171:0", "statements": [ { "assignments": [ - 1036 + 1031 ], "declarations": [ { "constant": false, - "id": 1036, + "id": 1031, "name": "timeSince", "nodeType": "VariableDeclaration", - "scope": 1060, - "src": "18266:17:0", + "scope": 1055, + "src": "18101:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14403,10 +14335,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1035, + "id": 1030, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "18266:7:0", + "src": "18101:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14416,18 +14348,18 @@ "visibility": "internal" } ], - "id": 1041, + "id": 1036, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 1039, + "id": 1034, "name": "lastModified", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1030, - "src": "18294:12:0", + "referencedDeclaration": 1025, + "src": "18129:12:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14443,32 +14375,32 @@ ], "expression": { "argumentTypes": null, - "id": 1037, + "id": 1032, "name": "now", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1393, - "src": "18286:3:0", + "referencedDeclaration": 1388, + "src": "18121:3:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1038, + "id": 1033, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sub", "nodeType": "MemberAccess", - "referencedDeclaration": 1331, - "src": "18286:7:0", + "referencedDeclaration": 1326, + "src": "18121:7:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 1040, + "id": 1035, "isConstant": false, "isLValue": false, "isPure": false, @@ -14476,31 +14408,31 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18286:21:0", + "src": "18121:21:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "18266:41:0" + "src": "18101:41:0" }, { "expression": { "argumentTypes": null, - "id": 1057, + "id": 1052, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 1042, + "id": 1037, "name": "expired", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1033, - "src": "18317:7:0", + "referencedDeclaration": 1028, + "src": "18152:7:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -14519,19 +14451,19 @@ "typeIdentifier": "t_uint32", "typeString": "uint32" }, - "id": 1045, + "id": 1040, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1043, + "id": 1038, "name": "timeoutHours", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1028, - "src": "18341:12:0", + "referencedDeclaration": 1023, + "src": "18176:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -14542,14 +14474,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 1044, + "id": 1039, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "18357:1:0", + "src": "18192:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -14557,7 +14489,7 @@ }, "value": "0" }, - "src": "18341:17:0", + "src": "18176:17:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -14569,19 +14501,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1054, + "id": 1049, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1047, + "id": 1042, "name": "timeSince", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1036, - "src": "18367:9:0", + "referencedDeclaration": 1031, + "src": "18202:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14595,14 +14527,14 @@ { "argumentTypes": null, "hexValue": "33363030", - "id": 1052, + "id": 1047, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "18405:4:0", + "src": "18240:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_3600_by_1", @@ -14623,12 +14555,12 @@ "arguments": [ { "argumentTypes": null, - "id": 1049, + "id": 1044, "name": "timeoutHours", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1028, - "src": "18387:12:0", + "referencedDeclaration": 1023, + "src": "18222:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -14642,20 +14574,20 @@ "typeString": "uint32" } ], - "id": 1048, + "id": 1043, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "18379:7:0", + "src": "18214:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint256_$", "typeString": "type(uint256)" }, "typeName": "uint256" }, - "id": 1050, + "id": 1045, "isConstant": false, "isLValue": false, "isPure": false, @@ -14663,27 +14595,27 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18379:21:0", + "src": "18214:21:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1051, + "id": 1046, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "mul", "nodeType": "MemberAccess", - "referencedDeclaration": 1283, - "src": "18379:25:0", + "referencedDeclaration": 1278, + "src": "18214:25:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 1053, + "id": 1048, "isConstant": false, "isLValue": false, "isPure": false, @@ -14691,36 +14623,36 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18379:31:0", + "src": "18214:31:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "18367:43:0", + "src": "18202:43:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 1055, + "id": 1050, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "Conditional", - "src": "18341:69:0", + "src": "18176:69:0", "trueExpression": { "argumentTypes": null, "hexValue": "66616c7365", - "id": 1046, + "id": 1041, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "18361:5:0", + "src": "18196:5:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -14734,33 +14666,33 @@ } } ], - "id": 1056, + "id": 1051, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "18327:93:0", + "src": "18162:93:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "18317:103:0", + "src": "18152:103:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 1058, + "id": 1053, "nodeType": "ExpressionStatement", - "src": "18317:103:0" + "src": "18152:103:0" } ] }, "documentation": null, - "id": 1060, + "id": 1055, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -14768,16 +14700,16 @@ "name": "isTimeLockExpired", "nodeType": "FunctionDefinition", "parameters": { - "id": 1031, + "id": 1026, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1028, + "id": 1023, "name": "timeoutHours", "nodeType": "VariableDeclaration", - "scope": 1060, - "src": "18136:19:0", + "scope": 1055, + "src": "17971:19:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14785,10 +14717,10 @@ "typeString": "uint32" }, "typeName": { - "id": 1027, + "id": 1022, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "18136:6:0", + "src": "17971:6:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -14799,11 +14731,11 @@ }, { "constant": false, - "id": 1030, + "id": 1025, "name": "lastModified", "nodeType": "VariableDeclaration", - "scope": 1060, - "src": "18165:20:0", + "scope": 1055, + "src": "18000:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14811,10 +14743,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1029, + "id": 1024, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "18165:7:0", + "src": "18000:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14824,20 +14756,20 @@ "visibility": "internal" } ], - "src": "18126:65:0" + "src": "17961:65:0" }, "payable": false, "returnParameters": { - "id": 1034, + "id": 1029, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1033, + "id": 1028, "name": "expired", "nodeType": "VariableDeclaration", - "scope": 1060, - "src": "18238:12:0", + "scope": 1055, + "src": "18073:12:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14845,10 +14777,10 @@ "typeString": "bool" }, "typeName": { - "id": 1032, + "id": 1027, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "18238:4:0", + "src": "18073:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -14858,19 +14790,19 @@ "visibility": "internal" } ], - "src": "18237:14:0" + "src": "18072:14:0" }, - "scope": 1218, - "src": "18100:327:0", + "scope": 1213, + "src": "17935:327:0", "stateMutability": "view", "superFunction": null, "visibility": "private" }, { "body": { - "id": 1216, + "id": 1211, "nodeType": "Block", - "src": "18841:2344:0", + "src": "18676:2344:0", "statements": [ { "expression": { @@ -14882,19 +14814,19 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 1086, + "id": 1081, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1084, + "id": 1079, "name": "buyer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1062, - "src": "18867:5:0", + "referencedDeclaration": 1057, + "src": "18702:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -14904,18 +14836,18 @@ "operator": "!=", "rightExpression": { "argumentTypes": null, - "id": 1085, + "id": 1080, "name": "seller", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1064, - "src": "18876:6:0", + "referencedDeclaration": 1059, + "src": "18711:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "18867:15:0", + "src": "18702:15:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -14924,14 +14856,14 @@ { "argumentTypes": null, "hexValue": "427579657220616e642073656c6c6572206172652073616d65", - "id": 1087, + "id": 1082, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "18884:27:0", + "src": "18719:27:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_6141441751234d42e9a73d96317794195c7ff57b8f16ac15725a10f10763f824", @@ -14951,21 +14883,21 @@ "typeString": "literal_string \"Buyer and seller are same\"" } ], - "id": 1083, + "id": 1078, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1394, - 1395 + 1389, + 1390 ], - "referencedDeclaration": 1395, - "src": "18859:7:0", + "referencedDeclaration": 1390, + "src": "18694:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 1088, + "id": 1083, "isConstant": false, "isLValue": false, "isPure": false, @@ -14973,15 +14905,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18859:53:0", + "src": "18694:53:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1089, + "id": 1084, "nodeType": "ExpressionStatement", - "src": "18859:53:0" + "src": "18694:53:0" }, { "expression": { @@ -14993,19 +14925,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1093, + "id": 1088, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1091, + "id": 1086, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1074, - "src": "18979:5:0", + "referencedDeclaration": 1069, + "src": "18814:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -15016,14 +14948,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 1092, + "id": 1087, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "18987:1:0", + "src": "18822:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -15031,7 +14963,7 @@ }, "value": "0" }, - "src": "18979:9:0", + "src": "18814:9:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -15040,14 +14972,14 @@ { "argumentTypes": null, "hexValue": "56616c7565207061737365642069732030", - "id": 1094, + "id": 1089, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "18990:19:0", + "src": "18825:19:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_3686f87c4804517ea83323ccf1a3b5b5ff52ed144b19e6fc56abe8fcd182e747", @@ -15067,21 +14999,21 @@ "typeString": "literal_string \"Value passed is 0\"" } ], - "id": 1090, + "id": 1085, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1394, - 1395 + 1389, + 1390 ], - "referencedDeclaration": 1395, - "src": "18971:7:0", + "referencedDeclaration": 1390, + "src": "18806:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 1095, + "id": 1090, "isConstant": false, "isLValue": false, "isPure": false, @@ -15089,15 +15021,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18971:39:0", + "src": "18806:39:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1096, + "id": 1091, "nodeType": "ExpressionStatement", - "src": "18971:39:0" + "src": "18806:39:0" }, { "expression": { @@ -15109,7 +15041,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 1104, + "id": 1099, "isConstant": false, "isLValue": false, "isPure": false, @@ -15120,19 +15052,19 @@ "typeIdentifier": "t_uint8", "typeString": "uint8" }, - "id": 1100, + "id": 1095, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1098, + "id": 1093, "name": "threshold", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1068, - "src": "19113:9:0", + "referencedDeclaration": 1063, + "src": "18948:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -15143,14 +15075,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 1099, + "id": 1094, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "19125:1:0", + "src": "18960:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -15158,7 +15090,7 @@ }, "value": "0" }, - "src": "19113:13:0", + "src": "18948:13:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -15172,19 +15104,19 @@ "typeIdentifier": "t_uint8", "typeString": "uint8" }, - "id": 1103, + "id": 1098, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1101, + "id": 1096, "name": "threshold", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1068, - "src": "19130:9:0", + "referencedDeclaration": 1063, + "src": "18965:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -15195,14 +15127,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "33", - "id": 1102, + "id": 1097, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "19143:1:0", + "src": "18978:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_3_by_1", @@ -15210,13 +15142,13 @@ }, "value": "3" }, - "src": "19130:14:0", + "src": "18965:14:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "19113:31:0", + "src": "18948:31:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -15225,14 +15157,14 @@ { "argumentTypes": null, "hexValue": "5468726573686f6c642063616e6e6f742062652067726561746572207468616e203320616e64206d7573742062652067726561746572207468616e2030", - "id": 1105, + "id": 1100, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "19159:63:0", + "src": "18994:63:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_351c1d5dfdc4a2b4c61d6f4dbb41a0d2ae70a9c094d3c0add87af24b5dd19c13", @@ -15252,21 +15184,21 @@ "typeString": "literal_string \"Threshold cannot be greater than 3 and must be greater than 0\"" } ], - "id": 1097, + "id": 1092, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1394, - 1395 + 1389, + 1390 ], - "referencedDeclaration": 1395, - "src": "19092:7:0", + "referencedDeclaration": 1390, + "src": "18927:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 1106, + "id": 1101, "isConstant": false, "isLValue": false, "isPure": false, @@ -15274,15 +15206,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "19092:140:0", + "src": "18927:140:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1107, + "id": 1102, "nodeType": "ExpressionStatement", - "src": "19092:140:0" + "src": "18927:140:0" }, { "expression": { @@ -15294,7 +15226,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 1117, + "id": 1112, "isConstant": false, "isLValue": false, "isPure": false, @@ -15305,19 +15237,19 @@ "typeIdentifier": "t_uint8", "typeString": "uint8" }, - "id": 1111, + "id": 1106, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1109, + "id": 1104, "name": "threshold", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1068, - "src": "19501:9:0", + "referencedDeclaration": 1063, + "src": "19336:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -15328,14 +15260,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "31", - "id": 1110, + "id": 1105, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "19514:1:0", + "src": "19349:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -15343,7 +15275,7 @@ }, "value": "1" }, - "src": "19501:14:0", + "src": "19336:14:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -15357,19 +15289,19 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 1116, + "id": 1111, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1112, + "id": 1107, "name": "moderator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1066, - "src": "19519:9:0", + "referencedDeclaration": 1061, + "src": "19354:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15383,14 +15315,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 1114, + "id": 1109, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "19540:1:0", + "src": "19375:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -15406,20 +15338,20 @@ "typeString": "int_const 0" } ], - "id": 1113, + "id": 1108, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "19532:7:0", + "src": "19367:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, - "id": 1115, + "id": 1110, "isConstant": false, "isLValue": false, "isPure": true, @@ -15427,19 +15359,19 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "19532:10:0", + "src": "19367:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "19519:23:0", + "src": "19354:23:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "19501:41:0", + "src": "19336:41:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -15448,14 +15380,14 @@ { "argumentTypes": null, "hexValue": "456974686572207468726573686f6c642073686f756c642062652031206f74686572776973652076616c6964206d6f64657261746f7220616464726573732073686f756c6420626520706173736564", - "id": 1118, + "id": 1113, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "19556:81:0", + "src": "19391:81:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_08dfdd405be5d5023d3f601e2b0a844b246ceb6764817070ff6789d5e1f80050", @@ -15475,21 +15407,21 @@ "typeString": "literal_string \"Either threshold should be 1 otherwise valid moderator address should be passed\"" } ], - "id": 1108, + "id": 1103, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1394, - 1395 + 1389, + 1390 ], - "referencedDeclaration": 1395, - "src": "19480:7:0", + "referencedDeclaration": 1390, + "src": "19315:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 1119, + "id": 1114, "isConstant": false, "isLValue": false, "isPure": false, @@ -15497,15 +15429,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "19480:167:0", + "src": "19315:167:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1120, + "id": 1115, "nodeType": "ExpressionStatement", - "src": "19480:167:0" + "src": "19315:167:0" }, { "expression": { @@ -15517,19 +15449,19 @@ "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, - "id": 1132, + "id": 1127, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1122, + "id": 1117, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1072, - "src": "19679:10:0", + "referencedDeclaration": 1067, + "src": "19514:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -15542,12 +15474,12 @@ "arguments": [ { "argumentTypes": null, - "id": 1124, + "id": 1119, "name": "uniqueId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1076, - "src": "19736:8:0", + "referencedDeclaration": 1071, + "src": "19571:8:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -15555,12 +15487,12 @@ }, { "argumentTypes": null, - "id": 1125, + "id": 1120, "name": "threshold", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1068, - "src": "19762:9:0", + "referencedDeclaration": 1063, + "src": "19597:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -15568,12 +15500,12 @@ }, { "argumentTypes": null, - "id": 1126, + "id": 1121, "name": "timeoutHours", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1070, - "src": "19789:12:0", + "referencedDeclaration": 1065, + "src": "19624:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -15581,12 +15513,12 @@ }, { "argumentTypes": null, - "id": 1127, + "id": 1122, "name": "buyer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1062, - "src": "19819:5:0", + "referencedDeclaration": 1057, + "src": "19654:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15594,12 +15526,12 @@ }, { "argumentTypes": null, - "id": 1128, + "id": 1123, "name": "seller", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1064, - "src": "19842:6:0", + "referencedDeclaration": 1059, + "src": "19677:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15607,12 +15539,12 @@ }, { "argumentTypes": null, - "id": 1129, + "id": 1124, "name": "moderator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1066, - "src": "19866:9:0", + "referencedDeclaration": 1061, + "src": "19701:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15620,12 +15552,12 @@ }, { "argumentTypes": null, - "id": 1130, + "id": 1125, "name": "tokenAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1080, - "src": "19893:12:0", + "referencedDeclaration": 1075, + "src": "19728:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15663,18 +15595,18 @@ "typeString": "address" } ], - "id": 1123, + "id": 1118, "name": "calculateRedeemScriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 647, - "src": "19693:25:0", + "src": "19528:25:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_bytes20_$_t_uint8_$_t_uint32_$_t_address_$_t_address_$_t_address_$_t_address_$returns$_t_bytes32_$", "typeString": "function (bytes20,uint8,uint32,address,address,address,address) view returns (bytes32)" } }, - "id": 1131, + "id": 1126, "isConstant": false, "isLValue": false, "isPure": false, @@ -15682,13 +15614,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "19693:226:0", + "src": "19528:226:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "src": "19679:240:0", + "src": "19514:240:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -15697,14 +15629,14 @@ { "argumentTypes": null, "hexValue": "43616c63756c6174656420736372697074206861736820646f6573206e6f74206d61746368207061737365642073637269707420686173682e", - "id": 1133, + "id": 1128, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "19934:59:0", + "src": "19769:59:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_0c041e0c58e6b0e01d338d852a5abb639065eabeb0aee05e0ce3e5f0e52b4f51", @@ -15724,21 +15656,21 @@ "typeString": "literal_string \"Calculated script hash does not match passed script hash.\"" } ], - "id": 1121, + "id": 1116, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1394, - 1395 + 1389, + 1390 ], - "referencedDeclaration": 1395, - "src": "19658:7:0", + "referencedDeclaration": 1390, + "src": "19493:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 1134, + "id": 1129, "isConstant": false, "isLValue": false, "isPure": false, @@ -15746,20 +15678,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "19658:345:0", + "src": "19493:345:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1135, + "id": 1130, "nodeType": "ExpressionStatement", - "src": "19658:345:0" + "src": "19493:345:0" }, { "expression": { "argumentTypes": null, - "id": 1154, + "id": 1149, "isConstant": false, "isLValue": false, "isPure": false, @@ -15768,26 +15700,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1136, + "id": 1131, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 77, - "src": "20014:12:0", + "src": "19849:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$73_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 1138, + "id": 1133, "indexExpression": { "argumentTypes": null, - "id": 1137, + "id": 1132, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1072, - "src": "20027:10:0", + "referencedDeclaration": 1067, + "src": "19862:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -15798,7 +15730,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "20014:24:0", + "src": "19849:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$73_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -15811,12 +15743,12 @@ "arguments": [ { "argumentTypes": null, - "id": 1140, + "id": 1135, "name": "buyer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1062, - "src": "20074:5:0", + "referencedDeclaration": 1057, + "src": "19909:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15824,12 +15756,12 @@ }, { "argumentTypes": null, - "id": 1141, + "id": 1136, "name": "seller", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1064, - "src": "20101:6:0", + "referencedDeclaration": 1059, + "src": "19936:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15837,12 +15769,12 @@ }, { "argumentTypes": null, - "id": 1142, + "id": 1137, "name": "moderator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1066, - "src": "20132:9:0", + "referencedDeclaration": 1061, + "src": "19967:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15850,12 +15782,12 @@ }, { "argumentTypes": null, - "id": 1143, + "id": 1138, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1074, - "src": "20162:5:0", + "referencedDeclaration": 1069, + "src": "19997:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -15865,18 +15797,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1144, + "id": 1139, "name": "Status", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9, - "src": "20189:6:0", + "src": "20024:6:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_Status_$9_$", "typeString": "type(enum Escrow_v1_0.Status)" } }, - "id": 1145, + "id": 1140, "isConstant": false, "isLValue": false, "isPure": true, @@ -15884,7 +15816,7 @@ "memberName": "FUNDED", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "20189:13:0", + "src": "20024:13:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$9", "typeString": "enum Escrow_v1_0.Status" @@ -15894,18 +15826,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1146, + "id": 1141, "name": "block", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1381, - "src": "20230:5:0", + "referencedDeclaration": 1376, + "src": "20065:5:0", "typeDescriptions": { "typeIdentifier": "t_magic_block", "typeString": "block" } }, - "id": 1147, + "id": 1142, "isConstant": false, "isLValue": false, "isPure": false, @@ -15913,7 +15845,7 @@ "memberName": "timestamp", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "20230:15:0", + "src": "20065:15:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -15921,12 +15853,12 @@ }, { "argumentTypes": null, - "id": 1148, + "id": 1143, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1072, - "src": "20271:10:0", + "referencedDeclaration": 1067, + "src": "20106:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -15934,12 +15866,12 @@ }, { "argumentTypes": null, - "id": 1149, + "id": 1144, "name": "threshold", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1068, - "src": "20306:9:0", + "referencedDeclaration": 1063, + "src": "20141:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -15947,12 +15879,12 @@ }, { "argumentTypes": null, - "id": 1150, + "id": 1145, "name": "timeoutHours", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1070, - "src": "20343:12:0", + "referencedDeclaration": 1065, + "src": "20178:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -15960,12 +15892,12 @@ }, { "argumentTypes": null, - "id": 1151, + "id": 1146, "name": "transactionType", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1078, - "src": "20385:15:0", + "referencedDeclaration": 1073, + "src": "20220:15:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -15973,12 +15905,12 @@ }, { "argumentTypes": null, - "id": 1152, + "id": 1147, "name": "tokenAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1080, - "src": "20427:12:0", + "referencedDeclaration": 1075, + "src": "20262:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15987,18 +15919,18 @@ ], "expression": { "argumentTypes": null, - "id": 1139, + "id": 1134, "name": "Transaction", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 73, - "src": "20041:11:0", + "src": "19876:11:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_struct$_Transaction_$73_storage_ptr_$", "typeString": "type(struct Escrow_v1_0.Transaction storage pointer)" } }, - "id": 1153, + "id": 1148, "isConstant": false, "isLValue": false, "isPure": false, @@ -16018,26 +15950,26 @@ "tokenAddress" ], "nodeType": "FunctionCall", - "src": "20041:409:0", + "src": "19876:409:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$73_memory", "typeString": "struct Escrow_v1_0.Transaction memory" } }, - "src": "20014:436:0", + "src": "19849:436:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$73_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 1155, + "id": 1150, "nodeType": "ExpressionStatement", - "src": "20014:436:0" + "src": "19849:436:0" }, { "expression": { "argumentTypes": null, - "id": 1163, + "id": 1158, "isConstant": false, "isLValue": false, "isPure": false, @@ -16050,26 +15982,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1156, + "id": 1151, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 77, - "src": "20461:12:0", + "src": "20296:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$73_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 1158, + "id": 1153, "indexExpression": { "argumentTypes": null, - "id": 1157, + "id": 1152, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1072, - "src": "20474:10:0", + "referencedDeclaration": 1067, + "src": "20309:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -16080,13 +16012,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20461:24:0", + "src": "20296:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$73_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 1159, + "id": 1154, "isConstant": false, "isLValue": true, "isPure": false, @@ -16094,21 +16026,21 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 64, - "src": "20461:32:0", + "src": "20296:32:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 1161, + "id": 1156, "indexExpression": { "argumentTypes": null, - "id": 1160, + "id": 1155, "name": "seller", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1064, - "src": "20494:6:0", + "referencedDeclaration": 1059, + "src": "20329:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -16119,7 +16051,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "20461:40:0", + "src": "20296:40:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -16130,14 +16062,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "74727565", - "id": 1162, + "id": 1157, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "20504:4:0", + "src": "20339:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -16145,20 +16077,20 @@ }, "value": "true" }, - "src": "20461:47:0", + "src": "20296:47:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 1164, + "id": 1159, "nodeType": "ExpressionStatement", - "src": "20461:47:0" + "src": "20296:47:0" }, { "expression": { "argumentTypes": null, - "id": 1172, + "id": 1167, "isConstant": false, "isLValue": false, "isPure": false, @@ -16171,26 +16103,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1165, + "id": 1160, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 77, - "src": "20518:12:0", + "src": "20353:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$73_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 1167, + "id": 1162, "indexExpression": { "argumentTypes": null, - "id": 1166, + "id": 1161, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1072, - "src": "20531:10:0", + "referencedDeclaration": 1067, + "src": "20366:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -16201,13 +16133,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20518:24:0", + "src": "20353:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$73_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 1168, + "id": 1163, "isConstant": false, "isLValue": true, "isPure": false, @@ -16215,21 +16147,21 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 64, - "src": "20518:32:0", + "src": "20353:32:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 1170, + "id": 1165, "indexExpression": { "argumentTypes": null, - "id": 1169, + "id": 1164, "name": "buyer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1062, - "src": "20551:5:0", + "referencedDeclaration": 1057, + "src": "20386:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -16240,7 +16172,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "20518:39:0", + "src": "20353:39:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -16251,14 +16183,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "74727565", - "id": 1171, + "id": 1166, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "20560:4:0", + "src": "20395:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -16266,15 +16198,15 @@ }, "value": "true" }, - "src": "20518:46:0", + "src": "20353:46:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 1173, + "id": 1168, "nodeType": "ExpressionStatement", - "src": "20518:46:0" + "src": "20353:46:0" }, { "expression": { @@ -16282,7 +16214,7 @@ "arguments": [ { "argumentTypes": null, - "id": 1181, + "id": 1176, "isConstant": false, "isLValue": false, "isPure": false, @@ -16290,7 +16222,7 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "20671:44:0", + "src": "20506:44:0", "subExpression": { "argumentTypes": null, "baseExpression": { @@ -16299,26 +16231,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1175, + "id": 1170, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 77, - "src": "20672:12:0", + "src": "20507:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$73_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 1177, + "id": 1172, "indexExpression": { "argumentTypes": null, - "id": 1176, + "id": 1171, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1072, - "src": "20685:10:0", + "referencedDeclaration": 1067, + "src": "20520:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -16329,13 +16261,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20672:24:0", + "src": "20507:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$73_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 1178, + "id": 1173, "isConstant": false, "isLValue": true, "isPure": false, @@ -16343,21 +16275,21 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 64, - "src": "20672:32:0", + "src": "20507:32:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 1180, + "id": 1175, "indexExpression": { "argumentTypes": null, - "id": 1179, + "id": 1174, "name": "moderator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1066, - "src": "20705:9:0", + "referencedDeclaration": 1061, + "src": "20540:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -16368,7 +16300,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20672:43:0", + "src": "20507:43:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -16382,14 +16314,14 @@ { "argumentTypes": null, "hexValue": "456974686572206275796572206f722073656c6c657220697320706173736564206173206d6f64657261746f72", - "id": 1182, + "id": 1177, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "20730:47:0", + "src": "20565:47:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_313b391557427937e7bdb85c7561d47c5b9c985755a448dd33a92026ffb38f8d", @@ -16409,21 +16341,21 @@ "typeString": "literal_string \"Either buyer or seller is passed as moderator\"" } ], - "id": 1174, + "id": 1169, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1394, - 1395 + 1389, + 1390 ], - "referencedDeclaration": 1395, - "src": "20650:7:0", + "referencedDeclaration": 1390, + "src": "20485:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 1183, + "id": 1178, "isConstant": false, "isLValue": false, "isPure": false, @@ -16431,15 +16363,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "20650:137:0", + "src": "20485:137:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1184, + "id": 1179, "nodeType": "ExpressionStatement", - "src": "20650:137:0" + "src": "20485:137:0" }, { "condition": { @@ -16448,19 +16380,19 @@ "typeIdentifier": "t_uint8", "typeString": "uint8" }, - "id": 1187, + "id": 1182, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1185, + "id": 1180, "name": "threshold", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1068, - "src": "20947:9:0", + "referencedDeclaration": 1063, + "src": "20782:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -16471,14 +16403,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "31", - "id": 1186, + "id": 1181, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "20959:1:0", + "src": "20794:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -16486,25 +16418,25 @@ }, "value": "1" }, - "src": "20947:13:0", + "src": "20782:13:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, - "id": 1198, + "id": 1193, "nodeType": "IfStatement", - "src": "20943:93:0", + "src": "20778:93:0", "trueBody": { - "id": 1197, + "id": 1192, "nodeType": "Block", - "src": "20961:75:0", + "src": "20796:75:0", "statements": [ { "expression": { "argumentTypes": null, - "id": 1195, + "id": 1190, "isConstant": false, "isLValue": false, "isPure": false, @@ -16517,26 +16449,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1188, + "id": 1183, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 77, - "src": "20975:12:0", + "src": "20810:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$73_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 1190, + "id": 1185, "indexExpression": { "argumentTypes": null, - "id": 1189, + "id": 1184, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1072, - "src": "20988:10:0", + "referencedDeclaration": 1067, + "src": "20823:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -16547,13 +16479,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20975:24:0", + "src": "20810:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$73_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 1191, + "id": 1186, "isConstant": false, "isLValue": true, "isPure": false, @@ -16561,21 +16493,21 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 64, - "src": "20975:32:0", + "src": "20810:32:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 1193, + "id": 1188, "indexExpression": { "argumentTypes": null, - "id": 1192, + "id": 1187, "name": "moderator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1066, - "src": "21008:9:0", + "referencedDeclaration": 1061, + "src": "20843:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -16586,7 +16518,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "20975:43:0", + "src": "20810:43:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -16597,14 +16529,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "74727565", - "id": 1194, + "id": 1189, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "21021:4:0", + "src": "20856:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -16612,15 +16544,15 @@ }, "value": "true" }, - "src": "20975:50:0", + "src": "20810:50:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 1196, + "id": 1191, "nodeType": "ExpressionStatement", - "src": "20975:50:0" + "src": "20810:50:0" } ] } @@ -16628,7 +16560,7 @@ { "expression": { "argumentTypes": null, - "id": 1200, + "id": 1195, "isConstant": false, "isLValue": false, "isPure": false, @@ -16636,15 +16568,15 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "21054:18:0", + "src": "20889:18:0", "subExpression": { "argumentTypes": null, - "id": 1199, + "id": 1194, "name": "transactionCount", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 80, - "src": "21054:16:0", + "src": "20889:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -16655,9 +16587,9 @@ "typeString": "uint256" } }, - "id": 1201, + "id": 1196, "nodeType": "ExpressionStatement", - "src": "21054:18:0" + "src": "20889:18:0" }, { "expression": { @@ -16665,12 +16597,12 @@ "arguments": [ { "argumentTypes": null, - "id": 1206, + "id": 1201, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1072, - "src": "21114:10:0", + "referencedDeclaration": 1067, + "src": "20949:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -16688,26 +16620,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1202, + "id": 1197, "name": "partyVsTransaction", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 85, - "src": "21083:18:0", + "src": "20918:18:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_bytes32_$dyn_storage_$", "typeString": "mapping(address => bytes32[] storage ref)" } }, - "id": 1204, + "id": 1199, "indexExpression": { "argumentTypes": null, - "id": 1203, + "id": 1198, "name": "buyer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1062, - "src": "21102:5:0", + "referencedDeclaration": 1057, + "src": "20937:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -16718,13 +16650,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "21083:25:0", + "src": "20918:25:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage", "typeString": "bytes32[] storage ref" } }, - "id": 1205, + "id": 1200, "isConstant": false, "isLValue": false, "isPure": false, @@ -16732,13 +16664,13 @@ "memberName": "push", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "21083:30:0", + "src": "20918:30:0", "typeDescriptions": { "typeIdentifier": "t_function_arraypush_nonpayable$_t_bytes32_$returns$_t_uint256_$", "typeString": "function (bytes32) returns (uint256)" } }, - "id": 1207, + "id": 1202, "isConstant": false, "isLValue": false, "isPure": false, @@ -16746,15 +16678,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "21083:42:0", + "src": "20918:42:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1208, + "id": 1203, "nodeType": "ExpressionStatement", - "src": "21083:42:0" + "src": "20918:42:0" }, { "expression": { @@ -16762,12 +16694,12 @@ "arguments": [ { "argumentTypes": null, - "id": 1213, + "id": 1208, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1072, - "src": "21167:10:0", + "referencedDeclaration": 1067, + "src": "21002:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -16785,26 +16717,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1209, + "id": 1204, "name": "partyVsTransaction", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 85, - "src": "21135:18:0", + "src": "20970:18:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_bytes32_$dyn_storage_$", "typeString": "mapping(address => bytes32[] storage ref)" } }, - "id": 1211, + "id": 1206, "indexExpression": { "argumentTypes": null, - "id": 1210, + "id": 1205, "name": "seller", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1064, - "src": "21154:6:0", + "referencedDeclaration": 1059, + "src": "20989:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -16815,13 +16747,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "21135:26:0", + "src": "20970:26:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage", "typeString": "bytes32[] storage ref" } }, - "id": 1212, + "id": 1207, "isConstant": false, "isLValue": false, "isPure": false, @@ -16829,13 +16761,13 @@ "memberName": "push", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "21135:31:0", + "src": "20970:31:0", "typeDescriptions": { "typeIdentifier": "t_function_arraypush_nonpayable$_t_bytes32_$returns$_t_uint256_$", "typeString": "function (bytes32) returns (uint256)" } }, - "id": 1214, + "id": 1209, "isConstant": false, "isLValue": false, "isPure": false, @@ -16843,20 +16775,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "21135:43:0", + "src": "20970:43:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1215, + "id": 1210, "nodeType": "ExpressionStatement", - "src": "21135:43:0" + "src": "20970:43:0" } ] }, "documentation": "Private method to add transaction to reduce code redundancy", - "id": 1217, + "id": 1212, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -16864,16 +16796,16 @@ "name": "_addTransaction", "nodeType": "FunctionDefinition", "parameters": { - "id": 1081, + "id": 1076, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1062, + "id": 1057, "name": "buyer", "nodeType": "VariableDeclaration", - "scope": 1217, - "src": "18548:13:0", + "scope": 1212, + "src": "18383:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -16881,10 +16813,10 @@ "typeString": "address" }, "typeName": { - "id": 1061, + "id": 1056, "name": "address", "nodeType": "ElementaryTypeName", - "src": "18548:7:0", + "src": "18383:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -16895,11 +16827,11 @@ }, { "constant": false, - "id": 1064, + "id": 1059, "name": "seller", "nodeType": "VariableDeclaration", - "scope": 1217, - "src": "18571:14:0", + "scope": 1212, + "src": "18406:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -16907,10 +16839,10 @@ "typeString": "address" }, "typeName": { - "id": 1063, + "id": 1058, "name": "address", "nodeType": "ElementaryTypeName", - "src": "18571:7:0", + "src": "18406:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -16921,11 +16853,11 @@ }, { "constant": false, - "id": 1066, + "id": 1061, "name": "moderator", "nodeType": "VariableDeclaration", - "scope": 1217, - "src": "18595:17:0", + "scope": 1212, + "src": "18430:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -16933,10 +16865,10 @@ "typeString": "address" }, "typeName": { - "id": 1065, + "id": 1060, "name": "address", "nodeType": "ElementaryTypeName", - "src": "18595:7:0", + "src": "18430:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -16947,11 +16879,11 @@ }, { "constant": false, - "id": 1068, + "id": 1063, "name": "threshold", "nodeType": "VariableDeclaration", - "scope": 1217, - "src": "18622:15:0", + "scope": 1212, + "src": "18457:15:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -16959,10 +16891,10 @@ "typeString": "uint8" }, "typeName": { - "id": 1067, + "id": 1062, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "18622:5:0", + "src": "18457:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -16973,11 +16905,11 @@ }, { "constant": false, - "id": 1070, + "id": 1065, "name": "timeoutHours", "nodeType": "VariableDeclaration", - "scope": 1217, - "src": "18647:19:0", + "scope": 1212, + "src": "18482:19:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -16985,10 +16917,10 @@ "typeString": "uint32" }, "typeName": { - "id": 1069, + "id": 1064, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "18647:6:0", + "src": "18482:6:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -16999,11 +16931,11 @@ }, { "constant": false, - "id": 1072, + "id": 1067, "name": "scriptHash", "nodeType": "VariableDeclaration", - "scope": 1217, - "src": "18676:18:0", + "scope": 1212, + "src": "18511:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -17011,10 +16943,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 1071, + "id": 1066, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "18676:7:0", + "src": "18511:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -17025,11 +16957,11 @@ }, { "constant": false, - "id": 1074, + "id": 1069, "name": "value", "nodeType": "VariableDeclaration", - "scope": 1217, - "src": "18704:13:0", + "scope": 1212, + "src": "18539:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -17037,10 +16969,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1073, + "id": 1068, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "18704:7:0", + "src": "18539:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -17051,11 +16983,11 @@ }, { "constant": false, - "id": 1076, + "id": 1071, "name": "uniqueId", "nodeType": "VariableDeclaration", - "scope": 1217, - "src": "18727:16:0", + "scope": 1212, + "src": "18562:16:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -17063,10 +16995,10 @@ "typeString": "bytes20" }, "typeName": { - "id": 1075, + "id": 1070, "name": "bytes20", "nodeType": "ElementaryTypeName", - "src": "18727:7:0", + "src": "18562:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -17077,11 +17009,11 @@ }, { "constant": false, - "id": 1078, + "id": 1073, "name": "transactionType", "nodeType": "VariableDeclaration", - "scope": 1217, - "src": "18753:31:0", + "scope": 1212, + "src": "18588:31:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -17090,11 +17022,11 @@ }, "typeName": { "contractScope": null, - "id": 1077, + "id": 1072, "name": "TransactionType", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 12, - "src": "18753:15:0", + "src": "18588:15:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -17105,11 +17037,11 @@ }, { "constant": false, - "id": 1080, + "id": 1075, "name": "tokenAddress", "nodeType": "VariableDeclaration", - "scope": 1217, - "src": "18794:20:0", + "scope": 1212, + "src": "18629:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -17117,10 +17049,10 @@ "typeString": "address" }, "typeName": { - "id": 1079, + "id": 1074, "name": "address", "nodeType": "ElementaryTypeName", - "src": "18794:7:0", + "src": "18629:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -17130,36 +17062,36 @@ "visibility": "internal" } ], - "src": "18538:282:0" + "src": "18373:282:0" }, "payable": false, "returnParameters": { - "id": 1082, + "id": 1077, "nodeType": "ParameterList", "parameters": [], - "src": "18841:0:0" + "src": "18676:0:0" }, - "scope": 1218, - "src": "18514:2671:0", + "scope": 1213, + "src": "18349:2671:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "private" } ], - "scope": 1219, - "src": "460:20727:0" + "scope": 1214, + "src": "460:20562:0" } ], - "src": "0:21188:0" + "src": "0:21023:0" }, "legacyAST": { "absolutePath": "/home/sameep/freelancing-projects/toptal/open baazar/publicRepo/smart-contracts/contracts/escrow/Escrow_v1_0.sol", "exportedSymbols": { "Escrow_v1_0": [ - 1218 + 1213 ] }, - "id": 1219, + "id": 1214, "nodeType": "SourceUnit", "nodes": [ { @@ -17177,8 +17109,8 @@ "file": "openzeppelin-solidity/contracts/math/SafeMath.sol", "id": 2, "nodeType": "ImportDirective", - "scope": 1219, - "sourceUnit": 1377, + "scope": 1214, + "sourceUnit": 1372, "src": "25:59:0", "symbolAliases": [], "unitAlias": "" @@ -17188,8 +17120,8 @@ "file": "../token/ITokenContract.sol", "id": 3, "nodeType": "ImportDirective", - "scope": 1219, - "sourceUnit": 1249, + "scope": 1214, + "sourceUnit": 1244, "src": "86:37:0", "symbolAliases": [], "unitAlias": "" @@ -17200,9 +17132,9 @@ "contractKind": "contract", "documentation": "@dev Supports ERC20 tokens\nThe escrow smart contract for the open bazaar trades in Ethereum\nThe smart contract is desgined keeping in mind the current wallet interface of the OB-core\nhttps://github.com/OpenBazaar/wallet-interface/blob/master/wallet.go\nCurrent wallet interface strictly adheres to UTXO(bitcoin) model", "fullyImplemented": true, - "id": 1218, + "id": 1213, "linearizedBaseContracts": [ - 1218 + 1213 ], "name": "Escrow_v1_0", "nodeType": "ContractDefinition", @@ -17214,10 +17146,10 @@ "id": 4, "name": "SafeMath", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1376, + "referencedDeclaration": 1371, "src": "494:8:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$1376", + "typeIdentifier": "t_contract$_SafeMath_$1371", "typeString": "library SafeMath" } }, @@ -18016,7 +17948,7 @@ ], "name": "Transaction", "nodeType": "StructDefinition", - "scope": 1218, + "scope": 1213, "src": "902:680:0", "visibility": "public" }, @@ -18025,7 +17957,7 @@ "id": 77, "name": "transactions", "nodeType": "VariableDeclaration", - "scope": 1218, + "scope": 1213, "src": "1588:51:0", "stateVariable": true, "storageLocation": "default", @@ -18072,7 +18004,7 @@ "id": 80, "name": "transactionCount", "nodeType": "VariableDeclaration", - "scope": 1218, + "scope": 1213, "src": "1646:35:0", "stateVariable": true, "storageLocation": "default", @@ -18115,7 +18047,7 @@ "id": 85, "name": "partyVsTransaction", "nodeType": "VariableDeclaration", - "scope": 1218, + "scope": 1213, "src": "1758:54:0", "stateVariable": true, "storageLocation": "default", @@ -18302,10 +18234,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1394, - 1395 + 1389, + 1390 ], - "referencedDeclaration": 1395, + "referencedDeclaration": 1390, "src": "1876:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -18514,10 +18446,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1394, - 1395 + 1389, + 1390 ], - "referencedDeclaration": 1395, + "referencedDeclaration": 1390, "src": "2062:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -18737,10 +18669,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1394, - 1395 + 1389, + 1390 ], - "referencedDeclaration": 1395, + "referencedDeclaration": 1390, "src": "2205:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -18944,10 +18876,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1394, - 1395 + 1389, + 1390 ], - "referencedDeclaration": 1395, + "referencedDeclaration": 1390, "src": "2420:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -19151,10 +19083,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1394, - 1395 + 1389, + 1390 ], - "referencedDeclaration": 1395, + "referencedDeclaration": 1390, "src": "2623:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -19283,7 +19215,7 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1391, + "referencedDeclaration": 1386, "src": "2842:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", @@ -19402,10 +19334,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1394, - 1395 + 1389, + 1390 ], - "referencedDeclaration": 1395, + "referencedDeclaration": 1390, "src": "2821:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -19573,7 +19505,7 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1391, + "referencedDeclaration": 1386, "src": "4431:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", @@ -19740,7 +19672,7 @@ "name": "_addTransaction", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1217, + "referencedDeclaration": 1212, "src": "4267:15:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_address_$_t_uint8_$_t_uint32_$_t_bytes32_$_t_uint256_$_t_bytes20_$_t_enum$_TransactionType_$12_$_t_address_$returns$__$", @@ -19790,7 +19722,7 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1391, + "referencedDeclaration": 1386, "src": "4574:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", @@ -19819,7 +19751,7 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1391, + "referencedDeclaration": 1386, "src": "4586:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", @@ -20191,7 +20123,7 @@ "parameters": [], "src": "4257:0:0" }, - "scope": 1218, + "scope": 1213, "src": "3902:702:0", "stateMutability": "payable", "superFunction": null, @@ -20401,7 +20333,7 @@ "name": "_addTransaction", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1217, + "referencedDeclaration": 1212, "src": "6149:15:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_address_$_t_uint8_$_t_uint32_$_t_bytes32_$_t_uint256_$_t_bytes20_$_t_enum$_TransactionType_$12_$_t_address_$returns$__$", @@ -20441,7 +20373,7 @@ "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenContract_$1248", + "typeIdentifier": "t_contract$_ITokenContract_$1243", "typeString": "contract ITokenContract" }, "typeName": { @@ -20449,10 +20381,10 @@ "id": 283, "name": "ITokenContract", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1248, + "referencedDeclaration": 1243, "src": "6422:14:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenContract_$1248", + "typeIdentifier": "t_contract$_ITokenContract_$1243", "typeString": "contract ITokenContract" } }, @@ -20489,10 +20421,10 @@ "name": "ITokenContract", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1248, + "referencedDeclaration": 1243, "src": "6445:14:0", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ITokenContract_$1248_$", + "typeIdentifier": "t_type$_t_contract$_ITokenContract_$1243_$", "typeString": "type(contract ITokenContract)" } }, @@ -20506,7 +20438,7 @@ "nodeType": "FunctionCall", "src": "6445:28:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenContract_$1248", + "typeIdentifier": "t_contract$_ITokenContract_$1243", "typeString": "contract ITokenContract" } }, @@ -20528,7 +20460,7 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1391, + "referencedDeclaration": 1386, "src": "6524:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", @@ -20555,10 +20487,10 @@ "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1408, + "referencedDeclaration": 1403, "src": "6536:4:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_Escrow_v1_0_$1218", + "typeIdentifier": "t_contract$_Escrow_v1_0_$1213", "typeString": "contract Escrow_v1_0" } }, @@ -20583,7 +20515,7 @@ "typeString": "address" }, { - "typeIdentifier": "t_contract$_Escrow_v1_0_$1218", + "typeIdentifier": "t_contract$_Escrow_v1_0_$1213", "typeString": "contract Escrow_v1_0" }, { @@ -20600,7 +20532,7 @@ "referencedDeclaration": 284, "src": "6505:5:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenContract_$1248", + "typeIdentifier": "t_contract$_ITokenContract_$1243", "typeString": "contract ITokenContract" } }, @@ -20611,7 +20543,7 @@ "lValueRequested": false, "memberName": "transferFrom", "nodeType": "MemberAccess", - "referencedDeclaration": 1247, + "referencedDeclaration": 1242, "src": "6505:18:0", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", @@ -20666,10 +20598,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1394, - 1395 + 1389, + 1390 ], - "referencedDeclaration": 1395, + "referencedDeclaration": 1390, "src": "6484:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -20719,7 +20651,7 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1391, + "referencedDeclaration": 1386, "src": "6700:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", @@ -21189,7 +21121,7 @@ "parameters": [], "src": "6138:0:0" }, - "scope": 1218, + "scope": 1213, "src": "5704:1021:0", "stateMutability": "nonpayable", "superFunction": null, @@ -21420,7 +21352,7 @@ ], "src": "7084:12:0" }, - "scope": 1218, + "scope": 1213, "src": "6949:228:0", "stateMutability": "view", "superFunction": null, @@ -21651,7 +21583,7 @@ ], "src": "7522:11:0" }, - "scope": 1218, + "scope": 1213, "src": "7400:199:0", "stateMutability": "view", "superFunction": null, @@ -21704,7 +21636,7 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1391, + "referencedDeclaration": 1386, "src": "8212:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", @@ -21816,10 +21748,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1394, - 1395 + 1389, + 1390 ], - "referencedDeclaration": 1395, + "referencedDeclaration": 1390, "src": "8232:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -21997,7 +21929,7 @@ "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 1355, + "referencedDeclaration": 1350, "src": "8331:47:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", @@ -22102,7 +22034,7 @@ "name": "block", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1381, + "referencedDeclaration": 1376, "src": "8436:5:0", "typeDescriptions": { "typeIdentifier": "t_magic_block", @@ -22158,7 +22090,7 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1391, + "referencedDeclaration": 1386, "src": "8489:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", @@ -22449,7 +22381,7 @@ "parameters": [], "src": "8185:0:0" }, - "scope": 1218, + "scope": 1213, "src": "7917:598:0", "stateMutability": "payable", "superFunction": null, @@ -22598,10 +22530,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1394, - 1395 + 1389, + 1390 ], - "referencedDeclaration": 1395, + "referencedDeclaration": 1390, "src": "9094:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -22641,7 +22573,7 @@ "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenContract_$1248", + "typeIdentifier": "t_contract$_ITokenContract_$1243", "typeString": "contract ITokenContract" }, "typeName": { @@ -22649,10 +22581,10 @@ "id": 438, "name": "ITokenContract", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1248, + "referencedDeclaration": 1243, "src": "9160:14:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenContract_$1248", + "typeIdentifier": "t_contract$_ITokenContract_$1243", "typeString": "contract ITokenContract" } }, @@ -22732,10 +22664,10 @@ "name": "ITokenContract", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1248, + "referencedDeclaration": 1243, "src": "9183:14:0", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ITokenContract_$1248_$", + "typeIdentifier": "t_type$_t_contract$_ITokenContract_$1243_$", "typeString": "type(contract ITokenContract)" } }, @@ -22749,7 +22681,7 @@ "nodeType": "FunctionCall", "src": "9183:75:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenContract_$1248", + "typeIdentifier": "t_contract$_ITokenContract_$1243", "typeString": "contract ITokenContract" } }, @@ -22825,10 +22757,10 @@ "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1408, + "referencedDeclaration": 1403, "src": "9341:4:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_Escrow_v1_0_$1218", + "typeIdentifier": "t_contract$_Escrow_v1_0_$1213", "typeString": "contract Escrow_v1_0" } }, @@ -22853,7 +22785,7 @@ "typeString": "address" }, { - "typeIdentifier": "t_contract$_Escrow_v1_0_$1218", + "typeIdentifier": "t_contract$_Escrow_v1_0_$1213", "typeString": "contract Escrow_v1_0" }, { @@ -22870,7 +22802,7 @@ "referencedDeclaration": 439, "src": "9290:5:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenContract_$1248", + "typeIdentifier": "t_contract$_ITokenContract_$1243", "typeString": "contract ITokenContract" } }, @@ -22881,7 +22813,7 @@ "lValueRequested": false, "memberName": "transferFrom", "nodeType": "MemberAccess", - "referencedDeclaration": 1247, + "referencedDeclaration": 1242, "src": "9290:18:0", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", @@ -22936,10 +22868,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1394, - 1395 + 1389, + 1390 ], - "referencedDeclaration": 1395, + "referencedDeclaration": 1390, "src": "9269:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -23117,7 +23049,7 @@ "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 1355, + "referencedDeclaration": 1350, "src": "9515:47:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", @@ -23222,7 +23154,7 @@ "name": "block", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1381, + "referencedDeclaration": 1376, "src": "9620:5:0", "typeDescriptions": { "typeIdentifier": "t_magic_block", @@ -23278,7 +23210,7 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1391, + "referencedDeclaration": 1386, "src": "9673:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", @@ -23595,7 +23527,7 @@ "parameters": [], "src": "9051:0:0" }, - "scope": 1218, + "scope": 1213, "src": "8775:924:0", "stateMutability": "nonpayable", "superFunction": null, @@ -23740,7 +23672,7 @@ ], "src": "9937:24:0" }, - "scope": 1218, + "scope": 1213, "src": "9816:207:0", "stateMutability": "view", "superFunction": null, @@ -23952,10 +23884,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1394, - 1395 + 1389, + 1390 ], - "referencedDeclaration": 1395, + "referencedDeclaration": 1390, "src": "11063:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -24298,7 +24230,7 @@ "name": "block", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1381, + "referencedDeclaration": 1376, "src": "11543:5:0", "typeDescriptions": { "typeIdentifier": "t_magic_block", @@ -24406,7 +24338,7 @@ "name": "transferFunds", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 902, + "referencedDeclaration": 897, "src": "11589:13:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$_t_uint256_$", @@ -24525,10 +24457,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1394, - 1395 + 1389, + 1390 ], - "referencedDeclaration": 1395, + "referencedDeclaration": 1390, "src": "11568:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -24938,7 +24870,7 @@ "parameters": [], "src": "11053:0:0" }, - "scope": 1218, + "scope": 1213, "src": "10780:1063:0", "stateMutability": "nonpayable", "superFunction": null, @@ -25157,10 +25089,10 @@ "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1408, + "referencedDeclaration": 1403, "src": "13231:4:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_Escrow_v1_0_$1218", + "typeIdentifier": "t_contract$_Escrow_v1_0_$1213", "typeString": "contract Escrow_v1_0" } }, @@ -25205,7 +25137,7 @@ "typeString": "address" }, { - "typeIdentifier": "t_contract$_Escrow_v1_0_$1218", + "typeIdentifier": "t_contract$_Escrow_v1_0_$1213", "typeString": "contract Escrow_v1_0" }, { @@ -25219,7 +25151,7 @@ "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1378, + "referencedDeclaration": 1373, "src": "13012:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_abi", @@ -25266,7 +25198,7 @@ "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1385, + "referencedDeclaration": 1380, "src": "12985:9:0", "typeDescriptions": { "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", @@ -25420,10 +25352,10 @@ "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1408, + "referencedDeclaration": 1403, "src": "12911:4:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_Escrow_v1_0_$1218", + "typeIdentifier": "t_contract$_Escrow_v1_0_$1213", "typeString": "contract Escrow_v1_0" } } @@ -25455,7 +25387,7 @@ "typeString": "address" }, { - "typeIdentifier": "t_contract$_Escrow_v1_0_$1218", + "typeIdentifier": "t_contract$_Escrow_v1_0_$1213", "typeString": "contract Escrow_v1_0" } ], @@ -25465,7 +25397,7 @@ "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1378, + "referencedDeclaration": 1373, "src": "12692:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_abi", @@ -25512,7 +25444,7 @@ "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1385, + "referencedDeclaration": 1380, "src": "12665:9:0", "typeDescriptions": { "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", @@ -25779,7 +25711,7 @@ ], "src": "12583:14:0" }, - "scope": 1218, + "scope": 1213, "src": "12314:1004:0", "stateMutability": "view", "superFunction": null, @@ -25937,7 +25869,7 @@ "name": "verifySignatures", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1026, + "referencedDeclaration": 1021, "src": "13836:16:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_array$_t_uint8_$dyn_memory_ptr_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_bytes32_$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$_t_address_$", @@ -26125,7 +26057,7 @@ "name": "isTimeLockExpired", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1060, + "referencedDeclaration": 1055, "src": "14021:17:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_uint32_$_t_uint256_$returns$_t_bool_$", @@ -26469,10 +26401,10 @@ "name": "revert", "nodeType": "Identifier", "overloadedDeclarations": [ - 1396, - 1397 + 1391, + 1392 ], - "referencedDeclaration": 1397, + "referencedDeclaration": 1392, "src": "14481:6:0", "typeDescriptions": { "typeIdentifier": "t_function_revert_pure$_t_string_memory_ptr_$returns$__$", @@ -26730,7 +26662,7 @@ "parameters": [], "src": "13802:0:0" }, - "scope": 1218, + "scope": 1213, "src": "13592:952:0", "stateMutability": "nonpayable", "superFunction": null, @@ -26738,9 +26670,9 @@ }, { "body": { - "id": 901, + "id": 896, "nodeType": "Block", - "src": "14847:1540:0", + "src": "14847:1375:0", "statements": [ { "assignments": [ @@ -26752,7 +26684,7 @@ "id": 730, "name": "t", "nodeType": "VariableDeclaration", - "scope": 902, + "scope": 897, "src": "14857:21:0", "stateVariable": false, "storageLocation": "storage", @@ -26976,78 +26908,10 @@ "typeString": "bool" } }, - "falseBody": { - "id": 898, - "nodeType": "Block", - "src": "16221:160:0", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "5472616e736174696f6e2074797065206973206e6f7420737570706f727465642e", - "id": 895, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "16334:35:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_9d93f6a20d47e99a6df20afacc401ffacf7e50a57b5dfa59ab7b43321870608b", - "typeString": "literal_string \"Transation type is not supported.\"" - }, - "value": "Transation type is not supported." - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_9d93f6a20d47e99a6df20afacc401ffacf7e50a57b5dfa59ab7b43321870608b", - "typeString": "literal_string \"Transation type is not supported.\"" - } - ], - "id": 894, - "name": "revert", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 1396, - 1397 - ], - "referencedDeclaration": 1397, - "src": "16327:6:0", - "typeDescriptions": { - "typeIdentifier": "t_function_revert_pure$_t_string_memory_ptr_$returns$__$", - "typeString": "function (string memory) pure" - } - }, - "id": 896, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16327:43:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 897, - "nodeType": "ExpressionStatement", - "src": "16327:43:0" - } - ] - }, - "id": 899, + "falseBody": null, + "id": 894, "nodeType": "IfStatement", - "src": "15557:824:0", + "src": "15557:658:0", "trueBody": { "id": 893, "nodeType": "Block", @@ -27063,12 +26927,12 @@ "id": 815, "name": "token", "nodeType": "VariableDeclaration", - "scope": 902, + "scope": 897, "src": "15620:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenContract_$1248", + "typeIdentifier": "t_contract$_ITokenContract_$1243", "typeString": "contract ITokenContract" }, "typeName": { @@ -27076,10 +26940,10 @@ "id": 814, "name": "ITokenContract", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1248, + "referencedDeclaration": 1243, "src": "15620:14:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenContract_$1248", + "typeIdentifier": "t_contract$_ITokenContract_$1243", "typeString": "contract ITokenContract" } }, @@ -27132,10 +26996,10 @@ "name": "ITokenContract", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1248, + "referencedDeclaration": 1243, "src": "15643:14:0", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ITokenContract_$1248_$", + "typeIdentifier": "t_type$_t_contract$_ITokenContract_$1243_$", "typeString": "type(contract ITokenContract)" } }, @@ -27149,7 +27013,7 @@ "nodeType": "FunctionCall", "src": "15643:30:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenContract_$1248", + "typeIdentifier": "t_contract$_ITokenContract_$1243", "typeString": "contract ITokenContract" } }, @@ -27417,10 +27281,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1394, - 1395 + 1389, + 1390 ], - "referencedDeclaration": 1395, + "referencedDeclaration": 1390, "src": "15755:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -27560,10 +27424,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1394, - 1395 + 1389, + 1390 ], - "referencedDeclaration": 1395, + "referencedDeclaration": 1390, "src": "15868:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -27682,7 +27546,7 @@ "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 1355, + "referencedDeclaration": 1350, "src": "15975:20:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", @@ -27942,7 +27806,7 @@ "referencedDeclaration": 815, "src": "16120:5:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenContract_$1248", + "typeIdentifier": "t_contract$_ITokenContract_$1243", "typeString": "contract ITokenContract" } }, @@ -27953,7 +27817,7 @@ "lValueRequested": false, "memberName": "transfer", "nodeType": "MemberAccess", - "referencedDeclaration": 1236, + "referencedDeclaration": 1231, "src": "16120:14:0", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", @@ -28008,10 +27872,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1394, - 1395 + 1389, + 1390 ], - "referencedDeclaration": 1395, + "referencedDeclaration": 1390, "src": "16112:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -28110,7 +27974,7 @@ "id": 822, "name": "j", "nodeType": "VariableDeclaration", - "scope": 902, + "scope": 897, "src": "15693:9:0", "stateVariable": false, "storageLocation": "default", @@ -28194,9 +28058,9 @@ ] } }, - "id": 900, + "id": 895, "nodeType": "IfStatement", - "src": "14916:1465:0", + "src": "14916:1299:0", "trueBody": { "id": 808, "nodeType": "Block", @@ -28463,10 +28327,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1394, - 1395 + 1389, + 1390 ], - "referencedDeclaration": 1395, + "referencedDeclaration": 1390, "src": "15047:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -28606,10 +28470,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1394, - 1395 + 1389, + 1390 ], - "referencedDeclaration": 1395, + "referencedDeclaration": 1390, "src": "15160:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -28728,7 +28592,7 @@ "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 1355, + "referencedDeclaration": 1350, "src": "15267:20:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", @@ -29078,7 +28942,7 @@ "id": 741, "name": "i", "nodeType": "VariableDeclaration", - "scope": 902, + "scope": 897, "src": "14983:9:0", "stateVariable": false, "storageLocation": "default", @@ -29165,7 +29029,7 @@ ] }, "documentation": "dev Private method to transfer funds to the destination addresses on the basis of transaction type", - "id": 902, + "id": 897, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -29181,7 +29045,7 @@ "id": 718, "name": "scriptHash", "nodeType": "VariableDeclaration", - "scope": 902, + "scope": 897, "src": "14702:18:0", "stateVariable": false, "storageLocation": "default", @@ -29207,7 +29071,7 @@ "id": 721, "name": "destinations", "nodeType": "VariableDeclaration", - "scope": 902, + "scope": 897, "src": "14730:21:0", "stateVariable": false, "storageLocation": "default", @@ -29243,7 +29107,7 @@ "id": 724, "name": "amounts", "nodeType": "VariableDeclaration", - "scope": 902, + "scope": 897, "src": "14761:16:0", "stateVariable": false, "storageLocation": "default", @@ -29287,7 +29151,7 @@ "id": 727, "name": "valueTransferred", "nodeType": "VariableDeclaration", - "scope": 902, + "scope": 897, "src": "14817:24:0", "stateVariable": false, "storageLocation": "default", @@ -29311,17 +29175,17 @@ ], "src": "14816:26:0" }, - "scope": 1218, - "src": "14670:1717:0", + "scope": 1213, + "src": "14670:1552:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "private" }, { "body": { - "id": 1025, + "id": 1020, "nodeType": "Block", - "src": "16817:1277:0", + "src": "16652:1277:0", "statements": [ { "expression": { @@ -29333,7 +29197,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 935, + "id": 930, "isConstant": false, "isLValue": false, "isPure": false, @@ -29344,7 +29208,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 929, + "id": 924, "isConstant": false, "isLValue": false, "isPure": false, @@ -29353,18 +29217,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 925, + "id": 920, "name": "sigR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 908, - "src": "16848:4:0", + "referencedDeclaration": 903, + "src": "16683:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" } }, - "id": 926, + "id": 921, "isConstant": false, "isLValue": false, "isPure": false, @@ -29372,7 +29236,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "16848:11:0", + "src": "16683:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29384,18 +29248,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 927, + "id": 922, "name": "sigS", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 911, - "src": "16863:4:0", + "referencedDeclaration": 906, + "src": "16698:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" } }, - "id": 928, + "id": 923, "isConstant": false, "isLValue": false, "isPure": false, @@ -29403,13 +29267,13 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "16863:11:0", + "src": "16698:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "16848:26:0", + "src": "16683:26:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -29423,7 +29287,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 934, + "id": 929, "isConstant": false, "isLValue": false, "isPure": false, @@ -29432,18 +29296,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 930, + "id": 925, "name": "sigR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 908, - "src": "16878:4:0", + "referencedDeclaration": 903, + "src": "16713:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" } }, - "id": 931, + "id": 926, "isConstant": false, "isLValue": false, "isPure": false, @@ -29451,7 +29315,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "16878:11:0", + "src": "16713:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29463,18 +29327,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 932, + "id": 927, "name": "sigV", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 905, - "src": "16893:4:0", + "referencedDeclaration": 900, + "src": "16728:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr", "typeString": "uint8[] memory" } }, - "id": 933, + "id": 928, "isConstant": false, "isLValue": false, "isPure": false, @@ -29482,19 +29346,19 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "16893:11:0", + "src": "16728:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "16878:26:0", + "src": "16713:26:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "16848:56:0", + "src": "16683:56:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -29503,14 +29367,14 @@ { "argumentTypes": null, "hexValue": "522c532c56206c656e677468206d69736d617463682e", - "id": 936, + "id": 931, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "16919:24:0", + "src": "16754:24:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_f85073c8befb65baed58ca1ee563e5da0bdbdce8abd4d29ef22a8329c7c97506", @@ -29530,21 +29394,21 @@ "typeString": "literal_string \"R,S,V length mismatch.\"" } ], - "id": 924, + "id": 919, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1394, - 1395 + 1389, + 1390 ], - "referencedDeclaration": 1395, - "src": "16827:7:0", + "referencedDeclaration": 1390, + "src": "16662:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 937, + "id": 932, "isConstant": false, "isLValue": false, "isPure": false, @@ -29552,28 +29416,28 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16827:126:0", + "src": "16662:126:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 938, + "id": 933, "nodeType": "ExpressionStatement", - "src": "16827:126:0" + "src": "16662:126:0" }, { "assignments": [ - 940 + 935 ], "declarations": [ { "constant": false, - "id": 940, + "id": 935, "name": "txHash", "nodeType": "VariableDeclaration", - "scope": 1026, - "src": "17052:14:0", + "scope": 1021, + "src": "16887:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -29581,10 +29445,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 939, + "id": 934, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "17052:7:0", + "src": "16887:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -29594,7 +29458,7 @@ "visibility": "internal" } ], - "id": 962, + "id": 957, "initialValue": { "argumentTypes": null, "arguments": [ @@ -29604,14 +29468,14 @@ { "argumentTypes": null, "hexValue": "19457468657265756d205369676e6564204d6573736167653a0a3332", - "id": 944, + "id": 939, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "17126:34:0", + "src": "16961:34:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_178a2411ab6fbc1ba11064408972259c558d0e82fd48b0aba3ad81d14f065e73", @@ -29631,14 +29495,14 @@ { "argumentTypes": null, "hexValue": "30783139", - "id": 949, + "id": 944, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "17256:4:0", + "src": "17091:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_25_by_1", @@ -29654,20 +29518,20 @@ "typeString": "int_const 25" } ], - "id": 948, + "id": 943, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "17251:4:0", + "src": "17086:4:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes1_$", "typeString": "type(bytes1)" }, "typeName": "byte" }, - "id": 950, + "id": 945, "isConstant": false, "isLValue": false, "isPure": true, @@ -29675,7 +29539,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17251:10:0", + "src": "17086:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes1", "typeString": "bytes1" @@ -29687,14 +29551,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 952, + "id": 947, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "17292:1:0", + "src": "17127:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -29710,20 +29574,20 @@ "typeString": "int_const 0" } ], - "id": 951, + "id": 946, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "17287:4:0", + "src": "17122:4:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes1_$", "typeString": "type(bytes1)" }, "typeName": "byte" }, - "id": 953, + "id": 948, "isConstant": false, "isLValue": false, "isPure": true, @@ -29731,7 +29595,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17287:7:0", + "src": "17122:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes1", "typeString": "bytes1" @@ -29739,25 +29603,25 @@ }, { "argumentTypes": null, - "id": 954, + "id": 949, "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1408, - "src": "17320:4:0", + "referencedDeclaration": 1403, + "src": "17155:4:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_Escrow_v1_0_$1218", + "typeIdentifier": "t_contract$_Escrow_v1_0_$1213", "typeString": "contract Escrow_v1_0" } }, { "argumentTypes": null, - "id": 955, + "id": 950, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 916, - "src": "17350:12:0", + "referencedDeclaration": 911, + "src": "17185:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -29765,12 +29629,12 @@ }, { "argumentTypes": null, - "id": 956, + "id": 951, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 919, - "src": "17388:7:0", + "referencedDeclaration": 914, + "src": "17223:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" @@ -29778,12 +29642,12 @@ }, { "argumentTypes": null, - "id": 957, + "id": 952, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 913, - "src": "17421:10:0", + "referencedDeclaration": 908, + "src": "17256:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -29801,7 +29665,7 @@ "typeString": "bytes1" }, { - "typeIdentifier": "t_contract$_Escrow_v1_0_$1218", + "typeIdentifier": "t_contract$_Escrow_v1_0_$1213", "typeString": "contract Escrow_v1_0" }, { @@ -29819,18 +29683,18 @@ ], "expression": { "argumentTypes": null, - "id": 946, + "id": 941, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1378, - "src": "17209:3:0", + "referencedDeclaration": 1373, + "src": "17044:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, - "id": 947, + "id": 942, "isConstant": false, "isLValue": false, "isPure": true, @@ -29838,13 +29702,13 @@ "memberName": "encodePacked", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "17209:16:0", + "src": "17044:16:0", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, - "id": 958, + "id": 953, "isConstant": false, "isLValue": false, "isPure": false, @@ -29852,7 +29716,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17209:244:0", + "src": "17044:244:0", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -29866,18 +29730,18 @@ "typeString": "bytes memory" } ], - "id": 945, + "id": 940, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1385, - "src": "17178:9:0", + "referencedDeclaration": 1380, + "src": "17013:9:0", "typeDescriptions": { "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", "typeString": "function () pure returns (bytes32)" } }, - "id": 959, + "id": 954, "isConstant": false, "isLValue": false, "isPure": false, @@ -29885,7 +29749,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17178:293:0", + "src": "17013:293:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -29905,18 +29769,18 @@ ], "expression": { "argumentTypes": null, - "id": 942, + "id": 937, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1378, - "src": "17092:3:0", + "referencedDeclaration": 1373, + "src": "16927:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, - "id": 943, + "id": 938, "isConstant": false, "isLValue": false, "isPure": true, @@ -29924,13 +29788,13 @@ "memberName": "encodePacked", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "17092:16:0", + "src": "16927:16:0", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, - "id": 960, + "id": 955, "isConstant": false, "isLValue": false, "isPure": false, @@ -29938,7 +29802,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17092:393:0", + "src": "16927:393:0", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -29952,18 +29816,18 @@ "typeString": "bytes memory" } ], - "id": 941, + "id": 936, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1385, - "src": "17069:9:0", + "referencedDeclaration": 1380, + "src": "16904:9:0", "typeDescriptions": { "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", "typeString": "function () pure returns (bytes32)" } }, - "id": 961, + "id": 956, "isConstant": false, "isLValue": false, "isPure": false, @@ -29971,33 +29835,33 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17069:426:0", + "src": "16904:426:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "nodeType": "VariableDeclarationStatement", - "src": "17052:443:0" + "src": "16887:443:0" }, { "body": { - "id": 1023, + "id": 1018, "nodeType": "Block", - "src": "17545:543:0", + "src": "17380:543:0", "statements": [ { "assignments": [ - 975 + 970 ], "declarations": [ { "constant": false, - "id": 975, + "id": 970, "name": "recovered", "nodeType": "VariableDeclaration", - "scope": 1026, - "src": "17560:17:0", + "scope": 1021, + "src": "17395:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -30005,10 +29869,10 @@ "typeString": "address" }, "typeName": { - "id": 974, + "id": 969, "name": "address", "nodeType": "ElementaryTypeName", - "src": "17560:7:0", + "src": "17395:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -30018,18 +29882,18 @@ "visibility": "internal" } ], - "id": 988, + "id": 983, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 977, + "id": 972, "name": "txHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 940, - "src": "17607:6:0", + "referencedDeclaration": 935, + "src": "17442:6:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -30039,26 +29903,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 978, + "id": 973, "name": "sigV", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 905, - "src": "17631:4:0", + "referencedDeclaration": 900, + "src": "17466:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr", "typeString": "uint8[] memory" } }, - "id": 980, + "id": 975, "indexExpression": { "argumentTypes": null, - "id": 979, + "id": 974, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 964, - "src": "17636:1:0", + "referencedDeclaration": 959, + "src": "17471:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -30069,7 +29933,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17631:7:0", + "src": "17466:7:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -30079,26 +29943,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 981, + "id": 976, "name": "sigR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 908, - "src": "17656:4:0", + "referencedDeclaration": 903, + "src": "17491:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" } }, - "id": 983, + "id": 978, "indexExpression": { "argumentTypes": null, - "id": 982, + "id": 977, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 964, - "src": "17661:1:0", + "referencedDeclaration": 959, + "src": "17496:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -30109,7 +29973,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17656:7:0", + "src": "17491:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -30119,26 +29983,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 984, + "id": 979, "name": "sigS", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 911, - "src": "17681:4:0", + "referencedDeclaration": 906, + "src": "17516:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" } }, - "id": 986, + "id": 981, "indexExpression": { "argumentTypes": null, - "id": 985, + "id": 980, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 964, - "src": "17686:1:0", + "referencedDeclaration": 959, + "src": "17521:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -30149,7 +30013,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17681:7:0", + "src": "17516:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -30175,18 +30039,18 @@ "typeString": "bytes32" } ], - "id": 976, + "id": 971, "name": "ecrecover", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1383, - "src": "17580:9:0", + "referencedDeclaration": 1378, + "src": "17415:9:0", "typeDescriptions": { "typeIdentifier": "t_function_ecrecover_pure$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$_t_address_$", "typeString": "function (bytes32,uint8,bytes32,bytes32) pure returns (address)" } }, - "id": 987, + "id": 982, "isConstant": false, "isLValue": false, "isPure": false, @@ -30194,14 +30058,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17580:122:0", + "src": "17415:122:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "VariableDeclarationStatement", - "src": "17560:142:0" + "src": "17395:142:0" }, { "expression": { @@ -30215,26 +30079,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 990, + "id": 985, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 77, - "src": "17742:12:0", + "src": "17577:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$73_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 992, + "id": 987, "indexExpression": { "argumentTypes": null, - "id": 991, + "id": 986, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 913, - "src": "17755:10:0", + "referencedDeclaration": 908, + "src": "17590:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -30245,13 +30109,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17742:24:0", + "src": "17577:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$73_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 993, + "id": 988, "isConstant": false, "isLValue": true, "isPure": false, @@ -30259,21 +30123,21 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 64, - "src": "17742:32:0", + "src": "17577:32:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 995, + "id": 990, "indexExpression": { "argumentTypes": null, - "id": 994, + "id": 989, "name": "recovered", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 975, - "src": "17775:9:0", + "referencedDeclaration": 970, + "src": "17610:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -30284,7 +30148,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17742:43:0", + "src": "17577:43:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -30293,14 +30157,14 @@ { "argumentTypes": null, "hexValue": "496e76616c6964207369676e6174757265", - "id": 996, + "id": 991, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "17804:19:0", + "src": "17639:19:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_4f2d7dfcb27c0aafa13ae8c400de482c7832204d194018b6e45bd2bf244c74e7", @@ -30320,21 +30184,21 @@ "typeString": "literal_string \"Invalid signature\"" } ], - "id": 989, + "id": 984, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1394, - 1395 + 1389, + 1390 ], - "referencedDeclaration": 1395, - "src": "17717:7:0", + "referencedDeclaration": 1390, + "src": "17552:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 997, + "id": 992, "isConstant": false, "isLValue": false, "isPure": false, @@ -30342,15 +30206,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17717:120:0", + "src": "17552:120:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 998, + "id": 993, "nodeType": "ExpressionStatement", - "src": "17717:120:0" + "src": "17552:120:0" }, { "expression": { @@ -30358,7 +30222,7 @@ "arguments": [ { "argumentTypes": null, - "id": 1006, + "id": 1001, "isConstant": false, "isLValue": false, "isPure": false, @@ -30366,7 +30230,7 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "17876:42:0", + "src": "17711:42:0", "subExpression": { "argumentTypes": null, "baseExpression": { @@ -30375,26 +30239,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1000, + "id": 995, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 77, - "src": "17877:12:0", + "src": "17712:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$73_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 1002, + "id": 997, "indexExpression": { "argumentTypes": null, - "id": 1001, + "id": 996, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 913, - "src": "17890:10:0", + "referencedDeclaration": 908, + "src": "17725:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -30405,13 +30269,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17877:24:0", + "src": "17712:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$73_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 1003, + "id": 998, "isConstant": false, "isLValue": true, "isPure": false, @@ -30419,21 +30283,21 @@ "memberName": "voted", "nodeType": "MemberAccess", "referencedDeclaration": 68, - "src": "17877:30:0", + "src": "17712:30:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 1005, + "id": 1000, "indexExpression": { "argumentTypes": null, - "id": 1004, + "id": 999, "name": "recovered", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 975, - "src": "17908:9:0", + "referencedDeclaration": 970, + "src": "17743:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -30444,7 +30308,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17877:41:0", + "src": "17712:41:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -30458,14 +30322,14 @@ { "argumentTypes": null, "hexValue": "53616d65207369676e61747572652073656e74207477696365", - "id": 1007, + "id": 1002, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "17937:27:0", + "src": "17772:27:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_fb2c7e49d5ec7ce36fa812cf15ee7fa946942f931d04fe3ae970516007b2a543", @@ -30485,21 +30349,21 @@ "typeString": "literal_string \"Same signature sent twice\"" } ], - "id": 999, + "id": 994, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1394, - 1395 + 1389, + 1390 ], - "referencedDeclaration": 1395, - "src": "17851:7:0", + "referencedDeclaration": 1390, + "src": "17686:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 1008, + "id": 1003, "isConstant": false, "isLValue": false, "isPure": false, @@ -30507,20 +30371,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17851:127:0", + "src": "17686:127:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1009, + "id": 1004, "nodeType": "ExpressionStatement", - "src": "17851:127:0" + "src": "17686:127:0" }, { "expression": { "argumentTypes": null, - "id": 1017, + "id": 1012, "isConstant": false, "isLValue": false, "isPure": false, @@ -30533,26 +30397,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1010, + "id": 1005, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 77, - "src": "17992:12:0", + "src": "17827:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$73_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 1012, + "id": 1007, "indexExpression": { "argumentTypes": null, - "id": 1011, + "id": 1006, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 913, - "src": "18005:10:0", + "referencedDeclaration": 908, + "src": "17840:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -30563,13 +30427,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17992:24:0", + "src": "17827:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$73_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 1013, + "id": 1008, "isConstant": false, "isLValue": true, "isPure": false, @@ -30577,21 +30441,21 @@ "memberName": "voted", "nodeType": "MemberAccess", "referencedDeclaration": 68, - "src": "17992:30:0", + "src": "17827:30:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 1015, + "id": 1010, "indexExpression": { "argumentTypes": null, - "id": 1014, + "id": 1009, "name": "recovered", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 975, - "src": "18023:9:0", + "referencedDeclaration": 970, + "src": "17858:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -30602,7 +30466,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "17992:41:0", + "src": "17827:41:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -30613,14 +30477,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "74727565", - "id": 1016, + "id": 1011, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "18036:4:0", + "src": "17871:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -30628,32 +30492,32 @@ }, "value": "true" }, - "src": "17992:48:0", + "src": "17827:48:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 1018, + "id": 1013, "nodeType": "ExpressionStatement", - "src": "17992:48:0" + "src": "17827:48:0" }, { "expression": { "argumentTypes": null, - "id": 1021, + "id": 1016, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 1019, + "id": 1014, "name": "lastAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 922, - "src": "18054:11:0", + "referencedDeclaration": 917, + "src": "17889:11:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -30663,26 +30527,26 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 1020, + "id": 1015, "name": "recovered", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 975, - "src": "18068:9:0", + "referencedDeclaration": 970, + "src": "17903:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "18054:23:0", + "src": "17889:23:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 1022, + "id": 1017, "nodeType": "ExpressionStatement", - "src": "18054:23:0" + "src": "17889:23:0" } ] }, @@ -30692,19 +30556,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 970, + "id": 965, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 967, + "id": 962, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 964, - "src": "17523:1:0", + "referencedDeclaration": 959, + "src": "17358:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -30716,18 +30580,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 968, + "id": 963, "name": "sigR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 908, - "src": "17527:4:0", + "referencedDeclaration": 903, + "src": "17362:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" } }, - "id": 969, + "id": 964, "isConstant": false, "isLValue": false, "isPure": false, @@ -30735,31 +30599,31 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "17527:11:0", + "src": "17362:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "17523:15:0", + "src": "17358:15:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 1024, + "id": 1019, "initializationExpression": { "assignments": [ - 964 + 959 ], "declarations": [ { "constant": false, - "id": 964, + "id": 959, "name": "i", "nodeType": "VariableDeclaration", - "scope": 1026, - "src": "17511:6:0", + "scope": 1021, + "src": "17346:6:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -30767,10 +30631,10 @@ "typeString": "uint256" }, "typeName": { - "id": 963, + "id": 958, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "17511:4:0", + "src": "17346:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -30780,18 +30644,18 @@ "visibility": "internal" } ], - "id": 966, + "id": 961, "initialValue": { "argumentTypes": null, "hexValue": "30", - "id": 965, + "id": 960, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "17520:1:0", + "src": "17355:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -30800,12 +30664,12 @@ "value": "0" }, "nodeType": "VariableDeclarationStatement", - "src": "17511:10:0" + "src": "17346:10:0" }, "loopExpression": { "expression": { "argumentTypes": null, - "id": 972, + "id": 967, "isConstant": false, "isLValue": false, "isPure": false, @@ -30813,15 +30677,15 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "17540:3:0", + "src": "17375:3:0", "subExpression": { "argumentTypes": null, - "id": 971, + "id": 966, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 964, - "src": "17540:1:0", + "referencedDeclaration": 959, + "src": "17375:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -30832,17 +30696,17 @@ "typeString": "uint256" } }, - "id": 973, + "id": 968, "nodeType": "ExpressionStatement", - "src": "17540:3:0" + "src": "17375:3:0" }, "nodeType": "ForStatement", - "src": "17506:582:0" + "src": "17341:582:0" } ] }, "documentation": null, - "id": 1026, + "id": 1021, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -30850,16 +30714,16 @@ "name": "verifySignatures", "nodeType": "FunctionDefinition", "parameters": { - "id": 920, + "id": 915, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 905, + "id": 900, "name": "sigV", "nodeType": "VariableDeclaration", - "scope": 1026, - "src": "16606:12:0", + "scope": 1021, + "src": "16441:12:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -30868,19 +30732,19 @@ }, "typeName": { "baseType": { - "id": 903, + "id": 898, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "16606:5:0", + "src": "16441:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, - "id": 904, + "id": 899, "length": null, "nodeType": "ArrayTypeName", - "src": "16606:7:0", + "src": "16441:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_storage_ptr", "typeString": "uint8[]" @@ -30891,11 +30755,11 @@ }, { "constant": false, - "id": 908, + "id": 903, "name": "sigR", "nodeType": "VariableDeclaration", - "scope": 1026, - "src": "16628:14:0", + "scope": 1021, + "src": "16463:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -30904,19 +30768,19 @@ }, "typeName": { "baseType": { - "id": 906, + "id": 901, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "16628:7:0", + "src": "16463:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "id": 907, + "id": 902, "length": null, "nodeType": "ArrayTypeName", - "src": "16628:9:0", + "src": "16463:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -30927,11 +30791,11 @@ }, { "constant": false, - "id": 911, + "id": 906, "name": "sigS", "nodeType": "VariableDeclaration", - "scope": 1026, - "src": "16652:14:0", + "scope": 1021, + "src": "16487:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -30940,19 +30804,19 @@ }, "typeName": { "baseType": { - "id": 909, + "id": 904, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "16652:7:0", + "src": "16487:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "id": 910, + "id": 905, "length": null, "nodeType": "ArrayTypeName", - "src": "16652:9:0", + "src": "16487:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -30963,11 +30827,11 @@ }, { "constant": false, - "id": 913, + "id": 908, "name": "scriptHash", "nodeType": "VariableDeclaration", - "scope": 1026, - "src": "16676:18:0", + "scope": 1021, + "src": "16511:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -30975,10 +30839,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 912, + "id": 907, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "16676:7:0", + "src": "16511:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -30989,11 +30853,11 @@ }, { "constant": false, - "id": 916, + "id": 911, "name": "destinations", "nodeType": "VariableDeclaration", - "scope": 1026, - "src": "16704:22:0", + "scope": 1021, + "src": "16539:22:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -31002,19 +30866,19 @@ }, "typeName": { "baseType": { - "id": 914, + "id": 909, "name": "address", "nodeType": "ElementaryTypeName", - "src": "16704:7:0", + "src": "16539:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 915, + "id": 910, "length": null, "nodeType": "ArrayTypeName", - "src": "16704:9:0", + "src": "16539:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", "typeString": "address[]" @@ -31025,11 +30889,11 @@ }, { "constant": false, - "id": 919, + "id": 914, "name": "amounts", "nodeType": "VariableDeclaration", - "scope": 1026, - "src": "16736:16:0", + "scope": 1021, + "src": "16571:16:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -31038,19 +30902,19 @@ }, "typeName": { "baseType": { - "id": 917, + "id": 912, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "16736:7:0", + "src": "16571:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 918, + "id": 913, "length": null, "nodeType": "ArrayTypeName", - "src": "16736:9:0", + "src": "16571:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -31060,20 +30924,20 @@ "visibility": "internal" } ], - "src": "16596:162:0" + "src": "16431:162:0" }, "payable": false, "returnParameters": { - "id": 923, + "id": 918, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 922, + "id": 917, "name": "lastAddress", "nodeType": "VariableDeclaration", - "scope": 1026, - "src": "16792:19:0", + "scope": 1021, + "src": "16627:19:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -31081,10 +30945,10 @@ "typeString": "address" }, "typeName": { - "id": 921, + "id": 916, "name": "address", "nodeType": "ElementaryTypeName", - "src": "16792:7:0", + "src": "16627:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -31094,32 +30958,32 @@ "visibility": "internal" } ], - "src": "16791:21:0" + "src": "16626:21:0" }, - "scope": 1218, - "src": "16571:1523:0", + "scope": 1213, + "src": "16406:1523:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "private" }, { "body": { - "id": 1059, + "id": 1054, "nodeType": "Block", - "src": "18256:171:0", + "src": "18091:171:0", "statements": [ { "assignments": [ - 1036 + 1031 ], "declarations": [ { "constant": false, - "id": 1036, + "id": 1031, "name": "timeSince", "nodeType": "VariableDeclaration", - "scope": 1060, - "src": "18266:17:0", + "scope": 1055, + "src": "18101:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -31127,10 +30991,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1035, + "id": 1030, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "18266:7:0", + "src": "18101:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -31140,18 +31004,18 @@ "visibility": "internal" } ], - "id": 1041, + "id": 1036, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 1039, + "id": 1034, "name": "lastModified", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1030, - "src": "18294:12:0", + "referencedDeclaration": 1025, + "src": "18129:12:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -31167,32 +31031,32 @@ ], "expression": { "argumentTypes": null, - "id": 1037, + "id": 1032, "name": "now", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1393, - "src": "18286:3:0", + "referencedDeclaration": 1388, + "src": "18121:3:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1038, + "id": 1033, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sub", "nodeType": "MemberAccess", - "referencedDeclaration": 1331, - "src": "18286:7:0", + "referencedDeclaration": 1326, + "src": "18121:7:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 1040, + "id": 1035, "isConstant": false, "isLValue": false, "isPure": false, @@ -31200,31 +31064,31 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18286:21:0", + "src": "18121:21:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "18266:41:0" + "src": "18101:41:0" }, { "expression": { "argumentTypes": null, - "id": 1057, + "id": 1052, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 1042, + "id": 1037, "name": "expired", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1033, - "src": "18317:7:0", + "referencedDeclaration": 1028, + "src": "18152:7:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -31243,19 +31107,19 @@ "typeIdentifier": "t_uint32", "typeString": "uint32" }, - "id": 1045, + "id": 1040, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1043, + "id": 1038, "name": "timeoutHours", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1028, - "src": "18341:12:0", + "referencedDeclaration": 1023, + "src": "18176:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -31266,14 +31130,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 1044, + "id": 1039, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "18357:1:0", + "src": "18192:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -31281,7 +31145,7 @@ }, "value": "0" }, - "src": "18341:17:0", + "src": "18176:17:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -31293,19 +31157,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1054, + "id": 1049, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1047, + "id": 1042, "name": "timeSince", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1036, - "src": "18367:9:0", + "referencedDeclaration": 1031, + "src": "18202:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -31319,14 +31183,14 @@ { "argumentTypes": null, "hexValue": "33363030", - "id": 1052, + "id": 1047, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "18405:4:0", + "src": "18240:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_3600_by_1", @@ -31347,12 +31211,12 @@ "arguments": [ { "argumentTypes": null, - "id": 1049, + "id": 1044, "name": "timeoutHours", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1028, - "src": "18387:12:0", + "referencedDeclaration": 1023, + "src": "18222:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -31366,20 +31230,20 @@ "typeString": "uint32" } ], - "id": 1048, + "id": 1043, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "18379:7:0", + "src": "18214:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint256_$", "typeString": "type(uint256)" }, "typeName": "uint256" }, - "id": 1050, + "id": 1045, "isConstant": false, "isLValue": false, "isPure": false, @@ -31387,27 +31251,27 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18379:21:0", + "src": "18214:21:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1051, + "id": 1046, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "mul", "nodeType": "MemberAccess", - "referencedDeclaration": 1283, - "src": "18379:25:0", + "referencedDeclaration": 1278, + "src": "18214:25:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 1053, + "id": 1048, "isConstant": false, "isLValue": false, "isPure": false, @@ -31415,36 +31279,36 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18379:31:0", + "src": "18214:31:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "18367:43:0", + "src": "18202:43:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 1055, + "id": 1050, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "Conditional", - "src": "18341:69:0", + "src": "18176:69:0", "trueExpression": { "argumentTypes": null, "hexValue": "66616c7365", - "id": 1046, + "id": 1041, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "18361:5:0", + "src": "18196:5:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -31458,33 +31322,33 @@ } } ], - "id": 1056, + "id": 1051, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "18327:93:0", + "src": "18162:93:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "18317:103:0", + "src": "18152:103:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 1058, + "id": 1053, "nodeType": "ExpressionStatement", - "src": "18317:103:0" + "src": "18152:103:0" } ] }, "documentation": null, - "id": 1060, + "id": 1055, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -31492,16 +31356,16 @@ "name": "isTimeLockExpired", "nodeType": "FunctionDefinition", "parameters": { - "id": 1031, + "id": 1026, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1028, + "id": 1023, "name": "timeoutHours", "nodeType": "VariableDeclaration", - "scope": 1060, - "src": "18136:19:0", + "scope": 1055, + "src": "17971:19:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -31509,10 +31373,10 @@ "typeString": "uint32" }, "typeName": { - "id": 1027, + "id": 1022, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "18136:6:0", + "src": "17971:6:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -31523,11 +31387,11 @@ }, { "constant": false, - "id": 1030, + "id": 1025, "name": "lastModified", "nodeType": "VariableDeclaration", - "scope": 1060, - "src": "18165:20:0", + "scope": 1055, + "src": "18000:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -31535,10 +31399,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1029, + "id": 1024, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "18165:7:0", + "src": "18000:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -31548,20 +31412,20 @@ "visibility": "internal" } ], - "src": "18126:65:0" + "src": "17961:65:0" }, "payable": false, "returnParameters": { - "id": 1034, + "id": 1029, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1033, + "id": 1028, "name": "expired", "nodeType": "VariableDeclaration", - "scope": 1060, - "src": "18238:12:0", + "scope": 1055, + "src": "18073:12:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -31569,10 +31433,10 @@ "typeString": "bool" }, "typeName": { - "id": 1032, + "id": 1027, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "18238:4:0", + "src": "18073:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -31582,19 +31446,19 @@ "visibility": "internal" } ], - "src": "18237:14:0" + "src": "18072:14:0" }, - "scope": 1218, - "src": "18100:327:0", + "scope": 1213, + "src": "17935:327:0", "stateMutability": "view", "superFunction": null, "visibility": "private" }, { "body": { - "id": 1216, + "id": 1211, "nodeType": "Block", - "src": "18841:2344:0", + "src": "18676:2344:0", "statements": [ { "expression": { @@ -31606,19 +31470,19 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 1086, + "id": 1081, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1084, + "id": 1079, "name": "buyer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1062, - "src": "18867:5:0", + "referencedDeclaration": 1057, + "src": "18702:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -31628,18 +31492,18 @@ "operator": "!=", "rightExpression": { "argumentTypes": null, - "id": 1085, + "id": 1080, "name": "seller", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1064, - "src": "18876:6:0", + "referencedDeclaration": 1059, + "src": "18711:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "18867:15:0", + "src": "18702:15:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -31648,14 +31512,14 @@ { "argumentTypes": null, "hexValue": "427579657220616e642073656c6c6572206172652073616d65", - "id": 1087, + "id": 1082, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "18884:27:0", + "src": "18719:27:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_6141441751234d42e9a73d96317794195c7ff57b8f16ac15725a10f10763f824", @@ -31675,21 +31539,21 @@ "typeString": "literal_string \"Buyer and seller are same\"" } ], - "id": 1083, + "id": 1078, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1394, - 1395 + 1389, + 1390 ], - "referencedDeclaration": 1395, - "src": "18859:7:0", + "referencedDeclaration": 1390, + "src": "18694:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 1088, + "id": 1083, "isConstant": false, "isLValue": false, "isPure": false, @@ -31697,15 +31561,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18859:53:0", + "src": "18694:53:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1089, + "id": 1084, "nodeType": "ExpressionStatement", - "src": "18859:53:0" + "src": "18694:53:0" }, { "expression": { @@ -31717,19 +31581,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1093, + "id": 1088, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1091, + "id": 1086, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1074, - "src": "18979:5:0", + "referencedDeclaration": 1069, + "src": "18814:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -31740,14 +31604,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 1092, + "id": 1087, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "18987:1:0", + "src": "18822:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -31755,7 +31619,7 @@ }, "value": "0" }, - "src": "18979:9:0", + "src": "18814:9:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -31764,14 +31628,14 @@ { "argumentTypes": null, "hexValue": "56616c7565207061737365642069732030", - "id": 1094, + "id": 1089, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "18990:19:0", + "src": "18825:19:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_3686f87c4804517ea83323ccf1a3b5b5ff52ed144b19e6fc56abe8fcd182e747", @@ -31791,21 +31655,21 @@ "typeString": "literal_string \"Value passed is 0\"" } ], - "id": 1090, + "id": 1085, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1394, - 1395 + 1389, + 1390 ], - "referencedDeclaration": 1395, - "src": "18971:7:0", + "referencedDeclaration": 1390, + "src": "18806:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 1095, + "id": 1090, "isConstant": false, "isLValue": false, "isPure": false, @@ -31813,15 +31677,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18971:39:0", + "src": "18806:39:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1096, + "id": 1091, "nodeType": "ExpressionStatement", - "src": "18971:39:0" + "src": "18806:39:0" }, { "expression": { @@ -31833,7 +31697,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 1104, + "id": 1099, "isConstant": false, "isLValue": false, "isPure": false, @@ -31844,19 +31708,19 @@ "typeIdentifier": "t_uint8", "typeString": "uint8" }, - "id": 1100, + "id": 1095, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1098, + "id": 1093, "name": "threshold", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1068, - "src": "19113:9:0", + "referencedDeclaration": 1063, + "src": "18948:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -31867,14 +31731,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 1099, + "id": 1094, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "19125:1:0", + "src": "18960:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -31882,7 +31746,7 @@ }, "value": "0" }, - "src": "19113:13:0", + "src": "18948:13:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -31896,19 +31760,19 @@ "typeIdentifier": "t_uint8", "typeString": "uint8" }, - "id": 1103, + "id": 1098, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1101, + "id": 1096, "name": "threshold", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1068, - "src": "19130:9:0", + "referencedDeclaration": 1063, + "src": "18965:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -31919,14 +31783,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "33", - "id": 1102, + "id": 1097, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "19143:1:0", + "src": "18978:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_3_by_1", @@ -31934,13 +31798,13 @@ }, "value": "3" }, - "src": "19130:14:0", + "src": "18965:14:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "19113:31:0", + "src": "18948:31:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -31949,14 +31813,14 @@ { "argumentTypes": null, "hexValue": "5468726573686f6c642063616e6e6f742062652067726561746572207468616e203320616e64206d7573742062652067726561746572207468616e2030", - "id": 1105, + "id": 1100, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "19159:63:0", + "src": "18994:63:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_351c1d5dfdc4a2b4c61d6f4dbb41a0d2ae70a9c094d3c0add87af24b5dd19c13", @@ -31976,21 +31840,21 @@ "typeString": "literal_string \"Threshold cannot be greater than 3 and must be greater than 0\"" } ], - "id": 1097, + "id": 1092, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1394, - 1395 + 1389, + 1390 ], - "referencedDeclaration": 1395, - "src": "19092:7:0", + "referencedDeclaration": 1390, + "src": "18927:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 1106, + "id": 1101, "isConstant": false, "isLValue": false, "isPure": false, @@ -31998,15 +31862,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "19092:140:0", + "src": "18927:140:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1107, + "id": 1102, "nodeType": "ExpressionStatement", - "src": "19092:140:0" + "src": "18927:140:0" }, { "expression": { @@ -32018,7 +31882,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 1117, + "id": 1112, "isConstant": false, "isLValue": false, "isPure": false, @@ -32029,19 +31893,19 @@ "typeIdentifier": "t_uint8", "typeString": "uint8" }, - "id": 1111, + "id": 1106, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1109, + "id": 1104, "name": "threshold", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1068, - "src": "19501:9:0", + "referencedDeclaration": 1063, + "src": "19336:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -32052,14 +31916,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "31", - "id": 1110, + "id": 1105, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "19514:1:0", + "src": "19349:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -32067,7 +31931,7 @@ }, "value": "1" }, - "src": "19501:14:0", + "src": "19336:14:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -32081,19 +31945,19 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 1116, + "id": 1111, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1112, + "id": 1107, "name": "moderator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1066, - "src": "19519:9:0", + "referencedDeclaration": 1061, + "src": "19354:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -32107,14 +31971,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 1114, + "id": 1109, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "19540:1:0", + "src": "19375:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -32130,20 +31994,20 @@ "typeString": "int_const 0" } ], - "id": 1113, + "id": 1108, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "19532:7:0", + "src": "19367:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, - "id": 1115, + "id": 1110, "isConstant": false, "isLValue": false, "isPure": true, @@ -32151,19 +32015,19 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "19532:10:0", + "src": "19367:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "19519:23:0", + "src": "19354:23:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "19501:41:0", + "src": "19336:41:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -32172,14 +32036,14 @@ { "argumentTypes": null, "hexValue": "456974686572207468726573686f6c642073686f756c642062652031206f74686572776973652076616c6964206d6f64657261746f7220616464726573732073686f756c6420626520706173736564", - "id": 1118, + "id": 1113, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "19556:81:0", + "src": "19391:81:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_08dfdd405be5d5023d3f601e2b0a844b246ceb6764817070ff6789d5e1f80050", @@ -32199,21 +32063,21 @@ "typeString": "literal_string \"Either threshold should be 1 otherwise valid moderator address should be passed\"" } ], - "id": 1108, + "id": 1103, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1394, - 1395 + 1389, + 1390 ], - "referencedDeclaration": 1395, - "src": "19480:7:0", + "referencedDeclaration": 1390, + "src": "19315:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 1119, + "id": 1114, "isConstant": false, "isLValue": false, "isPure": false, @@ -32221,15 +32085,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "19480:167:0", + "src": "19315:167:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1120, + "id": 1115, "nodeType": "ExpressionStatement", - "src": "19480:167:0" + "src": "19315:167:0" }, { "expression": { @@ -32241,19 +32105,19 @@ "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, - "id": 1132, + "id": 1127, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1122, + "id": 1117, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1072, - "src": "19679:10:0", + "referencedDeclaration": 1067, + "src": "19514:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -32266,12 +32130,12 @@ "arguments": [ { "argumentTypes": null, - "id": 1124, + "id": 1119, "name": "uniqueId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1076, - "src": "19736:8:0", + "referencedDeclaration": 1071, + "src": "19571:8:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -32279,12 +32143,12 @@ }, { "argumentTypes": null, - "id": 1125, + "id": 1120, "name": "threshold", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1068, - "src": "19762:9:0", + "referencedDeclaration": 1063, + "src": "19597:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -32292,12 +32156,12 @@ }, { "argumentTypes": null, - "id": 1126, + "id": 1121, "name": "timeoutHours", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1070, - "src": "19789:12:0", + "referencedDeclaration": 1065, + "src": "19624:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -32305,12 +32169,12 @@ }, { "argumentTypes": null, - "id": 1127, + "id": 1122, "name": "buyer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1062, - "src": "19819:5:0", + "referencedDeclaration": 1057, + "src": "19654:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -32318,12 +32182,12 @@ }, { "argumentTypes": null, - "id": 1128, + "id": 1123, "name": "seller", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1064, - "src": "19842:6:0", + "referencedDeclaration": 1059, + "src": "19677:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -32331,12 +32195,12 @@ }, { "argumentTypes": null, - "id": 1129, + "id": 1124, "name": "moderator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1066, - "src": "19866:9:0", + "referencedDeclaration": 1061, + "src": "19701:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -32344,12 +32208,12 @@ }, { "argumentTypes": null, - "id": 1130, + "id": 1125, "name": "tokenAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1080, - "src": "19893:12:0", + "referencedDeclaration": 1075, + "src": "19728:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -32387,18 +32251,18 @@ "typeString": "address" } ], - "id": 1123, + "id": 1118, "name": "calculateRedeemScriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 647, - "src": "19693:25:0", + "src": "19528:25:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_bytes20_$_t_uint8_$_t_uint32_$_t_address_$_t_address_$_t_address_$_t_address_$returns$_t_bytes32_$", "typeString": "function (bytes20,uint8,uint32,address,address,address,address) view returns (bytes32)" } }, - "id": 1131, + "id": 1126, "isConstant": false, "isLValue": false, "isPure": false, @@ -32406,13 +32270,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "19693:226:0", + "src": "19528:226:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "src": "19679:240:0", + "src": "19514:240:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -32421,14 +32285,14 @@ { "argumentTypes": null, "hexValue": "43616c63756c6174656420736372697074206861736820646f6573206e6f74206d61746368207061737365642073637269707420686173682e", - "id": 1133, + "id": 1128, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "19934:59:0", + "src": "19769:59:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_0c041e0c58e6b0e01d338d852a5abb639065eabeb0aee05e0ce3e5f0e52b4f51", @@ -32448,21 +32312,21 @@ "typeString": "literal_string \"Calculated script hash does not match passed script hash.\"" } ], - "id": 1121, + "id": 1116, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1394, - 1395 + 1389, + 1390 ], - "referencedDeclaration": 1395, - "src": "19658:7:0", + "referencedDeclaration": 1390, + "src": "19493:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 1134, + "id": 1129, "isConstant": false, "isLValue": false, "isPure": false, @@ -32470,20 +32334,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "19658:345:0", + "src": "19493:345:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1135, + "id": 1130, "nodeType": "ExpressionStatement", - "src": "19658:345:0" + "src": "19493:345:0" }, { "expression": { "argumentTypes": null, - "id": 1154, + "id": 1149, "isConstant": false, "isLValue": false, "isPure": false, @@ -32492,26 +32356,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1136, + "id": 1131, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 77, - "src": "20014:12:0", + "src": "19849:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$73_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 1138, + "id": 1133, "indexExpression": { "argumentTypes": null, - "id": 1137, + "id": 1132, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1072, - "src": "20027:10:0", + "referencedDeclaration": 1067, + "src": "19862:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -32522,7 +32386,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "20014:24:0", + "src": "19849:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$73_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -32535,12 +32399,12 @@ "arguments": [ { "argumentTypes": null, - "id": 1140, + "id": 1135, "name": "buyer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1062, - "src": "20074:5:0", + "referencedDeclaration": 1057, + "src": "19909:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -32548,12 +32412,12 @@ }, { "argumentTypes": null, - "id": 1141, + "id": 1136, "name": "seller", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1064, - "src": "20101:6:0", + "referencedDeclaration": 1059, + "src": "19936:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -32561,12 +32425,12 @@ }, { "argumentTypes": null, - "id": 1142, + "id": 1137, "name": "moderator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1066, - "src": "20132:9:0", + "referencedDeclaration": 1061, + "src": "19967:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -32574,12 +32438,12 @@ }, { "argumentTypes": null, - "id": 1143, + "id": 1138, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1074, - "src": "20162:5:0", + "referencedDeclaration": 1069, + "src": "19997:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -32589,18 +32453,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1144, + "id": 1139, "name": "Status", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9, - "src": "20189:6:0", + "src": "20024:6:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_Status_$9_$", "typeString": "type(enum Escrow_v1_0.Status)" } }, - "id": 1145, + "id": 1140, "isConstant": false, "isLValue": false, "isPure": true, @@ -32608,7 +32472,7 @@ "memberName": "FUNDED", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "20189:13:0", + "src": "20024:13:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$9", "typeString": "enum Escrow_v1_0.Status" @@ -32618,18 +32482,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1146, + "id": 1141, "name": "block", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1381, - "src": "20230:5:0", + "referencedDeclaration": 1376, + "src": "20065:5:0", "typeDescriptions": { "typeIdentifier": "t_magic_block", "typeString": "block" } }, - "id": 1147, + "id": 1142, "isConstant": false, "isLValue": false, "isPure": false, @@ -32637,7 +32501,7 @@ "memberName": "timestamp", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "20230:15:0", + "src": "20065:15:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -32645,12 +32509,12 @@ }, { "argumentTypes": null, - "id": 1148, + "id": 1143, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1072, - "src": "20271:10:0", + "referencedDeclaration": 1067, + "src": "20106:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -32658,12 +32522,12 @@ }, { "argumentTypes": null, - "id": 1149, + "id": 1144, "name": "threshold", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1068, - "src": "20306:9:0", + "referencedDeclaration": 1063, + "src": "20141:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -32671,12 +32535,12 @@ }, { "argumentTypes": null, - "id": 1150, + "id": 1145, "name": "timeoutHours", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1070, - "src": "20343:12:0", + "referencedDeclaration": 1065, + "src": "20178:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -32684,12 +32548,12 @@ }, { "argumentTypes": null, - "id": 1151, + "id": 1146, "name": "transactionType", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1078, - "src": "20385:15:0", + "referencedDeclaration": 1073, + "src": "20220:15:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -32697,12 +32561,12 @@ }, { "argumentTypes": null, - "id": 1152, + "id": 1147, "name": "tokenAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1080, - "src": "20427:12:0", + "referencedDeclaration": 1075, + "src": "20262:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -32711,18 +32575,18 @@ ], "expression": { "argumentTypes": null, - "id": 1139, + "id": 1134, "name": "Transaction", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 73, - "src": "20041:11:0", + "src": "19876:11:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_struct$_Transaction_$73_storage_ptr_$", "typeString": "type(struct Escrow_v1_0.Transaction storage pointer)" } }, - "id": 1153, + "id": 1148, "isConstant": false, "isLValue": false, "isPure": false, @@ -32742,26 +32606,26 @@ "tokenAddress" ], "nodeType": "FunctionCall", - "src": "20041:409:0", + "src": "19876:409:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$73_memory", "typeString": "struct Escrow_v1_0.Transaction memory" } }, - "src": "20014:436:0", + "src": "19849:436:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$73_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 1155, + "id": 1150, "nodeType": "ExpressionStatement", - "src": "20014:436:0" + "src": "19849:436:0" }, { "expression": { "argumentTypes": null, - "id": 1163, + "id": 1158, "isConstant": false, "isLValue": false, "isPure": false, @@ -32774,26 +32638,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1156, + "id": 1151, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 77, - "src": "20461:12:0", + "src": "20296:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$73_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 1158, + "id": 1153, "indexExpression": { "argumentTypes": null, - "id": 1157, + "id": 1152, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1072, - "src": "20474:10:0", + "referencedDeclaration": 1067, + "src": "20309:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -32804,13 +32668,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20461:24:0", + "src": "20296:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$73_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 1159, + "id": 1154, "isConstant": false, "isLValue": true, "isPure": false, @@ -32818,21 +32682,21 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 64, - "src": "20461:32:0", + "src": "20296:32:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 1161, + "id": 1156, "indexExpression": { "argumentTypes": null, - "id": 1160, + "id": 1155, "name": "seller", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1064, - "src": "20494:6:0", + "referencedDeclaration": 1059, + "src": "20329:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -32843,7 +32707,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "20461:40:0", + "src": "20296:40:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -32854,14 +32718,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "74727565", - "id": 1162, + "id": 1157, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "20504:4:0", + "src": "20339:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -32869,20 +32733,20 @@ }, "value": "true" }, - "src": "20461:47:0", + "src": "20296:47:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 1164, + "id": 1159, "nodeType": "ExpressionStatement", - "src": "20461:47:0" + "src": "20296:47:0" }, { "expression": { "argumentTypes": null, - "id": 1172, + "id": 1167, "isConstant": false, "isLValue": false, "isPure": false, @@ -32895,26 +32759,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1165, + "id": 1160, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 77, - "src": "20518:12:0", + "src": "20353:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$73_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 1167, + "id": 1162, "indexExpression": { "argumentTypes": null, - "id": 1166, + "id": 1161, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1072, - "src": "20531:10:0", + "referencedDeclaration": 1067, + "src": "20366:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -32925,13 +32789,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20518:24:0", + "src": "20353:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$73_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 1168, + "id": 1163, "isConstant": false, "isLValue": true, "isPure": false, @@ -32939,21 +32803,21 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 64, - "src": "20518:32:0", + "src": "20353:32:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 1170, + "id": 1165, "indexExpression": { "argumentTypes": null, - "id": 1169, + "id": 1164, "name": "buyer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1062, - "src": "20551:5:0", + "referencedDeclaration": 1057, + "src": "20386:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -32964,7 +32828,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "20518:39:0", + "src": "20353:39:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -32975,14 +32839,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "74727565", - "id": 1171, + "id": 1166, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "20560:4:0", + "src": "20395:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -32990,15 +32854,15 @@ }, "value": "true" }, - "src": "20518:46:0", + "src": "20353:46:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 1173, + "id": 1168, "nodeType": "ExpressionStatement", - "src": "20518:46:0" + "src": "20353:46:0" }, { "expression": { @@ -33006,7 +32870,7 @@ "arguments": [ { "argumentTypes": null, - "id": 1181, + "id": 1176, "isConstant": false, "isLValue": false, "isPure": false, @@ -33014,7 +32878,7 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "20671:44:0", + "src": "20506:44:0", "subExpression": { "argumentTypes": null, "baseExpression": { @@ -33023,26 +32887,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1175, + "id": 1170, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 77, - "src": "20672:12:0", + "src": "20507:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$73_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 1177, + "id": 1172, "indexExpression": { "argumentTypes": null, - "id": 1176, + "id": 1171, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1072, - "src": "20685:10:0", + "referencedDeclaration": 1067, + "src": "20520:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -33053,13 +32917,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20672:24:0", + "src": "20507:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$73_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 1178, + "id": 1173, "isConstant": false, "isLValue": true, "isPure": false, @@ -33067,21 +32931,21 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 64, - "src": "20672:32:0", + "src": "20507:32:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 1180, + "id": 1175, "indexExpression": { "argumentTypes": null, - "id": 1179, + "id": 1174, "name": "moderator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1066, - "src": "20705:9:0", + "referencedDeclaration": 1061, + "src": "20540:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -33092,7 +32956,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20672:43:0", + "src": "20507:43:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -33106,14 +32970,14 @@ { "argumentTypes": null, "hexValue": "456974686572206275796572206f722073656c6c657220697320706173736564206173206d6f64657261746f72", - "id": 1182, + "id": 1177, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "20730:47:0", + "src": "20565:47:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_313b391557427937e7bdb85c7561d47c5b9c985755a448dd33a92026ffb38f8d", @@ -33133,21 +32997,21 @@ "typeString": "literal_string \"Either buyer or seller is passed as moderator\"" } ], - "id": 1174, + "id": 1169, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1394, - 1395 + 1389, + 1390 ], - "referencedDeclaration": 1395, - "src": "20650:7:0", + "referencedDeclaration": 1390, + "src": "20485:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 1183, + "id": 1178, "isConstant": false, "isLValue": false, "isPure": false, @@ -33155,15 +33019,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "20650:137:0", + "src": "20485:137:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1184, + "id": 1179, "nodeType": "ExpressionStatement", - "src": "20650:137:0" + "src": "20485:137:0" }, { "condition": { @@ -33172,19 +33036,19 @@ "typeIdentifier": "t_uint8", "typeString": "uint8" }, - "id": 1187, + "id": 1182, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1185, + "id": 1180, "name": "threshold", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1068, - "src": "20947:9:0", + "referencedDeclaration": 1063, + "src": "20782:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -33195,14 +33059,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "31", - "id": 1186, + "id": 1181, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "20959:1:0", + "src": "20794:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -33210,25 +33074,25 @@ }, "value": "1" }, - "src": "20947:13:0", + "src": "20782:13:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, - "id": 1198, + "id": 1193, "nodeType": "IfStatement", - "src": "20943:93:0", + "src": "20778:93:0", "trueBody": { - "id": 1197, + "id": 1192, "nodeType": "Block", - "src": "20961:75:0", + "src": "20796:75:0", "statements": [ { "expression": { "argumentTypes": null, - "id": 1195, + "id": 1190, "isConstant": false, "isLValue": false, "isPure": false, @@ -33241,26 +33105,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1188, + "id": 1183, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 77, - "src": "20975:12:0", + "src": "20810:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$73_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 1190, + "id": 1185, "indexExpression": { "argumentTypes": null, - "id": 1189, + "id": 1184, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1072, - "src": "20988:10:0", + "referencedDeclaration": 1067, + "src": "20823:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -33271,13 +33135,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20975:24:0", + "src": "20810:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$73_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 1191, + "id": 1186, "isConstant": false, "isLValue": true, "isPure": false, @@ -33285,21 +33149,21 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 64, - "src": "20975:32:0", + "src": "20810:32:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 1193, + "id": 1188, "indexExpression": { "argumentTypes": null, - "id": 1192, + "id": 1187, "name": "moderator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1066, - "src": "21008:9:0", + "referencedDeclaration": 1061, + "src": "20843:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -33310,7 +33174,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "20975:43:0", + "src": "20810:43:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -33321,14 +33185,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "74727565", - "id": 1194, + "id": 1189, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "21021:4:0", + "src": "20856:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -33336,15 +33200,15 @@ }, "value": "true" }, - "src": "20975:50:0", + "src": "20810:50:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 1196, + "id": 1191, "nodeType": "ExpressionStatement", - "src": "20975:50:0" + "src": "20810:50:0" } ] } @@ -33352,7 +33216,7 @@ { "expression": { "argumentTypes": null, - "id": 1200, + "id": 1195, "isConstant": false, "isLValue": false, "isPure": false, @@ -33360,15 +33224,15 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "21054:18:0", + "src": "20889:18:0", "subExpression": { "argumentTypes": null, - "id": 1199, + "id": 1194, "name": "transactionCount", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 80, - "src": "21054:16:0", + "src": "20889:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -33379,9 +33243,9 @@ "typeString": "uint256" } }, - "id": 1201, + "id": 1196, "nodeType": "ExpressionStatement", - "src": "21054:18:0" + "src": "20889:18:0" }, { "expression": { @@ -33389,12 +33253,12 @@ "arguments": [ { "argumentTypes": null, - "id": 1206, + "id": 1201, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1072, - "src": "21114:10:0", + "referencedDeclaration": 1067, + "src": "20949:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -33412,26 +33276,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1202, + "id": 1197, "name": "partyVsTransaction", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 85, - "src": "21083:18:0", + "src": "20918:18:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_bytes32_$dyn_storage_$", "typeString": "mapping(address => bytes32[] storage ref)" } }, - "id": 1204, + "id": 1199, "indexExpression": { "argumentTypes": null, - "id": 1203, + "id": 1198, "name": "buyer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1062, - "src": "21102:5:0", + "referencedDeclaration": 1057, + "src": "20937:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -33442,13 +33306,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "21083:25:0", + "src": "20918:25:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage", "typeString": "bytes32[] storage ref" } }, - "id": 1205, + "id": 1200, "isConstant": false, "isLValue": false, "isPure": false, @@ -33456,13 +33320,13 @@ "memberName": "push", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "21083:30:0", + "src": "20918:30:0", "typeDescriptions": { "typeIdentifier": "t_function_arraypush_nonpayable$_t_bytes32_$returns$_t_uint256_$", "typeString": "function (bytes32) returns (uint256)" } }, - "id": 1207, + "id": 1202, "isConstant": false, "isLValue": false, "isPure": false, @@ -33470,15 +33334,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "21083:42:0", + "src": "20918:42:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1208, + "id": 1203, "nodeType": "ExpressionStatement", - "src": "21083:42:0" + "src": "20918:42:0" }, { "expression": { @@ -33486,12 +33350,12 @@ "arguments": [ { "argumentTypes": null, - "id": 1213, + "id": 1208, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1072, - "src": "21167:10:0", + "referencedDeclaration": 1067, + "src": "21002:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -33509,26 +33373,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1209, + "id": 1204, "name": "partyVsTransaction", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 85, - "src": "21135:18:0", + "src": "20970:18:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_bytes32_$dyn_storage_$", "typeString": "mapping(address => bytes32[] storage ref)" } }, - "id": 1211, + "id": 1206, "indexExpression": { "argumentTypes": null, - "id": 1210, + "id": 1205, "name": "seller", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1064, - "src": "21154:6:0", + "referencedDeclaration": 1059, + "src": "20989:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -33539,13 +33403,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "21135:26:0", + "src": "20970:26:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage", "typeString": "bytes32[] storage ref" } }, - "id": 1212, + "id": 1207, "isConstant": false, "isLValue": false, "isPure": false, @@ -33553,13 +33417,13 @@ "memberName": "push", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "21135:31:0", + "src": "20970:31:0", "typeDescriptions": { "typeIdentifier": "t_function_arraypush_nonpayable$_t_bytes32_$returns$_t_uint256_$", "typeString": "function (bytes32) returns (uint256)" } }, - "id": 1214, + "id": 1209, "isConstant": false, "isLValue": false, "isPure": false, @@ -33567,20 +33431,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "21135:43:0", + "src": "20970:43:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1215, + "id": 1210, "nodeType": "ExpressionStatement", - "src": "21135:43:0" + "src": "20970:43:0" } ] }, "documentation": "Private method to add transaction to reduce code redundancy", - "id": 1217, + "id": 1212, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -33588,16 +33452,16 @@ "name": "_addTransaction", "nodeType": "FunctionDefinition", "parameters": { - "id": 1081, + "id": 1076, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1062, + "id": 1057, "name": "buyer", "nodeType": "VariableDeclaration", - "scope": 1217, - "src": "18548:13:0", + "scope": 1212, + "src": "18383:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -33605,10 +33469,10 @@ "typeString": "address" }, "typeName": { - "id": 1061, + "id": 1056, "name": "address", "nodeType": "ElementaryTypeName", - "src": "18548:7:0", + "src": "18383:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -33619,11 +33483,11 @@ }, { "constant": false, - "id": 1064, + "id": 1059, "name": "seller", "nodeType": "VariableDeclaration", - "scope": 1217, - "src": "18571:14:0", + "scope": 1212, + "src": "18406:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -33631,10 +33495,10 @@ "typeString": "address" }, "typeName": { - "id": 1063, + "id": 1058, "name": "address", "nodeType": "ElementaryTypeName", - "src": "18571:7:0", + "src": "18406:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -33645,11 +33509,11 @@ }, { "constant": false, - "id": 1066, + "id": 1061, "name": "moderator", "nodeType": "VariableDeclaration", - "scope": 1217, - "src": "18595:17:0", + "scope": 1212, + "src": "18430:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -33657,10 +33521,10 @@ "typeString": "address" }, "typeName": { - "id": 1065, + "id": 1060, "name": "address", "nodeType": "ElementaryTypeName", - "src": "18595:7:0", + "src": "18430:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -33671,11 +33535,11 @@ }, { "constant": false, - "id": 1068, + "id": 1063, "name": "threshold", "nodeType": "VariableDeclaration", - "scope": 1217, - "src": "18622:15:0", + "scope": 1212, + "src": "18457:15:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -33683,10 +33547,10 @@ "typeString": "uint8" }, "typeName": { - "id": 1067, + "id": 1062, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "18622:5:0", + "src": "18457:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -33697,11 +33561,11 @@ }, { "constant": false, - "id": 1070, + "id": 1065, "name": "timeoutHours", "nodeType": "VariableDeclaration", - "scope": 1217, - "src": "18647:19:0", + "scope": 1212, + "src": "18482:19:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -33709,10 +33573,10 @@ "typeString": "uint32" }, "typeName": { - "id": 1069, + "id": 1064, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "18647:6:0", + "src": "18482:6:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -33723,11 +33587,11 @@ }, { "constant": false, - "id": 1072, + "id": 1067, "name": "scriptHash", "nodeType": "VariableDeclaration", - "scope": 1217, - "src": "18676:18:0", + "scope": 1212, + "src": "18511:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -33735,10 +33599,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 1071, + "id": 1066, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "18676:7:0", + "src": "18511:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -33749,11 +33613,11 @@ }, { "constant": false, - "id": 1074, + "id": 1069, "name": "value", "nodeType": "VariableDeclaration", - "scope": 1217, - "src": "18704:13:0", + "scope": 1212, + "src": "18539:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -33761,10 +33625,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1073, + "id": 1068, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "18704:7:0", + "src": "18539:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -33775,11 +33639,11 @@ }, { "constant": false, - "id": 1076, + "id": 1071, "name": "uniqueId", "nodeType": "VariableDeclaration", - "scope": 1217, - "src": "18727:16:0", + "scope": 1212, + "src": "18562:16:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -33787,10 +33651,10 @@ "typeString": "bytes20" }, "typeName": { - "id": 1075, + "id": 1070, "name": "bytes20", "nodeType": "ElementaryTypeName", - "src": "18727:7:0", + "src": "18562:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -33801,11 +33665,11 @@ }, { "constant": false, - "id": 1078, + "id": 1073, "name": "transactionType", "nodeType": "VariableDeclaration", - "scope": 1217, - "src": "18753:31:0", + "scope": 1212, + "src": "18588:31:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -33814,11 +33678,11 @@ }, "typeName": { "contractScope": null, - "id": 1077, + "id": 1072, "name": "TransactionType", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 12, - "src": "18753:15:0", + "src": "18588:15:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -33829,11 +33693,11 @@ }, { "constant": false, - "id": 1080, + "id": 1075, "name": "tokenAddress", "nodeType": "VariableDeclaration", - "scope": 1217, - "src": "18794:20:0", + "scope": 1212, + "src": "18629:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -33841,10 +33705,10 @@ "typeString": "address" }, "typeName": { - "id": 1079, + "id": 1074, "name": "address", "nodeType": "ElementaryTypeName", - "src": "18794:7:0", + "src": "18629:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -33854,27 +33718,27 @@ "visibility": "internal" } ], - "src": "18538:282:0" + "src": "18373:282:0" }, "payable": false, "returnParameters": { - "id": 1082, + "id": 1077, "nodeType": "ParameterList", "parameters": [], - "src": "18841:0:0" + "src": "18676:0:0" }, - "scope": 1218, - "src": "18514:2671:0", + "scope": 1213, + "src": "18349:2671:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "private" } ], - "scope": 1219, - "src": "460:20727:0" + "scope": 1214, + "src": "460:20562:0" } ], - "src": "0:21188:0" + "src": "0:21023:0" }, "compiler": { "name": "solc", @@ -33882,5 +33746,5 @@ }, "networks": {}, "schemaVersion": "2.0.1", - "updatedAt": "2018-11-03T15:38:22.733Z" + "updatedAt": "2018-11-19T10:44:17.106Z" } \ No newline at end of file diff --git a/build/contracts/ITokenContract.json b/build/contracts/ITokenContract.json index 94b406d..f2dee4b 100644 --- a/build/contracts/ITokenContract.json +++ b/build/contracts/ITokenContract.json @@ -81,14 +81,14 @@ "absolutePath": "/home/sameep/freelancing-projects/toptal/open baazar/publicRepo/smart-contracts/contracts/token/ITokenContract.sol", "exportedSymbols": { "ITokenContract": [ - 1248 + 1243 ] }, - "id": 1249, + "id": 1244, "nodeType": "SourceUnit", "nodes": [ { - "id": 1220, + "id": 1215, "literals": [ "solidity", "0.4", @@ -103,9 +103,9 @@ "contractKind": "interface", "documentation": null, "fullyImplemented": false, - "id": 1248, + "id": 1243, "linearizedBaseContracts": [ - 1248 + 1243 ], "name": "ITokenContract", "nodeType": "ContractDefinition", @@ -113,7 +113,7 @@ { "body": null, "documentation": null, - "id": 1227, + "id": 1222, "implemented": false, "isConstructor": false, "isDeclaredConst": true, @@ -121,15 +121,15 @@ "name": "balanceOf", "nodeType": "FunctionDefinition", "parameters": { - "id": 1223, + "id": 1218, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1222, + "id": 1217, "name": "_owner", "nodeType": "VariableDeclaration", - "scope": 1227, + "scope": 1222, "src": "75:14:1", "stateVariable": false, "storageLocation": "default", @@ -138,7 +138,7 @@ "typeString": "address" }, "typeName": { - "id": 1221, + "id": 1216, "name": "address", "nodeType": "ElementaryTypeName", "src": "75:7:1", @@ -155,15 +155,15 @@ }, "payable": false, "returnParameters": { - "id": 1226, + "id": 1221, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1225, + "id": 1220, "name": "balance", "nodeType": "VariableDeclaration", - "scope": 1227, + "scope": 1222, "src": "114:15:1", "stateVariable": false, "storageLocation": "default", @@ -172,7 +172,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1224, + "id": 1219, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "114:7:1", @@ -187,7 +187,7 @@ ], "src": "113:17:1" }, - "scope": 1248, + "scope": 1243, "src": "56:75:1", "stateMutability": "view", "superFunction": null, @@ -196,7 +196,7 @@ { "body": null, "documentation": null, - "id": 1236, + "id": 1231, "implemented": false, "isConstructor": false, "isDeclaredConst": false, @@ -204,15 +204,15 @@ "name": "transfer", "nodeType": "FunctionDefinition", "parameters": { - "id": 1232, + "id": 1227, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1229, + "id": 1224, "name": "_to", "nodeType": "VariableDeclaration", - "scope": 1236, + "scope": 1231, "src": "166:11:1", "stateVariable": false, "storageLocation": "default", @@ -221,7 +221,7 @@ "typeString": "address" }, "typeName": { - "id": 1228, + "id": 1223, "name": "address", "nodeType": "ElementaryTypeName", "src": "166:7:1", @@ -235,10 +235,10 @@ }, { "constant": false, - "id": 1231, + "id": 1226, "name": "_amount", "nodeType": "VariableDeclaration", - "scope": 1236, + "scope": 1231, "src": "188:15:1", "stateVariable": false, "storageLocation": "default", @@ -247,7 +247,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1230, + "id": 1225, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "188:7:1", @@ -264,15 +264,15 @@ }, "payable": false, "returnParameters": { - "id": 1235, + "id": 1230, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1234, + "id": 1229, "name": "success", "nodeType": "VariableDeclaration", - "scope": 1236, + "scope": 1231, "src": "245:12:1", "stateVariable": false, "storageLocation": "default", @@ -281,7 +281,7 @@ "typeString": "bool" }, "typeName": { - "id": 1233, + "id": 1228, "name": "bool", "nodeType": "ElementaryTypeName", "src": "245:4:1", @@ -296,7 +296,7 @@ ], "src": "244:14:1" }, - "scope": 1248, + "scope": 1243, "src": "139:120:1", "stateMutability": "nonpayable", "superFunction": null, @@ -305,7 +305,7 @@ { "body": null, "documentation": null, - "id": 1247, + "id": 1242, "implemented": false, "isConstructor": false, "isDeclaredConst": false, @@ -313,15 +313,15 @@ "name": "transferFrom", "nodeType": "FunctionDefinition", "parameters": { - "id": 1243, + "id": 1238, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1238, + "id": 1233, "name": "_from", "nodeType": "VariableDeclaration", - "scope": 1247, + "scope": 1242, "src": "296:13:1", "stateVariable": false, "storageLocation": "default", @@ -330,7 +330,7 @@ "typeString": "address" }, "typeName": { - "id": 1237, + "id": 1232, "name": "address", "nodeType": "ElementaryTypeName", "src": "296:7:1", @@ -344,10 +344,10 @@ }, { "constant": false, - "id": 1240, + "id": 1235, "name": "_to", "nodeType": "VariableDeclaration", - "scope": 1247, + "scope": 1242, "src": "320:11:1", "stateVariable": false, "storageLocation": "default", @@ -356,7 +356,7 @@ "typeString": "address" }, "typeName": { - "id": 1239, + "id": 1234, "name": "address", "nodeType": "ElementaryTypeName", "src": "320:7:1", @@ -370,10 +370,10 @@ }, { "constant": false, - "id": 1242, + "id": 1237, "name": "_amount", "nodeType": "VariableDeclaration", - "scope": 1247, + "scope": 1242, "src": "342:15:1", "stateVariable": false, "storageLocation": "default", @@ -382,7 +382,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1241, + "id": 1236, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "342:7:1", @@ -399,15 +399,15 @@ }, "payable": false, "returnParameters": { - "id": 1246, + "id": 1241, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1245, + "id": 1240, "name": "success", "nodeType": "VariableDeclaration", - "scope": 1247, + "scope": 1242, "src": "400:12:1", "stateVariable": false, "storageLocation": "default", @@ -416,7 +416,7 @@ "typeString": "bool" }, "typeName": { - "id": 1244, + "id": 1239, "name": "bool", "nodeType": "ElementaryTypeName", "src": "400:4:1", @@ -431,14 +431,14 @@ ], "src": "399:14:1" }, - "scope": 1248, + "scope": 1243, "src": "265:149:1", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" } ], - "scope": 1249, + "scope": 1244, "src": "25:391:1" } ], @@ -448,14 +448,14 @@ "absolutePath": "/home/sameep/freelancing-projects/toptal/open baazar/publicRepo/smart-contracts/contracts/token/ITokenContract.sol", "exportedSymbols": { "ITokenContract": [ - 1248 + 1243 ] }, - "id": 1249, + "id": 1244, "nodeType": "SourceUnit", "nodes": [ { - "id": 1220, + "id": 1215, "literals": [ "solidity", "0.4", @@ -470,9 +470,9 @@ "contractKind": "interface", "documentation": null, "fullyImplemented": false, - "id": 1248, + "id": 1243, "linearizedBaseContracts": [ - 1248 + 1243 ], "name": "ITokenContract", "nodeType": "ContractDefinition", @@ -480,7 +480,7 @@ { "body": null, "documentation": null, - "id": 1227, + "id": 1222, "implemented": false, "isConstructor": false, "isDeclaredConst": true, @@ -488,15 +488,15 @@ "name": "balanceOf", "nodeType": "FunctionDefinition", "parameters": { - "id": 1223, + "id": 1218, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1222, + "id": 1217, "name": "_owner", "nodeType": "VariableDeclaration", - "scope": 1227, + "scope": 1222, "src": "75:14:1", "stateVariable": false, "storageLocation": "default", @@ -505,7 +505,7 @@ "typeString": "address" }, "typeName": { - "id": 1221, + "id": 1216, "name": "address", "nodeType": "ElementaryTypeName", "src": "75:7:1", @@ -522,15 +522,15 @@ }, "payable": false, "returnParameters": { - "id": 1226, + "id": 1221, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1225, + "id": 1220, "name": "balance", "nodeType": "VariableDeclaration", - "scope": 1227, + "scope": 1222, "src": "114:15:1", "stateVariable": false, "storageLocation": "default", @@ -539,7 +539,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1224, + "id": 1219, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "114:7:1", @@ -554,7 +554,7 @@ ], "src": "113:17:1" }, - "scope": 1248, + "scope": 1243, "src": "56:75:1", "stateMutability": "view", "superFunction": null, @@ -563,7 +563,7 @@ { "body": null, "documentation": null, - "id": 1236, + "id": 1231, "implemented": false, "isConstructor": false, "isDeclaredConst": false, @@ -571,15 +571,15 @@ "name": "transfer", "nodeType": "FunctionDefinition", "parameters": { - "id": 1232, + "id": 1227, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1229, + "id": 1224, "name": "_to", "nodeType": "VariableDeclaration", - "scope": 1236, + "scope": 1231, "src": "166:11:1", "stateVariable": false, "storageLocation": "default", @@ -588,7 +588,7 @@ "typeString": "address" }, "typeName": { - "id": 1228, + "id": 1223, "name": "address", "nodeType": "ElementaryTypeName", "src": "166:7:1", @@ -602,10 +602,10 @@ }, { "constant": false, - "id": 1231, + "id": 1226, "name": "_amount", "nodeType": "VariableDeclaration", - "scope": 1236, + "scope": 1231, "src": "188:15:1", "stateVariable": false, "storageLocation": "default", @@ -614,7 +614,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1230, + "id": 1225, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "188:7:1", @@ -631,15 +631,15 @@ }, "payable": false, "returnParameters": { - "id": 1235, + "id": 1230, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1234, + "id": 1229, "name": "success", "nodeType": "VariableDeclaration", - "scope": 1236, + "scope": 1231, "src": "245:12:1", "stateVariable": false, "storageLocation": "default", @@ -648,7 +648,7 @@ "typeString": "bool" }, "typeName": { - "id": 1233, + "id": 1228, "name": "bool", "nodeType": "ElementaryTypeName", "src": "245:4:1", @@ -663,7 +663,7 @@ ], "src": "244:14:1" }, - "scope": 1248, + "scope": 1243, "src": "139:120:1", "stateMutability": "nonpayable", "superFunction": null, @@ -672,7 +672,7 @@ { "body": null, "documentation": null, - "id": 1247, + "id": 1242, "implemented": false, "isConstructor": false, "isDeclaredConst": false, @@ -680,15 +680,15 @@ "name": "transferFrom", "nodeType": "FunctionDefinition", "parameters": { - "id": 1243, + "id": 1238, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1238, + "id": 1233, "name": "_from", "nodeType": "VariableDeclaration", - "scope": 1247, + "scope": 1242, "src": "296:13:1", "stateVariable": false, "storageLocation": "default", @@ -697,7 +697,7 @@ "typeString": "address" }, "typeName": { - "id": 1237, + "id": 1232, "name": "address", "nodeType": "ElementaryTypeName", "src": "296:7:1", @@ -711,10 +711,10 @@ }, { "constant": false, - "id": 1240, + "id": 1235, "name": "_to", "nodeType": "VariableDeclaration", - "scope": 1247, + "scope": 1242, "src": "320:11:1", "stateVariable": false, "storageLocation": "default", @@ -723,7 +723,7 @@ "typeString": "address" }, "typeName": { - "id": 1239, + "id": 1234, "name": "address", "nodeType": "ElementaryTypeName", "src": "320:7:1", @@ -737,10 +737,10 @@ }, { "constant": false, - "id": 1242, + "id": 1237, "name": "_amount", "nodeType": "VariableDeclaration", - "scope": 1247, + "scope": 1242, "src": "342:15:1", "stateVariable": false, "storageLocation": "default", @@ -749,7 +749,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1241, + "id": 1236, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "342:7:1", @@ -766,15 +766,15 @@ }, "payable": false, "returnParameters": { - "id": 1246, + "id": 1241, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1245, + "id": 1240, "name": "success", "nodeType": "VariableDeclaration", - "scope": 1247, + "scope": 1242, "src": "400:12:1", "stateVariable": false, "storageLocation": "default", @@ -783,7 +783,7 @@ "typeString": "bool" }, "typeName": { - "id": 1244, + "id": 1239, "name": "bool", "nodeType": "ElementaryTypeName", "src": "400:4:1", @@ -798,14 +798,14 @@ ], "src": "399:14:1" }, - "scope": 1248, + "scope": 1243, "src": "265:149:1", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" } ], - "scope": 1249, + "scope": 1244, "src": "25:391:1" } ], @@ -817,5 +817,5 @@ }, "networks": {}, "schemaVersion": "2.0.1", - "updatedAt": "2018-11-03T15:38:22.712Z" + "updatedAt": "2018-11-19T10:44:17.097Z" } \ No newline at end of file diff --git a/build/contracts/SafeMath.json b/build/contracts/SafeMath.json index 8eca98e..781d337 100644 --- a/build/contracts/SafeMath.json +++ b/build/contracts/SafeMath.json @@ -11,14 +11,14 @@ "absolutePath": "openzeppelin-solidity/contracts/math/SafeMath.sol", "exportedSymbols": { "SafeMath": [ - 1376 + 1371 ] }, - "id": 1377, + "id": 1372, "nodeType": "SourceUnit", "nodes": [ { - "id": 1250, + "id": 1245, "literals": [ "solidity", "^", @@ -34,16 +34,16 @@ "contractKind": "library", "documentation": "@title SafeMath\n@dev Math operations with safety checks that revert on error", "fullyImplemented": true, - "id": 1376, + "id": 1371, "linearizedBaseContracts": [ - 1376 + 1371 ], "name": "SafeMath", "nodeType": "ContractDefinition", "nodes": [ { "body": { - "id": 1282, + "id": 1277, "nodeType": "Block", "src": "271:314:2", "statements": [ @@ -54,18 +54,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1261, + "id": 1256, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1259, + "id": 1254, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1252, + "referencedDeclaration": 1247, "src": "486:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -77,7 +77,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 1260, + "id": 1255, "isConstant": false, "isLValue": false, "isPure": true, @@ -99,11 +99,11 @@ } }, "falseBody": null, - "id": 1265, + "id": 1260, "nodeType": "IfStatement", "src": "482:35:2", "trueBody": { - "id": 1264, + "id": 1259, "nodeType": "Block", "src": "494:23:2", "statements": [ @@ -111,7 +111,7 @@ "expression": { "argumentTypes": null, "hexValue": "30", - "id": 1262, + "id": 1257, "isConstant": false, "isLValue": false, "isPure": true, @@ -126,8 +126,8 @@ }, "value": "0" }, - "functionReturnParameters": 1258, - "id": 1263, + "functionReturnParameters": 1253, + "id": 1258, "nodeType": "Return", "src": "502:8:2" } @@ -136,15 +136,15 @@ }, { "assignments": [ - 1267 + 1262 ], "declarations": [ { "constant": false, - "id": 1267, + "id": 1262, "name": "c", "nodeType": "VariableDeclaration", - "scope": 1283, + "scope": 1278, "src": "523:9:2", "stateVariable": false, "storageLocation": "default", @@ -153,7 +153,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1266, + "id": 1261, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "523:7:2", @@ -166,25 +166,25 @@ "visibility": "internal" } ], - "id": 1271, + "id": 1266, "initialValue": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1270, + "id": 1265, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1268, + "id": 1263, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1252, + "referencedDeclaration": 1247, "src": "535:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -195,11 +195,11 @@ "operator": "*", "rightExpression": { "argumentTypes": null, - "id": 1269, + "id": 1264, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1254, + "referencedDeclaration": 1249, "src": "539:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -225,7 +225,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1277, + "id": 1272, "isConstant": false, "isLValue": false, "isPure": false, @@ -236,18 +236,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1275, + "id": 1270, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1273, + "id": 1268, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1267, + "referencedDeclaration": 1262, "src": "554:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -258,11 +258,11 @@ "operator": "/", "rightExpression": { "argumentTypes": null, - "id": 1274, + "id": 1269, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1252, + "referencedDeclaration": 1247, "src": "558:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -279,11 +279,11 @@ "operator": "==", "rightExpression": { "argumentTypes": null, - "id": 1276, + "id": 1271, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1254, + "referencedDeclaration": 1249, "src": "563:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -304,21 +304,21 @@ "typeString": "bool" } ], - "id": 1272, + "id": 1267, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1394, - 1395 + 1389, + 1390 ], - "referencedDeclaration": 1394, + "referencedDeclaration": 1389, "src": "546:7:2", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 1278, + "id": 1273, "isConstant": false, "isLValue": false, "isPure": false, @@ -332,33 +332,33 @@ "typeString": "tuple()" } }, - "id": 1279, + "id": 1274, "nodeType": "ExpressionStatement", "src": "546:19:2" }, { "expression": { "argumentTypes": null, - "id": 1280, + "id": 1275, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1267, + "referencedDeclaration": 1262, "src": "579:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 1258, - "id": 1281, + "functionReturnParameters": 1253, + "id": 1276, "nodeType": "Return", "src": "572:8:2" } ] }, "documentation": "@dev Multiplies two numbers, reverts on overflow.", - "id": 1283, + "id": 1278, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -366,15 +366,15 @@ "name": "mul", "nodeType": "FunctionDefinition", "parameters": { - "id": 1255, + "id": 1250, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1252, + "id": 1247, "name": "a", "nodeType": "VariableDeclaration", - "scope": 1283, + "scope": 1278, "src": "217:9:2", "stateVariable": false, "storageLocation": "default", @@ -383,7 +383,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1251, + "id": 1246, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "217:7:2", @@ -397,10 +397,10 @@ }, { "constant": false, - "id": 1254, + "id": 1249, "name": "b", "nodeType": "VariableDeclaration", - "scope": 1283, + "scope": 1278, "src": "228:9:2", "stateVariable": false, "storageLocation": "default", @@ -409,7 +409,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1253, + "id": 1248, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "228:7:2", @@ -426,15 +426,15 @@ }, "payable": false, "returnParameters": { - "id": 1258, + "id": 1253, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1257, + "id": 1252, "name": "", "nodeType": "VariableDeclaration", - "scope": 1283, + "scope": 1278, "src": "262:7:2", "stateVariable": false, "storageLocation": "default", @@ -443,7 +443,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1256, + "id": 1251, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "262:7:2", @@ -458,7 +458,7 @@ ], "src": "261:9:2" }, - "scope": 1376, + "scope": 1371, "src": "204:381:2", "stateMutability": "pure", "superFunction": null, @@ -466,7 +466,7 @@ }, { "body": { - "id": 1306, + "id": 1301, "nodeType": "Block", "src": "762:203:2", "statements": [ @@ -480,18 +480,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1295, + "id": 1290, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1293, + "id": 1288, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1287, + "referencedDeclaration": 1282, "src": "776:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -503,7 +503,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 1294, + "id": 1289, "isConstant": false, "isLValue": false, "isPure": true, @@ -532,21 +532,21 @@ "typeString": "bool" } ], - "id": 1292, + "id": 1287, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1394, - 1395 + 1389, + 1390 ], - "referencedDeclaration": 1394, + "referencedDeclaration": 1389, "src": "768:7:2", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 1296, + "id": 1291, "isConstant": false, "isLValue": false, "isPure": false, @@ -560,21 +560,21 @@ "typeString": "tuple()" } }, - "id": 1297, + "id": 1292, "nodeType": "ExpressionStatement", "src": "768:14:2" }, { "assignments": [ - 1299 + 1294 ], "declarations": [ { "constant": false, - "id": 1299, + "id": 1294, "name": "c", "nodeType": "VariableDeclaration", - "scope": 1307, + "scope": 1302, "src": "846:9:2", "stateVariable": false, "storageLocation": "default", @@ -583,7 +583,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1298, + "id": 1293, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "846:7:2", @@ -596,25 +596,25 @@ "visibility": "internal" } ], - "id": 1303, + "id": 1298, "initialValue": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1302, + "id": 1297, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1300, + "id": 1295, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1285, + "referencedDeclaration": 1280, "src": "858:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -625,11 +625,11 @@ "operator": "/", "rightExpression": { "argumentTypes": null, - "id": 1301, + "id": 1296, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1287, + "referencedDeclaration": 1282, "src": "862:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -648,26 +648,26 @@ { "expression": { "argumentTypes": null, - "id": 1304, + "id": 1299, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1299, + "referencedDeclaration": 1294, "src": "959:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 1291, - "id": 1305, + "functionReturnParameters": 1286, + "id": 1300, "nodeType": "Return", "src": "952:8:2" } ] }, "documentation": "@dev Integer division of two numbers truncating the quotient, reverts on division by zero.", - "id": 1307, + "id": 1302, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -675,15 +675,15 @@ "name": "div", "nodeType": "FunctionDefinition", "parameters": { - "id": 1288, + "id": 1283, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1285, + "id": 1280, "name": "a", "nodeType": "VariableDeclaration", - "scope": 1307, + "scope": 1302, "src": "708:9:2", "stateVariable": false, "storageLocation": "default", @@ -692,7 +692,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1284, + "id": 1279, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "708:7:2", @@ -706,10 +706,10 @@ }, { "constant": false, - "id": 1287, + "id": 1282, "name": "b", "nodeType": "VariableDeclaration", - "scope": 1307, + "scope": 1302, "src": "719:9:2", "stateVariable": false, "storageLocation": "default", @@ -718,7 +718,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1286, + "id": 1281, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "719:7:2", @@ -735,15 +735,15 @@ }, "payable": false, "returnParameters": { - "id": 1291, + "id": 1286, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1290, + "id": 1285, "name": "", "nodeType": "VariableDeclaration", - "scope": 1307, + "scope": 1302, "src": "753:7:2", "stateVariable": false, "storageLocation": "default", @@ -752,7 +752,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1289, + "id": 1284, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "753:7:2", @@ -767,7 +767,7 @@ ], "src": "752:9:2" }, - "scope": 1376, + "scope": 1371, "src": "695:270:2", "stateMutability": "pure", "superFunction": null, @@ -775,7 +775,7 @@ }, { "body": { - "id": 1330, + "id": 1325, "nodeType": "Block", "src": "1145:64:2", "statements": [ @@ -789,18 +789,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1319, + "id": 1314, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1317, + "id": 1312, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1311, + "referencedDeclaration": 1306, "src": "1159:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -811,11 +811,11 @@ "operator": "<=", "rightExpression": { "argumentTypes": null, - "id": 1318, + "id": 1313, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1309, + "referencedDeclaration": 1304, "src": "1164:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -836,21 +836,21 @@ "typeString": "bool" } ], - "id": 1316, + "id": 1311, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1394, - 1395 + 1389, + 1390 ], - "referencedDeclaration": 1394, + "referencedDeclaration": 1389, "src": "1151:7:2", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 1320, + "id": 1315, "isConstant": false, "isLValue": false, "isPure": false, @@ -864,21 +864,21 @@ "typeString": "tuple()" } }, - "id": 1321, + "id": 1316, "nodeType": "ExpressionStatement", "src": "1151:15:2" }, { "assignments": [ - 1323 + 1318 ], "declarations": [ { "constant": false, - "id": 1323, + "id": 1318, "name": "c", "nodeType": "VariableDeclaration", - "scope": 1331, + "scope": 1326, "src": "1172:9:2", "stateVariable": false, "storageLocation": "default", @@ -887,7 +887,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1322, + "id": 1317, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1172:7:2", @@ -900,25 +900,25 @@ "visibility": "internal" } ], - "id": 1327, + "id": 1322, "initialValue": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1326, + "id": 1321, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1324, + "id": 1319, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1309, + "referencedDeclaration": 1304, "src": "1184:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -929,11 +929,11 @@ "operator": "-", "rightExpression": { "argumentTypes": null, - "id": 1325, + "id": 1320, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1311, + "referencedDeclaration": 1306, "src": "1188:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -952,26 +952,26 @@ { "expression": { "argumentTypes": null, - "id": 1328, + "id": 1323, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1323, + "referencedDeclaration": 1318, "src": "1203:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 1315, - "id": 1329, + "functionReturnParameters": 1310, + "id": 1324, "nodeType": "Return", "src": "1196:8:2" } ] }, "documentation": "@dev Subtracts two numbers, reverts on overflow (i.e. if subtrahend is greater than minuend).", - "id": 1331, + "id": 1326, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -979,15 +979,15 @@ "name": "sub", "nodeType": "FunctionDefinition", "parameters": { - "id": 1312, + "id": 1307, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1309, + "id": 1304, "name": "a", "nodeType": "VariableDeclaration", - "scope": 1331, + "scope": 1326, "src": "1091:9:2", "stateVariable": false, "storageLocation": "default", @@ -996,7 +996,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1308, + "id": 1303, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1091:7:2", @@ -1010,10 +1010,10 @@ }, { "constant": false, - "id": 1311, + "id": 1306, "name": "b", "nodeType": "VariableDeclaration", - "scope": 1331, + "scope": 1326, "src": "1102:9:2", "stateVariable": false, "storageLocation": "default", @@ -1022,7 +1022,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1310, + "id": 1305, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1102:7:2", @@ -1039,15 +1039,15 @@ }, "payable": false, "returnParameters": { - "id": 1315, + "id": 1310, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1314, + "id": 1309, "name": "", "nodeType": "VariableDeclaration", - "scope": 1331, + "scope": 1326, "src": "1136:7:2", "stateVariable": false, "storageLocation": "default", @@ -1056,7 +1056,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1313, + "id": 1308, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1136:7:2", @@ -1071,7 +1071,7 @@ ], "src": "1135:9:2" }, - "scope": 1376, + "scope": 1371, "src": "1078:131:2", "stateMutability": "pure", "superFunction": null, @@ -1079,21 +1079,21 @@ }, { "body": { - "id": 1354, + "id": 1349, "nodeType": "Block", "src": "1339:64:2", "statements": [ { "assignments": [ - 1341 + 1336 ], "declarations": [ { "constant": false, - "id": 1341, + "id": 1336, "name": "c", "nodeType": "VariableDeclaration", - "scope": 1355, + "scope": 1350, "src": "1345:9:2", "stateVariable": false, "storageLocation": "default", @@ -1102,7 +1102,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1340, + "id": 1335, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1345:7:2", @@ -1115,25 +1115,25 @@ "visibility": "internal" } ], - "id": 1345, + "id": 1340, "initialValue": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1344, + "id": 1339, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1342, + "id": 1337, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1333, + "referencedDeclaration": 1328, "src": "1357:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1144,11 +1144,11 @@ "operator": "+", "rightExpression": { "argumentTypes": null, - "id": 1343, + "id": 1338, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1335, + "referencedDeclaration": 1330, "src": "1361:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1174,18 +1174,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1349, + "id": 1344, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1347, + "id": 1342, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1341, + "referencedDeclaration": 1336, "src": "1376:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1196,11 +1196,11 @@ "operator": ">=", "rightExpression": { "argumentTypes": null, - "id": 1348, + "id": 1343, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1333, + "referencedDeclaration": 1328, "src": "1381:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1221,21 +1221,21 @@ "typeString": "bool" } ], - "id": 1346, + "id": 1341, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1394, - 1395 + 1389, + 1390 ], - "referencedDeclaration": 1394, + "referencedDeclaration": 1389, "src": "1368:7:2", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 1350, + "id": 1345, "isConstant": false, "isLValue": false, "isPure": false, @@ -1249,33 +1249,33 @@ "typeString": "tuple()" } }, - "id": 1351, + "id": 1346, "nodeType": "ExpressionStatement", "src": "1368:15:2" }, { "expression": { "argumentTypes": null, - "id": 1352, + "id": 1347, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1341, + "referencedDeclaration": 1336, "src": "1397:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 1339, - "id": 1353, + "functionReturnParameters": 1334, + "id": 1348, "nodeType": "Return", "src": "1390:8:2" } ] }, "documentation": "@dev Adds two numbers, reverts on overflow.", - "id": 1355, + "id": 1350, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -1283,15 +1283,15 @@ "name": "add", "nodeType": "FunctionDefinition", "parameters": { - "id": 1336, + "id": 1331, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1333, + "id": 1328, "name": "a", "nodeType": "VariableDeclaration", - "scope": 1355, + "scope": 1350, "src": "1285:9:2", "stateVariable": false, "storageLocation": "default", @@ -1300,7 +1300,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1332, + "id": 1327, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1285:7:2", @@ -1314,10 +1314,10 @@ }, { "constant": false, - "id": 1335, + "id": 1330, "name": "b", "nodeType": "VariableDeclaration", - "scope": 1355, + "scope": 1350, "src": "1296:9:2", "stateVariable": false, "storageLocation": "default", @@ -1326,7 +1326,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1334, + "id": 1329, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1296:7:2", @@ -1343,15 +1343,15 @@ }, "payable": false, "returnParameters": { - "id": 1339, + "id": 1334, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1338, + "id": 1333, "name": "", "nodeType": "VariableDeclaration", - "scope": 1355, + "scope": 1350, "src": "1330:7:2", "stateVariable": false, "storageLocation": "default", @@ -1360,7 +1360,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1337, + "id": 1332, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1330:7:2", @@ -1375,7 +1375,7 @@ ], "src": "1329:9:2" }, - "scope": 1376, + "scope": 1371, "src": "1272:131:2", "stateMutability": "pure", "superFunction": null, @@ -1383,7 +1383,7 @@ }, { "body": { - "id": 1374, + "id": 1369, "nodeType": "Block", "src": "1602:44:2", "statements": [ @@ -1397,18 +1397,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1367, + "id": 1362, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1365, + "id": 1360, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1359, + "referencedDeclaration": 1354, "src": "1616:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1420,7 +1420,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 1366, + "id": 1361, "isConstant": false, "isLValue": false, "isPure": true, @@ -1449,21 +1449,21 @@ "typeString": "bool" } ], - "id": 1364, + "id": 1359, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1394, - 1395 + 1389, + 1390 ], - "referencedDeclaration": 1394, + "referencedDeclaration": 1389, "src": "1608:7:2", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 1368, + "id": 1363, "isConstant": false, "isLValue": false, "isPure": false, @@ -1477,7 +1477,7 @@ "typeString": "tuple()" } }, - "id": 1369, + "id": 1364, "nodeType": "ExpressionStatement", "src": "1608:15:2" }, @@ -1488,18 +1488,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1372, + "id": 1367, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1370, + "id": 1365, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1357, + "referencedDeclaration": 1352, "src": "1636:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1510,11 +1510,11 @@ "operator": "%", "rightExpression": { "argumentTypes": null, - "id": 1371, + "id": 1366, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1359, + "referencedDeclaration": 1354, "src": "1640:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1527,15 +1527,15 @@ "typeString": "uint256" } }, - "functionReturnParameters": 1363, - "id": 1373, + "functionReturnParameters": 1358, + "id": 1368, "nodeType": "Return", "src": "1629:12:2" } ] }, "documentation": "@dev Divides two numbers and returns the remainder (unsigned integer modulo),\nreverts when dividing by zero.", - "id": 1375, + "id": 1370, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -1543,15 +1543,15 @@ "name": "mod", "nodeType": "FunctionDefinition", "parameters": { - "id": 1360, + "id": 1355, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1357, + "id": 1352, "name": "a", "nodeType": "VariableDeclaration", - "scope": 1375, + "scope": 1370, "src": "1548:9:2", "stateVariable": false, "storageLocation": "default", @@ -1560,7 +1560,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1356, + "id": 1351, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1548:7:2", @@ -1574,10 +1574,10 @@ }, { "constant": false, - "id": 1359, + "id": 1354, "name": "b", "nodeType": "VariableDeclaration", - "scope": 1375, + "scope": 1370, "src": "1559:9:2", "stateVariable": false, "storageLocation": "default", @@ -1586,7 +1586,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1358, + "id": 1353, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1559:7:2", @@ -1603,15 +1603,15 @@ }, "payable": false, "returnParameters": { - "id": 1363, + "id": 1358, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1362, + "id": 1357, "name": "", "nodeType": "VariableDeclaration", - "scope": 1375, + "scope": 1370, "src": "1593:7:2", "stateVariable": false, "storageLocation": "default", @@ -1620,7 +1620,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1361, + "id": 1356, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1593:7:2", @@ -1635,14 +1635,14 @@ ], "src": "1592:9:2" }, - "scope": 1376, + "scope": 1371, "src": "1535:111:2", "stateMutability": "pure", "superFunction": null, "visibility": "internal" } ], - "scope": 1377, + "scope": 1372, "src": "117:1531:2" } ], @@ -1652,14 +1652,14 @@ "absolutePath": "openzeppelin-solidity/contracts/math/SafeMath.sol", "exportedSymbols": { "SafeMath": [ - 1376 + 1371 ] }, - "id": 1377, + "id": 1372, "nodeType": "SourceUnit", "nodes": [ { - "id": 1250, + "id": 1245, "literals": [ "solidity", "^", @@ -1675,16 +1675,16 @@ "contractKind": "library", "documentation": "@title SafeMath\n@dev Math operations with safety checks that revert on error", "fullyImplemented": true, - "id": 1376, + "id": 1371, "linearizedBaseContracts": [ - 1376 + 1371 ], "name": "SafeMath", "nodeType": "ContractDefinition", "nodes": [ { "body": { - "id": 1282, + "id": 1277, "nodeType": "Block", "src": "271:314:2", "statements": [ @@ -1695,18 +1695,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1261, + "id": 1256, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1259, + "id": 1254, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1252, + "referencedDeclaration": 1247, "src": "486:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1718,7 +1718,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 1260, + "id": 1255, "isConstant": false, "isLValue": false, "isPure": true, @@ -1740,11 +1740,11 @@ } }, "falseBody": null, - "id": 1265, + "id": 1260, "nodeType": "IfStatement", "src": "482:35:2", "trueBody": { - "id": 1264, + "id": 1259, "nodeType": "Block", "src": "494:23:2", "statements": [ @@ -1752,7 +1752,7 @@ "expression": { "argumentTypes": null, "hexValue": "30", - "id": 1262, + "id": 1257, "isConstant": false, "isLValue": false, "isPure": true, @@ -1767,8 +1767,8 @@ }, "value": "0" }, - "functionReturnParameters": 1258, - "id": 1263, + "functionReturnParameters": 1253, + "id": 1258, "nodeType": "Return", "src": "502:8:2" } @@ -1777,15 +1777,15 @@ }, { "assignments": [ - 1267 + 1262 ], "declarations": [ { "constant": false, - "id": 1267, + "id": 1262, "name": "c", "nodeType": "VariableDeclaration", - "scope": 1283, + "scope": 1278, "src": "523:9:2", "stateVariable": false, "storageLocation": "default", @@ -1794,7 +1794,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1266, + "id": 1261, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "523:7:2", @@ -1807,25 +1807,25 @@ "visibility": "internal" } ], - "id": 1271, + "id": 1266, "initialValue": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1270, + "id": 1265, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1268, + "id": 1263, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1252, + "referencedDeclaration": 1247, "src": "535:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1836,11 +1836,11 @@ "operator": "*", "rightExpression": { "argumentTypes": null, - "id": 1269, + "id": 1264, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1254, + "referencedDeclaration": 1249, "src": "539:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1866,7 +1866,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1277, + "id": 1272, "isConstant": false, "isLValue": false, "isPure": false, @@ -1877,18 +1877,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1275, + "id": 1270, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1273, + "id": 1268, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1267, + "referencedDeclaration": 1262, "src": "554:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1899,11 +1899,11 @@ "operator": "/", "rightExpression": { "argumentTypes": null, - "id": 1274, + "id": 1269, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1252, + "referencedDeclaration": 1247, "src": "558:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1920,11 +1920,11 @@ "operator": "==", "rightExpression": { "argumentTypes": null, - "id": 1276, + "id": 1271, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1254, + "referencedDeclaration": 1249, "src": "563:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1945,21 +1945,21 @@ "typeString": "bool" } ], - "id": 1272, + "id": 1267, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1394, - 1395 + 1389, + 1390 ], - "referencedDeclaration": 1394, + "referencedDeclaration": 1389, "src": "546:7:2", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 1278, + "id": 1273, "isConstant": false, "isLValue": false, "isPure": false, @@ -1973,33 +1973,33 @@ "typeString": "tuple()" } }, - "id": 1279, + "id": 1274, "nodeType": "ExpressionStatement", "src": "546:19:2" }, { "expression": { "argumentTypes": null, - "id": 1280, + "id": 1275, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1267, + "referencedDeclaration": 1262, "src": "579:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 1258, - "id": 1281, + "functionReturnParameters": 1253, + "id": 1276, "nodeType": "Return", "src": "572:8:2" } ] }, "documentation": "@dev Multiplies two numbers, reverts on overflow.", - "id": 1283, + "id": 1278, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -2007,15 +2007,15 @@ "name": "mul", "nodeType": "FunctionDefinition", "parameters": { - "id": 1255, + "id": 1250, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1252, + "id": 1247, "name": "a", "nodeType": "VariableDeclaration", - "scope": 1283, + "scope": 1278, "src": "217:9:2", "stateVariable": false, "storageLocation": "default", @@ -2024,7 +2024,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1251, + "id": 1246, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "217:7:2", @@ -2038,10 +2038,10 @@ }, { "constant": false, - "id": 1254, + "id": 1249, "name": "b", "nodeType": "VariableDeclaration", - "scope": 1283, + "scope": 1278, "src": "228:9:2", "stateVariable": false, "storageLocation": "default", @@ -2050,7 +2050,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1253, + "id": 1248, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "228:7:2", @@ -2067,15 +2067,15 @@ }, "payable": false, "returnParameters": { - "id": 1258, + "id": 1253, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1257, + "id": 1252, "name": "", "nodeType": "VariableDeclaration", - "scope": 1283, + "scope": 1278, "src": "262:7:2", "stateVariable": false, "storageLocation": "default", @@ -2084,7 +2084,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1256, + "id": 1251, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "262:7:2", @@ -2099,7 +2099,7 @@ ], "src": "261:9:2" }, - "scope": 1376, + "scope": 1371, "src": "204:381:2", "stateMutability": "pure", "superFunction": null, @@ -2107,7 +2107,7 @@ }, { "body": { - "id": 1306, + "id": 1301, "nodeType": "Block", "src": "762:203:2", "statements": [ @@ -2121,18 +2121,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1295, + "id": 1290, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1293, + "id": 1288, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1287, + "referencedDeclaration": 1282, "src": "776:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2144,7 +2144,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 1294, + "id": 1289, "isConstant": false, "isLValue": false, "isPure": true, @@ -2173,21 +2173,21 @@ "typeString": "bool" } ], - "id": 1292, + "id": 1287, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1394, - 1395 + 1389, + 1390 ], - "referencedDeclaration": 1394, + "referencedDeclaration": 1389, "src": "768:7:2", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 1296, + "id": 1291, "isConstant": false, "isLValue": false, "isPure": false, @@ -2201,21 +2201,21 @@ "typeString": "tuple()" } }, - "id": 1297, + "id": 1292, "nodeType": "ExpressionStatement", "src": "768:14:2" }, { "assignments": [ - 1299 + 1294 ], "declarations": [ { "constant": false, - "id": 1299, + "id": 1294, "name": "c", "nodeType": "VariableDeclaration", - "scope": 1307, + "scope": 1302, "src": "846:9:2", "stateVariable": false, "storageLocation": "default", @@ -2224,7 +2224,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1298, + "id": 1293, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "846:7:2", @@ -2237,25 +2237,25 @@ "visibility": "internal" } ], - "id": 1303, + "id": 1298, "initialValue": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1302, + "id": 1297, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1300, + "id": 1295, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1285, + "referencedDeclaration": 1280, "src": "858:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2266,11 +2266,11 @@ "operator": "/", "rightExpression": { "argumentTypes": null, - "id": 1301, + "id": 1296, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1287, + "referencedDeclaration": 1282, "src": "862:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2289,26 +2289,26 @@ { "expression": { "argumentTypes": null, - "id": 1304, + "id": 1299, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1299, + "referencedDeclaration": 1294, "src": "959:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 1291, - "id": 1305, + "functionReturnParameters": 1286, + "id": 1300, "nodeType": "Return", "src": "952:8:2" } ] }, "documentation": "@dev Integer division of two numbers truncating the quotient, reverts on division by zero.", - "id": 1307, + "id": 1302, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -2316,15 +2316,15 @@ "name": "div", "nodeType": "FunctionDefinition", "parameters": { - "id": 1288, + "id": 1283, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1285, + "id": 1280, "name": "a", "nodeType": "VariableDeclaration", - "scope": 1307, + "scope": 1302, "src": "708:9:2", "stateVariable": false, "storageLocation": "default", @@ -2333,7 +2333,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1284, + "id": 1279, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "708:7:2", @@ -2347,10 +2347,10 @@ }, { "constant": false, - "id": 1287, + "id": 1282, "name": "b", "nodeType": "VariableDeclaration", - "scope": 1307, + "scope": 1302, "src": "719:9:2", "stateVariable": false, "storageLocation": "default", @@ -2359,7 +2359,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1286, + "id": 1281, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "719:7:2", @@ -2376,15 +2376,15 @@ }, "payable": false, "returnParameters": { - "id": 1291, + "id": 1286, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1290, + "id": 1285, "name": "", "nodeType": "VariableDeclaration", - "scope": 1307, + "scope": 1302, "src": "753:7:2", "stateVariable": false, "storageLocation": "default", @@ -2393,7 +2393,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1289, + "id": 1284, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "753:7:2", @@ -2408,7 +2408,7 @@ ], "src": "752:9:2" }, - "scope": 1376, + "scope": 1371, "src": "695:270:2", "stateMutability": "pure", "superFunction": null, @@ -2416,7 +2416,7 @@ }, { "body": { - "id": 1330, + "id": 1325, "nodeType": "Block", "src": "1145:64:2", "statements": [ @@ -2430,18 +2430,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1319, + "id": 1314, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1317, + "id": 1312, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1311, + "referencedDeclaration": 1306, "src": "1159:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2452,11 +2452,11 @@ "operator": "<=", "rightExpression": { "argumentTypes": null, - "id": 1318, + "id": 1313, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1309, + "referencedDeclaration": 1304, "src": "1164:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2477,21 +2477,21 @@ "typeString": "bool" } ], - "id": 1316, + "id": 1311, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1394, - 1395 + 1389, + 1390 ], - "referencedDeclaration": 1394, + "referencedDeclaration": 1389, "src": "1151:7:2", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 1320, + "id": 1315, "isConstant": false, "isLValue": false, "isPure": false, @@ -2505,21 +2505,21 @@ "typeString": "tuple()" } }, - "id": 1321, + "id": 1316, "nodeType": "ExpressionStatement", "src": "1151:15:2" }, { "assignments": [ - 1323 + 1318 ], "declarations": [ { "constant": false, - "id": 1323, + "id": 1318, "name": "c", "nodeType": "VariableDeclaration", - "scope": 1331, + "scope": 1326, "src": "1172:9:2", "stateVariable": false, "storageLocation": "default", @@ -2528,7 +2528,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1322, + "id": 1317, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1172:7:2", @@ -2541,25 +2541,25 @@ "visibility": "internal" } ], - "id": 1327, + "id": 1322, "initialValue": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1326, + "id": 1321, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1324, + "id": 1319, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1309, + "referencedDeclaration": 1304, "src": "1184:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2570,11 +2570,11 @@ "operator": "-", "rightExpression": { "argumentTypes": null, - "id": 1325, + "id": 1320, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1311, + "referencedDeclaration": 1306, "src": "1188:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2593,26 +2593,26 @@ { "expression": { "argumentTypes": null, - "id": 1328, + "id": 1323, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1323, + "referencedDeclaration": 1318, "src": "1203:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 1315, - "id": 1329, + "functionReturnParameters": 1310, + "id": 1324, "nodeType": "Return", "src": "1196:8:2" } ] }, "documentation": "@dev Subtracts two numbers, reverts on overflow (i.e. if subtrahend is greater than minuend).", - "id": 1331, + "id": 1326, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -2620,15 +2620,15 @@ "name": "sub", "nodeType": "FunctionDefinition", "parameters": { - "id": 1312, + "id": 1307, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1309, + "id": 1304, "name": "a", "nodeType": "VariableDeclaration", - "scope": 1331, + "scope": 1326, "src": "1091:9:2", "stateVariable": false, "storageLocation": "default", @@ -2637,7 +2637,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1308, + "id": 1303, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1091:7:2", @@ -2651,10 +2651,10 @@ }, { "constant": false, - "id": 1311, + "id": 1306, "name": "b", "nodeType": "VariableDeclaration", - "scope": 1331, + "scope": 1326, "src": "1102:9:2", "stateVariable": false, "storageLocation": "default", @@ -2663,7 +2663,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1310, + "id": 1305, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1102:7:2", @@ -2680,15 +2680,15 @@ }, "payable": false, "returnParameters": { - "id": 1315, + "id": 1310, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1314, + "id": 1309, "name": "", "nodeType": "VariableDeclaration", - "scope": 1331, + "scope": 1326, "src": "1136:7:2", "stateVariable": false, "storageLocation": "default", @@ -2697,7 +2697,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1313, + "id": 1308, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1136:7:2", @@ -2712,7 +2712,7 @@ ], "src": "1135:9:2" }, - "scope": 1376, + "scope": 1371, "src": "1078:131:2", "stateMutability": "pure", "superFunction": null, @@ -2720,21 +2720,21 @@ }, { "body": { - "id": 1354, + "id": 1349, "nodeType": "Block", "src": "1339:64:2", "statements": [ { "assignments": [ - 1341 + 1336 ], "declarations": [ { "constant": false, - "id": 1341, + "id": 1336, "name": "c", "nodeType": "VariableDeclaration", - "scope": 1355, + "scope": 1350, "src": "1345:9:2", "stateVariable": false, "storageLocation": "default", @@ -2743,7 +2743,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1340, + "id": 1335, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1345:7:2", @@ -2756,25 +2756,25 @@ "visibility": "internal" } ], - "id": 1345, + "id": 1340, "initialValue": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1344, + "id": 1339, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1342, + "id": 1337, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1333, + "referencedDeclaration": 1328, "src": "1357:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2785,11 +2785,11 @@ "operator": "+", "rightExpression": { "argumentTypes": null, - "id": 1343, + "id": 1338, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1335, + "referencedDeclaration": 1330, "src": "1361:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2815,18 +2815,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1349, + "id": 1344, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1347, + "id": 1342, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1341, + "referencedDeclaration": 1336, "src": "1376:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2837,11 +2837,11 @@ "operator": ">=", "rightExpression": { "argumentTypes": null, - "id": 1348, + "id": 1343, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1333, + "referencedDeclaration": 1328, "src": "1381:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2862,21 +2862,21 @@ "typeString": "bool" } ], - "id": 1346, + "id": 1341, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1394, - 1395 + 1389, + 1390 ], - "referencedDeclaration": 1394, + "referencedDeclaration": 1389, "src": "1368:7:2", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 1350, + "id": 1345, "isConstant": false, "isLValue": false, "isPure": false, @@ -2890,33 +2890,33 @@ "typeString": "tuple()" } }, - "id": 1351, + "id": 1346, "nodeType": "ExpressionStatement", "src": "1368:15:2" }, { "expression": { "argumentTypes": null, - "id": 1352, + "id": 1347, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1341, + "referencedDeclaration": 1336, "src": "1397:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 1339, - "id": 1353, + "functionReturnParameters": 1334, + "id": 1348, "nodeType": "Return", "src": "1390:8:2" } ] }, "documentation": "@dev Adds two numbers, reverts on overflow.", - "id": 1355, + "id": 1350, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -2924,15 +2924,15 @@ "name": "add", "nodeType": "FunctionDefinition", "parameters": { - "id": 1336, + "id": 1331, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1333, + "id": 1328, "name": "a", "nodeType": "VariableDeclaration", - "scope": 1355, + "scope": 1350, "src": "1285:9:2", "stateVariable": false, "storageLocation": "default", @@ -2941,7 +2941,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1332, + "id": 1327, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1285:7:2", @@ -2955,10 +2955,10 @@ }, { "constant": false, - "id": 1335, + "id": 1330, "name": "b", "nodeType": "VariableDeclaration", - "scope": 1355, + "scope": 1350, "src": "1296:9:2", "stateVariable": false, "storageLocation": "default", @@ -2967,7 +2967,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1334, + "id": 1329, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1296:7:2", @@ -2984,15 +2984,15 @@ }, "payable": false, "returnParameters": { - "id": 1339, + "id": 1334, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1338, + "id": 1333, "name": "", "nodeType": "VariableDeclaration", - "scope": 1355, + "scope": 1350, "src": "1330:7:2", "stateVariable": false, "storageLocation": "default", @@ -3001,7 +3001,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1337, + "id": 1332, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1330:7:2", @@ -3016,7 +3016,7 @@ ], "src": "1329:9:2" }, - "scope": 1376, + "scope": 1371, "src": "1272:131:2", "stateMutability": "pure", "superFunction": null, @@ -3024,7 +3024,7 @@ }, { "body": { - "id": 1374, + "id": 1369, "nodeType": "Block", "src": "1602:44:2", "statements": [ @@ -3038,18 +3038,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1367, + "id": 1362, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1365, + "id": 1360, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1359, + "referencedDeclaration": 1354, "src": "1616:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -3061,7 +3061,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 1366, + "id": 1361, "isConstant": false, "isLValue": false, "isPure": true, @@ -3090,21 +3090,21 @@ "typeString": "bool" } ], - "id": 1364, + "id": 1359, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1394, - 1395 + 1389, + 1390 ], - "referencedDeclaration": 1394, + "referencedDeclaration": 1389, "src": "1608:7:2", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 1368, + "id": 1363, "isConstant": false, "isLValue": false, "isPure": false, @@ -3118,7 +3118,7 @@ "typeString": "tuple()" } }, - "id": 1369, + "id": 1364, "nodeType": "ExpressionStatement", "src": "1608:15:2" }, @@ -3129,18 +3129,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1372, + "id": 1367, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1370, + "id": 1365, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1357, + "referencedDeclaration": 1352, "src": "1636:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -3151,11 +3151,11 @@ "operator": "%", "rightExpression": { "argumentTypes": null, - "id": 1371, + "id": 1366, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1359, + "referencedDeclaration": 1354, "src": "1640:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -3168,15 +3168,15 @@ "typeString": "uint256" } }, - "functionReturnParameters": 1363, - "id": 1373, + "functionReturnParameters": 1358, + "id": 1368, "nodeType": "Return", "src": "1629:12:2" } ] }, "documentation": "@dev Divides two numbers and returns the remainder (unsigned integer modulo),\nreverts when dividing by zero.", - "id": 1375, + "id": 1370, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -3184,15 +3184,15 @@ "name": "mod", "nodeType": "FunctionDefinition", "parameters": { - "id": 1360, + "id": 1355, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1357, + "id": 1352, "name": "a", "nodeType": "VariableDeclaration", - "scope": 1375, + "scope": 1370, "src": "1548:9:2", "stateVariable": false, "storageLocation": "default", @@ -3201,7 +3201,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1356, + "id": 1351, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1548:7:2", @@ -3215,10 +3215,10 @@ }, { "constant": false, - "id": 1359, + "id": 1354, "name": "b", "nodeType": "VariableDeclaration", - "scope": 1375, + "scope": 1370, "src": "1559:9:2", "stateVariable": false, "storageLocation": "default", @@ -3227,7 +3227,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1358, + "id": 1353, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1559:7:2", @@ -3244,15 +3244,15 @@ }, "payable": false, "returnParameters": { - "id": 1363, + "id": 1358, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1362, + "id": 1357, "name": "", "nodeType": "VariableDeclaration", - "scope": 1375, + "scope": 1370, "src": "1593:7:2", "stateVariable": false, "storageLocation": "default", @@ -3261,7 +3261,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1361, + "id": 1356, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1593:7:2", @@ -3276,14 +3276,14 @@ ], "src": "1592:9:2" }, - "scope": 1376, + "scope": 1371, "src": "1535:111:2", "stateMutability": "pure", "superFunction": null, "visibility": "internal" } ], - "scope": 1377, + "scope": 1372, "src": "117:1531:2" } ], @@ -3295,5 +3295,5 @@ }, "networks": {}, "schemaVersion": "2.0.1", - "updatedAt": "2018-11-03T15:38:22.715Z" + "updatedAt": "2018-11-19T10:44:17.098Z" } \ No newline at end of file diff --git a/contracts/escrow/Escrow_v1_0.sol b/contracts/escrow/Escrow_v1_0.sol index 961bcfc..f3110e5 100644 --- a/contracts/escrow/Escrow_v1_0.sol +++ b/contracts/escrow/Escrow_v1_0.sol @@ -35,7 +35,6 @@ contract Escrow_v1_0 { event Funded(bytes32 scriptHash, address indexed from, uint256 value); struct Transaction { - bytes32 scriptHash;//This is unique indentifier for a transaction uint256 value; uint256 lastModified;//Time at which transaction was last modified Status status; @@ -615,7 +614,6 @@ contract Escrow_v1_0 { value: value, status: Status.FUNDED, lastModified: block.timestamp, - scriptHash: scriptHash, threshold: threshold, timeoutHours: timeoutHours, transactionType:transactionType, diff --git a/test/escrow/1_Escrow_v1_0_test.js b/test/escrow/1_Escrow_v1_0_test.js index 094b5ef..9842547 100644 --- a/test/escrow/1_Escrow_v1_0_test.js +++ b/test/escrow/1_Escrow_v1_0_test.js @@ -65,16 +65,14 @@ contract("Escrow Contract Version 1- Supports Token transfer", function() { //check whether the transaction stored in state is same as sent var transaction = await this.escrow.transactions(scriptHash); - receivedScriptHash = transaction[0]; - var receivedBuyer = transaction[7]; - var receivedSeller = transaction[8]; - var receivedAmount = transaction[1]; - var receivedStatus = transaction[3]; - var receivedTimeoutHours = transaction[6]; - var receivedThreshold = transaction[5]; - var receivedTransactionType = transaction[4]; + var receivedBuyer = transaction[6]; + var receivedSeller = transaction[7]; + var receivedAmount = transaction[0]; + var receivedStatus = transaction[2]; + var receivedTimeoutHours = transaction[5]; + var receivedThreshold = transaction[4]; + var receivedTransactionType = transaction[3]; - assert.equal(receivedScriptHash, scriptHash, "Received script hash does not matches the script hash sent"); assert.equal(receivedBuyer, buyer, "Received buyer hash does not matches the buyer sent"); assert.equal(receivedSeller, seller, "Received seller hash does not matches the seller sent"); assert.equal(receivedAmount.toNumber(), Number(amount), "Received amount does not matches the amount sent"); @@ -127,16 +125,14 @@ contract("Escrow Contract Version 1- Supports Token transfer", function() { //check whether the transaction stored in state is same as sent var transaction = await this.escrow.transactions(scriptHash); - receivedScriptHash = transaction[0]; - var receivedBuyer = transaction[7]; - var receivedSeller = transaction[8]; - var receivedAmount = transaction[1]; - var receivedStatus = transaction[3]; - var receivedTimeoutHours = transaction[6]; - var receivedThreshold = transaction[5]; - var receivedTransactionType = transaction[4]; + var receivedBuyer = transaction[6]; + var receivedSeller = transaction[7]; + var receivedAmount = transaction[0]; + var receivedStatus = transaction[2]; + var receivedTimeoutHours = transaction[5]; + var receivedThreshold = transaction[4]; + var receivedTransactionType = transaction[3]; - assert.equal(receivedScriptHash, scriptHash, "Received script hash does not matches the script hash sent"); assert.equal(receivedBuyer, buyer, "Received buyer hash does not matches the buyer sent"); assert.equal(receivedSeller, seller, "Received seller hash does not matches the seller sent"); assert.equal(receivedAmount.toNumber(), Number(amount), "Received amount does not matches the amount sent"); @@ -189,16 +185,14 @@ contract("Escrow Contract Version 1- Supports Token transfer", function() { //check whether the transaction stored in state is same as sent var transaction = await this.escrow.transactions(scriptHash); - receivedScriptHash = transaction[0]; - var receivedBuyer = transaction[7]; - var receivedSeller = transaction[8]; - var receivedAmount = transaction[1]; - var receivedStatus = transaction[3]; - var receivedTimeoutHours = transaction[6]; - var receivedThreshold = transaction[5]; - var receivedTransactionType = transaction[4]; + var receivedBuyer = transaction[6]; + var receivedSeller = transaction[7]; + var receivedAmount = transaction[0]; + var receivedStatus = transaction[2]; + var receivedTimeoutHours = transaction[5]; + var receivedThreshold = transaction[4]; + var receivedTransactionType = transaction[3]; - assert.equal(receivedScriptHash, scriptHash, "Received script hash does not matches the script hash sent"); assert.equal(receivedBuyer, buyer, "Received buyer hash does not matches the buyer sent"); assert.equal(receivedSeller, seller, "Received seller hash does not matches the seller sent"); assert.equal(receivedAmount.toNumber(), Number(amount), "Received amount does not matches the amount sent"); @@ -251,7 +245,7 @@ contract("Escrow Contract Version 1- Supports Token transfer", function() { //check whether the transaction stored in state is same as sent var transaction = await this.escrow.transactions(scriptHash); - var receivedAmount = transaction[1]; + var receivedAmount = transaction[0]; assert.equal(receivedAmount.toNumber(), Number(amount) +Number(amount), "Received amount does not matches the amount sent"); @@ -1137,17 +1131,15 @@ contract("Escrow Contract Version 1- Supports Token transfer", function() { //check whether the transaction stored in state is same as sent var transaction = await this.escrow.transactions(scriptHash); - receivedScriptHash = transaction[0]; - var receivedBuyer = transaction[7]; - var receivedSeller = transaction[8]; - var receivedAmount = transaction[1]; - var receivedStatus = transaction[3]; - var receivedTimeoutHours = transaction[6]; - var receivedThreshold = transaction[5]; - var receivedTransactionType = transaction[4]; - var receivedTokenAddress = transaction[9]; + var receivedBuyer = transaction[6]; + var receivedSeller = transaction[7]; + var receivedAmount = transaction[0]; + var receivedStatus = transaction[2]; + var receivedTimeoutHours = transaction[5]; + var receivedThreshold = transaction[4]; + var receivedTransactionType = transaction[3]; + var receivedTokenAddress = transaction[8]; - assert.equal(receivedScriptHash, scriptHash, "Received script hash does not matches the script hash sent"); assert.equal(receivedBuyer, buyer, "Received buyer hash does not matches the buyer sent"); assert.equal(receivedSeller, seller, "Received seller hash does not matches the seller sent"); assert.equal(receivedAmount.toNumber(), Number(amount), "Received amount does not matches the amount sent"); @@ -1203,17 +1195,15 @@ contract("Escrow Contract Version 1- Supports Token transfer", function() { //check whether the transaction stored in state is same as sent var transaction = await this.escrow.transactions(scriptHash); - receivedScriptHash = transaction[0]; - var receivedBuyer = transaction[7]; - var receivedSeller = transaction[8]; - var receivedAmount = transaction[1]; - var receivedStatus = transaction[3]; - var receivedTimeoutHours = transaction[6]; - var receivedThreshold = transaction[5]; - var receivedTransactionType = transaction[4]; - var receivedTokenAddress = transaction[9]; + var receivedBuyer = transaction[6]; + var receivedSeller = transaction[7]; + var receivedAmount = transaction[0]; + var receivedStatus = transaction[2]; + var receivedTimeoutHours = transaction[5]; + var receivedThreshold = transaction[4]; + var receivedTransactionType = transaction[3]; + var receivedTokenAddress = transaction[8]; - assert.equal(receivedScriptHash, scriptHash, "Received script hash does not matches the script hash sent"); assert.equal(receivedBuyer, buyer, "Received buyer hash does not matches the buyer sent"); assert.equal(receivedSeller, seller, "Received seller hash does not matches the seller sent"); assert.equal(receivedAmount.toNumber(), Number(amount), "Received amount does not matches the amount sent"); @@ -1269,17 +1259,15 @@ contract("Escrow Contract Version 1- Supports Token transfer", function() { //check whether the transaction stored in state is same as sent var transaction = await this.escrow.transactions(scriptHash); - receivedScriptHash = transaction[0]; - var receivedBuyer = transaction[7]; - var receivedSeller = transaction[8]; - var receivedAmount = transaction[1]; - var receivedStatus = transaction[3]; - var receivedTimeoutHours = transaction[6]; - var receivedThreshold = transaction[5]; - var receivedTransactionType = transaction[4]; - var receivedTokenAddress = transaction[9]; + var receivedBuyer = transaction[6]; + var receivedSeller = transaction[7]; + var receivedAmount = transaction[0]; + var receivedStatus = transaction[2]; + var receivedTimeoutHours = transaction[5]; + var receivedThreshold = transaction[4]; + var receivedTransactionType = transaction[3]; + var receivedTokenAddress = transaction[8]; - assert.equal(receivedScriptHash, scriptHash, "Received script hash does not matches the script hash sent"); assert.equal(receivedBuyer, buyer, "Received buyer hash does not matches the buyer sent"); assert.equal(receivedSeller, seller, "Received seller hash does not matches the seller sent"); assert.equal(receivedAmount.toNumber(), Number(amount), "Received amount does not matches the amount sent"); @@ -1341,17 +1329,15 @@ contract("Escrow Contract Version 1- Supports Token transfer", function() { //check whether the transaction stored in state is same as sent var transaction = await this.escrow.transactions(scriptHash); - receivedScriptHash = transaction[0]; - var receivedBuyer = transaction[7]; - var receivedSeller = transaction[8]; - var receivedAmount = transaction[1]; - var receivedStatus = transaction[3]; - var receivedTimeoutHours = transaction[6]; - var receivedThreshold = transaction[5]; - var receivedTransactionType = transaction[4]; - var receivedTokenAddress = transaction[9]; + var receivedBuyer = transaction[6]; + var receivedSeller = transaction[7]; + var receivedAmount = transaction[0]; + var receivedStatus = transaction[2]; + var receivedTimeoutHours = transaction[5]; + var receivedThreshold = transaction[4]; + var receivedTransactionType = transaction[3]; + var receivedTokenAddress = transaction[8]; - assert.equal(receivedScriptHash, scriptHash, "Received script hash does not matches the script hash sent"); assert.equal(receivedBuyer, buyer, "Received buyer hash does not matches the buyer sent"); assert.equal(receivedSeller, seller, "Received seller hash does not matches the seller sent"); assert.equal(receivedAmount.toNumber(), Number(amount) + Number(amount), "Received amount does not matches the amount sent"); From 3d0ce4d1f9dfacc7635b5497ae48fae8757b11f1 Mon Sep 17 00:00:00 2001 From: Sameep Singhania Date: Mon, 19 Nov 2018 16:57:11 +0530 Subject: [PATCH 03/19] Converting all implicit return statements to explicit return statements --- build/contracts/Escrow_v1_0.json | 12276 +++++++++++++------------- build/contracts/ITokenContract.json | 182 +- build/contracts/SafeMath.json | 818 +- contracts/escrow/Escrow_v1_0.sol | 32 +- test/escrow/1_Escrow_v1_0_test.js | 2 +- 5 files changed, 6617 insertions(+), 6693 deletions(-) diff --git a/build/contracts/Escrow_v1_0.json b/build/contracts/Escrow_v1_0.json index 7f0995b..ac75a6c 100644 --- a/build/contracts/Escrow_v1_0.json +++ b/build/contracts/Escrow_v1_0.json @@ -11,10 +11,6 @@ ], "name": "transactions", "outputs": [ - { - "name": "scriptHash", - "type": "bytes32" - }, { "name": "value", "type": "uint256" @@ -422,20 +418,20 @@ "type": "function" } ], - "bytecode": "0x6080604052600060015534801561001557600080fd5b5061420b806100256000396000f3006080604052600436106100ba576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806323b6fd3f146100bf5780632d9ef96e1461017957806346fbcdeb1461019d57806357bced7614610292578063642f2eaf14610383578063b0550c66146104f4578063b719e2801461055d578063b77bf60014610598578063be84ceaf146105c3578063e4ec8b001461065b578063f078656214610704578063f5dbe09c1461076d575b600080fd5b610177600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff169060200190929190803563ffffffff169060200190929190803560001916906020019092919080356bffffffffffffffffffffffff191690602001909291905050506107d6565b005b61019b6004803603810190808035600019169060200190929190505050610a35565b005b3480156101a957600080fd5b5061027460048036038101908080356bffffffffffffffffffffffff19169060200190929190803560ff169060200190929190803563ffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610ec3565b60405180826000191660001916815260200191505060405180910390f35b34801561029e57600080fd5b50610381600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff169060200190929190803563ffffffff16906020019092919080356000191690602001909291908035906020019092919080356bffffffffffffffffffffffff19169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061136f565b005b34801561038f57600080fd5b506103b2600480360381019080803560001916906020019092919050505061184f565b604051808c600019166000191681526020018b81526020018a81526020018960018111156103dc57fe5b60ff1681526020018860018111156103f057fe5b60ff1681526020018760ff1660ff1681526020018663ffffffff1663ffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019b50505050505050505050505060405180910390f35b34801561050057600080fd5b506105436004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611960565b604051808215151515815260200191505060405180910390f35b34801561056957600080fd5b506105966004803603810190808035600019169060200190929190803590602001909291905050506119d2565b005b3480156105a457600080fd5b506105ad6120b2565b6040518082815260200191505060405180910390f35b3480156105cf57600080fd5b50610604600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506120b8565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b8381101561064757808201518184015260208101905061062c565b505050509050019250505060405180910390f35b34801561066757600080fd5b506107026004803603810190808035906020019082018035906020019190919293919293908035906020019082018035906020019190919293919293908035906020019082018035906020019190919293919293908035600019169060200190929190803590602001908201803590602001919091929391929390803590602001908201803590602001919091929391929390505050612153565b005b34801561071057600080fd5b506107536004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506126b5565b604051808215151515815260200191505060405180910390f35b34801561077957600080fd5b506107b8600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050612727565b60405180826000191660001916815260200191505060405180910390f35b81600080600083600019166000191681526020019081526020016000206001015414151561086c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f5472616e73616374696f6e20657869737473000000000000000000000000000081525060200191505060405180910390fd5b87600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610912576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b87600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156109b8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b6109cb8a8a8a8a8a8a348b600080612757565b3373ffffffffffffffffffffffffffffffffffffffff167fce7089d0668849fb9ca29778c0cbf1e764d9efb048d81fd71fb34c94f26db36886346040518083600019166000191681526020018281526020019250505060405180910390a250505050505050505050565b600081600080600083600019166000191681526020019081526020016000206001015414151515610ace576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737473000000000081525060200191505060405180910390fd5b8260006001811115610adc57fe5b600080836000191660001916815260200190815260200160002060030160009054906101000a900460ff166001811115610b1257fe5b141515610bad576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001807f5472616e73616374696f6e2069732065697468657220696e206469737075746581526020017f206f722072656c6561736564207374617465000000000000000000000000000081525060400191505060405180910390fd5b836000806001811115610bbc57fe5b600080846000191660001916815260200190815260200160002060030160019054906101000a900460ff166001811115610bf257fe5b141515610c67576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5472616e73616374696f6e207479706520646f6573206e6f74206d617463680081525060200191505060405180910390fd5b85600080826000191660001916815260200190815260200160002060030160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610d6e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f54686520696e69746961746f72206f6620746865207472616e73616374696f6e81526020017f206973206e6f742062757965720000000000000000000000000000000000000081525060400191505060405180910390fd5b349550600086111515610de9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f56616c7565206d7573742062652067726561746572207468616e207a65726f2e81525060200191505060405180910390fd5b610e19866000808a60001916600019168152602001908152602001600020600101546130fe90919063ffffffff16565b600080896000191660001916815260200190815260200160002060010181905550426000808960001916600019168152602001908152602001600020600201819055503373ffffffffffffffffffffffffffffffffffffffff167ff66fd2ae9e24a6a24b02e1b5b7512ffde5149a4176085fc0298ae228c9b9d72988886040518083600019166000191681526020018281526020019250505060405180910390a250505050505050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561110f578787878787873060405160200180886bffffffffffffffffffffffff19166bffffffffffffffffffffffff191681526014018760ff1660ff167f01000000000000000000000000000000000000000000000000000000000000000281526001018663ffffffff1663ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014019750505050505050506040516020818303038152906040526040518082805190602001908083835b6020831015156110db57805182526020820191506020810190506020830392506110b6565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390209050611364565b878787878787308860405160200180896bffffffffffffffffffffffff19166bffffffffffffffffffffffff191681526014018860ff1660ff167f01000000000000000000000000000000000000000000000000000000000000000281526001018763ffffffff1663ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401985050505050505050506040516020818303038152906040526040518082805190602001908083835b602083101515611334578051825260208201915060208101905060208303925061130f565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902090505b979650505050505050565b6000846000806000836000191660001916815260200190815260200160002060010154141515611407576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f5472616e73616374696f6e20657869737473000000000000000000000000000081525060200191505060405180910390fd5b8a600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156114ad576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b8a600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515611553576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b84600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156115f9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b61160c8e8e8e8e8e8e8e8e60018f612757565b8594508473ffffffffffffffffffffffffffffffffffffffff166323b872dd33308b6040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b1580156116e657600080fd5b505af11580156116fa573d6000803e3d6000fd5b505050506040513d602081101561171057600080fd5b810190808051906020019092919050505015156117e1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252605c8152602001807f546f6b656e207472616e73666572206661696c65642c206d6179626520796f7581526020017f20646964206e6f7420617070726f766520657363726f7720636f6e747261637481526020017f20746f207370656e64206f6e20626568616c66206f662062757965720000000081525060600191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff167fce7089d0668849fb9ca29778c0cbf1e764d9efb048d81fd71fb34c94f26db3688a8a6040518083600019166000191681526020018281526020019250505060405180910390a25050505050505050505050505050565b60006020528060005260406000206000915090508060000154908060010154908060020154908060030160009054906101000a900460ff16908060030160019054906101000a900460ff16908060030160029054906101000a900460ff16908060030160039054906101000a900463ffffffff16908060030160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060050160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060060160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508b565b6000806000846000191660001916815260200190815260200160002060090160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b60008083600080600083600019166000191681526020019081526020016000206001015414151515611a6c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737473000000000081525060200191505060405180910390fd5b8460006001811115611a7a57fe5b600080836000191660001916815260200190815260200160002060030160009054906101000a900460ff166001811115611ab057fe5b141515611b4b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001807f5472616e73616374696f6e2069732065697468657220696e206469737075746581526020017f206f722072656c6561736564207374617465000000000000000000000000000081525060400191505060405180910390fd5b856001806001811115611b5a57fe5b600080846000191660001916815260200190815260200160002060030160019054906101000a900460ff166001811115611b9057fe5b141515611c05576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5472616e73616374696f6e207479706520646f6573206e6f74206d617463680081525060200191505060405180910390fd5b87600080826000191660001916815260200190815260200160002060030160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611d0c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f54686520696e69746961746f72206f6620746865207472616e73616374696f6e81526020017f206973206e6f742062757965720000000000000000000000000000000000000081525060400191505060405180910390fd5b879650600087111515611d87576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f56616c7565206d7573742062652067726561746572207468616e207a65726f2e81525060200191505060405180910390fd5b6000808a6000191660001916815260200190815260200160002060050160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1695508573ffffffffffffffffffffffffffffffffffffffff166323b872dd6000808c6000191660001916815260200190815260200160002060030160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff16308b6040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b158015611edb57600080fd5b505af1158015611eef573d6000803e3d6000fd5b505050506040513d6020811015611f0557600080fd5b81019080805190602001909291905050501515611fd6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252605c8152602001807f546f6b656e207472616e73666572206661696c65642c206d6179626520796f7581526020017f20646964206e6f7420617070726f766520657363726f7720636f6e747261637481526020017f20746f207370656e64206f6e20626568616c66206f662062757965720000000081525060600191505060405180910390fd5b612006876000808c60001916600019168152602001908152602001600020600101546130fe90919063ffffffff16565b6000808b6000191660001916815260200190815260200160002060010181905550426000808b60001916600019168152602001908152602001600020600201819055503373ffffffffffffffffffffffffffffffffffffffff167ff66fd2ae9e24a6a24b02e1b5b7512ffde5149a4176085fc0298ae228c9b9d7298a896040518083600019166000191681526020018281526020019250505060405180910390a2505050505050505050565b60015481565b6060600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080548060200260200160405190810160405280929190818152602001828054801561214757602002820191906000526020600020905b8154600019168152602001906001019080831161212f575b50505050509050919050565b846000806000836000191660001916815260200190815260200160002060010154141515156121ea576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737473000000000081525060200191505060405180910390fd5b85600060018111156121f857fe5b600080836000191660001916815260200190815260200160002060030160009054906101000a900460ff16600181111561222e57fe5b1415156122c9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001807f5472616e73616374696f6e2069732065697468657220696e206469737075746581526020017f206f722072656c6561736564207374617465000000000000000000000000000081525060400191505060405180910390fd5b6000868690501180156122e157508383905086869050145b151561237b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001807f4c656e677468206f662064657374696e6174696f6e7320697320696e636f727281526020017f6563742e0000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b6124748d8d808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508c8c808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508b8b808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508a8a8a8080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505089898080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505061311f565b6001600080896000191660001916815260200190815260200160002060030160006101000a81548160ff021916908360018111156124ae57fe5b02179055504260008089600019166000191681526020019081526020016000206002018190555060008088600019166000191681526020019081526020016000206001015461255c888888808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508787808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050506132da565b14151561261d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260488152602001807f546f74616c2076616c756520746f2062652072656c6561736564206d7573742081526020017f626520657175616c20746f20746865207472616e73616374696f6e206573637281526020017f6f772076616c756500000000000000000000000000000000000000000000000081525060600191505060405180910390fd5b7f688e2a1b34445bcd47b0e11ba2a9c8c4d850a1831b64199b59d1c70e2970154587878787876040518086600019166000191681526020018060200180602001838103835287878281815260200192506020028082843782019150508381038252858582818152602001925060200280828437820191505097505050505050505060405180910390a150505050505050505050505050565b6000806000846000191660001916815260200190815260200160002060080160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b60026020528160005260406000208181548110151561274257fe5b90600052602060002001600091509150505481565b8873ffffffffffffffffffffffffffffffffffffffff168a73ffffffffffffffffffffffffffffffffffffffff16141515156127fb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f427579657220616e642073656c6c6572206172652073616d650000000000000081525060200191505060405180910390fd5b600084111515612873576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f56616c756520706173736564206973203000000000000000000000000000000081525060200191505060405180910390fd5b60008760ff1611801561288a575060038760ff1611155b1515612924576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603d8152602001807f5468726573686f6c642063616e6e6f742062652067726561746572207468616e81526020017f203320616e64206d7573742062652067726561746572207468616e203000000081525060400191505060405180910390fd5b60018760ff1614806129635750600073ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff1614155b1515612a23576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252604f8152602001807f456974686572207468726573686f6c642073686f756c642062652031206f746881526020017f6572776973652076616c6964206d6f64657261746f722061646472657373207381526020017f686f756c6420626520706173736564000000000000000000000000000000000081525060600191505060405180910390fd5b612a328388888d8d8d87610ec3565b600019168560001916141515612ad6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260398152602001807f43616c63756c6174656420736372697074206861736820646f6573206e6f742081526020017f6d61746368207061737365642073637269707420686173682e0000000000000081525060400191505060405180910390fd5b610160604051908101604052808660001916815260200185815260200142815260200160006001811115612b0657fe5b8152602001836001811115612b1757fe5b81526020018860ff1681526020018763ffffffff1681526020018b73ffffffffffffffffffffffffffffffffffffffff1681526020018a73ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020018973ffffffffffffffffffffffffffffffffffffffff16815250600080876000191660001916815260200190815260200160002060008201518160000190600019169055602082015181600101556040820151816002015560608201518160030160006101000a81548160ff02191690836001811115612c0157fe5b021790555060808201518160030160016101000a81548160ff02191690836001811115612c2a57fe5b021790555060a08201518160030160026101000a81548160ff021916908360ff16021790555060c08201518160030160036101000a81548163ffffffff021916908363ffffffff16021790555060e08201518160030160076101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506101008201518160040160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506101208201518160050160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506101408201518160060160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055509050506001600080876000191660001916815260200190815260200160002060070160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600080876000191660001916815260200190815260200160002060070160008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600080866000191660001916815260200190815260200160002060070160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151515612f82576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f456974686572206275796572206f722073656c6c65722069732070617373656481526020017f206173206d6f64657261746f720000000000000000000000000000000000000081525060400191505060405180910390fd5b60018760ff161115613002576001600080876000191660001916815260200190815260200160002060070160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b600160008154809291906001019190505550600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020859080600181540180825580915050906001820390600052602060002001600090919290919091509060001916905550600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002085908060018154018082558091505090600182039060005260206000200160009091929091909150906000191690555050505050505050505050565b600080828401905083811015151561311557600080fd5b8091505092915050565b600080613130888888888888613ab9565b9150613186600080876000191660001916815260200190815260200160002060030160039054906101000a900463ffffffff1660008088600019166000191681526020019081526020016000206002015461412c565b9050600080866000191660001916815260200190815260200160002060030160029054906101000a900460ff1660ff16885110801561323757508015806132365750600080866000191660001916815260200190815260200160002060040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b5b156132d0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001807f736967562e6c656e67746820697320756e64657220746865207468726573686f81526020017f6c642e000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b5050505050505050565b6000806000806000806000896000191660001916815260200190815260200160002093506000600181111561330b57fe5b8460030160019054906101000a900460ff16600181111561332857fe5b141561363f57600092505b865183101561363a57600073ffffffffffffffffffffffffffffffffffffffff16878481518110151561336257fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff16141580156133f25750836007016000888581518110151561339f57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1515613466576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f4e6f7420612076616c69642064657374696e6174696f6e00000000000000000081525060200191505060405180910390fd5b6000868481518110151561347657fe5b9060200190602002015111151561351b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001807f416d6f756e7420746f2062652073656e742073686f756c64206265206772656181526020017f746572207468616e20300000000000000000000000000000000000000000000081525060400191505060405180910390fd5b613545868481518110151561352c57fe5b90602001906020020151866130fe90919063ffffffff16565b94506001846009016000898681518110151561355d57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555086838151811015156135c657fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff166108fc87858151811015156135f757fe5b906020019060200201519081150290604051600060405180830381858888f1935050505015801561362c573d6000803e3d6000fd5b508280600101935050613333565b613aae565b60018081111561364b57fe5b8460030160019054906101000a900460ff16600181111561366857fe5b1415613aad578360050160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169150600090505b8651811015613aac57600073ffffffffffffffffffffffffffffffffffffffff1687828151811015156136c957fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff16141580156137595750836007016000888381518110151561370657fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15156137cd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f4e6f7420612076616c69642064657374696e6174696f6e00000000000000000081525060200191505060405180910390fd5b600086828151811015156137dd57fe5b90602001906020020151111515613882576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001807f416d6f756e7420746f2062652073656e742073686f756c64206265206772656181526020017f746572207468616e20300000000000000000000000000000000000000000000081525060400191505060405180910390fd5b6138ac868281518110151561389357fe5b90602001906020020151866130fe90919063ffffffff16565b9450600184600901600089848151811015156138c457fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb888381518110151561394957fe5b90602001906020020151888481518110151561396157fe5b906020019060200201516040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1580156139f057600080fd5b505af1158015613a04573d6000803e3d6000fd5b505050506040513d6020811015613a1a57600080fd5b81019080805190602001909291905050501515613a9f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f546f6b656e207472616e73666572206661696c65642e0000000000000000000081525060200191505060405180910390fd5b808060010191505061369a565b5b5b505050509392505050565b60008060008087518951148015613ad1575089518951145b1515613b45576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f522c532c56206c656e677468206d69736d617463682e0000000000000000000081525060200191505060405180910390fd5b60197f01000000000000000000000000000000000000000000000000000000000000000260007f0100000000000000000000000000000000000000000000000000000000000000023088888b60405160200180877effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168152600101867effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526001018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401848051906020019060200280838360005b83811015613c99578082015181840152602081019050613c7e565b50505050905001838051906020019060200280838360005b83811015613ccc578082015181840152602081019050613cb1565b50505050905001826000191660001916815260200196505050505050506040516020818303038152906040526040518082805190602001908083835b602083101515613d2d5780518252602082019150602081019050602083039250613d08565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902060405160200180807f19457468657265756d205369676e6564204d6573736167653a0a333200000000815250601c0182600019166000191681526020019150506040516020818303038152906040526040518082805190602001908083835b602083101515613dde5780518252602082019150602081019050602083039250613db9565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390209250600091505b885182101561411f576001838b84815181101515613e2c57fe5b906020019060200201518b85815181101515613e4457fe5b906020019060200201518b86815181101515613e5c57fe5b90602001906020020151604051600081526020016040526040518085600019166000191681526020018460ff1660ff1681526020018360001916600019168152602001826000191660001916815260200194505050505060206040516020810390808403906000865af1158015613ed7573d6000803e3d6000fd5b505050602060405103519050600080886000191660001916815260200190815260200160002060070160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515613fbf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f496e76616c6964207369676e617475726500000000000000000000000000000081525060200191505060405180910390fd5b600080886000191660001916815260200190815260200160002060080160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151561409c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f53616d65207369676e61747572652073656e742074776963650000000000000081525060200191505060405180910390fd5b6001600080896000191660001916815260200190815260200160002060080160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508093508180600101925050613e12565b5050509695505050505050565b600080614142834261418090919063ffffffff16565b905060008463ffffffff16146141745761416d610e108563ffffffff166141a190919063ffffffff16565b8111614177565b60005b91505092915050565b60008083831115151561419257600080fd5b82840390508091505092915050565b60008060008414156141b657600091506141d8565b82840290508284828115156141c757fe5b041415156141d457600080fd5b8091505b50929150505600a165627a7a723058200a536a27e2741eb00935ec9d3564539373843a2f0a761986ff23adc3fca62ce30029", - "deployedBytecode": "0x6080604052600436106100ba576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806323b6fd3f146100bf5780632d9ef96e1461017957806346fbcdeb1461019d57806357bced7614610292578063642f2eaf14610383578063b0550c66146104f4578063b719e2801461055d578063b77bf60014610598578063be84ceaf146105c3578063e4ec8b001461065b578063f078656214610704578063f5dbe09c1461076d575b600080fd5b610177600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff169060200190929190803563ffffffff169060200190929190803560001916906020019092919080356bffffffffffffffffffffffff191690602001909291905050506107d6565b005b61019b6004803603810190808035600019169060200190929190505050610a35565b005b3480156101a957600080fd5b5061027460048036038101908080356bffffffffffffffffffffffff19169060200190929190803560ff169060200190929190803563ffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610ec3565b60405180826000191660001916815260200191505060405180910390f35b34801561029e57600080fd5b50610381600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff169060200190929190803563ffffffff16906020019092919080356000191690602001909291908035906020019092919080356bffffffffffffffffffffffff19169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061136f565b005b34801561038f57600080fd5b506103b2600480360381019080803560001916906020019092919050505061184f565b604051808c600019166000191681526020018b81526020018a81526020018960018111156103dc57fe5b60ff1681526020018860018111156103f057fe5b60ff1681526020018760ff1660ff1681526020018663ffffffff1663ffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019b50505050505050505050505060405180910390f35b34801561050057600080fd5b506105436004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611960565b604051808215151515815260200191505060405180910390f35b34801561056957600080fd5b506105966004803603810190808035600019169060200190929190803590602001909291905050506119d2565b005b3480156105a457600080fd5b506105ad6120b2565b6040518082815260200191505060405180910390f35b3480156105cf57600080fd5b50610604600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506120b8565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b8381101561064757808201518184015260208101905061062c565b505050509050019250505060405180910390f35b34801561066757600080fd5b506107026004803603810190808035906020019082018035906020019190919293919293908035906020019082018035906020019190919293919293908035906020019082018035906020019190919293919293908035600019169060200190929190803590602001908201803590602001919091929391929390803590602001908201803590602001919091929391929390505050612153565b005b34801561071057600080fd5b506107536004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506126b5565b604051808215151515815260200191505060405180910390f35b34801561077957600080fd5b506107b8600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050612727565b60405180826000191660001916815260200191505060405180910390f35b81600080600083600019166000191681526020019081526020016000206001015414151561086c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f5472616e73616374696f6e20657869737473000000000000000000000000000081525060200191505060405180910390fd5b87600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610912576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b87600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156109b8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b6109cb8a8a8a8a8a8a348b600080612757565b3373ffffffffffffffffffffffffffffffffffffffff167fce7089d0668849fb9ca29778c0cbf1e764d9efb048d81fd71fb34c94f26db36886346040518083600019166000191681526020018281526020019250505060405180910390a250505050505050505050565b600081600080600083600019166000191681526020019081526020016000206001015414151515610ace576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737473000000000081525060200191505060405180910390fd5b8260006001811115610adc57fe5b600080836000191660001916815260200190815260200160002060030160009054906101000a900460ff166001811115610b1257fe5b141515610bad576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001807f5472616e73616374696f6e2069732065697468657220696e206469737075746581526020017f206f722072656c6561736564207374617465000000000000000000000000000081525060400191505060405180910390fd5b836000806001811115610bbc57fe5b600080846000191660001916815260200190815260200160002060030160019054906101000a900460ff166001811115610bf257fe5b141515610c67576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5472616e73616374696f6e207479706520646f6573206e6f74206d617463680081525060200191505060405180910390fd5b85600080826000191660001916815260200190815260200160002060030160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610d6e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f54686520696e69746961746f72206f6620746865207472616e73616374696f6e81526020017f206973206e6f742062757965720000000000000000000000000000000000000081525060400191505060405180910390fd5b349550600086111515610de9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f56616c7565206d7573742062652067726561746572207468616e207a65726f2e81525060200191505060405180910390fd5b610e19866000808a60001916600019168152602001908152602001600020600101546130fe90919063ffffffff16565b600080896000191660001916815260200190815260200160002060010181905550426000808960001916600019168152602001908152602001600020600201819055503373ffffffffffffffffffffffffffffffffffffffff167ff66fd2ae9e24a6a24b02e1b5b7512ffde5149a4176085fc0298ae228c9b9d72988886040518083600019166000191681526020018281526020019250505060405180910390a250505050505050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561110f578787878787873060405160200180886bffffffffffffffffffffffff19166bffffffffffffffffffffffff191681526014018760ff1660ff167f01000000000000000000000000000000000000000000000000000000000000000281526001018663ffffffff1663ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014019750505050505050506040516020818303038152906040526040518082805190602001908083835b6020831015156110db57805182526020820191506020810190506020830392506110b6565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390209050611364565b878787878787308860405160200180896bffffffffffffffffffffffff19166bffffffffffffffffffffffff191681526014018860ff1660ff167f01000000000000000000000000000000000000000000000000000000000000000281526001018763ffffffff1663ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401985050505050505050506040516020818303038152906040526040518082805190602001908083835b602083101515611334578051825260208201915060208101905060208303925061130f565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902090505b979650505050505050565b6000846000806000836000191660001916815260200190815260200160002060010154141515611407576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f5472616e73616374696f6e20657869737473000000000000000000000000000081525060200191505060405180910390fd5b8a600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156114ad576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b8a600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515611553576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b84600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156115f9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b61160c8e8e8e8e8e8e8e8e60018f612757565b8594508473ffffffffffffffffffffffffffffffffffffffff166323b872dd33308b6040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b1580156116e657600080fd5b505af11580156116fa573d6000803e3d6000fd5b505050506040513d602081101561171057600080fd5b810190808051906020019092919050505015156117e1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252605c8152602001807f546f6b656e207472616e73666572206661696c65642c206d6179626520796f7581526020017f20646964206e6f7420617070726f766520657363726f7720636f6e747261637481526020017f20746f207370656e64206f6e20626568616c66206f662062757965720000000081525060600191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff167fce7089d0668849fb9ca29778c0cbf1e764d9efb048d81fd71fb34c94f26db3688a8a6040518083600019166000191681526020018281526020019250505060405180910390a25050505050505050505050505050565b60006020528060005260406000206000915090508060000154908060010154908060020154908060030160009054906101000a900460ff16908060030160019054906101000a900460ff16908060030160029054906101000a900460ff16908060030160039054906101000a900463ffffffff16908060030160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060050160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060060160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508b565b6000806000846000191660001916815260200190815260200160002060090160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b60008083600080600083600019166000191681526020019081526020016000206001015414151515611a6c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737473000000000081525060200191505060405180910390fd5b8460006001811115611a7a57fe5b600080836000191660001916815260200190815260200160002060030160009054906101000a900460ff166001811115611ab057fe5b141515611b4b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001807f5472616e73616374696f6e2069732065697468657220696e206469737075746581526020017f206f722072656c6561736564207374617465000000000000000000000000000081525060400191505060405180910390fd5b856001806001811115611b5a57fe5b600080846000191660001916815260200190815260200160002060030160019054906101000a900460ff166001811115611b9057fe5b141515611c05576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5472616e73616374696f6e207479706520646f6573206e6f74206d617463680081525060200191505060405180910390fd5b87600080826000191660001916815260200190815260200160002060030160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611d0c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f54686520696e69746961746f72206f6620746865207472616e73616374696f6e81526020017f206973206e6f742062757965720000000000000000000000000000000000000081525060400191505060405180910390fd5b879650600087111515611d87576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f56616c7565206d7573742062652067726561746572207468616e207a65726f2e81525060200191505060405180910390fd5b6000808a6000191660001916815260200190815260200160002060050160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1695508573ffffffffffffffffffffffffffffffffffffffff166323b872dd6000808c6000191660001916815260200190815260200160002060030160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff16308b6040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b158015611edb57600080fd5b505af1158015611eef573d6000803e3d6000fd5b505050506040513d6020811015611f0557600080fd5b81019080805190602001909291905050501515611fd6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252605c8152602001807f546f6b656e207472616e73666572206661696c65642c206d6179626520796f7581526020017f20646964206e6f7420617070726f766520657363726f7720636f6e747261637481526020017f20746f207370656e64206f6e20626568616c66206f662062757965720000000081525060600191505060405180910390fd5b612006876000808c60001916600019168152602001908152602001600020600101546130fe90919063ffffffff16565b6000808b6000191660001916815260200190815260200160002060010181905550426000808b60001916600019168152602001908152602001600020600201819055503373ffffffffffffffffffffffffffffffffffffffff167ff66fd2ae9e24a6a24b02e1b5b7512ffde5149a4176085fc0298ae228c9b9d7298a896040518083600019166000191681526020018281526020019250505060405180910390a2505050505050505050565b60015481565b6060600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080548060200260200160405190810160405280929190818152602001828054801561214757602002820191906000526020600020905b8154600019168152602001906001019080831161212f575b50505050509050919050565b846000806000836000191660001916815260200190815260200160002060010154141515156121ea576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737473000000000081525060200191505060405180910390fd5b85600060018111156121f857fe5b600080836000191660001916815260200190815260200160002060030160009054906101000a900460ff16600181111561222e57fe5b1415156122c9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001807f5472616e73616374696f6e2069732065697468657220696e206469737075746581526020017f206f722072656c6561736564207374617465000000000000000000000000000081525060400191505060405180910390fd5b6000868690501180156122e157508383905086869050145b151561237b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001807f4c656e677468206f662064657374696e6174696f6e7320697320696e636f727281526020017f6563742e0000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b6124748d8d808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508c8c808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508b8b808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508a8a8a8080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505089898080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505061311f565b6001600080896000191660001916815260200190815260200160002060030160006101000a81548160ff021916908360018111156124ae57fe5b02179055504260008089600019166000191681526020019081526020016000206002018190555060008088600019166000191681526020019081526020016000206001015461255c888888808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508787808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050506132da565b14151561261d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260488152602001807f546f74616c2076616c756520746f2062652072656c6561736564206d7573742081526020017f626520657175616c20746f20746865207472616e73616374696f6e206573637281526020017f6f772076616c756500000000000000000000000000000000000000000000000081525060600191505060405180910390fd5b7f688e2a1b34445bcd47b0e11ba2a9c8c4d850a1831b64199b59d1c70e2970154587878787876040518086600019166000191681526020018060200180602001838103835287878281815260200192506020028082843782019150508381038252858582818152602001925060200280828437820191505097505050505050505060405180910390a150505050505050505050505050565b6000806000846000191660001916815260200190815260200160002060080160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b60026020528160005260406000208181548110151561274257fe5b90600052602060002001600091509150505481565b8873ffffffffffffffffffffffffffffffffffffffff168a73ffffffffffffffffffffffffffffffffffffffff16141515156127fb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f427579657220616e642073656c6c6572206172652073616d650000000000000081525060200191505060405180910390fd5b600084111515612873576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f56616c756520706173736564206973203000000000000000000000000000000081525060200191505060405180910390fd5b60008760ff1611801561288a575060038760ff1611155b1515612924576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603d8152602001807f5468726573686f6c642063616e6e6f742062652067726561746572207468616e81526020017f203320616e64206d7573742062652067726561746572207468616e203000000081525060400191505060405180910390fd5b60018760ff1614806129635750600073ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff1614155b1515612a23576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252604f8152602001807f456974686572207468726573686f6c642073686f756c642062652031206f746881526020017f6572776973652076616c6964206d6f64657261746f722061646472657373207381526020017f686f756c6420626520706173736564000000000000000000000000000000000081525060600191505060405180910390fd5b612a328388888d8d8d87610ec3565b600019168560001916141515612ad6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260398152602001807f43616c63756c6174656420736372697074206861736820646f6573206e6f742081526020017f6d61746368207061737365642073637269707420686173682e0000000000000081525060400191505060405180910390fd5b610160604051908101604052808660001916815260200185815260200142815260200160006001811115612b0657fe5b8152602001836001811115612b1757fe5b81526020018860ff1681526020018763ffffffff1681526020018b73ffffffffffffffffffffffffffffffffffffffff1681526020018a73ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020018973ffffffffffffffffffffffffffffffffffffffff16815250600080876000191660001916815260200190815260200160002060008201518160000190600019169055602082015181600101556040820151816002015560608201518160030160006101000a81548160ff02191690836001811115612c0157fe5b021790555060808201518160030160016101000a81548160ff02191690836001811115612c2a57fe5b021790555060a08201518160030160026101000a81548160ff021916908360ff16021790555060c08201518160030160036101000a81548163ffffffff021916908363ffffffff16021790555060e08201518160030160076101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506101008201518160040160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506101208201518160050160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506101408201518160060160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055509050506001600080876000191660001916815260200190815260200160002060070160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600080876000191660001916815260200190815260200160002060070160008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600080866000191660001916815260200190815260200160002060070160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151515612f82576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f456974686572206275796572206f722073656c6c65722069732070617373656481526020017f206173206d6f64657261746f720000000000000000000000000000000000000081525060400191505060405180910390fd5b60018760ff161115613002576001600080876000191660001916815260200190815260200160002060070160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b600160008154809291906001019190505550600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020859080600181540180825580915050906001820390600052602060002001600090919290919091509060001916905550600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002085908060018154018082558091505090600182039060005260206000200160009091929091909150906000191690555050505050505050505050565b600080828401905083811015151561311557600080fd5b8091505092915050565b600080613130888888888888613ab9565b9150613186600080876000191660001916815260200190815260200160002060030160039054906101000a900463ffffffff1660008088600019166000191681526020019081526020016000206002015461412c565b9050600080866000191660001916815260200190815260200160002060030160029054906101000a900460ff1660ff16885110801561323757508015806132365750600080866000191660001916815260200190815260200160002060040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b5b156132d0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001807f736967562e6c656e67746820697320756e64657220746865207468726573686f81526020017f6c642e000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b5050505050505050565b6000806000806000806000896000191660001916815260200190815260200160002093506000600181111561330b57fe5b8460030160019054906101000a900460ff16600181111561332857fe5b141561363f57600092505b865183101561363a57600073ffffffffffffffffffffffffffffffffffffffff16878481518110151561336257fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff16141580156133f25750836007016000888581518110151561339f57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1515613466576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f4e6f7420612076616c69642064657374696e6174696f6e00000000000000000081525060200191505060405180910390fd5b6000868481518110151561347657fe5b9060200190602002015111151561351b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001807f416d6f756e7420746f2062652073656e742073686f756c64206265206772656181526020017f746572207468616e20300000000000000000000000000000000000000000000081525060400191505060405180910390fd5b613545868481518110151561352c57fe5b90602001906020020151866130fe90919063ffffffff16565b94506001846009016000898681518110151561355d57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555086838151811015156135c657fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff166108fc87858151811015156135f757fe5b906020019060200201519081150290604051600060405180830381858888f1935050505015801561362c573d6000803e3d6000fd5b508280600101935050613333565b613aae565b60018081111561364b57fe5b8460030160019054906101000a900460ff16600181111561366857fe5b1415613aad578360050160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169150600090505b8651811015613aac57600073ffffffffffffffffffffffffffffffffffffffff1687828151811015156136c957fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff16141580156137595750836007016000888381518110151561370657fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15156137cd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f4e6f7420612076616c69642064657374696e6174696f6e00000000000000000081525060200191505060405180910390fd5b600086828151811015156137dd57fe5b90602001906020020151111515613882576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001807f416d6f756e7420746f2062652073656e742073686f756c64206265206772656181526020017f746572207468616e20300000000000000000000000000000000000000000000081525060400191505060405180910390fd5b6138ac868281518110151561389357fe5b90602001906020020151866130fe90919063ffffffff16565b9450600184600901600089848151811015156138c457fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb888381518110151561394957fe5b90602001906020020151888481518110151561396157fe5b906020019060200201516040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1580156139f057600080fd5b505af1158015613a04573d6000803e3d6000fd5b505050506040513d6020811015613a1a57600080fd5b81019080805190602001909291905050501515613a9f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f546f6b656e207472616e73666572206661696c65642e0000000000000000000081525060200191505060405180910390fd5b808060010191505061369a565b5b5b505050509392505050565b60008060008087518951148015613ad1575089518951145b1515613b45576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f522c532c56206c656e677468206d69736d617463682e0000000000000000000081525060200191505060405180910390fd5b60197f01000000000000000000000000000000000000000000000000000000000000000260007f0100000000000000000000000000000000000000000000000000000000000000023088888b60405160200180877effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168152600101867effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526001018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401848051906020019060200280838360005b83811015613c99578082015181840152602081019050613c7e565b50505050905001838051906020019060200280838360005b83811015613ccc578082015181840152602081019050613cb1565b50505050905001826000191660001916815260200196505050505050506040516020818303038152906040526040518082805190602001908083835b602083101515613d2d5780518252602082019150602081019050602083039250613d08565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902060405160200180807f19457468657265756d205369676e6564204d6573736167653a0a333200000000815250601c0182600019166000191681526020019150506040516020818303038152906040526040518082805190602001908083835b602083101515613dde5780518252602082019150602081019050602083039250613db9565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390209250600091505b885182101561411f576001838b84815181101515613e2c57fe5b906020019060200201518b85815181101515613e4457fe5b906020019060200201518b86815181101515613e5c57fe5b90602001906020020151604051600081526020016040526040518085600019166000191681526020018460ff1660ff1681526020018360001916600019168152602001826000191660001916815260200194505050505060206040516020810390808403906000865af1158015613ed7573d6000803e3d6000fd5b505050602060405103519050600080886000191660001916815260200190815260200160002060070160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515613fbf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f496e76616c6964207369676e617475726500000000000000000000000000000081525060200191505060405180910390fd5b600080886000191660001916815260200190815260200160002060080160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151561409c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f53616d65207369676e61747572652073656e742074776963650000000000000081525060200191505060405180910390fd5b6001600080896000191660001916815260200190815260200160002060080160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508093508180600101925050613e12565b5050509695505050505050565b600080614142834261418090919063ffffffff16565b905060008463ffffffff16146141745761416d610e108563ffffffff166141a190919063ffffffff16565b8111614177565b60005b91505092915050565b60008083831115151561419257600080fd5b82840390508091505092915050565b60008060008414156141b657600091506141d8565b82840290508284828115156141c757fe5b041415156141d457600080fd5b8091505b50929150505600a165627a7a723058200a536a27e2741eb00935ec9d3564539373843a2f0a761986ff23adc3fca62ce30029", - "sourceMap": "460:20562:0:-;;;1680:1;1646:35;;460:20562;8:9:-1;5:2;;;30:1;27;20:12;5:2;460:20562:0;;;;;;;", - "deployedSourceMap": "460:20562:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3902:702;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7917:598;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12314:1004;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12314:1004:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5704:1021;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5704:1021:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1588:51;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1588:51:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6949:228;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6949:228:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8775:924;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8775:924:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1646:35;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1646:35:0;;;;;;;;;;;;;;;;;;;;;;;9816:207;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9816:207:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;9816:207:0;;;;;;;;;;;;;;;;;10780:1063;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10780:1063:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7400:199;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7400:199:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1758:54;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1758:54:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3902:702;4180:10;2104:1;2070:12;:24;2083:10;2070:24;;;;;;;;;;;;;;;;;:30;;;:35;2062:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4215:5;2454:1;2428:28;;:14;:28;;;;2420:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4245:6;2454:1;2428:28;;:14;:28;;;;2420:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4267:264;4296:5;4315:6;4335:9;4358;4381:12;4407:10;4431:9;4454:8;4476:21;4519:1;4267:15;:264::i;:::-;4574:10;4555:41;;;4562:10;4586:9;4555:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2490:1;2138;3902:702;;;;;;;;:::o;7917:598::-;8195:14;8025:10;1931:1;1897:12;:24;1910:10;1897:24;;;;;;;;;;;;;;;;;:30;;;:35;;1876:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8059:10;2261:13;2226:48;;;;;;;;:12;:24;2239:10;2226:24;;;;;;;;;;;;;;;;;:31;;;;;;;;;;;;:48;;;;;;;;;2205:133;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8100:10;8112:21;2688:15;2644:59;;;;;;;;:12;:24;2657:10;2644:24;;;;;;;;;;;;;;;;;:40;;;;;;;;;;;;:59;;;;;;;;;2623:125;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8153:10;2856:12;:24;2869:10;2856:24;;;;;;;;;;;;;;;;;:30;;;;;;;;;;;;2842:44;;:10;:44;;;2821:124;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8212:9;8195:26;;8249:1;8240:6;:10;8232:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8331;8379:6;8331:12;:24;8344:10;8331:24;;;;;;;;;;;;;;;;;:30;;;:47;;:55;;;;:::i;:::-;8298:12;:24;8311:10;8298:24;;;;;;;;;;;;;;;;;:30;;:88;;;;8436:15;8396:12;:24;8409:10;8396:24;;;;;;;;;;;;;;;;;:37;;:55;;;;8489:10;8467:41;;;8477:10;8501:6;8467:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2758:1;2348;;1983;7917:598;;;:::o;12314:1004::-;12584:12;12640:1;12616:26;;:12;:26;;;12612:700;;;12730:8;12760:9;12791:12;12825:5;12852:6;12880:9;12911:4;12692:241;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;12692:241:0;;;12665:282;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;12665:282:0;;;;;;;;;;;;;;;;12658:289;;12612:700;;;13050:8;13080:9;13111:12;13145:5;13172:6;13200:9;13231:4;13257:12;13012:275;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;13012:275:0;;;12985:316;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;12985:316:0;;;;;;;;;;;;;;;;12978:323;;12612:700;12314:1004;;;;;;;;;:::o;5704:1021::-;6422:20;6024:10;2104:1;2070:12;:24;2083:10;2070:24;;;;;;;;;;;;;;;;;:30;;;:35;2062:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6059:5;2454:1;2428:28;;:14;:28;;;;2420:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6089:6;2454:1;2428:28;;:14;:28;;;;2420:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6120:12;2454:1;2428:28;;:14;:28;;;;2420:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6149:262;6178:5;6197:6;6217:9;6240;6263:12;6289:10;6313:5;6332:8;6354:21;6389:12;6149:15;:262::i;:::-;6460:12;6422:51;;6505:5;:18;;;6524:10;6536:4;6542:5;6505:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6505:43:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6505:43:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6505:43:0;;;;;;;;;;;;;;;;6484:182;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6700:10;6681:37;;;6688:10;6712:5;6681:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2490:1;;2138;5704:1021;;;;;;;;;;;:::o;1588:51::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;6949:228::-;7085:10;7119:12;:24;7132:10;7119:24;;;;;;;;;;;;;;;;;:38;;:51;7158:11;7119:51;;;;;;;;;;;;;;;;;;;;;;;;;7111:59;;6949:228;;;;:::o;8775:924::-;9061:14;9160:20;8907:10;1931:1;1897:12;:24;1910:10;1897:24;;;;;;;;;;;;;;;;;:30;;;:35;;1876:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8941:10;2261:13;2226:48;;;;;;;;:12;:24;2239:10;2226:24;;;;;;;;;;;;;;;;;:31;;;;;;;;;;;;:48;;;;;;;;;2205:133;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8982:10;8994:21;2688:15;2644:59;;;;;;;;:12;:24;2657:10;2644:24;;;;;;;;;;;;;;;;;:40;;;;;;;;;;;;:59;;;;;;;;;2623:125;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9035:10;2856:12;:24;2869:10;2856:24;;;;;;;;;;;;;;;;;:30;;;;;;;;;;;;2842:44;;:10;:44;;;2821:124;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9078:5;9061:22;;9111:1;9102:6;:10;9094:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9211:12;:24;9224:10;9211:24;;;;;;;;;;;;;;;;;:37;;;;;;;;;;;;9160:98;;9290:5;:18;;;9309:12;:24;9322:10;9309:24;;;;;;;;;;;;;;;;;:30;;;;;;;;;;;;9341:4;9347:5;9290:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9290:63:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9290:63:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;9290:63:0;;;;;;;;;;;;;;;;9269:202;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9515:55;9563:6;9515:12;:24;9528:10;9515:24;;;;;;;;;;;;;;;;;:30;;;:47;;:55;;;;:::i;:::-;9482:12;:24;9495:10;9482:24;;;;;;;;;;;;;;;;;:30;;:88;;;;9620:15;9580:12;:24;9593:10;9580:24;;;;;;;;;;;;;;;;;:37;;:55;;;;9673:10;9651:41;;;9661:10;9685:6;9651:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2758:1;2348;;1983;8775:924;;;;;:::o;1646:35::-;;;;:::o;9816:207::-;9938:22;9984:18;:32;10003:12;9984:32;;;;;;;;;;;;;;;9977:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9816:207;;;:::o;10780:1063::-;11003:10;1931:1;1897:12;:24;1910:10;1897:24;;;;;;;;;;;;;;;;;:30;;;:35;;1876:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11037:10;2261:13;2226:48;;;;;;;;:12;:24;2239:10;2226:24;;;;;;;;;;;;;;;;;:31;;;;;;;;;;;;:48;;;;;;;;;2205:133;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11104:1;11084:12;;:19;;:21;:62;;;;;11132:7;;:14;;11109:12;;:19;;:37;11084:62;11063:133;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11207:152;11238:4;;11207:152;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11256:4;;11207:152;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11274:4;;11207:152;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11292:10;11316:12;;11207:152;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11342:7;;11207:152;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:17;:152::i;:::-;11404:15;11370:12;:24;11383:10;11370:24;;;;;;;;;;;;;;;;;:31;;;:49;;;;;;;;;;;;;;;;;;;;;;;;11543:15;11503:12;:24;11516:10;11503:24;;;;;;;;;;;;;;;;;:37;;:55;;;;11641:12;:24;11654:10;11641:24;;;;;;;;;;;;;;;;;:30;;;11589:48;11603:10;11615:12;;11589:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11629:7;;11589:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:13;:48::i;:::-;:82;11568:201;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11793:43;11802:10;11814:12;;11828:7;;11793:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1983:1;10780:1063;;;;;;;;;;;;:::o;7400:199::-;7523:9;7555:12;:24;7568:10;7555:24;;;;;;;;;;;;;;;;;:30;;:37;7586:5;7555:37;;;;;;;;;;;;;;;;;;;;;;;;;7548:44;;7400:199;;;;:::o;1758:54::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;18349:2671::-;18711:6;18702:15;;:5;:15;;;;18694:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18822:1;18814:5;:9;18806:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18960:1;18948:9;:13;;;:31;;;;;18978:1;18965:9;:14;;;;18948:31;18927:140;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19349:1;19336:9;:14;;;:41;;;;19375:1;19354:23;;:9;:23;;;;19336:41;19315:167;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19528:226;19571:8;19597:9;19624:12;19654:5;19677:6;19701:9;19728:12;19528:25;:226::i;:::-;19514:240;;;:10;:240;;;;19493:345;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19876:409;;;;;;;;;20106:10;19876:409;;;;;;;19997:5;19876:409;;;;20065:15;19876:409;;;;20024:13;19876:409;;;;;;;;;;;;20220:15;19876:409;;;;;;;;;;;;20141:9;19876:409;;;;;;20178:12;19876:409;;;;;;19909:5;19876:409;;;;;;19936:6;19876:409;;;;;;20262:12;19876:409;;;;;;19967:9;19876:409;;;;;19849:12;:24;19862:10;19849:24;;;;;;;;;;;;;;;;;:436;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20339:4;20296:12;:24;20309:10;20296:24;;;;;;;;;;;;;;;;;:32;;:40;20329:6;20296:40;;;;;;;;;;;;;;;;:47;;;;;;;;;;;;;;;;;;20395:4;20353:12;:24;20366:10;20353:24;;;;;;;;;;;;;;;;;:32;;:39;20386:5;20353:39;;;;;;;;;;;;;;;;:46;;;;;;;;;;;;;;;;;;20507:12;:24;20520:10;20507:24;;;;;;;;;;;;;;;;;:32;;:43;20540:9;20507:43;;;;;;;;;;;;;;;;;;;;;;;;;20506:44;20485:137;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20794:1;20782:9;:13;;;20778:93;;;20856:4;20810:12;:24;20823:10;20810:24;;;;;;;;;;;;;;;;;:32;;:43;20843:9;20810:43;;;;;;;;;;;;;;;;:50;;;;;;;;;;;;;;;;;;20778:93;20889:16;;:18;;;;;;;;;;;;;20918;:25;20937:5;20918:25;;;;;;;;;;;;;;;20949:10;20918:42;;39:1:-1;33:3;27:10;23:18;57:10;52:3;45:23;79:10;72:17;;0:93;20918:42:0;;;;;;;;;;;;;;;;;;;;;;;;;;;20970:18;:26;20989:6;20970:26;;;;;;;;;;;;;;;21002:10;20970:43;;39:1:-1;33:3;27:10;23:18;57:10;52:3;45:23;79:10;72:17;;0:93;20970:43:0;;;;;;;;;;;;;;;;;;;;;;;;;;;18349:2671;;;;;;;;;;:::o;1272:131:2:-;1330:7;1345:9;1361:1;1357;:5;1345:17;;1381:1;1376;:6;;1368:15;;;;;;;;1397:1;1390:8;;1272:131;;;;;:::o;13592:952:0:-;13812:21;13998:20;13836:151;13866:4;13884;13902;13920:10;13944:12;13970:7;13836:16;:151::i;:::-;13812:175;;14021:129;14052:12;:24;14065:10;14052:24;;;;;;;;;;;;;;;;;:37;;;;;;;;;;;;14103:12;:24;14116:10;14103:24;;;;;;;;;;;;;;;;;:37;;;14021:17;:129::i;:::-;13998:152;;14336:12;:24;14349:10;14336:24;;;;;;;;;;;;;;;;;:34;;;;;;;;;;;;14322:48;;:4;:11;:48;:122;;;;;14376:15;14375:16;:68;;;;14412:12;:24;14425:10;14412:24;;;;;;;;;;;;;;;;;:31;;;;;;;;;;;;14395:48;;:13;:48;;;;14375:68;14322:122;14301:236;;;14481:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14301:236;13592:952;;;;;;;;:::o;14670:1552::-;14817:24;14857:21;14983:9;15620:20;15693:9;14881:12;:24;14894:10;14881:24;;;;;;;;;;;;;;;;;14857:48;;14941:21;14920:42;;;;;;;;:1;:17;;;;;;;;;;;;:42;;;;;;;;;14916:1299;;;14995:1;14983:13;;14978:562;15002:12;:19;14998:1;:23;14978:562;;;15082:1;15055:29;;:12;15068:1;15055:15;;;;;;;;;;;;;;;;;;:29;;;;:59;;;;;15088:1;:9;;:26;15098:12;15111:1;15098:15;;;;;;;;;;;;;;;;;;15088:26;;;;;;;;;;;;;;;;;;;;;;;;;15055:59;15047:95;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15181:1;15168:7;15176:1;15168:10;;;;;;;;;;;;;;;;;;:14;15160:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15267:32;15288:7;15296:1;15288:10;;;;;;;;;;;;;;;;;;15267:16;:20;;:32;;;;:::i;:::-;15248:51;;15353:4;15318:1;:15;;:32;15334:12;15347:1;15334:15;;;;;;;;;;;;;;;;;;15318:32;;;;;;;;;;;;;;;;:39;;;;;;;;;;;;;;;;;;15404:12;15417:1;15404:15;;;;;;;;;;;;;;;;;;:24;;:36;15429:7;15437:1;15429:10;;;;;;;;;;;;;;;;;;15404:36;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;15404:36:0;15023:3;;;;;;;14978:562;;;14916:1299;;;15582:21;15561:42;;;;;;;;:1;:17;;;;;;;;;;;;:42;;;;;;;;;15557:658;;;15658:1;:14;;;;;;;;;;;;15620:53;;15705:1;15693:13;;15688:517;15710:12;:19;15708:1;:21;15688:517;;;15790:1;15763:29;;:12;15776:1;15763:15;;;;;;;;;;;;;;;;;;:29;;;;:59;;;;;15796:1;:9;;:26;15806:12;15819:1;15806:15;;;;;;;;;;;;;;;;;;15796:26;;;;;;;;;;;;;;;;;;;;;;;;;15763:59;15755:95;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15889:1;15876:7;15884:1;15876:10;;;;;;;;;;;;;;;;;;:14;15868:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15975:32;15996:7;16004:1;15996:10;;;;;;;;;;;;;;;;;;15975:16;:20;;:32;;;;:::i;:::-;15956:51;;16060:4;16025:1;:15;;:32;16041:12;16054:1;16041:15;;;;;;;;;;;;;;;;;;16025:32;;;;;;;;;;;;;;;;:39;;;;;;;;;;;;;;;;;;16120:5;:14;;;16135:12;16148:1;16135:15;;;;;;;;;;;;;;;;;;16152:7;16160:1;16152:10;;;;;;;;;;;;;;;;;;16120:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;16120:43:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;16120:43:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;16120:43:0;;;;;;;;;;;;;;;;16112:78;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15731:3;;;;;;;15688:517;;;15557:658;14916:1299;14670:1552;;;;;;;;;:::o;16406:1523::-;16627:19;16887:14;17346:6;17395:17;16698:4;:11;16683:4;:11;:26;:56;;;;;16728:4;:11;16713:4;:11;:26;16683:56;16662:126;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17091:4;17086:10;;17127:1;17122:7;;17155:4;17185:12;17223:7;17256:10;17044:244;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;17044:244:0;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;17044:244:0;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;17044:244:0;;;17013:293;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;17013:293:0;;;;;;;;;;;;;;;;16927:393;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;16927:393:0;;;16904:426;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;16904:426:0;;;;;;;;;;;;;;;;16887:443;;17355:1;17346:10;;17341:582;17362:4;:11;17358:1;:15;17341:582;;;17415:122;17442:6;17466:4;17471:1;17466:7;;;;;;;;;;;;;;;;;;17491:4;17496:1;17491:7;;;;;;;;;;;;;;;;;;17516:4;17521:1;17516:7;;;;;;;;;;;;;;;;;;17415:122;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;17415:122:0;;;;;;;;17395:142;;17577:12;:24;17590:10;17577:24;;;;;;;;;;;;;;;;;:32;;:43;17610:9;17577:43;;;;;;;;;;;;;;;;;;;;;;;;;17552:120;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17712:12;:24;17725:10;17712:24;;;;;;;;;;;;;;;;;:30;;:41;17743:9;17712:41;;;;;;;;;;;;;;;;;;;;;;;;;17711:42;17686:127;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17871:4;17827:12;:24;17840:10;17827:24;;;;;;;;;;;;;;;;;:30;;:41;17858:9;17827:41;;;;;;;;;;;;;;;;:48;;;;;;;;;;;;;;;;;;17903:9;17889:23;;17375:3;;;;;;;17341:582;;;16406:1523;;;;;;;;;;;:::o;17935:327::-;18073:12;18101:17;18121:21;18129:12;18121:3;:7;;:21;;;;:::i;:::-;18101:41;;18192:1;18176:12;:17;;;:69;;18214:31;18240:4;18222:12;18214:21;;:25;;:31;;;;:::i;:::-;18202:9;:43;18176:69;;;18196:5;18176:69;18152:103;;17935:327;;;;;:::o;1078:131:2:-;1136:7;1172:9;1164:1;1159;:6;;1151:15;;;;;;;;1188:1;1184;:5;1172:17;;1203:1;1196:8;;1078:131;;;;;:::o;204:381::-;262:7;523:9;491:1;486;:6;482:35;;;509:1;502:8;;;;482:35;539:1;535;:5;523:17;;563:1;558;554;:5;;;;;;;;:10;546:19;;;;;;;;579:1;572:8;;204:381;;;;;;:::o", - "source": "pragma solidity 0.4.24;\n\nimport \"openzeppelin-solidity/contracts/math/SafeMath.sol\";\n\nimport \"../token/ITokenContract.sol\";\n\n\n/**\n* @dev Supports ERC20 tokens\n* The escrow smart contract for the open bazaar trades in Ethereum\n* The smart contract is desgined keeping in mind the current wallet interface of the OB-core\n* https://github.com/OpenBazaar/wallet-interface/blob/master/wallet.go\n* Current wallet interface strictly adheres to UTXO(bitcoin) model\n*/\ncontract Escrow_v1_0 {\n\n using SafeMath for uint256;\n\n enum Status {FUNDED, RELEASED}\n\n enum TransactionType {ETHER, TOKEN}\n\n event Executed(\n bytes32 scriptHash,\n address[] destinations,\n uint256[] amounts\n );\n\n event FundAdded(\n bytes32 scriptHash,\n address indexed from,\n uint256 valueAdded\n );\n\n event Funded(bytes32 scriptHash, address indexed from, uint256 value);\n\n struct Transaction {\n bytes32 scriptHash;//This is unique indentifier for a transaction\n uint256 value;\n uint256 lastModified;//Time at which transaction was last modified\n Status status;\n TransactionType transactionType;\n uint8 threshold;\n uint32 timeoutHours;\n address buyer;\n address seller;\n address tokenAddress;// Token address in case of token transfer\n address moderator;\n mapping(address=>bool) isOwner;//to keep track of owners/signers.\n mapping(address=>bool) voted;//to keep track of who all voted\n mapping(address=>bool) beneficiaries;//Benefeciaries of execution\n }\n\n mapping(bytes32 => Transaction) public transactions;\n\n uint256 public transactionCount = 0;\n\n //Contains mapping between each party and all of his transactions\n mapping(address => bytes32[])public partyVsTransaction;\n\n modifier transactionExists(bytes32 scriptHash) {\n require(\n transactions[scriptHash].value != 0, \"Transaction does not exists\"\n );\n _;\n }\n\n modifier transactionDoesNotExists (bytes32 scriptHash) {\n require(transactions[scriptHash].value == 0, \"Transaction exists\");\n _;\n }\n\n modifier inFundedState(bytes32 scriptHash) {\n require(\n transactions[scriptHash].status == Status.FUNDED, \"Transaction is either in dispute or released state\"\n );\n _;\n }\n\n modifier nonZeroAddress(address addressToCheck) {\n require(addressToCheck != address(0), \"Zero address passed\");\n _;\n }\n\n modifier checkTransactionType(\n bytes32 scriptHash,\n TransactionType transactionType\n )\n {\n require(\n transactions[scriptHash].transactionType == transactionType, \"Transaction type does not match\"\n );\n _;\n }\n\n modifier onlyBuyer(bytes32 scriptHash) {\n require(\n msg.sender == transactions[scriptHash].buyer, \"The initiator of the transaction is not buyer\"\n );\n _;\n }\n\n /**\n *@dev Add new transaction in the contract\n *@param buyer The buyer of the transaction\n *@param seller The seller of the listing associated with the transaction\n *@param moderator Moderator for this transaction\n *@param scriptHash keccak256 hash of the redeem script\n *@param threshold Minimum number of singatures required to released funds\n *@param timeoutHours Hours after which seller can release funds into his favour by signing transaction\n *@param uniqueId bytes20 unique id for the transaction, generated by ETH wallet\n *Redeem Script format will be following\n \n * scripthash-> keccak256(uniqueId, threshold, timeoutHours, buyer, seller, moderator)\n *Pass amount of the ethers to be put in escrow\n *Please keep in mind you will have to add moderator fees also in the value\n */\n function addTransaction(\n address buyer,\n address seller,\n address moderator,\n uint8 threshold,\n uint32 timeoutHours,\n bytes32 scriptHash,\n bytes20 uniqueId\n )\n external\n payable\n transactionDoesNotExists(scriptHash)\n nonZeroAddress(buyer)\n nonZeroAddress(seller)\n {\n _addTransaction(\n buyer,\n seller,\n moderator,\n threshold,\n timeoutHours,\n scriptHash,\n msg.value,\n uniqueId,\n TransactionType.ETHER,\n address(0)\n );\n \n emit Funded(scriptHash, msg.sender, msg.value);\n\n }\n\n /**\n *@dev Add new transaction in the contract\n *@param buyer The buyer of the transaction\n *@param seller The seller of the listing associated with the transaction\n *@param moderator Moderator for this transaction\n *@param scriptHash keccak256 hash of the redeem script\n *@param threshold Minimum number of singatures required to released funds\n *@param timeoutHours Hours after which seller can release funds into his favour by signing transaction\n *@param value Amount of tokens to be put in escrow\n *@param uniqueId bytes20 unique id for the transaction, generated by ETH wallet\n *@param tokenAddress Address of the token to be used\n *Redeem Script format will be following\n \n * scripthash-> keccak256(uniqueId, threshold, timeoutHours, buyer, seller, moderator, tokenAddress)\n *approve escrow contract to spend amount of token on your behalf\n *Please keep in mind you will have to add moderator fees also in the value\n */\n function addTokenTransaction(\n address buyer,\n address seller,\n address moderator,\n uint8 threshold,\n uint32 timeoutHours,\n bytes32 scriptHash,\n uint256 value,\n bytes20 uniqueId,\n address tokenAddress\n )\n external\n transactionDoesNotExists(scriptHash)\n nonZeroAddress(buyer)\n nonZeroAddress(seller)\n nonZeroAddress(tokenAddress)\n {\n\n _addTransaction(\n buyer,\n seller,\n moderator,\n threshold,\n timeoutHours,\n scriptHash,\n value,\n uniqueId,\n TransactionType.TOKEN,\n tokenAddress\n );\n\n ITokenContract token = ITokenContract(tokenAddress);\n\n require(\n token.transferFrom(msg.sender, this, value),\n \"Token transfer failed, maybe you did not approve escrow contract to spend on behalf of buyer\"\n );\n emit Funded(scriptHash, msg.sender, value);\n }\n\n /**\n * @dev Check whether given address was a beneficiary of transaction execution or not\n * @param scriptHash script hash of the transaction\n * @param beneficiary Beneficiary address to be checked\n */\n function checkBeneficiary(\n bytes32 scriptHash,\n address beneficiary\n )\n external\n view\n returns (bool check)\n {\n check = transactions[scriptHash].beneficiaries[beneficiary];\n }\n\n /**\n * @dev Check whether given party has voted or not\n * @param scriptHash script hash of the transaction\n * @param party Address of the party whose vote has to be checked\n * @return bool vote\n */\n function checkVote(\n bytes32 scriptHash,\n address party\n )\n external\n view\n returns (bool vote)\n {\n vote = transactions[scriptHash].voted[party];\n }\n\n /**\n *@dev Allows buyer of the transaction to add more funds(ether) in the transaction. This will help to cater scenarios wherein initially buyer missed to fund transaction as required\n *@param scriptHash script hash of the transaction\n * Only buyer of the transaction can invoke this method\n */\n function addFundsToTransaction(\n bytes32 scriptHash\n )\n external\n transactionExists(scriptHash)\n inFundedState(scriptHash)\n checkTransactionType(scriptHash, TransactionType.ETHER)\n onlyBuyer(scriptHash)\n payable\n {\n uint256 _value = msg.value;\n\n require(_value > 0, \"Value must be greater than zero.\");\n\n transactions[scriptHash].value = transactions[scriptHash].value\n .add(_value);\n transactions[scriptHash].lastModified = block.timestamp;\n\n emit FundAdded(scriptHash, msg.sender, _value);\n }\n\n /**\n *@dev Allows buyer of the transaction to add more funds(Tokens) in the transaction. This will help to cater scenarios wherein initially buyer missed to fund transaction as required\n *@param scriptHash script hash of the transaction\n */\n function addTokensToTransaction(\n bytes32 scriptHash,\n uint256 value\n )\n external\n transactionExists(scriptHash)\n inFundedState(scriptHash)\n checkTransactionType(scriptHash, TransactionType.TOKEN)\n onlyBuyer(scriptHash)\n {\n uint256 _value = value;\n\n require(_value > 0, \"Value must be greater than zero.\");\n\n ITokenContract token = ITokenContract(\n transactions[scriptHash].tokenAddress\n );\n\n require(\n token.transferFrom(transactions[scriptHash].buyer, this, value),\n \"Token transfer failed, maybe you did not approve escrow contract to spend on behalf of buyer\"\n );\n\n transactions[scriptHash].value = transactions[scriptHash].value\n .add(_value);\n transactions[scriptHash].lastModified = block.timestamp;\n\n emit FundAdded(scriptHash, msg.sender, _value);\n }\n\n /**\n *@dev Returns all transaction ids for a party\n *@param partyAddress Address of the party\n */\n function getAllTransactionsForParty(\n address partyAddress\n ) \n external \n view \n returns (bytes32[] scriptHashes) \n {\n return partyVsTransaction[partyAddress];\n }\n\n /**\n *@dev Allows one of the moderator to collect all the signature to solve dispute and submit it to this method.\n * If all the required signatures are collected and consensus has been reached than funds will be released to the voted party\n *@param sigV Array containing V component of all the signatures\n *@param sigR Array containing R component of all the signatures\n *@param signS Array containing S component of all the signatures\n *@param scriptHash script hash of the transaction\n *@param destinations address of the destination in whose favour dispute resolution is taking place. In case of split payments it will be address of the split payments contract\n *@param amounts value to send to each destination\n */\n function execute(\n uint8[] sigV,\n bytes32[] sigR,\n bytes32[] sigS,\n bytes32 scriptHash,\n address[] destinations,\n uint256[] amounts\n )\n external\n transactionExists(scriptHash)\n inFundedState(scriptHash)\n {\n require(\n destinations.length>0 && destinations.length == amounts.length, \"Length of destinations is incorrect.\"\n );\n\n verifyTransaction(\n sigV,\n sigR,\n sigS,\n scriptHash,\n destinations,\n amounts\n );\n\n transactions[scriptHash].status = Status.RELEASED;\n //Last modified timestamp modified, which will be used by rewards\n transactions[scriptHash].lastModified = block.timestamp;\n require(\n transferFunds(scriptHash, destinations, amounts) == transactions[scriptHash].value,\n \"Total value to be released must be equal to the transaction escrow value\"\n );\n \n emit Executed(scriptHash, destinations, amounts);\n }\n\n\n /**\n *@dev Method for calculating script hash. Calculation will depend upon the type of transaction\n * ETHER Type transaction-:\n * Script Hash- keccak256(uniqueId, threshold, timeoutHours, buyer, seller, moderator)\n * TOKEN Type transaction\n * Script Hash- keccak256(uniqueId, threshold, timeoutHours, buyer, seller, moderator, tokenAddress)\n * Client can use this method to verify whether it has calculated correct script hash or not\n */\n function calculateRedeemScriptHash(\n bytes20 uniqueId,\n uint8 threshold,\n uint32 timeoutHours,\n address buyer,\n address seller,\n address moderator,\n address tokenAddress\n )\n public\n view\n returns (bytes32 hash)\n {\n if (tokenAddress == address(0)) {\n hash = keccak256(\n abi.encodePacked(\n uniqueId,\n threshold,\n timeoutHours,\n buyer,\n seller,\n moderator,\n this\n )\n );\n } else {\n hash = keccak256(\n abi.encodePacked(\n uniqueId,\n threshold,\n timeoutHours,\n buyer,\n seller,\n moderator,\n this,\n tokenAddress\n )\n );\n }\n }\n\n /**\n * @dev This methods checks validity of transaction\n * 1. Verify Signatures\n * 2. Check if minimum number of signatures has been acquired\n * 3. If above condition is false, check if time lock is expired and the execution is signed by seller\n */\n function verifyTransaction(\n uint8[] sigV,\n bytes32[] sigR,\n bytes32[] sigS,\n bytes32 scriptHash,\n address[] destinations,\n uint256[] amounts\n )\n private\n {\n address lastRecovered = verifySignatures(\n sigV,\n sigR,\n sigS,\n scriptHash,\n destinations,\n amounts\n );\n\n bool timeLockExpired = isTimeLockExpired(\n transactions[scriptHash].timeoutHours,\n transactions[scriptHash].lastModified\n );\n\n //if Minimum number of signatures are not gathered and timelock has not expired or transaction was not signed by seller then revert\n if (\n sigV.length < transactions[scriptHash].threshold && (!timeLockExpired || lastRecovered != transactions[scriptHash].seller)\n )\n {\n revert(\"sigV.length is under the threshold.\");\n }\n\n }\n\n /**\n *@dev Private method to transfer funds to the destination addresses on the basis of transaction type\n */\n function transferFunds(\n bytes32 scriptHash,\n address[]destinations,\n uint256[]amounts\n )\n private\n returns (uint256 valueTransferred)\n {\n Transaction storage t = transactions[scriptHash];\n\n if (t.transactionType == TransactionType.ETHER) {\n for (uint256 i = 0; i < destinations.length; i++) {\n\n require(destinations[i] != address(0) && t.isOwner[destinations[i]], \"Not a valid destination\");\n require(amounts[i] > 0, \"Amount to be sent should be greater than 0\");\n\n valueTransferred = valueTransferred.add(amounts[i]);\n\n t.beneficiaries[destinations[i]] = true;//add receiver as beneficiary\n destinations[i].transfer(amounts[i]);//shall we use send instead of transfer to stop malicious actors from blocking funds?\n }\n\n } else if (t.transactionType == TransactionType.TOKEN) {\n\n ITokenContract token = ITokenContract(t.tokenAddress);\n\n for (uint256 j = 0; j 0, \"Amount to be sent should be greater than 0\");\n\n valueTransferred = valueTransferred.add(amounts[j]);\n t.beneficiaries[destinations[j]] = true;//add receiver as beneficiary\n\n require(token.transfer(destinations[j], amounts[j]), \"Token transfer failed.\");\n }\n } \n }\n\n //to check whether the signature are valid or not and if consensus was reached\n //returns the last address recovered, in case of timeout this must be the sender's address\n function verifySignatures(\n uint8[] sigV,\n bytes32[] sigR,\n bytes32[] sigS,\n bytes32 scriptHash,\n address[] destinations,\n uint256[]amounts\n )\n private\n returns (address lastAddress)\n {\n require(\n sigR.length == sigS.length && sigR.length == sigV.length, \n \"R,S,V length mismatch.\"\n );\n\n // Follows ERC191 signature scheme: https://github.com/ethereum/EIPs/issues/191\n bytes32 txHash = keccak256(\n abi.encodePacked(\n \"\\x19Ethereum Signed Message:\\n32\",\n keccak256(\n abi.encodePacked(\n byte(0x19),\n byte(0),\n this,\n destinations,\n amounts,\n scriptHash\n )\n )\n )\n );\n\n for (uint i = 0; i < sigR.length; i++) {\n\n address recovered = ecrecover(\n txHash,\n sigV[i],\n sigR[i],\n sigS[i]\n );\n\n require(\n transactions[scriptHash].isOwner[recovered], \n \"Invalid signature\"\n );\n require(\n !transactions[scriptHash].voted[recovered], \n \"Same signature sent twice\"\n );\n transactions[scriptHash].voted[recovered] = true;\n lastAddress = recovered;\n }\n }\n\n function isTimeLockExpired(\n uint32 timeoutHours,\n uint256 lastModified\n )\n private\n view\n returns (bool expired)\n {\n uint256 timeSince = now.sub(lastModified);\n expired = (\n timeoutHours == 0 ? false:timeSince > uint256(timeoutHours).mul(3600)\n );\n }\n\n /**\n * Private method to add transaction to reduce code redundancy\n */\n function _addTransaction(\n address buyer,\n address seller,\n address moderator,\n uint8 threshold,\n uint32 timeoutHours,\n bytes32 scriptHash,\n uint256 value,\n bytes20 uniqueId,\n TransactionType transactionType,\n address tokenAddress\n )\n private\n { \n require(buyer != seller, \"Buyer and seller are same\");\n\n //value passed should be greater than 0\n require(value > 0, \"Value passed is 0\");\n\n // For now allowing 0 moderator to support 1-2 multisig wallet\n require(\n threshold > 0 && threshold <= 3, \n \"Threshold cannot be greater than 3 and must be greater than 0\"\n );\n\n //if threshold is 1 then moderator can be passed as zero address or any other address(it wont matter aopart from scripthash since we wont add moderator as one of the owner)\n //otherwise moderator should be a valid address\n require(\n threshold == 1 || moderator != address(0),\n \"Either threshold should be 1 otherwise valid moderator address should be passed\"\n );\n\n require(\n scriptHash == calculateRedeemScriptHash(\n uniqueId,\n threshold,\n timeoutHours,\n buyer,\n seller,\n moderator,\n tokenAddress\n ), \n \"Calculated script hash does not match passed script hash.\"\n );\n\n transactions[scriptHash] = Transaction({\n buyer: buyer,\n seller: seller,\n moderator: moderator,\n value: value,\n status: Status.FUNDED,\n lastModified: block.timestamp,\n scriptHash: scriptHash,\n threshold: threshold,\n timeoutHours: timeoutHours,\n transactionType:transactionType,\n tokenAddress:tokenAddress\n });\n\n transactions[scriptHash].isOwner[seller] = true;\n transactions[scriptHash].isOwner[buyer] = true; \n\n //Check if buyer or seller are not passed as moderator\n require(\n !transactions[scriptHash].isOwner[moderator], \n \"Either buyer or seller is passed as moderator\"\n );\n\n //set moderator as one of the owners only if threshold is greater than 1 otherwise only buyer and seller should be able to release funds\n if (threshold > 1){\n transactions[scriptHash].isOwner[moderator] = true;\n }\n \n\n transactionCount++;\n\n partyVsTransaction[buyer].push(scriptHash);\n partyVsTransaction[seller].push(scriptHash);\n }\n}\n", + "bytecode": "0x6080604052600060015534801561001557600080fd5b506141db806100256000396000f3006080604052600436106100ba576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806323b6fd3f146100bf5780632d9ef96e1461017957806346fbcdeb1461019d57806357bced7614610292578063642f2eaf14610383578063b0550c66146104e5578063b719e2801461054e578063b77bf60014610589578063be84ceaf146105b4578063e4ec8b001461064c578063f0786562146106f5578063f5dbe09c1461075e575b600080fd5b610177600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff169060200190929190803563ffffffff169060200190929190803560001916906020019092919080356bffffffffffffffffffffffff191690602001909291905050506107c7565b005b61019b6004803603810190808035600019169060200190929190505050610a26565b005b3480156101a957600080fd5b5061027460048036038101908080356bffffffffffffffffffffffff19169060200190929190803560ff169060200190929190803563ffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610eb4565b60405180826000191660001916815260200191505060405180910390f35b34801561029e57600080fd5b50610381600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff169060200190929190803563ffffffff16906020019092919080356000191690602001909291908035906020019092919080356bffffffffffffffffffffffff19169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611360565b005b34801561038f57600080fd5b506103b26004803603810190808035600019169060200190929190505050611840565b604051808b81526020018a81526020018960018111156103ce57fe5b60ff1681526020018860018111156103e257fe5b60ff1681526020018760ff1660ff1681526020018663ffffffff1663ffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019a505050505050505050505060405180910390f35b3480156104f157600080fd5b506105346004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061194b565b604051808215151515815260200191505060405180910390f35b34801561055a57600080fd5b506105876004803603810190808035600019169060200190929190803590602001909291905050506119bd565b005b34801561059557600080fd5b5061059e61209d565b6040518082815260200191505060405180910390f35b3480156105c057600080fd5b506105f5600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506120a3565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b8381101561063857808201518184015260208101905061061d565b505050509050019250505060405180910390f35b34801561065857600080fd5b506106f3600480360381019080803590602001908201803590602001919091929391929390803590602001908201803590602001919091929391929390803590602001908201803590602001919091929391929390803560001916906020019092919080359060200190820180359060200191909192939192939080359060200190820180359060200191909192939192939050505061213e565b005b34801561070157600080fd5b506107446004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506126a0565b604051808215151515815260200191505060405180910390f35b34801561076a57600080fd5b506107a9600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050612712565b60405180826000191660001916815260200191505060405180910390f35b81600080600083600019166000191681526020019081526020016000206000015414151561085d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f5472616e73616374696f6e20657869737473000000000000000000000000000081525060200191505060405180910390fd5b87600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610903576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b87600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156109a9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b6109bc8a8a8a8a8a8a348b600080612742565b3373ffffffffffffffffffffffffffffffffffffffff167fce7089d0668849fb9ca29778c0cbf1e764d9efb048d81fd71fb34c94f26db36886346040518083600019166000191681526020018281526020019250505060405180910390a250505050505050505050565b600081600080600083600019166000191681526020019081526020016000206000015414151515610abf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737473000000000081525060200191505060405180910390fd5b8260006001811115610acd57fe5b600080836000191660001916815260200190815260200160002060020160009054906101000a900460ff166001811115610b0357fe5b141515610b9e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001807f5472616e73616374696f6e2069732065697468657220696e206469737075746581526020017f206f722072656c6561736564207374617465000000000000000000000000000081525060400191505060405180910390fd5b836000806001811115610bad57fe5b600080846000191660001916815260200190815260200160002060020160019054906101000a900460ff166001811115610be357fe5b141515610c58576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5472616e73616374696f6e207479706520646f6573206e6f74206d617463680081525060200191505060405180910390fd5b85600080826000191660001916815260200190815260200160002060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610d5f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f54686520696e69746961746f72206f6620746865207472616e73616374696f6e81526020017f206973206e6f742062757965720000000000000000000000000000000000000081525060400191505060405180910390fd5b349550600086111515610dda576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f56616c7565206d7573742062652067726561746572207468616e207a65726f2e81525060200191505060405180910390fd5b610e0a866000808a60001916600019168152602001908152602001600020600001546130ce90919063ffffffff16565b600080896000191660001916815260200190815260200160002060000181905550426000808960001916600019168152602001908152602001600020600101819055503373ffffffffffffffffffffffffffffffffffffffff167ff66fd2ae9e24a6a24b02e1b5b7512ffde5149a4176085fc0298ae228c9b9d72988886040518083600019166000191681526020018281526020019250505060405180910390a250505050505050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611100578787878787873060405160200180886bffffffffffffffffffffffff19166bffffffffffffffffffffffff191681526014018760ff1660ff167f01000000000000000000000000000000000000000000000000000000000000000281526001018663ffffffff1663ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014019750505050505050506040516020818303038152906040526040518082805190602001908083835b6020831015156110cc57805182526020820191506020810190506020830392506110a7565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390209050611355565b878787878787308860405160200180896bffffffffffffffffffffffff19166bffffffffffffffffffffffff191681526014018860ff1660ff167f01000000000000000000000000000000000000000000000000000000000000000281526001018763ffffffff1663ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401985050505050505050506040516020818303038152906040526040518082805190602001908083835b6020831015156113255780518252602082019150602081019050602083039250611300565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902090505b979650505050505050565b60008460008060008360001916600019168152602001908152602001600020600001541415156113f8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f5472616e73616374696f6e20657869737473000000000000000000000000000081525060200191505060405180910390fd5b8a600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561149e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b8a600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515611544576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b84600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156115ea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b6115fd8e8e8e8e8e8e8e8e60018f612742565b8594508473ffffffffffffffffffffffffffffffffffffffff166323b872dd33308b6040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b1580156116d757600080fd5b505af11580156116eb573d6000803e3d6000fd5b505050506040513d602081101561170157600080fd5b810190808051906020019092919050505015156117d2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252605c8152602001807f546f6b656e207472616e73666572206661696c65642c206d6179626520796f7581526020017f20646964206e6f7420617070726f766520657363726f7720636f6e747261637481526020017f20746f207370656e64206f6e20626568616c66206f662062757965720000000081525060600191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff167fce7089d0668849fb9ca29778c0cbf1e764d9efb048d81fd71fb34c94f26db3688a8a6040518083600019166000191681526020018281526020019250505060405180910390a25050505050505050505050505050565b60006020528060005260406000206000915090508060000154908060010154908060020160009054906101000a900460ff16908060020160019054906101000a900460ff16908060020160029054906101000a900460ff16908060020160039054906101000a900463ffffffff16908060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060050160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508a565b6000806000846000191660001916815260200190815260200160002060080160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b60008083600080600083600019166000191681526020019081526020016000206000015414151515611a57576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737473000000000081525060200191505060405180910390fd5b8460006001811115611a6557fe5b600080836000191660001916815260200190815260200160002060020160009054906101000a900460ff166001811115611a9b57fe5b141515611b36576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001807f5472616e73616374696f6e2069732065697468657220696e206469737075746581526020017f206f722072656c6561736564207374617465000000000000000000000000000081525060400191505060405180910390fd5b856001806001811115611b4557fe5b600080846000191660001916815260200190815260200160002060020160019054906101000a900460ff166001811115611b7b57fe5b141515611bf0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5472616e73616374696f6e207479706520646f6573206e6f74206d617463680081525060200191505060405180910390fd5b87600080826000191660001916815260200190815260200160002060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611cf7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f54686520696e69746961746f72206f6620746865207472616e73616374696f6e81526020017f206973206e6f742062757965720000000000000000000000000000000000000081525060400191505060405180910390fd5b879650600087111515611d72576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f56616c7565206d7573742062652067726561746572207468616e207a65726f2e81525060200191505060405180910390fd5b6000808a6000191660001916815260200190815260200160002060040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1695508573ffffffffffffffffffffffffffffffffffffffff166323b872dd6000808c6000191660001916815260200190815260200160002060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff16308b6040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b158015611ec657600080fd5b505af1158015611eda573d6000803e3d6000fd5b505050506040513d6020811015611ef057600080fd5b81019080805190602001909291905050501515611fc1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252605c8152602001807f546f6b656e207472616e73666572206661696c65642c206d6179626520796f7581526020017f20646964206e6f7420617070726f766520657363726f7720636f6e747261637481526020017f20746f207370656e64206f6e20626568616c66206f662062757965720000000081525060600191505060405180910390fd5b611ff1876000808c60001916600019168152602001908152602001600020600001546130ce90919063ffffffff16565b6000808b6000191660001916815260200190815260200160002060000181905550426000808b60001916600019168152602001908152602001600020600101819055503373ffffffffffffffffffffffffffffffffffffffff167ff66fd2ae9e24a6a24b02e1b5b7512ffde5149a4176085fc0298ae228c9b9d7298a896040518083600019166000191681526020018281526020019250505060405180910390a2505050505050505050565b60015481565b6060600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080548060200260200160405190810160405280929190818152602001828054801561213257602002820191906000526020600020905b8154600019168152602001906001019080831161211a575b50505050509050919050565b846000806000836000191660001916815260200190815260200160002060000154141515156121d5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737473000000000081525060200191505060405180910390fd5b85600060018111156121e357fe5b600080836000191660001916815260200190815260200160002060020160009054906101000a900460ff16600181111561221957fe5b1415156122b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001807f5472616e73616374696f6e2069732065697468657220696e206469737075746581526020017f206f722072656c6561736564207374617465000000000000000000000000000081525060400191505060405180910390fd5b6000868690501180156122cc57508383905086869050145b1515612366576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001807f4c656e677468206f662064657374696e6174696f6e7320697320696e636f727281526020017f6563742e0000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b61245f8d8d808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508c8c808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508b8b808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508a8a8a808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508989808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050506130ef565b6001600080896000191660001916815260200190815260200160002060020160006101000a81548160ff0219169083600181111561249957fe5b021790555042600080896000191660001916815260200190815260200160002060010181905550600080886000191660001916815260200190815260200160002060000154612547888888808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508787808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050506132aa565b141515612608576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260488152602001807f546f74616c2076616c756520746f2062652072656c6561736564206d7573742081526020017f626520657175616c20746f20746865207472616e73616374696f6e206573637281526020017f6f772076616c756500000000000000000000000000000000000000000000000081525060600191505060405180910390fd5b7f688e2a1b34445bcd47b0e11ba2a9c8c4d850a1831b64199b59d1c70e2970154587878787876040518086600019166000191681526020018060200180602001838103835287878281815260200192506020028082843782019150508381038252858582818152602001925060200280828437820191505097505050505050505060405180910390a150505050505050505050505050565b6000806000846000191660001916815260200190815260200160002060070160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b60026020528160005260406000208181548110151561272d57fe5b90600052602060002001600091509150505481565b8873ffffffffffffffffffffffffffffffffffffffff168a73ffffffffffffffffffffffffffffffffffffffff16141515156127e6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f427579657220616e642073656c6c6572206172652073616d650000000000000081525060200191505060405180910390fd5b60008411151561285e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f56616c756520706173736564206973203000000000000000000000000000000081525060200191505060405180910390fd5b60008760ff16118015612875575060038760ff1611155b151561290f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603d8152602001807f5468726573686f6c642063616e6e6f742062652067726561746572207468616e81526020017f203320616e64206d7573742062652067726561746572207468616e203000000081525060400191505060405180910390fd5b60018760ff16148061294e5750600073ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff1614155b1515612a0e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252604f8152602001807f456974686572207468726573686f6c642073686f756c642062652031206f746881526020017f6572776973652076616c6964206d6f64657261746f722061646472657373207381526020017f686f756c6420626520706173736564000000000000000000000000000000000081525060600191505060405180910390fd5b612a1d8388888d8d8d87610eb4565b600019168560001916141515612ac1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260398152602001807f43616c63756c6174656420736372697074206861736820646f6573206e6f742081526020017f6d61746368207061737365642073637269707420686173682e0000000000000081525060400191505060405180910390fd5b6101406040519081016040528085815260200142815260200160006001811115612ae757fe5b8152602001836001811115612af857fe5b81526020018860ff1681526020018763ffffffff1681526020018b73ffffffffffffffffffffffffffffffffffffffff1681526020018a73ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020018973ffffffffffffffffffffffffffffffffffffffff168152506000808760001916600019168152602001908152602001600020600082015181600001556020820151816001015560408201518160020160006101000a81548160ff02191690836001811115612bd257fe5b021790555060608201518160020160016101000a81548160ff02191690836001811115612bfb57fe5b021790555060808201518160020160026101000a81548160ff021916908360ff16021790555060a08201518160020160036101000a81548163ffffffff021916908363ffffffff16021790555060c08201518160020160076101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060e08201518160030160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506101008201518160040160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506101208201518160050160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055509050506001600080876000191660001916815260200190815260200160002060060160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600080876000191660001916815260200190815260200160002060060160008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600080866000191660001916815260200190815260200160002060060160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151515612f52576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f456974686572206275796572206f722073656c6c65722069732070617373656481526020017f206173206d6f64657261746f720000000000000000000000000000000000000081525060400191505060405180910390fd5b60018760ff161115612fd2576001600080876000191660001916815260200190815260200160002060060160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b600160008154809291906001019190505550600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020859080600181540180825580915050906001820390600052602060002001600090919290919091509060001916905550600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002085908060018154018082558091505090600182039060005260206000200160009091929091909150906000191690555050505050505050505050565b60008082840190508381101515156130e557600080fd5b8091505092915050565b600080613100888888888888613a89565b9150613156600080876000191660001916815260200190815260200160002060020160039054906101000a900463ffffffff166000808860001916600019168152602001908152602001600020600101546140fc565b9050600080866000191660001916815260200190815260200160002060020160029054906101000a900460ff1660ff16885110801561320757508015806132065750600080866000191660001916815260200190815260200160002060030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b5b156132a0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001807f736967562e6c656e67746820697320756e64657220746865207468726573686f81526020017f6c642e000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b5050505050505050565b600080600080600080600089600019166000191681526020019081526020016000209350600060018111156132db57fe5b8460020160019054906101000a900460ff1660018111156132f857fe5b141561360f57600092505b865183101561360a57600073ffffffffffffffffffffffffffffffffffffffff16878481518110151561333257fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff16141580156133c25750836006016000888581518110151561336f57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1515613436576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f4e6f7420612076616c69642064657374696e6174696f6e00000000000000000081525060200191505060405180910390fd5b6000868481518110151561344657fe5b906020019060200201511115156134eb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001807f416d6f756e7420746f2062652073656e742073686f756c64206265206772656181526020017f746572207468616e20300000000000000000000000000000000000000000000081525060400191505060405180910390fd5b61351586848151811015156134fc57fe5b90602001906020020151866130ce90919063ffffffff16565b94506001846008016000898681518110151561352d57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550868381518110151561359657fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff166108fc87858151811015156135c757fe5b906020019060200201519081150290604051600060405180830381858888f193505050501580156135fc573d6000803e3d6000fd5b508280600101935050613303565b613a7e565b60018081111561361b57fe5b8460020160019054906101000a900460ff16600181111561363857fe5b1415613a7d578360040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169150600090505b8651811015613a7c57600073ffffffffffffffffffffffffffffffffffffffff16878281518110151561369957fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1614158015613729575083600601600088838151811015156136d657fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b151561379d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f4e6f7420612076616c69642064657374696e6174696f6e00000000000000000081525060200191505060405180910390fd5b600086828151811015156137ad57fe5b90602001906020020151111515613852576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001807f416d6f756e7420746f2062652073656e742073686f756c64206265206772656181526020017f746572207468616e20300000000000000000000000000000000000000000000081525060400191505060405180910390fd5b61387c868281518110151561386357fe5b90602001906020020151866130ce90919063ffffffff16565b94506001846008016000898481518110151561389457fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb888381518110151561391957fe5b90602001906020020151888481518110151561393157fe5b906020019060200201516040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1580156139c057600080fd5b505af11580156139d4573d6000803e3d6000fd5b505050506040513d60208110156139ea57600080fd5b81019080805190602001909291905050501515613a6f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f546f6b656e207472616e73666572206661696c65642e0000000000000000000081525060200191505060405180910390fd5b808060010191505061366a565b5b5b505050509392505050565b60008060008087518951148015613aa1575089518951145b1515613b15576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f522c532c56206c656e677468206d69736d617463682e0000000000000000000081525060200191505060405180910390fd5b60197f01000000000000000000000000000000000000000000000000000000000000000260007f0100000000000000000000000000000000000000000000000000000000000000023088888b60405160200180877effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168152600101867effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526001018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401848051906020019060200280838360005b83811015613c69578082015181840152602081019050613c4e565b50505050905001838051906020019060200280838360005b83811015613c9c578082015181840152602081019050613c81565b50505050905001826000191660001916815260200196505050505050506040516020818303038152906040526040518082805190602001908083835b602083101515613cfd5780518252602082019150602081019050602083039250613cd8565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902060405160200180807f19457468657265756d205369676e6564204d6573736167653a0a333200000000815250601c0182600019166000191681526020019150506040516020818303038152906040526040518082805190602001908083835b602083101515613dae5780518252602082019150602081019050602083039250613d89565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390209250600091505b88518210156140ef576001838b84815181101515613dfc57fe5b906020019060200201518b85815181101515613e1457fe5b906020019060200201518b86815181101515613e2c57fe5b90602001906020020151604051600081526020016040526040518085600019166000191681526020018460ff1660ff1681526020018360001916600019168152602001826000191660001916815260200194505050505060206040516020810390808403906000865af1158015613ea7573d6000803e3d6000fd5b505050602060405103519050600080886000191660001916815260200190815260200160002060060160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515613f8f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f496e76616c6964207369676e617475726500000000000000000000000000000081525060200191505060405180910390fd5b600080886000191660001916815260200190815260200160002060070160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151561406c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f53616d65207369676e61747572652073656e742074776963650000000000000081525060200191505060405180910390fd5b6001600080896000191660001916815260200190815260200160002060070160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508093508180600101925050613de2565b5050509695505050505050565b600080614112834261415090919063ffffffff16565b905060008463ffffffff16146141445761413d610e108563ffffffff1661417190919063ffffffff16565b8111614147565b60005b91505092915050565b60008083831115151561416257600080fd5b82840390508091505092915050565b600080600084141561418657600091506141a8565b828402905082848281151561419757fe5b041415156141a457600080fd5b8091505b50929150505600a165627a7a7230582086a7491862c2f2d2f1eaa7529aee426687778ccd2ee33fa2a5d831969e86e5490029", + "deployedBytecode": "0x6080604052600436106100ba576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806323b6fd3f146100bf5780632d9ef96e1461017957806346fbcdeb1461019d57806357bced7614610292578063642f2eaf14610383578063b0550c66146104e5578063b719e2801461054e578063b77bf60014610589578063be84ceaf146105b4578063e4ec8b001461064c578063f0786562146106f5578063f5dbe09c1461075e575b600080fd5b610177600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff169060200190929190803563ffffffff169060200190929190803560001916906020019092919080356bffffffffffffffffffffffff191690602001909291905050506107c7565b005b61019b6004803603810190808035600019169060200190929190505050610a26565b005b3480156101a957600080fd5b5061027460048036038101908080356bffffffffffffffffffffffff19169060200190929190803560ff169060200190929190803563ffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610eb4565b60405180826000191660001916815260200191505060405180910390f35b34801561029e57600080fd5b50610381600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff169060200190929190803563ffffffff16906020019092919080356000191690602001909291908035906020019092919080356bffffffffffffffffffffffff19169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611360565b005b34801561038f57600080fd5b506103b26004803603810190808035600019169060200190929190505050611840565b604051808b81526020018a81526020018960018111156103ce57fe5b60ff1681526020018860018111156103e257fe5b60ff1681526020018760ff1660ff1681526020018663ffffffff1663ffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019a505050505050505050505060405180910390f35b3480156104f157600080fd5b506105346004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061194b565b604051808215151515815260200191505060405180910390f35b34801561055a57600080fd5b506105876004803603810190808035600019169060200190929190803590602001909291905050506119bd565b005b34801561059557600080fd5b5061059e61209d565b6040518082815260200191505060405180910390f35b3480156105c057600080fd5b506105f5600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506120a3565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b8381101561063857808201518184015260208101905061061d565b505050509050019250505060405180910390f35b34801561065857600080fd5b506106f3600480360381019080803590602001908201803590602001919091929391929390803590602001908201803590602001919091929391929390803590602001908201803590602001919091929391929390803560001916906020019092919080359060200190820180359060200191909192939192939080359060200190820180359060200191909192939192939050505061213e565b005b34801561070157600080fd5b506107446004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506126a0565b604051808215151515815260200191505060405180910390f35b34801561076a57600080fd5b506107a9600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050612712565b60405180826000191660001916815260200191505060405180910390f35b81600080600083600019166000191681526020019081526020016000206000015414151561085d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f5472616e73616374696f6e20657869737473000000000000000000000000000081525060200191505060405180910390fd5b87600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610903576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b87600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156109a9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b6109bc8a8a8a8a8a8a348b600080612742565b3373ffffffffffffffffffffffffffffffffffffffff167fce7089d0668849fb9ca29778c0cbf1e764d9efb048d81fd71fb34c94f26db36886346040518083600019166000191681526020018281526020019250505060405180910390a250505050505050505050565b600081600080600083600019166000191681526020019081526020016000206000015414151515610abf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737473000000000081525060200191505060405180910390fd5b8260006001811115610acd57fe5b600080836000191660001916815260200190815260200160002060020160009054906101000a900460ff166001811115610b0357fe5b141515610b9e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001807f5472616e73616374696f6e2069732065697468657220696e206469737075746581526020017f206f722072656c6561736564207374617465000000000000000000000000000081525060400191505060405180910390fd5b836000806001811115610bad57fe5b600080846000191660001916815260200190815260200160002060020160019054906101000a900460ff166001811115610be357fe5b141515610c58576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5472616e73616374696f6e207479706520646f6573206e6f74206d617463680081525060200191505060405180910390fd5b85600080826000191660001916815260200190815260200160002060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610d5f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f54686520696e69746961746f72206f6620746865207472616e73616374696f6e81526020017f206973206e6f742062757965720000000000000000000000000000000000000081525060400191505060405180910390fd5b349550600086111515610dda576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f56616c7565206d7573742062652067726561746572207468616e207a65726f2e81525060200191505060405180910390fd5b610e0a866000808a60001916600019168152602001908152602001600020600001546130ce90919063ffffffff16565b600080896000191660001916815260200190815260200160002060000181905550426000808960001916600019168152602001908152602001600020600101819055503373ffffffffffffffffffffffffffffffffffffffff167ff66fd2ae9e24a6a24b02e1b5b7512ffde5149a4176085fc0298ae228c9b9d72988886040518083600019166000191681526020018281526020019250505060405180910390a250505050505050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611100578787878787873060405160200180886bffffffffffffffffffffffff19166bffffffffffffffffffffffff191681526014018760ff1660ff167f01000000000000000000000000000000000000000000000000000000000000000281526001018663ffffffff1663ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014019750505050505050506040516020818303038152906040526040518082805190602001908083835b6020831015156110cc57805182526020820191506020810190506020830392506110a7565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390209050611355565b878787878787308860405160200180896bffffffffffffffffffffffff19166bffffffffffffffffffffffff191681526014018860ff1660ff167f01000000000000000000000000000000000000000000000000000000000000000281526001018763ffffffff1663ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401985050505050505050506040516020818303038152906040526040518082805190602001908083835b6020831015156113255780518252602082019150602081019050602083039250611300565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902090505b979650505050505050565b60008460008060008360001916600019168152602001908152602001600020600001541415156113f8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f5472616e73616374696f6e20657869737473000000000000000000000000000081525060200191505060405180910390fd5b8a600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561149e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b8a600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515611544576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b84600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156115ea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b6115fd8e8e8e8e8e8e8e8e60018f612742565b8594508473ffffffffffffffffffffffffffffffffffffffff166323b872dd33308b6040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b1580156116d757600080fd5b505af11580156116eb573d6000803e3d6000fd5b505050506040513d602081101561170157600080fd5b810190808051906020019092919050505015156117d2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252605c8152602001807f546f6b656e207472616e73666572206661696c65642c206d6179626520796f7581526020017f20646964206e6f7420617070726f766520657363726f7720636f6e747261637481526020017f20746f207370656e64206f6e20626568616c66206f662062757965720000000081525060600191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff167fce7089d0668849fb9ca29778c0cbf1e764d9efb048d81fd71fb34c94f26db3688a8a6040518083600019166000191681526020018281526020019250505060405180910390a25050505050505050505050505050565b60006020528060005260406000206000915090508060000154908060010154908060020160009054906101000a900460ff16908060020160019054906101000a900460ff16908060020160029054906101000a900460ff16908060020160039054906101000a900463ffffffff16908060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060050160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508a565b6000806000846000191660001916815260200190815260200160002060080160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b60008083600080600083600019166000191681526020019081526020016000206000015414151515611a57576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737473000000000081525060200191505060405180910390fd5b8460006001811115611a6557fe5b600080836000191660001916815260200190815260200160002060020160009054906101000a900460ff166001811115611a9b57fe5b141515611b36576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001807f5472616e73616374696f6e2069732065697468657220696e206469737075746581526020017f206f722072656c6561736564207374617465000000000000000000000000000081525060400191505060405180910390fd5b856001806001811115611b4557fe5b600080846000191660001916815260200190815260200160002060020160019054906101000a900460ff166001811115611b7b57fe5b141515611bf0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5472616e73616374696f6e207479706520646f6573206e6f74206d617463680081525060200191505060405180910390fd5b87600080826000191660001916815260200190815260200160002060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611cf7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f54686520696e69746961746f72206f6620746865207472616e73616374696f6e81526020017f206973206e6f742062757965720000000000000000000000000000000000000081525060400191505060405180910390fd5b879650600087111515611d72576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f56616c7565206d7573742062652067726561746572207468616e207a65726f2e81525060200191505060405180910390fd5b6000808a6000191660001916815260200190815260200160002060040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1695508573ffffffffffffffffffffffffffffffffffffffff166323b872dd6000808c6000191660001916815260200190815260200160002060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff16308b6040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b158015611ec657600080fd5b505af1158015611eda573d6000803e3d6000fd5b505050506040513d6020811015611ef057600080fd5b81019080805190602001909291905050501515611fc1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252605c8152602001807f546f6b656e207472616e73666572206661696c65642c206d6179626520796f7581526020017f20646964206e6f7420617070726f766520657363726f7720636f6e747261637481526020017f20746f207370656e64206f6e20626568616c66206f662062757965720000000081525060600191505060405180910390fd5b611ff1876000808c60001916600019168152602001908152602001600020600001546130ce90919063ffffffff16565b6000808b6000191660001916815260200190815260200160002060000181905550426000808b60001916600019168152602001908152602001600020600101819055503373ffffffffffffffffffffffffffffffffffffffff167ff66fd2ae9e24a6a24b02e1b5b7512ffde5149a4176085fc0298ae228c9b9d7298a896040518083600019166000191681526020018281526020019250505060405180910390a2505050505050505050565b60015481565b6060600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080548060200260200160405190810160405280929190818152602001828054801561213257602002820191906000526020600020905b8154600019168152602001906001019080831161211a575b50505050509050919050565b846000806000836000191660001916815260200190815260200160002060000154141515156121d5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737473000000000081525060200191505060405180910390fd5b85600060018111156121e357fe5b600080836000191660001916815260200190815260200160002060020160009054906101000a900460ff16600181111561221957fe5b1415156122b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001807f5472616e73616374696f6e2069732065697468657220696e206469737075746581526020017f206f722072656c6561736564207374617465000000000000000000000000000081525060400191505060405180910390fd5b6000868690501180156122cc57508383905086869050145b1515612366576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001807f4c656e677468206f662064657374696e6174696f6e7320697320696e636f727281526020017f6563742e0000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b61245f8d8d808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508c8c808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508b8b808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508a8a8a808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508989808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050506130ef565b6001600080896000191660001916815260200190815260200160002060020160006101000a81548160ff0219169083600181111561249957fe5b021790555042600080896000191660001916815260200190815260200160002060010181905550600080886000191660001916815260200190815260200160002060000154612547888888808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508787808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050506132aa565b141515612608576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260488152602001807f546f74616c2076616c756520746f2062652072656c6561736564206d7573742081526020017f626520657175616c20746f20746865207472616e73616374696f6e206573637281526020017f6f772076616c756500000000000000000000000000000000000000000000000081525060600191505060405180910390fd5b7f688e2a1b34445bcd47b0e11ba2a9c8c4d850a1831b64199b59d1c70e2970154587878787876040518086600019166000191681526020018060200180602001838103835287878281815260200192506020028082843782019150508381038252858582818152602001925060200280828437820191505097505050505050505060405180910390a150505050505050505050505050565b6000806000846000191660001916815260200190815260200160002060070160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b60026020528160005260406000208181548110151561272d57fe5b90600052602060002001600091509150505481565b8873ffffffffffffffffffffffffffffffffffffffff168a73ffffffffffffffffffffffffffffffffffffffff16141515156127e6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f427579657220616e642073656c6c6572206172652073616d650000000000000081525060200191505060405180910390fd5b60008411151561285e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f56616c756520706173736564206973203000000000000000000000000000000081525060200191505060405180910390fd5b60008760ff16118015612875575060038760ff1611155b151561290f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603d8152602001807f5468726573686f6c642063616e6e6f742062652067726561746572207468616e81526020017f203320616e64206d7573742062652067726561746572207468616e203000000081525060400191505060405180910390fd5b60018760ff16148061294e5750600073ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff1614155b1515612a0e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252604f8152602001807f456974686572207468726573686f6c642073686f756c642062652031206f746881526020017f6572776973652076616c6964206d6f64657261746f722061646472657373207381526020017f686f756c6420626520706173736564000000000000000000000000000000000081525060600191505060405180910390fd5b612a1d8388888d8d8d87610eb4565b600019168560001916141515612ac1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260398152602001807f43616c63756c6174656420736372697074206861736820646f6573206e6f742081526020017f6d61746368207061737365642073637269707420686173682e0000000000000081525060400191505060405180910390fd5b6101406040519081016040528085815260200142815260200160006001811115612ae757fe5b8152602001836001811115612af857fe5b81526020018860ff1681526020018763ffffffff1681526020018b73ffffffffffffffffffffffffffffffffffffffff1681526020018a73ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020018973ffffffffffffffffffffffffffffffffffffffff168152506000808760001916600019168152602001908152602001600020600082015181600001556020820151816001015560408201518160020160006101000a81548160ff02191690836001811115612bd257fe5b021790555060608201518160020160016101000a81548160ff02191690836001811115612bfb57fe5b021790555060808201518160020160026101000a81548160ff021916908360ff16021790555060a08201518160020160036101000a81548163ffffffff021916908363ffffffff16021790555060c08201518160020160076101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060e08201518160030160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506101008201518160040160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506101208201518160050160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055509050506001600080876000191660001916815260200190815260200160002060060160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600080876000191660001916815260200190815260200160002060060160008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600080866000191660001916815260200190815260200160002060060160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151515612f52576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f456974686572206275796572206f722073656c6c65722069732070617373656481526020017f206173206d6f64657261746f720000000000000000000000000000000000000081525060400191505060405180910390fd5b60018760ff161115612fd2576001600080876000191660001916815260200190815260200160002060060160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b600160008154809291906001019190505550600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020859080600181540180825580915050906001820390600052602060002001600090919290919091509060001916905550600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002085908060018154018082558091505090600182039060005260206000200160009091929091909150906000191690555050505050505050505050565b60008082840190508381101515156130e557600080fd5b8091505092915050565b600080613100888888888888613a89565b9150613156600080876000191660001916815260200190815260200160002060020160039054906101000a900463ffffffff166000808860001916600019168152602001908152602001600020600101546140fc565b9050600080866000191660001916815260200190815260200160002060020160029054906101000a900460ff1660ff16885110801561320757508015806132065750600080866000191660001916815260200190815260200160002060030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b5b156132a0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001807f736967562e6c656e67746820697320756e64657220746865207468726573686f81526020017f6c642e000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b5050505050505050565b600080600080600080600089600019166000191681526020019081526020016000209350600060018111156132db57fe5b8460020160019054906101000a900460ff1660018111156132f857fe5b141561360f57600092505b865183101561360a57600073ffffffffffffffffffffffffffffffffffffffff16878481518110151561333257fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff16141580156133c25750836006016000888581518110151561336f57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1515613436576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f4e6f7420612076616c69642064657374696e6174696f6e00000000000000000081525060200191505060405180910390fd5b6000868481518110151561344657fe5b906020019060200201511115156134eb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001807f416d6f756e7420746f2062652073656e742073686f756c64206265206772656181526020017f746572207468616e20300000000000000000000000000000000000000000000081525060400191505060405180910390fd5b61351586848151811015156134fc57fe5b90602001906020020151866130ce90919063ffffffff16565b94506001846008016000898681518110151561352d57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550868381518110151561359657fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff166108fc87858151811015156135c757fe5b906020019060200201519081150290604051600060405180830381858888f193505050501580156135fc573d6000803e3d6000fd5b508280600101935050613303565b613a7e565b60018081111561361b57fe5b8460020160019054906101000a900460ff16600181111561363857fe5b1415613a7d578360040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169150600090505b8651811015613a7c57600073ffffffffffffffffffffffffffffffffffffffff16878281518110151561369957fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1614158015613729575083600601600088838151811015156136d657fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b151561379d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f4e6f7420612076616c69642064657374696e6174696f6e00000000000000000081525060200191505060405180910390fd5b600086828151811015156137ad57fe5b90602001906020020151111515613852576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001807f416d6f756e7420746f2062652073656e742073686f756c64206265206772656181526020017f746572207468616e20300000000000000000000000000000000000000000000081525060400191505060405180910390fd5b61387c868281518110151561386357fe5b90602001906020020151866130ce90919063ffffffff16565b94506001846008016000898481518110151561389457fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb888381518110151561391957fe5b90602001906020020151888481518110151561393157fe5b906020019060200201516040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1580156139c057600080fd5b505af11580156139d4573d6000803e3d6000fd5b505050506040513d60208110156139ea57600080fd5b81019080805190602001909291905050501515613a6f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f546f6b656e207472616e73666572206661696c65642e0000000000000000000081525060200191505060405180910390fd5b808060010191505061366a565b5b5b505050509392505050565b60008060008087518951148015613aa1575089518951145b1515613b15576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f522c532c56206c656e677468206d69736d617463682e0000000000000000000081525060200191505060405180910390fd5b60197f01000000000000000000000000000000000000000000000000000000000000000260007f0100000000000000000000000000000000000000000000000000000000000000023088888b60405160200180877effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168152600101867effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526001018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401848051906020019060200280838360005b83811015613c69578082015181840152602081019050613c4e565b50505050905001838051906020019060200280838360005b83811015613c9c578082015181840152602081019050613c81565b50505050905001826000191660001916815260200196505050505050506040516020818303038152906040526040518082805190602001908083835b602083101515613cfd5780518252602082019150602081019050602083039250613cd8565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902060405160200180807f19457468657265756d205369676e6564204d6573736167653a0a333200000000815250601c0182600019166000191681526020019150506040516020818303038152906040526040518082805190602001908083835b602083101515613dae5780518252602082019150602081019050602083039250613d89565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390209250600091505b88518210156140ef576001838b84815181101515613dfc57fe5b906020019060200201518b85815181101515613e1457fe5b906020019060200201518b86815181101515613e2c57fe5b90602001906020020151604051600081526020016040526040518085600019166000191681526020018460ff1660ff1681526020018360001916600019168152602001826000191660001916815260200194505050505060206040516020810390808403906000865af1158015613ea7573d6000803e3d6000fd5b505050602060405103519050600080886000191660001916815260200190815260200160002060060160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515613f8f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f496e76616c6964207369676e617475726500000000000000000000000000000081525060200191505060405180910390fd5b600080886000191660001916815260200190815260200160002060070160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151561406c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f53616d65207369676e61747572652073656e742074776963650000000000000081525060200191505060405180910390fd5b6001600080896000191660001916815260200190815260200160002060070160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508093508180600101925050613de2565b5050509695505050505050565b600080614112834261415090919063ffffffff16565b905060008463ffffffff16146141445761413d610e108563ffffffff1661417190919063ffffffff16565b8111614147565b60005b91505092915050565b60008083831115151561416257600080fd5b82840390508091505092915050565b600080600084141561418657600091506141a8565b828402905082848281151561419757fe5b041415156141a457600080fd5b8091505b50929150505600a165627a7a7230582086a7491862c2f2d2f1eaa7529aee426687778ccd2ee33fa2a5d831969e86e5490029", + "sourceMap": "460:20452:0:-;;;1606:1;1572:35;;460:20452;8:9:-1;5:2;;;30:1;27;20:12;5:2;460:20452:0;;;;;;;", + "deployedSourceMap": "460:20452:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3828:702;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7843:598;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12240:1004;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12240:1004:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5630:1021;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5630:1021:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1514:51;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1514:51:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6875:228;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6875:228:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8701:924;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8701:924:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1572:35;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1572:35:0;;;;;;;;;;;;;;;;;;;;;;;9742:207;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9742:207:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;9742:207:0;;;;;;;;;;;;;;;;;10706:1063;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10706:1063:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7326:199;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7326:199:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1684:54;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1684:54:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3828:702;4106:10;2030:1;1996:12;:24;2009:10;1996:24;;;;;;;;;;;;;;;;;:30;;;:35;1988:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4141:5;2380:1;2354:28;;:14;:28;;;;2346:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4171:6;2380:1;2354:28;;:14;:28;;;;2346:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4193:264;4222:5;4241:6;4261:9;4284;4307:12;4333:10;4357:9;4380:8;4402:21;4445:1;4193:15;:264::i;:::-;4500:10;4481:41;;;4488:10;4512:9;4481:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2416:1;2064;3828:702;;;;;;;;:::o;7843:598::-;8121:14;7951:10;1857:1;1823:12;:24;1836:10;1823:24;;;;;;;;;;;;;;;;;:30;;;:35;;1802:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7985:10;2187:13;2152:48;;;;;;;;:12;:24;2165:10;2152:24;;;;;;;;;;;;;;;;;:31;;;;;;;;;;;;:48;;;;;;;;;2131:133;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8026:10;8038:21;2614:15;2570:59;;;;;;;;:12;:24;2583:10;2570:24;;;;;;;;;;;;;;;;;:40;;;;;;;;;;;;:59;;;;;;;;;2549:125;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8079:10;2782:12;:24;2795:10;2782:24;;;;;;;;;;;;;;;;;:30;;;;;;;;;;;;2768:44;;:10;:44;;;2747:124;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8138:9;8121:26;;8175:1;8166:6;:10;8158:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8257;8305:6;8257:12;:24;8270:10;8257:24;;;;;;;;;;;;;;;;;:30;;;:47;;:55;;;;:::i;:::-;8224:12;:24;8237:10;8224:24;;;;;;;;;;;;;;;;;:30;;:88;;;;8362:15;8322:12;:24;8335:10;8322:24;;;;;;;;;;;;;;;;;:37;;:55;;;;8415:10;8393:41;;;8403:10;8427:6;8393:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2684:1;2274;;1909;7843:598;;;:::o;12240:1004::-;12510:12;12566:1;12542:26;;:12;:26;;;12538:700;;;12656:8;12686:9;12717:12;12751:5;12778:6;12806:9;12837:4;12618:241;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;12618:241:0;;;12591:282;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;12591:282:0;;;;;;;;;;;;;;;;12584:289;;12538:700;;;12976:8;13006:9;13037:12;13071:5;13098:6;13126:9;13157:4;13183:12;12938:275;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;12938:275:0;;;12911:316;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;12911:316:0;;;;;;;;;;;;;;;;12904:323;;12538:700;12240:1004;;;;;;;;;:::o;5630:1021::-;6348:20;5950:10;2030:1;1996:12;:24;2009:10;1996:24;;;;;;;;;;;;;;;;;:30;;;:35;1988:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5985:5;2380:1;2354:28;;:14;:28;;;;2346:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6015:6;2380:1;2354:28;;:14;:28;;;;2346:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6046:12;2380:1;2354:28;;:14;:28;;;;2346:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6075:262;6104:5;6123:6;6143:9;6166;6189:12;6215:10;6239:5;6258:8;6280:21;6315:12;6075:15;:262::i;:::-;6386:12;6348:51;;6431:5;:18;;;6450:10;6462:4;6468:5;6431:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6431:43:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6431:43:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6431:43:0;;;;;;;;;;;;;;;;6410:182;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6626:10;6607:37;;;6614:10;6638:5;6607:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2416:1;;2064;5630:1021;;;;;;;;;;;:::o;1514:51::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;6875:228::-;7011:10;7045:12;:24;7058:10;7045:24;;;;;;;;;;;;;;;;;:38;;:51;7084:11;7045:51;;;;;;;;;;;;;;;;;;;;;;;;;7037:59;;6875:228;;;;:::o;8701:924::-;8987:14;9086:20;8833:10;1857:1;1823:12;:24;1836:10;1823:24;;;;;;;;;;;;;;;;;:30;;;:35;;1802:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8867:10;2187:13;2152:48;;;;;;;;:12;:24;2165:10;2152:24;;;;;;;;;;;;;;;;;:31;;;;;;;;;;;;:48;;;;;;;;;2131:133;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8908:10;8920:21;2614:15;2570:59;;;;;;;;:12;:24;2583:10;2570:24;;;;;;;;;;;;;;;;;:40;;;;;;;;;;;;:59;;;;;;;;;2549:125;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8961:10;2782:12;:24;2795:10;2782:24;;;;;;;;;;;;;;;;;:30;;;;;;;;;;;;2768:44;;:10;:44;;;2747:124;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9004:5;8987:22;;9037:1;9028:6;:10;9020:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9137:12;:24;9150:10;9137:24;;;;;;;;;;;;;;;;;:37;;;;;;;;;;;;9086:98;;9216:5;:18;;;9235:12;:24;9248:10;9235:24;;;;;;;;;;;;;;;;;:30;;;;;;;;;;;;9267:4;9273:5;9216:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9216:63:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9216:63:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;9216:63:0;;;;;;;;;;;;;;;;9195:202;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9441:55;9489:6;9441:12;:24;9454:10;9441:24;;;;;;;;;;;;;;;;;:30;;;:47;;:55;;;;:::i;:::-;9408:12;:24;9421:10;9408:24;;;;;;;;;;;;;;;;;:30;;:88;;;;9546:15;9506:12;:24;9519:10;9506:24;;;;;;;;;;;;;;;;;:37;;:55;;;;9599:10;9577:41;;;9587:10;9611:6;9577:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2684:1;2274;;1909;8701:924;;;;;:::o;1572:35::-;;;;:::o;9742:207::-;9864:22;9910:18;:32;9929:12;9910:32;;;;;;;;;;;;;;;9903:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9742:207;;;:::o;10706:1063::-;10929:10;1857:1;1823:12;:24;1836:10;1823:24;;;;;;;;;;;;;;;;;:30;;;:35;;1802:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10963:10;2187:13;2152:48;;;;;;;;:12;:24;2165:10;2152:24;;;;;;;;;;;;;;;;;:31;;;;;;;;;;;;:48;;;;;;;;;2131:133;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11030:1;11010:12;;:19;;:21;:62;;;;;11058:7;;:14;;11035:12;;:19;;:37;11010:62;10989:133;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11133:152;11164:4;;11133:152;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11182:4;;11133:152;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11200:4;;11133:152;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11218:10;11242:12;;11133:152;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11268:7;;11133:152;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:17;:152::i;:::-;11330:15;11296:12;:24;11309:10;11296:24;;;;;;;;;;;;;;;;;:31;;;:49;;;;;;;;;;;;;;;;;;;;;;;;11469:15;11429:12;:24;11442:10;11429:24;;;;;;;;;;;;;;;;;:37;;:55;;;;11567:12;:24;11580:10;11567:24;;;;;;;;;;;;;;;;;:30;;;11515:48;11529:10;11541:12;;11515:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11555:7;;11515:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:13;:48::i;:::-;:82;11494:201;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11719:43;11728:10;11740:12;;11754:7;;11719:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1909:1;10706:1063;;;;;;;;;;;;:::o;7326:199::-;7449:9;7481:12;:24;7494:10;7481:24;;;;;;;;;;;;;;;;;:30;;:37;7512:5;7481:37;;;;;;;;;;;;;;;;;;;;;;;;;7474:44;;7326:199;;;;:::o;1684:54::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;18275:2635::-;18637:6;18628:15;;:5;:15;;;;18620:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18748:1;18740:5;:9;18732:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18886:1;18874:9;:13;;;:31;;;;;18904:1;18891:9;:14;;;;18874:31;18853:140;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19275:1;19262:9;:14;;;:41;;;;19301:1;19280:23;;:9;:23;;;;19262:41;19241:167;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19454:226;19497:8;19523:9;19550:12;19580:5;19603:6;19627:9;19654:12;19454:25;:226::i;:::-;19440:240;;;:10;:240;;;;19419:345;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19802:373;;;;;;;;;19923:5;19802:373;;;;19991:15;19802:373;;;;19950:13;19802:373;;;;;;;;;;;;20110:15;19802:373;;;;;;;;;;;;20031:9;19802:373;;;;;;20068:12;19802:373;;;;;;19835:5;19802:373;;;;;;19862:6;19802:373;;;;;;20152:12;19802:373;;;;;;19893:9;19802:373;;;;;19775:12;:24;19788:10;19775:24;;;;;;;;;;;;;;;;;:400;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20229:4;20186:12;:24;20199:10;20186:24;;;;;;;;;;;;;;;;;:32;;:40;20219:6;20186:40;;;;;;;;;;;;;;;;:47;;;;;;;;;;;;;;;;;;20285:4;20243:12;:24;20256:10;20243:24;;;;;;;;;;;;;;;;;:32;;:39;20276:5;20243:39;;;;;;;;;;;;;;;;:46;;;;;;;;;;;;;;;;;;20397:12;:24;20410:10;20397:24;;;;;;;;;;;;;;;;;:32;;:43;20430:9;20397:43;;;;;;;;;;;;;;;;;;;;;;;;;20396:44;20375:137;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20684:1;20672:9;:13;;;20668:93;;;20746:4;20700:12;:24;20713:10;20700:24;;;;;;;;;;;;;;;;;:32;;:43;20733:9;20700:43;;;;;;;;;;;;;;;;:50;;;;;;;;;;;;;;;;;;20668:93;20779:16;;:18;;;;;;;;;;;;;20808;:25;20827:5;20808:25;;;;;;;;;;;;;;;20839:10;20808:42;;39:1:-1;33:3;27:10;23:18;57:10;52:3;45:23;79:10;72:17;;0:93;20808:42:0;;;;;;;;;;;;;;;;;;;;;;;;;;;20860:18;:26;20879:6;20860:26;;;;;;;;;;;;;;;20892:10;20860:43;;39:1:-1;33:3;27:10;23:18;57:10;52:3;45:23;79:10;72:17;;0:93;20860:43:0;;;;;;;;;;;;;;;;;;;;;;;;;;;18275:2635;;;;;;;;;;:::o;1272:131:2:-;1330:7;1345:9;1361:1;1357;:5;1345:17;;1381:1;1376;:6;;1368:15;;;;;;;;1397:1;1390:8;;1272:131;;;;;:::o;13518:952:0:-;13738:21;13924:20;13762:151;13792:4;13810;13828;13846:10;13870:12;13896:7;13762:16;:151::i;:::-;13738:175;;13947:129;13978:12;:24;13991:10;13978:24;;;;;;;;;;;;;;;;;:37;;;;;;;;;;;;14029:12;:24;14042:10;14029:24;;;;;;;;;;;;;;;;;:37;;;13947:17;:129::i;:::-;13924:152;;14262:12;:24;14275:10;14262:24;;;;;;;;;;;;;;;;;:34;;;;;;;;;;;;14248:48;;:4;:11;:48;:122;;;;;14302:15;14301:16;:68;;;;14338:12;:24;14351:10;14338:24;;;;;;;;;;;;;;;;;:31;;;;;;;;;;;;14321:48;;:13;:48;;;;14301:68;14248:122;14227:236;;;14407:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14227:236;13518:952;;;;;;;;:::o;14596:1552::-;14743:24;14783:21;14909:9;15546:20;15619:9;14807:12;:24;14820:10;14807:24;;;;;;;;;;;;;;;;;14783:48;;14867:21;14846:42;;;;;;;;:1;:17;;;;;;;;;;;;:42;;;;;;;;;14842:1299;;;14921:1;14909:13;;14904:562;14928:12;:19;14924:1;:23;14904:562;;;15008:1;14981:29;;:12;14994:1;14981:15;;;;;;;;;;;;;;;;;;:29;;;;:59;;;;;15014:1;:9;;:26;15024:12;15037:1;15024:15;;;;;;;;;;;;;;;;;;15014:26;;;;;;;;;;;;;;;;;;;;;;;;;14981:59;14973:95;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15107:1;15094:7;15102:1;15094:10;;;;;;;;;;;;;;;;;;:14;15086:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15193:32;15214:7;15222:1;15214:10;;;;;;;;;;;;;;;;;;15193:16;:20;;:32;;;;:::i;:::-;15174:51;;15279:4;15244:1;:15;;:32;15260:12;15273:1;15260:15;;;;;;;;;;;;;;;;;;15244:32;;;;;;;;;;;;;;;;:39;;;;;;;;;;;;;;;;;;15330:12;15343:1;15330:15;;;;;;;;;;;;;;;;;;:24;;:36;15355:7;15363:1;15355:10;;;;;;;;;;;;;;;;;;15330:36;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;15330:36:0;14949:3;;;;;;;14904:562;;;14842:1299;;;15508:21;15487:42;;;;;;;;:1;:17;;;;;;;;;;;;:42;;;;;;;;;15483:658;;;15584:1;:14;;;;;;;;;;;;15546:53;;15631:1;15619:13;;15614:517;15636:12;:19;15634:1;:21;15614:517;;;15716:1;15689:29;;:12;15702:1;15689:15;;;;;;;;;;;;;;;;;;:29;;;;:59;;;;;15722:1;:9;;:26;15732:12;15745:1;15732:15;;;;;;;;;;;;;;;;;;15722:26;;;;;;;;;;;;;;;;;;;;;;;;;15689:59;15681:95;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15815:1;15802:7;15810:1;15802:10;;;;;;;;;;;;;;;;;;:14;15794:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15901:32;15922:7;15930:1;15922:10;;;;;;;;;;;;;;;;;;15901:16;:20;;:32;;;;:::i;:::-;15882:51;;15986:4;15951:1;:15;;:32;15967:12;15980:1;15967:15;;;;;;;;;;;;;;;;;;15951:32;;;;;;;;;;;;;;;;:39;;;;;;;;;;;;;;;;;;16046:5;:14;;;16061:12;16074:1;16061:15;;;;;;;;;;;;;;;;;;16078:7;16086:1;16078:10;;;;;;;;;;;;;;;;;;16046:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;16046:43:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;16046:43:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;16046:43:0;;;;;;;;;;;;;;;;16038:78;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15657:3;;;;;;;15614:517;;;15483:658;14842:1299;14596:1552;;;;;;;;;:::o;16332:1523::-;16553:19;16813:14;17272:6;17321:17;16624:4;:11;16609:4;:11;:26;:56;;;;;16654:4;:11;16639:4;:11;:26;16609:56;16588:126;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17017:4;17012:10;;17053:1;17048:7;;17081:4;17111:12;17149:7;17182:10;16970:244;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;16970:244:0;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;16970:244:0;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;16970:244:0;;;16939:293;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;16939:293:0;;;;;;;;;;;;;;;;16853:393;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;16853:393:0;;;16830:426;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;16830:426:0;;;;;;;;;;;;;;;;16813:443;;17281:1;17272:10;;17267:582;17288:4;:11;17284:1;:15;17267:582;;;17341:122;17368:6;17392:4;17397:1;17392:7;;;;;;;;;;;;;;;;;;17417:4;17422:1;17417:7;;;;;;;;;;;;;;;;;;17442:4;17447:1;17442:7;;;;;;;;;;;;;;;;;;17341:122;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;17341:122:0;;;;;;;;17321:142;;17503:12;:24;17516:10;17503:24;;;;;;;;;;;;;;;;;:32;;:43;17536:9;17503:43;;;;;;;;;;;;;;;;;;;;;;;;;17478:120;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17638:12;:24;17651:10;17638:24;;;;;;;;;;;;;;;;;:30;;:41;17669:9;17638:41;;;;;;;;;;;;;;;;;;;;;;;;;17637:42;17612:127;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17797:4;17753:12;:24;17766:10;17753:24;;;;;;;;;;;;;;;;;:30;;:41;17784:9;17753:41;;;;;;;;;;;;;;;;:48;;;;;;;;;;;;;;;;;;17829:9;17815:23;;17301:3;;;;;;;17267:582;;;16332:1523;;;;;;;;;;;:::o;17861:327::-;17999:12;18027:17;18047:21;18055:12;18047:3;:7;;:21;;;;:::i;:::-;18027:41;;18118:1;18102:12;:17;;;:69;;18140:31;18166:4;18148:12;18140:21;;:25;;:31;;;;:::i;:::-;18128:9;:43;18102:69;;;18122:5;18102:69;18078:103;;17861:327;;;;;:::o;1078:131:2:-;1136:7;1172:9;1164:1;1159;:6;;1151:15;;;;;;;;1188:1;1184;:5;1172:17;;1203:1;1196:8;;1078:131;;;;;:::o;204:381::-;262:7;523:9;491:1;486;:6;482:35;;;509:1;502:8;;;;482:35;539:1;535;:5;523:17;;563:1;558;554;:5;;;;;;;;:10;546:19;;;;;;;;579:1;572:8;;204:381;;;;;;:::o", + "source": "pragma solidity 0.4.24;\n\nimport \"openzeppelin-solidity/contracts/math/SafeMath.sol\";\n\nimport \"../token/ITokenContract.sol\";\n\n\n/**\n* @dev Supports ERC20 tokens\n* The escrow smart contract for the open bazaar trades in Ethereum\n* The smart contract is desgined keeping in mind the current wallet interface of the OB-core\n* https://github.com/OpenBazaar/wallet-interface/blob/master/wallet.go\n* Current wallet interface strictly adheres to UTXO(bitcoin) model\n*/\ncontract Escrow_v1_0 {\n\n using SafeMath for uint256;\n\n enum Status {FUNDED, RELEASED}\n\n enum TransactionType {ETHER, TOKEN}\n\n event Executed(\n bytes32 scriptHash,\n address[] destinations,\n uint256[] amounts\n );\n\n event FundAdded(\n bytes32 scriptHash,\n address indexed from,\n uint256 valueAdded\n );\n\n event Funded(bytes32 scriptHash, address indexed from, uint256 value);\n\n struct Transaction {\n uint256 value;\n uint256 lastModified;//Time at which transaction was last modified\n Status status;\n TransactionType transactionType;\n uint8 threshold;\n uint32 timeoutHours;\n address buyer;\n address seller;\n address tokenAddress;// Token address in case of token transfer\n address moderator;\n mapping(address=>bool) isOwner;//to keep track of owners/signers.\n mapping(address=>bool) voted;//to keep track of who all voted\n mapping(address=>bool) beneficiaries;//Benefeciaries of execution\n }\n\n mapping(bytes32 => Transaction) public transactions;\n\n uint256 public transactionCount = 0;\n\n //Contains mapping between each party and all of his transactions\n mapping(address => bytes32[])public partyVsTransaction;\n\n modifier transactionExists(bytes32 scriptHash) {\n require(\n transactions[scriptHash].value != 0, \"Transaction does not exists\"\n );\n _;\n }\n\n modifier transactionDoesNotExists (bytes32 scriptHash) {\n require(transactions[scriptHash].value == 0, \"Transaction exists\");\n _;\n }\n\n modifier inFundedState(bytes32 scriptHash) {\n require(\n transactions[scriptHash].status == Status.FUNDED, \"Transaction is either in dispute or released state\"\n );\n _;\n }\n\n modifier nonZeroAddress(address addressToCheck) {\n require(addressToCheck != address(0), \"Zero address passed\");\n _;\n }\n\n modifier checkTransactionType(\n bytes32 scriptHash,\n TransactionType transactionType\n )\n {\n require(\n transactions[scriptHash].transactionType == transactionType, \"Transaction type does not match\"\n );\n _;\n }\n\n modifier onlyBuyer(bytes32 scriptHash) {\n require(\n msg.sender == transactions[scriptHash].buyer, \"The initiator of the transaction is not buyer\"\n );\n _;\n }\n\n /**\n *@dev Add new transaction in the contract\n *@param buyer The buyer of the transaction\n *@param seller The seller of the listing associated with the transaction\n *@param moderator Moderator for this transaction\n *@param scriptHash keccak256 hash of the redeem script\n *@param threshold Minimum number of singatures required to released funds\n *@param timeoutHours Hours after which seller can release funds into his favour by signing transaction\n *@param uniqueId bytes20 unique id for the transaction, generated by ETH wallet\n *Redeem Script format will be following\n \n * scripthash-> keccak256(uniqueId, threshold, timeoutHours, buyer, seller, moderator)\n *Pass amount of the ethers to be put in escrow\n *Please keep in mind you will have to add moderator fees also in the value\n */\n function addTransaction(\n address buyer,\n address seller,\n address moderator,\n uint8 threshold,\n uint32 timeoutHours,\n bytes32 scriptHash,\n bytes20 uniqueId\n )\n external\n payable\n transactionDoesNotExists(scriptHash)\n nonZeroAddress(buyer)\n nonZeroAddress(seller)\n {\n _addTransaction(\n buyer,\n seller,\n moderator,\n threshold,\n timeoutHours,\n scriptHash,\n msg.value,\n uniqueId,\n TransactionType.ETHER,\n address(0)\n );\n \n emit Funded(scriptHash, msg.sender, msg.value);\n\n }\n\n /**\n *@dev Add new transaction in the contract\n *@param buyer The buyer of the transaction\n *@param seller The seller of the listing associated with the transaction\n *@param moderator Moderator for this transaction\n *@param scriptHash keccak256 hash of the redeem script\n *@param threshold Minimum number of singatures required to released funds\n *@param timeoutHours Hours after which seller can release funds into his favour by signing transaction\n *@param value Amount of tokens to be put in escrow\n *@param uniqueId bytes20 unique id for the transaction, generated by ETH wallet\n *@param tokenAddress Address of the token to be used\n *Redeem Script format will be following\n \n * scripthash-> keccak256(uniqueId, threshold, timeoutHours, buyer, seller, moderator, tokenAddress)\n *approve escrow contract to spend amount of token on your behalf\n *Please keep in mind you will have to add moderator fees also in the value\n */\n function addTokenTransaction(\n address buyer,\n address seller,\n address moderator,\n uint8 threshold,\n uint32 timeoutHours,\n bytes32 scriptHash,\n uint256 value,\n bytes20 uniqueId,\n address tokenAddress\n )\n external\n transactionDoesNotExists(scriptHash)\n nonZeroAddress(buyer)\n nonZeroAddress(seller)\n nonZeroAddress(tokenAddress)\n {\n\n _addTransaction(\n buyer,\n seller,\n moderator,\n threshold,\n timeoutHours,\n scriptHash,\n value,\n uniqueId,\n TransactionType.TOKEN,\n tokenAddress\n );\n\n ITokenContract token = ITokenContract(tokenAddress);\n\n require(\n token.transferFrom(msg.sender, this, value),\n \"Token transfer failed, maybe you did not approve escrow contract to spend on behalf of buyer\"\n );\n emit Funded(scriptHash, msg.sender, value);\n }\n\n /**\n * @dev Check whether given address was a beneficiary of transaction execution or not\n * @param scriptHash script hash of the transaction\n * @param beneficiary Beneficiary address to be checked\n */\n function checkBeneficiary(\n bytes32 scriptHash,\n address beneficiary\n )\n external\n view\n returns (bool check)\n {\n check = transactions[scriptHash].beneficiaries[beneficiary];\n }\n\n /**\n * @dev Check whether given party has voted or not\n * @param scriptHash script hash of the transaction\n * @param party Address of the party whose vote has to be checked\n * @return bool vote\n */\n function checkVote(\n bytes32 scriptHash,\n address party\n )\n external\n view\n returns (bool vote)\n {\n vote = transactions[scriptHash].voted[party];\n }\n\n /**\n *@dev Allows buyer of the transaction to add more funds(ether) in the transaction. This will help to cater scenarios wherein initially buyer missed to fund transaction as required\n *@param scriptHash script hash of the transaction\n * Only buyer of the transaction can invoke this method\n */\n function addFundsToTransaction(\n bytes32 scriptHash\n )\n external\n transactionExists(scriptHash)\n inFundedState(scriptHash)\n checkTransactionType(scriptHash, TransactionType.ETHER)\n onlyBuyer(scriptHash)\n payable\n {\n uint256 _value = msg.value;\n\n require(_value > 0, \"Value must be greater than zero.\");\n\n transactions[scriptHash].value = transactions[scriptHash].value\n .add(_value);\n transactions[scriptHash].lastModified = block.timestamp;\n\n emit FundAdded(scriptHash, msg.sender, _value);\n }\n\n /**\n *@dev Allows buyer of the transaction to add more funds(Tokens) in the transaction. This will help to cater scenarios wherein initially buyer missed to fund transaction as required\n *@param scriptHash script hash of the transaction\n */\n function addTokensToTransaction(\n bytes32 scriptHash,\n uint256 value\n )\n external\n transactionExists(scriptHash)\n inFundedState(scriptHash)\n checkTransactionType(scriptHash, TransactionType.TOKEN)\n onlyBuyer(scriptHash)\n {\n uint256 _value = value;\n\n require(_value > 0, \"Value must be greater than zero.\");\n\n ITokenContract token = ITokenContract(\n transactions[scriptHash].tokenAddress\n );\n\n require(\n token.transferFrom(transactions[scriptHash].buyer, this, value),\n \"Token transfer failed, maybe you did not approve escrow contract to spend on behalf of buyer\"\n );\n\n transactions[scriptHash].value = transactions[scriptHash].value\n .add(_value);\n transactions[scriptHash].lastModified = block.timestamp;\n\n emit FundAdded(scriptHash, msg.sender, _value);\n }\n\n /**\n *@dev Returns all transaction ids for a party\n *@param partyAddress Address of the party\n */\n function getAllTransactionsForParty(\n address partyAddress\n ) \n external \n view \n returns (bytes32[] scriptHashes) \n {\n return partyVsTransaction[partyAddress];\n }\n\n /**\n *@dev Allows one of the moderator to collect all the signature to solve dispute and submit it to this method.\n * If all the required signatures are collected and consensus has been reached than funds will be released to the voted party\n *@param sigV Array containing V component of all the signatures\n *@param sigR Array containing R component of all the signatures\n *@param signS Array containing S component of all the signatures\n *@param scriptHash script hash of the transaction\n *@param destinations address of the destination in whose favour dispute resolution is taking place. In case of split payments it will be address of the split payments contract\n *@param amounts value to send to each destination\n */\n function execute(\n uint8[] sigV,\n bytes32[] sigR,\n bytes32[] sigS,\n bytes32 scriptHash,\n address[] destinations,\n uint256[] amounts\n )\n external\n transactionExists(scriptHash)\n inFundedState(scriptHash)\n {\n require(\n destinations.length>0 && destinations.length == amounts.length, \"Length of destinations is incorrect.\"\n );\n\n verifyTransaction(\n sigV,\n sigR,\n sigS,\n scriptHash,\n destinations,\n amounts\n );\n\n transactions[scriptHash].status = Status.RELEASED;\n //Last modified timestamp modified, which will be used by rewards\n transactions[scriptHash].lastModified = block.timestamp;\n require(\n transferFunds(scriptHash, destinations, amounts) == transactions[scriptHash].value,\n \"Total value to be released must be equal to the transaction escrow value\"\n );\n \n emit Executed(scriptHash, destinations, amounts);\n }\n\n\n /**\n *@dev Method for calculating script hash. Calculation will depend upon the type of transaction\n * ETHER Type transaction-:\n * Script Hash- keccak256(uniqueId, threshold, timeoutHours, buyer, seller, moderator)\n * TOKEN Type transaction\n * Script Hash- keccak256(uniqueId, threshold, timeoutHours, buyer, seller, moderator, tokenAddress)\n * Client can use this method to verify whether it has calculated correct script hash or not\n */\n function calculateRedeemScriptHash(\n bytes20 uniqueId,\n uint8 threshold,\n uint32 timeoutHours,\n address buyer,\n address seller,\n address moderator,\n address tokenAddress\n )\n public\n view\n returns (bytes32 hash)\n {\n if (tokenAddress == address(0)) {\n hash = keccak256(\n abi.encodePacked(\n uniqueId,\n threshold,\n timeoutHours,\n buyer,\n seller,\n moderator,\n this\n )\n );\n } else {\n hash = keccak256(\n abi.encodePacked(\n uniqueId,\n threshold,\n timeoutHours,\n buyer,\n seller,\n moderator,\n this,\n tokenAddress\n )\n );\n }\n }\n\n /**\n * @dev This methods checks validity of transaction\n * 1. Verify Signatures\n * 2. Check if minimum number of signatures has been acquired\n * 3. If above condition is false, check if time lock is expired and the execution is signed by seller\n */\n function verifyTransaction(\n uint8[] sigV,\n bytes32[] sigR,\n bytes32[] sigS,\n bytes32 scriptHash,\n address[] destinations,\n uint256[] amounts\n )\n private\n {\n address lastRecovered = verifySignatures(\n sigV,\n sigR,\n sigS,\n scriptHash,\n destinations,\n amounts\n );\n\n bool timeLockExpired = isTimeLockExpired(\n transactions[scriptHash].timeoutHours,\n transactions[scriptHash].lastModified\n );\n\n //if Minimum number of signatures are not gathered and timelock has not expired or transaction was not signed by seller then revert\n if (\n sigV.length < transactions[scriptHash].threshold && (!timeLockExpired || lastRecovered != transactions[scriptHash].seller)\n )\n {\n revert(\"sigV.length is under the threshold.\");\n }\n\n }\n\n /**\n *@dev Private method to transfer funds to the destination addresses on the basis of transaction type\n */\n function transferFunds(\n bytes32 scriptHash,\n address[]destinations,\n uint256[]amounts\n )\n private\n returns (uint256 valueTransferred)\n {\n Transaction storage t = transactions[scriptHash];\n\n if (t.transactionType == TransactionType.ETHER) {\n for (uint256 i = 0; i < destinations.length; i++) {\n\n require(destinations[i] != address(0) && t.isOwner[destinations[i]], \"Not a valid destination\");\n require(amounts[i] > 0, \"Amount to be sent should be greater than 0\");\n\n valueTransferred = valueTransferred.add(amounts[i]);\n\n t.beneficiaries[destinations[i]] = true;//add receiver as beneficiary\n destinations[i].transfer(amounts[i]);//shall we use send instead of transfer to stop malicious actors from blocking funds?\n }\n\n } else if (t.transactionType == TransactionType.TOKEN) {\n\n ITokenContract token = ITokenContract(t.tokenAddress);\n\n for (uint256 j = 0; j 0, \"Amount to be sent should be greater than 0\");\n\n valueTransferred = valueTransferred.add(amounts[j]);\n t.beneficiaries[destinations[j]] = true;//add receiver as beneficiary\n\n require(token.transfer(destinations[j], amounts[j]), \"Token transfer failed.\");\n }\n } \n }\n\n //to check whether the signature are valid or not and if consensus was reached\n //returns the last address recovered, in case of timeout this must be the sender's address\n function verifySignatures(\n uint8[] sigV,\n bytes32[] sigR,\n bytes32[] sigS,\n bytes32 scriptHash,\n address[] destinations,\n uint256[]amounts\n )\n private\n returns (address lastAddress)\n {\n require(\n sigR.length == sigS.length && sigR.length == sigV.length, \n \"R,S,V length mismatch.\"\n );\n\n // Follows ERC191 signature scheme: https://github.com/ethereum/EIPs/issues/191\n bytes32 txHash = keccak256(\n abi.encodePacked(\n \"\\x19Ethereum Signed Message:\\n32\",\n keccak256(\n abi.encodePacked(\n byte(0x19),\n byte(0),\n this,\n destinations,\n amounts,\n scriptHash\n )\n )\n )\n );\n\n for (uint i = 0; i < sigR.length; i++) {\n\n address recovered = ecrecover(\n txHash,\n sigV[i],\n sigR[i],\n sigS[i]\n );\n\n require(\n transactions[scriptHash].isOwner[recovered], \n \"Invalid signature\"\n );\n require(\n !transactions[scriptHash].voted[recovered], \n \"Same signature sent twice\"\n );\n transactions[scriptHash].voted[recovered] = true;\n lastAddress = recovered;\n }\n }\n\n function isTimeLockExpired(\n uint32 timeoutHours,\n uint256 lastModified\n )\n private\n view\n returns (bool expired)\n {\n uint256 timeSince = now.sub(lastModified);\n expired = (\n timeoutHours == 0 ? false:timeSince > uint256(timeoutHours).mul(3600)\n );\n }\n\n /**\n * Private method to add transaction to reduce code redundancy\n */\n function _addTransaction(\n address buyer,\n address seller,\n address moderator,\n uint8 threshold,\n uint32 timeoutHours,\n bytes32 scriptHash,\n uint256 value,\n bytes20 uniqueId,\n TransactionType transactionType,\n address tokenAddress\n )\n private\n { \n require(buyer != seller, \"Buyer and seller are same\");\n\n //value passed should be greater than 0\n require(value > 0, \"Value passed is 0\");\n\n // For now allowing 0 moderator to support 1-2 multisig wallet\n require(\n threshold > 0 && threshold <= 3, \n \"Threshold cannot be greater than 3 and must be greater than 0\"\n );\n\n //if threshold is 1 then moderator can be passed as zero address or any other address(it wont matter aopart from scripthash since we wont add moderator as one of the owner)\n //otherwise moderator should be a valid address\n require(\n threshold == 1 || moderator != address(0),\n \"Either threshold should be 1 otherwise valid moderator address should be passed\"\n );\n\n require(\n scriptHash == calculateRedeemScriptHash(\n uniqueId,\n threshold,\n timeoutHours,\n buyer,\n seller,\n moderator,\n tokenAddress\n ), \n \"Calculated script hash does not match passed script hash.\"\n );\n\n transactions[scriptHash] = Transaction({\n buyer: buyer,\n seller: seller,\n moderator: moderator,\n value: value,\n status: Status.FUNDED,\n lastModified: block.timestamp,\n threshold: threshold,\n timeoutHours: timeoutHours,\n transactionType:transactionType,\n tokenAddress:tokenAddress\n });\n\n transactions[scriptHash].isOwner[seller] = true;\n transactions[scriptHash].isOwner[buyer] = true; \n\n //Check if buyer or seller are not passed as moderator\n require(\n !transactions[scriptHash].isOwner[moderator], \n \"Either buyer or seller is passed as moderator\"\n );\n\n //set moderator as one of the owners only if threshold is greater than 1 otherwise only buyer and seller should be able to release funds\n if (threshold > 1){\n transactions[scriptHash].isOwner[moderator] = true;\n }\n \n\n transactionCount++;\n\n partyVsTransaction[buyer].push(scriptHash);\n partyVsTransaction[seller].push(scriptHash);\n }\n}\n", "sourcePath": "/home/sameep/freelancing-projects/toptal/open baazar/publicRepo/smart-contracts/contracts/escrow/Escrow_v1_0.sol", "ast": { "absolutePath": "/home/sameep/freelancing-projects/toptal/open baazar/publicRepo/smart-contracts/contracts/escrow/Escrow_v1_0.sol", "exportedSymbols": { "Escrow_v1_0": [ - 1213 + 1210 ] }, - "id": 1214, + "id": 1211, "nodeType": "SourceUnit", "nodes": [ { @@ -453,8 +449,8 @@ "file": "openzeppelin-solidity/contracts/math/SafeMath.sol", "id": 2, "nodeType": "ImportDirective", - "scope": 1214, - "sourceUnit": 1372, + "scope": 1211, + "sourceUnit": 1369, "src": "25:59:0", "symbolAliases": [], "unitAlias": "" @@ -464,8 +460,8 @@ "file": "../token/ITokenContract.sol", "id": 3, "nodeType": "ImportDirective", - "scope": 1214, - "sourceUnit": 1244, + "scope": 1211, + "sourceUnit": 1241, "src": "86:37:0", "symbolAliases": [], "unitAlias": "" @@ -476,9 +472,9 @@ "contractKind": "contract", "documentation": "@dev Supports ERC20 tokens\nThe escrow smart contract for the open bazaar trades in Ethereum\nThe smart contract is desgined keeping in mind the current wallet interface of the OB-core\nhttps://github.com/OpenBazaar/wallet-interface/blob/master/wallet.go\nCurrent wallet interface strictly adheres to UTXO(bitcoin) model", "fullyImplemented": true, - "id": 1213, + "id": 1210, "linearizedBaseContracts": [ - 1213 + 1210 ], "name": "Escrow_v1_0", "nodeType": "ContractDefinition", @@ -490,10 +486,10 @@ "id": 4, "name": "SafeMath", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1371, + "referencedDeclaration": 1368, "src": "494:8:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$1371", + "typeIdentifier": "t_contract$_SafeMath_$1368", "typeString": "library SafeMath" } }, @@ -862,41 +858,15 @@ }, { "canonicalName": "Escrow_v1_0.Transaction", - "id": 73, + "id": 71, "members": [ { "constant": false, "id": 40, - "name": "scriptHash", - "nodeType": "VariableDeclaration", - "scope": 73, - "src": "931:18:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 39, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "931:7:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 42, "name": "value", "nodeType": "VariableDeclaration", - "scope": 73, - "src": "1005:13:0", + "scope": 71, + "src": "931:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -904,10 +874,10 @@ "typeString": "uint256" }, "typeName": { - "id": 41, + "id": 39, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1005:7:0", + "src": "931:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -918,11 +888,11 @@ }, { "constant": false, - "id": 44, + "id": 42, "name": "lastModified", "nodeType": "VariableDeclaration", - "scope": 73, - "src": "1028:20:0", + "scope": 71, + "src": "954:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -930,10 +900,10 @@ "typeString": "uint256" }, "typeName": { - "id": 43, + "id": 41, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1028:7:0", + "src": "954:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -944,11 +914,11 @@ }, { "constant": false, - "id": 46, + "id": 44, "name": "status", "nodeType": "VariableDeclaration", - "scope": 73, - "src": "1103:13:0", + "scope": 71, + "src": "1029:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -957,11 +927,11 @@ }, "typeName": { "contractScope": null, - "id": 45, + "id": 43, "name": "Status", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 9, - "src": "1103:6:0", + "src": "1029:6:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$9", "typeString": "enum Escrow_v1_0.Status" @@ -972,11 +942,11 @@ }, { "constant": false, - "id": 48, + "id": 46, "name": "transactionType", "nodeType": "VariableDeclaration", - "scope": 73, - "src": "1126:31:0", + "scope": 71, + "src": "1052:31:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -985,11 +955,11 @@ }, "typeName": { "contractScope": null, - "id": 47, + "id": 45, "name": "TransactionType", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 12, - "src": "1126:15:0", + "src": "1052:15:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -1000,11 +970,11 @@ }, { "constant": false, - "id": 50, + "id": 48, "name": "threshold", "nodeType": "VariableDeclaration", - "scope": 73, - "src": "1167:15:0", + "scope": 71, + "src": "1093:15:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1012,10 +982,10 @@ "typeString": "uint8" }, "typeName": { - "id": 49, + "id": 47, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "1167:5:0", + "src": "1093:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -1026,11 +996,11 @@ }, { "constant": false, - "id": 52, + "id": 50, "name": "timeoutHours", "nodeType": "VariableDeclaration", - "scope": 73, - "src": "1192:19:0", + "scope": 71, + "src": "1118:19:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1038,10 +1008,10 @@ "typeString": "uint32" }, "typeName": { - "id": 51, + "id": 49, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "1192:6:0", + "src": "1118:6:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -1052,11 +1022,11 @@ }, { "constant": false, - "id": 54, + "id": 52, "name": "buyer", "nodeType": "VariableDeclaration", - "scope": 73, - "src": "1221:13:0", + "scope": 71, + "src": "1147:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1064,10 +1034,10 @@ "typeString": "address" }, "typeName": { - "id": 53, + "id": 51, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1221:7:0", + "src": "1147:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1078,11 +1048,11 @@ }, { "constant": false, - "id": 56, + "id": 54, "name": "seller", "nodeType": "VariableDeclaration", - "scope": 73, - "src": "1244:14:0", + "scope": 71, + "src": "1170:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1090,10 +1060,10 @@ "typeString": "address" }, "typeName": { - "id": 55, + "id": 53, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1244:7:0", + "src": "1170:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1104,11 +1074,11 @@ }, { "constant": false, - "id": 58, + "id": 56, "name": "tokenAddress", "nodeType": "VariableDeclaration", - "scope": 73, - "src": "1268:20:0", + "scope": 71, + "src": "1194:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1116,10 +1086,10 @@ "typeString": "address" }, "typeName": { - "id": 57, + "id": 55, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1268:7:0", + "src": "1194:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1130,11 +1100,11 @@ }, { "constant": false, - "id": 60, + "id": 58, "name": "moderator", "nodeType": "VariableDeclaration", - "scope": 73, - "src": "1340:17:0", + "scope": 71, + "src": "1266:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1142,10 +1112,10 @@ "typeString": "address" }, "typeName": { - "id": 59, + "id": 57, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1340:7:0", + "src": "1266:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1156,11 +1126,11 @@ }, { "constant": false, - "id": 64, + "id": 62, "name": "isOwner", "nodeType": "VariableDeclaration", - "scope": 73, - "src": "1367:30:0", + "scope": 71, + "src": "1293:30:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1168,28 +1138,28 @@ "typeString": "mapping(address => bool)" }, "typeName": { - "id": 63, + "id": 61, "keyType": { - "id": 61, + "id": 59, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1375:7:0", + "src": "1301:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "Mapping", - "src": "1367:22:0", + "src": "1293:22:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" }, "valueType": { - "id": 62, + "id": 60, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "1384:4:0", + "src": "1310:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1201,11 +1171,11 @@ }, { "constant": false, - "id": 68, + "id": 66, "name": "voted", "nodeType": "VariableDeclaration", - "scope": 73, - "src": "1441:28:0", + "scope": 71, + "src": "1367:28:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1213,28 +1183,28 @@ "typeString": "mapping(address => bool)" }, "typeName": { - "id": 67, + "id": 65, "keyType": { - "id": 65, + "id": 63, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1449:7:0", + "src": "1375:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "Mapping", - "src": "1441:22:0", + "src": "1367:22:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" }, "valueType": { - "id": 66, + "id": 64, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "1458:4:0", + "src": "1384:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1246,11 +1216,11 @@ }, { "constant": false, - "id": 72, + "id": 70, "name": "beneficiaries", "nodeType": "VariableDeclaration", - "scope": 73, - "src": "1511:36:0", + "scope": 71, + "src": "1437:36:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1258,28 +1228,28 @@ "typeString": "mapping(address => bool)" }, "typeName": { - "id": 71, + "id": 69, "keyType": { - "id": 69, + "id": 67, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1519:7:0", + "src": "1445:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "Mapping", - "src": "1511:22:0", + "src": "1437:22:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" }, "valueType": { - "id": 70, + "id": 68, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "1528:4:0", + "src": "1454:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1292,50 +1262,50 @@ ], "name": "Transaction", "nodeType": "StructDefinition", - "scope": 1213, - "src": "902:680:0", + "scope": 1210, + "src": "902:606:0", "visibility": "public" }, { "constant": false, - "id": 77, + "id": 75, "name": "transactions", "nodeType": "VariableDeclaration", - "scope": 1213, - "src": "1588:51:0", + "scope": 1210, + "src": "1514:51:0", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$73_storage_$", + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction)" }, "typeName": { - "id": 76, + "id": 74, "keyType": { - "id": 74, + "id": 72, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "1596:7:0", + "src": "1522:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "nodeType": "Mapping", - "src": "1588:31:0", + "src": "1514:31:0", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$73_storage_$", + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction)" }, "valueType": { "contractScope": null, - "id": 75, + "id": 73, "name": "Transaction", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 73, - "src": "1607:11:0", + "referencedDeclaration": 71, + "src": "1533:11:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_Transaction_$73_storage_ptr", + "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction" } } @@ -1345,11 +1315,11 @@ }, { "constant": false, - "id": 80, + "id": 78, "name": "transactionCount", "nodeType": "VariableDeclaration", - "scope": 1213, - "src": "1646:35:0", + "scope": 1210, + "src": "1572:35:0", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -1357,10 +1327,10 @@ "typeString": "uint256" }, "typeName": { - "id": 78, + "id": 76, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1646:7:0", + "src": "1572:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1369,14 +1339,14 @@ "value": { "argumentTypes": null, "hexValue": "30", - "id": 79, + "id": 77, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1680:1:0", + "src": "1606:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -1388,11 +1358,11 @@ }, { "constant": false, - "id": 85, + "id": 83, "name": "partyVsTransaction", "nodeType": "VariableDeclaration", - "scope": 1213, - "src": "1758:54:0", + "scope": 1210, + "src": "1684:54:0", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -1400,38 +1370,38 @@ "typeString": "mapping(address => bytes32[])" }, "typeName": { - "id": 84, + "id": 82, "keyType": { - "id": 81, + "id": 79, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1766:7:0", + "src": "1692:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "Mapping", - "src": "1758:29:0", + "src": "1684:29:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_bytes32_$dyn_storage_$", "typeString": "mapping(address => bytes32[])" }, "valueType": { "baseType": { - "id": 82, + "id": 80, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "1777:7:0", + "src": "1703:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "id": 83, + "id": 81, "length": null, "nodeType": "ArrayTypeName", - "src": "1777:9:0", + "src": "1703:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -1443,9 +1413,9 @@ }, { "body": { - "id": 100, + "id": 98, "nodeType": "Block", - "src": "1866:125:0", + "src": "1792:125:0", "statements": [ { "expression": { @@ -1457,7 +1427,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 95, + "id": 93, "isConstant": false, "isLValue": false, "isPure": false, @@ -1468,26 +1438,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 90, + "id": 88, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 77, - "src": "1897:12:0", + "referencedDeclaration": 75, + "src": "1823:12:0", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$73_storage_$", + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 92, + "id": 90, "indexExpression": { "argumentTypes": null, - "id": 91, + "id": 89, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 87, - "src": "1910:10:0", + "referencedDeclaration": 85, + "src": "1836:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -1498,21 +1468,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "1897:24:0", + "src": "1823:24:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_Transaction_$73_storage", + "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 93, + "id": 91, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "value", "nodeType": "MemberAccess", - "referencedDeclaration": 42, - "src": "1897:30:0", + "referencedDeclaration": 40, + "src": "1823:30:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1523,14 +1493,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 94, + "id": 92, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1931:1:0", + "src": "1857:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -1538,7 +1508,7 @@ }, "value": "0" }, - "src": "1897:35:0", + "src": "1823:35:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1547,14 +1517,14 @@ { "argumentTypes": null, "hexValue": "5472616e73616374696f6e20646f6573206e6f7420657869737473", - "id": 96, + "id": 94, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "1934:29:0", + "src": "1860:29:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_e6218ab6010d379e919c5d8d62438c20b22e478fd60139b985d89cb57bc71538", @@ -1574,21 +1544,21 @@ "typeString": "literal_string \"Transaction does not exists\"" } ], - "id": 89, + "id": 87, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1389, - 1390 + 1386, + 1387 ], - "referencedDeclaration": 1390, - "src": "1876:7:0", + "referencedDeclaration": 1387, + "src": "1802:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 97, + "id": 95, "isConstant": false, "isLValue": false, "isPure": false, @@ -1596,38 +1566,38 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1876:97:0", + "src": "1802:97:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 98, + "id": 96, "nodeType": "ExpressionStatement", - "src": "1876:97:0" + "src": "1802:97:0" }, { - "id": 99, + "id": 97, "nodeType": "PlaceholderStatement", - "src": "1983:1:0" + "src": "1909:1:0" } ] }, "documentation": null, - "id": 101, + "id": 99, "name": "transactionExists", "nodeType": "ModifierDefinition", "parameters": { - "id": 88, + "id": 86, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 87, + "id": 85, "name": "scriptHash", "nodeType": "VariableDeclaration", - "scope": 101, - "src": "1846:18:0", + "scope": 99, + "src": "1772:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1635,10 +1605,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 86, + "id": 84, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "1846:7:0", + "src": "1772:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -1648,16 +1618,16 @@ "visibility": "internal" } ], - "src": "1845:20:0" + "src": "1771:20:0" }, - "src": "1819:172:0", + "src": "1745:172:0", "visibility": "internal" }, { "body": { - "id": 116, + "id": 114, "nodeType": "Block", - "src": "2052:94:0", + "src": "1978:94:0", "statements": [ { "expression": { @@ -1669,7 +1639,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 111, + "id": 109, "isConstant": false, "isLValue": false, "isPure": false, @@ -1680,26 +1650,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 106, + "id": 104, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 77, - "src": "2070:12:0", + "referencedDeclaration": 75, + "src": "1996:12:0", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$73_storage_$", + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 108, + "id": 106, "indexExpression": { "argumentTypes": null, - "id": 107, + "id": 105, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 103, - "src": "2083:10:0", + "referencedDeclaration": 101, + "src": "2009:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -1710,21 +1680,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "2070:24:0", + "src": "1996:24:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_Transaction_$73_storage", + "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 109, + "id": 107, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "value", "nodeType": "MemberAccess", - "referencedDeclaration": 42, - "src": "2070:30:0", + "referencedDeclaration": 40, + "src": "1996:30:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1735,14 +1705,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 110, + "id": 108, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2104:1:0", + "src": "2030:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -1750,7 +1720,7 @@ }, "value": "0" }, - "src": "2070:35:0", + "src": "1996:35:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1759,14 +1729,14 @@ { "argumentTypes": null, "hexValue": "5472616e73616374696f6e20657869737473", - "id": 112, + "id": 110, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "2107:20:0", + "src": "2033:20:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_64ff8d63c933e41af18e90354a9e9e0a94a0877b0dd96b73b67df48f68d00e8a", @@ -1786,21 +1756,21 @@ "typeString": "literal_string \"Transaction exists\"" } ], - "id": 105, + "id": 103, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1389, - 1390 + 1386, + 1387 ], - "referencedDeclaration": 1390, - "src": "2062:7:0", + "referencedDeclaration": 1387, + "src": "1988:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 113, + "id": 111, "isConstant": false, "isLValue": false, "isPure": false, @@ -1808,38 +1778,38 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2062:66:0", + "src": "1988:66:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 114, + "id": 112, "nodeType": "ExpressionStatement", - "src": "2062:66:0" + "src": "1988:66:0" }, { - "id": 115, + "id": 113, "nodeType": "PlaceholderStatement", - "src": "2138:1:0" + "src": "2064:1:0" } ] }, "documentation": null, - "id": 117, + "id": 115, "name": "transactionDoesNotExists", "nodeType": "ModifierDefinition", "parameters": { - "id": 104, + "id": 102, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 103, + "id": 101, "name": "scriptHash", "nodeType": "VariableDeclaration", - "scope": 117, - "src": "2032:18:0", + "scope": 115, + "src": "1958:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1847,10 +1817,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 102, + "id": 100, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "2032:7:0", + "src": "1958:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -1860,16 +1830,16 @@ "visibility": "internal" } ], - "src": "2031:20:0" + "src": "1957:20:0" }, - "src": "1997:149:0", + "src": "1923:149:0", "visibility": "internal" }, { "body": { - "id": 133, + "id": 131, "nodeType": "Block", - "src": "2195:161:0", + "src": "2121:161:0", "statements": [ { "expression": { @@ -1881,7 +1851,7 @@ "typeIdentifier": "t_enum$_Status_$9", "typeString": "enum Escrow_v1_0.Status" }, - "id": 128, + "id": 126, "isConstant": false, "isLValue": false, "isPure": false, @@ -1892,26 +1862,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 122, + "id": 120, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 77, - "src": "2226:12:0", + "referencedDeclaration": 75, + "src": "2152:12:0", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$73_storage_$", + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 124, + "id": 122, "indexExpression": { "argumentTypes": null, - "id": 123, + "id": 121, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119, - "src": "2239:10:0", + "referencedDeclaration": 117, + "src": "2165:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -1922,21 +1892,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "2226:24:0", + "src": "2152:24:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_Transaction_$73_storage", + "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 125, + "id": 123, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "status", "nodeType": "MemberAccess", - "referencedDeclaration": 46, - "src": "2226:31:0", + "referencedDeclaration": 44, + "src": "2152:31:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$9", "typeString": "enum Escrow_v1_0.Status" @@ -1948,18 +1918,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 126, + "id": 124, "name": "Status", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9, - "src": "2261:6:0", + "src": "2187:6:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_Status_$9_$", "typeString": "type(enum Escrow_v1_0.Status)" } }, - "id": 127, + "id": 125, "isConstant": false, "isLValue": false, "isPure": true, @@ -1967,13 +1937,13 @@ "memberName": "FUNDED", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "2261:13:0", + "src": "2187:13:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$9", "typeString": "enum Escrow_v1_0.Status" } }, - "src": "2226:48:0", + "src": "2152:48:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1982,14 +1952,14 @@ { "argumentTypes": null, "hexValue": "5472616e73616374696f6e2069732065697468657220696e2064697370757465206f722072656c6561736564207374617465", - "id": 129, + "id": 127, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "2276:52:0", + "src": "2202:52:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_0cc8916d65fa11e0e6538cf603067141ec9685ba71ec1b5e50c6b5b71a8ab654", @@ -2009,21 +1979,21 @@ "typeString": "literal_string \"Transaction is either in dispute or released state\"" } ], - "id": 121, + "id": 119, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1389, - 1390 + 1386, + 1387 ], - "referencedDeclaration": 1390, - "src": "2205:7:0", + "referencedDeclaration": 1387, + "src": "2131:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 130, + "id": 128, "isConstant": false, "isLValue": false, "isPure": false, @@ -2031,38 +2001,38 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2205:133:0", + "src": "2131:133:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 131, + "id": 129, "nodeType": "ExpressionStatement", - "src": "2205:133:0" + "src": "2131:133:0" }, { - "id": 132, + "id": 130, "nodeType": "PlaceholderStatement", - "src": "2348:1:0" + "src": "2274:1:0" } ] }, "documentation": null, - "id": 134, + "id": 132, "name": "inFundedState", "nodeType": "ModifierDefinition", "parameters": { - "id": 120, + "id": 118, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 119, + "id": 117, "name": "scriptHash", "nodeType": "VariableDeclaration", - "scope": 134, - "src": "2175:18:0", + "scope": 132, + "src": "2101:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2070,10 +2040,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 118, + "id": 116, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "2175:7:0", + "src": "2101:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -2083,16 +2053,16 @@ "visibility": "internal" } ], - "src": "2174:20:0" + "src": "2100:20:0" }, - "src": "2152:204:0", + "src": "2078:204:0", "visibility": "internal" }, { "body": { - "id": 148, + "id": 146, "nodeType": "Block", - "src": "2410:88:0", + "src": "2336:88:0", "statements": [ { "expression": { @@ -2104,19 +2074,19 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 143, + "id": 141, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 139, + "id": 137, "name": "addressToCheck", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 136, - "src": "2428:14:0", + "referencedDeclaration": 134, + "src": "2354:14:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2130,14 +2100,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 141, + "id": 139, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2454:1:0", + "src": "2380:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -2153,20 +2123,20 @@ "typeString": "int_const 0" } ], - "id": 140, + "id": 138, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "2446:7:0", + "src": "2372:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, - "id": 142, + "id": 140, "isConstant": false, "isLValue": false, "isPure": true, @@ -2174,13 +2144,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2446:10:0", + "src": "2372:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "2428:28:0", + "src": "2354:28:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -2189,14 +2159,14 @@ { "argumentTypes": null, "hexValue": "5a65726f206164647265737320706173736564", - "id": 144, + "id": 142, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "2458:21:0", + "src": "2384:21:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_93e85f37f73cf8e1b855512ab7e00aab2b791117712ecb476daeb6c2c0a27a67", @@ -2216,21 +2186,21 @@ "typeString": "literal_string \"Zero address passed\"" } ], - "id": 138, + "id": 136, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1389, - 1390 + 1386, + 1387 ], - "referencedDeclaration": 1390, - "src": "2420:7:0", + "referencedDeclaration": 1387, + "src": "2346:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 145, + "id": 143, "isConstant": false, "isLValue": false, "isPure": false, @@ -2238,38 +2208,38 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2420:60:0", + "src": "2346:60:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 146, + "id": 144, "nodeType": "ExpressionStatement", - "src": "2420:60:0" + "src": "2346:60:0" }, { - "id": 147, + "id": 145, "nodeType": "PlaceholderStatement", - "src": "2490:1:0" + "src": "2416:1:0" } ] }, "documentation": null, - "id": 149, + "id": 147, "name": "nonZeroAddress", "nodeType": "ModifierDefinition", "parameters": { - "id": 137, + "id": 135, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 136, + "id": 134, "name": "addressToCheck", "nodeType": "VariableDeclaration", - "scope": 149, - "src": "2386:22:0", + "scope": 147, + "src": "2312:22:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2277,10 +2247,10 @@ "typeString": "address" }, "typeName": { - "id": 135, + "id": 133, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2386:7:0", + "src": "2312:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2290,16 +2260,16 @@ "visibility": "internal" } ], - "src": "2385:24:0" + "src": "2311:24:0" }, - "src": "2362:136:0", + "src": "2288:136:0", "visibility": "internal" }, { "body": { - "id": 166, + "id": 164, "nodeType": "Block", - "src": "2613:153:0", + "src": "2539:153:0", "statements": [ { "expression": { @@ -2311,7 +2281,7 @@ "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" }, - "id": 161, + "id": 159, "isConstant": false, "isLValue": false, "isPure": false, @@ -2322,26 +2292,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 156, + "id": 154, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 77, - "src": "2644:12:0", + "referencedDeclaration": 75, + "src": "2570:12:0", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$73_storage_$", + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 158, + "id": 156, "indexExpression": { "argumentTypes": null, - "id": 157, + "id": 155, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 151, - "src": "2657:10:0", + "referencedDeclaration": 149, + "src": "2583:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -2352,21 +2322,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "2644:24:0", + "src": "2570:24:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_Transaction_$73_storage", + "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 159, + "id": 157, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "transactionType", "nodeType": "MemberAccess", - "referencedDeclaration": 48, - "src": "2644:40:0", + "referencedDeclaration": 46, + "src": "2570:40:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -2376,18 +2346,18 @@ "operator": "==", "rightExpression": { "argumentTypes": null, - "id": 160, + "id": 158, "name": "transactionType", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 153, - "src": "2688:15:0", + "referencedDeclaration": 151, + "src": "2614:15:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" } }, - "src": "2644:59:0", + "src": "2570:59:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -2396,14 +2366,14 @@ { "argumentTypes": null, "hexValue": "5472616e73616374696f6e207479706520646f6573206e6f74206d61746368", - "id": 162, + "id": 160, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "2705:33:0", + "src": "2631:33:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_c798eb33a8bd5d4c22212d5c8611219bb87da2d82aefe8e88b1f970a0f133cc3", @@ -2423,21 +2393,21 @@ "typeString": "literal_string \"Transaction type does not match\"" } ], - "id": 155, + "id": 153, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1389, - 1390 + 1386, + 1387 ], - "referencedDeclaration": 1390, - "src": "2623:7:0", + "referencedDeclaration": 1387, + "src": "2549:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 163, + "id": 161, "isConstant": false, "isLValue": false, "isPure": false, @@ -2445,38 +2415,38 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2623:125:0", + "src": "2549:125:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 164, + "id": 162, "nodeType": "ExpressionStatement", - "src": "2623:125:0" + "src": "2549:125:0" }, { - "id": 165, + "id": 163, "nodeType": "PlaceholderStatement", - "src": "2758:1:0" + "src": "2684:1:0" } ] }, "documentation": null, - "id": 167, + "id": 165, "name": "checkTransactionType", "nodeType": "ModifierDefinition", "parameters": { - "id": 154, + "id": 152, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 151, + "id": 149, "name": "scriptHash", "nodeType": "VariableDeclaration", - "scope": 167, - "src": "2543:18:0", + "scope": 165, + "src": "2469:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2484,10 +2454,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 150, + "id": 148, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "2543:7:0", + "src": "2469:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -2498,11 +2468,11 @@ }, { "constant": false, - "id": 153, + "id": 151, "name": "transactionType", "nodeType": "VariableDeclaration", - "scope": 167, - "src": "2571:31:0", + "scope": 165, + "src": "2497:31:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2511,11 +2481,11 @@ }, "typeName": { "contractScope": null, - "id": 152, + "id": 150, "name": "TransactionType", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 12, - "src": "2571:15:0", + "src": "2497:15:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -2525,16 +2495,16 @@ "visibility": "internal" } ], - "src": "2533:75:0" + "src": "2459:75:0" }, - "src": "2504:262:0", + "src": "2430:262:0", "visibility": "internal" }, { "body": { - "id": 183, + "id": 181, "nodeType": "Block", - "src": "2811:152:0", + "src": "2737:152:0", "statements": [ { "expression": { @@ -2546,7 +2516,7 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 178, + "id": 176, "isConstant": false, "isLValue": false, "isPure": false, @@ -2555,18 +2525,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 172, + "id": 170, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1386, - "src": "2842:3:0", + "referencedDeclaration": 1383, + "src": "2768:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 173, + "id": 171, "isConstant": false, "isLValue": false, "isPure": false, @@ -2574,7 +2544,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "2842:10:0", + "src": "2768:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2588,26 +2558,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 174, + "id": 172, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 77, - "src": "2856:12:0", + "referencedDeclaration": 75, + "src": "2782:12:0", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$73_storage_$", + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 176, + "id": 174, "indexExpression": { "argumentTypes": null, - "id": 175, + "id": 173, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 169, - "src": "2869:10:0", + "referencedDeclaration": 167, + "src": "2795:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -2618,27 +2588,27 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "2856:24:0", + "src": "2782:24:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_Transaction_$73_storage", + "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 177, + "id": 175, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "buyer", "nodeType": "MemberAccess", - "referencedDeclaration": 54, - "src": "2856:30:0", + "referencedDeclaration": 52, + "src": "2782:30:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "2842:44:0", + "src": "2768:44:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -2647,14 +2617,14 @@ { "argumentTypes": null, "hexValue": "54686520696e69746961746f72206f6620746865207472616e73616374696f6e206973206e6f74206275796572", - "id": 179, + "id": 177, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "2888:47:0", + "src": "2814:47:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_b4fc72d2373e6fc668b2bc10a6c84713d84de5f4dc58bb69053e1a18ae67c2f9", @@ -2674,21 +2644,21 @@ "typeString": "literal_string \"The initiator of the transaction is not buyer\"" } ], - "id": 171, + "id": 169, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1389, - 1390 + 1386, + 1387 ], - "referencedDeclaration": 1390, - "src": "2821:7:0", + "referencedDeclaration": 1387, + "src": "2747:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 180, + "id": 178, "isConstant": false, "isLValue": false, "isPure": false, @@ -2696,38 +2666,38 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2821:124:0", + "src": "2747:124:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 181, + "id": 179, "nodeType": "ExpressionStatement", - "src": "2821:124:0" + "src": "2747:124:0" }, { - "id": 182, + "id": 180, "nodeType": "PlaceholderStatement", - "src": "2955:1:0" + "src": "2881:1:0" } ] }, "documentation": null, - "id": 184, + "id": 182, "name": "onlyBuyer", "nodeType": "ModifierDefinition", "parameters": { - "id": 170, + "id": 168, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 169, + "id": 167, "name": "scriptHash", "nodeType": "VariableDeclaration", - "scope": 184, - "src": "2791:18:0", + "scope": 182, + "src": "2717:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2735,10 +2705,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 168, + "id": 166, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "2791:7:0", + "src": "2717:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -2748,16 +2718,16 @@ "visibility": "internal" } ], - "src": "2790:20:0" + "src": "2716:20:0" }, - "src": "2772:191:0", + "src": "2698:191:0", "visibility": "internal" }, { "body": { - "id": 235, + "id": 233, "nodeType": "Block", - "src": "4257:347:0", + "src": "4183:347:0", "statements": [ { "expression": { @@ -2765,12 +2735,12 @@ "arguments": [ { "argumentTypes": null, - "id": 211, + "id": 209, "name": "buyer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 186, - "src": "4296:5:0", + "referencedDeclaration": 184, + "src": "4222:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2778,12 +2748,12 @@ }, { "argumentTypes": null, - "id": 212, + "id": 210, "name": "seller", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 188, - "src": "4315:6:0", + "referencedDeclaration": 186, + "src": "4241:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2791,12 +2761,12 @@ }, { "argumentTypes": null, - "id": 213, + "id": 211, "name": "moderator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 190, - "src": "4335:9:0", + "referencedDeclaration": 188, + "src": "4261:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2804,12 +2774,12 @@ }, { "argumentTypes": null, - "id": 214, + "id": 212, "name": "threshold", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 192, - "src": "4358:9:0", + "referencedDeclaration": 190, + "src": "4284:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -2817,12 +2787,12 @@ }, { "argumentTypes": null, - "id": 215, + "id": 213, "name": "timeoutHours", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 194, - "src": "4381:12:0", + "referencedDeclaration": 192, + "src": "4307:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -2830,12 +2800,12 @@ }, { "argumentTypes": null, - "id": 216, + "id": 214, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 196, - "src": "4407:10:0", + "referencedDeclaration": 194, + "src": "4333:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -2845,18 +2815,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 217, + "id": 215, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1386, - "src": "4431:3:0", + "referencedDeclaration": 1383, + "src": "4357:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 218, + "id": 216, "isConstant": false, "isLValue": false, "isPure": false, @@ -2864,7 +2834,7 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "4431:9:0", + "src": "4357:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2872,12 +2842,12 @@ }, { "argumentTypes": null, - "id": 219, + "id": 217, "name": "uniqueId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 198, - "src": "4454:8:0", + "referencedDeclaration": 196, + "src": "4380:8:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -2887,18 +2857,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 220, + "id": 218, "name": "TransactionType", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12, - "src": "4476:15:0", + "src": "4402:15:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_TransactionType_$12_$", "typeString": "type(enum Escrow_v1_0.TransactionType)" } }, - "id": 221, + "id": 219, "isConstant": false, "isLValue": false, "isPure": true, @@ -2906,7 +2876,7 @@ "memberName": "ETHER", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "4476:21:0", + "src": "4402:21:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -2918,14 +2888,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 223, + "id": 221, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "4519:1:0", + "src": "4445:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -2941,20 +2911,20 @@ "typeString": "int_const 0" } ], - "id": 222, + "id": 220, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "4511:7:0", + "src": "4437:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, - "id": 224, + "id": 222, "isConstant": false, "isLValue": false, "isPure": true, @@ -2962,7 +2932,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4511:10:0", + "src": "4437:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3012,18 +2982,18 @@ "typeString": "address" } ], - "id": 210, + "id": 208, "name": "_addTransaction", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1212, - "src": "4267:15:0", + "referencedDeclaration": 1209, + "src": "4193:15:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_address_$_t_uint8_$_t_uint32_$_t_bytes32_$_t_uint256_$_t_bytes20_$_t_enum$_TransactionType_$12_$_t_address_$returns$__$", "typeString": "function (address,address,address,uint8,uint32,bytes32,uint256,bytes20,enum Escrow_v1_0.TransactionType,address)" } }, - "id": 225, + "id": 223, "isConstant": false, "isLValue": false, "isPure": false, @@ -3031,15 +3001,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4267:264:0", + "src": "4193:264:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 226, + "id": 224, "nodeType": "ExpressionStatement", - "src": "4267:264:0" + "src": "4193:264:0" }, { "eventCall": { @@ -3047,12 +3017,12 @@ "arguments": [ { "argumentTypes": null, - "id": 228, + "id": 226, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 196, - "src": "4562:10:0", + "referencedDeclaration": 194, + "src": "4488:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -3062,18 +3032,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 229, + "id": 227, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1386, - "src": "4574:3:0", + "referencedDeclaration": 1383, + "src": "4500:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 230, + "id": 228, "isConstant": false, "isLValue": false, "isPure": false, @@ -3081,7 +3051,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "4574:10:0", + "src": "4500:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3091,18 +3061,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 231, + "id": 229, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1386, - "src": "4586:3:0", + "referencedDeclaration": 1383, + "src": "4512:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 232, + "id": 230, "isConstant": false, "isLValue": false, "isPure": false, @@ -3110,7 +3080,7 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "4586:9:0", + "src": "4512:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3132,18 +3102,18 @@ "typeString": "uint256" } ], - "id": 227, + "id": 225, "name": "Funded", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 38, - "src": "4555:6:0", + "src": "4481:6:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (bytes32,address,uint256)" } }, - "id": 233, + "id": 231, "isConstant": false, "isLValue": false, "isPure": false, @@ -3151,20 +3121,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4555:41:0", + "src": "4481:41:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 234, + "id": 232, "nodeType": "EmitStatement", - "src": "4550:46:0" + "src": "4476:46:0" } ] }, "documentation": "dev Add new transaction in the contract\nparam buyer The buyer of the transaction\nparam seller The seller of the listing associated with the transaction\nparam moderator Moderator for this transaction\nparam scriptHash keccak256 hash of the redeem script\nparam threshold Minimum number of singatures required to released funds\nparam timeoutHours Hours after which seller can release funds into his favour by signing transaction\nparam uniqueId bytes20 unique id for the transaction, generated by ETH wallet\nedeem Script format will be following\n\nscripthash-> keccak256(uniqueId, threshold, timeoutHours, buyer, seller, moderator)\nass amount of the ethers to be put in escrow\nlease keep in mind you will have to add moderator fees also in the value", - "id": 236, + "id": 234, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -3173,115 +3143,115 @@ "arguments": [ { "argumentTypes": null, - "id": 201, + "id": 199, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 196, - "src": "4180:10:0", + "referencedDeclaration": 194, + "src": "4106:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } } ], - "id": 202, + "id": 200, "modifierName": { "argumentTypes": null, - "id": 200, + "id": 198, "name": "transactionDoesNotExists", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 117, - "src": "4155:24:0", + "referencedDeclaration": 115, + "src": "4081:24:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "4155:36:0" + "src": "4081:36:0" }, { "arguments": [ { "argumentTypes": null, - "id": 204, + "id": 202, "name": "buyer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 186, - "src": "4215:5:0", + "referencedDeclaration": 184, + "src": "4141:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } } ], - "id": 205, + "id": 203, "modifierName": { "argumentTypes": null, - "id": 203, + "id": 201, "name": "nonZeroAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 149, - "src": "4200:14:0", + "referencedDeclaration": 147, + "src": "4126:14:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_address_$", "typeString": "modifier (address)" } }, "nodeType": "ModifierInvocation", - "src": "4200:21:0" + "src": "4126:21:0" }, { "arguments": [ { "argumentTypes": null, - "id": 207, + "id": 205, "name": "seller", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 188, - "src": "4245:6:0", + "referencedDeclaration": 186, + "src": "4171:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } } ], - "id": 208, + "id": 206, "modifierName": { "argumentTypes": null, - "id": 206, + "id": 204, "name": "nonZeroAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 149, - "src": "4230:14:0", + "referencedDeclaration": 147, + "src": "4156:14:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_address_$", "typeString": "modifier (address)" } }, "nodeType": "ModifierInvocation", - "src": "4230:22:0" + "src": "4156:22:0" } ], "name": "addTransaction", "nodeType": "FunctionDefinition", "parameters": { - "id": 199, + "id": 197, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 186, + "id": 184, "name": "buyer", "nodeType": "VariableDeclaration", - "scope": 236, - "src": "3935:13:0", + "scope": 234, + "src": "3861:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3289,10 +3259,10 @@ "typeString": "address" }, "typeName": { - "id": 185, + "id": 183, "name": "address", "nodeType": "ElementaryTypeName", - "src": "3935:7:0", + "src": "3861:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3303,11 +3273,11 @@ }, { "constant": false, - "id": 188, + "id": 186, "name": "seller", "nodeType": "VariableDeclaration", - "scope": 236, - "src": "3958:14:0", + "scope": 234, + "src": "3884:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3315,10 +3285,10 @@ "typeString": "address" }, "typeName": { - "id": 187, + "id": 185, "name": "address", "nodeType": "ElementaryTypeName", - "src": "3958:7:0", + "src": "3884:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3329,11 +3299,11 @@ }, { "constant": false, - "id": 190, + "id": 188, "name": "moderator", "nodeType": "VariableDeclaration", - "scope": 236, - "src": "3982:17:0", + "scope": 234, + "src": "3908:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3341,10 +3311,10 @@ "typeString": "address" }, "typeName": { - "id": 189, + "id": 187, "name": "address", "nodeType": "ElementaryTypeName", - "src": "3982:7:0", + "src": "3908:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3355,11 +3325,11 @@ }, { "constant": false, - "id": 192, + "id": 190, "name": "threshold", "nodeType": "VariableDeclaration", - "scope": 236, - "src": "4009:15:0", + "scope": 234, + "src": "3935:15:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3367,10 +3337,10 @@ "typeString": "uint8" }, "typeName": { - "id": 191, + "id": 189, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "4009:5:0", + "src": "3935:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -3381,11 +3351,11 @@ }, { "constant": false, - "id": 194, + "id": 192, "name": "timeoutHours", "nodeType": "VariableDeclaration", - "scope": 236, - "src": "4034:19:0", + "scope": 234, + "src": "3960:19:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3393,10 +3363,10 @@ "typeString": "uint32" }, "typeName": { - "id": 193, + "id": 191, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "4034:6:0", + "src": "3960:6:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -3407,11 +3377,11 @@ }, { "constant": false, - "id": 196, + "id": 194, "name": "scriptHash", "nodeType": "VariableDeclaration", - "scope": 236, - "src": "4063:18:0", + "scope": 234, + "src": "3989:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3419,10 +3389,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 195, + "id": 193, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "4063:7:0", + "src": "3989:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -3433,11 +3403,11 @@ }, { "constant": false, - "id": 198, + "id": 196, "name": "uniqueId", "nodeType": "VariableDeclaration", - "scope": 236, - "src": "4091:16:0", + "scope": 234, + "src": "4017:16:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3445,10 +3415,10 @@ "typeString": "bytes20" }, "typeName": { - "id": 197, + "id": 195, "name": "bytes20", "nodeType": "ElementaryTypeName", - "src": "4091:7:0", + "src": "4017:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -3458,26 +3428,26 @@ "visibility": "internal" } ], - "src": "3925:188:0" + "src": "3851:188:0" }, "payable": true, "returnParameters": { - "id": 209, + "id": 207, "nodeType": "ParameterList", "parameters": [], - "src": "4257:0:0" + "src": "4183:0:0" }, - "scope": 1213, - "src": "3902:702:0", + "scope": 1210, + "src": "3828:702:0", "stateMutability": "payable", "superFunction": null, "visibility": "external" }, { "body": { - "id": 307, + "id": 305, "nodeType": "Block", - "src": "6138:587:0", + "src": "6064:587:0", "statements": [ { "expression": { @@ -3485,12 +3455,12 @@ "arguments": [ { "argumentTypes": null, - "id": 270, + "id": 268, "name": "buyer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 238, - "src": "6178:5:0", + "referencedDeclaration": 236, + "src": "6104:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3498,12 +3468,12 @@ }, { "argumentTypes": null, - "id": 271, + "id": 269, "name": "seller", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 240, - "src": "6197:6:0", + "referencedDeclaration": 238, + "src": "6123:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3511,12 +3481,12 @@ }, { "argumentTypes": null, - "id": 272, + "id": 270, "name": "moderator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 242, - "src": "6217:9:0", + "referencedDeclaration": 240, + "src": "6143:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3524,12 +3494,12 @@ }, { "argumentTypes": null, - "id": 273, + "id": 271, "name": "threshold", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 244, - "src": "6240:9:0", + "referencedDeclaration": 242, + "src": "6166:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -3537,12 +3507,12 @@ }, { "argumentTypes": null, - "id": 274, + "id": 272, "name": "timeoutHours", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 246, - "src": "6263:12:0", + "referencedDeclaration": 244, + "src": "6189:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -3550,12 +3520,12 @@ }, { "argumentTypes": null, - "id": 275, + "id": 273, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 248, - "src": "6289:10:0", + "referencedDeclaration": 246, + "src": "6215:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -3563,12 +3533,12 @@ }, { "argumentTypes": null, - "id": 276, + "id": 274, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 250, - "src": "6313:5:0", + "referencedDeclaration": 248, + "src": "6239:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3576,12 +3546,12 @@ }, { "argumentTypes": null, - "id": 277, + "id": 275, "name": "uniqueId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 252, - "src": "6332:8:0", + "referencedDeclaration": 250, + "src": "6258:8:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -3591,18 +3561,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 278, + "id": 276, "name": "TransactionType", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12, - "src": "6354:15:0", + "src": "6280:15:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_TransactionType_$12_$", "typeString": "type(enum Escrow_v1_0.TransactionType)" } }, - "id": 279, + "id": 277, "isConstant": false, "isLValue": false, "isPure": true, @@ -3610,7 +3580,7 @@ "memberName": "TOKEN", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "6354:21:0", + "src": "6280:21:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -3618,12 +3588,12 @@ }, { "argumentTypes": null, - "id": 280, + "id": 278, "name": "tokenAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 254, - "src": "6389:12:0", + "referencedDeclaration": 252, + "src": "6315:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3673,18 +3643,18 @@ "typeString": "address" } ], - "id": 269, + "id": 267, "name": "_addTransaction", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1212, - "src": "6149:15:0", + "referencedDeclaration": 1209, + "src": "6075:15:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_address_$_t_uint8_$_t_uint32_$_t_bytes32_$_t_uint256_$_t_bytes20_$_t_enum$_TransactionType_$12_$_t_address_$returns$__$", "typeString": "function (address,address,address,uint8,uint32,bytes32,uint256,bytes20,enum Escrow_v1_0.TransactionType,address)" } }, - "id": 281, + "id": 279, "isConstant": false, "isLValue": false, "isPure": false, @@ -3692,43 +3662,43 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6149:262:0", + "src": "6075:262:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 282, + "id": 280, "nodeType": "ExpressionStatement", - "src": "6149:262:0" + "src": "6075:262:0" }, { "assignments": [ - 284 + 282 ], "declarations": [ { "constant": false, - "id": 284, + "id": 282, "name": "token", "nodeType": "VariableDeclaration", - "scope": 308, - "src": "6422:20:0", + "scope": 306, + "src": "6348:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenContract_$1243", + "typeIdentifier": "t_contract$_ITokenContract_$1240", "typeString": "contract ITokenContract" }, "typeName": { "contractScope": null, - "id": 283, + "id": 281, "name": "ITokenContract", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1243, - "src": "6422:14:0", + "referencedDeclaration": 1240, + "src": "6348:14:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenContract_$1243", + "typeIdentifier": "t_contract$_ITokenContract_$1240", "typeString": "contract ITokenContract" } }, @@ -3736,18 +3706,18 @@ "visibility": "internal" } ], - "id": 288, + "id": 286, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 286, + "id": 284, "name": "tokenAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 254, - "src": "6460:12:0", + "referencedDeclaration": 252, + "src": "6386:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3761,18 +3731,18 @@ "typeString": "address" } ], - "id": 285, + "id": 283, "name": "ITokenContract", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1243, - "src": "6445:14:0", + "referencedDeclaration": 1240, + "src": "6371:14:0", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ITokenContract_$1243_$", + "typeIdentifier": "t_type$_t_contract$_ITokenContract_$1240_$", "typeString": "type(contract ITokenContract)" } }, - "id": 287, + "id": 285, "isConstant": false, "isLValue": false, "isPure": false, @@ -3780,14 +3750,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6445:28:0", + "src": "6371:28:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenContract_$1243", + "typeIdentifier": "t_contract$_ITokenContract_$1240", "typeString": "contract ITokenContract" } }, "nodeType": "VariableDeclarationStatement", - "src": "6422:51:0" + "src": "6348:51:0" }, { "expression": { @@ -3800,18 +3770,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 292, + "id": 290, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1386, - "src": "6524:3:0", + "referencedDeclaration": 1383, + "src": "6450:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 293, + "id": 291, "isConstant": false, "isLValue": false, "isPure": false, @@ -3819,7 +3789,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "6524:10:0", + "src": "6450:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3827,25 +3797,25 @@ }, { "argumentTypes": null, - "id": 294, + "id": 292, "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1403, - "src": "6536:4:0", + "referencedDeclaration": 1400, + "src": "6462:4:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_Escrow_v1_0_$1213", + "typeIdentifier": "t_contract$_Escrow_v1_0_$1210", "typeString": "contract Escrow_v1_0" } }, { "argumentTypes": null, - "id": 295, + "id": 293, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 250, - "src": "6542:5:0", + "referencedDeclaration": 248, + "src": "6468:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3859,7 +3829,7 @@ "typeString": "address" }, { - "typeIdentifier": "t_contract$_Escrow_v1_0_$1213", + "typeIdentifier": "t_contract$_Escrow_v1_0_$1210", "typeString": "contract Escrow_v1_0" }, { @@ -3869,32 +3839,32 @@ ], "expression": { "argumentTypes": null, - "id": 290, + "id": 288, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 284, - "src": "6505:5:0", + "referencedDeclaration": 282, + "src": "6431:5:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenContract_$1243", + "typeIdentifier": "t_contract$_ITokenContract_$1240", "typeString": "contract ITokenContract" } }, - "id": 291, + "id": 289, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "transferFrom", "nodeType": "MemberAccess", - "referencedDeclaration": 1242, - "src": "6505:18:0", + "referencedDeclaration": 1239, + "src": "6431:18:0", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", "typeString": "function (address,address,uint256) external returns (bool)" } }, - "id": 296, + "id": 294, "isConstant": false, "isLValue": false, "isPure": false, @@ -3902,7 +3872,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6505:43:0", + "src": "6431:43:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -3911,14 +3881,14 @@ { "argumentTypes": null, "hexValue": "546f6b656e207472616e73666572206661696c65642c206d6179626520796f7520646964206e6f7420617070726f766520657363726f7720636f6e747261637420746f207370656e64206f6e20626568616c66206f66206275796572", - "id": 297, + "id": 295, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "6562:94:0", + "src": "6488:94:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_d9d07068d589bc4adc53018a3c57c159ec128fdfb62732a5fa9410e76cf03318", @@ -3938,21 +3908,21 @@ "typeString": "literal_string \"Token transfer failed, maybe you did not approve escrow contract to spend on behalf of buyer\"" } ], - "id": 289, + "id": 287, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1389, - 1390 + 1386, + 1387 ], - "referencedDeclaration": 1390, - "src": "6484:7:0", + "referencedDeclaration": 1387, + "src": "6410:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 298, + "id": 296, "isConstant": false, "isLValue": false, "isPure": false, @@ -3960,15 +3930,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6484:182:0", + "src": "6410:182:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 299, + "id": 297, "nodeType": "ExpressionStatement", - "src": "6484:182:0" + "src": "6410:182:0" }, { "eventCall": { @@ -3976,12 +3946,12 @@ "arguments": [ { "argumentTypes": null, - "id": 301, + "id": 299, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 248, - "src": "6688:10:0", + "referencedDeclaration": 246, + "src": "6614:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -3991,18 +3961,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 302, + "id": 300, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1386, - "src": "6700:3:0", + "referencedDeclaration": 1383, + "src": "6626:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 303, + "id": 301, "isConstant": false, "isLValue": false, "isPure": false, @@ -4010,7 +3980,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "6700:10:0", + "src": "6626:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4018,12 +3988,12 @@ }, { "argumentTypes": null, - "id": 304, + "id": 302, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 250, - "src": "6712:5:0", + "referencedDeclaration": 248, + "src": "6638:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4045,18 +4015,18 @@ "typeString": "uint256" } ], - "id": 300, + "id": 298, "name": "Funded", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 38, - "src": "6681:6:0", + "src": "6607:6:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (bytes32,address,uint256)" } }, - "id": 305, + "id": 303, "isConstant": false, "isLValue": false, "isPure": false, @@ -4064,20 +4034,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6681:37:0", + "src": "6607:37:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 306, + "id": 304, "nodeType": "EmitStatement", - "src": "6676:42:0" + "src": "6602:42:0" } ] }, "documentation": "dev Add new transaction in the contract\nparam buyer The buyer of the transaction\nparam seller The seller of the listing associated with the transaction\nparam moderator Moderator for this transaction\nparam scriptHash keccak256 hash of the redeem script\nparam threshold Minimum number of singatures required to released funds\nparam timeoutHours Hours after which seller can release funds into his favour by signing transaction\nparam value Amount of tokens to be put in escrow\nparam uniqueId bytes20 unique id for the transaction, generated by ETH wallet\nparam tokenAddress Address of the token to be used\nedeem Script format will be following\n\nscripthash-> keccak256(uniqueId, threshold, timeoutHours, buyer, seller, moderator, tokenAddress)\npprove escrow contract to spend amount of token on your behalf\nlease keep in mind you will have to add moderator fees also in the value", - "id": 308, + "id": 306, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -4086,148 +4056,148 @@ "arguments": [ { "argumentTypes": null, - "id": 257, + "id": 255, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 248, - "src": "6024:10:0", + "referencedDeclaration": 246, + "src": "5950:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } } ], - "id": 258, + "id": 256, "modifierName": { "argumentTypes": null, - "id": 256, + "id": 254, "name": "transactionDoesNotExists", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 117, - "src": "5999:24:0", + "referencedDeclaration": 115, + "src": "5925:24:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "5999:36:0" + "src": "5925:36:0" }, { "arguments": [ { "argumentTypes": null, - "id": 260, + "id": 258, "name": "buyer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 238, - "src": "6059:5:0", + "referencedDeclaration": 236, + "src": "5985:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } } ], - "id": 261, + "id": 259, "modifierName": { "argumentTypes": null, - "id": 259, + "id": 257, "name": "nonZeroAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 149, - "src": "6044:14:0", + "referencedDeclaration": 147, + "src": "5970:14:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_address_$", "typeString": "modifier (address)" } }, "nodeType": "ModifierInvocation", - "src": "6044:21:0" + "src": "5970:21:0" }, { "arguments": [ { "argumentTypes": null, - "id": 263, + "id": 261, "name": "seller", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 240, - "src": "6089:6:0", + "referencedDeclaration": 238, + "src": "6015:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } } ], - "id": 264, + "id": 262, "modifierName": { "argumentTypes": null, - "id": 262, + "id": 260, "name": "nonZeroAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 149, - "src": "6074:14:0", + "referencedDeclaration": 147, + "src": "6000:14:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_address_$", "typeString": "modifier (address)" } }, "nodeType": "ModifierInvocation", - "src": "6074:22:0" + "src": "6000:22:0" }, { "arguments": [ { "argumentTypes": null, - "id": 266, + "id": 264, "name": "tokenAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 254, - "src": "6120:12:0", + "referencedDeclaration": 252, + "src": "6046:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } } ], - "id": 267, + "id": 265, "modifierName": { "argumentTypes": null, - "id": 265, + "id": 263, "name": "nonZeroAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 149, - "src": "6105:14:0", + "referencedDeclaration": 147, + "src": "6031:14:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_address_$", "typeString": "modifier (address)" } }, "nodeType": "ModifierInvocation", - "src": "6105:28:0" + "src": "6031:28:0" } ], "name": "addTokenTransaction", "nodeType": "FunctionDefinition", "parameters": { - "id": 255, + "id": 253, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 238, + "id": 236, "name": "buyer", "nodeType": "VariableDeclaration", - "scope": 308, - "src": "5742:13:0", + "scope": 306, + "src": "5668:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4235,10 +4205,10 @@ "typeString": "address" }, "typeName": { - "id": 237, + "id": 235, "name": "address", "nodeType": "ElementaryTypeName", - "src": "5742:7:0", + "src": "5668:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4249,11 +4219,11 @@ }, { "constant": false, - "id": 240, + "id": 238, "name": "seller", "nodeType": "VariableDeclaration", - "scope": 308, - "src": "5765:14:0", + "scope": 306, + "src": "5691:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4261,10 +4231,10 @@ "typeString": "address" }, "typeName": { - "id": 239, + "id": 237, "name": "address", "nodeType": "ElementaryTypeName", - "src": "5765:7:0", + "src": "5691:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4275,11 +4245,11 @@ }, { "constant": false, - "id": 242, + "id": 240, "name": "moderator", "nodeType": "VariableDeclaration", - "scope": 308, - "src": "5789:17:0", + "scope": 306, + "src": "5715:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4287,10 +4257,10 @@ "typeString": "address" }, "typeName": { - "id": 241, + "id": 239, "name": "address", "nodeType": "ElementaryTypeName", - "src": "5789:7:0", + "src": "5715:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4301,11 +4271,11 @@ }, { "constant": false, - "id": 244, + "id": 242, "name": "threshold", "nodeType": "VariableDeclaration", - "scope": 308, - "src": "5816:15:0", + "scope": 306, + "src": "5742:15:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4313,10 +4283,10 @@ "typeString": "uint8" }, "typeName": { - "id": 243, + "id": 241, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "5816:5:0", + "src": "5742:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -4327,11 +4297,11 @@ }, { "constant": false, - "id": 246, + "id": 244, "name": "timeoutHours", "nodeType": "VariableDeclaration", - "scope": 308, - "src": "5841:19:0", + "scope": 306, + "src": "5767:19:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4339,10 +4309,10 @@ "typeString": "uint32" }, "typeName": { - "id": 245, + "id": 243, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "5841:6:0", + "src": "5767:6:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -4353,11 +4323,11 @@ }, { "constant": false, - "id": 248, + "id": 246, "name": "scriptHash", "nodeType": "VariableDeclaration", - "scope": 308, - "src": "5870:18:0", + "scope": 306, + "src": "5796:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4365,10 +4335,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 247, + "id": 245, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "5870:7:0", + "src": "5796:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -4379,11 +4349,11 @@ }, { "constant": false, - "id": 250, + "id": 248, "name": "value", "nodeType": "VariableDeclaration", - "scope": 308, - "src": "5898:13:0", + "scope": 306, + "src": "5824:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4391,10 +4361,10 @@ "typeString": "uint256" }, "typeName": { - "id": 249, + "id": 247, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "5898:7:0", + "src": "5824:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4405,11 +4375,11 @@ }, { "constant": false, - "id": 252, + "id": 250, "name": "uniqueId", "nodeType": "VariableDeclaration", - "scope": 308, - "src": "5921:16:0", + "scope": 306, + "src": "5847:16:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4417,10 +4387,10 @@ "typeString": "bytes20" }, "typeName": { - "id": 251, + "id": 249, "name": "bytes20", "nodeType": "ElementaryTypeName", - "src": "5921:7:0", + "src": "5847:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -4431,11 +4401,11 @@ }, { "constant": false, - "id": 254, + "id": 252, "name": "tokenAddress", "nodeType": "VariableDeclaration", - "scope": 308, - "src": "5947:20:0", + "scope": 306, + "src": "5873:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4443,10 +4413,10 @@ "typeString": "address" }, "typeName": { - "id": 253, + "id": 251, "name": "address", "nodeType": "ElementaryTypeName", - "src": "5947:7:0", + "src": "5873:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4456,43 +4426,43 @@ "visibility": "internal" } ], - "src": "5732:241:0" + "src": "5658:241:0" }, "payable": false, "returnParameters": { - "id": 268, + "id": 266, "nodeType": "ParameterList", "parameters": [], - "src": "6138:0:0" + "src": "6064:0:0" }, - "scope": 1213, - "src": "5704:1021:0", + "scope": 1210, + "src": "5630:1021:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" }, { "body": { - "id": 326, + "id": 324, "nodeType": "Block", - "src": "7101:76:0", + "src": "7027:76:0", "statements": [ { "expression": { "argumentTypes": null, - "id": 324, + "id": 322, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 317, + "id": 315, "name": "check", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 315, - "src": "7111:5:0", + "referencedDeclaration": 313, + "src": "7037:5:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -4508,26 +4478,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 318, + "id": 316, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 77, - "src": "7119:12:0", + "referencedDeclaration": 75, + "src": "7045:12:0", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$73_storage_$", + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 320, + "id": 318, "indexExpression": { "argumentTypes": null, - "id": 319, + "id": 317, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 310, - "src": "7132:10:0", + "referencedDeclaration": 308, + "src": "7058:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -4538,35 +4508,35 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "7119:24:0", + "src": "7045:24:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_Transaction_$73_storage", + "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 321, + "id": 319, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "beneficiaries", "nodeType": "MemberAccess", - "referencedDeclaration": 72, - "src": "7119:38:0", + "referencedDeclaration": 70, + "src": "7045:38:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 323, + "id": 321, "indexExpression": { "argumentTypes": null, - "id": 322, + "id": 320, "name": "beneficiary", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 312, - "src": "7158:11:0", + "referencedDeclaration": 310, + "src": "7084:11:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4577,26 +4547,26 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "7119:51:0", + "src": "7045:51:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "7111:59:0", + "src": "7037:59:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 325, + "id": 323, "nodeType": "ExpressionStatement", - "src": "7111:59:0" + "src": "7037:59:0" } ] }, "documentation": "@dev Check whether given address was a beneficiary of transaction execution or not\n@param scriptHash script hash of the transaction\n@param beneficiary Beneficiary address to be checked", - "id": 327, + "id": 325, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -4604,16 +4574,16 @@ "name": "checkBeneficiary", "nodeType": "FunctionDefinition", "parameters": { - "id": 313, + "id": 311, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 310, + "id": 308, "name": "scriptHash", "nodeType": "VariableDeclaration", - "scope": 327, - "src": "6984:18:0", + "scope": 325, + "src": "6910:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4621,10 +4591,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 309, + "id": 307, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "6984:7:0", + "src": "6910:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -4635,11 +4605,11 @@ }, { "constant": false, - "id": 312, + "id": 310, "name": "beneficiary", "nodeType": "VariableDeclaration", - "scope": 327, - "src": "7012:19:0", + "scope": 325, + "src": "6938:19:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4647,10 +4617,10 @@ "typeString": "address" }, "typeName": { - "id": 311, + "id": 309, "name": "address", "nodeType": "ElementaryTypeName", - "src": "7012:7:0", + "src": "6938:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4660,20 +4630,20 @@ "visibility": "internal" } ], - "src": "6974:63:0" + "src": "6900:63:0" }, "payable": false, "returnParameters": { - "id": 316, + "id": 314, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 315, + "id": 313, "name": "check", "nodeType": "VariableDeclaration", - "scope": 327, - "src": "7085:10:0", + "scope": 325, + "src": "7011:10:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4681,10 +4651,10 @@ "typeString": "bool" }, "typeName": { - "id": 314, + "id": 312, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "7085:4:0", + "src": "7011:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -4694,36 +4664,36 @@ "visibility": "internal" } ], - "src": "7084:12:0" + "src": "7010:12:0" }, - "scope": 1213, - "src": "6949:228:0", + "scope": 1210, + "src": "6875:228:0", "stateMutability": "view", "superFunction": null, "visibility": "external" }, { "body": { - "id": 345, + "id": 343, "nodeType": "Block", - "src": "7538:61:0", + "src": "7464:61:0", "statements": [ { "expression": { "argumentTypes": null, - "id": 343, + "id": 341, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 336, + "id": 334, "name": "vote", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 334, - "src": "7548:4:0", + "referencedDeclaration": 332, + "src": "7474:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -4739,26 +4709,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 337, + "id": 335, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 77, - "src": "7555:12:0", + "referencedDeclaration": 75, + "src": "7481:12:0", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$73_storage_$", + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 339, + "id": 337, "indexExpression": { "argumentTypes": null, - "id": 338, + "id": 336, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 329, - "src": "7568:10:0", + "referencedDeclaration": 327, + "src": "7494:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -4769,35 +4739,35 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "7555:24:0", + "src": "7481:24:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_Transaction_$73_storage", + "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 340, + "id": 338, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "voted", "nodeType": "MemberAccess", - "referencedDeclaration": 68, - "src": "7555:30:0", + "referencedDeclaration": 66, + "src": "7481:30:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 342, + "id": 340, "indexExpression": { "argumentTypes": null, - "id": 341, + "id": 339, "name": "party", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 331, - "src": "7586:5:0", + "referencedDeclaration": 329, + "src": "7512:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4808,26 +4778,26 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "7555:37:0", + "src": "7481:37:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "7548:44:0", + "src": "7474:44:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 344, + "id": 342, "nodeType": "ExpressionStatement", - "src": "7548:44:0" + "src": "7474:44:0" } ] }, "documentation": "@dev Check whether given party has voted or not\n@param scriptHash script hash of the transaction\n@param party Address of the party whose vote has to be checked\n@return bool vote", - "id": 346, + "id": 344, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -4835,16 +4805,16 @@ "name": "checkVote", "nodeType": "FunctionDefinition", "parameters": { - "id": 332, + "id": 330, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 329, + "id": 327, "name": "scriptHash", "nodeType": "VariableDeclaration", - "scope": 346, - "src": "7428:18:0", + "scope": 344, + "src": "7354:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4852,10 +4822,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 328, + "id": 326, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "7428:7:0", + "src": "7354:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -4866,11 +4836,11 @@ }, { "constant": false, - "id": 331, + "id": 329, "name": "party", "nodeType": "VariableDeclaration", - "scope": 346, - "src": "7456:13:0", + "scope": 344, + "src": "7382:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4878,10 +4848,10 @@ "typeString": "address" }, "typeName": { - "id": 330, + "id": 328, "name": "address", "nodeType": "ElementaryTypeName", - "src": "7456:7:0", + "src": "7382:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4891,20 +4861,20 @@ "visibility": "internal" } ], - "src": "7418:57:0" + "src": "7344:57:0" }, "payable": false, "returnParameters": { - "id": 335, + "id": 333, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 334, + "id": 332, "name": "vote", "nodeType": "VariableDeclaration", - "scope": 346, - "src": "7523:9:0", + "scope": 344, + "src": "7449:9:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4912,10 +4882,10 @@ "typeString": "bool" }, "typeName": { - "id": 333, + "id": 331, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "7523:4:0", + "src": "7449:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -4925,32 +4895,32 @@ "visibility": "internal" } ], - "src": "7522:11:0" + "src": "7448:11:0" }, - "scope": 1213, - "src": "7400:199:0", + "scope": 1210, + "src": "7326:199:0", "stateMutability": "view", "superFunction": null, "visibility": "external" }, { "body": { - "id": 405, + "id": 403, "nodeType": "Block", - "src": "8185:330:0", + "src": "8111:330:0", "statements": [ { "assignments": [ - 366 + 364 ], "declarations": [ { "constant": false, - "id": 366, + "id": 364, "name": "_value", "nodeType": "VariableDeclaration", - "scope": 406, - "src": "8195:14:0", + "scope": 404, + "src": "8121:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4958,10 +4928,10 @@ "typeString": "uint256" }, "typeName": { - "id": 365, + "id": 363, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "8195:7:0", + "src": "8121:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4971,23 +4941,23 @@ "visibility": "internal" } ], - "id": 369, + "id": 367, "initialValue": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 367, + "id": 365, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1386, - "src": "8212:3:0", + "referencedDeclaration": 1383, + "src": "8138:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 368, + "id": 366, "isConstant": false, "isLValue": false, "isPure": false, @@ -4995,14 +4965,14 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "8212:9:0", + "src": "8138:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "8195:26:0" + "src": "8121:26:0" }, { "expression": { @@ -5014,19 +4984,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 373, + "id": 371, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 371, + "id": 369, "name": "_value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 366, - "src": "8240:6:0", + "referencedDeclaration": 364, + "src": "8166:6:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5037,14 +5007,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 372, + "id": 370, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "8249:1:0", + "src": "8175:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -5052,7 +5022,7 @@ }, "value": "0" }, - "src": "8240:10:0", + "src": "8166:10:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -5061,14 +5031,14 @@ { "argumentTypes": null, "hexValue": "56616c7565206d7573742062652067726561746572207468616e207a65726f2e", - "id": 374, + "id": 372, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "8252:34:0", + "src": "8178:34:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_21fbec2be6560b9ccffc4980d43c0d147770168e7aaf24999b418b9010085622", @@ -5088,21 +5058,21 @@ "typeString": "literal_string \"Value must be greater than zero.\"" } ], - "id": 370, + "id": 368, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1389, - 1390 + 1386, + 1387 ], - "referencedDeclaration": 1390, - "src": "8232:7:0", + "referencedDeclaration": 1387, + "src": "8158:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 375, + "id": 373, "isConstant": false, "isLValue": false, "isPure": false, @@ -5110,20 +5080,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8232:55:0", + "src": "8158:55:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 376, + "id": 374, "nodeType": "ExpressionStatement", - "src": "8232:55:0" + "src": "8158:55:0" }, { "expression": { "argumentTypes": null, - "id": 388, + "id": 386, "isConstant": false, "isLValue": false, "isPure": false, @@ -5134,26 +5104,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 377, + "id": 375, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 77, - "src": "8298:12:0", + "referencedDeclaration": 75, + "src": "8224:12:0", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$73_storage_$", + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 379, + "id": 377, "indexExpression": { "argumentTypes": null, - "id": 378, + "id": 376, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 348, - "src": "8311:10:0", + "referencedDeclaration": 346, + "src": "8237:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -5164,21 +5134,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "8298:24:0", + "src": "8224:24:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_Transaction_$73_storage", + "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 380, + "id": 378, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "value", "nodeType": "MemberAccess", - "referencedDeclaration": 42, - "src": "8298:30:0", + "referencedDeclaration": 40, + "src": "8224:30:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5191,12 +5161,12 @@ "arguments": [ { "argumentTypes": null, - "id": 386, + "id": 384, "name": "_value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 366, - "src": "8379:6:0", + "referencedDeclaration": 364, + "src": "8305:6:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5216,26 +5186,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 381, + "id": 379, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 77, - "src": "8331:12:0", + "referencedDeclaration": 75, + "src": "8257:12:0", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$73_storage_$", + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 383, + "id": 381, "indexExpression": { "argumentTypes": null, - "id": 382, + "id": 380, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 348, - "src": "8344:10:0", + "referencedDeclaration": 346, + "src": "8270:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -5246,41 +5216,41 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "8331:24:0", + "src": "8257:24:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_Transaction_$73_storage", + "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 384, + "id": 382, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "value", "nodeType": "MemberAccess", - "referencedDeclaration": 42, - "src": "8331:30:0", + "referencedDeclaration": 40, + "src": "8257:30:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 385, + "id": 383, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 1350, - "src": "8331:47:0", + "referencedDeclaration": 1347, + "src": "8257:47:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 387, + "id": 385, "isConstant": false, "isLValue": false, "isPure": false, @@ -5288,26 +5258,26 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8331:55:0", + "src": "8257:55:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "8298:88:0", + "src": "8224:88:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 389, + "id": 387, "nodeType": "ExpressionStatement", - "src": "8298:88:0" + "src": "8224:88:0" }, { "expression": { "argumentTypes": null, - "id": 396, + "id": 394, "isConstant": false, "isLValue": false, "isPure": false, @@ -5318,26 +5288,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 390, + "id": 388, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 77, - "src": "8396:12:0", + "referencedDeclaration": 75, + "src": "8322:12:0", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$73_storage_$", + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 392, + "id": 390, "indexExpression": { "argumentTypes": null, - "id": 391, + "id": 389, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 348, - "src": "8409:10:0", + "referencedDeclaration": 346, + "src": "8335:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -5348,21 +5318,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "8396:24:0", + "src": "8322:24:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_Transaction_$73_storage", + "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 393, + "id": 391, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "lastModified", "nodeType": "MemberAccess", - "referencedDeclaration": 44, - "src": "8396:37:0", + "referencedDeclaration": 42, + "src": "8322:37:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5374,18 +5344,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 394, + "id": 392, "name": "block", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1376, - "src": "8436:5:0", + "referencedDeclaration": 1373, + "src": "8362:5:0", "typeDescriptions": { "typeIdentifier": "t_magic_block", "typeString": "block" } }, - "id": 395, + "id": 393, "isConstant": false, "isLValue": false, "isPure": false, @@ -5393,21 +5363,21 @@ "memberName": "timestamp", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "8436:15:0", + "src": "8362:15:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "8396:55:0", + "src": "8322:55:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 397, + "id": 395, "nodeType": "ExpressionStatement", - "src": "8396:55:0" + "src": "8322:55:0" }, { "eventCall": { @@ -5415,12 +5385,12 @@ "arguments": [ { "argumentTypes": null, - "id": 399, + "id": 397, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 348, - "src": "8477:10:0", + "referencedDeclaration": 346, + "src": "8403:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -5430,18 +5400,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 400, + "id": 398, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1386, - "src": "8489:3:0", + "referencedDeclaration": 1383, + "src": "8415:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 401, + "id": 399, "isConstant": false, "isLValue": false, "isPure": false, @@ -5449,7 +5419,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "8489:10:0", + "src": "8415:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -5457,12 +5427,12 @@ }, { "argumentTypes": null, - "id": 402, + "id": 400, "name": "_value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 366, - "src": "8501:6:0", + "referencedDeclaration": 364, + "src": "8427:6:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5484,18 +5454,18 @@ "typeString": "uint256" } ], - "id": 398, + "id": 396, "name": "FundAdded", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 30, - "src": "8467:9:0", + "src": "8393:9:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (bytes32,address,uint256)" } }, - "id": 403, + "id": 401, "isConstant": false, "isLValue": false, "isPure": false, @@ -5503,20 +5473,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8467:41:0", + "src": "8393:41:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 404, + "id": 402, "nodeType": "EmitStatement", - "src": "8462:46:0" + "src": "8388:46:0" } ] }, "documentation": "dev Allows buyer of the transaction to add more funds(ether) in the transaction. This will help to cater scenarios wherein initially buyer missed to fund transaction as required\nparam scriptHash script hash of the transaction\nOnly buyer of the transaction can invoke this method", - "id": 406, + "id": 404, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -5525,78 +5495,78 @@ "arguments": [ { "argumentTypes": null, - "id": 351, + "id": 349, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 348, - "src": "8025:10:0", + "referencedDeclaration": 346, + "src": "7951:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } } ], - "id": 352, + "id": 350, "modifierName": { "argumentTypes": null, - "id": 350, + "id": 348, "name": "transactionExists", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 101, - "src": "8007:17:0", + "referencedDeclaration": 99, + "src": "7933:17:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "8007:29:0" + "src": "7933:29:0" }, { "arguments": [ { "argumentTypes": null, - "id": 354, + "id": 352, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 348, - "src": "8059:10:0", + "referencedDeclaration": 346, + "src": "7985:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } } ], - "id": 355, + "id": 353, "modifierName": { "argumentTypes": null, - "id": 353, + "id": 351, "name": "inFundedState", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 134, - "src": "8045:13:0", + "referencedDeclaration": 132, + "src": "7971:13:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "8045:25:0" + "src": "7971:25:0" }, { "arguments": [ { "argumentTypes": null, - "id": 357, + "id": 355, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 348, - "src": "8100:10:0", + "referencedDeclaration": 346, + "src": "8026:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -5606,18 +5576,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 358, + "id": 356, "name": "TransactionType", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12, - "src": "8112:15:0", + "src": "8038:15:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_TransactionType_$12_$", "typeString": "type(enum Escrow_v1_0.TransactionType)" } }, - "id": 359, + "id": 357, "isConstant": false, "isLValue": false, "isPure": true, @@ -5625,77 +5595,77 @@ "memberName": "ETHER", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "8112:21:0", + "src": "8038:21:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" } } ], - "id": 360, + "id": 358, "modifierName": { "argumentTypes": null, - "id": 356, + "id": 354, "name": "checkTransactionType", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 167, - "src": "8079:20:0", + "referencedDeclaration": 165, + "src": "8005:20:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$_t_enum$_TransactionType_$12_$", "typeString": "modifier (bytes32,enum Escrow_v1_0.TransactionType)" } }, "nodeType": "ModifierInvocation", - "src": "8079:55:0" + "src": "8005:55:0" }, { "arguments": [ { "argumentTypes": null, - "id": 362, + "id": 360, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 348, - "src": "8153:10:0", + "referencedDeclaration": 346, + "src": "8079:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } } ], - "id": 363, + "id": 361, "modifierName": { "argumentTypes": null, - "id": 361, + "id": 359, "name": "onlyBuyer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 184, - "src": "8143:9:0", + "referencedDeclaration": 182, + "src": "8069:9:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "8143:21:0" + "src": "8069:21:0" } ], "name": "addFundsToTransaction", "nodeType": "FunctionDefinition", "parameters": { - "id": 349, + "id": 347, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 348, + "id": 346, "name": "scriptHash", "nodeType": "VariableDeclaration", - "scope": 406, - "src": "7957:18:0", + "scope": 404, + "src": "7883:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5703,10 +5673,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 347, + "id": 345, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "7957:7:0", + "src": "7883:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -5716,39 +5686,39 @@ "visibility": "internal" } ], - "src": "7947:34:0" + "src": "7873:34:0" }, "payable": true, "returnParameters": { - "id": 364, + "id": 362, "nodeType": "ParameterList", "parameters": [], - "src": "8185:0:0" + "src": "8111:0:0" }, - "scope": 1213, - "src": "7917:598:0", + "scope": 1210, + "src": "7843:598:0", "stateMutability": "payable", "superFunction": null, "visibility": "external" }, { "body": { - "id": 488, + "id": 486, "nodeType": "Block", - "src": "9051:648:0", + "src": "8977:648:0", "statements": [ { "assignments": [ - 428 + 426 ], "declarations": [ { "constant": false, - "id": 428, + "id": 426, "name": "_value", "nodeType": "VariableDeclaration", - "scope": 489, - "src": "9061:14:0", + "scope": 487, + "src": "8987:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5756,10 +5726,10 @@ "typeString": "uint256" }, "typeName": { - "id": 427, + "id": 425, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "9061:7:0", + "src": "8987:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5769,22 +5739,22 @@ "visibility": "internal" } ], - "id": 430, + "id": 428, "initialValue": { "argumentTypes": null, - "id": 429, + "id": 427, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 410, - "src": "9078:5:0", + "referencedDeclaration": 408, + "src": "9004:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "9061:22:0" + "src": "8987:22:0" }, { "expression": { @@ -5796,19 +5766,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 434, + "id": 432, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 432, + "id": 430, "name": "_value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 428, - "src": "9102:6:0", + "referencedDeclaration": 426, + "src": "9028:6:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5819,14 +5789,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 433, + "id": 431, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "9111:1:0", + "src": "9037:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -5834,7 +5804,7 @@ }, "value": "0" }, - "src": "9102:10:0", + "src": "9028:10:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -5843,14 +5813,14 @@ { "argumentTypes": null, "hexValue": "56616c7565206d7573742062652067726561746572207468616e207a65726f2e", - "id": 435, + "id": 433, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "9114:34:0", + "src": "9040:34:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_21fbec2be6560b9ccffc4980d43c0d147770168e7aaf24999b418b9010085622", @@ -5870,21 +5840,21 @@ "typeString": "literal_string \"Value must be greater than zero.\"" } ], - "id": 431, + "id": 429, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1389, - 1390 + 1386, + 1387 ], - "referencedDeclaration": 1390, - "src": "9094:7:0", + "referencedDeclaration": 1387, + "src": "9020:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 436, + "id": 434, "isConstant": false, "isLValue": false, "isPure": false, @@ -5892,43 +5862,43 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "9094:55:0", + "src": "9020:55:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 437, + "id": 435, "nodeType": "ExpressionStatement", - "src": "9094:55:0" + "src": "9020:55:0" }, { "assignments": [ - 439 + 437 ], "declarations": [ { "constant": false, - "id": 439, + "id": 437, "name": "token", "nodeType": "VariableDeclaration", - "scope": 489, - "src": "9160:20:0", + "scope": 487, + "src": "9086:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenContract_$1243", + "typeIdentifier": "t_contract$_ITokenContract_$1240", "typeString": "contract ITokenContract" }, "typeName": { "contractScope": null, - "id": 438, + "id": 436, "name": "ITokenContract", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1243, - "src": "9160:14:0", + "referencedDeclaration": 1240, + "src": "9086:14:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenContract_$1243", + "typeIdentifier": "t_contract$_ITokenContract_$1240", "typeString": "contract ITokenContract" } }, @@ -5936,7 +5906,7 @@ "visibility": "internal" } ], - "id": 446, + "id": 444, "initialValue": { "argumentTypes": null, "arguments": [ @@ -5946,26 +5916,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 441, + "id": 439, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 77, - "src": "9211:12:0", + "referencedDeclaration": 75, + "src": "9137:12:0", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$73_storage_$", + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 443, + "id": 441, "indexExpression": { "argumentTypes": null, - "id": 442, + "id": 440, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 408, - "src": "9224:10:0", + "referencedDeclaration": 406, + "src": "9150:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -5976,21 +5946,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "9211:24:0", + "src": "9137:24:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_Transaction_$73_storage", + "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 444, + "id": 442, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "tokenAddress", "nodeType": "MemberAccess", - "referencedDeclaration": 58, - "src": "9211:37:0", + "referencedDeclaration": 56, + "src": "9137:37:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -6004,18 +5974,18 @@ "typeString": "address" } ], - "id": 440, + "id": 438, "name": "ITokenContract", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1243, - "src": "9183:14:0", + "referencedDeclaration": 1240, + "src": "9109:14:0", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ITokenContract_$1243_$", + "typeIdentifier": "t_type$_t_contract$_ITokenContract_$1240_$", "typeString": "type(contract ITokenContract)" } }, - "id": 445, + "id": 443, "isConstant": false, "isLValue": false, "isPure": false, @@ -6023,14 +5993,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "9183:75:0", + "src": "9109:75:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenContract_$1243", + "typeIdentifier": "t_contract$_ITokenContract_$1240", "typeString": "contract ITokenContract" } }, "nodeType": "VariableDeclarationStatement", - "src": "9160:98:0" + "src": "9086:98:0" }, { "expression": { @@ -6045,26 +6015,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 450, + "id": 448, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 77, - "src": "9309:12:0", + "referencedDeclaration": 75, + "src": "9235:12:0", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$73_storage_$", + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 452, + "id": 450, "indexExpression": { "argumentTypes": null, - "id": 451, + "id": 449, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 408, - "src": "9322:10:0", + "referencedDeclaration": 406, + "src": "9248:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -6075,21 +6045,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "9309:24:0", + "src": "9235:24:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_Transaction_$73_storage", + "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 453, + "id": 451, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "buyer", "nodeType": "MemberAccess", - "referencedDeclaration": 54, - "src": "9309:30:0", + "referencedDeclaration": 52, + "src": "9235:30:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -6097,25 +6067,25 @@ }, { "argumentTypes": null, - "id": 454, + "id": 452, "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1403, - "src": "9341:4:0", + "referencedDeclaration": 1400, + "src": "9267:4:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_Escrow_v1_0_$1213", + "typeIdentifier": "t_contract$_Escrow_v1_0_$1210", "typeString": "contract Escrow_v1_0" } }, { "argumentTypes": null, - "id": 455, + "id": 453, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 410, - "src": "9347:5:0", + "referencedDeclaration": 408, + "src": "9273:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6129,7 +6099,7 @@ "typeString": "address" }, { - "typeIdentifier": "t_contract$_Escrow_v1_0_$1213", + "typeIdentifier": "t_contract$_Escrow_v1_0_$1210", "typeString": "contract Escrow_v1_0" }, { @@ -6139,32 +6109,32 @@ ], "expression": { "argumentTypes": null, - "id": 448, + "id": 446, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 439, - "src": "9290:5:0", + "referencedDeclaration": 437, + "src": "9216:5:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenContract_$1243", + "typeIdentifier": "t_contract$_ITokenContract_$1240", "typeString": "contract ITokenContract" } }, - "id": 449, + "id": 447, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "transferFrom", "nodeType": "MemberAccess", - "referencedDeclaration": 1242, - "src": "9290:18:0", + "referencedDeclaration": 1239, + "src": "9216:18:0", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", "typeString": "function (address,address,uint256) external returns (bool)" } }, - "id": 456, + "id": 454, "isConstant": false, "isLValue": false, "isPure": false, @@ -6172,7 +6142,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "9290:63:0", + "src": "9216:63:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -6181,14 +6151,14 @@ { "argumentTypes": null, "hexValue": "546f6b656e207472616e73666572206661696c65642c206d6179626520796f7520646964206e6f7420617070726f766520657363726f7720636f6e747261637420746f207370656e64206f6e20626568616c66206f66206275796572", - "id": 457, + "id": 455, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "9367:94:0", + "src": "9293:94:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_d9d07068d589bc4adc53018a3c57c159ec128fdfb62732a5fa9410e76cf03318", @@ -6208,21 +6178,21 @@ "typeString": "literal_string \"Token transfer failed, maybe you did not approve escrow contract to spend on behalf of buyer\"" } ], - "id": 447, + "id": 445, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1389, - 1390 + 1386, + 1387 ], - "referencedDeclaration": 1390, - "src": "9269:7:0", + "referencedDeclaration": 1387, + "src": "9195:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 458, + "id": 456, "isConstant": false, "isLValue": false, "isPure": false, @@ -6230,20 +6200,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "9269:202:0", + "src": "9195:202:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 459, + "id": 457, "nodeType": "ExpressionStatement", - "src": "9269:202:0" + "src": "9195:202:0" }, { "expression": { "argumentTypes": null, - "id": 471, + "id": 469, "isConstant": false, "isLValue": false, "isPure": false, @@ -6254,26 +6224,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 460, + "id": 458, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 77, - "src": "9482:12:0", + "referencedDeclaration": 75, + "src": "9408:12:0", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$73_storage_$", + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 462, + "id": 460, "indexExpression": { "argumentTypes": null, - "id": 461, + "id": 459, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 408, - "src": "9495:10:0", + "referencedDeclaration": 406, + "src": "9421:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -6284,21 +6254,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "9482:24:0", + "src": "9408:24:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_Transaction_$73_storage", + "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 463, + "id": 461, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "value", "nodeType": "MemberAccess", - "referencedDeclaration": 42, - "src": "9482:30:0", + "referencedDeclaration": 40, + "src": "9408:30:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6311,12 +6281,12 @@ "arguments": [ { "argumentTypes": null, - "id": 469, + "id": 467, "name": "_value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 428, - "src": "9563:6:0", + "referencedDeclaration": 426, + "src": "9489:6:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6336,26 +6306,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 464, + "id": 462, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 77, - "src": "9515:12:0", + "referencedDeclaration": 75, + "src": "9441:12:0", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$73_storage_$", + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 466, + "id": 464, "indexExpression": { "argumentTypes": null, - "id": 465, + "id": 463, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 408, - "src": "9528:10:0", + "referencedDeclaration": 406, + "src": "9454:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -6366,41 +6336,41 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "9515:24:0", + "src": "9441:24:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_Transaction_$73_storage", + "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 467, + "id": 465, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "value", "nodeType": "MemberAccess", - "referencedDeclaration": 42, - "src": "9515:30:0", + "referencedDeclaration": 40, + "src": "9441:30:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 468, + "id": 466, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 1350, - "src": "9515:47:0", + "referencedDeclaration": 1347, + "src": "9441:47:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 470, + "id": 468, "isConstant": false, "isLValue": false, "isPure": false, @@ -6408,26 +6378,26 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "9515:55:0", + "src": "9441:55:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "9482:88:0", + "src": "9408:88:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 472, + "id": 470, "nodeType": "ExpressionStatement", - "src": "9482:88:0" + "src": "9408:88:0" }, { "expression": { "argumentTypes": null, - "id": 479, + "id": 477, "isConstant": false, "isLValue": false, "isPure": false, @@ -6438,26 +6408,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 473, + "id": 471, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 77, - "src": "9580:12:0", + "referencedDeclaration": 75, + "src": "9506:12:0", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$73_storage_$", + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 475, + "id": 473, "indexExpression": { "argumentTypes": null, - "id": 474, + "id": 472, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 408, - "src": "9593:10:0", + "referencedDeclaration": 406, + "src": "9519:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -6468,21 +6438,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "9580:24:0", + "src": "9506:24:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_Transaction_$73_storage", + "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 476, + "id": 474, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "lastModified", "nodeType": "MemberAccess", - "referencedDeclaration": 44, - "src": "9580:37:0", + "referencedDeclaration": 42, + "src": "9506:37:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6494,18 +6464,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 477, + "id": 475, "name": "block", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1376, - "src": "9620:5:0", + "referencedDeclaration": 1373, + "src": "9546:5:0", "typeDescriptions": { "typeIdentifier": "t_magic_block", "typeString": "block" } }, - "id": 478, + "id": 476, "isConstant": false, "isLValue": false, "isPure": false, @@ -6513,21 +6483,21 @@ "memberName": "timestamp", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "9620:15:0", + "src": "9546:15:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "9580:55:0", + "src": "9506:55:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 480, + "id": 478, "nodeType": "ExpressionStatement", - "src": "9580:55:0" + "src": "9506:55:0" }, { "eventCall": { @@ -6535,12 +6505,12 @@ "arguments": [ { "argumentTypes": null, - "id": 482, + "id": 480, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 408, - "src": "9661:10:0", + "referencedDeclaration": 406, + "src": "9587:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -6550,18 +6520,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 483, + "id": 481, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1386, - "src": "9673:3:0", + "referencedDeclaration": 1383, + "src": "9599:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 484, + "id": 482, "isConstant": false, "isLValue": false, "isPure": false, @@ -6569,7 +6539,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "9673:10:0", + "src": "9599:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -6577,12 +6547,12 @@ }, { "argumentTypes": null, - "id": 485, + "id": 483, "name": "_value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 428, - "src": "9685:6:0", + "referencedDeclaration": 426, + "src": "9611:6:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6604,18 +6574,18 @@ "typeString": "uint256" } ], - "id": 481, + "id": 479, "name": "FundAdded", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 30, - "src": "9651:9:0", + "src": "9577:9:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (bytes32,address,uint256)" } }, - "id": 486, + "id": 484, "isConstant": false, "isLValue": false, "isPure": false, @@ -6623,20 +6593,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "9651:41:0", + "src": "9577:41:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 487, + "id": 485, "nodeType": "EmitStatement", - "src": "9646:46:0" + "src": "9572:46:0" } ] }, "documentation": "dev Allows buyer of the transaction to add more funds(Tokens) in the transaction. This will help to cater scenarios wherein initially buyer missed to fund transaction as required\nparam scriptHash script hash of the transaction", - "id": 489, + "id": 487, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -6645,78 +6615,78 @@ "arguments": [ { "argumentTypes": null, - "id": 413, + "id": 411, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 408, - "src": "8907:10:0", + "referencedDeclaration": 406, + "src": "8833:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } } ], - "id": 414, + "id": 412, "modifierName": { "argumentTypes": null, - "id": 412, + "id": 410, "name": "transactionExists", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 101, - "src": "8889:17:0", + "referencedDeclaration": 99, + "src": "8815:17:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "8889:29:0" + "src": "8815:29:0" }, { "arguments": [ { "argumentTypes": null, - "id": 416, + "id": 414, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 408, - "src": "8941:10:0", + "referencedDeclaration": 406, + "src": "8867:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } } ], - "id": 417, + "id": 415, "modifierName": { "argumentTypes": null, - "id": 415, + "id": 413, "name": "inFundedState", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 134, - "src": "8927:13:0", + "referencedDeclaration": 132, + "src": "8853:13:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "8927:25:0" + "src": "8853:25:0" }, { "arguments": [ { "argumentTypes": null, - "id": 419, + "id": 417, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 408, - "src": "8982:10:0", + "referencedDeclaration": 406, + "src": "8908:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -6726,18 +6696,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 420, + "id": 418, "name": "TransactionType", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12, - "src": "8994:15:0", + "src": "8920:15:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_TransactionType_$12_$", "typeString": "type(enum Escrow_v1_0.TransactionType)" } }, - "id": 421, + "id": 419, "isConstant": false, "isLValue": false, "isPure": true, @@ -6745,77 +6715,77 @@ "memberName": "TOKEN", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "8994:21:0", + "src": "8920:21:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" } } ], - "id": 422, + "id": 420, "modifierName": { "argumentTypes": null, - "id": 418, + "id": 416, "name": "checkTransactionType", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 167, - "src": "8961:20:0", + "referencedDeclaration": 165, + "src": "8887:20:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$_t_enum$_TransactionType_$12_$", "typeString": "modifier (bytes32,enum Escrow_v1_0.TransactionType)" } }, "nodeType": "ModifierInvocation", - "src": "8961:55:0" + "src": "8887:55:0" }, { "arguments": [ { "argumentTypes": null, - "id": 424, + "id": 422, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 408, - "src": "9035:10:0", + "referencedDeclaration": 406, + "src": "8961:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } } ], - "id": 425, + "id": 423, "modifierName": { "argumentTypes": null, - "id": 423, + "id": 421, "name": "onlyBuyer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 184, - "src": "9025:9:0", + "referencedDeclaration": 182, + "src": "8951:9:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "9025:21:0" + "src": "8951:21:0" } ], "name": "addTokensToTransaction", "nodeType": "FunctionDefinition", "parameters": { - "id": 411, + "id": 409, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 408, + "id": 406, "name": "scriptHash", "nodeType": "VariableDeclaration", - "scope": 489, - "src": "8816:18:0", + "scope": 487, + "src": "8742:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6823,10 +6793,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 407, + "id": 405, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "8816:7:0", + "src": "8742:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -6837,11 +6807,11 @@ }, { "constant": false, - "id": 410, + "id": 408, "name": "value", "nodeType": "VariableDeclaration", - "scope": 489, - "src": "8844:13:0", + "scope": 487, + "src": "8770:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6849,10 +6819,10 @@ "typeString": "uint256" }, "typeName": { - "id": 409, + "id": 407, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "8844:7:0", + "src": "8770:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6862,52 +6832,52 @@ "visibility": "internal" } ], - "src": "8806:57:0" + "src": "8732:57:0" }, "payable": false, "returnParameters": { - "id": 426, + "id": 424, "nodeType": "ParameterList", "parameters": [], - "src": "9051:0:0" + "src": "8977:0:0" }, - "scope": 1213, - "src": "8775:924:0", + "scope": 1210, + "src": "8701:924:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" }, { "body": { - "id": 501, + "id": 499, "nodeType": "Block", - "src": "9967:56:0", + "src": "9893:56:0", "statements": [ { "expression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 497, + "id": 495, "name": "partyVsTransaction", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 85, - "src": "9984:18:0", + "referencedDeclaration": 83, + "src": "9910:18:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_bytes32_$dyn_storage_$", "typeString": "mapping(address => bytes32[] storage ref)" } }, - "id": 499, + "id": 497, "indexExpression": { "argumentTypes": null, - "id": 498, + "id": 496, "name": "partyAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 491, - "src": "10003:12:0", + "referencedDeclaration": 489, + "src": "9929:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -6918,21 +6888,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "9984:32:0", + "src": "9910:32:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage", "typeString": "bytes32[] storage ref" } }, - "functionReturnParameters": 496, - "id": 500, + "functionReturnParameters": 494, + "id": 498, "nodeType": "Return", - "src": "9977:39:0" + "src": "9903:39:0" } ] }, "documentation": "dev Returns all transaction ids for a party\nparam partyAddress Address of the party", - "id": 502, + "id": 500, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -6940,16 +6910,16 @@ "name": "getAllTransactionsForParty", "nodeType": "FunctionDefinition", "parameters": { - "id": 492, + "id": 490, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 491, + "id": 489, "name": "partyAddress", "nodeType": "VariableDeclaration", - "scope": 502, - "src": "9861:20:0", + "scope": 500, + "src": "9787:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6957,10 +6927,10 @@ "typeString": "address" }, "typeName": { - "id": 490, + "id": 488, "name": "address", "nodeType": "ElementaryTypeName", - "src": "9861:7:0", + "src": "9787:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -6970,20 +6940,20 @@ "visibility": "internal" } ], - "src": "9851:36:0" + "src": "9777:36:0" }, "payable": false, "returnParameters": { - "id": 496, + "id": 494, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 495, + "id": 493, "name": "scriptHashes", "nodeType": "VariableDeclaration", - "scope": 502, - "src": "9938:22:0", + "scope": 500, + "src": "9864:22:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6992,19 +6962,19 @@ }, "typeName": { "baseType": { - "id": 493, + "id": 491, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "9938:7:0", + "src": "9864:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "id": 494, + "id": 492, "length": null, "nodeType": "ArrayTypeName", - "src": "9938:9:0", + "src": "9864:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -7014,19 +6984,19 @@ "visibility": "internal" } ], - "src": "9937:24:0" + "src": "9863:24:0" }, - "scope": 1213, - "src": "9816:207:0", + "scope": 1210, + "src": "9742:207:0", "stateMutability": "view", "superFunction": null, "visibility": "external" }, { "body": { - "id": 587, + "id": 585, "nodeType": "Block", - "src": "11053:790:0", + "src": "10979:790:0", "statements": [ { "expression": { @@ -7038,7 +7008,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 538, + "id": 536, "isConstant": false, "isLValue": false, "isPure": false, @@ -7049,7 +7019,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 532, + "id": 530, "isConstant": false, "isLValue": false, "isPure": false, @@ -7058,18 +7028,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 529, + "id": 527, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 516, - "src": "11084:12:0", + "referencedDeclaration": 514, + "src": "11010:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" } }, - "id": 530, + "id": 528, "isConstant": false, "isLValue": false, "isPure": false, @@ -7077,7 +7047,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "11084:19:0", + "src": "11010:19:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7088,14 +7058,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 531, + "id": 529, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "11104:1:0", + "src": "11030:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -7103,7 +7073,7 @@ }, "value": "0" }, - "src": "11084:21:0", + "src": "11010:21:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -7117,7 +7087,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 537, + "id": 535, "isConstant": false, "isLValue": false, "isPure": false, @@ -7126,18 +7096,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 533, + "id": 531, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 516, - "src": "11109:12:0", + "referencedDeclaration": 514, + "src": "11035:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" } }, - "id": 534, + "id": 532, "isConstant": false, "isLValue": false, "isPure": false, @@ -7145,7 +7115,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "11109:19:0", + "src": "11035:19:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7157,18 +7127,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 535, + "id": 533, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 519, - "src": "11132:7:0", + "referencedDeclaration": 517, + "src": "11058:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", "typeString": "uint256[] calldata" } }, - "id": 536, + "id": 534, "isConstant": false, "isLValue": false, "isPure": false, @@ -7176,19 +7146,19 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "11132:14:0", + "src": "11058:14:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "11109:37:0", + "src": "11035:37:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "11084:62:0", + "src": "11010:62:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -7197,14 +7167,14 @@ { "argumentTypes": null, "hexValue": "4c656e677468206f662064657374696e6174696f6e7320697320696e636f72726563742e", - "id": 539, + "id": 537, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "11148:38:0", + "src": "11074:38:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_53e979b0c355ea1eeda44a80ca73370fdb2abe922711b459aa4ee43d1558782b", @@ -7224,21 +7194,21 @@ "typeString": "literal_string \"Length of destinations is incorrect.\"" } ], - "id": 528, + "id": 526, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1389, - 1390 + 1386, + 1387 ], - "referencedDeclaration": 1390, - "src": "11063:7:0", + "referencedDeclaration": 1387, + "src": "10989:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 540, + "id": 538, "isConstant": false, "isLValue": false, "isPure": false, @@ -7246,15 +7216,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "11063:133:0", + "src": "10989:133:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 541, + "id": 539, "nodeType": "ExpressionStatement", - "src": "11063:133:0" + "src": "10989:133:0" }, { "expression": { @@ -7262,12 +7232,12 @@ "arguments": [ { "argumentTypes": null, - "id": 543, + "id": 541, "name": "sigV", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 505, - "src": "11238:4:0", + "referencedDeclaration": 503, + "src": "11164:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_calldata_ptr", "typeString": "uint8[] calldata" @@ -7275,12 +7245,12 @@ }, { "argumentTypes": null, - "id": 544, + "id": 542, "name": "sigR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 508, - "src": "11256:4:0", + "referencedDeclaration": 506, + "src": "11182:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", "typeString": "bytes32[] calldata" @@ -7288,12 +7258,12 @@ }, { "argumentTypes": null, - "id": 545, + "id": 543, "name": "sigS", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 511, - "src": "11274:4:0", + "referencedDeclaration": 509, + "src": "11200:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", "typeString": "bytes32[] calldata" @@ -7301,12 +7271,12 @@ }, { "argumentTypes": null, - "id": 546, + "id": 544, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 513, - "src": "11292:10:0", + "referencedDeclaration": 511, + "src": "11218:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -7314,12 +7284,12 @@ }, { "argumentTypes": null, - "id": 547, + "id": 545, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 516, - "src": "11316:12:0", + "referencedDeclaration": 514, + "src": "11242:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" @@ -7327,12 +7297,12 @@ }, { "argumentTypes": null, - "id": 548, + "id": 546, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 519, - "src": "11342:7:0", + "referencedDeclaration": 517, + "src": "11268:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", "typeString": "uint256[] calldata" @@ -7366,18 +7336,18 @@ "typeString": "uint256[] calldata" } ], - "id": 542, + "id": 540, "name": "verifyTransaction", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 716, - "src": "11207:17:0", + "referencedDeclaration": 714, + "src": "11133:17:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_array$_t_uint8_$dyn_memory_ptr_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_bytes32_$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$__$", "typeString": "function (uint8[] memory,bytes32[] memory,bytes32[] memory,bytes32,address[] memory,uint256[] memory)" } }, - "id": 549, + "id": 547, "isConstant": false, "isLValue": false, "isPure": false, @@ -7385,20 +7355,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "11207:152:0", + "src": "11133:152:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 550, + "id": 548, "nodeType": "ExpressionStatement", - "src": "11207:152:0" + "src": "11133:152:0" }, { "expression": { "argumentTypes": null, - "id": 557, + "id": 555, "isConstant": false, "isLValue": false, "isPure": false, @@ -7409,26 +7379,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 551, + "id": 549, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 77, - "src": "11370:12:0", + "referencedDeclaration": 75, + "src": "11296:12:0", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$73_storage_$", + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 553, + "id": 551, "indexExpression": { "argumentTypes": null, - "id": 552, + "id": 550, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 513, - "src": "11383:10:0", + "referencedDeclaration": 511, + "src": "11309:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -7439,21 +7409,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "11370:24:0", + "src": "11296:24:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_Transaction_$73_storage", + "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 554, + "id": 552, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "status", "nodeType": "MemberAccess", - "referencedDeclaration": 46, - "src": "11370:31:0", + "referencedDeclaration": 44, + "src": "11296:31:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$9", "typeString": "enum Escrow_v1_0.Status" @@ -7465,18 +7435,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 555, + "id": 553, "name": "Status", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9, - "src": "11404:6:0", + "src": "11330:6:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_Status_$9_$", "typeString": "type(enum Escrow_v1_0.Status)" } }, - "id": 556, + "id": 554, "isConstant": false, "isLValue": false, "isPure": true, @@ -7484,26 +7454,26 @@ "memberName": "RELEASED", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "11404:15:0", + "src": "11330:15:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$9", "typeString": "enum Escrow_v1_0.Status" } }, - "src": "11370:49:0", + "src": "11296:49:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$9", "typeString": "enum Escrow_v1_0.Status" } }, - "id": 558, + "id": 556, "nodeType": "ExpressionStatement", - "src": "11370:49:0" + "src": "11296:49:0" }, { "expression": { "argumentTypes": null, - "id": 565, + "id": 563, "isConstant": false, "isLValue": false, "isPure": false, @@ -7514,26 +7484,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 559, + "id": 557, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 77, - "src": "11503:12:0", + "referencedDeclaration": 75, + "src": "11429:12:0", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$73_storage_$", + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 561, + "id": 559, "indexExpression": { "argumentTypes": null, - "id": 560, + "id": 558, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 513, - "src": "11516:10:0", + "referencedDeclaration": 511, + "src": "11442:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -7544,21 +7514,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "11503:24:0", + "src": "11429:24:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_Transaction_$73_storage", + "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 562, + "id": 560, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "lastModified", "nodeType": "MemberAccess", - "referencedDeclaration": 44, - "src": "11503:37:0", + "referencedDeclaration": 42, + "src": "11429:37:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7570,18 +7540,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 563, + "id": 561, "name": "block", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1376, - "src": "11543:5:0", + "referencedDeclaration": 1373, + "src": "11469:5:0", "typeDescriptions": { "typeIdentifier": "t_magic_block", "typeString": "block" } }, - "id": 564, + "id": 562, "isConstant": false, "isLValue": false, "isPure": false, @@ -7589,21 +7559,21 @@ "memberName": "timestamp", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "11543:15:0", + "src": "11469:15:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "11503:55:0", + "src": "11429:55:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 566, + "id": 564, "nodeType": "ExpressionStatement", - "src": "11503:55:0" + "src": "11429:55:0" }, { "expression": { @@ -7615,7 +7585,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 577, + "id": 575, "isConstant": false, "isLValue": false, "isPure": false, @@ -7625,12 +7595,12 @@ "arguments": [ { "argumentTypes": null, - "id": 569, + "id": 567, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 513, - "src": "11603:10:0", + "referencedDeclaration": 511, + "src": "11529:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -7638,12 +7608,12 @@ }, { "argumentTypes": null, - "id": 570, + "id": 568, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 516, - "src": "11615:12:0", + "referencedDeclaration": 514, + "src": "11541:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" @@ -7651,12 +7621,12 @@ }, { "argumentTypes": null, - "id": 571, + "id": 569, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 519, - "src": "11629:7:0", + "referencedDeclaration": 517, + "src": "11555:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", "typeString": "uint256[] calldata" @@ -7678,18 +7648,18 @@ "typeString": "uint256[] calldata" } ], - "id": 568, + "id": 566, "name": "transferFunds", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 897, - "src": "11589:13:0", + "referencedDeclaration": 895, + "src": "11515:13:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$_t_uint256_$", "typeString": "function (bytes32,address[] memory,uint256[] memory) returns (uint256)" } }, - "id": 572, + "id": 570, "isConstant": false, "isLValue": false, "isPure": false, @@ -7697,7 +7667,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "11589:48:0", + "src": "11515:48:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7711,26 +7681,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 573, + "id": 571, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 77, - "src": "11641:12:0", + "referencedDeclaration": 75, + "src": "11567:12:0", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$73_storage_$", + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 575, + "id": 573, "indexExpression": { "argumentTypes": null, - "id": 574, + "id": 572, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 513, - "src": "11654:10:0", + "referencedDeclaration": 511, + "src": "11580:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -7741,27 +7711,27 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "11641:24:0", + "src": "11567:24:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_Transaction_$73_storage", + "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 576, + "id": 574, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "value", "nodeType": "MemberAccess", - "referencedDeclaration": 42, - "src": "11641:30:0", + "referencedDeclaration": 40, + "src": "11567:30:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "11589:82:0", + "src": "11515:82:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -7770,14 +7740,14 @@ { "argumentTypes": null, "hexValue": "546f74616c2076616c756520746f2062652072656c6561736564206d75737420626520657175616c20746f20746865207472616e73616374696f6e20657363726f772076616c7565", - "id": 578, + "id": 576, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "11685:74:0", + "src": "11611:74:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_9e0bdb14e2e0d5e118fd1f547268c6a1fdb5e8facacd614066d4b60bc2c9941d", @@ -7797,21 +7767,21 @@ "typeString": "literal_string \"Total value to be released must be equal to the transaction escrow value\"" } ], - "id": 567, + "id": 565, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1389, - 1390 + 1386, + 1387 ], - "referencedDeclaration": 1390, - "src": "11568:7:0", + "referencedDeclaration": 1387, + "src": "11494:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 579, + "id": 577, "isConstant": false, "isLValue": false, "isPure": false, @@ -7819,15 +7789,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "11568:201:0", + "src": "11494:201:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 580, + "id": 578, "nodeType": "ExpressionStatement", - "src": "11568:201:0" + "src": "11494:201:0" }, { "eventCall": { @@ -7835,12 +7805,12 @@ "arguments": [ { "argumentTypes": null, - "id": 582, + "id": 580, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 513, - "src": "11802:10:0", + "referencedDeclaration": 511, + "src": "11728:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -7848,12 +7818,12 @@ }, { "argumentTypes": null, - "id": 583, + "id": 581, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 516, - "src": "11814:12:0", + "referencedDeclaration": 514, + "src": "11740:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" @@ -7861,12 +7831,12 @@ }, { "argumentTypes": null, - "id": 584, + "id": 582, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 519, - "src": "11828:7:0", + "referencedDeclaration": 517, + "src": "11754:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", "typeString": "uint256[] calldata" @@ -7888,18 +7858,18 @@ "typeString": "uint256[] calldata" } ], - "id": 581, + "id": 579, "name": "Executed", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 22, - "src": "11793:8:0", + "src": "11719:8:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$__$", "typeString": "function (bytes32,address[] memory,uint256[] memory)" } }, - "id": 585, + "id": 583, "isConstant": false, "isLValue": false, "isPure": false, @@ -7907,20 +7877,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "11793:43:0", + "src": "11719:43:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 586, + "id": 584, "nodeType": "EmitStatement", - "src": "11788:48:0" + "src": "11714:48:0" } ] }, "documentation": "dev Allows one of the moderator to collect all the signature to solve dispute and submit it to this method.\nIf all the required signatures are collected and consensus has been reached than funds will be released to the voted party\nparam sigV Array containing V component of all the signatures\nparam sigR Array containing R component of all the signatures\nparam signS Array containing S component of all the signatures\nparam scriptHash script hash of the transaction\nparam destinations address of the destination in whose favour dispute resolution is taking place. In case of split payments it will be address of the split payments contract\nparam amounts value to send to each destination", - "id": 588, + "id": 586, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -7929,82 +7899,82 @@ "arguments": [ { "argumentTypes": null, - "id": 522, + "id": 520, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 513, - "src": "11003:10:0", + "referencedDeclaration": 511, + "src": "10929:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } } ], - "id": 523, + "id": 521, "modifierName": { "argumentTypes": null, - "id": 521, + "id": 519, "name": "transactionExists", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 101, - "src": "10985:17:0", + "referencedDeclaration": 99, + "src": "10911:17:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "10985:29:0" + "src": "10911:29:0" }, { "arguments": [ { "argumentTypes": null, - "id": 525, + "id": 523, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 513, - "src": "11037:10:0", + "referencedDeclaration": 511, + "src": "10963:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } } ], - "id": 526, + "id": 524, "modifierName": { "argumentTypes": null, - "id": 524, + "id": 522, "name": "inFundedState", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 134, - "src": "11023:13:0", + "referencedDeclaration": 132, + "src": "10949:13:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "11023:25:0" + "src": "10949:25:0" } ], "name": "execute", "nodeType": "FunctionDefinition", "parameters": { - "id": 520, + "id": 518, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 505, + "id": 503, "name": "sigV", "nodeType": "VariableDeclaration", - "scope": 588, - "src": "10806:12:0", + "scope": 586, + "src": "10732:12:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8013,19 +7983,19 @@ }, "typeName": { "baseType": { - "id": 503, + "id": 501, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "10806:5:0", + "src": "10732:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, - "id": 504, + "id": 502, "length": null, "nodeType": "ArrayTypeName", - "src": "10806:7:0", + "src": "10732:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_storage_ptr", "typeString": "uint8[]" @@ -8036,11 +8006,11 @@ }, { "constant": false, - "id": 508, + "id": 506, "name": "sigR", "nodeType": "VariableDeclaration", - "scope": 588, - "src": "10828:14:0", + "scope": 586, + "src": "10754:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8049,19 +8019,19 @@ }, "typeName": { "baseType": { - "id": 506, + "id": 504, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "10828:7:0", + "src": "10754:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "id": 507, + "id": 505, "length": null, "nodeType": "ArrayTypeName", - "src": "10828:9:0", + "src": "10754:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -8072,11 +8042,11 @@ }, { "constant": false, - "id": 511, + "id": 509, "name": "sigS", "nodeType": "VariableDeclaration", - "scope": 588, - "src": "10852:14:0", + "scope": 586, + "src": "10778:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8085,19 +8055,19 @@ }, "typeName": { "baseType": { - "id": 509, + "id": 507, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "10852:7:0", + "src": "10778:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "id": 510, + "id": 508, "length": null, "nodeType": "ArrayTypeName", - "src": "10852:9:0", + "src": "10778:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -8108,11 +8078,11 @@ }, { "constant": false, - "id": 513, + "id": 511, "name": "scriptHash", "nodeType": "VariableDeclaration", - "scope": 588, - "src": "10876:18:0", + "scope": 586, + "src": "10802:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8120,10 +8090,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 512, + "id": 510, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "10876:7:0", + "src": "10802:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -8134,11 +8104,11 @@ }, { "constant": false, - "id": 516, + "id": 514, "name": "destinations", "nodeType": "VariableDeclaration", - "scope": 588, - "src": "10904:22:0", + "scope": 586, + "src": "10830:22:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8147,19 +8117,19 @@ }, "typeName": { "baseType": { - "id": 514, + "id": 512, "name": "address", "nodeType": "ElementaryTypeName", - "src": "10904:7:0", + "src": "10830:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 515, + "id": 513, "length": null, "nodeType": "ArrayTypeName", - "src": "10904:9:0", + "src": "10830:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", "typeString": "address[]" @@ -8170,11 +8140,11 @@ }, { "constant": false, - "id": 519, + "id": 517, "name": "amounts", "nodeType": "VariableDeclaration", - "scope": 588, - "src": "10936:17:0", + "scope": 586, + "src": "10862:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8183,19 +8153,19 @@ }, "typeName": { "baseType": { - "id": 517, + "id": 515, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "10936:7:0", + "src": "10862:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 518, + "id": 516, "length": null, "nodeType": "ArrayTypeName", - "src": "10936:9:0", + "src": "10862:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -8205,26 +8175,26 @@ "visibility": "internal" } ], - "src": "10796:163:0" + "src": "10722:163:0" }, "payable": false, "returnParameters": { - "id": 527, + "id": 525, "nodeType": "ParameterList", "parameters": [], - "src": "11053:0:0" + "src": "10979:0:0" }, - "scope": 1213, - "src": "10780:1063:0", + "scope": 1210, + "src": "10706:1063:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" }, { "body": { - "id": 646, + "id": 644, "nodeType": "Block", - "src": "12602:716:0", + "src": "12528:716:0", "statements": [ { "condition": { @@ -8233,19 +8203,19 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 611, + "id": 609, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 607, + "id": 605, "name": "tokenAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 602, - "src": "12616:12:0", + "referencedDeclaration": 600, + "src": "12542:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8259,14 +8229,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 609, + "id": 607, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "12640:1:0", + "src": "12566:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -8282,20 +8252,20 @@ "typeString": "int_const 0" } ], - "id": 608, + "id": 606, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "12632:7:0", + "src": "12558:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, - "id": 610, + "id": 608, "isConstant": false, "isLValue": false, "isPure": true, @@ -8303,39 +8273,39 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "12632:10:0", + "src": "12558:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "12616:26:0", + "src": "12542:26:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": { - "id": 644, + "id": 642, "nodeType": "Block", - "src": "12964:348:0", + "src": "12890:348:0", "statements": [ { "expression": { "argumentTypes": null, - "id": 642, + "id": 640, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 628, + "id": 626, "name": "hash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 605, - "src": "12978:4:0", + "referencedDeclaration": 603, + "src": "12904:4:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -8351,12 +8321,12 @@ "arguments": [ { "argumentTypes": null, - "id": 632, + "id": 630, "name": "uniqueId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 590, - "src": "13050:8:0", + "referencedDeclaration": 588, + "src": "12976:8:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -8364,12 +8334,12 @@ }, { "argumentTypes": null, - "id": 633, + "id": 631, "name": "threshold", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 592, - "src": "13080:9:0", + "referencedDeclaration": 590, + "src": "13006:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -8377,12 +8347,12 @@ }, { "argumentTypes": null, - "id": 634, + "id": 632, "name": "timeoutHours", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 594, - "src": "13111:12:0", + "referencedDeclaration": 592, + "src": "13037:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -8390,12 +8360,12 @@ }, { "argumentTypes": null, - "id": 635, + "id": 633, "name": "buyer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 596, - "src": "13145:5:0", + "referencedDeclaration": 594, + "src": "13071:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8403,12 +8373,12 @@ }, { "argumentTypes": null, - "id": 636, + "id": 634, "name": "seller", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 598, - "src": "13172:6:0", + "referencedDeclaration": 596, + "src": "13098:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8416,12 +8386,12 @@ }, { "argumentTypes": null, - "id": 637, + "id": 635, "name": "moderator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 600, - "src": "13200:9:0", + "referencedDeclaration": 598, + "src": "13126:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8429,25 +8399,25 @@ }, { "argumentTypes": null, - "id": 638, + "id": 636, "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1403, - "src": "13231:4:0", + "referencedDeclaration": 1400, + "src": "13157:4:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_Escrow_v1_0_$1213", + "typeIdentifier": "t_contract$_Escrow_v1_0_$1210", "typeString": "contract Escrow_v1_0" } }, { "argumentTypes": null, - "id": 639, + "id": 637, "name": "tokenAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 602, - "src": "13257:12:0", + "referencedDeclaration": 600, + "src": "13183:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8481,7 +8451,7 @@ "typeString": "address" }, { - "typeIdentifier": "t_contract$_Escrow_v1_0_$1213", + "typeIdentifier": "t_contract$_Escrow_v1_0_$1210", "typeString": "contract Escrow_v1_0" }, { @@ -8491,18 +8461,18 @@ ], "expression": { "argumentTypes": null, - "id": 630, + "id": 628, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1373, - "src": "13012:3:0", + "referencedDeclaration": 1370, + "src": "12938:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, - "id": 631, + "id": 629, "isConstant": false, "isLValue": false, "isPure": true, @@ -8510,13 +8480,13 @@ "memberName": "encodePacked", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "13012:16:0", + "src": "12938:16:0", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, - "id": 640, + "id": 638, "isConstant": false, "isLValue": false, "isPure": false, @@ -8524,7 +8494,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "13012:275:0", + "src": "12938:275:0", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -8538,18 +8508,18 @@ "typeString": "bytes memory" } ], - "id": 629, + "id": 627, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1380, - "src": "12985:9:0", + "referencedDeclaration": 1377, + "src": "12911:9:0", "typeDescriptions": { "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", "typeString": "function () pure returns (bytes32)" } }, - "id": 641, + "id": 639, "isConstant": false, "isLValue": false, "isPure": false, @@ -8557,48 +8527,48 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "12985:316:0", + "src": "12911:316:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "src": "12978:323:0", + "src": "12904:323:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "id": 643, + "id": 641, "nodeType": "ExpressionStatement", - "src": "12978:323:0" + "src": "12904:323:0" } ] }, - "id": 645, + "id": 643, "nodeType": "IfStatement", - "src": "12612:700:0", + "src": "12538:700:0", "trueBody": { - "id": 627, + "id": 625, "nodeType": "Block", - "src": "12644:314:0", + "src": "12570:314:0", "statements": [ { "expression": { "argumentTypes": null, - "id": 625, + "id": 623, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 612, + "id": 610, "name": "hash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 605, - "src": "12658:4:0", + "referencedDeclaration": 603, + "src": "12584:4:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -8614,12 +8584,12 @@ "arguments": [ { "argumentTypes": null, - "id": 616, + "id": 614, "name": "uniqueId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 590, - "src": "12730:8:0", + "referencedDeclaration": 588, + "src": "12656:8:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -8627,12 +8597,12 @@ }, { "argumentTypes": null, - "id": 617, + "id": 615, "name": "threshold", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 592, - "src": "12760:9:0", + "referencedDeclaration": 590, + "src": "12686:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -8640,12 +8610,12 @@ }, { "argumentTypes": null, - "id": 618, + "id": 616, "name": "timeoutHours", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 594, - "src": "12791:12:0", + "referencedDeclaration": 592, + "src": "12717:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -8653,12 +8623,12 @@ }, { "argumentTypes": null, - "id": 619, + "id": 617, "name": "buyer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 596, - "src": "12825:5:0", + "referencedDeclaration": 594, + "src": "12751:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8666,12 +8636,12 @@ }, { "argumentTypes": null, - "id": 620, + "id": 618, "name": "seller", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 598, - "src": "12852:6:0", + "referencedDeclaration": 596, + "src": "12778:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8679,12 +8649,12 @@ }, { "argumentTypes": null, - "id": 621, + "id": 619, "name": "moderator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 600, - "src": "12880:9:0", + "referencedDeclaration": 598, + "src": "12806:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8692,14 +8662,14 @@ }, { "argumentTypes": null, - "id": 622, + "id": 620, "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1403, - "src": "12911:4:0", + "referencedDeclaration": 1400, + "src": "12837:4:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_Escrow_v1_0_$1213", + "typeIdentifier": "t_contract$_Escrow_v1_0_$1210", "typeString": "contract Escrow_v1_0" } } @@ -8731,24 +8701,24 @@ "typeString": "address" }, { - "typeIdentifier": "t_contract$_Escrow_v1_0_$1213", + "typeIdentifier": "t_contract$_Escrow_v1_0_$1210", "typeString": "contract Escrow_v1_0" } ], "expression": { "argumentTypes": null, - "id": 614, + "id": 612, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1373, - "src": "12692:3:0", + "referencedDeclaration": 1370, + "src": "12618:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, - "id": 615, + "id": 613, "isConstant": false, "isLValue": false, "isPure": true, @@ -8756,13 +8726,13 @@ "memberName": "encodePacked", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "12692:16:0", + "src": "12618:16:0", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, - "id": 623, + "id": 621, "isConstant": false, "isLValue": false, "isPure": false, @@ -8770,7 +8740,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "12692:241:0", + "src": "12618:241:0", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -8784,18 +8754,18 @@ "typeString": "bytes memory" } ], - "id": 613, + "id": 611, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1380, - "src": "12665:9:0", + "referencedDeclaration": 1377, + "src": "12591:9:0", "typeDescriptions": { "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", "typeString": "function () pure returns (bytes32)" } }, - "id": 624, + "id": 622, "isConstant": false, "isLValue": false, "isPure": false, @@ -8803,21 +8773,21 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "12665:282:0", + "src": "12591:282:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "src": "12658:289:0", + "src": "12584:289:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "id": 626, + "id": 624, "nodeType": "ExpressionStatement", - "src": "12658:289:0" + "src": "12584:289:0" } ] } @@ -8825,7 +8795,7 @@ ] }, "documentation": "dev Method for calculating script hash. Calculation will depend upon the type of transaction\nETHER Type transaction-:\nScript Hash- keccak256(uniqueId, threshold, timeoutHours, buyer, seller, moderator)\nTOKEN Type transaction\nScript Hash- keccak256(uniqueId, threshold, timeoutHours, buyer, seller, moderator, tokenAddress)\nClient can use this method to verify whether it has calculated correct script hash or not", - "id": 647, + "id": 645, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -8833,16 +8803,16 @@ "name": "calculateRedeemScriptHash", "nodeType": "FunctionDefinition", "parameters": { - "id": 603, + "id": 601, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 590, + "id": 588, "name": "uniqueId", "nodeType": "VariableDeclaration", - "scope": 647, - "src": "12358:16:0", + "scope": 645, + "src": "12284:16:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8850,10 +8820,10 @@ "typeString": "bytes20" }, "typeName": { - "id": 589, + "id": 587, "name": "bytes20", "nodeType": "ElementaryTypeName", - "src": "12358:7:0", + "src": "12284:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -8864,11 +8834,11 @@ }, { "constant": false, - "id": 592, + "id": 590, "name": "threshold", "nodeType": "VariableDeclaration", - "scope": 647, - "src": "12384:15:0", + "scope": 645, + "src": "12310:15:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8876,10 +8846,10 @@ "typeString": "uint8" }, "typeName": { - "id": 591, + "id": 589, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "12384:5:0", + "src": "12310:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -8890,11 +8860,11 @@ }, { "constant": false, - "id": 594, + "id": 592, "name": "timeoutHours", "nodeType": "VariableDeclaration", - "scope": 647, - "src": "12409:19:0", + "scope": 645, + "src": "12335:19:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8902,10 +8872,10 @@ "typeString": "uint32" }, "typeName": { - "id": 593, + "id": 591, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "12409:6:0", + "src": "12335:6:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -8916,11 +8886,11 @@ }, { "constant": false, - "id": 596, + "id": 594, "name": "buyer", "nodeType": "VariableDeclaration", - "scope": 647, - "src": "12438:13:0", + "scope": 645, + "src": "12364:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8928,10 +8898,10 @@ "typeString": "address" }, "typeName": { - "id": 595, + "id": 593, "name": "address", "nodeType": "ElementaryTypeName", - "src": "12438:7:0", + "src": "12364:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8942,11 +8912,11 @@ }, { "constant": false, - "id": 598, + "id": 596, "name": "seller", "nodeType": "VariableDeclaration", - "scope": 647, - "src": "12461:14:0", + "scope": 645, + "src": "12387:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8954,10 +8924,10 @@ "typeString": "address" }, "typeName": { - "id": 597, + "id": 595, "name": "address", "nodeType": "ElementaryTypeName", - "src": "12461:7:0", + "src": "12387:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8968,11 +8938,11 @@ }, { "constant": false, - "id": 600, + "id": 598, "name": "moderator", "nodeType": "VariableDeclaration", - "scope": 647, - "src": "12485:17:0", + "scope": 645, + "src": "12411:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8980,10 +8950,10 @@ "typeString": "address" }, "typeName": { - "id": 599, + "id": 597, "name": "address", "nodeType": "ElementaryTypeName", - "src": "12485:7:0", + "src": "12411:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8994,11 +8964,11 @@ }, { "constant": false, - "id": 602, + "id": 600, "name": "tokenAddress", "nodeType": "VariableDeclaration", - "scope": 647, - "src": "12512:20:0", + "scope": 645, + "src": "12438:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9006,10 +8976,10 @@ "typeString": "address" }, "typeName": { - "id": 601, + "id": 599, "name": "address", "nodeType": "ElementaryTypeName", - "src": "12512:7:0", + "src": "12438:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -9019,20 +8989,20 @@ "visibility": "internal" } ], - "src": "12348:190:0" + "src": "12274:190:0" }, "payable": false, "returnParameters": { - "id": 606, + "id": 604, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 605, + "id": 603, "name": "hash", "nodeType": "VariableDeclaration", - "scope": 647, - "src": "12584:12:0", + "scope": 645, + "src": "12510:12:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9040,10 +9010,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 604, + "id": 602, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "12584:7:0", + "src": "12510:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -9053,32 +9023,32 @@ "visibility": "internal" } ], - "src": "12583:14:0" + "src": "12509:14:0" }, - "scope": 1213, - "src": "12314:1004:0", + "scope": 1210, + "src": "12240:1004:0", "stateMutability": "view", "superFunction": null, "visibility": "public" }, { "body": { - "id": 715, + "id": 713, "nodeType": "Block", - "src": "13802:742:0", + "src": "13728:742:0", "statements": [ { "assignments": [ - 668 + 666 ], "declarations": [ { "constant": false, - "id": 668, + "id": 666, "name": "lastRecovered", "nodeType": "VariableDeclaration", - "scope": 716, - "src": "13812:21:0", + "scope": 714, + "src": "13738:21:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9086,10 +9056,10 @@ "typeString": "address" }, "typeName": { - "id": 667, + "id": 665, "name": "address", "nodeType": "ElementaryTypeName", - "src": "13812:7:0", + "src": "13738:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -9099,18 +9069,18 @@ "visibility": "internal" } ], - "id": 677, + "id": 675, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 670, + "id": 668, "name": "sigV", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 650, - "src": "13866:4:0", + "referencedDeclaration": 648, + "src": "13792:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr", "typeString": "uint8[] memory" @@ -9118,12 +9088,12 @@ }, { "argumentTypes": null, - "id": 671, + "id": 669, "name": "sigR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 653, - "src": "13884:4:0", + "referencedDeclaration": 651, + "src": "13810:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" @@ -9131,12 +9101,12 @@ }, { "argumentTypes": null, - "id": 672, + "id": 670, "name": "sigS", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 656, - "src": "13902:4:0", + "referencedDeclaration": 654, + "src": "13828:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" @@ -9144,12 +9114,12 @@ }, { "argumentTypes": null, - "id": 673, + "id": 671, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 658, - "src": "13920:10:0", + "referencedDeclaration": 656, + "src": "13846:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -9157,12 +9127,12 @@ }, { "argumentTypes": null, - "id": 674, + "id": 672, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 661, - "src": "13944:12:0", + "referencedDeclaration": 659, + "src": "13870:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -9170,12 +9140,12 @@ }, { "argumentTypes": null, - "id": 675, + "id": 673, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 664, - "src": "13970:7:0", + "referencedDeclaration": 662, + "src": "13896:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" @@ -9209,18 +9179,18 @@ "typeString": "uint256[] memory" } ], - "id": 669, + "id": 667, "name": "verifySignatures", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1021, - "src": "13836:16:0", + "referencedDeclaration": 1019, + "src": "13762:16:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_array$_t_uint8_$dyn_memory_ptr_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_bytes32_$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$_t_address_$", "typeString": "function (uint8[] memory,bytes32[] memory,bytes32[] memory,bytes32,address[] memory,uint256[] memory) returns (address)" } }, - "id": 676, + "id": 674, "isConstant": false, "isLValue": false, "isPure": false, @@ -9228,27 +9198,27 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "13836:151:0", + "src": "13762:151:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "VariableDeclarationStatement", - "src": "13812:175:0" + "src": "13738:175:0" }, { "assignments": [ - 679 + 677 ], "declarations": [ { "constant": false, - "id": 679, + "id": 677, "name": "timeLockExpired", "nodeType": "VariableDeclaration", - "scope": 716, - "src": "13998:20:0", + "scope": 714, + "src": "13924:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9256,10 +9226,10 @@ "typeString": "bool" }, "typeName": { - "id": 678, + "id": 676, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "13998:4:0", + "src": "13924:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -9269,7 +9239,7 @@ "visibility": "internal" } ], - "id": 690, + "id": 688, "initialValue": { "argumentTypes": null, "arguments": [ @@ -9279,26 +9249,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 681, + "id": 679, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 77, - "src": "14052:12:0", + "referencedDeclaration": 75, + "src": "13978:12:0", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$73_storage_$", + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 683, + "id": 681, "indexExpression": { "argumentTypes": null, - "id": 682, + "id": 680, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 658, - "src": "14065:10:0", + "referencedDeclaration": 656, + "src": "13991:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -9309,21 +9279,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "14052:24:0", + "src": "13978:24:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_Transaction_$73_storage", + "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 684, + "id": 682, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "timeoutHours", "nodeType": "MemberAccess", - "referencedDeclaration": 52, - "src": "14052:37:0", + "referencedDeclaration": 50, + "src": "13978:37:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -9335,26 +9305,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 685, + "id": 683, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 77, - "src": "14103:12:0", + "referencedDeclaration": 75, + "src": "14029:12:0", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$73_storage_$", + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 687, + "id": 685, "indexExpression": { "argumentTypes": null, - "id": 686, + "id": 684, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 658, - "src": "14116:10:0", + "referencedDeclaration": 656, + "src": "14042:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -9365,21 +9335,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "14103:24:0", + "src": "14029:24:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_Transaction_$73_storage", + "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 688, + "id": 686, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "lastModified", "nodeType": "MemberAccess", - "referencedDeclaration": 44, - "src": "14103:37:0", + "referencedDeclaration": 42, + "src": "14029:37:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9397,18 +9367,18 @@ "typeString": "uint256" } ], - "id": 680, + "id": 678, "name": "isTimeLockExpired", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1055, - "src": "14021:17:0", + "referencedDeclaration": 1053, + "src": "13947:17:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_uint32_$_t_uint256_$returns$_t_bool_$", "typeString": "function (uint32,uint256) view returns (bool)" } }, - "id": 689, + "id": 687, "isConstant": false, "isLValue": false, "isPure": false, @@ -9416,14 +9386,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "14021:129:0", + "src": "13947:129:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "nodeType": "VariableDeclarationStatement", - "src": "13998:152:0" + "src": "13924:152:0" }, { "condition": { @@ -9432,7 +9402,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 708, + "id": 706, "isConstant": false, "isLValue": false, "isPure": false, @@ -9443,7 +9413,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 697, + "id": 695, "isConstant": false, "isLValue": false, "isPure": false, @@ -9452,18 +9422,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 691, + "id": 689, "name": "sigV", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 650, - "src": "14322:4:0", + "referencedDeclaration": 648, + "src": "14248:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr", "typeString": "uint8[] memory" } }, - "id": 692, + "id": 690, "isConstant": false, "isLValue": false, "isPure": false, @@ -9471,7 +9441,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "14322:11:0", + "src": "14248:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9485,26 +9455,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 693, + "id": 691, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 77, - "src": "14336:12:0", + "referencedDeclaration": 75, + "src": "14262:12:0", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$73_storage_$", + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 695, + "id": 693, "indexExpression": { "argumentTypes": null, - "id": 694, + "id": 692, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 658, - "src": "14349:10:0", + "referencedDeclaration": 656, + "src": "14275:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -9515,27 +9485,27 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "14336:24:0", + "src": "14262:24:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_Transaction_$73_storage", + "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 696, + "id": 694, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "threshold", "nodeType": "MemberAccess", - "referencedDeclaration": 50, - "src": "14336:34:0", + "referencedDeclaration": 48, + "src": "14262:34:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, - "src": "14322:48:0", + "src": "14248:48:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -9552,14 +9522,14 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 706, + "id": 704, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 699, + "id": 697, "isConstant": false, "isLValue": false, "isPure": false, @@ -9567,15 +9537,15 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "14375:16:0", + "src": "14301:16:0", "subExpression": { "argumentTypes": null, - "id": 698, + "id": 696, "name": "timeLockExpired", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 679, - "src": "14376:15:0", + "referencedDeclaration": 677, + "src": "14302:15:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -9594,19 +9564,19 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 705, + "id": 703, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 700, + "id": 698, "name": "lastRecovered", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 668, - "src": "14395:13:0", + "referencedDeclaration": 666, + "src": "14321:13:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -9620,26 +9590,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 701, + "id": 699, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 77, - "src": "14412:12:0", + "referencedDeclaration": 75, + "src": "14338:12:0", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$73_storage_$", + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 703, + "id": 701, "indexExpression": { "argumentTypes": null, - "id": 702, + "id": 700, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 658, - "src": "14425:10:0", + "referencedDeclaration": 656, + "src": "14351:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -9650,66 +9620,66 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "14412:24:0", + "src": "14338:24:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_Transaction_$73_storage", + "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 704, + "id": 702, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "seller", "nodeType": "MemberAccess", - "referencedDeclaration": 56, - "src": "14412:31:0", + "referencedDeclaration": 54, + "src": "14338:31:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "14395:48:0", + "src": "14321:48:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "14375:68:0", + "src": "14301:68:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } } ], - "id": 707, + "id": 705, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "14374:70:0", + "src": "14300:70:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "14322:122:0", + "src": "14248:122:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, - "id": 714, + "id": 712, "nodeType": "IfStatement", - "src": "14301:236:0", + "src": "14227:236:0", "trueBody": { - "id": 713, + "id": 711, "nodeType": "Block", - "src": "14467:70:0", + "src": "14393:70:0", "statements": [ { "expression": { @@ -9718,14 +9688,14 @@ { "argumentTypes": null, "hexValue": "736967562e6c656e67746820697320756e64657220746865207468726573686f6c642e", - "id": 710, + "id": 708, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "14488:37:0", + "src": "14414:37:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_d1b34f8ee6043043ff8e104db499160a1e51c77ca18fe42fba7312fd923c28e1", @@ -9741,21 +9711,21 @@ "typeString": "literal_string \"sigV.length is under the threshold.\"" } ], - "id": 709, + "id": 707, "name": "revert", "nodeType": "Identifier", "overloadedDeclarations": [ - 1391, - 1392 + 1388, + 1389 ], - "referencedDeclaration": 1392, - "src": "14481:6:0", + "referencedDeclaration": 1389, + "src": "14407:6:0", "typeDescriptions": { "typeIdentifier": "t_function_revert_pure$_t_string_memory_ptr_$returns$__$", "typeString": "function (string memory) pure" } }, - "id": 711, + "id": 709, "isConstant": false, "isLValue": false, "isPure": false, @@ -9763,15 +9733,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "14481:45:0", + "src": "14407:45:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 712, + "id": 710, "nodeType": "ExpressionStatement", - "src": "14481:45:0" + "src": "14407:45:0" } ] } @@ -9779,7 +9749,7 @@ ] }, "documentation": "@dev This methods checks validity of transaction\n1. Verify Signatures\n2. Check if minimum number of signatures has been acquired\n3. If above condition is false, check if time lock is expired and the execution is signed by seller", - "id": 716, + "id": 714, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -9787,16 +9757,16 @@ "name": "verifyTransaction", "nodeType": "FunctionDefinition", "parameters": { - "id": 665, + "id": 663, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 650, + "id": 648, "name": "sigV", "nodeType": "VariableDeclaration", - "scope": 716, - "src": "13628:12:0", + "scope": 714, + "src": "13554:12:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9805,19 +9775,19 @@ }, "typeName": { "baseType": { - "id": 648, + "id": 646, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "13628:5:0", + "src": "13554:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, - "id": 649, + "id": 647, "length": null, "nodeType": "ArrayTypeName", - "src": "13628:7:0", + "src": "13554:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_storage_ptr", "typeString": "uint8[]" @@ -9828,11 +9798,11 @@ }, { "constant": false, - "id": 653, + "id": 651, "name": "sigR", "nodeType": "VariableDeclaration", - "scope": 716, - "src": "13650:14:0", + "scope": 714, + "src": "13576:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9841,19 +9811,19 @@ }, "typeName": { "baseType": { - "id": 651, + "id": 649, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "13650:7:0", + "src": "13576:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "id": 652, + "id": 650, "length": null, "nodeType": "ArrayTypeName", - "src": "13650:9:0", + "src": "13576:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -9864,11 +9834,11 @@ }, { "constant": false, - "id": 656, + "id": 654, "name": "sigS", "nodeType": "VariableDeclaration", - "scope": 716, - "src": "13674:14:0", + "scope": 714, + "src": "13600:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9877,19 +9847,19 @@ }, "typeName": { "baseType": { - "id": 654, + "id": 652, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "13674:7:0", + "src": "13600:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "id": 655, + "id": 653, "length": null, "nodeType": "ArrayTypeName", - "src": "13674:9:0", + "src": "13600:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -9900,11 +9870,11 @@ }, { "constant": false, - "id": 658, + "id": 656, "name": "scriptHash", "nodeType": "VariableDeclaration", - "scope": 716, - "src": "13698:18:0", + "scope": 714, + "src": "13624:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9912,10 +9882,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 657, + "id": 655, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "13698:7:0", + "src": "13624:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -9926,11 +9896,11 @@ }, { "constant": false, - "id": 661, + "id": 659, "name": "destinations", "nodeType": "VariableDeclaration", - "scope": 716, - "src": "13726:22:0", + "scope": 714, + "src": "13652:22:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9939,19 +9909,19 @@ }, "typeName": { "baseType": { - "id": 659, + "id": 657, "name": "address", "nodeType": "ElementaryTypeName", - "src": "13726:7:0", + "src": "13652:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 660, + "id": 658, "length": null, "nodeType": "ArrayTypeName", - "src": "13726:9:0", + "src": "13652:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", "typeString": "address[]" @@ -9962,11 +9932,11 @@ }, { "constant": false, - "id": 664, + "id": 662, "name": "amounts", "nodeType": "VariableDeclaration", - "scope": 716, - "src": "13758:17:0", + "scope": 714, + "src": "13684:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9975,19 +9945,19 @@ }, "typeName": { "baseType": { - "id": 662, + "id": 660, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "13758:7:0", + "src": "13684:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 663, + "id": 661, "length": null, "nodeType": "ArrayTypeName", - "src": "13758:9:0", + "src": "13684:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -9997,54 +9967,54 @@ "visibility": "internal" } ], - "src": "13618:163:0" + "src": "13544:163:0" }, "payable": false, "returnParameters": { - "id": 666, + "id": 664, "nodeType": "ParameterList", "parameters": [], - "src": "13802:0:0" + "src": "13728:0:0" }, - "scope": 1213, - "src": "13592:952:0", + "scope": 1210, + "src": "13518:952:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "private" }, { "body": { - "id": 896, + "id": 894, "nodeType": "Block", - "src": "14847:1375:0", + "src": "14773:1375:0", "statements": [ { "assignments": [ - 730 + 728 ], "declarations": [ { "constant": false, - "id": 730, + "id": 728, "name": "t", "nodeType": "VariableDeclaration", - "scope": 897, - "src": "14857:21:0", + "scope": 895, + "src": "14783:21:0", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_Transaction_$73_storage_ptr", + "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction" }, "typeName": { "contractScope": null, - "id": 729, + "id": 727, "name": "Transaction", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 73, - "src": "14857:11:0", + "referencedDeclaration": 71, + "src": "14783:11:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_Transaction_$73_storage_ptr", + "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction" } }, @@ -10052,31 +10022,31 @@ "visibility": "internal" } ], - "id": 734, + "id": 732, "initialValue": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 731, + "id": 729, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 77, - "src": "14881:12:0", + "referencedDeclaration": 75, + "src": "14807:12:0", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$73_storage_$", + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 733, + "id": 731, "indexExpression": { "argumentTypes": null, - "id": 732, + "id": 730, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 718, - "src": "14894:10:0", + "referencedDeclaration": 716, + "src": "14820:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -10087,14 +10057,14 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "14881:24:0", + "src": "14807:24:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_Transaction_$73_storage", + "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "14857:48:0" + "src": "14783:48:0" }, { "condition": { @@ -10103,7 +10073,7 @@ "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" }, - "id": 739, + "id": 737, "isConstant": false, "isLValue": false, "isPure": false, @@ -10112,26 +10082,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 735, + "id": 733, "name": "t", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 730, - "src": "14920:1:0", + "referencedDeclaration": 728, + "src": "14846:1:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_Transaction_$73_storage_ptr", + "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" } }, - "id": 736, + "id": 734, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "transactionType", "nodeType": "MemberAccess", - "referencedDeclaration": 48, - "src": "14920:17:0", + "referencedDeclaration": 46, + "src": "14846:17:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -10143,18 +10113,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 737, + "id": 735, "name": "TransactionType", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12, - "src": "14941:15:0", + "src": "14867:15:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_TransactionType_$12_$", "typeString": "type(enum Escrow_v1_0.TransactionType)" } }, - "id": 738, + "id": 736, "isConstant": false, "isLValue": false, "isPure": true, @@ -10162,13 +10132,13 @@ "memberName": "ETHER", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "14941:21:0", + "src": "14867:21:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" } }, - "src": "14920:42:0", + "src": "14846:42:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -10181,7 +10151,7 @@ "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" }, - "id": 813, + "id": 811, "isConstant": false, "isLValue": false, "isPure": false, @@ -10190,26 +10160,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 809, + "id": 807, "name": "t", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 730, - "src": "15561:1:0", + "referencedDeclaration": 728, + "src": "15487:1:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_Transaction_$73_storage_ptr", + "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" } }, - "id": 810, + "id": 808, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "transactionType", "nodeType": "MemberAccess", - "referencedDeclaration": 48, - "src": "15561:17:0", + "referencedDeclaration": 46, + "src": "15487:17:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -10221,18 +10191,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 811, + "id": 809, "name": "TransactionType", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12, - "src": "15582:15:0", + "src": "15508:15:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_TransactionType_$12_$", "typeString": "type(enum Escrow_v1_0.TransactionType)" } }, - "id": 812, + "id": 810, "isConstant": false, "isLValue": false, "isPure": true, @@ -10240,54 +10210,54 @@ "memberName": "TOKEN", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "15582:21:0", + "src": "15508:21:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" } }, - "src": "15561:42:0", + "src": "15487:42:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, - "id": 894, + "id": 892, "nodeType": "IfStatement", - "src": "15557:658:0", + "src": "15483:658:0", "trueBody": { - "id": 893, + "id": 891, "nodeType": "Block", - "src": "15605:610:0", + "src": "15531:610:0", "statements": [ { "assignments": [ - 815 + 813 ], "declarations": [ { "constant": false, - "id": 815, + "id": 813, "name": "token", "nodeType": "VariableDeclaration", - "scope": 897, - "src": "15620:20:0", + "scope": 895, + "src": "15546:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenContract_$1243", + "typeIdentifier": "t_contract$_ITokenContract_$1240", "typeString": "contract ITokenContract" }, "typeName": { "contractScope": null, - "id": 814, + "id": 812, "name": "ITokenContract", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1243, - "src": "15620:14:0", + "referencedDeclaration": 1240, + "src": "15546:14:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenContract_$1243", + "typeIdentifier": "t_contract$_ITokenContract_$1240", "typeString": "contract ITokenContract" } }, @@ -10295,7 +10265,7 @@ "visibility": "internal" } ], - "id": 820, + "id": 818, "initialValue": { "argumentTypes": null, "arguments": [ @@ -10303,26 +10273,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 817, + "id": 815, "name": "t", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 730, - "src": "15658:1:0", + "referencedDeclaration": 728, + "src": "15584:1:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_Transaction_$73_storage_ptr", + "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" } }, - "id": 818, + "id": 816, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "tokenAddress", "nodeType": "MemberAccess", - "referencedDeclaration": 58, - "src": "15658:14:0", + "referencedDeclaration": 56, + "src": "15584:14:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -10336,18 +10306,18 @@ "typeString": "address" } ], - "id": 816, + "id": 814, "name": "ITokenContract", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1243, - "src": "15643:14:0", + "referencedDeclaration": 1240, + "src": "15569:14:0", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ITokenContract_$1243_$", + "typeIdentifier": "t_type$_t_contract$_ITokenContract_$1240_$", "typeString": "type(contract ITokenContract)" } }, - "id": 819, + "id": 817, "isConstant": false, "isLValue": false, "isPure": false, @@ -10355,20 +10325,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15643:30:0", + "src": "15569:30:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenContract_$1243", + "typeIdentifier": "t_contract$_ITokenContract_$1240", "typeString": "contract ITokenContract" } }, "nodeType": "VariableDeclarationStatement", - "src": "15620:53:0" + "src": "15546:53:0" }, { "body": { - "id": 891, + "id": 889, "nodeType": "Block", - "src": "15736:469:0", + "src": "15662:469:0", "statements": [ { "expression": { @@ -10380,7 +10350,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 846, + "id": 844, "isConstant": false, "isLValue": false, "isPure": false, @@ -10391,7 +10361,7 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 839, + "id": 837, "isConstant": false, "isLValue": false, "isPure": false, @@ -10400,26 +10370,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 833, + "id": 831, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 721, - "src": "15763:12:0", + "referencedDeclaration": 719, + "src": "15689:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" } }, - "id": 835, + "id": 833, "indexExpression": { "argumentTypes": null, - "id": 834, + "id": 832, "name": "j", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 822, - "src": "15776:1:0", + "referencedDeclaration": 820, + "src": "15702:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10430,7 +10400,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15763:15:0", + "src": "15689:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -10444,14 +10414,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 837, + "id": 835, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "15790:1:0", + "src": "15716:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -10467,20 +10437,20 @@ "typeString": "int_const 0" } ], - "id": 836, + "id": 834, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "15782:7:0", + "src": "15708:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, - "id": 838, + "id": 836, "isConstant": false, "isLValue": false, "isPure": true, @@ -10488,13 +10458,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15782:10:0", + "src": "15708:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "15763:29:0", + "src": "15689:29:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -10508,56 +10478,56 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 840, + "id": 838, "name": "t", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 730, - "src": "15796:1:0", + "referencedDeclaration": 728, + "src": "15722:1:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_Transaction_$73_storage_ptr", + "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" } }, - "id": 841, + "id": 839, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "isOwner", "nodeType": "MemberAccess", - "referencedDeclaration": 64, - "src": "15796:9:0", + "referencedDeclaration": 62, + "src": "15722:9:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 845, + "id": 843, "indexExpression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 842, + "id": 840, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 721, - "src": "15806:12:0", + "referencedDeclaration": 719, + "src": "15732:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" } }, - "id": 844, + "id": 842, "indexExpression": { "argumentTypes": null, - "id": 843, + "id": 841, "name": "j", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 822, - "src": "15819:1:0", + "referencedDeclaration": 820, + "src": "15745:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10568,7 +10538,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15806:15:0", + "src": "15732:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -10579,13 +10549,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15796:26:0", + "src": "15722:26:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "15763:59:0", + "src": "15689:59:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -10594,14 +10564,14 @@ { "argumentTypes": null, "hexValue": "4e6f7420612076616c69642064657374696e6174696f6e", - "id": 847, + "id": 845, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "15824:25:0", + "src": "15750:25:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_4b4c116dbf18274831a2b569c567d9fd9a0e9828a6c86ee9f93e80400fb6c49f", @@ -10621,21 +10591,21 @@ "typeString": "literal_string \"Not a valid destination\"" } ], - "id": 832, + "id": 830, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1389, - 1390 + 1386, + 1387 ], - "referencedDeclaration": 1390, - "src": "15755:7:0", + "referencedDeclaration": 1387, + "src": "15681:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 848, + "id": 846, "isConstant": false, "isLValue": false, "isPure": false, @@ -10643,15 +10613,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15755:95:0", + "src": "15681:95:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 849, + "id": 847, "nodeType": "ExpressionStatement", - "src": "15755:95:0" + "src": "15681:95:0" }, { "expression": { @@ -10663,7 +10633,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 855, + "id": 853, "isConstant": false, "isLValue": false, "isPure": false, @@ -10672,26 +10642,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 851, + "id": 849, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 724, - "src": "15876:7:0", + "referencedDeclaration": 722, + "src": "15802:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 853, + "id": 851, "indexExpression": { "argumentTypes": null, - "id": 852, + "id": 850, "name": "j", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 822, - "src": "15884:1:0", + "referencedDeclaration": 820, + "src": "15810:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10702,7 +10672,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15876:10:0", + "src": "15802:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10713,14 +10683,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 854, + "id": 852, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "15889:1:0", + "src": "15815:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -10728,7 +10698,7 @@ }, "value": "0" }, - "src": "15876:14:0", + "src": "15802:14:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -10737,14 +10707,14 @@ { "argumentTypes": null, "hexValue": "416d6f756e7420746f2062652073656e742073686f756c642062652067726561746572207468616e2030", - "id": 856, + "id": 854, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "15892:44:0", + "src": "15818:44:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_5e1271a09dbb64ae031de288deb0ad8d707df7db51d6e827931dc8fa6642a71e", @@ -10764,21 +10734,21 @@ "typeString": "literal_string \"Amount to be sent should be greater than 0\"" } ], - "id": 850, + "id": 848, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1389, - 1390 + 1386, + 1387 ], - "referencedDeclaration": 1390, - "src": "15868:7:0", + "referencedDeclaration": 1387, + "src": "15794:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 857, + "id": 855, "isConstant": false, "isLValue": false, "isPure": false, @@ -10786,32 +10756,32 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15868:69:0", + "src": "15794:69:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 858, + "id": 856, "nodeType": "ExpressionStatement", - "src": "15868:69:0" + "src": "15794:69:0" }, { "expression": { "argumentTypes": null, - "id": 866, + "id": 864, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 859, + "id": 857, "name": "valueTransferred", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 727, - "src": "15956:16:0", + "referencedDeclaration": 725, + "src": "15882:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10826,26 +10796,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 862, + "id": 860, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 724, - "src": "15996:7:0", + "referencedDeclaration": 722, + "src": "15922:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 864, + "id": 862, "indexExpression": { "argumentTypes": null, - "id": 863, + "id": 861, "name": "j", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 822, - "src": "16004:1:0", + "referencedDeclaration": 820, + "src": "15930:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10856,7 +10826,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15996:10:0", + "src": "15922:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10872,32 +10842,32 @@ ], "expression": { "argumentTypes": null, - "id": 860, + "id": 858, "name": "valueTransferred", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 727, - "src": "15975:16:0", + "referencedDeclaration": 725, + "src": "15901:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 861, + "id": 859, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 1350, - "src": "15975:20:0", + "referencedDeclaration": 1347, + "src": "15901:20:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 865, + "id": 863, "isConstant": false, "isLValue": false, "isPure": false, @@ -10905,26 +10875,26 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15975:32:0", + "src": "15901:32:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "15956:51:0", + "src": "15882:51:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 867, + "id": 865, "nodeType": "ExpressionStatement", - "src": "15956:51:0" + "src": "15882:51:0" }, { "expression": { "argumentTypes": null, - "id": 876, + "id": 874, "isConstant": false, "isLValue": false, "isPure": false, @@ -10935,56 +10905,56 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 868, + "id": 866, "name": "t", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 730, - "src": "16025:1:0", + "referencedDeclaration": 728, + "src": "15951:1:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_Transaction_$73_storage_ptr", + "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" } }, - "id": 873, + "id": 871, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "beneficiaries", "nodeType": "MemberAccess", - "referencedDeclaration": 72, - "src": "16025:15:0", + "referencedDeclaration": 70, + "src": "15951:15:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 874, + "id": 872, "indexExpression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 870, + "id": 868, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 721, - "src": "16041:12:0", + "referencedDeclaration": 719, + "src": "15967:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" } }, - "id": 872, + "id": 870, "indexExpression": { "argumentTypes": null, - "id": 871, + "id": 869, "name": "j", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 822, - "src": "16054:1:0", + "referencedDeclaration": 820, + "src": "15980:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10995,7 +10965,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "16041:15:0", + "src": "15967:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -11006,7 +10976,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "16025:32:0", + "src": "15951:32:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -11017,14 +10987,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "74727565", - "id": 875, + "id": 873, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "16060:4:0", + "src": "15986:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -11032,15 +11002,15 @@ }, "value": "true" }, - "src": "16025:39:0", + "src": "15951:39:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 877, + "id": 875, "nodeType": "ExpressionStatement", - "src": "16025:39:0" + "src": "15951:39:0" }, { "expression": { @@ -11053,26 +11023,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 881, + "id": 879, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 721, - "src": "16135:12:0", + "referencedDeclaration": 719, + "src": "16061:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" } }, - "id": 883, + "id": 881, "indexExpression": { "argumentTypes": null, - "id": 882, + "id": 880, "name": "j", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 822, - "src": "16148:1:0", + "referencedDeclaration": 820, + "src": "16074:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11083,7 +11053,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "16135:15:0", + "src": "16061:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -11093,26 +11063,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 884, + "id": 882, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 724, - "src": "16152:7:0", + "referencedDeclaration": 722, + "src": "16078:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 886, + "id": 884, "indexExpression": { "argumentTypes": null, - "id": 885, + "id": 883, "name": "j", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 822, - "src": "16160:1:0", + "referencedDeclaration": 820, + "src": "16086:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11123,7 +11093,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "16152:10:0", + "src": "16078:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11143,32 +11113,32 @@ ], "expression": { "argumentTypes": null, - "id": 879, + "id": 877, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 815, - "src": "16120:5:0", + "referencedDeclaration": 813, + "src": "16046:5:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenContract_$1243", + "typeIdentifier": "t_contract$_ITokenContract_$1240", "typeString": "contract ITokenContract" } }, - "id": 880, + "id": 878, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "transfer", "nodeType": "MemberAccess", - "referencedDeclaration": 1231, - "src": "16120:14:0", + "referencedDeclaration": 1228, + "src": "16046:14:0", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", "typeString": "function (address,uint256) external returns (bool)" } }, - "id": 887, + "id": 885, "isConstant": false, "isLValue": false, "isPure": false, @@ -11176,7 +11146,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16120:43:0", + "src": "16046:43:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -11185,14 +11155,14 @@ { "argumentTypes": null, "hexValue": "546f6b656e207472616e73666572206661696c65642e", - "id": 888, + "id": 886, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "16165:24:0", + "src": "16091:24:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_e545223bb79d8456d66fa5a98897abb42bb4807111f004a120200da3b7e292c5", @@ -11212,21 +11182,21 @@ "typeString": "literal_string \"Token transfer failed.\"" } ], - "id": 878, + "id": 876, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1389, - 1390 + 1386, + 1387 ], - "referencedDeclaration": 1390, - "src": "16112:7:0", + "referencedDeclaration": 1387, + "src": "16038:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 889, + "id": 887, "isConstant": false, "isLValue": false, "isPure": false, @@ -11234,15 +11204,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16112:78:0", + "src": "16038:78:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 890, + "id": 888, "nodeType": "ExpressionStatement", - "src": "16112:78:0" + "src": "16038:78:0" } ] }, @@ -11252,19 +11222,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 828, + "id": 826, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 825, + "id": 823, "name": "j", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 822, - "src": "15708:1:0", + "referencedDeclaration": 820, + "src": "15634:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11276,18 +11246,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 826, + "id": 824, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 721, - "src": "15710:12:0", + "referencedDeclaration": 719, + "src": "15636:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" } }, - "id": 827, + "id": 825, "isConstant": false, "isLValue": false, "isPure": false, @@ -11295,31 +11265,31 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "15710:19:0", + "src": "15636:19:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "15708:21:0", + "src": "15634:21:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 892, + "id": 890, "initializationExpression": { "assignments": [ - 822 + 820 ], "declarations": [ { "constant": false, - "id": 822, + "id": 820, "name": "j", "nodeType": "VariableDeclaration", - "scope": 897, - "src": "15693:9:0", + "scope": 895, + "src": "15619:9:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -11327,10 +11297,10 @@ "typeString": "uint256" }, "typeName": { - "id": 821, + "id": 819, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "15693:7:0", + "src": "15619:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11340,18 +11310,18 @@ "visibility": "internal" } ], - "id": 824, + "id": 822, "initialValue": { "argumentTypes": null, "hexValue": "30", - "id": 823, + "id": 821, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "15705:1:0", + "src": "15631:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -11360,12 +11330,12 @@ "value": "0" }, "nodeType": "VariableDeclarationStatement", - "src": "15693:13:0" + "src": "15619:13:0" }, "loopExpression": { "expression": { "argumentTypes": null, - "id": 830, + "id": 828, "isConstant": false, "isLValue": false, "isPure": false, @@ -11373,15 +11343,15 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "15731:3:0", + "src": "15657:3:0", "subExpression": { "argumentTypes": null, - "id": 829, + "id": 827, "name": "j", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 822, - "src": "15731:1:0", + "referencedDeclaration": 820, + "src": "15657:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11392,29 +11362,29 @@ "typeString": "uint256" } }, - "id": 831, + "id": 829, "nodeType": "ExpressionStatement", - "src": "15731:3:0" + "src": "15657:3:0" }, "nodeType": "ForStatement", - "src": "15688:517:0" + "src": "15614:517:0" } ] } }, - "id": 895, + "id": 893, "nodeType": "IfStatement", - "src": "14916:1299:0", + "src": "14842:1299:0", "trueBody": { - "id": 808, + "id": 806, "nodeType": "Block", - "src": "14964:587:0", + "src": "14890:587:0", "statements": [ { "body": { - "id": 806, + "id": 804, "nodeType": "Block", - "src": "15028:512:0", + "src": "14954:512:0", "statements": [ { "expression": { @@ -11426,7 +11396,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 765, + "id": 763, "isConstant": false, "isLValue": false, "isPure": false, @@ -11437,7 +11407,7 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 758, + "id": 756, "isConstant": false, "isLValue": false, "isPure": false, @@ -11446,26 +11416,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 752, + "id": 750, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 721, - "src": "15055:12:0", + "referencedDeclaration": 719, + "src": "14981:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" } }, - "id": 754, + "id": 752, "indexExpression": { "argumentTypes": null, - "id": 753, + "id": 751, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 741, - "src": "15068:1:0", + "referencedDeclaration": 739, + "src": "14994:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11476,7 +11446,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15055:15:0", + "src": "14981:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -11490,14 +11460,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 756, + "id": 754, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "15082:1:0", + "src": "15008:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -11513,20 +11483,20 @@ "typeString": "int_const 0" } ], - "id": 755, + "id": 753, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "15074:7:0", + "src": "15000:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, - "id": 757, + "id": 755, "isConstant": false, "isLValue": false, "isPure": true, @@ -11534,13 +11504,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15074:10:0", + "src": "15000:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "15055:29:0", + "src": "14981:29:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -11554,56 +11524,56 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 759, + "id": 757, "name": "t", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 730, - "src": "15088:1:0", + "referencedDeclaration": 728, + "src": "15014:1:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_Transaction_$73_storage_ptr", + "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" } }, - "id": 760, + "id": 758, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "isOwner", "nodeType": "MemberAccess", - "referencedDeclaration": 64, - "src": "15088:9:0", + "referencedDeclaration": 62, + "src": "15014:9:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 764, + "id": 762, "indexExpression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 761, + "id": 759, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 721, - "src": "15098:12:0", + "referencedDeclaration": 719, + "src": "15024:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" } }, - "id": 763, + "id": 761, "indexExpression": { "argumentTypes": null, - "id": 762, + "id": 760, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 741, - "src": "15111:1:0", + "referencedDeclaration": 739, + "src": "15037:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11614,7 +11584,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15098:15:0", + "src": "15024:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -11625,13 +11595,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15088:26:0", + "src": "15014:26:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "15055:59:0", + "src": "14981:59:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -11640,14 +11610,14 @@ { "argumentTypes": null, "hexValue": "4e6f7420612076616c69642064657374696e6174696f6e", - "id": 766, + "id": 764, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "15116:25:0", + "src": "15042:25:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_4b4c116dbf18274831a2b569c567d9fd9a0e9828a6c86ee9f93e80400fb6c49f", @@ -11667,21 +11637,21 @@ "typeString": "literal_string \"Not a valid destination\"" } ], - "id": 751, + "id": 749, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1389, - 1390 + 1386, + 1387 ], - "referencedDeclaration": 1390, - "src": "15047:7:0", + "referencedDeclaration": 1387, + "src": "14973:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 767, + "id": 765, "isConstant": false, "isLValue": false, "isPure": false, @@ -11689,15 +11659,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15047:95:0", + "src": "14973:95:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 768, + "id": 766, "nodeType": "ExpressionStatement", - "src": "15047:95:0" + "src": "14973:95:0" }, { "expression": { @@ -11709,7 +11679,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 774, + "id": 772, "isConstant": false, "isLValue": false, "isPure": false, @@ -11718,26 +11688,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 770, + "id": 768, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 724, - "src": "15168:7:0", + "referencedDeclaration": 722, + "src": "15094:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 772, + "id": 770, "indexExpression": { "argumentTypes": null, - "id": 771, + "id": 769, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 741, - "src": "15176:1:0", + "referencedDeclaration": 739, + "src": "15102:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11748,7 +11718,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15168:10:0", + "src": "15094:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11759,14 +11729,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 773, + "id": 771, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "15181:1:0", + "src": "15107:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -11774,7 +11744,7 @@ }, "value": "0" }, - "src": "15168:14:0", + "src": "15094:14:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -11783,14 +11753,14 @@ { "argumentTypes": null, "hexValue": "416d6f756e7420746f2062652073656e742073686f756c642062652067726561746572207468616e2030", - "id": 775, + "id": 773, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "15184:44:0", + "src": "15110:44:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_5e1271a09dbb64ae031de288deb0ad8d707df7db51d6e827931dc8fa6642a71e", @@ -11810,21 +11780,21 @@ "typeString": "literal_string \"Amount to be sent should be greater than 0\"" } ], - "id": 769, + "id": 767, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1389, - 1390 + 1386, + 1387 ], - "referencedDeclaration": 1390, - "src": "15160:7:0", + "referencedDeclaration": 1387, + "src": "15086:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 776, + "id": 774, "isConstant": false, "isLValue": false, "isPure": false, @@ -11832,32 +11802,32 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15160:69:0", + "src": "15086:69:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 777, + "id": 775, "nodeType": "ExpressionStatement", - "src": "15160:69:0" + "src": "15086:69:0" }, { "expression": { "argumentTypes": null, - "id": 785, + "id": 783, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 778, + "id": 776, "name": "valueTransferred", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 727, - "src": "15248:16:0", + "referencedDeclaration": 725, + "src": "15174:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11872,26 +11842,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 781, + "id": 779, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 724, - "src": "15288:7:0", + "referencedDeclaration": 722, + "src": "15214:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 783, + "id": 781, "indexExpression": { "argumentTypes": null, - "id": 782, + "id": 780, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 741, - "src": "15296:1:0", + "referencedDeclaration": 739, + "src": "15222:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11902,7 +11872,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15288:10:0", + "src": "15214:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11918,32 +11888,32 @@ ], "expression": { "argumentTypes": null, - "id": 779, + "id": 777, "name": "valueTransferred", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 727, - "src": "15267:16:0", + "referencedDeclaration": 725, + "src": "15193:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 780, + "id": 778, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 1350, - "src": "15267:20:0", + "referencedDeclaration": 1347, + "src": "15193:20:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 784, + "id": 782, "isConstant": false, "isLValue": false, "isPure": false, @@ -11951,26 +11921,26 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15267:32:0", + "src": "15193:32:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "15248:51:0", + "src": "15174:51:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 786, + "id": 784, "nodeType": "ExpressionStatement", - "src": "15248:51:0" + "src": "15174:51:0" }, { "expression": { "argumentTypes": null, - "id": 795, + "id": 793, "isConstant": false, "isLValue": false, "isPure": false, @@ -11981,56 +11951,56 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 787, + "id": 785, "name": "t", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 730, - "src": "15318:1:0", + "referencedDeclaration": 728, + "src": "15244:1:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_Transaction_$73_storage_ptr", + "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" } }, - "id": 792, + "id": 790, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "beneficiaries", "nodeType": "MemberAccess", - "referencedDeclaration": 72, - "src": "15318:15:0", + "referencedDeclaration": 70, + "src": "15244:15:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 793, + "id": 791, "indexExpression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 789, + "id": 787, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 721, - "src": "15334:12:0", + "referencedDeclaration": 719, + "src": "15260:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" } }, - "id": 791, + "id": 789, "indexExpression": { "argumentTypes": null, - "id": 790, + "id": 788, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 741, - "src": "15347:1:0", + "referencedDeclaration": 739, + "src": "15273:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12041,7 +12011,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15334:15:0", + "src": "15260:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -12052,7 +12022,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "15318:32:0", + "src": "15244:32:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -12063,14 +12033,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "74727565", - "id": 794, + "id": 792, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "15353:4:0", + "src": "15279:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -12078,15 +12048,15 @@ }, "value": "true" }, - "src": "15318:39:0", + "src": "15244:39:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 796, + "id": 794, "nodeType": "ExpressionStatement", - "src": "15318:39:0" + "src": "15244:39:0" }, { "expression": { @@ -12096,26 +12066,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 801, + "id": 799, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 724, - "src": "15429:7:0", + "referencedDeclaration": 722, + "src": "15355:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 803, + "id": 801, "indexExpression": { "argumentTypes": null, - "id": 802, + "id": 800, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 741, - "src": "15437:1:0", + "referencedDeclaration": 739, + "src": "15363:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12126,7 +12096,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15429:10:0", + "src": "15355:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12144,26 +12114,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 797, + "id": 795, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 721, - "src": "15404:12:0", + "referencedDeclaration": 719, + "src": "15330:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" } }, - "id": 799, + "id": 797, "indexExpression": { "argumentTypes": null, - "id": 798, + "id": 796, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 741, - "src": "15417:1:0", + "referencedDeclaration": 739, + "src": "15343:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12174,13 +12144,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15404:15:0", + "src": "15330:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 800, + "id": 798, "isConstant": false, "isLValue": false, "isPure": false, @@ -12188,13 +12158,13 @@ "memberName": "transfer", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "15404:24:0", + "src": "15330:24:0", "typeDescriptions": { "typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$", "typeString": "function (uint256)" } }, - "id": 804, + "id": 802, "isConstant": false, "isLValue": false, "isPure": false, @@ -12202,15 +12172,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15404:36:0", + "src": "15330:36:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 805, + "id": 803, "nodeType": "ExpressionStatement", - "src": "15404:36:0" + "src": "15330:36:0" } ] }, @@ -12220,19 +12190,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 747, + "id": 745, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 744, + "id": 742, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 741, - "src": "14998:1:0", + "referencedDeclaration": 739, + "src": "14924:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12244,18 +12214,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 745, + "id": 743, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 721, - "src": "15002:12:0", + "referencedDeclaration": 719, + "src": "14928:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" } }, - "id": 746, + "id": 744, "isConstant": false, "isLValue": false, "isPure": false, @@ -12263,31 +12233,31 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "15002:19:0", + "src": "14928:19:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "14998:23:0", + "src": "14924:23:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 807, + "id": 805, "initializationExpression": { "assignments": [ - 741 + 739 ], "declarations": [ { "constant": false, - "id": 741, + "id": 739, "name": "i", "nodeType": "VariableDeclaration", - "scope": 897, - "src": "14983:9:0", + "scope": 895, + "src": "14909:9:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12295,10 +12265,10 @@ "typeString": "uint256" }, "typeName": { - "id": 740, + "id": 738, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "14983:7:0", + "src": "14909:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12308,18 +12278,18 @@ "visibility": "internal" } ], - "id": 743, + "id": 741, "initialValue": { "argumentTypes": null, "hexValue": "30", - "id": 742, + "id": 740, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "14995:1:0", + "src": "14921:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -12328,12 +12298,12 @@ "value": "0" }, "nodeType": "VariableDeclarationStatement", - "src": "14983:13:0" + "src": "14909:13:0" }, "loopExpression": { "expression": { "argumentTypes": null, - "id": 749, + "id": 747, "isConstant": false, "isLValue": false, "isPure": false, @@ -12341,15 +12311,15 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "15023:3:0", + "src": "14949:3:0", "subExpression": { "argumentTypes": null, - "id": 748, + "id": 746, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 741, - "src": "15023:1:0", + "referencedDeclaration": 739, + "src": "14949:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12360,12 +12330,12 @@ "typeString": "uint256" } }, - "id": 750, + "id": 748, "nodeType": "ExpressionStatement", - "src": "15023:3:0" + "src": "14949:3:0" }, "nodeType": "ForStatement", - "src": "14978:562:0" + "src": "14904:562:0" } ] } @@ -12373,7 +12343,7 @@ ] }, "documentation": "dev Private method to transfer funds to the destination addresses on the basis of transaction type", - "id": 897, + "id": 895, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -12381,16 +12351,16 @@ "name": "transferFunds", "nodeType": "FunctionDefinition", "parameters": { - "id": 725, + "id": 723, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 718, + "id": 716, "name": "scriptHash", "nodeType": "VariableDeclaration", - "scope": 897, - "src": "14702:18:0", + "scope": 895, + "src": "14628:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12398,10 +12368,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 717, + "id": 715, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "14702:7:0", + "src": "14628:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -12412,11 +12382,11 @@ }, { "constant": false, - "id": 721, + "id": 719, "name": "destinations", "nodeType": "VariableDeclaration", - "scope": 897, - "src": "14730:21:0", + "scope": 895, + "src": "14656:21:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12425,19 +12395,19 @@ }, "typeName": { "baseType": { - "id": 719, + "id": 717, "name": "address", "nodeType": "ElementaryTypeName", - "src": "14730:7:0", + "src": "14656:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 720, + "id": 718, "length": null, "nodeType": "ArrayTypeName", - "src": "14730:9:0", + "src": "14656:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", "typeString": "address[]" @@ -12448,11 +12418,11 @@ }, { "constant": false, - "id": 724, + "id": 722, "name": "amounts", "nodeType": "VariableDeclaration", - "scope": 897, - "src": "14761:16:0", + "scope": 895, + "src": "14687:16:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12461,19 +12431,19 @@ }, "typeName": { "baseType": { - "id": 722, + "id": 720, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "14761:7:0", + "src": "14687:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 723, + "id": 721, "length": null, "nodeType": "ArrayTypeName", - "src": "14761:9:0", + "src": "14687:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -12483,20 +12453,20 @@ "visibility": "internal" } ], - "src": "14692:91:0" + "src": "14618:91:0" }, "payable": false, "returnParameters": { - "id": 728, + "id": 726, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 727, + "id": 725, "name": "valueTransferred", "nodeType": "VariableDeclaration", - "scope": 897, - "src": "14817:24:0", + "scope": 895, + "src": "14743:24:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12504,10 +12474,10 @@ "typeString": "uint256" }, "typeName": { - "id": 726, + "id": 724, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "14817:7:0", + "src": "14743:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12517,19 +12487,19 @@ "visibility": "internal" } ], - "src": "14816:26:0" + "src": "14742:26:0" }, - "scope": 1213, - "src": "14670:1552:0", + "scope": 1210, + "src": "14596:1552:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "private" }, { "body": { - "id": 1020, + "id": 1018, "nodeType": "Block", - "src": "16652:1277:0", + "src": "16578:1277:0", "statements": [ { "expression": { @@ -12541,7 +12511,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 930, + "id": 928, "isConstant": false, "isLValue": false, "isPure": false, @@ -12552,7 +12522,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 924, + "id": 922, "isConstant": false, "isLValue": false, "isPure": false, @@ -12561,18 +12531,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 920, + "id": 918, "name": "sigR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 903, - "src": "16683:4:0", + "referencedDeclaration": 901, + "src": "16609:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" } }, - "id": 921, + "id": 919, "isConstant": false, "isLValue": false, "isPure": false, @@ -12580,7 +12550,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "16683:11:0", + "src": "16609:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12592,18 +12562,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 922, + "id": 920, "name": "sigS", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 906, - "src": "16698:4:0", + "referencedDeclaration": 904, + "src": "16624:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" } }, - "id": 923, + "id": 921, "isConstant": false, "isLValue": false, "isPure": false, @@ -12611,13 +12581,13 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "16698:11:0", + "src": "16624:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "16683:26:0", + "src": "16609:26:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -12631,7 +12601,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 929, + "id": 927, "isConstant": false, "isLValue": false, "isPure": false, @@ -12640,18 +12610,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 925, + "id": 923, "name": "sigR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 903, - "src": "16713:4:0", + "referencedDeclaration": 901, + "src": "16639:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" } }, - "id": 926, + "id": 924, "isConstant": false, "isLValue": false, "isPure": false, @@ -12659,7 +12629,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "16713:11:0", + "src": "16639:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12671,18 +12641,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 927, + "id": 925, "name": "sigV", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 900, - "src": "16728:4:0", + "referencedDeclaration": 898, + "src": "16654:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr", "typeString": "uint8[] memory" } }, - "id": 928, + "id": 926, "isConstant": false, "isLValue": false, "isPure": false, @@ -12690,19 +12660,19 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "16728:11:0", + "src": "16654:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "16713:26:0", + "src": "16639:26:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "16683:56:0", + "src": "16609:56:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -12711,14 +12681,14 @@ { "argumentTypes": null, "hexValue": "522c532c56206c656e677468206d69736d617463682e", - "id": 931, + "id": 929, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "16754:24:0", + "src": "16680:24:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_f85073c8befb65baed58ca1ee563e5da0bdbdce8abd4d29ef22a8329c7c97506", @@ -12738,21 +12708,21 @@ "typeString": "literal_string \"R,S,V length mismatch.\"" } ], - "id": 919, + "id": 917, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1389, - 1390 + 1386, + 1387 ], - "referencedDeclaration": 1390, - "src": "16662:7:0", + "referencedDeclaration": 1387, + "src": "16588:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 932, + "id": 930, "isConstant": false, "isLValue": false, "isPure": false, @@ -12760,28 +12730,28 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16662:126:0", + "src": "16588:126:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 933, + "id": 931, "nodeType": "ExpressionStatement", - "src": "16662:126:0" + "src": "16588:126:0" }, { "assignments": [ - 935 + 933 ], "declarations": [ { "constant": false, - "id": 935, + "id": 933, "name": "txHash", "nodeType": "VariableDeclaration", - "scope": 1021, - "src": "16887:14:0", + "scope": 1019, + "src": "16813:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12789,10 +12759,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 934, + "id": 932, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "16887:7:0", + "src": "16813:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -12802,7 +12772,7 @@ "visibility": "internal" } ], - "id": 957, + "id": 955, "initialValue": { "argumentTypes": null, "arguments": [ @@ -12812,14 +12782,14 @@ { "argumentTypes": null, "hexValue": "19457468657265756d205369676e6564204d6573736167653a0a3332", - "id": 939, + "id": 937, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "16961:34:0", + "src": "16887:34:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_178a2411ab6fbc1ba11064408972259c558d0e82fd48b0aba3ad81d14f065e73", @@ -12839,14 +12809,14 @@ { "argumentTypes": null, "hexValue": "30783139", - "id": 944, + "id": 942, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "17091:4:0", + "src": "17017:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_25_by_1", @@ -12862,20 +12832,20 @@ "typeString": "int_const 25" } ], - "id": 943, + "id": 941, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "17086:4:0", + "src": "17012:4:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes1_$", "typeString": "type(bytes1)" }, "typeName": "byte" }, - "id": 945, + "id": 943, "isConstant": false, "isLValue": false, "isPure": true, @@ -12883,7 +12853,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17086:10:0", + "src": "17012:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes1", "typeString": "bytes1" @@ -12895,14 +12865,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 947, + "id": 945, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "17127:1:0", + "src": "17053:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -12918,20 +12888,20 @@ "typeString": "int_const 0" } ], - "id": 946, + "id": 944, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "17122:4:0", + "src": "17048:4:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes1_$", "typeString": "type(bytes1)" }, "typeName": "byte" }, - "id": 948, + "id": 946, "isConstant": false, "isLValue": false, "isPure": true, @@ -12939,7 +12909,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17122:7:0", + "src": "17048:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes1", "typeString": "bytes1" @@ -12947,25 +12917,25 @@ }, { "argumentTypes": null, - "id": 949, + "id": 947, "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1403, - "src": "17155:4:0", + "referencedDeclaration": 1400, + "src": "17081:4:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_Escrow_v1_0_$1213", + "typeIdentifier": "t_contract$_Escrow_v1_0_$1210", "typeString": "contract Escrow_v1_0" } }, { "argumentTypes": null, - "id": 950, + "id": 948, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 911, - "src": "17185:12:0", + "referencedDeclaration": 909, + "src": "17111:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -12973,12 +12943,12 @@ }, { "argumentTypes": null, - "id": 951, + "id": 949, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 914, - "src": "17223:7:0", + "referencedDeclaration": 912, + "src": "17149:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" @@ -12986,12 +12956,12 @@ }, { "argumentTypes": null, - "id": 952, + "id": 950, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 908, - "src": "17256:10:0", + "referencedDeclaration": 906, + "src": "17182:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -13009,7 +12979,7 @@ "typeString": "bytes1" }, { - "typeIdentifier": "t_contract$_Escrow_v1_0_$1213", + "typeIdentifier": "t_contract$_Escrow_v1_0_$1210", "typeString": "contract Escrow_v1_0" }, { @@ -13027,18 +12997,18 @@ ], "expression": { "argumentTypes": null, - "id": 941, + "id": 939, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1373, - "src": "17044:3:0", + "referencedDeclaration": 1370, + "src": "16970:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, - "id": 942, + "id": 940, "isConstant": false, "isLValue": false, "isPure": true, @@ -13046,13 +13016,13 @@ "memberName": "encodePacked", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "17044:16:0", + "src": "16970:16:0", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, - "id": 953, + "id": 951, "isConstant": false, "isLValue": false, "isPure": false, @@ -13060,7 +13030,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17044:244:0", + "src": "16970:244:0", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -13074,18 +13044,18 @@ "typeString": "bytes memory" } ], - "id": 940, + "id": 938, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1380, - "src": "17013:9:0", + "referencedDeclaration": 1377, + "src": "16939:9:0", "typeDescriptions": { "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", "typeString": "function () pure returns (bytes32)" } }, - "id": 954, + "id": 952, "isConstant": false, "isLValue": false, "isPure": false, @@ -13093,7 +13063,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17013:293:0", + "src": "16939:293:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -13113,18 +13083,18 @@ ], "expression": { "argumentTypes": null, - "id": 937, + "id": 935, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1373, - "src": "16927:3:0", + "referencedDeclaration": 1370, + "src": "16853:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, - "id": 938, + "id": 936, "isConstant": false, "isLValue": false, "isPure": true, @@ -13132,13 +13102,13 @@ "memberName": "encodePacked", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "16927:16:0", + "src": "16853:16:0", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, - "id": 955, + "id": 953, "isConstant": false, "isLValue": false, "isPure": false, @@ -13146,7 +13116,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16927:393:0", + "src": "16853:393:0", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -13160,18 +13130,18 @@ "typeString": "bytes memory" } ], - "id": 936, + "id": 934, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1380, - "src": "16904:9:0", + "referencedDeclaration": 1377, + "src": "16830:9:0", "typeDescriptions": { "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", "typeString": "function () pure returns (bytes32)" } }, - "id": 956, + "id": 954, "isConstant": false, "isLValue": false, "isPure": false, @@ -13179,33 +13149,33 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16904:426:0", + "src": "16830:426:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "nodeType": "VariableDeclarationStatement", - "src": "16887:443:0" + "src": "16813:443:0" }, { "body": { - "id": 1018, + "id": 1016, "nodeType": "Block", - "src": "17380:543:0", + "src": "17306:543:0", "statements": [ { "assignments": [ - 970 + 968 ], "declarations": [ { "constant": false, - "id": 970, + "id": 968, "name": "recovered", "nodeType": "VariableDeclaration", - "scope": 1021, - "src": "17395:17:0", + "scope": 1019, + "src": "17321:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -13213,10 +13183,10 @@ "typeString": "address" }, "typeName": { - "id": 969, + "id": 967, "name": "address", "nodeType": "ElementaryTypeName", - "src": "17395:7:0", + "src": "17321:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -13226,18 +13196,18 @@ "visibility": "internal" } ], - "id": 983, + "id": 981, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 972, + "id": 970, "name": "txHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 935, - "src": "17442:6:0", + "referencedDeclaration": 933, + "src": "17368:6:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -13247,26 +13217,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 973, + "id": 971, "name": "sigV", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 900, - "src": "17466:4:0", + "referencedDeclaration": 898, + "src": "17392:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr", "typeString": "uint8[] memory" } }, - "id": 975, + "id": 973, "indexExpression": { "argumentTypes": null, - "id": 974, + "id": 972, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 959, - "src": "17471:1:0", + "referencedDeclaration": 957, + "src": "17397:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13277,7 +13247,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17466:7:0", + "src": "17392:7:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -13287,26 +13257,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 976, + "id": 974, "name": "sigR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 903, - "src": "17491:4:0", + "referencedDeclaration": 901, + "src": "17417:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" } }, - "id": 978, + "id": 976, "indexExpression": { "argumentTypes": null, - "id": 977, + "id": 975, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 959, - "src": "17496:1:0", + "referencedDeclaration": 957, + "src": "17422:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13317,7 +13287,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17491:7:0", + "src": "17417:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -13327,26 +13297,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 979, + "id": 977, "name": "sigS", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 906, - "src": "17516:4:0", + "referencedDeclaration": 904, + "src": "17442:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" } }, - "id": 981, + "id": 979, "indexExpression": { "argumentTypes": null, - "id": 980, + "id": 978, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 959, - "src": "17521:1:0", + "referencedDeclaration": 957, + "src": "17447:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13357,7 +13327,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17516:7:0", + "src": "17442:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -13383,18 +13353,18 @@ "typeString": "bytes32" } ], - "id": 971, + "id": 969, "name": "ecrecover", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1378, - "src": "17415:9:0", + "referencedDeclaration": 1375, + "src": "17341:9:0", "typeDescriptions": { "typeIdentifier": "t_function_ecrecover_pure$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$_t_address_$", "typeString": "function (bytes32,uint8,bytes32,bytes32) pure returns (address)" } }, - "id": 982, + "id": 980, "isConstant": false, "isLValue": false, "isPure": false, @@ -13402,14 +13372,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17415:122:0", + "src": "17341:122:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "VariableDeclarationStatement", - "src": "17395:142:0" + "src": "17321:142:0" }, { "expression": { @@ -13423,26 +13393,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 985, + "id": 983, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 77, - "src": "17577:12:0", + "referencedDeclaration": 75, + "src": "17503:12:0", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$73_storage_$", + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 987, + "id": 985, "indexExpression": { "argumentTypes": null, - "id": 986, + "id": 984, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 908, - "src": "17590:10:0", + "referencedDeclaration": 906, + "src": "17516:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -13453,35 +13423,35 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17577:24:0", + "src": "17503:24:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_Transaction_$73_storage", + "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 988, + "id": 986, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "isOwner", "nodeType": "MemberAccess", - "referencedDeclaration": 64, - "src": "17577:32:0", + "referencedDeclaration": 62, + "src": "17503:32:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 990, + "id": 988, "indexExpression": { "argumentTypes": null, - "id": 989, + "id": 987, "name": "recovered", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 970, - "src": "17610:9:0", + "referencedDeclaration": 968, + "src": "17536:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -13492,7 +13462,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17577:43:0", + "src": "17503:43:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -13501,14 +13471,14 @@ { "argumentTypes": null, "hexValue": "496e76616c6964207369676e6174757265", - "id": 991, + "id": 989, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "17639:19:0", + "src": "17565:19:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_4f2d7dfcb27c0aafa13ae8c400de482c7832204d194018b6e45bd2bf244c74e7", @@ -13528,21 +13498,21 @@ "typeString": "literal_string \"Invalid signature\"" } ], - "id": 984, + "id": 982, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1389, - 1390 + 1386, + 1387 ], - "referencedDeclaration": 1390, - "src": "17552:7:0", + "referencedDeclaration": 1387, + "src": "17478:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 992, + "id": 990, "isConstant": false, "isLValue": false, "isPure": false, @@ -13550,15 +13520,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17552:120:0", + "src": "17478:120:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 993, + "id": 991, "nodeType": "ExpressionStatement", - "src": "17552:120:0" + "src": "17478:120:0" }, { "expression": { @@ -13566,7 +13536,7 @@ "arguments": [ { "argumentTypes": null, - "id": 1001, + "id": 999, "isConstant": false, "isLValue": false, "isPure": false, @@ -13574,7 +13544,7 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "17711:42:0", + "src": "17637:42:0", "subExpression": { "argumentTypes": null, "baseExpression": { @@ -13583,26 +13553,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 995, + "id": 993, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 77, - "src": "17712:12:0", + "referencedDeclaration": 75, + "src": "17638:12:0", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$73_storage_$", + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 997, + "id": 995, "indexExpression": { "argumentTypes": null, - "id": 996, + "id": 994, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 908, - "src": "17725:10:0", + "referencedDeclaration": 906, + "src": "17651:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -13613,35 +13583,35 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17712:24:0", + "src": "17638:24:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_Transaction_$73_storage", + "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 998, + "id": 996, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "voted", "nodeType": "MemberAccess", - "referencedDeclaration": 68, - "src": "17712:30:0", + "referencedDeclaration": 66, + "src": "17638:30:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 1000, + "id": 998, "indexExpression": { "argumentTypes": null, - "id": 999, + "id": 997, "name": "recovered", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 970, - "src": "17743:9:0", + "referencedDeclaration": 968, + "src": "17669:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -13652,7 +13622,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17712:41:0", + "src": "17638:41:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -13666,14 +13636,14 @@ { "argumentTypes": null, "hexValue": "53616d65207369676e61747572652073656e74207477696365", - "id": 1002, + "id": 1000, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "17772:27:0", + "src": "17698:27:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_fb2c7e49d5ec7ce36fa812cf15ee7fa946942f931d04fe3ae970516007b2a543", @@ -13693,21 +13663,21 @@ "typeString": "literal_string \"Same signature sent twice\"" } ], - "id": 994, + "id": 992, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1389, - 1390 + 1386, + 1387 ], - "referencedDeclaration": 1390, - "src": "17686:7:0", + "referencedDeclaration": 1387, + "src": "17612:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 1003, + "id": 1001, "isConstant": false, "isLValue": false, "isPure": false, @@ -13715,20 +13685,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17686:127:0", + "src": "17612:127:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1004, + "id": 1002, "nodeType": "ExpressionStatement", - "src": "17686:127:0" + "src": "17612:127:0" }, { "expression": { "argumentTypes": null, - "id": 1012, + "id": 1010, "isConstant": false, "isLValue": false, "isPure": false, @@ -13741,26 +13711,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1005, + "id": 1003, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 77, - "src": "17827:12:0", + "referencedDeclaration": 75, + "src": "17753:12:0", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$73_storage_$", + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 1007, + "id": 1005, "indexExpression": { "argumentTypes": null, - "id": 1006, + "id": 1004, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 908, - "src": "17840:10:0", + "referencedDeclaration": 906, + "src": "17766:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -13771,35 +13741,35 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17827:24:0", + "src": "17753:24:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_Transaction_$73_storage", + "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 1008, + "id": 1006, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "voted", "nodeType": "MemberAccess", - "referencedDeclaration": 68, - "src": "17827:30:0", + "referencedDeclaration": 66, + "src": "17753:30:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 1010, + "id": 1008, "indexExpression": { "argumentTypes": null, - "id": 1009, + "id": 1007, "name": "recovered", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 970, - "src": "17858:9:0", + "referencedDeclaration": 968, + "src": "17784:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -13810,7 +13780,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "17827:41:0", + "src": "17753:41:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -13821,14 +13791,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "74727565", - "id": 1011, + "id": 1009, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "17871:4:0", + "src": "17797:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -13836,32 +13806,32 @@ }, "value": "true" }, - "src": "17827:48:0", + "src": "17753:48:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 1013, + "id": 1011, "nodeType": "ExpressionStatement", - "src": "17827:48:0" + "src": "17753:48:0" }, { "expression": { "argumentTypes": null, - "id": 1016, + "id": 1014, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 1014, + "id": 1012, "name": "lastAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 917, - "src": "17889:11:0", + "referencedDeclaration": 915, + "src": "17815:11:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -13871,26 +13841,26 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 1015, + "id": 1013, "name": "recovered", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 970, - "src": "17903:9:0", + "referencedDeclaration": 968, + "src": "17829:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "17889:23:0", + "src": "17815:23:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 1017, + "id": 1015, "nodeType": "ExpressionStatement", - "src": "17889:23:0" + "src": "17815:23:0" } ] }, @@ -13900,19 +13870,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 965, + "id": 963, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 962, + "id": 960, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 959, - "src": "17358:1:0", + "referencedDeclaration": 957, + "src": "17284:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13924,18 +13894,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 963, + "id": 961, "name": "sigR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 903, - "src": "17362:4:0", + "referencedDeclaration": 901, + "src": "17288:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" } }, - "id": 964, + "id": 962, "isConstant": false, "isLValue": false, "isPure": false, @@ -13943,31 +13913,31 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "17362:11:0", + "src": "17288:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "17358:15:0", + "src": "17284:15:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 1019, + "id": 1017, "initializationExpression": { "assignments": [ - 959 + 957 ], "declarations": [ { "constant": false, - "id": 959, + "id": 957, "name": "i", "nodeType": "VariableDeclaration", - "scope": 1021, - "src": "17346:6:0", + "scope": 1019, + "src": "17272:6:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -13975,10 +13945,10 @@ "typeString": "uint256" }, "typeName": { - "id": 958, + "id": 956, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "17346:4:0", + "src": "17272:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13988,18 +13958,18 @@ "visibility": "internal" } ], - "id": 961, + "id": 959, "initialValue": { "argumentTypes": null, "hexValue": "30", - "id": 960, + "id": 958, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "17355:1:0", + "src": "17281:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -14008,12 +13978,12 @@ "value": "0" }, "nodeType": "VariableDeclarationStatement", - "src": "17346:10:0" + "src": "17272:10:0" }, "loopExpression": { "expression": { "argumentTypes": null, - "id": 967, + "id": 965, "isConstant": false, "isLValue": false, "isPure": false, @@ -14021,15 +13991,15 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "17375:3:0", + "src": "17301:3:0", "subExpression": { "argumentTypes": null, - "id": 966, + "id": 964, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 959, - "src": "17375:1:0", + "referencedDeclaration": 957, + "src": "17301:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14040,17 +14010,17 @@ "typeString": "uint256" } }, - "id": 968, + "id": 966, "nodeType": "ExpressionStatement", - "src": "17375:3:0" + "src": "17301:3:0" }, "nodeType": "ForStatement", - "src": "17341:582:0" + "src": "17267:582:0" } ] }, "documentation": null, - "id": 1021, + "id": 1019, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -14058,16 +14028,16 @@ "name": "verifySignatures", "nodeType": "FunctionDefinition", "parameters": { - "id": 915, + "id": 913, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 900, + "id": 898, "name": "sigV", "nodeType": "VariableDeclaration", - "scope": 1021, - "src": "16441:12:0", + "scope": 1019, + "src": "16367:12:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14076,19 +14046,19 @@ }, "typeName": { "baseType": { - "id": 898, + "id": 896, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "16441:5:0", + "src": "16367:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, - "id": 899, + "id": 897, "length": null, "nodeType": "ArrayTypeName", - "src": "16441:7:0", + "src": "16367:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_storage_ptr", "typeString": "uint8[]" @@ -14099,11 +14069,11 @@ }, { "constant": false, - "id": 903, + "id": 901, "name": "sigR", "nodeType": "VariableDeclaration", - "scope": 1021, - "src": "16463:14:0", + "scope": 1019, + "src": "16389:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14112,19 +14082,19 @@ }, "typeName": { "baseType": { - "id": 901, + "id": 899, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "16463:7:0", + "src": "16389:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "id": 902, + "id": 900, "length": null, "nodeType": "ArrayTypeName", - "src": "16463:9:0", + "src": "16389:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -14135,11 +14105,11 @@ }, { "constant": false, - "id": 906, + "id": 904, "name": "sigS", "nodeType": "VariableDeclaration", - "scope": 1021, - "src": "16487:14:0", + "scope": 1019, + "src": "16413:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14148,19 +14118,19 @@ }, "typeName": { "baseType": { - "id": 904, + "id": 902, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "16487:7:0", + "src": "16413:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "id": 905, + "id": 903, "length": null, "nodeType": "ArrayTypeName", - "src": "16487:9:0", + "src": "16413:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -14171,11 +14141,11 @@ }, { "constant": false, - "id": 908, + "id": 906, "name": "scriptHash", "nodeType": "VariableDeclaration", - "scope": 1021, - "src": "16511:18:0", + "scope": 1019, + "src": "16437:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14183,10 +14153,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 907, + "id": 905, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "16511:7:0", + "src": "16437:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -14197,11 +14167,11 @@ }, { "constant": false, - "id": 911, + "id": 909, "name": "destinations", "nodeType": "VariableDeclaration", - "scope": 1021, - "src": "16539:22:0", + "scope": 1019, + "src": "16465:22:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14210,19 +14180,19 @@ }, "typeName": { "baseType": { - "id": 909, + "id": 907, "name": "address", "nodeType": "ElementaryTypeName", - "src": "16539:7:0", + "src": "16465:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 910, + "id": 908, "length": null, "nodeType": "ArrayTypeName", - "src": "16539:9:0", + "src": "16465:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", "typeString": "address[]" @@ -14233,11 +14203,11 @@ }, { "constant": false, - "id": 914, + "id": 912, "name": "amounts", "nodeType": "VariableDeclaration", - "scope": 1021, - "src": "16571:16:0", + "scope": 1019, + "src": "16497:16:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14246,19 +14216,19 @@ }, "typeName": { "baseType": { - "id": 912, + "id": 910, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "16571:7:0", + "src": "16497:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 913, + "id": 911, "length": null, "nodeType": "ArrayTypeName", - "src": "16571:9:0", + "src": "16497:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -14268,20 +14238,20 @@ "visibility": "internal" } ], - "src": "16431:162:0" + "src": "16357:162:0" }, "payable": false, "returnParameters": { - "id": 918, + "id": 916, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 917, + "id": 915, "name": "lastAddress", "nodeType": "VariableDeclaration", - "scope": 1021, - "src": "16627:19:0", + "scope": 1019, + "src": "16553:19:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14289,10 +14259,10 @@ "typeString": "address" }, "typeName": { - "id": 916, + "id": 914, "name": "address", "nodeType": "ElementaryTypeName", - "src": "16627:7:0", + "src": "16553:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -14302,32 +14272,32 @@ "visibility": "internal" } ], - "src": "16626:21:0" + "src": "16552:21:0" }, - "scope": 1213, - "src": "16406:1523:0", + "scope": 1210, + "src": "16332:1523:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "private" }, { "body": { - "id": 1054, + "id": 1052, "nodeType": "Block", - "src": "18091:171:0", + "src": "18017:171:0", "statements": [ { "assignments": [ - 1031 + 1029 ], "declarations": [ { "constant": false, - "id": 1031, + "id": 1029, "name": "timeSince", "nodeType": "VariableDeclaration", - "scope": 1055, - "src": "18101:17:0", + "scope": 1053, + "src": "18027:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14335,10 +14305,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1030, + "id": 1028, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "18101:7:0", + "src": "18027:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14348,18 +14318,18 @@ "visibility": "internal" } ], - "id": 1036, + "id": 1034, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 1034, + "id": 1032, "name": "lastModified", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1025, - "src": "18129:12:0", + "referencedDeclaration": 1023, + "src": "18055:12:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14375,32 +14345,32 @@ ], "expression": { "argumentTypes": null, - "id": 1032, + "id": 1030, "name": "now", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1388, - "src": "18121:3:0", + "referencedDeclaration": 1385, + "src": "18047:3:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1033, + "id": 1031, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sub", "nodeType": "MemberAccess", - "referencedDeclaration": 1326, - "src": "18121:7:0", + "referencedDeclaration": 1323, + "src": "18047:7:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 1035, + "id": 1033, "isConstant": false, "isLValue": false, "isPure": false, @@ -14408,31 +14378,31 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18121:21:0", + "src": "18047:21:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "18101:41:0" + "src": "18027:41:0" }, { "expression": { "argumentTypes": null, - "id": 1052, + "id": 1050, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 1037, + "id": 1035, "name": "expired", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1028, - "src": "18152:7:0", + "referencedDeclaration": 1026, + "src": "18078:7:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -14451,19 +14421,19 @@ "typeIdentifier": "t_uint32", "typeString": "uint32" }, - "id": 1040, + "id": 1038, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1038, + "id": 1036, "name": "timeoutHours", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1023, - "src": "18176:12:0", + "referencedDeclaration": 1021, + "src": "18102:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -14474,14 +14444,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 1039, + "id": 1037, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "18192:1:0", + "src": "18118:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -14489,7 +14459,7 @@ }, "value": "0" }, - "src": "18176:17:0", + "src": "18102:17:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -14501,19 +14471,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1049, + "id": 1047, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1042, + "id": 1040, "name": "timeSince", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1031, - "src": "18202:9:0", + "referencedDeclaration": 1029, + "src": "18128:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14527,14 +14497,14 @@ { "argumentTypes": null, "hexValue": "33363030", - "id": 1047, + "id": 1045, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "18240:4:0", + "src": "18166:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_3600_by_1", @@ -14555,12 +14525,12 @@ "arguments": [ { "argumentTypes": null, - "id": 1044, + "id": 1042, "name": "timeoutHours", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1023, - "src": "18222:12:0", + "referencedDeclaration": 1021, + "src": "18148:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -14574,20 +14544,20 @@ "typeString": "uint32" } ], - "id": 1043, + "id": 1041, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "18214:7:0", + "src": "18140:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint256_$", "typeString": "type(uint256)" }, "typeName": "uint256" }, - "id": 1045, + "id": 1043, "isConstant": false, "isLValue": false, "isPure": false, @@ -14595,27 +14565,27 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18214:21:0", + "src": "18140:21:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1046, + "id": 1044, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "mul", "nodeType": "MemberAccess", - "referencedDeclaration": 1278, - "src": "18214:25:0", + "referencedDeclaration": 1275, + "src": "18140:25:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 1048, + "id": 1046, "isConstant": false, "isLValue": false, "isPure": false, @@ -14623,36 +14593,36 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18214:31:0", + "src": "18140:31:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "18202:43:0", + "src": "18128:43:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 1050, + "id": 1048, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "Conditional", - "src": "18176:69:0", + "src": "18102:69:0", "trueExpression": { "argumentTypes": null, "hexValue": "66616c7365", - "id": 1041, + "id": 1039, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "18196:5:0", + "src": "18122:5:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -14666,33 +14636,33 @@ } } ], - "id": 1051, + "id": 1049, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "18162:93:0", + "src": "18088:93:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "18152:103:0", + "src": "18078:103:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 1053, + "id": 1051, "nodeType": "ExpressionStatement", - "src": "18152:103:0" + "src": "18078:103:0" } ] }, "documentation": null, - "id": 1055, + "id": 1053, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -14700,16 +14670,16 @@ "name": "isTimeLockExpired", "nodeType": "FunctionDefinition", "parameters": { - "id": 1026, + "id": 1024, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1023, + "id": 1021, "name": "timeoutHours", "nodeType": "VariableDeclaration", - "scope": 1055, - "src": "17971:19:0", + "scope": 1053, + "src": "17897:19:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14717,10 +14687,10 @@ "typeString": "uint32" }, "typeName": { - "id": 1022, + "id": 1020, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "17971:6:0", + "src": "17897:6:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -14731,11 +14701,11 @@ }, { "constant": false, - "id": 1025, + "id": 1023, "name": "lastModified", "nodeType": "VariableDeclaration", - "scope": 1055, - "src": "18000:20:0", + "scope": 1053, + "src": "17926:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14743,10 +14713,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1024, + "id": 1022, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "18000:7:0", + "src": "17926:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14756,20 +14726,20 @@ "visibility": "internal" } ], - "src": "17961:65:0" + "src": "17887:65:0" }, "payable": false, "returnParameters": { - "id": 1029, + "id": 1027, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1028, + "id": 1026, "name": "expired", "nodeType": "VariableDeclaration", - "scope": 1055, - "src": "18073:12:0", + "scope": 1053, + "src": "17999:12:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14777,10 +14747,10 @@ "typeString": "bool" }, "typeName": { - "id": 1027, + "id": 1025, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "18073:4:0", + "src": "17999:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -14790,19 +14760,19 @@ "visibility": "internal" } ], - "src": "18072:14:0" + "src": "17998:14:0" }, - "scope": 1213, - "src": "17935:327:0", + "scope": 1210, + "src": "17861:327:0", "stateMutability": "view", "superFunction": null, "visibility": "private" }, { "body": { - "id": 1211, + "id": 1208, "nodeType": "Block", - "src": "18676:2344:0", + "src": "18602:2308:0", "statements": [ { "expression": { @@ -14814,19 +14784,19 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 1081, + "id": 1079, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1079, + "id": 1077, "name": "buyer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1057, - "src": "18702:5:0", + "referencedDeclaration": 1055, + "src": "18628:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -14836,18 +14806,18 @@ "operator": "!=", "rightExpression": { "argumentTypes": null, - "id": 1080, + "id": 1078, "name": "seller", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1059, - "src": "18711:6:0", + "referencedDeclaration": 1057, + "src": "18637:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "18702:15:0", + "src": "18628:15:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -14856,14 +14826,14 @@ { "argumentTypes": null, "hexValue": "427579657220616e642073656c6c6572206172652073616d65", - "id": 1082, + "id": 1080, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "18719:27:0", + "src": "18645:27:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_6141441751234d42e9a73d96317794195c7ff57b8f16ac15725a10f10763f824", @@ -14883,21 +14853,21 @@ "typeString": "literal_string \"Buyer and seller are same\"" } ], - "id": 1078, + "id": 1076, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1389, - 1390 + 1386, + 1387 ], - "referencedDeclaration": 1390, - "src": "18694:7:0", + "referencedDeclaration": 1387, + "src": "18620:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 1083, + "id": 1081, "isConstant": false, "isLValue": false, "isPure": false, @@ -14905,15 +14875,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18694:53:0", + "src": "18620:53:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1084, + "id": 1082, "nodeType": "ExpressionStatement", - "src": "18694:53:0" + "src": "18620:53:0" }, { "expression": { @@ -14925,19 +14895,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1088, + "id": 1086, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1086, + "id": 1084, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1069, - "src": "18814:5:0", + "referencedDeclaration": 1067, + "src": "18740:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14948,14 +14918,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 1087, + "id": 1085, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "18822:1:0", + "src": "18748:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -14963,7 +14933,7 @@ }, "value": "0" }, - "src": "18814:9:0", + "src": "18740:9:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -14972,14 +14942,14 @@ { "argumentTypes": null, "hexValue": "56616c7565207061737365642069732030", - "id": 1089, + "id": 1087, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "18825:19:0", + "src": "18751:19:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_3686f87c4804517ea83323ccf1a3b5b5ff52ed144b19e6fc56abe8fcd182e747", @@ -14999,21 +14969,21 @@ "typeString": "literal_string \"Value passed is 0\"" } ], - "id": 1085, + "id": 1083, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1389, - 1390 + 1386, + 1387 ], - "referencedDeclaration": 1390, - "src": "18806:7:0", + "referencedDeclaration": 1387, + "src": "18732:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 1090, + "id": 1088, "isConstant": false, "isLValue": false, "isPure": false, @@ -15021,15 +14991,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18806:39:0", + "src": "18732:39:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1091, + "id": 1089, "nodeType": "ExpressionStatement", - "src": "18806:39:0" + "src": "18732:39:0" }, { "expression": { @@ -15041,7 +15011,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 1099, + "id": 1097, "isConstant": false, "isLValue": false, "isPure": false, @@ -15052,19 +15022,19 @@ "typeIdentifier": "t_uint8", "typeString": "uint8" }, - "id": 1095, + "id": 1093, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1093, + "id": 1091, "name": "threshold", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1063, - "src": "18948:9:0", + "referencedDeclaration": 1061, + "src": "18874:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -15075,14 +15045,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 1094, + "id": 1092, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "18960:1:0", + "src": "18886:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -15090,7 +15060,7 @@ }, "value": "0" }, - "src": "18948:13:0", + "src": "18874:13:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -15104,19 +15074,19 @@ "typeIdentifier": "t_uint8", "typeString": "uint8" }, - "id": 1098, + "id": 1096, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1096, + "id": 1094, "name": "threshold", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1063, - "src": "18965:9:0", + "referencedDeclaration": 1061, + "src": "18891:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -15127,14 +15097,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "33", - "id": 1097, + "id": 1095, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "18978:1:0", + "src": "18904:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_3_by_1", @@ -15142,13 +15112,13 @@ }, "value": "3" }, - "src": "18965:14:0", + "src": "18891:14:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "18948:31:0", + "src": "18874:31:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -15157,14 +15127,14 @@ { "argumentTypes": null, "hexValue": "5468726573686f6c642063616e6e6f742062652067726561746572207468616e203320616e64206d7573742062652067726561746572207468616e2030", - "id": 1100, + "id": 1098, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "18994:63:0", + "src": "18920:63:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_351c1d5dfdc4a2b4c61d6f4dbb41a0d2ae70a9c094d3c0add87af24b5dd19c13", @@ -15184,21 +15154,21 @@ "typeString": "literal_string \"Threshold cannot be greater than 3 and must be greater than 0\"" } ], - "id": 1092, + "id": 1090, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1389, - 1390 + 1386, + 1387 ], - "referencedDeclaration": 1390, - "src": "18927:7:0", + "referencedDeclaration": 1387, + "src": "18853:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 1101, + "id": 1099, "isConstant": false, "isLValue": false, "isPure": false, @@ -15206,15 +15176,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18927:140:0", + "src": "18853:140:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1102, + "id": 1100, "nodeType": "ExpressionStatement", - "src": "18927:140:0" + "src": "18853:140:0" }, { "expression": { @@ -15226,7 +15196,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 1112, + "id": 1110, "isConstant": false, "isLValue": false, "isPure": false, @@ -15237,19 +15207,19 @@ "typeIdentifier": "t_uint8", "typeString": "uint8" }, - "id": 1106, + "id": 1104, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1104, + "id": 1102, "name": "threshold", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1063, - "src": "19336:9:0", + "referencedDeclaration": 1061, + "src": "19262:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -15260,14 +15230,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "31", - "id": 1105, + "id": 1103, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "19349:1:0", + "src": "19275:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -15275,7 +15245,7 @@ }, "value": "1" }, - "src": "19336:14:0", + "src": "19262:14:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -15289,19 +15259,19 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 1111, + "id": 1109, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1107, + "id": 1105, "name": "moderator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1061, - "src": "19354:9:0", + "referencedDeclaration": 1059, + "src": "19280:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15315,14 +15285,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 1109, + "id": 1107, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "19375:1:0", + "src": "19301:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -15338,20 +15308,20 @@ "typeString": "int_const 0" } ], - "id": 1108, + "id": 1106, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "19367:7:0", + "src": "19293:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, - "id": 1110, + "id": 1108, "isConstant": false, "isLValue": false, "isPure": true, @@ -15359,19 +15329,19 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "19367:10:0", + "src": "19293:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "19354:23:0", + "src": "19280:23:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "19336:41:0", + "src": "19262:41:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -15380,14 +15350,14 @@ { "argumentTypes": null, "hexValue": "456974686572207468726573686f6c642073686f756c642062652031206f74686572776973652076616c6964206d6f64657261746f7220616464726573732073686f756c6420626520706173736564", - "id": 1113, + "id": 1111, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "19391:81:0", + "src": "19317:81:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_08dfdd405be5d5023d3f601e2b0a844b246ceb6764817070ff6789d5e1f80050", @@ -15407,21 +15377,21 @@ "typeString": "literal_string \"Either threshold should be 1 otherwise valid moderator address should be passed\"" } ], - "id": 1103, + "id": 1101, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1389, - 1390 + 1386, + 1387 ], - "referencedDeclaration": 1390, - "src": "19315:7:0", + "referencedDeclaration": 1387, + "src": "19241:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 1114, + "id": 1112, "isConstant": false, "isLValue": false, "isPure": false, @@ -15429,15 +15399,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "19315:167:0", + "src": "19241:167:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1115, + "id": 1113, "nodeType": "ExpressionStatement", - "src": "19315:167:0" + "src": "19241:167:0" }, { "expression": { @@ -15449,19 +15419,19 @@ "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, - "id": 1127, + "id": 1125, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1117, + "id": 1115, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1067, - "src": "19514:10:0", + "referencedDeclaration": 1065, + "src": "19440:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -15474,12 +15444,12 @@ "arguments": [ { "argumentTypes": null, - "id": 1119, + "id": 1117, "name": "uniqueId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1071, - "src": "19571:8:0", + "referencedDeclaration": 1069, + "src": "19497:8:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -15487,12 +15457,12 @@ }, { "argumentTypes": null, - "id": 1120, + "id": 1118, "name": "threshold", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1063, - "src": "19597:9:0", + "referencedDeclaration": 1061, + "src": "19523:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -15500,12 +15470,12 @@ }, { "argumentTypes": null, - "id": 1121, + "id": 1119, "name": "timeoutHours", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1065, - "src": "19624:12:0", + "referencedDeclaration": 1063, + "src": "19550:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -15513,12 +15483,12 @@ }, { "argumentTypes": null, - "id": 1122, + "id": 1120, "name": "buyer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1057, - "src": "19654:5:0", + "referencedDeclaration": 1055, + "src": "19580:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15526,12 +15496,12 @@ }, { "argumentTypes": null, - "id": 1123, + "id": 1121, "name": "seller", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1059, - "src": "19677:6:0", + "referencedDeclaration": 1057, + "src": "19603:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15539,12 +15509,12 @@ }, { "argumentTypes": null, - "id": 1124, + "id": 1122, "name": "moderator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1061, - "src": "19701:9:0", + "referencedDeclaration": 1059, + "src": "19627:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15552,12 +15522,12 @@ }, { "argumentTypes": null, - "id": 1125, + "id": 1123, "name": "tokenAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1075, - "src": "19728:12:0", + "referencedDeclaration": 1073, + "src": "19654:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15595,18 +15565,18 @@ "typeString": "address" } ], - "id": 1118, + "id": 1116, "name": "calculateRedeemScriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 647, - "src": "19528:25:0", + "referencedDeclaration": 645, + "src": "19454:25:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_bytes20_$_t_uint8_$_t_uint32_$_t_address_$_t_address_$_t_address_$_t_address_$returns$_t_bytes32_$", "typeString": "function (bytes20,uint8,uint32,address,address,address,address) view returns (bytes32)" } }, - "id": 1126, + "id": 1124, "isConstant": false, "isLValue": false, "isPure": false, @@ -15614,13 +15584,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "19528:226:0", + "src": "19454:226:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "src": "19514:240:0", + "src": "19440:240:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -15629,14 +15599,14 @@ { "argumentTypes": null, "hexValue": "43616c63756c6174656420736372697074206861736820646f6573206e6f74206d61746368207061737365642073637269707420686173682e", - "id": 1128, + "id": 1126, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "19769:59:0", + "src": "19695:59:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_0c041e0c58e6b0e01d338d852a5abb639065eabeb0aee05e0ce3e5f0e52b4f51", @@ -15656,21 +15626,21 @@ "typeString": "literal_string \"Calculated script hash does not match passed script hash.\"" } ], - "id": 1116, + "id": 1114, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1389, - 1390 + 1386, + 1387 ], - "referencedDeclaration": 1390, - "src": "19493:7:0", + "referencedDeclaration": 1387, + "src": "19419:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 1129, + "id": 1127, "isConstant": false, "isLValue": false, "isPure": false, @@ -15678,20 +15648,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "19493:345:0", + "src": "19419:345:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1130, + "id": 1128, "nodeType": "ExpressionStatement", - "src": "19493:345:0" + "src": "19419:345:0" }, { "expression": { "argumentTypes": null, - "id": 1149, + "id": 1146, "isConstant": false, "isLValue": false, "isPure": false, @@ -15700,26 +15670,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1131, + "id": 1129, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 77, - "src": "19849:12:0", + "referencedDeclaration": 75, + "src": "19775:12:0", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$73_storage_$", + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 1133, + "id": 1131, "indexExpression": { "argumentTypes": null, - "id": 1132, + "id": 1130, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1067, - "src": "19862:10:0", + "referencedDeclaration": 1065, + "src": "19788:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -15730,9 +15700,9 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "19849:24:0", + "src": "19775:24:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_Transaction_$73_storage", + "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, @@ -15743,12 +15713,12 @@ "arguments": [ { "argumentTypes": null, - "id": 1135, + "id": 1133, "name": "buyer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1057, - "src": "19909:5:0", + "referencedDeclaration": 1055, + "src": "19835:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15756,12 +15726,12 @@ }, { "argumentTypes": null, - "id": 1136, + "id": 1134, "name": "seller", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1059, - "src": "19936:6:0", + "referencedDeclaration": 1057, + "src": "19862:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15769,12 +15739,12 @@ }, { "argumentTypes": null, - "id": 1137, + "id": 1135, "name": "moderator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1061, - "src": "19967:9:0", + "referencedDeclaration": 1059, + "src": "19893:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15782,12 +15752,12 @@ }, { "argumentTypes": null, - "id": 1138, + "id": 1136, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1069, - "src": "19997:5:0", + "referencedDeclaration": 1067, + "src": "19923:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -15797,18 +15767,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1139, + "id": 1137, "name": "Status", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9, - "src": "20024:6:0", + "src": "19950:6:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_Status_$9_$", "typeString": "type(enum Escrow_v1_0.Status)" } }, - "id": 1140, + "id": 1138, "isConstant": false, "isLValue": false, "isPure": true, @@ -15816,7 +15786,7 @@ "memberName": "FUNDED", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "20024:13:0", + "src": "19950:13:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$9", "typeString": "enum Escrow_v1_0.Status" @@ -15826,18 +15796,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1141, + "id": 1139, "name": "block", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1376, - "src": "20065:5:0", + "referencedDeclaration": 1373, + "src": "19991:5:0", "typeDescriptions": { "typeIdentifier": "t_magic_block", "typeString": "block" } }, - "id": 1142, + "id": 1140, "isConstant": false, "isLValue": false, "isPure": false, @@ -15845,7 +15815,7 @@ "memberName": "timestamp", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "20065:15:0", + "src": "19991:15:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -15853,25 +15823,12 @@ }, { "argumentTypes": null, - "id": 1143, - "name": "scriptHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1067, - "src": "20106:10:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 1144, + "id": 1141, "name": "threshold", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1063, - "src": "20141:9:0", + "referencedDeclaration": 1061, + "src": "20031:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -15879,12 +15836,12 @@ }, { "argumentTypes": null, - "id": 1145, + "id": 1142, "name": "timeoutHours", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1065, - "src": "20178:12:0", + "referencedDeclaration": 1063, + "src": "20068:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -15892,12 +15849,12 @@ }, { "argumentTypes": null, - "id": 1146, + "id": 1143, "name": "transactionType", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1073, - "src": "20220:15:0", + "referencedDeclaration": 1071, + "src": "20110:15:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -15905,12 +15862,12 @@ }, { "argumentTypes": null, - "id": 1147, + "id": 1144, "name": "tokenAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1075, - "src": "20262:12:0", + "referencedDeclaration": 1073, + "src": "20152:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15919,18 +15876,18 @@ ], "expression": { "argumentTypes": null, - "id": 1134, + "id": 1132, "name": "Transaction", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 73, - "src": "19876:11:0", + "referencedDeclaration": 71, + "src": "19802:11:0", "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_Transaction_$73_storage_ptr_$", + "typeIdentifier": "t_type$_t_struct$_Transaction_$71_storage_ptr_$", "typeString": "type(struct Escrow_v1_0.Transaction storage pointer)" } }, - "id": 1148, + "id": 1145, "isConstant": false, "isLValue": false, "isPure": false, @@ -15943,33 +15900,32 @@ "value", "status", "lastModified", - "scriptHash", "threshold", "timeoutHours", "transactionType", "tokenAddress" ], "nodeType": "FunctionCall", - "src": "19876:409:0", + "src": "19802:373:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_Transaction_$73_memory", + "typeIdentifier": "t_struct$_Transaction_$71_memory", "typeString": "struct Escrow_v1_0.Transaction memory" } }, - "src": "19849:436:0", + "src": "19775:400:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_Transaction_$73_storage", + "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 1150, + "id": 1147, "nodeType": "ExpressionStatement", - "src": "19849:436:0" + "src": "19775:400:0" }, { "expression": { "argumentTypes": null, - "id": 1158, + "id": 1155, "isConstant": false, "isLValue": false, "isPure": false, @@ -15982,26 +15938,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1151, + "id": 1148, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 77, - "src": "20296:12:0", + "referencedDeclaration": 75, + "src": "20186:12:0", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$73_storage_$", + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 1153, + "id": 1150, "indexExpression": { "argumentTypes": null, - "id": 1152, + "id": 1149, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1067, - "src": "20309:10:0", + "referencedDeclaration": 1065, + "src": "20199:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -16012,35 +15968,35 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20296:24:0", + "src": "20186:24:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_Transaction_$73_storage", + "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 1154, + "id": 1151, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "isOwner", "nodeType": "MemberAccess", - "referencedDeclaration": 64, - "src": "20296:32:0", + "referencedDeclaration": 62, + "src": "20186:32:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 1156, + "id": 1153, "indexExpression": { "argumentTypes": null, - "id": 1155, + "id": 1152, "name": "seller", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1059, - "src": "20329:6:0", + "referencedDeclaration": 1057, + "src": "20219:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -16051,7 +16007,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "20296:40:0", + "src": "20186:40:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -16062,14 +16018,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "74727565", - "id": 1157, + "id": 1154, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "20339:4:0", + "src": "20229:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -16077,20 +16033,20 @@ }, "value": "true" }, - "src": "20296:47:0", + "src": "20186:47:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 1159, + "id": 1156, "nodeType": "ExpressionStatement", - "src": "20296:47:0" + "src": "20186:47:0" }, { "expression": { "argumentTypes": null, - "id": 1167, + "id": 1164, "isConstant": false, "isLValue": false, "isPure": false, @@ -16103,26 +16059,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1160, + "id": 1157, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 77, - "src": "20353:12:0", + "referencedDeclaration": 75, + "src": "20243:12:0", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$73_storage_$", + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 1162, + "id": 1159, "indexExpression": { "argumentTypes": null, - "id": 1161, + "id": 1158, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1067, - "src": "20366:10:0", + "referencedDeclaration": 1065, + "src": "20256:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -16133,35 +16089,35 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20353:24:0", + "src": "20243:24:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_Transaction_$73_storage", + "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 1163, + "id": 1160, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "isOwner", "nodeType": "MemberAccess", - "referencedDeclaration": 64, - "src": "20353:32:0", + "referencedDeclaration": 62, + "src": "20243:32:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 1165, + "id": 1162, "indexExpression": { "argumentTypes": null, - "id": 1164, + "id": 1161, "name": "buyer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1057, - "src": "20386:5:0", + "referencedDeclaration": 1055, + "src": "20276:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -16172,7 +16128,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "20353:39:0", + "src": "20243:39:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -16183,14 +16139,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "74727565", - "id": 1166, + "id": 1163, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "20395:4:0", + "src": "20285:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -16198,15 +16154,15 @@ }, "value": "true" }, - "src": "20353:46:0", + "src": "20243:46:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 1168, + "id": 1165, "nodeType": "ExpressionStatement", - "src": "20353:46:0" + "src": "20243:46:0" }, { "expression": { @@ -16214,7 +16170,7 @@ "arguments": [ { "argumentTypes": null, - "id": 1176, + "id": 1173, "isConstant": false, "isLValue": false, "isPure": false, @@ -16222,7 +16178,7 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "20506:44:0", + "src": "20396:44:0", "subExpression": { "argumentTypes": null, "baseExpression": { @@ -16231,26 +16187,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1170, + "id": 1167, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 77, - "src": "20507:12:0", + "referencedDeclaration": 75, + "src": "20397:12:0", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$73_storage_$", + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 1172, + "id": 1169, "indexExpression": { "argumentTypes": null, - "id": 1171, + "id": 1168, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1067, - "src": "20520:10:0", + "referencedDeclaration": 1065, + "src": "20410:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -16261,35 +16217,35 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20507:24:0", + "src": "20397:24:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_Transaction_$73_storage", + "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 1173, + "id": 1170, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "isOwner", "nodeType": "MemberAccess", - "referencedDeclaration": 64, - "src": "20507:32:0", + "referencedDeclaration": 62, + "src": "20397:32:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 1175, + "id": 1172, "indexExpression": { "argumentTypes": null, - "id": 1174, + "id": 1171, "name": "moderator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1061, - "src": "20540:9:0", + "referencedDeclaration": 1059, + "src": "20430:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -16300,7 +16256,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20507:43:0", + "src": "20397:43:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -16314,14 +16270,14 @@ { "argumentTypes": null, "hexValue": "456974686572206275796572206f722073656c6c657220697320706173736564206173206d6f64657261746f72", - "id": 1177, + "id": 1174, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "20565:47:0", + "src": "20455:47:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_313b391557427937e7bdb85c7561d47c5b9c985755a448dd33a92026ffb38f8d", @@ -16341,21 +16297,21 @@ "typeString": "literal_string \"Either buyer or seller is passed as moderator\"" } ], - "id": 1169, + "id": 1166, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1389, - 1390 + 1386, + 1387 ], - "referencedDeclaration": 1390, - "src": "20485:7:0", + "referencedDeclaration": 1387, + "src": "20375:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 1178, + "id": 1175, "isConstant": false, "isLValue": false, "isPure": false, @@ -16363,15 +16319,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "20485:137:0", + "src": "20375:137:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1179, + "id": 1176, "nodeType": "ExpressionStatement", - "src": "20485:137:0" + "src": "20375:137:0" }, { "condition": { @@ -16380,19 +16336,19 @@ "typeIdentifier": "t_uint8", "typeString": "uint8" }, - "id": 1182, + "id": 1179, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1180, + "id": 1177, "name": "threshold", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1063, - "src": "20782:9:0", + "referencedDeclaration": 1061, + "src": "20672:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -16403,14 +16359,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "31", - "id": 1181, + "id": 1178, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "20794:1:0", + "src": "20684:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -16418,25 +16374,25 @@ }, "value": "1" }, - "src": "20782:13:0", + "src": "20672:13:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, - "id": 1193, + "id": 1190, "nodeType": "IfStatement", - "src": "20778:93:0", + "src": "20668:93:0", "trueBody": { - "id": 1192, + "id": 1189, "nodeType": "Block", - "src": "20796:75:0", + "src": "20686:75:0", "statements": [ { "expression": { "argumentTypes": null, - "id": 1190, + "id": 1187, "isConstant": false, "isLValue": false, "isPure": false, @@ -16449,26 +16405,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1183, + "id": 1180, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 77, - "src": "20810:12:0", + "referencedDeclaration": 75, + "src": "20700:12:0", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$73_storage_$", + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 1185, + "id": 1182, "indexExpression": { "argumentTypes": null, - "id": 1184, + "id": 1181, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1067, - "src": "20823:10:0", + "referencedDeclaration": 1065, + "src": "20713:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -16479,35 +16435,35 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20810:24:0", + "src": "20700:24:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_Transaction_$73_storage", + "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 1186, + "id": 1183, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "isOwner", "nodeType": "MemberAccess", - "referencedDeclaration": 64, - "src": "20810:32:0", + "referencedDeclaration": 62, + "src": "20700:32:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 1188, + "id": 1185, "indexExpression": { "argumentTypes": null, - "id": 1187, + "id": 1184, "name": "moderator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1061, - "src": "20843:9:0", + "referencedDeclaration": 1059, + "src": "20733:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -16518,7 +16474,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "20810:43:0", + "src": "20700:43:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -16529,14 +16485,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "74727565", - "id": 1189, + "id": 1186, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "20856:4:0", + "src": "20746:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -16544,15 +16500,15 @@ }, "value": "true" }, - "src": "20810:50:0", + "src": "20700:50:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 1191, + "id": 1188, "nodeType": "ExpressionStatement", - "src": "20810:50:0" + "src": "20700:50:0" } ] } @@ -16560,7 +16516,7 @@ { "expression": { "argumentTypes": null, - "id": 1195, + "id": 1192, "isConstant": false, "isLValue": false, "isPure": false, @@ -16568,15 +16524,15 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "20889:18:0", + "src": "20779:18:0", "subExpression": { "argumentTypes": null, - "id": 1194, + "id": 1191, "name": "transactionCount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 80, - "src": "20889:16:0", + "referencedDeclaration": 78, + "src": "20779:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -16587,9 +16543,9 @@ "typeString": "uint256" } }, - "id": 1196, + "id": 1193, "nodeType": "ExpressionStatement", - "src": "20889:18:0" + "src": "20779:18:0" }, { "expression": { @@ -16597,12 +16553,12 @@ "arguments": [ { "argumentTypes": null, - "id": 1201, + "id": 1198, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1067, - "src": "20949:10:0", + "referencedDeclaration": 1065, + "src": "20839:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -16620,26 +16576,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1197, + "id": 1194, "name": "partyVsTransaction", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 85, - "src": "20918:18:0", + "referencedDeclaration": 83, + "src": "20808:18:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_bytes32_$dyn_storage_$", "typeString": "mapping(address => bytes32[] storage ref)" } }, - "id": 1199, + "id": 1196, "indexExpression": { "argumentTypes": null, - "id": 1198, + "id": 1195, "name": "buyer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1057, - "src": "20937:5:0", + "referencedDeclaration": 1055, + "src": "20827:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -16650,13 +16606,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20918:25:0", + "src": "20808:25:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage", "typeString": "bytes32[] storage ref" } }, - "id": 1200, + "id": 1197, "isConstant": false, "isLValue": false, "isPure": false, @@ -16664,13 +16620,13 @@ "memberName": "push", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "20918:30:0", + "src": "20808:30:0", "typeDescriptions": { "typeIdentifier": "t_function_arraypush_nonpayable$_t_bytes32_$returns$_t_uint256_$", "typeString": "function (bytes32) returns (uint256)" } }, - "id": 1202, + "id": 1199, "isConstant": false, "isLValue": false, "isPure": false, @@ -16678,15 +16634,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "20918:42:0", + "src": "20808:42:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1203, + "id": 1200, "nodeType": "ExpressionStatement", - "src": "20918:42:0" + "src": "20808:42:0" }, { "expression": { @@ -16694,12 +16650,12 @@ "arguments": [ { "argumentTypes": null, - "id": 1208, + "id": 1205, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1067, - "src": "21002:10:0", + "referencedDeclaration": 1065, + "src": "20892:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -16717,26 +16673,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1204, + "id": 1201, "name": "partyVsTransaction", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 85, - "src": "20970:18:0", + "referencedDeclaration": 83, + "src": "20860:18:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_bytes32_$dyn_storage_$", "typeString": "mapping(address => bytes32[] storage ref)" } }, - "id": 1206, + "id": 1203, "indexExpression": { "argumentTypes": null, - "id": 1205, + "id": 1202, "name": "seller", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1059, - "src": "20989:6:0", + "referencedDeclaration": 1057, + "src": "20879:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -16747,13 +16703,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20970:26:0", + "src": "20860:26:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage", "typeString": "bytes32[] storage ref" } }, - "id": 1207, + "id": 1204, "isConstant": false, "isLValue": false, "isPure": false, @@ -16761,13 +16717,13 @@ "memberName": "push", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "20970:31:0", + "src": "20860:31:0", "typeDescriptions": { "typeIdentifier": "t_function_arraypush_nonpayable$_t_bytes32_$returns$_t_uint256_$", "typeString": "function (bytes32) returns (uint256)" } }, - "id": 1209, + "id": 1206, "isConstant": false, "isLValue": false, "isPure": false, @@ -16775,20 +16731,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "20970:43:0", + "src": "20860:43:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1210, + "id": 1207, "nodeType": "ExpressionStatement", - "src": "20970:43:0" + "src": "20860:43:0" } ] }, "documentation": "Private method to add transaction to reduce code redundancy", - "id": 1212, + "id": 1209, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -16796,16 +16752,16 @@ "name": "_addTransaction", "nodeType": "FunctionDefinition", "parameters": { - "id": 1076, + "id": 1074, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1057, + "id": 1055, "name": "buyer", "nodeType": "VariableDeclaration", - "scope": 1212, - "src": "18383:13:0", + "scope": 1209, + "src": "18309:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -16813,10 +16769,10 @@ "typeString": "address" }, "typeName": { - "id": 1056, + "id": 1054, "name": "address", "nodeType": "ElementaryTypeName", - "src": "18383:7:0", + "src": "18309:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -16827,11 +16783,11 @@ }, { "constant": false, - "id": 1059, + "id": 1057, "name": "seller", "nodeType": "VariableDeclaration", - "scope": 1212, - "src": "18406:14:0", + "scope": 1209, + "src": "18332:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -16839,10 +16795,10 @@ "typeString": "address" }, "typeName": { - "id": 1058, + "id": 1056, "name": "address", "nodeType": "ElementaryTypeName", - "src": "18406:7:0", + "src": "18332:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -16853,11 +16809,11 @@ }, { "constant": false, - "id": 1061, + "id": 1059, "name": "moderator", "nodeType": "VariableDeclaration", - "scope": 1212, - "src": "18430:17:0", + "scope": 1209, + "src": "18356:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -16865,10 +16821,10 @@ "typeString": "address" }, "typeName": { - "id": 1060, + "id": 1058, "name": "address", "nodeType": "ElementaryTypeName", - "src": "18430:7:0", + "src": "18356:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -16879,11 +16835,11 @@ }, { "constant": false, - "id": 1063, + "id": 1061, "name": "threshold", "nodeType": "VariableDeclaration", - "scope": 1212, - "src": "18457:15:0", + "scope": 1209, + "src": "18383:15:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -16891,10 +16847,10 @@ "typeString": "uint8" }, "typeName": { - "id": 1062, + "id": 1060, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "18457:5:0", + "src": "18383:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -16905,11 +16861,11 @@ }, { "constant": false, - "id": 1065, + "id": 1063, "name": "timeoutHours", "nodeType": "VariableDeclaration", - "scope": 1212, - "src": "18482:19:0", + "scope": 1209, + "src": "18408:19:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -16917,10 +16873,10 @@ "typeString": "uint32" }, "typeName": { - "id": 1064, + "id": 1062, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "18482:6:0", + "src": "18408:6:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -16931,11 +16887,11 @@ }, { "constant": false, - "id": 1067, + "id": 1065, "name": "scriptHash", "nodeType": "VariableDeclaration", - "scope": 1212, - "src": "18511:18:0", + "scope": 1209, + "src": "18437:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -16943,10 +16899,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 1066, + "id": 1064, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "18511:7:0", + "src": "18437:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -16957,11 +16913,11 @@ }, { "constant": false, - "id": 1069, + "id": 1067, "name": "value", "nodeType": "VariableDeclaration", - "scope": 1212, - "src": "18539:13:0", + "scope": 1209, + "src": "18465:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -16969,10 +16925,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1068, + "id": 1066, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "18539:7:0", + "src": "18465:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -16983,11 +16939,11 @@ }, { "constant": false, - "id": 1071, + "id": 1069, "name": "uniqueId", "nodeType": "VariableDeclaration", - "scope": 1212, - "src": "18562:16:0", + "scope": 1209, + "src": "18488:16:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -16995,10 +16951,10 @@ "typeString": "bytes20" }, "typeName": { - "id": 1070, + "id": 1068, "name": "bytes20", "nodeType": "ElementaryTypeName", - "src": "18562:7:0", + "src": "18488:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -17009,11 +16965,11 @@ }, { "constant": false, - "id": 1073, + "id": 1071, "name": "transactionType", "nodeType": "VariableDeclaration", - "scope": 1212, - "src": "18588:31:0", + "scope": 1209, + "src": "18514:31:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -17022,11 +16978,11 @@ }, "typeName": { "contractScope": null, - "id": 1072, + "id": 1070, "name": "TransactionType", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 12, - "src": "18588:15:0", + "src": "18514:15:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -17037,11 +16993,11 @@ }, { "constant": false, - "id": 1075, + "id": 1073, "name": "tokenAddress", "nodeType": "VariableDeclaration", - "scope": 1212, - "src": "18629:20:0", + "scope": 1209, + "src": "18555:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -17049,10 +17005,10 @@ "typeString": "address" }, "typeName": { - "id": 1074, + "id": 1072, "name": "address", "nodeType": "ElementaryTypeName", - "src": "18629:7:0", + "src": "18555:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -17062,36 +17018,36 @@ "visibility": "internal" } ], - "src": "18373:282:0" + "src": "18299:282:0" }, "payable": false, "returnParameters": { - "id": 1077, + "id": 1075, "nodeType": "ParameterList", "parameters": [], - "src": "18676:0:0" + "src": "18602:0:0" }, - "scope": 1213, - "src": "18349:2671:0", + "scope": 1210, + "src": "18275:2635:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "private" } ], - "scope": 1214, - "src": "460:20562:0" + "scope": 1211, + "src": "460:20452:0" } ], - "src": "0:21023:0" + "src": "0:20913:0" }, "legacyAST": { "absolutePath": "/home/sameep/freelancing-projects/toptal/open baazar/publicRepo/smart-contracts/contracts/escrow/Escrow_v1_0.sol", "exportedSymbols": { "Escrow_v1_0": [ - 1213 + 1210 ] }, - "id": 1214, + "id": 1211, "nodeType": "SourceUnit", "nodes": [ { @@ -17109,8 +17065,8 @@ "file": "openzeppelin-solidity/contracts/math/SafeMath.sol", "id": 2, "nodeType": "ImportDirective", - "scope": 1214, - "sourceUnit": 1372, + "scope": 1211, + "sourceUnit": 1369, "src": "25:59:0", "symbolAliases": [], "unitAlias": "" @@ -17120,8 +17076,8 @@ "file": "../token/ITokenContract.sol", "id": 3, "nodeType": "ImportDirective", - "scope": 1214, - "sourceUnit": 1244, + "scope": 1211, + "sourceUnit": 1241, "src": "86:37:0", "symbolAliases": [], "unitAlias": "" @@ -17132,9 +17088,9 @@ "contractKind": "contract", "documentation": "@dev Supports ERC20 tokens\nThe escrow smart contract for the open bazaar trades in Ethereum\nThe smart contract is desgined keeping in mind the current wallet interface of the OB-core\nhttps://github.com/OpenBazaar/wallet-interface/blob/master/wallet.go\nCurrent wallet interface strictly adheres to UTXO(bitcoin) model", "fullyImplemented": true, - "id": 1213, + "id": 1210, "linearizedBaseContracts": [ - 1213 + 1210 ], "name": "Escrow_v1_0", "nodeType": "ContractDefinition", @@ -17146,10 +17102,10 @@ "id": 4, "name": "SafeMath", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1371, + "referencedDeclaration": 1368, "src": "494:8:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$1371", + "typeIdentifier": "t_contract$_SafeMath_$1368", "typeString": "library SafeMath" } }, @@ -17518,41 +17474,15 @@ }, { "canonicalName": "Escrow_v1_0.Transaction", - "id": 73, + "id": 71, "members": [ { "constant": false, "id": 40, - "name": "scriptHash", - "nodeType": "VariableDeclaration", - "scope": 73, - "src": "931:18:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 39, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "931:7:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 42, "name": "value", "nodeType": "VariableDeclaration", - "scope": 73, - "src": "1005:13:0", + "scope": 71, + "src": "931:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -17560,10 +17490,10 @@ "typeString": "uint256" }, "typeName": { - "id": 41, + "id": 39, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1005:7:0", + "src": "931:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -17574,11 +17504,11 @@ }, { "constant": false, - "id": 44, + "id": 42, "name": "lastModified", "nodeType": "VariableDeclaration", - "scope": 73, - "src": "1028:20:0", + "scope": 71, + "src": "954:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -17586,10 +17516,10 @@ "typeString": "uint256" }, "typeName": { - "id": 43, + "id": 41, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1028:7:0", + "src": "954:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -17600,11 +17530,11 @@ }, { "constant": false, - "id": 46, + "id": 44, "name": "status", "nodeType": "VariableDeclaration", - "scope": 73, - "src": "1103:13:0", + "scope": 71, + "src": "1029:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -17613,11 +17543,11 @@ }, "typeName": { "contractScope": null, - "id": 45, + "id": 43, "name": "Status", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 9, - "src": "1103:6:0", + "src": "1029:6:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$9", "typeString": "enum Escrow_v1_0.Status" @@ -17628,11 +17558,11 @@ }, { "constant": false, - "id": 48, + "id": 46, "name": "transactionType", "nodeType": "VariableDeclaration", - "scope": 73, - "src": "1126:31:0", + "scope": 71, + "src": "1052:31:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -17641,11 +17571,11 @@ }, "typeName": { "contractScope": null, - "id": 47, + "id": 45, "name": "TransactionType", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 12, - "src": "1126:15:0", + "src": "1052:15:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -17656,11 +17586,11 @@ }, { "constant": false, - "id": 50, + "id": 48, "name": "threshold", "nodeType": "VariableDeclaration", - "scope": 73, - "src": "1167:15:0", + "scope": 71, + "src": "1093:15:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -17668,10 +17598,10 @@ "typeString": "uint8" }, "typeName": { - "id": 49, + "id": 47, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "1167:5:0", + "src": "1093:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -17682,11 +17612,11 @@ }, { "constant": false, - "id": 52, + "id": 50, "name": "timeoutHours", "nodeType": "VariableDeclaration", - "scope": 73, - "src": "1192:19:0", + "scope": 71, + "src": "1118:19:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -17694,10 +17624,10 @@ "typeString": "uint32" }, "typeName": { - "id": 51, + "id": 49, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "1192:6:0", + "src": "1118:6:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -17708,11 +17638,11 @@ }, { "constant": false, - "id": 54, + "id": 52, "name": "buyer", "nodeType": "VariableDeclaration", - "scope": 73, - "src": "1221:13:0", + "scope": 71, + "src": "1147:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -17720,10 +17650,10 @@ "typeString": "address" }, "typeName": { - "id": 53, + "id": 51, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1221:7:0", + "src": "1147:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -17734,11 +17664,11 @@ }, { "constant": false, - "id": 56, + "id": 54, "name": "seller", "nodeType": "VariableDeclaration", - "scope": 73, - "src": "1244:14:0", + "scope": 71, + "src": "1170:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -17746,10 +17676,10 @@ "typeString": "address" }, "typeName": { - "id": 55, + "id": 53, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1244:7:0", + "src": "1170:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -17760,11 +17690,11 @@ }, { "constant": false, - "id": 58, + "id": 56, "name": "tokenAddress", "nodeType": "VariableDeclaration", - "scope": 73, - "src": "1268:20:0", + "scope": 71, + "src": "1194:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -17772,10 +17702,10 @@ "typeString": "address" }, "typeName": { - "id": 57, + "id": 55, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1268:7:0", + "src": "1194:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -17786,11 +17716,11 @@ }, { "constant": false, - "id": 60, + "id": 58, "name": "moderator", "nodeType": "VariableDeclaration", - "scope": 73, - "src": "1340:17:0", + "scope": 71, + "src": "1266:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -17798,10 +17728,10 @@ "typeString": "address" }, "typeName": { - "id": 59, + "id": 57, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1340:7:0", + "src": "1266:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -17812,11 +17742,11 @@ }, { "constant": false, - "id": 64, + "id": 62, "name": "isOwner", "nodeType": "VariableDeclaration", - "scope": 73, - "src": "1367:30:0", + "scope": 71, + "src": "1293:30:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -17824,28 +17754,28 @@ "typeString": "mapping(address => bool)" }, "typeName": { - "id": 63, + "id": 61, "keyType": { - "id": 61, + "id": 59, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1375:7:0", + "src": "1301:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "Mapping", - "src": "1367:22:0", + "src": "1293:22:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" }, "valueType": { - "id": 62, + "id": 60, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "1384:4:0", + "src": "1310:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -17857,11 +17787,11 @@ }, { "constant": false, - "id": 68, + "id": 66, "name": "voted", "nodeType": "VariableDeclaration", - "scope": 73, - "src": "1441:28:0", + "scope": 71, + "src": "1367:28:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -17869,28 +17799,28 @@ "typeString": "mapping(address => bool)" }, "typeName": { - "id": 67, + "id": 65, "keyType": { - "id": 65, + "id": 63, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1449:7:0", + "src": "1375:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "Mapping", - "src": "1441:22:0", + "src": "1367:22:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" }, "valueType": { - "id": 66, + "id": 64, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "1458:4:0", + "src": "1384:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -17902,11 +17832,11 @@ }, { "constant": false, - "id": 72, + "id": 70, "name": "beneficiaries", "nodeType": "VariableDeclaration", - "scope": 73, - "src": "1511:36:0", + "scope": 71, + "src": "1437:36:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -17914,28 +17844,28 @@ "typeString": "mapping(address => bool)" }, "typeName": { - "id": 71, + "id": 69, "keyType": { - "id": 69, + "id": 67, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1519:7:0", + "src": "1445:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "Mapping", - "src": "1511:22:0", + "src": "1437:22:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" }, "valueType": { - "id": 70, + "id": 68, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "1528:4:0", + "src": "1454:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -17948,50 +17878,50 @@ ], "name": "Transaction", "nodeType": "StructDefinition", - "scope": 1213, - "src": "902:680:0", + "scope": 1210, + "src": "902:606:0", "visibility": "public" }, { "constant": false, - "id": 77, + "id": 75, "name": "transactions", "nodeType": "VariableDeclaration", - "scope": 1213, - "src": "1588:51:0", + "scope": 1210, + "src": "1514:51:0", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$73_storage_$", + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction)" }, "typeName": { - "id": 76, + "id": 74, "keyType": { - "id": 74, + "id": 72, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "1596:7:0", + "src": "1522:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "nodeType": "Mapping", - "src": "1588:31:0", + "src": "1514:31:0", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$73_storage_$", + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction)" }, "valueType": { "contractScope": null, - "id": 75, + "id": 73, "name": "Transaction", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 73, - "src": "1607:11:0", + "referencedDeclaration": 71, + "src": "1533:11:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_Transaction_$73_storage_ptr", + "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction" } } @@ -18001,11 +17931,11 @@ }, { "constant": false, - "id": 80, + "id": 78, "name": "transactionCount", "nodeType": "VariableDeclaration", - "scope": 1213, - "src": "1646:35:0", + "scope": 1210, + "src": "1572:35:0", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -18013,10 +17943,10 @@ "typeString": "uint256" }, "typeName": { - "id": 78, + "id": 76, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1646:7:0", + "src": "1572:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -18025,14 +17955,14 @@ "value": { "argumentTypes": null, "hexValue": "30", - "id": 79, + "id": 77, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1680:1:0", + "src": "1606:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -18044,11 +17974,11 @@ }, { "constant": false, - "id": 85, + "id": 83, "name": "partyVsTransaction", "nodeType": "VariableDeclaration", - "scope": 1213, - "src": "1758:54:0", + "scope": 1210, + "src": "1684:54:0", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -18056,38 +17986,38 @@ "typeString": "mapping(address => bytes32[])" }, "typeName": { - "id": 84, + "id": 82, "keyType": { - "id": 81, + "id": 79, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1766:7:0", + "src": "1692:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "Mapping", - "src": "1758:29:0", + "src": "1684:29:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_bytes32_$dyn_storage_$", "typeString": "mapping(address => bytes32[])" }, "valueType": { "baseType": { - "id": 82, + "id": 80, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "1777:7:0", + "src": "1703:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "id": 83, + "id": 81, "length": null, "nodeType": "ArrayTypeName", - "src": "1777:9:0", + "src": "1703:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -18099,9 +18029,9 @@ }, { "body": { - "id": 100, + "id": 98, "nodeType": "Block", - "src": "1866:125:0", + "src": "1792:125:0", "statements": [ { "expression": { @@ -18113,7 +18043,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 95, + "id": 93, "isConstant": false, "isLValue": false, "isPure": false, @@ -18124,26 +18054,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 90, + "id": 88, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 77, - "src": "1897:12:0", + "referencedDeclaration": 75, + "src": "1823:12:0", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$73_storage_$", + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 92, + "id": 90, "indexExpression": { "argumentTypes": null, - "id": 91, + "id": 89, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 87, - "src": "1910:10:0", + "referencedDeclaration": 85, + "src": "1836:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -18154,21 +18084,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "1897:24:0", + "src": "1823:24:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_Transaction_$73_storage", + "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 93, + "id": 91, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "value", "nodeType": "MemberAccess", - "referencedDeclaration": 42, - "src": "1897:30:0", + "referencedDeclaration": 40, + "src": "1823:30:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -18179,14 +18109,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 94, + "id": 92, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1931:1:0", + "src": "1857:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -18194,7 +18124,7 @@ }, "value": "0" }, - "src": "1897:35:0", + "src": "1823:35:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -18203,14 +18133,14 @@ { "argumentTypes": null, "hexValue": "5472616e73616374696f6e20646f6573206e6f7420657869737473", - "id": 96, + "id": 94, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "1934:29:0", + "src": "1860:29:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_e6218ab6010d379e919c5d8d62438c20b22e478fd60139b985d89cb57bc71538", @@ -18230,21 +18160,21 @@ "typeString": "literal_string \"Transaction does not exists\"" } ], - "id": 89, + "id": 87, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1389, - 1390 + 1386, + 1387 ], - "referencedDeclaration": 1390, - "src": "1876:7:0", + "referencedDeclaration": 1387, + "src": "1802:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 97, + "id": 95, "isConstant": false, "isLValue": false, "isPure": false, @@ -18252,38 +18182,38 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1876:97:0", + "src": "1802:97:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 98, + "id": 96, "nodeType": "ExpressionStatement", - "src": "1876:97:0" + "src": "1802:97:0" }, { - "id": 99, + "id": 97, "nodeType": "PlaceholderStatement", - "src": "1983:1:0" + "src": "1909:1:0" } ] }, "documentation": null, - "id": 101, + "id": 99, "name": "transactionExists", "nodeType": "ModifierDefinition", "parameters": { - "id": 88, + "id": 86, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 87, + "id": 85, "name": "scriptHash", "nodeType": "VariableDeclaration", - "scope": 101, - "src": "1846:18:0", + "scope": 99, + "src": "1772:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -18291,10 +18221,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 86, + "id": 84, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "1846:7:0", + "src": "1772:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -18304,16 +18234,16 @@ "visibility": "internal" } ], - "src": "1845:20:0" + "src": "1771:20:0" }, - "src": "1819:172:0", + "src": "1745:172:0", "visibility": "internal" }, { "body": { - "id": 116, + "id": 114, "nodeType": "Block", - "src": "2052:94:0", + "src": "1978:94:0", "statements": [ { "expression": { @@ -18325,7 +18255,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 111, + "id": 109, "isConstant": false, "isLValue": false, "isPure": false, @@ -18336,26 +18266,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 106, + "id": 104, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 77, - "src": "2070:12:0", + "referencedDeclaration": 75, + "src": "1996:12:0", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$73_storage_$", + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 108, + "id": 106, "indexExpression": { "argumentTypes": null, - "id": 107, + "id": 105, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 103, - "src": "2083:10:0", + "referencedDeclaration": 101, + "src": "2009:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -18366,21 +18296,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "2070:24:0", + "src": "1996:24:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_Transaction_$73_storage", + "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 109, + "id": 107, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "value", "nodeType": "MemberAccess", - "referencedDeclaration": 42, - "src": "2070:30:0", + "referencedDeclaration": 40, + "src": "1996:30:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -18391,14 +18321,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 110, + "id": 108, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2104:1:0", + "src": "2030:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -18406,7 +18336,7 @@ }, "value": "0" }, - "src": "2070:35:0", + "src": "1996:35:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -18415,14 +18345,14 @@ { "argumentTypes": null, "hexValue": "5472616e73616374696f6e20657869737473", - "id": 112, + "id": 110, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "2107:20:0", + "src": "2033:20:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_64ff8d63c933e41af18e90354a9e9e0a94a0877b0dd96b73b67df48f68d00e8a", @@ -18442,21 +18372,21 @@ "typeString": "literal_string \"Transaction exists\"" } ], - "id": 105, + "id": 103, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1389, - 1390 + 1386, + 1387 ], - "referencedDeclaration": 1390, - "src": "2062:7:0", + "referencedDeclaration": 1387, + "src": "1988:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 113, + "id": 111, "isConstant": false, "isLValue": false, "isPure": false, @@ -18464,38 +18394,38 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2062:66:0", + "src": "1988:66:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 114, + "id": 112, "nodeType": "ExpressionStatement", - "src": "2062:66:0" + "src": "1988:66:0" }, { - "id": 115, + "id": 113, "nodeType": "PlaceholderStatement", - "src": "2138:1:0" + "src": "2064:1:0" } ] }, "documentation": null, - "id": 117, + "id": 115, "name": "transactionDoesNotExists", "nodeType": "ModifierDefinition", "parameters": { - "id": 104, + "id": 102, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 103, + "id": 101, "name": "scriptHash", "nodeType": "VariableDeclaration", - "scope": 117, - "src": "2032:18:0", + "scope": 115, + "src": "1958:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -18503,10 +18433,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 102, + "id": 100, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "2032:7:0", + "src": "1958:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -18516,16 +18446,16 @@ "visibility": "internal" } ], - "src": "2031:20:0" + "src": "1957:20:0" }, - "src": "1997:149:0", + "src": "1923:149:0", "visibility": "internal" }, { "body": { - "id": 133, + "id": 131, "nodeType": "Block", - "src": "2195:161:0", + "src": "2121:161:0", "statements": [ { "expression": { @@ -18537,7 +18467,7 @@ "typeIdentifier": "t_enum$_Status_$9", "typeString": "enum Escrow_v1_0.Status" }, - "id": 128, + "id": 126, "isConstant": false, "isLValue": false, "isPure": false, @@ -18548,26 +18478,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 122, + "id": 120, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 77, - "src": "2226:12:0", + "referencedDeclaration": 75, + "src": "2152:12:0", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$73_storage_$", + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 124, + "id": 122, "indexExpression": { "argumentTypes": null, - "id": 123, + "id": 121, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119, - "src": "2239:10:0", + "referencedDeclaration": 117, + "src": "2165:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -18578,21 +18508,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "2226:24:0", + "src": "2152:24:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_Transaction_$73_storage", + "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 125, + "id": 123, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "status", "nodeType": "MemberAccess", - "referencedDeclaration": 46, - "src": "2226:31:0", + "referencedDeclaration": 44, + "src": "2152:31:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$9", "typeString": "enum Escrow_v1_0.Status" @@ -18604,18 +18534,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 126, + "id": 124, "name": "Status", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9, - "src": "2261:6:0", + "src": "2187:6:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_Status_$9_$", "typeString": "type(enum Escrow_v1_0.Status)" } }, - "id": 127, + "id": 125, "isConstant": false, "isLValue": false, "isPure": true, @@ -18623,13 +18553,13 @@ "memberName": "FUNDED", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "2261:13:0", + "src": "2187:13:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$9", "typeString": "enum Escrow_v1_0.Status" } }, - "src": "2226:48:0", + "src": "2152:48:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -18638,14 +18568,14 @@ { "argumentTypes": null, "hexValue": "5472616e73616374696f6e2069732065697468657220696e2064697370757465206f722072656c6561736564207374617465", - "id": 129, + "id": 127, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "2276:52:0", + "src": "2202:52:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_0cc8916d65fa11e0e6538cf603067141ec9685ba71ec1b5e50c6b5b71a8ab654", @@ -18665,21 +18595,21 @@ "typeString": "literal_string \"Transaction is either in dispute or released state\"" } ], - "id": 121, + "id": 119, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1389, - 1390 + 1386, + 1387 ], - "referencedDeclaration": 1390, - "src": "2205:7:0", + "referencedDeclaration": 1387, + "src": "2131:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 130, + "id": 128, "isConstant": false, "isLValue": false, "isPure": false, @@ -18687,38 +18617,38 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2205:133:0", + "src": "2131:133:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 131, + "id": 129, "nodeType": "ExpressionStatement", - "src": "2205:133:0" + "src": "2131:133:0" }, { - "id": 132, + "id": 130, "nodeType": "PlaceholderStatement", - "src": "2348:1:0" + "src": "2274:1:0" } ] }, "documentation": null, - "id": 134, + "id": 132, "name": "inFundedState", "nodeType": "ModifierDefinition", "parameters": { - "id": 120, + "id": 118, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 119, + "id": 117, "name": "scriptHash", "nodeType": "VariableDeclaration", - "scope": 134, - "src": "2175:18:0", + "scope": 132, + "src": "2101:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -18726,10 +18656,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 118, + "id": 116, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "2175:7:0", + "src": "2101:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -18739,16 +18669,16 @@ "visibility": "internal" } ], - "src": "2174:20:0" + "src": "2100:20:0" }, - "src": "2152:204:0", + "src": "2078:204:0", "visibility": "internal" }, { "body": { - "id": 148, + "id": 146, "nodeType": "Block", - "src": "2410:88:0", + "src": "2336:88:0", "statements": [ { "expression": { @@ -18760,19 +18690,19 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 143, + "id": 141, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 139, + "id": 137, "name": "addressToCheck", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 136, - "src": "2428:14:0", + "referencedDeclaration": 134, + "src": "2354:14:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -18786,14 +18716,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 141, + "id": 139, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2454:1:0", + "src": "2380:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -18809,20 +18739,20 @@ "typeString": "int_const 0" } ], - "id": 140, + "id": 138, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "2446:7:0", + "src": "2372:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, - "id": 142, + "id": 140, "isConstant": false, "isLValue": false, "isPure": true, @@ -18830,13 +18760,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2446:10:0", + "src": "2372:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "2428:28:0", + "src": "2354:28:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -18845,14 +18775,14 @@ { "argumentTypes": null, "hexValue": "5a65726f206164647265737320706173736564", - "id": 144, + "id": 142, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "2458:21:0", + "src": "2384:21:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_93e85f37f73cf8e1b855512ab7e00aab2b791117712ecb476daeb6c2c0a27a67", @@ -18872,21 +18802,21 @@ "typeString": "literal_string \"Zero address passed\"" } ], - "id": 138, + "id": 136, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1389, - 1390 + 1386, + 1387 ], - "referencedDeclaration": 1390, - "src": "2420:7:0", + "referencedDeclaration": 1387, + "src": "2346:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 145, + "id": 143, "isConstant": false, "isLValue": false, "isPure": false, @@ -18894,38 +18824,38 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2420:60:0", + "src": "2346:60:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 146, + "id": 144, "nodeType": "ExpressionStatement", - "src": "2420:60:0" + "src": "2346:60:0" }, { - "id": 147, + "id": 145, "nodeType": "PlaceholderStatement", - "src": "2490:1:0" + "src": "2416:1:0" } ] }, "documentation": null, - "id": 149, + "id": 147, "name": "nonZeroAddress", "nodeType": "ModifierDefinition", "parameters": { - "id": 137, + "id": 135, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 136, + "id": 134, "name": "addressToCheck", "nodeType": "VariableDeclaration", - "scope": 149, - "src": "2386:22:0", + "scope": 147, + "src": "2312:22:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -18933,10 +18863,10 @@ "typeString": "address" }, "typeName": { - "id": 135, + "id": 133, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2386:7:0", + "src": "2312:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -18946,16 +18876,16 @@ "visibility": "internal" } ], - "src": "2385:24:0" + "src": "2311:24:0" }, - "src": "2362:136:0", + "src": "2288:136:0", "visibility": "internal" }, { "body": { - "id": 166, + "id": 164, "nodeType": "Block", - "src": "2613:153:0", + "src": "2539:153:0", "statements": [ { "expression": { @@ -18967,7 +18897,7 @@ "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" }, - "id": 161, + "id": 159, "isConstant": false, "isLValue": false, "isPure": false, @@ -18978,26 +18908,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 156, + "id": 154, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 77, - "src": "2644:12:0", + "referencedDeclaration": 75, + "src": "2570:12:0", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$73_storage_$", + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 158, + "id": 156, "indexExpression": { "argumentTypes": null, - "id": 157, + "id": 155, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 151, - "src": "2657:10:0", + "referencedDeclaration": 149, + "src": "2583:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -19008,21 +18938,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "2644:24:0", + "src": "2570:24:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_Transaction_$73_storage", + "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 159, + "id": 157, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "transactionType", "nodeType": "MemberAccess", - "referencedDeclaration": 48, - "src": "2644:40:0", + "referencedDeclaration": 46, + "src": "2570:40:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -19032,18 +18962,18 @@ "operator": "==", "rightExpression": { "argumentTypes": null, - "id": 160, + "id": 158, "name": "transactionType", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 153, - "src": "2688:15:0", + "referencedDeclaration": 151, + "src": "2614:15:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" } }, - "src": "2644:59:0", + "src": "2570:59:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -19052,14 +18982,14 @@ { "argumentTypes": null, "hexValue": "5472616e73616374696f6e207479706520646f6573206e6f74206d61746368", - "id": 162, + "id": 160, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "2705:33:0", + "src": "2631:33:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_c798eb33a8bd5d4c22212d5c8611219bb87da2d82aefe8e88b1f970a0f133cc3", @@ -19079,21 +19009,21 @@ "typeString": "literal_string \"Transaction type does not match\"" } ], - "id": 155, + "id": 153, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1389, - 1390 + 1386, + 1387 ], - "referencedDeclaration": 1390, - "src": "2623:7:0", + "referencedDeclaration": 1387, + "src": "2549:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 163, + "id": 161, "isConstant": false, "isLValue": false, "isPure": false, @@ -19101,38 +19031,38 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2623:125:0", + "src": "2549:125:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 164, + "id": 162, "nodeType": "ExpressionStatement", - "src": "2623:125:0" + "src": "2549:125:0" }, { - "id": 165, + "id": 163, "nodeType": "PlaceholderStatement", - "src": "2758:1:0" + "src": "2684:1:0" } ] }, "documentation": null, - "id": 167, + "id": 165, "name": "checkTransactionType", "nodeType": "ModifierDefinition", "parameters": { - "id": 154, + "id": 152, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 151, + "id": 149, "name": "scriptHash", "nodeType": "VariableDeclaration", - "scope": 167, - "src": "2543:18:0", + "scope": 165, + "src": "2469:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -19140,10 +19070,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 150, + "id": 148, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "2543:7:0", + "src": "2469:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -19154,11 +19084,11 @@ }, { "constant": false, - "id": 153, + "id": 151, "name": "transactionType", "nodeType": "VariableDeclaration", - "scope": 167, - "src": "2571:31:0", + "scope": 165, + "src": "2497:31:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -19167,11 +19097,11 @@ }, "typeName": { "contractScope": null, - "id": 152, + "id": 150, "name": "TransactionType", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 12, - "src": "2571:15:0", + "src": "2497:15:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -19181,16 +19111,16 @@ "visibility": "internal" } ], - "src": "2533:75:0" + "src": "2459:75:0" }, - "src": "2504:262:0", + "src": "2430:262:0", "visibility": "internal" }, { "body": { - "id": 183, + "id": 181, "nodeType": "Block", - "src": "2811:152:0", + "src": "2737:152:0", "statements": [ { "expression": { @@ -19202,7 +19132,7 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 178, + "id": 176, "isConstant": false, "isLValue": false, "isPure": false, @@ -19211,18 +19141,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 172, + "id": 170, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1386, - "src": "2842:3:0", + "referencedDeclaration": 1383, + "src": "2768:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 173, + "id": 171, "isConstant": false, "isLValue": false, "isPure": false, @@ -19230,7 +19160,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "2842:10:0", + "src": "2768:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -19244,26 +19174,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 174, + "id": 172, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 77, - "src": "2856:12:0", + "referencedDeclaration": 75, + "src": "2782:12:0", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$73_storage_$", + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 176, + "id": 174, "indexExpression": { "argumentTypes": null, - "id": 175, + "id": 173, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 169, - "src": "2869:10:0", + "referencedDeclaration": 167, + "src": "2795:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -19274,27 +19204,27 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "2856:24:0", + "src": "2782:24:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_Transaction_$73_storage", + "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 177, + "id": 175, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "buyer", "nodeType": "MemberAccess", - "referencedDeclaration": 54, - "src": "2856:30:0", + "referencedDeclaration": 52, + "src": "2782:30:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "2842:44:0", + "src": "2768:44:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -19303,14 +19233,14 @@ { "argumentTypes": null, "hexValue": "54686520696e69746961746f72206f6620746865207472616e73616374696f6e206973206e6f74206275796572", - "id": 179, + "id": 177, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "2888:47:0", + "src": "2814:47:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_b4fc72d2373e6fc668b2bc10a6c84713d84de5f4dc58bb69053e1a18ae67c2f9", @@ -19330,21 +19260,21 @@ "typeString": "literal_string \"The initiator of the transaction is not buyer\"" } ], - "id": 171, + "id": 169, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1389, - 1390 + 1386, + 1387 ], - "referencedDeclaration": 1390, - "src": "2821:7:0", + "referencedDeclaration": 1387, + "src": "2747:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 180, + "id": 178, "isConstant": false, "isLValue": false, "isPure": false, @@ -19352,38 +19282,38 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2821:124:0", + "src": "2747:124:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 181, + "id": 179, "nodeType": "ExpressionStatement", - "src": "2821:124:0" + "src": "2747:124:0" }, { - "id": 182, + "id": 180, "nodeType": "PlaceholderStatement", - "src": "2955:1:0" + "src": "2881:1:0" } ] }, "documentation": null, - "id": 184, + "id": 182, "name": "onlyBuyer", "nodeType": "ModifierDefinition", "parameters": { - "id": 170, + "id": 168, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 169, + "id": 167, "name": "scriptHash", "nodeType": "VariableDeclaration", - "scope": 184, - "src": "2791:18:0", + "scope": 182, + "src": "2717:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -19391,10 +19321,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 168, + "id": 166, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "2791:7:0", + "src": "2717:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -19404,16 +19334,16 @@ "visibility": "internal" } ], - "src": "2790:20:0" + "src": "2716:20:0" }, - "src": "2772:191:0", + "src": "2698:191:0", "visibility": "internal" }, { "body": { - "id": 235, + "id": 233, "nodeType": "Block", - "src": "4257:347:0", + "src": "4183:347:0", "statements": [ { "expression": { @@ -19421,12 +19351,12 @@ "arguments": [ { "argumentTypes": null, - "id": 211, + "id": 209, "name": "buyer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 186, - "src": "4296:5:0", + "referencedDeclaration": 184, + "src": "4222:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -19434,12 +19364,12 @@ }, { "argumentTypes": null, - "id": 212, + "id": 210, "name": "seller", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 188, - "src": "4315:6:0", + "referencedDeclaration": 186, + "src": "4241:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -19447,12 +19377,12 @@ }, { "argumentTypes": null, - "id": 213, + "id": 211, "name": "moderator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 190, - "src": "4335:9:0", + "referencedDeclaration": 188, + "src": "4261:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -19460,12 +19390,12 @@ }, { "argumentTypes": null, - "id": 214, + "id": 212, "name": "threshold", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 192, - "src": "4358:9:0", + "referencedDeclaration": 190, + "src": "4284:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -19473,12 +19403,12 @@ }, { "argumentTypes": null, - "id": 215, + "id": 213, "name": "timeoutHours", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 194, - "src": "4381:12:0", + "referencedDeclaration": 192, + "src": "4307:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -19486,12 +19416,12 @@ }, { "argumentTypes": null, - "id": 216, + "id": 214, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 196, - "src": "4407:10:0", + "referencedDeclaration": 194, + "src": "4333:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -19501,18 +19431,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 217, + "id": 215, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1386, - "src": "4431:3:0", + "referencedDeclaration": 1383, + "src": "4357:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 218, + "id": 216, "isConstant": false, "isLValue": false, "isPure": false, @@ -19520,7 +19450,7 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "4431:9:0", + "src": "4357:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -19528,12 +19458,12 @@ }, { "argumentTypes": null, - "id": 219, + "id": 217, "name": "uniqueId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 198, - "src": "4454:8:0", + "referencedDeclaration": 196, + "src": "4380:8:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -19543,18 +19473,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 220, + "id": 218, "name": "TransactionType", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12, - "src": "4476:15:0", + "src": "4402:15:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_TransactionType_$12_$", "typeString": "type(enum Escrow_v1_0.TransactionType)" } }, - "id": 221, + "id": 219, "isConstant": false, "isLValue": false, "isPure": true, @@ -19562,7 +19492,7 @@ "memberName": "ETHER", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "4476:21:0", + "src": "4402:21:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -19574,14 +19504,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 223, + "id": 221, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "4519:1:0", + "src": "4445:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -19597,20 +19527,20 @@ "typeString": "int_const 0" } ], - "id": 222, + "id": 220, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "4511:7:0", + "src": "4437:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, - "id": 224, + "id": 222, "isConstant": false, "isLValue": false, "isPure": true, @@ -19618,7 +19548,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4511:10:0", + "src": "4437:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -19668,18 +19598,18 @@ "typeString": "address" } ], - "id": 210, + "id": 208, "name": "_addTransaction", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1212, - "src": "4267:15:0", + "referencedDeclaration": 1209, + "src": "4193:15:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_address_$_t_uint8_$_t_uint32_$_t_bytes32_$_t_uint256_$_t_bytes20_$_t_enum$_TransactionType_$12_$_t_address_$returns$__$", "typeString": "function (address,address,address,uint8,uint32,bytes32,uint256,bytes20,enum Escrow_v1_0.TransactionType,address)" } }, - "id": 225, + "id": 223, "isConstant": false, "isLValue": false, "isPure": false, @@ -19687,15 +19617,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4267:264:0", + "src": "4193:264:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 226, + "id": 224, "nodeType": "ExpressionStatement", - "src": "4267:264:0" + "src": "4193:264:0" }, { "eventCall": { @@ -19703,12 +19633,12 @@ "arguments": [ { "argumentTypes": null, - "id": 228, + "id": 226, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 196, - "src": "4562:10:0", + "referencedDeclaration": 194, + "src": "4488:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -19718,18 +19648,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 229, + "id": 227, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1386, - "src": "4574:3:0", + "referencedDeclaration": 1383, + "src": "4500:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 230, + "id": 228, "isConstant": false, "isLValue": false, "isPure": false, @@ -19737,7 +19667,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "4574:10:0", + "src": "4500:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -19747,18 +19677,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 231, + "id": 229, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1386, - "src": "4586:3:0", + "referencedDeclaration": 1383, + "src": "4512:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 232, + "id": 230, "isConstant": false, "isLValue": false, "isPure": false, @@ -19766,7 +19696,7 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "4586:9:0", + "src": "4512:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -19788,18 +19718,18 @@ "typeString": "uint256" } ], - "id": 227, + "id": 225, "name": "Funded", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 38, - "src": "4555:6:0", + "src": "4481:6:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (bytes32,address,uint256)" } }, - "id": 233, + "id": 231, "isConstant": false, "isLValue": false, "isPure": false, @@ -19807,20 +19737,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4555:41:0", + "src": "4481:41:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 234, + "id": 232, "nodeType": "EmitStatement", - "src": "4550:46:0" + "src": "4476:46:0" } ] }, "documentation": "dev Add new transaction in the contract\nparam buyer The buyer of the transaction\nparam seller The seller of the listing associated with the transaction\nparam moderator Moderator for this transaction\nparam scriptHash keccak256 hash of the redeem script\nparam threshold Minimum number of singatures required to released funds\nparam timeoutHours Hours after which seller can release funds into his favour by signing transaction\nparam uniqueId bytes20 unique id for the transaction, generated by ETH wallet\nedeem Script format will be following\n\nscripthash-> keccak256(uniqueId, threshold, timeoutHours, buyer, seller, moderator)\nass amount of the ethers to be put in escrow\nlease keep in mind you will have to add moderator fees also in the value", - "id": 236, + "id": 234, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -19829,115 +19759,115 @@ "arguments": [ { "argumentTypes": null, - "id": 201, + "id": 199, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 196, - "src": "4180:10:0", + "referencedDeclaration": 194, + "src": "4106:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } } ], - "id": 202, + "id": 200, "modifierName": { "argumentTypes": null, - "id": 200, + "id": 198, "name": "transactionDoesNotExists", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 117, - "src": "4155:24:0", + "referencedDeclaration": 115, + "src": "4081:24:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "4155:36:0" + "src": "4081:36:0" }, { "arguments": [ { "argumentTypes": null, - "id": 204, + "id": 202, "name": "buyer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 186, - "src": "4215:5:0", + "referencedDeclaration": 184, + "src": "4141:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } } ], - "id": 205, + "id": 203, "modifierName": { "argumentTypes": null, - "id": 203, + "id": 201, "name": "nonZeroAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 149, - "src": "4200:14:0", + "referencedDeclaration": 147, + "src": "4126:14:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_address_$", "typeString": "modifier (address)" } }, "nodeType": "ModifierInvocation", - "src": "4200:21:0" + "src": "4126:21:0" }, { "arguments": [ { "argumentTypes": null, - "id": 207, + "id": 205, "name": "seller", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 188, - "src": "4245:6:0", + "referencedDeclaration": 186, + "src": "4171:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } } ], - "id": 208, + "id": 206, "modifierName": { "argumentTypes": null, - "id": 206, + "id": 204, "name": "nonZeroAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 149, - "src": "4230:14:0", + "referencedDeclaration": 147, + "src": "4156:14:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_address_$", "typeString": "modifier (address)" } }, "nodeType": "ModifierInvocation", - "src": "4230:22:0" + "src": "4156:22:0" } ], "name": "addTransaction", "nodeType": "FunctionDefinition", "parameters": { - "id": 199, + "id": 197, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 186, + "id": 184, "name": "buyer", "nodeType": "VariableDeclaration", - "scope": 236, - "src": "3935:13:0", + "scope": 234, + "src": "3861:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -19945,10 +19875,10 @@ "typeString": "address" }, "typeName": { - "id": 185, + "id": 183, "name": "address", "nodeType": "ElementaryTypeName", - "src": "3935:7:0", + "src": "3861:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -19959,11 +19889,11 @@ }, { "constant": false, - "id": 188, + "id": 186, "name": "seller", "nodeType": "VariableDeclaration", - "scope": 236, - "src": "3958:14:0", + "scope": 234, + "src": "3884:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -19971,10 +19901,10 @@ "typeString": "address" }, "typeName": { - "id": 187, + "id": 185, "name": "address", "nodeType": "ElementaryTypeName", - "src": "3958:7:0", + "src": "3884:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -19985,11 +19915,11 @@ }, { "constant": false, - "id": 190, + "id": 188, "name": "moderator", "nodeType": "VariableDeclaration", - "scope": 236, - "src": "3982:17:0", + "scope": 234, + "src": "3908:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -19997,10 +19927,10 @@ "typeString": "address" }, "typeName": { - "id": 189, + "id": 187, "name": "address", "nodeType": "ElementaryTypeName", - "src": "3982:7:0", + "src": "3908:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -20011,11 +19941,11 @@ }, { "constant": false, - "id": 192, + "id": 190, "name": "threshold", "nodeType": "VariableDeclaration", - "scope": 236, - "src": "4009:15:0", + "scope": 234, + "src": "3935:15:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -20023,10 +19953,10 @@ "typeString": "uint8" }, "typeName": { - "id": 191, + "id": 189, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "4009:5:0", + "src": "3935:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -20037,11 +19967,11 @@ }, { "constant": false, - "id": 194, + "id": 192, "name": "timeoutHours", "nodeType": "VariableDeclaration", - "scope": 236, - "src": "4034:19:0", + "scope": 234, + "src": "3960:19:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -20049,10 +19979,10 @@ "typeString": "uint32" }, "typeName": { - "id": 193, + "id": 191, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "4034:6:0", + "src": "3960:6:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -20063,11 +19993,11 @@ }, { "constant": false, - "id": 196, + "id": 194, "name": "scriptHash", "nodeType": "VariableDeclaration", - "scope": 236, - "src": "4063:18:0", + "scope": 234, + "src": "3989:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -20075,10 +20005,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 195, + "id": 193, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "4063:7:0", + "src": "3989:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -20089,11 +20019,11 @@ }, { "constant": false, - "id": 198, + "id": 196, "name": "uniqueId", "nodeType": "VariableDeclaration", - "scope": 236, - "src": "4091:16:0", + "scope": 234, + "src": "4017:16:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -20101,10 +20031,10 @@ "typeString": "bytes20" }, "typeName": { - "id": 197, + "id": 195, "name": "bytes20", "nodeType": "ElementaryTypeName", - "src": "4091:7:0", + "src": "4017:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -20114,26 +20044,26 @@ "visibility": "internal" } ], - "src": "3925:188:0" + "src": "3851:188:0" }, "payable": true, "returnParameters": { - "id": 209, + "id": 207, "nodeType": "ParameterList", "parameters": [], - "src": "4257:0:0" + "src": "4183:0:0" }, - "scope": 1213, - "src": "3902:702:0", + "scope": 1210, + "src": "3828:702:0", "stateMutability": "payable", "superFunction": null, "visibility": "external" }, { "body": { - "id": 307, + "id": 305, "nodeType": "Block", - "src": "6138:587:0", + "src": "6064:587:0", "statements": [ { "expression": { @@ -20141,12 +20071,12 @@ "arguments": [ { "argumentTypes": null, - "id": 270, + "id": 268, "name": "buyer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 238, - "src": "6178:5:0", + "referencedDeclaration": 236, + "src": "6104:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -20154,12 +20084,12 @@ }, { "argumentTypes": null, - "id": 271, + "id": 269, "name": "seller", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 240, - "src": "6197:6:0", + "referencedDeclaration": 238, + "src": "6123:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -20167,12 +20097,12 @@ }, { "argumentTypes": null, - "id": 272, + "id": 270, "name": "moderator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 242, - "src": "6217:9:0", + "referencedDeclaration": 240, + "src": "6143:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -20180,12 +20110,12 @@ }, { "argumentTypes": null, - "id": 273, + "id": 271, "name": "threshold", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 244, - "src": "6240:9:0", + "referencedDeclaration": 242, + "src": "6166:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -20193,12 +20123,12 @@ }, { "argumentTypes": null, - "id": 274, + "id": 272, "name": "timeoutHours", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 246, - "src": "6263:12:0", + "referencedDeclaration": 244, + "src": "6189:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -20206,12 +20136,12 @@ }, { "argumentTypes": null, - "id": 275, + "id": 273, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 248, - "src": "6289:10:0", + "referencedDeclaration": 246, + "src": "6215:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -20219,12 +20149,12 @@ }, { "argumentTypes": null, - "id": 276, + "id": 274, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 250, - "src": "6313:5:0", + "referencedDeclaration": 248, + "src": "6239:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -20232,12 +20162,12 @@ }, { "argumentTypes": null, - "id": 277, + "id": 275, "name": "uniqueId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 252, - "src": "6332:8:0", + "referencedDeclaration": 250, + "src": "6258:8:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -20247,18 +20177,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 278, + "id": 276, "name": "TransactionType", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12, - "src": "6354:15:0", + "src": "6280:15:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_TransactionType_$12_$", "typeString": "type(enum Escrow_v1_0.TransactionType)" } }, - "id": 279, + "id": 277, "isConstant": false, "isLValue": false, "isPure": true, @@ -20266,7 +20196,7 @@ "memberName": "TOKEN", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "6354:21:0", + "src": "6280:21:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -20274,12 +20204,12 @@ }, { "argumentTypes": null, - "id": 280, + "id": 278, "name": "tokenAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 254, - "src": "6389:12:0", + "referencedDeclaration": 252, + "src": "6315:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -20329,18 +20259,18 @@ "typeString": "address" } ], - "id": 269, + "id": 267, "name": "_addTransaction", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1212, - "src": "6149:15:0", + "referencedDeclaration": 1209, + "src": "6075:15:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_address_$_t_uint8_$_t_uint32_$_t_bytes32_$_t_uint256_$_t_bytes20_$_t_enum$_TransactionType_$12_$_t_address_$returns$__$", "typeString": "function (address,address,address,uint8,uint32,bytes32,uint256,bytes20,enum Escrow_v1_0.TransactionType,address)" } }, - "id": 281, + "id": 279, "isConstant": false, "isLValue": false, "isPure": false, @@ -20348,43 +20278,43 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6149:262:0", + "src": "6075:262:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 282, + "id": 280, "nodeType": "ExpressionStatement", - "src": "6149:262:0" + "src": "6075:262:0" }, { "assignments": [ - 284 + 282 ], "declarations": [ { "constant": false, - "id": 284, + "id": 282, "name": "token", "nodeType": "VariableDeclaration", - "scope": 308, - "src": "6422:20:0", + "scope": 306, + "src": "6348:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenContract_$1243", + "typeIdentifier": "t_contract$_ITokenContract_$1240", "typeString": "contract ITokenContract" }, "typeName": { "contractScope": null, - "id": 283, + "id": 281, "name": "ITokenContract", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1243, - "src": "6422:14:0", + "referencedDeclaration": 1240, + "src": "6348:14:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenContract_$1243", + "typeIdentifier": "t_contract$_ITokenContract_$1240", "typeString": "contract ITokenContract" } }, @@ -20392,18 +20322,18 @@ "visibility": "internal" } ], - "id": 288, + "id": 286, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 286, + "id": 284, "name": "tokenAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 254, - "src": "6460:12:0", + "referencedDeclaration": 252, + "src": "6386:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -20417,18 +20347,18 @@ "typeString": "address" } ], - "id": 285, + "id": 283, "name": "ITokenContract", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1243, - "src": "6445:14:0", + "referencedDeclaration": 1240, + "src": "6371:14:0", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ITokenContract_$1243_$", + "typeIdentifier": "t_type$_t_contract$_ITokenContract_$1240_$", "typeString": "type(contract ITokenContract)" } }, - "id": 287, + "id": 285, "isConstant": false, "isLValue": false, "isPure": false, @@ -20436,14 +20366,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6445:28:0", + "src": "6371:28:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenContract_$1243", + "typeIdentifier": "t_contract$_ITokenContract_$1240", "typeString": "contract ITokenContract" } }, "nodeType": "VariableDeclarationStatement", - "src": "6422:51:0" + "src": "6348:51:0" }, { "expression": { @@ -20456,18 +20386,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 292, + "id": 290, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1386, - "src": "6524:3:0", + "referencedDeclaration": 1383, + "src": "6450:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 293, + "id": 291, "isConstant": false, "isLValue": false, "isPure": false, @@ -20475,7 +20405,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "6524:10:0", + "src": "6450:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -20483,25 +20413,25 @@ }, { "argumentTypes": null, - "id": 294, + "id": 292, "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1403, - "src": "6536:4:0", + "referencedDeclaration": 1400, + "src": "6462:4:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_Escrow_v1_0_$1213", + "typeIdentifier": "t_contract$_Escrow_v1_0_$1210", "typeString": "contract Escrow_v1_0" } }, { "argumentTypes": null, - "id": 295, + "id": 293, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 250, - "src": "6542:5:0", + "referencedDeclaration": 248, + "src": "6468:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -20515,7 +20445,7 @@ "typeString": "address" }, { - "typeIdentifier": "t_contract$_Escrow_v1_0_$1213", + "typeIdentifier": "t_contract$_Escrow_v1_0_$1210", "typeString": "contract Escrow_v1_0" }, { @@ -20525,32 +20455,32 @@ ], "expression": { "argumentTypes": null, - "id": 290, + "id": 288, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 284, - "src": "6505:5:0", + "referencedDeclaration": 282, + "src": "6431:5:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenContract_$1243", + "typeIdentifier": "t_contract$_ITokenContract_$1240", "typeString": "contract ITokenContract" } }, - "id": 291, + "id": 289, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "transferFrom", "nodeType": "MemberAccess", - "referencedDeclaration": 1242, - "src": "6505:18:0", + "referencedDeclaration": 1239, + "src": "6431:18:0", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", "typeString": "function (address,address,uint256) external returns (bool)" } }, - "id": 296, + "id": 294, "isConstant": false, "isLValue": false, "isPure": false, @@ -20558,7 +20488,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6505:43:0", + "src": "6431:43:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -20567,14 +20497,14 @@ { "argumentTypes": null, "hexValue": "546f6b656e207472616e73666572206661696c65642c206d6179626520796f7520646964206e6f7420617070726f766520657363726f7720636f6e747261637420746f207370656e64206f6e20626568616c66206f66206275796572", - "id": 297, + "id": 295, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "6562:94:0", + "src": "6488:94:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_d9d07068d589bc4adc53018a3c57c159ec128fdfb62732a5fa9410e76cf03318", @@ -20594,21 +20524,21 @@ "typeString": "literal_string \"Token transfer failed, maybe you did not approve escrow contract to spend on behalf of buyer\"" } ], - "id": 289, + "id": 287, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1389, - 1390 + 1386, + 1387 ], - "referencedDeclaration": 1390, - "src": "6484:7:0", + "referencedDeclaration": 1387, + "src": "6410:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 298, + "id": 296, "isConstant": false, "isLValue": false, "isPure": false, @@ -20616,15 +20546,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6484:182:0", + "src": "6410:182:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 299, + "id": 297, "nodeType": "ExpressionStatement", - "src": "6484:182:0" + "src": "6410:182:0" }, { "eventCall": { @@ -20632,12 +20562,12 @@ "arguments": [ { "argumentTypes": null, - "id": 301, + "id": 299, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 248, - "src": "6688:10:0", + "referencedDeclaration": 246, + "src": "6614:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -20647,18 +20577,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 302, + "id": 300, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1386, - "src": "6700:3:0", + "referencedDeclaration": 1383, + "src": "6626:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 303, + "id": 301, "isConstant": false, "isLValue": false, "isPure": false, @@ -20666,7 +20596,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "6700:10:0", + "src": "6626:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -20674,12 +20604,12 @@ }, { "argumentTypes": null, - "id": 304, + "id": 302, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 250, - "src": "6712:5:0", + "referencedDeclaration": 248, + "src": "6638:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -20701,18 +20631,18 @@ "typeString": "uint256" } ], - "id": 300, + "id": 298, "name": "Funded", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 38, - "src": "6681:6:0", + "src": "6607:6:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (bytes32,address,uint256)" } }, - "id": 305, + "id": 303, "isConstant": false, "isLValue": false, "isPure": false, @@ -20720,20 +20650,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6681:37:0", + "src": "6607:37:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 306, + "id": 304, "nodeType": "EmitStatement", - "src": "6676:42:0" + "src": "6602:42:0" } ] }, "documentation": "dev Add new transaction in the contract\nparam buyer The buyer of the transaction\nparam seller The seller of the listing associated with the transaction\nparam moderator Moderator for this transaction\nparam scriptHash keccak256 hash of the redeem script\nparam threshold Minimum number of singatures required to released funds\nparam timeoutHours Hours after which seller can release funds into his favour by signing transaction\nparam value Amount of tokens to be put in escrow\nparam uniqueId bytes20 unique id for the transaction, generated by ETH wallet\nparam tokenAddress Address of the token to be used\nedeem Script format will be following\n\nscripthash-> keccak256(uniqueId, threshold, timeoutHours, buyer, seller, moderator, tokenAddress)\npprove escrow contract to spend amount of token on your behalf\nlease keep in mind you will have to add moderator fees also in the value", - "id": 308, + "id": 306, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -20742,148 +20672,148 @@ "arguments": [ { "argumentTypes": null, - "id": 257, + "id": 255, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 248, - "src": "6024:10:0", + "referencedDeclaration": 246, + "src": "5950:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } } ], - "id": 258, + "id": 256, "modifierName": { "argumentTypes": null, - "id": 256, + "id": 254, "name": "transactionDoesNotExists", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 117, - "src": "5999:24:0", + "referencedDeclaration": 115, + "src": "5925:24:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "5999:36:0" + "src": "5925:36:0" }, { "arguments": [ { "argumentTypes": null, - "id": 260, + "id": 258, "name": "buyer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 238, - "src": "6059:5:0", + "referencedDeclaration": 236, + "src": "5985:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } } ], - "id": 261, + "id": 259, "modifierName": { "argumentTypes": null, - "id": 259, + "id": 257, "name": "nonZeroAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 149, - "src": "6044:14:0", + "referencedDeclaration": 147, + "src": "5970:14:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_address_$", "typeString": "modifier (address)" } }, "nodeType": "ModifierInvocation", - "src": "6044:21:0" + "src": "5970:21:0" }, { "arguments": [ { "argumentTypes": null, - "id": 263, + "id": 261, "name": "seller", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 240, - "src": "6089:6:0", + "referencedDeclaration": 238, + "src": "6015:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } } ], - "id": 264, + "id": 262, "modifierName": { "argumentTypes": null, - "id": 262, + "id": 260, "name": "nonZeroAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 149, - "src": "6074:14:0", + "referencedDeclaration": 147, + "src": "6000:14:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_address_$", "typeString": "modifier (address)" } }, "nodeType": "ModifierInvocation", - "src": "6074:22:0" + "src": "6000:22:0" }, { "arguments": [ { "argumentTypes": null, - "id": 266, + "id": 264, "name": "tokenAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 254, - "src": "6120:12:0", + "referencedDeclaration": 252, + "src": "6046:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } } ], - "id": 267, + "id": 265, "modifierName": { "argumentTypes": null, - "id": 265, + "id": 263, "name": "nonZeroAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 149, - "src": "6105:14:0", + "referencedDeclaration": 147, + "src": "6031:14:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_address_$", "typeString": "modifier (address)" } }, "nodeType": "ModifierInvocation", - "src": "6105:28:0" + "src": "6031:28:0" } ], "name": "addTokenTransaction", "nodeType": "FunctionDefinition", "parameters": { - "id": 255, + "id": 253, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 238, + "id": 236, "name": "buyer", "nodeType": "VariableDeclaration", - "scope": 308, - "src": "5742:13:0", + "scope": 306, + "src": "5668:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -20891,10 +20821,10 @@ "typeString": "address" }, "typeName": { - "id": 237, + "id": 235, "name": "address", "nodeType": "ElementaryTypeName", - "src": "5742:7:0", + "src": "5668:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -20905,11 +20835,11 @@ }, { "constant": false, - "id": 240, + "id": 238, "name": "seller", "nodeType": "VariableDeclaration", - "scope": 308, - "src": "5765:14:0", + "scope": 306, + "src": "5691:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -20917,10 +20847,10 @@ "typeString": "address" }, "typeName": { - "id": 239, + "id": 237, "name": "address", "nodeType": "ElementaryTypeName", - "src": "5765:7:0", + "src": "5691:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -20931,11 +20861,11 @@ }, { "constant": false, - "id": 242, + "id": 240, "name": "moderator", "nodeType": "VariableDeclaration", - "scope": 308, - "src": "5789:17:0", + "scope": 306, + "src": "5715:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -20943,10 +20873,10 @@ "typeString": "address" }, "typeName": { - "id": 241, + "id": 239, "name": "address", "nodeType": "ElementaryTypeName", - "src": "5789:7:0", + "src": "5715:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -20957,11 +20887,11 @@ }, { "constant": false, - "id": 244, + "id": 242, "name": "threshold", "nodeType": "VariableDeclaration", - "scope": 308, - "src": "5816:15:0", + "scope": 306, + "src": "5742:15:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -20969,10 +20899,10 @@ "typeString": "uint8" }, "typeName": { - "id": 243, + "id": 241, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "5816:5:0", + "src": "5742:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -20983,11 +20913,11 @@ }, { "constant": false, - "id": 246, + "id": 244, "name": "timeoutHours", "nodeType": "VariableDeclaration", - "scope": 308, - "src": "5841:19:0", + "scope": 306, + "src": "5767:19:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -20995,10 +20925,10 @@ "typeString": "uint32" }, "typeName": { - "id": 245, + "id": 243, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "5841:6:0", + "src": "5767:6:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -21009,11 +20939,11 @@ }, { "constant": false, - "id": 248, + "id": 246, "name": "scriptHash", "nodeType": "VariableDeclaration", - "scope": 308, - "src": "5870:18:0", + "scope": 306, + "src": "5796:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -21021,10 +20951,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 247, + "id": 245, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "5870:7:0", + "src": "5796:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -21035,11 +20965,11 @@ }, { "constant": false, - "id": 250, + "id": 248, "name": "value", "nodeType": "VariableDeclaration", - "scope": 308, - "src": "5898:13:0", + "scope": 306, + "src": "5824:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -21047,10 +20977,10 @@ "typeString": "uint256" }, "typeName": { - "id": 249, + "id": 247, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "5898:7:0", + "src": "5824:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -21061,11 +20991,11 @@ }, { "constant": false, - "id": 252, + "id": 250, "name": "uniqueId", "nodeType": "VariableDeclaration", - "scope": 308, - "src": "5921:16:0", + "scope": 306, + "src": "5847:16:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -21073,10 +21003,10 @@ "typeString": "bytes20" }, "typeName": { - "id": 251, + "id": 249, "name": "bytes20", "nodeType": "ElementaryTypeName", - "src": "5921:7:0", + "src": "5847:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -21087,11 +21017,11 @@ }, { "constant": false, - "id": 254, + "id": 252, "name": "tokenAddress", "nodeType": "VariableDeclaration", - "scope": 308, - "src": "5947:20:0", + "scope": 306, + "src": "5873:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -21099,10 +21029,10 @@ "typeString": "address" }, "typeName": { - "id": 253, + "id": 251, "name": "address", "nodeType": "ElementaryTypeName", - "src": "5947:7:0", + "src": "5873:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -21112,43 +21042,43 @@ "visibility": "internal" } ], - "src": "5732:241:0" + "src": "5658:241:0" }, "payable": false, "returnParameters": { - "id": 268, + "id": 266, "nodeType": "ParameterList", "parameters": [], - "src": "6138:0:0" + "src": "6064:0:0" }, - "scope": 1213, - "src": "5704:1021:0", + "scope": 1210, + "src": "5630:1021:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" }, { "body": { - "id": 326, + "id": 324, "nodeType": "Block", - "src": "7101:76:0", + "src": "7027:76:0", "statements": [ { "expression": { "argumentTypes": null, - "id": 324, + "id": 322, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 317, + "id": 315, "name": "check", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 315, - "src": "7111:5:0", + "referencedDeclaration": 313, + "src": "7037:5:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -21164,26 +21094,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 318, + "id": 316, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 77, - "src": "7119:12:0", + "referencedDeclaration": 75, + "src": "7045:12:0", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$73_storage_$", + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 320, + "id": 318, "indexExpression": { "argumentTypes": null, - "id": 319, + "id": 317, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 310, - "src": "7132:10:0", + "referencedDeclaration": 308, + "src": "7058:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -21194,35 +21124,35 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "7119:24:0", + "src": "7045:24:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_Transaction_$73_storage", + "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 321, + "id": 319, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "beneficiaries", "nodeType": "MemberAccess", - "referencedDeclaration": 72, - "src": "7119:38:0", + "referencedDeclaration": 70, + "src": "7045:38:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 323, + "id": 321, "indexExpression": { "argumentTypes": null, - "id": 322, + "id": 320, "name": "beneficiary", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 312, - "src": "7158:11:0", + "referencedDeclaration": 310, + "src": "7084:11:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -21233,26 +21163,26 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "7119:51:0", + "src": "7045:51:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "7111:59:0", + "src": "7037:59:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 325, + "id": 323, "nodeType": "ExpressionStatement", - "src": "7111:59:0" + "src": "7037:59:0" } ] }, "documentation": "@dev Check whether given address was a beneficiary of transaction execution or not\n@param scriptHash script hash of the transaction\n@param beneficiary Beneficiary address to be checked", - "id": 327, + "id": 325, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -21260,16 +21190,16 @@ "name": "checkBeneficiary", "nodeType": "FunctionDefinition", "parameters": { - "id": 313, + "id": 311, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 310, + "id": 308, "name": "scriptHash", "nodeType": "VariableDeclaration", - "scope": 327, - "src": "6984:18:0", + "scope": 325, + "src": "6910:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -21277,10 +21207,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 309, + "id": 307, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "6984:7:0", + "src": "6910:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -21291,11 +21221,11 @@ }, { "constant": false, - "id": 312, + "id": 310, "name": "beneficiary", "nodeType": "VariableDeclaration", - "scope": 327, - "src": "7012:19:0", + "scope": 325, + "src": "6938:19:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -21303,10 +21233,10 @@ "typeString": "address" }, "typeName": { - "id": 311, + "id": 309, "name": "address", "nodeType": "ElementaryTypeName", - "src": "7012:7:0", + "src": "6938:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -21316,20 +21246,20 @@ "visibility": "internal" } ], - "src": "6974:63:0" + "src": "6900:63:0" }, "payable": false, "returnParameters": { - "id": 316, + "id": 314, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 315, + "id": 313, "name": "check", "nodeType": "VariableDeclaration", - "scope": 327, - "src": "7085:10:0", + "scope": 325, + "src": "7011:10:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -21337,10 +21267,10 @@ "typeString": "bool" }, "typeName": { - "id": 314, + "id": 312, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "7085:4:0", + "src": "7011:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -21350,36 +21280,36 @@ "visibility": "internal" } ], - "src": "7084:12:0" + "src": "7010:12:0" }, - "scope": 1213, - "src": "6949:228:0", + "scope": 1210, + "src": "6875:228:0", "stateMutability": "view", "superFunction": null, "visibility": "external" }, { "body": { - "id": 345, + "id": 343, "nodeType": "Block", - "src": "7538:61:0", + "src": "7464:61:0", "statements": [ { "expression": { "argumentTypes": null, - "id": 343, + "id": 341, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 336, + "id": 334, "name": "vote", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 334, - "src": "7548:4:0", + "referencedDeclaration": 332, + "src": "7474:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -21395,26 +21325,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 337, + "id": 335, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 77, - "src": "7555:12:0", + "referencedDeclaration": 75, + "src": "7481:12:0", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$73_storage_$", + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 339, + "id": 337, "indexExpression": { "argumentTypes": null, - "id": 338, + "id": 336, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 329, - "src": "7568:10:0", + "referencedDeclaration": 327, + "src": "7494:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -21425,35 +21355,35 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "7555:24:0", + "src": "7481:24:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_Transaction_$73_storage", + "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 340, + "id": 338, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "voted", "nodeType": "MemberAccess", - "referencedDeclaration": 68, - "src": "7555:30:0", + "referencedDeclaration": 66, + "src": "7481:30:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 342, + "id": 340, "indexExpression": { "argumentTypes": null, - "id": 341, + "id": 339, "name": "party", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 331, - "src": "7586:5:0", + "referencedDeclaration": 329, + "src": "7512:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -21464,26 +21394,26 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "7555:37:0", + "src": "7481:37:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "7548:44:0", + "src": "7474:44:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 344, + "id": 342, "nodeType": "ExpressionStatement", - "src": "7548:44:0" + "src": "7474:44:0" } ] }, "documentation": "@dev Check whether given party has voted or not\n@param scriptHash script hash of the transaction\n@param party Address of the party whose vote has to be checked\n@return bool vote", - "id": 346, + "id": 344, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -21491,16 +21421,16 @@ "name": "checkVote", "nodeType": "FunctionDefinition", "parameters": { - "id": 332, + "id": 330, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 329, + "id": 327, "name": "scriptHash", "nodeType": "VariableDeclaration", - "scope": 346, - "src": "7428:18:0", + "scope": 344, + "src": "7354:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -21508,10 +21438,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 328, + "id": 326, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "7428:7:0", + "src": "7354:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -21522,11 +21452,11 @@ }, { "constant": false, - "id": 331, + "id": 329, "name": "party", "nodeType": "VariableDeclaration", - "scope": 346, - "src": "7456:13:0", + "scope": 344, + "src": "7382:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -21534,10 +21464,10 @@ "typeString": "address" }, "typeName": { - "id": 330, + "id": 328, "name": "address", "nodeType": "ElementaryTypeName", - "src": "7456:7:0", + "src": "7382:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -21547,20 +21477,20 @@ "visibility": "internal" } ], - "src": "7418:57:0" + "src": "7344:57:0" }, "payable": false, "returnParameters": { - "id": 335, + "id": 333, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 334, + "id": 332, "name": "vote", "nodeType": "VariableDeclaration", - "scope": 346, - "src": "7523:9:0", + "scope": 344, + "src": "7449:9:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -21568,10 +21498,10 @@ "typeString": "bool" }, "typeName": { - "id": 333, + "id": 331, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "7523:4:0", + "src": "7449:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -21581,32 +21511,32 @@ "visibility": "internal" } ], - "src": "7522:11:0" + "src": "7448:11:0" }, - "scope": 1213, - "src": "7400:199:0", + "scope": 1210, + "src": "7326:199:0", "stateMutability": "view", "superFunction": null, "visibility": "external" }, { "body": { - "id": 405, + "id": 403, "nodeType": "Block", - "src": "8185:330:0", + "src": "8111:330:0", "statements": [ { "assignments": [ - 366 + 364 ], "declarations": [ { "constant": false, - "id": 366, + "id": 364, "name": "_value", "nodeType": "VariableDeclaration", - "scope": 406, - "src": "8195:14:0", + "scope": 404, + "src": "8121:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -21614,10 +21544,10 @@ "typeString": "uint256" }, "typeName": { - "id": 365, + "id": 363, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "8195:7:0", + "src": "8121:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -21627,23 +21557,23 @@ "visibility": "internal" } ], - "id": 369, + "id": 367, "initialValue": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 367, + "id": 365, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1386, - "src": "8212:3:0", + "referencedDeclaration": 1383, + "src": "8138:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 368, + "id": 366, "isConstant": false, "isLValue": false, "isPure": false, @@ -21651,14 +21581,14 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "8212:9:0", + "src": "8138:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "8195:26:0" + "src": "8121:26:0" }, { "expression": { @@ -21670,19 +21600,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 373, + "id": 371, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 371, + "id": 369, "name": "_value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 366, - "src": "8240:6:0", + "referencedDeclaration": 364, + "src": "8166:6:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -21693,14 +21623,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 372, + "id": 370, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "8249:1:0", + "src": "8175:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -21708,7 +21638,7 @@ }, "value": "0" }, - "src": "8240:10:0", + "src": "8166:10:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -21717,14 +21647,14 @@ { "argumentTypes": null, "hexValue": "56616c7565206d7573742062652067726561746572207468616e207a65726f2e", - "id": 374, + "id": 372, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "8252:34:0", + "src": "8178:34:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_21fbec2be6560b9ccffc4980d43c0d147770168e7aaf24999b418b9010085622", @@ -21744,21 +21674,21 @@ "typeString": "literal_string \"Value must be greater than zero.\"" } ], - "id": 370, + "id": 368, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1389, - 1390 + 1386, + 1387 ], - "referencedDeclaration": 1390, - "src": "8232:7:0", + "referencedDeclaration": 1387, + "src": "8158:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 375, + "id": 373, "isConstant": false, "isLValue": false, "isPure": false, @@ -21766,20 +21696,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8232:55:0", + "src": "8158:55:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 376, + "id": 374, "nodeType": "ExpressionStatement", - "src": "8232:55:0" + "src": "8158:55:0" }, { "expression": { "argumentTypes": null, - "id": 388, + "id": 386, "isConstant": false, "isLValue": false, "isPure": false, @@ -21790,26 +21720,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 377, + "id": 375, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 77, - "src": "8298:12:0", + "referencedDeclaration": 75, + "src": "8224:12:0", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$73_storage_$", + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 379, + "id": 377, "indexExpression": { "argumentTypes": null, - "id": 378, + "id": 376, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 348, - "src": "8311:10:0", + "referencedDeclaration": 346, + "src": "8237:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -21820,21 +21750,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "8298:24:0", + "src": "8224:24:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_Transaction_$73_storage", + "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 380, + "id": 378, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "value", "nodeType": "MemberAccess", - "referencedDeclaration": 42, - "src": "8298:30:0", + "referencedDeclaration": 40, + "src": "8224:30:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -21847,12 +21777,12 @@ "arguments": [ { "argumentTypes": null, - "id": 386, + "id": 384, "name": "_value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 366, - "src": "8379:6:0", + "referencedDeclaration": 364, + "src": "8305:6:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -21872,26 +21802,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 381, + "id": 379, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 77, - "src": "8331:12:0", + "referencedDeclaration": 75, + "src": "8257:12:0", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$73_storage_$", + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 383, + "id": 381, "indexExpression": { "argumentTypes": null, - "id": 382, + "id": 380, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 348, - "src": "8344:10:0", + "referencedDeclaration": 346, + "src": "8270:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -21902,41 +21832,41 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "8331:24:0", + "src": "8257:24:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_Transaction_$73_storage", + "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 384, + "id": 382, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "value", "nodeType": "MemberAccess", - "referencedDeclaration": 42, - "src": "8331:30:0", + "referencedDeclaration": 40, + "src": "8257:30:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 385, + "id": 383, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 1350, - "src": "8331:47:0", + "referencedDeclaration": 1347, + "src": "8257:47:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 387, + "id": 385, "isConstant": false, "isLValue": false, "isPure": false, @@ -21944,26 +21874,26 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8331:55:0", + "src": "8257:55:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "8298:88:0", + "src": "8224:88:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 389, + "id": 387, "nodeType": "ExpressionStatement", - "src": "8298:88:0" + "src": "8224:88:0" }, { "expression": { "argumentTypes": null, - "id": 396, + "id": 394, "isConstant": false, "isLValue": false, "isPure": false, @@ -21974,26 +21904,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 390, + "id": 388, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 77, - "src": "8396:12:0", + "referencedDeclaration": 75, + "src": "8322:12:0", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$73_storage_$", + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 392, + "id": 390, "indexExpression": { "argumentTypes": null, - "id": 391, + "id": 389, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 348, - "src": "8409:10:0", + "referencedDeclaration": 346, + "src": "8335:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -22004,21 +21934,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "8396:24:0", + "src": "8322:24:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_Transaction_$73_storage", + "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 393, + "id": 391, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "lastModified", "nodeType": "MemberAccess", - "referencedDeclaration": 44, - "src": "8396:37:0", + "referencedDeclaration": 42, + "src": "8322:37:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -22030,18 +21960,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 394, + "id": 392, "name": "block", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1376, - "src": "8436:5:0", + "referencedDeclaration": 1373, + "src": "8362:5:0", "typeDescriptions": { "typeIdentifier": "t_magic_block", "typeString": "block" } }, - "id": 395, + "id": 393, "isConstant": false, "isLValue": false, "isPure": false, @@ -22049,21 +21979,21 @@ "memberName": "timestamp", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "8436:15:0", + "src": "8362:15:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "8396:55:0", + "src": "8322:55:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 397, + "id": 395, "nodeType": "ExpressionStatement", - "src": "8396:55:0" + "src": "8322:55:0" }, { "eventCall": { @@ -22071,12 +22001,12 @@ "arguments": [ { "argumentTypes": null, - "id": 399, + "id": 397, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 348, - "src": "8477:10:0", + "referencedDeclaration": 346, + "src": "8403:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -22086,18 +22016,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 400, + "id": 398, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1386, - "src": "8489:3:0", + "referencedDeclaration": 1383, + "src": "8415:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 401, + "id": 399, "isConstant": false, "isLValue": false, "isPure": false, @@ -22105,7 +22035,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "8489:10:0", + "src": "8415:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -22113,12 +22043,12 @@ }, { "argumentTypes": null, - "id": 402, + "id": 400, "name": "_value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 366, - "src": "8501:6:0", + "referencedDeclaration": 364, + "src": "8427:6:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -22140,18 +22070,18 @@ "typeString": "uint256" } ], - "id": 398, + "id": 396, "name": "FundAdded", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 30, - "src": "8467:9:0", + "src": "8393:9:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (bytes32,address,uint256)" } }, - "id": 403, + "id": 401, "isConstant": false, "isLValue": false, "isPure": false, @@ -22159,20 +22089,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8467:41:0", + "src": "8393:41:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 404, + "id": 402, "nodeType": "EmitStatement", - "src": "8462:46:0" + "src": "8388:46:0" } ] }, "documentation": "dev Allows buyer of the transaction to add more funds(ether) in the transaction. This will help to cater scenarios wherein initially buyer missed to fund transaction as required\nparam scriptHash script hash of the transaction\nOnly buyer of the transaction can invoke this method", - "id": 406, + "id": 404, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -22181,78 +22111,78 @@ "arguments": [ { "argumentTypes": null, - "id": 351, + "id": 349, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 348, - "src": "8025:10:0", + "referencedDeclaration": 346, + "src": "7951:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } } ], - "id": 352, + "id": 350, "modifierName": { "argumentTypes": null, - "id": 350, + "id": 348, "name": "transactionExists", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 101, - "src": "8007:17:0", + "referencedDeclaration": 99, + "src": "7933:17:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "8007:29:0" + "src": "7933:29:0" }, { "arguments": [ { "argumentTypes": null, - "id": 354, + "id": 352, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 348, - "src": "8059:10:0", + "referencedDeclaration": 346, + "src": "7985:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } } ], - "id": 355, + "id": 353, "modifierName": { "argumentTypes": null, - "id": 353, + "id": 351, "name": "inFundedState", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 134, - "src": "8045:13:0", + "referencedDeclaration": 132, + "src": "7971:13:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "8045:25:0" + "src": "7971:25:0" }, { "arguments": [ { "argumentTypes": null, - "id": 357, + "id": 355, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 348, - "src": "8100:10:0", + "referencedDeclaration": 346, + "src": "8026:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -22262,18 +22192,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 358, + "id": 356, "name": "TransactionType", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12, - "src": "8112:15:0", + "src": "8038:15:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_TransactionType_$12_$", "typeString": "type(enum Escrow_v1_0.TransactionType)" } }, - "id": 359, + "id": 357, "isConstant": false, "isLValue": false, "isPure": true, @@ -22281,77 +22211,77 @@ "memberName": "ETHER", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "8112:21:0", + "src": "8038:21:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" } } ], - "id": 360, + "id": 358, "modifierName": { "argumentTypes": null, - "id": 356, + "id": 354, "name": "checkTransactionType", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 167, - "src": "8079:20:0", + "referencedDeclaration": 165, + "src": "8005:20:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$_t_enum$_TransactionType_$12_$", "typeString": "modifier (bytes32,enum Escrow_v1_0.TransactionType)" } }, "nodeType": "ModifierInvocation", - "src": "8079:55:0" + "src": "8005:55:0" }, { "arguments": [ { "argumentTypes": null, - "id": 362, + "id": 360, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 348, - "src": "8153:10:0", + "referencedDeclaration": 346, + "src": "8079:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } } ], - "id": 363, + "id": 361, "modifierName": { "argumentTypes": null, - "id": 361, + "id": 359, "name": "onlyBuyer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 184, - "src": "8143:9:0", + "referencedDeclaration": 182, + "src": "8069:9:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "8143:21:0" + "src": "8069:21:0" } ], "name": "addFundsToTransaction", "nodeType": "FunctionDefinition", "parameters": { - "id": 349, + "id": 347, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 348, + "id": 346, "name": "scriptHash", "nodeType": "VariableDeclaration", - "scope": 406, - "src": "7957:18:0", + "scope": 404, + "src": "7883:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -22359,10 +22289,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 347, + "id": 345, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "7957:7:0", + "src": "7883:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -22372,39 +22302,39 @@ "visibility": "internal" } ], - "src": "7947:34:0" + "src": "7873:34:0" }, "payable": true, "returnParameters": { - "id": 364, + "id": 362, "nodeType": "ParameterList", "parameters": [], - "src": "8185:0:0" + "src": "8111:0:0" }, - "scope": 1213, - "src": "7917:598:0", + "scope": 1210, + "src": "7843:598:0", "stateMutability": "payable", "superFunction": null, "visibility": "external" }, { "body": { - "id": 488, + "id": 486, "nodeType": "Block", - "src": "9051:648:0", + "src": "8977:648:0", "statements": [ { "assignments": [ - 428 + 426 ], "declarations": [ { "constant": false, - "id": 428, + "id": 426, "name": "_value", "nodeType": "VariableDeclaration", - "scope": 489, - "src": "9061:14:0", + "scope": 487, + "src": "8987:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -22412,10 +22342,10 @@ "typeString": "uint256" }, "typeName": { - "id": 427, + "id": 425, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "9061:7:0", + "src": "8987:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -22425,22 +22355,22 @@ "visibility": "internal" } ], - "id": 430, + "id": 428, "initialValue": { "argumentTypes": null, - "id": 429, + "id": 427, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 410, - "src": "9078:5:0", + "referencedDeclaration": 408, + "src": "9004:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "9061:22:0" + "src": "8987:22:0" }, { "expression": { @@ -22452,19 +22382,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 434, + "id": 432, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 432, + "id": 430, "name": "_value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 428, - "src": "9102:6:0", + "referencedDeclaration": 426, + "src": "9028:6:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -22475,14 +22405,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 433, + "id": 431, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "9111:1:0", + "src": "9037:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -22490,7 +22420,7 @@ }, "value": "0" }, - "src": "9102:10:0", + "src": "9028:10:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -22499,14 +22429,14 @@ { "argumentTypes": null, "hexValue": "56616c7565206d7573742062652067726561746572207468616e207a65726f2e", - "id": 435, + "id": 433, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "9114:34:0", + "src": "9040:34:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_21fbec2be6560b9ccffc4980d43c0d147770168e7aaf24999b418b9010085622", @@ -22526,21 +22456,21 @@ "typeString": "literal_string \"Value must be greater than zero.\"" } ], - "id": 431, + "id": 429, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1389, - 1390 + 1386, + 1387 ], - "referencedDeclaration": 1390, - "src": "9094:7:0", + "referencedDeclaration": 1387, + "src": "9020:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 436, + "id": 434, "isConstant": false, "isLValue": false, "isPure": false, @@ -22548,43 +22478,43 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "9094:55:0", + "src": "9020:55:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 437, + "id": 435, "nodeType": "ExpressionStatement", - "src": "9094:55:0" + "src": "9020:55:0" }, { "assignments": [ - 439 + 437 ], "declarations": [ { "constant": false, - "id": 439, + "id": 437, "name": "token", "nodeType": "VariableDeclaration", - "scope": 489, - "src": "9160:20:0", + "scope": 487, + "src": "9086:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenContract_$1243", + "typeIdentifier": "t_contract$_ITokenContract_$1240", "typeString": "contract ITokenContract" }, "typeName": { "contractScope": null, - "id": 438, + "id": 436, "name": "ITokenContract", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1243, - "src": "9160:14:0", + "referencedDeclaration": 1240, + "src": "9086:14:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenContract_$1243", + "typeIdentifier": "t_contract$_ITokenContract_$1240", "typeString": "contract ITokenContract" } }, @@ -22592,7 +22522,7 @@ "visibility": "internal" } ], - "id": 446, + "id": 444, "initialValue": { "argumentTypes": null, "arguments": [ @@ -22602,26 +22532,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 441, + "id": 439, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 77, - "src": "9211:12:0", + "referencedDeclaration": 75, + "src": "9137:12:0", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$73_storage_$", + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 443, + "id": 441, "indexExpression": { "argumentTypes": null, - "id": 442, + "id": 440, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 408, - "src": "9224:10:0", + "referencedDeclaration": 406, + "src": "9150:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -22632,21 +22562,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "9211:24:0", + "src": "9137:24:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_Transaction_$73_storage", + "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 444, + "id": 442, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "tokenAddress", "nodeType": "MemberAccess", - "referencedDeclaration": 58, - "src": "9211:37:0", + "referencedDeclaration": 56, + "src": "9137:37:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -22660,18 +22590,18 @@ "typeString": "address" } ], - "id": 440, + "id": 438, "name": "ITokenContract", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1243, - "src": "9183:14:0", + "referencedDeclaration": 1240, + "src": "9109:14:0", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ITokenContract_$1243_$", + "typeIdentifier": "t_type$_t_contract$_ITokenContract_$1240_$", "typeString": "type(contract ITokenContract)" } }, - "id": 445, + "id": 443, "isConstant": false, "isLValue": false, "isPure": false, @@ -22679,14 +22609,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "9183:75:0", + "src": "9109:75:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenContract_$1243", + "typeIdentifier": "t_contract$_ITokenContract_$1240", "typeString": "contract ITokenContract" } }, "nodeType": "VariableDeclarationStatement", - "src": "9160:98:0" + "src": "9086:98:0" }, { "expression": { @@ -22701,26 +22631,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 450, + "id": 448, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 77, - "src": "9309:12:0", + "referencedDeclaration": 75, + "src": "9235:12:0", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$73_storage_$", + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 452, + "id": 450, "indexExpression": { "argumentTypes": null, - "id": 451, + "id": 449, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 408, - "src": "9322:10:0", + "referencedDeclaration": 406, + "src": "9248:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -22731,21 +22661,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "9309:24:0", + "src": "9235:24:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_Transaction_$73_storage", + "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 453, + "id": 451, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "buyer", "nodeType": "MemberAccess", - "referencedDeclaration": 54, - "src": "9309:30:0", + "referencedDeclaration": 52, + "src": "9235:30:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -22753,25 +22683,25 @@ }, { "argumentTypes": null, - "id": 454, + "id": 452, "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1403, - "src": "9341:4:0", + "referencedDeclaration": 1400, + "src": "9267:4:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_Escrow_v1_0_$1213", + "typeIdentifier": "t_contract$_Escrow_v1_0_$1210", "typeString": "contract Escrow_v1_0" } }, { "argumentTypes": null, - "id": 455, + "id": 453, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 410, - "src": "9347:5:0", + "referencedDeclaration": 408, + "src": "9273:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -22785,7 +22715,7 @@ "typeString": "address" }, { - "typeIdentifier": "t_contract$_Escrow_v1_0_$1213", + "typeIdentifier": "t_contract$_Escrow_v1_0_$1210", "typeString": "contract Escrow_v1_0" }, { @@ -22795,32 +22725,32 @@ ], "expression": { "argumentTypes": null, - "id": 448, + "id": 446, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 439, - "src": "9290:5:0", + "referencedDeclaration": 437, + "src": "9216:5:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenContract_$1243", + "typeIdentifier": "t_contract$_ITokenContract_$1240", "typeString": "contract ITokenContract" } }, - "id": 449, + "id": 447, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "transferFrom", "nodeType": "MemberAccess", - "referencedDeclaration": 1242, - "src": "9290:18:0", + "referencedDeclaration": 1239, + "src": "9216:18:0", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", "typeString": "function (address,address,uint256) external returns (bool)" } }, - "id": 456, + "id": 454, "isConstant": false, "isLValue": false, "isPure": false, @@ -22828,7 +22758,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "9290:63:0", + "src": "9216:63:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -22837,14 +22767,14 @@ { "argumentTypes": null, "hexValue": "546f6b656e207472616e73666572206661696c65642c206d6179626520796f7520646964206e6f7420617070726f766520657363726f7720636f6e747261637420746f207370656e64206f6e20626568616c66206f66206275796572", - "id": 457, + "id": 455, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "9367:94:0", + "src": "9293:94:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_d9d07068d589bc4adc53018a3c57c159ec128fdfb62732a5fa9410e76cf03318", @@ -22864,21 +22794,21 @@ "typeString": "literal_string \"Token transfer failed, maybe you did not approve escrow contract to spend on behalf of buyer\"" } ], - "id": 447, + "id": 445, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1389, - 1390 + 1386, + 1387 ], - "referencedDeclaration": 1390, - "src": "9269:7:0", + "referencedDeclaration": 1387, + "src": "9195:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 458, + "id": 456, "isConstant": false, "isLValue": false, "isPure": false, @@ -22886,20 +22816,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "9269:202:0", + "src": "9195:202:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 459, + "id": 457, "nodeType": "ExpressionStatement", - "src": "9269:202:0" + "src": "9195:202:0" }, { "expression": { "argumentTypes": null, - "id": 471, + "id": 469, "isConstant": false, "isLValue": false, "isPure": false, @@ -22910,26 +22840,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 460, + "id": 458, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 77, - "src": "9482:12:0", + "referencedDeclaration": 75, + "src": "9408:12:0", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$73_storage_$", + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 462, + "id": 460, "indexExpression": { "argumentTypes": null, - "id": 461, + "id": 459, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 408, - "src": "9495:10:0", + "referencedDeclaration": 406, + "src": "9421:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -22940,21 +22870,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "9482:24:0", + "src": "9408:24:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_Transaction_$73_storage", + "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 463, + "id": 461, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "value", "nodeType": "MemberAccess", - "referencedDeclaration": 42, - "src": "9482:30:0", + "referencedDeclaration": 40, + "src": "9408:30:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -22967,12 +22897,12 @@ "arguments": [ { "argumentTypes": null, - "id": 469, + "id": 467, "name": "_value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 428, - "src": "9563:6:0", + "referencedDeclaration": 426, + "src": "9489:6:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -22992,26 +22922,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 464, + "id": 462, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 77, - "src": "9515:12:0", + "referencedDeclaration": 75, + "src": "9441:12:0", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$73_storage_$", + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 466, + "id": 464, "indexExpression": { "argumentTypes": null, - "id": 465, + "id": 463, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 408, - "src": "9528:10:0", + "referencedDeclaration": 406, + "src": "9454:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -23022,41 +22952,41 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "9515:24:0", + "src": "9441:24:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_Transaction_$73_storage", + "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 467, + "id": 465, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "value", "nodeType": "MemberAccess", - "referencedDeclaration": 42, - "src": "9515:30:0", + "referencedDeclaration": 40, + "src": "9441:30:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 468, + "id": 466, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 1350, - "src": "9515:47:0", + "referencedDeclaration": 1347, + "src": "9441:47:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 470, + "id": 468, "isConstant": false, "isLValue": false, "isPure": false, @@ -23064,26 +22994,26 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "9515:55:0", + "src": "9441:55:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "9482:88:0", + "src": "9408:88:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 472, + "id": 470, "nodeType": "ExpressionStatement", - "src": "9482:88:0" + "src": "9408:88:0" }, { "expression": { "argumentTypes": null, - "id": 479, + "id": 477, "isConstant": false, "isLValue": false, "isPure": false, @@ -23094,26 +23024,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 473, + "id": 471, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 77, - "src": "9580:12:0", + "referencedDeclaration": 75, + "src": "9506:12:0", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$73_storage_$", + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 475, + "id": 473, "indexExpression": { "argumentTypes": null, - "id": 474, + "id": 472, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 408, - "src": "9593:10:0", + "referencedDeclaration": 406, + "src": "9519:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -23124,21 +23054,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "9580:24:0", + "src": "9506:24:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_Transaction_$73_storage", + "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 476, + "id": 474, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "lastModified", "nodeType": "MemberAccess", - "referencedDeclaration": 44, - "src": "9580:37:0", + "referencedDeclaration": 42, + "src": "9506:37:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -23150,18 +23080,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 477, + "id": 475, "name": "block", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1376, - "src": "9620:5:0", + "referencedDeclaration": 1373, + "src": "9546:5:0", "typeDescriptions": { "typeIdentifier": "t_magic_block", "typeString": "block" } }, - "id": 478, + "id": 476, "isConstant": false, "isLValue": false, "isPure": false, @@ -23169,21 +23099,21 @@ "memberName": "timestamp", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "9620:15:0", + "src": "9546:15:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "9580:55:0", + "src": "9506:55:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 480, + "id": 478, "nodeType": "ExpressionStatement", - "src": "9580:55:0" + "src": "9506:55:0" }, { "eventCall": { @@ -23191,12 +23121,12 @@ "arguments": [ { "argumentTypes": null, - "id": 482, + "id": 480, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 408, - "src": "9661:10:0", + "referencedDeclaration": 406, + "src": "9587:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -23206,18 +23136,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 483, + "id": 481, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1386, - "src": "9673:3:0", + "referencedDeclaration": 1383, + "src": "9599:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 484, + "id": 482, "isConstant": false, "isLValue": false, "isPure": false, @@ -23225,7 +23155,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "9673:10:0", + "src": "9599:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -23233,12 +23163,12 @@ }, { "argumentTypes": null, - "id": 485, + "id": 483, "name": "_value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 428, - "src": "9685:6:0", + "referencedDeclaration": 426, + "src": "9611:6:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -23260,18 +23190,18 @@ "typeString": "uint256" } ], - "id": 481, + "id": 479, "name": "FundAdded", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 30, - "src": "9651:9:0", + "src": "9577:9:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (bytes32,address,uint256)" } }, - "id": 486, + "id": 484, "isConstant": false, "isLValue": false, "isPure": false, @@ -23279,20 +23209,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "9651:41:0", + "src": "9577:41:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 487, + "id": 485, "nodeType": "EmitStatement", - "src": "9646:46:0" + "src": "9572:46:0" } ] }, "documentation": "dev Allows buyer of the transaction to add more funds(Tokens) in the transaction. This will help to cater scenarios wherein initially buyer missed to fund transaction as required\nparam scriptHash script hash of the transaction", - "id": 489, + "id": 487, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -23301,78 +23231,78 @@ "arguments": [ { "argumentTypes": null, - "id": 413, + "id": 411, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 408, - "src": "8907:10:0", + "referencedDeclaration": 406, + "src": "8833:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } } ], - "id": 414, + "id": 412, "modifierName": { "argumentTypes": null, - "id": 412, + "id": 410, "name": "transactionExists", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 101, - "src": "8889:17:0", + "referencedDeclaration": 99, + "src": "8815:17:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "8889:29:0" + "src": "8815:29:0" }, { "arguments": [ { "argumentTypes": null, - "id": 416, + "id": 414, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 408, - "src": "8941:10:0", + "referencedDeclaration": 406, + "src": "8867:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } } ], - "id": 417, + "id": 415, "modifierName": { "argumentTypes": null, - "id": 415, + "id": 413, "name": "inFundedState", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 134, - "src": "8927:13:0", + "referencedDeclaration": 132, + "src": "8853:13:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "8927:25:0" + "src": "8853:25:0" }, { "arguments": [ { "argumentTypes": null, - "id": 419, + "id": 417, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 408, - "src": "8982:10:0", + "referencedDeclaration": 406, + "src": "8908:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -23382,18 +23312,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 420, + "id": 418, "name": "TransactionType", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12, - "src": "8994:15:0", + "src": "8920:15:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_TransactionType_$12_$", "typeString": "type(enum Escrow_v1_0.TransactionType)" } }, - "id": 421, + "id": 419, "isConstant": false, "isLValue": false, "isPure": true, @@ -23401,77 +23331,77 @@ "memberName": "TOKEN", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "8994:21:0", + "src": "8920:21:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" } } ], - "id": 422, + "id": 420, "modifierName": { "argumentTypes": null, - "id": 418, + "id": 416, "name": "checkTransactionType", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 167, - "src": "8961:20:0", + "referencedDeclaration": 165, + "src": "8887:20:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$_t_enum$_TransactionType_$12_$", "typeString": "modifier (bytes32,enum Escrow_v1_0.TransactionType)" } }, "nodeType": "ModifierInvocation", - "src": "8961:55:0" + "src": "8887:55:0" }, { "arguments": [ { "argumentTypes": null, - "id": 424, + "id": 422, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 408, - "src": "9035:10:0", + "referencedDeclaration": 406, + "src": "8961:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } } ], - "id": 425, + "id": 423, "modifierName": { "argumentTypes": null, - "id": 423, + "id": 421, "name": "onlyBuyer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 184, - "src": "9025:9:0", + "referencedDeclaration": 182, + "src": "8951:9:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "9025:21:0" + "src": "8951:21:0" } ], "name": "addTokensToTransaction", "nodeType": "FunctionDefinition", "parameters": { - "id": 411, + "id": 409, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 408, + "id": 406, "name": "scriptHash", "nodeType": "VariableDeclaration", - "scope": 489, - "src": "8816:18:0", + "scope": 487, + "src": "8742:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -23479,10 +23409,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 407, + "id": 405, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "8816:7:0", + "src": "8742:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -23493,11 +23423,11 @@ }, { "constant": false, - "id": 410, + "id": 408, "name": "value", "nodeType": "VariableDeclaration", - "scope": 489, - "src": "8844:13:0", + "scope": 487, + "src": "8770:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -23505,10 +23435,10 @@ "typeString": "uint256" }, "typeName": { - "id": 409, + "id": 407, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "8844:7:0", + "src": "8770:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -23518,52 +23448,52 @@ "visibility": "internal" } ], - "src": "8806:57:0" + "src": "8732:57:0" }, "payable": false, "returnParameters": { - "id": 426, + "id": 424, "nodeType": "ParameterList", "parameters": [], - "src": "9051:0:0" + "src": "8977:0:0" }, - "scope": 1213, - "src": "8775:924:0", + "scope": 1210, + "src": "8701:924:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" }, { "body": { - "id": 501, + "id": 499, "nodeType": "Block", - "src": "9967:56:0", + "src": "9893:56:0", "statements": [ { "expression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 497, + "id": 495, "name": "partyVsTransaction", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 85, - "src": "9984:18:0", + "referencedDeclaration": 83, + "src": "9910:18:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_bytes32_$dyn_storage_$", "typeString": "mapping(address => bytes32[] storage ref)" } }, - "id": 499, + "id": 497, "indexExpression": { "argumentTypes": null, - "id": 498, + "id": 496, "name": "partyAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 491, - "src": "10003:12:0", + "referencedDeclaration": 489, + "src": "9929:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -23574,21 +23504,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "9984:32:0", + "src": "9910:32:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage", "typeString": "bytes32[] storage ref" } }, - "functionReturnParameters": 496, - "id": 500, + "functionReturnParameters": 494, + "id": 498, "nodeType": "Return", - "src": "9977:39:0" + "src": "9903:39:0" } ] }, "documentation": "dev Returns all transaction ids for a party\nparam partyAddress Address of the party", - "id": 502, + "id": 500, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -23596,16 +23526,16 @@ "name": "getAllTransactionsForParty", "nodeType": "FunctionDefinition", "parameters": { - "id": 492, + "id": 490, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 491, + "id": 489, "name": "partyAddress", "nodeType": "VariableDeclaration", - "scope": 502, - "src": "9861:20:0", + "scope": 500, + "src": "9787:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -23613,10 +23543,10 @@ "typeString": "address" }, "typeName": { - "id": 490, + "id": 488, "name": "address", "nodeType": "ElementaryTypeName", - "src": "9861:7:0", + "src": "9787:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -23626,20 +23556,20 @@ "visibility": "internal" } ], - "src": "9851:36:0" + "src": "9777:36:0" }, "payable": false, "returnParameters": { - "id": 496, + "id": 494, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 495, + "id": 493, "name": "scriptHashes", "nodeType": "VariableDeclaration", - "scope": 502, - "src": "9938:22:0", + "scope": 500, + "src": "9864:22:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -23648,19 +23578,19 @@ }, "typeName": { "baseType": { - "id": 493, + "id": 491, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "9938:7:0", + "src": "9864:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "id": 494, + "id": 492, "length": null, "nodeType": "ArrayTypeName", - "src": "9938:9:0", + "src": "9864:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -23670,19 +23600,19 @@ "visibility": "internal" } ], - "src": "9937:24:0" + "src": "9863:24:0" }, - "scope": 1213, - "src": "9816:207:0", + "scope": 1210, + "src": "9742:207:0", "stateMutability": "view", "superFunction": null, "visibility": "external" }, { "body": { - "id": 587, + "id": 585, "nodeType": "Block", - "src": "11053:790:0", + "src": "10979:790:0", "statements": [ { "expression": { @@ -23694,7 +23624,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 538, + "id": 536, "isConstant": false, "isLValue": false, "isPure": false, @@ -23705,7 +23635,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 532, + "id": 530, "isConstant": false, "isLValue": false, "isPure": false, @@ -23714,18 +23644,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 529, + "id": 527, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 516, - "src": "11084:12:0", + "referencedDeclaration": 514, + "src": "11010:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" } }, - "id": 530, + "id": 528, "isConstant": false, "isLValue": false, "isPure": false, @@ -23733,7 +23663,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "11084:19:0", + "src": "11010:19:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -23744,14 +23674,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 531, + "id": 529, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "11104:1:0", + "src": "11030:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -23759,7 +23689,7 @@ }, "value": "0" }, - "src": "11084:21:0", + "src": "11010:21:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -23773,7 +23703,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 537, + "id": 535, "isConstant": false, "isLValue": false, "isPure": false, @@ -23782,18 +23712,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 533, + "id": 531, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 516, - "src": "11109:12:0", + "referencedDeclaration": 514, + "src": "11035:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" } }, - "id": 534, + "id": 532, "isConstant": false, "isLValue": false, "isPure": false, @@ -23801,7 +23731,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "11109:19:0", + "src": "11035:19:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -23813,18 +23743,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 535, + "id": 533, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 519, - "src": "11132:7:0", + "referencedDeclaration": 517, + "src": "11058:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", "typeString": "uint256[] calldata" } }, - "id": 536, + "id": 534, "isConstant": false, "isLValue": false, "isPure": false, @@ -23832,19 +23762,19 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "11132:14:0", + "src": "11058:14:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "11109:37:0", + "src": "11035:37:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "11084:62:0", + "src": "11010:62:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -23853,14 +23783,14 @@ { "argumentTypes": null, "hexValue": "4c656e677468206f662064657374696e6174696f6e7320697320696e636f72726563742e", - "id": 539, + "id": 537, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "11148:38:0", + "src": "11074:38:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_53e979b0c355ea1eeda44a80ca73370fdb2abe922711b459aa4ee43d1558782b", @@ -23880,21 +23810,21 @@ "typeString": "literal_string \"Length of destinations is incorrect.\"" } ], - "id": 528, + "id": 526, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1389, - 1390 + 1386, + 1387 ], - "referencedDeclaration": 1390, - "src": "11063:7:0", + "referencedDeclaration": 1387, + "src": "10989:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 540, + "id": 538, "isConstant": false, "isLValue": false, "isPure": false, @@ -23902,15 +23832,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "11063:133:0", + "src": "10989:133:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 541, + "id": 539, "nodeType": "ExpressionStatement", - "src": "11063:133:0" + "src": "10989:133:0" }, { "expression": { @@ -23918,12 +23848,12 @@ "arguments": [ { "argumentTypes": null, - "id": 543, + "id": 541, "name": "sigV", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 505, - "src": "11238:4:0", + "referencedDeclaration": 503, + "src": "11164:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_calldata_ptr", "typeString": "uint8[] calldata" @@ -23931,12 +23861,12 @@ }, { "argumentTypes": null, - "id": 544, + "id": 542, "name": "sigR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 508, - "src": "11256:4:0", + "referencedDeclaration": 506, + "src": "11182:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", "typeString": "bytes32[] calldata" @@ -23944,12 +23874,12 @@ }, { "argumentTypes": null, - "id": 545, + "id": 543, "name": "sigS", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 511, - "src": "11274:4:0", + "referencedDeclaration": 509, + "src": "11200:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", "typeString": "bytes32[] calldata" @@ -23957,12 +23887,12 @@ }, { "argumentTypes": null, - "id": 546, + "id": 544, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 513, - "src": "11292:10:0", + "referencedDeclaration": 511, + "src": "11218:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -23970,12 +23900,12 @@ }, { "argumentTypes": null, - "id": 547, + "id": 545, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 516, - "src": "11316:12:0", + "referencedDeclaration": 514, + "src": "11242:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" @@ -23983,12 +23913,12 @@ }, { "argumentTypes": null, - "id": 548, + "id": 546, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 519, - "src": "11342:7:0", + "referencedDeclaration": 517, + "src": "11268:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", "typeString": "uint256[] calldata" @@ -24022,18 +23952,18 @@ "typeString": "uint256[] calldata" } ], - "id": 542, + "id": 540, "name": "verifyTransaction", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 716, - "src": "11207:17:0", + "referencedDeclaration": 714, + "src": "11133:17:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_array$_t_uint8_$dyn_memory_ptr_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_bytes32_$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$__$", "typeString": "function (uint8[] memory,bytes32[] memory,bytes32[] memory,bytes32,address[] memory,uint256[] memory)" } }, - "id": 549, + "id": 547, "isConstant": false, "isLValue": false, "isPure": false, @@ -24041,20 +23971,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "11207:152:0", + "src": "11133:152:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 550, + "id": 548, "nodeType": "ExpressionStatement", - "src": "11207:152:0" + "src": "11133:152:0" }, { "expression": { "argumentTypes": null, - "id": 557, + "id": 555, "isConstant": false, "isLValue": false, "isPure": false, @@ -24065,26 +23995,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 551, + "id": 549, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 77, - "src": "11370:12:0", + "referencedDeclaration": 75, + "src": "11296:12:0", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$73_storage_$", + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 553, + "id": 551, "indexExpression": { "argumentTypes": null, - "id": 552, + "id": 550, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 513, - "src": "11383:10:0", + "referencedDeclaration": 511, + "src": "11309:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -24095,21 +24025,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "11370:24:0", + "src": "11296:24:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_Transaction_$73_storage", + "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 554, + "id": 552, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "status", "nodeType": "MemberAccess", - "referencedDeclaration": 46, - "src": "11370:31:0", + "referencedDeclaration": 44, + "src": "11296:31:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$9", "typeString": "enum Escrow_v1_0.Status" @@ -24121,18 +24051,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 555, + "id": 553, "name": "Status", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9, - "src": "11404:6:0", + "src": "11330:6:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_Status_$9_$", "typeString": "type(enum Escrow_v1_0.Status)" } }, - "id": 556, + "id": 554, "isConstant": false, "isLValue": false, "isPure": true, @@ -24140,26 +24070,26 @@ "memberName": "RELEASED", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "11404:15:0", + "src": "11330:15:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$9", "typeString": "enum Escrow_v1_0.Status" } }, - "src": "11370:49:0", + "src": "11296:49:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$9", "typeString": "enum Escrow_v1_0.Status" } }, - "id": 558, + "id": 556, "nodeType": "ExpressionStatement", - "src": "11370:49:0" + "src": "11296:49:0" }, { "expression": { "argumentTypes": null, - "id": 565, + "id": 563, "isConstant": false, "isLValue": false, "isPure": false, @@ -24170,26 +24100,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 559, + "id": 557, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 77, - "src": "11503:12:0", + "referencedDeclaration": 75, + "src": "11429:12:0", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$73_storage_$", + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 561, + "id": 559, "indexExpression": { "argumentTypes": null, - "id": 560, + "id": 558, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 513, - "src": "11516:10:0", + "referencedDeclaration": 511, + "src": "11442:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -24200,21 +24130,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "11503:24:0", + "src": "11429:24:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_Transaction_$73_storage", + "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 562, + "id": 560, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "lastModified", "nodeType": "MemberAccess", - "referencedDeclaration": 44, - "src": "11503:37:0", + "referencedDeclaration": 42, + "src": "11429:37:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -24226,18 +24156,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 563, + "id": 561, "name": "block", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1376, - "src": "11543:5:0", + "referencedDeclaration": 1373, + "src": "11469:5:0", "typeDescriptions": { "typeIdentifier": "t_magic_block", "typeString": "block" } }, - "id": 564, + "id": 562, "isConstant": false, "isLValue": false, "isPure": false, @@ -24245,21 +24175,21 @@ "memberName": "timestamp", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "11543:15:0", + "src": "11469:15:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "11503:55:0", + "src": "11429:55:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 566, + "id": 564, "nodeType": "ExpressionStatement", - "src": "11503:55:0" + "src": "11429:55:0" }, { "expression": { @@ -24271,7 +24201,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 577, + "id": 575, "isConstant": false, "isLValue": false, "isPure": false, @@ -24281,12 +24211,12 @@ "arguments": [ { "argumentTypes": null, - "id": 569, + "id": 567, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 513, - "src": "11603:10:0", + "referencedDeclaration": 511, + "src": "11529:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -24294,12 +24224,12 @@ }, { "argumentTypes": null, - "id": 570, + "id": 568, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 516, - "src": "11615:12:0", + "referencedDeclaration": 514, + "src": "11541:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" @@ -24307,12 +24237,12 @@ }, { "argumentTypes": null, - "id": 571, + "id": 569, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 519, - "src": "11629:7:0", + "referencedDeclaration": 517, + "src": "11555:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", "typeString": "uint256[] calldata" @@ -24334,18 +24264,18 @@ "typeString": "uint256[] calldata" } ], - "id": 568, + "id": 566, "name": "transferFunds", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 897, - "src": "11589:13:0", + "referencedDeclaration": 895, + "src": "11515:13:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$_t_uint256_$", "typeString": "function (bytes32,address[] memory,uint256[] memory) returns (uint256)" } }, - "id": 572, + "id": 570, "isConstant": false, "isLValue": false, "isPure": false, @@ -24353,7 +24283,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "11589:48:0", + "src": "11515:48:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -24367,26 +24297,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 573, + "id": 571, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 77, - "src": "11641:12:0", + "referencedDeclaration": 75, + "src": "11567:12:0", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$73_storage_$", + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 575, + "id": 573, "indexExpression": { "argumentTypes": null, - "id": 574, + "id": 572, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 513, - "src": "11654:10:0", + "referencedDeclaration": 511, + "src": "11580:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -24397,27 +24327,27 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "11641:24:0", + "src": "11567:24:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_Transaction_$73_storage", + "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 576, + "id": 574, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "value", "nodeType": "MemberAccess", - "referencedDeclaration": 42, - "src": "11641:30:0", + "referencedDeclaration": 40, + "src": "11567:30:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "11589:82:0", + "src": "11515:82:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -24426,14 +24356,14 @@ { "argumentTypes": null, "hexValue": "546f74616c2076616c756520746f2062652072656c6561736564206d75737420626520657175616c20746f20746865207472616e73616374696f6e20657363726f772076616c7565", - "id": 578, + "id": 576, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "11685:74:0", + "src": "11611:74:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_9e0bdb14e2e0d5e118fd1f547268c6a1fdb5e8facacd614066d4b60bc2c9941d", @@ -24453,21 +24383,21 @@ "typeString": "literal_string \"Total value to be released must be equal to the transaction escrow value\"" } ], - "id": 567, + "id": 565, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1389, - 1390 + 1386, + 1387 ], - "referencedDeclaration": 1390, - "src": "11568:7:0", + "referencedDeclaration": 1387, + "src": "11494:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 579, + "id": 577, "isConstant": false, "isLValue": false, "isPure": false, @@ -24475,15 +24405,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "11568:201:0", + "src": "11494:201:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 580, + "id": 578, "nodeType": "ExpressionStatement", - "src": "11568:201:0" + "src": "11494:201:0" }, { "eventCall": { @@ -24491,12 +24421,12 @@ "arguments": [ { "argumentTypes": null, - "id": 582, + "id": 580, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 513, - "src": "11802:10:0", + "referencedDeclaration": 511, + "src": "11728:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -24504,12 +24434,12 @@ }, { "argumentTypes": null, - "id": 583, + "id": 581, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 516, - "src": "11814:12:0", + "referencedDeclaration": 514, + "src": "11740:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" @@ -24517,12 +24447,12 @@ }, { "argumentTypes": null, - "id": 584, + "id": 582, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 519, - "src": "11828:7:0", + "referencedDeclaration": 517, + "src": "11754:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", "typeString": "uint256[] calldata" @@ -24544,18 +24474,18 @@ "typeString": "uint256[] calldata" } ], - "id": 581, + "id": 579, "name": "Executed", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 22, - "src": "11793:8:0", + "src": "11719:8:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$__$", "typeString": "function (bytes32,address[] memory,uint256[] memory)" } }, - "id": 585, + "id": 583, "isConstant": false, "isLValue": false, "isPure": false, @@ -24563,20 +24493,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "11793:43:0", + "src": "11719:43:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 586, + "id": 584, "nodeType": "EmitStatement", - "src": "11788:48:0" + "src": "11714:48:0" } ] }, "documentation": "dev Allows one of the moderator to collect all the signature to solve dispute and submit it to this method.\nIf all the required signatures are collected and consensus has been reached than funds will be released to the voted party\nparam sigV Array containing V component of all the signatures\nparam sigR Array containing R component of all the signatures\nparam signS Array containing S component of all the signatures\nparam scriptHash script hash of the transaction\nparam destinations address of the destination in whose favour dispute resolution is taking place. In case of split payments it will be address of the split payments contract\nparam amounts value to send to each destination", - "id": 588, + "id": 586, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -24585,82 +24515,82 @@ "arguments": [ { "argumentTypes": null, - "id": 522, + "id": 520, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 513, - "src": "11003:10:0", + "referencedDeclaration": 511, + "src": "10929:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } } ], - "id": 523, + "id": 521, "modifierName": { "argumentTypes": null, - "id": 521, + "id": 519, "name": "transactionExists", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 101, - "src": "10985:17:0", + "referencedDeclaration": 99, + "src": "10911:17:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "10985:29:0" + "src": "10911:29:0" }, { "arguments": [ { "argumentTypes": null, - "id": 525, + "id": 523, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 513, - "src": "11037:10:0", + "referencedDeclaration": 511, + "src": "10963:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } } ], - "id": 526, + "id": 524, "modifierName": { "argumentTypes": null, - "id": 524, + "id": 522, "name": "inFundedState", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 134, - "src": "11023:13:0", + "referencedDeclaration": 132, + "src": "10949:13:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "11023:25:0" + "src": "10949:25:0" } ], "name": "execute", "nodeType": "FunctionDefinition", "parameters": { - "id": 520, + "id": 518, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 505, + "id": 503, "name": "sigV", "nodeType": "VariableDeclaration", - "scope": 588, - "src": "10806:12:0", + "scope": 586, + "src": "10732:12:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -24669,19 +24599,19 @@ }, "typeName": { "baseType": { - "id": 503, + "id": 501, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "10806:5:0", + "src": "10732:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, - "id": 504, + "id": 502, "length": null, "nodeType": "ArrayTypeName", - "src": "10806:7:0", + "src": "10732:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_storage_ptr", "typeString": "uint8[]" @@ -24692,11 +24622,11 @@ }, { "constant": false, - "id": 508, + "id": 506, "name": "sigR", "nodeType": "VariableDeclaration", - "scope": 588, - "src": "10828:14:0", + "scope": 586, + "src": "10754:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -24705,19 +24635,19 @@ }, "typeName": { "baseType": { - "id": 506, + "id": 504, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "10828:7:0", + "src": "10754:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "id": 507, + "id": 505, "length": null, "nodeType": "ArrayTypeName", - "src": "10828:9:0", + "src": "10754:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -24728,11 +24658,11 @@ }, { "constant": false, - "id": 511, + "id": 509, "name": "sigS", "nodeType": "VariableDeclaration", - "scope": 588, - "src": "10852:14:0", + "scope": 586, + "src": "10778:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -24741,19 +24671,19 @@ }, "typeName": { "baseType": { - "id": 509, + "id": 507, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "10852:7:0", + "src": "10778:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "id": 510, + "id": 508, "length": null, "nodeType": "ArrayTypeName", - "src": "10852:9:0", + "src": "10778:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -24764,11 +24694,11 @@ }, { "constant": false, - "id": 513, + "id": 511, "name": "scriptHash", "nodeType": "VariableDeclaration", - "scope": 588, - "src": "10876:18:0", + "scope": 586, + "src": "10802:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -24776,10 +24706,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 512, + "id": 510, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "10876:7:0", + "src": "10802:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -24790,11 +24720,11 @@ }, { "constant": false, - "id": 516, + "id": 514, "name": "destinations", "nodeType": "VariableDeclaration", - "scope": 588, - "src": "10904:22:0", + "scope": 586, + "src": "10830:22:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -24803,19 +24733,19 @@ }, "typeName": { "baseType": { - "id": 514, + "id": 512, "name": "address", "nodeType": "ElementaryTypeName", - "src": "10904:7:0", + "src": "10830:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 515, + "id": 513, "length": null, "nodeType": "ArrayTypeName", - "src": "10904:9:0", + "src": "10830:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", "typeString": "address[]" @@ -24826,11 +24756,11 @@ }, { "constant": false, - "id": 519, + "id": 517, "name": "amounts", "nodeType": "VariableDeclaration", - "scope": 588, - "src": "10936:17:0", + "scope": 586, + "src": "10862:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -24839,19 +24769,19 @@ }, "typeName": { "baseType": { - "id": 517, + "id": 515, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "10936:7:0", + "src": "10862:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 518, + "id": 516, "length": null, "nodeType": "ArrayTypeName", - "src": "10936:9:0", + "src": "10862:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -24861,26 +24791,26 @@ "visibility": "internal" } ], - "src": "10796:163:0" + "src": "10722:163:0" }, "payable": false, "returnParameters": { - "id": 527, + "id": 525, "nodeType": "ParameterList", "parameters": [], - "src": "11053:0:0" + "src": "10979:0:0" }, - "scope": 1213, - "src": "10780:1063:0", + "scope": 1210, + "src": "10706:1063:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" }, { "body": { - "id": 646, + "id": 644, "nodeType": "Block", - "src": "12602:716:0", + "src": "12528:716:0", "statements": [ { "condition": { @@ -24889,19 +24819,19 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 611, + "id": 609, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 607, + "id": 605, "name": "tokenAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 602, - "src": "12616:12:0", + "referencedDeclaration": 600, + "src": "12542:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -24915,14 +24845,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 609, + "id": 607, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "12640:1:0", + "src": "12566:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -24938,20 +24868,20 @@ "typeString": "int_const 0" } ], - "id": 608, + "id": 606, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "12632:7:0", + "src": "12558:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, - "id": 610, + "id": 608, "isConstant": false, "isLValue": false, "isPure": true, @@ -24959,39 +24889,39 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "12632:10:0", + "src": "12558:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "12616:26:0", + "src": "12542:26:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": { - "id": 644, + "id": 642, "nodeType": "Block", - "src": "12964:348:0", + "src": "12890:348:0", "statements": [ { "expression": { "argumentTypes": null, - "id": 642, + "id": 640, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 628, + "id": 626, "name": "hash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 605, - "src": "12978:4:0", + "referencedDeclaration": 603, + "src": "12904:4:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -25007,12 +24937,12 @@ "arguments": [ { "argumentTypes": null, - "id": 632, + "id": 630, "name": "uniqueId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 590, - "src": "13050:8:0", + "referencedDeclaration": 588, + "src": "12976:8:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -25020,12 +24950,12 @@ }, { "argumentTypes": null, - "id": 633, + "id": 631, "name": "threshold", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 592, - "src": "13080:9:0", + "referencedDeclaration": 590, + "src": "13006:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -25033,12 +24963,12 @@ }, { "argumentTypes": null, - "id": 634, + "id": 632, "name": "timeoutHours", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 594, - "src": "13111:12:0", + "referencedDeclaration": 592, + "src": "13037:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -25046,12 +24976,12 @@ }, { "argumentTypes": null, - "id": 635, + "id": 633, "name": "buyer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 596, - "src": "13145:5:0", + "referencedDeclaration": 594, + "src": "13071:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -25059,12 +24989,12 @@ }, { "argumentTypes": null, - "id": 636, + "id": 634, "name": "seller", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 598, - "src": "13172:6:0", + "referencedDeclaration": 596, + "src": "13098:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -25072,12 +25002,12 @@ }, { "argumentTypes": null, - "id": 637, + "id": 635, "name": "moderator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 600, - "src": "13200:9:0", + "referencedDeclaration": 598, + "src": "13126:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -25085,25 +25015,25 @@ }, { "argumentTypes": null, - "id": 638, + "id": 636, "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1403, - "src": "13231:4:0", + "referencedDeclaration": 1400, + "src": "13157:4:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_Escrow_v1_0_$1213", + "typeIdentifier": "t_contract$_Escrow_v1_0_$1210", "typeString": "contract Escrow_v1_0" } }, { "argumentTypes": null, - "id": 639, + "id": 637, "name": "tokenAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 602, - "src": "13257:12:0", + "referencedDeclaration": 600, + "src": "13183:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -25137,7 +25067,7 @@ "typeString": "address" }, { - "typeIdentifier": "t_contract$_Escrow_v1_0_$1213", + "typeIdentifier": "t_contract$_Escrow_v1_0_$1210", "typeString": "contract Escrow_v1_0" }, { @@ -25147,18 +25077,18 @@ ], "expression": { "argumentTypes": null, - "id": 630, + "id": 628, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1373, - "src": "13012:3:0", + "referencedDeclaration": 1370, + "src": "12938:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, - "id": 631, + "id": 629, "isConstant": false, "isLValue": false, "isPure": true, @@ -25166,13 +25096,13 @@ "memberName": "encodePacked", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "13012:16:0", + "src": "12938:16:0", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, - "id": 640, + "id": 638, "isConstant": false, "isLValue": false, "isPure": false, @@ -25180,7 +25110,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "13012:275:0", + "src": "12938:275:0", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -25194,18 +25124,18 @@ "typeString": "bytes memory" } ], - "id": 629, + "id": 627, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1380, - "src": "12985:9:0", + "referencedDeclaration": 1377, + "src": "12911:9:0", "typeDescriptions": { "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", "typeString": "function () pure returns (bytes32)" } }, - "id": 641, + "id": 639, "isConstant": false, "isLValue": false, "isPure": false, @@ -25213,48 +25143,48 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "12985:316:0", + "src": "12911:316:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "src": "12978:323:0", + "src": "12904:323:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "id": 643, + "id": 641, "nodeType": "ExpressionStatement", - "src": "12978:323:0" + "src": "12904:323:0" } ] }, - "id": 645, + "id": 643, "nodeType": "IfStatement", - "src": "12612:700:0", + "src": "12538:700:0", "trueBody": { - "id": 627, + "id": 625, "nodeType": "Block", - "src": "12644:314:0", + "src": "12570:314:0", "statements": [ { "expression": { "argumentTypes": null, - "id": 625, + "id": 623, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 612, + "id": 610, "name": "hash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 605, - "src": "12658:4:0", + "referencedDeclaration": 603, + "src": "12584:4:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -25270,12 +25200,12 @@ "arguments": [ { "argumentTypes": null, - "id": 616, + "id": 614, "name": "uniqueId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 590, - "src": "12730:8:0", + "referencedDeclaration": 588, + "src": "12656:8:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -25283,12 +25213,12 @@ }, { "argumentTypes": null, - "id": 617, + "id": 615, "name": "threshold", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 592, - "src": "12760:9:0", + "referencedDeclaration": 590, + "src": "12686:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -25296,12 +25226,12 @@ }, { "argumentTypes": null, - "id": 618, + "id": 616, "name": "timeoutHours", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 594, - "src": "12791:12:0", + "referencedDeclaration": 592, + "src": "12717:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -25309,12 +25239,12 @@ }, { "argumentTypes": null, - "id": 619, + "id": 617, "name": "buyer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 596, - "src": "12825:5:0", + "referencedDeclaration": 594, + "src": "12751:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -25322,12 +25252,12 @@ }, { "argumentTypes": null, - "id": 620, + "id": 618, "name": "seller", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 598, - "src": "12852:6:0", + "referencedDeclaration": 596, + "src": "12778:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -25335,12 +25265,12 @@ }, { "argumentTypes": null, - "id": 621, + "id": 619, "name": "moderator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 600, - "src": "12880:9:0", + "referencedDeclaration": 598, + "src": "12806:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -25348,14 +25278,14 @@ }, { "argumentTypes": null, - "id": 622, + "id": 620, "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1403, - "src": "12911:4:0", + "referencedDeclaration": 1400, + "src": "12837:4:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_Escrow_v1_0_$1213", + "typeIdentifier": "t_contract$_Escrow_v1_0_$1210", "typeString": "contract Escrow_v1_0" } } @@ -25387,24 +25317,24 @@ "typeString": "address" }, { - "typeIdentifier": "t_contract$_Escrow_v1_0_$1213", + "typeIdentifier": "t_contract$_Escrow_v1_0_$1210", "typeString": "contract Escrow_v1_0" } ], "expression": { "argumentTypes": null, - "id": 614, + "id": 612, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1373, - "src": "12692:3:0", + "referencedDeclaration": 1370, + "src": "12618:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, - "id": 615, + "id": 613, "isConstant": false, "isLValue": false, "isPure": true, @@ -25412,13 +25342,13 @@ "memberName": "encodePacked", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "12692:16:0", + "src": "12618:16:0", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, - "id": 623, + "id": 621, "isConstant": false, "isLValue": false, "isPure": false, @@ -25426,7 +25356,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "12692:241:0", + "src": "12618:241:0", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -25440,18 +25370,18 @@ "typeString": "bytes memory" } ], - "id": 613, + "id": 611, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1380, - "src": "12665:9:0", + "referencedDeclaration": 1377, + "src": "12591:9:0", "typeDescriptions": { "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", "typeString": "function () pure returns (bytes32)" } }, - "id": 624, + "id": 622, "isConstant": false, "isLValue": false, "isPure": false, @@ -25459,21 +25389,21 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "12665:282:0", + "src": "12591:282:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "src": "12658:289:0", + "src": "12584:289:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "id": 626, + "id": 624, "nodeType": "ExpressionStatement", - "src": "12658:289:0" + "src": "12584:289:0" } ] } @@ -25481,7 +25411,7 @@ ] }, "documentation": "dev Method for calculating script hash. Calculation will depend upon the type of transaction\nETHER Type transaction-:\nScript Hash- keccak256(uniqueId, threshold, timeoutHours, buyer, seller, moderator)\nTOKEN Type transaction\nScript Hash- keccak256(uniqueId, threshold, timeoutHours, buyer, seller, moderator, tokenAddress)\nClient can use this method to verify whether it has calculated correct script hash or not", - "id": 647, + "id": 645, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -25489,16 +25419,16 @@ "name": "calculateRedeemScriptHash", "nodeType": "FunctionDefinition", "parameters": { - "id": 603, + "id": 601, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 590, + "id": 588, "name": "uniqueId", "nodeType": "VariableDeclaration", - "scope": 647, - "src": "12358:16:0", + "scope": 645, + "src": "12284:16:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -25506,10 +25436,10 @@ "typeString": "bytes20" }, "typeName": { - "id": 589, + "id": 587, "name": "bytes20", "nodeType": "ElementaryTypeName", - "src": "12358:7:0", + "src": "12284:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -25520,11 +25450,11 @@ }, { "constant": false, - "id": 592, + "id": 590, "name": "threshold", "nodeType": "VariableDeclaration", - "scope": 647, - "src": "12384:15:0", + "scope": 645, + "src": "12310:15:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -25532,10 +25462,10 @@ "typeString": "uint8" }, "typeName": { - "id": 591, + "id": 589, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "12384:5:0", + "src": "12310:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -25546,11 +25476,11 @@ }, { "constant": false, - "id": 594, + "id": 592, "name": "timeoutHours", "nodeType": "VariableDeclaration", - "scope": 647, - "src": "12409:19:0", + "scope": 645, + "src": "12335:19:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -25558,10 +25488,10 @@ "typeString": "uint32" }, "typeName": { - "id": 593, + "id": 591, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "12409:6:0", + "src": "12335:6:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -25572,11 +25502,11 @@ }, { "constant": false, - "id": 596, + "id": 594, "name": "buyer", "nodeType": "VariableDeclaration", - "scope": 647, - "src": "12438:13:0", + "scope": 645, + "src": "12364:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -25584,10 +25514,10 @@ "typeString": "address" }, "typeName": { - "id": 595, + "id": 593, "name": "address", "nodeType": "ElementaryTypeName", - "src": "12438:7:0", + "src": "12364:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -25598,11 +25528,11 @@ }, { "constant": false, - "id": 598, + "id": 596, "name": "seller", "nodeType": "VariableDeclaration", - "scope": 647, - "src": "12461:14:0", + "scope": 645, + "src": "12387:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -25610,10 +25540,10 @@ "typeString": "address" }, "typeName": { - "id": 597, + "id": 595, "name": "address", "nodeType": "ElementaryTypeName", - "src": "12461:7:0", + "src": "12387:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -25624,11 +25554,11 @@ }, { "constant": false, - "id": 600, + "id": 598, "name": "moderator", "nodeType": "VariableDeclaration", - "scope": 647, - "src": "12485:17:0", + "scope": 645, + "src": "12411:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -25636,10 +25566,10 @@ "typeString": "address" }, "typeName": { - "id": 599, + "id": 597, "name": "address", "nodeType": "ElementaryTypeName", - "src": "12485:7:0", + "src": "12411:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -25650,11 +25580,11 @@ }, { "constant": false, - "id": 602, + "id": 600, "name": "tokenAddress", "nodeType": "VariableDeclaration", - "scope": 647, - "src": "12512:20:0", + "scope": 645, + "src": "12438:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -25662,10 +25592,10 @@ "typeString": "address" }, "typeName": { - "id": 601, + "id": 599, "name": "address", "nodeType": "ElementaryTypeName", - "src": "12512:7:0", + "src": "12438:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -25675,20 +25605,20 @@ "visibility": "internal" } ], - "src": "12348:190:0" + "src": "12274:190:0" }, "payable": false, "returnParameters": { - "id": 606, + "id": 604, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 605, + "id": 603, "name": "hash", "nodeType": "VariableDeclaration", - "scope": 647, - "src": "12584:12:0", + "scope": 645, + "src": "12510:12:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -25696,10 +25626,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 604, + "id": 602, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "12584:7:0", + "src": "12510:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -25709,32 +25639,32 @@ "visibility": "internal" } ], - "src": "12583:14:0" + "src": "12509:14:0" }, - "scope": 1213, - "src": "12314:1004:0", + "scope": 1210, + "src": "12240:1004:0", "stateMutability": "view", "superFunction": null, "visibility": "public" }, { "body": { - "id": 715, + "id": 713, "nodeType": "Block", - "src": "13802:742:0", + "src": "13728:742:0", "statements": [ { "assignments": [ - 668 + 666 ], "declarations": [ { "constant": false, - "id": 668, + "id": 666, "name": "lastRecovered", "nodeType": "VariableDeclaration", - "scope": 716, - "src": "13812:21:0", + "scope": 714, + "src": "13738:21:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -25742,10 +25672,10 @@ "typeString": "address" }, "typeName": { - "id": 667, + "id": 665, "name": "address", "nodeType": "ElementaryTypeName", - "src": "13812:7:0", + "src": "13738:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -25755,18 +25685,18 @@ "visibility": "internal" } ], - "id": 677, + "id": 675, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 670, + "id": 668, "name": "sigV", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 650, - "src": "13866:4:0", + "referencedDeclaration": 648, + "src": "13792:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr", "typeString": "uint8[] memory" @@ -25774,12 +25704,12 @@ }, { "argumentTypes": null, - "id": 671, + "id": 669, "name": "sigR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 653, - "src": "13884:4:0", + "referencedDeclaration": 651, + "src": "13810:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" @@ -25787,12 +25717,12 @@ }, { "argumentTypes": null, - "id": 672, + "id": 670, "name": "sigS", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 656, - "src": "13902:4:0", + "referencedDeclaration": 654, + "src": "13828:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" @@ -25800,12 +25730,12 @@ }, { "argumentTypes": null, - "id": 673, + "id": 671, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 658, - "src": "13920:10:0", + "referencedDeclaration": 656, + "src": "13846:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -25813,12 +25743,12 @@ }, { "argumentTypes": null, - "id": 674, + "id": 672, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 661, - "src": "13944:12:0", + "referencedDeclaration": 659, + "src": "13870:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -25826,12 +25756,12 @@ }, { "argumentTypes": null, - "id": 675, + "id": 673, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 664, - "src": "13970:7:0", + "referencedDeclaration": 662, + "src": "13896:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" @@ -25865,18 +25795,18 @@ "typeString": "uint256[] memory" } ], - "id": 669, + "id": 667, "name": "verifySignatures", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1021, - "src": "13836:16:0", + "referencedDeclaration": 1019, + "src": "13762:16:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_array$_t_uint8_$dyn_memory_ptr_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_bytes32_$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$_t_address_$", "typeString": "function (uint8[] memory,bytes32[] memory,bytes32[] memory,bytes32,address[] memory,uint256[] memory) returns (address)" } }, - "id": 676, + "id": 674, "isConstant": false, "isLValue": false, "isPure": false, @@ -25884,27 +25814,27 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "13836:151:0", + "src": "13762:151:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "VariableDeclarationStatement", - "src": "13812:175:0" + "src": "13738:175:0" }, { "assignments": [ - 679 + 677 ], "declarations": [ { "constant": false, - "id": 679, + "id": 677, "name": "timeLockExpired", "nodeType": "VariableDeclaration", - "scope": 716, - "src": "13998:20:0", + "scope": 714, + "src": "13924:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -25912,10 +25842,10 @@ "typeString": "bool" }, "typeName": { - "id": 678, + "id": 676, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "13998:4:0", + "src": "13924:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -25925,7 +25855,7 @@ "visibility": "internal" } ], - "id": 690, + "id": 688, "initialValue": { "argumentTypes": null, "arguments": [ @@ -25935,26 +25865,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 681, + "id": 679, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 77, - "src": "14052:12:0", + "referencedDeclaration": 75, + "src": "13978:12:0", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$73_storage_$", + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 683, + "id": 681, "indexExpression": { "argumentTypes": null, - "id": 682, + "id": 680, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 658, - "src": "14065:10:0", + "referencedDeclaration": 656, + "src": "13991:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -25965,21 +25895,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "14052:24:0", + "src": "13978:24:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_Transaction_$73_storage", + "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 684, + "id": 682, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "timeoutHours", "nodeType": "MemberAccess", - "referencedDeclaration": 52, - "src": "14052:37:0", + "referencedDeclaration": 50, + "src": "13978:37:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -25991,26 +25921,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 685, + "id": 683, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 77, - "src": "14103:12:0", + "referencedDeclaration": 75, + "src": "14029:12:0", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$73_storage_$", + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 687, + "id": 685, "indexExpression": { "argumentTypes": null, - "id": 686, + "id": 684, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 658, - "src": "14116:10:0", + "referencedDeclaration": 656, + "src": "14042:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -26021,21 +25951,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "14103:24:0", + "src": "14029:24:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_Transaction_$73_storage", + "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 688, + "id": 686, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "lastModified", "nodeType": "MemberAccess", - "referencedDeclaration": 44, - "src": "14103:37:0", + "referencedDeclaration": 42, + "src": "14029:37:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -26053,18 +25983,18 @@ "typeString": "uint256" } ], - "id": 680, + "id": 678, "name": "isTimeLockExpired", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1055, - "src": "14021:17:0", + "referencedDeclaration": 1053, + "src": "13947:17:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_uint32_$_t_uint256_$returns$_t_bool_$", "typeString": "function (uint32,uint256) view returns (bool)" } }, - "id": 689, + "id": 687, "isConstant": false, "isLValue": false, "isPure": false, @@ -26072,14 +26002,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "14021:129:0", + "src": "13947:129:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "nodeType": "VariableDeclarationStatement", - "src": "13998:152:0" + "src": "13924:152:0" }, { "condition": { @@ -26088,7 +26018,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 708, + "id": 706, "isConstant": false, "isLValue": false, "isPure": false, @@ -26099,7 +26029,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 697, + "id": 695, "isConstant": false, "isLValue": false, "isPure": false, @@ -26108,18 +26038,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 691, + "id": 689, "name": "sigV", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 650, - "src": "14322:4:0", + "referencedDeclaration": 648, + "src": "14248:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr", "typeString": "uint8[] memory" } }, - "id": 692, + "id": 690, "isConstant": false, "isLValue": false, "isPure": false, @@ -26127,7 +26057,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "14322:11:0", + "src": "14248:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -26141,26 +26071,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 693, + "id": 691, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 77, - "src": "14336:12:0", + "referencedDeclaration": 75, + "src": "14262:12:0", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$73_storage_$", + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 695, + "id": 693, "indexExpression": { "argumentTypes": null, - "id": 694, + "id": 692, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 658, - "src": "14349:10:0", + "referencedDeclaration": 656, + "src": "14275:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -26171,27 +26101,27 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "14336:24:0", + "src": "14262:24:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_Transaction_$73_storage", + "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 696, + "id": 694, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "threshold", "nodeType": "MemberAccess", - "referencedDeclaration": 50, - "src": "14336:34:0", + "referencedDeclaration": 48, + "src": "14262:34:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, - "src": "14322:48:0", + "src": "14248:48:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -26208,14 +26138,14 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 706, + "id": 704, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 699, + "id": 697, "isConstant": false, "isLValue": false, "isPure": false, @@ -26223,15 +26153,15 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "14375:16:0", + "src": "14301:16:0", "subExpression": { "argumentTypes": null, - "id": 698, + "id": 696, "name": "timeLockExpired", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 679, - "src": "14376:15:0", + "referencedDeclaration": 677, + "src": "14302:15:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -26250,19 +26180,19 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 705, + "id": 703, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 700, + "id": 698, "name": "lastRecovered", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 668, - "src": "14395:13:0", + "referencedDeclaration": 666, + "src": "14321:13:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -26276,26 +26206,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 701, + "id": 699, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 77, - "src": "14412:12:0", + "referencedDeclaration": 75, + "src": "14338:12:0", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$73_storage_$", + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 703, + "id": 701, "indexExpression": { "argumentTypes": null, - "id": 702, + "id": 700, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 658, - "src": "14425:10:0", + "referencedDeclaration": 656, + "src": "14351:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -26306,66 +26236,66 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "14412:24:0", + "src": "14338:24:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_Transaction_$73_storage", + "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 704, + "id": 702, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "seller", "nodeType": "MemberAccess", - "referencedDeclaration": 56, - "src": "14412:31:0", + "referencedDeclaration": 54, + "src": "14338:31:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "14395:48:0", + "src": "14321:48:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "14375:68:0", + "src": "14301:68:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } } ], - "id": 707, + "id": 705, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "14374:70:0", + "src": "14300:70:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "14322:122:0", + "src": "14248:122:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, - "id": 714, + "id": 712, "nodeType": "IfStatement", - "src": "14301:236:0", + "src": "14227:236:0", "trueBody": { - "id": 713, + "id": 711, "nodeType": "Block", - "src": "14467:70:0", + "src": "14393:70:0", "statements": [ { "expression": { @@ -26374,14 +26304,14 @@ { "argumentTypes": null, "hexValue": "736967562e6c656e67746820697320756e64657220746865207468726573686f6c642e", - "id": 710, + "id": 708, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "14488:37:0", + "src": "14414:37:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_d1b34f8ee6043043ff8e104db499160a1e51c77ca18fe42fba7312fd923c28e1", @@ -26397,21 +26327,21 @@ "typeString": "literal_string \"sigV.length is under the threshold.\"" } ], - "id": 709, + "id": 707, "name": "revert", "nodeType": "Identifier", "overloadedDeclarations": [ - 1391, - 1392 + 1388, + 1389 ], - "referencedDeclaration": 1392, - "src": "14481:6:0", + "referencedDeclaration": 1389, + "src": "14407:6:0", "typeDescriptions": { "typeIdentifier": "t_function_revert_pure$_t_string_memory_ptr_$returns$__$", "typeString": "function (string memory) pure" } }, - "id": 711, + "id": 709, "isConstant": false, "isLValue": false, "isPure": false, @@ -26419,15 +26349,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "14481:45:0", + "src": "14407:45:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 712, + "id": 710, "nodeType": "ExpressionStatement", - "src": "14481:45:0" + "src": "14407:45:0" } ] } @@ -26435,7 +26365,7 @@ ] }, "documentation": "@dev This methods checks validity of transaction\n1. Verify Signatures\n2. Check if minimum number of signatures has been acquired\n3. If above condition is false, check if time lock is expired and the execution is signed by seller", - "id": 716, + "id": 714, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -26443,16 +26373,16 @@ "name": "verifyTransaction", "nodeType": "FunctionDefinition", "parameters": { - "id": 665, + "id": 663, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 650, + "id": 648, "name": "sigV", "nodeType": "VariableDeclaration", - "scope": 716, - "src": "13628:12:0", + "scope": 714, + "src": "13554:12:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -26461,19 +26391,19 @@ }, "typeName": { "baseType": { - "id": 648, + "id": 646, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "13628:5:0", + "src": "13554:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, - "id": 649, + "id": 647, "length": null, "nodeType": "ArrayTypeName", - "src": "13628:7:0", + "src": "13554:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_storage_ptr", "typeString": "uint8[]" @@ -26484,11 +26414,11 @@ }, { "constant": false, - "id": 653, + "id": 651, "name": "sigR", "nodeType": "VariableDeclaration", - "scope": 716, - "src": "13650:14:0", + "scope": 714, + "src": "13576:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -26497,19 +26427,19 @@ }, "typeName": { "baseType": { - "id": 651, + "id": 649, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "13650:7:0", + "src": "13576:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "id": 652, + "id": 650, "length": null, "nodeType": "ArrayTypeName", - "src": "13650:9:0", + "src": "13576:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -26520,11 +26450,11 @@ }, { "constant": false, - "id": 656, + "id": 654, "name": "sigS", "nodeType": "VariableDeclaration", - "scope": 716, - "src": "13674:14:0", + "scope": 714, + "src": "13600:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -26533,19 +26463,19 @@ }, "typeName": { "baseType": { - "id": 654, + "id": 652, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "13674:7:0", + "src": "13600:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "id": 655, + "id": 653, "length": null, "nodeType": "ArrayTypeName", - "src": "13674:9:0", + "src": "13600:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -26556,11 +26486,11 @@ }, { "constant": false, - "id": 658, + "id": 656, "name": "scriptHash", "nodeType": "VariableDeclaration", - "scope": 716, - "src": "13698:18:0", + "scope": 714, + "src": "13624:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -26568,10 +26498,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 657, + "id": 655, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "13698:7:0", + "src": "13624:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -26582,11 +26512,11 @@ }, { "constant": false, - "id": 661, + "id": 659, "name": "destinations", "nodeType": "VariableDeclaration", - "scope": 716, - "src": "13726:22:0", + "scope": 714, + "src": "13652:22:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -26595,19 +26525,19 @@ }, "typeName": { "baseType": { - "id": 659, + "id": 657, "name": "address", "nodeType": "ElementaryTypeName", - "src": "13726:7:0", + "src": "13652:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 660, + "id": 658, "length": null, "nodeType": "ArrayTypeName", - "src": "13726:9:0", + "src": "13652:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", "typeString": "address[]" @@ -26618,11 +26548,11 @@ }, { "constant": false, - "id": 664, + "id": 662, "name": "amounts", "nodeType": "VariableDeclaration", - "scope": 716, - "src": "13758:17:0", + "scope": 714, + "src": "13684:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -26631,19 +26561,19 @@ }, "typeName": { "baseType": { - "id": 662, + "id": 660, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "13758:7:0", + "src": "13684:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 663, + "id": 661, "length": null, "nodeType": "ArrayTypeName", - "src": "13758:9:0", + "src": "13684:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -26653,54 +26583,54 @@ "visibility": "internal" } ], - "src": "13618:163:0" + "src": "13544:163:0" }, "payable": false, "returnParameters": { - "id": 666, + "id": 664, "nodeType": "ParameterList", "parameters": [], - "src": "13802:0:0" + "src": "13728:0:0" }, - "scope": 1213, - "src": "13592:952:0", + "scope": 1210, + "src": "13518:952:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "private" }, { "body": { - "id": 896, + "id": 894, "nodeType": "Block", - "src": "14847:1375:0", + "src": "14773:1375:0", "statements": [ { "assignments": [ - 730 + 728 ], "declarations": [ { "constant": false, - "id": 730, + "id": 728, "name": "t", "nodeType": "VariableDeclaration", - "scope": 897, - "src": "14857:21:0", + "scope": 895, + "src": "14783:21:0", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_Transaction_$73_storage_ptr", + "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction" }, "typeName": { "contractScope": null, - "id": 729, + "id": 727, "name": "Transaction", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 73, - "src": "14857:11:0", + "referencedDeclaration": 71, + "src": "14783:11:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_Transaction_$73_storage_ptr", + "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction" } }, @@ -26708,31 +26638,31 @@ "visibility": "internal" } ], - "id": 734, + "id": 732, "initialValue": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 731, + "id": 729, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 77, - "src": "14881:12:0", + "referencedDeclaration": 75, + "src": "14807:12:0", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$73_storage_$", + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 733, + "id": 731, "indexExpression": { "argumentTypes": null, - "id": 732, + "id": 730, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 718, - "src": "14894:10:0", + "referencedDeclaration": 716, + "src": "14820:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -26743,14 +26673,14 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "14881:24:0", + "src": "14807:24:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_Transaction_$73_storage", + "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "14857:48:0" + "src": "14783:48:0" }, { "condition": { @@ -26759,7 +26689,7 @@ "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" }, - "id": 739, + "id": 737, "isConstant": false, "isLValue": false, "isPure": false, @@ -26768,26 +26698,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 735, + "id": 733, "name": "t", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 730, - "src": "14920:1:0", + "referencedDeclaration": 728, + "src": "14846:1:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_Transaction_$73_storage_ptr", + "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" } }, - "id": 736, + "id": 734, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "transactionType", "nodeType": "MemberAccess", - "referencedDeclaration": 48, - "src": "14920:17:0", + "referencedDeclaration": 46, + "src": "14846:17:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -26799,18 +26729,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 737, + "id": 735, "name": "TransactionType", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12, - "src": "14941:15:0", + "src": "14867:15:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_TransactionType_$12_$", "typeString": "type(enum Escrow_v1_0.TransactionType)" } }, - "id": 738, + "id": 736, "isConstant": false, "isLValue": false, "isPure": true, @@ -26818,13 +26748,13 @@ "memberName": "ETHER", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "14941:21:0", + "src": "14867:21:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" } }, - "src": "14920:42:0", + "src": "14846:42:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -26837,7 +26767,7 @@ "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" }, - "id": 813, + "id": 811, "isConstant": false, "isLValue": false, "isPure": false, @@ -26846,26 +26776,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 809, + "id": 807, "name": "t", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 730, - "src": "15561:1:0", + "referencedDeclaration": 728, + "src": "15487:1:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_Transaction_$73_storage_ptr", + "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" } }, - "id": 810, + "id": 808, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "transactionType", "nodeType": "MemberAccess", - "referencedDeclaration": 48, - "src": "15561:17:0", + "referencedDeclaration": 46, + "src": "15487:17:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -26877,18 +26807,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 811, + "id": 809, "name": "TransactionType", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12, - "src": "15582:15:0", + "src": "15508:15:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_TransactionType_$12_$", "typeString": "type(enum Escrow_v1_0.TransactionType)" } }, - "id": 812, + "id": 810, "isConstant": false, "isLValue": false, "isPure": true, @@ -26896,54 +26826,54 @@ "memberName": "TOKEN", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "15582:21:0", + "src": "15508:21:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" } }, - "src": "15561:42:0", + "src": "15487:42:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, - "id": 894, + "id": 892, "nodeType": "IfStatement", - "src": "15557:658:0", + "src": "15483:658:0", "trueBody": { - "id": 893, + "id": 891, "nodeType": "Block", - "src": "15605:610:0", + "src": "15531:610:0", "statements": [ { "assignments": [ - 815 + 813 ], "declarations": [ { "constant": false, - "id": 815, + "id": 813, "name": "token", "nodeType": "VariableDeclaration", - "scope": 897, - "src": "15620:20:0", + "scope": 895, + "src": "15546:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenContract_$1243", + "typeIdentifier": "t_contract$_ITokenContract_$1240", "typeString": "contract ITokenContract" }, "typeName": { "contractScope": null, - "id": 814, + "id": 812, "name": "ITokenContract", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1243, - "src": "15620:14:0", + "referencedDeclaration": 1240, + "src": "15546:14:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenContract_$1243", + "typeIdentifier": "t_contract$_ITokenContract_$1240", "typeString": "contract ITokenContract" } }, @@ -26951,7 +26881,7 @@ "visibility": "internal" } ], - "id": 820, + "id": 818, "initialValue": { "argumentTypes": null, "arguments": [ @@ -26959,26 +26889,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 817, + "id": 815, "name": "t", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 730, - "src": "15658:1:0", + "referencedDeclaration": 728, + "src": "15584:1:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_Transaction_$73_storage_ptr", + "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" } }, - "id": 818, + "id": 816, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "tokenAddress", "nodeType": "MemberAccess", - "referencedDeclaration": 58, - "src": "15658:14:0", + "referencedDeclaration": 56, + "src": "15584:14:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -26992,18 +26922,18 @@ "typeString": "address" } ], - "id": 816, + "id": 814, "name": "ITokenContract", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1243, - "src": "15643:14:0", + "referencedDeclaration": 1240, + "src": "15569:14:0", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ITokenContract_$1243_$", + "typeIdentifier": "t_type$_t_contract$_ITokenContract_$1240_$", "typeString": "type(contract ITokenContract)" } }, - "id": 819, + "id": 817, "isConstant": false, "isLValue": false, "isPure": false, @@ -27011,20 +26941,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15643:30:0", + "src": "15569:30:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenContract_$1243", + "typeIdentifier": "t_contract$_ITokenContract_$1240", "typeString": "contract ITokenContract" } }, "nodeType": "VariableDeclarationStatement", - "src": "15620:53:0" + "src": "15546:53:0" }, { "body": { - "id": 891, + "id": 889, "nodeType": "Block", - "src": "15736:469:0", + "src": "15662:469:0", "statements": [ { "expression": { @@ -27036,7 +26966,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 846, + "id": 844, "isConstant": false, "isLValue": false, "isPure": false, @@ -27047,7 +26977,7 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 839, + "id": 837, "isConstant": false, "isLValue": false, "isPure": false, @@ -27056,26 +26986,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 833, + "id": 831, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 721, - "src": "15763:12:0", + "referencedDeclaration": 719, + "src": "15689:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" } }, - "id": 835, + "id": 833, "indexExpression": { "argumentTypes": null, - "id": 834, + "id": 832, "name": "j", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 822, - "src": "15776:1:0", + "referencedDeclaration": 820, + "src": "15702:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27086,7 +27016,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15763:15:0", + "src": "15689:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -27100,14 +27030,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 837, + "id": 835, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "15790:1:0", + "src": "15716:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -27123,20 +27053,20 @@ "typeString": "int_const 0" } ], - "id": 836, + "id": 834, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "15782:7:0", + "src": "15708:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, - "id": 838, + "id": 836, "isConstant": false, "isLValue": false, "isPure": true, @@ -27144,13 +27074,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15782:10:0", + "src": "15708:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "15763:29:0", + "src": "15689:29:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -27164,56 +27094,56 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 840, + "id": 838, "name": "t", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 730, - "src": "15796:1:0", + "referencedDeclaration": 728, + "src": "15722:1:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_Transaction_$73_storage_ptr", + "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" } }, - "id": 841, + "id": 839, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "isOwner", "nodeType": "MemberAccess", - "referencedDeclaration": 64, - "src": "15796:9:0", + "referencedDeclaration": 62, + "src": "15722:9:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 845, + "id": 843, "indexExpression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 842, + "id": 840, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 721, - "src": "15806:12:0", + "referencedDeclaration": 719, + "src": "15732:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" } }, - "id": 844, + "id": 842, "indexExpression": { "argumentTypes": null, - "id": 843, + "id": 841, "name": "j", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 822, - "src": "15819:1:0", + "referencedDeclaration": 820, + "src": "15745:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27224,7 +27154,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15806:15:0", + "src": "15732:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -27235,13 +27165,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15796:26:0", + "src": "15722:26:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "15763:59:0", + "src": "15689:59:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -27250,14 +27180,14 @@ { "argumentTypes": null, "hexValue": "4e6f7420612076616c69642064657374696e6174696f6e", - "id": 847, + "id": 845, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "15824:25:0", + "src": "15750:25:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_4b4c116dbf18274831a2b569c567d9fd9a0e9828a6c86ee9f93e80400fb6c49f", @@ -27277,21 +27207,21 @@ "typeString": "literal_string \"Not a valid destination\"" } ], - "id": 832, + "id": 830, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1389, - 1390 + 1386, + 1387 ], - "referencedDeclaration": 1390, - "src": "15755:7:0", + "referencedDeclaration": 1387, + "src": "15681:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 848, + "id": 846, "isConstant": false, "isLValue": false, "isPure": false, @@ -27299,15 +27229,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15755:95:0", + "src": "15681:95:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 849, + "id": 847, "nodeType": "ExpressionStatement", - "src": "15755:95:0" + "src": "15681:95:0" }, { "expression": { @@ -27319,7 +27249,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 855, + "id": 853, "isConstant": false, "isLValue": false, "isPure": false, @@ -27328,26 +27258,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 851, + "id": 849, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 724, - "src": "15876:7:0", + "referencedDeclaration": 722, + "src": "15802:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 853, + "id": 851, "indexExpression": { "argumentTypes": null, - "id": 852, + "id": 850, "name": "j", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 822, - "src": "15884:1:0", + "referencedDeclaration": 820, + "src": "15810:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27358,7 +27288,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15876:10:0", + "src": "15802:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27369,14 +27299,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 854, + "id": 852, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "15889:1:0", + "src": "15815:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -27384,7 +27314,7 @@ }, "value": "0" }, - "src": "15876:14:0", + "src": "15802:14:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -27393,14 +27323,14 @@ { "argumentTypes": null, "hexValue": "416d6f756e7420746f2062652073656e742073686f756c642062652067726561746572207468616e2030", - "id": 856, + "id": 854, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "15892:44:0", + "src": "15818:44:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_5e1271a09dbb64ae031de288deb0ad8d707df7db51d6e827931dc8fa6642a71e", @@ -27420,21 +27350,21 @@ "typeString": "literal_string \"Amount to be sent should be greater than 0\"" } ], - "id": 850, + "id": 848, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1389, - 1390 + 1386, + 1387 ], - "referencedDeclaration": 1390, - "src": "15868:7:0", + "referencedDeclaration": 1387, + "src": "15794:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 857, + "id": 855, "isConstant": false, "isLValue": false, "isPure": false, @@ -27442,32 +27372,32 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15868:69:0", + "src": "15794:69:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 858, + "id": 856, "nodeType": "ExpressionStatement", - "src": "15868:69:0" + "src": "15794:69:0" }, { "expression": { "argumentTypes": null, - "id": 866, + "id": 864, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 859, + "id": 857, "name": "valueTransferred", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 727, - "src": "15956:16:0", + "referencedDeclaration": 725, + "src": "15882:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27482,26 +27412,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 862, + "id": 860, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 724, - "src": "15996:7:0", + "referencedDeclaration": 722, + "src": "15922:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 864, + "id": 862, "indexExpression": { "argumentTypes": null, - "id": 863, + "id": 861, "name": "j", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 822, - "src": "16004:1:0", + "referencedDeclaration": 820, + "src": "15930:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27512,7 +27442,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15996:10:0", + "src": "15922:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27528,32 +27458,32 @@ ], "expression": { "argumentTypes": null, - "id": 860, + "id": 858, "name": "valueTransferred", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 727, - "src": "15975:16:0", + "referencedDeclaration": 725, + "src": "15901:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 861, + "id": 859, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 1350, - "src": "15975:20:0", + "referencedDeclaration": 1347, + "src": "15901:20:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 865, + "id": 863, "isConstant": false, "isLValue": false, "isPure": false, @@ -27561,26 +27491,26 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15975:32:0", + "src": "15901:32:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "15956:51:0", + "src": "15882:51:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 867, + "id": 865, "nodeType": "ExpressionStatement", - "src": "15956:51:0" + "src": "15882:51:0" }, { "expression": { "argumentTypes": null, - "id": 876, + "id": 874, "isConstant": false, "isLValue": false, "isPure": false, @@ -27591,56 +27521,56 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 868, + "id": 866, "name": "t", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 730, - "src": "16025:1:0", + "referencedDeclaration": 728, + "src": "15951:1:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_Transaction_$73_storage_ptr", + "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" } }, - "id": 873, + "id": 871, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "beneficiaries", "nodeType": "MemberAccess", - "referencedDeclaration": 72, - "src": "16025:15:0", + "referencedDeclaration": 70, + "src": "15951:15:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 874, + "id": 872, "indexExpression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 870, + "id": 868, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 721, - "src": "16041:12:0", + "referencedDeclaration": 719, + "src": "15967:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" } }, - "id": 872, + "id": 870, "indexExpression": { "argumentTypes": null, - "id": 871, + "id": 869, "name": "j", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 822, - "src": "16054:1:0", + "referencedDeclaration": 820, + "src": "15980:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27651,7 +27581,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "16041:15:0", + "src": "15967:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -27662,7 +27592,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "16025:32:0", + "src": "15951:32:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -27673,14 +27603,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "74727565", - "id": 875, + "id": 873, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "16060:4:0", + "src": "15986:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -27688,15 +27618,15 @@ }, "value": "true" }, - "src": "16025:39:0", + "src": "15951:39:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 877, + "id": 875, "nodeType": "ExpressionStatement", - "src": "16025:39:0" + "src": "15951:39:0" }, { "expression": { @@ -27709,26 +27639,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 881, + "id": 879, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 721, - "src": "16135:12:0", + "referencedDeclaration": 719, + "src": "16061:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" } }, - "id": 883, + "id": 881, "indexExpression": { "argumentTypes": null, - "id": 882, + "id": 880, "name": "j", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 822, - "src": "16148:1:0", + "referencedDeclaration": 820, + "src": "16074:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27739,7 +27669,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "16135:15:0", + "src": "16061:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -27749,26 +27679,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 884, + "id": 882, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 724, - "src": "16152:7:0", + "referencedDeclaration": 722, + "src": "16078:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 886, + "id": 884, "indexExpression": { "argumentTypes": null, - "id": 885, + "id": 883, "name": "j", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 822, - "src": "16160:1:0", + "referencedDeclaration": 820, + "src": "16086:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27779,7 +27709,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "16152:10:0", + "src": "16078:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27799,32 +27729,32 @@ ], "expression": { "argumentTypes": null, - "id": 879, + "id": 877, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 815, - "src": "16120:5:0", + "referencedDeclaration": 813, + "src": "16046:5:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenContract_$1243", + "typeIdentifier": "t_contract$_ITokenContract_$1240", "typeString": "contract ITokenContract" } }, - "id": 880, + "id": 878, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "transfer", "nodeType": "MemberAccess", - "referencedDeclaration": 1231, - "src": "16120:14:0", + "referencedDeclaration": 1228, + "src": "16046:14:0", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", "typeString": "function (address,uint256) external returns (bool)" } }, - "id": 887, + "id": 885, "isConstant": false, "isLValue": false, "isPure": false, @@ -27832,7 +27762,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16120:43:0", + "src": "16046:43:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -27841,14 +27771,14 @@ { "argumentTypes": null, "hexValue": "546f6b656e207472616e73666572206661696c65642e", - "id": 888, + "id": 886, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "16165:24:0", + "src": "16091:24:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_e545223bb79d8456d66fa5a98897abb42bb4807111f004a120200da3b7e292c5", @@ -27868,21 +27798,21 @@ "typeString": "literal_string \"Token transfer failed.\"" } ], - "id": 878, + "id": 876, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1389, - 1390 + 1386, + 1387 ], - "referencedDeclaration": 1390, - "src": "16112:7:0", + "referencedDeclaration": 1387, + "src": "16038:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 889, + "id": 887, "isConstant": false, "isLValue": false, "isPure": false, @@ -27890,15 +27820,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16112:78:0", + "src": "16038:78:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 890, + "id": 888, "nodeType": "ExpressionStatement", - "src": "16112:78:0" + "src": "16038:78:0" } ] }, @@ -27908,19 +27838,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 828, + "id": 826, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 825, + "id": 823, "name": "j", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 822, - "src": "15708:1:0", + "referencedDeclaration": 820, + "src": "15634:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27932,18 +27862,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 826, + "id": 824, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 721, - "src": "15710:12:0", + "referencedDeclaration": 719, + "src": "15636:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" } }, - "id": 827, + "id": 825, "isConstant": false, "isLValue": false, "isPure": false, @@ -27951,31 +27881,31 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "15710:19:0", + "src": "15636:19:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "15708:21:0", + "src": "15634:21:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 892, + "id": 890, "initializationExpression": { "assignments": [ - 822 + 820 ], "declarations": [ { "constant": false, - "id": 822, + "id": 820, "name": "j", "nodeType": "VariableDeclaration", - "scope": 897, - "src": "15693:9:0", + "scope": 895, + "src": "15619:9:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -27983,10 +27913,10 @@ "typeString": "uint256" }, "typeName": { - "id": 821, + "id": 819, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "15693:7:0", + "src": "15619:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27996,18 +27926,18 @@ "visibility": "internal" } ], - "id": 824, + "id": 822, "initialValue": { "argumentTypes": null, "hexValue": "30", - "id": 823, + "id": 821, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "15705:1:0", + "src": "15631:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -28016,12 +27946,12 @@ "value": "0" }, "nodeType": "VariableDeclarationStatement", - "src": "15693:13:0" + "src": "15619:13:0" }, "loopExpression": { "expression": { "argumentTypes": null, - "id": 830, + "id": 828, "isConstant": false, "isLValue": false, "isPure": false, @@ -28029,15 +27959,15 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "15731:3:0", + "src": "15657:3:0", "subExpression": { "argumentTypes": null, - "id": 829, + "id": 827, "name": "j", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 822, - "src": "15731:1:0", + "referencedDeclaration": 820, + "src": "15657:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28048,29 +27978,29 @@ "typeString": "uint256" } }, - "id": 831, + "id": 829, "nodeType": "ExpressionStatement", - "src": "15731:3:0" + "src": "15657:3:0" }, "nodeType": "ForStatement", - "src": "15688:517:0" + "src": "15614:517:0" } ] } }, - "id": 895, + "id": 893, "nodeType": "IfStatement", - "src": "14916:1299:0", + "src": "14842:1299:0", "trueBody": { - "id": 808, + "id": 806, "nodeType": "Block", - "src": "14964:587:0", + "src": "14890:587:0", "statements": [ { "body": { - "id": 806, + "id": 804, "nodeType": "Block", - "src": "15028:512:0", + "src": "14954:512:0", "statements": [ { "expression": { @@ -28082,7 +28012,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 765, + "id": 763, "isConstant": false, "isLValue": false, "isPure": false, @@ -28093,7 +28023,7 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 758, + "id": 756, "isConstant": false, "isLValue": false, "isPure": false, @@ -28102,26 +28032,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 752, + "id": 750, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 721, - "src": "15055:12:0", + "referencedDeclaration": 719, + "src": "14981:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" } }, - "id": 754, + "id": 752, "indexExpression": { "argumentTypes": null, - "id": 753, + "id": 751, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 741, - "src": "15068:1:0", + "referencedDeclaration": 739, + "src": "14994:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28132,7 +28062,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15055:15:0", + "src": "14981:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -28146,14 +28076,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 756, + "id": 754, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "15082:1:0", + "src": "15008:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -28169,20 +28099,20 @@ "typeString": "int_const 0" } ], - "id": 755, + "id": 753, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "15074:7:0", + "src": "15000:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, - "id": 757, + "id": 755, "isConstant": false, "isLValue": false, "isPure": true, @@ -28190,13 +28120,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15074:10:0", + "src": "15000:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "15055:29:0", + "src": "14981:29:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -28210,56 +28140,56 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 759, + "id": 757, "name": "t", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 730, - "src": "15088:1:0", + "referencedDeclaration": 728, + "src": "15014:1:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_Transaction_$73_storage_ptr", + "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" } }, - "id": 760, + "id": 758, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "isOwner", "nodeType": "MemberAccess", - "referencedDeclaration": 64, - "src": "15088:9:0", + "referencedDeclaration": 62, + "src": "15014:9:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 764, + "id": 762, "indexExpression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 761, + "id": 759, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 721, - "src": "15098:12:0", + "referencedDeclaration": 719, + "src": "15024:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" } }, - "id": 763, + "id": 761, "indexExpression": { "argumentTypes": null, - "id": 762, + "id": 760, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 741, - "src": "15111:1:0", + "referencedDeclaration": 739, + "src": "15037:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28270,7 +28200,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15098:15:0", + "src": "15024:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -28281,13 +28211,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15088:26:0", + "src": "15014:26:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "15055:59:0", + "src": "14981:59:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -28296,14 +28226,14 @@ { "argumentTypes": null, "hexValue": "4e6f7420612076616c69642064657374696e6174696f6e", - "id": 766, + "id": 764, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "15116:25:0", + "src": "15042:25:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_4b4c116dbf18274831a2b569c567d9fd9a0e9828a6c86ee9f93e80400fb6c49f", @@ -28323,21 +28253,21 @@ "typeString": "literal_string \"Not a valid destination\"" } ], - "id": 751, + "id": 749, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1389, - 1390 + 1386, + 1387 ], - "referencedDeclaration": 1390, - "src": "15047:7:0", + "referencedDeclaration": 1387, + "src": "14973:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 767, + "id": 765, "isConstant": false, "isLValue": false, "isPure": false, @@ -28345,15 +28275,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15047:95:0", + "src": "14973:95:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 768, + "id": 766, "nodeType": "ExpressionStatement", - "src": "15047:95:0" + "src": "14973:95:0" }, { "expression": { @@ -28365,7 +28295,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 774, + "id": 772, "isConstant": false, "isLValue": false, "isPure": false, @@ -28374,26 +28304,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 770, + "id": 768, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 724, - "src": "15168:7:0", + "referencedDeclaration": 722, + "src": "15094:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 772, + "id": 770, "indexExpression": { "argumentTypes": null, - "id": 771, + "id": 769, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 741, - "src": "15176:1:0", + "referencedDeclaration": 739, + "src": "15102:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28404,7 +28334,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15168:10:0", + "src": "15094:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28415,14 +28345,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 773, + "id": 771, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "15181:1:0", + "src": "15107:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -28430,7 +28360,7 @@ }, "value": "0" }, - "src": "15168:14:0", + "src": "15094:14:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -28439,14 +28369,14 @@ { "argumentTypes": null, "hexValue": "416d6f756e7420746f2062652073656e742073686f756c642062652067726561746572207468616e2030", - "id": 775, + "id": 773, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "15184:44:0", + "src": "15110:44:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_5e1271a09dbb64ae031de288deb0ad8d707df7db51d6e827931dc8fa6642a71e", @@ -28466,21 +28396,21 @@ "typeString": "literal_string \"Amount to be sent should be greater than 0\"" } ], - "id": 769, + "id": 767, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1389, - 1390 + 1386, + 1387 ], - "referencedDeclaration": 1390, - "src": "15160:7:0", + "referencedDeclaration": 1387, + "src": "15086:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 776, + "id": 774, "isConstant": false, "isLValue": false, "isPure": false, @@ -28488,32 +28418,32 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15160:69:0", + "src": "15086:69:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 777, + "id": 775, "nodeType": "ExpressionStatement", - "src": "15160:69:0" + "src": "15086:69:0" }, { "expression": { "argumentTypes": null, - "id": 785, + "id": 783, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 778, + "id": 776, "name": "valueTransferred", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 727, - "src": "15248:16:0", + "referencedDeclaration": 725, + "src": "15174:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28528,26 +28458,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 781, + "id": 779, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 724, - "src": "15288:7:0", + "referencedDeclaration": 722, + "src": "15214:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 783, + "id": 781, "indexExpression": { "argumentTypes": null, - "id": 782, + "id": 780, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 741, - "src": "15296:1:0", + "referencedDeclaration": 739, + "src": "15222:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28558,7 +28488,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15288:10:0", + "src": "15214:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28574,32 +28504,32 @@ ], "expression": { "argumentTypes": null, - "id": 779, + "id": 777, "name": "valueTransferred", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 727, - "src": "15267:16:0", + "referencedDeclaration": 725, + "src": "15193:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 780, + "id": 778, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 1350, - "src": "15267:20:0", + "referencedDeclaration": 1347, + "src": "15193:20:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 784, + "id": 782, "isConstant": false, "isLValue": false, "isPure": false, @@ -28607,26 +28537,26 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15267:32:0", + "src": "15193:32:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "15248:51:0", + "src": "15174:51:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 786, + "id": 784, "nodeType": "ExpressionStatement", - "src": "15248:51:0" + "src": "15174:51:0" }, { "expression": { "argumentTypes": null, - "id": 795, + "id": 793, "isConstant": false, "isLValue": false, "isPure": false, @@ -28637,56 +28567,56 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 787, + "id": 785, "name": "t", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 730, - "src": "15318:1:0", + "referencedDeclaration": 728, + "src": "15244:1:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_Transaction_$73_storage_ptr", + "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" } }, - "id": 792, + "id": 790, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "beneficiaries", "nodeType": "MemberAccess", - "referencedDeclaration": 72, - "src": "15318:15:0", + "referencedDeclaration": 70, + "src": "15244:15:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 793, + "id": 791, "indexExpression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 789, + "id": 787, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 721, - "src": "15334:12:0", + "referencedDeclaration": 719, + "src": "15260:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" } }, - "id": 791, + "id": 789, "indexExpression": { "argumentTypes": null, - "id": 790, + "id": 788, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 741, - "src": "15347:1:0", + "referencedDeclaration": 739, + "src": "15273:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28697,7 +28627,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15334:15:0", + "src": "15260:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -28708,7 +28638,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "15318:32:0", + "src": "15244:32:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -28719,14 +28649,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "74727565", - "id": 794, + "id": 792, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "15353:4:0", + "src": "15279:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -28734,15 +28664,15 @@ }, "value": "true" }, - "src": "15318:39:0", + "src": "15244:39:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 796, + "id": 794, "nodeType": "ExpressionStatement", - "src": "15318:39:0" + "src": "15244:39:0" }, { "expression": { @@ -28752,26 +28682,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 801, + "id": 799, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 724, - "src": "15429:7:0", + "referencedDeclaration": 722, + "src": "15355:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 803, + "id": 801, "indexExpression": { "argumentTypes": null, - "id": 802, + "id": 800, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 741, - "src": "15437:1:0", + "referencedDeclaration": 739, + "src": "15363:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28782,7 +28712,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15429:10:0", + "src": "15355:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28800,26 +28730,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 797, + "id": 795, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 721, - "src": "15404:12:0", + "referencedDeclaration": 719, + "src": "15330:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" } }, - "id": 799, + "id": 797, "indexExpression": { "argumentTypes": null, - "id": 798, + "id": 796, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 741, - "src": "15417:1:0", + "referencedDeclaration": 739, + "src": "15343:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28830,13 +28760,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15404:15:0", + "src": "15330:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 800, + "id": 798, "isConstant": false, "isLValue": false, "isPure": false, @@ -28844,13 +28774,13 @@ "memberName": "transfer", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "15404:24:0", + "src": "15330:24:0", "typeDescriptions": { "typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$", "typeString": "function (uint256)" } }, - "id": 804, + "id": 802, "isConstant": false, "isLValue": false, "isPure": false, @@ -28858,15 +28788,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15404:36:0", + "src": "15330:36:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 805, + "id": 803, "nodeType": "ExpressionStatement", - "src": "15404:36:0" + "src": "15330:36:0" } ] }, @@ -28876,19 +28806,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 747, + "id": 745, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 744, + "id": 742, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 741, - "src": "14998:1:0", + "referencedDeclaration": 739, + "src": "14924:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28900,18 +28830,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 745, + "id": 743, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 721, - "src": "15002:12:0", + "referencedDeclaration": 719, + "src": "14928:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" } }, - "id": 746, + "id": 744, "isConstant": false, "isLValue": false, "isPure": false, @@ -28919,31 +28849,31 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "15002:19:0", + "src": "14928:19:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "14998:23:0", + "src": "14924:23:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 807, + "id": 805, "initializationExpression": { "assignments": [ - 741 + 739 ], "declarations": [ { "constant": false, - "id": 741, + "id": 739, "name": "i", "nodeType": "VariableDeclaration", - "scope": 897, - "src": "14983:9:0", + "scope": 895, + "src": "14909:9:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -28951,10 +28881,10 @@ "typeString": "uint256" }, "typeName": { - "id": 740, + "id": 738, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "14983:7:0", + "src": "14909:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28964,18 +28894,18 @@ "visibility": "internal" } ], - "id": 743, + "id": 741, "initialValue": { "argumentTypes": null, "hexValue": "30", - "id": 742, + "id": 740, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "14995:1:0", + "src": "14921:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -28984,12 +28914,12 @@ "value": "0" }, "nodeType": "VariableDeclarationStatement", - "src": "14983:13:0" + "src": "14909:13:0" }, "loopExpression": { "expression": { "argumentTypes": null, - "id": 749, + "id": 747, "isConstant": false, "isLValue": false, "isPure": false, @@ -28997,15 +28927,15 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "15023:3:0", + "src": "14949:3:0", "subExpression": { "argumentTypes": null, - "id": 748, + "id": 746, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 741, - "src": "15023:1:0", + "referencedDeclaration": 739, + "src": "14949:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29016,12 +28946,12 @@ "typeString": "uint256" } }, - "id": 750, + "id": 748, "nodeType": "ExpressionStatement", - "src": "15023:3:0" + "src": "14949:3:0" }, "nodeType": "ForStatement", - "src": "14978:562:0" + "src": "14904:562:0" } ] } @@ -29029,7 +28959,7 @@ ] }, "documentation": "dev Private method to transfer funds to the destination addresses on the basis of transaction type", - "id": 897, + "id": 895, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -29037,16 +28967,16 @@ "name": "transferFunds", "nodeType": "FunctionDefinition", "parameters": { - "id": 725, + "id": 723, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 718, + "id": 716, "name": "scriptHash", "nodeType": "VariableDeclaration", - "scope": 897, - "src": "14702:18:0", + "scope": 895, + "src": "14628:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -29054,10 +28984,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 717, + "id": 715, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "14702:7:0", + "src": "14628:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -29068,11 +28998,11 @@ }, { "constant": false, - "id": 721, + "id": 719, "name": "destinations", "nodeType": "VariableDeclaration", - "scope": 897, - "src": "14730:21:0", + "scope": 895, + "src": "14656:21:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -29081,19 +29011,19 @@ }, "typeName": { "baseType": { - "id": 719, + "id": 717, "name": "address", "nodeType": "ElementaryTypeName", - "src": "14730:7:0", + "src": "14656:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 720, + "id": 718, "length": null, "nodeType": "ArrayTypeName", - "src": "14730:9:0", + "src": "14656:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", "typeString": "address[]" @@ -29104,11 +29034,11 @@ }, { "constant": false, - "id": 724, + "id": 722, "name": "amounts", "nodeType": "VariableDeclaration", - "scope": 897, - "src": "14761:16:0", + "scope": 895, + "src": "14687:16:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -29117,19 +29047,19 @@ }, "typeName": { "baseType": { - "id": 722, + "id": 720, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "14761:7:0", + "src": "14687:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 723, + "id": 721, "length": null, "nodeType": "ArrayTypeName", - "src": "14761:9:0", + "src": "14687:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -29139,20 +29069,20 @@ "visibility": "internal" } ], - "src": "14692:91:0" + "src": "14618:91:0" }, "payable": false, "returnParameters": { - "id": 728, + "id": 726, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 727, + "id": 725, "name": "valueTransferred", "nodeType": "VariableDeclaration", - "scope": 897, - "src": "14817:24:0", + "scope": 895, + "src": "14743:24:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -29160,10 +29090,10 @@ "typeString": "uint256" }, "typeName": { - "id": 726, + "id": 724, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "14817:7:0", + "src": "14743:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29173,19 +29103,19 @@ "visibility": "internal" } ], - "src": "14816:26:0" + "src": "14742:26:0" }, - "scope": 1213, - "src": "14670:1552:0", + "scope": 1210, + "src": "14596:1552:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "private" }, { "body": { - "id": 1020, + "id": 1018, "nodeType": "Block", - "src": "16652:1277:0", + "src": "16578:1277:0", "statements": [ { "expression": { @@ -29197,7 +29127,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 930, + "id": 928, "isConstant": false, "isLValue": false, "isPure": false, @@ -29208,7 +29138,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 924, + "id": 922, "isConstant": false, "isLValue": false, "isPure": false, @@ -29217,18 +29147,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 920, + "id": 918, "name": "sigR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 903, - "src": "16683:4:0", + "referencedDeclaration": 901, + "src": "16609:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" } }, - "id": 921, + "id": 919, "isConstant": false, "isLValue": false, "isPure": false, @@ -29236,7 +29166,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "16683:11:0", + "src": "16609:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29248,18 +29178,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 922, + "id": 920, "name": "sigS", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 906, - "src": "16698:4:0", + "referencedDeclaration": 904, + "src": "16624:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" } }, - "id": 923, + "id": 921, "isConstant": false, "isLValue": false, "isPure": false, @@ -29267,13 +29197,13 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "16698:11:0", + "src": "16624:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "16683:26:0", + "src": "16609:26:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -29287,7 +29217,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 929, + "id": 927, "isConstant": false, "isLValue": false, "isPure": false, @@ -29296,18 +29226,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 925, + "id": 923, "name": "sigR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 903, - "src": "16713:4:0", + "referencedDeclaration": 901, + "src": "16639:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" } }, - "id": 926, + "id": 924, "isConstant": false, "isLValue": false, "isPure": false, @@ -29315,7 +29245,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "16713:11:0", + "src": "16639:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29327,18 +29257,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 927, + "id": 925, "name": "sigV", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 900, - "src": "16728:4:0", + "referencedDeclaration": 898, + "src": "16654:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr", "typeString": "uint8[] memory" } }, - "id": 928, + "id": 926, "isConstant": false, "isLValue": false, "isPure": false, @@ -29346,19 +29276,19 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "16728:11:0", + "src": "16654:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "16713:26:0", + "src": "16639:26:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "16683:56:0", + "src": "16609:56:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -29367,14 +29297,14 @@ { "argumentTypes": null, "hexValue": "522c532c56206c656e677468206d69736d617463682e", - "id": 931, + "id": 929, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "16754:24:0", + "src": "16680:24:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_f85073c8befb65baed58ca1ee563e5da0bdbdce8abd4d29ef22a8329c7c97506", @@ -29394,21 +29324,21 @@ "typeString": "literal_string \"R,S,V length mismatch.\"" } ], - "id": 919, + "id": 917, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1389, - 1390 + 1386, + 1387 ], - "referencedDeclaration": 1390, - "src": "16662:7:0", + "referencedDeclaration": 1387, + "src": "16588:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 932, + "id": 930, "isConstant": false, "isLValue": false, "isPure": false, @@ -29416,28 +29346,28 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16662:126:0", + "src": "16588:126:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 933, + "id": 931, "nodeType": "ExpressionStatement", - "src": "16662:126:0" + "src": "16588:126:0" }, { "assignments": [ - 935 + 933 ], "declarations": [ { "constant": false, - "id": 935, + "id": 933, "name": "txHash", "nodeType": "VariableDeclaration", - "scope": 1021, - "src": "16887:14:0", + "scope": 1019, + "src": "16813:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -29445,10 +29375,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 934, + "id": 932, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "16887:7:0", + "src": "16813:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -29458,7 +29388,7 @@ "visibility": "internal" } ], - "id": 957, + "id": 955, "initialValue": { "argumentTypes": null, "arguments": [ @@ -29468,14 +29398,14 @@ { "argumentTypes": null, "hexValue": "19457468657265756d205369676e6564204d6573736167653a0a3332", - "id": 939, + "id": 937, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "16961:34:0", + "src": "16887:34:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_178a2411ab6fbc1ba11064408972259c558d0e82fd48b0aba3ad81d14f065e73", @@ -29495,14 +29425,14 @@ { "argumentTypes": null, "hexValue": "30783139", - "id": 944, + "id": 942, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "17091:4:0", + "src": "17017:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_25_by_1", @@ -29518,20 +29448,20 @@ "typeString": "int_const 25" } ], - "id": 943, + "id": 941, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "17086:4:0", + "src": "17012:4:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes1_$", "typeString": "type(bytes1)" }, "typeName": "byte" }, - "id": 945, + "id": 943, "isConstant": false, "isLValue": false, "isPure": true, @@ -29539,7 +29469,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17086:10:0", + "src": "17012:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes1", "typeString": "bytes1" @@ -29551,14 +29481,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 947, + "id": 945, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "17127:1:0", + "src": "17053:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -29574,20 +29504,20 @@ "typeString": "int_const 0" } ], - "id": 946, + "id": 944, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "17122:4:0", + "src": "17048:4:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes1_$", "typeString": "type(bytes1)" }, "typeName": "byte" }, - "id": 948, + "id": 946, "isConstant": false, "isLValue": false, "isPure": true, @@ -29595,7 +29525,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17122:7:0", + "src": "17048:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes1", "typeString": "bytes1" @@ -29603,25 +29533,25 @@ }, { "argumentTypes": null, - "id": 949, + "id": 947, "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1403, - "src": "17155:4:0", + "referencedDeclaration": 1400, + "src": "17081:4:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_Escrow_v1_0_$1213", + "typeIdentifier": "t_contract$_Escrow_v1_0_$1210", "typeString": "contract Escrow_v1_0" } }, { "argumentTypes": null, - "id": 950, + "id": 948, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 911, - "src": "17185:12:0", + "referencedDeclaration": 909, + "src": "17111:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -29629,12 +29559,12 @@ }, { "argumentTypes": null, - "id": 951, + "id": 949, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 914, - "src": "17223:7:0", + "referencedDeclaration": 912, + "src": "17149:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" @@ -29642,12 +29572,12 @@ }, { "argumentTypes": null, - "id": 952, + "id": 950, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 908, - "src": "17256:10:0", + "referencedDeclaration": 906, + "src": "17182:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -29665,7 +29595,7 @@ "typeString": "bytes1" }, { - "typeIdentifier": "t_contract$_Escrow_v1_0_$1213", + "typeIdentifier": "t_contract$_Escrow_v1_0_$1210", "typeString": "contract Escrow_v1_0" }, { @@ -29683,18 +29613,18 @@ ], "expression": { "argumentTypes": null, - "id": 941, + "id": 939, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1373, - "src": "17044:3:0", + "referencedDeclaration": 1370, + "src": "16970:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, - "id": 942, + "id": 940, "isConstant": false, "isLValue": false, "isPure": true, @@ -29702,13 +29632,13 @@ "memberName": "encodePacked", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "17044:16:0", + "src": "16970:16:0", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, - "id": 953, + "id": 951, "isConstant": false, "isLValue": false, "isPure": false, @@ -29716,7 +29646,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17044:244:0", + "src": "16970:244:0", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -29730,18 +29660,18 @@ "typeString": "bytes memory" } ], - "id": 940, + "id": 938, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1380, - "src": "17013:9:0", + "referencedDeclaration": 1377, + "src": "16939:9:0", "typeDescriptions": { "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", "typeString": "function () pure returns (bytes32)" } }, - "id": 954, + "id": 952, "isConstant": false, "isLValue": false, "isPure": false, @@ -29749,7 +29679,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17013:293:0", + "src": "16939:293:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -29769,18 +29699,18 @@ ], "expression": { "argumentTypes": null, - "id": 937, + "id": 935, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1373, - "src": "16927:3:0", + "referencedDeclaration": 1370, + "src": "16853:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, - "id": 938, + "id": 936, "isConstant": false, "isLValue": false, "isPure": true, @@ -29788,13 +29718,13 @@ "memberName": "encodePacked", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "16927:16:0", + "src": "16853:16:0", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, - "id": 955, + "id": 953, "isConstant": false, "isLValue": false, "isPure": false, @@ -29802,7 +29732,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16927:393:0", + "src": "16853:393:0", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -29816,18 +29746,18 @@ "typeString": "bytes memory" } ], - "id": 936, + "id": 934, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1380, - "src": "16904:9:0", + "referencedDeclaration": 1377, + "src": "16830:9:0", "typeDescriptions": { "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", "typeString": "function () pure returns (bytes32)" } }, - "id": 956, + "id": 954, "isConstant": false, "isLValue": false, "isPure": false, @@ -29835,33 +29765,33 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16904:426:0", + "src": "16830:426:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "nodeType": "VariableDeclarationStatement", - "src": "16887:443:0" + "src": "16813:443:0" }, { "body": { - "id": 1018, + "id": 1016, "nodeType": "Block", - "src": "17380:543:0", + "src": "17306:543:0", "statements": [ { "assignments": [ - 970 + 968 ], "declarations": [ { "constant": false, - "id": 970, + "id": 968, "name": "recovered", "nodeType": "VariableDeclaration", - "scope": 1021, - "src": "17395:17:0", + "scope": 1019, + "src": "17321:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -29869,10 +29799,10 @@ "typeString": "address" }, "typeName": { - "id": 969, + "id": 967, "name": "address", "nodeType": "ElementaryTypeName", - "src": "17395:7:0", + "src": "17321:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -29882,18 +29812,18 @@ "visibility": "internal" } ], - "id": 983, + "id": 981, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 972, + "id": 970, "name": "txHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 935, - "src": "17442:6:0", + "referencedDeclaration": 933, + "src": "17368:6:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -29903,26 +29833,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 973, + "id": 971, "name": "sigV", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 900, - "src": "17466:4:0", + "referencedDeclaration": 898, + "src": "17392:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr", "typeString": "uint8[] memory" } }, - "id": 975, + "id": 973, "indexExpression": { "argumentTypes": null, - "id": 974, + "id": 972, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 959, - "src": "17471:1:0", + "referencedDeclaration": 957, + "src": "17397:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29933,7 +29863,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17466:7:0", + "src": "17392:7:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -29943,26 +29873,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 976, + "id": 974, "name": "sigR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 903, - "src": "17491:4:0", + "referencedDeclaration": 901, + "src": "17417:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" } }, - "id": 978, + "id": 976, "indexExpression": { "argumentTypes": null, - "id": 977, + "id": 975, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 959, - "src": "17496:1:0", + "referencedDeclaration": 957, + "src": "17422:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29973,7 +29903,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17491:7:0", + "src": "17417:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -29983,26 +29913,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 979, + "id": 977, "name": "sigS", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 906, - "src": "17516:4:0", + "referencedDeclaration": 904, + "src": "17442:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" } }, - "id": 981, + "id": 979, "indexExpression": { "argumentTypes": null, - "id": 980, + "id": 978, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 959, - "src": "17521:1:0", + "referencedDeclaration": 957, + "src": "17447:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -30013,7 +29943,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17516:7:0", + "src": "17442:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -30039,18 +29969,18 @@ "typeString": "bytes32" } ], - "id": 971, + "id": 969, "name": "ecrecover", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1378, - "src": "17415:9:0", + "referencedDeclaration": 1375, + "src": "17341:9:0", "typeDescriptions": { "typeIdentifier": "t_function_ecrecover_pure$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$_t_address_$", "typeString": "function (bytes32,uint8,bytes32,bytes32) pure returns (address)" } }, - "id": 982, + "id": 980, "isConstant": false, "isLValue": false, "isPure": false, @@ -30058,14 +29988,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17415:122:0", + "src": "17341:122:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "VariableDeclarationStatement", - "src": "17395:142:0" + "src": "17321:142:0" }, { "expression": { @@ -30079,26 +30009,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 985, + "id": 983, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 77, - "src": "17577:12:0", + "referencedDeclaration": 75, + "src": "17503:12:0", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$73_storage_$", + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 987, + "id": 985, "indexExpression": { "argumentTypes": null, - "id": 986, + "id": 984, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 908, - "src": "17590:10:0", + "referencedDeclaration": 906, + "src": "17516:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -30109,35 +30039,35 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17577:24:0", + "src": "17503:24:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_Transaction_$73_storage", + "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 988, + "id": 986, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "isOwner", "nodeType": "MemberAccess", - "referencedDeclaration": 64, - "src": "17577:32:0", + "referencedDeclaration": 62, + "src": "17503:32:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 990, + "id": 988, "indexExpression": { "argumentTypes": null, - "id": 989, + "id": 987, "name": "recovered", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 970, - "src": "17610:9:0", + "referencedDeclaration": 968, + "src": "17536:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -30148,7 +30078,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17577:43:0", + "src": "17503:43:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -30157,14 +30087,14 @@ { "argumentTypes": null, "hexValue": "496e76616c6964207369676e6174757265", - "id": 991, + "id": 989, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "17639:19:0", + "src": "17565:19:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_4f2d7dfcb27c0aafa13ae8c400de482c7832204d194018b6e45bd2bf244c74e7", @@ -30184,21 +30114,21 @@ "typeString": "literal_string \"Invalid signature\"" } ], - "id": 984, + "id": 982, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1389, - 1390 + 1386, + 1387 ], - "referencedDeclaration": 1390, - "src": "17552:7:0", + "referencedDeclaration": 1387, + "src": "17478:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 992, + "id": 990, "isConstant": false, "isLValue": false, "isPure": false, @@ -30206,15 +30136,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17552:120:0", + "src": "17478:120:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 993, + "id": 991, "nodeType": "ExpressionStatement", - "src": "17552:120:0" + "src": "17478:120:0" }, { "expression": { @@ -30222,7 +30152,7 @@ "arguments": [ { "argumentTypes": null, - "id": 1001, + "id": 999, "isConstant": false, "isLValue": false, "isPure": false, @@ -30230,7 +30160,7 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "17711:42:0", + "src": "17637:42:0", "subExpression": { "argumentTypes": null, "baseExpression": { @@ -30239,26 +30169,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 995, + "id": 993, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 77, - "src": "17712:12:0", + "referencedDeclaration": 75, + "src": "17638:12:0", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$73_storage_$", + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 997, + "id": 995, "indexExpression": { "argumentTypes": null, - "id": 996, + "id": 994, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 908, - "src": "17725:10:0", + "referencedDeclaration": 906, + "src": "17651:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -30269,35 +30199,35 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17712:24:0", + "src": "17638:24:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_Transaction_$73_storage", + "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 998, + "id": 996, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "voted", "nodeType": "MemberAccess", - "referencedDeclaration": 68, - "src": "17712:30:0", + "referencedDeclaration": 66, + "src": "17638:30:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 1000, + "id": 998, "indexExpression": { "argumentTypes": null, - "id": 999, + "id": 997, "name": "recovered", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 970, - "src": "17743:9:0", + "referencedDeclaration": 968, + "src": "17669:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -30308,7 +30238,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17712:41:0", + "src": "17638:41:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -30322,14 +30252,14 @@ { "argumentTypes": null, "hexValue": "53616d65207369676e61747572652073656e74207477696365", - "id": 1002, + "id": 1000, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "17772:27:0", + "src": "17698:27:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_fb2c7e49d5ec7ce36fa812cf15ee7fa946942f931d04fe3ae970516007b2a543", @@ -30349,21 +30279,21 @@ "typeString": "literal_string \"Same signature sent twice\"" } ], - "id": 994, + "id": 992, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1389, - 1390 + 1386, + 1387 ], - "referencedDeclaration": 1390, - "src": "17686:7:0", + "referencedDeclaration": 1387, + "src": "17612:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 1003, + "id": 1001, "isConstant": false, "isLValue": false, "isPure": false, @@ -30371,20 +30301,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17686:127:0", + "src": "17612:127:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1004, + "id": 1002, "nodeType": "ExpressionStatement", - "src": "17686:127:0" + "src": "17612:127:0" }, { "expression": { "argumentTypes": null, - "id": 1012, + "id": 1010, "isConstant": false, "isLValue": false, "isPure": false, @@ -30397,26 +30327,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1005, + "id": 1003, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 77, - "src": "17827:12:0", + "referencedDeclaration": 75, + "src": "17753:12:0", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$73_storage_$", + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 1007, + "id": 1005, "indexExpression": { "argumentTypes": null, - "id": 1006, + "id": 1004, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 908, - "src": "17840:10:0", + "referencedDeclaration": 906, + "src": "17766:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -30427,35 +30357,35 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17827:24:0", + "src": "17753:24:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_Transaction_$73_storage", + "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 1008, + "id": 1006, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "voted", "nodeType": "MemberAccess", - "referencedDeclaration": 68, - "src": "17827:30:0", + "referencedDeclaration": 66, + "src": "17753:30:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 1010, + "id": 1008, "indexExpression": { "argumentTypes": null, - "id": 1009, + "id": 1007, "name": "recovered", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 970, - "src": "17858:9:0", + "referencedDeclaration": 968, + "src": "17784:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -30466,7 +30396,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "17827:41:0", + "src": "17753:41:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -30477,14 +30407,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "74727565", - "id": 1011, + "id": 1009, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "17871:4:0", + "src": "17797:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -30492,32 +30422,32 @@ }, "value": "true" }, - "src": "17827:48:0", + "src": "17753:48:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 1013, + "id": 1011, "nodeType": "ExpressionStatement", - "src": "17827:48:0" + "src": "17753:48:0" }, { "expression": { "argumentTypes": null, - "id": 1016, + "id": 1014, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 1014, + "id": 1012, "name": "lastAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 917, - "src": "17889:11:0", + "referencedDeclaration": 915, + "src": "17815:11:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -30527,26 +30457,26 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 1015, + "id": 1013, "name": "recovered", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 970, - "src": "17903:9:0", + "referencedDeclaration": 968, + "src": "17829:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "17889:23:0", + "src": "17815:23:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 1017, + "id": 1015, "nodeType": "ExpressionStatement", - "src": "17889:23:0" + "src": "17815:23:0" } ] }, @@ -30556,19 +30486,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 965, + "id": 963, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 962, + "id": 960, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 959, - "src": "17358:1:0", + "referencedDeclaration": 957, + "src": "17284:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -30580,18 +30510,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 963, + "id": 961, "name": "sigR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 903, - "src": "17362:4:0", + "referencedDeclaration": 901, + "src": "17288:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" } }, - "id": 964, + "id": 962, "isConstant": false, "isLValue": false, "isPure": false, @@ -30599,31 +30529,31 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "17362:11:0", + "src": "17288:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "17358:15:0", + "src": "17284:15:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 1019, + "id": 1017, "initializationExpression": { "assignments": [ - 959 + 957 ], "declarations": [ { "constant": false, - "id": 959, + "id": 957, "name": "i", "nodeType": "VariableDeclaration", - "scope": 1021, - "src": "17346:6:0", + "scope": 1019, + "src": "17272:6:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -30631,10 +30561,10 @@ "typeString": "uint256" }, "typeName": { - "id": 958, + "id": 956, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "17346:4:0", + "src": "17272:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -30644,18 +30574,18 @@ "visibility": "internal" } ], - "id": 961, + "id": 959, "initialValue": { "argumentTypes": null, "hexValue": "30", - "id": 960, + "id": 958, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "17355:1:0", + "src": "17281:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -30664,12 +30594,12 @@ "value": "0" }, "nodeType": "VariableDeclarationStatement", - "src": "17346:10:0" + "src": "17272:10:0" }, "loopExpression": { "expression": { "argumentTypes": null, - "id": 967, + "id": 965, "isConstant": false, "isLValue": false, "isPure": false, @@ -30677,15 +30607,15 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "17375:3:0", + "src": "17301:3:0", "subExpression": { "argumentTypes": null, - "id": 966, + "id": 964, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 959, - "src": "17375:1:0", + "referencedDeclaration": 957, + "src": "17301:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -30696,17 +30626,17 @@ "typeString": "uint256" } }, - "id": 968, + "id": 966, "nodeType": "ExpressionStatement", - "src": "17375:3:0" + "src": "17301:3:0" }, "nodeType": "ForStatement", - "src": "17341:582:0" + "src": "17267:582:0" } ] }, "documentation": null, - "id": 1021, + "id": 1019, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -30714,16 +30644,16 @@ "name": "verifySignatures", "nodeType": "FunctionDefinition", "parameters": { - "id": 915, + "id": 913, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 900, + "id": 898, "name": "sigV", "nodeType": "VariableDeclaration", - "scope": 1021, - "src": "16441:12:0", + "scope": 1019, + "src": "16367:12:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -30732,19 +30662,19 @@ }, "typeName": { "baseType": { - "id": 898, + "id": 896, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "16441:5:0", + "src": "16367:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, - "id": 899, + "id": 897, "length": null, "nodeType": "ArrayTypeName", - "src": "16441:7:0", + "src": "16367:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_storage_ptr", "typeString": "uint8[]" @@ -30755,11 +30685,11 @@ }, { "constant": false, - "id": 903, + "id": 901, "name": "sigR", "nodeType": "VariableDeclaration", - "scope": 1021, - "src": "16463:14:0", + "scope": 1019, + "src": "16389:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -30768,19 +30698,19 @@ }, "typeName": { "baseType": { - "id": 901, + "id": 899, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "16463:7:0", + "src": "16389:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "id": 902, + "id": 900, "length": null, "nodeType": "ArrayTypeName", - "src": "16463:9:0", + "src": "16389:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -30791,11 +30721,11 @@ }, { "constant": false, - "id": 906, + "id": 904, "name": "sigS", "nodeType": "VariableDeclaration", - "scope": 1021, - "src": "16487:14:0", + "scope": 1019, + "src": "16413:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -30804,19 +30734,19 @@ }, "typeName": { "baseType": { - "id": 904, + "id": 902, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "16487:7:0", + "src": "16413:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "id": 905, + "id": 903, "length": null, "nodeType": "ArrayTypeName", - "src": "16487:9:0", + "src": "16413:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -30827,11 +30757,11 @@ }, { "constant": false, - "id": 908, + "id": 906, "name": "scriptHash", "nodeType": "VariableDeclaration", - "scope": 1021, - "src": "16511:18:0", + "scope": 1019, + "src": "16437:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -30839,10 +30769,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 907, + "id": 905, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "16511:7:0", + "src": "16437:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -30853,11 +30783,11 @@ }, { "constant": false, - "id": 911, + "id": 909, "name": "destinations", "nodeType": "VariableDeclaration", - "scope": 1021, - "src": "16539:22:0", + "scope": 1019, + "src": "16465:22:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -30866,19 +30796,19 @@ }, "typeName": { "baseType": { - "id": 909, + "id": 907, "name": "address", "nodeType": "ElementaryTypeName", - "src": "16539:7:0", + "src": "16465:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 910, + "id": 908, "length": null, "nodeType": "ArrayTypeName", - "src": "16539:9:0", + "src": "16465:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", "typeString": "address[]" @@ -30889,11 +30819,11 @@ }, { "constant": false, - "id": 914, + "id": 912, "name": "amounts", "nodeType": "VariableDeclaration", - "scope": 1021, - "src": "16571:16:0", + "scope": 1019, + "src": "16497:16:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -30902,19 +30832,19 @@ }, "typeName": { "baseType": { - "id": 912, + "id": 910, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "16571:7:0", + "src": "16497:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 913, + "id": 911, "length": null, "nodeType": "ArrayTypeName", - "src": "16571:9:0", + "src": "16497:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -30924,20 +30854,20 @@ "visibility": "internal" } ], - "src": "16431:162:0" + "src": "16357:162:0" }, "payable": false, "returnParameters": { - "id": 918, + "id": 916, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 917, + "id": 915, "name": "lastAddress", "nodeType": "VariableDeclaration", - "scope": 1021, - "src": "16627:19:0", + "scope": 1019, + "src": "16553:19:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -30945,10 +30875,10 @@ "typeString": "address" }, "typeName": { - "id": 916, + "id": 914, "name": "address", "nodeType": "ElementaryTypeName", - "src": "16627:7:0", + "src": "16553:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -30958,32 +30888,32 @@ "visibility": "internal" } ], - "src": "16626:21:0" + "src": "16552:21:0" }, - "scope": 1213, - "src": "16406:1523:0", + "scope": 1210, + "src": "16332:1523:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "private" }, { "body": { - "id": 1054, + "id": 1052, "nodeType": "Block", - "src": "18091:171:0", + "src": "18017:171:0", "statements": [ { "assignments": [ - 1031 + 1029 ], "declarations": [ { "constant": false, - "id": 1031, + "id": 1029, "name": "timeSince", "nodeType": "VariableDeclaration", - "scope": 1055, - "src": "18101:17:0", + "scope": 1053, + "src": "18027:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -30991,10 +30921,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1030, + "id": 1028, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "18101:7:0", + "src": "18027:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -31004,18 +30934,18 @@ "visibility": "internal" } ], - "id": 1036, + "id": 1034, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 1034, + "id": 1032, "name": "lastModified", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1025, - "src": "18129:12:0", + "referencedDeclaration": 1023, + "src": "18055:12:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -31031,32 +30961,32 @@ ], "expression": { "argumentTypes": null, - "id": 1032, + "id": 1030, "name": "now", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1388, - "src": "18121:3:0", + "referencedDeclaration": 1385, + "src": "18047:3:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1033, + "id": 1031, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sub", "nodeType": "MemberAccess", - "referencedDeclaration": 1326, - "src": "18121:7:0", + "referencedDeclaration": 1323, + "src": "18047:7:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 1035, + "id": 1033, "isConstant": false, "isLValue": false, "isPure": false, @@ -31064,31 +30994,31 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18121:21:0", + "src": "18047:21:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "18101:41:0" + "src": "18027:41:0" }, { "expression": { "argumentTypes": null, - "id": 1052, + "id": 1050, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 1037, + "id": 1035, "name": "expired", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1028, - "src": "18152:7:0", + "referencedDeclaration": 1026, + "src": "18078:7:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -31107,19 +31037,19 @@ "typeIdentifier": "t_uint32", "typeString": "uint32" }, - "id": 1040, + "id": 1038, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1038, + "id": 1036, "name": "timeoutHours", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1023, - "src": "18176:12:0", + "referencedDeclaration": 1021, + "src": "18102:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -31130,14 +31060,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 1039, + "id": 1037, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "18192:1:0", + "src": "18118:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -31145,7 +31075,7 @@ }, "value": "0" }, - "src": "18176:17:0", + "src": "18102:17:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -31157,19 +31087,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1049, + "id": 1047, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1042, + "id": 1040, "name": "timeSince", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1031, - "src": "18202:9:0", + "referencedDeclaration": 1029, + "src": "18128:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -31183,14 +31113,14 @@ { "argumentTypes": null, "hexValue": "33363030", - "id": 1047, + "id": 1045, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "18240:4:0", + "src": "18166:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_3600_by_1", @@ -31211,12 +31141,12 @@ "arguments": [ { "argumentTypes": null, - "id": 1044, + "id": 1042, "name": "timeoutHours", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1023, - "src": "18222:12:0", + "referencedDeclaration": 1021, + "src": "18148:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -31230,20 +31160,20 @@ "typeString": "uint32" } ], - "id": 1043, + "id": 1041, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "18214:7:0", + "src": "18140:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint256_$", "typeString": "type(uint256)" }, "typeName": "uint256" }, - "id": 1045, + "id": 1043, "isConstant": false, "isLValue": false, "isPure": false, @@ -31251,27 +31181,27 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18214:21:0", + "src": "18140:21:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1046, + "id": 1044, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "mul", "nodeType": "MemberAccess", - "referencedDeclaration": 1278, - "src": "18214:25:0", + "referencedDeclaration": 1275, + "src": "18140:25:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 1048, + "id": 1046, "isConstant": false, "isLValue": false, "isPure": false, @@ -31279,36 +31209,36 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18214:31:0", + "src": "18140:31:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "18202:43:0", + "src": "18128:43:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 1050, + "id": 1048, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "Conditional", - "src": "18176:69:0", + "src": "18102:69:0", "trueExpression": { "argumentTypes": null, "hexValue": "66616c7365", - "id": 1041, + "id": 1039, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "18196:5:0", + "src": "18122:5:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -31322,33 +31252,33 @@ } } ], - "id": 1051, + "id": 1049, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "18162:93:0", + "src": "18088:93:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "18152:103:0", + "src": "18078:103:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 1053, + "id": 1051, "nodeType": "ExpressionStatement", - "src": "18152:103:0" + "src": "18078:103:0" } ] }, "documentation": null, - "id": 1055, + "id": 1053, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -31356,16 +31286,16 @@ "name": "isTimeLockExpired", "nodeType": "FunctionDefinition", "parameters": { - "id": 1026, + "id": 1024, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1023, + "id": 1021, "name": "timeoutHours", "nodeType": "VariableDeclaration", - "scope": 1055, - "src": "17971:19:0", + "scope": 1053, + "src": "17897:19:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -31373,10 +31303,10 @@ "typeString": "uint32" }, "typeName": { - "id": 1022, + "id": 1020, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "17971:6:0", + "src": "17897:6:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -31387,11 +31317,11 @@ }, { "constant": false, - "id": 1025, + "id": 1023, "name": "lastModified", "nodeType": "VariableDeclaration", - "scope": 1055, - "src": "18000:20:0", + "scope": 1053, + "src": "17926:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -31399,10 +31329,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1024, + "id": 1022, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "18000:7:0", + "src": "17926:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -31412,20 +31342,20 @@ "visibility": "internal" } ], - "src": "17961:65:0" + "src": "17887:65:0" }, "payable": false, "returnParameters": { - "id": 1029, + "id": 1027, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1028, + "id": 1026, "name": "expired", "nodeType": "VariableDeclaration", - "scope": 1055, - "src": "18073:12:0", + "scope": 1053, + "src": "17999:12:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -31433,10 +31363,10 @@ "typeString": "bool" }, "typeName": { - "id": 1027, + "id": 1025, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "18073:4:0", + "src": "17999:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -31446,19 +31376,19 @@ "visibility": "internal" } ], - "src": "18072:14:0" + "src": "17998:14:0" }, - "scope": 1213, - "src": "17935:327:0", + "scope": 1210, + "src": "17861:327:0", "stateMutability": "view", "superFunction": null, "visibility": "private" }, { "body": { - "id": 1211, + "id": 1208, "nodeType": "Block", - "src": "18676:2344:0", + "src": "18602:2308:0", "statements": [ { "expression": { @@ -31470,19 +31400,19 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 1081, + "id": 1079, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1079, + "id": 1077, "name": "buyer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1057, - "src": "18702:5:0", + "referencedDeclaration": 1055, + "src": "18628:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -31492,18 +31422,18 @@ "operator": "!=", "rightExpression": { "argumentTypes": null, - "id": 1080, + "id": 1078, "name": "seller", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1059, - "src": "18711:6:0", + "referencedDeclaration": 1057, + "src": "18637:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "18702:15:0", + "src": "18628:15:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -31512,14 +31442,14 @@ { "argumentTypes": null, "hexValue": "427579657220616e642073656c6c6572206172652073616d65", - "id": 1082, + "id": 1080, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "18719:27:0", + "src": "18645:27:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_6141441751234d42e9a73d96317794195c7ff57b8f16ac15725a10f10763f824", @@ -31539,21 +31469,21 @@ "typeString": "literal_string \"Buyer and seller are same\"" } ], - "id": 1078, + "id": 1076, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1389, - 1390 + 1386, + 1387 ], - "referencedDeclaration": 1390, - "src": "18694:7:0", + "referencedDeclaration": 1387, + "src": "18620:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 1083, + "id": 1081, "isConstant": false, "isLValue": false, "isPure": false, @@ -31561,15 +31491,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18694:53:0", + "src": "18620:53:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1084, + "id": 1082, "nodeType": "ExpressionStatement", - "src": "18694:53:0" + "src": "18620:53:0" }, { "expression": { @@ -31581,19 +31511,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1088, + "id": 1086, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1086, + "id": 1084, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1069, - "src": "18814:5:0", + "referencedDeclaration": 1067, + "src": "18740:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -31604,14 +31534,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 1087, + "id": 1085, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "18822:1:0", + "src": "18748:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -31619,7 +31549,7 @@ }, "value": "0" }, - "src": "18814:9:0", + "src": "18740:9:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -31628,14 +31558,14 @@ { "argumentTypes": null, "hexValue": "56616c7565207061737365642069732030", - "id": 1089, + "id": 1087, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "18825:19:0", + "src": "18751:19:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_3686f87c4804517ea83323ccf1a3b5b5ff52ed144b19e6fc56abe8fcd182e747", @@ -31655,21 +31585,21 @@ "typeString": "literal_string \"Value passed is 0\"" } ], - "id": 1085, + "id": 1083, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1389, - 1390 + 1386, + 1387 ], - "referencedDeclaration": 1390, - "src": "18806:7:0", + "referencedDeclaration": 1387, + "src": "18732:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 1090, + "id": 1088, "isConstant": false, "isLValue": false, "isPure": false, @@ -31677,15 +31607,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18806:39:0", + "src": "18732:39:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1091, + "id": 1089, "nodeType": "ExpressionStatement", - "src": "18806:39:0" + "src": "18732:39:0" }, { "expression": { @@ -31697,7 +31627,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 1099, + "id": 1097, "isConstant": false, "isLValue": false, "isPure": false, @@ -31708,19 +31638,19 @@ "typeIdentifier": "t_uint8", "typeString": "uint8" }, - "id": 1095, + "id": 1093, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1093, + "id": 1091, "name": "threshold", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1063, - "src": "18948:9:0", + "referencedDeclaration": 1061, + "src": "18874:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -31731,14 +31661,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 1094, + "id": 1092, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "18960:1:0", + "src": "18886:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -31746,7 +31676,7 @@ }, "value": "0" }, - "src": "18948:13:0", + "src": "18874:13:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -31760,19 +31690,19 @@ "typeIdentifier": "t_uint8", "typeString": "uint8" }, - "id": 1098, + "id": 1096, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1096, + "id": 1094, "name": "threshold", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1063, - "src": "18965:9:0", + "referencedDeclaration": 1061, + "src": "18891:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -31783,14 +31713,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "33", - "id": 1097, + "id": 1095, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "18978:1:0", + "src": "18904:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_3_by_1", @@ -31798,13 +31728,13 @@ }, "value": "3" }, - "src": "18965:14:0", + "src": "18891:14:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "18948:31:0", + "src": "18874:31:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -31813,14 +31743,14 @@ { "argumentTypes": null, "hexValue": "5468726573686f6c642063616e6e6f742062652067726561746572207468616e203320616e64206d7573742062652067726561746572207468616e2030", - "id": 1100, + "id": 1098, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "18994:63:0", + "src": "18920:63:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_351c1d5dfdc4a2b4c61d6f4dbb41a0d2ae70a9c094d3c0add87af24b5dd19c13", @@ -31840,21 +31770,21 @@ "typeString": "literal_string \"Threshold cannot be greater than 3 and must be greater than 0\"" } ], - "id": 1092, + "id": 1090, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1389, - 1390 + 1386, + 1387 ], - "referencedDeclaration": 1390, - "src": "18927:7:0", + "referencedDeclaration": 1387, + "src": "18853:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 1101, + "id": 1099, "isConstant": false, "isLValue": false, "isPure": false, @@ -31862,15 +31792,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18927:140:0", + "src": "18853:140:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1102, + "id": 1100, "nodeType": "ExpressionStatement", - "src": "18927:140:0" + "src": "18853:140:0" }, { "expression": { @@ -31882,7 +31812,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 1112, + "id": 1110, "isConstant": false, "isLValue": false, "isPure": false, @@ -31893,19 +31823,19 @@ "typeIdentifier": "t_uint8", "typeString": "uint8" }, - "id": 1106, + "id": 1104, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1104, + "id": 1102, "name": "threshold", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1063, - "src": "19336:9:0", + "referencedDeclaration": 1061, + "src": "19262:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -31916,14 +31846,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "31", - "id": 1105, + "id": 1103, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "19349:1:0", + "src": "19275:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -31931,7 +31861,7 @@ }, "value": "1" }, - "src": "19336:14:0", + "src": "19262:14:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -31945,19 +31875,19 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 1111, + "id": 1109, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1107, + "id": 1105, "name": "moderator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1061, - "src": "19354:9:0", + "referencedDeclaration": 1059, + "src": "19280:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -31971,14 +31901,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 1109, + "id": 1107, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "19375:1:0", + "src": "19301:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -31994,20 +31924,20 @@ "typeString": "int_const 0" } ], - "id": 1108, + "id": 1106, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "19367:7:0", + "src": "19293:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, - "id": 1110, + "id": 1108, "isConstant": false, "isLValue": false, "isPure": true, @@ -32015,19 +31945,19 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "19367:10:0", + "src": "19293:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "19354:23:0", + "src": "19280:23:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "19336:41:0", + "src": "19262:41:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -32036,14 +31966,14 @@ { "argumentTypes": null, "hexValue": "456974686572207468726573686f6c642073686f756c642062652031206f74686572776973652076616c6964206d6f64657261746f7220616464726573732073686f756c6420626520706173736564", - "id": 1113, + "id": 1111, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "19391:81:0", + "src": "19317:81:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_08dfdd405be5d5023d3f601e2b0a844b246ceb6764817070ff6789d5e1f80050", @@ -32063,21 +31993,21 @@ "typeString": "literal_string \"Either threshold should be 1 otherwise valid moderator address should be passed\"" } ], - "id": 1103, + "id": 1101, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1389, - 1390 + 1386, + 1387 ], - "referencedDeclaration": 1390, - "src": "19315:7:0", + "referencedDeclaration": 1387, + "src": "19241:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 1114, + "id": 1112, "isConstant": false, "isLValue": false, "isPure": false, @@ -32085,15 +32015,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "19315:167:0", + "src": "19241:167:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1115, + "id": 1113, "nodeType": "ExpressionStatement", - "src": "19315:167:0" + "src": "19241:167:0" }, { "expression": { @@ -32105,19 +32035,19 @@ "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, - "id": 1127, + "id": 1125, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1117, + "id": 1115, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1067, - "src": "19514:10:0", + "referencedDeclaration": 1065, + "src": "19440:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -32130,12 +32060,12 @@ "arguments": [ { "argumentTypes": null, - "id": 1119, + "id": 1117, "name": "uniqueId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1071, - "src": "19571:8:0", + "referencedDeclaration": 1069, + "src": "19497:8:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -32143,12 +32073,12 @@ }, { "argumentTypes": null, - "id": 1120, + "id": 1118, "name": "threshold", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1063, - "src": "19597:9:0", + "referencedDeclaration": 1061, + "src": "19523:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -32156,12 +32086,12 @@ }, { "argumentTypes": null, - "id": 1121, + "id": 1119, "name": "timeoutHours", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1065, - "src": "19624:12:0", + "referencedDeclaration": 1063, + "src": "19550:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -32169,12 +32099,12 @@ }, { "argumentTypes": null, - "id": 1122, + "id": 1120, "name": "buyer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1057, - "src": "19654:5:0", + "referencedDeclaration": 1055, + "src": "19580:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -32182,12 +32112,12 @@ }, { "argumentTypes": null, - "id": 1123, + "id": 1121, "name": "seller", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1059, - "src": "19677:6:0", + "referencedDeclaration": 1057, + "src": "19603:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -32195,12 +32125,12 @@ }, { "argumentTypes": null, - "id": 1124, + "id": 1122, "name": "moderator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1061, - "src": "19701:9:0", + "referencedDeclaration": 1059, + "src": "19627:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -32208,12 +32138,12 @@ }, { "argumentTypes": null, - "id": 1125, + "id": 1123, "name": "tokenAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1075, - "src": "19728:12:0", + "referencedDeclaration": 1073, + "src": "19654:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -32251,18 +32181,18 @@ "typeString": "address" } ], - "id": 1118, + "id": 1116, "name": "calculateRedeemScriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 647, - "src": "19528:25:0", + "referencedDeclaration": 645, + "src": "19454:25:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_bytes20_$_t_uint8_$_t_uint32_$_t_address_$_t_address_$_t_address_$_t_address_$returns$_t_bytes32_$", "typeString": "function (bytes20,uint8,uint32,address,address,address,address) view returns (bytes32)" } }, - "id": 1126, + "id": 1124, "isConstant": false, "isLValue": false, "isPure": false, @@ -32270,13 +32200,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "19528:226:0", + "src": "19454:226:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "src": "19514:240:0", + "src": "19440:240:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -32285,14 +32215,14 @@ { "argumentTypes": null, "hexValue": "43616c63756c6174656420736372697074206861736820646f6573206e6f74206d61746368207061737365642073637269707420686173682e", - "id": 1128, + "id": 1126, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "19769:59:0", + "src": "19695:59:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_0c041e0c58e6b0e01d338d852a5abb639065eabeb0aee05e0ce3e5f0e52b4f51", @@ -32312,21 +32242,21 @@ "typeString": "literal_string \"Calculated script hash does not match passed script hash.\"" } ], - "id": 1116, + "id": 1114, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1389, - 1390 + 1386, + 1387 ], - "referencedDeclaration": 1390, - "src": "19493:7:0", + "referencedDeclaration": 1387, + "src": "19419:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 1129, + "id": 1127, "isConstant": false, "isLValue": false, "isPure": false, @@ -32334,20 +32264,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "19493:345:0", + "src": "19419:345:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1130, + "id": 1128, "nodeType": "ExpressionStatement", - "src": "19493:345:0" + "src": "19419:345:0" }, { "expression": { "argumentTypes": null, - "id": 1149, + "id": 1146, "isConstant": false, "isLValue": false, "isPure": false, @@ -32356,26 +32286,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1131, + "id": 1129, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 77, - "src": "19849:12:0", + "referencedDeclaration": 75, + "src": "19775:12:0", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$73_storage_$", + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 1133, + "id": 1131, "indexExpression": { "argumentTypes": null, - "id": 1132, + "id": 1130, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1067, - "src": "19862:10:0", + "referencedDeclaration": 1065, + "src": "19788:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -32386,9 +32316,9 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "19849:24:0", + "src": "19775:24:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_Transaction_$73_storage", + "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, @@ -32399,12 +32329,12 @@ "arguments": [ { "argumentTypes": null, - "id": 1135, + "id": 1133, "name": "buyer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1057, - "src": "19909:5:0", + "referencedDeclaration": 1055, + "src": "19835:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -32412,12 +32342,12 @@ }, { "argumentTypes": null, - "id": 1136, + "id": 1134, "name": "seller", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1059, - "src": "19936:6:0", + "referencedDeclaration": 1057, + "src": "19862:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -32425,12 +32355,12 @@ }, { "argumentTypes": null, - "id": 1137, + "id": 1135, "name": "moderator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1061, - "src": "19967:9:0", + "referencedDeclaration": 1059, + "src": "19893:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -32438,12 +32368,12 @@ }, { "argumentTypes": null, - "id": 1138, + "id": 1136, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1069, - "src": "19997:5:0", + "referencedDeclaration": 1067, + "src": "19923:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -32453,18 +32383,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1139, + "id": 1137, "name": "Status", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9, - "src": "20024:6:0", + "src": "19950:6:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_Status_$9_$", "typeString": "type(enum Escrow_v1_0.Status)" } }, - "id": 1140, + "id": 1138, "isConstant": false, "isLValue": false, "isPure": true, @@ -32472,7 +32402,7 @@ "memberName": "FUNDED", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "20024:13:0", + "src": "19950:13:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$9", "typeString": "enum Escrow_v1_0.Status" @@ -32482,18 +32412,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1141, + "id": 1139, "name": "block", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1376, - "src": "20065:5:0", + "referencedDeclaration": 1373, + "src": "19991:5:0", "typeDescriptions": { "typeIdentifier": "t_magic_block", "typeString": "block" } }, - "id": 1142, + "id": 1140, "isConstant": false, "isLValue": false, "isPure": false, @@ -32501,7 +32431,7 @@ "memberName": "timestamp", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "20065:15:0", + "src": "19991:15:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -32509,25 +32439,12 @@ }, { "argumentTypes": null, - "id": 1143, - "name": "scriptHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1067, - "src": "20106:10:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 1144, + "id": 1141, "name": "threshold", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1063, - "src": "20141:9:0", + "referencedDeclaration": 1061, + "src": "20031:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -32535,12 +32452,12 @@ }, { "argumentTypes": null, - "id": 1145, + "id": 1142, "name": "timeoutHours", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1065, - "src": "20178:12:0", + "referencedDeclaration": 1063, + "src": "20068:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -32548,12 +32465,12 @@ }, { "argumentTypes": null, - "id": 1146, + "id": 1143, "name": "transactionType", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1073, - "src": "20220:15:0", + "referencedDeclaration": 1071, + "src": "20110:15:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -32561,12 +32478,12 @@ }, { "argumentTypes": null, - "id": 1147, + "id": 1144, "name": "tokenAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1075, - "src": "20262:12:0", + "referencedDeclaration": 1073, + "src": "20152:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -32575,18 +32492,18 @@ ], "expression": { "argumentTypes": null, - "id": 1134, + "id": 1132, "name": "Transaction", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 73, - "src": "19876:11:0", + "referencedDeclaration": 71, + "src": "19802:11:0", "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_Transaction_$73_storage_ptr_$", + "typeIdentifier": "t_type$_t_struct$_Transaction_$71_storage_ptr_$", "typeString": "type(struct Escrow_v1_0.Transaction storage pointer)" } }, - "id": 1148, + "id": 1145, "isConstant": false, "isLValue": false, "isPure": false, @@ -32599,33 +32516,32 @@ "value", "status", "lastModified", - "scriptHash", "threshold", "timeoutHours", "transactionType", "tokenAddress" ], "nodeType": "FunctionCall", - "src": "19876:409:0", + "src": "19802:373:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_Transaction_$73_memory", + "typeIdentifier": "t_struct$_Transaction_$71_memory", "typeString": "struct Escrow_v1_0.Transaction memory" } }, - "src": "19849:436:0", + "src": "19775:400:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_Transaction_$73_storage", + "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 1150, + "id": 1147, "nodeType": "ExpressionStatement", - "src": "19849:436:0" + "src": "19775:400:0" }, { "expression": { "argumentTypes": null, - "id": 1158, + "id": 1155, "isConstant": false, "isLValue": false, "isPure": false, @@ -32638,26 +32554,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1151, + "id": 1148, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 77, - "src": "20296:12:0", + "referencedDeclaration": 75, + "src": "20186:12:0", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$73_storage_$", + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 1153, + "id": 1150, "indexExpression": { "argumentTypes": null, - "id": 1152, + "id": 1149, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1067, - "src": "20309:10:0", + "referencedDeclaration": 1065, + "src": "20199:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -32668,35 +32584,35 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20296:24:0", + "src": "20186:24:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_Transaction_$73_storage", + "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 1154, + "id": 1151, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "isOwner", "nodeType": "MemberAccess", - "referencedDeclaration": 64, - "src": "20296:32:0", + "referencedDeclaration": 62, + "src": "20186:32:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 1156, + "id": 1153, "indexExpression": { "argumentTypes": null, - "id": 1155, + "id": 1152, "name": "seller", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1059, - "src": "20329:6:0", + "referencedDeclaration": 1057, + "src": "20219:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -32707,7 +32623,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "20296:40:0", + "src": "20186:40:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -32718,14 +32634,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "74727565", - "id": 1157, + "id": 1154, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "20339:4:0", + "src": "20229:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -32733,20 +32649,20 @@ }, "value": "true" }, - "src": "20296:47:0", + "src": "20186:47:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 1159, + "id": 1156, "nodeType": "ExpressionStatement", - "src": "20296:47:0" + "src": "20186:47:0" }, { "expression": { "argumentTypes": null, - "id": 1167, + "id": 1164, "isConstant": false, "isLValue": false, "isPure": false, @@ -32759,26 +32675,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1160, + "id": 1157, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 77, - "src": "20353:12:0", + "referencedDeclaration": 75, + "src": "20243:12:0", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$73_storage_$", + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 1162, + "id": 1159, "indexExpression": { "argumentTypes": null, - "id": 1161, + "id": 1158, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1067, - "src": "20366:10:0", + "referencedDeclaration": 1065, + "src": "20256:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -32789,35 +32705,35 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20353:24:0", + "src": "20243:24:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_Transaction_$73_storage", + "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 1163, + "id": 1160, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "isOwner", "nodeType": "MemberAccess", - "referencedDeclaration": 64, - "src": "20353:32:0", + "referencedDeclaration": 62, + "src": "20243:32:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 1165, + "id": 1162, "indexExpression": { "argumentTypes": null, - "id": 1164, + "id": 1161, "name": "buyer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1057, - "src": "20386:5:0", + "referencedDeclaration": 1055, + "src": "20276:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -32828,7 +32744,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "20353:39:0", + "src": "20243:39:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -32839,14 +32755,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "74727565", - "id": 1166, + "id": 1163, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "20395:4:0", + "src": "20285:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -32854,15 +32770,15 @@ }, "value": "true" }, - "src": "20353:46:0", + "src": "20243:46:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 1168, + "id": 1165, "nodeType": "ExpressionStatement", - "src": "20353:46:0" + "src": "20243:46:0" }, { "expression": { @@ -32870,7 +32786,7 @@ "arguments": [ { "argumentTypes": null, - "id": 1176, + "id": 1173, "isConstant": false, "isLValue": false, "isPure": false, @@ -32878,7 +32794,7 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "20506:44:0", + "src": "20396:44:0", "subExpression": { "argumentTypes": null, "baseExpression": { @@ -32887,26 +32803,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1170, + "id": 1167, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 77, - "src": "20507:12:0", + "referencedDeclaration": 75, + "src": "20397:12:0", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$73_storage_$", + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 1172, + "id": 1169, "indexExpression": { "argumentTypes": null, - "id": 1171, + "id": 1168, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1067, - "src": "20520:10:0", + "referencedDeclaration": 1065, + "src": "20410:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -32917,35 +32833,35 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20507:24:0", + "src": "20397:24:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_Transaction_$73_storage", + "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 1173, + "id": 1170, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "isOwner", "nodeType": "MemberAccess", - "referencedDeclaration": 64, - "src": "20507:32:0", + "referencedDeclaration": 62, + "src": "20397:32:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 1175, + "id": 1172, "indexExpression": { "argumentTypes": null, - "id": 1174, + "id": 1171, "name": "moderator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1061, - "src": "20540:9:0", + "referencedDeclaration": 1059, + "src": "20430:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -32956,7 +32872,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20507:43:0", + "src": "20397:43:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -32970,14 +32886,14 @@ { "argumentTypes": null, "hexValue": "456974686572206275796572206f722073656c6c657220697320706173736564206173206d6f64657261746f72", - "id": 1177, + "id": 1174, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "20565:47:0", + "src": "20455:47:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_313b391557427937e7bdb85c7561d47c5b9c985755a448dd33a92026ffb38f8d", @@ -32997,21 +32913,21 @@ "typeString": "literal_string \"Either buyer or seller is passed as moderator\"" } ], - "id": 1169, + "id": 1166, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1389, - 1390 + 1386, + 1387 ], - "referencedDeclaration": 1390, - "src": "20485:7:0", + "referencedDeclaration": 1387, + "src": "20375:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 1178, + "id": 1175, "isConstant": false, "isLValue": false, "isPure": false, @@ -33019,15 +32935,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "20485:137:0", + "src": "20375:137:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1179, + "id": 1176, "nodeType": "ExpressionStatement", - "src": "20485:137:0" + "src": "20375:137:0" }, { "condition": { @@ -33036,19 +32952,19 @@ "typeIdentifier": "t_uint8", "typeString": "uint8" }, - "id": 1182, + "id": 1179, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1180, + "id": 1177, "name": "threshold", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1063, - "src": "20782:9:0", + "referencedDeclaration": 1061, + "src": "20672:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -33059,14 +32975,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "31", - "id": 1181, + "id": 1178, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "20794:1:0", + "src": "20684:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -33074,25 +32990,25 @@ }, "value": "1" }, - "src": "20782:13:0", + "src": "20672:13:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, - "id": 1193, + "id": 1190, "nodeType": "IfStatement", - "src": "20778:93:0", + "src": "20668:93:0", "trueBody": { - "id": 1192, + "id": 1189, "nodeType": "Block", - "src": "20796:75:0", + "src": "20686:75:0", "statements": [ { "expression": { "argumentTypes": null, - "id": 1190, + "id": 1187, "isConstant": false, "isLValue": false, "isPure": false, @@ -33105,26 +33021,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1183, + "id": 1180, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 77, - "src": "20810:12:0", + "referencedDeclaration": 75, + "src": "20700:12:0", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$73_storage_$", + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 1185, + "id": 1182, "indexExpression": { "argumentTypes": null, - "id": 1184, + "id": 1181, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1067, - "src": "20823:10:0", + "referencedDeclaration": 1065, + "src": "20713:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -33135,35 +33051,35 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20810:24:0", + "src": "20700:24:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_Transaction_$73_storage", + "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 1186, + "id": 1183, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "isOwner", "nodeType": "MemberAccess", - "referencedDeclaration": 64, - "src": "20810:32:0", + "referencedDeclaration": 62, + "src": "20700:32:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 1188, + "id": 1185, "indexExpression": { "argumentTypes": null, - "id": 1187, + "id": 1184, "name": "moderator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1061, - "src": "20843:9:0", + "referencedDeclaration": 1059, + "src": "20733:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -33174,7 +33090,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "20810:43:0", + "src": "20700:43:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -33185,14 +33101,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "74727565", - "id": 1189, + "id": 1186, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "20856:4:0", + "src": "20746:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -33200,15 +33116,15 @@ }, "value": "true" }, - "src": "20810:50:0", + "src": "20700:50:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 1191, + "id": 1188, "nodeType": "ExpressionStatement", - "src": "20810:50:0" + "src": "20700:50:0" } ] } @@ -33216,7 +33132,7 @@ { "expression": { "argumentTypes": null, - "id": 1195, + "id": 1192, "isConstant": false, "isLValue": false, "isPure": false, @@ -33224,15 +33140,15 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "20889:18:0", + "src": "20779:18:0", "subExpression": { "argumentTypes": null, - "id": 1194, + "id": 1191, "name": "transactionCount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 80, - "src": "20889:16:0", + "referencedDeclaration": 78, + "src": "20779:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -33243,9 +33159,9 @@ "typeString": "uint256" } }, - "id": 1196, + "id": 1193, "nodeType": "ExpressionStatement", - "src": "20889:18:0" + "src": "20779:18:0" }, { "expression": { @@ -33253,12 +33169,12 @@ "arguments": [ { "argumentTypes": null, - "id": 1201, + "id": 1198, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1067, - "src": "20949:10:0", + "referencedDeclaration": 1065, + "src": "20839:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -33276,26 +33192,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1197, + "id": 1194, "name": "partyVsTransaction", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 85, - "src": "20918:18:0", + "referencedDeclaration": 83, + "src": "20808:18:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_bytes32_$dyn_storage_$", "typeString": "mapping(address => bytes32[] storage ref)" } }, - "id": 1199, + "id": 1196, "indexExpression": { "argumentTypes": null, - "id": 1198, + "id": 1195, "name": "buyer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1057, - "src": "20937:5:0", + "referencedDeclaration": 1055, + "src": "20827:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -33306,13 +33222,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20918:25:0", + "src": "20808:25:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage", "typeString": "bytes32[] storage ref" } }, - "id": 1200, + "id": 1197, "isConstant": false, "isLValue": false, "isPure": false, @@ -33320,13 +33236,13 @@ "memberName": "push", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "20918:30:0", + "src": "20808:30:0", "typeDescriptions": { "typeIdentifier": "t_function_arraypush_nonpayable$_t_bytes32_$returns$_t_uint256_$", "typeString": "function (bytes32) returns (uint256)" } }, - "id": 1202, + "id": 1199, "isConstant": false, "isLValue": false, "isPure": false, @@ -33334,15 +33250,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "20918:42:0", + "src": "20808:42:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1203, + "id": 1200, "nodeType": "ExpressionStatement", - "src": "20918:42:0" + "src": "20808:42:0" }, { "expression": { @@ -33350,12 +33266,12 @@ "arguments": [ { "argumentTypes": null, - "id": 1208, + "id": 1205, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1067, - "src": "21002:10:0", + "referencedDeclaration": 1065, + "src": "20892:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -33373,26 +33289,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1204, + "id": 1201, "name": "partyVsTransaction", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 85, - "src": "20970:18:0", + "referencedDeclaration": 83, + "src": "20860:18:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_bytes32_$dyn_storage_$", "typeString": "mapping(address => bytes32[] storage ref)" } }, - "id": 1206, + "id": 1203, "indexExpression": { "argumentTypes": null, - "id": 1205, + "id": 1202, "name": "seller", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1059, - "src": "20989:6:0", + "referencedDeclaration": 1057, + "src": "20879:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -33403,13 +33319,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20970:26:0", + "src": "20860:26:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage", "typeString": "bytes32[] storage ref" } }, - "id": 1207, + "id": 1204, "isConstant": false, "isLValue": false, "isPure": false, @@ -33417,13 +33333,13 @@ "memberName": "push", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "20970:31:0", + "src": "20860:31:0", "typeDescriptions": { "typeIdentifier": "t_function_arraypush_nonpayable$_t_bytes32_$returns$_t_uint256_$", "typeString": "function (bytes32) returns (uint256)" } }, - "id": 1209, + "id": 1206, "isConstant": false, "isLValue": false, "isPure": false, @@ -33431,20 +33347,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "20970:43:0", + "src": "20860:43:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1210, + "id": 1207, "nodeType": "ExpressionStatement", - "src": "20970:43:0" + "src": "20860:43:0" } ] }, "documentation": "Private method to add transaction to reduce code redundancy", - "id": 1212, + "id": 1209, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -33452,16 +33368,16 @@ "name": "_addTransaction", "nodeType": "FunctionDefinition", "parameters": { - "id": 1076, + "id": 1074, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1057, + "id": 1055, "name": "buyer", "nodeType": "VariableDeclaration", - "scope": 1212, - "src": "18383:13:0", + "scope": 1209, + "src": "18309:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -33469,10 +33385,10 @@ "typeString": "address" }, "typeName": { - "id": 1056, + "id": 1054, "name": "address", "nodeType": "ElementaryTypeName", - "src": "18383:7:0", + "src": "18309:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -33483,11 +33399,11 @@ }, { "constant": false, - "id": 1059, + "id": 1057, "name": "seller", "nodeType": "VariableDeclaration", - "scope": 1212, - "src": "18406:14:0", + "scope": 1209, + "src": "18332:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -33495,10 +33411,10 @@ "typeString": "address" }, "typeName": { - "id": 1058, + "id": 1056, "name": "address", "nodeType": "ElementaryTypeName", - "src": "18406:7:0", + "src": "18332:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -33509,11 +33425,11 @@ }, { "constant": false, - "id": 1061, + "id": 1059, "name": "moderator", "nodeType": "VariableDeclaration", - "scope": 1212, - "src": "18430:17:0", + "scope": 1209, + "src": "18356:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -33521,10 +33437,10 @@ "typeString": "address" }, "typeName": { - "id": 1060, + "id": 1058, "name": "address", "nodeType": "ElementaryTypeName", - "src": "18430:7:0", + "src": "18356:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -33535,11 +33451,11 @@ }, { "constant": false, - "id": 1063, + "id": 1061, "name": "threshold", "nodeType": "VariableDeclaration", - "scope": 1212, - "src": "18457:15:0", + "scope": 1209, + "src": "18383:15:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -33547,10 +33463,10 @@ "typeString": "uint8" }, "typeName": { - "id": 1062, + "id": 1060, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "18457:5:0", + "src": "18383:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -33561,11 +33477,11 @@ }, { "constant": false, - "id": 1065, + "id": 1063, "name": "timeoutHours", "nodeType": "VariableDeclaration", - "scope": 1212, - "src": "18482:19:0", + "scope": 1209, + "src": "18408:19:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -33573,10 +33489,10 @@ "typeString": "uint32" }, "typeName": { - "id": 1064, + "id": 1062, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "18482:6:0", + "src": "18408:6:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -33587,11 +33503,11 @@ }, { "constant": false, - "id": 1067, + "id": 1065, "name": "scriptHash", "nodeType": "VariableDeclaration", - "scope": 1212, - "src": "18511:18:0", + "scope": 1209, + "src": "18437:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -33599,10 +33515,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 1066, + "id": 1064, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "18511:7:0", + "src": "18437:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -33613,11 +33529,11 @@ }, { "constant": false, - "id": 1069, + "id": 1067, "name": "value", "nodeType": "VariableDeclaration", - "scope": 1212, - "src": "18539:13:0", + "scope": 1209, + "src": "18465:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -33625,10 +33541,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1068, + "id": 1066, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "18539:7:0", + "src": "18465:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -33639,11 +33555,11 @@ }, { "constant": false, - "id": 1071, + "id": 1069, "name": "uniqueId", "nodeType": "VariableDeclaration", - "scope": 1212, - "src": "18562:16:0", + "scope": 1209, + "src": "18488:16:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -33651,10 +33567,10 @@ "typeString": "bytes20" }, "typeName": { - "id": 1070, + "id": 1068, "name": "bytes20", "nodeType": "ElementaryTypeName", - "src": "18562:7:0", + "src": "18488:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -33665,11 +33581,11 @@ }, { "constant": false, - "id": 1073, + "id": 1071, "name": "transactionType", "nodeType": "VariableDeclaration", - "scope": 1212, - "src": "18588:31:0", + "scope": 1209, + "src": "18514:31:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -33678,11 +33594,11 @@ }, "typeName": { "contractScope": null, - "id": 1072, + "id": 1070, "name": "TransactionType", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 12, - "src": "18588:15:0", + "src": "18514:15:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -33693,11 +33609,11 @@ }, { "constant": false, - "id": 1075, + "id": 1073, "name": "tokenAddress", "nodeType": "VariableDeclaration", - "scope": 1212, - "src": "18629:20:0", + "scope": 1209, + "src": "18555:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -33705,10 +33621,10 @@ "typeString": "address" }, "typeName": { - "id": 1074, + "id": 1072, "name": "address", "nodeType": "ElementaryTypeName", - "src": "18629:7:0", + "src": "18555:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -33718,27 +33634,27 @@ "visibility": "internal" } ], - "src": "18373:282:0" + "src": "18299:282:0" }, "payable": false, "returnParameters": { - "id": 1077, + "id": 1075, "nodeType": "ParameterList", "parameters": [], - "src": "18676:0:0" + "src": "18602:0:0" }, - "scope": 1213, - "src": "18349:2671:0", + "scope": 1210, + "src": "18275:2635:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "private" } ], - "scope": 1214, - "src": "460:20562:0" + "scope": 1211, + "src": "460:20452:0" } ], - "src": "0:21023:0" + "src": "0:20913:0" }, "compiler": { "name": "solc", @@ -33746,5 +33662,5 @@ }, "networks": {}, "schemaVersion": "2.0.1", - "updatedAt": "2018-11-19T10:44:17.106Z" + "updatedAt": "2018-11-19T10:58:56.179Z" } \ No newline at end of file diff --git a/build/contracts/ITokenContract.json b/build/contracts/ITokenContract.json index f2dee4b..522dd72 100644 --- a/build/contracts/ITokenContract.json +++ b/build/contracts/ITokenContract.json @@ -81,14 +81,14 @@ "absolutePath": "/home/sameep/freelancing-projects/toptal/open baazar/publicRepo/smart-contracts/contracts/token/ITokenContract.sol", "exportedSymbols": { "ITokenContract": [ - 1243 + 1240 ] }, - "id": 1244, + "id": 1241, "nodeType": "SourceUnit", "nodes": [ { - "id": 1215, + "id": 1212, "literals": [ "solidity", "0.4", @@ -103,9 +103,9 @@ "contractKind": "interface", "documentation": null, "fullyImplemented": false, - "id": 1243, + "id": 1240, "linearizedBaseContracts": [ - 1243 + 1240 ], "name": "ITokenContract", "nodeType": "ContractDefinition", @@ -113,7 +113,7 @@ { "body": null, "documentation": null, - "id": 1222, + "id": 1219, "implemented": false, "isConstructor": false, "isDeclaredConst": true, @@ -121,15 +121,15 @@ "name": "balanceOf", "nodeType": "FunctionDefinition", "parameters": { - "id": 1218, + "id": 1215, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1217, + "id": 1214, "name": "_owner", "nodeType": "VariableDeclaration", - "scope": 1222, + "scope": 1219, "src": "75:14:1", "stateVariable": false, "storageLocation": "default", @@ -138,7 +138,7 @@ "typeString": "address" }, "typeName": { - "id": 1216, + "id": 1213, "name": "address", "nodeType": "ElementaryTypeName", "src": "75:7:1", @@ -155,15 +155,15 @@ }, "payable": false, "returnParameters": { - "id": 1221, + "id": 1218, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1220, + "id": 1217, "name": "balance", "nodeType": "VariableDeclaration", - "scope": 1222, + "scope": 1219, "src": "114:15:1", "stateVariable": false, "storageLocation": "default", @@ -172,7 +172,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1219, + "id": 1216, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "114:7:1", @@ -187,7 +187,7 @@ ], "src": "113:17:1" }, - "scope": 1243, + "scope": 1240, "src": "56:75:1", "stateMutability": "view", "superFunction": null, @@ -196,7 +196,7 @@ { "body": null, "documentation": null, - "id": 1231, + "id": 1228, "implemented": false, "isConstructor": false, "isDeclaredConst": false, @@ -204,15 +204,15 @@ "name": "transfer", "nodeType": "FunctionDefinition", "parameters": { - "id": 1227, + "id": 1224, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1224, + "id": 1221, "name": "_to", "nodeType": "VariableDeclaration", - "scope": 1231, + "scope": 1228, "src": "166:11:1", "stateVariable": false, "storageLocation": "default", @@ -221,7 +221,7 @@ "typeString": "address" }, "typeName": { - "id": 1223, + "id": 1220, "name": "address", "nodeType": "ElementaryTypeName", "src": "166:7:1", @@ -235,10 +235,10 @@ }, { "constant": false, - "id": 1226, + "id": 1223, "name": "_amount", "nodeType": "VariableDeclaration", - "scope": 1231, + "scope": 1228, "src": "188:15:1", "stateVariable": false, "storageLocation": "default", @@ -247,7 +247,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1225, + "id": 1222, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "188:7:1", @@ -264,15 +264,15 @@ }, "payable": false, "returnParameters": { - "id": 1230, + "id": 1227, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1229, + "id": 1226, "name": "success", "nodeType": "VariableDeclaration", - "scope": 1231, + "scope": 1228, "src": "245:12:1", "stateVariable": false, "storageLocation": "default", @@ -281,7 +281,7 @@ "typeString": "bool" }, "typeName": { - "id": 1228, + "id": 1225, "name": "bool", "nodeType": "ElementaryTypeName", "src": "245:4:1", @@ -296,7 +296,7 @@ ], "src": "244:14:1" }, - "scope": 1243, + "scope": 1240, "src": "139:120:1", "stateMutability": "nonpayable", "superFunction": null, @@ -305,7 +305,7 @@ { "body": null, "documentation": null, - "id": 1242, + "id": 1239, "implemented": false, "isConstructor": false, "isDeclaredConst": false, @@ -313,15 +313,15 @@ "name": "transferFrom", "nodeType": "FunctionDefinition", "parameters": { - "id": 1238, + "id": 1235, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1233, + "id": 1230, "name": "_from", "nodeType": "VariableDeclaration", - "scope": 1242, + "scope": 1239, "src": "296:13:1", "stateVariable": false, "storageLocation": "default", @@ -330,7 +330,7 @@ "typeString": "address" }, "typeName": { - "id": 1232, + "id": 1229, "name": "address", "nodeType": "ElementaryTypeName", "src": "296:7:1", @@ -344,10 +344,10 @@ }, { "constant": false, - "id": 1235, + "id": 1232, "name": "_to", "nodeType": "VariableDeclaration", - "scope": 1242, + "scope": 1239, "src": "320:11:1", "stateVariable": false, "storageLocation": "default", @@ -356,7 +356,7 @@ "typeString": "address" }, "typeName": { - "id": 1234, + "id": 1231, "name": "address", "nodeType": "ElementaryTypeName", "src": "320:7:1", @@ -370,10 +370,10 @@ }, { "constant": false, - "id": 1237, + "id": 1234, "name": "_amount", "nodeType": "VariableDeclaration", - "scope": 1242, + "scope": 1239, "src": "342:15:1", "stateVariable": false, "storageLocation": "default", @@ -382,7 +382,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1236, + "id": 1233, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "342:7:1", @@ -399,15 +399,15 @@ }, "payable": false, "returnParameters": { - "id": 1241, + "id": 1238, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1240, + "id": 1237, "name": "success", "nodeType": "VariableDeclaration", - "scope": 1242, + "scope": 1239, "src": "400:12:1", "stateVariable": false, "storageLocation": "default", @@ -416,7 +416,7 @@ "typeString": "bool" }, "typeName": { - "id": 1239, + "id": 1236, "name": "bool", "nodeType": "ElementaryTypeName", "src": "400:4:1", @@ -431,14 +431,14 @@ ], "src": "399:14:1" }, - "scope": 1243, + "scope": 1240, "src": "265:149:1", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" } ], - "scope": 1244, + "scope": 1241, "src": "25:391:1" } ], @@ -448,14 +448,14 @@ "absolutePath": "/home/sameep/freelancing-projects/toptal/open baazar/publicRepo/smart-contracts/contracts/token/ITokenContract.sol", "exportedSymbols": { "ITokenContract": [ - 1243 + 1240 ] }, - "id": 1244, + "id": 1241, "nodeType": "SourceUnit", "nodes": [ { - "id": 1215, + "id": 1212, "literals": [ "solidity", "0.4", @@ -470,9 +470,9 @@ "contractKind": "interface", "documentation": null, "fullyImplemented": false, - "id": 1243, + "id": 1240, "linearizedBaseContracts": [ - 1243 + 1240 ], "name": "ITokenContract", "nodeType": "ContractDefinition", @@ -480,7 +480,7 @@ { "body": null, "documentation": null, - "id": 1222, + "id": 1219, "implemented": false, "isConstructor": false, "isDeclaredConst": true, @@ -488,15 +488,15 @@ "name": "balanceOf", "nodeType": "FunctionDefinition", "parameters": { - "id": 1218, + "id": 1215, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1217, + "id": 1214, "name": "_owner", "nodeType": "VariableDeclaration", - "scope": 1222, + "scope": 1219, "src": "75:14:1", "stateVariable": false, "storageLocation": "default", @@ -505,7 +505,7 @@ "typeString": "address" }, "typeName": { - "id": 1216, + "id": 1213, "name": "address", "nodeType": "ElementaryTypeName", "src": "75:7:1", @@ -522,15 +522,15 @@ }, "payable": false, "returnParameters": { - "id": 1221, + "id": 1218, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1220, + "id": 1217, "name": "balance", "nodeType": "VariableDeclaration", - "scope": 1222, + "scope": 1219, "src": "114:15:1", "stateVariable": false, "storageLocation": "default", @@ -539,7 +539,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1219, + "id": 1216, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "114:7:1", @@ -554,7 +554,7 @@ ], "src": "113:17:1" }, - "scope": 1243, + "scope": 1240, "src": "56:75:1", "stateMutability": "view", "superFunction": null, @@ -563,7 +563,7 @@ { "body": null, "documentation": null, - "id": 1231, + "id": 1228, "implemented": false, "isConstructor": false, "isDeclaredConst": false, @@ -571,15 +571,15 @@ "name": "transfer", "nodeType": "FunctionDefinition", "parameters": { - "id": 1227, + "id": 1224, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1224, + "id": 1221, "name": "_to", "nodeType": "VariableDeclaration", - "scope": 1231, + "scope": 1228, "src": "166:11:1", "stateVariable": false, "storageLocation": "default", @@ -588,7 +588,7 @@ "typeString": "address" }, "typeName": { - "id": 1223, + "id": 1220, "name": "address", "nodeType": "ElementaryTypeName", "src": "166:7:1", @@ -602,10 +602,10 @@ }, { "constant": false, - "id": 1226, + "id": 1223, "name": "_amount", "nodeType": "VariableDeclaration", - "scope": 1231, + "scope": 1228, "src": "188:15:1", "stateVariable": false, "storageLocation": "default", @@ -614,7 +614,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1225, + "id": 1222, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "188:7:1", @@ -631,15 +631,15 @@ }, "payable": false, "returnParameters": { - "id": 1230, + "id": 1227, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1229, + "id": 1226, "name": "success", "nodeType": "VariableDeclaration", - "scope": 1231, + "scope": 1228, "src": "245:12:1", "stateVariable": false, "storageLocation": "default", @@ -648,7 +648,7 @@ "typeString": "bool" }, "typeName": { - "id": 1228, + "id": 1225, "name": "bool", "nodeType": "ElementaryTypeName", "src": "245:4:1", @@ -663,7 +663,7 @@ ], "src": "244:14:1" }, - "scope": 1243, + "scope": 1240, "src": "139:120:1", "stateMutability": "nonpayable", "superFunction": null, @@ -672,7 +672,7 @@ { "body": null, "documentation": null, - "id": 1242, + "id": 1239, "implemented": false, "isConstructor": false, "isDeclaredConst": false, @@ -680,15 +680,15 @@ "name": "transferFrom", "nodeType": "FunctionDefinition", "parameters": { - "id": 1238, + "id": 1235, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1233, + "id": 1230, "name": "_from", "nodeType": "VariableDeclaration", - "scope": 1242, + "scope": 1239, "src": "296:13:1", "stateVariable": false, "storageLocation": "default", @@ -697,7 +697,7 @@ "typeString": "address" }, "typeName": { - "id": 1232, + "id": 1229, "name": "address", "nodeType": "ElementaryTypeName", "src": "296:7:1", @@ -711,10 +711,10 @@ }, { "constant": false, - "id": 1235, + "id": 1232, "name": "_to", "nodeType": "VariableDeclaration", - "scope": 1242, + "scope": 1239, "src": "320:11:1", "stateVariable": false, "storageLocation": "default", @@ -723,7 +723,7 @@ "typeString": "address" }, "typeName": { - "id": 1234, + "id": 1231, "name": "address", "nodeType": "ElementaryTypeName", "src": "320:7:1", @@ -737,10 +737,10 @@ }, { "constant": false, - "id": 1237, + "id": 1234, "name": "_amount", "nodeType": "VariableDeclaration", - "scope": 1242, + "scope": 1239, "src": "342:15:1", "stateVariable": false, "storageLocation": "default", @@ -749,7 +749,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1236, + "id": 1233, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "342:7:1", @@ -766,15 +766,15 @@ }, "payable": false, "returnParameters": { - "id": 1241, + "id": 1238, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1240, + "id": 1237, "name": "success", "nodeType": "VariableDeclaration", - "scope": 1242, + "scope": 1239, "src": "400:12:1", "stateVariable": false, "storageLocation": "default", @@ -783,7 +783,7 @@ "typeString": "bool" }, "typeName": { - "id": 1239, + "id": 1236, "name": "bool", "nodeType": "ElementaryTypeName", "src": "400:4:1", @@ -798,14 +798,14 @@ ], "src": "399:14:1" }, - "scope": 1243, + "scope": 1240, "src": "265:149:1", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" } ], - "scope": 1244, + "scope": 1241, "src": "25:391:1" } ], @@ -817,5 +817,5 @@ }, "networks": {}, "schemaVersion": "2.0.1", - "updatedAt": "2018-11-19T10:44:17.097Z" + "updatedAt": "2018-11-19T10:58:56.170Z" } \ No newline at end of file diff --git a/build/contracts/SafeMath.json b/build/contracts/SafeMath.json index 781d337..f31f95a 100644 --- a/build/contracts/SafeMath.json +++ b/build/contracts/SafeMath.json @@ -11,14 +11,14 @@ "absolutePath": "openzeppelin-solidity/contracts/math/SafeMath.sol", "exportedSymbols": { "SafeMath": [ - 1371 + 1368 ] }, - "id": 1372, + "id": 1369, "nodeType": "SourceUnit", "nodes": [ { - "id": 1245, + "id": 1242, "literals": [ "solidity", "^", @@ -34,16 +34,16 @@ "contractKind": "library", "documentation": "@title SafeMath\n@dev Math operations with safety checks that revert on error", "fullyImplemented": true, - "id": 1371, + "id": 1368, "linearizedBaseContracts": [ - 1371 + 1368 ], "name": "SafeMath", "nodeType": "ContractDefinition", "nodes": [ { "body": { - "id": 1277, + "id": 1274, "nodeType": "Block", "src": "271:314:2", "statements": [ @@ -54,18 +54,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1256, + "id": 1253, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1254, + "id": 1251, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1247, + "referencedDeclaration": 1244, "src": "486:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -77,7 +77,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 1255, + "id": 1252, "isConstant": false, "isLValue": false, "isPure": true, @@ -99,11 +99,11 @@ } }, "falseBody": null, - "id": 1260, + "id": 1257, "nodeType": "IfStatement", "src": "482:35:2", "trueBody": { - "id": 1259, + "id": 1256, "nodeType": "Block", "src": "494:23:2", "statements": [ @@ -111,7 +111,7 @@ "expression": { "argumentTypes": null, "hexValue": "30", - "id": 1257, + "id": 1254, "isConstant": false, "isLValue": false, "isPure": true, @@ -126,8 +126,8 @@ }, "value": "0" }, - "functionReturnParameters": 1253, - "id": 1258, + "functionReturnParameters": 1250, + "id": 1255, "nodeType": "Return", "src": "502:8:2" } @@ -136,15 +136,15 @@ }, { "assignments": [ - 1262 + 1259 ], "declarations": [ { "constant": false, - "id": 1262, + "id": 1259, "name": "c", "nodeType": "VariableDeclaration", - "scope": 1278, + "scope": 1275, "src": "523:9:2", "stateVariable": false, "storageLocation": "default", @@ -153,7 +153,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1261, + "id": 1258, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "523:7:2", @@ -166,25 +166,25 @@ "visibility": "internal" } ], - "id": 1266, + "id": 1263, "initialValue": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1265, + "id": 1262, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1263, + "id": 1260, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1247, + "referencedDeclaration": 1244, "src": "535:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -195,11 +195,11 @@ "operator": "*", "rightExpression": { "argumentTypes": null, - "id": 1264, + "id": 1261, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1249, + "referencedDeclaration": 1246, "src": "539:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -225,7 +225,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1272, + "id": 1269, "isConstant": false, "isLValue": false, "isPure": false, @@ -236,18 +236,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1270, + "id": 1267, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1268, + "id": 1265, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1262, + "referencedDeclaration": 1259, "src": "554:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -258,11 +258,11 @@ "operator": "/", "rightExpression": { "argumentTypes": null, - "id": 1269, + "id": 1266, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1247, + "referencedDeclaration": 1244, "src": "558:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -279,11 +279,11 @@ "operator": "==", "rightExpression": { "argumentTypes": null, - "id": 1271, + "id": 1268, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1249, + "referencedDeclaration": 1246, "src": "563:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -304,21 +304,21 @@ "typeString": "bool" } ], - "id": 1267, + "id": 1264, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1389, - 1390 + 1386, + 1387 ], - "referencedDeclaration": 1389, + "referencedDeclaration": 1386, "src": "546:7:2", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 1273, + "id": 1270, "isConstant": false, "isLValue": false, "isPure": false, @@ -332,33 +332,33 @@ "typeString": "tuple()" } }, - "id": 1274, + "id": 1271, "nodeType": "ExpressionStatement", "src": "546:19:2" }, { "expression": { "argumentTypes": null, - "id": 1275, + "id": 1272, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1262, + "referencedDeclaration": 1259, "src": "579:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 1253, - "id": 1276, + "functionReturnParameters": 1250, + "id": 1273, "nodeType": "Return", "src": "572:8:2" } ] }, "documentation": "@dev Multiplies two numbers, reverts on overflow.", - "id": 1278, + "id": 1275, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -366,15 +366,15 @@ "name": "mul", "nodeType": "FunctionDefinition", "parameters": { - "id": 1250, + "id": 1247, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1247, + "id": 1244, "name": "a", "nodeType": "VariableDeclaration", - "scope": 1278, + "scope": 1275, "src": "217:9:2", "stateVariable": false, "storageLocation": "default", @@ -383,7 +383,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1246, + "id": 1243, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "217:7:2", @@ -397,10 +397,10 @@ }, { "constant": false, - "id": 1249, + "id": 1246, "name": "b", "nodeType": "VariableDeclaration", - "scope": 1278, + "scope": 1275, "src": "228:9:2", "stateVariable": false, "storageLocation": "default", @@ -409,7 +409,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1248, + "id": 1245, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "228:7:2", @@ -426,15 +426,15 @@ }, "payable": false, "returnParameters": { - "id": 1253, + "id": 1250, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1252, + "id": 1249, "name": "", "nodeType": "VariableDeclaration", - "scope": 1278, + "scope": 1275, "src": "262:7:2", "stateVariable": false, "storageLocation": "default", @@ -443,7 +443,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1251, + "id": 1248, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "262:7:2", @@ -458,7 +458,7 @@ ], "src": "261:9:2" }, - "scope": 1371, + "scope": 1368, "src": "204:381:2", "stateMutability": "pure", "superFunction": null, @@ -466,7 +466,7 @@ }, { "body": { - "id": 1301, + "id": 1298, "nodeType": "Block", "src": "762:203:2", "statements": [ @@ -480,18 +480,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1290, + "id": 1287, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1288, + "id": 1285, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1282, + "referencedDeclaration": 1279, "src": "776:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -503,7 +503,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 1289, + "id": 1286, "isConstant": false, "isLValue": false, "isPure": true, @@ -532,21 +532,21 @@ "typeString": "bool" } ], - "id": 1287, + "id": 1284, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1389, - 1390 + 1386, + 1387 ], - "referencedDeclaration": 1389, + "referencedDeclaration": 1386, "src": "768:7:2", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 1291, + "id": 1288, "isConstant": false, "isLValue": false, "isPure": false, @@ -560,21 +560,21 @@ "typeString": "tuple()" } }, - "id": 1292, + "id": 1289, "nodeType": "ExpressionStatement", "src": "768:14:2" }, { "assignments": [ - 1294 + 1291 ], "declarations": [ { "constant": false, - "id": 1294, + "id": 1291, "name": "c", "nodeType": "VariableDeclaration", - "scope": 1302, + "scope": 1299, "src": "846:9:2", "stateVariable": false, "storageLocation": "default", @@ -583,7 +583,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1293, + "id": 1290, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "846:7:2", @@ -596,25 +596,25 @@ "visibility": "internal" } ], - "id": 1298, + "id": 1295, "initialValue": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1297, + "id": 1294, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1295, + "id": 1292, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1280, + "referencedDeclaration": 1277, "src": "858:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -625,11 +625,11 @@ "operator": "/", "rightExpression": { "argumentTypes": null, - "id": 1296, + "id": 1293, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1282, + "referencedDeclaration": 1279, "src": "862:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -648,26 +648,26 @@ { "expression": { "argumentTypes": null, - "id": 1299, + "id": 1296, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1294, + "referencedDeclaration": 1291, "src": "959:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 1286, - "id": 1300, + "functionReturnParameters": 1283, + "id": 1297, "nodeType": "Return", "src": "952:8:2" } ] }, "documentation": "@dev Integer division of two numbers truncating the quotient, reverts on division by zero.", - "id": 1302, + "id": 1299, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -675,15 +675,15 @@ "name": "div", "nodeType": "FunctionDefinition", "parameters": { - "id": 1283, + "id": 1280, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1280, + "id": 1277, "name": "a", "nodeType": "VariableDeclaration", - "scope": 1302, + "scope": 1299, "src": "708:9:2", "stateVariable": false, "storageLocation": "default", @@ -692,7 +692,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1279, + "id": 1276, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "708:7:2", @@ -706,10 +706,10 @@ }, { "constant": false, - "id": 1282, + "id": 1279, "name": "b", "nodeType": "VariableDeclaration", - "scope": 1302, + "scope": 1299, "src": "719:9:2", "stateVariable": false, "storageLocation": "default", @@ -718,7 +718,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1281, + "id": 1278, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "719:7:2", @@ -735,15 +735,15 @@ }, "payable": false, "returnParameters": { - "id": 1286, + "id": 1283, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1285, + "id": 1282, "name": "", "nodeType": "VariableDeclaration", - "scope": 1302, + "scope": 1299, "src": "753:7:2", "stateVariable": false, "storageLocation": "default", @@ -752,7 +752,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1284, + "id": 1281, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "753:7:2", @@ -767,7 +767,7 @@ ], "src": "752:9:2" }, - "scope": 1371, + "scope": 1368, "src": "695:270:2", "stateMutability": "pure", "superFunction": null, @@ -775,7 +775,7 @@ }, { "body": { - "id": 1325, + "id": 1322, "nodeType": "Block", "src": "1145:64:2", "statements": [ @@ -789,18 +789,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1314, + "id": 1311, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1312, + "id": 1309, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1306, + "referencedDeclaration": 1303, "src": "1159:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -811,11 +811,11 @@ "operator": "<=", "rightExpression": { "argumentTypes": null, - "id": 1313, + "id": 1310, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1304, + "referencedDeclaration": 1301, "src": "1164:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -836,21 +836,21 @@ "typeString": "bool" } ], - "id": 1311, + "id": 1308, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1389, - 1390 + 1386, + 1387 ], - "referencedDeclaration": 1389, + "referencedDeclaration": 1386, "src": "1151:7:2", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 1315, + "id": 1312, "isConstant": false, "isLValue": false, "isPure": false, @@ -864,21 +864,21 @@ "typeString": "tuple()" } }, - "id": 1316, + "id": 1313, "nodeType": "ExpressionStatement", "src": "1151:15:2" }, { "assignments": [ - 1318 + 1315 ], "declarations": [ { "constant": false, - "id": 1318, + "id": 1315, "name": "c", "nodeType": "VariableDeclaration", - "scope": 1326, + "scope": 1323, "src": "1172:9:2", "stateVariable": false, "storageLocation": "default", @@ -887,7 +887,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1317, + "id": 1314, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1172:7:2", @@ -900,25 +900,25 @@ "visibility": "internal" } ], - "id": 1322, + "id": 1319, "initialValue": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1321, + "id": 1318, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1319, + "id": 1316, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1304, + "referencedDeclaration": 1301, "src": "1184:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -929,11 +929,11 @@ "operator": "-", "rightExpression": { "argumentTypes": null, - "id": 1320, + "id": 1317, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1306, + "referencedDeclaration": 1303, "src": "1188:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -952,26 +952,26 @@ { "expression": { "argumentTypes": null, - "id": 1323, + "id": 1320, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1318, + "referencedDeclaration": 1315, "src": "1203:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 1310, - "id": 1324, + "functionReturnParameters": 1307, + "id": 1321, "nodeType": "Return", "src": "1196:8:2" } ] }, "documentation": "@dev Subtracts two numbers, reverts on overflow (i.e. if subtrahend is greater than minuend).", - "id": 1326, + "id": 1323, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -979,15 +979,15 @@ "name": "sub", "nodeType": "FunctionDefinition", "parameters": { - "id": 1307, + "id": 1304, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1304, + "id": 1301, "name": "a", "nodeType": "VariableDeclaration", - "scope": 1326, + "scope": 1323, "src": "1091:9:2", "stateVariable": false, "storageLocation": "default", @@ -996,7 +996,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1303, + "id": 1300, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1091:7:2", @@ -1010,10 +1010,10 @@ }, { "constant": false, - "id": 1306, + "id": 1303, "name": "b", "nodeType": "VariableDeclaration", - "scope": 1326, + "scope": 1323, "src": "1102:9:2", "stateVariable": false, "storageLocation": "default", @@ -1022,7 +1022,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1305, + "id": 1302, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1102:7:2", @@ -1039,15 +1039,15 @@ }, "payable": false, "returnParameters": { - "id": 1310, + "id": 1307, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1309, + "id": 1306, "name": "", "nodeType": "VariableDeclaration", - "scope": 1326, + "scope": 1323, "src": "1136:7:2", "stateVariable": false, "storageLocation": "default", @@ -1056,7 +1056,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1308, + "id": 1305, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1136:7:2", @@ -1071,7 +1071,7 @@ ], "src": "1135:9:2" }, - "scope": 1371, + "scope": 1368, "src": "1078:131:2", "stateMutability": "pure", "superFunction": null, @@ -1079,21 +1079,21 @@ }, { "body": { - "id": 1349, + "id": 1346, "nodeType": "Block", "src": "1339:64:2", "statements": [ { "assignments": [ - 1336 + 1333 ], "declarations": [ { "constant": false, - "id": 1336, + "id": 1333, "name": "c", "nodeType": "VariableDeclaration", - "scope": 1350, + "scope": 1347, "src": "1345:9:2", "stateVariable": false, "storageLocation": "default", @@ -1102,7 +1102,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1335, + "id": 1332, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1345:7:2", @@ -1115,25 +1115,25 @@ "visibility": "internal" } ], - "id": 1340, + "id": 1337, "initialValue": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1339, + "id": 1336, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1337, + "id": 1334, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1328, + "referencedDeclaration": 1325, "src": "1357:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1144,11 +1144,11 @@ "operator": "+", "rightExpression": { "argumentTypes": null, - "id": 1338, + "id": 1335, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1330, + "referencedDeclaration": 1327, "src": "1361:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1174,18 +1174,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1344, + "id": 1341, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1342, + "id": 1339, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1336, + "referencedDeclaration": 1333, "src": "1376:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1196,11 +1196,11 @@ "operator": ">=", "rightExpression": { "argumentTypes": null, - "id": 1343, + "id": 1340, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1328, + "referencedDeclaration": 1325, "src": "1381:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1221,21 +1221,21 @@ "typeString": "bool" } ], - "id": 1341, + "id": 1338, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1389, - 1390 + 1386, + 1387 ], - "referencedDeclaration": 1389, + "referencedDeclaration": 1386, "src": "1368:7:2", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 1345, + "id": 1342, "isConstant": false, "isLValue": false, "isPure": false, @@ -1249,33 +1249,33 @@ "typeString": "tuple()" } }, - "id": 1346, + "id": 1343, "nodeType": "ExpressionStatement", "src": "1368:15:2" }, { "expression": { "argumentTypes": null, - "id": 1347, + "id": 1344, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1336, + "referencedDeclaration": 1333, "src": "1397:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 1334, - "id": 1348, + "functionReturnParameters": 1331, + "id": 1345, "nodeType": "Return", "src": "1390:8:2" } ] }, "documentation": "@dev Adds two numbers, reverts on overflow.", - "id": 1350, + "id": 1347, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -1283,15 +1283,15 @@ "name": "add", "nodeType": "FunctionDefinition", "parameters": { - "id": 1331, + "id": 1328, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1328, + "id": 1325, "name": "a", "nodeType": "VariableDeclaration", - "scope": 1350, + "scope": 1347, "src": "1285:9:2", "stateVariable": false, "storageLocation": "default", @@ -1300,7 +1300,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1327, + "id": 1324, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1285:7:2", @@ -1314,10 +1314,10 @@ }, { "constant": false, - "id": 1330, + "id": 1327, "name": "b", "nodeType": "VariableDeclaration", - "scope": 1350, + "scope": 1347, "src": "1296:9:2", "stateVariable": false, "storageLocation": "default", @@ -1326,7 +1326,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1329, + "id": 1326, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1296:7:2", @@ -1343,15 +1343,15 @@ }, "payable": false, "returnParameters": { - "id": 1334, + "id": 1331, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1333, + "id": 1330, "name": "", "nodeType": "VariableDeclaration", - "scope": 1350, + "scope": 1347, "src": "1330:7:2", "stateVariable": false, "storageLocation": "default", @@ -1360,7 +1360,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1332, + "id": 1329, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1330:7:2", @@ -1375,7 +1375,7 @@ ], "src": "1329:9:2" }, - "scope": 1371, + "scope": 1368, "src": "1272:131:2", "stateMutability": "pure", "superFunction": null, @@ -1383,7 +1383,7 @@ }, { "body": { - "id": 1369, + "id": 1366, "nodeType": "Block", "src": "1602:44:2", "statements": [ @@ -1397,18 +1397,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1362, + "id": 1359, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1360, + "id": 1357, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1354, + "referencedDeclaration": 1351, "src": "1616:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1420,7 +1420,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 1361, + "id": 1358, "isConstant": false, "isLValue": false, "isPure": true, @@ -1449,21 +1449,21 @@ "typeString": "bool" } ], - "id": 1359, + "id": 1356, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1389, - 1390 + 1386, + 1387 ], - "referencedDeclaration": 1389, + "referencedDeclaration": 1386, "src": "1608:7:2", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 1363, + "id": 1360, "isConstant": false, "isLValue": false, "isPure": false, @@ -1477,7 +1477,7 @@ "typeString": "tuple()" } }, - "id": 1364, + "id": 1361, "nodeType": "ExpressionStatement", "src": "1608:15:2" }, @@ -1488,18 +1488,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1367, + "id": 1364, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1365, + "id": 1362, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1352, + "referencedDeclaration": 1349, "src": "1636:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1510,11 +1510,11 @@ "operator": "%", "rightExpression": { "argumentTypes": null, - "id": 1366, + "id": 1363, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1354, + "referencedDeclaration": 1351, "src": "1640:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1527,15 +1527,15 @@ "typeString": "uint256" } }, - "functionReturnParameters": 1358, - "id": 1368, + "functionReturnParameters": 1355, + "id": 1365, "nodeType": "Return", "src": "1629:12:2" } ] }, "documentation": "@dev Divides two numbers and returns the remainder (unsigned integer modulo),\nreverts when dividing by zero.", - "id": 1370, + "id": 1367, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -1543,15 +1543,15 @@ "name": "mod", "nodeType": "FunctionDefinition", "parameters": { - "id": 1355, + "id": 1352, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1352, + "id": 1349, "name": "a", "nodeType": "VariableDeclaration", - "scope": 1370, + "scope": 1367, "src": "1548:9:2", "stateVariable": false, "storageLocation": "default", @@ -1560,7 +1560,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1351, + "id": 1348, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1548:7:2", @@ -1574,10 +1574,10 @@ }, { "constant": false, - "id": 1354, + "id": 1351, "name": "b", "nodeType": "VariableDeclaration", - "scope": 1370, + "scope": 1367, "src": "1559:9:2", "stateVariable": false, "storageLocation": "default", @@ -1586,7 +1586,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1353, + "id": 1350, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1559:7:2", @@ -1603,15 +1603,15 @@ }, "payable": false, "returnParameters": { - "id": 1358, + "id": 1355, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1357, + "id": 1354, "name": "", "nodeType": "VariableDeclaration", - "scope": 1370, + "scope": 1367, "src": "1593:7:2", "stateVariable": false, "storageLocation": "default", @@ -1620,7 +1620,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1356, + "id": 1353, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1593:7:2", @@ -1635,14 +1635,14 @@ ], "src": "1592:9:2" }, - "scope": 1371, + "scope": 1368, "src": "1535:111:2", "stateMutability": "pure", "superFunction": null, "visibility": "internal" } ], - "scope": 1372, + "scope": 1369, "src": "117:1531:2" } ], @@ -1652,14 +1652,14 @@ "absolutePath": "openzeppelin-solidity/contracts/math/SafeMath.sol", "exportedSymbols": { "SafeMath": [ - 1371 + 1368 ] }, - "id": 1372, + "id": 1369, "nodeType": "SourceUnit", "nodes": [ { - "id": 1245, + "id": 1242, "literals": [ "solidity", "^", @@ -1675,16 +1675,16 @@ "contractKind": "library", "documentation": "@title SafeMath\n@dev Math operations with safety checks that revert on error", "fullyImplemented": true, - "id": 1371, + "id": 1368, "linearizedBaseContracts": [ - 1371 + 1368 ], "name": "SafeMath", "nodeType": "ContractDefinition", "nodes": [ { "body": { - "id": 1277, + "id": 1274, "nodeType": "Block", "src": "271:314:2", "statements": [ @@ -1695,18 +1695,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1256, + "id": 1253, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1254, + "id": 1251, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1247, + "referencedDeclaration": 1244, "src": "486:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1718,7 +1718,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 1255, + "id": 1252, "isConstant": false, "isLValue": false, "isPure": true, @@ -1740,11 +1740,11 @@ } }, "falseBody": null, - "id": 1260, + "id": 1257, "nodeType": "IfStatement", "src": "482:35:2", "trueBody": { - "id": 1259, + "id": 1256, "nodeType": "Block", "src": "494:23:2", "statements": [ @@ -1752,7 +1752,7 @@ "expression": { "argumentTypes": null, "hexValue": "30", - "id": 1257, + "id": 1254, "isConstant": false, "isLValue": false, "isPure": true, @@ -1767,8 +1767,8 @@ }, "value": "0" }, - "functionReturnParameters": 1253, - "id": 1258, + "functionReturnParameters": 1250, + "id": 1255, "nodeType": "Return", "src": "502:8:2" } @@ -1777,15 +1777,15 @@ }, { "assignments": [ - 1262 + 1259 ], "declarations": [ { "constant": false, - "id": 1262, + "id": 1259, "name": "c", "nodeType": "VariableDeclaration", - "scope": 1278, + "scope": 1275, "src": "523:9:2", "stateVariable": false, "storageLocation": "default", @@ -1794,7 +1794,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1261, + "id": 1258, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "523:7:2", @@ -1807,25 +1807,25 @@ "visibility": "internal" } ], - "id": 1266, + "id": 1263, "initialValue": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1265, + "id": 1262, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1263, + "id": 1260, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1247, + "referencedDeclaration": 1244, "src": "535:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1836,11 +1836,11 @@ "operator": "*", "rightExpression": { "argumentTypes": null, - "id": 1264, + "id": 1261, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1249, + "referencedDeclaration": 1246, "src": "539:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1866,7 +1866,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1272, + "id": 1269, "isConstant": false, "isLValue": false, "isPure": false, @@ -1877,18 +1877,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1270, + "id": 1267, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1268, + "id": 1265, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1262, + "referencedDeclaration": 1259, "src": "554:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1899,11 +1899,11 @@ "operator": "/", "rightExpression": { "argumentTypes": null, - "id": 1269, + "id": 1266, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1247, + "referencedDeclaration": 1244, "src": "558:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1920,11 +1920,11 @@ "operator": "==", "rightExpression": { "argumentTypes": null, - "id": 1271, + "id": 1268, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1249, + "referencedDeclaration": 1246, "src": "563:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1945,21 +1945,21 @@ "typeString": "bool" } ], - "id": 1267, + "id": 1264, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1389, - 1390 + 1386, + 1387 ], - "referencedDeclaration": 1389, + "referencedDeclaration": 1386, "src": "546:7:2", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 1273, + "id": 1270, "isConstant": false, "isLValue": false, "isPure": false, @@ -1973,33 +1973,33 @@ "typeString": "tuple()" } }, - "id": 1274, + "id": 1271, "nodeType": "ExpressionStatement", "src": "546:19:2" }, { "expression": { "argumentTypes": null, - "id": 1275, + "id": 1272, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1262, + "referencedDeclaration": 1259, "src": "579:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 1253, - "id": 1276, + "functionReturnParameters": 1250, + "id": 1273, "nodeType": "Return", "src": "572:8:2" } ] }, "documentation": "@dev Multiplies two numbers, reverts on overflow.", - "id": 1278, + "id": 1275, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -2007,15 +2007,15 @@ "name": "mul", "nodeType": "FunctionDefinition", "parameters": { - "id": 1250, + "id": 1247, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1247, + "id": 1244, "name": "a", "nodeType": "VariableDeclaration", - "scope": 1278, + "scope": 1275, "src": "217:9:2", "stateVariable": false, "storageLocation": "default", @@ -2024,7 +2024,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1246, + "id": 1243, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "217:7:2", @@ -2038,10 +2038,10 @@ }, { "constant": false, - "id": 1249, + "id": 1246, "name": "b", "nodeType": "VariableDeclaration", - "scope": 1278, + "scope": 1275, "src": "228:9:2", "stateVariable": false, "storageLocation": "default", @@ -2050,7 +2050,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1248, + "id": 1245, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "228:7:2", @@ -2067,15 +2067,15 @@ }, "payable": false, "returnParameters": { - "id": 1253, + "id": 1250, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1252, + "id": 1249, "name": "", "nodeType": "VariableDeclaration", - "scope": 1278, + "scope": 1275, "src": "262:7:2", "stateVariable": false, "storageLocation": "default", @@ -2084,7 +2084,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1251, + "id": 1248, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "262:7:2", @@ -2099,7 +2099,7 @@ ], "src": "261:9:2" }, - "scope": 1371, + "scope": 1368, "src": "204:381:2", "stateMutability": "pure", "superFunction": null, @@ -2107,7 +2107,7 @@ }, { "body": { - "id": 1301, + "id": 1298, "nodeType": "Block", "src": "762:203:2", "statements": [ @@ -2121,18 +2121,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1290, + "id": 1287, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1288, + "id": 1285, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1282, + "referencedDeclaration": 1279, "src": "776:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2144,7 +2144,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 1289, + "id": 1286, "isConstant": false, "isLValue": false, "isPure": true, @@ -2173,21 +2173,21 @@ "typeString": "bool" } ], - "id": 1287, + "id": 1284, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1389, - 1390 + 1386, + 1387 ], - "referencedDeclaration": 1389, + "referencedDeclaration": 1386, "src": "768:7:2", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 1291, + "id": 1288, "isConstant": false, "isLValue": false, "isPure": false, @@ -2201,21 +2201,21 @@ "typeString": "tuple()" } }, - "id": 1292, + "id": 1289, "nodeType": "ExpressionStatement", "src": "768:14:2" }, { "assignments": [ - 1294 + 1291 ], "declarations": [ { "constant": false, - "id": 1294, + "id": 1291, "name": "c", "nodeType": "VariableDeclaration", - "scope": 1302, + "scope": 1299, "src": "846:9:2", "stateVariable": false, "storageLocation": "default", @@ -2224,7 +2224,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1293, + "id": 1290, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "846:7:2", @@ -2237,25 +2237,25 @@ "visibility": "internal" } ], - "id": 1298, + "id": 1295, "initialValue": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1297, + "id": 1294, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1295, + "id": 1292, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1280, + "referencedDeclaration": 1277, "src": "858:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2266,11 +2266,11 @@ "operator": "/", "rightExpression": { "argumentTypes": null, - "id": 1296, + "id": 1293, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1282, + "referencedDeclaration": 1279, "src": "862:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2289,26 +2289,26 @@ { "expression": { "argumentTypes": null, - "id": 1299, + "id": 1296, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1294, + "referencedDeclaration": 1291, "src": "959:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 1286, - "id": 1300, + "functionReturnParameters": 1283, + "id": 1297, "nodeType": "Return", "src": "952:8:2" } ] }, "documentation": "@dev Integer division of two numbers truncating the quotient, reverts on division by zero.", - "id": 1302, + "id": 1299, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -2316,15 +2316,15 @@ "name": "div", "nodeType": "FunctionDefinition", "parameters": { - "id": 1283, + "id": 1280, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1280, + "id": 1277, "name": "a", "nodeType": "VariableDeclaration", - "scope": 1302, + "scope": 1299, "src": "708:9:2", "stateVariable": false, "storageLocation": "default", @@ -2333,7 +2333,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1279, + "id": 1276, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "708:7:2", @@ -2347,10 +2347,10 @@ }, { "constant": false, - "id": 1282, + "id": 1279, "name": "b", "nodeType": "VariableDeclaration", - "scope": 1302, + "scope": 1299, "src": "719:9:2", "stateVariable": false, "storageLocation": "default", @@ -2359,7 +2359,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1281, + "id": 1278, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "719:7:2", @@ -2376,15 +2376,15 @@ }, "payable": false, "returnParameters": { - "id": 1286, + "id": 1283, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1285, + "id": 1282, "name": "", "nodeType": "VariableDeclaration", - "scope": 1302, + "scope": 1299, "src": "753:7:2", "stateVariable": false, "storageLocation": "default", @@ -2393,7 +2393,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1284, + "id": 1281, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "753:7:2", @@ -2408,7 +2408,7 @@ ], "src": "752:9:2" }, - "scope": 1371, + "scope": 1368, "src": "695:270:2", "stateMutability": "pure", "superFunction": null, @@ -2416,7 +2416,7 @@ }, { "body": { - "id": 1325, + "id": 1322, "nodeType": "Block", "src": "1145:64:2", "statements": [ @@ -2430,18 +2430,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1314, + "id": 1311, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1312, + "id": 1309, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1306, + "referencedDeclaration": 1303, "src": "1159:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2452,11 +2452,11 @@ "operator": "<=", "rightExpression": { "argumentTypes": null, - "id": 1313, + "id": 1310, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1304, + "referencedDeclaration": 1301, "src": "1164:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2477,21 +2477,21 @@ "typeString": "bool" } ], - "id": 1311, + "id": 1308, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1389, - 1390 + 1386, + 1387 ], - "referencedDeclaration": 1389, + "referencedDeclaration": 1386, "src": "1151:7:2", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 1315, + "id": 1312, "isConstant": false, "isLValue": false, "isPure": false, @@ -2505,21 +2505,21 @@ "typeString": "tuple()" } }, - "id": 1316, + "id": 1313, "nodeType": "ExpressionStatement", "src": "1151:15:2" }, { "assignments": [ - 1318 + 1315 ], "declarations": [ { "constant": false, - "id": 1318, + "id": 1315, "name": "c", "nodeType": "VariableDeclaration", - "scope": 1326, + "scope": 1323, "src": "1172:9:2", "stateVariable": false, "storageLocation": "default", @@ -2528,7 +2528,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1317, + "id": 1314, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1172:7:2", @@ -2541,25 +2541,25 @@ "visibility": "internal" } ], - "id": 1322, + "id": 1319, "initialValue": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1321, + "id": 1318, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1319, + "id": 1316, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1304, + "referencedDeclaration": 1301, "src": "1184:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2570,11 +2570,11 @@ "operator": "-", "rightExpression": { "argumentTypes": null, - "id": 1320, + "id": 1317, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1306, + "referencedDeclaration": 1303, "src": "1188:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2593,26 +2593,26 @@ { "expression": { "argumentTypes": null, - "id": 1323, + "id": 1320, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1318, + "referencedDeclaration": 1315, "src": "1203:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 1310, - "id": 1324, + "functionReturnParameters": 1307, + "id": 1321, "nodeType": "Return", "src": "1196:8:2" } ] }, "documentation": "@dev Subtracts two numbers, reverts on overflow (i.e. if subtrahend is greater than minuend).", - "id": 1326, + "id": 1323, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -2620,15 +2620,15 @@ "name": "sub", "nodeType": "FunctionDefinition", "parameters": { - "id": 1307, + "id": 1304, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1304, + "id": 1301, "name": "a", "nodeType": "VariableDeclaration", - "scope": 1326, + "scope": 1323, "src": "1091:9:2", "stateVariable": false, "storageLocation": "default", @@ -2637,7 +2637,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1303, + "id": 1300, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1091:7:2", @@ -2651,10 +2651,10 @@ }, { "constant": false, - "id": 1306, + "id": 1303, "name": "b", "nodeType": "VariableDeclaration", - "scope": 1326, + "scope": 1323, "src": "1102:9:2", "stateVariable": false, "storageLocation": "default", @@ -2663,7 +2663,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1305, + "id": 1302, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1102:7:2", @@ -2680,15 +2680,15 @@ }, "payable": false, "returnParameters": { - "id": 1310, + "id": 1307, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1309, + "id": 1306, "name": "", "nodeType": "VariableDeclaration", - "scope": 1326, + "scope": 1323, "src": "1136:7:2", "stateVariable": false, "storageLocation": "default", @@ -2697,7 +2697,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1308, + "id": 1305, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1136:7:2", @@ -2712,7 +2712,7 @@ ], "src": "1135:9:2" }, - "scope": 1371, + "scope": 1368, "src": "1078:131:2", "stateMutability": "pure", "superFunction": null, @@ -2720,21 +2720,21 @@ }, { "body": { - "id": 1349, + "id": 1346, "nodeType": "Block", "src": "1339:64:2", "statements": [ { "assignments": [ - 1336 + 1333 ], "declarations": [ { "constant": false, - "id": 1336, + "id": 1333, "name": "c", "nodeType": "VariableDeclaration", - "scope": 1350, + "scope": 1347, "src": "1345:9:2", "stateVariable": false, "storageLocation": "default", @@ -2743,7 +2743,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1335, + "id": 1332, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1345:7:2", @@ -2756,25 +2756,25 @@ "visibility": "internal" } ], - "id": 1340, + "id": 1337, "initialValue": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1339, + "id": 1336, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1337, + "id": 1334, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1328, + "referencedDeclaration": 1325, "src": "1357:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2785,11 +2785,11 @@ "operator": "+", "rightExpression": { "argumentTypes": null, - "id": 1338, + "id": 1335, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1330, + "referencedDeclaration": 1327, "src": "1361:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2815,18 +2815,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1344, + "id": 1341, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1342, + "id": 1339, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1336, + "referencedDeclaration": 1333, "src": "1376:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2837,11 +2837,11 @@ "operator": ">=", "rightExpression": { "argumentTypes": null, - "id": 1343, + "id": 1340, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1328, + "referencedDeclaration": 1325, "src": "1381:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2862,21 +2862,21 @@ "typeString": "bool" } ], - "id": 1341, + "id": 1338, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1389, - 1390 + 1386, + 1387 ], - "referencedDeclaration": 1389, + "referencedDeclaration": 1386, "src": "1368:7:2", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 1345, + "id": 1342, "isConstant": false, "isLValue": false, "isPure": false, @@ -2890,33 +2890,33 @@ "typeString": "tuple()" } }, - "id": 1346, + "id": 1343, "nodeType": "ExpressionStatement", "src": "1368:15:2" }, { "expression": { "argumentTypes": null, - "id": 1347, + "id": 1344, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1336, + "referencedDeclaration": 1333, "src": "1397:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 1334, - "id": 1348, + "functionReturnParameters": 1331, + "id": 1345, "nodeType": "Return", "src": "1390:8:2" } ] }, "documentation": "@dev Adds two numbers, reverts on overflow.", - "id": 1350, + "id": 1347, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -2924,15 +2924,15 @@ "name": "add", "nodeType": "FunctionDefinition", "parameters": { - "id": 1331, + "id": 1328, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1328, + "id": 1325, "name": "a", "nodeType": "VariableDeclaration", - "scope": 1350, + "scope": 1347, "src": "1285:9:2", "stateVariable": false, "storageLocation": "default", @@ -2941,7 +2941,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1327, + "id": 1324, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1285:7:2", @@ -2955,10 +2955,10 @@ }, { "constant": false, - "id": 1330, + "id": 1327, "name": "b", "nodeType": "VariableDeclaration", - "scope": 1350, + "scope": 1347, "src": "1296:9:2", "stateVariable": false, "storageLocation": "default", @@ -2967,7 +2967,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1329, + "id": 1326, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1296:7:2", @@ -2984,15 +2984,15 @@ }, "payable": false, "returnParameters": { - "id": 1334, + "id": 1331, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1333, + "id": 1330, "name": "", "nodeType": "VariableDeclaration", - "scope": 1350, + "scope": 1347, "src": "1330:7:2", "stateVariable": false, "storageLocation": "default", @@ -3001,7 +3001,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1332, + "id": 1329, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1330:7:2", @@ -3016,7 +3016,7 @@ ], "src": "1329:9:2" }, - "scope": 1371, + "scope": 1368, "src": "1272:131:2", "stateMutability": "pure", "superFunction": null, @@ -3024,7 +3024,7 @@ }, { "body": { - "id": 1369, + "id": 1366, "nodeType": "Block", "src": "1602:44:2", "statements": [ @@ -3038,18 +3038,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1362, + "id": 1359, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1360, + "id": 1357, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1354, + "referencedDeclaration": 1351, "src": "1616:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -3061,7 +3061,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 1361, + "id": 1358, "isConstant": false, "isLValue": false, "isPure": true, @@ -3090,21 +3090,21 @@ "typeString": "bool" } ], - "id": 1359, + "id": 1356, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1389, - 1390 + 1386, + 1387 ], - "referencedDeclaration": 1389, + "referencedDeclaration": 1386, "src": "1608:7:2", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 1363, + "id": 1360, "isConstant": false, "isLValue": false, "isPure": false, @@ -3118,7 +3118,7 @@ "typeString": "tuple()" } }, - "id": 1364, + "id": 1361, "nodeType": "ExpressionStatement", "src": "1608:15:2" }, @@ -3129,18 +3129,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1367, + "id": 1364, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1365, + "id": 1362, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1352, + "referencedDeclaration": 1349, "src": "1636:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -3151,11 +3151,11 @@ "operator": "%", "rightExpression": { "argumentTypes": null, - "id": 1366, + "id": 1363, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1354, + "referencedDeclaration": 1351, "src": "1640:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -3168,15 +3168,15 @@ "typeString": "uint256" } }, - "functionReturnParameters": 1358, - "id": 1368, + "functionReturnParameters": 1355, + "id": 1365, "nodeType": "Return", "src": "1629:12:2" } ] }, "documentation": "@dev Divides two numbers and returns the remainder (unsigned integer modulo),\nreverts when dividing by zero.", - "id": 1370, + "id": 1367, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -3184,15 +3184,15 @@ "name": "mod", "nodeType": "FunctionDefinition", "parameters": { - "id": 1355, + "id": 1352, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1352, + "id": 1349, "name": "a", "nodeType": "VariableDeclaration", - "scope": 1370, + "scope": 1367, "src": "1548:9:2", "stateVariable": false, "storageLocation": "default", @@ -3201,7 +3201,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1351, + "id": 1348, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1548:7:2", @@ -3215,10 +3215,10 @@ }, { "constant": false, - "id": 1354, + "id": 1351, "name": "b", "nodeType": "VariableDeclaration", - "scope": 1370, + "scope": 1367, "src": "1559:9:2", "stateVariable": false, "storageLocation": "default", @@ -3227,7 +3227,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1353, + "id": 1350, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1559:7:2", @@ -3244,15 +3244,15 @@ }, "payable": false, "returnParameters": { - "id": 1358, + "id": 1355, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1357, + "id": 1354, "name": "", "nodeType": "VariableDeclaration", - "scope": 1370, + "scope": 1367, "src": "1593:7:2", "stateVariable": false, "storageLocation": "default", @@ -3261,7 +3261,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1356, + "id": 1353, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1593:7:2", @@ -3276,14 +3276,14 @@ ], "src": "1592:9:2" }, - "scope": 1371, + "scope": 1368, "src": "1535:111:2", "stateMutability": "pure", "superFunction": null, "visibility": "internal" } ], - "scope": 1372, + "scope": 1369, "src": "117:1531:2" } ], @@ -3295,5 +3295,5 @@ }, "networks": {}, "schemaVersion": "2.0.1", - "updatedAt": "2018-11-19T10:44:17.098Z" + "updatedAt": "2018-11-19T10:58:56.171Z" } \ No newline at end of file diff --git a/contracts/escrow/Escrow_v1_0.sol b/contracts/escrow/Escrow_v1_0.sol index f3110e5..6122cfb 100644 --- a/contracts/escrow/Escrow_v1_0.sol +++ b/contracts/escrow/Escrow_v1_0.sol @@ -214,9 +214,9 @@ contract Escrow_v1_0 { ) external view - returns (bool check) + returns (bool) { - check = transactions[scriptHash].beneficiaries[beneficiary]; + return transactions[scriptHash].beneficiaries[beneficiary]; } /** @@ -231,9 +231,9 @@ contract Escrow_v1_0 { ) external view - returns (bool vote) + returns (bool) { - vote = transactions[scriptHash].voted[party]; + return transactions[scriptHash].voted[party]; } /** @@ -305,7 +305,7 @@ contract Escrow_v1_0 { ) external view - returns (bytes32[] scriptHashes) + returns (bytes32[]) { return partyVsTransaction[partyAddress]; } @@ -376,10 +376,10 @@ contract Escrow_v1_0 { ) public view - returns (bytes32 hash) + returns (bytes32) { if (tokenAddress == address(0)) { - hash = keccak256( + return keccak256( abi.encodePacked( uniqueId, threshold, @@ -391,7 +391,7 @@ contract Escrow_v1_0 { ) ); } else { - hash = keccak256( + return keccak256( abi.encodePacked( uniqueId, threshold, @@ -455,10 +455,12 @@ contract Escrow_v1_0 { uint256[]amounts ) private - returns (uint256 valueTransferred) + returns (uint256) { Transaction storage t = transactions[scriptHash]; + uint256 valueTransferred = 0; + if (t.transactionType == TransactionType.ETHER) { for (uint256 i = 0; i < destinations.length; i++) { @@ -486,6 +488,7 @@ contract Escrow_v1_0 { require(token.transfer(destinations[j], amounts[j]), "Token transfer failed."); } } + return valueTransferred; } //to check whether the signature are valid or not and if consensus was reached @@ -499,13 +502,16 @@ contract Escrow_v1_0 { uint256[]amounts ) private - returns (address lastAddress) + returns (address) { + require( sigR.length == sigS.length && sigR.length == sigV.length, "R,S,V length mismatch." ); + address lastAddress; + // Follows ERC191 signature scheme: https://github.com/ethereum/EIPs/issues/191 bytes32 txHash = keccak256( abi.encodePacked( @@ -543,6 +549,8 @@ contract Escrow_v1_0 { transactions[scriptHash].voted[recovered] = true; lastAddress = recovered; } + + return lastAddress; } function isTimeLockExpired( @@ -551,10 +559,10 @@ contract Escrow_v1_0 { ) private view - returns (bool expired) + returns (bool) { uint256 timeSince = now.sub(lastModified); - expired = ( + return ( timeoutHours == 0 ? false:timeSince > uint256(timeoutHours).mul(3600) ); } diff --git a/test/escrow/1_Escrow_v1_0_test.js b/test/escrow/1_Escrow_v1_0_test.js index 9842547..3041af5 100644 --- a/test/escrow/1_Escrow_v1_0_test.js +++ b/test/escrow/1_Escrow_v1_0_test.js @@ -699,7 +699,7 @@ contract("Escrow Contract Version 1- Supports Token transfer", function() { assert.equal(true, false, "Should not be able to add transaction with wrong unique id"); - }catch(error){ + } catch(error){ assert.notInclude(error.toString(), 'AssertionError', error.message); } From 1414e5c634662834029ff085121dcf90b229af1d Mon Sep 17 00:00:00 2001 From: Sameep Singhania Date: Mon, 19 Nov 2018 17:04:58 +0530 Subject: [PATCH 04/19] Improved revert error message in verifyTransaction function --- build/contracts/Escrow_v1_0.json | 11580 +++++++++++++------------- build/contracts/ITokenContract.json | 182 +- build/contracts/SafeMath.json | 818 +- contracts/escrow/Escrow_v1_0.sol | 2 +- 4 files changed, 6283 insertions(+), 6299 deletions(-) diff --git a/build/contracts/Escrow_v1_0.json b/build/contracts/Escrow_v1_0.json index ac75a6c..15899b3 100644 --- a/build/contracts/Escrow_v1_0.json +++ b/build/contracts/Escrow_v1_0.json @@ -258,7 +258,7 @@ "name": "checkBeneficiary", "outputs": [ { - "name": "check", + "name": "", "type": "bool" } ], @@ -281,7 +281,7 @@ "name": "checkVote", "outputs": [ { - "name": "vote", + "name": "", "type": "bool" } ], @@ -332,7 +332,7 @@ "name": "getAllTransactionsForParty", "outputs": [ { - "name": "scriptHashes", + "name": "", "type": "bytes32[]" } ], @@ -409,7 +409,7 @@ "name": "calculateRedeemScriptHash", "outputs": [ { - "name": "hash", + "name": "", "type": "bytes32" } ], @@ -418,20 +418,20 @@ "type": "function" } ], - "bytecode": "0x6080604052600060015534801561001557600080fd5b506141db806100256000396000f3006080604052600436106100ba576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806323b6fd3f146100bf5780632d9ef96e1461017957806346fbcdeb1461019d57806357bced7614610292578063642f2eaf14610383578063b0550c66146104e5578063b719e2801461054e578063b77bf60014610589578063be84ceaf146105b4578063e4ec8b001461064c578063f0786562146106f5578063f5dbe09c1461075e575b600080fd5b610177600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff169060200190929190803563ffffffff169060200190929190803560001916906020019092919080356bffffffffffffffffffffffff191690602001909291905050506107c7565b005b61019b6004803603810190808035600019169060200190929190505050610a26565b005b3480156101a957600080fd5b5061027460048036038101908080356bffffffffffffffffffffffff19169060200190929190803560ff169060200190929190803563ffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610eb4565b60405180826000191660001916815260200191505060405180910390f35b34801561029e57600080fd5b50610381600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff169060200190929190803563ffffffff16906020019092919080356000191690602001909291908035906020019092919080356bffffffffffffffffffffffff19169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611360565b005b34801561038f57600080fd5b506103b26004803603810190808035600019169060200190929190505050611840565b604051808b81526020018a81526020018960018111156103ce57fe5b60ff1681526020018860018111156103e257fe5b60ff1681526020018760ff1660ff1681526020018663ffffffff1663ffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019a505050505050505050505060405180910390f35b3480156104f157600080fd5b506105346004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061194b565b604051808215151515815260200191505060405180910390f35b34801561055a57600080fd5b506105876004803603810190808035600019169060200190929190803590602001909291905050506119bd565b005b34801561059557600080fd5b5061059e61209d565b6040518082815260200191505060405180910390f35b3480156105c057600080fd5b506105f5600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506120a3565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b8381101561063857808201518184015260208101905061061d565b505050509050019250505060405180910390f35b34801561065857600080fd5b506106f3600480360381019080803590602001908201803590602001919091929391929390803590602001908201803590602001919091929391929390803590602001908201803590602001919091929391929390803560001916906020019092919080359060200190820180359060200191909192939192939080359060200190820180359060200191909192939192939050505061213e565b005b34801561070157600080fd5b506107446004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506126a0565b604051808215151515815260200191505060405180910390f35b34801561076a57600080fd5b506107a9600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050612712565b60405180826000191660001916815260200191505060405180910390f35b81600080600083600019166000191681526020019081526020016000206000015414151561085d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f5472616e73616374696f6e20657869737473000000000000000000000000000081525060200191505060405180910390fd5b87600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610903576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b87600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156109a9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b6109bc8a8a8a8a8a8a348b600080612742565b3373ffffffffffffffffffffffffffffffffffffffff167fce7089d0668849fb9ca29778c0cbf1e764d9efb048d81fd71fb34c94f26db36886346040518083600019166000191681526020018281526020019250505060405180910390a250505050505050505050565b600081600080600083600019166000191681526020019081526020016000206000015414151515610abf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737473000000000081525060200191505060405180910390fd5b8260006001811115610acd57fe5b600080836000191660001916815260200190815260200160002060020160009054906101000a900460ff166001811115610b0357fe5b141515610b9e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001807f5472616e73616374696f6e2069732065697468657220696e206469737075746581526020017f206f722072656c6561736564207374617465000000000000000000000000000081525060400191505060405180910390fd5b836000806001811115610bad57fe5b600080846000191660001916815260200190815260200160002060020160019054906101000a900460ff166001811115610be357fe5b141515610c58576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5472616e73616374696f6e207479706520646f6573206e6f74206d617463680081525060200191505060405180910390fd5b85600080826000191660001916815260200190815260200160002060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610d5f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f54686520696e69746961746f72206f6620746865207472616e73616374696f6e81526020017f206973206e6f742062757965720000000000000000000000000000000000000081525060400191505060405180910390fd5b349550600086111515610dda576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f56616c7565206d7573742062652067726561746572207468616e207a65726f2e81525060200191505060405180910390fd5b610e0a866000808a60001916600019168152602001908152602001600020600001546130ce90919063ffffffff16565b600080896000191660001916815260200190815260200160002060000181905550426000808960001916600019168152602001908152602001600020600101819055503373ffffffffffffffffffffffffffffffffffffffff167ff66fd2ae9e24a6a24b02e1b5b7512ffde5149a4176085fc0298ae228c9b9d72988886040518083600019166000191681526020018281526020019250505060405180910390a250505050505050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611100578787878787873060405160200180886bffffffffffffffffffffffff19166bffffffffffffffffffffffff191681526014018760ff1660ff167f01000000000000000000000000000000000000000000000000000000000000000281526001018663ffffffff1663ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014019750505050505050506040516020818303038152906040526040518082805190602001908083835b6020831015156110cc57805182526020820191506020810190506020830392506110a7565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390209050611355565b878787878787308860405160200180896bffffffffffffffffffffffff19166bffffffffffffffffffffffff191681526014018860ff1660ff167f01000000000000000000000000000000000000000000000000000000000000000281526001018763ffffffff1663ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401985050505050505050506040516020818303038152906040526040518082805190602001908083835b6020831015156113255780518252602082019150602081019050602083039250611300565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902090505b979650505050505050565b60008460008060008360001916600019168152602001908152602001600020600001541415156113f8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f5472616e73616374696f6e20657869737473000000000000000000000000000081525060200191505060405180910390fd5b8a600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561149e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b8a600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515611544576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b84600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156115ea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b6115fd8e8e8e8e8e8e8e8e60018f612742565b8594508473ffffffffffffffffffffffffffffffffffffffff166323b872dd33308b6040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b1580156116d757600080fd5b505af11580156116eb573d6000803e3d6000fd5b505050506040513d602081101561170157600080fd5b810190808051906020019092919050505015156117d2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252605c8152602001807f546f6b656e207472616e73666572206661696c65642c206d6179626520796f7581526020017f20646964206e6f7420617070726f766520657363726f7720636f6e747261637481526020017f20746f207370656e64206f6e20626568616c66206f662062757965720000000081525060600191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff167fce7089d0668849fb9ca29778c0cbf1e764d9efb048d81fd71fb34c94f26db3688a8a6040518083600019166000191681526020018281526020019250505060405180910390a25050505050505050505050505050565b60006020528060005260406000206000915090508060000154908060010154908060020160009054906101000a900460ff16908060020160019054906101000a900460ff16908060020160029054906101000a900460ff16908060020160039054906101000a900463ffffffff16908060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060050160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508a565b6000806000846000191660001916815260200190815260200160002060080160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b60008083600080600083600019166000191681526020019081526020016000206000015414151515611a57576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737473000000000081525060200191505060405180910390fd5b8460006001811115611a6557fe5b600080836000191660001916815260200190815260200160002060020160009054906101000a900460ff166001811115611a9b57fe5b141515611b36576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001807f5472616e73616374696f6e2069732065697468657220696e206469737075746581526020017f206f722072656c6561736564207374617465000000000000000000000000000081525060400191505060405180910390fd5b856001806001811115611b4557fe5b600080846000191660001916815260200190815260200160002060020160019054906101000a900460ff166001811115611b7b57fe5b141515611bf0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5472616e73616374696f6e207479706520646f6573206e6f74206d617463680081525060200191505060405180910390fd5b87600080826000191660001916815260200190815260200160002060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611cf7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f54686520696e69746961746f72206f6620746865207472616e73616374696f6e81526020017f206973206e6f742062757965720000000000000000000000000000000000000081525060400191505060405180910390fd5b879650600087111515611d72576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f56616c7565206d7573742062652067726561746572207468616e207a65726f2e81525060200191505060405180910390fd5b6000808a6000191660001916815260200190815260200160002060040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1695508573ffffffffffffffffffffffffffffffffffffffff166323b872dd6000808c6000191660001916815260200190815260200160002060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff16308b6040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b158015611ec657600080fd5b505af1158015611eda573d6000803e3d6000fd5b505050506040513d6020811015611ef057600080fd5b81019080805190602001909291905050501515611fc1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252605c8152602001807f546f6b656e207472616e73666572206661696c65642c206d6179626520796f7581526020017f20646964206e6f7420617070726f766520657363726f7720636f6e747261637481526020017f20746f207370656e64206f6e20626568616c66206f662062757965720000000081525060600191505060405180910390fd5b611ff1876000808c60001916600019168152602001908152602001600020600001546130ce90919063ffffffff16565b6000808b6000191660001916815260200190815260200160002060000181905550426000808b60001916600019168152602001908152602001600020600101819055503373ffffffffffffffffffffffffffffffffffffffff167ff66fd2ae9e24a6a24b02e1b5b7512ffde5149a4176085fc0298ae228c9b9d7298a896040518083600019166000191681526020018281526020019250505060405180910390a2505050505050505050565b60015481565b6060600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080548060200260200160405190810160405280929190818152602001828054801561213257602002820191906000526020600020905b8154600019168152602001906001019080831161211a575b50505050509050919050565b846000806000836000191660001916815260200190815260200160002060000154141515156121d5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737473000000000081525060200191505060405180910390fd5b85600060018111156121e357fe5b600080836000191660001916815260200190815260200160002060020160009054906101000a900460ff16600181111561221957fe5b1415156122b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001807f5472616e73616374696f6e2069732065697468657220696e206469737075746581526020017f206f722072656c6561736564207374617465000000000000000000000000000081525060400191505060405180910390fd5b6000868690501180156122cc57508383905086869050145b1515612366576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001807f4c656e677468206f662064657374696e6174696f6e7320697320696e636f727281526020017f6563742e0000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b61245f8d8d808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508c8c808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508b8b808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508a8a8a808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508989808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050506130ef565b6001600080896000191660001916815260200190815260200160002060020160006101000a81548160ff0219169083600181111561249957fe5b021790555042600080896000191660001916815260200190815260200160002060010181905550600080886000191660001916815260200190815260200160002060000154612547888888808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508787808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050506132aa565b141515612608576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260488152602001807f546f74616c2076616c756520746f2062652072656c6561736564206d7573742081526020017f626520657175616c20746f20746865207472616e73616374696f6e206573637281526020017f6f772076616c756500000000000000000000000000000000000000000000000081525060600191505060405180910390fd5b7f688e2a1b34445bcd47b0e11ba2a9c8c4d850a1831b64199b59d1c70e2970154587878787876040518086600019166000191681526020018060200180602001838103835287878281815260200192506020028082843782019150508381038252858582818152602001925060200280828437820191505097505050505050505060405180910390a150505050505050505050505050565b6000806000846000191660001916815260200190815260200160002060070160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b60026020528160005260406000208181548110151561272d57fe5b90600052602060002001600091509150505481565b8873ffffffffffffffffffffffffffffffffffffffff168a73ffffffffffffffffffffffffffffffffffffffff16141515156127e6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f427579657220616e642073656c6c6572206172652073616d650000000000000081525060200191505060405180910390fd5b60008411151561285e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f56616c756520706173736564206973203000000000000000000000000000000081525060200191505060405180910390fd5b60008760ff16118015612875575060038760ff1611155b151561290f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603d8152602001807f5468726573686f6c642063616e6e6f742062652067726561746572207468616e81526020017f203320616e64206d7573742062652067726561746572207468616e203000000081525060400191505060405180910390fd5b60018760ff16148061294e5750600073ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff1614155b1515612a0e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252604f8152602001807f456974686572207468726573686f6c642073686f756c642062652031206f746881526020017f6572776973652076616c6964206d6f64657261746f722061646472657373207381526020017f686f756c6420626520706173736564000000000000000000000000000000000081525060600191505060405180910390fd5b612a1d8388888d8d8d87610eb4565b600019168560001916141515612ac1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260398152602001807f43616c63756c6174656420736372697074206861736820646f6573206e6f742081526020017f6d61746368207061737365642073637269707420686173682e0000000000000081525060400191505060405180910390fd5b6101406040519081016040528085815260200142815260200160006001811115612ae757fe5b8152602001836001811115612af857fe5b81526020018860ff1681526020018763ffffffff1681526020018b73ffffffffffffffffffffffffffffffffffffffff1681526020018a73ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020018973ffffffffffffffffffffffffffffffffffffffff168152506000808760001916600019168152602001908152602001600020600082015181600001556020820151816001015560408201518160020160006101000a81548160ff02191690836001811115612bd257fe5b021790555060608201518160020160016101000a81548160ff02191690836001811115612bfb57fe5b021790555060808201518160020160026101000a81548160ff021916908360ff16021790555060a08201518160020160036101000a81548163ffffffff021916908363ffffffff16021790555060c08201518160020160076101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060e08201518160030160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506101008201518160040160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506101208201518160050160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055509050506001600080876000191660001916815260200190815260200160002060060160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600080876000191660001916815260200190815260200160002060060160008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600080866000191660001916815260200190815260200160002060060160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151515612f52576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f456974686572206275796572206f722073656c6c65722069732070617373656481526020017f206173206d6f64657261746f720000000000000000000000000000000000000081525060400191505060405180910390fd5b60018760ff161115612fd2576001600080876000191660001916815260200190815260200160002060060160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b600160008154809291906001019190505550600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020859080600181540180825580915050906001820390600052602060002001600090919290919091509060001916905550600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002085908060018154018082558091505090600182039060005260206000200160009091929091909150906000191690555050505050505050505050565b60008082840190508381101515156130e557600080fd5b8091505092915050565b600080613100888888888888613a89565b9150613156600080876000191660001916815260200190815260200160002060020160039054906101000a900463ffffffff166000808860001916600019168152602001908152602001600020600101546140fc565b9050600080866000191660001916815260200190815260200160002060020160029054906101000a900460ff1660ff16885110801561320757508015806132065750600080866000191660001916815260200190815260200160002060030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b5b156132a0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001807f736967562e6c656e67746820697320756e64657220746865207468726573686f81526020017f6c642e000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b5050505050505050565b600080600080600080600089600019166000191681526020019081526020016000209350600060018111156132db57fe5b8460020160019054906101000a900460ff1660018111156132f857fe5b141561360f57600092505b865183101561360a57600073ffffffffffffffffffffffffffffffffffffffff16878481518110151561333257fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff16141580156133c25750836006016000888581518110151561336f57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1515613436576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f4e6f7420612076616c69642064657374696e6174696f6e00000000000000000081525060200191505060405180910390fd5b6000868481518110151561344657fe5b906020019060200201511115156134eb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001807f416d6f756e7420746f2062652073656e742073686f756c64206265206772656181526020017f746572207468616e20300000000000000000000000000000000000000000000081525060400191505060405180910390fd5b61351586848151811015156134fc57fe5b90602001906020020151866130ce90919063ffffffff16565b94506001846008016000898681518110151561352d57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550868381518110151561359657fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff166108fc87858151811015156135c757fe5b906020019060200201519081150290604051600060405180830381858888f193505050501580156135fc573d6000803e3d6000fd5b508280600101935050613303565b613a7e565b60018081111561361b57fe5b8460020160019054906101000a900460ff16600181111561363857fe5b1415613a7d578360040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169150600090505b8651811015613a7c57600073ffffffffffffffffffffffffffffffffffffffff16878281518110151561369957fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1614158015613729575083600601600088838151811015156136d657fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b151561379d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f4e6f7420612076616c69642064657374696e6174696f6e00000000000000000081525060200191505060405180910390fd5b600086828151811015156137ad57fe5b90602001906020020151111515613852576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001807f416d6f756e7420746f2062652073656e742073686f756c64206265206772656181526020017f746572207468616e20300000000000000000000000000000000000000000000081525060400191505060405180910390fd5b61387c868281518110151561386357fe5b90602001906020020151866130ce90919063ffffffff16565b94506001846008016000898481518110151561389457fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb888381518110151561391957fe5b90602001906020020151888481518110151561393157fe5b906020019060200201516040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1580156139c057600080fd5b505af11580156139d4573d6000803e3d6000fd5b505050506040513d60208110156139ea57600080fd5b81019080805190602001909291905050501515613a6f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f546f6b656e207472616e73666572206661696c65642e0000000000000000000081525060200191505060405180910390fd5b808060010191505061366a565b5b5b505050509392505050565b60008060008087518951148015613aa1575089518951145b1515613b15576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f522c532c56206c656e677468206d69736d617463682e0000000000000000000081525060200191505060405180910390fd5b60197f01000000000000000000000000000000000000000000000000000000000000000260007f0100000000000000000000000000000000000000000000000000000000000000023088888b60405160200180877effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168152600101867effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526001018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401848051906020019060200280838360005b83811015613c69578082015181840152602081019050613c4e565b50505050905001838051906020019060200280838360005b83811015613c9c578082015181840152602081019050613c81565b50505050905001826000191660001916815260200196505050505050506040516020818303038152906040526040518082805190602001908083835b602083101515613cfd5780518252602082019150602081019050602083039250613cd8565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902060405160200180807f19457468657265756d205369676e6564204d6573736167653a0a333200000000815250601c0182600019166000191681526020019150506040516020818303038152906040526040518082805190602001908083835b602083101515613dae5780518252602082019150602081019050602083039250613d89565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390209250600091505b88518210156140ef576001838b84815181101515613dfc57fe5b906020019060200201518b85815181101515613e1457fe5b906020019060200201518b86815181101515613e2c57fe5b90602001906020020151604051600081526020016040526040518085600019166000191681526020018460ff1660ff1681526020018360001916600019168152602001826000191660001916815260200194505050505060206040516020810390808403906000865af1158015613ea7573d6000803e3d6000fd5b505050602060405103519050600080886000191660001916815260200190815260200160002060060160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515613f8f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f496e76616c6964207369676e617475726500000000000000000000000000000081525060200191505060405180910390fd5b600080886000191660001916815260200190815260200160002060070160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151561406c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f53616d65207369676e61747572652073656e742074776963650000000000000081525060200191505060405180910390fd5b6001600080896000191660001916815260200190815260200160002060070160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508093508180600101925050613de2565b5050509695505050505050565b600080614112834261415090919063ffffffff16565b905060008463ffffffff16146141445761413d610e108563ffffffff1661417190919063ffffffff16565b8111614147565b60005b91505092915050565b60008083831115151561416257600080fd5b82840390508091505092915050565b600080600084141561418657600091506141a8565b828402905082848281151561419757fe5b041415156141a457600080fd5b8091505b50929150505600a165627a7a7230582086a7491862c2f2d2f1eaa7529aee426687778ccd2ee33fa2a5d831969e86e5490029", - "deployedBytecode": "0x6080604052600436106100ba576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806323b6fd3f146100bf5780632d9ef96e1461017957806346fbcdeb1461019d57806357bced7614610292578063642f2eaf14610383578063b0550c66146104e5578063b719e2801461054e578063b77bf60014610589578063be84ceaf146105b4578063e4ec8b001461064c578063f0786562146106f5578063f5dbe09c1461075e575b600080fd5b610177600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff169060200190929190803563ffffffff169060200190929190803560001916906020019092919080356bffffffffffffffffffffffff191690602001909291905050506107c7565b005b61019b6004803603810190808035600019169060200190929190505050610a26565b005b3480156101a957600080fd5b5061027460048036038101908080356bffffffffffffffffffffffff19169060200190929190803560ff169060200190929190803563ffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610eb4565b60405180826000191660001916815260200191505060405180910390f35b34801561029e57600080fd5b50610381600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff169060200190929190803563ffffffff16906020019092919080356000191690602001909291908035906020019092919080356bffffffffffffffffffffffff19169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611360565b005b34801561038f57600080fd5b506103b26004803603810190808035600019169060200190929190505050611840565b604051808b81526020018a81526020018960018111156103ce57fe5b60ff1681526020018860018111156103e257fe5b60ff1681526020018760ff1660ff1681526020018663ffffffff1663ffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019a505050505050505050505060405180910390f35b3480156104f157600080fd5b506105346004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061194b565b604051808215151515815260200191505060405180910390f35b34801561055a57600080fd5b506105876004803603810190808035600019169060200190929190803590602001909291905050506119bd565b005b34801561059557600080fd5b5061059e61209d565b6040518082815260200191505060405180910390f35b3480156105c057600080fd5b506105f5600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506120a3565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b8381101561063857808201518184015260208101905061061d565b505050509050019250505060405180910390f35b34801561065857600080fd5b506106f3600480360381019080803590602001908201803590602001919091929391929390803590602001908201803590602001919091929391929390803590602001908201803590602001919091929391929390803560001916906020019092919080359060200190820180359060200191909192939192939080359060200190820180359060200191909192939192939050505061213e565b005b34801561070157600080fd5b506107446004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506126a0565b604051808215151515815260200191505060405180910390f35b34801561076a57600080fd5b506107a9600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050612712565b60405180826000191660001916815260200191505060405180910390f35b81600080600083600019166000191681526020019081526020016000206000015414151561085d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f5472616e73616374696f6e20657869737473000000000000000000000000000081525060200191505060405180910390fd5b87600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610903576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b87600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156109a9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b6109bc8a8a8a8a8a8a348b600080612742565b3373ffffffffffffffffffffffffffffffffffffffff167fce7089d0668849fb9ca29778c0cbf1e764d9efb048d81fd71fb34c94f26db36886346040518083600019166000191681526020018281526020019250505060405180910390a250505050505050505050565b600081600080600083600019166000191681526020019081526020016000206000015414151515610abf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737473000000000081525060200191505060405180910390fd5b8260006001811115610acd57fe5b600080836000191660001916815260200190815260200160002060020160009054906101000a900460ff166001811115610b0357fe5b141515610b9e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001807f5472616e73616374696f6e2069732065697468657220696e206469737075746581526020017f206f722072656c6561736564207374617465000000000000000000000000000081525060400191505060405180910390fd5b836000806001811115610bad57fe5b600080846000191660001916815260200190815260200160002060020160019054906101000a900460ff166001811115610be357fe5b141515610c58576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5472616e73616374696f6e207479706520646f6573206e6f74206d617463680081525060200191505060405180910390fd5b85600080826000191660001916815260200190815260200160002060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610d5f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f54686520696e69746961746f72206f6620746865207472616e73616374696f6e81526020017f206973206e6f742062757965720000000000000000000000000000000000000081525060400191505060405180910390fd5b349550600086111515610dda576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f56616c7565206d7573742062652067726561746572207468616e207a65726f2e81525060200191505060405180910390fd5b610e0a866000808a60001916600019168152602001908152602001600020600001546130ce90919063ffffffff16565b600080896000191660001916815260200190815260200160002060000181905550426000808960001916600019168152602001908152602001600020600101819055503373ffffffffffffffffffffffffffffffffffffffff167ff66fd2ae9e24a6a24b02e1b5b7512ffde5149a4176085fc0298ae228c9b9d72988886040518083600019166000191681526020018281526020019250505060405180910390a250505050505050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611100578787878787873060405160200180886bffffffffffffffffffffffff19166bffffffffffffffffffffffff191681526014018760ff1660ff167f01000000000000000000000000000000000000000000000000000000000000000281526001018663ffffffff1663ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014019750505050505050506040516020818303038152906040526040518082805190602001908083835b6020831015156110cc57805182526020820191506020810190506020830392506110a7565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390209050611355565b878787878787308860405160200180896bffffffffffffffffffffffff19166bffffffffffffffffffffffff191681526014018860ff1660ff167f01000000000000000000000000000000000000000000000000000000000000000281526001018763ffffffff1663ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401985050505050505050506040516020818303038152906040526040518082805190602001908083835b6020831015156113255780518252602082019150602081019050602083039250611300565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902090505b979650505050505050565b60008460008060008360001916600019168152602001908152602001600020600001541415156113f8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f5472616e73616374696f6e20657869737473000000000000000000000000000081525060200191505060405180910390fd5b8a600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561149e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b8a600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515611544576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b84600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156115ea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b6115fd8e8e8e8e8e8e8e8e60018f612742565b8594508473ffffffffffffffffffffffffffffffffffffffff166323b872dd33308b6040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b1580156116d757600080fd5b505af11580156116eb573d6000803e3d6000fd5b505050506040513d602081101561170157600080fd5b810190808051906020019092919050505015156117d2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252605c8152602001807f546f6b656e207472616e73666572206661696c65642c206d6179626520796f7581526020017f20646964206e6f7420617070726f766520657363726f7720636f6e747261637481526020017f20746f207370656e64206f6e20626568616c66206f662062757965720000000081525060600191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff167fce7089d0668849fb9ca29778c0cbf1e764d9efb048d81fd71fb34c94f26db3688a8a6040518083600019166000191681526020018281526020019250505060405180910390a25050505050505050505050505050565b60006020528060005260406000206000915090508060000154908060010154908060020160009054906101000a900460ff16908060020160019054906101000a900460ff16908060020160029054906101000a900460ff16908060020160039054906101000a900463ffffffff16908060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060050160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508a565b6000806000846000191660001916815260200190815260200160002060080160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b60008083600080600083600019166000191681526020019081526020016000206000015414151515611a57576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737473000000000081525060200191505060405180910390fd5b8460006001811115611a6557fe5b600080836000191660001916815260200190815260200160002060020160009054906101000a900460ff166001811115611a9b57fe5b141515611b36576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001807f5472616e73616374696f6e2069732065697468657220696e206469737075746581526020017f206f722072656c6561736564207374617465000000000000000000000000000081525060400191505060405180910390fd5b856001806001811115611b4557fe5b600080846000191660001916815260200190815260200160002060020160019054906101000a900460ff166001811115611b7b57fe5b141515611bf0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5472616e73616374696f6e207479706520646f6573206e6f74206d617463680081525060200191505060405180910390fd5b87600080826000191660001916815260200190815260200160002060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611cf7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f54686520696e69746961746f72206f6620746865207472616e73616374696f6e81526020017f206973206e6f742062757965720000000000000000000000000000000000000081525060400191505060405180910390fd5b879650600087111515611d72576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f56616c7565206d7573742062652067726561746572207468616e207a65726f2e81525060200191505060405180910390fd5b6000808a6000191660001916815260200190815260200160002060040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1695508573ffffffffffffffffffffffffffffffffffffffff166323b872dd6000808c6000191660001916815260200190815260200160002060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff16308b6040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b158015611ec657600080fd5b505af1158015611eda573d6000803e3d6000fd5b505050506040513d6020811015611ef057600080fd5b81019080805190602001909291905050501515611fc1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252605c8152602001807f546f6b656e207472616e73666572206661696c65642c206d6179626520796f7581526020017f20646964206e6f7420617070726f766520657363726f7720636f6e747261637481526020017f20746f207370656e64206f6e20626568616c66206f662062757965720000000081525060600191505060405180910390fd5b611ff1876000808c60001916600019168152602001908152602001600020600001546130ce90919063ffffffff16565b6000808b6000191660001916815260200190815260200160002060000181905550426000808b60001916600019168152602001908152602001600020600101819055503373ffffffffffffffffffffffffffffffffffffffff167ff66fd2ae9e24a6a24b02e1b5b7512ffde5149a4176085fc0298ae228c9b9d7298a896040518083600019166000191681526020018281526020019250505060405180910390a2505050505050505050565b60015481565b6060600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080548060200260200160405190810160405280929190818152602001828054801561213257602002820191906000526020600020905b8154600019168152602001906001019080831161211a575b50505050509050919050565b846000806000836000191660001916815260200190815260200160002060000154141515156121d5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737473000000000081525060200191505060405180910390fd5b85600060018111156121e357fe5b600080836000191660001916815260200190815260200160002060020160009054906101000a900460ff16600181111561221957fe5b1415156122b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001807f5472616e73616374696f6e2069732065697468657220696e206469737075746581526020017f206f722072656c6561736564207374617465000000000000000000000000000081525060400191505060405180910390fd5b6000868690501180156122cc57508383905086869050145b1515612366576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001807f4c656e677468206f662064657374696e6174696f6e7320697320696e636f727281526020017f6563742e0000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b61245f8d8d808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508c8c808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508b8b808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508a8a8a808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508989808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050506130ef565b6001600080896000191660001916815260200190815260200160002060020160006101000a81548160ff0219169083600181111561249957fe5b021790555042600080896000191660001916815260200190815260200160002060010181905550600080886000191660001916815260200190815260200160002060000154612547888888808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508787808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050506132aa565b141515612608576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260488152602001807f546f74616c2076616c756520746f2062652072656c6561736564206d7573742081526020017f626520657175616c20746f20746865207472616e73616374696f6e206573637281526020017f6f772076616c756500000000000000000000000000000000000000000000000081525060600191505060405180910390fd5b7f688e2a1b34445bcd47b0e11ba2a9c8c4d850a1831b64199b59d1c70e2970154587878787876040518086600019166000191681526020018060200180602001838103835287878281815260200192506020028082843782019150508381038252858582818152602001925060200280828437820191505097505050505050505060405180910390a150505050505050505050505050565b6000806000846000191660001916815260200190815260200160002060070160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b60026020528160005260406000208181548110151561272d57fe5b90600052602060002001600091509150505481565b8873ffffffffffffffffffffffffffffffffffffffff168a73ffffffffffffffffffffffffffffffffffffffff16141515156127e6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f427579657220616e642073656c6c6572206172652073616d650000000000000081525060200191505060405180910390fd5b60008411151561285e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f56616c756520706173736564206973203000000000000000000000000000000081525060200191505060405180910390fd5b60008760ff16118015612875575060038760ff1611155b151561290f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603d8152602001807f5468726573686f6c642063616e6e6f742062652067726561746572207468616e81526020017f203320616e64206d7573742062652067726561746572207468616e203000000081525060400191505060405180910390fd5b60018760ff16148061294e5750600073ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff1614155b1515612a0e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252604f8152602001807f456974686572207468726573686f6c642073686f756c642062652031206f746881526020017f6572776973652076616c6964206d6f64657261746f722061646472657373207381526020017f686f756c6420626520706173736564000000000000000000000000000000000081525060600191505060405180910390fd5b612a1d8388888d8d8d87610eb4565b600019168560001916141515612ac1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260398152602001807f43616c63756c6174656420736372697074206861736820646f6573206e6f742081526020017f6d61746368207061737365642073637269707420686173682e0000000000000081525060400191505060405180910390fd5b6101406040519081016040528085815260200142815260200160006001811115612ae757fe5b8152602001836001811115612af857fe5b81526020018860ff1681526020018763ffffffff1681526020018b73ffffffffffffffffffffffffffffffffffffffff1681526020018a73ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020018973ffffffffffffffffffffffffffffffffffffffff168152506000808760001916600019168152602001908152602001600020600082015181600001556020820151816001015560408201518160020160006101000a81548160ff02191690836001811115612bd257fe5b021790555060608201518160020160016101000a81548160ff02191690836001811115612bfb57fe5b021790555060808201518160020160026101000a81548160ff021916908360ff16021790555060a08201518160020160036101000a81548163ffffffff021916908363ffffffff16021790555060c08201518160020160076101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060e08201518160030160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506101008201518160040160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506101208201518160050160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055509050506001600080876000191660001916815260200190815260200160002060060160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600080876000191660001916815260200190815260200160002060060160008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600080866000191660001916815260200190815260200160002060060160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151515612f52576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f456974686572206275796572206f722073656c6c65722069732070617373656481526020017f206173206d6f64657261746f720000000000000000000000000000000000000081525060400191505060405180910390fd5b60018760ff161115612fd2576001600080876000191660001916815260200190815260200160002060060160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b600160008154809291906001019190505550600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020859080600181540180825580915050906001820390600052602060002001600090919290919091509060001916905550600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002085908060018154018082558091505090600182039060005260206000200160009091929091909150906000191690555050505050505050505050565b60008082840190508381101515156130e557600080fd5b8091505092915050565b600080613100888888888888613a89565b9150613156600080876000191660001916815260200190815260200160002060020160039054906101000a900463ffffffff166000808860001916600019168152602001908152602001600020600101546140fc565b9050600080866000191660001916815260200190815260200160002060020160029054906101000a900460ff1660ff16885110801561320757508015806132065750600080866000191660001916815260200190815260200160002060030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b5b156132a0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001807f736967562e6c656e67746820697320756e64657220746865207468726573686f81526020017f6c642e000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b5050505050505050565b600080600080600080600089600019166000191681526020019081526020016000209350600060018111156132db57fe5b8460020160019054906101000a900460ff1660018111156132f857fe5b141561360f57600092505b865183101561360a57600073ffffffffffffffffffffffffffffffffffffffff16878481518110151561333257fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff16141580156133c25750836006016000888581518110151561336f57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1515613436576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f4e6f7420612076616c69642064657374696e6174696f6e00000000000000000081525060200191505060405180910390fd5b6000868481518110151561344657fe5b906020019060200201511115156134eb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001807f416d6f756e7420746f2062652073656e742073686f756c64206265206772656181526020017f746572207468616e20300000000000000000000000000000000000000000000081525060400191505060405180910390fd5b61351586848151811015156134fc57fe5b90602001906020020151866130ce90919063ffffffff16565b94506001846008016000898681518110151561352d57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550868381518110151561359657fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff166108fc87858151811015156135c757fe5b906020019060200201519081150290604051600060405180830381858888f193505050501580156135fc573d6000803e3d6000fd5b508280600101935050613303565b613a7e565b60018081111561361b57fe5b8460020160019054906101000a900460ff16600181111561363857fe5b1415613a7d578360040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169150600090505b8651811015613a7c57600073ffffffffffffffffffffffffffffffffffffffff16878281518110151561369957fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1614158015613729575083600601600088838151811015156136d657fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b151561379d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f4e6f7420612076616c69642064657374696e6174696f6e00000000000000000081525060200191505060405180910390fd5b600086828151811015156137ad57fe5b90602001906020020151111515613852576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001807f416d6f756e7420746f2062652073656e742073686f756c64206265206772656181526020017f746572207468616e20300000000000000000000000000000000000000000000081525060400191505060405180910390fd5b61387c868281518110151561386357fe5b90602001906020020151866130ce90919063ffffffff16565b94506001846008016000898481518110151561389457fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb888381518110151561391957fe5b90602001906020020151888481518110151561393157fe5b906020019060200201516040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1580156139c057600080fd5b505af11580156139d4573d6000803e3d6000fd5b505050506040513d60208110156139ea57600080fd5b81019080805190602001909291905050501515613a6f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f546f6b656e207472616e73666572206661696c65642e0000000000000000000081525060200191505060405180910390fd5b808060010191505061366a565b5b5b505050509392505050565b60008060008087518951148015613aa1575089518951145b1515613b15576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f522c532c56206c656e677468206d69736d617463682e0000000000000000000081525060200191505060405180910390fd5b60197f01000000000000000000000000000000000000000000000000000000000000000260007f0100000000000000000000000000000000000000000000000000000000000000023088888b60405160200180877effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168152600101867effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526001018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401848051906020019060200280838360005b83811015613c69578082015181840152602081019050613c4e565b50505050905001838051906020019060200280838360005b83811015613c9c578082015181840152602081019050613c81565b50505050905001826000191660001916815260200196505050505050506040516020818303038152906040526040518082805190602001908083835b602083101515613cfd5780518252602082019150602081019050602083039250613cd8565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902060405160200180807f19457468657265756d205369676e6564204d6573736167653a0a333200000000815250601c0182600019166000191681526020019150506040516020818303038152906040526040518082805190602001908083835b602083101515613dae5780518252602082019150602081019050602083039250613d89565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390209250600091505b88518210156140ef576001838b84815181101515613dfc57fe5b906020019060200201518b85815181101515613e1457fe5b906020019060200201518b86815181101515613e2c57fe5b90602001906020020151604051600081526020016040526040518085600019166000191681526020018460ff1660ff1681526020018360001916600019168152602001826000191660001916815260200194505050505060206040516020810390808403906000865af1158015613ea7573d6000803e3d6000fd5b505050602060405103519050600080886000191660001916815260200190815260200160002060060160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515613f8f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f496e76616c6964207369676e617475726500000000000000000000000000000081525060200191505060405180910390fd5b600080886000191660001916815260200190815260200160002060070160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151561406c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f53616d65207369676e61747572652073656e742074776963650000000000000081525060200191505060405180910390fd5b6001600080896000191660001916815260200190815260200160002060070160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508093508180600101925050613de2565b5050509695505050505050565b600080614112834261415090919063ffffffff16565b905060008463ffffffff16146141445761413d610e108563ffffffff1661417190919063ffffffff16565b8111614147565b60005b91505092915050565b60008083831115151561416257600080fd5b82840390508091505092915050565b600080600084141561418657600091506141a8565b828402905082848281151561419757fe5b041415156141a457600080fd5b8091505b50929150505600a165627a7a7230582086a7491862c2f2d2f1eaa7529aee426687778ccd2ee33fa2a5d831969e86e5490029", - "sourceMap": "460:20452:0:-;;;1606:1;1572:35;;460:20452;8:9:-1;5:2;;;30:1;27;20:12;5:2;460:20452:0;;;;;;;", - "deployedSourceMap": "460:20452:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3828:702;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7843:598;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12240:1004;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12240:1004:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5630:1021;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5630:1021:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1514:51;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1514:51:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6875:228;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6875:228:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8701:924;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8701:924:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1572:35;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1572:35:0;;;;;;;;;;;;;;;;;;;;;;;9742:207;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9742:207:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;9742:207:0;;;;;;;;;;;;;;;;;10706:1063;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10706:1063:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7326:199;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7326:199:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1684:54;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1684:54:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3828:702;4106:10;2030:1;1996:12;:24;2009:10;1996:24;;;;;;;;;;;;;;;;;:30;;;:35;1988:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4141:5;2380:1;2354:28;;:14;:28;;;;2346:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4171:6;2380:1;2354:28;;:14;:28;;;;2346:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4193:264;4222:5;4241:6;4261:9;4284;4307:12;4333:10;4357:9;4380:8;4402:21;4445:1;4193:15;:264::i;:::-;4500:10;4481:41;;;4488:10;4512:9;4481:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2416:1;2064;3828:702;;;;;;;;:::o;7843:598::-;8121:14;7951:10;1857:1;1823:12;:24;1836:10;1823:24;;;;;;;;;;;;;;;;;:30;;;:35;;1802:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7985:10;2187:13;2152:48;;;;;;;;:12;:24;2165:10;2152:24;;;;;;;;;;;;;;;;;:31;;;;;;;;;;;;:48;;;;;;;;;2131:133;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8026:10;8038:21;2614:15;2570:59;;;;;;;;:12;:24;2583:10;2570:24;;;;;;;;;;;;;;;;;:40;;;;;;;;;;;;:59;;;;;;;;;2549:125;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8079:10;2782:12;:24;2795:10;2782:24;;;;;;;;;;;;;;;;;:30;;;;;;;;;;;;2768:44;;:10;:44;;;2747:124;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8138:9;8121:26;;8175:1;8166:6;:10;8158:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8257;8305:6;8257:12;:24;8270:10;8257:24;;;;;;;;;;;;;;;;;:30;;;:47;;:55;;;;:::i;:::-;8224:12;:24;8237:10;8224:24;;;;;;;;;;;;;;;;;:30;;:88;;;;8362:15;8322:12;:24;8335:10;8322:24;;;;;;;;;;;;;;;;;:37;;:55;;;;8415:10;8393:41;;;8403:10;8427:6;8393:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2684:1;2274;;1909;7843:598;;;:::o;12240:1004::-;12510:12;12566:1;12542:26;;:12;:26;;;12538:700;;;12656:8;12686:9;12717:12;12751:5;12778:6;12806:9;12837:4;12618:241;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;12618:241:0;;;12591:282;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;12591:282:0;;;;;;;;;;;;;;;;12584:289;;12538:700;;;12976:8;13006:9;13037:12;13071:5;13098:6;13126:9;13157:4;13183:12;12938:275;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;12938:275:0;;;12911:316;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;12911:316:0;;;;;;;;;;;;;;;;12904:323;;12538:700;12240:1004;;;;;;;;;:::o;5630:1021::-;6348:20;5950:10;2030:1;1996:12;:24;2009:10;1996:24;;;;;;;;;;;;;;;;;:30;;;:35;1988:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5985:5;2380:1;2354:28;;:14;:28;;;;2346:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6015:6;2380:1;2354:28;;:14;:28;;;;2346:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6046:12;2380:1;2354:28;;:14;:28;;;;2346:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6075:262;6104:5;6123:6;6143:9;6166;6189:12;6215:10;6239:5;6258:8;6280:21;6315:12;6075:15;:262::i;:::-;6386:12;6348:51;;6431:5;:18;;;6450:10;6462:4;6468:5;6431:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6431:43:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6431:43:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6431:43:0;;;;;;;;;;;;;;;;6410:182;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6626:10;6607:37;;;6614:10;6638:5;6607:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2416:1;;2064;5630:1021;;;;;;;;;;;:::o;1514:51::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;6875:228::-;7011:10;7045:12;:24;7058:10;7045:24;;;;;;;;;;;;;;;;;:38;;:51;7084:11;7045:51;;;;;;;;;;;;;;;;;;;;;;;;;7037:59;;6875:228;;;;:::o;8701:924::-;8987:14;9086:20;8833:10;1857:1;1823:12;:24;1836:10;1823:24;;;;;;;;;;;;;;;;;:30;;;:35;;1802:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8867:10;2187:13;2152:48;;;;;;;;:12;:24;2165:10;2152:24;;;;;;;;;;;;;;;;;:31;;;;;;;;;;;;:48;;;;;;;;;2131:133;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8908:10;8920:21;2614:15;2570:59;;;;;;;;:12;:24;2583:10;2570:24;;;;;;;;;;;;;;;;;:40;;;;;;;;;;;;:59;;;;;;;;;2549:125;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8961:10;2782:12;:24;2795:10;2782:24;;;;;;;;;;;;;;;;;:30;;;;;;;;;;;;2768:44;;:10;:44;;;2747:124;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9004:5;8987:22;;9037:1;9028:6;:10;9020:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9137:12;:24;9150:10;9137:24;;;;;;;;;;;;;;;;;:37;;;;;;;;;;;;9086:98;;9216:5;:18;;;9235:12;:24;9248:10;9235:24;;;;;;;;;;;;;;;;;:30;;;;;;;;;;;;9267:4;9273:5;9216:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9216:63:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9216:63:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;9216:63:0;;;;;;;;;;;;;;;;9195:202;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9441:55;9489:6;9441:12;:24;9454:10;9441:24;;;;;;;;;;;;;;;;;:30;;;:47;;:55;;;;:::i;:::-;9408:12;:24;9421:10;9408:24;;;;;;;;;;;;;;;;;:30;;:88;;;;9546:15;9506:12;:24;9519:10;9506:24;;;;;;;;;;;;;;;;;:37;;:55;;;;9599:10;9577:41;;;9587:10;9611:6;9577:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2684:1;2274;;1909;8701:924;;;;;:::o;1572:35::-;;;;:::o;9742:207::-;9864:22;9910:18;:32;9929:12;9910:32;;;;;;;;;;;;;;;9903:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9742:207;;;:::o;10706:1063::-;10929:10;1857:1;1823:12;:24;1836:10;1823:24;;;;;;;;;;;;;;;;;:30;;;:35;;1802:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10963:10;2187:13;2152:48;;;;;;;;:12;:24;2165:10;2152:24;;;;;;;;;;;;;;;;;:31;;;;;;;;;;;;:48;;;;;;;;;2131:133;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11030:1;11010:12;;:19;;:21;:62;;;;;11058:7;;:14;;11035:12;;:19;;:37;11010:62;10989:133;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11133:152;11164:4;;11133:152;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11182:4;;11133:152;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11200:4;;11133:152;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11218:10;11242:12;;11133:152;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11268:7;;11133:152;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:17;:152::i;:::-;11330:15;11296:12;:24;11309:10;11296:24;;;;;;;;;;;;;;;;;:31;;;:49;;;;;;;;;;;;;;;;;;;;;;;;11469:15;11429:12;:24;11442:10;11429:24;;;;;;;;;;;;;;;;;:37;;:55;;;;11567:12;:24;11580:10;11567:24;;;;;;;;;;;;;;;;;:30;;;11515:48;11529:10;11541:12;;11515:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11555:7;;11515:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:13;:48::i;:::-;:82;11494:201;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11719:43;11728:10;11740:12;;11754:7;;11719:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1909:1;10706:1063;;;;;;;;;;;;:::o;7326:199::-;7449:9;7481:12;:24;7494:10;7481:24;;;;;;;;;;;;;;;;;:30;;:37;7512:5;7481:37;;;;;;;;;;;;;;;;;;;;;;;;;7474:44;;7326:199;;;;:::o;1684:54::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;18275:2635::-;18637:6;18628:15;;:5;:15;;;;18620:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18748:1;18740:5;:9;18732:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18886:1;18874:9;:13;;;:31;;;;;18904:1;18891:9;:14;;;;18874:31;18853:140;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19275:1;19262:9;:14;;;:41;;;;19301:1;19280:23;;:9;:23;;;;19262:41;19241:167;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19454:226;19497:8;19523:9;19550:12;19580:5;19603:6;19627:9;19654:12;19454:25;:226::i;:::-;19440:240;;;:10;:240;;;;19419:345;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19802:373;;;;;;;;;19923:5;19802:373;;;;19991:15;19802:373;;;;19950:13;19802:373;;;;;;;;;;;;20110:15;19802:373;;;;;;;;;;;;20031:9;19802:373;;;;;;20068:12;19802:373;;;;;;19835:5;19802:373;;;;;;19862:6;19802:373;;;;;;20152:12;19802:373;;;;;;19893:9;19802:373;;;;;19775:12;:24;19788:10;19775:24;;;;;;;;;;;;;;;;;:400;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20229:4;20186:12;:24;20199:10;20186:24;;;;;;;;;;;;;;;;;:32;;:40;20219:6;20186:40;;;;;;;;;;;;;;;;:47;;;;;;;;;;;;;;;;;;20285:4;20243:12;:24;20256:10;20243:24;;;;;;;;;;;;;;;;;:32;;:39;20276:5;20243:39;;;;;;;;;;;;;;;;:46;;;;;;;;;;;;;;;;;;20397:12;:24;20410:10;20397:24;;;;;;;;;;;;;;;;;:32;;:43;20430:9;20397:43;;;;;;;;;;;;;;;;;;;;;;;;;20396:44;20375:137;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20684:1;20672:9;:13;;;20668:93;;;20746:4;20700:12;:24;20713:10;20700:24;;;;;;;;;;;;;;;;;:32;;:43;20733:9;20700:43;;;;;;;;;;;;;;;;:50;;;;;;;;;;;;;;;;;;20668:93;20779:16;;:18;;;;;;;;;;;;;20808;:25;20827:5;20808:25;;;;;;;;;;;;;;;20839:10;20808:42;;39:1:-1;33:3;27:10;23:18;57:10;52:3;45:23;79:10;72:17;;0:93;20808:42:0;;;;;;;;;;;;;;;;;;;;;;;;;;;20860:18;:26;20879:6;20860:26;;;;;;;;;;;;;;;20892:10;20860:43;;39:1:-1;33:3;27:10;23:18;57:10;52:3;45:23;79:10;72:17;;0:93;20860:43:0;;;;;;;;;;;;;;;;;;;;;;;;;;;18275:2635;;;;;;;;;;:::o;1272:131:2:-;1330:7;1345:9;1361:1;1357;:5;1345:17;;1381:1;1376;:6;;1368:15;;;;;;;;1397:1;1390:8;;1272:131;;;;;:::o;13518:952:0:-;13738:21;13924:20;13762:151;13792:4;13810;13828;13846:10;13870:12;13896:7;13762:16;:151::i;:::-;13738:175;;13947:129;13978:12;:24;13991:10;13978:24;;;;;;;;;;;;;;;;;:37;;;;;;;;;;;;14029:12;:24;14042:10;14029:24;;;;;;;;;;;;;;;;;:37;;;13947:17;:129::i;:::-;13924:152;;14262:12;:24;14275:10;14262:24;;;;;;;;;;;;;;;;;:34;;;;;;;;;;;;14248:48;;:4;:11;:48;:122;;;;;14302:15;14301:16;:68;;;;14338:12;:24;14351:10;14338:24;;;;;;;;;;;;;;;;;:31;;;;;;;;;;;;14321:48;;:13;:48;;;;14301:68;14248:122;14227:236;;;14407:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14227:236;13518:952;;;;;;;;:::o;14596:1552::-;14743:24;14783:21;14909:9;15546:20;15619:9;14807:12;:24;14820:10;14807:24;;;;;;;;;;;;;;;;;14783:48;;14867:21;14846:42;;;;;;;;:1;:17;;;;;;;;;;;;:42;;;;;;;;;14842:1299;;;14921:1;14909:13;;14904:562;14928:12;:19;14924:1;:23;14904:562;;;15008:1;14981:29;;:12;14994:1;14981:15;;;;;;;;;;;;;;;;;;:29;;;;:59;;;;;15014:1;:9;;:26;15024:12;15037:1;15024:15;;;;;;;;;;;;;;;;;;15014:26;;;;;;;;;;;;;;;;;;;;;;;;;14981:59;14973:95;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15107:1;15094:7;15102:1;15094:10;;;;;;;;;;;;;;;;;;:14;15086:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15193:32;15214:7;15222:1;15214:10;;;;;;;;;;;;;;;;;;15193:16;:20;;:32;;;;:::i;:::-;15174:51;;15279:4;15244:1;:15;;:32;15260:12;15273:1;15260:15;;;;;;;;;;;;;;;;;;15244:32;;;;;;;;;;;;;;;;:39;;;;;;;;;;;;;;;;;;15330:12;15343:1;15330:15;;;;;;;;;;;;;;;;;;:24;;:36;15355:7;15363:1;15355:10;;;;;;;;;;;;;;;;;;15330:36;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;15330:36:0;14949:3;;;;;;;14904:562;;;14842:1299;;;15508:21;15487:42;;;;;;;;:1;:17;;;;;;;;;;;;:42;;;;;;;;;15483:658;;;15584:1;:14;;;;;;;;;;;;15546:53;;15631:1;15619:13;;15614:517;15636:12;:19;15634:1;:21;15614:517;;;15716:1;15689:29;;:12;15702:1;15689:15;;;;;;;;;;;;;;;;;;:29;;;;:59;;;;;15722:1;:9;;:26;15732:12;15745:1;15732:15;;;;;;;;;;;;;;;;;;15722:26;;;;;;;;;;;;;;;;;;;;;;;;;15689:59;15681:95;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15815:1;15802:7;15810:1;15802:10;;;;;;;;;;;;;;;;;;:14;15794:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15901:32;15922:7;15930:1;15922:10;;;;;;;;;;;;;;;;;;15901:16;:20;;:32;;;;:::i;:::-;15882:51;;15986:4;15951:1;:15;;:32;15967:12;15980:1;15967:15;;;;;;;;;;;;;;;;;;15951:32;;;;;;;;;;;;;;;;:39;;;;;;;;;;;;;;;;;;16046:5;:14;;;16061:12;16074:1;16061:15;;;;;;;;;;;;;;;;;;16078:7;16086:1;16078:10;;;;;;;;;;;;;;;;;;16046:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;16046:43:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;16046:43:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;16046:43:0;;;;;;;;;;;;;;;;16038:78;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15657:3;;;;;;;15614:517;;;15483:658;14842:1299;14596:1552;;;;;;;;;:::o;16332:1523::-;16553:19;16813:14;17272:6;17321:17;16624:4;:11;16609:4;:11;:26;:56;;;;;16654:4;:11;16639:4;:11;:26;16609:56;16588:126;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17017:4;17012:10;;17053:1;17048:7;;17081:4;17111:12;17149:7;17182:10;16970:244;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;16970:244:0;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;16970:244:0;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;16970:244:0;;;16939:293;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;16939:293:0;;;;;;;;;;;;;;;;16853:393;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;16853:393:0;;;16830:426;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;16830:426:0;;;;;;;;;;;;;;;;16813:443;;17281:1;17272:10;;17267:582;17288:4;:11;17284:1;:15;17267:582;;;17341:122;17368:6;17392:4;17397:1;17392:7;;;;;;;;;;;;;;;;;;17417:4;17422:1;17417:7;;;;;;;;;;;;;;;;;;17442:4;17447:1;17442:7;;;;;;;;;;;;;;;;;;17341:122;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;17341:122:0;;;;;;;;17321:142;;17503:12;:24;17516:10;17503:24;;;;;;;;;;;;;;;;;:32;;:43;17536:9;17503:43;;;;;;;;;;;;;;;;;;;;;;;;;17478:120;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17638:12;:24;17651:10;17638:24;;;;;;;;;;;;;;;;;:30;;:41;17669:9;17638:41;;;;;;;;;;;;;;;;;;;;;;;;;17637:42;17612:127;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17797:4;17753:12;:24;17766:10;17753:24;;;;;;;;;;;;;;;;;:30;;:41;17784:9;17753:41;;;;;;;;;;;;;;;;:48;;;;;;;;;;;;;;;;;;17829:9;17815:23;;17301:3;;;;;;;17267:582;;;16332:1523;;;;;;;;;;;:::o;17861:327::-;17999:12;18027:17;18047:21;18055:12;18047:3;:7;;:21;;;;:::i;:::-;18027:41;;18118:1;18102:12;:17;;;:69;;18140:31;18166:4;18148:12;18140:21;;:25;;:31;;;;:::i;:::-;18128:9;:43;18102:69;;;18122:5;18102:69;18078:103;;17861:327;;;;;:::o;1078:131:2:-;1136:7;1172:9;1164:1;1159;:6;;1151:15;;;;;;;;1188:1;1184;:5;1172:17;;1203:1;1196:8;;1078:131;;;;;:::o;204:381::-;262:7;523:9;491:1;486;:6;482:35;;;509:1;502:8;;;;482:35;539:1;535;:5;523:17;;563:1;558;554;:5;;;;;;;;:10;546:19;;;;;;;;579:1;572:8;;204:381;;;;;;:::o", - "source": "pragma solidity 0.4.24;\n\nimport \"openzeppelin-solidity/contracts/math/SafeMath.sol\";\n\nimport \"../token/ITokenContract.sol\";\n\n\n/**\n* @dev Supports ERC20 tokens\n* The escrow smart contract for the open bazaar trades in Ethereum\n* The smart contract is desgined keeping in mind the current wallet interface of the OB-core\n* https://github.com/OpenBazaar/wallet-interface/blob/master/wallet.go\n* Current wallet interface strictly adheres to UTXO(bitcoin) model\n*/\ncontract Escrow_v1_0 {\n\n using SafeMath for uint256;\n\n enum Status {FUNDED, RELEASED}\n\n enum TransactionType {ETHER, TOKEN}\n\n event Executed(\n bytes32 scriptHash,\n address[] destinations,\n uint256[] amounts\n );\n\n event FundAdded(\n bytes32 scriptHash,\n address indexed from,\n uint256 valueAdded\n );\n\n event Funded(bytes32 scriptHash, address indexed from, uint256 value);\n\n struct Transaction {\n uint256 value;\n uint256 lastModified;//Time at which transaction was last modified\n Status status;\n TransactionType transactionType;\n uint8 threshold;\n uint32 timeoutHours;\n address buyer;\n address seller;\n address tokenAddress;// Token address in case of token transfer\n address moderator;\n mapping(address=>bool) isOwner;//to keep track of owners/signers.\n mapping(address=>bool) voted;//to keep track of who all voted\n mapping(address=>bool) beneficiaries;//Benefeciaries of execution\n }\n\n mapping(bytes32 => Transaction) public transactions;\n\n uint256 public transactionCount = 0;\n\n //Contains mapping between each party and all of his transactions\n mapping(address => bytes32[])public partyVsTransaction;\n\n modifier transactionExists(bytes32 scriptHash) {\n require(\n transactions[scriptHash].value != 0, \"Transaction does not exists\"\n );\n _;\n }\n\n modifier transactionDoesNotExists (bytes32 scriptHash) {\n require(transactions[scriptHash].value == 0, \"Transaction exists\");\n _;\n }\n\n modifier inFundedState(bytes32 scriptHash) {\n require(\n transactions[scriptHash].status == Status.FUNDED, \"Transaction is either in dispute or released state\"\n );\n _;\n }\n\n modifier nonZeroAddress(address addressToCheck) {\n require(addressToCheck != address(0), \"Zero address passed\");\n _;\n }\n\n modifier checkTransactionType(\n bytes32 scriptHash,\n TransactionType transactionType\n )\n {\n require(\n transactions[scriptHash].transactionType == transactionType, \"Transaction type does not match\"\n );\n _;\n }\n\n modifier onlyBuyer(bytes32 scriptHash) {\n require(\n msg.sender == transactions[scriptHash].buyer, \"The initiator of the transaction is not buyer\"\n );\n _;\n }\n\n /**\n *@dev Add new transaction in the contract\n *@param buyer The buyer of the transaction\n *@param seller The seller of the listing associated with the transaction\n *@param moderator Moderator for this transaction\n *@param scriptHash keccak256 hash of the redeem script\n *@param threshold Minimum number of singatures required to released funds\n *@param timeoutHours Hours after which seller can release funds into his favour by signing transaction\n *@param uniqueId bytes20 unique id for the transaction, generated by ETH wallet\n *Redeem Script format will be following\n \n * scripthash-> keccak256(uniqueId, threshold, timeoutHours, buyer, seller, moderator)\n *Pass amount of the ethers to be put in escrow\n *Please keep in mind you will have to add moderator fees also in the value\n */\n function addTransaction(\n address buyer,\n address seller,\n address moderator,\n uint8 threshold,\n uint32 timeoutHours,\n bytes32 scriptHash,\n bytes20 uniqueId\n )\n external\n payable\n transactionDoesNotExists(scriptHash)\n nonZeroAddress(buyer)\n nonZeroAddress(seller)\n {\n _addTransaction(\n buyer,\n seller,\n moderator,\n threshold,\n timeoutHours,\n scriptHash,\n msg.value,\n uniqueId,\n TransactionType.ETHER,\n address(0)\n );\n \n emit Funded(scriptHash, msg.sender, msg.value);\n\n }\n\n /**\n *@dev Add new transaction in the contract\n *@param buyer The buyer of the transaction\n *@param seller The seller of the listing associated with the transaction\n *@param moderator Moderator for this transaction\n *@param scriptHash keccak256 hash of the redeem script\n *@param threshold Minimum number of singatures required to released funds\n *@param timeoutHours Hours after which seller can release funds into his favour by signing transaction\n *@param value Amount of tokens to be put in escrow\n *@param uniqueId bytes20 unique id for the transaction, generated by ETH wallet\n *@param tokenAddress Address of the token to be used\n *Redeem Script format will be following\n \n * scripthash-> keccak256(uniqueId, threshold, timeoutHours, buyer, seller, moderator, tokenAddress)\n *approve escrow contract to spend amount of token on your behalf\n *Please keep in mind you will have to add moderator fees also in the value\n */\n function addTokenTransaction(\n address buyer,\n address seller,\n address moderator,\n uint8 threshold,\n uint32 timeoutHours,\n bytes32 scriptHash,\n uint256 value,\n bytes20 uniqueId,\n address tokenAddress\n )\n external\n transactionDoesNotExists(scriptHash)\n nonZeroAddress(buyer)\n nonZeroAddress(seller)\n nonZeroAddress(tokenAddress)\n {\n\n _addTransaction(\n buyer,\n seller,\n moderator,\n threshold,\n timeoutHours,\n scriptHash,\n value,\n uniqueId,\n TransactionType.TOKEN,\n tokenAddress\n );\n\n ITokenContract token = ITokenContract(tokenAddress);\n\n require(\n token.transferFrom(msg.sender, this, value),\n \"Token transfer failed, maybe you did not approve escrow contract to spend on behalf of buyer\"\n );\n emit Funded(scriptHash, msg.sender, value);\n }\n\n /**\n * @dev Check whether given address was a beneficiary of transaction execution or not\n * @param scriptHash script hash of the transaction\n * @param beneficiary Beneficiary address to be checked\n */\n function checkBeneficiary(\n bytes32 scriptHash,\n address beneficiary\n )\n external\n view\n returns (bool check)\n {\n check = transactions[scriptHash].beneficiaries[beneficiary];\n }\n\n /**\n * @dev Check whether given party has voted or not\n * @param scriptHash script hash of the transaction\n * @param party Address of the party whose vote has to be checked\n * @return bool vote\n */\n function checkVote(\n bytes32 scriptHash,\n address party\n )\n external\n view\n returns (bool vote)\n {\n vote = transactions[scriptHash].voted[party];\n }\n\n /**\n *@dev Allows buyer of the transaction to add more funds(ether) in the transaction. This will help to cater scenarios wherein initially buyer missed to fund transaction as required\n *@param scriptHash script hash of the transaction\n * Only buyer of the transaction can invoke this method\n */\n function addFundsToTransaction(\n bytes32 scriptHash\n )\n external\n transactionExists(scriptHash)\n inFundedState(scriptHash)\n checkTransactionType(scriptHash, TransactionType.ETHER)\n onlyBuyer(scriptHash)\n payable\n {\n uint256 _value = msg.value;\n\n require(_value > 0, \"Value must be greater than zero.\");\n\n transactions[scriptHash].value = transactions[scriptHash].value\n .add(_value);\n transactions[scriptHash].lastModified = block.timestamp;\n\n emit FundAdded(scriptHash, msg.sender, _value);\n }\n\n /**\n *@dev Allows buyer of the transaction to add more funds(Tokens) in the transaction. This will help to cater scenarios wherein initially buyer missed to fund transaction as required\n *@param scriptHash script hash of the transaction\n */\n function addTokensToTransaction(\n bytes32 scriptHash,\n uint256 value\n )\n external\n transactionExists(scriptHash)\n inFundedState(scriptHash)\n checkTransactionType(scriptHash, TransactionType.TOKEN)\n onlyBuyer(scriptHash)\n {\n uint256 _value = value;\n\n require(_value > 0, \"Value must be greater than zero.\");\n\n ITokenContract token = ITokenContract(\n transactions[scriptHash].tokenAddress\n );\n\n require(\n token.transferFrom(transactions[scriptHash].buyer, this, value),\n \"Token transfer failed, maybe you did not approve escrow contract to spend on behalf of buyer\"\n );\n\n transactions[scriptHash].value = transactions[scriptHash].value\n .add(_value);\n transactions[scriptHash].lastModified = block.timestamp;\n\n emit FundAdded(scriptHash, msg.sender, _value);\n }\n\n /**\n *@dev Returns all transaction ids for a party\n *@param partyAddress Address of the party\n */\n function getAllTransactionsForParty(\n address partyAddress\n ) \n external \n view \n returns (bytes32[] scriptHashes) \n {\n return partyVsTransaction[partyAddress];\n }\n\n /**\n *@dev Allows one of the moderator to collect all the signature to solve dispute and submit it to this method.\n * If all the required signatures are collected and consensus has been reached than funds will be released to the voted party\n *@param sigV Array containing V component of all the signatures\n *@param sigR Array containing R component of all the signatures\n *@param signS Array containing S component of all the signatures\n *@param scriptHash script hash of the transaction\n *@param destinations address of the destination in whose favour dispute resolution is taking place. In case of split payments it will be address of the split payments contract\n *@param amounts value to send to each destination\n */\n function execute(\n uint8[] sigV,\n bytes32[] sigR,\n bytes32[] sigS,\n bytes32 scriptHash,\n address[] destinations,\n uint256[] amounts\n )\n external\n transactionExists(scriptHash)\n inFundedState(scriptHash)\n {\n require(\n destinations.length>0 && destinations.length == amounts.length, \"Length of destinations is incorrect.\"\n );\n\n verifyTransaction(\n sigV,\n sigR,\n sigS,\n scriptHash,\n destinations,\n amounts\n );\n\n transactions[scriptHash].status = Status.RELEASED;\n //Last modified timestamp modified, which will be used by rewards\n transactions[scriptHash].lastModified = block.timestamp;\n require(\n transferFunds(scriptHash, destinations, amounts) == transactions[scriptHash].value,\n \"Total value to be released must be equal to the transaction escrow value\"\n );\n \n emit Executed(scriptHash, destinations, amounts);\n }\n\n\n /**\n *@dev Method for calculating script hash. Calculation will depend upon the type of transaction\n * ETHER Type transaction-:\n * Script Hash- keccak256(uniqueId, threshold, timeoutHours, buyer, seller, moderator)\n * TOKEN Type transaction\n * Script Hash- keccak256(uniqueId, threshold, timeoutHours, buyer, seller, moderator, tokenAddress)\n * Client can use this method to verify whether it has calculated correct script hash or not\n */\n function calculateRedeemScriptHash(\n bytes20 uniqueId,\n uint8 threshold,\n uint32 timeoutHours,\n address buyer,\n address seller,\n address moderator,\n address tokenAddress\n )\n public\n view\n returns (bytes32 hash)\n {\n if (tokenAddress == address(0)) {\n hash = keccak256(\n abi.encodePacked(\n uniqueId,\n threshold,\n timeoutHours,\n buyer,\n seller,\n moderator,\n this\n )\n );\n } else {\n hash = keccak256(\n abi.encodePacked(\n uniqueId,\n threshold,\n timeoutHours,\n buyer,\n seller,\n moderator,\n this,\n tokenAddress\n )\n );\n }\n }\n\n /**\n * @dev This methods checks validity of transaction\n * 1. Verify Signatures\n * 2. Check if minimum number of signatures has been acquired\n * 3. If above condition is false, check if time lock is expired and the execution is signed by seller\n */\n function verifyTransaction(\n uint8[] sigV,\n bytes32[] sigR,\n bytes32[] sigS,\n bytes32 scriptHash,\n address[] destinations,\n uint256[] amounts\n )\n private\n {\n address lastRecovered = verifySignatures(\n sigV,\n sigR,\n sigS,\n scriptHash,\n destinations,\n amounts\n );\n\n bool timeLockExpired = isTimeLockExpired(\n transactions[scriptHash].timeoutHours,\n transactions[scriptHash].lastModified\n );\n\n //if Minimum number of signatures are not gathered and timelock has not expired or transaction was not signed by seller then revert\n if (\n sigV.length < transactions[scriptHash].threshold && (!timeLockExpired || lastRecovered != transactions[scriptHash].seller)\n )\n {\n revert(\"sigV.length is under the threshold.\");\n }\n\n }\n\n /**\n *@dev Private method to transfer funds to the destination addresses on the basis of transaction type\n */\n function transferFunds(\n bytes32 scriptHash,\n address[]destinations,\n uint256[]amounts\n )\n private\n returns (uint256 valueTransferred)\n {\n Transaction storage t = transactions[scriptHash];\n\n if (t.transactionType == TransactionType.ETHER) {\n for (uint256 i = 0; i < destinations.length; i++) {\n\n require(destinations[i] != address(0) && t.isOwner[destinations[i]], \"Not a valid destination\");\n require(amounts[i] > 0, \"Amount to be sent should be greater than 0\");\n\n valueTransferred = valueTransferred.add(amounts[i]);\n\n t.beneficiaries[destinations[i]] = true;//add receiver as beneficiary\n destinations[i].transfer(amounts[i]);//shall we use send instead of transfer to stop malicious actors from blocking funds?\n }\n\n } else if (t.transactionType == TransactionType.TOKEN) {\n\n ITokenContract token = ITokenContract(t.tokenAddress);\n\n for (uint256 j = 0; j 0, \"Amount to be sent should be greater than 0\");\n\n valueTransferred = valueTransferred.add(amounts[j]);\n t.beneficiaries[destinations[j]] = true;//add receiver as beneficiary\n\n require(token.transfer(destinations[j], amounts[j]), \"Token transfer failed.\");\n }\n } \n }\n\n //to check whether the signature are valid or not and if consensus was reached\n //returns the last address recovered, in case of timeout this must be the sender's address\n function verifySignatures(\n uint8[] sigV,\n bytes32[] sigR,\n bytes32[] sigS,\n bytes32 scriptHash,\n address[] destinations,\n uint256[]amounts\n )\n private\n returns (address lastAddress)\n {\n require(\n sigR.length == sigS.length && sigR.length == sigV.length, \n \"R,S,V length mismatch.\"\n );\n\n // Follows ERC191 signature scheme: https://github.com/ethereum/EIPs/issues/191\n bytes32 txHash = keccak256(\n abi.encodePacked(\n \"\\x19Ethereum Signed Message:\\n32\",\n keccak256(\n abi.encodePacked(\n byte(0x19),\n byte(0),\n this,\n destinations,\n amounts,\n scriptHash\n )\n )\n )\n );\n\n for (uint i = 0; i < sigR.length; i++) {\n\n address recovered = ecrecover(\n txHash,\n sigV[i],\n sigR[i],\n sigS[i]\n );\n\n require(\n transactions[scriptHash].isOwner[recovered], \n \"Invalid signature\"\n );\n require(\n !transactions[scriptHash].voted[recovered], \n \"Same signature sent twice\"\n );\n transactions[scriptHash].voted[recovered] = true;\n lastAddress = recovered;\n }\n }\n\n function isTimeLockExpired(\n uint32 timeoutHours,\n uint256 lastModified\n )\n private\n view\n returns (bool expired)\n {\n uint256 timeSince = now.sub(lastModified);\n expired = (\n timeoutHours == 0 ? false:timeSince > uint256(timeoutHours).mul(3600)\n );\n }\n\n /**\n * Private method to add transaction to reduce code redundancy\n */\n function _addTransaction(\n address buyer,\n address seller,\n address moderator,\n uint8 threshold,\n uint32 timeoutHours,\n bytes32 scriptHash,\n uint256 value,\n bytes20 uniqueId,\n TransactionType transactionType,\n address tokenAddress\n )\n private\n { \n require(buyer != seller, \"Buyer and seller are same\");\n\n //value passed should be greater than 0\n require(value > 0, \"Value passed is 0\");\n\n // For now allowing 0 moderator to support 1-2 multisig wallet\n require(\n threshold > 0 && threshold <= 3, \n \"Threshold cannot be greater than 3 and must be greater than 0\"\n );\n\n //if threshold is 1 then moderator can be passed as zero address or any other address(it wont matter aopart from scripthash since we wont add moderator as one of the owner)\n //otherwise moderator should be a valid address\n require(\n threshold == 1 || moderator != address(0),\n \"Either threshold should be 1 otherwise valid moderator address should be passed\"\n );\n\n require(\n scriptHash == calculateRedeemScriptHash(\n uniqueId,\n threshold,\n timeoutHours,\n buyer,\n seller,\n moderator,\n tokenAddress\n ), \n \"Calculated script hash does not match passed script hash.\"\n );\n\n transactions[scriptHash] = Transaction({\n buyer: buyer,\n seller: seller,\n moderator: moderator,\n value: value,\n status: Status.FUNDED,\n lastModified: block.timestamp,\n threshold: threshold,\n timeoutHours: timeoutHours,\n transactionType:transactionType,\n tokenAddress:tokenAddress\n });\n\n transactions[scriptHash].isOwner[seller] = true;\n transactions[scriptHash].isOwner[buyer] = true; \n\n //Check if buyer or seller are not passed as moderator\n require(\n !transactions[scriptHash].isOwner[moderator], \n \"Either buyer or seller is passed as moderator\"\n );\n\n //set moderator as one of the owners only if threshold is greater than 1 otherwise only buyer and seller should be able to release funds\n if (threshold > 1){\n transactions[scriptHash].isOwner[moderator] = true;\n }\n \n\n transactionCount++;\n\n partyVsTransaction[buyer].push(scriptHash);\n partyVsTransaction[seller].push(scriptHash);\n }\n}\n", + "bytecode": "0x6080604052600060015534801561001557600080fd5b506141ea806100256000396000f3006080604052600436106100ba576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806323b6fd3f146100bf5780632d9ef96e1461017957806346fbcdeb1461019d57806357bced7614610292578063642f2eaf14610383578063b0550c66146104e5578063b719e2801461054e578063b77bf60014610589578063be84ceaf146105b4578063e4ec8b001461064c578063f0786562146106f5578063f5dbe09c1461075e575b600080fd5b610177600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff169060200190929190803563ffffffff169060200190929190803560001916906020019092919080356bffffffffffffffffffffffff191690602001909291905050506107c7565b005b61019b6004803603810190808035600019169060200190929190505050610a26565b005b3480156101a957600080fd5b5061027460048036038101908080356bffffffffffffffffffffffff19169060200190929190803560ff169060200190929190803563ffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610eb4565b60405180826000191660001916815260200191505060405180910390f35b34801561029e57600080fd5b50610381600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff169060200190929190803563ffffffff16906020019092919080356000191690602001909291908035906020019092919080356bffffffffffffffffffffffff19169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611360565b005b34801561038f57600080fd5b506103b26004803603810190808035600019169060200190929190505050611840565b604051808b81526020018a81526020018960018111156103ce57fe5b60ff1681526020018860018111156103e257fe5b60ff1681526020018760ff1660ff1681526020018663ffffffff1663ffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019a505050505050505050505060405180910390f35b3480156104f157600080fd5b506105346004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061194b565b604051808215151515815260200191505060405180910390f35b34801561055a57600080fd5b506105876004803603810190808035600019169060200190929190803590602001909291905050506119bd565b005b34801561059557600080fd5b5061059e61209d565b6040518082815260200191505060405180910390f35b3480156105c057600080fd5b506105f5600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506120a3565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b8381101561063857808201518184015260208101905061061d565b505050509050019250505060405180910390f35b34801561065857600080fd5b506106f3600480360381019080803590602001908201803590602001919091929391929390803590602001908201803590602001919091929391929390803590602001908201803590602001919091929391929390803560001916906020019092919080359060200190820180359060200191909192939192939080359060200190820180359060200191909192939192939050505061213e565b005b34801561070157600080fd5b506107446004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506126a0565b604051808215151515815260200191505060405180910390f35b34801561076a57600080fd5b506107a9600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050612712565b60405180826000191660001916815260200191505060405180910390f35b81600080600083600019166000191681526020019081526020016000206000015414151561085d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f5472616e73616374696f6e20657869737473000000000000000000000000000081525060200191505060405180910390fd5b87600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610903576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b87600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156109a9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b6109bc8a8a8a8a8a8a348b600080612742565b3373ffffffffffffffffffffffffffffffffffffffff167fce7089d0668849fb9ca29778c0cbf1e764d9efb048d81fd71fb34c94f26db36886346040518083600019166000191681526020018281526020019250505060405180910390a250505050505050505050565b600081600080600083600019166000191681526020019081526020016000206000015414151515610abf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737473000000000081525060200191505060405180910390fd5b8260006001811115610acd57fe5b600080836000191660001916815260200190815260200160002060020160009054906101000a900460ff166001811115610b0357fe5b141515610b9e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001807f5472616e73616374696f6e2069732065697468657220696e206469737075746581526020017f206f722072656c6561736564207374617465000000000000000000000000000081525060400191505060405180910390fd5b836000806001811115610bad57fe5b600080846000191660001916815260200190815260200160002060020160019054906101000a900460ff166001811115610be357fe5b141515610c58576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5472616e73616374696f6e207479706520646f6573206e6f74206d617463680081525060200191505060405180910390fd5b85600080826000191660001916815260200190815260200160002060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610d5f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f54686520696e69746961746f72206f6620746865207472616e73616374696f6e81526020017f206973206e6f742062757965720000000000000000000000000000000000000081525060400191505060405180910390fd5b349550600086111515610dda576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f56616c7565206d7573742062652067726561746572207468616e207a65726f2e81525060200191505060405180910390fd5b610e0a866000808a60001916600019168152602001908152602001600020600001546130ce90919063ffffffff16565b600080896000191660001916815260200190815260200160002060000181905550426000808960001916600019168152602001908152602001600020600101819055503373ffffffffffffffffffffffffffffffffffffffff167ff66fd2ae9e24a6a24b02e1b5b7512ffde5149a4176085fc0298ae228c9b9d72988886040518083600019166000191681526020018281526020019250505060405180910390a250505050505050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611100578787878787873060405160200180886bffffffffffffffffffffffff19166bffffffffffffffffffffffff191681526014018760ff1660ff167f01000000000000000000000000000000000000000000000000000000000000000281526001018663ffffffff1663ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014019750505050505050506040516020818303038152906040526040518082805190602001908083835b6020831015156110cc57805182526020820191506020810190506020830392506110a7565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390209050611355565b878787878787308860405160200180896bffffffffffffffffffffffff19166bffffffffffffffffffffffff191681526014018860ff1660ff167f01000000000000000000000000000000000000000000000000000000000000000281526001018763ffffffff1663ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401985050505050505050506040516020818303038152906040526040518082805190602001908083835b6020831015156113255780518252602082019150602081019050602083039250611300565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902090505b979650505050505050565b60008460008060008360001916600019168152602001908152602001600020600001541415156113f8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f5472616e73616374696f6e20657869737473000000000000000000000000000081525060200191505060405180910390fd5b8a600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561149e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b8a600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515611544576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b84600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156115ea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b6115fd8e8e8e8e8e8e8e8e60018f612742565b8594508473ffffffffffffffffffffffffffffffffffffffff166323b872dd33308b6040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b1580156116d757600080fd5b505af11580156116eb573d6000803e3d6000fd5b505050506040513d602081101561170157600080fd5b810190808051906020019092919050505015156117d2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252605c8152602001807f546f6b656e207472616e73666572206661696c65642c206d6179626520796f7581526020017f20646964206e6f7420617070726f766520657363726f7720636f6e747261637481526020017f20746f207370656e64206f6e20626568616c66206f662062757965720000000081525060600191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff167fce7089d0668849fb9ca29778c0cbf1e764d9efb048d81fd71fb34c94f26db3688a8a6040518083600019166000191681526020018281526020019250505060405180910390a25050505050505050505050505050565b60006020528060005260406000206000915090508060000154908060010154908060020160009054906101000a900460ff16908060020160019054906101000a900460ff16908060020160029054906101000a900460ff16908060020160039054906101000a900463ffffffff16908060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060050160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508a565b6000806000846000191660001916815260200190815260200160002060080160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b60008083600080600083600019166000191681526020019081526020016000206000015414151515611a57576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737473000000000081525060200191505060405180910390fd5b8460006001811115611a6557fe5b600080836000191660001916815260200190815260200160002060020160009054906101000a900460ff166001811115611a9b57fe5b141515611b36576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001807f5472616e73616374696f6e2069732065697468657220696e206469737075746581526020017f206f722072656c6561736564207374617465000000000000000000000000000081525060400191505060405180910390fd5b856001806001811115611b4557fe5b600080846000191660001916815260200190815260200160002060020160019054906101000a900460ff166001811115611b7b57fe5b141515611bf0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5472616e73616374696f6e207479706520646f6573206e6f74206d617463680081525060200191505060405180910390fd5b87600080826000191660001916815260200190815260200160002060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611cf7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f54686520696e69746961746f72206f6620746865207472616e73616374696f6e81526020017f206973206e6f742062757965720000000000000000000000000000000000000081525060400191505060405180910390fd5b879650600087111515611d72576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f56616c7565206d7573742062652067726561746572207468616e207a65726f2e81525060200191505060405180910390fd5b6000808a6000191660001916815260200190815260200160002060040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1695508573ffffffffffffffffffffffffffffffffffffffff166323b872dd6000808c6000191660001916815260200190815260200160002060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff16308b6040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b158015611ec657600080fd5b505af1158015611eda573d6000803e3d6000fd5b505050506040513d6020811015611ef057600080fd5b81019080805190602001909291905050501515611fc1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252605c8152602001807f546f6b656e207472616e73666572206661696c65642c206d6179626520796f7581526020017f20646964206e6f7420617070726f766520657363726f7720636f6e747261637481526020017f20746f207370656e64206f6e20626568616c66206f662062757965720000000081525060600191505060405180910390fd5b611ff1876000808c60001916600019168152602001908152602001600020600001546130ce90919063ffffffff16565b6000808b6000191660001916815260200190815260200160002060000181905550426000808b60001916600019168152602001908152602001600020600101819055503373ffffffffffffffffffffffffffffffffffffffff167ff66fd2ae9e24a6a24b02e1b5b7512ffde5149a4176085fc0298ae228c9b9d7298a896040518083600019166000191681526020018281526020019250505060405180910390a2505050505050505050565b60015481565b6060600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080548060200260200160405190810160405280929190818152602001828054801561213257602002820191906000526020600020905b8154600019168152602001906001019080831161211a575b50505050509050919050565b846000806000836000191660001916815260200190815260200160002060000154141515156121d5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737473000000000081525060200191505060405180910390fd5b85600060018111156121e357fe5b600080836000191660001916815260200190815260200160002060020160009054906101000a900460ff16600181111561221957fe5b1415156122b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001807f5472616e73616374696f6e2069732065697468657220696e206469737075746581526020017f206f722072656c6561736564207374617465000000000000000000000000000081525060400191505060405180910390fd5b6000868690501180156122cc57508383905086869050145b1515612366576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001807f4c656e677468206f662064657374696e6174696f6e7320697320696e636f727281526020017f6563742e0000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b61245f8d8d808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508c8c808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508b8b808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508a8a8a808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508989808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050506130ef565b6001600080896000191660001916815260200190815260200160002060020160006101000a81548160ff0219169083600181111561249957fe5b021790555042600080896000191660001916815260200190815260200160002060010181905550600080886000191660001916815260200190815260200160002060000154612547888888808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508787808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050506132aa565b141515612608576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260488152602001807f546f74616c2076616c756520746f2062652072656c6561736564206d7573742081526020017f626520657175616c20746f20746865207472616e73616374696f6e206573637281526020017f6f772076616c756500000000000000000000000000000000000000000000000081525060600191505060405180910390fd5b7f688e2a1b34445bcd47b0e11ba2a9c8c4d850a1831b64199b59d1c70e2970154587878787876040518086600019166000191681526020018060200180602001838103835287878281815260200192506020028082843782019150508381038252858582818152602001925060200280828437820191505097505050505050505060405180910390a150505050505050505050505050565b6000806000846000191660001916815260200190815260200160002060070160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b60026020528160005260406000208181548110151561272d57fe5b90600052602060002001600091509150505481565b8873ffffffffffffffffffffffffffffffffffffffff168a73ffffffffffffffffffffffffffffffffffffffff16141515156127e6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f427579657220616e642073656c6c6572206172652073616d650000000000000081525060200191505060405180910390fd5b60008411151561285e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f56616c756520706173736564206973203000000000000000000000000000000081525060200191505060405180910390fd5b60008760ff16118015612875575060038760ff1611155b151561290f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603d8152602001807f5468726573686f6c642063616e6e6f742062652067726561746572207468616e81526020017f203320616e64206d7573742062652067726561746572207468616e203000000081525060400191505060405180910390fd5b60018760ff16148061294e5750600073ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff1614155b1515612a0e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252604f8152602001807f456974686572207468726573686f6c642073686f756c642062652031206f746881526020017f6572776973652076616c6964206d6f64657261746f722061646472657373207381526020017f686f756c6420626520706173736564000000000000000000000000000000000081525060600191505060405180910390fd5b612a1d8388888d8d8d87610eb4565b600019168560001916141515612ac1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260398152602001807f43616c63756c6174656420736372697074206861736820646f6573206e6f742081526020017f6d61746368207061737365642073637269707420686173682e0000000000000081525060400191505060405180910390fd5b6101406040519081016040528085815260200142815260200160006001811115612ae757fe5b8152602001836001811115612af857fe5b81526020018860ff1681526020018763ffffffff1681526020018b73ffffffffffffffffffffffffffffffffffffffff1681526020018a73ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020018973ffffffffffffffffffffffffffffffffffffffff168152506000808760001916600019168152602001908152602001600020600082015181600001556020820151816001015560408201518160020160006101000a81548160ff02191690836001811115612bd257fe5b021790555060608201518160020160016101000a81548160ff02191690836001811115612bfb57fe5b021790555060808201518160020160026101000a81548160ff021916908360ff16021790555060a08201518160020160036101000a81548163ffffffff021916908363ffffffff16021790555060c08201518160020160076101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060e08201518160030160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506101008201518160040160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506101208201518160050160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055509050506001600080876000191660001916815260200190815260200160002060060160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600080876000191660001916815260200190815260200160002060060160008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600080866000191660001916815260200190815260200160002060060160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151515612f52576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f456974686572206275796572206f722073656c6c65722069732070617373656481526020017f206173206d6f64657261746f720000000000000000000000000000000000000081525060400191505060405180910390fd5b60018760ff161115612fd2576001600080876000191660001916815260200190815260200160002060060160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b600160008154809291906001019190505550600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020859080600181540180825580915050906001820390600052602060002001600090919290919091509060001916905550600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002085908060018154018082558091505090600182039060005260206000200160009091929091909150906000191690555050505050505050505050565b60008082840190508381101515156130e557600080fd5b8091505092915050565b600080613100888888888888613a92565b9150613156600080876000191660001916815260200190815260200160002060020160039054906101000a900463ffffffff1660008088600019166000191681526020019081526020016000206001015461410b565b9050600080866000191660001916815260200190815260200160002060020160029054906101000a900460ff1660ff16885110801561320757508015806132065750600080866000191660001916815260200190815260200160002060030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b5b156132a0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001807f736967562e6c656e67746820697320756e64657220746865207468726573686f81526020017f6c642e000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b5050505050505050565b6000806000806000806000808a60001916600019168152602001908152602001600020945060009350600060018111156132e057fe5b8560020160019054906101000a900460ff1660018111156132fd57fe5b141561361457600092505b875183101561360f57600073ffffffffffffffffffffffffffffffffffffffff16888481518110151561333757fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff16141580156133c75750846006016000898581518110151561337457fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b151561343b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f4e6f7420612076616c69642064657374696e6174696f6e00000000000000000081525060200191505060405180910390fd5b6000878481518110151561344b57fe5b906020019060200201511115156134f0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001807f416d6f756e7420746f2062652073656e742073686f756c64206265206772656181526020017f746572207468616e20300000000000000000000000000000000000000000000081525060400191505060405180910390fd5b61351a878481518110151561350157fe5b90602001906020020151856130ce90919063ffffffff16565b935060018560080160008a8681518110151561353257fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550878381518110151561359b57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff166108fc88858151811015156135cc57fe5b906020019060200201519081150290604051600060405180830381858888f19350505050158015613601573d6000803e3d6000fd5b508280600101935050613308565b613a83565b60018081111561362057fe5b8560020160019054906101000a900460ff16600181111561363d57fe5b1415613a82578460040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169150600090505b8751811015613a8157600073ffffffffffffffffffffffffffffffffffffffff16888281518110151561369e57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff161415801561372e575084600601600089838151811015156136db57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15156137a2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f4e6f7420612076616c69642064657374696e6174696f6e00000000000000000081525060200191505060405180910390fd5b600087828151811015156137b257fe5b90602001906020020151111515613857576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001807f416d6f756e7420746f2062652073656e742073686f756c64206265206772656181526020017f746572207468616e20300000000000000000000000000000000000000000000081525060400191505060405180910390fd5b613881878281518110151561386857fe5b90602001906020020151856130ce90919063ffffffff16565b935060018560080160008a8481518110151561389957fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb898381518110151561391e57fe5b90602001906020020151898481518110151561393657fe5b906020019060200201516040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1580156139c557600080fd5b505af11580156139d9573d6000803e3d6000fd5b505050506040513d60208110156139ef57600080fd5b81019080805190602001909291905050501515613a74576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f546f6b656e207472616e73666572206661696c65642e0000000000000000000081525060200191505060405180910390fd5b808060010191505061366f565b5b5b83955050505050509392505050565b600080600080600088518a51148015613aac57508a518a51145b1515613b20576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f522c532c56206c656e677468206d69736d617463682e0000000000000000000081525060200191505060405180910390fd5b60197f01000000000000000000000000000000000000000000000000000000000000000260007f0100000000000000000000000000000000000000000000000000000000000000023089898c60405160200180877effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168152600101867effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526001018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401848051906020019060200280838360005b83811015613c74578082015181840152602081019050613c59565b50505050905001838051906020019060200280838360005b83811015613ca7578082015181840152602081019050613c8c565b50505050905001826000191660001916815260200196505050505050506040516020818303038152906040526040518082805190602001908083835b602083101515613d085780518252602082019150602081019050602083039250613ce3565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902060405160200180807f19457468657265756d205369676e6564204d6573736167653a0a333200000000815250601c0182600019166000191681526020019150506040516020818303038152906040526040518082805190602001908083835b602083101515613db95780518252602082019150602081019050602083039250613d94565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390209250600091505b89518210156140fa576001838c84815181101515613e0757fe5b906020019060200201518c85815181101515613e1f57fe5b906020019060200201518c86815181101515613e3757fe5b90602001906020020151604051600081526020016040526040518085600019166000191681526020018460ff1660ff1681526020018360001916600019168152602001826000191660001916815260200194505050505060206040516020810390808403906000865af1158015613eb2573d6000803e3d6000fd5b505050602060405103519050600080896000191660001916815260200190815260200160002060060160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515613f9a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f496e76616c6964207369676e617475726500000000000000000000000000000081525060200191505060405180910390fd5b600080896000191660001916815260200190815260200160002060070160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151515614077576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f53616d65207369676e61747572652073656e742074776963650000000000000081525060200191505060405180910390fd5b60016000808a6000191660001916815260200190815260200160002060070160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508093508180600101925050613ded565b839450505050509695505050505050565b600080614121834261415f90919063ffffffff16565b905060008463ffffffff16146141535761414c610e108563ffffffff1661418090919063ffffffff16565b8111614156565b60005b91505092915050565b60008083831115151561417157600080fd5b82840390508091505092915050565b600080600084141561419557600091506141b7565b82840290508284828115156141a657fe5b041415156141b357600080fd5b8091505b50929150505600a165627a7a72305820d4633d2d4aea2c8c36417fd10e14eb327058dfb149d1ad83febf5938f4f888c00029", + "deployedBytecode": "0x6080604052600436106100ba576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806323b6fd3f146100bf5780632d9ef96e1461017957806346fbcdeb1461019d57806357bced7614610292578063642f2eaf14610383578063b0550c66146104e5578063b719e2801461054e578063b77bf60014610589578063be84ceaf146105b4578063e4ec8b001461064c578063f0786562146106f5578063f5dbe09c1461075e575b600080fd5b610177600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff169060200190929190803563ffffffff169060200190929190803560001916906020019092919080356bffffffffffffffffffffffff191690602001909291905050506107c7565b005b61019b6004803603810190808035600019169060200190929190505050610a26565b005b3480156101a957600080fd5b5061027460048036038101908080356bffffffffffffffffffffffff19169060200190929190803560ff169060200190929190803563ffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610eb4565b60405180826000191660001916815260200191505060405180910390f35b34801561029e57600080fd5b50610381600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff169060200190929190803563ffffffff16906020019092919080356000191690602001909291908035906020019092919080356bffffffffffffffffffffffff19169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611360565b005b34801561038f57600080fd5b506103b26004803603810190808035600019169060200190929190505050611840565b604051808b81526020018a81526020018960018111156103ce57fe5b60ff1681526020018860018111156103e257fe5b60ff1681526020018760ff1660ff1681526020018663ffffffff1663ffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019a505050505050505050505060405180910390f35b3480156104f157600080fd5b506105346004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061194b565b604051808215151515815260200191505060405180910390f35b34801561055a57600080fd5b506105876004803603810190808035600019169060200190929190803590602001909291905050506119bd565b005b34801561059557600080fd5b5061059e61209d565b6040518082815260200191505060405180910390f35b3480156105c057600080fd5b506105f5600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506120a3565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b8381101561063857808201518184015260208101905061061d565b505050509050019250505060405180910390f35b34801561065857600080fd5b506106f3600480360381019080803590602001908201803590602001919091929391929390803590602001908201803590602001919091929391929390803590602001908201803590602001919091929391929390803560001916906020019092919080359060200190820180359060200191909192939192939080359060200190820180359060200191909192939192939050505061213e565b005b34801561070157600080fd5b506107446004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506126a0565b604051808215151515815260200191505060405180910390f35b34801561076a57600080fd5b506107a9600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050612712565b60405180826000191660001916815260200191505060405180910390f35b81600080600083600019166000191681526020019081526020016000206000015414151561085d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f5472616e73616374696f6e20657869737473000000000000000000000000000081525060200191505060405180910390fd5b87600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610903576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b87600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156109a9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b6109bc8a8a8a8a8a8a348b600080612742565b3373ffffffffffffffffffffffffffffffffffffffff167fce7089d0668849fb9ca29778c0cbf1e764d9efb048d81fd71fb34c94f26db36886346040518083600019166000191681526020018281526020019250505060405180910390a250505050505050505050565b600081600080600083600019166000191681526020019081526020016000206000015414151515610abf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737473000000000081525060200191505060405180910390fd5b8260006001811115610acd57fe5b600080836000191660001916815260200190815260200160002060020160009054906101000a900460ff166001811115610b0357fe5b141515610b9e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001807f5472616e73616374696f6e2069732065697468657220696e206469737075746581526020017f206f722072656c6561736564207374617465000000000000000000000000000081525060400191505060405180910390fd5b836000806001811115610bad57fe5b600080846000191660001916815260200190815260200160002060020160019054906101000a900460ff166001811115610be357fe5b141515610c58576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5472616e73616374696f6e207479706520646f6573206e6f74206d617463680081525060200191505060405180910390fd5b85600080826000191660001916815260200190815260200160002060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610d5f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f54686520696e69746961746f72206f6620746865207472616e73616374696f6e81526020017f206973206e6f742062757965720000000000000000000000000000000000000081525060400191505060405180910390fd5b349550600086111515610dda576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f56616c7565206d7573742062652067726561746572207468616e207a65726f2e81525060200191505060405180910390fd5b610e0a866000808a60001916600019168152602001908152602001600020600001546130ce90919063ffffffff16565b600080896000191660001916815260200190815260200160002060000181905550426000808960001916600019168152602001908152602001600020600101819055503373ffffffffffffffffffffffffffffffffffffffff167ff66fd2ae9e24a6a24b02e1b5b7512ffde5149a4176085fc0298ae228c9b9d72988886040518083600019166000191681526020018281526020019250505060405180910390a250505050505050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611100578787878787873060405160200180886bffffffffffffffffffffffff19166bffffffffffffffffffffffff191681526014018760ff1660ff167f01000000000000000000000000000000000000000000000000000000000000000281526001018663ffffffff1663ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014019750505050505050506040516020818303038152906040526040518082805190602001908083835b6020831015156110cc57805182526020820191506020810190506020830392506110a7565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390209050611355565b878787878787308860405160200180896bffffffffffffffffffffffff19166bffffffffffffffffffffffff191681526014018860ff1660ff167f01000000000000000000000000000000000000000000000000000000000000000281526001018763ffffffff1663ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401985050505050505050506040516020818303038152906040526040518082805190602001908083835b6020831015156113255780518252602082019150602081019050602083039250611300565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902090505b979650505050505050565b60008460008060008360001916600019168152602001908152602001600020600001541415156113f8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f5472616e73616374696f6e20657869737473000000000000000000000000000081525060200191505060405180910390fd5b8a600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561149e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b8a600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515611544576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b84600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156115ea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b6115fd8e8e8e8e8e8e8e8e60018f612742565b8594508473ffffffffffffffffffffffffffffffffffffffff166323b872dd33308b6040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b1580156116d757600080fd5b505af11580156116eb573d6000803e3d6000fd5b505050506040513d602081101561170157600080fd5b810190808051906020019092919050505015156117d2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252605c8152602001807f546f6b656e207472616e73666572206661696c65642c206d6179626520796f7581526020017f20646964206e6f7420617070726f766520657363726f7720636f6e747261637481526020017f20746f207370656e64206f6e20626568616c66206f662062757965720000000081525060600191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff167fce7089d0668849fb9ca29778c0cbf1e764d9efb048d81fd71fb34c94f26db3688a8a6040518083600019166000191681526020018281526020019250505060405180910390a25050505050505050505050505050565b60006020528060005260406000206000915090508060000154908060010154908060020160009054906101000a900460ff16908060020160019054906101000a900460ff16908060020160029054906101000a900460ff16908060020160039054906101000a900463ffffffff16908060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060050160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508a565b6000806000846000191660001916815260200190815260200160002060080160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b60008083600080600083600019166000191681526020019081526020016000206000015414151515611a57576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737473000000000081525060200191505060405180910390fd5b8460006001811115611a6557fe5b600080836000191660001916815260200190815260200160002060020160009054906101000a900460ff166001811115611a9b57fe5b141515611b36576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001807f5472616e73616374696f6e2069732065697468657220696e206469737075746581526020017f206f722072656c6561736564207374617465000000000000000000000000000081525060400191505060405180910390fd5b856001806001811115611b4557fe5b600080846000191660001916815260200190815260200160002060020160019054906101000a900460ff166001811115611b7b57fe5b141515611bf0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5472616e73616374696f6e207479706520646f6573206e6f74206d617463680081525060200191505060405180910390fd5b87600080826000191660001916815260200190815260200160002060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611cf7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f54686520696e69746961746f72206f6620746865207472616e73616374696f6e81526020017f206973206e6f742062757965720000000000000000000000000000000000000081525060400191505060405180910390fd5b879650600087111515611d72576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f56616c7565206d7573742062652067726561746572207468616e207a65726f2e81525060200191505060405180910390fd5b6000808a6000191660001916815260200190815260200160002060040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1695508573ffffffffffffffffffffffffffffffffffffffff166323b872dd6000808c6000191660001916815260200190815260200160002060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff16308b6040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b158015611ec657600080fd5b505af1158015611eda573d6000803e3d6000fd5b505050506040513d6020811015611ef057600080fd5b81019080805190602001909291905050501515611fc1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252605c8152602001807f546f6b656e207472616e73666572206661696c65642c206d6179626520796f7581526020017f20646964206e6f7420617070726f766520657363726f7720636f6e747261637481526020017f20746f207370656e64206f6e20626568616c66206f662062757965720000000081525060600191505060405180910390fd5b611ff1876000808c60001916600019168152602001908152602001600020600001546130ce90919063ffffffff16565b6000808b6000191660001916815260200190815260200160002060000181905550426000808b60001916600019168152602001908152602001600020600101819055503373ffffffffffffffffffffffffffffffffffffffff167ff66fd2ae9e24a6a24b02e1b5b7512ffde5149a4176085fc0298ae228c9b9d7298a896040518083600019166000191681526020018281526020019250505060405180910390a2505050505050505050565b60015481565b6060600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080548060200260200160405190810160405280929190818152602001828054801561213257602002820191906000526020600020905b8154600019168152602001906001019080831161211a575b50505050509050919050565b846000806000836000191660001916815260200190815260200160002060000154141515156121d5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737473000000000081525060200191505060405180910390fd5b85600060018111156121e357fe5b600080836000191660001916815260200190815260200160002060020160009054906101000a900460ff16600181111561221957fe5b1415156122b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001807f5472616e73616374696f6e2069732065697468657220696e206469737075746581526020017f206f722072656c6561736564207374617465000000000000000000000000000081525060400191505060405180910390fd5b6000868690501180156122cc57508383905086869050145b1515612366576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001807f4c656e677468206f662064657374696e6174696f6e7320697320696e636f727281526020017f6563742e0000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b61245f8d8d808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508c8c808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508b8b808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508a8a8a808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508989808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050506130ef565b6001600080896000191660001916815260200190815260200160002060020160006101000a81548160ff0219169083600181111561249957fe5b021790555042600080896000191660001916815260200190815260200160002060010181905550600080886000191660001916815260200190815260200160002060000154612547888888808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508787808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050506132aa565b141515612608576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260488152602001807f546f74616c2076616c756520746f2062652072656c6561736564206d7573742081526020017f626520657175616c20746f20746865207472616e73616374696f6e206573637281526020017f6f772076616c756500000000000000000000000000000000000000000000000081525060600191505060405180910390fd5b7f688e2a1b34445bcd47b0e11ba2a9c8c4d850a1831b64199b59d1c70e2970154587878787876040518086600019166000191681526020018060200180602001838103835287878281815260200192506020028082843782019150508381038252858582818152602001925060200280828437820191505097505050505050505060405180910390a150505050505050505050505050565b6000806000846000191660001916815260200190815260200160002060070160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b60026020528160005260406000208181548110151561272d57fe5b90600052602060002001600091509150505481565b8873ffffffffffffffffffffffffffffffffffffffff168a73ffffffffffffffffffffffffffffffffffffffff16141515156127e6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f427579657220616e642073656c6c6572206172652073616d650000000000000081525060200191505060405180910390fd5b60008411151561285e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f56616c756520706173736564206973203000000000000000000000000000000081525060200191505060405180910390fd5b60008760ff16118015612875575060038760ff1611155b151561290f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603d8152602001807f5468726573686f6c642063616e6e6f742062652067726561746572207468616e81526020017f203320616e64206d7573742062652067726561746572207468616e203000000081525060400191505060405180910390fd5b60018760ff16148061294e5750600073ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff1614155b1515612a0e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252604f8152602001807f456974686572207468726573686f6c642073686f756c642062652031206f746881526020017f6572776973652076616c6964206d6f64657261746f722061646472657373207381526020017f686f756c6420626520706173736564000000000000000000000000000000000081525060600191505060405180910390fd5b612a1d8388888d8d8d87610eb4565b600019168560001916141515612ac1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260398152602001807f43616c63756c6174656420736372697074206861736820646f6573206e6f742081526020017f6d61746368207061737365642073637269707420686173682e0000000000000081525060400191505060405180910390fd5b6101406040519081016040528085815260200142815260200160006001811115612ae757fe5b8152602001836001811115612af857fe5b81526020018860ff1681526020018763ffffffff1681526020018b73ffffffffffffffffffffffffffffffffffffffff1681526020018a73ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020018973ffffffffffffffffffffffffffffffffffffffff168152506000808760001916600019168152602001908152602001600020600082015181600001556020820151816001015560408201518160020160006101000a81548160ff02191690836001811115612bd257fe5b021790555060608201518160020160016101000a81548160ff02191690836001811115612bfb57fe5b021790555060808201518160020160026101000a81548160ff021916908360ff16021790555060a08201518160020160036101000a81548163ffffffff021916908363ffffffff16021790555060c08201518160020160076101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060e08201518160030160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506101008201518160040160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506101208201518160050160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055509050506001600080876000191660001916815260200190815260200160002060060160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600080876000191660001916815260200190815260200160002060060160008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600080866000191660001916815260200190815260200160002060060160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151515612f52576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f456974686572206275796572206f722073656c6c65722069732070617373656481526020017f206173206d6f64657261746f720000000000000000000000000000000000000081525060400191505060405180910390fd5b60018760ff161115612fd2576001600080876000191660001916815260200190815260200160002060060160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b600160008154809291906001019190505550600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020859080600181540180825580915050906001820390600052602060002001600090919290919091509060001916905550600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002085908060018154018082558091505090600182039060005260206000200160009091929091909150906000191690555050505050505050505050565b60008082840190508381101515156130e557600080fd5b8091505092915050565b600080613100888888888888613a92565b9150613156600080876000191660001916815260200190815260200160002060020160039054906101000a900463ffffffff1660008088600019166000191681526020019081526020016000206001015461410b565b9050600080866000191660001916815260200190815260200160002060020160029054906101000a900460ff1660ff16885110801561320757508015806132065750600080866000191660001916815260200190815260200160002060030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b5b156132a0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001807f736967562e6c656e67746820697320756e64657220746865207468726573686f81526020017f6c642e000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b5050505050505050565b6000806000806000806000808a60001916600019168152602001908152602001600020945060009350600060018111156132e057fe5b8560020160019054906101000a900460ff1660018111156132fd57fe5b141561361457600092505b875183101561360f57600073ffffffffffffffffffffffffffffffffffffffff16888481518110151561333757fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff16141580156133c75750846006016000898581518110151561337457fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b151561343b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f4e6f7420612076616c69642064657374696e6174696f6e00000000000000000081525060200191505060405180910390fd5b6000878481518110151561344b57fe5b906020019060200201511115156134f0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001807f416d6f756e7420746f2062652073656e742073686f756c64206265206772656181526020017f746572207468616e20300000000000000000000000000000000000000000000081525060400191505060405180910390fd5b61351a878481518110151561350157fe5b90602001906020020151856130ce90919063ffffffff16565b935060018560080160008a8681518110151561353257fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550878381518110151561359b57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff166108fc88858151811015156135cc57fe5b906020019060200201519081150290604051600060405180830381858888f19350505050158015613601573d6000803e3d6000fd5b508280600101935050613308565b613a83565b60018081111561362057fe5b8560020160019054906101000a900460ff16600181111561363d57fe5b1415613a82578460040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169150600090505b8751811015613a8157600073ffffffffffffffffffffffffffffffffffffffff16888281518110151561369e57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff161415801561372e575084600601600089838151811015156136db57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15156137a2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f4e6f7420612076616c69642064657374696e6174696f6e00000000000000000081525060200191505060405180910390fd5b600087828151811015156137b257fe5b90602001906020020151111515613857576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001807f416d6f756e7420746f2062652073656e742073686f756c64206265206772656181526020017f746572207468616e20300000000000000000000000000000000000000000000081525060400191505060405180910390fd5b613881878281518110151561386857fe5b90602001906020020151856130ce90919063ffffffff16565b935060018560080160008a8481518110151561389957fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb898381518110151561391e57fe5b90602001906020020151898481518110151561393657fe5b906020019060200201516040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1580156139c557600080fd5b505af11580156139d9573d6000803e3d6000fd5b505050506040513d60208110156139ef57600080fd5b81019080805190602001909291905050501515613a74576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f546f6b656e207472616e73666572206661696c65642e0000000000000000000081525060200191505060405180910390fd5b808060010191505061366f565b5b5b83955050505050509392505050565b600080600080600088518a51148015613aac57508a518a51145b1515613b20576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f522c532c56206c656e677468206d69736d617463682e0000000000000000000081525060200191505060405180910390fd5b60197f01000000000000000000000000000000000000000000000000000000000000000260007f0100000000000000000000000000000000000000000000000000000000000000023089898c60405160200180877effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168152600101867effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526001018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401848051906020019060200280838360005b83811015613c74578082015181840152602081019050613c59565b50505050905001838051906020019060200280838360005b83811015613ca7578082015181840152602081019050613c8c565b50505050905001826000191660001916815260200196505050505050506040516020818303038152906040526040518082805190602001908083835b602083101515613d085780518252602082019150602081019050602083039250613ce3565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902060405160200180807f19457468657265756d205369676e6564204d6573736167653a0a333200000000815250601c0182600019166000191681526020019150506040516020818303038152906040526040518082805190602001908083835b602083101515613db95780518252602082019150602081019050602083039250613d94565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390209250600091505b89518210156140fa576001838c84815181101515613e0757fe5b906020019060200201518c85815181101515613e1f57fe5b906020019060200201518c86815181101515613e3757fe5b90602001906020020151604051600081526020016040526040518085600019166000191681526020018460ff1660ff1681526020018360001916600019168152602001826000191660001916815260200194505050505060206040516020810390808403906000865af1158015613eb2573d6000803e3d6000fd5b505050602060405103519050600080896000191660001916815260200190815260200160002060060160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515613f9a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f496e76616c6964207369676e617475726500000000000000000000000000000081525060200191505060405180910390fd5b600080896000191660001916815260200190815260200160002060070160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151515614077576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f53616d65207369676e61747572652073656e742074776963650000000000000081525060200191505060405180910390fd5b60016000808a6000191660001916815260200190815260200160002060070160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508093508180600101925050613ded565b839450505050509695505050505050565b600080614121834261415f90919063ffffffff16565b905060008463ffffffff16146141535761414c610e108563ffffffff1661418090919063ffffffff16565b8111614156565b60005b91505092915050565b60008083831115151561417157600080fd5b82840390508091505092915050565b600080600084141561419557600091506141b7565b82840290508284828115156141a657fe5b041415156141b357600080fd5b8091505b50929150505600a165627a7a72305820d4633d2d4aea2c8c36417fd10e14eb327058dfb149d1ad83febf5938f4f888c00029", + "sourceMap": "460:20514:0:-;;;1606:1;1572:35;;460:20514;8:9:-1;5:2;;;30:1;27;20:12;5:2;460:20514:0;;;;;;;", + "deployedSourceMap": "460:20514:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3828:702;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7831:598;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12215:999;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12215:999:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5630:1021;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5630:1021:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1514:51;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1514:51:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6875:221;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6875:221:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8689:924;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8689:924:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1572:35;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1572:35:0;;;;;;;;;;;;;;;;;;;;;;;9730:194;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9730:194:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;9730:194:0;;;;;;;;;;;;;;;;;10681:1063;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10681:1063:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7319:194;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7319:194:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1684:54;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1684:54:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3828:702;4106:10;2030:1;1996:12;:24;2009:10;1996:24;;;;;;;;;;;;;;;;;:30;;;:35;1988:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4141:5;2380:1;2354:28;;:14;:28;;;;2346:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4171:6;2380:1;2354:28;;:14;:28;;;;2346:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4193:264;4222:5;4241:6;4261:9;4284;4307:12;4333:10;4357:9;4380:8;4402:21;4445:1;4193:15;:264::i;:::-;4500:10;4481:41;;;4488:10;4512:9;4481:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2416:1;2064;3828:702;;;;;;;;:::o;7831:598::-;8109:14;7939:10;1857:1;1823:12;:24;1836:10;1823:24;;;;;;;;;;;;;;;;;:30;;;:35;;1802:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7973:10;2187:13;2152:48;;;;;;;;:12;:24;2165:10;2152:24;;;;;;;;;;;;;;;;;:31;;;;;;;;;;;;:48;;;;;;;;;2131:133;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8014:10;8026:21;2614:15;2570:59;;;;;;;;:12;:24;2583:10;2570:24;;;;;;;;;;;;;;;;;:40;;;;;;;;;;;;:59;;;;;;;;;2549:125;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8067:10;2782:12;:24;2795:10;2782:24;;;;;;;;;;;;;;;;;:30;;;;;;;;;;;;2768:44;;:10;:44;;;2747:124;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8126:9;8109:26;;8163:1;8154:6;:10;8146:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8245;8293:6;8245:12;:24;8258:10;8245:24;;;;;;;;;;;;;;;;;:30;;;:47;;:55;;;;:::i;:::-;8212:12;:24;8225:10;8212:24;;;;;;;;;;;;;;;;;:30;;:88;;;;8350:15;8310:12;:24;8323:10;8310:24;;;;;;;;;;;;;;;;;:37;;:55;;;;8403:10;8381:41;;;8391:10;8415:6;8381:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2684:1;2274;;1909;7831:598;;;:::o;12215:999::-;12485:7;12536:1;12512:26;;:12;:26;;;12508:700;;;12626:8;12656:9;12687:12;12721:5;12748:6;12776:9;12807:4;12588:241;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;12588:241:0;;;12561:282;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;12561:282:0;;;;;;;;;;;;;;;;12554:289;;;;12508:700;12946:8;12976:9;13007:12;13041:5;13068:6;13096:9;13127:4;13153:12;12908:275;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;12908:275:0;;;12881:316;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;12881:316:0;;;;;;;;;;;;;;;;12874:323;;12215:999;;;;;;;;;;:::o;5630:1021::-;6348:20;5950:10;2030:1;1996:12;:24;2009:10;1996:24;;;;;;;;;;;;;;;;;:30;;;:35;1988:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5985:5;2380:1;2354:28;;:14;:28;;;;2346:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6015:6;2380:1;2354:28;;:14;:28;;;;2346:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6046:12;2380:1;2354:28;;:14;:28;;;;2346:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6075:262;6104:5;6123:6;6143:9;6166;6189:12;6215:10;6239:5;6258:8;6280:21;6315:12;6075:15;:262::i;:::-;6386:12;6348:51;;6431:5;:18;;;6450:10;6462:4;6468:5;6431:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6431:43:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6431:43:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6431:43:0;;;;;;;;;;;;;;;;6410:182;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6626:10;6607:37;;;6614:10;6638:5;6607:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2416:1;;2064;5630:1021;;;;;;;;;;;:::o;1514:51::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;6875:221::-;7011:4;7038:12;:24;7051:10;7038:24;;;;;;;;;;;;;;;;;:38;;:51;7077:11;7038:51;;;;;;;;;;;;;;;;;;;;;;;;;7031:58;;6875:221;;;;:::o;8689:924::-;8975:14;9074:20;8821:10;1857:1;1823:12;:24;1836:10;1823:24;;;;;;;;;;;;;;;;;:30;;;:35;;1802:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8855:10;2187:13;2152:48;;;;;;;;:12;:24;2165:10;2152:24;;;;;;;;;;;;;;;;;:31;;;;;;;;;;;;:48;;;;;;;;;2131:133;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8896:10;8908:21;2614:15;2570:59;;;;;;;;:12;:24;2583:10;2570:24;;;;;;;;;;;;;;;;;:40;;;;;;;;;;;;:59;;;;;;;;;2549:125;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8949:10;2782:12;:24;2795:10;2782:24;;;;;;;;;;;;;;;;;:30;;;;;;;;;;;;2768:44;;:10;:44;;;2747:124;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8992:5;8975:22;;9025:1;9016:6;:10;9008:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9125:12;:24;9138:10;9125:24;;;;;;;;;;;;;;;;;:37;;;;;;;;;;;;9074:98;;9204:5;:18;;;9223:12;:24;9236:10;9223:24;;;;;;;;;;;;;;;;;:30;;;;;;;;;;;;9255:4;9261:5;9204:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9204:63:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9204:63:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;9204:63:0;;;;;;;;;;;;;;;;9183:202;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9429:55;9477:6;9429:12;:24;9442:10;9429:24;;;;;;;;;;;;;;;;;:30;;;:47;;:55;;;;:::i;:::-;9396:12;:24;9409:10;9396:24;;;;;;;;;;;;;;;;;:30;;:88;;;;9534:15;9494:12;:24;9507:10;9494:24;;;;;;;;;;;;;;;;;:37;;:55;;;;9587:10;9565:41;;;9575:10;9599:6;9565:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2684:1;2274;;1909;8689:924;;;;;:::o;1572:35::-;;;;:::o;9730:194::-;9852:9;9885:18;:32;9904:12;9885:32;;;;;;;;;;;;;;;9878:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9730:194;;;:::o;10681:1063::-;10904:10;1857:1;1823:12;:24;1836:10;1823:24;;;;;;;;;;;;;;;;;:30;;;:35;;1802:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10938:10;2187:13;2152:48;;;;;;;;:12;:24;2165:10;2152:24;;;;;;;;;;;;;;;;;:31;;;;;;;;;;;;:48;;;;;;;;;2131:133;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11005:1;10985:12;;:19;;:21;:62;;;;;11033:7;;:14;;11010:12;;:19;;:37;10985:62;10964:133;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11108:152;11139:4;;11108:152;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11157:4;;11108:152;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11175:4;;11108:152;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11193:10;11217:12;;11108:152;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11243:7;;11108:152;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:17;:152::i;:::-;11305:15;11271:12;:24;11284:10;11271:24;;;;;;;;;;;;;;;;;:31;;;:49;;;;;;;;;;;;;;;;;;;;;;;;11444:15;11404:12;:24;11417:10;11404:24;;;;;;;;;;;;;;;;;:37;;:55;;;;11542:12;:24;11555:10;11542:24;;;;;;;;;;;;;;;;;:30;;;11490:48;11504:10;11516:12;;11490:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11530:7;;11490:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:13;:48::i;:::-;:82;11469:201;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11694:43;11703:10;11715:12;;11729:7;;11694:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1909:1;10681:1063;;;;;;;;;;;;:::o;7319:194::-;7442:4;7469:12;:24;7482:10;7469:24;;;;;;;;;;;;;;;;;:30;;:37;7500:5;7469:37;;;;;;;;;;;;;;;;;;;;;;;;;7462:44;;7319:194;;;;:::o;1684:54::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;18337:2635::-;18699:6;18690:15;;:5;:15;;;;18682:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18810:1;18802:5;:9;18794:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18948:1;18936:9;:13;;;:31;;;;;18966:1;18953:9;:14;;;;18936:31;18915:140;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19337:1;19324:9;:14;;;:41;;;;19363:1;19342:23;;:9;:23;;;;19324:41;19303:167;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19516:226;19559:8;19585:9;19612:12;19642:5;19665:6;19689:9;19716:12;19516:25;:226::i;:::-;19502:240;;;:10;:240;;;;19481:345;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19864:373;;;;;;;;;19985:5;19864:373;;;;20053:15;19864:373;;;;20012:13;19864:373;;;;;;;;;;;;20172:15;19864:373;;;;;;;;;;;;20093:9;19864:373;;;;;;20130:12;19864:373;;;;;;19897:5;19864:373;;;;;;19924:6;19864:373;;;;;;20214:12;19864:373;;;;;;19955:9;19864:373;;;;;19837:12;:24;19850:10;19837:24;;;;;;;;;;;;;;;;;:400;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20291:4;20248:12;:24;20261:10;20248:24;;;;;;;;;;;;;;;;;:32;;:40;20281:6;20248:40;;;;;;;;;;;;;;;;:47;;;;;;;;;;;;;;;;;;20347:4;20305:12;:24;20318:10;20305:24;;;;;;;;;;;;;;;;;:32;;:39;20338:5;20305:39;;;;;;;;;;;;;;;;:46;;;;;;;;;;;;;;;;;;20459:12;:24;20472:10;20459:24;;;;;;;;;;;;;;;;;:32;;:43;20492:9;20459:43;;;;;;;;;;;;;;;;;;;;;;;;;20458:44;20437:137;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20746:1;20734:9;:13;;;20730:93;;;20808:4;20762:12;:24;20775:10;20762:24;;;;;;;;;;;;;;;;;:32;;:43;20795:9;20762:43;;;;;;;;;;;;;;;;:50;;;;;;;;;;;;;;;;;;20730:93;20841:16;;:18;;;;;;;;;;;;;20870;:25;20889:5;20870:25;;;;;;;;;;;;;;;20901:10;20870:42;;39:1:-1;33:3;27:10;23:18;57:10;52:3;45:23;79:10;72:17;;0:93;20870:42:0;;;;;;;;;;;;;;;;;;;;;;;;;;;20922:18;:26;20941:6;20922:26;;;;;;;;;;;;;;;20954:10;20922:43;;39:1:-1;33:3;27:10;23:18;57:10;52:3;45:23;79:10;72:17;;0:93;20922:43:0;;;;;;;;;;;;;;;;;;;;;;;;;;;18337:2635;;;;;;;;;;:::o;1272:131:2:-;1330:7;1345:9;1361:1;1357;:5;1345:17;;1381:1;1376;:6;;1368:15;;;;;;;;1397:1;1390:8;;1272:131;;;;;:::o;13488:952:0:-;13708:21;13894:20;13732:151;13762:4;13780;13798;13816:10;13840:12;13866:7;13732:16;:151::i;:::-;13708:175;;13917:129;13948:12;:24;13961:10;13948:24;;;;;;;;;;;;;;;;;:37;;;;;;;;;;;;13999:12;:24;14012:10;13999:24;;;;;;;;;;;;;;;;;:37;;;13917:17;:129::i;:::-;13894:152;;14232:12;:24;14245:10;14232:24;;;;;;;;;;;;;;;;;:34;;;;;;;;;;;;14218:48;;:4;:11;:48;:122;;;;;14272:15;14271:16;:68;;;;14308:12;:24;14321:10;14308:24;;;;;;;;;;;;;;;;;:31;;;;;;;;;;;;14291:48;;:13;:48;;;;14271:68;14218:122;14197:236;;;14377:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14197:236;13488:952;;;;;;;;:::o;14566:1607::-;14713:7;14736:21;14795:24;14901:9;15538:20;15611:9;14760:12;:24;14773:10;14760:24;;;;;;;;;;;;;;;;;14736:48;;14822:1;14795:28;;14859:21;14838:42;;;;;;;;:1;:17;;;;;;;;;;;;:42;;;;;;;;;14834:1299;;;14913:1;14901:13;;14896:562;14920:12;:19;14916:1;:23;14896:562;;;15000:1;14973:29;;:12;14986:1;14973:15;;;;;;;;;;;;;;;;;;:29;;;;:59;;;;;15006:1;:9;;:26;15016:12;15029:1;15016:15;;;;;;;;;;;;;;;;;;15006:26;;;;;;;;;;;;;;;;;;;;;;;;;14973:59;14965:95;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15099:1;15086:7;15094:1;15086:10;;;;;;;;;;;;;;;;;;:14;15078:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15185:32;15206:7;15214:1;15206:10;;;;;;;;;;;;;;;;;;15185:16;:20;;:32;;;;:::i;:::-;15166:51;;15271:4;15236:1;:15;;:32;15252:12;15265:1;15252:15;;;;;;;;;;;;;;;;;;15236:32;;;;;;;;;;;;;;;;:39;;;;;;;;;;;;;;;;;;15322:12;15335:1;15322:15;;;;;;;;;;;;;;;;;;:24;;:36;15347:7;15355:1;15347:10;;;;;;;;;;;;;;;;;;15322:36;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;15322:36:0;14941:3;;;;;;;14896:562;;;14834:1299;;;15500:21;15479:42;;;;;;;;:1;:17;;;;;;;;;;;;:42;;;;;;;;;15475:658;;;15576:1;:14;;;;;;;;;;;;15538:53;;15623:1;15611:13;;15606:517;15628:12;:19;15626:1;:21;15606:517;;;15708:1;15681:29;;:12;15694:1;15681:15;;;;;;;;;;;;;;;;;;:29;;;;:59;;;;;15714:1;:9;;:26;15724:12;15737:1;15724:15;;;;;;;;;;;;;;;;;;15714:26;;;;;;;;;;;;;;;;;;;;;;;;;15681:59;15673:95;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15807:1;15794:7;15802:1;15794:10;;;;;;;;;;;;;;;;;;:14;15786:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15893:32;15914:7;15922:1;15914:10;;;;;;;;;;;;;;;;;;15893:16;:20;;:32;;;;:::i;:::-;15874:51;;15978:4;15943:1;:15;;:32;15959:12;15972:1;15959:15;;;;;;;;;;;;;;;;;;15943:32;;;;;;;;;;;;;;;;:39;;;;;;;;;;;;;;;;;;16038:5;:14;;;16053:12;16066:1;16053:15;;;;;;;;;;;;;;;;;;16070:7;16078:1;16070:10;;;;;;;;;;;;;;;;;;16038:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;16038:43:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;16038:43:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;16038:43:0;;;;;;;;;;;;;;;;16030:78;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15649:3;;;;;;;15606:517;;;15475:658;14834:1299;16150:16;16143:23;;14566:1607;;;;;;;;;;:::o;16357:1571::-;16578:7;16739:19;16857:14;17316:6;17365:17;16638:4;:11;16623:4;:11;:26;:56;;;;;16668:4;:11;16653:4;:11;:26;16623:56;16602:126;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17061:4;17056:10;;17097:1;17092:7;;17125:4;17155:12;17193:7;17226:10;17014:244;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;17014:244:0;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;17014:244:0;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;17014:244:0;;;16983:293;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;16983:293:0;;;;;;;;;;;;;;;;16897:393;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;16897:393:0;;;16874:426;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;16874:426:0;;;;;;;;;;;;;;;;16857:443;;17325:1;17316:10;;17311:582;17332:4;:11;17328:1;:15;17311:582;;;17385:122;17412:6;17436:4;17441:1;17436:7;;;;;;;;;;;;;;;;;;17461:4;17466:1;17461:7;;;;;;;;;;;;;;;;;;17486:4;17491:1;17486:7;;;;;;;;;;;;;;;;;;17385:122;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;17385:122:0;;;;;;;;17365:142;;17547:12;:24;17560:10;17547:24;;;;;;;;;;;;;;;;;:32;;:43;17580:9;17547:43;;;;;;;;;;;;;;;;;;;;;;;;;17522:120;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17682:12;:24;17695:10;17682:24;;;;;;;;;;;;;;;;;:30;;:41;17713:9;17682:41;;;;;;;;;;;;;;;;;;;;;;;;;17681:42;17656:127;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17841:4;17797:12;:24;17810:10;17797:24;;;;;;;;;;;;;;;;;:30;;:41;17828:9;17797:41;;;;;;;;;;;;;;;;:48;;;;;;;;;;;;;;;;;;17873:9;17859:23;;17345:3;;;;;;;17311:582;;;17910:11;17903:18;;16357:1571;;;;;;;;;;;;:::o;17934:316::-;18072:4;18092:17;18112:21;18120:12;18112:3;:7;;:21;;;;:::i;:::-;18092:41;;18180:1;18164:12;:17;;;:69;;18202:31;18228:4;18210:12;18202:21;;:25;;:31;;;;:::i;:::-;18190:9;:43;18164:69;;;18184:5;18164:69;18143:100;;17934:316;;;;;:::o;1078:131:2:-;1136:7;1172:9;1164:1;1159;:6;;1151:15;;;;;;;;1188:1;1184;:5;1172:17;;1203:1;1196:8;;1078:131;;;;;:::o;204:381::-;262:7;523:9;491:1;486;:6;482:35;;;509:1;502:8;;;;482:35;539:1;535;:5;523:17;;563:1;558;554;:5;;;;;;;;:10;546:19;;;;;;;;579:1;572:8;;204:381;;;;;;:::o", + "source": "pragma solidity 0.4.24;\n\nimport \"openzeppelin-solidity/contracts/math/SafeMath.sol\";\n\nimport \"../token/ITokenContract.sol\";\n\n\n/**\n* @dev Supports ERC20 tokens\n* The escrow smart contract for the open bazaar trades in Ethereum\n* The smart contract is desgined keeping in mind the current wallet interface of the OB-core\n* https://github.com/OpenBazaar/wallet-interface/blob/master/wallet.go\n* Current wallet interface strictly adheres to UTXO(bitcoin) model\n*/\ncontract Escrow_v1_0 {\n\n using SafeMath for uint256;\n\n enum Status {FUNDED, RELEASED}\n\n enum TransactionType {ETHER, TOKEN}\n\n event Executed(\n bytes32 scriptHash,\n address[] destinations,\n uint256[] amounts\n );\n\n event FundAdded(\n bytes32 scriptHash,\n address indexed from,\n uint256 valueAdded\n );\n\n event Funded(bytes32 scriptHash, address indexed from, uint256 value);\n\n struct Transaction {\n uint256 value;\n uint256 lastModified;//Time at which transaction was last modified\n Status status;\n TransactionType transactionType;\n uint8 threshold;\n uint32 timeoutHours;\n address buyer;\n address seller;\n address tokenAddress;// Token address in case of token transfer\n address moderator;\n mapping(address=>bool) isOwner;//to keep track of owners/signers.\n mapping(address=>bool) voted;//to keep track of who all voted\n mapping(address=>bool) beneficiaries;//Benefeciaries of execution\n }\n\n mapping(bytes32 => Transaction) public transactions;\n\n uint256 public transactionCount = 0;\n\n //Contains mapping between each party and all of his transactions\n mapping(address => bytes32[])public partyVsTransaction;\n\n modifier transactionExists(bytes32 scriptHash) {\n require(\n transactions[scriptHash].value != 0, \"Transaction does not exists\"\n );\n _;\n }\n\n modifier transactionDoesNotExists (bytes32 scriptHash) {\n require(transactions[scriptHash].value == 0, \"Transaction exists\");\n _;\n }\n\n modifier inFundedState(bytes32 scriptHash) {\n require(\n transactions[scriptHash].status == Status.FUNDED, \"Transaction is either in dispute or released state\"\n );\n _;\n }\n\n modifier nonZeroAddress(address addressToCheck) {\n require(addressToCheck != address(0), \"Zero address passed\");\n _;\n }\n\n modifier checkTransactionType(\n bytes32 scriptHash,\n TransactionType transactionType\n )\n {\n require(\n transactions[scriptHash].transactionType == transactionType, \"Transaction type does not match\"\n );\n _;\n }\n\n modifier onlyBuyer(bytes32 scriptHash) {\n require(\n msg.sender == transactions[scriptHash].buyer, \"The initiator of the transaction is not buyer\"\n );\n _;\n }\n\n /**\n *@dev Add new transaction in the contract\n *@param buyer The buyer of the transaction\n *@param seller The seller of the listing associated with the transaction\n *@param moderator Moderator for this transaction\n *@param scriptHash keccak256 hash of the redeem script\n *@param threshold Minimum number of singatures required to released funds\n *@param timeoutHours Hours after which seller can release funds into his favour by signing transaction\n *@param uniqueId bytes20 unique id for the transaction, generated by ETH wallet\n *Redeem Script format will be following\n \n * scripthash-> keccak256(uniqueId, threshold, timeoutHours, buyer, seller, moderator)\n *Pass amount of the ethers to be put in escrow\n *Please keep in mind you will have to add moderator fees also in the value\n */\n function addTransaction(\n address buyer,\n address seller,\n address moderator,\n uint8 threshold,\n uint32 timeoutHours,\n bytes32 scriptHash,\n bytes20 uniqueId\n )\n external\n payable\n transactionDoesNotExists(scriptHash)\n nonZeroAddress(buyer)\n nonZeroAddress(seller)\n {\n _addTransaction(\n buyer,\n seller,\n moderator,\n threshold,\n timeoutHours,\n scriptHash,\n msg.value,\n uniqueId,\n TransactionType.ETHER,\n address(0)\n );\n \n emit Funded(scriptHash, msg.sender, msg.value);\n\n }\n\n /**\n *@dev Add new transaction in the contract\n *@param buyer The buyer of the transaction\n *@param seller The seller of the listing associated with the transaction\n *@param moderator Moderator for this transaction\n *@param scriptHash keccak256 hash of the redeem script\n *@param threshold Minimum number of singatures required to released funds\n *@param timeoutHours Hours after which seller can release funds into his favour by signing transaction\n *@param value Amount of tokens to be put in escrow\n *@param uniqueId bytes20 unique id for the transaction, generated by ETH wallet\n *@param tokenAddress Address of the token to be used\n *Redeem Script format will be following\n \n * scripthash-> keccak256(uniqueId, threshold, timeoutHours, buyer, seller, moderator, tokenAddress)\n *approve escrow contract to spend amount of token on your behalf\n *Please keep in mind you will have to add moderator fees also in the value\n */\n function addTokenTransaction(\n address buyer,\n address seller,\n address moderator,\n uint8 threshold,\n uint32 timeoutHours,\n bytes32 scriptHash,\n uint256 value,\n bytes20 uniqueId,\n address tokenAddress\n )\n external\n transactionDoesNotExists(scriptHash)\n nonZeroAddress(buyer)\n nonZeroAddress(seller)\n nonZeroAddress(tokenAddress)\n {\n\n _addTransaction(\n buyer,\n seller,\n moderator,\n threshold,\n timeoutHours,\n scriptHash,\n value,\n uniqueId,\n TransactionType.TOKEN,\n tokenAddress\n );\n\n ITokenContract token = ITokenContract(tokenAddress);\n\n require(\n token.transferFrom(msg.sender, this, value),\n \"Token transfer failed, maybe you did not approve escrow contract to spend on behalf of buyer\"\n );\n emit Funded(scriptHash, msg.sender, value);\n }\n\n /**\n * @dev Check whether given address was a beneficiary of transaction execution or not\n * @param scriptHash script hash of the transaction\n * @param beneficiary Beneficiary address to be checked\n */\n function checkBeneficiary(\n bytes32 scriptHash,\n address beneficiary\n )\n external\n view\n returns (bool)\n {\n return transactions[scriptHash].beneficiaries[beneficiary];\n }\n\n /**\n * @dev Check whether given party has voted or not\n * @param scriptHash script hash of the transaction\n * @param party Address of the party whose vote has to be checked\n * @return bool vote\n */\n function checkVote(\n bytes32 scriptHash,\n address party\n )\n external\n view\n returns (bool)\n {\n return transactions[scriptHash].voted[party];\n }\n\n /**\n *@dev Allows buyer of the transaction to add more funds(ether) in the transaction. This will help to cater scenarios wherein initially buyer missed to fund transaction as required\n *@param scriptHash script hash of the transaction\n * Only buyer of the transaction can invoke this method\n */\n function addFundsToTransaction(\n bytes32 scriptHash\n )\n external\n transactionExists(scriptHash)\n inFundedState(scriptHash)\n checkTransactionType(scriptHash, TransactionType.ETHER)\n onlyBuyer(scriptHash)\n payable\n {\n uint256 _value = msg.value;\n\n require(_value > 0, \"Value must be greater than zero.\");\n\n transactions[scriptHash].value = transactions[scriptHash].value\n .add(_value);\n transactions[scriptHash].lastModified = block.timestamp;\n\n emit FundAdded(scriptHash, msg.sender, _value);\n }\n\n /**\n *@dev Allows buyer of the transaction to add more funds(Tokens) in the transaction. This will help to cater scenarios wherein initially buyer missed to fund transaction as required\n *@param scriptHash script hash of the transaction\n */\n function addTokensToTransaction(\n bytes32 scriptHash,\n uint256 value\n )\n external\n transactionExists(scriptHash)\n inFundedState(scriptHash)\n checkTransactionType(scriptHash, TransactionType.TOKEN)\n onlyBuyer(scriptHash)\n {\n uint256 _value = value;\n\n require(_value > 0, \"Value must be greater than zero.\");\n\n ITokenContract token = ITokenContract(\n transactions[scriptHash].tokenAddress\n );\n\n require(\n token.transferFrom(transactions[scriptHash].buyer, this, value),\n \"Token transfer failed, maybe you did not approve escrow contract to spend on behalf of buyer\"\n );\n\n transactions[scriptHash].value = transactions[scriptHash].value\n .add(_value);\n transactions[scriptHash].lastModified = block.timestamp;\n\n emit FundAdded(scriptHash, msg.sender, _value);\n }\n\n /**\n *@dev Returns all transaction ids for a party\n *@param partyAddress Address of the party\n */\n function getAllTransactionsForParty(\n address partyAddress\n ) \n external \n view \n returns (bytes32[]) \n {\n return partyVsTransaction[partyAddress];\n }\n\n /**\n *@dev Allows one of the moderator to collect all the signature to solve dispute and submit it to this method.\n * If all the required signatures are collected and consensus has been reached than funds will be released to the voted party\n *@param sigV Array containing V component of all the signatures\n *@param sigR Array containing R component of all the signatures\n *@param signS Array containing S component of all the signatures\n *@param scriptHash script hash of the transaction\n *@param destinations address of the destination in whose favour dispute resolution is taking place. In case of split payments it will be address of the split payments contract\n *@param amounts value to send to each destination\n */\n function execute(\n uint8[] sigV,\n bytes32[] sigR,\n bytes32[] sigS,\n bytes32 scriptHash,\n address[] destinations,\n uint256[] amounts\n )\n external\n transactionExists(scriptHash)\n inFundedState(scriptHash)\n {\n require(\n destinations.length>0 && destinations.length == amounts.length, \"Length of destinations is incorrect.\"\n );\n\n verifyTransaction(\n sigV,\n sigR,\n sigS,\n scriptHash,\n destinations,\n amounts\n );\n\n transactions[scriptHash].status = Status.RELEASED;\n //Last modified timestamp modified, which will be used by rewards\n transactions[scriptHash].lastModified = block.timestamp;\n require(\n transferFunds(scriptHash, destinations, amounts) == transactions[scriptHash].value,\n \"Total value to be released must be equal to the transaction escrow value\"\n );\n \n emit Executed(scriptHash, destinations, amounts);\n }\n\n\n /**\n *@dev Method for calculating script hash. Calculation will depend upon the type of transaction\n * ETHER Type transaction-:\n * Script Hash- keccak256(uniqueId, threshold, timeoutHours, buyer, seller, moderator)\n * TOKEN Type transaction\n * Script Hash- keccak256(uniqueId, threshold, timeoutHours, buyer, seller, moderator, tokenAddress)\n * Client can use this method to verify whether it has calculated correct script hash or not\n */\n function calculateRedeemScriptHash(\n bytes20 uniqueId,\n uint8 threshold,\n uint32 timeoutHours,\n address buyer,\n address seller,\n address moderator,\n address tokenAddress\n )\n public\n view\n returns (bytes32)\n {\n if (tokenAddress == address(0)) {\n return keccak256(\n abi.encodePacked(\n uniqueId,\n threshold,\n timeoutHours,\n buyer,\n seller,\n moderator,\n this\n )\n );\n } else {\n return keccak256(\n abi.encodePacked(\n uniqueId,\n threshold,\n timeoutHours,\n buyer,\n seller,\n moderator,\n this,\n tokenAddress\n )\n );\n }\n }\n\n /**\n * @dev This methods checks validity of transaction\n * 1. Verify Signatures\n * 2. Check if minimum number of signatures has been acquired\n * 3. If above condition is false, check if time lock is expired and the execution is signed by seller\n */\n function verifyTransaction(\n uint8[] sigV,\n bytes32[] sigR,\n bytes32[] sigS,\n bytes32 scriptHash,\n address[] destinations,\n uint256[] amounts\n )\n private\n {\n address lastRecovered = verifySignatures(\n sigV,\n sigR,\n sigS,\n scriptHash,\n destinations,\n amounts\n );\n\n bool timeLockExpired = isTimeLockExpired(\n transactions[scriptHash].timeoutHours,\n transactions[scriptHash].lastModified\n );\n\n //if Minimum number of signatures are not gathered and timelock has not expired or transaction was not signed by seller then revert\n if (\n sigV.length < transactions[scriptHash].threshold && (!timeLockExpired || lastRecovered != transactions[scriptHash].seller)\n )\n {\n revert(\"sigV.length is under the threshold.\");\n }\n\n }\n\n /**\n *@dev Private method to transfer funds to the destination addresses on the basis of transaction type\n */\n function transferFunds(\n bytes32 scriptHash,\n address[]destinations,\n uint256[]amounts\n )\n private\n returns (uint256)\n {\n Transaction storage t = transactions[scriptHash];\n\n uint256 valueTransferred = 0;\n\n if (t.transactionType == TransactionType.ETHER) {\n for (uint256 i = 0; i < destinations.length; i++) {\n\n require(destinations[i] != address(0) && t.isOwner[destinations[i]], \"Not a valid destination\");\n require(amounts[i] > 0, \"Amount to be sent should be greater than 0\");\n\n valueTransferred = valueTransferred.add(amounts[i]);\n\n t.beneficiaries[destinations[i]] = true;//add receiver as beneficiary\n destinations[i].transfer(amounts[i]);//shall we use send instead of transfer to stop malicious actors from blocking funds?\n }\n\n } else if (t.transactionType == TransactionType.TOKEN) {\n\n ITokenContract token = ITokenContract(t.tokenAddress);\n\n for (uint256 j = 0; j 0, \"Amount to be sent should be greater than 0\");\n\n valueTransferred = valueTransferred.add(amounts[j]);\n t.beneficiaries[destinations[j]] = true;//add receiver as beneficiary\n\n require(token.transfer(destinations[j], amounts[j]), \"Token transfer failed.\");\n }\n } \n return valueTransferred;\n }\n\n //to check whether the signature are valid or not and if consensus was reached\n //returns the last address recovered, in case of timeout this must be the sender's address\n function verifySignatures(\n uint8[] sigV,\n bytes32[] sigR,\n bytes32[] sigS,\n bytes32 scriptHash,\n address[] destinations,\n uint256[]amounts\n )\n private\n returns (address)\n {\n\n require(\n sigR.length == sigS.length && sigR.length == sigV.length, \n \"R,S,V length mismatch.\"\n );\n\n address lastAddress;\n\n // Follows ERC191 signature scheme: https://github.com/ethereum/EIPs/issues/191\n bytes32 txHash = keccak256(\n abi.encodePacked(\n \"\\x19Ethereum Signed Message:\\n32\",\n keccak256(\n abi.encodePacked(\n byte(0x19),\n byte(0),\n this,\n destinations,\n amounts,\n scriptHash\n )\n )\n )\n );\n\n for (uint i = 0; i < sigR.length; i++) {\n\n address recovered = ecrecover(\n txHash,\n sigV[i],\n sigR[i],\n sigS[i]\n );\n\n require(\n transactions[scriptHash].isOwner[recovered], \n \"Invalid signature\"\n );\n require(\n !transactions[scriptHash].voted[recovered], \n \"Same signature sent twice\"\n );\n transactions[scriptHash].voted[recovered] = true;\n lastAddress = recovered;\n }\n\n return lastAddress;\n }\n\n function isTimeLockExpired(\n uint32 timeoutHours,\n uint256 lastModified\n )\n private\n view\n returns (bool)\n {\n uint256 timeSince = now.sub(lastModified);\n return (\n timeoutHours == 0 ? false:timeSince > uint256(timeoutHours).mul(3600)\n );\n }\n\n /**\n * Private method to add transaction to reduce code redundancy\n */\n function _addTransaction(\n address buyer,\n address seller,\n address moderator,\n uint8 threshold,\n uint32 timeoutHours,\n bytes32 scriptHash,\n uint256 value,\n bytes20 uniqueId,\n TransactionType transactionType,\n address tokenAddress\n )\n private\n { \n require(buyer != seller, \"Buyer and seller are same\");\n\n //value passed should be greater than 0\n require(value > 0, \"Value passed is 0\");\n\n // For now allowing 0 moderator to support 1-2 multisig wallet\n require(\n threshold > 0 && threshold <= 3, \n \"Threshold cannot be greater than 3 and must be greater than 0\"\n );\n\n //if threshold is 1 then moderator can be passed as zero address or any other address(it wont matter aopart from scripthash since we wont add moderator as one of the owner)\n //otherwise moderator should be a valid address\n require(\n threshold == 1 || moderator != address(0),\n \"Either threshold should be 1 otherwise valid moderator address should be passed\"\n );\n\n require(\n scriptHash == calculateRedeemScriptHash(\n uniqueId,\n threshold,\n timeoutHours,\n buyer,\n seller,\n moderator,\n tokenAddress\n ), \n \"Calculated script hash does not match passed script hash.\"\n );\n\n transactions[scriptHash] = Transaction({\n buyer: buyer,\n seller: seller,\n moderator: moderator,\n value: value,\n status: Status.FUNDED,\n lastModified: block.timestamp,\n threshold: threshold,\n timeoutHours: timeoutHours,\n transactionType:transactionType,\n tokenAddress:tokenAddress\n });\n\n transactions[scriptHash].isOwner[seller] = true;\n transactions[scriptHash].isOwner[buyer] = true; \n\n //Check if buyer or seller are not passed as moderator\n require(\n !transactions[scriptHash].isOwner[moderator], \n \"Either buyer or seller is passed as moderator\"\n );\n\n //set moderator as one of the owners only if threshold is greater than 1 otherwise only buyer and seller should be able to release funds\n if (threshold > 1){\n transactions[scriptHash].isOwner[moderator] = true;\n }\n \n\n transactionCount++;\n\n partyVsTransaction[buyer].push(scriptHash);\n partyVsTransaction[seller].push(scriptHash);\n }\n}\n", "sourcePath": "/home/sameep/freelancing-projects/toptal/open baazar/publicRepo/smart-contracts/contracts/escrow/Escrow_v1_0.sol", "ast": { "absolutePath": "/home/sameep/freelancing-projects/toptal/open baazar/publicRepo/smart-contracts/contracts/escrow/Escrow_v1_0.sol", "exportedSymbols": { "Escrow_v1_0": [ - 1210 + 1211 ] }, - "id": 1211, + "id": 1212, "nodeType": "SourceUnit", "nodes": [ { @@ -449,8 +449,8 @@ "file": "openzeppelin-solidity/contracts/math/SafeMath.sol", "id": 2, "nodeType": "ImportDirective", - "scope": 1211, - "sourceUnit": 1369, + "scope": 1212, + "sourceUnit": 1370, "src": "25:59:0", "symbolAliases": [], "unitAlias": "" @@ -460,8 +460,8 @@ "file": "../token/ITokenContract.sol", "id": 3, "nodeType": "ImportDirective", - "scope": 1211, - "sourceUnit": 1241, + "scope": 1212, + "sourceUnit": 1242, "src": "86:37:0", "symbolAliases": [], "unitAlias": "" @@ -472,9 +472,9 @@ "contractKind": "contract", "documentation": "@dev Supports ERC20 tokens\nThe escrow smart contract for the open bazaar trades in Ethereum\nThe smart contract is desgined keeping in mind the current wallet interface of the OB-core\nhttps://github.com/OpenBazaar/wallet-interface/blob/master/wallet.go\nCurrent wallet interface strictly adheres to UTXO(bitcoin) model", "fullyImplemented": true, - "id": 1210, + "id": 1211, "linearizedBaseContracts": [ - 1210 + 1211 ], "name": "Escrow_v1_0", "nodeType": "ContractDefinition", @@ -486,10 +486,10 @@ "id": 4, "name": "SafeMath", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1368, + "referencedDeclaration": 1369, "src": "494:8:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$1368", + "typeIdentifier": "t_contract$_SafeMath_$1369", "typeString": "library SafeMath" } }, @@ -1262,7 +1262,7 @@ ], "name": "Transaction", "nodeType": "StructDefinition", - "scope": 1210, + "scope": 1211, "src": "902:606:0", "visibility": "public" }, @@ -1271,7 +1271,7 @@ "id": 75, "name": "transactions", "nodeType": "VariableDeclaration", - "scope": 1210, + "scope": 1211, "src": "1514:51:0", "stateVariable": true, "storageLocation": "default", @@ -1318,7 +1318,7 @@ "id": 78, "name": "transactionCount", "nodeType": "VariableDeclaration", - "scope": 1210, + "scope": 1211, "src": "1572:35:0", "stateVariable": true, "storageLocation": "default", @@ -1361,7 +1361,7 @@ "id": 83, "name": "partyVsTransaction", "nodeType": "VariableDeclaration", - "scope": 1210, + "scope": 1211, "src": "1684:54:0", "stateVariable": true, "storageLocation": "default", @@ -1548,10 +1548,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1386, - 1387 + 1387, + 1388 ], - "referencedDeclaration": 1387, + "referencedDeclaration": 1388, "src": "1802:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -1760,10 +1760,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1386, - 1387 + 1387, + 1388 ], - "referencedDeclaration": 1387, + "referencedDeclaration": 1388, "src": "1988:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -1983,10 +1983,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1386, - 1387 + 1387, + 1388 ], - "referencedDeclaration": 1387, + "referencedDeclaration": 1388, "src": "2131:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -2190,10 +2190,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1386, - 1387 + 1387, + 1388 ], - "referencedDeclaration": 1387, + "referencedDeclaration": 1388, "src": "2346:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -2397,10 +2397,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1386, - 1387 + 1387, + 1388 ], - "referencedDeclaration": 1387, + "referencedDeclaration": 1388, "src": "2549:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -2529,7 +2529,7 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1383, + "referencedDeclaration": 1384, "src": "2768:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", @@ -2648,10 +2648,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1386, - 1387 + 1387, + 1388 ], - "referencedDeclaration": 1387, + "referencedDeclaration": 1388, "src": "2747:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -2819,7 +2819,7 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1383, + "referencedDeclaration": 1384, "src": "4357:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", @@ -2986,7 +2986,7 @@ "name": "_addTransaction", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1209, + "referencedDeclaration": 1210, "src": "4193:15:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_address_$_t_uint8_$_t_uint32_$_t_bytes32_$_t_uint256_$_t_bytes20_$_t_enum$_TransactionType_$12_$_t_address_$returns$__$", @@ -3036,7 +3036,7 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1383, + "referencedDeclaration": 1384, "src": "4500:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", @@ -3065,7 +3065,7 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1383, + "referencedDeclaration": 1384, "src": "4512:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", @@ -3437,7 +3437,7 @@ "parameters": [], "src": "4183:0:0" }, - "scope": 1210, + "scope": 1211, "src": "3828:702:0", "stateMutability": "payable", "superFunction": null, @@ -3647,7 +3647,7 @@ "name": "_addTransaction", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1209, + "referencedDeclaration": 1210, "src": "6075:15:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_address_$_t_uint8_$_t_uint32_$_t_bytes32_$_t_uint256_$_t_bytes20_$_t_enum$_TransactionType_$12_$_t_address_$returns$__$", @@ -3687,7 +3687,7 @@ "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenContract_$1240", + "typeIdentifier": "t_contract$_ITokenContract_$1241", "typeString": "contract ITokenContract" }, "typeName": { @@ -3695,10 +3695,10 @@ "id": 281, "name": "ITokenContract", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1240, + "referencedDeclaration": 1241, "src": "6348:14:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenContract_$1240", + "typeIdentifier": "t_contract$_ITokenContract_$1241", "typeString": "contract ITokenContract" } }, @@ -3735,10 +3735,10 @@ "name": "ITokenContract", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1240, + "referencedDeclaration": 1241, "src": "6371:14:0", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ITokenContract_$1240_$", + "typeIdentifier": "t_type$_t_contract$_ITokenContract_$1241_$", "typeString": "type(contract ITokenContract)" } }, @@ -3752,7 +3752,7 @@ "nodeType": "FunctionCall", "src": "6371:28:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenContract_$1240", + "typeIdentifier": "t_contract$_ITokenContract_$1241", "typeString": "contract ITokenContract" } }, @@ -3774,7 +3774,7 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1383, + "referencedDeclaration": 1384, "src": "6450:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", @@ -3801,10 +3801,10 @@ "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1400, + "referencedDeclaration": 1401, "src": "6462:4:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_Escrow_v1_0_$1210", + "typeIdentifier": "t_contract$_Escrow_v1_0_$1211", "typeString": "contract Escrow_v1_0" } }, @@ -3829,7 +3829,7 @@ "typeString": "address" }, { - "typeIdentifier": "t_contract$_Escrow_v1_0_$1210", + "typeIdentifier": "t_contract$_Escrow_v1_0_$1211", "typeString": "contract Escrow_v1_0" }, { @@ -3846,7 +3846,7 @@ "referencedDeclaration": 282, "src": "6431:5:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenContract_$1240", + "typeIdentifier": "t_contract$_ITokenContract_$1241", "typeString": "contract ITokenContract" } }, @@ -3857,7 +3857,7 @@ "lValueRequested": false, "memberName": "transferFrom", "nodeType": "MemberAccess", - "referencedDeclaration": 1239, + "referencedDeclaration": 1240, "src": "6431:18:0", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", @@ -3912,10 +3912,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1386, - 1387 + 1387, + 1388 ], - "referencedDeclaration": 1387, + "referencedDeclaration": 1388, "src": "6410:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -3965,7 +3965,7 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1383, + "referencedDeclaration": 1384, "src": "6626:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", @@ -4435,7 +4435,7 @@ "parameters": [], "src": "6064:0:0" }, - "scope": 1210, + "scope": 1211, "src": "5630:1021:0", "stateMutability": "nonpayable", "superFunction": null, @@ -4443,130 +4443,103 @@ }, { "body": { - "id": 324, + "id": 322, "nodeType": "Block", - "src": "7027:76:0", + "src": "7021:75:0", "statements": [ { "expression": { "argumentTypes": null, - "id": 322, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 315, - "name": "check", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 313, - "src": "7037:5:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { + "baseExpression": { "argumentTypes": null, - "baseExpression": { + "expression": { "argumentTypes": null, - "expression": { + "baseExpression": { "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 316, - "name": "transactions", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75, - "src": "7045:12:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", - "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" - } - }, - "id": 318, - "indexExpression": { - "argumentTypes": null, - "id": 317, - "name": "scriptHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 308, - "src": "7058:10:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7045:24:0", + "id": 315, + "name": "transactions", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75, + "src": "7038:12:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_Transaction_$71_storage", - "typeString": "struct Escrow_v1_0.Transaction storage ref" + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", + "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" + } + }, + "id": 317, + "indexExpression": { + "argumentTypes": null, + "id": 316, + "name": "scriptHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 308, + "src": "7051:10:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" } }, - "id": 319, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberName": "beneficiaries", - "nodeType": "MemberAccess", - "referencedDeclaration": 70, - "src": "7045:38:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 321, - "indexExpression": { - "argumentTypes": null, - "id": 320, - "name": "beneficiary", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 310, - "src": "7084:11:0", + "nodeType": "IndexAccess", + "src": "7038:24:0", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_struct$_Transaction_$71_storage", + "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, + "id": 318, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7045:51:0", + "memberName": "beneficiaries", + "nodeType": "MemberAccess", + "referencedDeclaration": 70, + "src": "7038:38:0", "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + } + }, + "id": 320, + "indexExpression": { + "argumentTypes": null, + "id": 319, + "name": "beneficiary", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 310, + "src": "7077:11:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" } }, - "src": "7037:59:0", + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "7038:51:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 323, - "nodeType": "ExpressionStatement", - "src": "7037:59:0" + "functionReturnParameters": 314, + "id": 321, + "nodeType": "Return", + "src": "7031:58:0" } ] }, "documentation": "@dev Check whether given address was a beneficiary of transaction execution or not\n@param scriptHash script hash of the transaction\n@param beneficiary Beneficiary address to be checked", - "id": 325, + "id": 323, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -4582,7 +4555,7 @@ "id": 308, "name": "scriptHash", "nodeType": "VariableDeclaration", - "scope": 325, + "scope": 323, "src": "6910:18:0", "stateVariable": false, "storageLocation": "default", @@ -4608,7 +4581,7 @@ "id": 310, "name": "beneficiary", "nodeType": "VariableDeclaration", - "scope": 325, + "scope": 323, "src": "6938:19:0", "stateVariable": false, "storageLocation": "default", @@ -4640,10 +4613,10 @@ { "constant": false, "id": 313, - "name": "check", + "name": "", "nodeType": "VariableDeclaration", - "scope": 325, - "src": "7011:10:0", + "scope": 323, + "src": "7011:4:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4664,140 +4637,113 @@ "visibility": "internal" } ], - "src": "7010:12:0" + "src": "7010:6:0" }, - "scope": 1210, - "src": "6875:228:0", + "scope": 1211, + "src": "6875:221:0", "stateMutability": "view", "superFunction": null, "visibility": "external" }, { "body": { - "id": 343, + "id": 339, "nodeType": "Block", - "src": "7464:61:0", + "src": "7452:61:0", "statements": [ { "expression": { "argumentTypes": null, - "id": 341, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 334, - "name": "vote", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 332, - "src": "7474:4:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { + "baseExpression": { "argumentTypes": null, - "baseExpression": { + "expression": { "argumentTypes": null, - "expression": { + "baseExpression": { "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 335, - "name": "transactions", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75, - "src": "7481:12:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", - "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" - } - }, - "id": 337, - "indexExpression": { - "argumentTypes": null, - "id": 336, - "name": "scriptHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 327, - "src": "7494:10:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7481:24:0", + "id": 332, + "name": "transactions", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75, + "src": "7469:12:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_Transaction_$71_storage", - "typeString": "struct Escrow_v1_0.Transaction storage ref" + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", + "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" + } + }, + "id": 334, + "indexExpression": { + "argumentTypes": null, + "id": 333, + "name": "scriptHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 325, + "src": "7482:10:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" } }, - "id": 338, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberName": "voted", - "nodeType": "MemberAccess", - "referencedDeclaration": 66, - "src": "7481:30:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 340, - "indexExpression": { - "argumentTypes": null, - "id": 339, - "name": "party", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 329, - "src": "7512:5:0", + "nodeType": "IndexAccess", + "src": "7469:24:0", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_struct$_Transaction_$71_storage", + "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, + "id": 335, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7481:37:0", + "memberName": "voted", + "nodeType": "MemberAccess", + "referencedDeclaration": 66, + "src": "7469:30:0", "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + } + }, + "id": 337, + "indexExpression": { + "argumentTypes": null, + "id": 336, + "name": "party", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 327, + "src": "7500:5:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" } }, - "src": "7474:44:0", + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "7469:37:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 342, - "nodeType": "ExpressionStatement", - "src": "7474:44:0" + "functionReturnParameters": 331, + "id": 338, + "nodeType": "Return", + "src": "7462:44:0" } ] }, "documentation": "@dev Check whether given party has voted or not\n@param scriptHash script hash of the transaction\n@param party Address of the party whose vote has to be checked\n@return bool vote", - "id": 344, + "id": 340, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -4805,16 +4751,16 @@ "name": "checkVote", "nodeType": "FunctionDefinition", "parameters": { - "id": 330, + "id": 328, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 327, + "id": 325, "name": "scriptHash", "nodeType": "VariableDeclaration", - "scope": 344, - "src": "7354:18:0", + "scope": 340, + "src": "7347:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4822,10 +4768,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 326, + "id": 324, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "7354:7:0", + "src": "7347:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -4836,11 +4782,11 @@ }, { "constant": false, - "id": 329, + "id": 327, "name": "party", "nodeType": "VariableDeclaration", - "scope": 344, - "src": "7382:13:0", + "scope": 340, + "src": "7375:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4848,10 +4794,10 @@ "typeString": "address" }, "typeName": { - "id": 328, + "id": 326, "name": "address", "nodeType": "ElementaryTypeName", - "src": "7382:7:0", + "src": "7375:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4861,20 +4807,20 @@ "visibility": "internal" } ], - "src": "7344:57:0" + "src": "7337:57:0" }, "payable": false, "returnParameters": { - "id": 333, + "id": 331, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 332, - "name": "vote", + "id": 330, + "name": "", "nodeType": "VariableDeclaration", - "scope": 344, - "src": "7449:9:0", + "scope": 340, + "src": "7442:4:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4882,10 +4828,10 @@ "typeString": "bool" }, "typeName": { - "id": 331, + "id": 329, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "7449:4:0", + "src": "7442:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -4895,32 +4841,32 @@ "visibility": "internal" } ], - "src": "7448:11:0" + "src": "7441:6:0" }, - "scope": 1210, - "src": "7326:199:0", + "scope": 1211, + "src": "7319:194:0", "stateMutability": "view", "superFunction": null, "visibility": "external" }, { "body": { - "id": 403, + "id": 399, "nodeType": "Block", - "src": "8111:330:0", + "src": "8099:330:0", "statements": [ { "assignments": [ - 364 + 360 ], "declarations": [ { "constant": false, - "id": 364, + "id": 360, "name": "_value", "nodeType": "VariableDeclaration", - "scope": 404, - "src": "8121:14:0", + "scope": 400, + "src": "8109:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4928,10 +4874,10 @@ "typeString": "uint256" }, "typeName": { - "id": 363, + "id": 359, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "8121:7:0", + "src": "8109:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4941,23 +4887,23 @@ "visibility": "internal" } ], - "id": 367, + "id": 363, "initialValue": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 365, + "id": 361, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1383, - "src": "8138:3:0", + "referencedDeclaration": 1384, + "src": "8126:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 366, + "id": 362, "isConstant": false, "isLValue": false, "isPure": false, @@ -4965,14 +4911,14 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "8138:9:0", + "src": "8126:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "8121:26:0" + "src": "8109:26:0" }, { "expression": { @@ -4984,19 +4930,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 371, + "id": 367, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 369, + "id": 365, "name": "_value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 364, - "src": "8166:6:0", + "referencedDeclaration": 360, + "src": "8154:6:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5007,14 +4953,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 370, + "id": 366, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "8175:1:0", + "src": "8163:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -5022,7 +4968,7 @@ }, "value": "0" }, - "src": "8166:10:0", + "src": "8154:10:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -5031,14 +4977,14 @@ { "argumentTypes": null, "hexValue": "56616c7565206d7573742062652067726561746572207468616e207a65726f2e", - "id": 372, + "id": 368, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "8178:34:0", + "src": "8166:34:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_21fbec2be6560b9ccffc4980d43c0d147770168e7aaf24999b418b9010085622", @@ -5058,21 +5004,21 @@ "typeString": "literal_string \"Value must be greater than zero.\"" } ], - "id": 368, + "id": 364, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1386, - 1387 + 1387, + 1388 ], - "referencedDeclaration": 1387, - "src": "8158:7:0", + "referencedDeclaration": 1388, + "src": "8146:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 373, + "id": 369, "isConstant": false, "isLValue": false, "isPure": false, @@ -5080,20 +5026,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8158:55:0", + "src": "8146:55:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 374, + "id": 370, "nodeType": "ExpressionStatement", - "src": "8158:55:0" + "src": "8146:55:0" }, { "expression": { "argumentTypes": null, - "id": 386, + "id": 382, "isConstant": false, "isLValue": false, "isPure": false, @@ -5104,26 +5050,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 375, + "id": 371, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "8224:12:0", + "src": "8212:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 377, + "id": 373, "indexExpression": { "argumentTypes": null, - "id": 376, + "id": 372, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 346, - "src": "8237:10:0", + "referencedDeclaration": 342, + "src": "8225:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -5134,13 +5080,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "8224:24:0", + "src": "8212:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 378, + "id": 374, "isConstant": false, "isLValue": true, "isPure": false, @@ -5148,7 +5094,7 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": 40, - "src": "8224:30:0", + "src": "8212:30:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5161,12 +5107,12 @@ "arguments": [ { "argumentTypes": null, - "id": 384, + "id": 380, "name": "_value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 364, - "src": "8305:6:0", + "referencedDeclaration": 360, + "src": "8293:6:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5186,26 +5132,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 379, + "id": 375, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "8257:12:0", + "src": "8245:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 381, + "id": 377, "indexExpression": { "argumentTypes": null, - "id": 380, + "id": 376, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 346, - "src": "8270:10:0", + "referencedDeclaration": 342, + "src": "8258:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -5216,13 +5162,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "8257:24:0", + "src": "8245:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 382, + "id": 378, "isConstant": false, "isLValue": true, "isPure": false, @@ -5230,27 +5176,27 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": 40, - "src": "8257:30:0", + "src": "8245:30:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 383, + "id": 379, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 1347, - "src": "8257:47:0", + "referencedDeclaration": 1348, + "src": "8245:47:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 385, + "id": 381, "isConstant": false, "isLValue": false, "isPure": false, @@ -5258,26 +5204,26 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8257:55:0", + "src": "8245:55:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "8224:88:0", + "src": "8212:88:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 387, + "id": 383, "nodeType": "ExpressionStatement", - "src": "8224:88:0" + "src": "8212:88:0" }, { "expression": { "argumentTypes": null, - "id": 394, + "id": 390, "isConstant": false, "isLValue": false, "isPure": false, @@ -5288,26 +5234,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 388, + "id": 384, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "8322:12:0", + "src": "8310:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 390, + "id": 386, "indexExpression": { "argumentTypes": null, - "id": 389, + "id": 385, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 346, - "src": "8335:10:0", + "referencedDeclaration": 342, + "src": "8323:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -5318,13 +5264,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "8322:24:0", + "src": "8310:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 391, + "id": 387, "isConstant": false, "isLValue": true, "isPure": false, @@ -5332,7 +5278,7 @@ "memberName": "lastModified", "nodeType": "MemberAccess", "referencedDeclaration": 42, - "src": "8322:37:0", + "src": "8310:37:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5344,18 +5290,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 392, + "id": 388, "name": "block", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1373, - "src": "8362:5:0", + "referencedDeclaration": 1374, + "src": "8350:5:0", "typeDescriptions": { "typeIdentifier": "t_magic_block", "typeString": "block" } }, - "id": 393, + "id": 389, "isConstant": false, "isLValue": false, "isPure": false, @@ -5363,21 +5309,21 @@ "memberName": "timestamp", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "8362:15:0", + "src": "8350:15:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "8322:55:0", + "src": "8310:55:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 395, + "id": 391, "nodeType": "ExpressionStatement", - "src": "8322:55:0" + "src": "8310:55:0" }, { "eventCall": { @@ -5385,12 +5331,12 @@ "arguments": [ { "argumentTypes": null, - "id": 397, + "id": 393, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 346, - "src": "8403:10:0", + "referencedDeclaration": 342, + "src": "8391:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -5400,18 +5346,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 398, + "id": 394, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1383, - "src": "8415:3:0", + "referencedDeclaration": 1384, + "src": "8403:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 399, + "id": 395, "isConstant": false, "isLValue": false, "isPure": false, @@ -5419,7 +5365,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "8415:10:0", + "src": "8403:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -5427,12 +5373,12 @@ }, { "argumentTypes": null, - "id": 400, + "id": 396, "name": "_value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 364, - "src": "8427:6:0", + "referencedDeclaration": 360, + "src": "8415:6:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5454,18 +5400,18 @@ "typeString": "uint256" } ], - "id": 396, + "id": 392, "name": "FundAdded", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 30, - "src": "8393:9:0", + "src": "8381:9:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (bytes32,address,uint256)" } }, - "id": 401, + "id": 397, "isConstant": false, "isLValue": false, "isPure": false, @@ -5473,20 +5419,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8393:41:0", + "src": "8381:41:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 402, + "id": 398, "nodeType": "EmitStatement", - "src": "8388:46:0" + "src": "8376:46:0" } ] }, "documentation": "dev Allows buyer of the transaction to add more funds(ether) in the transaction. This will help to cater scenarios wherein initially buyer missed to fund transaction as required\nparam scriptHash script hash of the transaction\nOnly buyer of the transaction can invoke this method", - "id": 404, + "id": 400, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -5495,78 +5441,78 @@ "arguments": [ { "argumentTypes": null, - "id": 349, + "id": 345, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 346, - "src": "7951:10:0", + "referencedDeclaration": 342, + "src": "7939:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } } ], - "id": 350, + "id": 346, "modifierName": { "argumentTypes": null, - "id": 348, + "id": 344, "name": "transactionExists", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 99, - "src": "7933:17:0", + "src": "7921:17:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "7933:29:0" + "src": "7921:29:0" }, { "arguments": [ { "argumentTypes": null, - "id": 352, + "id": 348, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 346, - "src": "7985:10:0", + "referencedDeclaration": 342, + "src": "7973:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } } ], - "id": 353, + "id": 349, "modifierName": { "argumentTypes": null, - "id": 351, + "id": 347, "name": "inFundedState", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 132, - "src": "7971:13:0", + "src": "7959:13:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "7971:25:0" + "src": "7959:25:0" }, { "arguments": [ { "argumentTypes": null, - "id": 355, + "id": 351, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 346, - "src": "8026:10:0", + "referencedDeclaration": 342, + "src": "8014:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -5576,18 +5522,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 356, + "id": 352, "name": "TransactionType", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12, - "src": "8038:15:0", + "src": "8026:15:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_TransactionType_$12_$", "typeString": "type(enum Escrow_v1_0.TransactionType)" } }, - "id": 357, + "id": 353, "isConstant": false, "isLValue": false, "isPure": true, @@ -5595,77 +5541,77 @@ "memberName": "ETHER", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "8038:21:0", + "src": "8026:21:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" } } ], - "id": 358, + "id": 354, "modifierName": { "argumentTypes": null, - "id": 354, + "id": 350, "name": "checkTransactionType", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 165, - "src": "8005:20:0", + "src": "7993:20:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$_t_enum$_TransactionType_$12_$", "typeString": "modifier (bytes32,enum Escrow_v1_0.TransactionType)" } }, "nodeType": "ModifierInvocation", - "src": "8005:55:0" + "src": "7993:55:0" }, { "arguments": [ { "argumentTypes": null, - "id": 360, + "id": 356, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 346, - "src": "8079:10:0", + "referencedDeclaration": 342, + "src": "8067:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } } ], - "id": 361, + "id": 357, "modifierName": { "argumentTypes": null, - "id": 359, + "id": 355, "name": "onlyBuyer", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 182, - "src": "8069:9:0", + "src": "8057:9:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "8069:21:0" + "src": "8057:21:0" } ], "name": "addFundsToTransaction", "nodeType": "FunctionDefinition", "parameters": { - "id": 347, + "id": 343, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 346, + "id": 342, "name": "scriptHash", "nodeType": "VariableDeclaration", - "scope": 404, - "src": "7883:18:0", + "scope": 400, + "src": "7871:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5673,10 +5619,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 345, + "id": 341, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "7883:7:0", + "src": "7871:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -5686,39 +5632,39 @@ "visibility": "internal" } ], - "src": "7873:34:0" + "src": "7861:34:0" }, "payable": true, "returnParameters": { - "id": 362, + "id": 358, "nodeType": "ParameterList", "parameters": [], - "src": "8111:0:0" + "src": "8099:0:0" }, - "scope": 1210, - "src": "7843:598:0", + "scope": 1211, + "src": "7831:598:0", "stateMutability": "payable", "superFunction": null, "visibility": "external" }, { "body": { - "id": 486, + "id": 482, "nodeType": "Block", - "src": "8977:648:0", + "src": "8965:648:0", "statements": [ { "assignments": [ - 426 + 422 ], "declarations": [ { "constant": false, - "id": 426, + "id": 422, "name": "_value", "nodeType": "VariableDeclaration", - "scope": 487, - "src": "8987:14:0", + "scope": 483, + "src": "8975:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5726,10 +5672,10 @@ "typeString": "uint256" }, "typeName": { - "id": 425, + "id": 421, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "8987:7:0", + "src": "8975:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5739,22 +5685,22 @@ "visibility": "internal" } ], - "id": 428, + "id": 424, "initialValue": { "argumentTypes": null, - "id": 427, + "id": 423, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 408, - "src": "9004:5:0", + "referencedDeclaration": 404, + "src": "8992:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "8987:22:0" + "src": "8975:22:0" }, { "expression": { @@ -5766,19 +5712,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 432, + "id": 428, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 430, + "id": 426, "name": "_value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 426, - "src": "9028:6:0", + "referencedDeclaration": 422, + "src": "9016:6:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5789,14 +5735,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 431, + "id": 427, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "9037:1:0", + "src": "9025:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -5804,7 +5750,7 @@ }, "value": "0" }, - "src": "9028:10:0", + "src": "9016:10:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -5813,14 +5759,14 @@ { "argumentTypes": null, "hexValue": "56616c7565206d7573742062652067726561746572207468616e207a65726f2e", - "id": 433, + "id": 429, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "9040:34:0", + "src": "9028:34:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_21fbec2be6560b9ccffc4980d43c0d147770168e7aaf24999b418b9010085622", @@ -5840,21 +5786,21 @@ "typeString": "literal_string \"Value must be greater than zero.\"" } ], - "id": 429, + "id": 425, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1386, - 1387 + 1387, + 1388 ], - "referencedDeclaration": 1387, - "src": "9020:7:0", + "referencedDeclaration": 1388, + "src": "9008:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 434, + "id": 430, "isConstant": false, "isLValue": false, "isPure": false, @@ -5862,43 +5808,43 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "9020:55:0", + "src": "9008:55:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 435, + "id": 431, "nodeType": "ExpressionStatement", - "src": "9020:55:0" + "src": "9008:55:0" }, { "assignments": [ - 437 + 433 ], "declarations": [ { "constant": false, - "id": 437, + "id": 433, "name": "token", "nodeType": "VariableDeclaration", - "scope": 487, - "src": "9086:20:0", + "scope": 483, + "src": "9074:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenContract_$1240", + "typeIdentifier": "t_contract$_ITokenContract_$1241", "typeString": "contract ITokenContract" }, "typeName": { "contractScope": null, - "id": 436, + "id": 432, "name": "ITokenContract", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1240, - "src": "9086:14:0", + "referencedDeclaration": 1241, + "src": "9074:14:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenContract_$1240", + "typeIdentifier": "t_contract$_ITokenContract_$1241", "typeString": "contract ITokenContract" } }, @@ -5906,7 +5852,7 @@ "visibility": "internal" } ], - "id": 444, + "id": 440, "initialValue": { "argumentTypes": null, "arguments": [ @@ -5916,26 +5862,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 439, + "id": 435, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "9137:12:0", + "src": "9125:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 441, + "id": 437, "indexExpression": { "argumentTypes": null, - "id": 440, + "id": 436, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 406, - "src": "9150:10:0", + "referencedDeclaration": 402, + "src": "9138:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -5946,13 +5892,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "9137:24:0", + "src": "9125:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 442, + "id": 438, "isConstant": false, "isLValue": true, "isPure": false, @@ -5960,7 +5906,7 @@ "memberName": "tokenAddress", "nodeType": "MemberAccess", "referencedDeclaration": 56, - "src": "9137:37:0", + "src": "9125:37:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -5974,18 +5920,18 @@ "typeString": "address" } ], - "id": 438, + "id": 434, "name": "ITokenContract", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1240, - "src": "9109:14:0", + "referencedDeclaration": 1241, + "src": "9097:14:0", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ITokenContract_$1240_$", + "typeIdentifier": "t_type$_t_contract$_ITokenContract_$1241_$", "typeString": "type(contract ITokenContract)" } }, - "id": 443, + "id": 439, "isConstant": false, "isLValue": false, "isPure": false, @@ -5993,14 +5939,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "9109:75:0", + "src": "9097:75:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenContract_$1240", + "typeIdentifier": "t_contract$_ITokenContract_$1241", "typeString": "contract ITokenContract" } }, "nodeType": "VariableDeclarationStatement", - "src": "9086:98:0" + "src": "9074:98:0" }, { "expression": { @@ -6015,26 +5961,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 448, + "id": 444, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "9235:12:0", + "src": "9223:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 450, + "id": 446, "indexExpression": { "argumentTypes": null, - "id": 449, + "id": 445, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 406, - "src": "9248:10:0", + "referencedDeclaration": 402, + "src": "9236:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -6045,13 +5991,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "9235:24:0", + "src": "9223:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 451, + "id": 447, "isConstant": false, "isLValue": true, "isPure": false, @@ -6059,7 +6005,7 @@ "memberName": "buyer", "nodeType": "MemberAccess", "referencedDeclaration": 52, - "src": "9235:30:0", + "src": "9223:30:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -6067,25 +6013,25 @@ }, { "argumentTypes": null, - "id": 452, + "id": 448, "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1400, - "src": "9267:4:0", + "referencedDeclaration": 1401, + "src": "9255:4:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_Escrow_v1_0_$1210", + "typeIdentifier": "t_contract$_Escrow_v1_0_$1211", "typeString": "contract Escrow_v1_0" } }, { "argumentTypes": null, - "id": 453, + "id": 449, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 408, - "src": "9273:5:0", + "referencedDeclaration": 404, + "src": "9261:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6099,7 +6045,7 @@ "typeString": "address" }, { - "typeIdentifier": "t_contract$_Escrow_v1_0_$1210", + "typeIdentifier": "t_contract$_Escrow_v1_0_$1211", "typeString": "contract Escrow_v1_0" }, { @@ -6109,32 +6055,32 @@ ], "expression": { "argumentTypes": null, - "id": 446, + "id": 442, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 437, - "src": "9216:5:0", + "referencedDeclaration": 433, + "src": "9204:5:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenContract_$1240", + "typeIdentifier": "t_contract$_ITokenContract_$1241", "typeString": "contract ITokenContract" } }, - "id": 447, + "id": 443, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "transferFrom", "nodeType": "MemberAccess", - "referencedDeclaration": 1239, - "src": "9216:18:0", + "referencedDeclaration": 1240, + "src": "9204:18:0", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", "typeString": "function (address,address,uint256) external returns (bool)" } }, - "id": 454, + "id": 450, "isConstant": false, "isLValue": false, "isPure": false, @@ -6142,7 +6088,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "9216:63:0", + "src": "9204:63:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -6151,14 +6097,14 @@ { "argumentTypes": null, "hexValue": "546f6b656e207472616e73666572206661696c65642c206d6179626520796f7520646964206e6f7420617070726f766520657363726f7720636f6e747261637420746f207370656e64206f6e20626568616c66206f66206275796572", - "id": 455, + "id": 451, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "9293:94:0", + "src": "9281:94:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_d9d07068d589bc4adc53018a3c57c159ec128fdfb62732a5fa9410e76cf03318", @@ -6178,21 +6124,21 @@ "typeString": "literal_string \"Token transfer failed, maybe you did not approve escrow contract to spend on behalf of buyer\"" } ], - "id": 445, + "id": 441, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1386, - 1387 + 1387, + 1388 ], - "referencedDeclaration": 1387, - "src": "9195:7:0", + "referencedDeclaration": 1388, + "src": "9183:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 456, + "id": 452, "isConstant": false, "isLValue": false, "isPure": false, @@ -6200,20 +6146,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "9195:202:0", + "src": "9183:202:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 457, + "id": 453, "nodeType": "ExpressionStatement", - "src": "9195:202:0" + "src": "9183:202:0" }, { "expression": { "argumentTypes": null, - "id": 469, + "id": 465, "isConstant": false, "isLValue": false, "isPure": false, @@ -6224,26 +6170,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 458, + "id": 454, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "9408:12:0", + "src": "9396:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 460, + "id": 456, "indexExpression": { "argumentTypes": null, - "id": 459, + "id": 455, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 406, - "src": "9421:10:0", + "referencedDeclaration": 402, + "src": "9409:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -6254,13 +6200,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "9408:24:0", + "src": "9396:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 461, + "id": 457, "isConstant": false, "isLValue": true, "isPure": false, @@ -6268,7 +6214,7 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": 40, - "src": "9408:30:0", + "src": "9396:30:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6281,12 +6227,12 @@ "arguments": [ { "argumentTypes": null, - "id": 467, + "id": 463, "name": "_value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 426, - "src": "9489:6:0", + "referencedDeclaration": 422, + "src": "9477:6:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6306,26 +6252,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 462, + "id": 458, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "9441:12:0", + "src": "9429:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 464, + "id": 460, "indexExpression": { "argumentTypes": null, - "id": 463, + "id": 459, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 406, - "src": "9454:10:0", + "referencedDeclaration": 402, + "src": "9442:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -6336,13 +6282,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "9441:24:0", + "src": "9429:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 465, + "id": 461, "isConstant": false, "isLValue": true, "isPure": false, @@ -6350,27 +6296,27 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": 40, - "src": "9441:30:0", + "src": "9429:30:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 466, + "id": 462, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 1347, - "src": "9441:47:0", + "referencedDeclaration": 1348, + "src": "9429:47:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 468, + "id": 464, "isConstant": false, "isLValue": false, "isPure": false, @@ -6378,26 +6324,26 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "9441:55:0", + "src": "9429:55:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "9408:88:0", + "src": "9396:88:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 470, + "id": 466, "nodeType": "ExpressionStatement", - "src": "9408:88:0" + "src": "9396:88:0" }, { "expression": { "argumentTypes": null, - "id": 477, + "id": 473, "isConstant": false, "isLValue": false, "isPure": false, @@ -6408,26 +6354,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 471, + "id": 467, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "9506:12:0", + "src": "9494:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 473, + "id": 469, "indexExpression": { "argumentTypes": null, - "id": 472, + "id": 468, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 406, - "src": "9519:10:0", + "referencedDeclaration": 402, + "src": "9507:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -6438,13 +6384,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "9506:24:0", + "src": "9494:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 474, + "id": 470, "isConstant": false, "isLValue": true, "isPure": false, @@ -6452,7 +6398,7 @@ "memberName": "lastModified", "nodeType": "MemberAccess", "referencedDeclaration": 42, - "src": "9506:37:0", + "src": "9494:37:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6464,18 +6410,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 475, + "id": 471, "name": "block", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1373, - "src": "9546:5:0", + "referencedDeclaration": 1374, + "src": "9534:5:0", "typeDescriptions": { "typeIdentifier": "t_magic_block", "typeString": "block" } }, - "id": 476, + "id": 472, "isConstant": false, "isLValue": false, "isPure": false, @@ -6483,21 +6429,21 @@ "memberName": "timestamp", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "9546:15:0", + "src": "9534:15:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "9506:55:0", + "src": "9494:55:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 478, + "id": 474, "nodeType": "ExpressionStatement", - "src": "9506:55:0" + "src": "9494:55:0" }, { "eventCall": { @@ -6505,12 +6451,12 @@ "arguments": [ { "argumentTypes": null, - "id": 480, + "id": 476, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 406, - "src": "9587:10:0", + "referencedDeclaration": 402, + "src": "9575:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -6520,18 +6466,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 481, + "id": 477, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1383, - "src": "9599:3:0", + "referencedDeclaration": 1384, + "src": "9587:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 482, + "id": 478, "isConstant": false, "isLValue": false, "isPure": false, @@ -6539,7 +6485,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "9599:10:0", + "src": "9587:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -6547,12 +6493,12 @@ }, { "argumentTypes": null, - "id": 483, + "id": 479, "name": "_value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 426, - "src": "9611:6:0", + "referencedDeclaration": 422, + "src": "9599:6:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6574,18 +6520,18 @@ "typeString": "uint256" } ], - "id": 479, + "id": 475, "name": "FundAdded", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 30, - "src": "9577:9:0", + "src": "9565:9:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (bytes32,address,uint256)" } }, - "id": 484, + "id": 480, "isConstant": false, "isLValue": false, "isPure": false, @@ -6593,20 +6539,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "9577:41:0", + "src": "9565:41:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 485, + "id": 481, "nodeType": "EmitStatement", - "src": "9572:46:0" + "src": "9560:46:0" } ] }, "documentation": "dev Allows buyer of the transaction to add more funds(Tokens) in the transaction. This will help to cater scenarios wherein initially buyer missed to fund transaction as required\nparam scriptHash script hash of the transaction", - "id": 487, + "id": 483, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -6615,78 +6561,78 @@ "arguments": [ { "argumentTypes": null, - "id": 411, + "id": 407, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 406, - "src": "8833:10:0", + "referencedDeclaration": 402, + "src": "8821:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } } ], - "id": 412, + "id": 408, "modifierName": { "argumentTypes": null, - "id": 410, + "id": 406, "name": "transactionExists", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 99, - "src": "8815:17:0", + "src": "8803:17:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "8815:29:0" + "src": "8803:29:0" }, { "arguments": [ { "argumentTypes": null, - "id": 414, + "id": 410, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 406, - "src": "8867:10:0", + "referencedDeclaration": 402, + "src": "8855:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } } ], - "id": 415, + "id": 411, "modifierName": { "argumentTypes": null, - "id": 413, + "id": 409, "name": "inFundedState", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 132, - "src": "8853:13:0", + "src": "8841:13:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "8853:25:0" + "src": "8841:25:0" }, { "arguments": [ { "argumentTypes": null, - "id": 417, + "id": 413, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 406, - "src": "8908:10:0", + "referencedDeclaration": 402, + "src": "8896:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -6696,18 +6642,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 418, + "id": 414, "name": "TransactionType", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12, - "src": "8920:15:0", + "src": "8908:15:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_TransactionType_$12_$", "typeString": "type(enum Escrow_v1_0.TransactionType)" } }, - "id": 419, + "id": 415, "isConstant": false, "isLValue": false, "isPure": true, @@ -6715,77 +6661,77 @@ "memberName": "TOKEN", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "8920:21:0", + "src": "8908:21:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" } } ], - "id": 420, + "id": 416, "modifierName": { "argumentTypes": null, - "id": 416, + "id": 412, "name": "checkTransactionType", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 165, - "src": "8887:20:0", + "src": "8875:20:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$_t_enum$_TransactionType_$12_$", "typeString": "modifier (bytes32,enum Escrow_v1_0.TransactionType)" } }, "nodeType": "ModifierInvocation", - "src": "8887:55:0" + "src": "8875:55:0" }, { "arguments": [ { "argumentTypes": null, - "id": 422, + "id": 418, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 406, - "src": "8961:10:0", + "referencedDeclaration": 402, + "src": "8949:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } } ], - "id": 423, + "id": 419, "modifierName": { "argumentTypes": null, - "id": 421, + "id": 417, "name": "onlyBuyer", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 182, - "src": "8951:9:0", + "src": "8939:9:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "8951:21:0" + "src": "8939:21:0" } ], "name": "addTokensToTransaction", "nodeType": "FunctionDefinition", "parameters": { - "id": 409, + "id": 405, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 406, + "id": 402, "name": "scriptHash", "nodeType": "VariableDeclaration", - "scope": 487, - "src": "8742:18:0", + "scope": 483, + "src": "8730:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6793,10 +6739,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 405, + "id": 401, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "8742:7:0", + "src": "8730:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -6807,11 +6753,11 @@ }, { "constant": false, - "id": 408, + "id": 404, "name": "value", "nodeType": "VariableDeclaration", - "scope": 487, - "src": "8770:13:0", + "scope": 483, + "src": "8758:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6819,10 +6765,10 @@ "typeString": "uint256" }, "typeName": { - "id": 407, + "id": 403, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "8770:7:0", + "src": "8758:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6832,52 +6778,52 @@ "visibility": "internal" } ], - "src": "8732:57:0" + "src": "8720:57:0" }, "payable": false, "returnParameters": { - "id": 424, + "id": 420, "nodeType": "ParameterList", "parameters": [], - "src": "8977:0:0" + "src": "8965:0:0" }, - "scope": 1210, - "src": "8701:924:0", + "scope": 1211, + "src": "8689:924:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" }, { "body": { - "id": 499, + "id": 495, "nodeType": "Block", - "src": "9893:56:0", + "src": "9868:56:0", "statements": [ { "expression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 495, + "id": 491, "name": "partyVsTransaction", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 83, - "src": "9910:18:0", + "src": "9885:18:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_bytes32_$dyn_storage_$", "typeString": "mapping(address => bytes32[] storage ref)" } }, - "id": 497, + "id": 493, "indexExpression": { "argumentTypes": null, - "id": 496, + "id": 492, "name": "partyAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 489, - "src": "9929:12:0", + "referencedDeclaration": 485, + "src": "9904:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -6888,21 +6834,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "9910:32:0", + "src": "9885:32:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage", "typeString": "bytes32[] storage ref" } }, - "functionReturnParameters": 494, - "id": 498, + "functionReturnParameters": 490, + "id": 494, "nodeType": "Return", - "src": "9903:39:0" + "src": "9878:39:0" } ] }, "documentation": "dev Returns all transaction ids for a party\nparam partyAddress Address of the party", - "id": 500, + "id": 496, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -6910,16 +6856,16 @@ "name": "getAllTransactionsForParty", "nodeType": "FunctionDefinition", "parameters": { - "id": 490, + "id": 486, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 489, + "id": 485, "name": "partyAddress", "nodeType": "VariableDeclaration", - "scope": 500, - "src": "9787:20:0", + "scope": 496, + "src": "9775:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6927,10 +6873,10 @@ "typeString": "address" }, "typeName": { - "id": 488, + "id": 484, "name": "address", "nodeType": "ElementaryTypeName", - "src": "9787:7:0", + "src": "9775:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -6940,20 +6886,20 @@ "visibility": "internal" } ], - "src": "9777:36:0" + "src": "9765:36:0" }, "payable": false, "returnParameters": { - "id": 494, + "id": 490, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 493, - "name": "scriptHashes", + "id": 489, + "name": "", "nodeType": "VariableDeclaration", - "scope": 500, - "src": "9864:22:0", + "scope": 496, + "src": "9852:9:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6962,19 +6908,19 @@ }, "typeName": { "baseType": { - "id": 491, + "id": 487, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "9864:7:0", + "src": "9852:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "id": 492, + "id": 488, "length": null, "nodeType": "ArrayTypeName", - "src": "9864:9:0", + "src": "9852:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -6984,19 +6930,19 @@ "visibility": "internal" } ], - "src": "9863:24:0" + "src": "9851:11:0" }, - "scope": 1210, - "src": "9742:207:0", + "scope": 1211, + "src": "9730:194:0", "stateMutability": "view", "superFunction": null, "visibility": "external" }, { "body": { - "id": 585, + "id": 581, "nodeType": "Block", - "src": "10979:790:0", + "src": "10954:790:0", "statements": [ { "expression": { @@ -7008,7 +6954,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 536, + "id": 532, "isConstant": false, "isLValue": false, "isPure": false, @@ -7019,7 +6965,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 530, + "id": 526, "isConstant": false, "isLValue": false, "isPure": false, @@ -7028,18 +6974,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 527, + "id": 523, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 514, - "src": "11010:12:0", + "referencedDeclaration": 510, + "src": "10985:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" } }, - "id": 528, + "id": 524, "isConstant": false, "isLValue": false, "isPure": false, @@ -7047,7 +6993,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "11010:19:0", + "src": "10985:19:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7058,14 +7004,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 529, + "id": 525, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "11030:1:0", + "src": "11005:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -7073,7 +7019,7 @@ }, "value": "0" }, - "src": "11010:21:0", + "src": "10985:21:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -7087,7 +7033,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 535, + "id": 531, "isConstant": false, "isLValue": false, "isPure": false, @@ -7096,18 +7042,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 531, + "id": 527, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 514, - "src": "11035:12:0", + "referencedDeclaration": 510, + "src": "11010:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" } }, - "id": 532, + "id": 528, "isConstant": false, "isLValue": false, "isPure": false, @@ -7115,7 +7061,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "11035:19:0", + "src": "11010:19:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7127,18 +7073,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 533, + "id": 529, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 517, - "src": "11058:7:0", + "referencedDeclaration": 513, + "src": "11033:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", "typeString": "uint256[] calldata" } }, - "id": 534, + "id": 530, "isConstant": false, "isLValue": false, "isPure": false, @@ -7146,19 +7092,19 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "11058:14:0", + "src": "11033:14:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "11035:37:0", + "src": "11010:37:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "11010:62:0", + "src": "10985:62:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -7167,14 +7113,14 @@ { "argumentTypes": null, "hexValue": "4c656e677468206f662064657374696e6174696f6e7320697320696e636f72726563742e", - "id": 537, + "id": 533, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "11074:38:0", + "src": "11049:38:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_53e979b0c355ea1eeda44a80ca73370fdb2abe922711b459aa4ee43d1558782b", @@ -7194,21 +7140,21 @@ "typeString": "literal_string \"Length of destinations is incorrect.\"" } ], - "id": 526, + "id": 522, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1386, - 1387 + 1387, + 1388 ], - "referencedDeclaration": 1387, - "src": "10989:7:0", + "referencedDeclaration": 1388, + "src": "10964:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 538, + "id": 534, "isConstant": false, "isLValue": false, "isPure": false, @@ -7216,15 +7162,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "10989:133:0", + "src": "10964:133:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 539, + "id": 535, "nodeType": "ExpressionStatement", - "src": "10989:133:0" + "src": "10964:133:0" }, { "expression": { @@ -7232,12 +7178,12 @@ "arguments": [ { "argumentTypes": null, - "id": 541, + "id": 537, "name": "sigV", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 503, - "src": "11164:4:0", + "referencedDeclaration": 499, + "src": "11139:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_calldata_ptr", "typeString": "uint8[] calldata" @@ -7245,12 +7191,12 @@ }, { "argumentTypes": null, - "id": 542, + "id": 538, "name": "sigR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 506, - "src": "11182:4:0", + "referencedDeclaration": 502, + "src": "11157:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", "typeString": "bytes32[] calldata" @@ -7258,12 +7204,12 @@ }, { "argumentTypes": null, - "id": 543, + "id": 539, "name": "sigS", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 509, - "src": "11200:4:0", + "referencedDeclaration": 505, + "src": "11175:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", "typeString": "bytes32[] calldata" @@ -7271,12 +7217,12 @@ }, { "argumentTypes": null, - "id": 544, + "id": 540, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 511, - "src": "11218:10:0", + "referencedDeclaration": 507, + "src": "11193:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -7284,12 +7230,12 @@ }, { "argumentTypes": null, - "id": 545, + "id": 541, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 514, - "src": "11242:12:0", + "referencedDeclaration": 510, + "src": "11217:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" @@ -7297,12 +7243,12 @@ }, { "argumentTypes": null, - "id": 546, + "id": 542, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 517, - "src": "11268:7:0", + "referencedDeclaration": 513, + "src": "11243:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", "typeString": "uint256[] calldata" @@ -7336,18 +7282,18 @@ "typeString": "uint256[] calldata" } ], - "id": 540, + "id": 536, "name": "verifyTransaction", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 714, - "src": "11133:17:0", + "referencedDeclaration": 706, + "src": "11108:17:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_array$_t_uint8_$dyn_memory_ptr_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_bytes32_$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$__$", "typeString": "function (uint8[] memory,bytes32[] memory,bytes32[] memory,bytes32,address[] memory,uint256[] memory)" } }, - "id": 547, + "id": 543, "isConstant": false, "isLValue": false, "isPure": false, @@ -7355,20 +7301,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "11133:152:0", + "src": "11108:152:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 548, + "id": 544, "nodeType": "ExpressionStatement", - "src": "11133:152:0" + "src": "11108:152:0" }, { "expression": { "argumentTypes": null, - "id": 555, + "id": 551, "isConstant": false, "isLValue": false, "isPure": false, @@ -7379,26 +7325,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 549, + "id": 545, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "11296:12:0", + "src": "11271:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 551, + "id": 547, "indexExpression": { "argumentTypes": null, - "id": 550, + "id": 546, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 511, - "src": "11309:10:0", + "referencedDeclaration": 507, + "src": "11284:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -7409,13 +7355,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "11296:24:0", + "src": "11271:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 552, + "id": 548, "isConstant": false, "isLValue": true, "isPure": false, @@ -7423,7 +7369,7 @@ "memberName": "status", "nodeType": "MemberAccess", "referencedDeclaration": 44, - "src": "11296:31:0", + "src": "11271:31:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$9", "typeString": "enum Escrow_v1_0.Status" @@ -7435,18 +7381,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 553, + "id": 549, "name": "Status", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9, - "src": "11330:6:0", + "src": "11305:6:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_Status_$9_$", "typeString": "type(enum Escrow_v1_0.Status)" } }, - "id": 554, + "id": 550, "isConstant": false, "isLValue": false, "isPure": true, @@ -7454,26 +7400,26 @@ "memberName": "RELEASED", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "11330:15:0", + "src": "11305:15:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$9", "typeString": "enum Escrow_v1_0.Status" } }, - "src": "11296:49:0", + "src": "11271:49:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$9", "typeString": "enum Escrow_v1_0.Status" } }, - "id": 556, + "id": 552, "nodeType": "ExpressionStatement", - "src": "11296:49:0" + "src": "11271:49:0" }, { "expression": { "argumentTypes": null, - "id": 563, + "id": 559, "isConstant": false, "isLValue": false, "isPure": false, @@ -7484,26 +7430,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 557, + "id": 553, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "11429:12:0", + "src": "11404:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 559, + "id": 555, "indexExpression": { "argumentTypes": null, - "id": 558, + "id": 554, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 511, - "src": "11442:10:0", + "referencedDeclaration": 507, + "src": "11417:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -7514,13 +7460,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "11429:24:0", + "src": "11404:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 560, + "id": 556, "isConstant": false, "isLValue": true, "isPure": false, @@ -7528,7 +7474,7 @@ "memberName": "lastModified", "nodeType": "MemberAccess", "referencedDeclaration": 42, - "src": "11429:37:0", + "src": "11404:37:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7540,18 +7486,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 561, + "id": 557, "name": "block", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1373, - "src": "11469:5:0", + "referencedDeclaration": 1374, + "src": "11444:5:0", "typeDescriptions": { "typeIdentifier": "t_magic_block", "typeString": "block" } }, - "id": 562, + "id": 558, "isConstant": false, "isLValue": false, "isPure": false, @@ -7559,21 +7505,21 @@ "memberName": "timestamp", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "11469:15:0", + "src": "11444:15:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "11429:55:0", + "src": "11404:55:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 564, + "id": 560, "nodeType": "ExpressionStatement", - "src": "11429:55:0" + "src": "11404:55:0" }, { "expression": { @@ -7585,7 +7531,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 575, + "id": 571, "isConstant": false, "isLValue": false, "isPure": false, @@ -7595,12 +7541,12 @@ "arguments": [ { "argumentTypes": null, - "id": 567, + "id": 563, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 511, - "src": "11529:10:0", + "referencedDeclaration": 507, + "src": "11504:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -7608,12 +7554,12 @@ }, { "argumentTypes": null, - "id": 568, + "id": 564, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 514, - "src": "11541:12:0", + "referencedDeclaration": 510, + "src": "11516:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" @@ -7621,12 +7567,12 @@ }, { "argumentTypes": null, - "id": 569, + "id": 565, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 517, - "src": "11555:7:0", + "referencedDeclaration": 513, + "src": "11530:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", "typeString": "uint256[] calldata" @@ -7648,18 +7594,18 @@ "typeString": "uint256[] calldata" } ], - "id": 566, + "id": 562, "name": "transferFunds", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 895, - "src": "11515:13:0", + "referencedDeclaration": 893, + "src": "11490:13:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$_t_uint256_$", "typeString": "function (bytes32,address[] memory,uint256[] memory) returns (uint256)" } }, - "id": 570, + "id": 566, "isConstant": false, "isLValue": false, "isPure": false, @@ -7667,7 +7613,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "11515:48:0", + "src": "11490:48:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7681,26 +7627,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 571, + "id": 567, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "11567:12:0", + "src": "11542:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 573, + "id": 569, "indexExpression": { "argumentTypes": null, - "id": 572, + "id": 568, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 511, - "src": "11580:10:0", + "referencedDeclaration": 507, + "src": "11555:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -7711,13 +7657,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "11567:24:0", + "src": "11542:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 574, + "id": 570, "isConstant": false, "isLValue": true, "isPure": false, @@ -7725,13 +7671,13 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": 40, - "src": "11567:30:0", + "src": "11542:30:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "11515:82:0", + "src": "11490:82:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -7740,14 +7686,14 @@ { "argumentTypes": null, "hexValue": "546f74616c2076616c756520746f2062652072656c6561736564206d75737420626520657175616c20746f20746865207472616e73616374696f6e20657363726f772076616c7565", - "id": 576, + "id": 572, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "11611:74:0", + "src": "11586:74:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_9e0bdb14e2e0d5e118fd1f547268c6a1fdb5e8facacd614066d4b60bc2c9941d", @@ -7767,21 +7713,21 @@ "typeString": "literal_string \"Total value to be released must be equal to the transaction escrow value\"" } ], - "id": 565, + "id": 561, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1386, - 1387 + 1387, + 1388 ], - "referencedDeclaration": 1387, - "src": "11494:7:0", + "referencedDeclaration": 1388, + "src": "11469:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 577, + "id": 573, "isConstant": false, "isLValue": false, "isPure": false, @@ -7789,15 +7735,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "11494:201:0", + "src": "11469:201:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 578, + "id": 574, "nodeType": "ExpressionStatement", - "src": "11494:201:0" + "src": "11469:201:0" }, { "eventCall": { @@ -7805,12 +7751,12 @@ "arguments": [ { "argumentTypes": null, - "id": 580, + "id": 576, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 511, - "src": "11728:10:0", + "referencedDeclaration": 507, + "src": "11703:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -7818,12 +7764,12 @@ }, { "argumentTypes": null, - "id": 581, + "id": 577, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 514, - "src": "11740:12:0", + "referencedDeclaration": 510, + "src": "11715:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" @@ -7831,12 +7777,12 @@ }, { "argumentTypes": null, - "id": 582, + "id": 578, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 517, - "src": "11754:7:0", + "referencedDeclaration": 513, + "src": "11729:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", "typeString": "uint256[] calldata" @@ -7858,18 +7804,18 @@ "typeString": "uint256[] calldata" } ], - "id": 579, + "id": 575, "name": "Executed", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 22, - "src": "11719:8:0", + "src": "11694:8:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$__$", "typeString": "function (bytes32,address[] memory,uint256[] memory)" } }, - "id": 583, + "id": 579, "isConstant": false, "isLValue": false, "isPure": false, @@ -7877,20 +7823,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "11719:43:0", + "src": "11694:43:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 584, + "id": 580, "nodeType": "EmitStatement", - "src": "11714:48:0" + "src": "11689:48:0" } ] }, "documentation": "dev Allows one of the moderator to collect all the signature to solve dispute and submit it to this method.\nIf all the required signatures are collected and consensus has been reached than funds will be released to the voted party\nparam sigV Array containing V component of all the signatures\nparam sigR Array containing R component of all the signatures\nparam signS Array containing S component of all the signatures\nparam scriptHash script hash of the transaction\nparam destinations address of the destination in whose favour dispute resolution is taking place. In case of split payments it will be address of the split payments contract\nparam amounts value to send to each destination", - "id": 586, + "id": 582, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -7899,82 +7845,82 @@ "arguments": [ { "argumentTypes": null, - "id": 520, + "id": 516, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 511, - "src": "10929:10:0", + "referencedDeclaration": 507, + "src": "10904:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } } ], - "id": 521, + "id": 517, "modifierName": { "argumentTypes": null, - "id": 519, + "id": 515, "name": "transactionExists", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 99, - "src": "10911:17:0", + "src": "10886:17:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "10911:29:0" + "src": "10886:29:0" }, { "arguments": [ { "argumentTypes": null, - "id": 523, + "id": 519, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 511, - "src": "10963:10:0", + "referencedDeclaration": 507, + "src": "10938:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } } ], - "id": 524, + "id": 520, "modifierName": { "argumentTypes": null, - "id": 522, + "id": 518, "name": "inFundedState", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 132, - "src": "10949:13:0", + "src": "10924:13:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "10949:25:0" + "src": "10924:25:0" } ], "name": "execute", "nodeType": "FunctionDefinition", "parameters": { - "id": 518, + "id": 514, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 503, + "id": 499, "name": "sigV", "nodeType": "VariableDeclaration", - "scope": 586, - "src": "10732:12:0", + "scope": 582, + "src": "10707:12:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -7983,19 +7929,19 @@ }, "typeName": { "baseType": { - "id": 501, + "id": 497, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "10732:5:0", + "src": "10707:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, - "id": 502, + "id": 498, "length": null, "nodeType": "ArrayTypeName", - "src": "10732:7:0", + "src": "10707:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_storage_ptr", "typeString": "uint8[]" @@ -8006,11 +7952,11 @@ }, { "constant": false, - "id": 506, + "id": 502, "name": "sigR", "nodeType": "VariableDeclaration", - "scope": 586, - "src": "10754:14:0", + "scope": 582, + "src": "10729:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8019,19 +7965,19 @@ }, "typeName": { "baseType": { - "id": 504, + "id": 500, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "10754:7:0", + "src": "10729:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "id": 505, + "id": 501, "length": null, "nodeType": "ArrayTypeName", - "src": "10754:9:0", + "src": "10729:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -8042,11 +7988,11 @@ }, { "constant": false, - "id": 509, + "id": 505, "name": "sigS", "nodeType": "VariableDeclaration", - "scope": 586, - "src": "10778:14:0", + "scope": 582, + "src": "10753:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8055,19 +8001,19 @@ }, "typeName": { "baseType": { - "id": 507, + "id": 503, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "10778:7:0", + "src": "10753:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "id": 508, + "id": 504, "length": null, "nodeType": "ArrayTypeName", - "src": "10778:9:0", + "src": "10753:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -8078,11 +8024,11 @@ }, { "constant": false, - "id": 511, + "id": 507, "name": "scriptHash", "nodeType": "VariableDeclaration", - "scope": 586, - "src": "10802:18:0", + "scope": 582, + "src": "10777:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8090,10 +8036,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 510, + "id": 506, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "10802:7:0", + "src": "10777:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -8104,11 +8050,11 @@ }, { "constant": false, - "id": 514, + "id": 510, "name": "destinations", "nodeType": "VariableDeclaration", - "scope": 586, - "src": "10830:22:0", + "scope": 582, + "src": "10805:22:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8117,19 +8063,19 @@ }, "typeName": { "baseType": { - "id": 512, + "id": 508, "name": "address", "nodeType": "ElementaryTypeName", - "src": "10830:7:0", + "src": "10805:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 513, + "id": 509, "length": null, "nodeType": "ArrayTypeName", - "src": "10830:9:0", + "src": "10805:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", "typeString": "address[]" @@ -8140,11 +8086,11 @@ }, { "constant": false, - "id": 517, + "id": 513, "name": "amounts", "nodeType": "VariableDeclaration", - "scope": 586, - "src": "10862:17:0", + "scope": 582, + "src": "10837:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8153,19 +8099,19 @@ }, "typeName": { "baseType": { - "id": 515, + "id": 511, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "10862:7:0", + "src": "10837:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 516, + "id": 512, "length": null, "nodeType": "ArrayTypeName", - "src": "10862:9:0", + "src": "10837:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -8175,26 +8121,26 @@ "visibility": "internal" } ], - "src": "10722:163:0" + "src": "10697:163:0" }, "payable": false, "returnParameters": { - "id": 525, + "id": 521, "nodeType": "ParameterList", "parameters": [], - "src": "10979:0:0" + "src": "10954:0:0" }, - "scope": 1210, - "src": "10706:1063:0", + "scope": 1211, + "src": "10681:1063:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" }, { "body": { - "id": 644, + "id": 636, "nodeType": "Block", - "src": "12528:716:0", + "src": "12498:716:0", "statements": [ { "condition": { @@ -8203,19 +8149,19 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 609, + "id": 605, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 605, + "id": 601, "name": "tokenAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 600, - "src": "12542:12:0", + "referencedDeclaration": 596, + "src": "12512:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8229,14 +8175,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 607, + "id": 603, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "12566:1:0", + "src": "12536:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -8252,20 +8198,20 @@ "typeString": "int_const 0" } ], - "id": 606, + "id": 602, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "12558:7:0", + "src": "12528:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, - "id": 608, + "id": 604, "isConstant": false, "isLValue": false, "isPure": true, @@ -8273,521 +8219,467 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "12558:10:0", + "src": "12528:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "12542:26:0", + "src": "12512:26:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": { - "id": 642, + "id": 634, "nodeType": "Block", - "src": "12890:348:0", + "src": "12860:348:0", "statements": [ { "expression": { "argumentTypes": null, - "id": 640, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 626, - "name": "hash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 603, - "src": "12904:4:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 623, + "name": "uniqueId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 584, + "src": "12946:8:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes20", + "typeString": "bytes20" + } + }, + { + "argumentTypes": null, + "id": 624, + "name": "threshold", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 586, + "src": "12976:9:0", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + { + "argumentTypes": null, + "id": 625, + "name": "timeoutHours", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 588, + "src": "13007:12:0", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + { + "argumentTypes": null, + "id": 626, + "name": "buyer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 590, + "src": "13041:5:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 627, + "name": "seller", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 592, + "src": "13068:6:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 628, + "name": "moderator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 594, + "src": "13096:9:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 629, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1401, + "src": "13127:4:0", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Escrow_v1_0_$1211", + "typeString": "contract Escrow_v1_0" + } + }, + { + "argumentTypes": null, + "id": 630, + "name": "tokenAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 596, + "src": "13153:12:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ { - "argumentTypes": null, - "id": 630, - "name": "uniqueId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 588, - "src": "12976:8:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes20", - "typeString": "bytes20" - } + "typeIdentifier": "t_bytes20", + "typeString": "bytes20" }, { - "argumentTypes": null, - "id": 631, - "name": "threshold", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 590, - "src": "13006:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } + "typeIdentifier": "t_uint8", + "typeString": "uint8" }, { - "argumentTypes": null, - "id": 632, - "name": "timeoutHours", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 592, - "src": "13037:12:0", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } + "typeIdentifier": "t_uint32", + "typeString": "uint32" }, { - "argumentTypes": null, - "id": 633, - "name": "buyer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 594, - "src": "13071:5:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } + "typeIdentifier": "t_address", + "typeString": "address" }, { - "argumentTypes": null, - "id": 634, - "name": "seller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 596, - "src": "13098:6:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } + "typeIdentifier": "t_address", + "typeString": "address" }, { - "argumentTypes": null, - "id": 635, - "name": "moderator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 598, - "src": "13126:9:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } + "typeIdentifier": "t_address", + "typeString": "address" }, { - "argumentTypes": null, - "id": 636, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1400, - "src": "13157:4:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Escrow_v1_0_$1210", - "typeString": "contract Escrow_v1_0" - } + "typeIdentifier": "t_contract$_Escrow_v1_0_$1211", + "typeString": "contract Escrow_v1_0" }, { - "argumentTypes": null, - "id": 637, - "name": "tokenAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 600, - "src": "13183:12:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } + "typeIdentifier": "t_address", + "typeString": "address" } ], "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes20", - "typeString": "bytes20" - }, - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_contract$_Escrow_v1_0_$1210", - "typeString": "contract Escrow_v1_0" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 628, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1370, - "src": "12938:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 629, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodePacked", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "12938:16:0", + "argumentTypes": null, + "id": 621, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1371, + "src": "12908:3:0", "typeDescriptions": { - "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" + "typeIdentifier": "t_magic_abi", + "typeString": "abi" } }, - "id": 638, + "id": 622, "isConstant": false, "isLValue": false, - "isPure": false, - "kind": "functionCall", + "isPure": true, "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12938:275:0", + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "12908:16:0", "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" } + }, + "id": 631, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12908:275:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" } ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 627, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1377, - "src": "12911:9:0", - "typeDescriptions": { - "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", - "typeString": "function () pure returns (bytes32)" - } - }, - "id": 639, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12911:316:0", + "id": 620, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1378, + "src": "12881:9:0", "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" + "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", + "typeString": "function () pure returns (bytes32)" } }, - "src": "12904:323:0", + "id": 632, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12881:316:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "id": 641, - "nodeType": "ExpressionStatement", - "src": "12904:323:0" + "functionReturnParameters": 600, + "id": 633, + "nodeType": "Return", + "src": "12874:323:0" } ] }, - "id": 643, + "id": 635, "nodeType": "IfStatement", - "src": "12538:700:0", + "src": "12508:700:0", "trueBody": { - "id": 625, + "id": 619, "nodeType": "Block", - "src": "12570:314:0", + "src": "12540:314:0", "statements": [ { "expression": { "argumentTypes": null, - "id": 623, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 610, - "name": "hash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 603, - "src": "12584:4:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 609, + "name": "uniqueId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 584, + "src": "12626:8:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes20", + "typeString": "bytes20" + } + }, + { + "argumentTypes": null, + "id": 610, + "name": "threshold", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 586, + "src": "12656:9:0", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + { + "argumentTypes": null, + "id": 611, + "name": "timeoutHours", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 588, + "src": "12687:12:0", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + { + "argumentTypes": null, + "id": 612, + "name": "buyer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 590, + "src": "12721:5:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 613, + "name": "seller", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 592, + "src": "12748:6:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 614, + "name": "moderator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 594, + "src": "12776:9:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 615, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1401, + "src": "12807:4:0", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Escrow_v1_0_$1211", + "typeString": "contract Escrow_v1_0" + } + } + ], + "expression": { + "argumentTypes": [ { - "argumentTypes": null, - "id": 614, - "name": "uniqueId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 588, - "src": "12656:8:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes20", - "typeString": "bytes20" - } + "typeIdentifier": "t_bytes20", + "typeString": "bytes20" }, { - "argumentTypes": null, - "id": 615, - "name": "threshold", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 590, - "src": "12686:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } + "typeIdentifier": "t_uint8", + "typeString": "uint8" }, { - "argumentTypes": null, - "id": 616, - "name": "timeoutHours", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 592, - "src": "12717:12:0", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } + "typeIdentifier": "t_uint32", + "typeString": "uint32" }, { - "argumentTypes": null, - "id": 617, - "name": "buyer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 594, - "src": "12751:5:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } + "typeIdentifier": "t_address", + "typeString": "address" }, { - "argumentTypes": null, - "id": 618, - "name": "seller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 596, - "src": "12778:6:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } + "typeIdentifier": "t_address", + "typeString": "address" }, { - "argumentTypes": null, - "id": 619, - "name": "moderator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 598, - "src": "12806:9:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } + "typeIdentifier": "t_address", + "typeString": "address" }, { - "argumentTypes": null, - "id": 620, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1400, - "src": "12837:4:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Escrow_v1_0_$1210", - "typeString": "contract Escrow_v1_0" - } + "typeIdentifier": "t_contract$_Escrow_v1_0_$1211", + "typeString": "contract Escrow_v1_0" } ], "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes20", - "typeString": "bytes20" - }, - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_contract$_Escrow_v1_0_$1210", - "typeString": "contract Escrow_v1_0" - } - ], - "expression": { - "argumentTypes": null, - "id": 612, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1370, - "src": "12618:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 613, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodePacked", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "12618:16:0", + "argumentTypes": null, + "id": 607, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1371, + "src": "12588:3:0", "typeDescriptions": { - "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" + "typeIdentifier": "t_magic_abi", + "typeString": "abi" } }, - "id": 621, + "id": 608, "isConstant": false, "isLValue": false, - "isPure": false, - "kind": "functionCall", + "isPure": true, "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12618:241:0", + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "12588:16:0", "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" } - ], - "id": 611, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1377, - "src": "12591:9:0", + }, + "id": 616, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12588:241:0", "typeDescriptions": { - "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", - "typeString": "function () pure returns (bytes32)" + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" } - }, - "id": 622, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12591:282:0", + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 606, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1378, + "src": "12561:9:0", "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" + "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", + "typeString": "function () pure returns (bytes32)" } }, - "src": "12584:289:0", + "id": 617, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12561:282:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "id": 624, - "nodeType": "ExpressionStatement", - "src": "12584:289:0" + "functionReturnParameters": 600, + "id": 618, + "nodeType": "Return", + "src": "12554:289:0" } ] } @@ -8795,7 +8687,7 @@ ] }, "documentation": "dev Method for calculating script hash. Calculation will depend upon the type of transaction\nETHER Type transaction-:\nScript Hash- keccak256(uniqueId, threshold, timeoutHours, buyer, seller, moderator)\nTOKEN Type transaction\nScript Hash- keccak256(uniqueId, threshold, timeoutHours, buyer, seller, moderator, tokenAddress)\nClient can use this method to verify whether it has calculated correct script hash or not", - "id": 645, + "id": 637, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -8803,16 +8695,16 @@ "name": "calculateRedeemScriptHash", "nodeType": "FunctionDefinition", "parameters": { - "id": 601, + "id": 597, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 588, + "id": 584, "name": "uniqueId", "nodeType": "VariableDeclaration", - "scope": 645, - "src": "12284:16:0", + "scope": 637, + "src": "12259:16:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8820,10 +8712,10 @@ "typeString": "bytes20" }, "typeName": { - "id": 587, + "id": 583, "name": "bytes20", "nodeType": "ElementaryTypeName", - "src": "12284:7:0", + "src": "12259:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -8834,11 +8726,11 @@ }, { "constant": false, - "id": 590, + "id": 586, "name": "threshold", "nodeType": "VariableDeclaration", - "scope": 645, - "src": "12310:15:0", + "scope": 637, + "src": "12285:15:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8846,10 +8738,10 @@ "typeString": "uint8" }, "typeName": { - "id": 589, + "id": 585, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "12310:5:0", + "src": "12285:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -8860,11 +8752,11 @@ }, { "constant": false, - "id": 592, + "id": 588, "name": "timeoutHours", "nodeType": "VariableDeclaration", - "scope": 645, - "src": "12335:19:0", + "scope": 637, + "src": "12310:19:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8872,10 +8764,10 @@ "typeString": "uint32" }, "typeName": { - "id": 591, + "id": 587, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "12335:6:0", + "src": "12310:6:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -8886,11 +8778,11 @@ }, { "constant": false, - "id": 594, + "id": 590, "name": "buyer", "nodeType": "VariableDeclaration", - "scope": 645, - "src": "12364:13:0", + "scope": 637, + "src": "12339:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8898,10 +8790,10 @@ "typeString": "address" }, "typeName": { - "id": 593, + "id": 589, "name": "address", "nodeType": "ElementaryTypeName", - "src": "12364:7:0", + "src": "12339:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8912,11 +8804,11 @@ }, { "constant": false, - "id": 596, + "id": 592, "name": "seller", "nodeType": "VariableDeclaration", - "scope": 645, - "src": "12387:14:0", + "scope": 637, + "src": "12362:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8924,10 +8816,10 @@ "typeString": "address" }, "typeName": { - "id": 595, + "id": 591, "name": "address", "nodeType": "ElementaryTypeName", - "src": "12387:7:0", + "src": "12362:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8938,11 +8830,11 @@ }, { "constant": false, - "id": 598, + "id": 594, "name": "moderator", "nodeType": "VariableDeclaration", - "scope": 645, - "src": "12411:17:0", + "scope": 637, + "src": "12386:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8950,10 +8842,10 @@ "typeString": "address" }, "typeName": { - "id": 597, + "id": 593, "name": "address", "nodeType": "ElementaryTypeName", - "src": "12411:7:0", + "src": "12386:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8964,11 +8856,11 @@ }, { "constant": false, - "id": 600, + "id": 596, "name": "tokenAddress", "nodeType": "VariableDeclaration", - "scope": 645, - "src": "12438:20:0", + "scope": 637, + "src": "12413:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8976,10 +8868,10 @@ "typeString": "address" }, "typeName": { - "id": 599, + "id": 595, "name": "address", "nodeType": "ElementaryTypeName", - "src": "12438:7:0", + "src": "12413:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8989,20 +8881,20 @@ "visibility": "internal" } ], - "src": "12274:190:0" + "src": "12249:190:0" }, "payable": false, "returnParameters": { - "id": 604, + "id": 600, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 603, - "name": "hash", + "id": 599, + "name": "", "nodeType": "VariableDeclaration", - "scope": 645, - "src": "12510:12:0", + "scope": 637, + "src": "12485:7:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9010,10 +8902,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 602, + "id": 598, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "12510:7:0", + "src": "12485:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -9023,32 +8915,32 @@ "visibility": "internal" } ], - "src": "12509:14:0" + "src": "12484:9:0" }, - "scope": 1210, - "src": "12240:1004:0", + "scope": 1211, + "src": "12215:999:0", "stateMutability": "view", "superFunction": null, "visibility": "public" }, { "body": { - "id": 713, + "id": 705, "nodeType": "Block", - "src": "13728:742:0", + "src": "13698:742:0", "statements": [ { "assignments": [ - 666 + 658 ], "declarations": [ { "constant": false, - "id": 666, + "id": 658, "name": "lastRecovered", "nodeType": "VariableDeclaration", - "scope": 714, - "src": "13738:21:0", + "scope": 706, + "src": "13708:21:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9056,10 +8948,10 @@ "typeString": "address" }, "typeName": { - "id": 665, + "id": 657, "name": "address", "nodeType": "ElementaryTypeName", - "src": "13738:7:0", + "src": "13708:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -9069,18 +8961,18 @@ "visibility": "internal" } ], - "id": 675, + "id": 667, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 668, + "id": 660, "name": "sigV", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 648, - "src": "13792:4:0", + "referencedDeclaration": 640, + "src": "13762:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr", "typeString": "uint8[] memory" @@ -9088,12 +8980,12 @@ }, { "argumentTypes": null, - "id": 669, + "id": 661, "name": "sigR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 651, - "src": "13810:4:0", + "referencedDeclaration": 643, + "src": "13780:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" @@ -9101,12 +8993,12 @@ }, { "argumentTypes": null, - "id": 670, + "id": 662, "name": "sigS", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 654, - "src": "13828:4:0", + "referencedDeclaration": 646, + "src": "13798:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" @@ -9114,12 +9006,12 @@ }, { "argumentTypes": null, - "id": 671, + "id": 663, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 656, - "src": "13846:10:0", + "referencedDeclaration": 648, + "src": "13816:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -9127,12 +9019,12 @@ }, { "argumentTypes": null, - "id": 672, + "id": 664, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 659, - "src": "13870:12:0", + "referencedDeclaration": 651, + "src": "13840:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -9140,12 +9032,12 @@ }, { "argumentTypes": null, - "id": 673, + "id": 665, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 662, - "src": "13896:7:0", + "referencedDeclaration": 654, + "src": "13866:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" @@ -9179,18 +9071,18 @@ "typeString": "uint256[] memory" } ], - "id": 667, + "id": 659, "name": "verifySignatures", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1019, - "src": "13762:16:0", + "referencedDeclaration": 1022, + "src": "13732:16:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_array$_t_uint8_$dyn_memory_ptr_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_bytes32_$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$_t_address_$", "typeString": "function (uint8[] memory,bytes32[] memory,bytes32[] memory,bytes32,address[] memory,uint256[] memory) returns (address)" } }, - "id": 674, + "id": 666, "isConstant": false, "isLValue": false, "isPure": false, @@ -9198,27 +9090,27 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "13762:151:0", + "src": "13732:151:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "VariableDeclarationStatement", - "src": "13738:175:0" + "src": "13708:175:0" }, { "assignments": [ - 677 + 669 ], "declarations": [ { "constant": false, - "id": 677, + "id": 669, "name": "timeLockExpired", "nodeType": "VariableDeclaration", - "scope": 714, - "src": "13924:20:0", + "scope": 706, + "src": "13894:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9226,10 +9118,10 @@ "typeString": "bool" }, "typeName": { - "id": 676, + "id": 668, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "13924:4:0", + "src": "13894:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -9239,7 +9131,7 @@ "visibility": "internal" } ], - "id": 688, + "id": 680, "initialValue": { "argumentTypes": null, "arguments": [ @@ -9249,26 +9141,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 679, + "id": 671, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "13978:12:0", + "src": "13948:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 681, + "id": 673, "indexExpression": { "argumentTypes": null, - "id": 680, + "id": 672, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 656, - "src": "13991:10:0", + "referencedDeclaration": 648, + "src": "13961:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -9279,13 +9171,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "13978:24:0", + "src": "13948:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 682, + "id": 674, "isConstant": false, "isLValue": true, "isPure": false, @@ -9293,7 +9185,7 @@ "memberName": "timeoutHours", "nodeType": "MemberAccess", "referencedDeclaration": 50, - "src": "13978:37:0", + "src": "13948:37:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -9305,26 +9197,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 683, + "id": 675, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "14029:12:0", + "src": "13999:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 685, + "id": 677, "indexExpression": { "argumentTypes": null, - "id": 684, + "id": 676, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 656, - "src": "14042:10:0", + "referencedDeclaration": 648, + "src": "14012:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -9335,13 +9227,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "14029:24:0", + "src": "13999:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 686, + "id": 678, "isConstant": false, "isLValue": true, "isPure": false, @@ -9349,7 +9241,7 @@ "memberName": "lastModified", "nodeType": "MemberAccess", "referencedDeclaration": 42, - "src": "14029:37:0", + "src": "13999:37:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9367,18 +9259,18 @@ "typeString": "uint256" } ], - "id": 678, + "id": 670, "name": "isTimeLockExpired", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1053, - "src": "13947:17:0", + "referencedDeclaration": 1054, + "src": "13917:17:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_uint32_$_t_uint256_$returns$_t_bool_$", "typeString": "function (uint32,uint256) view returns (bool)" } }, - "id": 687, + "id": 679, "isConstant": false, "isLValue": false, "isPure": false, @@ -9386,14 +9278,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "13947:129:0", + "src": "13917:129:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "nodeType": "VariableDeclarationStatement", - "src": "13924:152:0" + "src": "13894:152:0" }, { "condition": { @@ -9402,7 +9294,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 706, + "id": 698, "isConstant": false, "isLValue": false, "isPure": false, @@ -9413,7 +9305,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 695, + "id": 687, "isConstant": false, "isLValue": false, "isPure": false, @@ -9422,18 +9314,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 689, + "id": 681, "name": "sigV", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 648, - "src": "14248:4:0", + "referencedDeclaration": 640, + "src": "14218:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr", "typeString": "uint8[] memory" } }, - "id": 690, + "id": 682, "isConstant": false, "isLValue": false, "isPure": false, @@ -9441,7 +9333,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "14248:11:0", + "src": "14218:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9455,26 +9347,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 691, + "id": 683, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "14262:12:0", + "src": "14232:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 693, + "id": 685, "indexExpression": { "argumentTypes": null, - "id": 692, + "id": 684, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 656, - "src": "14275:10:0", + "referencedDeclaration": 648, + "src": "14245:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -9485,13 +9377,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "14262:24:0", + "src": "14232:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 694, + "id": 686, "isConstant": false, "isLValue": true, "isPure": false, @@ -9499,13 +9391,13 @@ "memberName": "threshold", "nodeType": "MemberAccess", "referencedDeclaration": 48, - "src": "14262:34:0", + "src": "14232:34:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, - "src": "14248:48:0", + "src": "14218:48:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -9522,14 +9414,14 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 704, + "id": 696, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 697, + "id": 689, "isConstant": false, "isLValue": false, "isPure": false, @@ -9537,15 +9429,15 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "14301:16:0", + "src": "14271:16:0", "subExpression": { "argumentTypes": null, - "id": 696, + "id": 688, "name": "timeLockExpired", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 677, - "src": "14302:15:0", + "referencedDeclaration": 669, + "src": "14272:15:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -9564,19 +9456,19 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 703, + "id": 695, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 698, + "id": 690, "name": "lastRecovered", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 666, - "src": "14321:13:0", + "referencedDeclaration": 658, + "src": "14291:13:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -9590,26 +9482,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 699, + "id": 691, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "14338:12:0", + "src": "14308:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 701, + "id": 693, "indexExpression": { "argumentTypes": null, - "id": 700, + "id": 692, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 656, - "src": "14351:10:0", + "referencedDeclaration": 648, + "src": "14321:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -9620,13 +9512,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "14338:24:0", + "src": "14308:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 702, + "id": 694, "isConstant": false, "isLValue": true, "isPure": false, @@ -9634,52 +9526,52 @@ "memberName": "seller", "nodeType": "MemberAccess", "referencedDeclaration": 54, - "src": "14338:31:0", + "src": "14308:31:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "14321:48:0", + "src": "14291:48:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "14301:68:0", + "src": "14271:68:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } } ], - "id": 705, + "id": 697, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "14300:70:0", + "src": "14270:70:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "14248:122:0", + "src": "14218:122:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, - "id": 712, + "id": 704, "nodeType": "IfStatement", - "src": "14227:236:0", + "src": "14197:236:0", "trueBody": { - "id": 711, + "id": 703, "nodeType": "Block", - "src": "14393:70:0", + "src": "14363:70:0", "statements": [ { "expression": { @@ -9688,14 +9580,14 @@ { "argumentTypes": null, "hexValue": "736967562e6c656e67746820697320756e64657220746865207468726573686f6c642e", - "id": 708, + "id": 700, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "14414:37:0", + "src": "14384:37:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_d1b34f8ee6043043ff8e104db499160a1e51c77ca18fe42fba7312fd923c28e1", @@ -9711,21 +9603,21 @@ "typeString": "literal_string \"sigV.length is under the threshold.\"" } ], - "id": 707, + "id": 699, "name": "revert", "nodeType": "Identifier", "overloadedDeclarations": [ - 1388, - 1389 + 1389, + 1390 ], - "referencedDeclaration": 1389, - "src": "14407:6:0", + "referencedDeclaration": 1390, + "src": "14377:6:0", "typeDescriptions": { "typeIdentifier": "t_function_revert_pure$_t_string_memory_ptr_$returns$__$", "typeString": "function (string memory) pure" } }, - "id": 709, + "id": 701, "isConstant": false, "isLValue": false, "isPure": false, @@ -9733,15 +9625,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "14407:45:0", + "src": "14377:45:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 710, + "id": 702, "nodeType": "ExpressionStatement", - "src": "14407:45:0" + "src": "14377:45:0" } ] } @@ -9749,7 +9641,7 @@ ] }, "documentation": "@dev This methods checks validity of transaction\n1. Verify Signatures\n2. Check if minimum number of signatures has been acquired\n3. If above condition is false, check if time lock is expired and the execution is signed by seller", - "id": 714, + "id": 706, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -9757,16 +9649,16 @@ "name": "verifyTransaction", "nodeType": "FunctionDefinition", "parameters": { - "id": 663, + "id": 655, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 648, + "id": 640, "name": "sigV", "nodeType": "VariableDeclaration", - "scope": 714, - "src": "13554:12:0", + "scope": 706, + "src": "13524:12:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9775,19 +9667,19 @@ }, "typeName": { "baseType": { - "id": 646, + "id": 638, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "13554:5:0", + "src": "13524:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, - "id": 647, + "id": 639, "length": null, "nodeType": "ArrayTypeName", - "src": "13554:7:0", + "src": "13524:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_storage_ptr", "typeString": "uint8[]" @@ -9798,11 +9690,11 @@ }, { "constant": false, - "id": 651, + "id": 643, "name": "sigR", "nodeType": "VariableDeclaration", - "scope": 714, - "src": "13576:14:0", + "scope": 706, + "src": "13546:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9811,19 +9703,19 @@ }, "typeName": { "baseType": { - "id": 649, + "id": 641, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "13576:7:0", + "src": "13546:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "id": 650, + "id": 642, "length": null, "nodeType": "ArrayTypeName", - "src": "13576:9:0", + "src": "13546:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -9834,11 +9726,11 @@ }, { "constant": false, - "id": 654, + "id": 646, "name": "sigS", "nodeType": "VariableDeclaration", - "scope": 714, - "src": "13600:14:0", + "scope": 706, + "src": "13570:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9847,19 +9739,19 @@ }, "typeName": { "baseType": { - "id": 652, + "id": 644, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "13600:7:0", + "src": "13570:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "id": 653, + "id": 645, "length": null, "nodeType": "ArrayTypeName", - "src": "13600:9:0", + "src": "13570:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -9870,11 +9762,11 @@ }, { "constant": false, - "id": 656, + "id": 648, "name": "scriptHash", "nodeType": "VariableDeclaration", - "scope": 714, - "src": "13624:18:0", + "scope": 706, + "src": "13594:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9882,10 +9774,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 655, + "id": 647, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "13624:7:0", + "src": "13594:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -9896,11 +9788,11 @@ }, { "constant": false, - "id": 659, + "id": 651, "name": "destinations", "nodeType": "VariableDeclaration", - "scope": 714, - "src": "13652:22:0", + "scope": 706, + "src": "13622:22:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9909,19 +9801,19 @@ }, "typeName": { "baseType": { - "id": 657, + "id": 649, "name": "address", "nodeType": "ElementaryTypeName", - "src": "13652:7:0", + "src": "13622:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 658, + "id": 650, "length": null, "nodeType": "ArrayTypeName", - "src": "13652:9:0", + "src": "13622:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", "typeString": "address[]" @@ -9932,11 +9824,11 @@ }, { "constant": false, - "id": 662, + "id": 654, "name": "amounts", "nodeType": "VariableDeclaration", - "scope": 714, - "src": "13684:17:0", + "scope": 706, + "src": "13654:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9945,19 +9837,19 @@ }, "typeName": { "baseType": { - "id": 660, + "id": 652, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "13684:7:0", + "src": "13654:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 661, + "id": 653, "length": null, "nodeType": "ArrayTypeName", - "src": "13684:9:0", + "src": "13654:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -9967,39 +9859,39 @@ "visibility": "internal" } ], - "src": "13544:163:0" + "src": "13514:163:0" }, "payable": false, "returnParameters": { - "id": 664, + "id": 656, "nodeType": "ParameterList", "parameters": [], - "src": "13728:0:0" + "src": "13698:0:0" }, - "scope": 1210, - "src": "13518:952:0", + "scope": 1211, + "src": "13488:952:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "private" }, { "body": { - "id": 894, + "id": 892, "nodeType": "Block", - "src": "14773:1375:0", + "src": "14726:1447:0", "statements": [ { "assignments": [ - 728 + 720 ], "declarations": [ { "constant": false, - "id": 728, + "id": 720, "name": "t", "nodeType": "VariableDeclaration", - "scope": 895, - "src": "14783:21:0", + "scope": 893, + "src": "14736:21:0", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { @@ -10008,11 +9900,11 @@ }, "typeName": { "contractScope": null, - "id": 727, + "id": 719, "name": "Transaction", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 71, - "src": "14783:11:0", + "src": "14736:11:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction" @@ -10022,31 +9914,31 @@ "visibility": "internal" } ], - "id": 732, + "id": 724, "initialValue": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 729, + "id": 721, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "14807:12:0", + "src": "14760:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 731, + "id": 723, "indexExpression": { "argumentTypes": null, - "id": 730, + "id": 722, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 716, - "src": "14820:10:0", + "referencedDeclaration": 708, + "src": "14773:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -10057,14 +9949,68 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "14807:24:0", + "src": "14760:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "14783:48:0" + "src": "14736:48:0" + }, + { + "assignments": [ + 726 + ], + "declarations": [ + { + "constant": false, + "id": 726, + "name": "valueTransferred", + "nodeType": "VariableDeclaration", + "scope": 893, + "src": "14795:24:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 725, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "14795:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 728, + "initialValue": { + "argumentTypes": null, + "hexValue": "30", + "id": 727, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14822:1:0", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "14795:28:0" }, { "condition": { @@ -10073,7 +10019,7 @@ "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" }, - "id": 737, + "id": 733, "isConstant": false, "isLValue": false, "isPure": false, @@ -10082,18 +10028,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 733, + "id": 729, "name": "t", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 728, - "src": "14846:1:0", + "referencedDeclaration": 720, + "src": "14838:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" } }, - "id": 734, + "id": 730, "isConstant": false, "isLValue": true, "isPure": false, @@ -10101,7 +10047,7 @@ "memberName": "transactionType", "nodeType": "MemberAccess", "referencedDeclaration": 46, - "src": "14846:17:0", + "src": "14838:17:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -10113,18 +10059,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 735, + "id": 731, "name": "TransactionType", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12, - "src": "14867:15:0", + "src": "14859:15:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_TransactionType_$12_$", "typeString": "type(enum Escrow_v1_0.TransactionType)" } }, - "id": 736, + "id": 732, "isConstant": false, "isLValue": false, "isPure": true, @@ -10132,13 +10078,13 @@ "memberName": "ETHER", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "14867:21:0", + "src": "14859:21:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" } }, - "src": "14846:42:0", + "src": "14838:42:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -10151,7 +10097,7 @@ "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" }, - "id": 811, + "id": 807, "isConstant": false, "isLValue": false, "isPure": false, @@ -10160,18 +10106,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 807, + "id": 803, "name": "t", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 728, - "src": "15487:1:0", + "referencedDeclaration": 720, + "src": "15479:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" } }, - "id": 808, + "id": 804, "isConstant": false, "isLValue": true, "isPure": false, @@ -10179,7 +10125,7 @@ "memberName": "transactionType", "nodeType": "MemberAccess", "referencedDeclaration": 46, - "src": "15487:17:0", + "src": "15479:17:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -10191,18 +10137,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 809, + "id": 805, "name": "TransactionType", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12, - "src": "15508:15:0", + "src": "15500:15:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_TransactionType_$12_$", "typeString": "type(enum Escrow_v1_0.TransactionType)" } }, - "id": 810, + "id": 806, "isConstant": false, "isLValue": false, "isPure": true, @@ -10210,54 +10156,54 @@ "memberName": "TOKEN", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "15508:21:0", + "src": "15500:21:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" } }, - "src": "15487:42:0", + "src": "15479:42:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, - "id": 892, + "id": 888, "nodeType": "IfStatement", - "src": "15483:658:0", + "src": "15475:658:0", "trueBody": { - "id": 891, + "id": 887, "nodeType": "Block", - "src": "15531:610:0", + "src": "15523:610:0", "statements": [ { "assignments": [ - 813 + 809 ], "declarations": [ { "constant": false, - "id": 813, + "id": 809, "name": "token", "nodeType": "VariableDeclaration", - "scope": 895, - "src": "15546:20:0", + "scope": 893, + "src": "15538:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenContract_$1240", + "typeIdentifier": "t_contract$_ITokenContract_$1241", "typeString": "contract ITokenContract" }, "typeName": { "contractScope": null, - "id": 812, + "id": 808, "name": "ITokenContract", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1240, - "src": "15546:14:0", + "referencedDeclaration": 1241, + "src": "15538:14:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenContract_$1240", + "typeIdentifier": "t_contract$_ITokenContract_$1241", "typeString": "contract ITokenContract" } }, @@ -10265,7 +10211,7 @@ "visibility": "internal" } ], - "id": 818, + "id": 814, "initialValue": { "argumentTypes": null, "arguments": [ @@ -10273,18 +10219,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 815, + "id": 811, "name": "t", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 728, - "src": "15584:1:0", + "referencedDeclaration": 720, + "src": "15576:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" } }, - "id": 816, + "id": 812, "isConstant": false, "isLValue": true, "isPure": false, @@ -10292,7 +10238,7 @@ "memberName": "tokenAddress", "nodeType": "MemberAccess", "referencedDeclaration": 56, - "src": "15584:14:0", + "src": "15576:14:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -10306,18 +10252,18 @@ "typeString": "address" } ], - "id": 814, + "id": 810, "name": "ITokenContract", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1240, - "src": "15569:14:0", + "referencedDeclaration": 1241, + "src": "15561:14:0", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ITokenContract_$1240_$", + "typeIdentifier": "t_type$_t_contract$_ITokenContract_$1241_$", "typeString": "type(contract ITokenContract)" } }, - "id": 817, + "id": 813, "isConstant": false, "isLValue": false, "isPure": false, @@ -10325,20 +10271,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15569:30:0", + "src": "15561:30:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenContract_$1240", + "typeIdentifier": "t_contract$_ITokenContract_$1241", "typeString": "contract ITokenContract" } }, "nodeType": "VariableDeclarationStatement", - "src": "15546:53:0" + "src": "15538:53:0" }, { "body": { - "id": 889, + "id": 885, "nodeType": "Block", - "src": "15662:469:0", + "src": "15654:469:0", "statements": [ { "expression": { @@ -10350,7 +10296,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 844, + "id": 840, "isConstant": false, "isLValue": false, "isPure": false, @@ -10361,7 +10307,7 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 837, + "id": 833, "isConstant": false, "isLValue": false, "isPure": false, @@ -10370,26 +10316,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 831, + "id": 827, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 719, - "src": "15689:12:0", + "referencedDeclaration": 711, + "src": "15681:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" } }, - "id": 833, + "id": 829, "indexExpression": { "argumentTypes": null, - "id": 832, + "id": 828, "name": "j", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 820, - "src": "15702:1:0", + "referencedDeclaration": 816, + "src": "15694:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10400,7 +10346,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15689:15:0", + "src": "15681:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -10414,14 +10360,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 835, + "id": 831, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "15716:1:0", + "src": "15708:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -10437,20 +10383,20 @@ "typeString": "int_const 0" } ], - "id": 834, + "id": 830, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "15708:7:0", + "src": "15700:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, - "id": 836, + "id": 832, "isConstant": false, "isLValue": false, "isPure": true, @@ -10458,13 +10404,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15708:10:0", + "src": "15700:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "15689:29:0", + "src": "15681:29:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -10478,18 +10424,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 838, + "id": 834, "name": "t", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 728, - "src": "15722:1:0", + "referencedDeclaration": 720, + "src": "15714:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" } }, - "id": 839, + "id": 835, "isConstant": false, "isLValue": true, "isPure": false, @@ -10497,37 +10443,37 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "15722:9:0", + "src": "15714:9:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 843, + "id": 839, "indexExpression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 840, + "id": 836, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 719, - "src": "15732:12:0", + "referencedDeclaration": 711, + "src": "15724:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" } }, - "id": 842, + "id": 838, "indexExpression": { "argumentTypes": null, - "id": 841, + "id": 837, "name": "j", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 820, - "src": "15745:1:0", + "referencedDeclaration": 816, + "src": "15737:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10538,7 +10484,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15732:15:0", + "src": "15724:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -10549,13 +10495,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15722:26:0", + "src": "15714:26:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "15689:59:0", + "src": "15681:59:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -10564,14 +10510,14 @@ { "argumentTypes": null, "hexValue": "4e6f7420612076616c69642064657374696e6174696f6e", - "id": 845, + "id": 841, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "15750:25:0", + "src": "15742:25:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_4b4c116dbf18274831a2b569c567d9fd9a0e9828a6c86ee9f93e80400fb6c49f", @@ -10591,21 +10537,21 @@ "typeString": "literal_string \"Not a valid destination\"" } ], - "id": 830, + "id": 826, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1386, - 1387 + 1387, + 1388 ], - "referencedDeclaration": 1387, - "src": "15681:7:0", + "referencedDeclaration": 1388, + "src": "15673:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 846, + "id": 842, "isConstant": false, "isLValue": false, "isPure": false, @@ -10613,15 +10559,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15681:95:0", + "src": "15673:95:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 847, + "id": 843, "nodeType": "ExpressionStatement", - "src": "15681:95:0" + "src": "15673:95:0" }, { "expression": { @@ -10633,7 +10579,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 853, + "id": 849, "isConstant": false, "isLValue": false, "isPure": false, @@ -10642,26 +10588,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 849, + "id": 845, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 722, - "src": "15802:7:0", + "referencedDeclaration": 714, + "src": "15794:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 851, + "id": 847, "indexExpression": { "argumentTypes": null, - "id": 850, + "id": 846, "name": "j", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 820, - "src": "15810:1:0", + "referencedDeclaration": 816, + "src": "15802:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10672,7 +10618,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15802:10:0", + "src": "15794:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10683,14 +10629,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 852, + "id": 848, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "15815:1:0", + "src": "15807:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -10698,7 +10644,7 @@ }, "value": "0" }, - "src": "15802:14:0", + "src": "15794:14:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -10707,14 +10653,14 @@ { "argumentTypes": null, "hexValue": "416d6f756e7420746f2062652073656e742073686f756c642062652067726561746572207468616e2030", - "id": 854, + "id": 850, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "15818:44:0", + "src": "15810:44:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_5e1271a09dbb64ae031de288deb0ad8d707df7db51d6e827931dc8fa6642a71e", @@ -10734,21 +10680,21 @@ "typeString": "literal_string \"Amount to be sent should be greater than 0\"" } ], - "id": 848, + "id": 844, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1386, - 1387 + 1387, + 1388 ], - "referencedDeclaration": 1387, - "src": "15794:7:0", + "referencedDeclaration": 1388, + "src": "15786:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 855, + "id": 851, "isConstant": false, "isLValue": false, "isPure": false, @@ -10756,32 +10702,32 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15794:69:0", + "src": "15786:69:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 856, + "id": 852, "nodeType": "ExpressionStatement", - "src": "15794:69:0" + "src": "15786:69:0" }, { "expression": { "argumentTypes": null, - "id": 864, + "id": 860, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 857, + "id": 853, "name": "valueTransferred", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 725, - "src": "15882:16:0", + "referencedDeclaration": 726, + "src": "15874:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10796,26 +10742,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 860, + "id": 856, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 722, - "src": "15922:7:0", + "referencedDeclaration": 714, + "src": "15914:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 862, + "id": 858, "indexExpression": { "argumentTypes": null, - "id": 861, + "id": 857, "name": "j", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 820, - "src": "15930:1:0", + "referencedDeclaration": 816, + "src": "15922:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10826,7 +10772,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15922:10:0", + "src": "15914:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10842,32 +10788,32 @@ ], "expression": { "argumentTypes": null, - "id": 858, + "id": 854, "name": "valueTransferred", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 725, - "src": "15901:16:0", + "referencedDeclaration": 726, + "src": "15893:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 859, + "id": 855, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 1347, - "src": "15901:20:0", + "referencedDeclaration": 1348, + "src": "15893:20:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 863, + "id": 859, "isConstant": false, "isLValue": false, "isPure": false, @@ -10875,26 +10821,26 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15901:32:0", + "src": "15893:32:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "15882:51:0", + "src": "15874:51:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 865, + "id": 861, "nodeType": "ExpressionStatement", - "src": "15882:51:0" + "src": "15874:51:0" }, { "expression": { "argumentTypes": null, - "id": 874, + "id": 870, "isConstant": false, "isLValue": false, "isPure": false, @@ -10905,18 +10851,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 866, + "id": 862, "name": "t", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 728, - "src": "15951:1:0", + "referencedDeclaration": 720, + "src": "15943:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" } }, - "id": 871, + "id": 867, "isConstant": false, "isLValue": true, "isPure": false, @@ -10924,37 +10870,37 @@ "memberName": "beneficiaries", "nodeType": "MemberAccess", "referencedDeclaration": 70, - "src": "15951:15:0", + "src": "15943:15:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 872, + "id": 868, "indexExpression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 868, + "id": 864, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 719, - "src": "15967:12:0", + "referencedDeclaration": 711, + "src": "15959:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" } }, - "id": 870, + "id": 866, "indexExpression": { "argumentTypes": null, - "id": 869, + "id": 865, "name": "j", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 820, - "src": "15980:1:0", + "referencedDeclaration": 816, + "src": "15972:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10965,7 +10911,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15967:15:0", + "src": "15959:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -10976,7 +10922,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "15951:32:0", + "src": "15943:32:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -10987,14 +10933,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "74727565", - "id": 873, + "id": 869, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "15986:4:0", + "src": "15978:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -11002,15 +10948,15 @@ }, "value": "true" }, - "src": "15951:39:0", + "src": "15943:39:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 875, + "id": 871, "nodeType": "ExpressionStatement", - "src": "15951:39:0" + "src": "15943:39:0" }, { "expression": { @@ -11023,26 +10969,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 879, + "id": 875, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 719, - "src": "16061:12:0", + "referencedDeclaration": 711, + "src": "16053:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" } }, - "id": 881, + "id": 877, "indexExpression": { "argumentTypes": null, - "id": 880, + "id": 876, "name": "j", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 820, - "src": "16074:1:0", + "referencedDeclaration": 816, + "src": "16066:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11053,7 +10999,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "16061:15:0", + "src": "16053:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -11063,26 +11009,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 882, + "id": 878, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 722, - "src": "16078:7:0", + "referencedDeclaration": 714, + "src": "16070:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 884, + "id": 880, "indexExpression": { "argumentTypes": null, - "id": 883, + "id": 879, "name": "j", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 820, - "src": "16086:1:0", + "referencedDeclaration": 816, + "src": "16078:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11093,7 +11039,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "16078:10:0", + "src": "16070:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11113,32 +11059,32 @@ ], "expression": { "argumentTypes": null, - "id": 877, + "id": 873, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 813, - "src": "16046:5:0", + "referencedDeclaration": 809, + "src": "16038:5:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenContract_$1240", + "typeIdentifier": "t_contract$_ITokenContract_$1241", "typeString": "contract ITokenContract" } }, - "id": 878, + "id": 874, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "transfer", "nodeType": "MemberAccess", - "referencedDeclaration": 1228, - "src": "16046:14:0", + "referencedDeclaration": 1229, + "src": "16038:14:0", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", "typeString": "function (address,uint256) external returns (bool)" } }, - "id": 885, + "id": 881, "isConstant": false, "isLValue": false, "isPure": false, @@ -11146,7 +11092,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16046:43:0", + "src": "16038:43:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -11155,14 +11101,14 @@ { "argumentTypes": null, "hexValue": "546f6b656e207472616e73666572206661696c65642e", - "id": 886, + "id": 882, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "16091:24:0", + "src": "16083:24:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_e545223bb79d8456d66fa5a98897abb42bb4807111f004a120200da3b7e292c5", @@ -11182,21 +11128,21 @@ "typeString": "literal_string \"Token transfer failed.\"" } ], - "id": 876, + "id": 872, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1386, - 1387 + 1387, + 1388 ], - "referencedDeclaration": 1387, - "src": "16038:7:0", + "referencedDeclaration": 1388, + "src": "16030:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 887, + "id": 883, "isConstant": false, "isLValue": false, "isPure": false, @@ -11204,15 +11150,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16038:78:0", + "src": "16030:78:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 888, + "id": 884, "nodeType": "ExpressionStatement", - "src": "16038:78:0" + "src": "16030:78:0" } ] }, @@ -11222,19 +11168,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 826, + "id": 822, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 823, + "id": 819, "name": "j", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 820, - "src": "15634:1:0", + "referencedDeclaration": 816, + "src": "15626:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11246,18 +11192,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 824, + "id": 820, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 719, - "src": "15636:12:0", + "referencedDeclaration": 711, + "src": "15628:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" } }, - "id": 825, + "id": 821, "isConstant": false, "isLValue": false, "isPure": false, @@ -11265,31 +11211,31 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "15636:19:0", + "src": "15628:19:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "15634:21:0", + "src": "15626:21:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 890, + "id": 886, "initializationExpression": { "assignments": [ - 820 + 816 ], "declarations": [ { "constant": false, - "id": 820, + "id": 816, "name": "j", "nodeType": "VariableDeclaration", - "scope": 895, - "src": "15619:9:0", + "scope": 893, + "src": "15611:9:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -11297,10 +11243,10 @@ "typeString": "uint256" }, "typeName": { - "id": 819, + "id": 815, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "15619:7:0", + "src": "15611:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11310,18 +11256,18 @@ "visibility": "internal" } ], - "id": 822, + "id": 818, "initialValue": { "argumentTypes": null, "hexValue": "30", - "id": 821, + "id": 817, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "15631:1:0", + "src": "15623:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -11330,12 +11276,12 @@ "value": "0" }, "nodeType": "VariableDeclarationStatement", - "src": "15619:13:0" + "src": "15611:13:0" }, "loopExpression": { "expression": { "argumentTypes": null, - "id": 828, + "id": 824, "isConstant": false, "isLValue": false, "isPure": false, @@ -11343,15 +11289,15 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "15657:3:0", + "src": "15649:3:0", "subExpression": { "argumentTypes": null, - "id": 827, + "id": 823, "name": "j", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 820, - "src": "15657:1:0", + "referencedDeclaration": 816, + "src": "15649:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11362,29 +11308,29 @@ "typeString": "uint256" } }, - "id": 829, + "id": 825, "nodeType": "ExpressionStatement", - "src": "15657:3:0" + "src": "15649:3:0" }, "nodeType": "ForStatement", - "src": "15614:517:0" + "src": "15606:517:0" } ] } }, - "id": 893, + "id": 889, "nodeType": "IfStatement", - "src": "14842:1299:0", + "src": "14834:1299:0", "trueBody": { - "id": 806, + "id": 802, "nodeType": "Block", - "src": "14890:587:0", + "src": "14882:587:0", "statements": [ { "body": { - "id": 804, + "id": 800, "nodeType": "Block", - "src": "14954:512:0", + "src": "14946:512:0", "statements": [ { "expression": { @@ -11396,7 +11342,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 763, + "id": 759, "isConstant": false, "isLValue": false, "isPure": false, @@ -11407,7 +11353,7 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 756, + "id": 752, "isConstant": false, "isLValue": false, "isPure": false, @@ -11416,26 +11362,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 750, + "id": 746, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 719, - "src": "14981:12:0", + "referencedDeclaration": 711, + "src": "14973:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" } }, - "id": 752, + "id": 748, "indexExpression": { "argumentTypes": null, - "id": 751, + "id": 747, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 739, - "src": "14994:1:0", + "referencedDeclaration": 735, + "src": "14986:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11446,7 +11392,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "14981:15:0", + "src": "14973:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -11460,14 +11406,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 754, + "id": 750, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "15008:1:0", + "src": "15000:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -11483,20 +11429,20 @@ "typeString": "int_const 0" } ], - "id": 753, + "id": 749, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "15000:7:0", + "src": "14992:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, - "id": 755, + "id": 751, "isConstant": false, "isLValue": false, "isPure": true, @@ -11504,13 +11450,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15000:10:0", + "src": "14992:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "14981:29:0", + "src": "14973:29:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -11524,18 +11470,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 757, + "id": 753, "name": "t", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 728, - "src": "15014:1:0", + "referencedDeclaration": 720, + "src": "15006:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" } }, - "id": 758, + "id": 754, "isConstant": false, "isLValue": true, "isPure": false, @@ -11543,37 +11489,37 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "15014:9:0", + "src": "15006:9:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 762, + "id": 758, "indexExpression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 759, + "id": 755, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 719, - "src": "15024:12:0", + "referencedDeclaration": 711, + "src": "15016:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" } }, - "id": 761, + "id": 757, "indexExpression": { "argumentTypes": null, - "id": 760, + "id": 756, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 739, - "src": "15037:1:0", + "referencedDeclaration": 735, + "src": "15029:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11584,7 +11530,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15024:15:0", + "src": "15016:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -11595,13 +11541,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15014:26:0", + "src": "15006:26:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "14981:59:0", + "src": "14973:59:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -11610,14 +11556,14 @@ { "argumentTypes": null, "hexValue": "4e6f7420612076616c69642064657374696e6174696f6e", - "id": 764, + "id": 760, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "15042:25:0", + "src": "15034:25:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_4b4c116dbf18274831a2b569c567d9fd9a0e9828a6c86ee9f93e80400fb6c49f", @@ -11637,21 +11583,21 @@ "typeString": "literal_string \"Not a valid destination\"" } ], - "id": 749, + "id": 745, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1386, - 1387 + 1387, + 1388 ], - "referencedDeclaration": 1387, - "src": "14973:7:0", + "referencedDeclaration": 1388, + "src": "14965:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 765, + "id": 761, "isConstant": false, "isLValue": false, "isPure": false, @@ -11659,15 +11605,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "14973:95:0", + "src": "14965:95:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 766, + "id": 762, "nodeType": "ExpressionStatement", - "src": "14973:95:0" + "src": "14965:95:0" }, { "expression": { @@ -11679,7 +11625,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 772, + "id": 768, "isConstant": false, "isLValue": false, "isPure": false, @@ -11688,26 +11634,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 768, + "id": 764, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 722, - "src": "15094:7:0", + "referencedDeclaration": 714, + "src": "15086:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 770, + "id": 766, "indexExpression": { "argumentTypes": null, - "id": 769, + "id": 765, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 739, - "src": "15102:1:0", + "referencedDeclaration": 735, + "src": "15094:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11718,7 +11664,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15094:10:0", + "src": "15086:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11729,14 +11675,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 771, + "id": 767, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "15107:1:0", + "src": "15099:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -11744,7 +11690,7 @@ }, "value": "0" }, - "src": "15094:14:0", + "src": "15086:14:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -11753,14 +11699,14 @@ { "argumentTypes": null, "hexValue": "416d6f756e7420746f2062652073656e742073686f756c642062652067726561746572207468616e2030", - "id": 773, + "id": 769, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "15110:44:0", + "src": "15102:44:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_5e1271a09dbb64ae031de288deb0ad8d707df7db51d6e827931dc8fa6642a71e", @@ -11780,21 +11726,21 @@ "typeString": "literal_string \"Amount to be sent should be greater than 0\"" } ], - "id": 767, + "id": 763, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1386, - 1387 + 1387, + 1388 ], - "referencedDeclaration": 1387, - "src": "15086:7:0", + "referencedDeclaration": 1388, + "src": "15078:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 774, + "id": 770, "isConstant": false, "isLValue": false, "isPure": false, @@ -11802,32 +11748,32 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15086:69:0", + "src": "15078:69:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 775, + "id": 771, "nodeType": "ExpressionStatement", - "src": "15086:69:0" + "src": "15078:69:0" }, { "expression": { "argumentTypes": null, - "id": 783, + "id": 779, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 776, + "id": 772, "name": "valueTransferred", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 725, - "src": "15174:16:0", + "referencedDeclaration": 726, + "src": "15166:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11842,26 +11788,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 779, + "id": 775, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 722, - "src": "15214:7:0", + "referencedDeclaration": 714, + "src": "15206:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 781, + "id": 777, "indexExpression": { "argumentTypes": null, - "id": 780, + "id": 776, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 739, - "src": "15222:1:0", + "referencedDeclaration": 735, + "src": "15214:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11872,7 +11818,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15214:10:0", + "src": "15206:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11888,32 +11834,32 @@ ], "expression": { "argumentTypes": null, - "id": 777, + "id": 773, "name": "valueTransferred", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 725, - "src": "15193:16:0", + "referencedDeclaration": 726, + "src": "15185:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 778, + "id": 774, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 1347, - "src": "15193:20:0", + "referencedDeclaration": 1348, + "src": "15185:20:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 782, + "id": 778, "isConstant": false, "isLValue": false, "isPure": false, @@ -11921,26 +11867,26 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15193:32:0", + "src": "15185:32:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "15174:51:0", + "src": "15166:51:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 784, + "id": 780, "nodeType": "ExpressionStatement", - "src": "15174:51:0" + "src": "15166:51:0" }, { "expression": { "argumentTypes": null, - "id": 793, + "id": 789, "isConstant": false, "isLValue": false, "isPure": false, @@ -11951,18 +11897,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 785, + "id": 781, "name": "t", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 728, - "src": "15244:1:0", + "referencedDeclaration": 720, + "src": "15236:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" } }, - "id": 790, + "id": 786, "isConstant": false, "isLValue": true, "isPure": false, @@ -11970,37 +11916,37 @@ "memberName": "beneficiaries", "nodeType": "MemberAccess", "referencedDeclaration": 70, - "src": "15244:15:0", + "src": "15236:15:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 791, + "id": 787, "indexExpression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 787, + "id": 783, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 719, - "src": "15260:12:0", + "referencedDeclaration": 711, + "src": "15252:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" } }, - "id": 789, + "id": 785, "indexExpression": { "argumentTypes": null, - "id": 788, + "id": 784, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 739, - "src": "15273:1:0", + "referencedDeclaration": 735, + "src": "15265:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12011,7 +11957,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15260:15:0", + "src": "15252:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -12022,7 +11968,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "15244:32:0", + "src": "15236:32:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -12033,14 +11979,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "74727565", - "id": 792, + "id": 788, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "15279:4:0", + "src": "15271:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -12048,15 +11994,15 @@ }, "value": "true" }, - "src": "15244:39:0", + "src": "15236:39:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 794, + "id": 790, "nodeType": "ExpressionStatement", - "src": "15244:39:0" + "src": "15236:39:0" }, { "expression": { @@ -12066,26 +12012,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 799, + "id": 795, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 722, - "src": "15355:7:0", + "referencedDeclaration": 714, + "src": "15347:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 801, + "id": 797, "indexExpression": { "argumentTypes": null, - "id": 800, + "id": 796, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 739, - "src": "15363:1:0", + "referencedDeclaration": 735, + "src": "15355:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12096,7 +12042,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15355:10:0", + "src": "15347:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12114,26 +12060,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 795, + "id": 791, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 719, - "src": "15330:12:0", + "referencedDeclaration": 711, + "src": "15322:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" } }, - "id": 797, + "id": 793, "indexExpression": { "argumentTypes": null, - "id": 796, + "id": 792, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 739, - "src": "15343:1:0", + "referencedDeclaration": 735, + "src": "15335:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12144,13 +12090,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15330:15:0", + "src": "15322:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 798, + "id": 794, "isConstant": false, "isLValue": false, "isPure": false, @@ -12158,13 +12104,13 @@ "memberName": "transfer", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "15330:24:0", + "src": "15322:24:0", "typeDescriptions": { "typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$", "typeString": "function (uint256)" } }, - "id": 802, + "id": 798, "isConstant": false, "isLValue": false, "isPure": false, @@ -12172,15 +12118,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15330:36:0", + "src": "15322:36:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 803, + "id": 799, "nodeType": "ExpressionStatement", - "src": "15330:36:0" + "src": "15322:36:0" } ] }, @@ -12190,19 +12136,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 745, + "id": 741, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 742, + "id": 738, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 739, - "src": "14924:1:0", + "referencedDeclaration": 735, + "src": "14916:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12214,18 +12160,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 743, + "id": 739, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 719, - "src": "14928:12:0", + "referencedDeclaration": 711, + "src": "14920:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" } }, - "id": 744, + "id": 740, "isConstant": false, "isLValue": false, "isPure": false, @@ -12233,31 +12179,31 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "14928:19:0", + "src": "14920:19:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "14924:23:0", + "src": "14916:23:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 805, + "id": 801, "initializationExpression": { "assignments": [ - 739 + 735 ], "declarations": [ { "constant": false, - "id": 739, + "id": 735, "name": "i", "nodeType": "VariableDeclaration", - "scope": 895, - "src": "14909:9:0", + "scope": 893, + "src": "14901:9:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12265,10 +12211,10 @@ "typeString": "uint256" }, "typeName": { - "id": 738, + "id": 734, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "14909:7:0", + "src": "14901:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12278,18 +12224,18 @@ "visibility": "internal" } ], - "id": 741, + "id": 737, "initialValue": { "argumentTypes": null, "hexValue": "30", - "id": 740, + "id": 736, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "14921:1:0", + "src": "14913:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -12298,12 +12244,12 @@ "value": "0" }, "nodeType": "VariableDeclarationStatement", - "src": "14909:13:0" + "src": "14901:13:0" }, "loopExpression": { "expression": { "argumentTypes": null, - "id": 747, + "id": 743, "isConstant": false, "isLValue": false, "isPure": false, @@ -12311,15 +12257,15 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "14949:3:0", + "src": "14941:3:0", "subExpression": { "argumentTypes": null, - "id": 746, + "id": 742, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 739, - "src": "14949:1:0", + "referencedDeclaration": 735, + "src": "14941:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12330,20 +12276,39 @@ "typeString": "uint256" } }, - "id": 748, + "id": 744, "nodeType": "ExpressionStatement", - "src": "14949:3:0" + "src": "14941:3:0" }, "nodeType": "ForStatement", - "src": "14904:562:0" + "src": "14896:562:0" } ] } + }, + { + "expression": { + "argumentTypes": null, + "id": 890, + "name": "valueTransferred", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 726, + "src": "16150:16:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 718, + "id": 891, + "nodeType": "Return", + "src": "16143:23:0" } ] }, "documentation": "dev Private method to transfer funds to the destination addresses on the basis of transaction type", - "id": 895, + "id": 893, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -12351,16 +12316,16 @@ "name": "transferFunds", "nodeType": "FunctionDefinition", "parameters": { - "id": 723, + "id": 715, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 716, + "id": 708, "name": "scriptHash", "nodeType": "VariableDeclaration", - "scope": 895, - "src": "14628:18:0", + "scope": 893, + "src": "14598:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12368,10 +12333,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 715, + "id": 707, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "14628:7:0", + "src": "14598:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -12382,11 +12347,11 @@ }, { "constant": false, - "id": 719, + "id": 711, "name": "destinations", "nodeType": "VariableDeclaration", - "scope": 895, - "src": "14656:21:0", + "scope": 893, + "src": "14626:21:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12395,19 +12360,19 @@ }, "typeName": { "baseType": { - "id": 717, + "id": 709, "name": "address", "nodeType": "ElementaryTypeName", - "src": "14656:7:0", + "src": "14626:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 718, + "id": 710, "length": null, "nodeType": "ArrayTypeName", - "src": "14656:9:0", + "src": "14626:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", "typeString": "address[]" @@ -12418,11 +12383,11 @@ }, { "constant": false, - "id": 722, + "id": 714, "name": "amounts", "nodeType": "VariableDeclaration", - "scope": 895, - "src": "14687:16:0", + "scope": 893, + "src": "14657:16:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12431,19 +12396,19 @@ }, "typeName": { "baseType": { - "id": 720, + "id": 712, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "14687:7:0", + "src": "14657:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 721, + "id": 713, "length": null, "nodeType": "ArrayTypeName", - "src": "14687:9:0", + "src": "14657:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -12453,20 +12418,20 @@ "visibility": "internal" } ], - "src": "14618:91:0" + "src": "14588:91:0" }, "payable": false, "returnParameters": { - "id": 726, + "id": 718, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 725, - "name": "valueTransferred", + "id": 717, + "name": "", "nodeType": "VariableDeclaration", - "scope": 895, - "src": "14743:24:0", + "scope": 893, + "src": "14713:7:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12474,10 +12439,10 @@ "typeString": "uint256" }, "typeName": { - "id": 724, + "id": 716, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "14743:7:0", + "src": "14713:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12487,19 +12452,19 @@ "visibility": "internal" } ], - "src": "14742:26:0" + "src": "14712:9:0" }, - "scope": 1210, - "src": "14596:1552:0", + "scope": 1211, + "src": "14566:1607:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "private" }, { "body": { - "id": 1018, + "id": 1021, "nodeType": "Block", - "src": "16578:1277:0", + "src": "16591:1337:0", "statements": [ { "expression": { @@ -12511,7 +12476,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 928, + "id": 926, "isConstant": false, "isLValue": false, "isPure": false, @@ -12522,7 +12487,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 922, + "id": 920, "isConstant": false, "isLValue": false, "isPure": false, @@ -12531,18 +12496,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 918, + "id": 916, "name": "sigR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 901, - "src": "16609:4:0", + "referencedDeclaration": 899, + "src": "16623:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" } }, - "id": 919, + "id": 917, "isConstant": false, "isLValue": false, "isPure": false, @@ -12550,7 +12515,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "16609:11:0", + "src": "16623:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12562,18 +12527,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 920, + "id": 918, "name": "sigS", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 904, - "src": "16624:4:0", + "referencedDeclaration": 902, + "src": "16638:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" } }, - "id": 921, + "id": 919, "isConstant": false, "isLValue": false, "isPure": false, @@ -12581,13 +12546,13 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "16624:11:0", + "src": "16638:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "16609:26:0", + "src": "16623:26:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -12601,7 +12566,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 927, + "id": 925, "isConstant": false, "isLValue": false, "isPure": false, @@ -12610,18 +12575,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 923, + "id": 921, "name": "sigR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 901, - "src": "16639:4:0", + "referencedDeclaration": 899, + "src": "16653:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" } }, - "id": 924, + "id": 922, "isConstant": false, "isLValue": false, "isPure": false, @@ -12629,7 +12594,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "16639:11:0", + "src": "16653:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12641,18 +12606,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 925, + "id": 923, "name": "sigV", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 898, - "src": "16654:4:0", + "referencedDeclaration": 896, + "src": "16668:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr", "typeString": "uint8[] memory" } }, - "id": 926, + "id": 924, "isConstant": false, "isLValue": false, "isPure": false, @@ -12660,19 +12625,19 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "16654:11:0", + "src": "16668:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "16639:26:0", + "src": "16653:26:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "16609:56:0", + "src": "16623:56:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -12681,14 +12646,14 @@ { "argumentTypes": null, "hexValue": "522c532c56206c656e677468206d69736d617463682e", - "id": 929, + "id": 927, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "16680:24:0", + "src": "16694:24:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_f85073c8befb65baed58ca1ee563e5da0bdbdce8abd4d29ef22a8329c7c97506", @@ -12708,21 +12673,21 @@ "typeString": "literal_string \"R,S,V length mismatch.\"" } ], - "id": 917, + "id": 915, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1386, - 1387 + 1387, + 1388 ], - "referencedDeclaration": 1387, - "src": "16588:7:0", + "referencedDeclaration": 1388, + "src": "16602:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 930, + "id": 928, "isConstant": false, "isLValue": false, "isPure": false, @@ -12730,28 +12695,63 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16588:126:0", + "src": "16602:126:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 931, + "id": 929, "nodeType": "ExpressionStatement", - "src": "16588:126:0" + "src": "16602:126:0" + }, + { + "assignments": [], + "declarations": [ + { + "constant": false, + "id": 931, + "name": "lastAddress", + "nodeType": "VariableDeclaration", + "scope": 1022, + "src": "16739:19:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 930, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "16739:7:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 932, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "16739:19:0" }, { "assignments": [ - 933 + 934 ], "declarations": [ { "constant": false, - "id": 933, + "id": 934, "name": "txHash", "nodeType": "VariableDeclaration", - "scope": 1019, - "src": "16813:14:0", + "scope": 1022, + "src": "16857:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12759,10 +12759,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 932, + "id": 933, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "16813:7:0", + "src": "16857:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -12772,7 +12772,7 @@ "visibility": "internal" } ], - "id": 955, + "id": 956, "initialValue": { "argumentTypes": null, "arguments": [ @@ -12782,14 +12782,14 @@ { "argumentTypes": null, "hexValue": "19457468657265756d205369676e6564204d6573736167653a0a3332", - "id": 937, + "id": 938, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "16887:34:0", + "src": "16931:34:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_178a2411ab6fbc1ba11064408972259c558d0e82fd48b0aba3ad81d14f065e73", @@ -12809,14 +12809,14 @@ { "argumentTypes": null, "hexValue": "30783139", - "id": 942, + "id": 943, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "17017:4:0", + "src": "17061:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_25_by_1", @@ -12832,20 +12832,20 @@ "typeString": "int_const 25" } ], - "id": 941, + "id": 942, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "17012:4:0", + "src": "17056:4:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes1_$", "typeString": "type(bytes1)" }, "typeName": "byte" }, - "id": 943, + "id": 944, "isConstant": false, "isLValue": false, "isPure": true, @@ -12853,7 +12853,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17012:10:0", + "src": "17056:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes1", "typeString": "bytes1" @@ -12865,14 +12865,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 945, + "id": 946, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "17053:1:0", + "src": "17097:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -12888,20 +12888,20 @@ "typeString": "int_const 0" } ], - "id": 944, + "id": 945, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "17048:4:0", + "src": "17092:4:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes1_$", "typeString": "type(bytes1)" }, "typeName": "byte" }, - "id": 946, + "id": 947, "isConstant": false, "isLValue": false, "isPure": true, @@ -12909,7 +12909,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17048:7:0", + "src": "17092:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes1", "typeString": "bytes1" @@ -12917,25 +12917,25 @@ }, { "argumentTypes": null, - "id": 947, + "id": 948, "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1400, - "src": "17081:4:0", + "referencedDeclaration": 1401, + "src": "17125:4:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_Escrow_v1_0_$1210", + "typeIdentifier": "t_contract$_Escrow_v1_0_$1211", "typeString": "contract Escrow_v1_0" } }, { "argumentTypes": null, - "id": 948, + "id": 949, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 909, - "src": "17111:12:0", + "referencedDeclaration": 907, + "src": "17155:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -12943,12 +12943,12 @@ }, { "argumentTypes": null, - "id": 949, + "id": 950, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 912, - "src": "17149:7:0", + "referencedDeclaration": 910, + "src": "17193:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" @@ -12956,12 +12956,12 @@ }, { "argumentTypes": null, - "id": 950, + "id": 951, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 906, - "src": "17182:10:0", + "referencedDeclaration": 904, + "src": "17226:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -12979,7 +12979,7 @@ "typeString": "bytes1" }, { - "typeIdentifier": "t_contract$_Escrow_v1_0_$1210", + "typeIdentifier": "t_contract$_Escrow_v1_0_$1211", "typeString": "contract Escrow_v1_0" }, { @@ -12997,18 +12997,18 @@ ], "expression": { "argumentTypes": null, - "id": 939, + "id": 940, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1370, - "src": "16970:3:0", + "referencedDeclaration": 1371, + "src": "17014:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, - "id": 940, + "id": 941, "isConstant": false, "isLValue": false, "isPure": true, @@ -13016,13 +13016,13 @@ "memberName": "encodePacked", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "16970:16:0", + "src": "17014:16:0", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, - "id": 951, + "id": 952, "isConstant": false, "isLValue": false, "isPure": false, @@ -13030,7 +13030,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16970:244:0", + "src": "17014:244:0", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -13044,18 +13044,18 @@ "typeString": "bytes memory" } ], - "id": 938, + "id": 939, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1377, - "src": "16939:9:0", + "referencedDeclaration": 1378, + "src": "16983:9:0", "typeDescriptions": { "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", "typeString": "function () pure returns (bytes32)" } }, - "id": 952, + "id": 953, "isConstant": false, "isLValue": false, "isPure": false, @@ -13063,7 +13063,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16939:293:0", + "src": "16983:293:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -13083,18 +13083,18 @@ ], "expression": { "argumentTypes": null, - "id": 935, + "id": 936, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1370, - "src": "16853:3:0", + "referencedDeclaration": 1371, + "src": "16897:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, - "id": 936, + "id": 937, "isConstant": false, "isLValue": false, "isPure": true, @@ -13102,13 +13102,13 @@ "memberName": "encodePacked", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "16853:16:0", + "src": "16897:16:0", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, - "id": 953, + "id": 954, "isConstant": false, "isLValue": false, "isPure": false, @@ -13116,7 +13116,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16853:393:0", + "src": "16897:393:0", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -13130,18 +13130,18 @@ "typeString": "bytes memory" } ], - "id": 934, + "id": 935, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1377, - "src": "16830:9:0", + "referencedDeclaration": 1378, + "src": "16874:9:0", "typeDescriptions": { "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", "typeString": "function () pure returns (bytes32)" } }, - "id": 954, + "id": 955, "isConstant": false, "isLValue": false, "isPure": false, @@ -13149,33 +13149,33 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16830:426:0", + "src": "16874:426:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "nodeType": "VariableDeclarationStatement", - "src": "16813:443:0" + "src": "16857:443:0" }, { "body": { - "id": 1016, + "id": 1017, "nodeType": "Block", - "src": "17306:543:0", + "src": "17350:543:0", "statements": [ { "assignments": [ - 968 + 969 ], "declarations": [ { "constant": false, - "id": 968, + "id": 969, "name": "recovered", "nodeType": "VariableDeclaration", - "scope": 1019, - "src": "17321:17:0", + "scope": 1022, + "src": "17365:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -13183,10 +13183,10 @@ "typeString": "address" }, "typeName": { - "id": 967, + "id": 968, "name": "address", "nodeType": "ElementaryTypeName", - "src": "17321:7:0", + "src": "17365:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -13196,18 +13196,18 @@ "visibility": "internal" } ], - "id": 981, + "id": 982, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 970, + "id": 971, "name": "txHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 933, - "src": "17368:6:0", + "referencedDeclaration": 934, + "src": "17412:6:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -13217,26 +13217,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 971, + "id": 972, "name": "sigV", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 898, - "src": "17392:4:0", + "referencedDeclaration": 896, + "src": "17436:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr", "typeString": "uint8[] memory" } }, - "id": 973, + "id": 974, "indexExpression": { "argumentTypes": null, - "id": 972, + "id": 973, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 957, - "src": "17397:1:0", + "referencedDeclaration": 958, + "src": "17441:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13247,7 +13247,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17392:7:0", + "src": "17436:7:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -13257,26 +13257,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 974, + "id": 975, "name": "sigR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 901, - "src": "17417:4:0", + "referencedDeclaration": 899, + "src": "17461:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" } }, - "id": 976, + "id": 977, "indexExpression": { "argumentTypes": null, - "id": 975, + "id": 976, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 957, - "src": "17422:1:0", + "referencedDeclaration": 958, + "src": "17466:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13287,7 +13287,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17417:7:0", + "src": "17461:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -13297,26 +13297,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 977, + "id": 978, "name": "sigS", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 904, - "src": "17442:4:0", + "referencedDeclaration": 902, + "src": "17486:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" } }, - "id": 979, + "id": 980, "indexExpression": { "argumentTypes": null, - "id": 978, + "id": 979, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 957, - "src": "17447:1:0", + "referencedDeclaration": 958, + "src": "17491:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13327,7 +13327,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17442:7:0", + "src": "17486:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -13353,18 +13353,18 @@ "typeString": "bytes32" } ], - "id": 969, + "id": 970, "name": "ecrecover", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1375, - "src": "17341:9:0", + "referencedDeclaration": 1376, + "src": "17385:9:0", "typeDescriptions": { "typeIdentifier": "t_function_ecrecover_pure$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$_t_address_$", "typeString": "function (bytes32,uint8,bytes32,bytes32) pure returns (address)" } }, - "id": 980, + "id": 981, "isConstant": false, "isLValue": false, "isPure": false, @@ -13372,14 +13372,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17341:122:0", + "src": "17385:122:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "VariableDeclarationStatement", - "src": "17321:142:0" + "src": "17365:142:0" }, { "expression": { @@ -13393,26 +13393,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 983, + "id": 984, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "17503:12:0", + "src": "17547:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 985, + "id": 986, "indexExpression": { "argumentTypes": null, - "id": 984, + "id": 985, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 906, - "src": "17516:10:0", + "referencedDeclaration": 904, + "src": "17560:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -13423,13 +13423,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17503:24:0", + "src": "17547:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 986, + "id": 987, "isConstant": false, "isLValue": true, "isPure": false, @@ -13437,21 +13437,21 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "17503:32:0", + "src": "17547:32:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 988, + "id": 989, "indexExpression": { "argumentTypes": null, - "id": 987, + "id": 988, "name": "recovered", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 968, - "src": "17536:9:0", + "referencedDeclaration": 969, + "src": "17580:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -13462,7 +13462,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17503:43:0", + "src": "17547:43:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -13471,14 +13471,14 @@ { "argumentTypes": null, "hexValue": "496e76616c6964207369676e6174757265", - "id": 989, + "id": 990, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "17565:19:0", + "src": "17609:19:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_4f2d7dfcb27c0aafa13ae8c400de482c7832204d194018b6e45bd2bf244c74e7", @@ -13498,21 +13498,21 @@ "typeString": "literal_string \"Invalid signature\"" } ], - "id": 982, + "id": 983, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1386, - 1387 + 1387, + 1388 ], - "referencedDeclaration": 1387, - "src": "17478:7:0", + "referencedDeclaration": 1388, + "src": "17522:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 990, + "id": 991, "isConstant": false, "isLValue": false, "isPure": false, @@ -13520,15 +13520,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17478:120:0", + "src": "17522:120:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 991, + "id": 992, "nodeType": "ExpressionStatement", - "src": "17478:120:0" + "src": "17522:120:0" }, { "expression": { @@ -13536,7 +13536,7 @@ "arguments": [ { "argumentTypes": null, - "id": 999, + "id": 1000, "isConstant": false, "isLValue": false, "isPure": false, @@ -13544,7 +13544,7 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "17637:42:0", + "src": "17681:42:0", "subExpression": { "argumentTypes": null, "baseExpression": { @@ -13553,26 +13553,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 993, + "id": 994, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "17638:12:0", + "src": "17682:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 995, + "id": 996, "indexExpression": { "argumentTypes": null, - "id": 994, + "id": 995, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 906, - "src": "17651:10:0", + "referencedDeclaration": 904, + "src": "17695:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -13583,13 +13583,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17638:24:0", + "src": "17682:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 996, + "id": 997, "isConstant": false, "isLValue": true, "isPure": false, @@ -13597,21 +13597,21 @@ "memberName": "voted", "nodeType": "MemberAccess", "referencedDeclaration": 66, - "src": "17638:30:0", + "src": "17682:30:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 998, + "id": 999, "indexExpression": { "argumentTypes": null, - "id": 997, + "id": 998, "name": "recovered", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 968, - "src": "17669:9:0", + "referencedDeclaration": 969, + "src": "17713:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -13622,7 +13622,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17638:41:0", + "src": "17682:41:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -13636,14 +13636,14 @@ { "argumentTypes": null, "hexValue": "53616d65207369676e61747572652073656e74207477696365", - "id": 1000, + "id": 1001, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "17698:27:0", + "src": "17742:27:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_fb2c7e49d5ec7ce36fa812cf15ee7fa946942f931d04fe3ae970516007b2a543", @@ -13663,21 +13663,21 @@ "typeString": "literal_string \"Same signature sent twice\"" } ], - "id": 992, + "id": 993, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1386, - 1387 + 1387, + 1388 ], - "referencedDeclaration": 1387, - "src": "17612:7:0", + "referencedDeclaration": 1388, + "src": "17656:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 1001, + "id": 1002, "isConstant": false, "isLValue": false, "isPure": false, @@ -13685,20 +13685,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17612:127:0", + "src": "17656:127:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1002, + "id": 1003, "nodeType": "ExpressionStatement", - "src": "17612:127:0" + "src": "17656:127:0" }, { "expression": { "argumentTypes": null, - "id": 1010, + "id": 1011, "isConstant": false, "isLValue": false, "isPure": false, @@ -13711,26 +13711,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1003, + "id": 1004, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "17753:12:0", + "src": "17797:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 1005, + "id": 1006, "indexExpression": { "argumentTypes": null, - "id": 1004, + "id": 1005, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 906, - "src": "17766:10:0", + "referencedDeclaration": 904, + "src": "17810:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -13741,13 +13741,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17753:24:0", + "src": "17797:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 1006, + "id": 1007, "isConstant": false, "isLValue": true, "isPure": false, @@ -13755,21 +13755,21 @@ "memberName": "voted", "nodeType": "MemberAccess", "referencedDeclaration": 66, - "src": "17753:30:0", + "src": "17797:30:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 1008, + "id": 1009, "indexExpression": { "argumentTypes": null, - "id": 1007, + "id": 1008, "name": "recovered", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 968, - "src": "17784:9:0", + "referencedDeclaration": 969, + "src": "17828:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -13780,7 +13780,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "17753:41:0", + "src": "17797:41:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -13791,14 +13791,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "74727565", - "id": 1009, + "id": 1010, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "17797:4:0", + "src": "17841:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -13806,32 +13806,32 @@ }, "value": "true" }, - "src": "17753:48:0", + "src": "17797:48:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 1011, + "id": 1012, "nodeType": "ExpressionStatement", - "src": "17753:48:0" + "src": "17797:48:0" }, { "expression": { "argumentTypes": null, - "id": 1014, + "id": 1015, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 1012, + "id": 1013, "name": "lastAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 915, - "src": "17815:11:0", + "referencedDeclaration": 931, + "src": "17859:11:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -13841,26 +13841,26 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 1013, + "id": 1014, "name": "recovered", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 968, - "src": "17829:9:0", + "referencedDeclaration": 969, + "src": "17873:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "17815:23:0", + "src": "17859:23:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 1015, + "id": 1016, "nodeType": "ExpressionStatement", - "src": "17815:23:0" + "src": "17859:23:0" } ] }, @@ -13870,19 +13870,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 963, + "id": 964, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 960, + "id": 961, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 957, - "src": "17284:1:0", + "referencedDeclaration": 958, + "src": "17328:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13894,18 +13894,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 961, + "id": 962, "name": "sigR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 901, - "src": "17288:4:0", + "referencedDeclaration": 899, + "src": "17332:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" } }, - "id": 962, + "id": 963, "isConstant": false, "isLValue": false, "isPure": false, @@ -13913,31 +13913,31 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "17288:11:0", + "src": "17332:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "17284:15:0", + "src": "17328:15:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 1017, + "id": 1018, "initializationExpression": { "assignments": [ - 957 + 958 ], "declarations": [ { "constant": false, - "id": 957, + "id": 958, "name": "i", "nodeType": "VariableDeclaration", - "scope": 1019, - "src": "17272:6:0", + "scope": 1022, + "src": "17316:6:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -13945,10 +13945,10 @@ "typeString": "uint256" }, "typeName": { - "id": 956, + "id": 957, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "17272:4:0", + "src": "17316:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13958,18 +13958,18 @@ "visibility": "internal" } ], - "id": 959, + "id": 960, "initialValue": { "argumentTypes": null, "hexValue": "30", - "id": 958, + "id": 959, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "17281:1:0", + "src": "17325:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -13978,12 +13978,12 @@ "value": "0" }, "nodeType": "VariableDeclarationStatement", - "src": "17272:10:0" + "src": "17316:10:0" }, "loopExpression": { "expression": { "argumentTypes": null, - "id": 965, + "id": 966, "isConstant": false, "isLValue": false, "isPure": false, @@ -13991,15 +13991,15 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "17301:3:0", + "src": "17345:3:0", "subExpression": { "argumentTypes": null, - "id": 964, + "id": 965, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 957, - "src": "17301:1:0", + "referencedDeclaration": 958, + "src": "17345:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14010,17 +14010,36 @@ "typeString": "uint256" } }, - "id": 966, + "id": 967, "nodeType": "ExpressionStatement", - "src": "17301:3:0" + "src": "17345:3:0" }, "nodeType": "ForStatement", - "src": "17267:582:0" + "src": "17311:582:0" + }, + { + "expression": { + "argumentTypes": null, + "id": 1019, + "name": "lastAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 931, + "src": "17910:11:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "functionReturnParameters": 914, + "id": 1020, + "nodeType": "Return", + "src": "17903:18:0" } ] }, "documentation": null, - "id": 1019, + "id": 1022, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -14028,16 +14047,16 @@ "name": "verifySignatures", "nodeType": "FunctionDefinition", "parameters": { - "id": 913, + "id": 911, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 898, + "id": 896, "name": "sigV", "nodeType": "VariableDeclaration", - "scope": 1019, - "src": "16367:12:0", + "scope": 1022, + "src": "16392:12:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14046,19 +14065,19 @@ }, "typeName": { "baseType": { - "id": 896, + "id": 894, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "16367:5:0", + "src": "16392:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, - "id": 897, + "id": 895, "length": null, "nodeType": "ArrayTypeName", - "src": "16367:7:0", + "src": "16392:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_storage_ptr", "typeString": "uint8[]" @@ -14069,11 +14088,11 @@ }, { "constant": false, - "id": 901, + "id": 899, "name": "sigR", "nodeType": "VariableDeclaration", - "scope": 1019, - "src": "16389:14:0", + "scope": 1022, + "src": "16414:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14082,19 +14101,19 @@ }, "typeName": { "baseType": { - "id": 899, + "id": 897, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "16389:7:0", + "src": "16414:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "id": 900, + "id": 898, "length": null, "nodeType": "ArrayTypeName", - "src": "16389:9:0", + "src": "16414:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -14105,11 +14124,11 @@ }, { "constant": false, - "id": 904, + "id": 902, "name": "sigS", "nodeType": "VariableDeclaration", - "scope": 1019, - "src": "16413:14:0", + "scope": 1022, + "src": "16438:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14118,19 +14137,19 @@ }, "typeName": { "baseType": { - "id": 902, + "id": 900, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "16413:7:0", + "src": "16438:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "id": 903, + "id": 901, "length": null, "nodeType": "ArrayTypeName", - "src": "16413:9:0", + "src": "16438:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -14141,11 +14160,11 @@ }, { "constant": false, - "id": 906, + "id": 904, "name": "scriptHash", "nodeType": "VariableDeclaration", - "scope": 1019, - "src": "16437:18:0", + "scope": 1022, + "src": "16462:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14153,10 +14172,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 905, + "id": 903, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "16437:7:0", + "src": "16462:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -14167,11 +14186,11 @@ }, { "constant": false, - "id": 909, + "id": 907, "name": "destinations", "nodeType": "VariableDeclaration", - "scope": 1019, - "src": "16465:22:0", + "scope": 1022, + "src": "16490:22:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14180,19 +14199,19 @@ }, "typeName": { "baseType": { - "id": 907, + "id": 905, "name": "address", "nodeType": "ElementaryTypeName", - "src": "16465:7:0", + "src": "16490:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 908, + "id": 906, "length": null, "nodeType": "ArrayTypeName", - "src": "16465:9:0", + "src": "16490:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", "typeString": "address[]" @@ -14203,11 +14222,11 @@ }, { "constant": false, - "id": 912, + "id": 910, "name": "amounts", "nodeType": "VariableDeclaration", - "scope": 1019, - "src": "16497:16:0", + "scope": 1022, + "src": "16522:16:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14216,19 +14235,19 @@ }, "typeName": { "baseType": { - "id": 910, + "id": 908, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "16497:7:0", + "src": "16522:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 911, + "id": 909, "length": null, "nodeType": "ArrayTypeName", - "src": "16497:9:0", + "src": "16522:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -14238,20 +14257,20 @@ "visibility": "internal" } ], - "src": "16357:162:0" + "src": "16382:162:0" }, "payable": false, "returnParameters": { - "id": 916, + "id": 914, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 915, - "name": "lastAddress", + "id": 913, + "name": "", "nodeType": "VariableDeclaration", - "scope": 1019, - "src": "16553:19:0", + "scope": 1022, + "src": "16578:7:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14259,10 +14278,10 @@ "typeString": "address" }, "typeName": { - "id": 914, + "id": 912, "name": "address", "nodeType": "ElementaryTypeName", - "src": "16553:7:0", + "src": "16578:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -14272,32 +14291,32 @@ "visibility": "internal" } ], - "src": "16552:21:0" + "src": "16577:9:0" }, - "scope": 1210, - "src": "16332:1523:0", + "scope": 1211, + "src": "16357:1571:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "private" }, { "body": { - "id": 1052, + "id": 1053, "nodeType": "Block", - "src": "18017:171:0", + "src": "18082:168:0", "statements": [ { "assignments": [ - 1029 + 1032 ], "declarations": [ { "constant": false, - "id": 1029, + "id": 1032, "name": "timeSince", "nodeType": "VariableDeclaration", - "scope": 1053, - "src": "18027:17:0", + "scope": 1054, + "src": "18092:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14305,10 +14324,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1028, + "id": 1031, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "18027:7:0", + "src": "18092:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14318,18 +14337,18 @@ "visibility": "internal" } ], - "id": 1034, + "id": 1037, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 1032, + "id": 1035, "name": "lastModified", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1023, - "src": "18055:12:0", + "referencedDeclaration": 1026, + "src": "18120:12:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14345,32 +14364,32 @@ ], "expression": { "argumentTypes": null, - "id": 1030, + "id": 1033, "name": "now", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1385, - "src": "18047:3:0", + "referencedDeclaration": 1386, + "src": "18112:3:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1031, + "id": 1034, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sub", "nodeType": "MemberAccess", - "referencedDeclaration": 1323, - "src": "18047:7:0", + "referencedDeclaration": 1324, + "src": "18112:7:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 1033, + "id": 1036, "isConstant": false, "isLValue": false, "isPure": false, @@ -14378,291 +14397,264 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18047:21:0", + "src": "18112:21:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "18027:41:0" + "src": "18092:41:0" }, { "expression": { "argumentTypes": null, - "id": 1050, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1035, - "name": "expired", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1026, - "src": "18078:7:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "components": [ - { + "components": [ + { + "argumentTypes": null, + "condition": { "argumentTypes": null, - "condition": { + "commonType": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + "id": 1040, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { "argumentTypes": null, - "commonType": { + "id": 1038, + "name": "timeoutHours", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1024, + "src": "18164:12:0", + "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" - }, - "id": 1038, + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 1039, "isConstant": false, "isLValue": false, - "isPure": false, + "isPure": true, + "kind": "number", "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1036, - "name": "timeoutHours", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1021, - "src": "18102:12:0", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 1037, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18118:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "18102:17:0", + "nodeType": "Literal", + "src": "18180:1:0", + "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "18164:17:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" }, - "falseExpression": { + "id": 1049, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { "argumentTypes": null, - "commonType": { + "id": 1042, + "name": "timeSince", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1032, + "src": "18190:9:0", + "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" - }, - "id": 1047, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1040, - "name": "timeSince", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1029, - "src": "18128:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "33363030", + "id": 1047, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "18228:4:0", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_3600_by_1", + "typeString": "int_const 3600" + }, + "value": "3600" } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "arguments": [ + ], + "expression": { + "argumentTypes": [ { - "argumentTypes": null, - "hexValue": "33363030", - "id": 1045, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18166:4:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_3600_by_1", - "typeString": "int_const 3600" - }, - "value": "3600" + "typeIdentifier": "t_rational_3600_by_1", + "typeString": "int_const 3600" } ], "expression": { - "argumentTypes": [ + "argumentTypes": null, + "arguments": [ { - "typeIdentifier": "t_rational_3600_by_1", - "typeString": "int_const 3600" + "argumentTypes": null, + "id": 1044, + "name": "timeoutHours", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1024, + "src": "18210:12:0", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } } ], "expression": { - "argumentTypes": null, - "arguments": [ + "argumentTypes": [ { - "argumentTypes": null, - "id": 1042, - "name": "timeoutHours", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1021, - "src": "18148:12:0", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } + "typeIdentifier": "t_uint32", + "typeString": "uint32" } ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - ], - "id": 1041, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "18140:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, "id": 1043, "isConstant": false, "isLValue": false, - "isPure": false, - "kind": "typeConversion", + "isPure": true, "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18140:21:0", + "nodeType": "ElementaryTypeNameExpression", + "src": "18202:7:0", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": "uint256" }, - "id": 1044, + "id": 1045, "isConstant": false, "isLValue": false, "isPure": false, + "kind": "typeConversion", "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 1275, - "src": "18140:25:0", + "names": [], + "nodeType": "FunctionCall", + "src": "18202:21:0", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, "id": 1046, "isConstant": false, "isLValue": false, "isPure": false, - "kind": "functionCall", "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18140:31:0", + "memberName": "mul", + "nodeType": "MemberAccess", + "referencedDeclaration": 1276, + "src": "18202:25:0", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "src": "18128:43:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 1048, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "18102:69:0", - "trueExpression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 1039, + "id": 1048, "isConstant": false, "isLValue": false, - "isPure": true, - "kind": "bool", + "isPure": false, + "kind": "functionCall", "lValueRequested": false, - "nodeType": "Literal", - "src": "18122:5:0", - "subdenomination": null, + "names": [], + "nodeType": "FunctionCall", + "src": "18202:31:0", "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } }, + "src": "18190:43:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } + }, + "id": 1050, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "Conditional", + "src": "18164:69:0", + "trueExpression": { + "argumentTypes": null, + "hexValue": "66616c7365", + "id": 1041, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "18184:5:0", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" } - ], - "id": 1049, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "18088:93:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" } - }, - "src": "18078:103:0", + ], + "id": 1051, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "18150:93:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 1051, - "nodeType": "ExpressionStatement", - "src": "18078:103:0" + "functionReturnParameters": 1030, + "id": 1052, + "nodeType": "Return", + "src": "18143:100:0" } ] }, "documentation": null, - "id": 1053, + "id": 1054, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -14670,16 +14662,16 @@ "name": "isTimeLockExpired", "nodeType": "FunctionDefinition", "parameters": { - "id": 1024, + "id": 1027, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1021, + "id": 1024, "name": "timeoutHours", "nodeType": "VariableDeclaration", - "scope": 1053, - "src": "17897:19:0", + "scope": 1054, + "src": "17970:19:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14687,10 +14679,10 @@ "typeString": "uint32" }, "typeName": { - "id": 1020, + "id": 1023, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "17897:6:0", + "src": "17970:6:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -14701,11 +14693,11 @@ }, { "constant": false, - "id": 1023, + "id": 1026, "name": "lastModified", "nodeType": "VariableDeclaration", - "scope": 1053, - "src": "17926:20:0", + "scope": 1054, + "src": "17999:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14713,10 +14705,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1022, + "id": 1025, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "17926:7:0", + "src": "17999:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14726,20 +14718,20 @@ "visibility": "internal" } ], - "src": "17887:65:0" + "src": "17960:65:0" }, "payable": false, "returnParameters": { - "id": 1027, + "id": 1030, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1026, - "name": "expired", + "id": 1029, + "name": "", "nodeType": "VariableDeclaration", - "scope": 1053, - "src": "17999:12:0", + "scope": 1054, + "src": "18072:4:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14747,10 +14739,10 @@ "typeString": "bool" }, "typeName": { - "id": 1025, + "id": 1028, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "17999:4:0", + "src": "18072:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -14760,19 +14752,19 @@ "visibility": "internal" } ], - "src": "17998:14:0" + "src": "18071:6:0" }, - "scope": 1210, - "src": "17861:327:0", + "scope": 1211, + "src": "17934:316:0", "stateMutability": "view", "superFunction": null, "visibility": "private" }, { "body": { - "id": 1208, + "id": 1209, "nodeType": "Block", - "src": "18602:2308:0", + "src": "18664:2308:0", "statements": [ { "expression": { @@ -14784,19 +14776,19 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 1079, + "id": 1080, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1077, + "id": 1078, "name": "buyer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1055, - "src": "18628:5:0", + "referencedDeclaration": 1056, + "src": "18690:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -14806,18 +14798,18 @@ "operator": "!=", "rightExpression": { "argumentTypes": null, - "id": 1078, + "id": 1079, "name": "seller", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1057, - "src": "18637:6:0", + "referencedDeclaration": 1058, + "src": "18699:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "18628:15:0", + "src": "18690:15:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -14826,14 +14818,14 @@ { "argumentTypes": null, "hexValue": "427579657220616e642073656c6c6572206172652073616d65", - "id": 1080, + "id": 1081, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "18645:27:0", + "src": "18707:27:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_6141441751234d42e9a73d96317794195c7ff57b8f16ac15725a10f10763f824", @@ -14853,21 +14845,21 @@ "typeString": "literal_string \"Buyer and seller are same\"" } ], - "id": 1076, + "id": 1077, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1386, - 1387 + 1387, + 1388 ], - "referencedDeclaration": 1387, - "src": "18620:7:0", + "referencedDeclaration": 1388, + "src": "18682:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 1081, + "id": 1082, "isConstant": false, "isLValue": false, "isPure": false, @@ -14875,15 +14867,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18620:53:0", + "src": "18682:53:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1082, + "id": 1083, "nodeType": "ExpressionStatement", - "src": "18620:53:0" + "src": "18682:53:0" }, { "expression": { @@ -14895,19 +14887,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1086, + "id": 1087, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1084, + "id": 1085, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1067, - "src": "18740:5:0", + "referencedDeclaration": 1068, + "src": "18802:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14918,14 +14910,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 1085, + "id": 1086, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "18748:1:0", + "src": "18810:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -14933,7 +14925,7 @@ }, "value": "0" }, - "src": "18740:9:0", + "src": "18802:9:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -14942,14 +14934,14 @@ { "argumentTypes": null, "hexValue": "56616c7565207061737365642069732030", - "id": 1087, + "id": 1088, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "18751:19:0", + "src": "18813:19:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_3686f87c4804517ea83323ccf1a3b5b5ff52ed144b19e6fc56abe8fcd182e747", @@ -14969,21 +14961,21 @@ "typeString": "literal_string \"Value passed is 0\"" } ], - "id": 1083, + "id": 1084, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1386, - 1387 + 1387, + 1388 ], - "referencedDeclaration": 1387, - "src": "18732:7:0", + "referencedDeclaration": 1388, + "src": "18794:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 1088, + "id": 1089, "isConstant": false, "isLValue": false, "isPure": false, @@ -14991,15 +14983,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18732:39:0", + "src": "18794:39:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1089, + "id": 1090, "nodeType": "ExpressionStatement", - "src": "18732:39:0" + "src": "18794:39:0" }, { "expression": { @@ -15011,7 +15003,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 1097, + "id": 1098, "isConstant": false, "isLValue": false, "isPure": false, @@ -15022,19 +15014,19 @@ "typeIdentifier": "t_uint8", "typeString": "uint8" }, - "id": 1093, + "id": 1094, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1091, + "id": 1092, "name": "threshold", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1061, - "src": "18874:9:0", + "referencedDeclaration": 1062, + "src": "18936:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -15045,14 +15037,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 1092, + "id": 1093, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "18886:1:0", + "src": "18948:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -15060,7 +15052,7 @@ }, "value": "0" }, - "src": "18874:13:0", + "src": "18936:13:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -15074,19 +15066,19 @@ "typeIdentifier": "t_uint8", "typeString": "uint8" }, - "id": 1096, + "id": 1097, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1094, + "id": 1095, "name": "threshold", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1061, - "src": "18891:9:0", + "referencedDeclaration": 1062, + "src": "18953:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -15097,14 +15089,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "33", - "id": 1095, + "id": 1096, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "18904:1:0", + "src": "18966:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_3_by_1", @@ -15112,13 +15104,13 @@ }, "value": "3" }, - "src": "18891:14:0", + "src": "18953:14:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "18874:31:0", + "src": "18936:31:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -15127,14 +15119,14 @@ { "argumentTypes": null, "hexValue": "5468726573686f6c642063616e6e6f742062652067726561746572207468616e203320616e64206d7573742062652067726561746572207468616e2030", - "id": 1098, + "id": 1099, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "18920:63:0", + "src": "18982:63:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_351c1d5dfdc4a2b4c61d6f4dbb41a0d2ae70a9c094d3c0add87af24b5dd19c13", @@ -15154,21 +15146,21 @@ "typeString": "literal_string \"Threshold cannot be greater than 3 and must be greater than 0\"" } ], - "id": 1090, + "id": 1091, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1386, - 1387 + 1387, + 1388 ], - "referencedDeclaration": 1387, - "src": "18853:7:0", + "referencedDeclaration": 1388, + "src": "18915:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 1099, + "id": 1100, "isConstant": false, "isLValue": false, "isPure": false, @@ -15176,15 +15168,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18853:140:0", + "src": "18915:140:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1100, + "id": 1101, "nodeType": "ExpressionStatement", - "src": "18853:140:0" + "src": "18915:140:0" }, { "expression": { @@ -15196,7 +15188,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 1110, + "id": 1111, "isConstant": false, "isLValue": false, "isPure": false, @@ -15207,19 +15199,19 @@ "typeIdentifier": "t_uint8", "typeString": "uint8" }, - "id": 1104, + "id": 1105, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1102, + "id": 1103, "name": "threshold", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1061, - "src": "19262:9:0", + "referencedDeclaration": 1062, + "src": "19324:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -15230,14 +15222,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "31", - "id": 1103, + "id": 1104, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "19275:1:0", + "src": "19337:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -15245,7 +15237,7 @@ }, "value": "1" }, - "src": "19262:14:0", + "src": "19324:14:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -15259,19 +15251,19 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 1109, + "id": 1110, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1105, + "id": 1106, "name": "moderator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1059, - "src": "19280:9:0", + "referencedDeclaration": 1060, + "src": "19342:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15285,14 +15277,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 1107, + "id": 1108, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "19301:1:0", + "src": "19363:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -15308,20 +15300,20 @@ "typeString": "int_const 0" } ], - "id": 1106, + "id": 1107, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "19293:7:0", + "src": "19355:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, - "id": 1108, + "id": 1109, "isConstant": false, "isLValue": false, "isPure": true, @@ -15329,19 +15321,19 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "19293:10:0", + "src": "19355:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "19280:23:0", + "src": "19342:23:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "19262:41:0", + "src": "19324:41:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -15350,14 +15342,14 @@ { "argumentTypes": null, "hexValue": "456974686572207468726573686f6c642073686f756c642062652031206f74686572776973652076616c6964206d6f64657261746f7220616464726573732073686f756c6420626520706173736564", - "id": 1111, + "id": 1112, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "19317:81:0", + "src": "19379:81:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_08dfdd405be5d5023d3f601e2b0a844b246ceb6764817070ff6789d5e1f80050", @@ -15377,21 +15369,21 @@ "typeString": "literal_string \"Either threshold should be 1 otherwise valid moderator address should be passed\"" } ], - "id": 1101, + "id": 1102, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1386, - 1387 + 1387, + 1388 ], - "referencedDeclaration": 1387, - "src": "19241:7:0", + "referencedDeclaration": 1388, + "src": "19303:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 1112, + "id": 1113, "isConstant": false, "isLValue": false, "isPure": false, @@ -15399,15 +15391,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "19241:167:0", + "src": "19303:167:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1113, + "id": 1114, "nodeType": "ExpressionStatement", - "src": "19241:167:0" + "src": "19303:167:0" }, { "expression": { @@ -15419,19 +15411,19 @@ "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, - "id": 1125, + "id": 1126, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1115, + "id": 1116, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1065, - "src": "19440:10:0", + "referencedDeclaration": 1066, + "src": "19502:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -15444,12 +15436,12 @@ "arguments": [ { "argumentTypes": null, - "id": 1117, + "id": 1118, "name": "uniqueId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1069, - "src": "19497:8:0", + "referencedDeclaration": 1070, + "src": "19559:8:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -15457,12 +15449,12 @@ }, { "argumentTypes": null, - "id": 1118, + "id": 1119, "name": "threshold", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1061, - "src": "19523:9:0", + "referencedDeclaration": 1062, + "src": "19585:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -15470,12 +15462,12 @@ }, { "argumentTypes": null, - "id": 1119, + "id": 1120, "name": "timeoutHours", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1063, - "src": "19550:12:0", + "referencedDeclaration": 1064, + "src": "19612:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -15483,12 +15475,12 @@ }, { "argumentTypes": null, - "id": 1120, + "id": 1121, "name": "buyer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1055, - "src": "19580:5:0", + "referencedDeclaration": 1056, + "src": "19642:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15496,12 +15488,12 @@ }, { "argumentTypes": null, - "id": 1121, + "id": 1122, "name": "seller", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1057, - "src": "19603:6:0", + "referencedDeclaration": 1058, + "src": "19665:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15509,12 +15501,12 @@ }, { "argumentTypes": null, - "id": 1122, + "id": 1123, "name": "moderator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1059, - "src": "19627:9:0", + "referencedDeclaration": 1060, + "src": "19689:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15522,12 +15514,12 @@ }, { "argumentTypes": null, - "id": 1123, + "id": 1124, "name": "tokenAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1073, - "src": "19654:12:0", + "referencedDeclaration": 1074, + "src": "19716:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15565,18 +15557,18 @@ "typeString": "address" } ], - "id": 1116, + "id": 1117, "name": "calculateRedeemScriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 645, - "src": "19454:25:0", + "referencedDeclaration": 637, + "src": "19516:25:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_bytes20_$_t_uint8_$_t_uint32_$_t_address_$_t_address_$_t_address_$_t_address_$returns$_t_bytes32_$", "typeString": "function (bytes20,uint8,uint32,address,address,address,address) view returns (bytes32)" } }, - "id": 1124, + "id": 1125, "isConstant": false, "isLValue": false, "isPure": false, @@ -15584,13 +15576,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "19454:226:0", + "src": "19516:226:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "src": "19440:240:0", + "src": "19502:240:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -15599,14 +15591,14 @@ { "argumentTypes": null, "hexValue": "43616c63756c6174656420736372697074206861736820646f6573206e6f74206d61746368207061737365642073637269707420686173682e", - "id": 1126, + "id": 1127, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "19695:59:0", + "src": "19757:59:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_0c041e0c58e6b0e01d338d852a5abb639065eabeb0aee05e0ce3e5f0e52b4f51", @@ -15626,21 +15618,21 @@ "typeString": "literal_string \"Calculated script hash does not match passed script hash.\"" } ], - "id": 1114, + "id": 1115, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1386, - 1387 + 1387, + 1388 ], - "referencedDeclaration": 1387, - "src": "19419:7:0", + "referencedDeclaration": 1388, + "src": "19481:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 1127, + "id": 1128, "isConstant": false, "isLValue": false, "isPure": false, @@ -15648,20 +15640,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "19419:345:0", + "src": "19481:345:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1128, + "id": 1129, "nodeType": "ExpressionStatement", - "src": "19419:345:0" + "src": "19481:345:0" }, { "expression": { "argumentTypes": null, - "id": 1146, + "id": 1147, "isConstant": false, "isLValue": false, "isPure": false, @@ -15670,26 +15662,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1129, + "id": 1130, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "19775:12:0", + "src": "19837:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 1131, + "id": 1132, "indexExpression": { "argumentTypes": null, - "id": 1130, + "id": 1131, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1065, - "src": "19788:10:0", + "referencedDeclaration": 1066, + "src": "19850:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -15700,7 +15692,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "19775:24:0", + "src": "19837:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -15713,12 +15705,12 @@ "arguments": [ { "argumentTypes": null, - "id": 1133, + "id": 1134, "name": "buyer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1055, - "src": "19835:5:0", + "referencedDeclaration": 1056, + "src": "19897:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15726,12 +15718,12 @@ }, { "argumentTypes": null, - "id": 1134, + "id": 1135, "name": "seller", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1057, - "src": "19862:6:0", + "referencedDeclaration": 1058, + "src": "19924:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15739,12 +15731,12 @@ }, { "argumentTypes": null, - "id": 1135, + "id": 1136, "name": "moderator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1059, - "src": "19893:9:0", + "referencedDeclaration": 1060, + "src": "19955:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15752,12 +15744,12 @@ }, { "argumentTypes": null, - "id": 1136, + "id": 1137, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1067, - "src": "19923:5:0", + "referencedDeclaration": 1068, + "src": "19985:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -15767,18 +15759,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1137, + "id": 1138, "name": "Status", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9, - "src": "19950:6:0", + "src": "20012:6:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_Status_$9_$", "typeString": "type(enum Escrow_v1_0.Status)" } }, - "id": 1138, + "id": 1139, "isConstant": false, "isLValue": false, "isPure": true, @@ -15786,7 +15778,7 @@ "memberName": "FUNDED", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "19950:13:0", + "src": "20012:13:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$9", "typeString": "enum Escrow_v1_0.Status" @@ -15796,18 +15788,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1139, + "id": 1140, "name": "block", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1373, - "src": "19991:5:0", + "referencedDeclaration": 1374, + "src": "20053:5:0", "typeDescriptions": { "typeIdentifier": "t_magic_block", "typeString": "block" } }, - "id": 1140, + "id": 1141, "isConstant": false, "isLValue": false, "isPure": false, @@ -15815,7 +15807,7 @@ "memberName": "timestamp", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "19991:15:0", + "src": "20053:15:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -15823,12 +15815,12 @@ }, { "argumentTypes": null, - "id": 1141, + "id": 1142, "name": "threshold", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1061, - "src": "20031:9:0", + "referencedDeclaration": 1062, + "src": "20093:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -15836,12 +15828,12 @@ }, { "argumentTypes": null, - "id": 1142, + "id": 1143, "name": "timeoutHours", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1063, - "src": "20068:12:0", + "referencedDeclaration": 1064, + "src": "20130:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -15849,12 +15841,12 @@ }, { "argumentTypes": null, - "id": 1143, + "id": 1144, "name": "transactionType", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1071, - "src": "20110:15:0", + "referencedDeclaration": 1072, + "src": "20172:15:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -15862,12 +15854,12 @@ }, { "argumentTypes": null, - "id": 1144, + "id": 1145, "name": "tokenAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1073, - "src": "20152:12:0", + "referencedDeclaration": 1074, + "src": "20214:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15876,18 +15868,18 @@ ], "expression": { "argumentTypes": null, - "id": 1132, + "id": 1133, "name": "Transaction", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 71, - "src": "19802:11:0", + "src": "19864:11:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_struct$_Transaction_$71_storage_ptr_$", "typeString": "type(struct Escrow_v1_0.Transaction storage pointer)" } }, - "id": 1145, + "id": 1146, "isConstant": false, "isLValue": false, "isPure": false, @@ -15906,26 +15898,26 @@ "tokenAddress" ], "nodeType": "FunctionCall", - "src": "19802:373:0", + "src": "19864:373:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_memory", "typeString": "struct Escrow_v1_0.Transaction memory" } }, - "src": "19775:400:0", + "src": "19837:400:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 1147, + "id": 1148, "nodeType": "ExpressionStatement", - "src": "19775:400:0" + "src": "19837:400:0" }, { "expression": { "argumentTypes": null, - "id": 1155, + "id": 1156, "isConstant": false, "isLValue": false, "isPure": false, @@ -15938,26 +15930,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1148, + "id": 1149, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "20186:12:0", + "src": "20248:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 1150, + "id": 1151, "indexExpression": { "argumentTypes": null, - "id": 1149, + "id": 1150, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1065, - "src": "20199:10:0", + "referencedDeclaration": 1066, + "src": "20261:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -15968,13 +15960,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20186:24:0", + "src": "20248:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 1151, + "id": 1152, "isConstant": false, "isLValue": true, "isPure": false, @@ -15982,21 +15974,21 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "20186:32:0", + "src": "20248:32:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 1153, + "id": 1154, "indexExpression": { "argumentTypes": null, - "id": 1152, + "id": 1153, "name": "seller", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1057, - "src": "20219:6:0", + "referencedDeclaration": 1058, + "src": "20281:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -16007,7 +15999,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "20186:40:0", + "src": "20248:40:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -16018,14 +16010,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "74727565", - "id": 1154, + "id": 1155, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "20229:4:0", + "src": "20291:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -16033,20 +16025,20 @@ }, "value": "true" }, - "src": "20186:47:0", + "src": "20248:47:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 1156, + "id": 1157, "nodeType": "ExpressionStatement", - "src": "20186:47:0" + "src": "20248:47:0" }, { "expression": { "argumentTypes": null, - "id": 1164, + "id": 1165, "isConstant": false, "isLValue": false, "isPure": false, @@ -16059,26 +16051,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1157, + "id": 1158, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "20243:12:0", + "src": "20305:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 1159, + "id": 1160, "indexExpression": { "argumentTypes": null, - "id": 1158, + "id": 1159, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1065, - "src": "20256:10:0", + "referencedDeclaration": 1066, + "src": "20318:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -16089,13 +16081,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20243:24:0", + "src": "20305:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 1160, + "id": 1161, "isConstant": false, "isLValue": true, "isPure": false, @@ -16103,21 +16095,21 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "20243:32:0", + "src": "20305:32:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 1162, + "id": 1163, "indexExpression": { "argumentTypes": null, - "id": 1161, + "id": 1162, "name": "buyer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1055, - "src": "20276:5:0", + "referencedDeclaration": 1056, + "src": "20338:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -16128,7 +16120,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "20243:39:0", + "src": "20305:39:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -16139,14 +16131,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "74727565", - "id": 1163, + "id": 1164, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "20285:4:0", + "src": "20347:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -16154,15 +16146,15 @@ }, "value": "true" }, - "src": "20243:46:0", + "src": "20305:46:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 1165, + "id": 1166, "nodeType": "ExpressionStatement", - "src": "20243:46:0" + "src": "20305:46:0" }, { "expression": { @@ -16170,7 +16162,7 @@ "arguments": [ { "argumentTypes": null, - "id": 1173, + "id": 1174, "isConstant": false, "isLValue": false, "isPure": false, @@ -16178,7 +16170,7 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "20396:44:0", + "src": "20458:44:0", "subExpression": { "argumentTypes": null, "baseExpression": { @@ -16187,26 +16179,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1167, + "id": 1168, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "20397:12:0", + "src": "20459:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 1169, + "id": 1170, "indexExpression": { "argumentTypes": null, - "id": 1168, + "id": 1169, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1065, - "src": "20410:10:0", + "referencedDeclaration": 1066, + "src": "20472:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -16217,13 +16209,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20397:24:0", + "src": "20459:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 1170, + "id": 1171, "isConstant": false, "isLValue": true, "isPure": false, @@ -16231,21 +16223,21 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "20397:32:0", + "src": "20459:32:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 1172, + "id": 1173, "indexExpression": { "argumentTypes": null, - "id": 1171, + "id": 1172, "name": "moderator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1059, - "src": "20430:9:0", + "referencedDeclaration": 1060, + "src": "20492:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -16256,7 +16248,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20397:43:0", + "src": "20459:43:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -16270,14 +16262,14 @@ { "argumentTypes": null, "hexValue": "456974686572206275796572206f722073656c6c657220697320706173736564206173206d6f64657261746f72", - "id": 1174, + "id": 1175, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "20455:47:0", + "src": "20517:47:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_313b391557427937e7bdb85c7561d47c5b9c985755a448dd33a92026ffb38f8d", @@ -16297,21 +16289,21 @@ "typeString": "literal_string \"Either buyer or seller is passed as moderator\"" } ], - "id": 1166, + "id": 1167, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1386, - 1387 + 1387, + 1388 ], - "referencedDeclaration": 1387, - "src": "20375:7:0", + "referencedDeclaration": 1388, + "src": "20437:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 1175, + "id": 1176, "isConstant": false, "isLValue": false, "isPure": false, @@ -16319,15 +16311,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "20375:137:0", + "src": "20437:137:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1176, + "id": 1177, "nodeType": "ExpressionStatement", - "src": "20375:137:0" + "src": "20437:137:0" }, { "condition": { @@ -16336,19 +16328,19 @@ "typeIdentifier": "t_uint8", "typeString": "uint8" }, - "id": 1179, + "id": 1180, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1177, + "id": 1178, "name": "threshold", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1061, - "src": "20672:9:0", + "referencedDeclaration": 1062, + "src": "20734:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -16359,14 +16351,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "31", - "id": 1178, + "id": 1179, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "20684:1:0", + "src": "20746:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -16374,25 +16366,25 @@ }, "value": "1" }, - "src": "20672:13:0", + "src": "20734:13:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, - "id": 1190, + "id": 1191, "nodeType": "IfStatement", - "src": "20668:93:0", + "src": "20730:93:0", "trueBody": { - "id": 1189, + "id": 1190, "nodeType": "Block", - "src": "20686:75:0", + "src": "20748:75:0", "statements": [ { "expression": { "argumentTypes": null, - "id": 1187, + "id": 1188, "isConstant": false, "isLValue": false, "isPure": false, @@ -16405,26 +16397,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1180, + "id": 1181, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "20700:12:0", + "src": "20762:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 1182, + "id": 1183, "indexExpression": { "argumentTypes": null, - "id": 1181, + "id": 1182, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1065, - "src": "20713:10:0", + "referencedDeclaration": 1066, + "src": "20775:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -16435,13 +16427,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20700:24:0", + "src": "20762:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 1183, + "id": 1184, "isConstant": false, "isLValue": true, "isPure": false, @@ -16449,21 +16441,21 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "20700:32:0", + "src": "20762:32:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 1185, + "id": 1186, "indexExpression": { "argumentTypes": null, - "id": 1184, + "id": 1185, "name": "moderator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1059, - "src": "20733:9:0", + "referencedDeclaration": 1060, + "src": "20795:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -16474,7 +16466,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "20700:43:0", + "src": "20762:43:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -16485,14 +16477,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "74727565", - "id": 1186, + "id": 1187, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "20746:4:0", + "src": "20808:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -16500,15 +16492,15 @@ }, "value": "true" }, - "src": "20700:50:0", + "src": "20762:50:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 1188, + "id": 1189, "nodeType": "ExpressionStatement", - "src": "20700:50:0" + "src": "20762:50:0" } ] } @@ -16516,7 +16508,7 @@ { "expression": { "argumentTypes": null, - "id": 1192, + "id": 1193, "isConstant": false, "isLValue": false, "isPure": false, @@ -16524,15 +16516,15 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "20779:18:0", + "src": "20841:18:0", "subExpression": { "argumentTypes": null, - "id": 1191, + "id": 1192, "name": "transactionCount", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 78, - "src": "20779:16:0", + "src": "20841:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -16543,9 +16535,9 @@ "typeString": "uint256" } }, - "id": 1193, + "id": 1194, "nodeType": "ExpressionStatement", - "src": "20779:18:0" + "src": "20841:18:0" }, { "expression": { @@ -16553,12 +16545,12 @@ "arguments": [ { "argumentTypes": null, - "id": 1198, + "id": 1199, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1065, - "src": "20839:10:0", + "referencedDeclaration": 1066, + "src": "20901:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -16576,26 +16568,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1194, + "id": 1195, "name": "partyVsTransaction", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 83, - "src": "20808:18:0", + "src": "20870:18:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_bytes32_$dyn_storage_$", "typeString": "mapping(address => bytes32[] storage ref)" } }, - "id": 1196, + "id": 1197, "indexExpression": { "argumentTypes": null, - "id": 1195, + "id": 1196, "name": "buyer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1055, - "src": "20827:5:0", + "referencedDeclaration": 1056, + "src": "20889:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -16606,13 +16598,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20808:25:0", + "src": "20870:25:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage", "typeString": "bytes32[] storage ref" } }, - "id": 1197, + "id": 1198, "isConstant": false, "isLValue": false, "isPure": false, @@ -16620,13 +16612,13 @@ "memberName": "push", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "20808:30:0", + "src": "20870:30:0", "typeDescriptions": { "typeIdentifier": "t_function_arraypush_nonpayable$_t_bytes32_$returns$_t_uint256_$", "typeString": "function (bytes32) returns (uint256)" } }, - "id": 1199, + "id": 1200, "isConstant": false, "isLValue": false, "isPure": false, @@ -16634,15 +16626,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "20808:42:0", + "src": "20870:42:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1200, + "id": 1201, "nodeType": "ExpressionStatement", - "src": "20808:42:0" + "src": "20870:42:0" }, { "expression": { @@ -16650,12 +16642,12 @@ "arguments": [ { "argumentTypes": null, - "id": 1205, + "id": 1206, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1065, - "src": "20892:10:0", + "referencedDeclaration": 1066, + "src": "20954:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -16673,26 +16665,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1201, + "id": 1202, "name": "partyVsTransaction", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 83, - "src": "20860:18:0", + "src": "20922:18:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_bytes32_$dyn_storage_$", "typeString": "mapping(address => bytes32[] storage ref)" } }, - "id": 1203, + "id": 1204, "indexExpression": { "argumentTypes": null, - "id": 1202, + "id": 1203, "name": "seller", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1057, - "src": "20879:6:0", + "referencedDeclaration": 1058, + "src": "20941:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -16703,13 +16695,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20860:26:0", + "src": "20922:26:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage", "typeString": "bytes32[] storage ref" } }, - "id": 1204, + "id": 1205, "isConstant": false, "isLValue": false, "isPure": false, @@ -16717,13 +16709,13 @@ "memberName": "push", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "20860:31:0", + "src": "20922:31:0", "typeDescriptions": { "typeIdentifier": "t_function_arraypush_nonpayable$_t_bytes32_$returns$_t_uint256_$", "typeString": "function (bytes32) returns (uint256)" } }, - "id": 1206, + "id": 1207, "isConstant": false, "isLValue": false, "isPure": false, @@ -16731,20 +16723,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "20860:43:0", + "src": "20922:43:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1207, + "id": 1208, "nodeType": "ExpressionStatement", - "src": "20860:43:0" + "src": "20922:43:0" } ] }, "documentation": "Private method to add transaction to reduce code redundancy", - "id": 1209, + "id": 1210, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -16752,16 +16744,16 @@ "name": "_addTransaction", "nodeType": "FunctionDefinition", "parameters": { - "id": 1074, + "id": 1075, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1055, + "id": 1056, "name": "buyer", "nodeType": "VariableDeclaration", - "scope": 1209, - "src": "18309:13:0", + "scope": 1210, + "src": "18371:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -16769,10 +16761,10 @@ "typeString": "address" }, "typeName": { - "id": 1054, + "id": 1055, "name": "address", "nodeType": "ElementaryTypeName", - "src": "18309:7:0", + "src": "18371:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -16783,11 +16775,11 @@ }, { "constant": false, - "id": 1057, + "id": 1058, "name": "seller", "nodeType": "VariableDeclaration", - "scope": 1209, - "src": "18332:14:0", + "scope": 1210, + "src": "18394:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -16795,10 +16787,10 @@ "typeString": "address" }, "typeName": { - "id": 1056, + "id": 1057, "name": "address", "nodeType": "ElementaryTypeName", - "src": "18332:7:0", + "src": "18394:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -16809,11 +16801,11 @@ }, { "constant": false, - "id": 1059, + "id": 1060, "name": "moderator", "nodeType": "VariableDeclaration", - "scope": 1209, - "src": "18356:17:0", + "scope": 1210, + "src": "18418:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -16821,10 +16813,10 @@ "typeString": "address" }, "typeName": { - "id": 1058, + "id": 1059, "name": "address", "nodeType": "ElementaryTypeName", - "src": "18356:7:0", + "src": "18418:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -16835,11 +16827,11 @@ }, { "constant": false, - "id": 1061, + "id": 1062, "name": "threshold", "nodeType": "VariableDeclaration", - "scope": 1209, - "src": "18383:15:0", + "scope": 1210, + "src": "18445:15:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -16847,10 +16839,10 @@ "typeString": "uint8" }, "typeName": { - "id": 1060, + "id": 1061, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "18383:5:0", + "src": "18445:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -16861,11 +16853,11 @@ }, { "constant": false, - "id": 1063, + "id": 1064, "name": "timeoutHours", "nodeType": "VariableDeclaration", - "scope": 1209, - "src": "18408:19:0", + "scope": 1210, + "src": "18470:19:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -16873,10 +16865,10 @@ "typeString": "uint32" }, "typeName": { - "id": 1062, + "id": 1063, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "18408:6:0", + "src": "18470:6:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -16887,11 +16879,11 @@ }, { "constant": false, - "id": 1065, + "id": 1066, "name": "scriptHash", "nodeType": "VariableDeclaration", - "scope": 1209, - "src": "18437:18:0", + "scope": 1210, + "src": "18499:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -16899,10 +16891,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 1064, + "id": 1065, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "18437:7:0", + "src": "18499:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -16913,11 +16905,11 @@ }, { "constant": false, - "id": 1067, + "id": 1068, "name": "value", "nodeType": "VariableDeclaration", - "scope": 1209, - "src": "18465:13:0", + "scope": 1210, + "src": "18527:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -16925,10 +16917,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1066, + "id": 1067, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "18465:7:0", + "src": "18527:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -16939,11 +16931,11 @@ }, { "constant": false, - "id": 1069, + "id": 1070, "name": "uniqueId", "nodeType": "VariableDeclaration", - "scope": 1209, - "src": "18488:16:0", + "scope": 1210, + "src": "18550:16:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -16951,10 +16943,10 @@ "typeString": "bytes20" }, "typeName": { - "id": 1068, + "id": 1069, "name": "bytes20", "nodeType": "ElementaryTypeName", - "src": "18488:7:0", + "src": "18550:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -16965,11 +16957,11 @@ }, { "constant": false, - "id": 1071, + "id": 1072, "name": "transactionType", "nodeType": "VariableDeclaration", - "scope": 1209, - "src": "18514:31:0", + "scope": 1210, + "src": "18576:31:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -16978,11 +16970,11 @@ }, "typeName": { "contractScope": null, - "id": 1070, + "id": 1071, "name": "TransactionType", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 12, - "src": "18514:15:0", + "src": "18576:15:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -16993,11 +16985,11 @@ }, { "constant": false, - "id": 1073, + "id": 1074, "name": "tokenAddress", "nodeType": "VariableDeclaration", - "scope": 1209, - "src": "18555:20:0", + "scope": 1210, + "src": "18617:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -17005,10 +16997,10 @@ "typeString": "address" }, "typeName": { - "id": 1072, + "id": 1073, "name": "address", "nodeType": "ElementaryTypeName", - "src": "18555:7:0", + "src": "18617:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -17018,36 +17010,36 @@ "visibility": "internal" } ], - "src": "18299:282:0" + "src": "18361:282:0" }, "payable": false, "returnParameters": { - "id": 1075, + "id": 1076, "nodeType": "ParameterList", "parameters": [], - "src": "18602:0:0" + "src": "18664:0:0" }, - "scope": 1210, - "src": "18275:2635:0", + "scope": 1211, + "src": "18337:2635:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "private" } ], - "scope": 1211, - "src": "460:20452:0" + "scope": 1212, + "src": "460:20514:0" } ], - "src": "0:20913:0" + "src": "0:20975:0" }, "legacyAST": { "absolutePath": "/home/sameep/freelancing-projects/toptal/open baazar/publicRepo/smart-contracts/contracts/escrow/Escrow_v1_0.sol", "exportedSymbols": { "Escrow_v1_0": [ - 1210 + 1211 ] }, - "id": 1211, + "id": 1212, "nodeType": "SourceUnit", "nodes": [ { @@ -17065,8 +17057,8 @@ "file": "openzeppelin-solidity/contracts/math/SafeMath.sol", "id": 2, "nodeType": "ImportDirective", - "scope": 1211, - "sourceUnit": 1369, + "scope": 1212, + "sourceUnit": 1370, "src": "25:59:0", "symbolAliases": [], "unitAlias": "" @@ -17076,8 +17068,8 @@ "file": "../token/ITokenContract.sol", "id": 3, "nodeType": "ImportDirective", - "scope": 1211, - "sourceUnit": 1241, + "scope": 1212, + "sourceUnit": 1242, "src": "86:37:0", "symbolAliases": [], "unitAlias": "" @@ -17088,9 +17080,9 @@ "contractKind": "contract", "documentation": "@dev Supports ERC20 tokens\nThe escrow smart contract for the open bazaar trades in Ethereum\nThe smart contract is desgined keeping in mind the current wallet interface of the OB-core\nhttps://github.com/OpenBazaar/wallet-interface/blob/master/wallet.go\nCurrent wallet interface strictly adheres to UTXO(bitcoin) model", "fullyImplemented": true, - "id": 1210, + "id": 1211, "linearizedBaseContracts": [ - 1210 + 1211 ], "name": "Escrow_v1_0", "nodeType": "ContractDefinition", @@ -17102,10 +17094,10 @@ "id": 4, "name": "SafeMath", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1368, + "referencedDeclaration": 1369, "src": "494:8:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$1368", + "typeIdentifier": "t_contract$_SafeMath_$1369", "typeString": "library SafeMath" } }, @@ -17878,7 +17870,7 @@ ], "name": "Transaction", "nodeType": "StructDefinition", - "scope": 1210, + "scope": 1211, "src": "902:606:0", "visibility": "public" }, @@ -17887,7 +17879,7 @@ "id": 75, "name": "transactions", "nodeType": "VariableDeclaration", - "scope": 1210, + "scope": 1211, "src": "1514:51:0", "stateVariable": true, "storageLocation": "default", @@ -17934,7 +17926,7 @@ "id": 78, "name": "transactionCount", "nodeType": "VariableDeclaration", - "scope": 1210, + "scope": 1211, "src": "1572:35:0", "stateVariable": true, "storageLocation": "default", @@ -17977,7 +17969,7 @@ "id": 83, "name": "partyVsTransaction", "nodeType": "VariableDeclaration", - "scope": 1210, + "scope": 1211, "src": "1684:54:0", "stateVariable": true, "storageLocation": "default", @@ -18164,10 +18156,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1386, - 1387 + 1387, + 1388 ], - "referencedDeclaration": 1387, + "referencedDeclaration": 1388, "src": "1802:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -18376,10 +18368,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1386, - 1387 + 1387, + 1388 ], - "referencedDeclaration": 1387, + "referencedDeclaration": 1388, "src": "1988:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -18599,10 +18591,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1386, - 1387 + 1387, + 1388 ], - "referencedDeclaration": 1387, + "referencedDeclaration": 1388, "src": "2131:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -18806,10 +18798,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1386, - 1387 + 1387, + 1388 ], - "referencedDeclaration": 1387, + "referencedDeclaration": 1388, "src": "2346:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -19013,10 +19005,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1386, - 1387 + 1387, + 1388 ], - "referencedDeclaration": 1387, + "referencedDeclaration": 1388, "src": "2549:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -19145,7 +19137,7 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1383, + "referencedDeclaration": 1384, "src": "2768:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", @@ -19264,10 +19256,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1386, - 1387 + 1387, + 1388 ], - "referencedDeclaration": 1387, + "referencedDeclaration": 1388, "src": "2747:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -19435,7 +19427,7 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1383, + "referencedDeclaration": 1384, "src": "4357:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", @@ -19602,7 +19594,7 @@ "name": "_addTransaction", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1209, + "referencedDeclaration": 1210, "src": "4193:15:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_address_$_t_uint8_$_t_uint32_$_t_bytes32_$_t_uint256_$_t_bytes20_$_t_enum$_TransactionType_$12_$_t_address_$returns$__$", @@ -19652,7 +19644,7 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1383, + "referencedDeclaration": 1384, "src": "4500:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", @@ -19681,7 +19673,7 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1383, + "referencedDeclaration": 1384, "src": "4512:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", @@ -20053,7 +20045,7 @@ "parameters": [], "src": "4183:0:0" }, - "scope": 1210, + "scope": 1211, "src": "3828:702:0", "stateMutability": "payable", "superFunction": null, @@ -20263,7 +20255,7 @@ "name": "_addTransaction", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1209, + "referencedDeclaration": 1210, "src": "6075:15:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_address_$_t_uint8_$_t_uint32_$_t_bytes32_$_t_uint256_$_t_bytes20_$_t_enum$_TransactionType_$12_$_t_address_$returns$__$", @@ -20303,7 +20295,7 @@ "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenContract_$1240", + "typeIdentifier": "t_contract$_ITokenContract_$1241", "typeString": "contract ITokenContract" }, "typeName": { @@ -20311,10 +20303,10 @@ "id": 281, "name": "ITokenContract", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1240, + "referencedDeclaration": 1241, "src": "6348:14:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenContract_$1240", + "typeIdentifier": "t_contract$_ITokenContract_$1241", "typeString": "contract ITokenContract" } }, @@ -20351,10 +20343,10 @@ "name": "ITokenContract", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1240, + "referencedDeclaration": 1241, "src": "6371:14:0", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ITokenContract_$1240_$", + "typeIdentifier": "t_type$_t_contract$_ITokenContract_$1241_$", "typeString": "type(contract ITokenContract)" } }, @@ -20368,7 +20360,7 @@ "nodeType": "FunctionCall", "src": "6371:28:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenContract_$1240", + "typeIdentifier": "t_contract$_ITokenContract_$1241", "typeString": "contract ITokenContract" } }, @@ -20390,7 +20382,7 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1383, + "referencedDeclaration": 1384, "src": "6450:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", @@ -20417,10 +20409,10 @@ "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1400, + "referencedDeclaration": 1401, "src": "6462:4:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_Escrow_v1_0_$1210", + "typeIdentifier": "t_contract$_Escrow_v1_0_$1211", "typeString": "contract Escrow_v1_0" } }, @@ -20445,7 +20437,7 @@ "typeString": "address" }, { - "typeIdentifier": "t_contract$_Escrow_v1_0_$1210", + "typeIdentifier": "t_contract$_Escrow_v1_0_$1211", "typeString": "contract Escrow_v1_0" }, { @@ -20462,7 +20454,7 @@ "referencedDeclaration": 282, "src": "6431:5:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenContract_$1240", + "typeIdentifier": "t_contract$_ITokenContract_$1241", "typeString": "contract ITokenContract" } }, @@ -20473,7 +20465,7 @@ "lValueRequested": false, "memberName": "transferFrom", "nodeType": "MemberAccess", - "referencedDeclaration": 1239, + "referencedDeclaration": 1240, "src": "6431:18:0", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", @@ -20528,10 +20520,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1386, - 1387 + 1387, + 1388 ], - "referencedDeclaration": 1387, + "referencedDeclaration": 1388, "src": "6410:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -20581,7 +20573,7 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1383, + "referencedDeclaration": 1384, "src": "6626:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", @@ -21051,7 +21043,7 @@ "parameters": [], "src": "6064:0:0" }, - "scope": 1210, + "scope": 1211, "src": "5630:1021:0", "stateMutability": "nonpayable", "superFunction": null, @@ -21059,130 +21051,103 @@ }, { "body": { - "id": 324, + "id": 322, "nodeType": "Block", - "src": "7027:76:0", + "src": "7021:75:0", "statements": [ { "expression": { "argumentTypes": null, - "id": 322, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 315, - "name": "check", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 313, - "src": "7037:5:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { + "baseExpression": { "argumentTypes": null, - "baseExpression": { + "expression": { "argumentTypes": null, - "expression": { + "baseExpression": { "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 316, - "name": "transactions", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75, - "src": "7045:12:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", - "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" - } - }, - "id": 318, - "indexExpression": { - "argumentTypes": null, - "id": 317, - "name": "scriptHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 308, - "src": "7058:10:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7045:24:0", + "id": 315, + "name": "transactions", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75, + "src": "7038:12:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_Transaction_$71_storage", - "typeString": "struct Escrow_v1_0.Transaction storage ref" + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", + "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" + } + }, + "id": 317, + "indexExpression": { + "argumentTypes": null, + "id": 316, + "name": "scriptHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 308, + "src": "7051:10:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" } }, - "id": 319, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberName": "beneficiaries", - "nodeType": "MemberAccess", - "referencedDeclaration": 70, - "src": "7045:38:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 321, - "indexExpression": { - "argumentTypes": null, - "id": 320, - "name": "beneficiary", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 310, - "src": "7084:11:0", + "nodeType": "IndexAccess", + "src": "7038:24:0", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_struct$_Transaction_$71_storage", + "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, + "id": 318, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7045:51:0", + "memberName": "beneficiaries", + "nodeType": "MemberAccess", + "referencedDeclaration": 70, + "src": "7038:38:0", "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + } + }, + "id": 320, + "indexExpression": { + "argumentTypes": null, + "id": 319, + "name": "beneficiary", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 310, + "src": "7077:11:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" } }, - "src": "7037:59:0", + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "7038:51:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 323, - "nodeType": "ExpressionStatement", - "src": "7037:59:0" + "functionReturnParameters": 314, + "id": 321, + "nodeType": "Return", + "src": "7031:58:0" } ] }, "documentation": "@dev Check whether given address was a beneficiary of transaction execution or not\n@param scriptHash script hash of the transaction\n@param beneficiary Beneficiary address to be checked", - "id": 325, + "id": 323, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -21198,7 +21163,7 @@ "id": 308, "name": "scriptHash", "nodeType": "VariableDeclaration", - "scope": 325, + "scope": 323, "src": "6910:18:0", "stateVariable": false, "storageLocation": "default", @@ -21224,7 +21189,7 @@ "id": 310, "name": "beneficiary", "nodeType": "VariableDeclaration", - "scope": 325, + "scope": 323, "src": "6938:19:0", "stateVariable": false, "storageLocation": "default", @@ -21256,10 +21221,10 @@ { "constant": false, "id": 313, - "name": "check", + "name": "", "nodeType": "VariableDeclaration", - "scope": 325, - "src": "7011:10:0", + "scope": 323, + "src": "7011:4:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -21280,140 +21245,113 @@ "visibility": "internal" } ], - "src": "7010:12:0" - }, - "scope": 1210, - "src": "6875:228:0", - "stateMutability": "view", - "superFunction": null, - "visibility": "external" - }, - { - "body": { - "id": 343, - "nodeType": "Block", - "src": "7464:61:0", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 341, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 334, - "name": "vote", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 332, - "src": "7474:4:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { + "src": "7010:6:0" + }, + "scope": 1211, + "src": "6875:221:0", + "stateMutability": "view", + "superFunction": null, + "visibility": "external" + }, + { + "body": { + "id": 339, + "nodeType": "Block", + "src": "7452:61:0", + "statements": [ + { + "expression": { + "argumentTypes": null, + "baseExpression": { "argumentTypes": null, - "baseExpression": { + "expression": { "argumentTypes": null, - "expression": { + "baseExpression": { "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 335, - "name": "transactions", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75, - "src": "7481:12:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", - "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" - } - }, - "id": 337, - "indexExpression": { - "argumentTypes": null, - "id": 336, - "name": "scriptHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 327, - "src": "7494:10:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7481:24:0", + "id": 332, + "name": "transactions", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 75, + "src": "7469:12:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_Transaction_$71_storage", - "typeString": "struct Escrow_v1_0.Transaction storage ref" + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", + "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" + } + }, + "id": 334, + "indexExpression": { + "argumentTypes": null, + "id": 333, + "name": "scriptHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 325, + "src": "7482:10:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" } }, - "id": 338, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberName": "voted", - "nodeType": "MemberAccess", - "referencedDeclaration": 66, - "src": "7481:30:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 340, - "indexExpression": { - "argumentTypes": null, - "id": 339, - "name": "party", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 329, - "src": "7512:5:0", + "nodeType": "IndexAccess", + "src": "7469:24:0", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_struct$_Transaction_$71_storage", + "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, + "id": 335, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7481:37:0", + "memberName": "voted", + "nodeType": "MemberAccess", + "referencedDeclaration": 66, + "src": "7469:30:0", "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" } }, - "src": "7474:44:0", + "id": 337, + "indexExpression": { + "argumentTypes": null, + "id": 336, + "name": "party", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 327, + "src": "7500:5:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "7469:37:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 342, - "nodeType": "ExpressionStatement", - "src": "7474:44:0" + "functionReturnParameters": 331, + "id": 338, + "nodeType": "Return", + "src": "7462:44:0" } ] }, "documentation": "@dev Check whether given party has voted or not\n@param scriptHash script hash of the transaction\n@param party Address of the party whose vote has to be checked\n@return bool vote", - "id": 344, + "id": 340, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -21421,16 +21359,16 @@ "name": "checkVote", "nodeType": "FunctionDefinition", "parameters": { - "id": 330, + "id": 328, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 327, + "id": 325, "name": "scriptHash", "nodeType": "VariableDeclaration", - "scope": 344, - "src": "7354:18:0", + "scope": 340, + "src": "7347:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -21438,10 +21376,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 326, + "id": 324, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "7354:7:0", + "src": "7347:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -21452,11 +21390,11 @@ }, { "constant": false, - "id": 329, + "id": 327, "name": "party", "nodeType": "VariableDeclaration", - "scope": 344, - "src": "7382:13:0", + "scope": 340, + "src": "7375:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -21464,10 +21402,10 @@ "typeString": "address" }, "typeName": { - "id": 328, + "id": 326, "name": "address", "nodeType": "ElementaryTypeName", - "src": "7382:7:0", + "src": "7375:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -21477,20 +21415,20 @@ "visibility": "internal" } ], - "src": "7344:57:0" + "src": "7337:57:0" }, "payable": false, "returnParameters": { - "id": 333, + "id": 331, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 332, - "name": "vote", + "id": 330, + "name": "", "nodeType": "VariableDeclaration", - "scope": 344, - "src": "7449:9:0", + "scope": 340, + "src": "7442:4:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -21498,10 +21436,10 @@ "typeString": "bool" }, "typeName": { - "id": 331, + "id": 329, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "7449:4:0", + "src": "7442:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -21511,32 +21449,32 @@ "visibility": "internal" } ], - "src": "7448:11:0" + "src": "7441:6:0" }, - "scope": 1210, - "src": "7326:199:0", + "scope": 1211, + "src": "7319:194:0", "stateMutability": "view", "superFunction": null, "visibility": "external" }, { "body": { - "id": 403, + "id": 399, "nodeType": "Block", - "src": "8111:330:0", + "src": "8099:330:0", "statements": [ { "assignments": [ - 364 + 360 ], "declarations": [ { "constant": false, - "id": 364, + "id": 360, "name": "_value", "nodeType": "VariableDeclaration", - "scope": 404, - "src": "8121:14:0", + "scope": 400, + "src": "8109:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -21544,10 +21482,10 @@ "typeString": "uint256" }, "typeName": { - "id": 363, + "id": 359, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "8121:7:0", + "src": "8109:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -21557,23 +21495,23 @@ "visibility": "internal" } ], - "id": 367, + "id": 363, "initialValue": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 365, + "id": 361, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1383, - "src": "8138:3:0", + "referencedDeclaration": 1384, + "src": "8126:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 366, + "id": 362, "isConstant": false, "isLValue": false, "isPure": false, @@ -21581,14 +21519,14 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "8138:9:0", + "src": "8126:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "8121:26:0" + "src": "8109:26:0" }, { "expression": { @@ -21600,19 +21538,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 371, + "id": 367, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 369, + "id": 365, "name": "_value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 364, - "src": "8166:6:0", + "referencedDeclaration": 360, + "src": "8154:6:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -21623,14 +21561,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 370, + "id": 366, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "8175:1:0", + "src": "8163:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -21638,7 +21576,7 @@ }, "value": "0" }, - "src": "8166:10:0", + "src": "8154:10:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -21647,14 +21585,14 @@ { "argumentTypes": null, "hexValue": "56616c7565206d7573742062652067726561746572207468616e207a65726f2e", - "id": 372, + "id": 368, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "8178:34:0", + "src": "8166:34:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_21fbec2be6560b9ccffc4980d43c0d147770168e7aaf24999b418b9010085622", @@ -21674,21 +21612,21 @@ "typeString": "literal_string \"Value must be greater than zero.\"" } ], - "id": 368, + "id": 364, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1386, - 1387 + 1387, + 1388 ], - "referencedDeclaration": 1387, - "src": "8158:7:0", + "referencedDeclaration": 1388, + "src": "8146:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 373, + "id": 369, "isConstant": false, "isLValue": false, "isPure": false, @@ -21696,20 +21634,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8158:55:0", + "src": "8146:55:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 374, + "id": 370, "nodeType": "ExpressionStatement", - "src": "8158:55:0" + "src": "8146:55:0" }, { "expression": { "argumentTypes": null, - "id": 386, + "id": 382, "isConstant": false, "isLValue": false, "isPure": false, @@ -21720,26 +21658,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 375, + "id": 371, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "8224:12:0", + "src": "8212:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 377, + "id": 373, "indexExpression": { "argumentTypes": null, - "id": 376, + "id": 372, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 346, - "src": "8237:10:0", + "referencedDeclaration": 342, + "src": "8225:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -21750,13 +21688,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "8224:24:0", + "src": "8212:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 378, + "id": 374, "isConstant": false, "isLValue": true, "isPure": false, @@ -21764,7 +21702,7 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": 40, - "src": "8224:30:0", + "src": "8212:30:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -21777,12 +21715,12 @@ "arguments": [ { "argumentTypes": null, - "id": 384, + "id": 380, "name": "_value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 364, - "src": "8305:6:0", + "referencedDeclaration": 360, + "src": "8293:6:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -21802,26 +21740,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 379, + "id": 375, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "8257:12:0", + "src": "8245:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 381, + "id": 377, "indexExpression": { "argumentTypes": null, - "id": 380, + "id": 376, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 346, - "src": "8270:10:0", + "referencedDeclaration": 342, + "src": "8258:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -21832,13 +21770,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "8257:24:0", + "src": "8245:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 382, + "id": 378, "isConstant": false, "isLValue": true, "isPure": false, @@ -21846,27 +21784,27 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": 40, - "src": "8257:30:0", + "src": "8245:30:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 383, + "id": 379, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 1347, - "src": "8257:47:0", + "referencedDeclaration": 1348, + "src": "8245:47:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 385, + "id": 381, "isConstant": false, "isLValue": false, "isPure": false, @@ -21874,26 +21812,26 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8257:55:0", + "src": "8245:55:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "8224:88:0", + "src": "8212:88:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 387, + "id": 383, "nodeType": "ExpressionStatement", - "src": "8224:88:0" + "src": "8212:88:0" }, { "expression": { "argumentTypes": null, - "id": 394, + "id": 390, "isConstant": false, "isLValue": false, "isPure": false, @@ -21904,26 +21842,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 388, + "id": 384, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "8322:12:0", + "src": "8310:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 390, + "id": 386, "indexExpression": { "argumentTypes": null, - "id": 389, + "id": 385, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 346, - "src": "8335:10:0", + "referencedDeclaration": 342, + "src": "8323:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -21934,13 +21872,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "8322:24:0", + "src": "8310:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 391, + "id": 387, "isConstant": false, "isLValue": true, "isPure": false, @@ -21948,7 +21886,7 @@ "memberName": "lastModified", "nodeType": "MemberAccess", "referencedDeclaration": 42, - "src": "8322:37:0", + "src": "8310:37:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -21960,18 +21898,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 392, + "id": 388, "name": "block", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1373, - "src": "8362:5:0", + "referencedDeclaration": 1374, + "src": "8350:5:0", "typeDescriptions": { "typeIdentifier": "t_magic_block", "typeString": "block" } }, - "id": 393, + "id": 389, "isConstant": false, "isLValue": false, "isPure": false, @@ -21979,21 +21917,21 @@ "memberName": "timestamp", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "8362:15:0", + "src": "8350:15:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "8322:55:0", + "src": "8310:55:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 395, + "id": 391, "nodeType": "ExpressionStatement", - "src": "8322:55:0" + "src": "8310:55:0" }, { "eventCall": { @@ -22001,12 +21939,12 @@ "arguments": [ { "argumentTypes": null, - "id": 397, + "id": 393, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 346, - "src": "8403:10:0", + "referencedDeclaration": 342, + "src": "8391:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -22016,18 +21954,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 398, + "id": 394, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1383, - "src": "8415:3:0", + "referencedDeclaration": 1384, + "src": "8403:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 399, + "id": 395, "isConstant": false, "isLValue": false, "isPure": false, @@ -22035,7 +21973,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "8415:10:0", + "src": "8403:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -22043,12 +21981,12 @@ }, { "argumentTypes": null, - "id": 400, + "id": 396, "name": "_value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 364, - "src": "8427:6:0", + "referencedDeclaration": 360, + "src": "8415:6:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -22070,18 +22008,18 @@ "typeString": "uint256" } ], - "id": 396, + "id": 392, "name": "FundAdded", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 30, - "src": "8393:9:0", + "src": "8381:9:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (bytes32,address,uint256)" } }, - "id": 401, + "id": 397, "isConstant": false, "isLValue": false, "isPure": false, @@ -22089,20 +22027,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8393:41:0", + "src": "8381:41:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 402, + "id": 398, "nodeType": "EmitStatement", - "src": "8388:46:0" + "src": "8376:46:0" } ] }, "documentation": "dev Allows buyer of the transaction to add more funds(ether) in the transaction. This will help to cater scenarios wherein initially buyer missed to fund transaction as required\nparam scriptHash script hash of the transaction\nOnly buyer of the transaction can invoke this method", - "id": 404, + "id": 400, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -22111,78 +22049,78 @@ "arguments": [ { "argumentTypes": null, - "id": 349, + "id": 345, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 346, - "src": "7951:10:0", + "referencedDeclaration": 342, + "src": "7939:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } } ], - "id": 350, + "id": 346, "modifierName": { "argumentTypes": null, - "id": 348, + "id": 344, "name": "transactionExists", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 99, - "src": "7933:17:0", + "src": "7921:17:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "7933:29:0" + "src": "7921:29:0" }, { "arguments": [ { "argumentTypes": null, - "id": 352, + "id": 348, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 346, - "src": "7985:10:0", + "referencedDeclaration": 342, + "src": "7973:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } } ], - "id": 353, + "id": 349, "modifierName": { "argumentTypes": null, - "id": 351, + "id": 347, "name": "inFundedState", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 132, - "src": "7971:13:0", + "src": "7959:13:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "7971:25:0" + "src": "7959:25:0" }, { "arguments": [ { "argumentTypes": null, - "id": 355, + "id": 351, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 346, - "src": "8026:10:0", + "referencedDeclaration": 342, + "src": "8014:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -22192,18 +22130,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 356, + "id": 352, "name": "TransactionType", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12, - "src": "8038:15:0", + "src": "8026:15:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_TransactionType_$12_$", "typeString": "type(enum Escrow_v1_0.TransactionType)" } }, - "id": 357, + "id": 353, "isConstant": false, "isLValue": false, "isPure": true, @@ -22211,77 +22149,77 @@ "memberName": "ETHER", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "8038:21:0", + "src": "8026:21:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" } } ], - "id": 358, + "id": 354, "modifierName": { "argumentTypes": null, - "id": 354, + "id": 350, "name": "checkTransactionType", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 165, - "src": "8005:20:0", + "src": "7993:20:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$_t_enum$_TransactionType_$12_$", "typeString": "modifier (bytes32,enum Escrow_v1_0.TransactionType)" } }, "nodeType": "ModifierInvocation", - "src": "8005:55:0" + "src": "7993:55:0" }, { "arguments": [ { "argumentTypes": null, - "id": 360, + "id": 356, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 346, - "src": "8079:10:0", + "referencedDeclaration": 342, + "src": "8067:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } } ], - "id": 361, + "id": 357, "modifierName": { "argumentTypes": null, - "id": 359, + "id": 355, "name": "onlyBuyer", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 182, - "src": "8069:9:0", + "src": "8057:9:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "8069:21:0" + "src": "8057:21:0" } ], "name": "addFundsToTransaction", "nodeType": "FunctionDefinition", "parameters": { - "id": 347, + "id": 343, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 346, + "id": 342, "name": "scriptHash", "nodeType": "VariableDeclaration", - "scope": 404, - "src": "7883:18:0", + "scope": 400, + "src": "7871:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -22289,10 +22227,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 345, + "id": 341, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "7883:7:0", + "src": "7871:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -22302,39 +22240,39 @@ "visibility": "internal" } ], - "src": "7873:34:0" + "src": "7861:34:0" }, "payable": true, "returnParameters": { - "id": 362, + "id": 358, "nodeType": "ParameterList", "parameters": [], - "src": "8111:0:0" + "src": "8099:0:0" }, - "scope": 1210, - "src": "7843:598:0", + "scope": 1211, + "src": "7831:598:0", "stateMutability": "payable", "superFunction": null, "visibility": "external" }, { "body": { - "id": 486, + "id": 482, "nodeType": "Block", - "src": "8977:648:0", + "src": "8965:648:0", "statements": [ { "assignments": [ - 426 + 422 ], "declarations": [ { "constant": false, - "id": 426, + "id": 422, "name": "_value", "nodeType": "VariableDeclaration", - "scope": 487, - "src": "8987:14:0", + "scope": 483, + "src": "8975:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -22342,10 +22280,10 @@ "typeString": "uint256" }, "typeName": { - "id": 425, + "id": 421, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "8987:7:0", + "src": "8975:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -22355,22 +22293,22 @@ "visibility": "internal" } ], - "id": 428, + "id": 424, "initialValue": { "argumentTypes": null, - "id": 427, + "id": 423, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 408, - "src": "9004:5:0", + "referencedDeclaration": 404, + "src": "8992:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "8987:22:0" + "src": "8975:22:0" }, { "expression": { @@ -22382,19 +22320,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 432, + "id": 428, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 430, + "id": 426, "name": "_value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 426, - "src": "9028:6:0", + "referencedDeclaration": 422, + "src": "9016:6:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -22405,14 +22343,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 431, + "id": 427, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "9037:1:0", + "src": "9025:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -22420,7 +22358,7 @@ }, "value": "0" }, - "src": "9028:10:0", + "src": "9016:10:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -22429,14 +22367,14 @@ { "argumentTypes": null, "hexValue": "56616c7565206d7573742062652067726561746572207468616e207a65726f2e", - "id": 433, + "id": 429, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "9040:34:0", + "src": "9028:34:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_21fbec2be6560b9ccffc4980d43c0d147770168e7aaf24999b418b9010085622", @@ -22456,21 +22394,21 @@ "typeString": "literal_string \"Value must be greater than zero.\"" } ], - "id": 429, + "id": 425, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1386, - 1387 + 1387, + 1388 ], - "referencedDeclaration": 1387, - "src": "9020:7:0", + "referencedDeclaration": 1388, + "src": "9008:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 434, + "id": 430, "isConstant": false, "isLValue": false, "isPure": false, @@ -22478,43 +22416,43 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "9020:55:0", + "src": "9008:55:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 435, + "id": 431, "nodeType": "ExpressionStatement", - "src": "9020:55:0" + "src": "9008:55:0" }, { "assignments": [ - 437 + 433 ], "declarations": [ { "constant": false, - "id": 437, + "id": 433, "name": "token", "nodeType": "VariableDeclaration", - "scope": 487, - "src": "9086:20:0", + "scope": 483, + "src": "9074:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenContract_$1240", + "typeIdentifier": "t_contract$_ITokenContract_$1241", "typeString": "contract ITokenContract" }, "typeName": { "contractScope": null, - "id": 436, + "id": 432, "name": "ITokenContract", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1240, - "src": "9086:14:0", + "referencedDeclaration": 1241, + "src": "9074:14:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenContract_$1240", + "typeIdentifier": "t_contract$_ITokenContract_$1241", "typeString": "contract ITokenContract" } }, @@ -22522,7 +22460,7 @@ "visibility": "internal" } ], - "id": 444, + "id": 440, "initialValue": { "argumentTypes": null, "arguments": [ @@ -22532,26 +22470,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 439, + "id": 435, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "9137:12:0", + "src": "9125:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 441, + "id": 437, "indexExpression": { "argumentTypes": null, - "id": 440, + "id": 436, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 406, - "src": "9150:10:0", + "referencedDeclaration": 402, + "src": "9138:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -22562,13 +22500,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "9137:24:0", + "src": "9125:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 442, + "id": 438, "isConstant": false, "isLValue": true, "isPure": false, @@ -22576,7 +22514,7 @@ "memberName": "tokenAddress", "nodeType": "MemberAccess", "referencedDeclaration": 56, - "src": "9137:37:0", + "src": "9125:37:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -22590,18 +22528,18 @@ "typeString": "address" } ], - "id": 438, + "id": 434, "name": "ITokenContract", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1240, - "src": "9109:14:0", + "referencedDeclaration": 1241, + "src": "9097:14:0", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ITokenContract_$1240_$", + "typeIdentifier": "t_type$_t_contract$_ITokenContract_$1241_$", "typeString": "type(contract ITokenContract)" } }, - "id": 443, + "id": 439, "isConstant": false, "isLValue": false, "isPure": false, @@ -22609,14 +22547,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "9109:75:0", + "src": "9097:75:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenContract_$1240", + "typeIdentifier": "t_contract$_ITokenContract_$1241", "typeString": "contract ITokenContract" } }, "nodeType": "VariableDeclarationStatement", - "src": "9086:98:0" + "src": "9074:98:0" }, { "expression": { @@ -22631,26 +22569,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 448, + "id": 444, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "9235:12:0", + "src": "9223:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 450, + "id": 446, "indexExpression": { "argumentTypes": null, - "id": 449, + "id": 445, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 406, - "src": "9248:10:0", + "referencedDeclaration": 402, + "src": "9236:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -22661,13 +22599,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "9235:24:0", + "src": "9223:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 451, + "id": 447, "isConstant": false, "isLValue": true, "isPure": false, @@ -22675,7 +22613,7 @@ "memberName": "buyer", "nodeType": "MemberAccess", "referencedDeclaration": 52, - "src": "9235:30:0", + "src": "9223:30:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -22683,25 +22621,25 @@ }, { "argumentTypes": null, - "id": 452, + "id": 448, "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1400, - "src": "9267:4:0", + "referencedDeclaration": 1401, + "src": "9255:4:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_Escrow_v1_0_$1210", + "typeIdentifier": "t_contract$_Escrow_v1_0_$1211", "typeString": "contract Escrow_v1_0" } }, { "argumentTypes": null, - "id": 453, + "id": 449, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 408, - "src": "9273:5:0", + "referencedDeclaration": 404, + "src": "9261:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -22715,7 +22653,7 @@ "typeString": "address" }, { - "typeIdentifier": "t_contract$_Escrow_v1_0_$1210", + "typeIdentifier": "t_contract$_Escrow_v1_0_$1211", "typeString": "contract Escrow_v1_0" }, { @@ -22725,32 +22663,32 @@ ], "expression": { "argumentTypes": null, - "id": 446, + "id": 442, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 437, - "src": "9216:5:0", + "referencedDeclaration": 433, + "src": "9204:5:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenContract_$1240", + "typeIdentifier": "t_contract$_ITokenContract_$1241", "typeString": "contract ITokenContract" } }, - "id": 447, + "id": 443, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "transferFrom", "nodeType": "MemberAccess", - "referencedDeclaration": 1239, - "src": "9216:18:0", + "referencedDeclaration": 1240, + "src": "9204:18:0", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", "typeString": "function (address,address,uint256) external returns (bool)" } }, - "id": 454, + "id": 450, "isConstant": false, "isLValue": false, "isPure": false, @@ -22758,7 +22696,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "9216:63:0", + "src": "9204:63:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -22767,14 +22705,14 @@ { "argumentTypes": null, "hexValue": "546f6b656e207472616e73666572206661696c65642c206d6179626520796f7520646964206e6f7420617070726f766520657363726f7720636f6e747261637420746f207370656e64206f6e20626568616c66206f66206275796572", - "id": 455, + "id": 451, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "9293:94:0", + "src": "9281:94:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_d9d07068d589bc4adc53018a3c57c159ec128fdfb62732a5fa9410e76cf03318", @@ -22794,21 +22732,21 @@ "typeString": "literal_string \"Token transfer failed, maybe you did not approve escrow contract to spend on behalf of buyer\"" } ], - "id": 445, + "id": 441, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1386, - 1387 + 1387, + 1388 ], - "referencedDeclaration": 1387, - "src": "9195:7:0", + "referencedDeclaration": 1388, + "src": "9183:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 456, + "id": 452, "isConstant": false, "isLValue": false, "isPure": false, @@ -22816,20 +22754,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "9195:202:0", + "src": "9183:202:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 457, + "id": 453, "nodeType": "ExpressionStatement", - "src": "9195:202:0" + "src": "9183:202:0" }, { "expression": { "argumentTypes": null, - "id": 469, + "id": 465, "isConstant": false, "isLValue": false, "isPure": false, @@ -22840,26 +22778,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 458, + "id": 454, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "9408:12:0", + "src": "9396:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 460, + "id": 456, "indexExpression": { "argumentTypes": null, - "id": 459, + "id": 455, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 406, - "src": "9421:10:0", + "referencedDeclaration": 402, + "src": "9409:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -22870,13 +22808,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "9408:24:0", + "src": "9396:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 461, + "id": 457, "isConstant": false, "isLValue": true, "isPure": false, @@ -22884,7 +22822,7 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": 40, - "src": "9408:30:0", + "src": "9396:30:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -22897,12 +22835,12 @@ "arguments": [ { "argumentTypes": null, - "id": 467, + "id": 463, "name": "_value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 426, - "src": "9489:6:0", + "referencedDeclaration": 422, + "src": "9477:6:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -22922,26 +22860,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 462, + "id": 458, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "9441:12:0", + "src": "9429:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 464, + "id": 460, "indexExpression": { "argumentTypes": null, - "id": 463, + "id": 459, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 406, - "src": "9454:10:0", + "referencedDeclaration": 402, + "src": "9442:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -22952,13 +22890,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "9441:24:0", + "src": "9429:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 465, + "id": 461, "isConstant": false, "isLValue": true, "isPure": false, @@ -22966,27 +22904,27 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": 40, - "src": "9441:30:0", + "src": "9429:30:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 466, + "id": 462, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 1347, - "src": "9441:47:0", + "referencedDeclaration": 1348, + "src": "9429:47:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 468, + "id": 464, "isConstant": false, "isLValue": false, "isPure": false, @@ -22994,26 +22932,26 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "9441:55:0", + "src": "9429:55:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "9408:88:0", + "src": "9396:88:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 470, + "id": 466, "nodeType": "ExpressionStatement", - "src": "9408:88:0" + "src": "9396:88:0" }, { "expression": { "argumentTypes": null, - "id": 477, + "id": 473, "isConstant": false, "isLValue": false, "isPure": false, @@ -23024,26 +22962,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 471, + "id": 467, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "9506:12:0", + "src": "9494:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 473, + "id": 469, "indexExpression": { "argumentTypes": null, - "id": 472, + "id": 468, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 406, - "src": "9519:10:0", + "referencedDeclaration": 402, + "src": "9507:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -23054,13 +22992,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "9506:24:0", + "src": "9494:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 474, + "id": 470, "isConstant": false, "isLValue": true, "isPure": false, @@ -23068,7 +23006,7 @@ "memberName": "lastModified", "nodeType": "MemberAccess", "referencedDeclaration": 42, - "src": "9506:37:0", + "src": "9494:37:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -23080,18 +23018,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 475, + "id": 471, "name": "block", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1373, - "src": "9546:5:0", + "referencedDeclaration": 1374, + "src": "9534:5:0", "typeDescriptions": { "typeIdentifier": "t_magic_block", "typeString": "block" } }, - "id": 476, + "id": 472, "isConstant": false, "isLValue": false, "isPure": false, @@ -23099,21 +23037,21 @@ "memberName": "timestamp", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "9546:15:0", + "src": "9534:15:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "9506:55:0", + "src": "9494:55:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 478, + "id": 474, "nodeType": "ExpressionStatement", - "src": "9506:55:0" + "src": "9494:55:0" }, { "eventCall": { @@ -23121,12 +23059,12 @@ "arguments": [ { "argumentTypes": null, - "id": 480, + "id": 476, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 406, - "src": "9587:10:0", + "referencedDeclaration": 402, + "src": "9575:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -23136,18 +23074,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 481, + "id": 477, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1383, - "src": "9599:3:0", + "referencedDeclaration": 1384, + "src": "9587:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 482, + "id": 478, "isConstant": false, "isLValue": false, "isPure": false, @@ -23155,7 +23093,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "9599:10:0", + "src": "9587:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -23163,12 +23101,12 @@ }, { "argumentTypes": null, - "id": 483, + "id": 479, "name": "_value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 426, - "src": "9611:6:0", + "referencedDeclaration": 422, + "src": "9599:6:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -23190,18 +23128,18 @@ "typeString": "uint256" } ], - "id": 479, + "id": 475, "name": "FundAdded", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 30, - "src": "9577:9:0", + "src": "9565:9:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (bytes32,address,uint256)" } }, - "id": 484, + "id": 480, "isConstant": false, "isLValue": false, "isPure": false, @@ -23209,20 +23147,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "9577:41:0", + "src": "9565:41:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 485, + "id": 481, "nodeType": "EmitStatement", - "src": "9572:46:0" + "src": "9560:46:0" } ] }, "documentation": "dev Allows buyer of the transaction to add more funds(Tokens) in the transaction. This will help to cater scenarios wherein initially buyer missed to fund transaction as required\nparam scriptHash script hash of the transaction", - "id": 487, + "id": 483, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -23231,78 +23169,78 @@ "arguments": [ { "argumentTypes": null, - "id": 411, + "id": 407, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 406, - "src": "8833:10:0", + "referencedDeclaration": 402, + "src": "8821:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } } ], - "id": 412, + "id": 408, "modifierName": { "argumentTypes": null, - "id": 410, + "id": 406, "name": "transactionExists", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 99, - "src": "8815:17:0", + "src": "8803:17:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "8815:29:0" + "src": "8803:29:0" }, { "arguments": [ { "argumentTypes": null, - "id": 414, + "id": 410, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 406, - "src": "8867:10:0", + "referencedDeclaration": 402, + "src": "8855:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } } ], - "id": 415, + "id": 411, "modifierName": { "argumentTypes": null, - "id": 413, + "id": 409, "name": "inFundedState", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 132, - "src": "8853:13:0", + "src": "8841:13:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "8853:25:0" + "src": "8841:25:0" }, { "arguments": [ { "argumentTypes": null, - "id": 417, + "id": 413, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 406, - "src": "8908:10:0", + "referencedDeclaration": 402, + "src": "8896:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -23312,18 +23250,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 418, + "id": 414, "name": "TransactionType", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12, - "src": "8920:15:0", + "src": "8908:15:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_TransactionType_$12_$", "typeString": "type(enum Escrow_v1_0.TransactionType)" } }, - "id": 419, + "id": 415, "isConstant": false, "isLValue": false, "isPure": true, @@ -23331,77 +23269,77 @@ "memberName": "TOKEN", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "8920:21:0", + "src": "8908:21:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" } } ], - "id": 420, + "id": 416, "modifierName": { "argumentTypes": null, - "id": 416, + "id": 412, "name": "checkTransactionType", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 165, - "src": "8887:20:0", + "src": "8875:20:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$_t_enum$_TransactionType_$12_$", "typeString": "modifier (bytes32,enum Escrow_v1_0.TransactionType)" } }, "nodeType": "ModifierInvocation", - "src": "8887:55:0" + "src": "8875:55:0" }, { "arguments": [ { "argumentTypes": null, - "id": 422, + "id": 418, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 406, - "src": "8961:10:0", + "referencedDeclaration": 402, + "src": "8949:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } } ], - "id": 423, + "id": 419, "modifierName": { "argumentTypes": null, - "id": 421, + "id": 417, "name": "onlyBuyer", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 182, - "src": "8951:9:0", + "src": "8939:9:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "8951:21:0" + "src": "8939:21:0" } ], "name": "addTokensToTransaction", "nodeType": "FunctionDefinition", "parameters": { - "id": 409, + "id": 405, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 406, + "id": 402, "name": "scriptHash", "nodeType": "VariableDeclaration", - "scope": 487, - "src": "8742:18:0", + "scope": 483, + "src": "8730:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -23409,10 +23347,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 405, + "id": 401, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "8742:7:0", + "src": "8730:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -23423,11 +23361,11 @@ }, { "constant": false, - "id": 408, + "id": 404, "name": "value", "nodeType": "VariableDeclaration", - "scope": 487, - "src": "8770:13:0", + "scope": 483, + "src": "8758:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -23435,10 +23373,10 @@ "typeString": "uint256" }, "typeName": { - "id": 407, + "id": 403, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "8770:7:0", + "src": "8758:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -23448,52 +23386,52 @@ "visibility": "internal" } ], - "src": "8732:57:0" + "src": "8720:57:0" }, "payable": false, "returnParameters": { - "id": 424, + "id": 420, "nodeType": "ParameterList", "parameters": [], - "src": "8977:0:0" + "src": "8965:0:0" }, - "scope": 1210, - "src": "8701:924:0", + "scope": 1211, + "src": "8689:924:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" }, { "body": { - "id": 499, + "id": 495, "nodeType": "Block", - "src": "9893:56:0", + "src": "9868:56:0", "statements": [ { "expression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 495, + "id": 491, "name": "partyVsTransaction", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 83, - "src": "9910:18:0", + "src": "9885:18:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_bytes32_$dyn_storage_$", "typeString": "mapping(address => bytes32[] storage ref)" } }, - "id": 497, + "id": 493, "indexExpression": { "argumentTypes": null, - "id": 496, + "id": 492, "name": "partyAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 489, - "src": "9929:12:0", + "referencedDeclaration": 485, + "src": "9904:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -23504,21 +23442,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "9910:32:0", + "src": "9885:32:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage", "typeString": "bytes32[] storage ref" } }, - "functionReturnParameters": 494, - "id": 498, + "functionReturnParameters": 490, + "id": 494, "nodeType": "Return", - "src": "9903:39:0" + "src": "9878:39:0" } ] }, "documentation": "dev Returns all transaction ids for a party\nparam partyAddress Address of the party", - "id": 500, + "id": 496, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -23526,16 +23464,16 @@ "name": "getAllTransactionsForParty", "nodeType": "FunctionDefinition", "parameters": { - "id": 490, + "id": 486, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 489, + "id": 485, "name": "partyAddress", "nodeType": "VariableDeclaration", - "scope": 500, - "src": "9787:20:0", + "scope": 496, + "src": "9775:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -23543,10 +23481,10 @@ "typeString": "address" }, "typeName": { - "id": 488, + "id": 484, "name": "address", "nodeType": "ElementaryTypeName", - "src": "9787:7:0", + "src": "9775:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -23556,20 +23494,20 @@ "visibility": "internal" } ], - "src": "9777:36:0" + "src": "9765:36:0" }, "payable": false, "returnParameters": { - "id": 494, + "id": 490, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 493, - "name": "scriptHashes", + "id": 489, + "name": "", "nodeType": "VariableDeclaration", - "scope": 500, - "src": "9864:22:0", + "scope": 496, + "src": "9852:9:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -23578,19 +23516,19 @@ }, "typeName": { "baseType": { - "id": 491, + "id": 487, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "9864:7:0", + "src": "9852:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "id": 492, + "id": 488, "length": null, "nodeType": "ArrayTypeName", - "src": "9864:9:0", + "src": "9852:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -23600,19 +23538,19 @@ "visibility": "internal" } ], - "src": "9863:24:0" + "src": "9851:11:0" }, - "scope": 1210, - "src": "9742:207:0", + "scope": 1211, + "src": "9730:194:0", "stateMutability": "view", "superFunction": null, "visibility": "external" }, { "body": { - "id": 585, + "id": 581, "nodeType": "Block", - "src": "10979:790:0", + "src": "10954:790:0", "statements": [ { "expression": { @@ -23624,7 +23562,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 536, + "id": 532, "isConstant": false, "isLValue": false, "isPure": false, @@ -23635,7 +23573,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 530, + "id": 526, "isConstant": false, "isLValue": false, "isPure": false, @@ -23644,18 +23582,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 527, + "id": 523, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 514, - "src": "11010:12:0", + "referencedDeclaration": 510, + "src": "10985:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" } }, - "id": 528, + "id": 524, "isConstant": false, "isLValue": false, "isPure": false, @@ -23663,7 +23601,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "11010:19:0", + "src": "10985:19:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -23674,14 +23612,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 529, + "id": 525, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "11030:1:0", + "src": "11005:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -23689,7 +23627,7 @@ }, "value": "0" }, - "src": "11010:21:0", + "src": "10985:21:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -23703,7 +23641,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 535, + "id": 531, "isConstant": false, "isLValue": false, "isPure": false, @@ -23712,18 +23650,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 531, + "id": 527, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 514, - "src": "11035:12:0", + "referencedDeclaration": 510, + "src": "11010:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" } }, - "id": 532, + "id": 528, "isConstant": false, "isLValue": false, "isPure": false, @@ -23731,7 +23669,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "11035:19:0", + "src": "11010:19:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -23743,18 +23681,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 533, + "id": 529, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 517, - "src": "11058:7:0", + "referencedDeclaration": 513, + "src": "11033:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", "typeString": "uint256[] calldata" } }, - "id": 534, + "id": 530, "isConstant": false, "isLValue": false, "isPure": false, @@ -23762,19 +23700,19 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "11058:14:0", + "src": "11033:14:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "11035:37:0", + "src": "11010:37:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "11010:62:0", + "src": "10985:62:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -23783,14 +23721,14 @@ { "argumentTypes": null, "hexValue": "4c656e677468206f662064657374696e6174696f6e7320697320696e636f72726563742e", - "id": 537, + "id": 533, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "11074:38:0", + "src": "11049:38:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_53e979b0c355ea1eeda44a80ca73370fdb2abe922711b459aa4ee43d1558782b", @@ -23810,21 +23748,21 @@ "typeString": "literal_string \"Length of destinations is incorrect.\"" } ], - "id": 526, + "id": 522, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1386, - 1387 + 1387, + 1388 ], - "referencedDeclaration": 1387, - "src": "10989:7:0", + "referencedDeclaration": 1388, + "src": "10964:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 538, + "id": 534, "isConstant": false, "isLValue": false, "isPure": false, @@ -23832,15 +23770,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "10989:133:0", + "src": "10964:133:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 539, + "id": 535, "nodeType": "ExpressionStatement", - "src": "10989:133:0" + "src": "10964:133:0" }, { "expression": { @@ -23848,12 +23786,12 @@ "arguments": [ { "argumentTypes": null, - "id": 541, + "id": 537, "name": "sigV", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 503, - "src": "11164:4:0", + "referencedDeclaration": 499, + "src": "11139:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_calldata_ptr", "typeString": "uint8[] calldata" @@ -23861,12 +23799,12 @@ }, { "argumentTypes": null, - "id": 542, + "id": 538, "name": "sigR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 506, - "src": "11182:4:0", + "referencedDeclaration": 502, + "src": "11157:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", "typeString": "bytes32[] calldata" @@ -23874,12 +23812,12 @@ }, { "argumentTypes": null, - "id": 543, + "id": 539, "name": "sigS", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 509, - "src": "11200:4:0", + "referencedDeclaration": 505, + "src": "11175:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", "typeString": "bytes32[] calldata" @@ -23887,12 +23825,12 @@ }, { "argumentTypes": null, - "id": 544, + "id": 540, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 511, - "src": "11218:10:0", + "referencedDeclaration": 507, + "src": "11193:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -23900,12 +23838,12 @@ }, { "argumentTypes": null, - "id": 545, + "id": 541, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 514, - "src": "11242:12:0", + "referencedDeclaration": 510, + "src": "11217:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" @@ -23913,12 +23851,12 @@ }, { "argumentTypes": null, - "id": 546, + "id": 542, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 517, - "src": "11268:7:0", + "referencedDeclaration": 513, + "src": "11243:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", "typeString": "uint256[] calldata" @@ -23952,18 +23890,18 @@ "typeString": "uint256[] calldata" } ], - "id": 540, + "id": 536, "name": "verifyTransaction", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 714, - "src": "11133:17:0", + "referencedDeclaration": 706, + "src": "11108:17:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_array$_t_uint8_$dyn_memory_ptr_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_bytes32_$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$__$", "typeString": "function (uint8[] memory,bytes32[] memory,bytes32[] memory,bytes32,address[] memory,uint256[] memory)" } }, - "id": 547, + "id": 543, "isConstant": false, "isLValue": false, "isPure": false, @@ -23971,20 +23909,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "11133:152:0", + "src": "11108:152:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 548, + "id": 544, "nodeType": "ExpressionStatement", - "src": "11133:152:0" + "src": "11108:152:0" }, { "expression": { "argumentTypes": null, - "id": 555, + "id": 551, "isConstant": false, "isLValue": false, "isPure": false, @@ -23995,26 +23933,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 549, + "id": 545, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "11296:12:0", + "src": "11271:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 551, + "id": 547, "indexExpression": { "argumentTypes": null, - "id": 550, + "id": 546, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 511, - "src": "11309:10:0", + "referencedDeclaration": 507, + "src": "11284:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -24025,13 +23963,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "11296:24:0", + "src": "11271:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 552, + "id": 548, "isConstant": false, "isLValue": true, "isPure": false, @@ -24039,7 +23977,7 @@ "memberName": "status", "nodeType": "MemberAccess", "referencedDeclaration": 44, - "src": "11296:31:0", + "src": "11271:31:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$9", "typeString": "enum Escrow_v1_0.Status" @@ -24051,18 +23989,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 553, + "id": 549, "name": "Status", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9, - "src": "11330:6:0", + "src": "11305:6:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_Status_$9_$", "typeString": "type(enum Escrow_v1_0.Status)" } }, - "id": 554, + "id": 550, "isConstant": false, "isLValue": false, "isPure": true, @@ -24070,26 +24008,26 @@ "memberName": "RELEASED", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "11330:15:0", + "src": "11305:15:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$9", "typeString": "enum Escrow_v1_0.Status" } }, - "src": "11296:49:0", + "src": "11271:49:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$9", "typeString": "enum Escrow_v1_0.Status" } }, - "id": 556, + "id": 552, "nodeType": "ExpressionStatement", - "src": "11296:49:0" + "src": "11271:49:0" }, { "expression": { "argumentTypes": null, - "id": 563, + "id": 559, "isConstant": false, "isLValue": false, "isPure": false, @@ -24100,26 +24038,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 557, + "id": 553, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "11429:12:0", + "src": "11404:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 559, + "id": 555, "indexExpression": { "argumentTypes": null, - "id": 558, + "id": 554, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 511, - "src": "11442:10:0", + "referencedDeclaration": 507, + "src": "11417:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -24130,13 +24068,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "11429:24:0", + "src": "11404:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 560, + "id": 556, "isConstant": false, "isLValue": true, "isPure": false, @@ -24144,7 +24082,7 @@ "memberName": "lastModified", "nodeType": "MemberAccess", "referencedDeclaration": 42, - "src": "11429:37:0", + "src": "11404:37:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -24156,18 +24094,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 561, + "id": 557, "name": "block", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1373, - "src": "11469:5:0", + "referencedDeclaration": 1374, + "src": "11444:5:0", "typeDescriptions": { "typeIdentifier": "t_magic_block", "typeString": "block" } }, - "id": 562, + "id": 558, "isConstant": false, "isLValue": false, "isPure": false, @@ -24175,21 +24113,21 @@ "memberName": "timestamp", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "11469:15:0", + "src": "11444:15:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "11429:55:0", + "src": "11404:55:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 564, + "id": 560, "nodeType": "ExpressionStatement", - "src": "11429:55:0" + "src": "11404:55:0" }, { "expression": { @@ -24201,7 +24139,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 575, + "id": 571, "isConstant": false, "isLValue": false, "isPure": false, @@ -24211,12 +24149,12 @@ "arguments": [ { "argumentTypes": null, - "id": 567, + "id": 563, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 511, - "src": "11529:10:0", + "referencedDeclaration": 507, + "src": "11504:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -24224,12 +24162,12 @@ }, { "argumentTypes": null, - "id": 568, + "id": 564, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 514, - "src": "11541:12:0", + "referencedDeclaration": 510, + "src": "11516:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" @@ -24237,12 +24175,12 @@ }, { "argumentTypes": null, - "id": 569, + "id": 565, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 517, - "src": "11555:7:0", + "referencedDeclaration": 513, + "src": "11530:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", "typeString": "uint256[] calldata" @@ -24264,18 +24202,18 @@ "typeString": "uint256[] calldata" } ], - "id": 566, + "id": 562, "name": "transferFunds", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 895, - "src": "11515:13:0", + "referencedDeclaration": 893, + "src": "11490:13:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$_t_uint256_$", "typeString": "function (bytes32,address[] memory,uint256[] memory) returns (uint256)" } }, - "id": 570, + "id": 566, "isConstant": false, "isLValue": false, "isPure": false, @@ -24283,7 +24221,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "11515:48:0", + "src": "11490:48:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -24297,26 +24235,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 571, + "id": 567, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "11567:12:0", + "src": "11542:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 573, + "id": 569, "indexExpression": { "argumentTypes": null, - "id": 572, + "id": 568, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 511, - "src": "11580:10:0", + "referencedDeclaration": 507, + "src": "11555:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -24327,13 +24265,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "11567:24:0", + "src": "11542:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 574, + "id": 570, "isConstant": false, "isLValue": true, "isPure": false, @@ -24341,13 +24279,13 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": 40, - "src": "11567:30:0", + "src": "11542:30:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "11515:82:0", + "src": "11490:82:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -24356,14 +24294,14 @@ { "argumentTypes": null, "hexValue": "546f74616c2076616c756520746f2062652072656c6561736564206d75737420626520657175616c20746f20746865207472616e73616374696f6e20657363726f772076616c7565", - "id": 576, + "id": 572, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "11611:74:0", + "src": "11586:74:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_9e0bdb14e2e0d5e118fd1f547268c6a1fdb5e8facacd614066d4b60bc2c9941d", @@ -24383,21 +24321,21 @@ "typeString": "literal_string \"Total value to be released must be equal to the transaction escrow value\"" } ], - "id": 565, + "id": 561, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1386, - 1387 + 1387, + 1388 ], - "referencedDeclaration": 1387, - "src": "11494:7:0", + "referencedDeclaration": 1388, + "src": "11469:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 577, + "id": 573, "isConstant": false, "isLValue": false, "isPure": false, @@ -24405,15 +24343,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "11494:201:0", + "src": "11469:201:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 578, + "id": 574, "nodeType": "ExpressionStatement", - "src": "11494:201:0" + "src": "11469:201:0" }, { "eventCall": { @@ -24421,12 +24359,12 @@ "arguments": [ { "argumentTypes": null, - "id": 580, + "id": 576, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 511, - "src": "11728:10:0", + "referencedDeclaration": 507, + "src": "11703:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -24434,12 +24372,12 @@ }, { "argumentTypes": null, - "id": 581, + "id": 577, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 514, - "src": "11740:12:0", + "referencedDeclaration": 510, + "src": "11715:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" @@ -24447,12 +24385,12 @@ }, { "argumentTypes": null, - "id": 582, + "id": 578, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 517, - "src": "11754:7:0", + "referencedDeclaration": 513, + "src": "11729:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", "typeString": "uint256[] calldata" @@ -24474,18 +24412,18 @@ "typeString": "uint256[] calldata" } ], - "id": 579, + "id": 575, "name": "Executed", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 22, - "src": "11719:8:0", + "src": "11694:8:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$__$", "typeString": "function (bytes32,address[] memory,uint256[] memory)" } }, - "id": 583, + "id": 579, "isConstant": false, "isLValue": false, "isPure": false, @@ -24493,20 +24431,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "11719:43:0", + "src": "11694:43:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 584, + "id": 580, "nodeType": "EmitStatement", - "src": "11714:48:0" + "src": "11689:48:0" } ] }, "documentation": "dev Allows one of the moderator to collect all the signature to solve dispute and submit it to this method.\nIf all the required signatures are collected and consensus has been reached than funds will be released to the voted party\nparam sigV Array containing V component of all the signatures\nparam sigR Array containing R component of all the signatures\nparam signS Array containing S component of all the signatures\nparam scriptHash script hash of the transaction\nparam destinations address of the destination in whose favour dispute resolution is taking place. In case of split payments it will be address of the split payments contract\nparam amounts value to send to each destination", - "id": 586, + "id": 582, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -24515,82 +24453,82 @@ "arguments": [ { "argumentTypes": null, - "id": 520, + "id": 516, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 511, - "src": "10929:10:0", + "referencedDeclaration": 507, + "src": "10904:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } } ], - "id": 521, + "id": 517, "modifierName": { "argumentTypes": null, - "id": 519, + "id": 515, "name": "transactionExists", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 99, - "src": "10911:17:0", + "src": "10886:17:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "10911:29:0" + "src": "10886:29:0" }, { "arguments": [ { "argumentTypes": null, - "id": 523, + "id": 519, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 511, - "src": "10963:10:0", + "referencedDeclaration": 507, + "src": "10938:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } } ], - "id": 524, + "id": 520, "modifierName": { "argumentTypes": null, - "id": 522, + "id": 518, "name": "inFundedState", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 132, - "src": "10949:13:0", + "src": "10924:13:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "10949:25:0" + "src": "10924:25:0" } ], "name": "execute", "nodeType": "FunctionDefinition", "parameters": { - "id": 518, + "id": 514, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 503, + "id": 499, "name": "sigV", "nodeType": "VariableDeclaration", - "scope": 586, - "src": "10732:12:0", + "scope": 582, + "src": "10707:12:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -24599,19 +24537,19 @@ }, "typeName": { "baseType": { - "id": 501, + "id": 497, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "10732:5:0", + "src": "10707:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, - "id": 502, + "id": 498, "length": null, "nodeType": "ArrayTypeName", - "src": "10732:7:0", + "src": "10707:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_storage_ptr", "typeString": "uint8[]" @@ -24622,11 +24560,11 @@ }, { "constant": false, - "id": 506, + "id": 502, "name": "sigR", "nodeType": "VariableDeclaration", - "scope": 586, - "src": "10754:14:0", + "scope": 582, + "src": "10729:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -24635,19 +24573,19 @@ }, "typeName": { "baseType": { - "id": 504, + "id": 500, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "10754:7:0", + "src": "10729:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "id": 505, + "id": 501, "length": null, "nodeType": "ArrayTypeName", - "src": "10754:9:0", + "src": "10729:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -24658,11 +24596,11 @@ }, { "constant": false, - "id": 509, + "id": 505, "name": "sigS", "nodeType": "VariableDeclaration", - "scope": 586, - "src": "10778:14:0", + "scope": 582, + "src": "10753:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -24671,19 +24609,19 @@ }, "typeName": { "baseType": { - "id": 507, + "id": 503, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "10778:7:0", + "src": "10753:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "id": 508, + "id": 504, "length": null, "nodeType": "ArrayTypeName", - "src": "10778:9:0", + "src": "10753:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -24694,11 +24632,11 @@ }, { "constant": false, - "id": 511, + "id": 507, "name": "scriptHash", "nodeType": "VariableDeclaration", - "scope": 586, - "src": "10802:18:0", + "scope": 582, + "src": "10777:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -24706,10 +24644,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 510, + "id": 506, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "10802:7:0", + "src": "10777:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -24720,11 +24658,11 @@ }, { "constant": false, - "id": 514, + "id": 510, "name": "destinations", "nodeType": "VariableDeclaration", - "scope": 586, - "src": "10830:22:0", + "scope": 582, + "src": "10805:22:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -24733,19 +24671,19 @@ }, "typeName": { "baseType": { - "id": 512, + "id": 508, "name": "address", "nodeType": "ElementaryTypeName", - "src": "10830:7:0", + "src": "10805:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 513, + "id": 509, "length": null, "nodeType": "ArrayTypeName", - "src": "10830:9:0", + "src": "10805:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", "typeString": "address[]" @@ -24756,11 +24694,11 @@ }, { "constant": false, - "id": 517, + "id": 513, "name": "amounts", "nodeType": "VariableDeclaration", - "scope": 586, - "src": "10862:17:0", + "scope": 582, + "src": "10837:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -24769,19 +24707,19 @@ }, "typeName": { "baseType": { - "id": 515, + "id": 511, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "10862:7:0", + "src": "10837:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 516, + "id": 512, "length": null, "nodeType": "ArrayTypeName", - "src": "10862:9:0", + "src": "10837:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -24791,26 +24729,26 @@ "visibility": "internal" } ], - "src": "10722:163:0" + "src": "10697:163:0" }, "payable": false, "returnParameters": { - "id": 525, + "id": 521, "nodeType": "ParameterList", "parameters": [], - "src": "10979:0:0" + "src": "10954:0:0" }, - "scope": 1210, - "src": "10706:1063:0", + "scope": 1211, + "src": "10681:1063:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" }, { "body": { - "id": 644, + "id": 636, "nodeType": "Block", - "src": "12528:716:0", + "src": "12498:716:0", "statements": [ { "condition": { @@ -24819,19 +24757,19 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 609, + "id": 605, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 605, + "id": 601, "name": "tokenAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 600, - "src": "12542:12:0", + "referencedDeclaration": 596, + "src": "12512:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -24845,14 +24783,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 607, + "id": 603, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "12566:1:0", + "src": "12536:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -24868,20 +24806,20 @@ "typeString": "int_const 0" } ], - "id": 606, + "id": 602, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "12558:7:0", + "src": "12528:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, - "id": 608, + "id": 604, "isConstant": false, "isLValue": false, "isPure": true, @@ -24889,521 +24827,467 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "12558:10:0", + "src": "12528:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "12542:26:0", + "src": "12512:26:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": { - "id": 642, + "id": 634, "nodeType": "Block", - "src": "12890:348:0", + "src": "12860:348:0", "statements": [ { "expression": { "argumentTypes": null, - "id": 640, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 626, - "name": "hash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 603, - "src": "12904:4:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 623, + "name": "uniqueId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 584, + "src": "12946:8:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes20", + "typeString": "bytes20" + } + }, + { + "argumentTypes": null, + "id": 624, + "name": "threshold", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 586, + "src": "12976:9:0", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + { + "argumentTypes": null, + "id": 625, + "name": "timeoutHours", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 588, + "src": "13007:12:0", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + { + "argumentTypes": null, + "id": 626, + "name": "buyer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 590, + "src": "13041:5:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 627, + "name": "seller", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 592, + "src": "13068:6:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 628, + "name": "moderator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 594, + "src": "13096:9:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 629, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1401, + "src": "13127:4:0", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Escrow_v1_0_$1211", + "typeString": "contract Escrow_v1_0" + } + }, + { + "argumentTypes": null, + "id": 630, + "name": "tokenAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 596, + "src": "13153:12:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ { - "argumentTypes": null, - "id": 630, - "name": "uniqueId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 588, - "src": "12976:8:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes20", - "typeString": "bytes20" - } + "typeIdentifier": "t_bytes20", + "typeString": "bytes20" }, { - "argumentTypes": null, - "id": 631, - "name": "threshold", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 590, - "src": "13006:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } + "typeIdentifier": "t_uint8", + "typeString": "uint8" }, { - "argumentTypes": null, - "id": 632, - "name": "timeoutHours", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 592, - "src": "13037:12:0", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } + "typeIdentifier": "t_uint32", + "typeString": "uint32" }, { - "argumentTypes": null, - "id": 633, - "name": "buyer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 594, - "src": "13071:5:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } + "typeIdentifier": "t_address", + "typeString": "address" }, { - "argumentTypes": null, - "id": 634, - "name": "seller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 596, - "src": "13098:6:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } + "typeIdentifier": "t_address", + "typeString": "address" }, { - "argumentTypes": null, - "id": 635, - "name": "moderator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 598, - "src": "13126:9:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } + "typeIdentifier": "t_address", + "typeString": "address" }, { - "argumentTypes": null, - "id": 636, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1400, - "src": "13157:4:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Escrow_v1_0_$1210", - "typeString": "contract Escrow_v1_0" - } + "typeIdentifier": "t_contract$_Escrow_v1_0_$1211", + "typeString": "contract Escrow_v1_0" }, { - "argumentTypes": null, - "id": 637, - "name": "tokenAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 600, - "src": "13183:12:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } + "typeIdentifier": "t_address", + "typeString": "address" } ], "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes20", - "typeString": "bytes20" - }, - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_contract$_Escrow_v1_0_$1210", - "typeString": "contract Escrow_v1_0" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 628, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1370, - "src": "12938:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 629, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodePacked", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "12938:16:0", + "argumentTypes": null, + "id": 621, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1371, + "src": "12908:3:0", "typeDescriptions": { - "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" + "typeIdentifier": "t_magic_abi", + "typeString": "abi" } }, - "id": 638, + "id": 622, "isConstant": false, "isLValue": false, - "isPure": false, - "kind": "functionCall", + "isPure": true, "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12938:275:0", + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "12908:16:0", "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" } - ], - "id": 627, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1377, - "src": "12911:9:0", + }, + "id": 631, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12908:275:0", "typeDescriptions": { - "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", - "typeString": "function () pure returns (bytes32)" + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" } - }, - "id": 639, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12911:316:0", + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 620, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1378, + "src": "12881:9:0", "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" + "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", + "typeString": "function () pure returns (bytes32)" } }, - "src": "12904:323:0", + "id": 632, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12881:316:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "id": 641, - "nodeType": "ExpressionStatement", - "src": "12904:323:0" + "functionReturnParameters": 600, + "id": 633, + "nodeType": "Return", + "src": "12874:323:0" } ] }, - "id": 643, + "id": 635, "nodeType": "IfStatement", - "src": "12538:700:0", + "src": "12508:700:0", "trueBody": { - "id": 625, + "id": 619, "nodeType": "Block", - "src": "12570:314:0", + "src": "12540:314:0", "statements": [ { "expression": { "argumentTypes": null, - "id": 623, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 610, - "name": "hash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 603, - "src": "12584:4:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 609, + "name": "uniqueId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 584, + "src": "12626:8:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes20", + "typeString": "bytes20" + } + }, + { + "argumentTypes": null, + "id": 610, + "name": "threshold", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 586, + "src": "12656:9:0", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + { + "argumentTypes": null, + "id": 611, + "name": "timeoutHours", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 588, + "src": "12687:12:0", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + { + "argumentTypes": null, + "id": 612, + "name": "buyer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 590, + "src": "12721:5:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 613, + "name": "seller", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 592, + "src": "12748:6:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 614, + "name": "moderator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 594, + "src": "12776:9:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 615, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1401, + "src": "12807:4:0", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Escrow_v1_0_$1211", + "typeString": "contract Escrow_v1_0" + } + } + ], + "expression": { + "argumentTypes": [ { - "argumentTypes": null, - "id": 614, - "name": "uniqueId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 588, - "src": "12656:8:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes20", - "typeString": "bytes20" - } + "typeIdentifier": "t_bytes20", + "typeString": "bytes20" }, { - "argumentTypes": null, - "id": 615, - "name": "threshold", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 590, - "src": "12686:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } + "typeIdentifier": "t_uint8", + "typeString": "uint8" }, { - "argumentTypes": null, - "id": 616, - "name": "timeoutHours", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 592, - "src": "12717:12:0", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } + "typeIdentifier": "t_uint32", + "typeString": "uint32" }, { - "argumentTypes": null, - "id": 617, - "name": "buyer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 594, - "src": "12751:5:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } + "typeIdentifier": "t_address", + "typeString": "address" }, { - "argumentTypes": null, - "id": 618, - "name": "seller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 596, - "src": "12778:6:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } + "typeIdentifier": "t_address", + "typeString": "address" }, { - "argumentTypes": null, - "id": 619, - "name": "moderator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 598, - "src": "12806:9:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } + "typeIdentifier": "t_address", + "typeString": "address" }, { - "argumentTypes": null, - "id": 620, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1400, - "src": "12837:4:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Escrow_v1_0_$1210", - "typeString": "contract Escrow_v1_0" - } + "typeIdentifier": "t_contract$_Escrow_v1_0_$1211", + "typeString": "contract Escrow_v1_0" } ], "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes20", - "typeString": "bytes20" - }, - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_contract$_Escrow_v1_0_$1210", - "typeString": "contract Escrow_v1_0" - } - ], - "expression": { - "argumentTypes": null, - "id": 612, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1370, - "src": "12618:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 613, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodePacked", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "12618:16:0", + "argumentTypes": null, + "id": 607, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1371, + "src": "12588:3:0", "typeDescriptions": { - "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" + "typeIdentifier": "t_magic_abi", + "typeString": "abi" } }, - "id": 621, + "id": 608, "isConstant": false, "isLValue": false, - "isPure": false, - "kind": "functionCall", + "isPure": true, "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12618:241:0", + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "12588:16:0", "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" } - ], - "id": 611, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1377, - "src": "12591:9:0", + }, + "id": 616, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12588:241:0", "typeDescriptions": { - "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", - "typeString": "function () pure returns (bytes32)" + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" } - }, - "id": 622, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12591:282:0", + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 606, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1378, + "src": "12561:9:0", "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" + "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", + "typeString": "function () pure returns (bytes32)" } }, - "src": "12584:289:0", + "id": 617, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12561:282:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "id": 624, - "nodeType": "ExpressionStatement", - "src": "12584:289:0" + "functionReturnParameters": 600, + "id": 618, + "nodeType": "Return", + "src": "12554:289:0" } ] } @@ -25411,7 +25295,7 @@ ] }, "documentation": "dev Method for calculating script hash. Calculation will depend upon the type of transaction\nETHER Type transaction-:\nScript Hash- keccak256(uniqueId, threshold, timeoutHours, buyer, seller, moderator)\nTOKEN Type transaction\nScript Hash- keccak256(uniqueId, threshold, timeoutHours, buyer, seller, moderator, tokenAddress)\nClient can use this method to verify whether it has calculated correct script hash or not", - "id": 645, + "id": 637, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -25419,16 +25303,16 @@ "name": "calculateRedeemScriptHash", "nodeType": "FunctionDefinition", "parameters": { - "id": 601, + "id": 597, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 588, + "id": 584, "name": "uniqueId", "nodeType": "VariableDeclaration", - "scope": 645, - "src": "12284:16:0", + "scope": 637, + "src": "12259:16:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -25436,10 +25320,10 @@ "typeString": "bytes20" }, "typeName": { - "id": 587, + "id": 583, "name": "bytes20", "nodeType": "ElementaryTypeName", - "src": "12284:7:0", + "src": "12259:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -25450,11 +25334,11 @@ }, { "constant": false, - "id": 590, + "id": 586, "name": "threshold", "nodeType": "VariableDeclaration", - "scope": 645, - "src": "12310:15:0", + "scope": 637, + "src": "12285:15:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -25462,10 +25346,10 @@ "typeString": "uint8" }, "typeName": { - "id": 589, + "id": 585, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "12310:5:0", + "src": "12285:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -25476,11 +25360,11 @@ }, { "constant": false, - "id": 592, + "id": 588, "name": "timeoutHours", "nodeType": "VariableDeclaration", - "scope": 645, - "src": "12335:19:0", + "scope": 637, + "src": "12310:19:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -25488,10 +25372,10 @@ "typeString": "uint32" }, "typeName": { - "id": 591, + "id": 587, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "12335:6:0", + "src": "12310:6:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -25502,11 +25386,11 @@ }, { "constant": false, - "id": 594, + "id": 590, "name": "buyer", "nodeType": "VariableDeclaration", - "scope": 645, - "src": "12364:13:0", + "scope": 637, + "src": "12339:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -25514,10 +25398,10 @@ "typeString": "address" }, "typeName": { - "id": 593, + "id": 589, "name": "address", "nodeType": "ElementaryTypeName", - "src": "12364:7:0", + "src": "12339:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -25528,11 +25412,11 @@ }, { "constant": false, - "id": 596, + "id": 592, "name": "seller", "nodeType": "VariableDeclaration", - "scope": 645, - "src": "12387:14:0", + "scope": 637, + "src": "12362:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -25540,10 +25424,10 @@ "typeString": "address" }, "typeName": { - "id": 595, + "id": 591, "name": "address", "nodeType": "ElementaryTypeName", - "src": "12387:7:0", + "src": "12362:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -25554,11 +25438,11 @@ }, { "constant": false, - "id": 598, + "id": 594, "name": "moderator", "nodeType": "VariableDeclaration", - "scope": 645, - "src": "12411:17:0", + "scope": 637, + "src": "12386:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -25566,10 +25450,10 @@ "typeString": "address" }, "typeName": { - "id": 597, + "id": 593, "name": "address", "nodeType": "ElementaryTypeName", - "src": "12411:7:0", + "src": "12386:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -25580,11 +25464,11 @@ }, { "constant": false, - "id": 600, + "id": 596, "name": "tokenAddress", "nodeType": "VariableDeclaration", - "scope": 645, - "src": "12438:20:0", + "scope": 637, + "src": "12413:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -25592,10 +25476,10 @@ "typeString": "address" }, "typeName": { - "id": 599, + "id": 595, "name": "address", "nodeType": "ElementaryTypeName", - "src": "12438:7:0", + "src": "12413:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -25605,20 +25489,20 @@ "visibility": "internal" } ], - "src": "12274:190:0" + "src": "12249:190:0" }, "payable": false, "returnParameters": { - "id": 604, + "id": 600, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 603, - "name": "hash", + "id": 599, + "name": "", "nodeType": "VariableDeclaration", - "scope": 645, - "src": "12510:12:0", + "scope": 637, + "src": "12485:7:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -25626,10 +25510,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 602, + "id": 598, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "12510:7:0", + "src": "12485:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -25639,32 +25523,32 @@ "visibility": "internal" } ], - "src": "12509:14:0" + "src": "12484:9:0" }, - "scope": 1210, - "src": "12240:1004:0", + "scope": 1211, + "src": "12215:999:0", "stateMutability": "view", "superFunction": null, "visibility": "public" }, { "body": { - "id": 713, + "id": 705, "nodeType": "Block", - "src": "13728:742:0", + "src": "13698:742:0", "statements": [ { "assignments": [ - 666 + 658 ], "declarations": [ { "constant": false, - "id": 666, + "id": 658, "name": "lastRecovered", "nodeType": "VariableDeclaration", - "scope": 714, - "src": "13738:21:0", + "scope": 706, + "src": "13708:21:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -25672,10 +25556,10 @@ "typeString": "address" }, "typeName": { - "id": 665, + "id": 657, "name": "address", "nodeType": "ElementaryTypeName", - "src": "13738:7:0", + "src": "13708:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -25685,18 +25569,18 @@ "visibility": "internal" } ], - "id": 675, + "id": 667, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 668, + "id": 660, "name": "sigV", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 648, - "src": "13792:4:0", + "referencedDeclaration": 640, + "src": "13762:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr", "typeString": "uint8[] memory" @@ -25704,12 +25588,12 @@ }, { "argumentTypes": null, - "id": 669, + "id": 661, "name": "sigR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 651, - "src": "13810:4:0", + "referencedDeclaration": 643, + "src": "13780:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" @@ -25717,12 +25601,12 @@ }, { "argumentTypes": null, - "id": 670, + "id": 662, "name": "sigS", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 654, - "src": "13828:4:0", + "referencedDeclaration": 646, + "src": "13798:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" @@ -25730,12 +25614,12 @@ }, { "argumentTypes": null, - "id": 671, + "id": 663, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 656, - "src": "13846:10:0", + "referencedDeclaration": 648, + "src": "13816:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -25743,12 +25627,12 @@ }, { "argumentTypes": null, - "id": 672, + "id": 664, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 659, - "src": "13870:12:0", + "referencedDeclaration": 651, + "src": "13840:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -25756,12 +25640,12 @@ }, { "argumentTypes": null, - "id": 673, + "id": 665, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 662, - "src": "13896:7:0", + "referencedDeclaration": 654, + "src": "13866:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" @@ -25795,18 +25679,18 @@ "typeString": "uint256[] memory" } ], - "id": 667, + "id": 659, "name": "verifySignatures", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1019, - "src": "13762:16:0", + "referencedDeclaration": 1022, + "src": "13732:16:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_array$_t_uint8_$dyn_memory_ptr_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_bytes32_$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$_t_address_$", "typeString": "function (uint8[] memory,bytes32[] memory,bytes32[] memory,bytes32,address[] memory,uint256[] memory) returns (address)" } }, - "id": 674, + "id": 666, "isConstant": false, "isLValue": false, "isPure": false, @@ -25814,27 +25698,27 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "13762:151:0", + "src": "13732:151:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "VariableDeclarationStatement", - "src": "13738:175:0" + "src": "13708:175:0" }, { "assignments": [ - 677 + 669 ], "declarations": [ { "constant": false, - "id": 677, + "id": 669, "name": "timeLockExpired", "nodeType": "VariableDeclaration", - "scope": 714, - "src": "13924:20:0", + "scope": 706, + "src": "13894:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -25842,10 +25726,10 @@ "typeString": "bool" }, "typeName": { - "id": 676, + "id": 668, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "13924:4:0", + "src": "13894:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -25855,7 +25739,7 @@ "visibility": "internal" } ], - "id": 688, + "id": 680, "initialValue": { "argumentTypes": null, "arguments": [ @@ -25865,26 +25749,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 679, + "id": 671, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "13978:12:0", + "src": "13948:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 681, + "id": 673, "indexExpression": { "argumentTypes": null, - "id": 680, + "id": 672, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 656, - "src": "13991:10:0", + "referencedDeclaration": 648, + "src": "13961:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -25895,13 +25779,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "13978:24:0", + "src": "13948:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 682, + "id": 674, "isConstant": false, "isLValue": true, "isPure": false, @@ -25909,7 +25793,7 @@ "memberName": "timeoutHours", "nodeType": "MemberAccess", "referencedDeclaration": 50, - "src": "13978:37:0", + "src": "13948:37:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -25921,26 +25805,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 683, + "id": 675, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "14029:12:0", + "src": "13999:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 685, + "id": 677, "indexExpression": { "argumentTypes": null, - "id": 684, + "id": 676, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 656, - "src": "14042:10:0", + "referencedDeclaration": 648, + "src": "14012:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -25951,13 +25835,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "14029:24:0", + "src": "13999:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 686, + "id": 678, "isConstant": false, "isLValue": true, "isPure": false, @@ -25965,7 +25849,7 @@ "memberName": "lastModified", "nodeType": "MemberAccess", "referencedDeclaration": 42, - "src": "14029:37:0", + "src": "13999:37:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -25983,18 +25867,18 @@ "typeString": "uint256" } ], - "id": 678, + "id": 670, "name": "isTimeLockExpired", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1053, - "src": "13947:17:0", + "referencedDeclaration": 1054, + "src": "13917:17:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_uint32_$_t_uint256_$returns$_t_bool_$", "typeString": "function (uint32,uint256) view returns (bool)" } }, - "id": 687, + "id": 679, "isConstant": false, "isLValue": false, "isPure": false, @@ -26002,14 +25886,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "13947:129:0", + "src": "13917:129:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "nodeType": "VariableDeclarationStatement", - "src": "13924:152:0" + "src": "13894:152:0" }, { "condition": { @@ -26018,7 +25902,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 706, + "id": 698, "isConstant": false, "isLValue": false, "isPure": false, @@ -26029,7 +25913,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 695, + "id": 687, "isConstant": false, "isLValue": false, "isPure": false, @@ -26038,18 +25922,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 689, + "id": 681, "name": "sigV", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 648, - "src": "14248:4:0", + "referencedDeclaration": 640, + "src": "14218:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr", "typeString": "uint8[] memory" } }, - "id": 690, + "id": 682, "isConstant": false, "isLValue": false, "isPure": false, @@ -26057,7 +25941,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "14248:11:0", + "src": "14218:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -26071,26 +25955,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 691, + "id": 683, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "14262:12:0", + "src": "14232:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 693, + "id": 685, "indexExpression": { "argumentTypes": null, - "id": 692, + "id": 684, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 656, - "src": "14275:10:0", + "referencedDeclaration": 648, + "src": "14245:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -26101,13 +25985,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "14262:24:0", + "src": "14232:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 694, + "id": 686, "isConstant": false, "isLValue": true, "isPure": false, @@ -26115,13 +25999,13 @@ "memberName": "threshold", "nodeType": "MemberAccess", "referencedDeclaration": 48, - "src": "14262:34:0", + "src": "14232:34:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, - "src": "14248:48:0", + "src": "14218:48:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -26138,14 +26022,14 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 704, + "id": 696, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 697, + "id": 689, "isConstant": false, "isLValue": false, "isPure": false, @@ -26153,15 +26037,15 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "14301:16:0", + "src": "14271:16:0", "subExpression": { "argumentTypes": null, - "id": 696, + "id": 688, "name": "timeLockExpired", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 677, - "src": "14302:15:0", + "referencedDeclaration": 669, + "src": "14272:15:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -26180,19 +26064,19 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 703, + "id": 695, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 698, + "id": 690, "name": "lastRecovered", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 666, - "src": "14321:13:0", + "referencedDeclaration": 658, + "src": "14291:13:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -26206,26 +26090,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 699, + "id": 691, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "14338:12:0", + "src": "14308:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 701, + "id": 693, "indexExpression": { "argumentTypes": null, - "id": 700, + "id": 692, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 656, - "src": "14351:10:0", + "referencedDeclaration": 648, + "src": "14321:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -26236,13 +26120,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "14338:24:0", + "src": "14308:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 702, + "id": 694, "isConstant": false, "isLValue": true, "isPure": false, @@ -26250,52 +26134,52 @@ "memberName": "seller", "nodeType": "MemberAccess", "referencedDeclaration": 54, - "src": "14338:31:0", + "src": "14308:31:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "14321:48:0", + "src": "14291:48:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "14301:68:0", + "src": "14271:68:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } } ], - "id": 705, + "id": 697, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "14300:70:0", + "src": "14270:70:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "14248:122:0", + "src": "14218:122:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, - "id": 712, + "id": 704, "nodeType": "IfStatement", - "src": "14227:236:0", + "src": "14197:236:0", "trueBody": { - "id": 711, + "id": 703, "nodeType": "Block", - "src": "14393:70:0", + "src": "14363:70:0", "statements": [ { "expression": { @@ -26304,14 +26188,14 @@ { "argumentTypes": null, "hexValue": "736967562e6c656e67746820697320756e64657220746865207468726573686f6c642e", - "id": 708, + "id": 700, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "14414:37:0", + "src": "14384:37:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_d1b34f8ee6043043ff8e104db499160a1e51c77ca18fe42fba7312fd923c28e1", @@ -26327,21 +26211,21 @@ "typeString": "literal_string \"sigV.length is under the threshold.\"" } ], - "id": 707, + "id": 699, "name": "revert", "nodeType": "Identifier", "overloadedDeclarations": [ - 1388, - 1389 + 1389, + 1390 ], - "referencedDeclaration": 1389, - "src": "14407:6:0", + "referencedDeclaration": 1390, + "src": "14377:6:0", "typeDescriptions": { "typeIdentifier": "t_function_revert_pure$_t_string_memory_ptr_$returns$__$", "typeString": "function (string memory) pure" } }, - "id": 709, + "id": 701, "isConstant": false, "isLValue": false, "isPure": false, @@ -26349,15 +26233,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "14407:45:0", + "src": "14377:45:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 710, + "id": 702, "nodeType": "ExpressionStatement", - "src": "14407:45:0" + "src": "14377:45:0" } ] } @@ -26365,7 +26249,7 @@ ] }, "documentation": "@dev This methods checks validity of transaction\n1. Verify Signatures\n2. Check if minimum number of signatures has been acquired\n3. If above condition is false, check if time lock is expired and the execution is signed by seller", - "id": 714, + "id": 706, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -26373,16 +26257,16 @@ "name": "verifyTransaction", "nodeType": "FunctionDefinition", "parameters": { - "id": 663, + "id": 655, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 648, + "id": 640, "name": "sigV", "nodeType": "VariableDeclaration", - "scope": 714, - "src": "13554:12:0", + "scope": 706, + "src": "13524:12:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -26391,19 +26275,19 @@ }, "typeName": { "baseType": { - "id": 646, + "id": 638, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "13554:5:0", + "src": "13524:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, - "id": 647, + "id": 639, "length": null, "nodeType": "ArrayTypeName", - "src": "13554:7:0", + "src": "13524:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_storage_ptr", "typeString": "uint8[]" @@ -26414,11 +26298,11 @@ }, { "constant": false, - "id": 651, + "id": 643, "name": "sigR", "nodeType": "VariableDeclaration", - "scope": 714, - "src": "13576:14:0", + "scope": 706, + "src": "13546:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -26427,19 +26311,19 @@ }, "typeName": { "baseType": { - "id": 649, + "id": 641, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "13576:7:0", + "src": "13546:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "id": 650, + "id": 642, "length": null, "nodeType": "ArrayTypeName", - "src": "13576:9:0", + "src": "13546:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -26450,11 +26334,11 @@ }, { "constant": false, - "id": 654, + "id": 646, "name": "sigS", "nodeType": "VariableDeclaration", - "scope": 714, - "src": "13600:14:0", + "scope": 706, + "src": "13570:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -26463,19 +26347,19 @@ }, "typeName": { "baseType": { - "id": 652, + "id": 644, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "13600:7:0", + "src": "13570:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "id": 653, + "id": 645, "length": null, "nodeType": "ArrayTypeName", - "src": "13600:9:0", + "src": "13570:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -26486,11 +26370,11 @@ }, { "constant": false, - "id": 656, + "id": 648, "name": "scriptHash", "nodeType": "VariableDeclaration", - "scope": 714, - "src": "13624:18:0", + "scope": 706, + "src": "13594:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -26498,10 +26382,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 655, + "id": 647, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "13624:7:0", + "src": "13594:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -26512,11 +26396,11 @@ }, { "constant": false, - "id": 659, + "id": 651, "name": "destinations", "nodeType": "VariableDeclaration", - "scope": 714, - "src": "13652:22:0", + "scope": 706, + "src": "13622:22:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -26525,19 +26409,19 @@ }, "typeName": { "baseType": { - "id": 657, + "id": 649, "name": "address", "nodeType": "ElementaryTypeName", - "src": "13652:7:0", + "src": "13622:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 658, + "id": 650, "length": null, "nodeType": "ArrayTypeName", - "src": "13652:9:0", + "src": "13622:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", "typeString": "address[]" @@ -26548,11 +26432,11 @@ }, { "constant": false, - "id": 662, + "id": 654, "name": "amounts", "nodeType": "VariableDeclaration", - "scope": 714, - "src": "13684:17:0", + "scope": 706, + "src": "13654:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -26561,19 +26445,19 @@ }, "typeName": { "baseType": { - "id": 660, + "id": 652, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "13684:7:0", + "src": "13654:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 661, + "id": 653, "length": null, "nodeType": "ArrayTypeName", - "src": "13684:9:0", + "src": "13654:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -26583,39 +26467,39 @@ "visibility": "internal" } ], - "src": "13544:163:0" + "src": "13514:163:0" }, "payable": false, "returnParameters": { - "id": 664, + "id": 656, "nodeType": "ParameterList", "parameters": [], - "src": "13728:0:0" + "src": "13698:0:0" }, - "scope": 1210, - "src": "13518:952:0", + "scope": 1211, + "src": "13488:952:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "private" }, { "body": { - "id": 894, + "id": 892, "nodeType": "Block", - "src": "14773:1375:0", + "src": "14726:1447:0", "statements": [ { "assignments": [ - 728 + 720 ], "declarations": [ { "constant": false, - "id": 728, + "id": 720, "name": "t", "nodeType": "VariableDeclaration", - "scope": 895, - "src": "14783:21:0", + "scope": 893, + "src": "14736:21:0", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { @@ -26624,11 +26508,11 @@ }, "typeName": { "contractScope": null, - "id": 727, + "id": 719, "name": "Transaction", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 71, - "src": "14783:11:0", + "src": "14736:11:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction" @@ -26638,49 +26522,103 @@ "visibility": "internal" } ], - "id": 732, + "id": 724, "initialValue": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 729, + "id": 721, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "14807:12:0", + "src": "14760:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 731, + "id": 723, "indexExpression": { "argumentTypes": null, - "id": 730, + "id": 722, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 716, - "src": "14820:10:0", + "referencedDeclaration": 708, + "src": "14773:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "isConstant": false, - "isLValue": true, - "isPure": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "14760:24:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Transaction_$71_storage", + "typeString": "struct Escrow_v1_0.Transaction storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "14736:48:0" + }, + { + "assignments": [ + 726 + ], + "declarations": [ + { + "constant": false, + "id": 726, + "name": "valueTransferred", + "nodeType": "VariableDeclaration", + "scope": 893, + "src": "14795:24:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 725, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "14795:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 728, + "initialValue": { + "argumentTypes": null, + "hexValue": "30", + "id": 727, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "14807:24:0", + "nodeType": "Literal", + "src": "14822:1:0", + "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_struct$_Transaction_$71_storage", - "typeString": "struct Escrow_v1_0.Transaction storage ref" - } + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" }, "nodeType": "VariableDeclarationStatement", - "src": "14783:48:0" + "src": "14795:28:0" }, { "condition": { @@ -26689,7 +26627,7 @@ "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" }, - "id": 737, + "id": 733, "isConstant": false, "isLValue": false, "isPure": false, @@ -26698,18 +26636,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 733, + "id": 729, "name": "t", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 728, - "src": "14846:1:0", + "referencedDeclaration": 720, + "src": "14838:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" } }, - "id": 734, + "id": 730, "isConstant": false, "isLValue": true, "isPure": false, @@ -26717,7 +26655,7 @@ "memberName": "transactionType", "nodeType": "MemberAccess", "referencedDeclaration": 46, - "src": "14846:17:0", + "src": "14838:17:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -26729,18 +26667,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 735, + "id": 731, "name": "TransactionType", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12, - "src": "14867:15:0", + "src": "14859:15:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_TransactionType_$12_$", "typeString": "type(enum Escrow_v1_0.TransactionType)" } }, - "id": 736, + "id": 732, "isConstant": false, "isLValue": false, "isPure": true, @@ -26748,13 +26686,13 @@ "memberName": "ETHER", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "14867:21:0", + "src": "14859:21:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" } }, - "src": "14846:42:0", + "src": "14838:42:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -26767,7 +26705,7 @@ "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" }, - "id": 811, + "id": 807, "isConstant": false, "isLValue": false, "isPure": false, @@ -26776,18 +26714,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 807, + "id": 803, "name": "t", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 728, - "src": "15487:1:0", + "referencedDeclaration": 720, + "src": "15479:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" } }, - "id": 808, + "id": 804, "isConstant": false, "isLValue": true, "isPure": false, @@ -26795,7 +26733,7 @@ "memberName": "transactionType", "nodeType": "MemberAccess", "referencedDeclaration": 46, - "src": "15487:17:0", + "src": "15479:17:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -26807,18 +26745,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 809, + "id": 805, "name": "TransactionType", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12, - "src": "15508:15:0", + "src": "15500:15:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_TransactionType_$12_$", "typeString": "type(enum Escrow_v1_0.TransactionType)" } }, - "id": 810, + "id": 806, "isConstant": false, "isLValue": false, "isPure": true, @@ -26826,54 +26764,54 @@ "memberName": "TOKEN", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "15508:21:0", + "src": "15500:21:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" } }, - "src": "15487:42:0", + "src": "15479:42:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, - "id": 892, + "id": 888, "nodeType": "IfStatement", - "src": "15483:658:0", + "src": "15475:658:0", "trueBody": { - "id": 891, + "id": 887, "nodeType": "Block", - "src": "15531:610:0", + "src": "15523:610:0", "statements": [ { "assignments": [ - 813 + 809 ], "declarations": [ { "constant": false, - "id": 813, + "id": 809, "name": "token", "nodeType": "VariableDeclaration", - "scope": 895, - "src": "15546:20:0", + "scope": 893, + "src": "15538:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenContract_$1240", + "typeIdentifier": "t_contract$_ITokenContract_$1241", "typeString": "contract ITokenContract" }, "typeName": { "contractScope": null, - "id": 812, + "id": 808, "name": "ITokenContract", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1240, - "src": "15546:14:0", + "referencedDeclaration": 1241, + "src": "15538:14:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenContract_$1240", + "typeIdentifier": "t_contract$_ITokenContract_$1241", "typeString": "contract ITokenContract" } }, @@ -26881,7 +26819,7 @@ "visibility": "internal" } ], - "id": 818, + "id": 814, "initialValue": { "argumentTypes": null, "arguments": [ @@ -26889,18 +26827,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 815, + "id": 811, "name": "t", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 728, - "src": "15584:1:0", + "referencedDeclaration": 720, + "src": "15576:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" } }, - "id": 816, + "id": 812, "isConstant": false, "isLValue": true, "isPure": false, @@ -26908,7 +26846,7 @@ "memberName": "tokenAddress", "nodeType": "MemberAccess", "referencedDeclaration": 56, - "src": "15584:14:0", + "src": "15576:14:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -26922,18 +26860,18 @@ "typeString": "address" } ], - "id": 814, + "id": 810, "name": "ITokenContract", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1240, - "src": "15569:14:0", + "referencedDeclaration": 1241, + "src": "15561:14:0", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ITokenContract_$1240_$", + "typeIdentifier": "t_type$_t_contract$_ITokenContract_$1241_$", "typeString": "type(contract ITokenContract)" } }, - "id": 817, + "id": 813, "isConstant": false, "isLValue": false, "isPure": false, @@ -26941,20 +26879,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15569:30:0", + "src": "15561:30:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenContract_$1240", + "typeIdentifier": "t_contract$_ITokenContract_$1241", "typeString": "contract ITokenContract" } }, "nodeType": "VariableDeclarationStatement", - "src": "15546:53:0" + "src": "15538:53:0" }, { "body": { - "id": 889, + "id": 885, "nodeType": "Block", - "src": "15662:469:0", + "src": "15654:469:0", "statements": [ { "expression": { @@ -26966,7 +26904,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 844, + "id": 840, "isConstant": false, "isLValue": false, "isPure": false, @@ -26977,7 +26915,7 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 837, + "id": 833, "isConstant": false, "isLValue": false, "isPure": false, @@ -26986,26 +26924,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 831, + "id": 827, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 719, - "src": "15689:12:0", + "referencedDeclaration": 711, + "src": "15681:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" } }, - "id": 833, + "id": 829, "indexExpression": { "argumentTypes": null, - "id": 832, + "id": 828, "name": "j", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 820, - "src": "15702:1:0", + "referencedDeclaration": 816, + "src": "15694:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27016,7 +26954,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15689:15:0", + "src": "15681:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -27030,14 +26968,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 835, + "id": 831, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "15716:1:0", + "src": "15708:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -27053,20 +26991,20 @@ "typeString": "int_const 0" } ], - "id": 834, + "id": 830, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "15708:7:0", + "src": "15700:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, - "id": 836, + "id": 832, "isConstant": false, "isLValue": false, "isPure": true, @@ -27074,13 +27012,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15708:10:0", + "src": "15700:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "15689:29:0", + "src": "15681:29:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -27094,18 +27032,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 838, + "id": 834, "name": "t", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 728, - "src": "15722:1:0", + "referencedDeclaration": 720, + "src": "15714:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" } }, - "id": 839, + "id": 835, "isConstant": false, "isLValue": true, "isPure": false, @@ -27113,37 +27051,37 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "15722:9:0", + "src": "15714:9:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 843, + "id": 839, "indexExpression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 840, + "id": 836, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 719, - "src": "15732:12:0", + "referencedDeclaration": 711, + "src": "15724:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" } }, - "id": 842, + "id": 838, "indexExpression": { "argumentTypes": null, - "id": 841, + "id": 837, "name": "j", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 820, - "src": "15745:1:0", + "referencedDeclaration": 816, + "src": "15737:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27154,7 +27092,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15732:15:0", + "src": "15724:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -27165,13 +27103,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15722:26:0", + "src": "15714:26:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "15689:59:0", + "src": "15681:59:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -27180,14 +27118,14 @@ { "argumentTypes": null, "hexValue": "4e6f7420612076616c69642064657374696e6174696f6e", - "id": 845, + "id": 841, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "15750:25:0", + "src": "15742:25:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_4b4c116dbf18274831a2b569c567d9fd9a0e9828a6c86ee9f93e80400fb6c49f", @@ -27207,21 +27145,21 @@ "typeString": "literal_string \"Not a valid destination\"" } ], - "id": 830, + "id": 826, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1386, - 1387 + 1387, + 1388 ], - "referencedDeclaration": 1387, - "src": "15681:7:0", + "referencedDeclaration": 1388, + "src": "15673:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 846, + "id": 842, "isConstant": false, "isLValue": false, "isPure": false, @@ -27229,15 +27167,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15681:95:0", + "src": "15673:95:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 847, + "id": 843, "nodeType": "ExpressionStatement", - "src": "15681:95:0" + "src": "15673:95:0" }, { "expression": { @@ -27249,7 +27187,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 853, + "id": 849, "isConstant": false, "isLValue": false, "isPure": false, @@ -27258,26 +27196,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 849, + "id": 845, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 722, - "src": "15802:7:0", + "referencedDeclaration": 714, + "src": "15794:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 851, + "id": 847, "indexExpression": { "argumentTypes": null, - "id": 850, + "id": 846, "name": "j", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 820, - "src": "15810:1:0", + "referencedDeclaration": 816, + "src": "15802:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27288,7 +27226,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15802:10:0", + "src": "15794:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27299,14 +27237,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 852, + "id": 848, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "15815:1:0", + "src": "15807:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -27314,7 +27252,7 @@ }, "value": "0" }, - "src": "15802:14:0", + "src": "15794:14:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -27323,14 +27261,14 @@ { "argumentTypes": null, "hexValue": "416d6f756e7420746f2062652073656e742073686f756c642062652067726561746572207468616e2030", - "id": 854, + "id": 850, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "15818:44:0", + "src": "15810:44:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_5e1271a09dbb64ae031de288deb0ad8d707df7db51d6e827931dc8fa6642a71e", @@ -27350,21 +27288,21 @@ "typeString": "literal_string \"Amount to be sent should be greater than 0\"" } ], - "id": 848, + "id": 844, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1386, - 1387 + 1387, + 1388 ], - "referencedDeclaration": 1387, - "src": "15794:7:0", + "referencedDeclaration": 1388, + "src": "15786:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 855, + "id": 851, "isConstant": false, "isLValue": false, "isPure": false, @@ -27372,32 +27310,32 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15794:69:0", + "src": "15786:69:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 856, + "id": 852, "nodeType": "ExpressionStatement", - "src": "15794:69:0" + "src": "15786:69:0" }, { "expression": { "argumentTypes": null, - "id": 864, + "id": 860, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 857, + "id": 853, "name": "valueTransferred", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 725, - "src": "15882:16:0", + "referencedDeclaration": 726, + "src": "15874:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27412,26 +27350,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 860, + "id": 856, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 722, - "src": "15922:7:0", + "referencedDeclaration": 714, + "src": "15914:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 862, + "id": 858, "indexExpression": { "argumentTypes": null, - "id": 861, + "id": 857, "name": "j", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 820, - "src": "15930:1:0", + "referencedDeclaration": 816, + "src": "15922:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27442,7 +27380,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15922:10:0", + "src": "15914:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27458,32 +27396,32 @@ ], "expression": { "argumentTypes": null, - "id": 858, + "id": 854, "name": "valueTransferred", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 725, - "src": "15901:16:0", + "referencedDeclaration": 726, + "src": "15893:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 859, + "id": 855, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 1347, - "src": "15901:20:0", + "referencedDeclaration": 1348, + "src": "15893:20:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 863, + "id": 859, "isConstant": false, "isLValue": false, "isPure": false, @@ -27491,26 +27429,26 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15901:32:0", + "src": "15893:32:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "15882:51:0", + "src": "15874:51:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 865, + "id": 861, "nodeType": "ExpressionStatement", - "src": "15882:51:0" + "src": "15874:51:0" }, { "expression": { "argumentTypes": null, - "id": 874, + "id": 870, "isConstant": false, "isLValue": false, "isPure": false, @@ -27521,18 +27459,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 866, + "id": 862, "name": "t", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 728, - "src": "15951:1:0", + "referencedDeclaration": 720, + "src": "15943:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" } }, - "id": 871, + "id": 867, "isConstant": false, "isLValue": true, "isPure": false, @@ -27540,37 +27478,37 @@ "memberName": "beneficiaries", "nodeType": "MemberAccess", "referencedDeclaration": 70, - "src": "15951:15:0", + "src": "15943:15:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 872, + "id": 868, "indexExpression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 868, + "id": 864, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 719, - "src": "15967:12:0", + "referencedDeclaration": 711, + "src": "15959:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" } }, - "id": 870, + "id": 866, "indexExpression": { "argumentTypes": null, - "id": 869, + "id": 865, "name": "j", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 820, - "src": "15980:1:0", + "referencedDeclaration": 816, + "src": "15972:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27581,7 +27519,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15967:15:0", + "src": "15959:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -27592,7 +27530,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "15951:32:0", + "src": "15943:32:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -27603,14 +27541,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "74727565", - "id": 873, + "id": 869, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "15986:4:0", + "src": "15978:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -27618,15 +27556,15 @@ }, "value": "true" }, - "src": "15951:39:0", + "src": "15943:39:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 875, + "id": 871, "nodeType": "ExpressionStatement", - "src": "15951:39:0" + "src": "15943:39:0" }, { "expression": { @@ -27639,26 +27577,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 879, + "id": 875, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 719, - "src": "16061:12:0", + "referencedDeclaration": 711, + "src": "16053:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" } }, - "id": 881, + "id": 877, "indexExpression": { "argumentTypes": null, - "id": 880, + "id": 876, "name": "j", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 820, - "src": "16074:1:0", + "referencedDeclaration": 816, + "src": "16066:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27669,7 +27607,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "16061:15:0", + "src": "16053:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -27679,26 +27617,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 882, + "id": 878, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 722, - "src": "16078:7:0", + "referencedDeclaration": 714, + "src": "16070:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 884, + "id": 880, "indexExpression": { "argumentTypes": null, - "id": 883, + "id": 879, "name": "j", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 820, - "src": "16086:1:0", + "referencedDeclaration": 816, + "src": "16078:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27709,7 +27647,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "16078:10:0", + "src": "16070:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27729,32 +27667,32 @@ ], "expression": { "argumentTypes": null, - "id": 877, + "id": 873, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 813, - "src": "16046:5:0", + "referencedDeclaration": 809, + "src": "16038:5:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenContract_$1240", + "typeIdentifier": "t_contract$_ITokenContract_$1241", "typeString": "contract ITokenContract" } }, - "id": 878, + "id": 874, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "transfer", "nodeType": "MemberAccess", - "referencedDeclaration": 1228, - "src": "16046:14:0", + "referencedDeclaration": 1229, + "src": "16038:14:0", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", "typeString": "function (address,uint256) external returns (bool)" } }, - "id": 885, + "id": 881, "isConstant": false, "isLValue": false, "isPure": false, @@ -27762,7 +27700,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16046:43:0", + "src": "16038:43:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -27771,14 +27709,14 @@ { "argumentTypes": null, "hexValue": "546f6b656e207472616e73666572206661696c65642e", - "id": 886, + "id": 882, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "16091:24:0", + "src": "16083:24:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_e545223bb79d8456d66fa5a98897abb42bb4807111f004a120200da3b7e292c5", @@ -27798,21 +27736,21 @@ "typeString": "literal_string \"Token transfer failed.\"" } ], - "id": 876, + "id": 872, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1386, - 1387 + 1387, + 1388 ], - "referencedDeclaration": 1387, - "src": "16038:7:0", + "referencedDeclaration": 1388, + "src": "16030:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 887, + "id": 883, "isConstant": false, "isLValue": false, "isPure": false, @@ -27820,15 +27758,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16038:78:0", + "src": "16030:78:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 888, + "id": 884, "nodeType": "ExpressionStatement", - "src": "16038:78:0" + "src": "16030:78:0" } ] }, @@ -27838,19 +27776,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 826, + "id": 822, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 823, + "id": 819, "name": "j", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 820, - "src": "15634:1:0", + "referencedDeclaration": 816, + "src": "15626:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27862,18 +27800,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 824, + "id": 820, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 719, - "src": "15636:12:0", + "referencedDeclaration": 711, + "src": "15628:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" } }, - "id": 825, + "id": 821, "isConstant": false, "isLValue": false, "isPure": false, @@ -27881,31 +27819,31 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "15636:19:0", + "src": "15628:19:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "15634:21:0", + "src": "15626:21:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 890, + "id": 886, "initializationExpression": { "assignments": [ - 820 + 816 ], "declarations": [ { "constant": false, - "id": 820, + "id": 816, "name": "j", "nodeType": "VariableDeclaration", - "scope": 895, - "src": "15619:9:0", + "scope": 893, + "src": "15611:9:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -27913,10 +27851,10 @@ "typeString": "uint256" }, "typeName": { - "id": 819, + "id": 815, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "15619:7:0", + "src": "15611:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27926,18 +27864,18 @@ "visibility": "internal" } ], - "id": 822, + "id": 818, "initialValue": { "argumentTypes": null, "hexValue": "30", - "id": 821, + "id": 817, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "15631:1:0", + "src": "15623:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -27946,12 +27884,12 @@ "value": "0" }, "nodeType": "VariableDeclarationStatement", - "src": "15619:13:0" + "src": "15611:13:0" }, "loopExpression": { "expression": { "argumentTypes": null, - "id": 828, + "id": 824, "isConstant": false, "isLValue": false, "isPure": false, @@ -27959,15 +27897,15 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "15657:3:0", + "src": "15649:3:0", "subExpression": { "argumentTypes": null, - "id": 827, + "id": 823, "name": "j", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 820, - "src": "15657:1:0", + "referencedDeclaration": 816, + "src": "15649:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27978,29 +27916,29 @@ "typeString": "uint256" } }, - "id": 829, + "id": 825, "nodeType": "ExpressionStatement", - "src": "15657:3:0" + "src": "15649:3:0" }, "nodeType": "ForStatement", - "src": "15614:517:0" + "src": "15606:517:0" } ] } }, - "id": 893, + "id": 889, "nodeType": "IfStatement", - "src": "14842:1299:0", + "src": "14834:1299:0", "trueBody": { - "id": 806, + "id": 802, "nodeType": "Block", - "src": "14890:587:0", + "src": "14882:587:0", "statements": [ { "body": { - "id": 804, + "id": 800, "nodeType": "Block", - "src": "14954:512:0", + "src": "14946:512:0", "statements": [ { "expression": { @@ -28012,7 +27950,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 763, + "id": 759, "isConstant": false, "isLValue": false, "isPure": false, @@ -28023,7 +27961,7 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 756, + "id": 752, "isConstant": false, "isLValue": false, "isPure": false, @@ -28032,26 +27970,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 750, + "id": 746, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 719, - "src": "14981:12:0", + "referencedDeclaration": 711, + "src": "14973:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" } }, - "id": 752, + "id": 748, "indexExpression": { "argumentTypes": null, - "id": 751, + "id": 747, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 739, - "src": "14994:1:0", + "referencedDeclaration": 735, + "src": "14986:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28062,7 +28000,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "14981:15:0", + "src": "14973:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -28076,14 +28014,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 754, + "id": 750, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "15008:1:0", + "src": "15000:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -28099,20 +28037,20 @@ "typeString": "int_const 0" } ], - "id": 753, + "id": 749, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "15000:7:0", + "src": "14992:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, - "id": 755, + "id": 751, "isConstant": false, "isLValue": false, "isPure": true, @@ -28120,13 +28058,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15000:10:0", + "src": "14992:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "14981:29:0", + "src": "14973:29:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -28140,18 +28078,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 757, + "id": 753, "name": "t", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 728, - "src": "15014:1:0", + "referencedDeclaration": 720, + "src": "15006:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" } }, - "id": 758, + "id": 754, "isConstant": false, "isLValue": true, "isPure": false, @@ -28159,37 +28097,37 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "15014:9:0", + "src": "15006:9:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 762, + "id": 758, "indexExpression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 759, + "id": 755, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 719, - "src": "15024:12:0", + "referencedDeclaration": 711, + "src": "15016:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" } }, - "id": 761, + "id": 757, "indexExpression": { "argumentTypes": null, - "id": 760, + "id": 756, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 739, - "src": "15037:1:0", + "referencedDeclaration": 735, + "src": "15029:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28200,7 +28138,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15024:15:0", + "src": "15016:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -28211,13 +28149,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15014:26:0", + "src": "15006:26:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "14981:59:0", + "src": "14973:59:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -28226,14 +28164,14 @@ { "argumentTypes": null, "hexValue": "4e6f7420612076616c69642064657374696e6174696f6e", - "id": 764, + "id": 760, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "15042:25:0", + "src": "15034:25:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_4b4c116dbf18274831a2b569c567d9fd9a0e9828a6c86ee9f93e80400fb6c49f", @@ -28253,21 +28191,21 @@ "typeString": "literal_string \"Not a valid destination\"" } ], - "id": 749, + "id": 745, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1386, - 1387 + 1387, + 1388 ], - "referencedDeclaration": 1387, - "src": "14973:7:0", + "referencedDeclaration": 1388, + "src": "14965:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 765, + "id": 761, "isConstant": false, "isLValue": false, "isPure": false, @@ -28275,15 +28213,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "14973:95:0", + "src": "14965:95:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 766, + "id": 762, "nodeType": "ExpressionStatement", - "src": "14973:95:0" + "src": "14965:95:0" }, { "expression": { @@ -28295,7 +28233,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 772, + "id": 768, "isConstant": false, "isLValue": false, "isPure": false, @@ -28304,26 +28242,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 768, + "id": 764, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 722, - "src": "15094:7:0", + "referencedDeclaration": 714, + "src": "15086:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 770, + "id": 766, "indexExpression": { "argumentTypes": null, - "id": 769, + "id": 765, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 739, - "src": "15102:1:0", + "referencedDeclaration": 735, + "src": "15094:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28334,7 +28272,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15094:10:0", + "src": "15086:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28345,14 +28283,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 771, + "id": 767, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "15107:1:0", + "src": "15099:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -28360,7 +28298,7 @@ }, "value": "0" }, - "src": "15094:14:0", + "src": "15086:14:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -28369,14 +28307,14 @@ { "argumentTypes": null, "hexValue": "416d6f756e7420746f2062652073656e742073686f756c642062652067726561746572207468616e2030", - "id": 773, + "id": 769, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "15110:44:0", + "src": "15102:44:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_5e1271a09dbb64ae031de288deb0ad8d707df7db51d6e827931dc8fa6642a71e", @@ -28396,21 +28334,21 @@ "typeString": "literal_string \"Amount to be sent should be greater than 0\"" } ], - "id": 767, + "id": 763, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1386, - 1387 + 1387, + 1388 ], - "referencedDeclaration": 1387, - "src": "15086:7:0", + "referencedDeclaration": 1388, + "src": "15078:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 774, + "id": 770, "isConstant": false, "isLValue": false, "isPure": false, @@ -28418,32 +28356,32 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15086:69:0", + "src": "15078:69:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 775, + "id": 771, "nodeType": "ExpressionStatement", - "src": "15086:69:0" + "src": "15078:69:0" }, { "expression": { "argumentTypes": null, - "id": 783, + "id": 779, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 776, + "id": 772, "name": "valueTransferred", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 725, - "src": "15174:16:0", + "referencedDeclaration": 726, + "src": "15166:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28458,26 +28396,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 779, + "id": 775, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 722, - "src": "15214:7:0", + "referencedDeclaration": 714, + "src": "15206:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 781, + "id": 777, "indexExpression": { "argumentTypes": null, - "id": 780, + "id": 776, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 739, - "src": "15222:1:0", + "referencedDeclaration": 735, + "src": "15214:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28488,7 +28426,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15214:10:0", + "src": "15206:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28504,32 +28442,32 @@ ], "expression": { "argumentTypes": null, - "id": 777, + "id": 773, "name": "valueTransferred", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 725, - "src": "15193:16:0", + "referencedDeclaration": 726, + "src": "15185:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 778, + "id": 774, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 1347, - "src": "15193:20:0", + "referencedDeclaration": 1348, + "src": "15185:20:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 782, + "id": 778, "isConstant": false, "isLValue": false, "isPure": false, @@ -28537,26 +28475,26 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15193:32:0", + "src": "15185:32:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "15174:51:0", + "src": "15166:51:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 784, + "id": 780, "nodeType": "ExpressionStatement", - "src": "15174:51:0" + "src": "15166:51:0" }, { "expression": { "argumentTypes": null, - "id": 793, + "id": 789, "isConstant": false, "isLValue": false, "isPure": false, @@ -28567,18 +28505,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 785, + "id": 781, "name": "t", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 728, - "src": "15244:1:0", + "referencedDeclaration": 720, + "src": "15236:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" } }, - "id": 790, + "id": 786, "isConstant": false, "isLValue": true, "isPure": false, @@ -28586,37 +28524,37 @@ "memberName": "beneficiaries", "nodeType": "MemberAccess", "referencedDeclaration": 70, - "src": "15244:15:0", + "src": "15236:15:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 791, + "id": 787, "indexExpression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 787, + "id": 783, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 719, - "src": "15260:12:0", + "referencedDeclaration": 711, + "src": "15252:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" } }, - "id": 789, + "id": 785, "indexExpression": { "argumentTypes": null, - "id": 788, + "id": 784, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 739, - "src": "15273:1:0", + "referencedDeclaration": 735, + "src": "15265:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28627,7 +28565,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15260:15:0", + "src": "15252:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -28638,7 +28576,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "15244:32:0", + "src": "15236:32:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -28649,14 +28587,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "74727565", - "id": 792, + "id": 788, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "15279:4:0", + "src": "15271:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -28664,15 +28602,15 @@ }, "value": "true" }, - "src": "15244:39:0", + "src": "15236:39:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 794, + "id": 790, "nodeType": "ExpressionStatement", - "src": "15244:39:0" + "src": "15236:39:0" }, { "expression": { @@ -28682,26 +28620,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 799, + "id": 795, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 722, - "src": "15355:7:0", + "referencedDeclaration": 714, + "src": "15347:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 801, + "id": 797, "indexExpression": { "argumentTypes": null, - "id": 800, + "id": 796, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 739, - "src": "15363:1:0", + "referencedDeclaration": 735, + "src": "15355:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28712,7 +28650,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15355:10:0", + "src": "15347:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28730,26 +28668,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 795, + "id": 791, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 719, - "src": "15330:12:0", + "referencedDeclaration": 711, + "src": "15322:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" } }, - "id": 797, + "id": 793, "indexExpression": { "argumentTypes": null, - "id": 796, + "id": 792, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 739, - "src": "15343:1:0", + "referencedDeclaration": 735, + "src": "15335:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28760,13 +28698,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15330:15:0", + "src": "15322:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 798, + "id": 794, "isConstant": false, "isLValue": false, "isPure": false, @@ -28774,13 +28712,13 @@ "memberName": "transfer", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "15330:24:0", + "src": "15322:24:0", "typeDescriptions": { "typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$", "typeString": "function (uint256)" } }, - "id": 802, + "id": 798, "isConstant": false, "isLValue": false, "isPure": false, @@ -28788,15 +28726,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15330:36:0", + "src": "15322:36:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 803, + "id": 799, "nodeType": "ExpressionStatement", - "src": "15330:36:0" + "src": "15322:36:0" } ] }, @@ -28806,19 +28744,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 745, + "id": 741, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 742, + "id": 738, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 739, - "src": "14924:1:0", + "referencedDeclaration": 735, + "src": "14916:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28830,18 +28768,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 743, + "id": 739, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 719, - "src": "14928:12:0", + "referencedDeclaration": 711, + "src": "14920:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" } }, - "id": 744, + "id": 740, "isConstant": false, "isLValue": false, "isPure": false, @@ -28849,31 +28787,31 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "14928:19:0", + "src": "14920:19:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "14924:23:0", + "src": "14916:23:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 805, + "id": 801, "initializationExpression": { "assignments": [ - 739 + 735 ], "declarations": [ { "constant": false, - "id": 739, + "id": 735, "name": "i", "nodeType": "VariableDeclaration", - "scope": 895, - "src": "14909:9:0", + "scope": 893, + "src": "14901:9:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -28881,10 +28819,10 @@ "typeString": "uint256" }, "typeName": { - "id": 738, + "id": 734, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "14909:7:0", + "src": "14901:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28894,18 +28832,18 @@ "visibility": "internal" } ], - "id": 741, + "id": 737, "initialValue": { "argumentTypes": null, "hexValue": "30", - "id": 740, + "id": 736, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "14921:1:0", + "src": "14913:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -28914,12 +28852,12 @@ "value": "0" }, "nodeType": "VariableDeclarationStatement", - "src": "14909:13:0" + "src": "14901:13:0" }, "loopExpression": { "expression": { "argumentTypes": null, - "id": 747, + "id": 743, "isConstant": false, "isLValue": false, "isPure": false, @@ -28927,15 +28865,15 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "14949:3:0", + "src": "14941:3:0", "subExpression": { "argumentTypes": null, - "id": 746, + "id": 742, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 739, - "src": "14949:1:0", + "referencedDeclaration": 735, + "src": "14941:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28946,20 +28884,39 @@ "typeString": "uint256" } }, - "id": 748, + "id": 744, "nodeType": "ExpressionStatement", - "src": "14949:3:0" + "src": "14941:3:0" }, "nodeType": "ForStatement", - "src": "14904:562:0" + "src": "14896:562:0" } ] } + }, + { + "expression": { + "argumentTypes": null, + "id": 890, + "name": "valueTransferred", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 726, + "src": "16150:16:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 718, + "id": 891, + "nodeType": "Return", + "src": "16143:23:0" } ] }, "documentation": "dev Private method to transfer funds to the destination addresses on the basis of transaction type", - "id": 895, + "id": 893, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -28967,16 +28924,16 @@ "name": "transferFunds", "nodeType": "FunctionDefinition", "parameters": { - "id": 723, + "id": 715, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 716, + "id": 708, "name": "scriptHash", "nodeType": "VariableDeclaration", - "scope": 895, - "src": "14628:18:0", + "scope": 893, + "src": "14598:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -28984,10 +28941,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 715, + "id": 707, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "14628:7:0", + "src": "14598:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -28998,11 +28955,11 @@ }, { "constant": false, - "id": 719, + "id": 711, "name": "destinations", "nodeType": "VariableDeclaration", - "scope": 895, - "src": "14656:21:0", + "scope": 893, + "src": "14626:21:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -29011,19 +28968,19 @@ }, "typeName": { "baseType": { - "id": 717, + "id": 709, "name": "address", "nodeType": "ElementaryTypeName", - "src": "14656:7:0", + "src": "14626:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 718, + "id": 710, "length": null, "nodeType": "ArrayTypeName", - "src": "14656:9:0", + "src": "14626:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", "typeString": "address[]" @@ -29034,11 +28991,11 @@ }, { "constant": false, - "id": 722, + "id": 714, "name": "amounts", "nodeType": "VariableDeclaration", - "scope": 895, - "src": "14687:16:0", + "scope": 893, + "src": "14657:16:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -29047,19 +29004,19 @@ }, "typeName": { "baseType": { - "id": 720, + "id": 712, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "14687:7:0", + "src": "14657:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 721, + "id": 713, "length": null, "nodeType": "ArrayTypeName", - "src": "14687:9:0", + "src": "14657:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -29069,20 +29026,20 @@ "visibility": "internal" } ], - "src": "14618:91:0" + "src": "14588:91:0" }, "payable": false, "returnParameters": { - "id": 726, + "id": 718, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 725, - "name": "valueTransferred", + "id": 717, + "name": "", "nodeType": "VariableDeclaration", - "scope": 895, - "src": "14743:24:0", + "scope": 893, + "src": "14713:7:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -29090,10 +29047,10 @@ "typeString": "uint256" }, "typeName": { - "id": 724, + "id": 716, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "14743:7:0", + "src": "14713:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29103,19 +29060,19 @@ "visibility": "internal" } ], - "src": "14742:26:0" + "src": "14712:9:0" }, - "scope": 1210, - "src": "14596:1552:0", + "scope": 1211, + "src": "14566:1607:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "private" }, { "body": { - "id": 1018, + "id": 1021, "nodeType": "Block", - "src": "16578:1277:0", + "src": "16591:1337:0", "statements": [ { "expression": { @@ -29127,7 +29084,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 928, + "id": 926, "isConstant": false, "isLValue": false, "isPure": false, @@ -29138,7 +29095,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 922, + "id": 920, "isConstant": false, "isLValue": false, "isPure": false, @@ -29147,18 +29104,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 918, + "id": 916, "name": "sigR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 901, - "src": "16609:4:0", + "referencedDeclaration": 899, + "src": "16623:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" } }, - "id": 919, + "id": 917, "isConstant": false, "isLValue": false, "isPure": false, @@ -29166,7 +29123,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "16609:11:0", + "src": "16623:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29178,18 +29135,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 920, + "id": 918, "name": "sigS", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 904, - "src": "16624:4:0", + "referencedDeclaration": 902, + "src": "16638:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" } }, - "id": 921, + "id": 919, "isConstant": false, "isLValue": false, "isPure": false, @@ -29197,13 +29154,13 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "16624:11:0", + "src": "16638:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "16609:26:0", + "src": "16623:26:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -29217,7 +29174,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 927, + "id": 925, "isConstant": false, "isLValue": false, "isPure": false, @@ -29226,18 +29183,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 923, + "id": 921, "name": "sigR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 901, - "src": "16639:4:0", + "referencedDeclaration": 899, + "src": "16653:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" } }, - "id": 924, + "id": 922, "isConstant": false, "isLValue": false, "isPure": false, @@ -29245,7 +29202,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "16639:11:0", + "src": "16653:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29257,18 +29214,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 925, + "id": 923, "name": "sigV", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 898, - "src": "16654:4:0", + "referencedDeclaration": 896, + "src": "16668:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr", "typeString": "uint8[] memory" } }, - "id": 926, + "id": 924, "isConstant": false, "isLValue": false, "isPure": false, @@ -29276,19 +29233,19 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "16654:11:0", + "src": "16668:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "16639:26:0", + "src": "16653:26:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "16609:56:0", + "src": "16623:56:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -29297,14 +29254,14 @@ { "argumentTypes": null, "hexValue": "522c532c56206c656e677468206d69736d617463682e", - "id": 929, + "id": 927, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "16680:24:0", + "src": "16694:24:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_f85073c8befb65baed58ca1ee563e5da0bdbdce8abd4d29ef22a8329c7c97506", @@ -29324,21 +29281,21 @@ "typeString": "literal_string \"R,S,V length mismatch.\"" } ], - "id": 917, + "id": 915, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1386, - 1387 + 1387, + 1388 ], - "referencedDeclaration": 1387, - "src": "16588:7:0", + "referencedDeclaration": 1388, + "src": "16602:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 930, + "id": 928, "isConstant": false, "isLValue": false, "isPure": false, @@ -29346,28 +29303,63 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16588:126:0", + "src": "16602:126:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 931, + "id": 929, "nodeType": "ExpressionStatement", - "src": "16588:126:0" + "src": "16602:126:0" + }, + { + "assignments": [], + "declarations": [ + { + "constant": false, + "id": 931, + "name": "lastAddress", + "nodeType": "VariableDeclaration", + "scope": 1022, + "src": "16739:19:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 930, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "16739:7:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 932, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "16739:19:0" }, { "assignments": [ - 933 + 934 ], "declarations": [ { "constant": false, - "id": 933, + "id": 934, "name": "txHash", "nodeType": "VariableDeclaration", - "scope": 1019, - "src": "16813:14:0", + "scope": 1022, + "src": "16857:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -29375,10 +29367,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 932, + "id": 933, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "16813:7:0", + "src": "16857:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -29388,7 +29380,7 @@ "visibility": "internal" } ], - "id": 955, + "id": 956, "initialValue": { "argumentTypes": null, "arguments": [ @@ -29398,14 +29390,14 @@ { "argumentTypes": null, "hexValue": "19457468657265756d205369676e6564204d6573736167653a0a3332", - "id": 937, + "id": 938, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "16887:34:0", + "src": "16931:34:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_178a2411ab6fbc1ba11064408972259c558d0e82fd48b0aba3ad81d14f065e73", @@ -29425,14 +29417,14 @@ { "argumentTypes": null, "hexValue": "30783139", - "id": 942, + "id": 943, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "17017:4:0", + "src": "17061:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_25_by_1", @@ -29448,20 +29440,20 @@ "typeString": "int_const 25" } ], - "id": 941, + "id": 942, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "17012:4:0", + "src": "17056:4:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes1_$", "typeString": "type(bytes1)" }, "typeName": "byte" }, - "id": 943, + "id": 944, "isConstant": false, "isLValue": false, "isPure": true, @@ -29469,7 +29461,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17012:10:0", + "src": "17056:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes1", "typeString": "bytes1" @@ -29481,14 +29473,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 945, + "id": 946, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "17053:1:0", + "src": "17097:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -29504,20 +29496,20 @@ "typeString": "int_const 0" } ], - "id": 944, + "id": 945, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "17048:4:0", + "src": "17092:4:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes1_$", "typeString": "type(bytes1)" }, "typeName": "byte" }, - "id": 946, + "id": 947, "isConstant": false, "isLValue": false, "isPure": true, @@ -29525,7 +29517,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17048:7:0", + "src": "17092:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes1", "typeString": "bytes1" @@ -29533,25 +29525,25 @@ }, { "argumentTypes": null, - "id": 947, + "id": 948, "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1400, - "src": "17081:4:0", + "referencedDeclaration": 1401, + "src": "17125:4:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_Escrow_v1_0_$1210", + "typeIdentifier": "t_contract$_Escrow_v1_0_$1211", "typeString": "contract Escrow_v1_0" } }, { "argumentTypes": null, - "id": 948, + "id": 949, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 909, - "src": "17111:12:0", + "referencedDeclaration": 907, + "src": "17155:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -29559,12 +29551,12 @@ }, { "argumentTypes": null, - "id": 949, + "id": 950, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 912, - "src": "17149:7:0", + "referencedDeclaration": 910, + "src": "17193:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" @@ -29572,12 +29564,12 @@ }, { "argumentTypes": null, - "id": 950, + "id": 951, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 906, - "src": "17182:10:0", + "referencedDeclaration": 904, + "src": "17226:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -29595,7 +29587,7 @@ "typeString": "bytes1" }, { - "typeIdentifier": "t_contract$_Escrow_v1_0_$1210", + "typeIdentifier": "t_contract$_Escrow_v1_0_$1211", "typeString": "contract Escrow_v1_0" }, { @@ -29613,18 +29605,18 @@ ], "expression": { "argumentTypes": null, - "id": 939, + "id": 940, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1370, - "src": "16970:3:0", + "referencedDeclaration": 1371, + "src": "17014:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, - "id": 940, + "id": 941, "isConstant": false, "isLValue": false, "isPure": true, @@ -29632,13 +29624,13 @@ "memberName": "encodePacked", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "16970:16:0", + "src": "17014:16:0", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, - "id": 951, + "id": 952, "isConstant": false, "isLValue": false, "isPure": false, @@ -29646,7 +29638,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16970:244:0", + "src": "17014:244:0", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -29660,18 +29652,18 @@ "typeString": "bytes memory" } ], - "id": 938, + "id": 939, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1377, - "src": "16939:9:0", + "referencedDeclaration": 1378, + "src": "16983:9:0", "typeDescriptions": { "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", "typeString": "function () pure returns (bytes32)" } }, - "id": 952, + "id": 953, "isConstant": false, "isLValue": false, "isPure": false, @@ -29679,7 +29671,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16939:293:0", + "src": "16983:293:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -29699,18 +29691,18 @@ ], "expression": { "argumentTypes": null, - "id": 935, + "id": 936, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1370, - "src": "16853:3:0", + "referencedDeclaration": 1371, + "src": "16897:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, - "id": 936, + "id": 937, "isConstant": false, "isLValue": false, "isPure": true, @@ -29718,13 +29710,13 @@ "memberName": "encodePacked", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "16853:16:0", + "src": "16897:16:0", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, - "id": 953, + "id": 954, "isConstant": false, "isLValue": false, "isPure": false, @@ -29732,7 +29724,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16853:393:0", + "src": "16897:393:0", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -29746,18 +29738,18 @@ "typeString": "bytes memory" } ], - "id": 934, + "id": 935, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1377, - "src": "16830:9:0", + "referencedDeclaration": 1378, + "src": "16874:9:0", "typeDescriptions": { "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", "typeString": "function () pure returns (bytes32)" } }, - "id": 954, + "id": 955, "isConstant": false, "isLValue": false, "isPure": false, @@ -29765,33 +29757,33 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16830:426:0", + "src": "16874:426:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "nodeType": "VariableDeclarationStatement", - "src": "16813:443:0" + "src": "16857:443:0" }, { "body": { - "id": 1016, + "id": 1017, "nodeType": "Block", - "src": "17306:543:0", + "src": "17350:543:0", "statements": [ { "assignments": [ - 968 + 969 ], "declarations": [ { "constant": false, - "id": 968, + "id": 969, "name": "recovered", "nodeType": "VariableDeclaration", - "scope": 1019, - "src": "17321:17:0", + "scope": 1022, + "src": "17365:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -29799,10 +29791,10 @@ "typeString": "address" }, "typeName": { - "id": 967, + "id": 968, "name": "address", "nodeType": "ElementaryTypeName", - "src": "17321:7:0", + "src": "17365:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -29812,18 +29804,18 @@ "visibility": "internal" } ], - "id": 981, + "id": 982, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 970, + "id": 971, "name": "txHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 933, - "src": "17368:6:0", + "referencedDeclaration": 934, + "src": "17412:6:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -29833,26 +29825,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 971, + "id": 972, "name": "sigV", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 898, - "src": "17392:4:0", + "referencedDeclaration": 896, + "src": "17436:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr", "typeString": "uint8[] memory" } }, - "id": 973, + "id": 974, "indexExpression": { "argumentTypes": null, - "id": 972, + "id": 973, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 957, - "src": "17397:1:0", + "referencedDeclaration": 958, + "src": "17441:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29863,7 +29855,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17392:7:0", + "src": "17436:7:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -29873,26 +29865,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 974, + "id": 975, "name": "sigR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 901, - "src": "17417:4:0", + "referencedDeclaration": 899, + "src": "17461:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" } }, - "id": 976, + "id": 977, "indexExpression": { "argumentTypes": null, - "id": 975, + "id": 976, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 957, - "src": "17422:1:0", + "referencedDeclaration": 958, + "src": "17466:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29903,7 +29895,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17417:7:0", + "src": "17461:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -29913,26 +29905,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 977, + "id": 978, "name": "sigS", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 904, - "src": "17442:4:0", + "referencedDeclaration": 902, + "src": "17486:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" } }, - "id": 979, + "id": 980, "indexExpression": { "argumentTypes": null, - "id": 978, + "id": 979, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 957, - "src": "17447:1:0", + "referencedDeclaration": 958, + "src": "17491:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29943,7 +29935,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17442:7:0", + "src": "17486:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -29969,18 +29961,18 @@ "typeString": "bytes32" } ], - "id": 969, + "id": 970, "name": "ecrecover", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1375, - "src": "17341:9:0", + "referencedDeclaration": 1376, + "src": "17385:9:0", "typeDescriptions": { "typeIdentifier": "t_function_ecrecover_pure$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$_t_address_$", "typeString": "function (bytes32,uint8,bytes32,bytes32) pure returns (address)" } }, - "id": 980, + "id": 981, "isConstant": false, "isLValue": false, "isPure": false, @@ -29988,14 +29980,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17341:122:0", + "src": "17385:122:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "VariableDeclarationStatement", - "src": "17321:142:0" + "src": "17365:142:0" }, { "expression": { @@ -30009,26 +30001,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 983, + "id": 984, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "17503:12:0", + "src": "17547:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 985, + "id": 986, "indexExpression": { "argumentTypes": null, - "id": 984, + "id": 985, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 906, - "src": "17516:10:0", + "referencedDeclaration": 904, + "src": "17560:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -30039,13 +30031,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17503:24:0", + "src": "17547:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 986, + "id": 987, "isConstant": false, "isLValue": true, "isPure": false, @@ -30053,21 +30045,21 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "17503:32:0", + "src": "17547:32:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 988, + "id": 989, "indexExpression": { "argumentTypes": null, - "id": 987, + "id": 988, "name": "recovered", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 968, - "src": "17536:9:0", + "referencedDeclaration": 969, + "src": "17580:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -30078,7 +30070,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17503:43:0", + "src": "17547:43:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -30087,14 +30079,14 @@ { "argumentTypes": null, "hexValue": "496e76616c6964207369676e6174757265", - "id": 989, + "id": 990, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "17565:19:0", + "src": "17609:19:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_4f2d7dfcb27c0aafa13ae8c400de482c7832204d194018b6e45bd2bf244c74e7", @@ -30114,21 +30106,21 @@ "typeString": "literal_string \"Invalid signature\"" } ], - "id": 982, + "id": 983, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1386, - 1387 + 1387, + 1388 ], - "referencedDeclaration": 1387, - "src": "17478:7:0", + "referencedDeclaration": 1388, + "src": "17522:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 990, + "id": 991, "isConstant": false, "isLValue": false, "isPure": false, @@ -30136,15 +30128,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17478:120:0", + "src": "17522:120:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 991, + "id": 992, "nodeType": "ExpressionStatement", - "src": "17478:120:0" + "src": "17522:120:0" }, { "expression": { @@ -30152,7 +30144,7 @@ "arguments": [ { "argumentTypes": null, - "id": 999, + "id": 1000, "isConstant": false, "isLValue": false, "isPure": false, @@ -30160,7 +30152,7 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "17637:42:0", + "src": "17681:42:0", "subExpression": { "argumentTypes": null, "baseExpression": { @@ -30169,26 +30161,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 993, + "id": 994, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "17638:12:0", + "src": "17682:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 995, + "id": 996, "indexExpression": { "argumentTypes": null, - "id": 994, + "id": 995, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 906, - "src": "17651:10:0", + "referencedDeclaration": 904, + "src": "17695:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -30199,13 +30191,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17638:24:0", + "src": "17682:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 996, + "id": 997, "isConstant": false, "isLValue": true, "isPure": false, @@ -30213,21 +30205,21 @@ "memberName": "voted", "nodeType": "MemberAccess", "referencedDeclaration": 66, - "src": "17638:30:0", + "src": "17682:30:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 998, + "id": 999, "indexExpression": { "argumentTypes": null, - "id": 997, + "id": 998, "name": "recovered", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 968, - "src": "17669:9:0", + "referencedDeclaration": 969, + "src": "17713:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -30238,7 +30230,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17638:41:0", + "src": "17682:41:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -30252,14 +30244,14 @@ { "argumentTypes": null, "hexValue": "53616d65207369676e61747572652073656e74207477696365", - "id": 1000, + "id": 1001, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "17698:27:0", + "src": "17742:27:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_fb2c7e49d5ec7ce36fa812cf15ee7fa946942f931d04fe3ae970516007b2a543", @@ -30279,21 +30271,21 @@ "typeString": "literal_string \"Same signature sent twice\"" } ], - "id": 992, + "id": 993, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1386, - 1387 + 1387, + 1388 ], - "referencedDeclaration": 1387, - "src": "17612:7:0", + "referencedDeclaration": 1388, + "src": "17656:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 1001, + "id": 1002, "isConstant": false, "isLValue": false, "isPure": false, @@ -30301,20 +30293,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17612:127:0", + "src": "17656:127:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1002, + "id": 1003, "nodeType": "ExpressionStatement", - "src": "17612:127:0" + "src": "17656:127:0" }, { "expression": { "argumentTypes": null, - "id": 1010, + "id": 1011, "isConstant": false, "isLValue": false, "isPure": false, @@ -30327,26 +30319,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1003, + "id": 1004, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "17753:12:0", + "src": "17797:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 1005, + "id": 1006, "indexExpression": { "argumentTypes": null, - "id": 1004, + "id": 1005, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 906, - "src": "17766:10:0", + "referencedDeclaration": 904, + "src": "17810:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -30357,13 +30349,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17753:24:0", + "src": "17797:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 1006, + "id": 1007, "isConstant": false, "isLValue": true, "isPure": false, @@ -30371,21 +30363,21 @@ "memberName": "voted", "nodeType": "MemberAccess", "referencedDeclaration": 66, - "src": "17753:30:0", + "src": "17797:30:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 1008, + "id": 1009, "indexExpression": { "argumentTypes": null, - "id": 1007, + "id": 1008, "name": "recovered", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 968, - "src": "17784:9:0", + "referencedDeclaration": 969, + "src": "17828:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -30396,7 +30388,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "17753:41:0", + "src": "17797:41:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -30407,14 +30399,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "74727565", - "id": 1009, + "id": 1010, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "17797:4:0", + "src": "17841:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -30422,32 +30414,32 @@ }, "value": "true" }, - "src": "17753:48:0", + "src": "17797:48:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 1011, + "id": 1012, "nodeType": "ExpressionStatement", - "src": "17753:48:0" + "src": "17797:48:0" }, { "expression": { "argumentTypes": null, - "id": 1014, + "id": 1015, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 1012, + "id": 1013, "name": "lastAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 915, - "src": "17815:11:0", + "referencedDeclaration": 931, + "src": "17859:11:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -30457,26 +30449,26 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 1013, + "id": 1014, "name": "recovered", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 968, - "src": "17829:9:0", + "referencedDeclaration": 969, + "src": "17873:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "17815:23:0", + "src": "17859:23:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 1015, + "id": 1016, "nodeType": "ExpressionStatement", - "src": "17815:23:0" + "src": "17859:23:0" } ] }, @@ -30486,19 +30478,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 963, + "id": 964, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 960, + "id": 961, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 957, - "src": "17284:1:0", + "referencedDeclaration": 958, + "src": "17328:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -30510,18 +30502,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 961, + "id": 962, "name": "sigR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 901, - "src": "17288:4:0", + "referencedDeclaration": 899, + "src": "17332:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" } }, - "id": 962, + "id": 963, "isConstant": false, "isLValue": false, "isPure": false, @@ -30529,31 +30521,31 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "17288:11:0", + "src": "17332:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "17284:15:0", + "src": "17328:15:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 1017, + "id": 1018, "initializationExpression": { "assignments": [ - 957 + 958 ], "declarations": [ { "constant": false, - "id": 957, + "id": 958, "name": "i", "nodeType": "VariableDeclaration", - "scope": 1019, - "src": "17272:6:0", + "scope": 1022, + "src": "17316:6:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -30561,10 +30553,10 @@ "typeString": "uint256" }, "typeName": { - "id": 956, + "id": 957, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "17272:4:0", + "src": "17316:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -30574,18 +30566,18 @@ "visibility": "internal" } ], - "id": 959, + "id": 960, "initialValue": { "argumentTypes": null, "hexValue": "30", - "id": 958, + "id": 959, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "17281:1:0", + "src": "17325:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -30594,12 +30586,12 @@ "value": "0" }, "nodeType": "VariableDeclarationStatement", - "src": "17272:10:0" + "src": "17316:10:0" }, "loopExpression": { "expression": { "argumentTypes": null, - "id": 965, + "id": 966, "isConstant": false, "isLValue": false, "isPure": false, @@ -30607,15 +30599,15 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "17301:3:0", + "src": "17345:3:0", "subExpression": { "argumentTypes": null, - "id": 964, + "id": 965, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 957, - "src": "17301:1:0", + "referencedDeclaration": 958, + "src": "17345:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -30626,17 +30618,36 @@ "typeString": "uint256" } }, - "id": 966, + "id": 967, "nodeType": "ExpressionStatement", - "src": "17301:3:0" + "src": "17345:3:0" }, "nodeType": "ForStatement", - "src": "17267:582:0" + "src": "17311:582:0" + }, + { + "expression": { + "argumentTypes": null, + "id": 1019, + "name": "lastAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 931, + "src": "17910:11:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "functionReturnParameters": 914, + "id": 1020, + "nodeType": "Return", + "src": "17903:18:0" } ] }, "documentation": null, - "id": 1019, + "id": 1022, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -30644,16 +30655,16 @@ "name": "verifySignatures", "nodeType": "FunctionDefinition", "parameters": { - "id": 913, + "id": 911, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 898, + "id": 896, "name": "sigV", "nodeType": "VariableDeclaration", - "scope": 1019, - "src": "16367:12:0", + "scope": 1022, + "src": "16392:12:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -30662,19 +30673,19 @@ }, "typeName": { "baseType": { - "id": 896, + "id": 894, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "16367:5:0", + "src": "16392:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, - "id": 897, + "id": 895, "length": null, "nodeType": "ArrayTypeName", - "src": "16367:7:0", + "src": "16392:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_storage_ptr", "typeString": "uint8[]" @@ -30685,11 +30696,11 @@ }, { "constant": false, - "id": 901, + "id": 899, "name": "sigR", "nodeType": "VariableDeclaration", - "scope": 1019, - "src": "16389:14:0", + "scope": 1022, + "src": "16414:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -30698,19 +30709,19 @@ }, "typeName": { "baseType": { - "id": 899, + "id": 897, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "16389:7:0", + "src": "16414:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "id": 900, + "id": 898, "length": null, "nodeType": "ArrayTypeName", - "src": "16389:9:0", + "src": "16414:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -30721,11 +30732,11 @@ }, { "constant": false, - "id": 904, + "id": 902, "name": "sigS", "nodeType": "VariableDeclaration", - "scope": 1019, - "src": "16413:14:0", + "scope": 1022, + "src": "16438:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -30734,19 +30745,19 @@ }, "typeName": { "baseType": { - "id": 902, + "id": 900, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "16413:7:0", + "src": "16438:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "id": 903, + "id": 901, "length": null, "nodeType": "ArrayTypeName", - "src": "16413:9:0", + "src": "16438:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -30757,11 +30768,11 @@ }, { "constant": false, - "id": 906, + "id": 904, "name": "scriptHash", "nodeType": "VariableDeclaration", - "scope": 1019, - "src": "16437:18:0", + "scope": 1022, + "src": "16462:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -30769,10 +30780,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 905, + "id": 903, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "16437:7:0", + "src": "16462:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -30783,11 +30794,11 @@ }, { "constant": false, - "id": 909, + "id": 907, "name": "destinations", "nodeType": "VariableDeclaration", - "scope": 1019, - "src": "16465:22:0", + "scope": 1022, + "src": "16490:22:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -30796,19 +30807,19 @@ }, "typeName": { "baseType": { - "id": 907, + "id": 905, "name": "address", "nodeType": "ElementaryTypeName", - "src": "16465:7:0", + "src": "16490:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 908, + "id": 906, "length": null, "nodeType": "ArrayTypeName", - "src": "16465:9:0", + "src": "16490:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", "typeString": "address[]" @@ -30819,11 +30830,11 @@ }, { "constant": false, - "id": 912, + "id": 910, "name": "amounts", "nodeType": "VariableDeclaration", - "scope": 1019, - "src": "16497:16:0", + "scope": 1022, + "src": "16522:16:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -30832,19 +30843,19 @@ }, "typeName": { "baseType": { - "id": 910, + "id": 908, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "16497:7:0", + "src": "16522:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 911, + "id": 909, "length": null, "nodeType": "ArrayTypeName", - "src": "16497:9:0", + "src": "16522:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -30854,20 +30865,20 @@ "visibility": "internal" } ], - "src": "16357:162:0" + "src": "16382:162:0" }, "payable": false, "returnParameters": { - "id": 916, + "id": 914, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 915, - "name": "lastAddress", + "id": 913, + "name": "", "nodeType": "VariableDeclaration", - "scope": 1019, - "src": "16553:19:0", + "scope": 1022, + "src": "16578:7:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -30875,10 +30886,10 @@ "typeString": "address" }, "typeName": { - "id": 914, + "id": 912, "name": "address", "nodeType": "ElementaryTypeName", - "src": "16553:7:0", + "src": "16578:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -30888,32 +30899,32 @@ "visibility": "internal" } ], - "src": "16552:21:0" + "src": "16577:9:0" }, - "scope": 1210, - "src": "16332:1523:0", + "scope": 1211, + "src": "16357:1571:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "private" }, { "body": { - "id": 1052, + "id": 1053, "nodeType": "Block", - "src": "18017:171:0", + "src": "18082:168:0", "statements": [ { "assignments": [ - 1029 + 1032 ], "declarations": [ { "constant": false, - "id": 1029, + "id": 1032, "name": "timeSince", "nodeType": "VariableDeclaration", - "scope": 1053, - "src": "18027:17:0", + "scope": 1054, + "src": "18092:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -30921,10 +30932,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1028, + "id": 1031, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "18027:7:0", + "src": "18092:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -30934,18 +30945,18 @@ "visibility": "internal" } ], - "id": 1034, + "id": 1037, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 1032, + "id": 1035, "name": "lastModified", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1023, - "src": "18055:12:0", + "referencedDeclaration": 1026, + "src": "18120:12:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -30961,32 +30972,32 @@ ], "expression": { "argumentTypes": null, - "id": 1030, + "id": 1033, "name": "now", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1385, - "src": "18047:3:0", + "referencedDeclaration": 1386, + "src": "18112:3:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1031, + "id": 1034, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sub", "nodeType": "MemberAccess", - "referencedDeclaration": 1323, - "src": "18047:7:0", + "referencedDeclaration": 1324, + "src": "18112:7:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 1033, + "id": 1036, "isConstant": false, "isLValue": false, "isPure": false, @@ -30994,291 +31005,264 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18047:21:0", + "src": "18112:21:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "18027:41:0" + "src": "18092:41:0" }, { "expression": { "argumentTypes": null, - "id": 1050, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1035, - "name": "expired", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1026, - "src": "18078:7:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "components": [ - { + "components": [ + { + "argumentTypes": null, + "condition": { "argumentTypes": null, - "condition": { + "commonType": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + "id": 1040, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { "argumentTypes": null, - "commonType": { + "id": 1038, + "name": "timeoutHours", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1024, + "src": "18164:12:0", + "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" - }, - "id": 1038, + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 1039, "isConstant": false, "isLValue": false, - "isPure": false, + "isPure": true, + "kind": "number", "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1036, - "name": "timeoutHours", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1021, - "src": "18102:12:0", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 1037, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18118:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" + "nodeType": "Literal", + "src": "18180:1:0", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" }, - "src": "18102:17:0", + "value": "0" + }, + "src": "18164:17:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1049, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 1042, + "name": "timeSince", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1032, + "src": "18190:9:0", "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, - "falseExpression": { + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1047, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1040, - "name": "timeSince", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1029, - "src": "18128:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "arguments": [ + { + "argumentTypes": null, + "hexValue": "33363030", + "id": 1047, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "18228:4:0", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_3600_by_1", + "typeString": "int_const 3600" + }, + "value": "3600" } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "arguments": [ + ], + "expression": { + "argumentTypes": [ { - "argumentTypes": null, - "hexValue": "33363030", - "id": 1045, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18166:4:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_3600_by_1", - "typeString": "int_const 3600" - }, - "value": "3600" + "typeIdentifier": "t_rational_3600_by_1", + "typeString": "int_const 3600" } ], "expression": { - "argumentTypes": [ + "argumentTypes": null, + "arguments": [ { - "typeIdentifier": "t_rational_3600_by_1", - "typeString": "int_const 3600" + "argumentTypes": null, + "id": 1044, + "name": "timeoutHours", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1024, + "src": "18210:12:0", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } } ], "expression": { - "argumentTypes": null, - "arguments": [ + "argumentTypes": [ { - "argumentTypes": null, - "id": 1042, - "name": "timeoutHours", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1021, - "src": "18148:12:0", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } + "typeIdentifier": "t_uint32", + "typeString": "uint32" } ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - ], - "id": 1041, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "18140:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": "uint256" - }, "id": 1043, "isConstant": false, "isLValue": false, - "isPure": false, - "kind": "typeConversion", + "isPure": true, "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18140:21:0", + "nodeType": "ElementaryTypeNameExpression", + "src": "18202:7:0", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": "uint256" }, - "id": 1044, + "id": 1045, "isConstant": false, "isLValue": false, "isPure": false, + "kind": "typeConversion", "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 1275, - "src": "18140:25:0", + "names": [], + "nodeType": "FunctionCall", + "src": "18202:21:0", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, "id": 1046, "isConstant": false, "isLValue": false, "isPure": false, - "kind": "functionCall", "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18140:31:0", + "memberName": "mul", + "nodeType": "MemberAccess", + "referencedDeclaration": 1276, + "src": "18202:25:0", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "src": "18128:43:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 1048, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "18102:69:0", - "trueExpression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 1039, + "id": 1048, "isConstant": false, "isLValue": false, - "isPure": true, - "kind": "bool", + "isPure": false, + "kind": "functionCall", "lValueRequested": false, - "nodeType": "Literal", - "src": "18122:5:0", - "subdenomination": null, + "names": [], + "nodeType": "FunctionCall", + "src": "18202:31:0", "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } }, + "src": "18190:43:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } + }, + "id": 1050, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "Conditional", + "src": "18164:69:0", + "trueExpression": { + "argumentTypes": null, + "hexValue": "66616c7365", + "id": 1041, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "18184:5:0", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" } - ], - "id": 1049, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "18088:93:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" } - }, - "src": "18078:103:0", + ], + "id": 1051, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "18150:93:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 1051, - "nodeType": "ExpressionStatement", - "src": "18078:103:0" + "functionReturnParameters": 1030, + "id": 1052, + "nodeType": "Return", + "src": "18143:100:0" } ] }, "documentation": null, - "id": 1053, + "id": 1054, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -31286,16 +31270,16 @@ "name": "isTimeLockExpired", "nodeType": "FunctionDefinition", "parameters": { - "id": 1024, + "id": 1027, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1021, + "id": 1024, "name": "timeoutHours", "nodeType": "VariableDeclaration", - "scope": 1053, - "src": "17897:19:0", + "scope": 1054, + "src": "17970:19:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -31303,10 +31287,10 @@ "typeString": "uint32" }, "typeName": { - "id": 1020, + "id": 1023, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "17897:6:0", + "src": "17970:6:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -31317,11 +31301,11 @@ }, { "constant": false, - "id": 1023, + "id": 1026, "name": "lastModified", "nodeType": "VariableDeclaration", - "scope": 1053, - "src": "17926:20:0", + "scope": 1054, + "src": "17999:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -31329,10 +31313,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1022, + "id": 1025, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "17926:7:0", + "src": "17999:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -31342,20 +31326,20 @@ "visibility": "internal" } ], - "src": "17887:65:0" + "src": "17960:65:0" }, "payable": false, "returnParameters": { - "id": 1027, + "id": 1030, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1026, - "name": "expired", + "id": 1029, + "name": "", "nodeType": "VariableDeclaration", - "scope": 1053, - "src": "17999:12:0", + "scope": 1054, + "src": "18072:4:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -31363,10 +31347,10 @@ "typeString": "bool" }, "typeName": { - "id": 1025, + "id": 1028, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "17999:4:0", + "src": "18072:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -31376,19 +31360,19 @@ "visibility": "internal" } ], - "src": "17998:14:0" + "src": "18071:6:0" }, - "scope": 1210, - "src": "17861:327:0", + "scope": 1211, + "src": "17934:316:0", "stateMutability": "view", "superFunction": null, "visibility": "private" }, { "body": { - "id": 1208, + "id": 1209, "nodeType": "Block", - "src": "18602:2308:0", + "src": "18664:2308:0", "statements": [ { "expression": { @@ -31400,19 +31384,19 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 1079, + "id": 1080, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1077, + "id": 1078, "name": "buyer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1055, - "src": "18628:5:0", + "referencedDeclaration": 1056, + "src": "18690:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -31422,18 +31406,18 @@ "operator": "!=", "rightExpression": { "argumentTypes": null, - "id": 1078, + "id": 1079, "name": "seller", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1057, - "src": "18637:6:0", + "referencedDeclaration": 1058, + "src": "18699:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "18628:15:0", + "src": "18690:15:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -31442,14 +31426,14 @@ { "argumentTypes": null, "hexValue": "427579657220616e642073656c6c6572206172652073616d65", - "id": 1080, + "id": 1081, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "18645:27:0", + "src": "18707:27:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_6141441751234d42e9a73d96317794195c7ff57b8f16ac15725a10f10763f824", @@ -31469,21 +31453,21 @@ "typeString": "literal_string \"Buyer and seller are same\"" } ], - "id": 1076, + "id": 1077, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1386, - 1387 + 1387, + 1388 ], - "referencedDeclaration": 1387, - "src": "18620:7:0", + "referencedDeclaration": 1388, + "src": "18682:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 1081, + "id": 1082, "isConstant": false, "isLValue": false, "isPure": false, @@ -31491,15 +31475,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18620:53:0", + "src": "18682:53:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1082, + "id": 1083, "nodeType": "ExpressionStatement", - "src": "18620:53:0" + "src": "18682:53:0" }, { "expression": { @@ -31511,19 +31495,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1086, + "id": 1087, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1084, + "id": 1085, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1067, - "src": "18740:5:0", + "referencedDeclaration": 1068, + "src": "18802:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -31534,14 +31518,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 1085, + "id": 1086, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "18748:1:0", + "src": "18810:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -31549,7 +31533,7 @@ }, "value": "0" }, - "src": "18740:9:0", + "src": "18802:9:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -31558,14 +31542,14 @@ { "argumentTypes": null, "hexValue": "56616c7565207061737365642069732030", - "id": 1087, + "id": 1088, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "18751:19:0", + "src": "18813:19:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_3686f87c4804517ea83323ccf1a3b5b5ff52ed144b19e6fc56abe8fcd182e747", @@ -31585,21 +31569,21 @@ "typeString": "literal_string \"Value passed is 0\"" } ], - "id": 1083, + "id": 1084, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1386, - 1387 + 1387, + 1388 ], - "referencedDeclaration": 1387, - "src": "18732:7:0", + "referencedDeclaration": 1388, + "src": "18794:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 1088, + "id": 1089, "isConstant": false, "isLValue": false, "isPure": false, @@ -31607,15 +31591,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18732:39:0", + "src": "18794:39:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1089, + "id": 1090, "nodeType": "ExpressionStatement", - "src": "18732:39:0" + "src": "18794:39:0" }, { "expression": { @@ -31627,7 +31611,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 1097, + "id": 1098, "isConstant": false, "isLValue": false, "isPure": false, @@ -31638,19 +31622,19 @@ "typeIdentifier": "t_uint8", "typeString": "uint8" }, - "id": 1093, + "id": 1094, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1091, + "id": 1092, "name": "threshold", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1061, - "src": "18874:9:0", + "referencedDeclaration": 1062, + "src": "18936:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -31661,14 +31645,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 1092, + "id": 1093, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "18886:1:0", + "src": "18948:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -31676,7 +31660,7 @@ }, "value": "0" }, - "src": "18874:13:0", + "src": "18936:13:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -31690,19 +31674,19 @@ "typeIdentifier": "t_uint8", "typeString": "uint8" }, - "id": 1096, + "id": 1097, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1094, + "id": 1095, "name": "threshold", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1061, - "src": "18891:9:0", + "referencedDeclaration": 1062, + "src": "18953:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -31713,14 +31697,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "33", - "id": 1095, + "id": 1096, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "18904:1:0", + "src": "18966:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_3_by_1", @@ -31728,13 +31712,13 @@ }, "value": "3" }, - "src": "18891:14:0", + "src": "18953:14:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "18874:31:0", + "src": "18936:31:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -31743,14 +31727,14 @@ { "argumentTypes": null, "hexValue": "5468726573686f6c642063616e6e6f742062652067726561746572207468616e203320616e64206d7573742062652067726561746572207468616e2030", - "id": 1098, + "id": 1099, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "18920:63:0", + "src": "18982:63:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_351c1d5dfdc4a2b4c61d6f4dbb41a0d2ae70a9c094d3c0add87af24b5dd19c13", @@ -31770,21 +31754,21 @@ "typeString": "literal_string \"Threshold cannot be greater than 3 and must be greater than 0\"" } ], - "id": 1090, + "id": 1091, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1386, - 1387 + 1387, + 1388 ], - "referencedDeclaration": 1387, - "src": "18853:7:0", + "referencedDeclaration": 1388, + "src": "18915:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 1099, + "id": 1100, "isConstant": false, "isLValue": false, "isPure": false, @@ -31792,15 +31776,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18853:140:0", + "src": "18915:140:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1100, + "id": 1101, "nodeType": "ExpressionStatement", - "src": "18853:140:0" + "src": "18915:140:0" }, { "expression": { @@ -31812,7 +31796,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 1110, + "id": 1111, "isConstant": false, "isLValue": false, "isPure": false, @@ -31823,19 +31807,19 @@ "typeIdentifier": "t_uint8", "typeString": "uint8" }, - "id": 1104, + "id": 1105, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1102, + "id": 1103, "name": "threshold", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1061, - "src": "19262:9:0", + "referencedDeclaration": 1062, + "src": "19324:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -31846,14 +31830,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "31", - "id": 1103, + "id": 1104, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "19275:1:0", + "src": "19337:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -31861,7 +31845,7 @@ }, "value": "1" }, - "src": "19262:14:0", + "src": "19324:14:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -31875,19 +31859,19 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 1109, + "id": 1110, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1105, + "id": 1106, "name": "moderator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1059, - "src": "19280:9:0", + "referencedDeclaration": 1060, + "src": "19342:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -31901,14 +31885,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 1107, + "id": 1108, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "19301:1:0", + "src": "19363:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -31924,20 +31908,20 @@ "typeString": "int_const 0" } ], - "id": 1106, + "id": 1107, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "19293:7:0", + "src": "19355:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, - "id": 1108, + "id": 1109, "isConstant": false, "isLValue": false, "isPure": true, @@ -31945,19 +31929,19 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "19293:10:0", + "src": "19355:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "19280:23:0", + "src": "19342:23:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "19262:41:0", + "src": "19324:41:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -31966,14 +31950,14 @@ { "argumentTypes": null, "hexValue": "456974686572207468726573686f6c642073686f756c642062652031206f74686572776973652076616c6964206d6f64657261746f7220616464726573732073686f756c6420626520706173736564", - "id": 1111, + "id": 1112, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "19317:81:0", + "src": "19379:81:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_08dfdd405be5d5023d3f601e2b0a844b246ceb6764817070ff6789d5e1f80050", @@ -31993,21 +31977,21 @@ "typeString": "literal_string \"Either threshold should be 1 otherwise valid moderator address should be passed\"" } ], - "id": 1101, + "id": 1102, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1386, - 1387 + 1387, + 1388 ], - "referencedDeclaration": 1387, - "src": "19241:7:0", + "referencedDeclaration": 1388, + "src": "19303:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 1112, + "id": 1113, "isConstant": false, "isLValue": false, "isPure": false, @@ -32015,15 +31999,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "19241:167:0", + "src": "19303:167:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1113, + "id": 1114, "nodeType": "ExpressionStatement", - "src": "19241:167:0" + "src": "19303:167:0" }, { "expression": { @@ -32035,19 +32019,19 @@ "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, - "id": 1125, + "id": 1126, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1115, + "id": 1116, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1065, - "src": "19440:10:0", + "referencedDeclaration": 1066, + "src": "19502:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -32060,12 +32044,12 @@ "arguments": [ { "argumentTypes": null, - "id": 1117, + "id": 1118, "name": "uniqueId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1069, - "src": "19497:8:0", + "referencedDeclaration": 1070, + "src": "19559:8:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -32073,12 +32057,12 @@ }, { "argumentTypes": null, - "id": 1118, + "id": 1119, "name": "threshold", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1061, - "src": "19523:9:0", + "referencedDeclaration": 1062, + "src": "19585:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -32086,12 +32070,12 @@ }, { "argumentTypes": null, - "id": 1119, + "id": 1120, "name": "timeoutHours", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1063, - "src": "19550:12:0", + "referencedDeclaration": 1064, + "src": "19612:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -32099,12 +32083,12 @@ }, { "argumentTypes": null, - "id": 1120, + "id": 1121, "name": "buyer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1055, - "src": "19580:5:0", + "referencedDeclaration": 1056, + "src": "19642:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -32112,12 +32096,12 @@ }, { "argumentTypes": null, - "id": 1121, + "id": 1122, "name": "seller", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1057, - "src": "19603:6:0", + "referencedDeclaration": 1058, + "src": "19665:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -32125,12 +32109,12 @@ }, { "argumentTypes": null, - "id": 1122, + "id": 1123, "name": "moderator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1059, - "src": "19627:9:0", + "referencedDeclaration": 1060, + "src": "19689:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -32138,12 +32122,12 @@ }, { "argumentTypes": null, - "id": 1123, + "id": 1124, "name": "tokenAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1073, - "src": "19654:12:0", + "referencedDeclaration": 1074, + "src": "19716:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -32181,18 +32165,18 @@ "typeString": "address" } ], - "id": 1116, + "id": 1117, "name": "calculateRedeemScriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 645, - "src": "19454:25:0", + "referencedDeclaration": 637, + "src": "19516:25:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_bytes20_$_t_uint8_$_t_uint32_$_t_address_$_t_address_$_t_address_$_t_address_$returns$_t_bytes32_$", "typeString": "function (bytes20,uint8,uint32,address,address,address,address) view returns (bytes32)" } }, - "id": 1124, + "id": 1125, "isConstant": false, "isLValue": false, "isPure": false, @@ -32200,13 +32184,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "19454:226:0", + "src": "19516:226:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "src": "19440:240:0", + "src": "19502:240:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -32215,14 +32199,14 @@ { "argumentTypes": null, "hexValue": "43616c63756c6174656420736372697074206861736820646f6573206e6f74206d61746368207061737365642073637269707420686173682e", - "id": 1126, + "id": 1127, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "19695:59:0", + "src": "19757:59:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_0c041e0c58e6b0e01d338d852a5abb639065eabeb0aee05e0ce3e5f0e52b4f51", @@ -32242,21 +32226,21 @@ "typeString": "literal_string \"Calculated script hash does not match passed script hash.\"" } ], - "id": 1114, + "id": 1115, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1386, - 1387 + 1387, + 1388 ], - "referencedDeclaration": 1387, - "src": "19419:7:0", + "referencedDeclaration": 1388, + "src": "19481:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 1127, + "id": 1128, "isConstant": false, "isLValue": false, "isPure": false, @@ -32264,20 +32248,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "19419:345:0", + "src": "19481:345:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1128, + "id": 1129, "nodeType": "ExpressionStatement", - "src": "19419:345:0" + "src": "19481:345:0" }, { "expression": { "argumentTypes": null, - "id": 1146, + "id": 1147, "isConstant": false, "isLValue": false, "isPure": false, @@ -32286,26 +32270,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1129, + "id": 1130, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "19775:12:0", + "src": "19837:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 1131, + "id": 1132, "indexExpression": { "argumentTypes": null, - "id": 1130, + "id": 1131, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1065, - "src": "19788:10:0", + "referencedDeclaration": 1066, + "src": "19850:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -32316,7 +32300,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "19775:24:0", + "src": "19837:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -32329,12 +32313,12 @@ "arguments": [ { "argumentTypes": null, - "id": 1133, + "id": 1134, "name": "buyer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1055, - "src": "19835:5:0", + "referencedDeclaration": 1056, + "src": "19897:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -32342,12 +32326,12 @@ }, { "argumentTypes": null, - "id": 1134, + "id": 1135, "name": "seller", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1057, - "src": "19862:6:0", + "referencedDeclaration": 1058, + "src": "19924:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -32355,12 +32339,12 @@ }, { "argumentTypes": null, - "id": 1135, + "id": 1136, "name": "moderator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1059, - "src": "19893:9:0", + "referencedDeclaration": 1060, + "src": "19955:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -32368,12 +32352,12 @@ }, { "argumentTypes": null, - "id": 1136, + "id": 1137, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1067, - "src": "19923:5:0", + "referencedDeclaration": 1068, + "src": "19985:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -32383,18 +32367,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1137, + "id": 1138, "name": "Status", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9, - "src": "19950:6:0", + "src": "20012:6:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_Status_$9_$", "typeString": "type(enum Escrow_v1_0.Status)" } }, - "id": 1138, + "id": 1139, "isConstant": false, "isLValue": false, "isPure": true, @@ -32402,7 +32386,7 @@ "memberName": "FUNDED", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "19950:13:0", + "src": "20012:13:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$9", "typeString": "enum Escrow_v1_0.Status" @@ -32412,18 +32396,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1139, + "id": 1140, "name": "block", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1373, - "src": "19991:5:0", + "referencedDeclaration": 1374, + "src": "20053:5:0", "typeDescriptions": { "typeIdentifier": "t_magic_block", "typeString": "block" } }, - "id": 1140, + "id": 1141, "isConstant": false, "isLValue": false, "isPure": false, @@ -32431,7 +32415,7 @@ "memberName": "timestamp", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "19991:15:0", + "src": "20053:15:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -32439,12 +32423,12 @@ }, { "argumentTypes": null, - "id": 1141, + "id": 1142, "name": "threshold", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1061, - "src": "20031:9:0", + "referencedDeclaration": 1062, + "src": "20093:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -32452,12 +32436,12 @@ }, { "argumentTypes": null, - "id": 1142, + "id": 1143, "name": "timeoutHours", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1063, - "src": "20068:12:0", + "referencedDeclaration": 1064, + "src": "20130:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -32465,12 +32449,12 @@ }, { "argumentTypes": null, - "id": 1143, + "id": 1144, "name": "transactionType", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1071, - "src": "20110:15:0", + "referencedDeclaration": 1072, + "src": "20172:15:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -32478,12 +32462,12 @@ }, { "argumentTypes": null, - "id": 1144, + "id": 1145, "name": "tokenAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1073, - "src": "20152:12:0", + "referencedDeclaration": 1074, + "src": "20214:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -32492,18 +32476,18 @@ ], "expression": { "argumentTypes": null, - "id": 1132, + "id": 1133, "name": "Transaction", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 71, - "src": "19802:11:0", + "src": "19864:11:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_struct$_Transaction_$71_storage_ptr_$", "typeString": "type(struct Escrow_v1_0.Transaction storage pointer)" } }, - "id": 1145, + "id": 1146, "isConstant": false, "isLValue": false, "isPure": false, @@ -32522,26 +32506,26 @@ "tokenAddress" ], "nodeType": "FunctionCall", - "src": "19802:373:0", + "src": "19864:373:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_memory", "typeString": "struct Escrow_v1_0.Transaction memory" } }, - "src": "19775:400:0", + "src": "19837:400:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 1147, + "id": 1148, "nodeType": "ExpressionStatement", - "src": "19775:400:0" + "src": "19837:400:0" }, { "expression": { "argumentTypes": null, - "id": 1155, + "id": 1156, "isConstant": false, "isLValue": false, "isPure": false, @@ -32554,26 +32538,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1148, + "id": 1149, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "20186:12:0", + "src": "20248:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 1150, + "id": 1151, "indexExpression": { "argumentTypes": null, - "id": 1149, + "id": 1150, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1065, - "src": "20199:10:0", + "referencedDeclaration": 1066, + "src": "20261:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -32584,13 +32568,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20186:24:0", + "src": "20248:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 1151, + "id": 1152, "isConstant": false, "isLValue": true, "isPure": false, @@ -32598,21 +32582,21 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "20186:32:0", + "src": "20248:32:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 1153, + "id": 1154, "indexExpression": { "argumentTypes": null, - "id": 1152, + "id": 1153, "name": "seller", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1057, - "src": "20219:6:0", + "referencedDeclaration": 1058, + "src": "20281:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -32623,7 +32607,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "20186:40:0", + "src": "20248:40:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -32634,14 +32618,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "74727565", - "id": 1154, + "id": 1155, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "20229:4:0", + "src": "20291:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -32649,20 +32633,20 @@ }, "value": "true" }, - "src": "20186:47:0", + "src": "20248:47:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 1156, + "id": 1157, "nodeType": "ExpressionStatement", - "src": "20186:47:0" + "src": "20248:47:0" }, { "expression": { "argumentTypes": null, - "id": 1164, + "id": 1165, "isConstant": false, "isLValue": false, "isPure": false, @@ -32675,26 +32659,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1157, + "id": 1158, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "20243:12:0", + "src": "20305:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 1159, + "id": 1160, "indexExpression": { "argumentTypes": null, - "id": 1158, + "id": 1159, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1065, - "src": "20256:10:0", + "referencedDeclaration": 1066, + "src": "20318:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -32705,13 +32689,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20243:24:0", + "src": "20305:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 1160, + "id": 1161, "isConstant": false, "isLValue": true, "isPure": false, @@ -32719,21 +32703,21 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "20243:32:0", + "src": "20305:32:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 1162, + "id": 1163, "indexExpression": { "argumentTypes": null, - "id": 1161, + "id": 1162, "name": "buyer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1055, - "src": "20276:5:0", + "referencedDeclaration": 1056, + "src": "20338:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -32744,7 +32728,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "20243:39:0", + "src": "20305:39:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -32755,14 +32739,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "74727565", - "id": 1163, + "id": 1164, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "20285:4:0", + "src": "20347:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -32770,15 +32754,15 @@ }, "value": "true" }, - "src": "20243:46:0", + "src": "20305:46:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 1165, + "id": 1166, "nodeType": "ExpressionStatement", - "src": "20243:46:0" + "src": "20305:46:0" }, { "expression": { @@ -32786,7 +32770,7 @@ "arguments": [ { "argumentTypes": null, - "id": 1173, + "id": 1174, "isConstant": false, "isLValue": false, "isPure": false, @@ -32794,7 +32778,7 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "20396:44:0", + "src": "20458:44:0", "subExpression": { "argumentTypes": null, "baseExpression": { @@ -32803,26 +32787,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1167, + "id": 1168, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "20397:12:0", + "src": "20459:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 1169, + "id": 1170, "indexExpression": { "argumentTypes": null, - "id": 1168, + "id": 1169, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1065, - "src": "20410:10:0", + "referencedDeclaration": 1066, + "src": "20472:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -32833,13 +32817,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20397:24:0", + "src": "20459:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 1170, + "id": 1171, "isConstant": false, "isLValue": true, "isPure": false, @@ -32847,21 +32831,21 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "20397:32:0", + "src": "20459:32:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 1172, + "id": 1173, "indexExpression": { "argumentTypes": null, - "id": 1171, + "id": 1172, "name": "moderator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1059, - "src": "20430:9:0", + "referencedDeclaration": 1060, + "src": "20492:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -32872,7 +32856,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20397:43:0", + "src": "20459:43:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -32886,14 +32870,14 @@ { "argumentTypes": null, "hexValue": "456974686572206275796572206f722073656c6c657220697320706173736564206173206d6f64657261746f72", - "id": 1174, + "id": 1175, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "20455:47:0", + "src": "20517:47:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_313b391557427937e7bdb85c7561d47c5b9c985755a448dd33a92026ffb38f8d", @@ -32913,21 +32897,21 @@ "typeString": "literal_string \"Either buyer or seller is passed as moderator\"" } ], - "id": 1166, + "id": 1167, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1386, - 1387 + 1387, + 1388 ], - "referencedDeclaration": 1387, - "src": "20375:7:0", + "referencedDeclaration": 1388, + "src": "20437:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 1175, + "id": 1176, "isConstant": false, "isLValue": false, "isPure": false, @@ -32935,15 +32919,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "20375:137:0", + "src": "20437:137:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1176, + "id": 1177, "nodeType": "ExpressionStatement", - "src": "20375:137:0" + "src": "20437:137:0" }, { "condition": { @@ -32952,19 +32936,19 @@ "typeIdentifier": "t_uint8", "typeString": "uint8" }, - "id": 1179, + "id": 1180, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1177, + "id": 1178, "name": "threshold", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1061, - "src": "20672:9:0", + "referencedDeclaration": 1062, + "src": "20734:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -32975,14 +32959,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "31", - "id": 1178, + "id": 1179, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "20684:1:0", + "src": "20746:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -32990,25 +32974,25 @@ }, "value": "1" }, - "src": "20672:13:0", + "src": "20734:13:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, - "id": 1190, + "id": 1191, "nodeType": "IfStatement", - "src": "20668:93:0", + "src": "20730:93:0", "trueBody": { - "id": 1189, + "id": 1190, "nodeType": "Block", - "src": "20686:75:0", + "src": "20748:75:0", "statements": [ { "expression": { "argumentTypes": null, - "id": 1187, + "id": 1188, "isConstant": false, "isLValue": false, "isPure": false, @@ -33021,26 +33005,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1180, + "id": 1181, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "20700:12:0", + "src": "20762:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 1182, + "id": 1183, "indexExpression": { "argumentTypes": null, - "id": 1181, + "id": 1182, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1065, - "src": "20713:10:0", + "referencedDeclaration": 1066, + "src": "20775:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -33051,13 +33035,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20700:24:0", + "src": "20762:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 1183, + "id": 1184, "isConstant": false, "isLValue": true, "isPure": false, @@ -33065,21 +33049,21 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "20700:32:0", + "src": "20762:32:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 1185, + "id": 1186, "indexExpression": { "argumentTypes": null, - "id": 1184, + "id": 1185, "name": "moderator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1059, - "src": "20733:9:0", + "referencedDeclaration": 1060, + "src": "20795:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -33090,7 +33074,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "20700:43:0", + "src": "20762:43:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -33101,14 +33085,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "74727565", - "id": 1186, + "id": 1187, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "20746:4:0", + "src": "20808:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -33116,15 +33100,15 @@ }, "value": "true" }, - "src": "20700:50:0", + "src": "20762:50:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 1188, + "id": 1189, "nodeType": "ExpressionStatement", - "src": "20700:50:0" + "src": "20762:50:0" } ] } @@ -33132,7 +33116,7 @@ { "expression": { "argumentTypes": null, - "id": 1192, + "id": 1193, "isConstant": false, "isLValue": false, "isPure": false, @@ -33140,15 +33124,15 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "20779:18:0", + "src": "20841:18:0", "subExpression": { "argumentTypes": null, - "id": 1191, + "id": 1192, "name": "transactionCount", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 78, - "src": "20779:16:0", + "src": "20841:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -33159,9 +33143,9 @@ "typeString": "uint256" } }, - "id": 1193, + "id": 1194, "nodeType": "ExpressionStatement", - "src": "20779:18:0" + "src": "20841:18:0" }, { "expression": { @@ -33169,12 +33153,12 @@ "arguments": [ { "argumentTypes": null, - "id": 1198, + "id": 1199, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1065, - "src": "20839:10:0", + "referencedDeclaration": 1066, + "src": "20901:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -33192,26 +33176,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1194, + "id": 1195, "name": "partyVsTransaction", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 83, - "src": "20808:18:0", + "src": "20870:18:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_bytes32_$dyn_storage_$", "typeString": "mapping(address => bytes32[] storage ref)" } }, - "id": 1196, + "id": 1197, "indexExpression": { "argumentTypes": null, - "id": 1195, + "id": 1196, "name": "buyer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1055, - "src": "20827:5:0", + "referencedDeclaration": 1056, + "src": "20889:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -33222,13 +33206,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20808:25:0", + "src": "20870:25:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage", "typeString": "bytes32[] storage ref" } }, - "id": 1197, + "id": 1198, "isConstant": false, "isLValue": false, "isPure": false, @@ -33236,13 +33220,13 @@ "memberName": "push", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "20808:30:0", + "src": "20870:30:0", "typeDescriptions": { "typeIdentifier": "t_function_arraypush_nonpayable$_t_bytes32_$returns$_t_uint256_$", "typeString": "function (bytes32) returns (uint256)" } }, - "id": 1199, + "id": 1200, "isConstant": false, "isLValue": false, "isPure": false, @@ -33250,15 +33234,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "20808:42:0", + "src": "20870:42:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1200, + "id": 1201, "nodeType": "ExpressionStatement", - "src": "20808:42:0" + "src": "20870:42:0" }, { "expression": { @@ -33266,12 +33250,12 @@ "arguments": [ { "argumentTypes": null, - "id": 1205, + "id": 1206, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1065, - "src": "20892:10:0", + "referencedDeclaration": 1066, + "src": "20954:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -33289,26 +33273,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1201, + "id": 1202, "name": "partyVsTransaction", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 83, - "src": "20860:18:0", + "src": "20922:18:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_bytes32_$dyn_storage_$", "typeString": "mapping(address => bytes32[] storage ref)" } }, - "id": 1203, + "id": 1204, "indexExpression": { "argumentTypes": null, - "id": 1202, + "id": 1203, "name": "seller", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1057, - "src": "20879:6:0", + "referencedDeclaration": 1058, + "src": "20941:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -33319,13 +33303,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20860:26:0", + "src": "20922:26:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage", "typeString": "bytes32[] storage ref" } }, - "id": 1204, + "id": 1205, "isConstant": false, "isLValue": false, "isPure": false, @@ -33333,13 +33317,13 @@ "memberName": "push", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "20860:31:0", + "src": "20922:31:0", "typeDescriptions": { "typeIdentifier": "t_function_arraypush_nonpayable$_t_bytes32_$returns$_t_uint256_$", "typeString": "function (bytes32) returns (uint256)" } }, - "id": 1206, + "id": 1207, "isConstant": false, "isLValue": false, "isPure": false, @@ -33347,20 +33331,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "20860:43:0", + "src": "20922:43:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1207, + "id": 1208, "nodeType": "ExpressionStatement", - "src": "20860:43:0" + "src": "20922:43:0" } ] }, "documentation": "Private method to add transaction to reduce code redundancy", - "id": 1209, + "id": 1210, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -33368,16 +33352,16 @@ "name": "_addTransaction", "nodeType": "FunctionDefinition", "parameters": { - "id": 1074, + "id": 1075, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1055, + "id": 1056, "name": "buyer", "nodeType": "VariableDeclaration", - "scope": 1209, - "src": "18309:13:0", + "scope": 1210, + "src": "18371:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -33385,10 +33369,10 @@ "typeString": "address" }, "typeName": { - "id": 1054, + "id": 1055, "name": "address", "nodeType": "ElementaryTypeName", - "src": "18309:7:0", + "src": "18371:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -33399,11 +33383,11 @@ }, { "constant": false, - "id": 1057, + "id": 1058, "name": "seller", "nodeType": "VariableDeclaration", - "scope": 1209, - "src": "18332:14:0", + "scope": 1210, + "src": "18394:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -33411,10 +33395,10 @@ "typeString": "address" }, "typeName": { - "id": 1056, + "id": 1057, "name": "address", "nodeType": "ElementaryTypeName", - "src": "18332:7:0", + "src": "18394:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -33425,11 +33409,11 @@ }, { "constant": false, - "id": 1059, + "id": 1060, "name": "moderator", "nodeType": "VariableDeclaration", - "scope": 1209, - "src": "18356:17:0", + "scope": 1210, + "src": "18418:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -33437,10 +33421,10 @@ "typeString": "address" }, "typeName": { - "id": 1058, + "id": 1059, "name": "address", "nodeType": "ElementaryTypeName", - "src": "18356:7:0", + "src": "18418:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -33451,11 +33435,11 @@ }, { "constant": false, - "id": 1061, + "id": 1062, "name": "threshold", "nodeType": "VariableDeclaration", - "scope": 1209, - "src": "18383:15:0", + "scope": 1210, + "src": "18445:15:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -33463,10 +33447,10 @@ "typeString": "uint8" }, "typeName": { - "id": 1060, + "id": 1061, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "18383:5:0", + "src": "18445:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -33477,11 +33461,11 @@ }, { "constant": false, - "id": 1063, + "id": 1064, "name": "timeoutHours", "nodeType": "VariableDeclaration", - "scope": 1209, - "src": "18408:19:0", + "scope": 1210, + "src": "18470:19:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -33489,10 +33473,10 @@ "typeString": "uint32" }, "typeName": { - "id": 1062, + "id": 1063, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "18408:6:0", + "src": "18470:6:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -33503,11 +33487,11 @@ }, { "constant": false, - "id": 1065, + "id": 1066, "name": "scriptHash", "nodeType": "VariableDeclaration", - "scope": 1209, - "src": "18437:18:0", + "scope": 1210, + "src": "18499:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -33515,10 +33499,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 1064, + "id": 1065, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "18437:7:0", + "src": "18499:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -33529,11 +33513,11 @@ }, { "constant": false, - "id": 1067, + "id": 1068, "name": "value", "nodeType": "VariableDeclaration", - "scope": 1209, - "src": "18465:13:0", + "scope": 1210, + "src": "18527:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -33541,10 +33525,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1066, + "id": 1067, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "18465:7:0", + "src": "18527:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -33555,11 +33539,11 @@ }, { "constant": false, - "id": 1069, + "id": 1070, "name": "uniqueId", "nodeType": "VariableDeclaration", - "scope": 1209, - "src": "18488:16:0", + "scope": 1210, + "src": "18550:16:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -33567,10 +33551,10 @@ "typeString": "bytes20" }, "typeName": { - "id": 1068, + "id": 1069, "name": "bytes20", "nodeType": "ElementaryTypeName", - "src": "18488:7:0", + "src": "18550:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -33581,11 +33565,11 @@ }, { "constant": false, - "id": 1071, + "id": 1072, "name": "transactionType", "nodeType": "VariableDeclaration", - "scope": 1209, - "src": "18514:31:0", + "scope": 1210, + "src": "18576:31:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -33594,11 +33578,11 @@ }, "typeName": { "contractScope": null, - "id": 1070, + "id": 1071, "name": "TransactionType", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 12, - "src": "18514:15:0", + "src": "18576:15:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -33609,11 +33593,11 @@ }, { "constant": false, - "id": 1073, + "id": 1074, "name": "tokenAddress", "nodeType": "VariableDeclaration", - "scope": 1209, - "src": "18555:20:0", + "scope": 1210, + "src": "18617:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -33621,10 +33605,10 @@ "typeString": "address" }, "typeName": { - "id": 1072, + "id": 1073, "name": "address", "nodeType": "ElementaryTypeName", - "src": "18555:7:0", + "src": "18617:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -33634,27 +33618,27 @@ "visibility": "internal" } ], - "src": "18299:282:0" + "src": "18361:282:0" }, "payable": false, "returnParameters": { - "id": 1075, + "id": 1076, "nodeType": "ParameterList", "parameters": [], - "src": "18602:0:0" + "src": "18664:0:0" }, - "scope": 1210, - "src": "18275:2635:0", + "scope": 1211, + "src": "18337:2635:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "private" } ], - "scope": 1211, - "src": "460:20452:0" + "scope": 1212, + "src": "460:20514:0" } ], - "src": "0:20913:0" + "src": "0:20975:0" }, "compiler": { "name": "solc", @@ -33662,5 +33646,5 @@ }, "networks": {}, "schemaVersion": "2.0.1", - "updatedAt": "2018-11-19T10:58:56.179Z" + "updatedAt": "2018-11-19T11:27:19.763Z" } \ No newline at end of file diff --git a/build/contracts/ITokenContract.json b/build/contracts/ITokenContract.json index 522dd72..3e6d6b8 100644 --- a/build/contracts/ITokenContract.json +++ b/build/contracts/ITokenContract.json @@ -81,14 +81,14 @@ "absolutePath": "/home/sameep/freelancing-projects/toptal/open baazar/publicRepo/smart-contracts/contracts/token/ITokenContract.sol", "exportedSymbols": { "ITokenContract": [ - 1240 + 1241 ] }, - "id": 1241, + "id": 1242, "nodeType": "SourceUnit", "nodes": [ { - "id": 1212, + "id": 1213, "literals": [ "solidity", "0.4", @@ -103,9 +103,9 @@ "contractKind": "interface", "documentation": null, "fullyImplemented": false, - "id": 1240, + "id": 1241, "linearizedBaseContracts": [ - 1240 + 1241 ], "name": "ITokenContract", "nodeType": "ContractDefinition", @@ -113,7 +113,7 @@ { "body": null, "documentation": null, - "id": 1219, + "id": 1220, "implemented": false, "isConstructor": false, "isDeclaredConst": true, @@ -121,15 +121,15 @@ "name": "balanceOf", "nodeType": "FunctionDefinition", "parameters": { - "id": 1215, + "id": 1216, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1214, + "id": 1215, "name": "_owner", "nodeType": "VariableDeclaration", - "scope": 1219, + "scope": 1220, "src": "75:14:1", "stateVariable": false, "storageLocation": "default", @@ -138,7 +138,7 @@ "typeString": "address" }, "typeName": { - "id": 1213, + "id": 1214, "name": "address", "nodeType": "ElementaryTypeName", "src": "75:7:1", @@ -155,15 +155,15 @@ }, "payable": false, "returnParameters": { - "id": 1218, + "id": 1219, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1217, + "id": 1218, "name": "balance", "nodeType": "VariableDeclaration", - "scope": 1219, + "scope": 1220, "src": "114:15:1", "stateVariable": false, "storageLocation": "default", @@ -172,7 +172,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1216, + "id": 1217, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "114:7:1", @@ -187,7 +187,7 @@ ], "src": "113:17:1" }, - "scope": 1240, + "scope": 1241, "src": "56:75:1", "stateMutability": "view", "superFunction": null, @@ -196,7 +196,7 @@ { "body": null, "documentation": null, - "id": 1228, + "id": 1229, "implemented": false, "isConstructor": false, "isDeclaredConst": false, @@ -204,15 +204,15 @@ "name": "transfer", "nodeType": "FunctionDefinition", "parameters": { - "id": 1224, + "id": 1225, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1221, + "id": 1222, "name": "_to", "nodeType": "VariableDeclaration", - "scope": 1228, + "scope": 1229, "src": "166:11:1", "stateVariable": false, "storageLocation": "default", @@ -221,7 +221,7 @@ "typeString": "address" }, "typeName": { - "id": 1220, + "id": 1221, "name": "address", "nodeType": "ElementaryTypeName", "src": "166:7:1", @@ -235,10 +235,10 @@ }, { "constant": false, - "id": 1223, + "id": 1224, "name": "_amount", "nodeType": "VariableDeclaration", - "scope": 1228, + "scope": 1229, "src": "188:15:1", "stateVariable": false, "storageLocation": "default", @@ -247,7 +247,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1222, + "id": 1223, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "188:7:1", @@ -264,15 +264,15 @@ }, "payable": false, "returnParameters": { - "id": 1227, + "id": 1228, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1226, + "id": 1227, "name": "success", "nodeType": "VariableDeclaration", - "scope": 1228, + "scope": 1229, "src": "245:12:1", "stateVariable": false, "storageLocation": "default", @@ -281,7 +281,7 @@ "typeString": "bool" }, "typeName": { - "id": 1225, + "id": 1226, "name": "bool", "nodeType": "ElementaryTypeName", "src": "245:4:1", @@ -296,7 +296,7 @@ ], "src": "244:14:1" }, - "scope": 1240, + "scope": 1241, "src": "139:120:1", "stateMutability": "nonpayable", "superFunction": null, @@ -305,7 +305,7 @@ { "body": null, "documentation": null, - "id": 1239, + "id": 1240, "implemented": false, "isConstructor": false, "isDeclaredConst": false, @@ -313,15 +313,15 @@ "name": "transferFrom", "nodeType": "FunctionDefinition", "parameters": { - "id": 1235, + "id": 1236, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1230, + "id": 1231, "name": "_from", "nodeType": "VariableDeclaration", - "scope": 1239, + "scope": 1240, "src": "296:13:1", "stateVariable": false, "storageLocation": "default", @@ -330,7 +330,7 @@ "typeString": "address" }, "typeName": { - "id": 1229, + "id": 1230, "name": "address", "nodeType": "ElementaryTypeName", "src": "296:7:1", @@ -344,10 +344,10 @@ }, { "constant": false, - "id": 1232, + "id": 1233, "name": "_to", "nodeType": "VariableDeclaration", - "scope": 1239, + "scope": 1240, "src": "320:11:1", "stateVariable": false, "storageLocation": "default", @@ -356,7 +356,7 @@ "typeString": "address" }, "typeName": { - "id": 1231, + "id": 1232, "name": "address", "nodeType": "ElementaryTypeName", "src": "320:7:1", @@ -370,10 +370,10 @@ }, { "constant": false, - "id": 1234, + "id": 1235, "name": "_amount", "nodeType": "VariableDeclaration", - "scope": 1239, + "scope": 1240, "src": "342:15:1", "stateVariable": false, "storageLocation": "default", @@ -382,7 +382,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1233, + "id": 1234, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "342:7:1", @@ -399,15 +399,15 @@ }, "payable": false, "returnParameters": { - "id": 1238, + "id": 1239, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1237, + "id": 1238, "name": "success", "nodeType": "VariableDeclaration", - "scope": 1239, + "scope": 1240, "src": "400:12:1", "stateVariable": false, "storageLocation": "default", @@ -416,7 +416,7 @@ "typeString": "bool" }, "typeName": { - "id": 1236, + "id": 1237, "name": "bool", "nodeType": "ElementaryTypeName", "src": "400:4:1", @@ -431,14 +431,14 @@ ], "src": "399:14:1" }, - "scope": 1240, + "scope": 1241, "src": "265:149:1", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" } ], - "scope": 1241, + "scope": 1242, "src": "25:391:1" } ], @@ -448,14 +448,14 @@ "absolutePath": "/home/sameep/freelancing-projects/toptal/open baazar/publicRepo/smart-contracts/contracts/token/ITokenContract.sol", "exportedSymbols": { "ITokenContract": [ - 1240 + 1241 ] }, - "id": 1241, + "id": 1242, "nodeType": "SourceUnit", "nodes": [ { - "id": 1212, + "id": 1213, "literals": [ "solidity", "0.4", @@ -470,9 +470,9 @@ "contractKind": "interface", "documentation": null, "fullyImplemented": false, - "id": 1240, + "id": 1241, "linearizedBaseContracts": [ - 1240 + 1241 ], "name": "ITokenContract", "nodeType": "ContractDefinition", @@ -480,7 +480,7 @@ { "body": null, "documentation": null, - "id": 1219, + "id": 1220, "implemented": false, "isConstructor": false, "isDeclaredConst": true, @@ -488,15 +488,15 @@ "name": "balanceOf", "nodeType": "FunctionDefinition", "parameters": { - "id": 1215, + "id": 1216, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1214, + "id": 1215, "name": "_owner", "nodeType": "VariableDeclaration", - "scope": 1219, + "scope": 1220, "src": "75:14:1", "stateVariable": false, "storageLocation": "default", @@ -505,7 +505,7 @@ "typeString": "address" }, "typeName": { - "id": 1213, + "id": 1214, "name": "address", "nodeType": "ElementaryTypeName", "src": "75:7:1", @@ -522,15 +522,15 @@ }, "payable": false, "returnParameters": { - "id": 1218, + "id": 1219, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1217, + "id": 1218, "name": "balance", "nodeType": "VariableDeclaration", - "scope": 1219, + "scope": 1220, "src": "114:15:1", "stateVariable": false, "storageLocation": "default", @@ -539,7 +539,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1216, + "id": 1217, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "114:7:1", @@ -554,7 +554,7 @@ ], "src": "113:17:1" }, - "scope": 1240, + "scope": 1241, "src": "56:75:1", "stateMutability": "view", "superFunction": null, @@ -563,7 +563,7 @@ { "body": null, "documentation": null, - "id": 1228, + "id": 1229, "implemented": false, "isConstructor": false, "isDeclaredConst": false, @@ -571,15 +571,15 @@ "name": "transfer", "nodeType": "FunctionDefinition", "parameters": { - "id": 1224, + "id": 1225, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1221, + "id": 1222, "name": "_to", "nodeType": "VariableDeclaration", - "scope": 1228, + "scope": 1229, "src": "166:11:1", "stateVariable": false, "storageLocation": "default", @@ -588,7 +588,7 @@ "typeString": "address" }, "typeName": { - "id": 1220, + "id": 1221, "name": "address", "nodeType": "ElementaryTypeName", "src": "166:7:1", @@ -602,10 +602,10 @@ }, { "constant": false, - "id": 1223, + "id": 1224, "name": "_amount", "nodeType": "VariableDeclaration", - "scope": 1228, + "scope": 1229, "src": "188:15:1", "stateVariable": false, "storageLocation": "default", @@ -614,7 +614,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1222, + "id": 1223, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "188:7:1", @@ -631,15 +631,15 @@ }, "payable": false, "returnParameters": { - "id": 1227, + "id": 1228, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1226, + "id": 1227, "name": "success", "nodeType": "VariableDeclaration", - "scope": 1228, + "scope": 1229, "src": "245:12:1", "stateVariable": false, "storageLocation": "default", @@ -648,7 +648,7 @@ "typeString": "bool" }, "typeName": { - "id": 1225, + "id": 1226, "name": "bool", "nodeType": "ElementaryTypeName", "src": "245:4:1", @@ -663,7 +663,7 @@ ], "src": "244:14:1" }, - "scope": 1240, + "scope": 1241, "src": "139:120:1", "stateMutability": "nonpayable", "superFunction": null, @@ -672,7 +672,7 @@ { "body": null, "documentation": null, - "id": 1239, + "id": 1240, "implemented": false, "isConstructor": false, "isDeclaredConst": false, @@ -680,15 +680,15 @@ "name": "transferFrom", "nodeType": "FunctionDefinition", "parameters": { - "id": 1235, + "id": 1236, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1230, + "id": 1231, "name": "_from", "nodeType": "VariableDeclaration", - "scope": 1239, + "scope": 1240, "src": "296:13:1", "stateVariable": false, "storageLocation": "default", @@ -697,7 +697,7 @@ "typeString": "address" }, "typeName": { - "id": 1229, + "id": 1230, "name": "address", "nodeType": "ElementaryTypeName", "src": "296:7:1", @@ -711,10 +711,10 @@ }, { "constant": false, - "id": 1232, + "id": 1233, "name": "_to", "nodeType": "VariableDeclaration", - "scope": 1239, + "scope": 1240, "src": "320:11:1", "stateVariable": false, "storageLocation": "default", @@ -723,7 +723,7 @@ "typeString": "address" }, "typeName": { - "id": 1231, + "id": 1232, "name": "address", "nodeType": "ElementaryTypeName", "src": "320:7:1", @@ -737,10 +737,10 @@ }, { "constant": false, - "id": 1234, + "id": 1235, "name": "_amount", "nodeType": "VariableDeclaration", - "scope": 1239, + "scope": 1240, "src": "342:15:1", "stateVariable": false, "storageLocation": "default", @@ -749,7 +749,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1233, + "id": 1234, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "342:7:1", @@ -766,15 +766,15 @@ }, "payable": false, "returnParameters": { - "id": 1238, + "id": 1239, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1237, + "id": 1238, "name": "success", "nodeType": "VariableDeclaration", - "scope": 1239, + "scope": 1240, "src": "400:12:1", "stateVariable": false, "storageLocation": "default", @@ -783,7 +783,7 @@ "typeString": "bool" }, "typeName": { - "id": 1236, + "id": 1237, "name": "bool", "nodeType": "ElementaryTypeName", "src": "400:4:1", @@ -798,14 +798,14 @@ ], "src": "399:14:1" }, - "scope": 1240, + "scope": 1241, "src": "265:149:1", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" } ], - "scope": 1241, + "scope": 1242, "src": "25:391:1" } ], @@ -817,5 +817,5 @@ }, "networks": {}, "schemaVersion": "2.0.1", - "updatedAt": "2018-11-19T10:58:56.170Z" + "updatedAt": "2018-11-19T11:27:19.744Z" } \ No newline at end of file diff --git a/build/contracts/SafeMath.json b/build/contracts/SafeMath.json index f31f95a..079aa69 100644 --- a/build/contracts/SafeMath.json +++ b/build/contracts/SafeMath.json @@ -11,14 +11,14 @@ "absolutePath": "openzeppelin-solidity/contracts/math/SafeMath.sol", "exportedSymbols": { "SafeMath": [ - 1368 + 1369 ] }, - "id": 1369, + "id": 1370, "nodeType": "SourceUnit", "nodes": [ { - "id": 1242, + "id": 1243, "literals": [ "solidity", "^", @@ -34,16 +34,16 @@ "contractKind": "library", "documentation": "@title SafeMath\n@dev Math operations with safety checks that revert on error", "fullyImplemented": true, - "id": 1368, + "id": 1369, "linearizedBaseContracts": [ - 1368 + 1369 ], "name": "SafeMath", "nodeType": "ContractDefinition", "nodes": [ { "body": { - "id": 1274, + "id": 1275, "nodeType": "Block", "src": "271:314:2", "statements": [ @@ -54,18 +54,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1253, + "id": 1254, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1251, + "id": 1252, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1244, + "referencedDeclaration": 1245, "src": "486:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -77,7 +77,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 1252, + "id": 1253, "isConstant": false, "isLValue": false, "isPure": true, @@ -99,11 +99,11 @@ } }, "falseBody": null, - "id": 1257, + "id": 1258, "nodeType": "IfStatement", "src": "482:35:2", "trueBody": { - "id": 1256, + "id": 1257, "nodeType": "Block", "src": "494:23:2", "statements": [ @@ -111,7 +111,7 @@ "expression": { "argumentTypes": null, "hexValue": "30", - "id": 1254, + "id": 1255, "isConstant": false, "isLValue": false, "isPure": true, @@ -126,8 +126,8 @@ }, "value": "0" }, - "functionReturnParameters": 1250, - "id": 1255, + "functionReturnParameters": 1251, + "id": 1256, "nodeType": "Return", "src": "502:8:2" } @@ -136,15 +136,15 @@ }, { "assignments": [ - 1259 + 1260 ], "declarations": [ { "constant": false, - "id": 1259, + "id": 1260, "name": "c", "nodeType": "VariableDeclaration", - "scope": 1275, + "scope": 1276, "src": "523:9:2", "stateVariable": false, "storageLocation": "default", @@ -153,7 +153,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1258, + "id": 1259, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "523:7:2", @@ -166,25 +166,25 @@ "visibility": "internal" } ], - "id": 1263, + "id": 1264, "initialValue": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1262, + "id": 1263, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1260, + "id": 1261, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1244, + "referencedDeclaration": 1245, "src": "535:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -195,11 +195,11 @@ "operator": "*", "rightExpression": { "argumentTypes": null, - "id": 1261, + "id": 1262, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1246, + "referencedDeclaration": 1247, "src": "539:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -225,7 +225,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1269, + "id": 1270, "isConstant": false, "isLValue": false, "isPure": false, @@ -236,18 +236,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1267, + "id": 1268, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1265, + "id": 1266, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1259, + "referencedDeclaration": 1260, "src": "554:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -258,11 +258,11 @@ "operator": "/", "rightExpression": { "argumentTypes": null, - "id": 1266, + "id": 1267, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1244, + "referencedDeclaration": 1245, "src": "558:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -279,11 +279,11 @@ "operator": "==", "rightExpression": { "argumentTypes": null, - "id": 1268, + "id": 1269, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1246, + "referencedDeclaration": 1247, "src": "563:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -304,21 +304,21 @@ "typeString": "bool" } ], - "id": 1264, + "id": 1265, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1386, - 1387 + 1387, + 1388 ], - "referencedDeclaration": 1386, + "referencedDeclaration": 1387, "src": "546:7:2", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 1270, + "id": 1271, "isConstant": false, "isLValue": false, "isPure": false, @@ -332,33 +332,33 @@ "typeString": "tuple()" } }, - "id": 1271, + "id": 1272, "nodeType": "ExpressionStatement", "src": "546:19:2" }, { "expression": { "argumentTypes": null, - "id": 1272, + "id": 1273, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1259, + "referencedDeclaration": 1260, "src": "579:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 1250, - "id": 1273, + "functionReturnParameters": 1251, + "id": 1274, "nodeType": "Return", "src": "572:8:2" } ] }, "documentation": "@dev Multiplies two numbers, reverts on overflow.", - "id": 1275, + "id": 1276, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -366,15 +366,15 @@ "name": "mul", "nodeType": "FunctionDefinition", "parameters": { - "id": 1247, + "id": 1248, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1244, + "id": 1245, "name": "a", "nodeType": "VariableDeclaration", - "scope": 1275, + "scope": 1276, "src": "217:9:2", "stateVariable": false, "storageLocation": "default", @@ -383,7 +383,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1243, + "id": 1244, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "217:7:2", @@ -397,10 +397,10 @@ }, { "constant": false, - "id": 1246, + "id": 1247, "name": "b", "nodeType": "VariableDeclaration", - "scope": 1275, + "scope": 1276, "src": "228:9:2", "stateVariable": false, "storageLocation": "default", @@ -409,7 +409,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1245, + "id": 1246, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "228:7:2", @@ -426,15 +426,15 @@ }, "payable": false, "returnParameters": { - "id": 1250, + "id": 1251, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1249, + "id": 1250, "name": "", "nodeType": "VariableDeclaration", - "scope": 1275, + "scope": 1276, "src": "262:7:2", "stateVariable": false, "storageLocation": "default", @@ -443,7 +443,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1248, + "id": 1249, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "262:7:2", @@ -458,7 +458,7 @@ ], "src": "261:9:2" }, - "scope": 1368, + "scope": 1369, "src": "204:381:2", "stateMutability": "pure", "superFunction": null, @@ -466,7 +466,7 @@ }, { "body": { - "id": 1298, + "id": 1299, "nodeType": "Block", "src": "762:203:2", "statements": [ @@ -480,18 +480,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1287, + "id": 1288, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1285, + "id": 1286, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1279, + "referencedDeclaration": 1280, "src": "776:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -503,7 +503,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 1286, + "id": 1287, "isConstant": false, "isLValue": false, "isPure": true, @@ -532,21 +532,21 @@ "typeString": "bool" } ], - "id": 1284, + "id": 1285, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1386, - 1387 + 1387, + 1388 ], - "referencedDeclaration": 1386, + "referencedDeclaration": 1387, "src": "768:7:2", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 1288, + "id": 1289, "isConstant": false, "isLValue": false, "isPure": false, @@ -560,21 +560,21 @@ "typeString": "tuple()" } }, - "id": 1289, + "id": 1290, "nodeType": "ExpressionStatement", "src": "768:14:2" }, { "assignments": [ - 1291 + 1292 ], "declarations": [ { "constant": false, - "id": 1291, + "id": 1292, "name": "c", "nodeType": "VariableDeclaration", - "scope": 1299, + "scope": 1300, "src": "846:9:2", "stateVariable": false, "storageLocation": "default", @@ -583,7 +583,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1290, + "id": 1291, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "846:7:2", @@ -596,25 +596,25 @@ "visibility": "internal" } ], - "id": 1295, + "id": 1296, "initialValue": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1294, + "id": 1295, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1292, + "id": 1293, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1277, + "referencedDeclaration": 1278, "src": "858:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -625,11 +625,11 @@ "operator": "/", "rightExpression": { "argumentTypes": null, - "id": 1293, + "id": 1294, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1279, + "referencedDeclaration": 1280, "src": "862:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -648,26 +648,26 @@ { "expression": { "argumentTypes": null, - "id": 1296, + "id": 1297, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1291, + "referencedDeclaration": 1292, "src": "959:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 1283, - "id": 1297, + "functionReturnParameters": 1284, + "id": 1298, "nodeType": "Return", "src": "952:8:2" } ] }, "documentation": "@dev Integer division of two numbers truncating the quotient, reverts on division by zero.", - "id": 1299, + "id": 1300, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -675,15 +675,15 @@ "name": "div", "nodeType": "FunctionDefinition", "parameters": { - "id": 1280, + "id": 1281, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1277, + "id": 1278, "name": "a", "nodeType": "VariableDeclaration", - "scope": 1299, + "scope": 1300, "src": "708:9:2", "stateVariable": false, "storageLocation": "default", @@ -692,7 +692,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1276, + "id": 1277, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "708:7:2", @@ -706,10 +706,10 @@ }, { "constant": false, - "id": 1279, + "id": 1280, "name": "b", "nodeType": "VariableDeclaration", - "scope": 1299, + "scope": 1300, "src": "719:9:2", "stateVariable": false, "storageLocation": "default", @@ -718,7 +718,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1278, + "id": 1279, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "719:7:2", @@ -735,15 +735,15 @@ }, "payable": false, "returnParameters": { - "id": 1283, + "id": 1284, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1282, + "id": 1283, "name": "", "nodeType": "VariableDeclaration", - "scope": 1299, + "scope": 1300, "src": "753:7:2", "stateVariable": false, "storageLocation": "default", @@ -752,7 +752,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1281, + "id": 1282, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "753:7:2", @@ -767,7 +767,7 @@ ], "src": "752:9:2" }, - "scope": 1368, + "scope": 1369, "src": "695:270:2", "stateMutability": "pure", "superFunction": null, @@ -775,7 +775,7 @@ }, { "body": { - "id": 1322, + "id": 1323, "nodeType": "Block", "src": "1145:64:2", "statements": [ @@ -789,18 +789,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1311, + "id": 1312, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1309, + "id": 1310, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1303, + "referencedDeclaration": 1304, "src": "1159:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -811,11 +811,11 @@ "operator": "<=", "rightExpression": { "argumentTypes": null, - "id": 1310, + "id": 1311, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1301, + "referencedDeclaration": 1302, "src": "1164:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -836,21 +836,21 @@ "typeString": "bool" } ], - "id": 1308, + "id": 1309, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1386, - 1387 + 1387, + 1388 ], - "referencedDeclaration": 1386, + "referencedDeclaration": 1387, "src": "1151:7:2", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 1312, + "id": 1313, "isConstant": false, "isLValue": false, "isPure": false, @@ -864,21 +864,21 @@ "typeString": "tuple()" } }, - "id": 1313, + "id": 1314, "nodeType": "ExpressionStatement", "src": "1151:15:2" }, { "assignments": [ - 1315 + 1316 ], "declarations": [ { "constant": false, - "id": 1315, + "id": 1316, "name": "c", "nodeType": "VariableDeclaration", - "scope": 1323, + "scope": 1324, "src": "1172:9:2", "stateVariable": false, "storageLocation": "default", @@ -887,7 +887,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1314, + "id": 1315, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1172:7:2", @@ -900,25 +900,25 @@ "visibility": "internal" } ], - "id": 1319, + "id": 1320, "initialValue": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1318, + "id": 1319, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1316, + "id": 1317, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1301, + "referencedDeclaration": 1302, "src": "1184:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -929,11 +929,11 @@ "operator": "-", "rightExpression": { "argumentTypes": null, - "id": 1317, + "id": 1318, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1303, + "referencedDeclaration": 1304, "src": "1188:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -952,26 +952,26 @@ { "expression": { "argumentTypes": null, - "id": 1320, + "id": 1321, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1315, + "referencedDeclaration": 1316, "src": "1203:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 1307, - "id": 1321, + "functionReturnParameters": 1308, + "id": 1322, "nodeType": "Return", "src": "1196:8:2" } ] }, "documentation": "@dev Subtracts two numbers, reverts on overflow (i.e. if subtrahend is greater than minuend).", - "id": 1323, + "id": 1324, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -979,15 +979,15 @@ "name": "sub", "nodeType": "FunctionDefinition", "parameters": { - "id": 1304, + "id": 1305, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1301, + "id": 1302, "name": "a", "nodeType": "VariableDeclaration", - "scope": 1323, + "scope": 1324, "src": "1091:9:2", "stateVariable": false, "storageLocation": "default", @@ -996,7 +996,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1300, + "id": 1301, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1091:7:2", @@ -1010,10 +1010,10 @@ }, { "constant": false, - "id": 1303, + "id": 1304, "name": "b", "nodeType": "VariableDeclaration", - "scope": 1323, + "scope": 1324, "src": "1102:9:2", "stateVariable": false, "storageLocation": "default", @@ -1022,7 +1022,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1302, + "id": 1303, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1102:7:2", @@ -1039,15 +1039,15 @@ }, "payable": false, "returnParameters": { - "id": 1307, + "id": 1308, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1306, + "id": 1307, "name": "", "nodeType": "VariableDeclaration", - "scope": 1323, + "scope": 1324, "src": "1136:7:2", "stateVariable": false, "storageLocation": "default", @@ -1056,7 +1056,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1305, + "id": 1306, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1136:7:2", @@ -1071,7 +1071,7 @@ ], "src": "1135:9:2" }, - "scope": 1368, + "scope": 1369, "src": "1078:131:2", "stateMutability": "pure", "superFunction": null, @@ -1079,21 +1079,21 @@ }, { "body": { - "id": 1346, + "id": 1347, "nodeType": "Block", "src": "1339:64:2", "statements": [ { "assignments": [ - 1333 + 1334 ], "declarations": [ { "constant": false, - "id": 1333, + "id": 1334, "name": "c", "nodeType": "VariableDeclaration", - "scope": 1347, + "scope": 1348, "src": "1345:9:2", "stateVariable": false, "storageLocation": "default", @@ -1102,7 +1102,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1332, + "id": 1333, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1345:7:2", @@ -1115,25 +1115,25 @@ "visibility": "internal" } ], - "id": 1337, + "id": 1338, "initialValue": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1336, + "id": 1337, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1334, + "id": 1335, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1325, + "referencedDeclaration": 1326, "src": "1357:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1144,11 +1144,11 @@ "operator": "+", "rightExpression": { "argumentTypes": null, - "id": 1335, + "id": 1336, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1327, + "referencedDeclaration": 1328, "src": "1361:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1174,18 +1174,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1341, + "id": 1342, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1339, + "id": 1340, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1333, + "referencedDeclaration": 1334, "src": "1376:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1196,11 +1196,11 @@ "operator": ">=", "rightExpression": { "argumentTypes": null, - "id": 1340, + "id": 1341, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1325, + "referencedDeclaration": 1326, "src": "1381:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1221,21 +1221,21 @@ "typeString": "bool" } ], - "id": 1338, + "id": 1339, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1386, - 1387 + 1387, + 1388 ], - "referencedDeclaration": 1386, + "referencedDeclaration": 1387, "src": "1368:7:2", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 1342, + "id": 1343, "isConstant": false, "isLValue": false, "isPure": false, @@ -1249,33 +1249,33 @@ "typeString": "tuple()" } }, - "id": 1343, + "id": 1344, "nodeType": "ExpressionStatement", "src": "1368:15:2" }, { "expression": { "argumentTypes": null, - "id": 1344, + "id": 1345, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1333, + "referencedDeclaration": 1334, "src": "1397:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 1331, - "id": 1345, + "functionReturnParameters": 1332, + "id": 1346, "nodeType": "Return", "src": "1390:8:2" } ] }, "documentation": "@dev Adds two numbers, reverts on overflow.", - "id": 1347, + "id": 1348, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -1283,15 +1283,15 @@ "name": "add", "nodeType": "FunctionDefinition", "parameters": { - "id": 1328, + "id": 1329, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1325, + "id": 1326, "name": "a", "nodeType": "VariableDeclaration", - "scope": 1347, + "scope": 1348, "src": "1285:9:2", "stateVariable": false, "storageLocation": "default", @@ -1300,7 +1300,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1324, + "id": 1325, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1285:7:2", @@ -1314,10 +1314,10 @@ }, { "constant": false, - "id": 1327, + "id": 1328, "name": "b", "nodeType": "VariableDeclaration", - "scope": 1347, + "scope": 1348, "src": "1296:9:2", "stateVariable": false, "storageLocation": "default", @@ -1326,7 +1326,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1326, + "id": 1327, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1296:7:2", @@ -1343,15 +1343,15 @@ }, "payable": false, "returnParameters": { - "id": 1331, + "id": 1332, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1330, + "id": 1331, "name": "", "nodeType": "VariableDeclaration", - "scope": 1347, + "scope": 1348, "src": "1330:7:2", "stateVariable": false, "storageLocation": "default", @@ -1360,7 +1360,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1329, + "id": 1330, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1330:7:2", @@ -1375,7 +1375,7 @@ ], "src": "1329:9:2" }, - "scope": 1368, + "scope": 1369, "src": "1272:131:2", "stateMutability": "pure", "superFunction": null, @@ -1383,7 +1383,7 @@ }, { "body": { - "id": 1366, + "id": 1367, "nodeType": "Block", "src": "1602:44:2", "statements": [ @@ -1397,18 +1397,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1359, + "id": 1360, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1357, + "id": 1358, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1351, + "referencedDeclaration": 1352, "src": "1616:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1420,7 +1420,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 1358, + "id": 1359, "isConstant": false, "isLValue": false, "isPure": true, @@ -1449,21 +1449,21 @@ "typeString": "bool" } ], - "id": 1356, + "id": 1357, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1386, - 1387 + 1387, + 1388 ], - "referencedDeclaration": 1386, + "referencedDeclaration": 1387, "src": "1608:7:2", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 1360, + "id": 1361, "isConstant": false, "isLValue": false, "isPure": false, @@ -1477,7 +1477,7 @@ "typeString": "tuple()" } }, - "id": 1361, + "id": 1362, "nodeType": "ExpressionStatement", "src": "1608:15:2" }, @@ -1488,18 +1488,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1364, + "id": 1365, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1362, + "id": 1363, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1349, + "referencedDeclaration": 1350, "src": "1636:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1510,11 +1510,11 @@ "operator": "%", "rightExpression": { "argumentTypes": null, - "id": 1363, + "id": 1364, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1351, + "referencedDeclaration": 1352, "src": "1640:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1527,15 +1527,15 @@ "typeString": "uint256" } }, - "functionReturnParameters": 1355, - "id": 1365, + "functionReturnParameters": 1356, + "id": 1366, "nodeType": "Return", "src": "1629:12:2" } ] }, "documentation": "@dev Divides two numbers and returns the remainder (unsigned integer modulo),\nreverts when dividing by zero.", - "id": 1367, + "id": 1368, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -1543,15 +1543,15 @@ "name": "mod", "nodeType": "FunctionDefinition", "parameters": { - "id": 1352, + "id": 1353, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1349, + "id": 1350, "name": "a", "nodeType": "VariableDeclaration", - "scope": 1367, + "scope": 1368, "src": "1548:9:2", "stateVariable": false, "storageLocation": "default", @@ -1560,7 +1560,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1348, + "id": 1349, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1548:7:2", @@ -1574,10 +1574,10 @@ }, { "constant": false, - "id": 1351, + "id": 1352, "name": "b", "nodeType": "VariableDeclaration", - "scope": 1367, + "scope": 1368, "src": "1559:9:2", "stateVariable": false, "storageLocation": "default", @@ -1586,7 +1586,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1350, + "id": 1351, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1559:7:2", @@ -1603,15 +1603,15 @@ }, "payable": false, "returnParameters": { - "id": 1355, + "id": 1356, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1354, + "id": 1355, "name": "", "nodeType": "VariableDeclaration", - "scope": 1367, + "scope": 1368, "src": "1593:7:2", "stateVariable": false, "storageLocation": "default", @@ -1620,7 +1620,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1353, + "id": 1354, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1593:7:2", @@ -1635,14 +1635,14 @@ ], "src": "1592:9:2" }, - "scope": 1368, + "scope": 1369, "src": "1535:111:2", "stateMutability": "pure", "superFunction": null, "visibility": "internal" } ], - "scope": 1369, + "scope": 1370, "src": "117:1531:2" } ], @@ -1652,14 +1652,14 @@ "absolutePath": "openzeppelin-solidity/contracts/math/SafeMath.sol", "exportedSymbols": { "SafeMath": [ - 1368 + 1369 ] }, - "id": 1369, + "id": 1370, "nodeType": "SourceUnit", "nodes": [ { - "id": 1242, + "id": 1243, "literals": [ "solidity", "^", @@ -1675,16 +1675,16 @@ "contractKind": "library", "documentation": "@title SafeMath\n@dev Math operations with safety checks that revert on error", "fullyImplemented": true, - "id": 1368, + "id": 1369, "linearizedBaseContracts": [ - 1368 + 1369 ], "name": "SafeMath", "nodeType": "ContractDefinition", "nodes": [ { "body": { - "id": 1274, + "id": 1275, "nodeType": "Block", "src": "271:314:2", "statements": [ @@ -1695,18 +1695,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1253, + "id": 1254, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1251, + "id": 1252, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1244, + "referencedDeclaration": 1245, "src": "486:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1718,7 +1718,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 1252, + "id": 1253, "isConstant": false, "isLValue": false, "isPure": true, @@ -1740,11 +1740,11 @@ } }, "falseBody": null, - "id": 1257, + "id": 1258, "nodeType": "IfStatement", "src": "482:35:2", "trueBody": { - "id": 1256, + "id": 1257, "nodeType": "Block", "src": "494:23:2", "statements": [ @@ -1752,7 +1752,7 @@ "expression": { "argumentTypes": null, "hexValue": "30", - "id": 1254, + "id": 1255, "isConstant": false, "isLValue": false, "isPure": true, @@ -1767,8 +1767,8 @@ }, "value": "0" }, - "functionReturnParameters": 1250, - "id": 1255, + "functionReturnParameters": 1251, + "id": 1256, "nodeType": "Return", "src": "502:8:2" } @@ -1777,15 +1777,15 @@ }, { "assignments": [ - 1259 + 1260 ], "declarations": [ { "constant": false, - "id": 1259, + "id": 1260, "name": "c", "nodeType": "VariableDeclaration", - "scope": 1275, + "scope": 1276, "src": "523:9:2", "stateVariable": false, "storageLocation": "default", @@ -1794,7 +1794,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1258, + "id": 1259, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "523:7:2", @@ -1807,25 +1807,25 @@ "visibility": "internal" } ], - "id": 1263, + "id": 1264, "initialValue": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1262, + "id": 1263, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1260, + "id": 1261, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1244, + "referencedDeclaration": 1245, "src": "535:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1836,11 +1836,11 @@ "operator": "*", "rightExpression": { "argumentTypes": null, - "id": 1261, + "id": 1262, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1246, + "referencedDeclaration": 1247, "src": "539:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1866,7 +1866,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1269, + "id": 1270, "isConstant": false, "isLValue": false, "isPure": false, @@ -1877,18 +1877,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1267, + "id": 1268, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1265, + "id": 1266, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1259, + "referencedDeclaration": 1260, "src": "554:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1899,11 +1899,11 @@ "operator": "/", "rightExpression": { "argumentTypes": null, - "id": 1266, + "id": 1267, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1244, + "referencedDeclaration": 1245, "src": "558:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1920,11 +1920,11 @@ "operator": "==", "rightExpression": { "argumentTypes": null, - "id": 1268, + "id": 1269, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1246, + "referencedDeclaration": 1247, "src": "563:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1945,21 +1945,21 @@ "typeString": "bool" } ], - "id": 1264, + "id": 1265, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1386, - 1387 + 1387, + 1388 ], - "referencedDeclaration": 1386, + "referencedDeclaration": 1387, "src": "546:7:2", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 1270, + "id": 1271, "isConstant": false, "isLValue": false, "isPure": false, @@ -1973,33 +1973,33 @@ "typeString": "tuple()" } }, - "id": 1271, + "id": 1272, "nodeType": "ExpressionStatement", "src": "546:19:2" }, { "expression": { "argumentTypes": null, - "id": 1272, + "id": 1273, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1259, + "referencedDeclaration": 1260, "src": "579:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 1250, - "id": 1273, + "functionReturnParameters": 1251, + "id": 1274, "nodeType": "Return", "src": "572:8:2" } ] }, "documentation": "@dev Multiplies two numbers, reverts on overflow.", - "id": 1275, + "id": 1276, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -2007,15 +2007,15 @@ "name": "mul", "nodeType": "FunctionDefinition", "parameters": { - "id": 1247, + "id": 1248, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1244, + "id": 1245, "name": "a", "nodeType": "VariableDeclaration", - "scope": 1275, + "scope": 1276, "src": "217:9:2", "stateVariable": false, "storageLocation": "default", @@ -2024,7 +2024,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1243, + "id": 1244, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "217:7:2", @@ -2038,10 +2038,10 @@ }, { "constant": false, - "id": 1246, + "id": 1247, "name": "b", "nodeType": "VariableDeclaration", - "scope": 1275, + "scope": 1276, "src": "228:9:2", "stateVariable": false, "storageLocation": "default", @@ -2050,7 +2050,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1245, + "id": 1246, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "228:7:2", @@ -2067,15 +2067,15 @@ }, "payable": false, "returnParameters": { - "id": 1250, + "id": 1251, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1249, + "id": 1250, "name": "", "nodeType": "VariableDeclaration", - "scope": 1275, + "scope": 1276, "src": "262:7:2", "stateVariable": false, "storageLocation": "default", @@ -2084,7 +2084,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1248, + "id": 1249, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "262:7:2", @@ -2099,7 +2099,7 @@ ], "src": "261:9:2" }, - "scope": 1368, + "scope": 1369, "src": "204:381:2", "stateMutability": "pure", "superFunction": null, @@ -2107,7 +2107,7 @@ }, { "body": { - "id": 1298, + "id": 1299, "nodeType": "Block", "src": "762:203:2", "statements": [ @@ -2121,18 +2121,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1287, + "id": 1288, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1285, + "id": 1286, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1279, + "referencedDeclaration": 1280, "src": "776:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2144,7 +2144,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 1286, + "id": 1287, "isConstant": false, "isLValue": false, "isPure": true, @@ -2173,21 +2173,21 @@ "typeString": "bool" } ], - "id": 1284, + "id": 1285, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1386, - 1387 + 1387, + 1388 ], - "referencedDeclaration": 1386, + "referencedDeclaration": 1387, "src": "768:7:2", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 1288, + "id": 1289, "isConstant": false, "isLValue": false, "isPure": false, @@ -2201,21 +2201,21 @@ "typeString": "tuple()" } }, - "id": 1289, + "id": 1290, "nodeType": "ExpressionStatement", "src": "768:14:2" }, { "assignments": [ - 1291 + 1292 ], "declarations": [ { "constant": false, - "id": 1291, + "id": 1292, "name": "c", "nodeType": "VariableDeclaration", - "scope": 1299, + "scope": 1300, "src": "846:9:2", "stateVariable": false, "storageLocation": "default", @@ -2224,7 +2224,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1290, + "id": 1291, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "846:7:2", @@ -2237,25 +2237,25 @@ "visibility": "internal" } ], - "id": 1295, + "id": 1296, "initialValue": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1294, + "id": 1295, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1292, + "id": 1293, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1277, + "referencedDeclaration": 1278, "src": "858:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2266,11 +2266,11 @@ "operator": "/", "rightExpression": { "argumentTypes": null, - "id": 1293, + "id": 1294, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1279, + "referencedDeclaration": 1280, "src": "862:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2289,26 +2289,26 @@ { "expression": { "argumentTypes": null, - "id": 1296, + "id": 1297, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1291, + "referencedDeclaration": 1292, "src": "959:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 1283, - "id": 1297, + "functionReturnParameters": 1284, + "id": 1298, "nodeType": "Return", "src": "952:8:2" } ] }, "documentation": "@dev Integer division of two numbers truncating the quotient, reverts on division by zero.", - "id": 1299, + "id": 1300, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -2316,15 +2316,15 @@ "name": "div", "nodeType": "FunctionDefinition", "parameters": { - "id": 1280, + "id": 1281, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1277, + "id": 1278, "name": "a", "nodeType": "VariableDeclaration", - "scope": 1299, + "scope": 1300, "src": "708:9:2", "stateVariable": false, "storageLocation": "default", @@ -2333,7 +2333,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1276, + "id": 1277, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "708:7:2", @@ -2347,10 +2347,10 @@ }, { "constant": false, - "id": 1279, + "id": 1280, "name": "b", "nodeType": "VariableDeclaration", - "scope": 1299, + "scope": 1300, "src": "719:9:2", "stateVariable": false, "storageLocation": "default", @@ -2359,7 +2359,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1278, + "id": 1279, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "719:7:2", @@ -2376,15 +2376,15 @@ }, "payable": false, "returnParameters": { - "id": 1283, + "id": 1284, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1282, + "id": 1283, "name": "", "nodeType": "VariableDeclaration", - "scope": 1299, + "scope": 1300, "src": "753:7:2", "stateVariable": false, "storageLocation": "default", @@ -2393,7 +2393,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1281, + "id": 1282, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "753:7:2", @@ -2408,7 +2408,7 @@ ], "src": "752:9:2" }, - "scope": 1368, + "scope": 1369, "src": "695:270:2", "stateMutability": "pure", "superFunction": null, @@ -2416,7 +2416,7 @@ }, { "body": { - "id": 1322, + "id": 1323, "nodeType": "Block", "src": "1145:64:2", "statements": [ @@ -2430,18 +2430,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1311, + "id": 1312, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1309, + "id": 1310, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1303, + "referencedDeclaration": 1304, "src": "1159:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2452,11 +2452,11 @@ "operator": "<=", "rightExpression": { "argumentTypes": null, - "id": 1310, + "id": 1311, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1301, + "referencedDeclaration": 1302, "src": "1164:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2477,21 +2477,21 @@ "typeString": "bool" } ], - "id": 1308, + "id": 1309, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1386, - 1387 + 1387, + 1388 ], - "referencedDeclaration": 1386, + "referencedDeclaration": 1387, "src": "1151:7:2", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 1312, + "id": 1313, "isConstant": false, "isLValue": false, "isPure": false, @@ -2505,21 +2505,21 @@ "typeString": "tuple()" } }, - "id": 1313, + "id": 1314, "nodeType": "ExpressionStatement", "src": "1151:15:2" }, { "assignments": [ - 1315 + 1316 ], "declarations": [ { "constant": false, - "id": 1315, + "id": 1316, "name": "c", "nodeType": "VariableDeclaration", - "scope": 1323, + "scope": 1324, "src": "1172:9:2", "stateVariable": false, "storageLocation": "default", @@ -2528,7 +2528,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1314, + "id": 1315, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1172:7:2", @@ -2541,25 +2541,25 @@ "visibility": "internal" } ], - "id": 1319, + "id": 1320, "initialValue": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1318, + "id": 1319, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1316, + "id": 1317, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1301, + "referencedDeclaration": 1302, "src": "1184:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2570,11 +2570,11 @@ "operator": "-", "rightExpression": { "argumentTypes": null, - "id": 1317, + "id": 1318, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1303, + "referencedDeclaration": 1304, "src": "1188:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2593,26 +2593,26 @@ { "expression": { "argumentTypes": null, - "id": 1320, + "id": 1321, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1315, + "referencedDeclaration": 1316, "src": "1203:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 1307, - "id": 1321, + "functionReturnParameters": 1308, + "id": 1322, "nodeType": "Return", "src": "1196:8:2" } ] }, "documentation": "@dev Subtracts two numbers, reverts on overflow (i.e. if subtrahend is greater than minuend).", - "id": 1323, + "id": 1324, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -2620,15 +2620,15 @@ "name": "sub", "nodeType": "FunctionDefinition", "parameters": { - "id": 1304, + "id": 1305, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1301, + "id": 1302, "name": "a", "nodeType": "VariableDeclaration", - "scope": 1323, + "scope": 1324, "src": "1091:9:2", "stateVariable": false, "storageLocation": "default", @@ -2637,7 +2637,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1300, + "id": 1301, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1091:7:2", @@ -2651,10 +2651,10 @@ }, { "constant": false, - "id": 1303, + "id": 1304, "name": "b", "nodeType": "VariableDeclaration", - "scope": 1323, + "scope": 1324, "src": "1102:9:2", "stateVariable": false, "storageLocation": "default", @@ -2663,7 +2663,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1302, + "id": 1303, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1102:7:2", @@ -2680,15 +2680,15 @@ }, "payable": false, "returnParameters": { - "id": 1307, + "id": 1308, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1306, + "id": 1307, "name": "", "nodeType": "VariableDeclaration", - "scope": 1323, + "scope": 1324, "src": "1136:7:2", "stateVariable": false, "storageLocation": "default", @@ -2697,7 +2697,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1305, + "id": 1306, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1136:7:2", @@ -2712,7 +2712,7 @@ ], "src": "1135:9:2" }, - "scope": 1368, + "scope": 1369, "src": "1078:131:2", "stateMutability": "pure", "superFunction": null, @@ -2720,21 +2720,21 @@ }, { "body": { - "id": 1346, + "id": 1347, "nodeType": "Block", "src": "1339:64:2", "statements": [ { "assignments": [ - 1333 + 1334 ], "declarations": [ { "constant": false, - "id": 1333, + "id": 1334, "name": "c", "nodeType": "VariableDeclaration", - "scope": 1347, + "scope": 1348, "src": "1345:9:2", "stateVariable": false, "storageLocation": "default", @@ -2743,7 +2743,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1332, + "id": 1333, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1345:7:2", @@ -2756,25 +2756,25 @@ "visibility": "internal" } ], - "id": 1337, + "id": 1338, "initialValue": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1336, + "id": 1337, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1334, + "id": 1335, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1325, + "referencedDeclaration": 1326, "src": "1357:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2785,11 +2785,11 @@ "operator": "+", "rightExpression": { "argumentTypes": null, - "id": 1335, + "id": 1336, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1327, + "referencedDeclaration": 1328, "src": "1361:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2815,18 +2815,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1341, + "id": 1342, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1339, + "id": 1340, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1333, + "referencedDeclaration": 1334, "src": "1376:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2837,11 +2837,11 @@ "operator": ">=", "rightExpression": { "argumentTypes": null, - "id": 1340, + "id": 1341, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1325, + "referencedDeclaration": 1326, "src": "1381:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2862,21 +2862,21 @@ "typeString": "bool" } ], - "id": 1338, + "id": 1339, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1386, - 1387 + 1387, + 1388 ], - "referencedDeclaration": 1386, + "referencedDeclaration": 1387, "src": "1368:7:2", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 1342, + "id": 1343, "isConstant": false, "isLValue": false, "isPure": false, @@ -2890,33 +2890,33 @@ "typeString": "tuple()" } }, - "id": 1343, + "id": 1344, "nodeType": "ExpressionStatement", "src": "1368:15:2" }, { "expression": { "argumentTypes": null, - "id": 1344, + "id": 1345, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1333, + "referencedDeclaration": 1334, "src": "1397:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 1331, - "id": 1345, + "functionReturnParameters": 1332, + "id": 1346, "nodeType": "Return", "src": "1390:8:2" } ] }, "documentation": "@dev Adds two numbers, reverts on overflow.", - "id": 1347, + "id": 1348, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -2924,15 +2924,15 @@ "name": "add", "nodeType": "FunctionDefinition", "parameters": { - "id": 1328, + "id": 1329, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1325, + "id": 1326, "name": "a", "nodeType": "VariableDeclaration", - "scope": 1347, + "scope": 1348, "src": "1285:9:2", "stateVariable": false, "storageLocation": "default", @@ -2941,7 +2941,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1324, + "id": 1325, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1285:7:2", @@ -2955,10 +2955,10 @@ }, { "constant": false, - "id": 1327, + "id": 1328, "name": "b", "nodeType": "VariableDeclaration", - "scope": 1347, + "scope": 1348, "src": "1296:9:2", "stateVariable": false, "storageLocation": "default", @@ -2967,7 +2967,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1326, + "id": 1327, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1296:7:2", @@ -2984,15 +2984,15 @@ }, "payable": false, "returnParameters": { - "id": 1331, + "id": 1332, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1330, + "id": 1331, "name": "", "nodeType": "VariableDeclaration", - "scope": 1347, + "scope": 1348, "src": "1330:7:2", "stateVariable": false, "storageLocation": "default", @@ -3001,7 +3001,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1329, + "id": 1330, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1330:7:2", @@ -3016,7 +3016,7 @@ ], "src": "1329:9:2" }, - "scope": 1368, + "scope": 1369, "src": "1272:131:2", "stateMutability": "pure", "superFunction": null, @@ -3024,7 +3024,7 @@ }, { "body": { - "id": 1366, + "id": 1367, "nodeType": "Block", "src": "1602:44:2", "statements": [ @@ -3038,18 +3038,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1359, + "id": 1360, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1357, + "id": 1358, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1351, + "referencedDeclaration": 1352, "src": "1616:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -3061,7 +3061,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 1358, + "id": 1359, "isConstant": false, "isLValue": false, "isPure": true, @@ -3090,21 +3090,21 @@ "typeString": "bool" } ], - "id": 1356, + "id": 1357, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1386, - 1387 + 1387, + 1388 ], - "referencedDeclaration": 1386, + "referencedDeclaration": 1387, "src": "1608:7:2", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 1360, + "id": 1361, "isConstant": false, "isLValue": false, "isPure": false, @@ -3118,7 +3118,7 @@ "typeString": "tuple()" } }, - "id": 1361, + "id": 1362, "nodeType": "ExpressionStatement", "src": "1608:15:2" }, @@ -3129,18 +3129,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1364, + "id": 1365, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1362, + "id": 1363, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1349, + "referencedDeclaration": 1350, "src": "1636:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -3151,11 +3151,11 @@ "operator": "%", "rightExpression": { "argumentTypes": null, - "id": 1363, + "id": 1364, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1351, + "referencedDeclaration": 1352, "src": "1640:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -3168,15 +3168,15 @@ "typeString": "uint256" } }, - "functionReturnParameters": 1355, - "id": 1365, + "functionReturnParameters": 1356, + "id": 1366, "nodeType": "Return", "src": "1629:12:2" } ] }, "documentation": "@dev Divides two numbers and returns the remainder (unsigned integer modulo),\nreverts when dividing by zero.", - "id": 1367, + "id": 1368, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -3184,15 +3184,15 @@ "name": "mod", "nodeType": "FunctionDefinition", "parameters": { - "id": 1352, + "id": 1353, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1349, + "id": 1350, "name": "a", "nodeType": "VariableDeclaration", - "scope": 1367, + "scope": 1368, "src": "1548:9:2", "stateVariable": false, "storageLocation": "default", @@ -3201,7 +3201,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1348, + "id": 1349, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1548:7:2", @@ -3215,10 +3215,10 @@ }, { "constant": false, - "id": 1351, + "id": 1352, "name": "b", "nodeType": "VariableDeclaration", - "scope": 1367, + "scope": 1368, "src": "1559:9:2", "stateVariable": false, "storageLocation": "default", @@ -3227,7 +3227,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1350, + "id": 1351, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1559:7:2", @@ -3244,15 +3244,15 @@ }, "payable": false, "returnParameters": { - "id": 1355, + "id": 1356, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1354, + "id": 1355, "name": "", "nodeType": "VariableDeclaration", - "scope": 1367, + "scope": 1368, "src": "1593:7:2", "stateVariable": false, "storageLocation": "default", @@ -3261,7 +3261,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1353, + "id": 1354, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1593:7:2", @@ -3276,14 +3276,14 @@ ], "src": "1592:9:2" }, - "scope": 1368, + "scope": 1369, "src": "1535:111:2", "stateMutability": "pure", "superFunction": null, "visibility": "internal" } ], - "scope": 1369, + "scope": 1370, "src": "117:1531:2" } ], @@ -3295,5 +3295,5 @@ }, "networks": {}, "schemaVersion": "2.0.1", - "updatedAt": "2018-11-19T10:58:56.171Z" + "updatedAt": "2018-11-19T11:27:19.746Z" } \ No newline at end of file diff --git a/contracts/escrow/Escrow_v1_0.sol b/contracts/escrow/Escrow_v1_0.sol index 6122cfb..5fd16c0 100644 --- a/contracts/escrow/Escrow_v1_0.sol +++ b/contracts/escrow/Escrow_v1_0.sol @@ -441,7 +441,7 @@ contract Escrow_v1_0 { sigV.length < transactions[scriptHash].threshold && (!timeLockExpired || lastRecovered != transactions[scriptHash].seller) ) { - revert("sigV.length is under the threshold."); + revert("Minimum number of signatures are not collected and time lock expiry conditions not met!!"); } } From f0f7fef696e6cd6b24cf883ae682ca88df728736 Mon Sep 17 00:00:00 2001 From: Sameep Singhania Date: Mon, 19 Nov 2018 17:08:48 +0530 Subject: [PATCH 05/19] Improved docstring in execute method --- build/contracts/Escrow_v1_0.json | 2080 +++++++++++++-------------- build/contracts/ITokenContract.json | 2 +- build/contracts/SafeMath.json | 2 +- contracts/escrow/Escrow_v1_0.sol | 4 +- 4 files changed, 1044 insertions(+), 1044 deletions(-) diff --git a/build/contracts/Escrow_v1_0.json b/build/contracts/Escrow_v1_0.json index 15899b3..9c4109e 100644 --- a/build/contracts/Escrow_v1_0.json +++ b/build/contracts/Escrow_v1_0.json @@ -418,11 +418,11 @@ "type": "function" } ], - "bytecode": "0x6080604052600060015534801561001557600080fd5b506141ea806100256000396000f3006080604052600436106100ba576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806323b6fd3f146100bf5780632d9ef96e1461017957806346fbcdeb1461019d57806357bced7614610292578063642f2eaf14610383578063b0550c66146104e5578063b719e2801461054e578063b77bf60014610589578063be84ceaf146105b4578063e4ec8b001461064c578063f0786562146106f5578063f5dbe09c1461075e575b600080fd5b610177600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff169060200190929190803563ffffffff169060200190929190803560001916906020019092919080356bffffffffffffffffffffffff191690602001909291905050506107c7565b005b61019b6004803603810190808035600019169060200190929190505050610a26565b005b3480156101a957600080fd5b5061027460048036038101908080356bffffffffffffffffffffffff19169060200190929190803560ff169060200190929190803563ffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610eb4565b60405180826000191660001916815260200191505060405180910390f35b34801561029e57600080fd5b50610381600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff169060200190929190803563ffffffff16906020019092919080356000191690602001909291908035906020019092919080356bffffffffffffffffffffffff19169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611360565b005b34801561038f57600080fd5b506103b26004803603810190808035600019169060200190929190505050611840565b604051808b81526020018a81526020018960018111156103ce57fe5b60ff1681526020018860018111156103e257fe5b60ff1681526020018760ff1660ff1681526020018663ffffffff1663ffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019a505050505050505050505060405180910390f35b3480156104f157600080fd5b506105346004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061194b565b604051808215151515815260200191505060405180910390f35b34801561055a57600080fd5b506105876004803603810190808035600019169060200190929190803590602001909291905050506119bd565b005b34801561059557600080fd5b5061059e61209d565b6040518082815260200191505060405180910390f35b3480156105c057600080fd5b506105f5600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506120a3565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b8381101561063857808201518184015260208101905061061d565b505050509050019250505060405180910390f35b34801561065857600080fd5b506106f3600480360381019080803590602001908201803590602001919091929391929390803590602001908201803590602001919091929391929390803590602001908201803590602001919091929391929390803560001916906020019092919080359060200190820180359060200191909192939192939080359060200190820180359060200191909192939192939050505061213e565b005b34801561070157600080fd5b506107446004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506126a0565b604051808215151515815260200191505060405180910390f35b34801561076a57600080fd5b506107a9600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050612712565b60405180826000191660001916815260200191505060405180910390f35b81600080600083600019166000191681526020019081526020016000206000015414151561085d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f5472616e73616374696f6e20657869737473000000000000000000000000000081525060200191505060405180910390fd5b87600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610903576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b87600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156109a9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b6109bc8a8a8a8a8a8a348b600080612742565b3373ffffffffffffffffffffffffffffffffffffffff167fce7089d0668849fb9ca29778c0cbf1e764d9efb048d81fd71fb34c94f26db36886346040518083600019166000191681526020018281526020019250505060405180910390a250505050505050505050565b600081600080600083600019166000191681526020019081526020016000206000015414151515610abf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737473000000000081525060200191505060405180910390fd5b8260006001811115610acd57fe5b600080836000191660001916815260200190815260200160002060020160009054906101000a900460ff166001811115610b0357fe5b141515610b9e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001807f5472616e73616374696f6e2069732065697468657220696e206469737075746581526020017f206f722072656c6561736564207374617465000000000000000000000000000081525060400191505060405180910390fd5b836000806001811115610bad57fe5b600080846000191660001916815260200190815260200160002060020160019054906101000a900460ff166001811115610be357fe5b141515610c58576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5472616e73616374696f6e207479706520646f6573206e6f74206d617463680081525060200191505060405180910390fd5b85600080826000191660001916815260200190815260200160002060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610d5f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f54686520696e69746961746f72206f6620746865207472616e73616374696f6e81526020017f206973206e6f742062757965720000000000000000000000000000000000000081525060400191505060405180910390fd5b349550600086111515610dda576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f56616c7565206d7573742062652067726561746572207468616e207a65726f2e81525060200191505060405180910390fd5b610e0a866000808a60001916600019168152602001908152602001600020600001546130ce90919063ffffffff16565b600080896000191660001916815260200190815260200160002060000181905550426000808960001916600019168152602001908152602001600020600101819055503373ffffffffffffffffffffffffffffffffffffffff167ff66fd2ae9e24a6a24b02e1b5b7512ffde5149a4176085fc0298ae228c9b9d72988886040518083600019166000191681526020018281526020019250505060405180910390a250505050505050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611100578787878787873060405160200180886bffffffffffffffffffffffff19166bffffffffffffffffffffffff191681526014018760ff1660ff167f01000000000000000000000000000000000000000000000000000000000000000281526001018663ffffffff1663ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014019750505050505050506040516020818303038152906040526040518082805190602001908083835b6020831015156110cc57805182526020820191506020810190506020830392506110a7565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390209050611355565b878787878787308860405160200180896bffffffffffffffffffffffff19166bffffffffffffffffffffffff191681526014018860ff1660ff167f01000000000000000000000000000000000000000000000000000000000000000281526001018763ffffffff1663ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401985050505050505050506040516020818303038152906040526040518082805190602001908083835b6020831015156113255780518252602082019150602081019050602083039250611300565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902090505b979650505050505050565b60008460008060008360001916600019168152602001908152602001600020600001541415156113f8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f5472616e73616374696f6e20657869737473000000000000000000000000000081525060200191505060405180910390fd5b8a600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561149e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b8a600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515611544576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b84600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156115ea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b6115fd8e8e8e8e8e8e8e8e60018f612742565b8594508473ffffffffffffffffffffffffffffffffffffffff166323b872dd33308b6040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b1580156116d757600080fd5b505af11580156116eb573d6000803e3d6000fd5b505050506040513d602081101561170157600080fd5b810190808051906020019092919050505015156117d2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252605c8152602001807f546f6b656e207472616e73666572206661696c65642c206d6179626520796f7581526020017f20646964206e6f7420617070726f766520657363726f7720636f6e747261637481526020017f20746f207370656e64206f6e20626568616c66206f662062757965720000000081525060600191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff167fce7089d0668849fb9ca29778c0cbf1e764d9efb048d81fd71fb34c94f26db3688a8a6040518083600019166000191681526020018281526020019250505060405180910390a25050505050505050505050505050565b60006020528060005260406000206000915090508060000154908060010154908060020160009054906101000a900460ff16908060020160019054906101000a900460ff16908060020160029054906101000a900460ff16908060020160039054906101000a900463ffffffff16908060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060050160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508a565b6000806000846000191660001916815260200190815260200160002060080160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b60008083600080600083600019166000191681526020019081526020016000206000015414151515611a57576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737473000000000081525060200191505060405180910390fd5b8460006001811115611a6557fe5b600080836000191660001916815260200190815260200160002060020160009054906101000a900460ff166001811115611a9b57fe5b141515611b36576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001807f5472616e73616374696f6e2069732065697468657220696e206469737075746581526020017f206f722072656c6561736564207374617465000000000000000000000000000081525060400191505060405180910390fd5b856001806001811115611b4557fe5b600080846000191660001916815260200190815260200160002060020160019054906101000a900460ff166001811115611b7b57fe5b141515611bf0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5472616e73616374696f6e207479706520646f6573206e6f74206d617463680081525060200191505060405180910390fd5b87600080826000191660001916815260200190815260200160002060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611cf7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f54686520696e69746961746f72206f6620746865207472616e73616374696f6e81526020017f206973206e6f742062757965720000000000000000000000000000000000000081525060400191505060405180910390fd5b879650600087111515611d72576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f56616c7565206d7573742062652067726561746572207468616e207a65726f2e81525060200191505060405180910390fd5b6000808a6000191660001916815260200190815260200160002060040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1695508573ffffffffffffffffffffffffffffffffffffffff166323b872dd6000808c6000191660001916815260200190815260200160002060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff16308b6040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b158015611ec657600080fd5b505af1158015611eda573d6000803e3d6000fd5b505050506040513d6020811015611ef057600080fd5b81019080805190602001909291905050501515611fc1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252605c8152602001807f546f6b656e207472616e73666572206661696c65642c206d6179626520796f7581526020017f20646964206e6f7420617070726f766520657363726f7720636f6e747261637481526020017f20746f207370656e64206f6e20626568616c66206f662062757965720000000081525060600191505060405180910390fd5b611ff1876000808c60001916600019168152602001908152602001600020600001546130ce90919063ffffffff16565b6000808b6000191660001916815260200190815260200160002060000181905550426000808b60001916600019168152602001908152602001600020600101819055503373ffffffffffffffffffffffffffffffffffffffff167ff66fd2ae9e24a6a24b02e1b5b7512ffde5149a4176085fc0298ae228c9b9d7298a896040518083600019166000191681526020018281526020019250505060405180910390a2505050505050505050565b60015481565b6060600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080548060200260200160405190810160405280929190818152602001828054801561213257602002820191906000526020600020905b8154600019168152602001906001019080831161211a575b50505050509050919050565b846000806000836000191660001916815260200190815260200160002060000154141515156121d5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737473000000000081525060200191505060405180910390fd5b85600060018111156121e357fe5b600080836000191660001916815260200190815260200160002060020160009054906101000a900460ff16600181111561221957fe5b1415156122b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001807f5472616e73616374696f6e2069732065697468657220696e206469737075746581526020017f206f722072656c6561736564207374617465000000000000000000000000000081525060400191505060405180910390fd5b6000868690501180156122cc57508383905086869050145b1515612366576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001807f4c656e677468206f662064657374696e6174696f6e7320697320696e636f727281526020017f6563742e0000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b61245f8d8d808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508c8c808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508b8b808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508a8a8a808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508989808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050506130ef565b6001600080896000191660001916815260200190815260200160002060020160006101000a81548160ff0219169083600181111561249957fe5b021790555042600080896000191660001916815260200190815260200160002060010181905550600080886000191660001916815260200190815260200160002060000154612547888888808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508787808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050506132aa565b141515612608576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260488152602001807f546f74616c2076616c756520746f2062652072656c6561736564206d7573742081526020017f626520657175616c20746f20746865207472616e73616374696f6e206573637281526020017f6f772076616c756500000000000000000000000000000000000000000000000081525060600191505060405180910390fd5b7f688e2a1b34445bcd47b0e11ba2a9c8c4d850a1831b64199b59d1c70e2970154587878787876040518086600019166000191681526020018060200180602001838103835287878281815260200192506020028082843782019150508381038252858582818152602001925060200280828437820191505097505050505050505060405180910390a150505050505050505050505050565b6000806000846000191660001916815260200190815260200160002060070160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b60026020528160005260406000208181548110151561272d57fe5b90600052602060002001600091509150505481565b8873ffffffffffffffffffffffffffffffffffffffff168a73ffffffffffffffffffffffffffffffffffffffff16141515156127e6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f427579657220616e642073656c6c6572206172652073616d650000000000000081525060200191505060405180910390fd5b60008411151561285e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f56616c756520706173736564206973203000000000000000000000000000000081525060200191505060405180910390fd5b60008760ff16118015612875575060038760ff1611155b151561290f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603d8152602001807f5468726573686f6c642063616e6e6f742062652067726561746572207468616e81526020017f203320616e64206d7573742062652067726561746572207468616e203000000081525060400191505060405180910390fd5b60018760ff16148061294e5750600073ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff1614155b1515612a0e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252604f8152602001807f456974686572207468726573686f6c642073686f756c642062652031206f746881526020017f6572776973652076616c6964206d6f64657261746f722061646472657373207381526020017f686f756c6420626520706173736564000000000000000000000000000000000081525060600191505060405180910390fd5b612a1d8388888d8d8d87610eb4565b600019168560001916141515612ac1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260398152602001807f43616c63756c6174656420736372697074206861736820646f6573206e6f742081526020017f6d61746368207061737365642073637269707420686173682e0000000000000081525060400191505060405180910390fd5b6101406040519081016040528085815260200142815260200160006001811115612ae757fe5b8152602001836001811115612af857fe5b81526020018860ff1681526020018763ffffffff1681526020018b73ffffffffffffffffffffffffffffffffffffffff1681526020018a73ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020018973ffffffffffffffffffffffffffffffffffffffff168152506000808760001916600019168152602001908152602001600020600082015181600001556020820151816001015560408201518160020160006101000a81548160ff02191690836001811115612bd257fe5b021790555060608201518160020160016101000a81548160ff02191690836001811115612bfb57fe5b021790555060808201518160020160026101000a81548160ff021916908360ff16021790555060a08201518160020160036101000a81548163ffffffff021916908363ffffffff16021790555060c08201518160020160076101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060e08201518160030160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506101008201518160040160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506101208201518160050160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055509050506001600080876000191660001916815260200190815260200160002060060160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600080876000191660001916815260200190815260200160002060060160008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600080866000191660001916815260200190815260200160002060060160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151515612f52576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f456974686572206275796572206f722073656c6c65722069732070617373656481526020017f206173206d6f64657261746f720000000000000000000000000000000000000081525060400191505060405180910390fd5b60018760ff161115612fd2576001600080876000191660001916815260200190815260200160002060060160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b600160008154809291906001019190505550600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020859080600181540180825580915050906001820390600052602060002001600090919290919091509060001916905550600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002085908060018154018082558091505090600182039060005260206000200160009091929091909150906000191690555050505050505050505050565b60008082840190508381101515156130e557600080fd5b8091505092915050565b600080613100888888888888613a92565b9150613156600080876000191660001916815260200190815260200160002060020160039054906101000a900463ffffffff1660008088600019166000191681526020019081526020016000206001015461410b565b9050600080866000191660001916815260200190815260200160002060020160029054906101000a900460ff1660ff16885110801561320757508015806132065750600080866000191660001916815260200190815260200160002060030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b5b156132a0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001807f736967562e6c656e67746820697320756e64657220746865207468726573686f81526020017f6c642e000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b5050505050505050565b6000806000806000806000808a60001916600019168152602001908152602001600020945060009350600060018111156132e057fe5b8560020160019054906101000a900460ff1660018111156132fd57fe5b141561361457600092505b875183101561360f57600073ffffffffffffffffffffffffffffffffffffffff16888481518110151561333757fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff16141580156133c75750846006016000898581518110151561337457fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b151561343b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f4e6f7420612076616c69642064657374696e6174696f6e00000000000000000081525060200191505060405180910390fd5b6000878481518110151561344b57fe5b906020019060200201511115156134f0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001807f416d6f756e7420746f2062652073656e742073686f756c64206265206772656181526020017f746572207468616e20300000000000000000000000000000000000000000000081525060400191505060405180910390fd5b61351a878481518110151561350157fe5b90602001906020020151856130ce90919063ffffffff16565b935060018560080160008a8681518110151561353257fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550878381518110151561359b57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff166108fc88858151811015156135cc57fe5b906020019060200201519081150290604051600060405180830381858888f19350505050158015613601573d6000803e3d6000fd5b508280600101935050613308565b613a83565b60018081111561362057fe5b8560020160019054906101000a900460ff16600181111561363d57fe5b1415613a82578460040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169150600090505b8751811015613a8157600073ffffffffffffffffffffffffffffffffffffffff16888281518110151561369e57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff161415801561372e575084600601600089838151811015156136db57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15156137a2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f4e6f7420612076616c69642064657374696e6174696f6e00000000000000000081525060200191505060405180910390fd5b600087828151811015156137b257fe5b90602001906020020151111515613857576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001807f416d6f756e7420746f2062652073656e742073686f756c64206265206772656181526020017f746572207468616e20300000000000000000000000000000000000000000000081525060400191505060405180910390fd5b613881878281518110151561386857fe5b90602001906020020151856130ce90919063ffffffff16565b935060018560080160008a8481518110151561389957fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb898381518110151561391e57fe5b90602001906020020151898481518110151561393657fe5b906020019060200201516040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1580156139c557600080fd5b505af11580156139d9573d6000803e3d6000fd5b505050506040513d60208110156139ef57600080fd5b81019080805190602001909291905050501515613a74576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f546f6b656e207472616e73666572206661696c65642e0000000000000000000081525060200191505060405180910390fd5b808060010191505061366f565b5b5b83955050505050509392505050565b600080600080600088518a51148015613aac57508a518a51145b1515613b20576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f522c532c56206c656e677468206d69736d617463682e0000000000000000000081525060200191505060405180910390fd5b60197f01000000000000000000000000000000000000000000000000000000000000000260007f0100000000000000000000000000000000000000000000000000000000000000023089898c60405160200180877effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168152600101867effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526001018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401848051906020019060200280838360005b83811015613c74578082015181840152602081019050613c59565b50505050905001838051906020019060200280838360005b83811015613ca7578082015181840152602081019050613c8c565b50505050905001826000191660001916815260200196505050505050506040516020818303038152906040526040518082805190602001908083835b602083101515613d085780518252602082019150602081019050602083039250613ce3565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902060405160200180807f19457468657265756d205369676e6564204d6573736167653a0a333200000000815250601c0182600019166000191681526020019150506040516020818303038152906040526040518082805190602001908083835b602083101515613db95780518252602082019150602081019050602083039250613d94565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390209250600091505b89518210156140fa576001838c84815181101515613e0757fe5b906020019060200201518c85815181101515613e1f57fe5b906020019060200201518c86815181101515613e3757fe5b90602001906020020151604051600081526020016040526040518085600019166000191681526020018460ff1660ff1681526020018360001916600019168152602001826000191660001916815260200194505050505060206040516020810390808403906000865af1158015613eb2573d6000803e3d6000fd5b505050602060405103519050600080896000191660001916815260200190815260200160002060060160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515613f9a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f496e76616c6964207369676e617475726500000000000000000000000000000081525060200191505060405180910390fd5b600080896000191660001916815260200190815260200160002060070160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151515614077576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f53616d65207369676e61747572652073656e742074776963650000000000000081525060200191505060405180910390fd5b60016000808a6000191660001916815260200190815260200160002060070160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508093508180600101925050613ded565b839450505050509695505050505050565b600080614121834261415f90919063ffffffff16565b905060008463ffffffff16146141535761414c610e108563ffffffff1661418090919063ffffffff16565b8111614156565b60005b91505092915050565b60008083831115151561417157600080fd5b82840390508091505092915050565b600080600084141561419557600091506141b7565b82840290508284828115156141a657fe5b041415156141b357600080fd5b8091505b50929150505600a165627a7a72305820d4633d2d4aea2c8c36417fd10e14eb327058dfb149d1ad83febf5938f4f888c00029", - "deployedBytecode": "0x6080604052600436106100ba576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806323b6fd3f146100bf5780632d9ef96e1461017957806346fbcdeb1461019d57806357bced7614610292578063642f2eaf14610383578063b0550c66146104e5578063b719e2801461054e578063b77bf60014610589578063be84ceaf146105b4578063e4ec8b001461064c578063f0786562146106f5578063f5dbe09c1461075e575b600080fd5b610177600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff169060200190929190803563ffffffff169060200190929190803560001916906020019092919080356bffffffffffffffffffffffff191690602001909291905050506107c7565b005b61019b6004803603810190808035600019169060200190929190505050610a26565b005b3480156101a957600080fd5b5061027460048036038101908080356bffffffffffffffffffffffff19169060200190929190803560ff169060200190929190803563ffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610eb4565b60405180826000191660001916815260200191505060405180910390f35b34801561029e57600080fd5b50610381600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff169060200190929190803563ffffffff16906020019092919080356000191690602001909291908035906020019092919080356bffffffffffffffffffffffff19169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611360565b005b34801561038f57600080fd5b506103b26004803603810190808035600019169060200190929190505050611840565b604051808b81526020018a81526020018960018111156103ce57fe5b60ff1681526020018860018111156103e257fe5b60ff1681526020018760ff1660ff1681526020018663ffffffff1663ffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019a505050505050505050505060405180910390f35b3480156104f157600080fd5b506105346004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061194b565b604051808215151515815260200191505060405180910390f35b34801561055a57600080fd5b506105876004803603810190808035600019169060200190929190803590602001909291905050506119bd565b005b34801561059557600080fd5b5061059e61209d565b6040518082815260200191505060405180910390f35b3480156105c057600080fd5b506105f5600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506120a3565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b8381101561063857808201518184015260208101905061061d565b505050509050019250505060405180910390f35b34801561065857600080fd5b506106f3600480360381019080803590602001908201803590602001919091929391929390803590602001908201803590602001919091929391929390803590602001908201803590602001919091929391929390803560001916906020019092919080359060200190820180359060200191909192939192939080359060200190820180359060200191909192939192939050505061213e565b005b34801561070157600080fd5b506107446004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506126a0565b604051808215151515815260200191505060405180910390f35b34801561076a57600080fd5b506107a9600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050612712565b60405180826000191660001916815260200191505060405180910390f35b81600080600083600019166000191681526020019081526020016000206000015414151561085d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f5472616e73616374696f6e20657869737473000000000000000000000000000081525060200191505060405180910390fd5b87600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610903576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b87600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156109a9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b6109bc8a8a8a8a8a8a348b600080612742565b3373ffffffffffffffffffffffffffffffffffffffff167fce7089d0668849fb9ca29778c0cbf1e764d9efb048d81fd71fb34c94f26db36886346040518083600019166000191681526020018281526020019250505060405180910390a250505050505050505050565b600081600080600083600019166000191681526020019081526020016000206000015414151515610abf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737473000000000081525060200191505060405180910390fd5b8260006001811115610acd57fe5b600080836000191660001916815260200190815260200160002060020160009054906101000a900460ff166001811115610b0357fe5b141515610b9e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001807f5472616e73616374696f6e2069732065697468657220696e206469737075746581526020017f206f722072656c6561736564207374617465000000000000000000000000000081525060400191505060405180910390fd5b836000806001811115610bad57fe5b600080846000191660001916815260200190815260200160002060020160019054906101000a900460ff166001811115610be357fe5b141515610c58576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5472616e73616374696f6e207479706520646f6573206e6f74206d617463680081525060200191505060405180910390fd5b85600080826000191660001916815260200190815260200160002060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610d5f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f54686520696e69746961746f72206f6620746865207472616e73616374696f6e81526020017f206973206e6f742062757965720000000000000000000000000000000000000081525060400191505060405180910390fd5b349550600086111515610dda576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f56616c7565206d7573742062652067726561746572207468616e207a65726f2e81525060200191505060405180910390fd5b610e0a866000808a60001916600019168152602001908152602001600020600001546130ce90919063ffffffff16565b600080896000191660001916815260200190815260200160002060000181905550426000808960001916600019168152602001908152602001600020600101819055503373ffffffffffffffffffffffffffffffffffffffff167ff66fd2ae9e24a6a24b02e1b5b7512ffde5149a4176085fc0298ae228c9b9d72988886040518083600019166000191681526020018281526020019250505060405180910390a250505050505050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611100578787878787873060405160200180886bffffffffffffffffffffffff19166bffffffffffffffffffffffff191681526014018760ff1660ff167f01000000000000000000000000000000000000000000000000000000000000000281526001018663ffffffff1663ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014019750505050505050506040516020818303038152906040526040518082805190602001908083835b6020831015156110cc57805182526020820191506020810190506020830392506110a7565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390209050611355565b878787878787308860405160200180896bffffffffffffffffffffffff19166bffffffffffffffffffffffff191681526014018860ff1660ff167f01000000000000000000000000000000000000000000000000000000000000000281526001018763ffffffff1663ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401985050505050505050506040516020818303038152906040526040518082805190602001908083835b6020831015156113255780518252602082019150602081019050602083039250611300565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902090505b979650505050505050565b60008460008060008360001916600019168152602001908152602001600020600001541415156113f8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f5472616e73616374696f6e20657869737473000000000000000000000000000081525060200191505060405180910390fd5b8a600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561149e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b8a600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515611544576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b84600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156115ea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b6115fd8e8e8e8e8e8e8e8e60018f612742565b8594508473ffffffffffffffffffffffffffffffffffffffff166323b872dd33308b6040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b1580156116d757600080fd5b505af11580156116eb573d6000803e3d6000fd5b505050506040513d602081101561170157600080fd5b810190808051906020019092919050505015156117d2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252605c8152602001807f546f6b656e207472616e73666572206661696c65642c206d6179626520796f7581526020017f20646964206e6f7420617070726f766520657363726f7720636f6e747261637481526020017f20746f207370656e64206f6e20626568616c66206f662062757965720000000081525060600191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff167fce7089d0668849fb9ca29778c0cbf1e764d9efb048d81fd71fb34c94f26db3688a8a6040518083600019166000191681526020018281526020019250505060405180910390a25050505050505050505050505050565b60006020528060005260406000206000915090508060000154908060010154908060020160009054906101000a900460ff16908060020160019054906101000a900460ff16908060020160029054906101000a900460ff16908060020160039054906101000a900463ffffffff16908060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060050160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508a565b6000806000846000191660001916815260200190815260200160002060080160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b60008083600080600083600019166000191681526020019081526020016000206000015414151515611a57576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737473000000000081525060200191505060405180910390fd5b8460006001811115611a6557fe5b600080836000191660001916815260200190815260200160002060020160009054906101000a900460ff166001811115611a9b57fe5b141515611b36576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001807f5472616e73616374696f6e2069732065697468657220696e206469737075746581526020017f206f722072656c6561736564207374617465000000000000000000000000000081525060400191505060405180910390fd5b856001806001811115611b4557fe5b600080846000191660001916815260200190815260200160002060020160019054906101000a900460ff166001811115611b7b57fe5b141515611bf0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5472616e73616374696f6e207479706520646f6573206e6f74206d617463680081525060200191505060405180910390fd5b87600080826000191660001916815260200190815260200160002060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611cf7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f54686520696e69746961746f72206f6620746865207472616e73616374696f6e81526020017f206973206e6f742062757965720000000000000000000000000000000000000081525060400191505060405180910390fd5b879650600087111515611d72576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f56616c7565206d7573742062652067726561746572207468616e207a65726f2e81525060200191505060405180910390fd5b6000808a6000191660001916815260200190815260200160002060040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1695508573ffffffffffffffffffffffffffffffffffffffff166323b872dd6000808c6000191660001916815260200190815260200160002060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff16308b6040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b158015611ec657600080fd5b505af1158015611eda573d6000803e3d6000fd5b505050506040513d6020811015611ef057600080fd5b81019080805190602001909291905050501515611fc1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252605c8152602001807f546f6b656e207472616e73666572206661696c65642c206d6179626520796f7581526020017f20646964206e6f7420617070726f766520657363726f7720636f6e747261637481526020017f20746f207370656e64206f6e20626568616c66206f662062757965720000000081525060600191505060405180910390fd5b611ff1876000808c60001916600019168152602001908152602001600020600001546130ce90919063ffffffff16565b6000808b6000191660001916815260200190815260200160002060000181905550426000808b60001916600019168152602001908152602001600020600101819055503373ffffffffffffffffffffffffffffffffffffffff167ff66fd2ae9e24a6a24b02e1b5b7512ffde5149a4176085fc0298ae228c9b9d7298a896040518083600019166000191681526020018281526020019250505060405180910390a2505050505050505050565b60015481565b6060600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080548060200260200160405190810160405280929190818152602001828054801561213257602002820191906000526020600020905b8154600019168152602001906001019080831161211a575b50505050509050919050565b846000806000836000191660001916815260200190815260200160002060000154141515156121d5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737473000000000081525060200191505060405180910390fd5b85600060018111156121e357fe5b600080836000191660001916815260200190815260200160002060020160009054906101000a900460ff16600181111561221957fe5b1415156122b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001807f5472616e73616374696f6e2069732065697468657220696e206469737075746581526020017f206f722072656c6561736564207374617465000000000000000000000000000081525060400191505060405180910390fd5b6000868690501180156122cc57508383905086869050145b1515612366576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001807f4c656e677468206f662064657374696e6174696f6e7320697320696e636f727281526020017f6563742e0000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b61245f8d8d808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508c8c808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508b8b808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508a8a8a808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508989808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050506130ef565b6001600080896000191660001916815260200190815260200160002060020160006101000a81548160ff0219169083600181111561249957fe5b021790555042600080896000191660001916815260200190815260200160002060010181905550600080886000191660001916815260200190815260200160002060000154612547888888808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508787808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050506132aa565b141515612608576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260488152602001807f546f74616c2076616c756520746f2062652072656c6561736564206d7573742081526020017f626520657175616c20746f20746865207472616e73616374696f6e206573637281526020017f6f772076616c756500000000000000000000000000000000000000000000000081525060600191505060405180910390fd5b7f688e2a1b34445bcd47b0e11ba2a9c8c4d850a1831b64199b59d1c70e2970154587878787876040518086600019166000191681526020018060200180602001838103835287878281815260200192506020028082843782019150508381038252858582818152602001925060200280828437820191505097505050505050505060405180910390a150505050505050505050505050565b6000806000846000191660001916815260200190815260200160002060070160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b60026020528160005260406000208181548110151561272d57fe5b90600052602060002001600091509150505481565b8873ffffffffffffffffffffffffffffffffffffffff168a73ffffffffffffffffffffffffffffffffffffffff16141515156127e6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f427579657220616e642073656c6c6572206172652073616d650000000000000081525060200191505060405180910390fd5b60008411151561285e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f56616c756520706173736564206973203000000000000000000000000000000081525060200191505060405180910390fd5b60008760ff16118015612875575060038760ff1611155b151561290f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603d8152602001807f5468726573686f6c642063616e6e6f742062652067726561746572207468616e81526020017f203320616e64206d7573742062652067726561746572207468616e203000000081525060400191505060405180910390fd5b60018760ff16148061294e5750600073ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff1614155b1515612a0e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252604f8152602001807f456974686572207468726573686f6c642073686f756c642062652031206f746881526020017f6572776973652076616c6964206d6f64657261746f722061646472657373207381526020017f686f756c6420626520706173736564000000000000000000000000000000000081525060600191505060405180910390fd5b612a1d8388888d8d8d87610eb4565b600019168560001916141515612ac1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260398152602001807f43616c63756c6174656420736372697074206861736820646f6573206e6f742081526020017f6d61746368207061737365642073637269707420686173682e0000000000000081525060400191505060405180910390fd5b6101406040519081016040528085815260200142815260200160006001811115612ae757fe5b8152602001836001811115612af857fe5b81526020018860ff1681526020018763ffffffff1681526020018b73ffffffffffffffffffffffffffffffffffffffff1681526020018a73ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020018973ffffffffffffffffffffffffffffffffffffffff168152506000808760001916600019168152602001908152602001600020600082015181600001556020820151816001015560408201518160020160006101000a81548160ff02191690836001811115612bd257fe5b021790555060608201518160020160016101000a81548160ff02191690836001811115612bfb57fe5b021790555060808201518160020160026101000a81548160ff021916908360ff16021790555060a08201518160020160036101000a81548163ffffffff021916908363ffffffff16021790555060c08201518160020160076101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060e08201518160030160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506101008201518160040160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506101208201518160050160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055509050506001600080876000191660001916815260200190815260200160002060060160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600080876000191660001916815260200190815260200160002060060160008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600080866000191660001916815260200190815260200160002060060160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151515612f52576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f456974686572206275796572206f722073656c6c65722069732070617373656481526020017f206173206d6f64657261746f720000000000000000000000000000000000000081525060400191505060405180910390fd5b60018760ff161115612fd2576001600080876000191660001916815260200190815260200160002060060160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b600160008154809291906001019190505550600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020859080600181540180825580915050906001820390600052602060002001600090919290919091509060001916905550600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002085908060018154018082558091505090600182039060005260206000200160009091929091909150906000191690555050505050505050505050565b60008082840190508381101515156130e557600080fd5b8091505092915050565b600080613100888888888888613a92565b9150613156600080876000191660001916815260200190815260200160002060020160039054906101000a900463ffffffff1660008088600019166000191681526020019081526020016000206001015461410b565b9050600080866000191660001916815260200190815260200160002060020160029054906101000a900460ff1660ff16885110801561320757508015806132065750600080866000191660001916815260200190815260200160002060030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b5b156132a0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001807f736967562e6c656e67746820697320756e64657220746865207468726573686f81526020017f6c642e000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b5050505050505050565b6000806000806000806000808a60001916600019168152602001908152602001600020945060009350600060018111156132e057fe5b8560020160019054906101000a900460ff1660018111156132fd57fe5b141561361457600092505b875183101561360f57600073ffffffffffffffffffffffffffffffffffffffff16888481518110151561333757fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff16141580156133c75750846006016000898581518110151561337457fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b151561343b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f4e6f7420612076616c69642064657374696e6174696f6e00000000000000000081525060200191505060405180910390fd5b6000878481518110151561344b57fe5b906020019060200201511115156134f0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001807f416d6f756e7420746f2062652073656e742073686f756c64206265206772656181526020017f746572207468616e20300000000000000000000000000000000000000000000081525060400191505060405180910390fd5b61351a878481518110151561350157fe5b90602001906020020151856130ce90919063ffffffff16565b935060018560080160008a8681518110151561353257fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550878381518110151561359b57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff166108fc88858151811015156135cc57fe5b906020019060200201519081150290604051600060405180830381858888f19350505050158015613601573d6000803e3d6000fd5b508280600101935050613308565b613a83565b60018081111561362057fe5b8560020160019054906101000a900460ff16600181111561363d57fe5b1415613a82578460040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169150600090505b8751811015613a8157600073ffffffffffffffffffffffffffffffffffffffff16888281518110151561369e57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff161415801561372e575084600601600089838151811015156136db57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15156137a2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f4e6f7420612076616c69642064657374696e6174696f6e00000000000000000081525060200191505060405180910390fd5b600087828151811015156137b257fe5b90602001906020020151111515613857576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001807f416d6f756e7420746f2062652073656e742073686f756c64206265206772656181526020017f746572207468616e20300000000000000000000000000000000000000000000081525060400191505060405180910390fd5b613881878281518110151561386857fe5b90602001906020020151856130ce90919063ffffffff16565b935060018560080160008a8481518110151561389957fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb898381518110151561391e57fe5b90602001906020020151898481518110151561393657fe5b906020019060200201516040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1580156139c557600080fd5b505af11580156139d9573d6000803e3d6000fd5b505050506040513d60208110156139ef57600080fd5b81019080805190602001909291905050501515613a74576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f546f6b656e207472616e73666572206661696c65642e0000000000000000000081525060200191505060405180910390fd5b808060010191505061366f565b5b5b83955050505050509392505050565b600080600080600088518a51148015613aac57508a518a51145b1515613b20576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f522c532c56206c656e677468206d69736d617463682e0000000000000000000081525060200191505060405180910390fd5b60197f01000000000000000000000000000000000000000000000000000000000000000260007f0100000000000000000000000000000000000000000000000000000000000000023089898c60405160200180877effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168152600101867effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526001018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401848051906020019060200280838360005b83811015613c74578082015181840152602081019050613c59565b50505050905001838051906020019060200280838360005b83811015613ca7578082015181840152602081019050613c8c565b50505050905001826000191660001916815260200196505050505050506040516020818303038152906040526040518082805190602001908083835b602083101515613d085780518252602082019150602081019050602083039250613ce3565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902060405160200180807f19457468657265756d205369676e6564204d6573736167653a0a333200000000815250601c0182600019166000191681526020019150506040516020818303038152906040526040518082805190602001908083835b602083101515613db95780518252602082019150602081019050602083039250613d94565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390209250600091505b89518210156140fa576001838c84815181101515613e0757fe5b906020019060200201518c85815181101515613e1f57fe5b906020019060200201518c86815181101515613e3757fe5b90602001906020020151604051600081526020016040526040518085600019166000191681526020018460ff1660ff1681526020018360001916600019168152602001826000191660001916815260200194505050505060206040516020810390808403906000865af1158015613eb2573d6000803e3d6000fd5b505050602060405103519050600080896000191660001916815260200190815260200160002060060160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515613f9a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f496e76616c6964207369676e617475726500000000000000000000000000000081525060200191505060405180910390fd5b600080896000191660001916815260200190815260200160002060070160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151515614077576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f53616d65207369676e61747572652073656e742074776963650000000000000081525060200191505060405180910390fd5b60016000808a6000191660001916815260200190815260200160002060070160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508093508180600101925050613ded565b839450505050509695505050505050565b600080614121834261415f90919063ffffffff16565b905060008463ffffffff16146141535761414c610e108563ffffffff1661418090919063ffffffff16565b8111614156565b60005b91505092915050565b60008083831115151561417157600080fd5b82840390508091505092915050565b600080600084141561419557600091506141b7565b82840290508284828115156141a657fe5b041415156141b357600080fd5b8091505b50929150505600a165627a7a72305820d4633d2d4aea2c8c36417fd10e14eb327058dfb149d1ad83febf5938f4f888c00029", - "sourceMap": "460:20514:0:-;;;1606:1;1572:35;;460:20514;8:9:-1;5:2;;;30:1;27;20:12;5:2;460:20514:0;;;;;;;", - "deployedSourceMap": "460:20514:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3828:702;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7831:598;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12215:999;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12215:999:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5630:1021;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5630:1021:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1514:51;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1514:51:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6875:221;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6875:221:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8689:924;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8689:924:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1572:35;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1572:35:0;;;;;;;;;;;;;;;;;;;;;;;9730:194;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9730:194:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;9730:194:0;;;;;;;;;;;;;;;;;10681:1063;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10681:1063:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7319:194;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7319:194:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1684:54;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1684:54:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3828:702;4106:10;2030:1;1996:12;:24;2009:10;1996:24;;;;;;;;;;;;;;;;;:30;;;:35;1988:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4141:5;2380:1;2354:28;;:14;:28;;;;2346:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4171:6;2380:1;2354:28;;:14;:28;;;;2346:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4193:264;4222:5;4241:6;4261:9;4284;4307:12;4333:10;4357:9;4380:8;4402:21;4445:1;4193:15;:264::i;:::-;4500:10;4481:41;;;4488:10;4512:9;4481:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2416:1;2064;3828:702;;;;;;;;:::o;7831:598::-;8109:14;7939:10;1857:1;1823:12;:24;1836:10;1823:24;;;;;;;;;;;;;;;;;:30;;;:35;;1802:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7973:10;2187:13;2152:48;;;;;;;;:12;:24;2165:10;2152:24;;;;;;;;;;;;;;;;;:31;;;;;;;;;;;;:48;;;;;;;;;2131:133;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8014:10;8026:21;2614:15;2570:59;;;;;;;;:12;:24;2583:10;2570:24;;;;;;;;;;;;;;;;;:40;;;;;;;;;;;;:59;;;;;;;;;2549:125;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8067:10;2782:12;:24;2795:10;2782:24;;;;;;;;;;;;;;;;;:30;;;;;;;;;;;;2768:44;;:10;:44;;;2747:124;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8126:9;8109:26;;8163:1;8154:6;:10;8146:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8245;8293:6;8245:12;:24;8258:10;8245:24;;;;;;;;;;;;;;;;;:30;;;:47;;:55;;;;:::i;:::-;8212:12;:24;8225:10;8212:24;;;;;;;;;;;;;;;;;:30;;:88;;;;8350:15;8310:12;:24;8323:10;8310:24;;;;;;;;;;;;;;;;;:37;;:55;;;;8403:10;8381:41;;;8391:10;8415:6;8381:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2684:1;2274;;1909;7831:598;;;:::o;12215:999::-;12485:7;12536:1;12512:26;;:12;:26;;;12508:700;;;12626:8;12656:9;12687:12;12721:5;12748:6;12776:9;12807:4;12588:241;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;12588:241:0;;;12561:282;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;12561:282:0;;;;;;;;;;;;;;;;12554:289;;;;12508:700;12946:8;12976:9;13007:12;13041:5;13068:6;13096:9;13127:4;13153:12;12908:275;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;12908:275:0;;;12881:316;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;12881:316:0;;;;;;;;;;;;;;;;12874:323;;12215:999;;;;;;;;;;:::o;5630:1021::-;6348:20;5950:10;2030:1;1996:12;:24;2009:10;1996:24;;;;;;;;;;;;;;;;;:30;;;:35;1988:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5985:5;2380:1;2354:28;;:14;:28;;;;2346:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6015:6;2380:1;2354:28;;:14;:28;;;;2346:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6046:12;2380:1;2354:28;;:14;:28;;;;2346:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6075:262;6104:5;6123:6;6143:9;6166;6189:12;6215:10;6239:5;6258:8;6280:21;6315:12;6075:15;:262::i;:::-;6386:12;6348:51;;6431:5;:18;;;6450:10;6462:4;6468:5;6431:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6431:43:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6431:43:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6431:43:0;;;;;;;;;;;;;;;;6410:182;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6626:10;6607:37;;;6614:10;6638:5;6607:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2416:1;;2064;5630:1021;;;;;;;;;;;:::o;1514:51::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;6875:221::-;7011:4;7038:12;:24;7051:10;7038:24;;;;;;;;;;;;;;;;;:38;;:51;7077:11;7038:51;;;;;;;;;;;;;;;;;;;;;;;;;7031:58;;6875:221;;;;:::o;8689:924::-;8975:14;9074:20;8821:10;1857:1;1823:12;:24;1836:10;1823:24;;;;;;;;;;;;;;;;;:30;;;:35;;1802:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8855:10;2187:13;2152:48;;;;;;;;:12;:24;2165:10;2152:24;;;;;;;;;;;;;;;;;:31;;;;;;;;;;;;:48;;;;;;;;;2131:133;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8896:10;8908:21;2614:15;2570:59;;;;;;;;:12;:24;2583:10;2570:24;;;;;;;;;;;;;;;;;:40;;;;;;;;;;;;:59;;;;;;;;;2549:125;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8949:10;2782:12;:24;2795:10;2782:24;;;;;;;;;;;;;;;;;:30;;;;;;;;;;;;2768:44;;:10;:44;;;2747:124;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8992:5;8975:22;;9025:1;9016:6;:10;9008:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9125:12;:24;9138:10;9125:24;;;;;;;;;;;;;;;;;:37;;;;;;;;;;;;9074:98;;9204:5;:18;;;9223:12;:24;9236:10;9223:24;;;;;;;;;;;;;;;;;:30;;;;;;;;;;;;9255:4;9261:5;9204:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9204:63:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9204:63:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;9204:63:0;;;;;;;;;;;;;;;;9183:202;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9429:55;9477:6;9429:12;:24;9442:10;9429:24;;;;;;;;;;;;;;;;;:30;;;:47;;:55;;;;:::i;:::-;9396:12;:24;9409:10;9396:24;;;;;;;;;;;;;;;;;:30;;:88;;;;9534:15;9494:12;:24;9507:10;9494:24;;;;;;;;;;;;;;;;;:37;;:55;;;;9587:10;9565:41;;;9575:10;9599:6;9565:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2684:1;2274;;1909;8689:924;;;;;:::o;1572:35::-;;;;:::o;9730:194::-;9852:9;9885:18;:32;9904:12;9885:32;;;;;;;;;;;;;;;9878:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9730:194;;;:::o;10681:1063::-;10904:10;1857:1;1823:12;:24;1836:10;1823:24;;;;;;;;;;;;;;;;;:30;;;:35;;1802:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10938:10;2187:13;2152:48;;;;;;;;:12;:24;2165:10;2152:24;;;;;;;;;;;;;;;;;:31;;;;;;;;;;;;:48;;;;;;;;;2131:133;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11005:1;10985:12;;:19;;:21;:62;;;;;11033:7;;:14;;11010:12;;:19;;:37;10985:62;10964:133;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11108:152;11139:4;;11108:152;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11157:4;;11108:152;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11175:4;;11108:152;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11193:10;11217:12;;11108:152;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11243:7;;11108:152;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:17;:152::i;:::-;11305:15;11271:12;:24;11284:10;11271:24;;;;;;;;;;;;;;;;;:31;;;:49;;;;;;;;;;;;;;;;;;;;;;;;11444:15;11404:12;:24;11417:10;11404:24;;;;;;;;;;;;;;;;;:37;;:55;;;;11542:12;:24;11555:10;11542:24;;;;;;;;;;;;;;;;;:30;;;11490:48;11504:10;11516:12;;11490:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11530:7;;11490:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:13;:48::i;:::-;:82;11469:201;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11694:43;11703:10;11715:12;;11729:7;;11694:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1909:1;10681:1063;;;;;;;;;;;;:::o;7319:194::-;7442:4;7469:12;:24;7482:10;7469:24;;;;;;;;;;;;;;;;;:30;;:37;7500:5;7469:37;;;;;;;;;;;;;;;;;;;;;;;;;7462:44;;7319:194;;;;:::o;1684:54::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;18337:2635::-;18699:6;18690:15;;:5;:15;;;;18682:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18810:1;18802:5;:9;18794:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18948:1;18936:9;:13;;;:31;;;;;18966:1;18953:9;:14;;;;18936:31;18915:140;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19337:1;19324:9;:14;;;:41;;;;19363:1;19342:23;;:9;:23;;;;19324:41;19303:167;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19516:226;19559:8;19585:9;19612:12;19642:5;19665:6;19689:9;19716:12;19516:25;:226::i;:::-;19502:240;;;:10;:240;;;;19481:345;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19864:373;;;;;;;;;19985:5;19864:373;;;;20053:15;19864:373;;;;20012:13;19864:373;;;;;;;;;;;;20172:15;19864:373;;;;;;;;;;;;20093:9;19864:373;;;;;;20130:12;19864:373;;;;;;19897:5;19864:373;;;;;;19924:6;19864:373;;;;;;20214:12;19864:373;;;;;;19955:9;19864:373;;;;;19837:12;:24;19850:10;19837:24;;;;;;;;;;;;;;;;;:400;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20291:4;20248:12;:24;20261:10;20248:24;;;;;;;;;;;;;;;;;:32;;:40;20281:6;20248:40;;;;;;;;;;;;;;;;:47;;;;;;;;;;;;;;;;;;20347:4;20305:12;:24;20318:10;20305:24;;;;;;;;;;;;;;;;;:32;;:39;20338:5;20305:39;;;;;;;;;;;;;;;;:46;;;;;;;;;;;;;;;;;;20459:12;:24;20472:10;20459:24;;;;;;;;;;;;;;;;;:32;;:43;20492:9;20459:43;;;;;;;;;;;;;;;;;;;;;;;;;20458:44;20437:137;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20746:1;20734:9;:13;;;20730:93;;;20808:4;20762:12;:24;20775:10;20762:24;;;;;;;;;;;;;;;;;:32;;:43;20795:9;20762:43;;;;;;;;;;;;;;;;:50;;;;;;;;;;;;;;;;;;20730:93;20841:16;;:18;;;;;;;;;;;;;20870;:25;20889:5;20870:25;;;;;;;;;;;;;;;20901:10;20870:42;;39:1:-1;33:3;27:10;23:18;57:10;52:3;45:23;79:10;72:17;;0:93;20870:42:0;;;;;;;;;;;;;;;;;;;;;;;;;;;20922:18;:26;20941:6;20922:26;;;;;;;;;;;;;;;20954:10;20922:43;;39:1:-1;33:3;27:10;23:18;57:10;52:3;45:23;79:10;72:17;;0:93;20922:43:0;;;;;;;;;;;;;;;;;;;;;;;;;;;18337:2635;;;;;;;;;;:::o;1272:131:2:-;1330:7;1345:9;1361:1;1357;:5;1345:17;;1381:1;1376;:6;;1368:15;;;;;;;;1397:1;1390:8;;1272:131;;;;;:::o;13488:952:0:-;13708:21;13894:20;13732:151;13762:4;13780;13798;13816:10;13840:12;13866:7;13732:16;:151::i;:::-;13708:175;;13917:129;13948:12;:24;13961:10;13948:24;;;;;;;;;;;;;;;;;:37;;;;;;;;;;;;13999:12;:24;14012:10;13999:24;;;;;;;;;;;;;;;;;:37;;;13917:17;:129::i;:::-;13894:152;;14232:12;:24;14245:10;14232:24;;;;;;;;;;;;;;;;;:34;;;;;;;;;;;;14218:48;;:4;:11;:48;:122;;;;;14272:15;14271:16;:68;;;;14308:12;:24;14321:10;14308:24;;;;;;;;;;;;;;;;;:31;;;;;;;;;;;;14291:48;;:13;:48;;;;14271:68;14218:122;14197:236;;;14377:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14197:236;13488:952;;;;;;;;:::o;14566:1607::-;14713:7;14736:21;14795:24;14901:9;15538:20;15611:9;14760:12;:24;14773:10;14760:24;;;;;;;;;;;;;;;;;14736:48;;14822:1;14795:28;;14859:21;14838:42;;;;;;;;:1;:17;;;;;;;;;;;;:42;;;;;;;;;14834:1299;;;14913:1;14901:13;;14896:562;14920:12;:19;14916:1;:23;14896:562;;;15000:1;14973:29;;:12;14986:1;14973:15;;;;;;;;;;;;;;;;;;:29;;;;:59;;;;;15006:1;:9;;:26;15016:12;15029:1;15016:15;;;;;;;;;;;;;;;;;;15006:26;;;;;;;;;;;;;;;;;;;;;;;;;14973:59;14965:95;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15099:1;15086:7;15094:1;15086:10;;;;;;;;;;;;;;;;;;:14;15078:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15185:32;15206:7;15214:1;15206:10;;;;;;;;;;;;;;;;;;15185:16;:20;;:32;;;;:::i;:::-;15166:51;;15271:4;15236:1;:15;;:32;15252:12;15265:1;15252:15;;;;;;;;;;;;;;;;;;15236:32;;;;;;;;;;;;;;;;:39;;;;;;;;;;;;;;;;;;15322:12;15335:1;15322:15;;;;;;;;;;;;;;;;;;:24;;:36;15347:7;15355:1;15347:10;;;;;;;;;;;;;;;;;;15322:36;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;15322:36:0;14941:3;;;;;;;14896:562;;;14834:1299;;;15500:21;15479:42;;;;;;;;:1;:17;;;;;;;;;;;;:42;;;;;;;;;15475:658;;;15576:1;:14;;;;;;;;;;;;15538:53;;15623:1;15611:13;;15606:517;15628:12;:19;15626:1;:21;15606:517;;;15708:1;15681:29;;:12;15694:1;15681:15;;;;;;;;;;;;;;;;;;:29;;;;:59;;;;;15714:1;:9;;:26;15724:12;15737:1;15724:15;;;;;;;;;;;;;;;;;;15714:26;;;;;;;;;;;;;;;;;;;;;;;;;15681:59;15673:95;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15807:1;15794:7;15802:1;15794:10;;;;;;;;;;;;;;;;;;:14;15786:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15893:32;15914:7;15922:1;15914:10;;;;;;;;;;;;;;;;;;15893:16;:20;;:32;;;;:::i;:::-;15874:51;;15978:4;15943:1;:15;;:32;15959:12;15972:1;15959:15;;;;;;;;;;;;;;;;;;15943:32;;;;;;;;;;;;;;;;:39;;;;;;;;;;;;;;;;;;16038:5;:14;;;16053:12;16066:1;16053:15;;;;;;;;;;;;;;;;;;16070:7;16078:1;16070:10;;;;;;;;;;;;;;;;;;16038:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;16038:43:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;16038:43:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;16038:43:0;;;;;;;;;;;;;;;;16030:78;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15649:3;;;;;;;15606:517;;;15475:658;14834:1299;16150:16;16143:23;;14566:1607;;;;;;;;;;:::o;16357:1571::-;16578:7;16739:19;16857:14;17316:6;17365:17;16638:4;:11;16623:4;:11;:26;:56;;;;;16668:4;:11;16653:4;:11;:26;16623:56;16602:126;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17061:4;17056:10;;17097:1;17092:7;;17125:4;17155:12;17193:7;17226:10;17014:244;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;17014:244:0;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;17014:244:0;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;17014:244:0;;;16983:293;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;16983:293:0;;;;;;;;;;;;;;;;16897:393;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;16897:393:0;;;16874:426;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;16874:426:0;;;;;;;;;;;;;;;;16857:443;;17325:1;17316:10;;17311:582;17332:4;:11;17328:1;:15;17311:582;;;17385:122;17412:6;17436:4;17441:1;17436:7;;;;;;;;;;;;;;;;;;17461:4;17466:1;17461:7;;;;;;;;;;;;;;;;;;17486:4;17491:1;17486:7;;;;;;;;;;;;;;;;;;17385:122;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;17385:122:0;;;;;;;;17365:142;;17547:12;:24;17560:10;17547:24;;;;;;;;;;;;;;;;;:32;;:43;17580:9;17547:43;;;;;;;;;;;;;;;;;;;;;;;;;17522:120;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17682:12;:24;17695:10;17682:24;;;;;;;;;;;;;;;;;:30;;:41;17713:9;17682:41;;;;;;;;;;;;;;;;;;;;;;;;;17681:42;17656:127;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17841:4;17797:12;:24;17810:10;17797:24;;;;;;;;;;;;;;;;;:30;;:41;17828:9;17797:41;;;;;;;;;;;;;;;;:48;;;;;;;;;;;;;;;;;;17873:9;17859:23;;17345:3;;;;;;;17311:582;;;17910:11;17903:18;;16357:1571;;;;;;;;;;;;:::o;17934:316::-;18072:4;18092:17;18112:21;18120:12;18112:3;:7;;:21;;;;:::i;:::-;18092:41;;18180:1;18164:12;:17;;;:69;;18202:31;18228:4;18210:12;18202:21;;:25;;:31;;;;:::i;:::-;18190:9;:43;18164:69;;;18184:5;18164:69;18143:100;;17934:316;;;;;:::o;1078:131:2:-;1136:7;1172:9;1164:1;1159;:6;;1151:15;;;;;;;;1188:1;1184;:5;1172:17;;1203:1;1196:8;;1078:131;;;;;:::o;204:381::-;262:7;523:9;491:1;486;:6;482:35;;;509:1;502:8;;;;482:35;539:1;535;:5;523:17;;563:1;558;554;:5;;;;;;;;:10;546:19;;;;;;;;579:1;572:8;;204:381;;;;;;:::o", - "source": "pragma solidity 0.4.24;\n\nimport \"openzeppelin-solidity/contracts/math/SafeMath.sol\";\n\nimport \"../token/ITokenContract.sol\";\n\n\n/**\n* @dev Supports ERC20 tokens\n* The escrow smart contract for the open bazaar trades in Ethereum\n* The smart contract is desgined keeping in mind the current wallet interface of the OB-core\n* https://github.com/OpenBazaar/wallet-interface/blob/master/wallet.go\n* Current wallet interface strictly adheres to UTXO(bitcoin) model\n*/\ncontract Escrow_v1_0 {\n\n using SafeMath for uint256;\n\n enum Status {FUNDED, RELEASED}\n\n enum TransactionType {ETHER, TOKEN}\n\n event Executed(\n bytes32 scriptHash,\n address[] destinations,\n uint256[] amounts\n );\n\n event FundAdded(\n bytes32 scriptHash,\n address indexed from,\n uint256 valueAdded\n );\n\n event Funded(bytes32 scriptHash, address indexed from, uint256 value);\n\n struct Transaction {\n uint256 value;\n uint256 lastModified;//Time at which transaction was last modified\n Status status;\n TransactionType transactionType;\n uint8 threshold;\n uint32 timeoutHours;\n address buyer;\n address seller;\n address tokenAddress;// Token address in case of token transfer\n address moderator;\n mapping(address=>bool) isOwner;//to keep track of owners/signers.\n mapping(address=>bool) voted;//to keep track of who all voted\n mapping(address=>bool) beneficiaries;//Benefeciaries of execution\n }\n\n mapping(bytes32 => Transaction) public transactions;\n\n uint256 public transactionCount = 0;\n\n //Contains mapping between each party and all of his transactions\n mapping(address => bytes32[])public partyVsTransaction;\n\n modifier transactionExists(bytes32 scriptHash) {\n require(\n transactions[scriptHash].value != 0, \"Transaction does not exists\"\n );\n _;\n }\n\n modifier transactionDoesNotExists (bytes32 scriptHash) {\n require(transactions[scriptHash].value == 0, \"Transaction exists\");\n _;\n }\n\n modifier inFundedState(bytes32 scriptHash) {\n require(\n transactions[scriptHash].status == Status.FUNDED, \"Transaction is either in dispute or released state\"\n );\n _;\n }\n\n modifier nonZeroAddress(address addressToCheck) {\n require(addressToCheck != address(0), \"Zero address passed\");\n _;\n }\n\n modifier checkTransactionType(\n bytes32 scriptHash,\n TransactionType transactionType\n )\n {\n require(\n transactions[scriptHash].transactionType == transactionType, \"Transaction type does not match\"\n );\n _;\n }\n\n modifier onlyBuyer(bytes32 scriptHash) {\n require(\n msg.sender == transactions[scriptHash].buyer, \"The initiator of the transaction is not buyer\"\n );\n _;\n }\n\n /**\n *@dev Add new transaction in the contract\n *@param buyer The buyer of the transaction\n *@param seller The seller of the listing associated with the transaction\n *@param moderator Moderator for this transaction\n *@param scriptHash keccak256 hash of the redeem script\n *@param threshold Minimum number of singatures required to released funds\n *@param timeoutHours Hours after which seller can release funds into his favour by signing transaction\n *@param uniqueId bytes20 unique id for the transaction, generated by ETH wallet\n *Redeem Script format will be following\n \n * scripthash-> keccak256(uniqueId, threshold, timeoutHours, buyer, seller, moderator)\n *Pass amount of the ethers to be put in escrow\n *Please keep in mind you will have to add moderator fees also in the value\n */\n function addTransaction(\n address buyer,\n address seller,\n address moderator,\n uint8 threshold,\n uint32 timeoutHours,\n bytes32 scriptHash,\n bytes20 uniqueId\n )\n external\n payable\n transactionDoesNotExists(scriptHash)\n nonZeroAddress(buyer)\n nonZeroAddress(seller)\n {\n _addTransaction(\n buyer,\n seller,\n moderator,\n threshold,\n timeoutHours,\n scriptHash,\n msg.value,\n uniqueId,\n TransactionType.ETHER,\n address(0)\n );\n \n emit Funded(scriptHash, msg.sender, msg.value);\n\n }\n\n /**\n *@dev Add new transaction in the contract\n *@param buyer The buyer of the transaction\n *@param seller The seller of the listing associated with the transaction\n *@param moderator Moderator for this transaction\n *@param scriptHash keccak256 hash of the redeem script\n *@param threshold Minimum number of singatures required to released funds\n *@param timeoutHours Hours after which seller can release funds into his favour by signing transaction\n *@param value Amount of tokens to be put in escrow\n *@param uniqueId bytes20 unique id for the transaction, generated by ETH wallet\n *@param tokenAddress Address of the token to be used\n *Redeem Script format will be following\n \n * scripthash-> keccak256(uniqueId, threshold, timeoutHours, buyer, seller, moderator, tokenAddress)\n *approve escrow contract to spend amount of token on your behalf\n *Please keep in mind you will have to add moderator fees also in the value\n */\n function addTokenTransaction(\n address buyer,\n address seller,\n address moderator,\n uint8 threshold,\n uint32 timeoutHours,\n bytes32 scriptHash,\n uint256 value,\n bytes20 uniqueId,\n address tokenAddress\n )\n external\n transactionDoesNotExists(scriptHash)\n nonZeroAddress(buyer)\n nonZeroAddress(seller)\n nonZeroAddress(tokenAddress)\n {\n\n _addTransaction(\n buyer,\n seller,\n moderator,\n threshold,\n timeoutHours,\n scriptHash,\n value,\n uniqueId,\n TransactionType.TOKEN,\n tokenAddress\n );\n\n ITokenContract token = ITokenContract(tokenAddress);\n\n require(\n token.transferFrom(msg.sender, this, value),\n \"Token transfer failed, maybe you did not approve escrow contract to spend on behalf of buyer\"\n );\n emit Funded(scriptHash, msg.sender, value);\n }\n\n /**\n * @dev Check whether given address was a beneficiary of transaction execution or not\n * @param scriptHash script hash of the transaction\n * @param beneficiary Beneficiary address to be checked\n */\n function checkBeneficiary(\n bytes32 scriptHash,\n address beneficiary\n )\n external\n view\n returns (bool)\n {\n return transactions[scriptHash].beneficiaries[beneficiary];\n }\n\n /**\n * @dev Check whether given party has voted or not\n * @param scriptHash script hash of the transaction\n * @param party Address of the party whose vote has to be checked\n * @return bool vote\n */\n function checkVote(\n bytes32 scriptHash,\n address party\n )\n external\n view\n returns (bool)\n {\n return transactions[scriptHash].voted[party];\n }\n\n /**\n *@dev Allows buyer of the transaction to add more funds(ether) in the transaction. This will help to cater scenarios wherein initially buyer missed to fund transaction as required\n *@param scriptHash script hash of the transaction\n * Only buyer of the transaction can invoke this method\n */\n function addFundsToTransaction(\n bytes32 scriptHash\n )\n external\n transactionExists(scriptHash)\n inFundedState(scriptHash)\n checkTransactionType(scriptHash, TransactionType.ETHER)\n onlyBuyer(scriptHash)\n payable\n {\n uint256 _value = msg.value;\n\n require(_value > 0, \"Value must be greater than zero.\");\n\n transactions[scriptHash].value = transactions[scriptHash].value\n .add(_value);\n transactions[scriptHash].lastModified = block.timestamp;\n\n emit FundAdded(scriptHash, msg.sender, _value);\n }\n\n /**\n *@dev Allows buyer of the transaction to add more funds(Tokens) in the transaction. This will help to cater scenarios wherein initially buyer missed to fund transaction as required\n *@param scriptHash script hash of the transaction\n */\n function addTokensToTransaction(\n bytes32 scriptHash,\n uint256 value\n )\n external\n transactionExists(scriptHash)\n inFundedState(scriptHash)\n checkTransactionType(scriptHash, TransactionType.TOKEN)\n onlyBuyer(scriptHash)\n {\n uint256 _value = value;\n\n require(_value > 0, \"Value must be greater than zero.\");\n\n ITokenContract token = ITokenContract(\n transactions[scriptHash].tokenAddress\n );\n\n require(\n token.transferFrom(transactions[scriptHash].buyer, this, value),\n \"Token transfer failed, maybe you did not approve escrow contract to spend on behalf of buyer\"\n );\n\n transactions[scriptHash].value = transactions[scriptHash].value\n .add(_value);\n transactions[scriptHash].lastModified = block.timestamp;\n\n emit FundAdded(scriptHash, msg.sender, _value);\n }\n\n /**\n *@dev Returns all transaction ids for a party\n *@param partyAddress Address of the party\n */\n function getAllTransactionsForParty(\n address partyAddress\n ) \n external \n view \n returns (bytes32[]) \n {\n return partyVsTransaction[partyAddress];\n }\n\n /**\n *@dev Allows one of the moderator to collect all the signature to solve dispute and submit it to this method.\n * If all the required signatures are collected and consensus has been reached than funds will be released to the voted party\n *@param sigV Array containing V component of all the signatures\n *@param sigR Array containing R component of all the signatures\n *@param signS Array containing S component of all the signatures\n *@param scriptHash script hash of the transaction\n *@param destinations address of the destination in whose favour dispute resolution is taking place. In case of split payments it will be address of the split payments contract\n *@param amounts value to send to each destination\n */\n function execute(\n uint8[] sigV,\n bytes32[] sigR,\n bytes32[] sigS,\n bytes32 scriptHash,\n address[] destinations,\n uint256[] amounts\n )\n external\n transactionExists(scriptHash)\n inFundedState(scriptHash)\n {\n require(\n destinations.length>0 && destinations.length == amounts.length, \"Length of destinations is incorrect.\"\n );\n\n verifyTransaction(\n sigV,\n sigR,\n sigS,\n scriptHash,\n destinations,\n amounts\n );\n\n transactions[scriptHash].status = Status.RELEASED;\n //Last modified timestamp modified, which will be used by rewards\n transactions[scriptHash].lastModified = block.timestamp;\n require(\n transferFunds(scriptHash, destinations, amounts) == transactions[scriptHash].value,\n \"Total value to be released must be equal to the transaction escrow value\"\n );\n \n emit Executed(scriptHash, destinations, amounts);\n }\n\n\n /**\n *@dev Method for calculating script hash. Calculation will depend upon the type of transaction\n * ETHER Type transaction-:\n * Script Hash- keccak256(uniqueId, threshold, timeoutHours, buyer, seller, moderator)\n * TOKEN Type transaction\n * Script Hash- keccak256(uniqueId, threshold, timeoutHours, buyer, seller, moderator, tokenAddress)\n * Client can use this method to verify whether it has calculated correct script hash or not\n */\n function calculateRedeemScriptHash(\n bytes20 uniqueId,\n uint8 threshold,\n uint32 timeoutHours,\n address buyer,\n address seller,\n address moderator,\n address tokenAddress\n )\n public\n view\n returns (bytes32)\n {\n if (tokenAddress == address(0)) {\n return keccak256(\n abi.encodePacked(\n uniqueId,\n threshold,\n timeoutHours,\n buyer,\n seller,\n moderator,\n this\n )\n );\n } else {\n return keccak256(\n abi.encodePacked(\n uniqueId,\n threshold,\n timeoutHours,\n buyer,\n seller,\n moderator,\n this,\n tokenAddress\n )\n );\n }\n }\n\n /**\n * @dev This methods checks validity of transaction\n * 1. Verify Signatures\n * 2. Check if minimum number of signatures has been acquired\n * 3. If above condition is false, check if time lock is expired and the execution is signed by seller\n */\n function verifyTransaction(\n uint8[] sigV,\n bytes32[] sigR,\n bytes32[] sigS,\n bytes32 scriptHash,\n address[] destinations,\n uint256[] amounts\n )\n private\n {\n address lastRecovered = verifySignatures(\n sigV,\n sigR,\n sigS,\n scriptHash,\n destinations,\n amounts\n );\n\n bool timeLockExpired = isTimeLockExpired(\n transactions[scriptHash].timeoutHours,\n transactions[scriptHash].lastModified\n );\n\n //if Minimum number of signatures are not gathered and timelock has not expired or transaction was not signed by seller then revert\n if (\n sigV.length < transactions[scriptHash].threshold && (!timeLockExpired || lastRecovered != transactions[scriptHash].seller)\n )\n {\n revert(\"sigV.length is under the threshold.\");\n }\n\n }\n\n /**\n *@dev Private method to transfer funds to the destination addresses on the basis of transaction type\n */\n function transferFunds(\n bytes32 scriptHash,\n address[]destinations,\n uint256[]amounts\n )\n private\n returns (uint256)\n {\n Transaction storage t = transactions[scriptHash];\n\n uint256 valueTransferred = 0;\n\n if (t.transactionType == TransactionType.ETHER) {\n for (uint256 i = 0; i < destinations.length; i++) {\n\n require(destinations[i] != address(0) && t.isOwner[destinations[i]], \"Not a valid destination\");\n require(amounts[i] > 0, \"Amount to be sent should be greater than 0\");\n\n valueTransferred = valueTransferred.add(amounts[i]);\n\n t.beneficiaries[destinations[i]] = true;//add receiver as beneficiary\n destinations[i].transfer(amounts[i]);//shall we use send instead of transfer to stop malicious actors from blocking funds?\n }\n\n } else if (t.transactionType == TransactionType.TOKEN) {\n\n ITokenContract token = ITokenContract(t.tokenAddress);\n\n for (uint256 j = 0; j 0, \"Amount to be sent should be greater than 0\");\n\n valueTransferred = valueTransferred.add(amounts[j]);\n t.beneficiaries[destinations[j]] = true;//add receiver as beneficiary\n\n require(token.transfer(destinations[j], amounts[j]), \"Token transfer failed.\");\n }\n } \n return valueTransferred;\n }\n\n //to check whether the signature are valid or not and if consensus was reached\n //returns the last address recovered, in case of timeout this must be the sender's address\n function verifySignatures(\n uint8[] sigV,\n bytes32[] sigR,\n bytes32[] sigS,\n bytes32 scriptHash,\n address[] destinations,\n uint256[]amounts\n )\n private\n returns (address)\n {\n\n require(\n sigR.length == sigS.length && sigR.length == sigV.length, \n \"R,S,V length mismatch.\"\n );\n\n address lastAddress;\n\n // Follows ERC191 signature scheme: https://github.com/ethereum/EIPs/issues/191\n bytes32 txHash = keccak256(\n abi.encodePacked(\n \"\\x19Ethereum Signed Message:\\n32\",\n keccak256(\n abi.encodePacked(\n byte(0x19),\n byte(0),\n this,\n destinations,\n amounts,\n scriptHash\n )\n )\n )\n );\n\n for (uint i = 0; i < sigR.length; i++) {\n\n address recovered = ecrecover(\n txHash,\n sigV[i],\n sigR[i],\n sigS[i]\n );\n\n require(\n transactions[scriptHash].isOwner[recovered], \n \"Invalid signature\"\n );\n require(\n !transactions[scriptHash].voted[recovered], \n \"Same signature sent twice\"\n );\n transactions[scriptHash].voted[recovered] = true;\n lastAddress = recovered;\n }\n\n return lastAddress;\n }\n\n function isTimeLockExpired(\n uint32 timeoutHours,\n uint256 lastModified\n )\n private\n view\n returns (bool)\n {\n uint256 timeSince = now.sub(lastModified);\n return (\n timeoutHours == 0 ? false:timeSince > uint256(timeoutHours).mul(3600)\n );\n }\n\n /**\n * Private method to add transaction to reduce code redundancy\n */\n function _addTransaction(\n address buyer,\n address seller,\n address moderator,\n uint8 threshold,\n uint32 timeoutHours,\n bytes32 scriptHash,\n uint256 value,\n bytes20 uniqueId,\n TransactionType transactionType,\n address tokenAddress\n )\n private\n { \n require(buyer != seller, \"Buyer and seller are same\");\n\n //value passed should be greater than 0\n require(value > 0, \"Value passed is 0\");\n\n // For now allowing 0 moderator to support 1-2 multisig wallet\n require(\n threshold > 0 && threshold <= 3, \n \"Threshold cannot be greater than 3 and must be greater than 0\"\n );\n\n //if threshold is 1 then moderator can be passed as zero address or any other address(it wont matter aopart from scripthash since we wont add moderator as one of the owner)\n //otherwise moderator should be a valid address\n require(\n threshold == 1 || moderator != address(0),\n \"Either threshold should be 1 otherwise valid moderator address should be passed\"\n );\n\n require(\n scriptHash == calculateRedeemScriptHash(\n uniqueId,\n threshold,\n timeoutHours,\n buyer,\n seller,\n moderator,\n tokenAddress\n ), \n \"Calculated script hash does not match passed script hash.\"\n );\n\n transactions[scriptHash] = Transaction({\n buyer: buyer,\n seller: seller,\n moderator: moderator,\n value: value,\n status: Status.FUNDED,\n lastModified: block.timestamp,\n threshold: threshold,\n timeoutHours: timeoutHours,\n transactionType:transactionType,\n tokenAddress:tokenAddress\n });\n\n transactions[scriptHash].isOwner[seller] = true;\n transactions[scriptHash].isOwner[buyer] = true; \n\n //Check if buyer or seller are not passed as moderator\n require(\n !transactions[scriptHash].isOwner[moderator], \n \"Either buyer or seller is passed as moderator\"\n );\n\n //set moderator as one of the owners only if threshold is greater than 1 otherwise only buyer and seller should be able to release funds\n if (threshold > 1){\n transactions[scriptHash].isOwner[moderator] = true;\n }\n \n\n transactionCount++;\n\n partyVsTransaction[buyer].push(scriptHash);\n partyVsTransaction[seller].push(scriptHash);\n }\n}\n", + "bytecode": "0x6080604052600060015534801561001557600080fd5b50614210806100256000396000f3006080604052600436106100ba576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806323b6fd3f146100bf5780632d9ef96e1461017957806346fbcdeb1461019d57806357bced7614610292578063642f2eaf14610383578063b0550c66146104e5578063b719e2801461054e578063b77bf60014610589578063be84ceaf146105b4578063e4ec8b001461064c578063f0786562146106f5578063f5dbe09c1461075e575b600080fd5b610177600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff169060200190929190803563ffffffff169060200190929190803560001916906020019092919080356bffffffffffffffffffffffff191690602001909291905050506107c7565b005b61019b6004803603810190808035600019169060200190929190505050610a26565b005b3480156101a957600080fd5b5061027460048036038101908080356bffffffffffffffffffffffff19169060200190929190803560ff169060200190929190803563ffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610eb4565b60405180826000191660001916815260200191505060405180910390f35b34801561029e57600080fd5b50610381600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff169060200190929190803563ffffffff16906020019092919080356000191690602001909291908035906020019092919080356bffffffffffffffffffffffff19169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611360565b005b34801561038f57600080fd5b506103b26004803603810190808035600019169060200190929190505050611840565b604051808b81526020018a81526020018960018111156103ce57fe5b60ff1681526020018860018111156103e257fe5b60ff1681526020018760ff1660ff1681526020018663ffffffff1663ffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019a505050505050505050505060405180910390f35b3480156104f157600080fd5b506105346004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061194b565b604051808215151515815260200191505060405180910390f35b34801561055a57600080fd5b506105876004803603810190808035600019169060200190929190803590602001909291905050506119bd565b005b34801561059557600080fd5b5061059e61209d565b6040518082815260200191505060405180910390f35b3480156105c057600080fd5b506105f5600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506120a3565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b8381101561063857808201518184015260208101905061061d565b505050509050019250505060405180910390f35b34801561065857600080fd5b506106f3600480360381019080803590602001908201803590602001919091929391929390803590602001908201803590602001919091929391929390803590602001908201803590602001919091929391929390803560001916906020019092919080359060200190820180359060200191909192939192939080359060200190820180359060200191909192939192939050505061213e565b005b34801561070157600080fd5b506107446004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506126a0565b604051808215151515815260200191505060405180910390f35b34801561076a57600080fd5b506107a9600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050612712565b60405180826000191660001916815260200191505060405180910390f35b81600080600083600019166000191681526020019081526020016000206000015414151561085d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f5472616e73616374696f6e20657869737473000000000000000000000000000081525060200191505060405180910390fd5b87600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610903576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b87600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156109a9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b6109bc8a8a8a8a8a8a348b600080612742565b3373ffffffffffffffffffffffffffffffffffffffff167fce7089d0668849fb9ca29778c0cbf1e764d9efb048d81fd71fb34c94f26db36886346040518083600019166000191681526020018281526020019250505060405180910390a250505050505050505050565b600081600080600083600019166000191681526020019081526020016000206000015414151515610abf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737473000000000081525060200191505060405180910390fd5b8260006001811115610acd57fe5b600080836000191660001916815260200190815260200160002060020160009054906101000a900460ff166001811115610b0357fe5b141515610b9e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001807f5472616e73616374696f6e2069732065697468657220696e206469737075746581526020017f206f722072656c6561736564207374617465000000000000000000000000000081525060400191505060405180910390fd5b836000806001811115610bad57fe5b600080846000191660001916815260200190815260200160002060020160019054906101000a900460ff166001811115610be357fe5b141515610c58576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5472616e73616374696f6e207479706520646f6573206e6f74206d617463680081525060200191505060405180910390fd5b85600080826000191660001916815260200190815260200160002060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610d5f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f54686520696e69746961746f72206f6620746865207472616e73616374696f6e81526020017f206973206e6f742062757965720000000000000000000000000000000000000081525060400191505060405180910390fd5b349550600086111515610dda576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f56616c7565206d7573742062652067726561746572207468616e207a65726f2e81525060200191505060405180910390fd5b610e0a866000808a60001916600019168152602001908152602001600020600001546130ce90919063ffffffff16565b600080896000191660001916815260200190815260200160002060000181905550426000808960001916600019168152602001908152602001600020600101819055503373ffffffffffffffffffffffffffffffffffffffff167ff66fd2ae9e24a6a24b02e1b5b7512ffde5149a4176085fc0298ae228c9b9d72988886040518083600019166000191681526020018281526020019250505060405180910390a250505050505050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611100578787878787873060405160200180886bffffffffffffffffffffffff19166bffffffffffffffffffffffff191681526014018760ff1660ff167f01000000000000000000000000000000000000000000000000000000000000000281526001018663ffffffff1663ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014019750505050505050506040516020818303038152906040526040518082805190602001908083835b6020831015156110cc57805182526020820191506020810190506020830392506110a7565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390209050611355565b878787878787308860405160200180896bffffffffffffffffffffffff19166bffffffffffffffffffffffff191681526014018860ff1660ff167f01000000000000000000000000000000000000000000000000000000000000000281526001018763ffffffff1663ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401985050505050505050506040516020818303038152906040526040518082805190602001908083835b6020831015156113255780518252602082019150602081019050602083039250611300565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902090505b979650505050505050565b60008460008060008360001916600019168152602001908152602001600020600001541415156113f8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f5472616e73616374696f6e20657869737473000000000000000000000000000081525060200191505060405180910390fd5b8a600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561149e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b8a600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515611544576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b84600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156115ea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b6115fd8e8e8e8e8e8e8e8e60018f612742565b8594508473ffffffffffffffffffffffffffffffffffffffff166323b872dd33308b6040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b1580156116d757600080fd5b505af11580156116eb573d6000803e3d6000fd5b505050506040513d602081101561170157600080fd5b810190808051906020019092919050505015156117d2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252605c8152602001807f546f6b656e207472616e73666572206661696c65642c206d6179626520796f7581526020017f20646964206e6f7420617070726f766520657363726f7720636f6e747261637481526020017f20746f207370656e64206f6e20626568616c66206f662062757965720000000081525060600191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff167fce7089d0668849fb9ca29778c0cbf1e764d9efb048d81fd71fb34c94f26db3688a8a6040518083600019166000191681526020018281526020019250505060405180910390a25050505050505050505050505050565b60006020528060005260406000206000915090508060000154908060010154908060020160009054906101000a900460ff16908060020160019054906101000a900460ff16908060020160029054906101000a900460ff16908060020160039054906101000a900463ffffffff16908060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060050160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508a565b6000806000846000191660001916815260200190815260200160002060080160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b60008083600080600083600019166000191681526020019081526020016000206000015414151515611a57576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737473000000000081525060200191505060405180910390fd5b8460006001811115611a6557fe5b600080836000191660001916815260200190815260200160002060020160009054906101000a900460ff166001811115611a9b57fe5b141515611b36576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001807f5472616e73616374696f6e2069732065697468657220696e206469737075746581526020017f206f722072656c6561736564207374617465000000000000000000000000000081525060400191505060405180910390fd5b856001806001811115611b4557fe5b600080846000191660001916815260200190815260200160002060020160019054906101000a900460ff166001811115611b7b57fe5b141515611bf0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5472616e73616374696f6e207479706520646f6573206e6f74206d617463680081525060200191505060405180910390fd5b87600080826000191660001916815260200190815260200160002060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611cf7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f54686520696e69746961746f72206f6620746865207472616e73616374696f6e81526020017f206973206e6f742062757965720000000000000000000000000000000000000081525060400191505060405180910390fd5b879650600087111515611d72576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f56616c7565206d7573742062652067726561746572207468616e207a65726f2e81525060200191505060405180910390fd5b6000808a6000191660001916815260200190815260200160002060040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1695508573ffffffffffffffffffffffffffffffffffffffff166323b872dd6000808c6000191660001916815260200190815260200160002060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff16308b6040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b158015611ec657600080fd5b505af1158015611eda573d6000803e3d6000fd5b505050506040513d6020811015611ef057600080fd5b81019080805190602001909291905050501515611fc1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252605c8152602001807f546f6b656e207472616e73666572206661696c65642c206d6179626520796f7581526020017f20646964206e6f7420617070726f766520657363726f7720636f6e747261637481526020017f20746f207370656e64206f6e20626568616c66206f662062757965720000000081525060600191505060405180910390fd5b611ff1876000808c60001916600019168152602001908152602001600020600001546130ce90919063ffffffff16565b6000808b6000191660001916815260200190815260200160002060000181905550426000808b60001916600019168152602001908152602001600020600101819055503373ffffffffffffffffffffffffffffffffffffffff167ff66fd2ae9e24a6a24b02e1b5b7512ffde5149a4176085fc0298ae228c9b9d7298a896040518083600019166000191681526020018281526020019250505060405180910390a2505050505050505050565b60015481565b6060600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080548060200260200160405190810160405280929190818152602001828054801561213257602002820191906000526020600020905b8154600019168152602001906001019080831161211a575b50505050509050919050565b846000806000836000191660001916815260200190815260200160002060000154141515156121d5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737473000000000081525060200191505060405180910390fd5b85600060018111156121e357fe5b600080836000191660001916815260200190815260200160002060020160009054906101000a900460ff16600181111561221957fe5b1415156122b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001807f5472616e73616374696f6e2069732065697468657220696e206469737075746581526020017f206f722072656c6561736564207374617465000000000000000000000000000081525060400191505060405180910390fd5b6000868690501180156122cc57508383905086869050145b1515612366576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001807f4c656e677468206f662064657374696e6174696f6e7320697320696e636f727281526020017f6563742e0000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b61245f8d8d808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508c8c808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508b8b808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508a8a8a808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508989808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050506130ef565b6001600080896000191660001916815260200190815260200160002060020160006101000a81548160ff0219169083600181111561249957fe5b021790555042600080896000191660001916815260200190815260200160002060010181905550600080886000191660001916815260200190815260200160002060000154612547888888808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508787808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050506132d0565b141515612608576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260488152602001807f546f74616c2076616c756520746f2062652072656c6561736564206d7573742081526020017f626520657175616c20746f20746865207472616e73616374696f6e206573637281526020017f6f772076616c756500000000000000000000000000000000000000000000000081525060600191505060405180910390fd5b7f688e2a1b34445bcd47b0e11ba2a9c8c4d850a1831b64199b59d1c70e2970154587878787876040518086600019166000191681526020018060200180602001838103835287878281815260200192506020028082843782019150508381038252858582818152602001925060200280828437820191505097505050505050505060405180910390a150505050505050505050505050565b6000806000846000191660001916815260200190815260200160002060070160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b60026020528160005260406000208181548110151561272d57fe5b90600052602060002001600091509150505481565b8873ffffffffffffffffffffffffffffffffffffffff168a73ffffffffffffffffffffffffffffffffffffffff16141515156127e6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f427579657220616e642073656c6c6572206172652073616d650000000000000081525060200191505060405180910390fd5b60008411151561285e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f56616c756520706173736564206973203000000000000000000000000000000081525060200191505060405180910390fd5b60008760ff16118015612875575060038760ff1611155b151561290f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603d8152602001807f5468726573686f6c642063616e6e6f742062652067726561746572207468616e81526020017f203320616e64206d7573742062652067726561746572207468616e203000000081525060400191505060405180910390fd5b60018760ff16148061294e5750600073ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff1614155b1515612a0e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252604f8152602001807f456974686572207468726573686f6c642073686f756c642062652031206f746881526020017f6572776973652076616c6964206d6f64657261746f722061646472657373207381526020017f686f756c6420626520706173736564000000000000000000000000000000000081525060600191505060405180910390fd5b612a1d8388888d8d8d87610eb4565b600019168560001916141515612ac1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260398152602001807f43616c63756c6174656420736372697074206861736820646f6573206e6f742081526020017f6d61746368207061737365642073637269707420686173682e0000000000000081525060400191505060405180910390fd5b6101406040519081016040528085815260200142815260200160006001811115612ae757fe5b8152602001836001811115612af857fe5b81526020018860ff1681526020018763ffffffff1681526020018b73ffffffffffffffffffffffffffffffffffffffff1681526020018a73ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020018973ffffffffffffffffffffffffffffffffffffffff168152506000808760001916600019168152602001908152602001600020600082015181600001556020820151816001015560408201518160020160006101000a81548160ff02191690836001811115612bd257fe5b021790555060608201518160020160016101000a81548160ff02191690836001811115612bfb57fe5b021790555060808201518160020160026101000a81548160ff021916908360ff16021790555060a08201518160020160036101000a81548163ffffffff021916908363ffffffff16021790555060c08201518160020160076101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060e08201518160030160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506101008201518160040160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506101208201518160050160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055509050506001600080876000191660001916815260200190815260200160002060060160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600080876000191660001916815260200190815260200160002060060160008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600080866000191660001916815260200190815260200160002060060160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151515612f52576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f456974686572206275796572206f722073656c6c65722069732070617373656481526020017f206173206d6f64657261746f720000000000000000000000000000000000000081525060400191505060405180910390fd5b60018760ff161115612fd2576001600080876000191660001916815260200190815260200160002060060160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b600160008154809291906001019190505550600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020859080600181540180825580915050906001820390600052602060002001600090919290919091509060001916905550600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002085908060018154018082558091505090600182039060005260206000200160009091929091909150906000191690555050505050505050505050565b60008082840190508381101515156130e557600080fd5b8091505092915050565b600080613100888888888888613ab8565b9150613156600080876000191660001916815260200190815260200160002060020160039054906101000a900463ffffffff16600080886000191660001916815260200190815260200160002060010154614131565b9050600080866000191660001916815260200190815260200160002060020160029054906101000a900460ff1660ff16885110801561320757508015806132065750600080866000191660001916815260200190815260200160002060030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b5b156132c6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260588152602001807f4d696e696d756d206e756d626572206f66207369676e6174757265732061726581526020017f206e6f7420636f6c6c656374656420616e642074696d65206c6f636b2065787081526020017f69727920636f6e646974696f6e73206e6f74206d65742121000000000000000081525060600191505060405180910390fd5b5050505050505050565b6000806000806000806000808a600019166000191681526020019081526020016000209450600093506000600181111561330657fe5b8560020160019054906101000a900460ff16600181111561332357fe5b141561363a57600092505b875183101561363557600073ffffffffffffffffffffffffffffffffffffffff16888481518110151561335d57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff16141580156133ed5750846006016000898581518110151561339a57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1515613461576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f4e6f7420612076616c69642064657374696e6174696f6e00000000000000000081525060200191505060405180910390fd5b6000878481518110151561347157fe5b90602001906020020151111515613516576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001807f416d6f756e7420746f2062652073656e742073686f756c64206265206772656181526020017f746572207468616e20300000000000000000000000000000000000000000000081525060400191505060405180910390fd5b613540878481518110151561352757fe5b90602001906020020151856130ce90919063ffffffff16565b935060018560080160008a8681518110151561355857fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555087838151811015156135c157fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff166108fc88858151811015156135f257fe5b906020019060200201519081150290604051600060405180830381858888f19350505050158015613627573d6000803e3d6000fd5b50828060010193505061332e565b613aa9565b60018081111561364657fe5b8560020160019054906101000a900460ff16600181111561366357fe5b1415613aa8578460040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169150600090505b8751811015613aa757600073ffffffffffffffffffffffffffffffffffffffff1688828151811015156136c457fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff16141580156137545750846006016000898381518110151561370157fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15156137c8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f4e6f7420612076616c69642064657374696e6174696f6e00000000000000000081525060200191505060405180910390fd5b600087828151811015156137d857fe5b9060200190602002015111151561387d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001807f416d6f756e7420746f2062652073656e742073686f756c64206265206772656181526020017f746572207468616e20300000000000000000000000000000000000000000000081525060400191505060405180910390fd5b6138a7878281518110151561388e57fe5b90602001906020020151856130ce90919063ffffffff16565b935060018560080160008a848151811015156138bf57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb898381518110151561394457fe5b90602001906020020151898481518110151561395c57fe5b906020019060200201516040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1580156139eb57600080fd5b505af11580156139ff573d6000803e3d6000fd5b505050506040513d6020811015613a1557600080fd5b81019080805190602001909291905050501515613a9a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f546f6b656e207472616e73666572206661696c65642e0000000000000000000081525060200191505060405180910390fd5b8080600101915050613695565b5b5b83955050505050509392505050565b600080600080600088518a51148015613ad257508a518a51145b1515613b46576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f522c532c56206c656e677468206d69736d617463682e0000000000000000000081525060200191505060405180910390fd5b60197f01000000000000000000000000000000000000000000000000000000000000000260007f0100000000000000000000000000000000000000000000000000000000000000023089898c60405160200180877effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168152600101867effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526001018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401848051906020019060200280838360005b83811015613c9a578082015181840152602081019050613c7f565b50505050905001838051906020019060200280838360005b83811015613ccd578082015181840152602081019050613cb2565b50505050905001826000191660001916815260200196505050505050506040516020818303038152906040526040518082805190602001908083835b602083101515613d2e5780518252602082019150602081019050602083039250613d09565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902060405160200180807f19457468657265756d205369676e6564204d6573736167653a0a333200000000815250601c0182600019166000191681526020019150506040516020818303038152906040526040518082805190602001908083835b602083101515613ddf5780518252602082019150602081019050602083039250613dba565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390209250600091505b8951821015614120576001838c84815181101515613e2d57fe5b906020019060200201518c85815181101515613e4557fe5b906020019060200201518c86815181101515613e5d57fe5b90602001906020020151604051600081526020016040526040518085600019166000191681526020018460ff1660ff1681526020018360001916600019168152602001826000191660001916815260200194505050505060206040516020810390808403906000865af1158015613ed8573d6000803e3d6000fd5b505050602060405103519050600080896000191660001916815260200190815260200160002060060160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515613fc0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f496e76616c6964207369676e617475726500000000000000000000000000000081525060200191505060405180910390fd5b600080896000191660001916815260200190815260200160002060070160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151561409d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f53616d65207369676e61747572652073656e742074776963650000000000000081525060200191505060405180910390fd5b60016000808a6000191660001916815260200190815260200160002060070160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508093508180600101925050613e13565b839450505050509695505050505050565b600080614147834261418590919063ffffffff16565b905060008463ffffffff161461417957614172610e108563ffffffff166141a690919063ffffffff16565b811161417c565b60005b91505092915050565b60008083831115151561419757600080fd5b82840390508091505092915050565b60008060008414156141bb57600091506141dd565b82840290508284828115156141cc57fe5b041415156141d957600080fd5b8091505b50929150505600a165627a7a723058200eeb999ae398c16c7cdff0b1e0a4386a1714a749b189865fc792d41f9563fcfb0029", + "deployedBytecode": "0x6080604052600436106100ba576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806323b6fd3f146100bf5780632d9ef96e1461017957806346fbcdeb1461019d57806357bced7614610292578063642f2eaf14610383578063b0550c66146104e5578063b719e2801461054e578063b77bf60014610589578063be84ceaf146105b4578063e4ec8b001461064c578063f0786562146106f5578063f5dbe09c1461075e575b600080fd5b610177600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff169060200190929190803563ffffffff169060200190929190803560001916906020019092919080356bffffffffffffffffffffffff191690602001909291905050506107c7565b005b61019b6004803603810190808035600019169060200190929190505050610a26565b005b3480156101a957600080fd5b5061027460048036038101908080356bffffffffffffffffffffffff19169060200190929190803560ff169060200190929190803563ffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610eb4565b60405180826000191660001916815260200191505060405180910390f35b34801561029e57600080fd5b50610381600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff169060200190929190803563ffffffff16906020019092919080356000191690602001909291908035906020019092919080356bffffffffffffffffffffffff19169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611360565b005b34801561038f57600080fd5b506103b26004803603810190808035600019169060200190929190505050611840565b604051808b81526020018a81526020018960018111156103ce57fe5b60ff1681526020018860018111156103e257fe5b60ff1681526020018760ff1660ff1681526020018663ffffffff1663ffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019a505050505050505050505060405180910390f35b3480156104f157600080fd5b506105346004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061194b565b604051808215151515815260200191505060405180910390f35b34801561055a57600080fd5b506105876004803603810190808035600019169060200190929190803590602001909291905050506119bd565b005b34801561059557600080fd5b5061059e61209d565b6040518082815260200191505060405180910390f35b3480156105c057600080fd5b506105f5600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506120a3565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b8381101561063857808201518184015260208101905061061d565b505050509050019250505060405180910390f35b34801561065857600080fd5b506106f3600480360381019080803590602001908201803590602001919091929391929390803590602001908201803590602001919091929391929390803590602001908201803590602001919091929391929390803560001916906020019092919080359060200190820180359060200191909192939192939080359060200190820180359060200191909192939192939050505061213e565b005b34801561070157600080fd5b506107446004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506126a0565b604051808215151515815260200191505060405180910390f35b34801561076a57600080fd5b506107a9600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050612712565b60405180826000191660001916815260200191505060405180910390f35b81600080600083600019166000191681526020019081526020016000206000015414151561085d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f5472616e73616374696f6e20657869737473000000000000000000000000000081525060200191505060405180910390fd5b87600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610903576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b87600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156109a9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b6109bc8a8a8a8a8a8a348b600080612742565b3373ffffffffffffffffffffffffffffffffffffffff167fce7089d0668849fb9ca29778c0cbf1e764d9efb048d81fd71fb34c94f26db36886346040518083600019166000191681526020018281526020019250505060405180910390a250505050505050505050565b600081600080600083600019166000191681526020019081526020016000206000015414151515610abf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737473000000000081525060200191505060405180910390fd5b8260006001811115610acd57fe5b600080836000191660001916815260200190815260200160002060020160009054906101000a900460ff166001811115610b0357fe5b141515610b9e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001807f5472616e73616374696f6e2069732065697468657220696e206469737075746581526020017f206f722072656c6561736564207374617465000000000000000000000000000081525060400191505060405180910390fd5b836000806001811115610bad57fe5b600080846000191660001916815260200190815260200160002060020160019054906101000a900460ff166001811115610be357fe5b141515610c58576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5472616e73616374696f6e207479706520646f6573206e6f74206d617463680081525060200191505060405180910390fd5b85600080826000191660001916815260200190815260200160002060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610d5f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f54686520696e69746961746f72206f6620746865207472616e73616374696f6e81526020017f206973206e6f742062757965720000000000000000000000000000000000000081525060400191505060405180910390fd5b349550600086111515610dda576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f56616c7565206d7573742062652067726561746572207468616e207a65726f2e81525060200191505060405180910390fd5b610e0a866000808a60001916600019168152602001908152602001600020600001546130ce90919063ffffffff16565b600080896000191660001916815260200190815260200160002060000181905550426000808960001916600019168152602001908152602001600020600101819055503373ffffffffffffffffffffffffffffffffffffffff167ff66fd2ae9e24a6a24b02e1b5b7512ffde5149a4176085fc0298ae228c9b9d72988886040518083600019166000191681526020018281526020019250505060405180910390a250505050505050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611100578787878787873060405160200180886bffffffffffffffffffffffff19166bffffffffffffffffffffffff191681526014018760ff1660ff167f01000000000000000000000000000000000000000000000000000000000000000281526001018663ffffffff1663ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014019750505050505050506040516020818303038152906040526040518082805190602001908083835b6020831015156110cc57805182526020820191506020810190506020830392506110a7565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390209050611355565b878787878787308860405160200180896bffffffffffffffffffffffff19166bffffffffffffffffffffffff191681526014018860ff1660ff167f01000000000000000000000000000000000000000000000000000000000000000281526001018763ffffffff1663ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401985050505050505050506040516020818303038152906040526040518082805190602001908083835b6020831015156113255780518252602082019150602081019050602083039250611300565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902090505b979650505050505050565b60008460008060008360001916600019168152602001908152602001600020600001541415156113f8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f5472616e73616374696f6e20657869737473000000000000000000000000000081525060200191505060405180910390fd5b8a600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561149e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b8a600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515611544576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b84600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156115ea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b6115fd8e8e8e8e8e8e8e8e60018f612742565b8594508473ffffffffffffffffffffffffffffffffffffffff166323b872dd33308b6040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b1580156116d757600080fd5b505af11580156116eb573d6000803e3d6000fd5b505050506040513d602081101561170157600080fd5b810190808051906020019092919050505015156117d2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252605c8152602001807f546f6b656e207472616e73666572206661696c65642c206d6179626520796f7581526020017f20646964206e6f7420617070726f766520657363726f7720636f6e747261637481526020017f20746f207370656e64206f6e20626568616c66206f662062757965720000000081525060600191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff167fce7089d0668849fb9ca29778c0cbf1e764d9efb048d81fd71fb34c94f26db3688a8a6040518083600019166000191681526020018281526020019250505060405180910390a25050505050505050505050505050565b60006020528060005260406000206000915090508060000154908060010154908060020160009054906101000a900460ff16908060020160019054906101000a900460ff16908060020160029054906101000a900460ff16908060020160039054906101000a900463ffffffff16908060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060050160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508a565b6000806000846000191660001916815260200190815260200160002060080160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b60008083600080600083600019166000191681526020019081526020016000206000015414151515611a57576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737473000000000081525060200191505060405180910390fd5b8460006001811115611a6557fe5b600080836000191660001916815260200190815260200160002060020160009054906101000a900460ff166001811115611a9b57fe5b141515611b36576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001807f5472616e73616374696f6e2069732065697468657220696e206469737075746581526020017f206f722072656c6561736564207374617465000000000000000000000000000081525060400191505060405180910390fd5b856001806001811115611b4557fe5b600080846000191660001916815260200190815260200160002060020160019054906101000a900460ff166001811115611b7b57fe5b141515611bf0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5472616e73616374696f6e207479706520646f6573206e6f74206d617463680081525060200191505060405180910390fd5b87600080826000191660001916815260200190815260200160002060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611cf7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f54686520696e69746961746f72206f6620746865207472616e73616374696f6e81526020017f206973206e6f742062757965720000000000000000000000000000000000000081525060400191505060405180910390fd5b879650600087111515611d72576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f56616c7565206d7573742062652067726561746572207468616e207a65726f2e81525060200191505060405180910390fd5b6000808a6000191660001916815260200190815260200160002060040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1695508573ffffffffffffffffffffffffffffffffffffffff166323b872dd6000808c6000191660001916815260200190815260200160002060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff16308b6040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b158015611ec657600080fd5b505af1158015611eda573d6000803e3d6000fd5b505050506040513d6020811015611ef057600080fd5b81019080805190602001909291905050501515611fc1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252605c8152602001807f546f6b656e207472616e73666572206661696c65642c206d6179626520796f7581526020017f20646964206e6f7420617070726f766520657363726f7720636f6e747261637481526020017f20746f207370656e64206f6e20626568616c66206f662062757965720000000081525060600191505060405180910390fd5b611ff1876000808c60001916600019168152602001908152602001600020600001546130ce90919063ffffffff16565b6000808b6000191660001916815260200190815260200160002060000181905550426000808b60001916600019168152602001908152602001600020600101819055503373ffffffffffffffffffffffffffffffffffffffff167ff66fd2ae9e24a6a24b02e1b5b7512ffde5149a4176085fc0298ae228c9b9d7298a896040518083600019166000191681526020018281526020019250505060405180910390a2505050505050505050565b60015481565b6060600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080548060200260200160405190810160405280929190818152602001828054801561213257602002820191906000526020600020905b8154600019168152602001906001019080831161211a575b50505050509050919050565b846000806000836000191660001916815260200190815260200160002060000154141515156121d5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737473000000000081525060200191505060405180910390fd5b85600060018111156121e357fe5b600080836000191660001916815260200190815260200160002060020160009054906101000a900460ff16600181111561221957fe5b1415156122b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001807f5472616e73616374696f6e2069732065697468657220696e206469737075746581526020017f206f722072656c6561736564207374617465000000000000000000000000000081525060400191505060405180910390fd5b6000868690501180156122cc57508383905086869050145b1515612366576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001807f4c656e677468206f662064657374696e6174696f6e7320697320696e636f727281526020017f6563742e0000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b61245f8d8d808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508c8c808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508b8b808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508a8a8a808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508989808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050506130ef565b6001600080896000191660001916815260200190815260200160002060020160006101000a81548160ff0219169083600181111561249957fe5b021790555042600080896000191660001916815260200190815260200160002060010181905550600080886000191660001916815260200190815260200160002060000154612547888888808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508787808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050506132d0565b141515612608576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260488152602001807f546f74616c2076616c756520746f2062652072656c6561736564206d7573742081526020017f626520657175616c20746f20746865207472616e73616374696f6e206573637281526020017f6f772076616c756500000000000000000000000000000000000000000000000081525060600191505060405180910390fd5b7f688e2a1b34445bcd47b0e11ba2a9c8c4d850a1831b64199b59d1c70e2970154587878787876040518086600019166000191681526020018060200180602001838103835287878281815260200192506020028082843782019150508381038252858582818152602001925060200280828437820191505097505050505050505060405180910390a150505050505050505050505050565b6000806000846000191660001916815260200190815260200160002060070160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b60026020528160005260406000208181548110151561272d57fe5b90600052602060002001600091509150505481565b8873ffffffffffffffffffffffffffffffffffffffff168a73ffffffffffffffffffffffffffffffffffffffff16141515156127e6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f427579657220616e642073656c6c6572206172652073616d650000000000000081525060200191505060405180910390fd5b60008411151561285e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f56616c756520706173736564206973203000000000000000000000000000000081525060200191505060405180910390fd5b60008760ff16118015612875575060038760ff1611155b151561290f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603d8152602001807f5468726573686f6c642063616e6e6f742062652067726561746572207468616e81526020017f203320616e64206d7573742062652067726561746572207468616e203000000081525060400191505060405180910390fd5b60018760ff16148061294e5750600073ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff1614155b1515612a0e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252604f8152602001807f456974686572207468726573686f6c642073686f756c642062652031206f746881526020017f6572776973652076616c6964206d6f64657261746f722061646472657373207381526020017f686f756c6420626520706173736564000000000000000000000000000000000081525060600191505060405180910390fd5b612a1d8388888d8d8d87610eb4565b600019168560001916141515612ac1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260398152602001807f43616c63756c6174656420736372697074206861736820646f6573206e6f742081526020017f6d61746368207061737365642073637269707420686173682e0000000000000081525060400191505060405180910390fd5b6101406040519081016040528085815260200142815260200160006001811115612ae757fe5b8152602001836001811115612af857fe5b81526020018860ff1681526020018763ffffffff1681526020018b73ffffffffffffffffffffffffffffffffffffffff1681526020018a73ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020018973ffffffffffffffffffffffffffffffffffffffff168152506000808760001916600019168152602001908152602001600020600082015181600001556020820151816001015560408201518160020160006101000a81548160ff02191690836001811115612bd257fe5b021790555060608201518160020160016101000a81548160ff02191690836001811115612bfb57fe5b021790555060808201518160020160026101000a81548160ff021916908360ff16021790555060a08201518160020160036101000a81548163ffffffff021916908363ffffffff16021790555060c08201518160020160076101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060e08201518160030160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506101008201518160040160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506101208201518160050160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055509050506001600080876000191660001916815260200190815260200160002060060160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600080876000191660001916815260200190815260200160002060060160008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600080866000191660001916815260200190815260200160002060060160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151515612f52576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f456974686572206275796572206f722073656c6c65722069732070617373656481526020017f206173206d6f64657261746f720000000000000000000000000000000000000081525060400191505060405180910390fd5b60018760ff161115612fd2576001600080876000191660001916815260200190815260200160002060060160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b600160008154809291906001019190505550600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020859080600181540180825580915050906001820390600052602060002001600090919290919091509060001916905550600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002085908060018154018082558091505090600182039060005260206000200160009091929091909150906000191690555050505050505050505050565b60008082840190508381101515156130e557600080fd5b8091505092915050565b600080613100888888888888613ab8565b9150613156600080876000191660001916815260200190815260200160002060020160039054906101000a900463ffffffff16600080886000191660001916815260200190815260200160002060010154614131565b9050600080866000191660001916815260200190815260200160002060020160029054906101000a900460ff1660ff16885110801561320757508015806132065750600080866000191660001916815260200190815260200160002060030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b5b156132c6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260588152602001807f4d696e696d756d206e756d626572206f66207369676e6174757265732061726581526020017f206e6f7420636f6c6c656374656420616e642074696d65206c6f636b2065787081526020017f69727920636f6e646974696f6e73206e6f74206d65742121000000000000000081525060600191505060405180910390fd5b5050505050505050565b6000806000806000806000808a600019166000191681526020019081526020016000209450600093506000600181111561330657fe5b8560020160019054906101000a900460ff16600181111561332357fe5b141561363a57600092505b875183101561363557600073ffffffffffffffffffffffffffffffffffffffff16888481518110151561335d57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff16141580156133ed5750846006016000898581518110151561339a57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1515613461576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f4e6f7420612076616c69642064657374696e6174696f6e00000000000000000081525060200191505060405180910390fd5b6000878481518110151561347157fe5b90602001906020020151111515613516576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001807f416d6f756e7420746f2062652073656e742073686f756c64206265206772656181526020017f746572207468616e20300000000000000000000000000000000000000000000081525060400191505060405180910390fd5b613540878481518110151561352757fe5b90602001906020020151856130ce90919063ffffffff16565b935060018560080160008a8681518110151561355857fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555087838151811015156135c157fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff166108fc88858151811015156135f257fe5b906020019060200201519081150290604051600060405180830381858888f19350505050158015613627573d6000803e3d6000fd5b50828060010193505061332e565b613aa9565b60018081111561364657fe5b8560020160019054906101000a900460ff16600181111561366357fe5b1415613aa8578460040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169150600090505b8751811015613aa757600073ffffffffffffffffffffffffffffffffffffffff1688828151811015156136c457fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff16141580156137545750846006016000898381518110151561370157fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15156137c8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f4e6f7420612076616c69642064657374696e6174696f6e00000000000000000081525060200191505060405180910390fd5b600087828151811015156137d857fe5b9060200190602002015111151561387d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001807f416d6f756e7420746f2062652073656e742073686f756c64206265206772656181526020017f746572207468616e20300000000000000000000000000000000000000000000081525060400191505060405180910390fd5b6138a7878281518110151561388e57fe5b90602001906020020151856130ce90919063ffffffff16565b935060018560080160008a848151811015156138bf57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb898381518110151561394457fe5b90602001906020020151898481518110151561395c57fe5b906020019060200201516040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1580156139eb57600080fd5b505af11580156139ff573d6000803e3d6000fd5b505050506040513d6020811015613a1557600080fd5b81019080805190602001909291905050501515613a9a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f546f6b656e207472616e73666572206661696c65642e0000000000000000000081525060200191505060405180910390fd5b8080600101915050613695565b5b5b83955050505050509392505050565b600080600080600088518a51148015613ad257508a518a51145b1515613b46576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f522c532c56206c656e677468206d69736d617463682e0000000000000000000081525060200191505060405180910390fd5b60197f01000000000000000000000000000000000000000000000000000000000000000260007f0100000000000000000000000000000000000000000000000000000000000000023089898c60405160200180877effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168152600101867effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526001018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401848051906020019060200280838360005b83811015613c9a578082015181840152602081019050613c7f565b50505050905001838051906020019060200280838360005b83811015613ccd578082015181840152602081019050613cb2565b50505050905001826000191660001916815260200196505050505050506040516020818303038152906040526040518082805190602001908083835b602083101515613d2e5780518252602082019150602081019050602083039250613d09565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902060405160200180807f19457468657265756d205369676e6564204d6573736167653a0a333200000000815250601c0182600019166000191681526020019150506040516020818303038152906040526040518082805190602001908083835b602083101515613ddf5780518252602082019150602081019050602083039250613dba565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390209250600091505b8951821015614120576001838c84815181101515613e2d57fe5b906020019060200201518c85815181101515613e4557fe5b906020019060200201518c86815181101515613e5d57fe5b90602001906020020151604051600081526020016040526040518085600019166000191681526020018460ff1660ff1681526020018360001916600019168152602001826000191660001916815260200194505050505060206040516020810390808403906000865af1158015613ed8573d6000803e3d6000fd5b505050602060405103519050600080896000191660001916815260200190815260200160002060060160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515613fc0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f496e76616c6964207369676e617475726500000000000000000000000000000081525060200191505060405180910390fd5b600080896000191660001916815260200190815260200160002060070160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151561409d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f53616d65207369676e61747572652073656e742074776963650000000000000081525060200191505060405180910390fd5b60016000808a6000191660001916815260200190815260200160002060070160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508093508180600101925050613e13565b839450505050509695505050505050565b600080614147834261418590919063ffffffff16565b905060008463ffffffff161461417957614172610e108563ffffffff166141a690919063ffffffff16565b811161417c565b60005b91505092915050565b60008083831115151561419757600080fd5b82840390508091505092915050565b60008060008414156141bb57600091506141dd565b82840290508284828115156141cc57fe5b041415156141d957600080fd5b8091505b50929150505600a165627a7a723058200eeb999ae398c16c7cdff0b1e0a4386a1714a749b189865fc792d41f9563fcfb0029", + "sourceMap": "460:20567:0:-;;;1606:1;1572:35;;460:20567;8:9:-1;5:2;;;30:1;27;20:12;5:2;460:20567:0;;;;;;;", + "deployedSourceMap": "460:20567:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3828:702;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7831:598;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12215:999;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12215:999:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5630:1021;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5630:1021:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1514:51;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1514:51:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6875:221;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6875:221:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8689:924;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8689:924:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1572:35;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1572:35:0;;;;;;;;;;;;;;;;;;;;;;;9730:194;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9730:194:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;9730:194:0;;;;;;;;;;;;;;;;;10681:1063;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10681:1063:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7319:194;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7319:194:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1684:54;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1684:54:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3828:702;4106:10;2030:1;1996:12;:24;2009:10;1996:24;;;;;;;;;;;;;;;;;:30;;;:35;1988:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4141:5;2380:1;2354:28;;:14;:28;;;;2346:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4171:6;2380:1;2354:28;;:14;:28;;;;2346:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4193:264;4222:5;4241:6;4261:9;4284;4307:12;4333:10;4357:9;4380:8;4402:21;4445:1;4193:15;:264::i;:::-;4500:10;4481:41;;;4488:10;4512:9;4481:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2416:1;2064;3828:702;;;;;;;;:::o;7831:598::-;8109:14;7939:10;1857:1;1823:12;:24;1836:10;1823:24;;;;;;;;;;;;;;;;;:30;;;:35;;1802:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7973:10;2187:13;2152:48;;;;;;;;:12;:24;2165:10;2152:24;;;;;;;;;;;;;;;;;:31;;;;;;;;;;;;:48;;;;;;;;;2131:133;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8014:10;8026:21;2614:15;2570:59;;;;;;;;:12;:24;2583:10;2570:24;;;;;;;;;;;;;;;;;:40;;;;;;;;;;;;:59;;;;;;;;;2549:125;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8067:10;2782:12;:24;2795:10;2782:24;;;;;;;;;;;;;;;;;:30;;;;;;;;;;;;2768:44;;:10;:44;;;2747:124;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8126:9;8109:26;;8163:1;8154:6;:10;8146:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8245;8293:6;8245:12;:24;8258:10;8245:24;;;;;;;;;;;;;;;;;:30;;;:47;;:55;;;;:::i;:::-;8212:12;:24;8225:10;8212:24;;;;;;;;;;;;;;;;;:30;;:88;;;;8350:15;8310:12;:24;8323:10;8310:24;;;;;;;;;;;;;;;;;:37;;:55;;;;8403:10;8381:41;;;8391:10;8415:6;8381:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2684:1;2274;;1909;7831:598;;;:::o;12215:999::-;12485:7;12536:1;12512:26;;:12;:26;;;12508:700;;;12626:8;12656:9;12687:12;12721:5;12748:6;12776:9;12807:4;12588:241;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;12588:241:0;;;12561:282;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;12561:282:0;;;;;;;;;;;;;;;;12554:289;;;;12508:700;12946:8;12976:9;13007:12;13041:5;13068:6;13096:9;13127:4;13153:12;12908:275;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;12908:275:0;;;12881:316;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;12881:316:0;;;;;;;;;;;;;;;;12874:323;;12215:999;;;;;;;;;;:::o;5630:1021::-;6348:20;5950:10;2030:1;1996:12;:24;2009:10;1996:24;;;;;;;;;;;;;;;;;:30;;;:35;1988:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5985:5;2380:1;2354:28;;:14;:28;;;;2346:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6015:6;2380:1;2354:28;;:14;:28;;;;2346:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6046:12;2380:1;2354:28;;:14;:28;;;;2346:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6075:262;6104:5;6123:6;6143:9;6166;6189:12;6215:10;6239:5;6258:8;6280:21;6315:12;6075:15;:262::i;:::-;6386:12;6348:51;;6431:5;:18;;;6450:10;6462:4;6468:5;6431:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6431:43:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6431:43:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6431:43:0;;;;;;;;;;;;;;;;6410:182;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6626:10;6607:37;;;6614:10;6638:5;6607:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2416:1;;2064;5630:1021;;;;;;;;;;;:::o;1514:51::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;6875:221::-;7011:4;7038:12;:24;7051:10;7038:24;;;;;;;;;;;;;;;;;:38;;:51;7077:11;7038:51;;;;;;;;;;;;;;;;;;;;;;;;;7031:58;;6875:221;;;;:::o;8689:924::-;8975:14;9074:20;8821:10;1857:1;1823:12;:24;1836:10;1823:24;;;;;;;;;;;;;;;;;:30;;;:35;;1802:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8855:10;2187:13;2152:48;;;;;;;;:12;:24;2165:10;2152:24;;;;;;;;;;;;;;;;;:31;;;;;;;;;;;;:48;;;;;;;;;2131:133;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8896:10;8908:21;2614:15;2570:59;;;;;;;;:12;:24;2583:10;2570:24;;;;;;;;;;;;;;;;;:40;;;;;;;;;;;;:59;;;;;;;;;2549:125;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8949:10;2782:12;:24;2795:10;2782:24;;;;;;;;;;;;;;;;;:30;;;;;;;;;;;;2768:44;;:10;:44;;;2747:124;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8992:5;8975:22;;9025:1;9016:6;:10;9008:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9125:12;:24;9138:10;9125:24;;;;;;;;;;;;;;;;;:37;;;;;;;;;;;;9074:98;;9204:5;:18;;;9223:12;:24;9236:10;9223:24;;;;;;;;;;;;;;;;;:30;;;;;;;;;;;;9255:4;9261:5;9204:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9204:63:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9204:63:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;9204:63:0;;;;;;;;;;;;;;;;9183:202;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9429:55;9477:6;9429:12;:24;9442:10;9429:24;;;;;;;;;;;;;;;;;:30;;;:47;;:55;;;;:::i;:::-;9396:12;:24;9409:10;9396:24;;;;;;;;;;;;;;;;;:30;;:88;;;;9534:15;9494:12;:24;9507:10;9494:24;;;;;;;;;;;;;;;;;:37;;:55;;;;9587:10;9565:41;;;9575:10;9599:6;9565:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2684:1;2274;;1909;8689:924;;;;;:::o;1572:35::-;;;;:::o;9730:194::-;9852:9;9885:18;:32;9904:12;9885:32;;;;;;;;;;;;;;;9878:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9730:194;;;:::o;10681:1063::-;10904:10;1857:1;1823:12;:24;1836:10;1823:24;;;;;;;;;;;;;;;;;:30;;;:35;;1802:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10938:10;2187:13;2152:48;;;;;;;;:12;:24;2165:10;2152:24;;;;;;;;;;;;;;;;;:31;;;;;;;;;;;;:48;;;;;;;;;2131:133;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11005:1;10985:12;;:19;;:21;:62;;;;;11033:7;;:14;;11010:12;;:19;;:37;10985:62;10964:133;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11108:152;11139:4;;11108:152;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11157:4;;11108:152;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11175:4;;11108:152;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11193:10;11217:12;;11108:152;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11243:7;;11108:152;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:17;:152::i;:::-;11305:15;11271:12;:24;11284:10;11271:24;;;;;;;;;;;;;;;;;:31;;;:49;;;;;;;;;;;;;;;;;;;;;;;;11444:15;11404:12;:24;11417:10;11404:24;;;;;;;;;;;;;;;;;:37;;:55;;;;11542:12;:24;11555:10;11542:24;;;;;;;;;;;;;;;;;:30;;;11490:48;11504:10;11516:12;;11490:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11530:7;;11490:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:13;:48::i;:::-;:82;11469:201;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11694:43;11703:10;11715:12;;11729:7;;11694:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1909:1;10681:1063;;;;;;;;;;;;:::o;7319:194::-;7442:4;7469:12;:24;7482:10;7469:24;;;;;;;;;;;;;;;;;:30;;:37;7500:5;7469:37;;;;;;;;;;;;;;;;;;;;;;;;;7462:44;;7319:194;;;;:::o;1684:54::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;18390:2635::-;18752:6;18743:15;;:5;:15;;;;18735:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18863:1;18855:5;:9;18847:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19001:1;18989:9;:13;;;:31;;;;;19019:1;19006:9;:14;;;;18989:31;18968:140;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19390:1;19377:9;:14;;;:41;;;;19416:1;19395:23;;:9;:23;;;;19377:41;19356:167;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19569:226;19612:8;19638:9;19665:12;19695:5;19718:6;19742:9;19769:12;19569:25;:226::i;:::-;19555:240;;;:10;:240;;;;19534:345;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19917:373;;;;;;;;;20038:5;19917:373;;;;20106:15;19917:373;;;;20065:13;19917:373;;;;;;;;;;;;20225:15;19917:373;;;;;;;;;;;;20146:9;19917:373;;;;;;20183:12;19917:373;;;;;;19950:5;19917:373;;;;;;19977:6;19917:373;;;;;;20267:12;19917:373;;;;;;20008:9;19917:373;;;;;19890:12;:24;19903:10;19890:24;;;;;;;;;;;;;;;;;:400;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20344:4;20301:12;:24;20314:10;20301:24;;;;;;;;;;;;;;;;;:32;;:40;20334:6;20301:40;;;;;;;;;;;;;;;;:47;;;;;;;;;;;;;;;;;;20400:4;20358:12;:24;20371:10;20358:24;;;;;;;;;;;;;;;;;:32;;:39;20391:5;20358:39;;;;;;;;;;;;;;;;:46;;;;;;;;;;;;;;;;;;20512:12;:24;20525:10;20512:24;;;;;;;;;;;;;;;;;:32;;:43;20545:9;20512:43;;;;;;;;;;;;;;;;;;;;;;;;;20511:44;20490:137;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20799:1;20787:9;:13;;;20783:93;;;20861:4;20815:12;:24;20828:10;20815:24;;;;;;;;;;;;;;;;;:32;;:43;20848:9;20815:43;;;;;;;;;;;;;;;;:50;;;;;;;;;;;;;;;;;;20783:93;20894:16;;:18;;;;;;;;;;;;;20923;:25;20942:5;20923:25;;;;;;;;;;;;;;;20954:10;20923:42;;39:1:-1;33:3;27:10;23:18;57:10;52:3;45:23;79:10;72:17;;0:93;20923:42:0;;;;;;;;;;;;;;;;;;;;;;;;;;;20975:18;:26;20994:6;20975:26;;;;;;;;;;;;;;;21007:10;20975:43;;39:1:-1;33:3;27:10;23:18;57:10;52:3;45:23;79:10;72:17;;0:93;20975:43:0;;;;;;;;;;;;;;;;;;;;;;;;;;;18390:2635;;;;;;;;;;:::o;1272:131:2:-;1330:7;1345:9;1361:1;1357;:5;1345:17;;1381:1;1376;:6;;1368:15;;;;;;;;1397:1;1390:8;;1272:131;;;;;:::o;13488:1005:0:-;13708:21;13894:20;13732:151;13762:4;13780;13798;13816:10;13840:12;13866:7;13732:16;:151::i;:::-;13708:175;;13917:129;13948:12;:24;13961:10;13948:24;;;;;;;;;;;;;;;;;:37;;;;;;;;;;;;13999:12;:24;14012:10;13999:24;;;;;;;;;;;;;;;;;:37;;;13917:17;:129::i;:::-;13894:152;;14232:12;:24;14245:10;14232:24;;;;;;;;;;;;;;;;;:34;;;;;;;;;;;;14218:48;;:4;:11;:48;:122;;;;;14272:15;14271:16;:68;;;;14308:12;:24;14321:10;14308:24;;;;;;;;;;;;;;;;;:31;;;;;;;;;;;;14291:48;;:13;:48;;;;14271:68;14218:122;14197:289;;;14377:98;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14197:289;13488:1005;;;;;;;;:::o;14619:1607::-;14766:7;14789:21;14848:24;14954:9;15591:20;15664:9;14813:12;:24;14826:10;14813:24;;;;;;;;;;;;;;;;;14789:48;;14875:1;14848:28;;14912:21;14891:42;;;;;;;;:1;:17;;;;;;;;;;;;:42;;;;;;;;;14887:1299;;;14966:1;14954:13;;14949:562;14973:12;:19;14969:1;:23;14949:562;;;15053:1;15026:29;;:12;15039:1;15026:15;;;;;;;;;;;;;;;;;;:29;;;;:59;;;;;15059:1;:9;;:26;15069:12;15082:1;15069:15;;;;;;;;;;;;;;;;;;15059:26;;;;;;;;;;;;;;;;;;;;;;;;;15026:59;15018:95;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15152:1;15139:7;15147:1;15139:10;;;;;;;;;;;;;;;;;;:14;15131:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15238:32;15259:7;15267:1;15259:10;;;;;;;;;;;;;;;;;;15238:16;:20;;:32;;;;:::i;:::-;15219:51;;15324:4;15289:1;:15;;:32;15305:12;15318:1;15305:15;;;;;;;;;;;;;;;;;;15289:32;;;;;;;;;;;;;;;;:39;;;;;;;;;;;;;;;;;;15375:12;15388:1;15375:15;;;;;;;;;;;;;;;;;;:24;;:36;15400:7;15408:1;15400:10;;;;;;;;;;;;;;;;;;15375:36;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;15375:36:0;14994:3;;;;;;;14949:562;;;14887:1299;;;15553:21;15532:42;;;;;;;;:1;:17;;;;;;;;;;;;:42;;;;;;;;;15528:658;;;15629:1;:14;;;;;;;;;;;;15591:53;;15676:1;15664:13;;15659:517;15681:12;:19;15679:1;:21;15659:517;;;15761:1;15734:29;;:12;15747:1;15734:15;;;;;;;;;;;;;;;;;;:29;;;;:59;;;;;15767:1;:9;;:26;15777:12;15790:1;15777:15;;;;;;;;;;;;;;;;;;15767:26;;;;;;;;;;;;;;;;;;;;;;;;;15734:59;15726:95;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15860:1;15847:7;15855:1;15847:10;;;;;;;;;;;;;;;;;;:14;15839:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15946:32;15967:7;15975:1;15967:10;;;;;;;;;;;;;;;;;;15946:16;:20;;:32;;;;:::i;:::-;15927:51;;16031:4;15996:1;:15;;:32;16012:12;16025:1;16012:15;;;;;;;;;;;;;;;;;;15996:32;;;;;;;;;;;;;;;;:39;;;;;;;;;;;;;;;;;;16091:5;:14;;;16106:12;16119:1;16106:15;;;;;;;;;;;;;;;;;;16123:7;16131:1;16123:10;;;;;;;;;;;;;;;;;;16091:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;16091:43:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;16091:43:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;16091:43:0;;;;;;;;;;;;;;;;16083:78;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15702:3;;;;;;;15659:517;;;15528:658;14887:1299;16203:16;16196:23;;14619:1607;;;;;;;;;;:::o;16410:1571::-;16631:7;16792:19;16910:14;17369:6;17418:17;16691:4;:11;16676:4;:11;:26;:56;;;;;16721:4;:11;16706:4;:11;:26;16676:56;16655:126;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17114:4;17109:10;;17150:1;17145:7;;17178:4;17208:12;17246:7;17279:10;17067:244;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;17067:244:0;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;17067:244:0;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;17067:244:0;;;17036:293;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;17036:293:0;;;;;;;;;;;;;;;;16950:393;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;16950:393:0;;;16927:426;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;16927:426:0;;;;;;;;;;;;;;;;16910:443;;17378:1;17369:10;;17364:582;17385:4;:11;17381:1;:15;17364:582;;;17438:122;17465:6;17489:4;17494:1;17489:7;;;;;;;;;;;;;;;;;;17514:4;17519:1;17514:7;;;;;;;;;;;;;;;;;;17539:4;17544:1;17539:7;;;;;;;;;;;;;;;;;;17438:122;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;17438:122:0;;;;;;;;17418:142;;17600:12;:24;17613:10;17600:24;;;;;;;;;;;;;;;;;:32;;:43;17633:9;17600:43;;;;;;;;;;;;;;;;;;;;;;;;;17575:120;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17735:12;:24;17748:10;17735:24;;;;;;;;;;;;;;;;;:30;;:41;17766:9;17735:41;;;;;;;;;;;;;;;;;;;;;;;;;17734:42;17709:127;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17894:4;17850:12;:24;17863:10;17850:24;;;;;;;;;;;;;;;;;:30;;:41;17881:9;17850:41;;;;;;;;;;;;;;;;:48;;;;;;;;;;;;;;;;;;17926:9;17912:23;;17398:3;;;;;;;17364:582;;;17963:11;17956:18;;16410:1571;;;;;;;;;;;;:::o;17987:316::-;18125:4;18145:17;18165:21;18173:12;18165:3;:7;;:21;;;;:::i;:::-;18145:41;;18233:1;18217:12;:17;;;:69;;18255:31;18281:4;18263:12;18255:21;;:25;;:31;;;;:::i;:::-;18243:9;:43;18217:69;;;18237:5;18217:69;18196:100;;17987:316;;;;;:::o;1078:131:2:-;1136:7;1172:9;1164:1;1159;:6;;1151:15;;;;;;;;1188:1;1184;:5;1172:17;;1203:1;1196:8;;1078:131;;;;;:::o;204:381::-;262:7;523:9;491:1;486;:6;482:35;;;509:1;502:8;;;;482:35;539:1;535;:5;523:17;;563:1;558;554;:5;;;;;;;;:10;546:19;;;;;;;;579:1;572:8;;204:381;;;;;;:::o", + "source": "pragma solidity 0.4.24;\n\nimport \"openzeppelin-solidity/contracts/math/SafeMath.sol\";\n\nimport \"../token/ITokenContract.sol\";\n\n\n/**\n* @dev Supports ERC20 tokens\n* The escrow smart contract for the open bazaar trades in Ethereum\n* The smart contract is desgined keeping in mind the current wallet interface of the OB-core\n* https://github.com/OpenBazaar/wallet-interface/blob/master/wallet.go\n* Current wallet interface strictly adheres to UTXO(bitcoin) model\n*/\ncontract Escrow_v1_0 {\n\n using SafeMath for uint256;\n\n enum Status {FUNDED, RELEASED}\n\n enum TransactionType {ETHER, TOKEN}\n\n event Executed(\n bytes32 scriptHash,\n address[] destinations,\n uint256[] amounts\n );\n\n event FundAdded(\n bytes32 scriptHash,\n address indexed from,\n uint256 valueAdded\n );\n\n event Funded(bytes32 scriptHash, address indexed from, uint256 value);\n\n struct Transaction {\n uint256 value;\n uint256 lastModified;//Time at which transaction was last modified\n Status status;\n TransactionType transactionType;\n uint8 threshold;\n uint32 timeoutHours;\n address buyer;\n address seller;\n address tokenAddress;// Token address in case of token transfer\n address moderator;\n mapping(address=>bool) isOwner;//to keep track of owners/signers.\n mapping(address=>bool) voted;//to keep track of who all voted\n mapping(address=>bool) beneficiaries;//Benefeciaries of execution\n }\n\n mapping(bytes32 => Transaction) public transactions;\n\n uint256 public transactionCount = 0;\n\n //Contains mapping between each party and all of his transactions\n mapping(address => bytes32[])public partyVsTransaction;\n\n modifier transactionExists(bytes32 scriptHash) {\n require(\n transactions[scriptHash].value != 0, \"Transaction does not exists\"\n );\n _;\n }\n\n modifier transactionDoesNotExists (bytes32 scriptHash) {\n require(transactions[scriptHash].value == 0, \"Transaction exists\");\n _;\n }\n\n modifier inFundedState(bytes32 scriptHash) {\n require(\n transactions[scriptHash].status == Status.FUNDED, \"Transaction is either in dispute or released state\"\n );\n _;\n }\n\n modifier nonZeroAddress(address addressToCheck) {\n require(addressToCheck != address(0), \"Zero address passed\");\n _;\n }\n\n modifier checkTransactionType(\n bytes32 scriptHash,\n TransactionType transactionType\n )\n {\n require(\n transactions[scriptHash].transactionType == transactionType, \"Transaction type does not match\"\n );\n _;\n }\n\n modifier onlyBuyer(bytes32 scriptHash) {\n require(\n msg.sender == transactions[scriptHash].buyer, \"The initiator of the transaction is not buyer\"\n );\n _;\n }\n\n /**\n *@dev Add new transaction in the contract\n *@param buyer The buyer of the transaction\n *@param seller The seller of the listing associated with the transaction\n *@param moderator Moderator for this transaction\n *@param scriptHash keccak256 hash of the redeem script\n *@param threshold Minimum number of singatures required to released funds\n *@param timeoutHours Hours after which seller can release funds into his favour by signing transaction\n *@param uniqueId bytes20 unique id for the transaction, generated by ETH wallet\n *Redeem Script format will be following\n \n * scripthash-> keccak256(uniqueId, threshold, timeoutHours, buyer, seller, moderator)\n *Pass amount of the ethers to be put in escrow\n *Please keep in mind you will have to add moderator fees also in the value\n */\n function addTransaction(\n address buyer,\n address seller,\n address moderator,\n uint8 threshold,\n uint32 timeoutHours,\n bytes32 scriptHash,\n bytes20 uniqueId\n )\n external\n payable\n transactionDoesNotExists(scriptHash)\n nonZeroAddress(buyer)\n nonZeroAddress(seller)\n {\n _addTransaction(\n buyer,\n seller,\n moderator,\n threshold,\n timeoutHours,\n scriptHash,\n msg.value,\n uniqueId,\n TransactionType.ETHER,\n address(0)\n );\n \n emit Funded(scriptHash, msg.sender, msg.value);\n\n }\n\n /**\n *@dev Add new transaction in the contract\n *@param buyer The buyer of the transaction\n *@param seller The seller of the listing associated with the transaction\n *@param moderator Moderator for this transaction\n *@param scriptHash keccak256 hash of the redeem script\n *@param threshold Minimum number of singatures required to released funds\n *@param timeoutHours Hours after which seller can release funds into his favour by signing transaction\n *@param value Amount of tokens to be put in escrow\n *@param uniqueId bytes20 unique id for the transaction, generated by ETH wallet\n *@param tokenAddress Address of the token to be used\n *Redeem Script format will be following\n \n * scripthash-> keccak256(uniqueId, threshold, timeoutHours, buyer, seller, moderator, tokenAddress)\n *approve escrow contract to spend amount of token on your behalf\n *Please keep in mind you will have to add moderator fees also in the value\n */\n function addTokenTransaction(\n address buyer,\n address seller,\n address moderator,\n uint8 threshold,\n uint32 timeoutHours,\n bytes32 scriptHash,\n uint256 value,\n bytes20 uniqueId,\n address tokenAddress\n )\n external\n transactionDoesNotExists(scriptHash)\n nonZeroAddress(buyer)\n nonZeroAddress(seller)\n nonZeroAddress(tokenAddress)\n {\n\n _addTransaction(\n buyer,\n seller,\n moderator,\n threshold,\n timeoutHours,\n scriptHash,\n value,\n uniqueId,\n TransactionType.TOKEN,\n tokenAddress\n );\n\n ITokenContract token = ITokenContract(tokenAddress);\n\n require(\n token.transferFrom(msg.sender, this, value),\n \"Token transfer failed, maybe you did not approve escrow contract to spend on behalf of buyer\"\n );\n emit Funded(scriptHash, msg.sender, value);\n }\n\n /**\n * @dev Check whether given address was a beneficiary of transaction execution or not\n * @param scriptHash script hash of the transaction\n * @param beneficiary Beneficiary address to be checked\n */\n function checkBeneficiary(\n bytes32 scriptHash,\n address beneficiary\n )\n external\n view\n returns (bool)\n {\n return transactions[scriptHash].beneficiaries[beneficiary];\n }\n\n /**\n * @dev Check whether given party has voted or not\n * @param scriptHash script hash of the transaction\n * @param party Address of the party whose vote has to be checked\n * @return bool vote\n */\n function checkVote(\n bytes32 scriptHash,\n address party\n )\n external\n view\n returns (bool)\n {\n return transactions[scriptHash].voted[party];\n }\n\n /**\n *@dev Allows buyer of the transaction to add more funds(ether) in the transaction. This will help to cater scenarios wherein initially buyer missed to fund transaction as required\n *@param scriptHash script hash of the transaction\n * Only buyer of the transaction can invoke this method\n */\n function addFundsToTransaction(\n bytes32 scriptHash\n )\n external\n transactionExists(scriptHash)\n inFundedState(scriptHash)\n checkTransactionType(scriptHash, TransactionType.ETHER)\n onlyBuyer(scriptHash)\n payable\n {\n uint256 _value = msg.value;\n\n require(_value > 0, \"Value must be greater than zero.\");\n\n transactions[scriptHash].value = transactions[scriptHash].value\n .add(_value);\n transactions[scriptHash].lastModified = block.timestamp;\n\n emit FundAdded(scriptHash, msg.sender, _value);\n }\n\n /**\n *@dev Allows buyer of the transaction to add more funds(Tokens) in the transaction. This will help to cater scenarios wherein initially buyer missed to fund transaction as required\n *@param scriptHash script hash of the transaction\n */\n function addTokensToTransaction(\n bytes32 scriptHash,\n uint256 value\n )\n external\n transactionExists(scriptHash)\n inFundedState(scriptHash)\n checkTransactionType(scriptHash, TransactionType.TOKEN)\n onlyBuyer(scriptHash)\n {\n uint256 _value = value;\n\n require(_value > 0, \"Value must be greater than zero.\");\n\n ITokenContract token = ITokenContract(\n transactions[scriptHash].tokenAddress\n );\n\n require(\n token.transferFrom(transactions[scriptHash].buyer, this, value),\n \"Token transfer failed, maybe you did not approve escrow contract to spend on behalf of buyer\"\n );\n\n transactions[scriptHash].value = transactions[scriptHash].value\n .add(_value);\n transactions[scriptHash].lastModified = block.timestamp;\n\n emit FundAdded(scriptHash, msg.sender, _value);\n }\n\n /**\n *@dev Returns all transaction ids for a party\n *@param partyAddress Address of the party\n */\n function getAllTransactionsForParty(\n address partyAddress\n ) \n external \n view \n returns (bytes32[]) \n {\n return partyVsTransaction[partyAddress];\n }\n\n /**\n *@dev Allows one of the moderator to collect all the signature to solve dispute and submit it to this method.\n * If all the required signatures are collected and consensus has been reached than funds will be released to the voted party\n *@param sigV Array containing V component of all the signatures\n *@param sigR Array containing R component of all the signatures\n *@param signS Array containing S component of all the signatures\n *@param scriptHash script hash of the transaction\n *@param destinations address of the destination in whose favour dispute resolution is taking place. In case of split payments it will be address of the split payments contract\n *@param amounts value to send to each destination\n */\n function execute(\n uint8[] sigV,\n bytes32[] sigR,\n bytes32[] sigS,\n bytes32 scriptHash,\n address[] destinations,\n uint256[] amounts\n )\n external\n transactionExists(scriptHash)\n inFundedState(scriptHash)\n {\n require(\n destinations.length>0 && destinations.length == amounts.length, \"Length of destinations is incorrect.\"\n );\n\n verifyTransaction(\n sigV,\n sigR,\n sigS,\n scriptHash,\n destinations,\n amounts\n );\n\n transactions[scriptHash].status = Status.RELEASED;\n //Last modified timestamp modified, which will be used by rewards\n transactions[scriptHash].lastModified = block.timestamp;\n require(\n transferFunds(scriptHash, destinations, amounts) == transactions[scriptHash].value,\n \"Total value to be released must be equal to the transaction escrow value\"\n );\n \n emit Executed(scriptHash, destinations, amounts);\n }\n\n\n /**\n *@dev Method for calculating script hash. Calculation will depend upon the type of transaction\n * ETHER Type transaction-:\n * Script Hash- keccak256(uniqueId, threshold, timeoutHours, buyer, seller, moderator)\n * TOKEN Type transaction\n * Script Hash- keccak256(uniqueId, threshold, timeoutHours, buyer, seller, moderator, tokenAddress)\n * Client can use this method to verify whether it has calculated correct script hash or not\n */\n function calculateRedeemScriptHash(\n bytes20 uniqueId,\n uint8 threshold,\n uint32 timeoutHours,\n address buyer,\n address seller,\n address moderator,\n address tokenAddress\n )\n public\n view\n returns (bytes32)\n {\n if (tokenAddress == address(0)) {\n return keccak256(\n abi.encodePacked(\n uniqueId,\n threshold,\n timeoutHours,\n buyer,\n seller,\n moderator,\n this\n )\n );\n } else {\n return keccak256(\n abi.encodePacked(\n uniqueId,\n threshold,\n timeoutHours,\n buyer,\n seller,\n moderator,\n this,\n tokenAddress\n )\n );\n }\n }\n\n /**\n * @dev This methods checks validity of transaction\n * 1. Verify Signatures\n * 2. Check if minimum number of signatures has been acquired\n * 3. If above condition is false, check if time lock is expired and the execution is signed by seller\n */\n function verifyTransaction(\n uint8[] sigV,\n bytes32[] sigR,\n bytes32[] sigS,\n bytes32 scriptHash,\n address[] destinations,\n uint256[] amounts\n )\n private\n {\n address lastRecovered = verifySignatures(\n sigV,\n sigR,\n sigS,\n scriptHash,\n destinations,\n amounts\n );\n\n bool timeLockExpired = isTimeLockExpired(\n transactions[scriptHash].timeoutHours,\n transactions[scriptHash].lastModified\n );\n\n //if Minimum number of signatures are not gathered and timelock has not expired or transaction was not signed by seller then revert\n if (\n sigV.length < transactions[scriptHash].threshold && (!timeLockExpired || lastRecovered != transactions[scriptHash].seller)\n )\n {\n revert(\"Minimum number of signatures are not collected and time lock expiry conditions not met!!\");\n }\n\n }\n\n /**\n *@dev Private method to transfer funds to the destination addresses on the basis of transaction type\n */\n function transferFunds(\n bytes32 scriptHash,\n address[]destinations,\n uint256[]amounts\n )\n private\n returns (uint256)\n {\n Transaction storage t = transactions[scriptHash];\n\n uint256 valueTransferred = 0;\n\n if (t.transactionType == TransactionType.ETHER) {\n for (uint256 i = 0; i < destinations.length; i++) {\n\n require(destinations[i] != address(0) && t.isOwner[destinations[i]], \"Not a valid destination\");\n require(amounts[i] > 0, \"Amount to be sent should be greater than 0\");\n\n valueTransferred = valueTransferred.add(amounts[i]);\n\n t.beneficiaries[destinations[i]] = true;//add receiver as beneficiary\n destinations[i].transfer(amounts[i]);//shall we use send instead of transfer to stop malicious actors from blocking funds?\n }\n\n } else if (t.transactionType == TransactionType.TOKEN) {\n\n ITokenContract token = ITokenContract(t.tokenAddress);\n\n for (uint256 j = 0; j 0, \"Amount to be sent should be greater than 0\");\n\n valueTransferred = valueTransferred.add(amounts[j]);\n t.beneficiaries[destinations[j]] = true;//add receiver as beneficiary\n\n require(token.transfer(destinations[j], amounts[j]), \"Token transfer failed.\");\n }\n } \n return valueTransferred;\n }\n\n //to check whether the signature are valid or not and if consensus was reached\n //returns the last address recovered, in case of timeout this must be the sender's address\n function verifySignatures(\n uint8[] sigV,\n bytes32[] sigR,\n bytes32[] sigS,\n bytes32 scriptHash,\n address[] destinations,\n uint256[]amounts\n )\n private\n returns (address)\n {\n\n require(\n sigR.length == sigS.length && sigR.length == sigV.length, \n \"R,S,V length mismatch.\"\n );\n\n address lastAddress;\n\n // Follows ERC191 signature scheme: https://github.com/ethereum/EIPs/issues/191\n bytes32 txHash = keccak256(\n abi.encodePacked(\n \"\\x19Ethereum Signed Message:\\n32\",\n keccak256(\n abi.encodePacked(\n byte(0x19),\n byte(0),\n this,\n destinations,\n amounts,\n scriptHash\n )\n )\n )\n );\n\n for (uint i = 0; i < sigR.length; i++) {\n\n address recovered = ecrecover(\n txHash,\n sigV[i],\n sigR[i],\n sigS[i]\n );\n\n require(\n transactions[scriptHash].isOwner[recovered], \n \"Invalid signature\"\n );\n require(\n !transactions[scriptHash].voted[recovered], \n \"Same signature sent twice\"\n );\n transactions[scriptHash].voted[recovered] = true;\n lastAddress = recovered;\n }\n\n return lastAddress;\n }\n\n function isTimeLockExpired(\n uint32 timeoutHours,\n uint256 lastModified\n )\n private\n view\n returns (bool)\n {\n uint256 timeSince = now.sub(lastModified);\n return (\n timeoutHours == 0 ? false:timeSince > uint256(timeoutHours).mul(3600)\n );\n }\n\n /**\n * Private method to add transaction to reduce code redundancy\n */\n function _addTransaction(\n address buyer,\n address seller,\n address moderator,\n uint8 threshold,\n uint32 timeoutHours,\n bytes32 scriptHash,\n uint256 value,\n bytes20 uniqueId,\n TransactionType transactionType,\n address tokenAddress\n )\n private\n { \n require(buyer != seller, \"Buyer and seller are same\");\n\n //value passed should be greater than 0\n require(value > 0, \"Value passed is 0\");\n\n // For now allowing 0 moderator to support 1-2 multisig wallet\n require(\n threshold > 0 && threshold <= 3, \n \"Threshold cannot be greater than 3 and must be greater than 0\"\n );\n\n //if threshold is 1 then moderator can be passed as zero address or any other address(it wont matter aopart from scripthash since we wont add moderator as one of the owner)\n //otherwise moderator should be a valid address\n require(\n threshold == 1 || moderator != address(0),\n \"Either threshold should be 1 otherwise valid moderator address should be passed\"\n );\n\n require(\n scriptHash == calculateRedeemScriptHash(\n uniqueId,\n threshold,\n timeoutHours,\n buyer,\n seller,\n moderator,\n tokenAddress\n ), \n \"Calculated script hash does not match passed script hash.\"\n );\n\n transactions[scriptHash] = Transaction({\n buyer: buyer,\n seller: seller,\n moderator: moderator,\n value: value,\n status: Status.FUNDED,\n lastModified: block.timestamp,\n threshold: threshold,\n timeoutHours: timeoutHours,\n transactionType:transactionType,\n tokenAddress:tokenAddress\n });\n\n transactions[scriptHash].isOwner[seller] = true;\n transactions[scriptHash].isOwner[buyer] = true; \n\n //Check if buyer or seller are not passed as moderator\n require(\n !transactions[scriptHash].isOwner[moderator], \n \"Either buyer or seller is passed as moderator\"\n );\n\n //set moderator as one of the owners only if threshold is greater than 1 otherwise only buyer and seller should be able to release funds\n if (threshold > 1){\n transactions[scriptHash].isOwner[moderator] = true;\n }\n \n\n transactionCount++;\n\n partyVsTransaction[buyer].push(scriptHash);\n partyVsTransaction[seller].push(scriptHash);\n }\n}\n", "sourcePath": "/home/sameep/freelancing-projects/toptal/open baazar/publicRepo/smart-contracts/contracts/escrow/Escrow_v1_0.sol", "ast": { "absolutePath": "/home/sameep/freelancing-projects/toptal/open baazar/publicRepo/smart-contracts/contracts/escrow/Escrow_v1_0.sol", @@ -8927,7 +8927,7 @@ "body": { "id": 705, "nodeType": "Block", - "src": "13698:742:0", + "src": "13698:795:0", "statements": [ { "assignments": [ @@ -9567,11 +9567,11 @@ "falseBody": null, "id": 704, "nodeType": "IfStatement", - "src": "14197:236:0", + "src": "14197:289:0", "trueBody": { "id": 703, "nodeType": "Block", - "src": "14363:70:0", + "src": "14363:123:0", "statements": [ { "expression": { @@ -9579,7 +9579,7 @@ "arguments": [ { "argumentTypes": null, - "hexValue": "736967562e6c656e67746820697320756e64657220746865207468726573686f6c642e", + "hexValue": "4d696e696d756d206e756d626572206f66207369676e61747572657320617265206e6f7420636f6c6c656374656420616e642074696d65206c6f636b2065787069727920636f6e646974696f6e73206e6f74206d65742121", "id": 700, "isConstant": false, "isLValue": false, @@ -9587,20 +9587,20 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "14384:37:0", + "src": "14384:90:0", "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_stringliteral_d1b34f8ee6043043ff8e104db499160a1e51c77ca18fe42fba7312fd923c28e1", - "typeString": "literal_string \"sigV.length is under the threshold.\"" + "typeIdentifier": "t_stringliteral_e454643f61f81e3a3dc8dabaafde295fea592e232abeb03abbb1835bdc3d20d0", + "typeString": "literal_string \"Minimum number of signatures are not collected and time lock expiry conditions not met!!\"" }, - "value": "sigV.length is under the threshold." + "value": "Minimum number of signatures are not collected and time lock expiry conditions not met!!" } ], "expression": { "argumentTypes": [ { - "typeIdentifier": "t_stringliteral_d1b34f8ee6043043ff8e104db499160a1e51c77ca18fe42fba7312fd923c28e1", - "typeString": "literal_string \"sigV.length is under the threshold.\"" + "typeIdentifier": "t_stringliteral_e454643f61f81e3a3dc8dabaafde295fea592e232abeb03abbb1835bdc3d20d0", + "typeString": "literal_string \"Minimum number of signatures are not collected and time lock expiry conditions not met!!\"" } ], "id": 699, @@ -9625,7 +9625,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "14377:45:0", + "src": "14377:98:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -9633,7 +9633,7 @@ }, "id": 702, "nodeType": "ExpressionStatement", - "src": "14377:45:0" + "src": "14377:98:0" } ] } @@ -9869,7 +9869,7 @@ "src": "13698:0:0" }, "scope": 1211, - "src": "13488:952:0", + "src": "13488:1005:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "private" @@ -9878,7 +9878,7 @@ "body": { "id": 892, "nodeType": "Block", - "src": "14726:1447:0", + "src": "14779:1447:0", "statements": [ { "assignments": [ @@ -9891,7 +9891,7 @@ "name": "t", "nodeType": "VariableDeclaration", "scope": 893, - "src": "14736:21:0", + "src": "14789:21:0", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { @@ -9904,7 +9904,7 @@ "name": "Transaction", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 71, - "src": "14736:11:0", + "src": "14789:11:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction" @@ -9924,7 +9924,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "14760:12:0", + "src": "14813:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -9938,7 +9938,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 708, - "src": "14773:10:0", + "src": "14826:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -9949,14 +9949,14 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "14760:24:0", + "src": "14813:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "14736:48:0" + "src": "14789:48:0" }, { "assignments": [ @@ -9969,7 +9969,7 @@ "name": "valueTransferred", "nodeType": "VariableDeclaration", "scope": 893, - "src": "14795:24:0", + "src": "14848:24:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9980,7 +9980,7 @@ "id": 725, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "14795:7:0", + "src": "14848:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10001,7 +10001,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "14822:1:0", + "src": "14875:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -10010,7 +10010,7 @@ "value": "0" }, "nodeType": "VariableDeclarationStatement", - "src": "14795:28:0" + "src": "14848:28:0" }, { "condition": { @@ -10033,7 +10033,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 720, - "src": "14838:1:0", + "src": "14891:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" @@ -10047,7 +10047,7 @@ "memberName": "transactionType", "nodeType": "MemberAccess", "referencedDeclaration": 46, - "src": "14838:17:0", + "src": "14891:17:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -10064,7 +10064,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12, - "src": "14859:15:0", + "src": "14912:15:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_TransactionType_$12_$", "typeString": "type(enum Escrow_v1_0.TransactionType)" @@ -10078,13 +10078,13 @@ "memberName": "ETHER", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "14859:21:0", + "src": "14912:21:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" } }, - "src": "14838:42:0", + "src": "14891:42:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -10111,7 +10111,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 720, - "src": "15479:1:0", + "src": "15532:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" @@ -10125,7 +10125,7 @@ "memberName": "transactionType", "nodeType": "MemberAccess", "referencedDeclaration": 46, - "src": "15479:17:0", + "src": "15532:17:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -10142,7 +10142,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12, - "src": "15500:15:0", + "src": "15553:15:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_TransactionType_$12_$", "typeString": "type(enum Escrow_v1_0.TransactionType)" @@ -10156,13 +10156,13 @@ "memberName": "TOKEN", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "15500:21:0", + "src": "15553:21:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" } }, - "src": "15479:42:0", + "src": "15532:42:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -10171,11 +10171,11 @@ "falseBody": null, "id": 888, "nodeType": "IfStatement", - "src": "15475:658:0", + "src": "15528:658:0", "trueBody": { "id": 887, "nodeType": "Block", - "src": "15523:610:0", + "src": "15576:610:0", "statements": [ { "assignments": [ @@ -10188,7 +10188,7 @@ "name": "token", "nodeType": "VariableDeclaration", "scope": 893, - "src": "15538:20:0", + "src": "15591:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -10201,7 +10201,7 @@ "name": "ITokenContract", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 1241, - "src": "15538:14:0", + "src": "15591:14:0", "typeDescriptions": { "typeIdentifier": "t_contract$_ITokenContract_$1241", "typeString": "contract ITokenContract" @@ -10224,7 +10224,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 720, - "src": "15576:1:0", + "src": "15629:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" @@ -10238,7 +10238,7 @@ "memberName": "tokenAddress", "nodeType": "MemberAccess", "referencedDeclaration": 56, - "src": "15576:14:0", + "src": "15629:14:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -10257,7 +10257,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1241, - "src": "15561:14:0", + "src": "15614:14:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_ITokenContract_$1241_$", "typeString": "type(contract ITokenContract)" @@ -10271,20 +10271,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15561:30:0", + "src": "15614:30:0", "typeDescriptions": { "typeIdentifier": "t_contract$_ITokenContract_$1241", "typeString": "contract ITokenContract" } }, "nodeType": "VariableDeclarationStatement", - "src": "15538:53:0" + "src": "15591:53:0" }, { "body": { "id": 885, "nodeType": "Block", - "src": "15654:469:0", + "src": "15707:469:0", "statements": [ { "expression": { @@ -10321,7 +10321,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 711, - "src": "15681:12:0", + "src": "15734:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -10335,7 +10335,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 816, - "src": "15694:1:0", + "src": "15747:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10346,7 +10346,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15681:15:0", + "src": "15734:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -10367,7 +10367,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "15708:1:0", + "src": "15761:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -10389,7 +10389,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "15700:7:0", + "src": "15753:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" @@ -10404,13 +10404,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15700:10:0", + "src": "15753:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "15681:29:0", + "src": "15734:29:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -10429,7 +10429,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 720, - "src": "15714:1:0", + "src": "15767:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" @@ -10443,7 +10443,7 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "15714:9:0", + "src": "15767:9:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -10459,7 +10459,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 711, - "src": "15724:12:0", + "src": "15777:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -10473,7 +10473,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 816, - "src": "15737:1:0", + "src": "15790:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10484,7 +10484,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15724:15:0", + "src": "15777:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -10495,13 +10495,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15714:26:0", + "src": "15767:26:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "15681:59:0", + "src": "15734:59:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -10517,7 +10517,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "15742:25:0", + "src": "15795:25:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_4b4c116dbf18274831a2b569c567d9fd9a0e9828a6c86ee9f93e80400fb6c49f", @@ -10545,7 +10545,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "15673:7:0", + "src": "15726:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -10559,7 +10559,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15673:95:0", + "src": "15726:95:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -10567,7 +10567,7 @@ }, "id": 843, "nodeType": "ExpressionStatement", - "src": "15673:95:0" + "src": "15726:95:0" }, { "expression": { @@ -10593,7 +10593,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 714, - "src": "15794:7:0", + "src": "15847:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" @@ -10607,7 +10607,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 816, - "src": "15802:1:0", + "src": "15855:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10618,7 +10618,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15794:10:0", + "src": "15847:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10636,7 +10636,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "15807:1:0", + "src": "15860:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -10644,7 +10644,7 @@ }, "value": "0" }, - "src": "15794:14:0", + "src": "15847:14:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -10660,7 +10660,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "15810:44:0", + "src": "15863:44:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_5e1271a09dbb64ae031de288deb0ad8d707df7db51d6e827931dc8fa6642a71e", @@ -10688,7 +10688,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "15786:7:0", + "src": "15839:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -10702,7 +10702,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15786:69:0", + "src": "15839:69:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -10710,7 +10710,7 @@ }, "id": 852, "nodeType": "ExpressionStatement", - "src": "15786:69:0" + "src": "15839:69:0" }, { "expression": { @@ -10727,7 +10727,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 726, - "src": "15874:16:0", + "src": "15927:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10747,7 +10747,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 714, - "src": "15914:7:0", + "src": "15967:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" @@ -10761,7 +10761,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 816, - "src": "15922:1:0", + "src": "15975:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10772,7 +10772,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15914:10:0", + "src": "15967:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10793,7 +10793,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 726, - "src": "15893:16:0", + "src": "15946:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10807,7 +10807,7 @@ "memberName": "add", "nodeType": "MemberAccess", "referencedDeclaration": 1348, - "src": "15893:20:0", + "src": "15946:20:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" @@ -10821,13 +10821,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15893:32:0", + "src": "15946:32:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "15874:51:0", + "src": "15927:51:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10835,7 +10835,7 @@ }, "id": 861, "nodeType": "ExpressionStatement", - "src": "15874:51:0" + "src": "15927:51:0" }, { "expression": { @@ -10856,7 +10856,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 720, - "src": "15943:1:0", + "src": "15996:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" @@ -10870,7 +10870,7 @@ "memberName": "beneficiaries", "nodeType": "MemberAccess", "referencedDeclaration": 70, - "src": "15943:15:0", + "src": "15996:15:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -10886,7 +10886,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 711, - "src": "15959:12:0", + "src": "16012:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -10900,7 +10900,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 816, - "src": "15972:1:0", + "src": "16025:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10911,7 +10911,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15959:15:0", + "src": "16012:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -10922,7 +10922,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "15943:32:0", + "src": "15996:32:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -10940,7 +10940,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "15978:4:0", + "src": "16031:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -10948,7 +10948,7 @@ }, "value": "true" }, - "src": "15943:39:0", + "src": "15996:39:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -10956,7 +10956,7 @@ }, "id": 871, "nodeType": "ExpressionStatement", - "src": "15943:39:0" + "src": "15996:39:0" }, { "expression": { @@ -10974,7 +10974,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 711, - "src": "16053:12:0", + "src": "16106:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -10988,7 +10988,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 816, - "src": "16066:1:0", + "src": "16119:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10999,7 +10999,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "16053:15:0", + "src": "16106:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -11014,7 +11014,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 714, - "src": "16070:7:0", + "src": "16123:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" @@ -11028,7 +11028,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 816, - "src": "16078:1:0", + "src": "16131:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11039,7 +11039,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "16070:10:0", + "src": "16123:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11064,7 +11064,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 809, - "src": "16038:5:0", + "src": "16091:5:0", "typeDescriptions": { "typeIdentifier": "t_contract$_ITokenContract_$1241", "typeString": "contract ITokenContract" @@ -11078,7 +11078,7 @@ "memberName": "transfer", "nodeType": "MemberAccess", "referencedDeclaration": 1229, - "src": "16038:14:0", + "src": "16091:14:0", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", "typeString": "function (address,uint256) external returns (bool)" @@ -11092,7 +11092,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16038:43:0", + "src": "16091:43:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -11108,7 +11108,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "16083:24:0", + "src": "16136:24:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_e545223bb79d8456d66fa5a98897abb42bb4807111f004a120200da3b7e292c5", @@ -11136,7 +11136,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "16030:7:0", + "src": "16083:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -11150,7 +11150,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16030:78:0", + "src": "16083:78:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -11158,7 +11158,7 @@ }, "id": 884, "nodeType": "ExpressionStatement", - "src": "16030:78:0" + "src": "16083:78:0" } ] }, @@ -11180,7 +11180,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 816, - "src": "15626:1:0", + "src": "15679:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11197,7 +11197,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 711, - "src": "15628:12:0", + "src": "15681:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -11211,13 +11211,13 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "15628:19:0", + "src": "15681:19:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "15626:21:0", + "src": "15679:21:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -11235,7 +11235,7 @@ "name": "j", "nodeType": "VariableDeclaration", "scope": 893, - "src": "15611:9:0", + "src": "15664:9:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -11246,7 +11246,7 @@ "id": 815, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "15611:7:0", + "src": "15664:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11267,7 +11267,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "15623:1:0", + "src": "15676:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -11276,7 +11276,7 @@ "value": "0" }, "nodeType": "VariableDeclarationStatement", - "src": "15611:13:0" + "src": "15664:13:0" }, "loopExpression": { "expression": { @@ -11289,7 +11289,7 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "15649:3:0", + "src": "15702:3:0", "subExpression": { "argumentTypes": null, "id": 823, @@ -11297,7 +11297,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 816, - "src": "15649:1:0", + "src": "15702:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11310,27 +11310,27 @@ }, "id": 825, "nodeType": "ExpressionStatement", - "src": "15649:3:0" + "src": "15702:3:0" }, "nodeType": "ForStatement", - "src": "15606:517:0" + "src": "15659:517:0" } ] } }, "id": 889, "nodeType": "IfStatement", - "src": "14834:1299:0", + "src": "14887:1299:0", "trueBody": { "id": 802, "nodeType": "Block", - "src": "14882:587:0", + "src": "14935:587:0", "statements": [ { "body": { "id": 800, "nodeType": "Block", - "src": "14946:512:0", + "src": "14999:512:0", "statements": [ { "expression": { @@ -11367,7 +11367,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 711, - "src": "14973:12:0", + "src": "15026:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -11381,7 +11381,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 735, - "src": "14986:1:0", + "src": "15039:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11392,7 +11392,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "14973:15:0", + "src": "15026:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -11413,7 +11413,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "15000:1:0", + "src": "15053:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -11435,7 +11435,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "14992:7:0", + "src": "15045:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" @@ -11450,13 +11450,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "14992:10:0", + "src": "15045:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "14973:29:0", + "src": "15026:29:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -11475,7 +11475,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 720, - "src": "15006:1:0", + "src": "15059:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" @@ -11489,7 +11489,7 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "15006:9:0", + "src": "15059:9:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -11505,7 +11505,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 711, - "src": "15016:12:0", + "src": "15069:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -11519,7 +11519,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 735, - "src": "15029:1:0", + "src": "15082:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11530,7 +11530,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15016:15:0", + "src": "15069:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -11541,13 +11541,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15006:26:0", + "src": "15059:26:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "14973:59:0", + "src": "15026:59:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -11563,7 +11563,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "15034:25:0", + "src": "15087:25:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_4b4c116dbf18274831a2b569c567d9fd9a0e9828a6c86ee9f93e80400fb6c49f", @@ -11591,7 +11591,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "14965:7:0", + "src": "15018:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -11605,7 +11605,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "14965:95:0", + "src": "15018:95:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -11613,7 +11613,7 @@ }, "id": 762, "nodeType": "ExpressionStatement", - "src": "14965:95:0" + "src": "15018:95:0" }, { "expression": { @@ -11639,7 +11639,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 714, - "src": "15086:7:0", + "src": "15139:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" @@ -11653,7 +11653,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 735, - "src": "15094:1:0", + "src": "15147:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11664,7 +11664,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15086:10:0", + "src": "15139:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11682,7 +11682,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "15099:1:0", + "src": "15152:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -11690,7 +11690,7 @@ }, "value": "0" }, - "src": "15086:14:0", + "src": "15139:14:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -11706,7 +11706,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "15102:44:0", + "src": "15155:44:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_5e1271a09dbb64ae031de288deb0ad8d707df7db51d6e827931dc8fa6642a71e", @@ -11734,7 +11734,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "15078:7:0", + "src": "15131:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -11748,7 +11748,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15078:69:0", + "src": "15131:69:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -11756,7 +11756,7 @@ }, "id": 771, "nodeType": "ExpressionStatement", - "src": "15078:69:0" + "src": "15131:69:0" }, { "expression": { @@ -11773,7 +11773,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 726, - "src": "15166:16:0", + "src": "15219:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11793,7 +11793,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 714, - "src": "15206:7:0", + "src": "15259:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" @@ -11807,7 +11807,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 735, - "src": "15214:1:0", + "src": "15267:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11818,7 +11818,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15206:10:0", + "src": "15259:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11839,7 +11839,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 726, - "src": "15185:16:0", + "src": "15238:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11853,7 +11853,7 @@ "memberName": "add", "nodeType": "MemberAccess", "referencedDeclaration": 1348, - "src": "15185:20:0", + "src": "15238:20:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" @@ -11867,13 +11867,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15185:32:0", + "src": "15238:32:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "15166:51:0", + "src": "15219:51:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11881,7 +11881,7 @@ }, "id": 780, "nodeType": "ExpressionStatement", - "src": "15166:51:0" + "src": "15219:51:0" }, { "expression": { @@ -11902,7 +11902,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 720, - "src": "15236:1:0", + "src": "15289:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" @@ -11916,7 +11916,7 @@ "memberName": "beneficiaries", "nodeType": "MemberAccess", "referencedDeclaration": 70, - "src": "15236:15:0", + "src": "15289:15:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -11932,7 +11932,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 711, - "src": "15252:12:0", + "src": "15305:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -11946,7 +11946,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 735, - "src": "15265:1:0", + "src": "15318:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11957,7 +11957,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15252:15:0", + "src": "15305:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -11968,7 +11968,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "15236:32:0", + "src": "15289:32:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -11986,7 +11986,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "15271:4:0", + "src": "15324:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -11994,7 +11994,7 @@ }, "value": "true" }, - "src": "15236:39:0", + "src": "15289:39:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -12002,7 +12002,7 @@ }, "id": 790, "nodeType": "ExpressionStatement", - "src": "15236:39:0" + "src": "15289:39:0" }, { "expression": { @@ -12017,7 +12017,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 714, - "src": "15347:7:0", + "src": "15400:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" @@ -12031,7 +12031,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 735, - "src": "15355:1:0", + "src": "15408:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12042,7 +12042,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15347:10:0", + "src": "15400:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12065,7 +12065,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 711, - "src": "15322:12:0", + "src": "15375:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -12079,7 +12079,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 735, - "src": "15335:1:0", + "src": "15388:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12090,7 +12090,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15322:15:0", + "src": "15375:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -12104,7 +12104,7 @@ "memberName": "transfer", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "15322:24:0", + "src": "15375:24:0", "typeDescriptions": { "typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$", "typeString": "function (uint256)" @@ -12118,7 +12118,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15322:36:0", + "src": "15375:36:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -12126,7 +12126,7 @@ }, "id": 799, "nodeType": "ExpressionStatement", - "src": "15322:36:0" + "src": "15375:36:0" } ] }, @@ -12148,7 +12148,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 735, - "src": "14916:1:0", + "src": "14969:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12165,7 +12165,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 711, - "src": "14920:12:0", + "src": "14973:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -12179,13 +12179,13 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "14920:19:0", + "src": "14973:19:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "14916:23:0", + "src": "14969:23:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -12203,7 +12203,7 @@ "name": "i", "nodeType": "VariableDeclaration", "scope": 893, - "src": "14901:9:0", + "src": "14954:9:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12214,7 +12214,7 @@ "id": 734, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "14901:7:0", + "src": "14954:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12235,7 +12235,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "14913:1:0", + "src": "14966:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -12244,7 +12244,7 @@ "value": "0" }, "nodeType": "VariableDeclarationStatement", - "src": "14901:13:0" + "src": "14954:13:0" }, "loopExpression": { "expression": { @@ -12257,7 +12257,7 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "14941:3:0", + "src": "14994:3:0", "subExpression": { "argumentTypes": null, "id": 742, @@ -12265,7 +12265,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 735, - "src": "14941:1:0", + "src": "14994:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12278,10 +12278,10 @@ }, "id": 744, "nodeType": "ExpressionStatement", - "src": "14941:3:0" + "src": "14994:3:0" }, "nodeType": "ForStatement", - "src": "14896:562:0" + "src": "14949:562:0" } ] } @@ -12294,7 +12294,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 726, - "src": "16150:16:0", + "src": "16203:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12303,7 +12303,7 @@ "functionReturnParameters": 718, "id": 891, "nodeType": "Return", - "src": "16143:23:0" + "src": "16196:23:0" } ] }, @@ -12325,7 +12325,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 893, - "src": "14598:18:0", + "src": "14651:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12336,7 +12336,7 @@ "id": 707, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "14598:7:0", + "src": "14651:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -12351,7 +12351,7 @@ "name": "destinations", "nodeType": "VariableDeclaration", "scope": 893, - "src": "14626:21:0", + "src": "14679:21:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12363,7 +12363,7 @@ "id": 709, "name": "address", "nodeType": "ElementaryTypeName", - "src": "14626:7:0", + "src": "14679:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -12372,7 +12372,7 @@ "id": 710, "length": null, "nodeType": "ArrayTypeName", - "src": "14626:9:0", + "src": "14679:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", "typeString": "address[]" @@ -12387,7 +12387,7 @@ "name": "amounts", "nodeType": "VariableDeclaration", "scope": 893, - "src": "14657:16:0", + "src": "14710:16:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12399,7 +12399,7 @@ "id": 712, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "14657:7:0", + "src": "14710:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12408,7 +12408,7 @@ "id": 713, "length": null, "nodeType": "ArrayTypeName", - "src": "14657:9:0", + "src": "14710:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -12418,7 +12418,7 @@ "visibility": "internal" } ], - "src": "14588:91:0" + "src": "14641:91:0" }, "payable": false, "returnParameters": { @@ -12431,7 +12431,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 893, - "src": "14713:7:0", + "src": "14766:7:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12442,7 +12442,7 @@ "id": 716, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "14713:7:0", + "src": "14766:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12452,10 +12452,10 @@ "visibility": "internal" } ], - "src": "14712:9:0" + "src": "14765:9:0" }, "scope": 1211, - "src": "14566:1607:0", + "src": "14619:1607:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "private" @@ -12464,7 +12464,7 @@ "body": { "id": 1021, "nodeType": "Block", - "src": "16591:1337:0", + "src": "16644:1337:0", "statements": [ { "expression": { @@ -12501,7 +12501,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 899, - "src": "16623:4:0", + "src": "16676:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" @@ -12515,7 +12515,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "16623:11:0", + "src": "16676:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12532,7 +12532,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 902, - "src": "16638:4:0", + "src": "16691:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" @@ -12546,13 +12546,13 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "16638:11:0", + "src": "16691:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "16623:26:0", + "src": "16676:26:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -12580,7 +12580,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 899, - "src": "16653:4:0", + "src": "16706:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" @@ -12594,7 +12594,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "16653:11:0", + "src": "16706:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12611,7 +12611,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 896, - "src": "16668:4:0", + "src": "16721:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr", "typeString": "uint8[] memory" @@ -12625,19 +12625,19 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "16668:11:0", + "src": "16721:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "16653:26:0", + "src": "16706:26:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "16623:56:0", + "src": "16676:56:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -12653,7 +12653,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "16694:24:0", + "src": "16747:24:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_f85073c8befb65baed58ca1ee563e5da0bdbdce8abd4d29ef22a8329c7c97506", @@ -12681,7 +12681,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "16602:7:0", + "src": "16655:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -12695,7 +12695,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16602:126:0", + "src": "16655:126:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -12703,7 +12703,7 @@ }, "id": 929, "nodeType": "ExpressionStatement", - "src": "16602:126:0" + "src": "16655:126:0" }, { "assignments": [], @@ -12714,7 +12714,7 @@ "name": "lastAddress", "nodeType": "VariableDeclaration", "scope": 1022, - "src": "16739:19:0", + "src": "16792:19:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12725,7 +12725,7 @@ "id": 930, "name": "address", "nodeType": "ElementaryTypeName", - "src": "16739:7:0", + "src": "16792:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -12738,7 +12738,7 @@ "id": 932, "initialValue": null, "nodeType": "VariableDeclarationStatement", - "src": "16739:19:0" + "src": "16792:19:0" }, { "assignments": [ @@ -12751,7 +12751,7 @@ "name": "txHash", "nodeType": "VariableDeclaration", "scope": 1022, - "src": "16857:14:0", + "src": "16910:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12762,7 +12762,7 @@ "id": 933, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "16857:7:0", + "src": "16910:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -12789,7 +12789,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "16931:34:0", + "src": "16984:34:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_178a2411ab6fbc1ba11064408972259c558d0e82fd48b0aba3ad81d14f065e73", @@ -12816,7 +12816,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "17061:4:0", + "src": "17114:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_25_by_1", @@ -12838,7 +12838,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "17056:4:0", + "src": "17109:4:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes1_$", "typeString": "type(bytes1)" @@ -12853,7 +12853,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17056:10:0", + "src": "17109:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes1", "typeString": "bytes1" @@ -12872,7 +12872,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "17097:1:0", + "src": "17150:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -12894,7 +12894,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "17092:4:0", + "src": "17145:4:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes1_$", "typeString": "type(bytes1)" @@ -12909,7 +12909,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17092:7:0", + "src": "17145:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes1", "typeString": "bytes1" @@ -12922,7 +12922,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1401, - "src": "17125:4:0", + "src": "17178:4:0", "typeDescriptions": { "typeIdentifier": "t_contract$_Escrow_v1_0_$1211", "typeString": "contract Escrow_v1_0" @@ -12935,7 +12935,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 907, - "src": "17155:12:0", + "src": "17208:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -12948,7 +12948,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 910, - "src": "17193:7:0", + "src": "17246:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" @@ -12961,7 +12961,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 904, - "src": "17226:10:0", + "src": "17279:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -13002,7 +13002,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1371, - "src": "17014:3:0", + "src": "17067:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" @@ -13016,7 +13016,7 @@ "memberName": "encodePacked", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "17014:16:0", + "src": "17067:16:0", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" @@ -13030,7 +13030,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17014:244:0", + "src": "17067:244:0", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -13049,7 +13049,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1378, - "src": "16983:9:0", + "src": "17036:9:0", "typeDescriptions": { "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", "typeString": "function () pure returns (bytes32)" @@ -13063,7 +13063,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16983:293:0", + "src": "17036:293:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -13088,7 +13088,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1371, - "src": "16897:3:0", + "src": "16950:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" @@ -13102,7 +13102,7 @@ "memberName": "encodePacked", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "16897:16:0", + "src": "16950:16:0", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" @@ -13116,7 +13116,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16897:393:0", + "src": "16950:393:0", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -13135,7 +13135,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1378, - "src": "16874:9:0", + "src": "16927:9:0", "typeDescriptions": { "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", "typeString": "function () pure returns (bytes32)" @@ -13149,20 +13149,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16874:426:0", + "src": "16927:426:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "nodeType": "VariableDeclarationStatement", - "src": "16857:443:0" + "src": "16910:443:0" }, { "body": { "id": 1017, "nodeType": "Block", - "src": "17350:543:0", + "src": "17403:543:0", "statements": [ { "assignments": [ @@ -13175,7 +13175,7 @@ "name": "recovered", "nodeType": "VariableDeclaration", "scope": 1022, - "src": "17365:17:0", + "src": "17418:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -13186,7 +13186,7 @@ "id": 968, "name": "address", "nodeType": "ElementaryTypeName", - "src": "17365:7:0", + "src": "17418:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -13207,7 +13207,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 934, - "src": "17412:6:0", + "src": "17465:6:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -13222,7 +13222,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 896, - "src": "17436:4:0", + "src": "17489:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr", "typeString": "uint8[] memory" @@ -13236,7 +13236,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 958, - "src": "17441:1:0", + "src": "17494:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13247,7 +13247,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17436:7:0", + "src": "17489:7:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -13262,7 +13262,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 899, - "src": "17461:4:0", + "src": "17514:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" @@ -13276,7 +13276,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 958, - "src": "17466:1:0", + "src": "17519:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13287,7 +13287,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17461:7:0", + "src": "17514:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -13302,7 +13302,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 902, - "src": "17486:4:0", + "src": "17539:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" @@ -13316,7 +13316,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 958, - "src": "17491:1:0", + "src": "17544:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13327,7 +13327,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17486:7:0", + "src": "17539:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -13358,7 +13358,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1376, - "src": "17385:9:0", + "src": "17438:9:0", "typeDescriptions": { "typeIdentifier": "t_function_ecrecover_pure$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$_t_address_$", "typeString": "function (bytes32,uint8,bytes32,bytes32) pure returns (address)" @@ -13372,14 +13372,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17385:122:0", + "src": "17438:122:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "VariableDeclarationStatement", - "src": "17365:142:0" + "src": "17418:142:0" }, { "expression": { @@ -13398,7 +13398,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "17547:12:0", + "src": "17600:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -13412,7 +13412,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 904, - "src": "17560:10:0", + "src": "17613:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -13423,7 +13423,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17547:24:0", + "src": "17600:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -13437,7 +13437,7 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "17547:32:0", + "src": "17600:32:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -13451,7 +13451,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 969, - "src": "17580:9:0", + "src": "17633:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -13462,7 +13462,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17547:43:0", + "src": "17600:43:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -13478,7 +13478,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "17609:19:0", + "src": "17662:19:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_4f2d7dfcb27c0aafa13ae8c400de482c7832204d194018b6e45bd2bf244c74e7", @@ -13506,7 +13506,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "17522:7:0", + "src": "17575:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -13520,7 +13520,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17522:120:0", + "src": "17575:120:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -13528,7 +13528,7 @@ }, "id": 992, "nodeType": "ExpressionStatement", - "src": "17522:120:0" + "src": "17575:120:0" }, { "expression": { @@ -13544,7 +13544,7 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "17681:42:0", + "src": "17734:42:0", "subExpression": { "argumentTypes": null, "baseExpression": { @@ -13558,7 +13558,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "17682:12:0", + "src": "17735:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -13572,7 +13572,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 904, - "src": "17695:10:0", + "src": "17748:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -13583,7 +13583,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17682:24:0", + "src": "17735:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -13597,7 +13597,7 @@ "memberName": "voted", "nodeType": "MemberAccess", "referencedDeclaration": 66, - "src": "17682:30:0", + "src": "17735:30:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -13611,7 +13611,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 969, - "src": "17713:9:0", + "src": "17766:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -13622,7 +13622,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17682:41:0", + "src": "17735:41:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -13643,7 +13643,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "17742:27:0", + "src": "17795:27:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_fb2c7e49d5ec7ce36fa812cf15ee7fa946942f931d04fe3ae970516007b2a543", @@ -13671,7 +13671,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "17656:7:0", + "src": "17709:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -13685,7 +13685,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17656:127:0", + "src": "17709:127:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -13693,7 +13693,7 @@ }, "id": 1003, "nodeType": "ExpressionStatement", - "src": "17656:127:0" + "src": "17709:127:0" }, { "expression": { @@ -13716,7 +13716,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "17797:12:0", + "src": "17850:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -13730,7 +13730,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 904, - "src": "17810:10:0", + "src": "17863:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -13741,7 +13741,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17797:24:0", + "src": "17850:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -13755,7 +13755,7 @@ "memberName": "voted", "nodeType": "MemberAccess", "referencedDeclaration": 66, - "src": "17797:30:0", + "src": "17850:30:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -13769,7 +13769,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 969, - "src": "17828:9:0", + "src": "17881:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -13780,7 +13780,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "17797:41:0", + "src": "17850:41:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -13798,7 +13798,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "17841:4:0", + "src": "17894:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -13806,7 +13806,7 @@ }, "value": "true" }, - "src": "17797:48:0", + "src": "17850:48:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -13814,7 +13814,7 @@ }, "id": 1012, "nodeType": "ExpressionStatement", - "src": "17797:48:0" + "src": "17850:48:0" }, { "expression": { @@ -13831,7 +13831,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 931, - "src": "17859:11:0", + "src": "17912:11:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -13846,13 +13846,13 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 969, - "src": "17873:9:0", + "src": "17926:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "17859:23:0", + "src": "17912:23:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -13860,7 +13860,7 @@ }, "id": 1016, "nodeType": "ExpressionStatement", - "src": "17859:23:0" + "src": "17912:23:0" } ] }, @@ -13882,7 +13882,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 958, - "src": "17328:1:0", + "src": "17381:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13899,7 +13899,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 899, - "src": "17332:4:0", + "src": "17385:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" @@ -13913,13 +13913,13 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "17332:11:0", + "src": "17385:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "17328:15:0", + "src": "17381:15:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -13937,7 +13937,7 @@ "name": "i", "nodeType": "VariableDeclaration", "scope": 1022, - "src": "17316:6:0", + "src": "17369:6:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -13948,7 +13948,7 @@ "id": 957, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "17316:4:0", + "src": "17369:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13969,7 +13969,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "17325:1:0", + "src": "17378:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -13978,7 +13978,7 @@ "value": "0" }, "nodeType": "VariableDeclarationStatement", - "src": "17316:10:0" + "src": "17369:10:0" }, "loopExpression": { "expression": { @@ -13991,7 +13991,7 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "17345:3:0", + "src": "17398:3:0", "subExpression": { "argumentTypes": null, "id": 965, @@ -13999,7 +13999,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 958, - "src": "17345:1:0", + "src": "17398:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14012,10 +14012,10 @@ }, "id": 967, "nodeType": "ExpressionStatement", - "src": "17345:3:0" + "src": "17398:3:0" }, "nodeType": "ForStatement", - "src": "17311:582:0" + "src": "17364:582:0" }, { "expression": { @@ -14025,7 +14025,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 931, - "src": "17910:11:0", + "src": "17963:11:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -14034,7 +14034,7 @@ "functionReturnParameters": 914, "id": 1020, "nodeType": "Return", - "src": "17903:18:0" + "src": "17956:18:0" } ] }, @@ -14056,7 +14056,7 @@ "name": "sigV", "nodeType": "VariableDeclaration", "scope": 1022, - "src": "16392:12:0", + "src": "16445:12:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14068,7 +14068,7 @@ "id": 894, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "16392:5:0", + "src": "16445:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -14077,7 +14077,7 @@ "id": 895, "length": null, "nodeType": "ArrayTypeName", - "src": "16392:7:0", + "src": "16445:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_storage_ptr", "typeString": "uint8[]" @@ -14092,7 +14092,7 @@ "name": "sigR", "nodeType": "VariableDeclaration", "scope": 1022, - "src": "16414:14:0", + "src": "16467:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14104,7 +14104,7 @@ "id": 897, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "16414:7:0", + "src": "16467:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -14113,7 +14113,7 @@ "id": 898, "length": null, "nodeType": "ArrayTypeName", - "src": "16414:9:0", + "src": "16467:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -14128,7 +14128,7 @@ "name": "sigS", "nodeType": "VariableDeclaration", "scope": 1022, - "src": "16438:14:0", + "src": "16491:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14140,7 +14140,7 @@ "id": 900, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "16438:7:0", + "src": "16491:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -14149,7 +14149,7 @@ "id": 901, "length": null, "nodeType": "ArrayTypeName", - "src": "16438:9:0", + "src": "16491:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -14164,7 +14164,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 1022, - "src": "16462:18:0", + "src": "16515:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14175,7 +14175,7 @@ "id": 903, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "16462:7:0", + "src": "16515:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -14190,7 +14190,7 @@ "name": "destinations", "nodeType": "VariableDeclaration", "scope": 1022, - "src": "16490:22:0", + "src": "16543:22:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14202,7 +14202,7 @@ "id": 905, "name": "address", "nodeType": "ElementaryTypeName", - "src": "16490:7:0", + "src": "16543:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -14211,7 +14211,7 @@ "id": 906, "length": null, "nodeType": "ArrayTypeName", - "src": "16490:9:0", + "src": "16543:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", "typeString": "address[]" @@ -14226,7 +14226,7 @@ "name": "amounts", "nodeType": "VariableDeclaration", "scope": 1022, - "src": "16522:16:0", + "src": "16575:16:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14238,7 +14238,7 @@ "id": 908, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "16522:7:0", + "src": "16575:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14247,7 +14247,7 @@ "id": 909, "length": null, "nodeType": "ArrayTypeName", - "src": "16522:9:0", + "src": "16575:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -14257,7 +14257,7 @@ "visibility": "internal" } ], - "src": "16382:162:0" + "src": "16435:162:0" }, "payable": false, "returnParameters": { @@ -14270,7 +14270,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 1022, - "src": "16578:7:0", + "src": "16631:7:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14281,7 +14281,7 @@ "id": 912, "name": "address", "nodeType": "ElementaryTypeName", - "src": "16578:7:0", + "src": "16631:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -14291,10 +14291,10 @@ "visibility": "internal" } ], - "src": "16577:9:0" + "src": "16630:9:0" }, "scope": 1211, - "src": "16357:1571:0", + "src": "16410:1571:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "private" @@ -14303,7 +14303,7 @@ "body": { "id": 1053, "nodeType": "Block", - "src": "18082:168:0", + "src": "18135:168:0", "statements": [ { "assignments": [ @@ -14316,7 +14316,7 @@ "name": "timeSince", "nodeType": "VariableDeclaration", "scope": 1054, - "src": "18092:17:0", + "src": "18145:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14327,7 +14327,7 @@ "id": 1031, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "18092:7:0", + "src": "18145:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14348,7 +14348,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1026, - "src": "18120:12:0", + "src": "18173:12:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14369,7 +14369,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1386, - "src": "18112:3:0", + "src": "18165:3:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14383,7 +14383,7 @@ "memberName": "sub", "nodeType": "MemberAccess", "referencedDeclaration": 1324, - "src": "18112:7:0", + "src": "18165:7:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" @@ -14397,14 +14397,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18112:21:0", + "src": "18165:21:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "18092:41:0" + "src": "18145:41:0" }, { "expression": { @@ -14430,7 +14430,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1024, - "src": "18164:12:0", + "src": "18217:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -14448,7 +14448,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "18180:1:0", + "src": "18233:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -14456,7 +14456,7 @@ }, "value": "0" }, - "src": "18164:17:0", + "src": "18217:17:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -14480,7 +14480,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1032, - "src": "18190:9:0", + "src": "18243:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14501,7 +14501,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "18228:4:0", + "src": "18281:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_3600_by_1", @@ -14527,7 +14527,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1024, - "src": "18210:12:0", + "src": "18263:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -14547,7 +14547,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "18202:7:0", + "src": "18255:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint256_$", "typeString": "type(uint256)" @@ -14562,7 +14562,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18202:21:0", + "src": "18255:21:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14576,7 +14576,7 @@ "memberName": "mul", "nodeType": "MemberAccess", "referencedDeclaration": 1276, - "src": "18202:25:0", + "src": "18255:25:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" @@ -14590,13 +14590,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18202:31:0", + "src": "18255:31:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "18190:43:0", + "src": "18243:43:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -14608,7 +14608,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "Conditional", - "src": "18164:69:0", + "src": "18217:69:0", "trueExpression": { "argumentTypes": null, "hexValue": "66616c7365", @@ -14619,7 +14619,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "18184:5:0", + "src": "18237:5:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -14640,7 +14640,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "18150:93:0", + "src": "18203:93:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -14649,7 +14649,7 @@ "functionReturnParameters": 1030, "id": 1052, "nodeType": "Return", - "src": "18143:100:0" + "src": "18196:100:0" } ] }, @@ -14671,7 +14671,7 @@ "name": "timeoutHours", "nodeType": "VariableDeclaration", "scope": 1054, - "src": "17970:19:0", + "src": "18023:19:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14682,7 +14682,7 @@ "id": 1023, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "17970:6:0", + "src": "18023:6:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -14697,7 +14697,7 @@ "name": "lastModified", "nodeType": "VariableDeclaration", "scope": 1054, - "src": "17999:20:0", + "src": "18052:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14708,7 +14708,7 @@ "id": 1025, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "17999:7:0", + "src": "18052:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14718,7 +14718,7 @@ "visibility": "internal" } ], - "src": "17960:65:0" + "src": "18013:65:0" }, "payable": false, "returnParameters": { @@ -14731,7 +14731,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 1054, - "src": "18072:4:0", + "src": "18125:4:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14742,7 +14742,7 @@ "id": 1028, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "18072:4:0", + "src": "18125:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -14752,10 +14752,10 @@ "visibility": "internal" } ], - "src": "18071:6:0" + "src": "18124:6:0" }, "scope": 1211, - "src": "17934:316:0", + "src": "17987:316:0", "stateMutability": "view", "superFunction": null, "visibility": "private" @@ -14764,7 +14764,7 @@ "body": { "id": 1209, "nodeType": "Block", - "src": "18664:2308:0", + "src": "18717:2308:0", "statements": [ { "expression": { @@ -14788,7 +14788,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1056, - "src": "18690:5:0", + "src": "18743:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -14803,13 +14803,13 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1058, - "src": "18699:6:0", + "src": "18752:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "18690:15:0", + "src": "18743:15:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -14825,7 +14825,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "18707:27:0", + "src": "18760:27:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_6141441751234d42e9a73d96317794195c7ff57b8f16ac15725a10f10763f824", @@ -14853,7 +14853,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "18682:7:0", + "src": "18735:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -14867,7 +14867,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18682:53:0", + "src": "18735:53:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -14875,7 +14875,7 @@ }, "id": 1083, "nodeType": "ExpressionStatement", - "src": "18682:53:0" + "src": "18735:53:0" }, { "expression": { @@ -14899,7 +14899,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1068, - "src": "18802:5:0", + "src": "18855:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14917,7 +14917,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "18810:1:0", + "src": "18863:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -14925,7 +14925,7 @@ }, "value": "0" }, - "src": "18802:9:0", + "src": "18855:9:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -14941,7 +14941,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "18813:19:0", + "src": "18866:19:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_3686f87c4804517ea83323ccf1a3b5b5ff52ed144b19e6fc56abe8fcd182e747", @@ -14969,7 +14969,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "18794:7:0", + "src": "18847:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -14983,7 +14983,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18794:39:0", + "src": "18847:39:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -14991,7 +14991,7 @@ }, "id": 1090, "nodeType": "ExpressionStatement", - "src": "18794:39:0" + "src": "18847:39:0" }, { "expression": { @@ -15026,7 +15026,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1062, - "src": "18936:9:0", + "src": "18989:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -15044,7 +15044,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "18948:1:0", + "src": "19001:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -15052,7 +15052,7 @@ }, "value": "0" }, - "src": "18936:13:0", + "src": "18989:13:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -15078,7 +15078,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1062, - "src": "18953:9:0", + "src": "19006:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -15096,7 +15096,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "18966:1:0", + "src": "19019:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_3_by_1", @@ -15104,13 +15104,13 @@ }, "value": "3" }, - "src": "18953:14:0", + "src": "19006:14:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "18936:31:0", + "src": "18989:31:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -15126,7 +15126,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "18982:63:0", + "src": "19035:63:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_351c1d5dfdc4a2b4c61d6f4dbb41a0d2ae70a9c094d3c0add87af24b5dd19c13", @@ -15154,7 +15154,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "18915:7:0", + "src": "18968:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -15168,7 +15168,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18915:140:0", + "src": "18968:140:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -15176,7 +15176,7 @@ }, "id": 1101, "nodeType": "ExpressionStatement", - "src": "18915:140:0" + "src": "18968:140:0" }, { "expression": { @@ -15211,7 +15211,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1062, - "src": "19324:9:0", + "src": "19377:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -15229,7 +15229,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "19337:1:0", + "src": "19390:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -15237,7 +15237,7 @@ }, "value": "1" }, - "src": "19324:14:0", + "src": "19377:14:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -15263,7 +15263,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1060, - "src": "19342:9:0", + "src": "19395:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15284,7 +15284,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "19363:1:0", + "src": "19416:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -15306,7 +15306,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "19355:7:0", + "src": "19408:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" @@ -15321,19 +15321,19 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "19355:10:0", + "src": "19408:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "19342:23:0", + "src": "19395:23:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "19324:41:0", + "src": "19377:41:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -15349,7 +15349,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "19379:81:0", + "src": "19432:81:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_08dfdd405be5d5023d3f601e2b0a844b246ceb6764817070ff6789d5e1f80050", @@ -15377,7 +15377,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "19303:7:0", + "src": "19356:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -15391,7 +15391,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "19303:167:0", + "src": "19356:167:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -15399,7 +15399,7 @@ }, "id": 1114, "nodeType": "ExpressionStatement", - "src": "19303:167:0" + "src": "19356:167:0" }, { "expression": { @@ -15423,7 +15423,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1066, - "src": "19502:10:0", + "src": "19555:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -15441,7 +15441,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1070, - "src": "19559:8:0", + "src": "19612:8:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -15454,7 +15454,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1062, - "src": "19585:9:0", + "src": "19638:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -15467,7 +15467,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1064, - "src": "19612:12:0", + "src": "19665:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -15480,7 +15480,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1056, - "src": "19642:5:0", + "src": "19695:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15493,7 +15493,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1058, - "src": "19665:6:0", + "src": "19718:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15506,7 +15506,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1060, - "src": "19689:9:0", + "src": "19742:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15519,7 +15519,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1074, - "src": "19716:12:0", + "src": "19769:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15562,7 +15562,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 637, - "src": "19516:25:0", + "src": "19569:25:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_bytes20_$_t_uint8_$_t_uint32_$_t_address_$_t_address_$_t_address_$_t_address_$returns$_t_bytes32_$", "typeString": "function (bytes20,uint8,uint32,address,address,address,address) view returns (bytes32)" @@ -15576,13 +15576,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "19516:226:0", + "src": "19569:226:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "src": "19502:240:0", + "src": "19555:240:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -15598,7 +15598,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "19757:59:0", + "src": "19810:59:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_0c041e0c58e6b0e01d338d852a5abb639065eabeb0aee05e0ce3e5f0e52b4f51", @@ -15626,7 +15626,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "19481:7:0", + "src": "19534:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -15640,7 +15640,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "19481:345:0", + "src": "19534:345:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -15648,7 +15648,7 @@ }, "id": 1129, "nodeType": "ExpressionStatement", - "src": "19481:345:0" + "src": "19534:345:0" }, { "expression": { @@ -15667,7 +15667,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "19837:12:0", + "src": "19890:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -15681,7 +15681,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1066, - "src": "19850:10:0", + "src": "19903:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -15692,7 +15692,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "19837:24:0", + "src": "19890:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -15710,7 +15710,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1056, - "src": "19897:5:0", + "src": "19950:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15723,7 +15723,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1058, - "src": "19924:6:0", + "src": "19977:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15736,7 +15736,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1060, - "src": "19955:9:0", + "src": "20008:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15749,7 +15749,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1068, - "src": "19985:5:0", + "src": "20038:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -15764,7 +15764,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9, - "src": "20012:6:0", + "src": "20065:6:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_Status_$9_$", "typeString": "type(enum Escrow_v1_0.Status)" @@ -15778,7 +15778,7 @@ "memberName": "FUNDED", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "20012:13:0", + "src": "20065:13:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$9", "typeString": "enum Escrow_v1_0.Status" @@ -15793,7 +15793,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1374, - "src": "20053:5:0", + "src": "20106:5:0", "typeDescriptions": { "typeIdentifier": "t_magic_block", "typeString": "block" @@ -15807,7 +15807,7 @@ "memberName": "timestamp", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "20053:15:0", + "src": "20106:15:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -15820,7 +15820,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1062, - "src": "20093:9:0", + "src": "20146:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -15833,7 +15833,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1064, - "src": "20130:12:0", + "src": "20183:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -15846,7 +15846,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1072, - "src": "20172:15:0", + "src": "20225:15:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -15859,7 +15859,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1074, - "src": "20214:12:0", + "src": "20267:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15873,7 +15873,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 71, - "src": "19864:11:0", + "src": "19917:11:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_struct$_Transaction_$71_storage_ptr_$", "typeString": "type(struct Escrow_v1_0.Transaction storage pointer)" @@ -15898,13 +15898,13 @@ "tokenAddress" ], "nodeType": "FunctionCall", - "src": "19864:373:0", + "src": "19917:373:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_memory", "typeString": "struct Escrow_v1_0.Transaction memory" } }, - "src": "19837:400:0", + "src": "19890:400:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -15912,7 +15912,7 @@ }, "id": 1148, "nodeType": "ExpressionStatement", - "src": "19837:400:0" + "src": "19890:400:0" }, { "expression": { @@ -15935,7 +15935,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "20248:12:0", + "src": "20301:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -15949,7 +15949,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1066, - "src": "20261:10:0", + "src": "20314:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -15960,7 +15960,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20248:24:0", + "src": "20301:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -15974,7 +15974,7 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "20248:32:0", + "src": "20301:32:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -15988,7 +15988,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1058, - "src": "20281:6:0", + "src": "20334:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15999,7 +15999,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "20248:40:0", + "src": "20301:40:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -16017,7 +16017,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "20291:4:0", + "src": "20344:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -16025,7 +16025,7 @@ }, "value": "true" }, - "src": "20248:47:0", + "src": "20301:47:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -16033,7 +16033,7 @@ }, "id": 1157, "nodeType": "ExpressionStatement", - "src": "20248:47:0" + "src": "20301:47:0" }, { "expression": { @@ -16056,7 +16056,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "20305:12:0", + "src": "20358:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -16070,7 +16070,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1066, - "src": "20318:10:0", + "src": "20371:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -16081,7 +16081,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20305:24:0", + "src": "20358:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -16095,7 +16095,7 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "20305:32:0", + "src": "20358:32:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -16109,7 +16109,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1056, - "src": "20338:5:0", + "src": "20391:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -16120,7 +16120,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "20305:39:0", + "src": "20358:39:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -16138,7 +16138,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "20347:4:0", + "src": "20400:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -16146,7 +16146,7 @@ }, "value": "true" }, - "src": "20305:46:0", + "src": "20358:46:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -16154,7 +16154,7 @@ }, "id": 1166, "nodeType": "ExpressionStatement", - "src": "20305:46:0" + "src": "20358:46:0" }, { "expression": { @@ -16170,7 +16170,7 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "20458:44:0", + "src": "20511:44:0", "subExpression": { "argumentTypes": null, "baseExpression": { @@ -16184,7 +16184,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "20459:12:0", + "src": "20512:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -16198,7 +16198,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1066, - "src": "20472:10:0", + "src": "20525:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -16209,7 +16209,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20459:24:0", + "src": "20512:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -16223,7 +16223,7 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "20459:32:0", + "src": "20512:32:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -16237,7 +16237,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1060, - "src": "20492:9:0", + "src": "20545:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -16248,7 +16248,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20459:43:0", + "src": "20512:43:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -16269,7 +16269,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "20517:47:0", + "src": "20570:47:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_313b391557427937e7bdb85c7561d47c5b9c985755a448dd33a92026ffb38f8d", @@ -16297,7 +16297,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "20437:7:0", + "src": "20490:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -16311,7 +16311,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "20437:137:0", + "src": "20490:137:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -16319,7 +16319,7 @@ }, "id": 1177, "nodeType": "ExpressionStatement", - "src": "20437:137:0" + "src": "20490:137:0" }, { "condition": { @@ -16340,7 +16340,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1062, - "src": "20734:9:0", + "src": "20787:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -16358,7 +16358,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "20746:1:0", + "src": "20799:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -16366,7 +16366,7 @@ }, "value": "1" }, - "src": "20734:13:0", + "src": "20787:13:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -16375,11 +16375,11 @@ "falseBody": null, "id": 1191, "nodeType": "IfStatement", - "src": "20730:93:0", + "src": "20783:93:0", "trueBody": { "id": 1190, "nodeType": "Block", - "src": "20748:75:0", + "src": "20801:75:0", "statements": [ { "expression": { @@ -16402,7 +16402,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "20762:12:0", + "src": "20815:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -16416,7 +16416,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1066, - "src": "20775:10:0", + "src": "20828:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -16427,7 +16427,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20762:24:0", + "src": "20815:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -16441,7 +16441,7 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "20762:32:0", + "src": "20815:32:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -16455,7 +16455,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1060, - "src": "20795:9:0", + "src": "20848:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -16466,7 +16466,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "20762:43:0", + "src": "20815:43:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -16484,7 +16484,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "20808:4:0", + "src": "20861:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -16492,7 +16492,7 @@ }, "value": "true" }, - "src": "20762:50:0", + "src": "20815:50:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -16500,7 +16500,7 @@ }, "id": 1189, "nodeType": "ExpressionStatement", - "src": "20762:50:0" + "src": "20815:50:0" } ] } @@ -16516,7 +16516,7 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "20841:18:0", + "src": "20894:18:0", "subExpression": { "argumentTypes": null, "id": 1192, @@ -16524,7 +16524,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 78, - "src": "20841:16:0", + "src": "20894:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -16537,7 +16537,7 @@ }, "id": 1194, "nodeType": "ExpressionStatement", - "src": "20841:18:0" + "src": "20894:18:0" }, { "expression": { @@ -16550,7 +16550,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1066, - "src": "20901:10:0", + "src": "20954:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -16573,7 +16573,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 83, - "src": "20870:18:0", + "src": "20923:18:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_bytes32_$dyn_storage_$", "typeString": "mapping(address => bytes32[] storage ref)" @@ -16587,7 +16587,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1056, - "src": "20889:5:0", + "src": "20942:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -16598,7 +16598,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20870:25:0", + "src": "20923:25:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage", "typeString": "bytes32[] storage ref" @@ -16612,7 +16612,7 @@ "memberName": "push", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "20870:30:0", + "src": "20923:30:0", "typeDescriptions": { "typeIdentifier": "t_function_arraypush_nonpayable$_t_bytes32_$returns$_t_uint256_$", "typeString": "function (bytes32) returns (uint256)" @@ -16626,7 +16626,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "20870:42:0", + "src": "20923:42:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -16634,7 +16634,7 @@ }, "id": 1201, "nodeType": "ExpressionStatement", - "src": "20870:42:0" + "src": "20923:42:0" }, { "expression": { @@ -16647,7 +16647,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1066, - "src": "20954:10:0", + "src": "21007:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -16670,7 +16670,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 83, - "src": "20922:18:0", + "src": "20975:18:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_bytes32_$dyn_storage_$", "typeString": "mapping(address => bytes32[] storage ref)" @@ -16684,7 +16684,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1058, - "src": "20941:6:0", + "src": "20994:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -16695,7 +16695,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20922:26:0", + "src": "20975:26:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage", "typeString": "bytes32[] storage ref" @@ -16709,7 +16709,7 @@ "memberName": "push", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "20922:31:0", + "src": "20975:31:0", "typeDescriptions": { "typeIdentifier": "t_function_arraypush_nonpayable$_t_bytes32_$returns$_t_uint256_$", "typeString": "function (bytes32) returns (uint256)" @@ -16723,7 +16723,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "20922:43:0", + "src": "20975:43:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -16731,7 +16731,7 @@ }, "id": 1208, "nodeType": "ExpressionStatement", - "src": "20922:43:0" + "src": "20975:43:0" } ] }, @@ -16753,7 +16753,7 @@ "name": "buyer", "nodeType": "VariableDeclaration", "scope": 1210, - "src": "18371:13:0", + "src": "18424:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -16764,7 +16764,7 @@ "id": 1055, "name": "address", "nodeType": "ElementaryTypeName", - "src": "18371:7:0", + "src": "18424:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -16779,7 +16779,7 @@ "name": "seller", "nodeType": "VariableDeclaration", "scope": 1210, - "src": "18394:14:0", + "src": "18447:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -16790,7 +16790,7 @@ "id": 1057, "name": "address", "nodeType": "ElementaryTypeName", - "src": "18394:7:0", + "src": "18447:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -16805,7 +16805,7 @@ "name": "moderator", "nodeType": "VariableDeclaration", "scope": 1210, - "src": "18418:17:0", + "src": "18471:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -16816,7 +16816,7 @@ "id": 1059, "name": "address", "nodeType": "ElementaryTypeName", - "src": "18418:7:0", + "src": "18471:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -16831,7 +16831,7 @@ "name": "threshold", "nodeType": "VariableDeclaration", "scope": 1210, - "src": "18445:15:0", + "src": "18498:15:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -16842,7 +16842,7 @@ "id": 1061, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "18445:5:0", + "src": "18498:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -16857,7 +16857,7 @@ "name": "timeoutHours", "nodeType": "VariableDeclaration", "scope": 1210, - "src": "18470:19:0", + "src": "18523:19:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -16868,7 +16868,7 @@ "id": 1063, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "18470:6:0", + "src": "18523:6:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -16883,7 +16883,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 1210, - "src": "18499:18:0", + "src": "18552:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -16894,7 +16894,7 @@ "id": 1065, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "18499:7:0", + "src": "18552:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -16909,7 +16909,7 @@ "name": "value", "nodeType": "VariableDeclaration", "scope": 1210, - "src": "18527:13:0", + "src": "18580:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -16920,7 +16920,7 @@ "id": 1067, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "18527:7:0", + "src": "18580:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -16935,7 +16935,7 @@ "name": "uniqueId", "nodeType": "VariableDeclaration", "scope": 1210, - "src": "18550:16:0", + "src": "18603:16:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -16946,7 +16946,7 @@ "id": 1069, "name": "bytes20", "nodeType": "ElementaryTypeName", - "src": "18550:7:0", + "src": "18603:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -16961,7 +16961,7 @@ "name": "transactionType", "nodeType": "VariableDeclaration", "scope": 1210, - "src": "18576:31:0", + "src": "18629:31:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -16974,7 +16974,7 @@ "name": "TransactionType", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 12, - "src": "18576:15:0", + "src": "18629:15:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -16989,7 +16989,7 @@ "name": "tokenAddress", "nodeType": "VariableDeclaration", "scope": 1210, - "src": "18617:20:0", + "src": "18670:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -17000,7 +17000,7 @@ "id": 1073, "name": "address", "nodeType": "ElementaryTypeName", - "src": "18617:7:0", + "src": "18670:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -17010,27 +17010,27 @@ "visibility": "internal" } ], - "src": "18361:282:0" + "src": "18414:282:0" }, "payable": false, "returnParameters": { "id": 1076, "nodeType": "ParameterList", "parameters": [], - "src": "18664:0:0" + "src": "18717:0:0" }, "scope": 1211, - "src": "18337:2635:0", + "src": "18390:2635:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "private" } ], "scope": 1212, - "src": "460:20514:0" + "src": "460:20567:0" } ], - "src": "0:20975:0" + "src": "0:21028:0" }, "legacyAST": { "absolutePath": "/home/sameep/freelancing-projects/toptal/open baazar/publicRepo/smart-contracts/contracts/escrow/Escrow_v1_0.sol", @@ -25535,7 +25535,7 @@ "body": { "id": 705, "nodeType": "Block", - "src": "13698:742:0", + "src": "13698:795:0", "statements": [ { "assignments": [ @@ -26175,11 +26175,11 @@ "falseBody": null, "id": 704, "nodeType": "IfStatement", - "src": "14197:236:0", + "src": "14197:289:0", "trueBody": { "id": 703, "nodeType": "Block", - "src": "14363:70:0", + "src": "14363:123:0", "statements": [ { "expression": { @@ -26187,7 +26187,7 @@ "arguments": [ { "argumentTypes": null, - "hexValue": "736967562e6c656e67746820697320756e64657220746865207468726573686f6c642e", + "hexValue": "4d696e696d756d206e756d626572206f66207369676e61747572657320617265206e6f7420636f6c6c656374656420616e642074696d65206c6f636b2065787069727920636f6e646974696f6e73206e6f74206d65742121", "id": 700, "isConstant": false, "isLValue": false, @@ -26195,20 +26195,20 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "14384:37:0", + "src": "14384:90:0", "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_stringliteral_d1b34f8ee6043043ff8e104db499160a1e51c77ca18fe42fba7312fd923c28e1", - "typeString": "literal_string \"sigV.length is under the threshold.\"" + "typeIdentifier": "t_stringliteral_e454643f61f81e3a3dc8dabaafde295fea592e232abeb03abbb1835bdc3d20d0", + "typeString": "literal_string \"Minimum number of signatures are not collected and time lock expiry conditions not met!!\"" }, - "value": "sigV.length is under the threshold." + "value": "Minimum number of signatures are not collected and time lock expiry conditions not met!!" } ], "expression": { "argumentTypes": [ { - "typeIdentifier": "t_stringliteral_d1b34f8ee6043043ff8e104db499160a1e51c77ca18fe42fba7312fd923c28e1", - "typeString": "literal_string \"sigV.length is under the threshold.\"" + "typeIdentifier": "t_stringliteral_e454643f61f81e3a3dc8dabaafde295fea592e232abeb03abbb1835bdc3d20d0", + "typeString": "literal_string \"Minimum number of signatures are not collected and time lock expiry conditions not met!!\"" } ], "id": 699, @@ -26233,7 +26233,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "14377:45:0", + "src": "14377:98:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -26241,7 +26241,7 @@ }, "id": 702, "nodeType": "ExpressionStatement", - "src": "14377:45:0" + "src": "14377:98:0" } ] } @@ -26477,7 +26477,7 @@ "src": "13698:0:0" }, "scope": 1211, - "src": "13488:952:0", + "src": "13488:1005:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "private" @@ -26486,7 +26486,7 @@ "body": { "id": 892, "nodeType": "Block", - "src": "14726:1447:0", + "src": "14779:1447:0", "statements": [ { "assignments": [ @@ -26499,7 +26499,7 @@ "name": "t", "nodeType": "VariableDeclaration", "scope": 893, - "src": "14736:21:0", + "src": "14789:21:0", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { @@ -26512,7 +26512,7 @@ "name": "Transaction", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 71, - "src": "14736:11:0", + "src": "14789:11:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction" @@ -26532,7 +26532,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "14760:12:0", + "src": "14813:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -26546,7 +26546,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 708, - "src": "14773:10:0", + "src": "14826:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -26557,14 +26557,14 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "14760:24:0", + "src": "14813:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "14736:48:0" + "src": "14789:48:0" }, { "assignments": [ @@ -26577,7 +26577,7 @@ "name": "valueTransferred", "nodeType": "VariableDeclaration", "scope": 893, - "src": "14795:24:0", + "src": "14848:24:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -26588,7 +26588,7 @@ "id": 725, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "14795:7:0", + "src": "14848:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -26609,7 +26609,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "14822:1:0", + "src": "14875:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -26618,7 +26618,7 @@ "value": "0" }, "nodeType": "VariableDeclarationStatement", - "src": "14795:28:0" + "src": "14848:28:0" }, { "condition": { @@ -26641,7 +26641,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 720, - "src": "14838:1:0", + "src": "14891:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" @@ -26655,7 +26655,7 @@ "memberName": "transactionType", "nodeType": "MemberAccess", "referencedDeclaration": 46, - "src": "14838:17:0", + "src": "14891:17:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -26672,7 +26672,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12, - "src": "14859:15:0", + "src": "14912:15:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_TransactionType_$12_$", "typeString": "type(enum Escrow_v1_0.TransactionType)" @@ -26686,13 +26686,13 @@ "memberName": "ETHER", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "14859:21:0", + "src": "14912:21:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" } }, - "src": "14838:42:0", + "src": "14891:42:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -26719,7 +26719,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 720, - "src": "15479:1:0", + "src": "15532:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" @@ -26733,7 +26733,7 @@ "memberName": "transactionType", "nodeType": "MemberAccess", "referencedDeclaration": 46, - "src": "15479:17:0", + "src": "15532:17:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -26750,7 +26750,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12, - "src": "15500:15:0", + "src": "15553:15:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_TransactionType_$12_$", "typeString": "type(enum Escrow_v1_0.TransactionType)" @@ -26764,13 +26764,13 @@ "memberName": "TOKEN", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "15500:21:0", + "src": "15553:21:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" } }, - "src": "15479:42:0", + "src": "15532:42:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -26779,11 +26779,11 @@ "falseBody": null, "id": 888, "nodeType": "IfStatement", - "src": "15475:658:0", + "src": "15528:658:0", "trueBody": { "id": 887, "nodeType": "Block", - "src": "15523:610:0", + "src": "15576:610:0", "statements": [ { "assignments": [ @@ -26796,7 +26796,7 @@ "name": "token", "nodeType": "VariableDeclaration", "scope": 893, - "src": "15538:20:0", + "src": "15591:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -26809,7 +26809,7 @@ "name": "ITokenContract", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 1241, - "src": "15538:14:0", + "src": "15591:14:0", "typeDescriptions": { "typeIdentifier": "t_contract$_ITokenContract_$1241", "typeString": "contract ITokenContract" @@ -26832,7 +26832,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 720, - "src": "15576:1:0", + "src": "15629:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" @@ -26846,7 +26846,7 @@ "memberName": "tokenAddress", "nodeType": "MemberAccess", "referencedDeclaration": 56, - "src": "15576:14:0", + "src": "15629:14:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -26865,7 +26865,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1241, - "src": "15561:14:0", + "src": "15614:14:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_ITokenContract_$1241_$", "typeString": "type(contract ITokenContract)" @@ -26879,20 +26879,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15561:30:0", + "src": "15614:30:0", "typeDescriptions": { "typeIdentifier": "t_contract$_ITokenContract_$1241", "typeString": "contract ITokenContract" } }, "nodeType": "VariableDeclarationStatement", - "src": "15538:53:0" + "src": "15591:53:0" }, { "body": { "id": 885, "nodeType": "Block", - "src": "15654:469:0", + "src": "15707:469:0", "statements": [ { "expression": { @@ -26929,7 +26929,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 711, - "src": "15681:12:0", + "src": "15734:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -26943,7 +26943,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 816, - "src": "15694:1:0", + "src": "15747:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -26954,7 +26954,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15681:15:0", + "src": "15734:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -26975,7 +26975,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "15708:1:0", + "src": "15761:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -26997,7 +26997,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "15700:7:0", + "src": "15753:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" @@ -27012,13 +27012,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15700:10:0", + "src": "15753:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "15681:29:0", + "src": "15734:29:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -27037,7 +27037,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 720, - "src": "15714:1:0", + "src": "15767:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" @@ -27051,7 +27051,7 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "15714:9:0", + "src": "15767:9:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -27067,7 +27067,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 711, - "src": "15724:12:0", + "src": "15777:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -27081,7 +27081,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 816, - "src": "15737:1:0", + "src": "15790:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27092,7 +27092,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15724:15:0", + "src": "15777:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -27103,13 +27103,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15714:26:0", + "src": "15767:26:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "15681:59:0", + "src": "15734:59:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -27125,7 +27125,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "15742:25:0", + "src": "15795:25:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_4b4c116dbf18274831a2b569c567d9fd9a0e9828a6c86ee9f93e80400fb6c49f", @@ -27153,7 +27153,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "15673:7:0", + "src": "15726:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -27167,7 +27167,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15673:95:0", + "src": "15726:95:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -27175,7 +27175,7 @@ }, "id": 843, "nodeType": "ExpressionStatement", - "src": "15673:95:0" + "src": "15726:95:0" }, { "expression": { @@ -27201,7 +27201,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 714, - "src": "15794:7:0", + "src": "15847:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" @@ -27215,7 +27215,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 816, - "src": "15802:1:0", + "src": "15855:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27226,7 +27226,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15794:10:0", + "src": "15847:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27244,7 +27244,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "15807:1:0", + "src": "15860:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -27252,7 +27252,7 @@ }, "value": "0" }, - "src": "15794:14:0", + "src": "15847:14:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -27268,7 +27268,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "15810:44:0", + "src": "15863:44:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_5e1271a09dbb64ae031de288deb0ad8d707df7db51d6e827931dc8fa6642a71e", @@ -27296,7 +27296,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "15786:7:0", + "src": "15839:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -27310,7 +27310,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15786:69:0", + "src": "15839:69:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -27318,7 +27318,7 @@ }, "id": 852, "nodeType": "ExpressionStatement", - "src": "15786:69:0" + "src": "15839:69:0" }, { "expression": { @@ -27335,7 +27335,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 726, - "src": "15874:16:0", + "src": "15927:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27355,7 +27355,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 714, - "src": "15914:7:0", + "src": "15967:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" @@ -27369,7 +27369,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 816, - "src": "15922:1:0", + "src": "15975:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27380,7 +27380,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15914:10:0", + "src": "15967:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27401,7 +27401,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 726, - "src": "15893:16:0", + "src": "15946:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27415,7 +27415,7 @@ "memberName": "add", "nodeType": "MemberAccess", "referencedDeclaration": 1348, - "src": "15893:20:0", + "src": "15946:20:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" @@ -27429,13 +27429,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15893:32:0", + "src": "15946:32:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "15874:51:0", + "src": "15927:51:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27443,7 +27443,7 @@ }, "id": 861, "nodeType": "ExpressionStatement", - "src": "15874:51:0" + "src": "15927:51:0" }, { "expression": { @@ -27464,7 +27464,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 720, - "src": "15943:1:0", + "src": "15996:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" @@ -27478,7 +27478,7 @@ "memberName": "beneficiaries", "nodeType": "MemberAccess", "referencedDeclaration": 70, - "src": "15943:15:0", + "src": "15996:15:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -27494,7 +27494,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 711, - "src": "15959:12:0", + "src": "16012:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -27508,7 +27508,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 816, - "src": "15972:1:0", + "src": "16025:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27519,7 +27519,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15959:15:0", + "src": "16012:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -27530,7 +27530,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "15943:32:0", + "src": "15996:32:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -27548,7 +27548,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "15978:4:0", + "src": "16031:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -27556,7 +27556,7 @@ }, "value": "true" }, - "src": "15943:39:0", + "src": "15996:39:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -27564,7 +27564,7 @@ }, "id": 871, "nodeType": "ExpressionStatement", - "src": "15943:39:0" + "src": "15996:39:0" }, { "expression": { @@ -27582,7 +27582,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 711, - "src": "16053:12:0", + "src": "16106:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -27596,7 +27596,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 816, - "src": "16066:1:0", + "src": "16119:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27607,7 +27607,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "16053:15:0", + "src": "16106:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -27622,7 +27622,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 714, - "src": "16070:7:0", + "src": "16123:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" @@ -27636,7 +27636,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 816, - "src": "16078:1:0", + "src": "16131:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27647,7 +27647,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "16070:10:0", + "src": "16123:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27672,7 +27672,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 809, - "src": "16038:5:0", + "src": "16091:5:0", "typeDescriptions": { "typeIdentifier": "t_contract$_ITokenContract_$1241", "typeString": "contract ITokenContract" @@ -27686,7 +27686,7 @@ "memberName": "transfer", "nodeType": "MemberAccess", "referencedDeclaration": 1229, - "src": "16038:14:0", + "src": "16091:14:0", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", "typeString": "function (address,uint256) external returns (bool)" @@ -27700,7 +27700,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16038:43:0", + "src": "16091:43:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -27716,7 +27716,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "16083:24:0", + "src": "16136:24:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_e545223bb79d8456d66fa5a98897abb42bb4807111f004a120200da3b7e292c5", @@ -27744,7 +27744,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "16030:7:0", + "src": "16083:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -27758,7 +27758,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16030:78:0", + "src": "16083:78:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -27766,7 +27766,7 @@ }, "id": 884, "nodeType": "ExpressionStatement", - "src": "16030:78:0" + "src": "16083:78:0" } ] }, @@ -27788,7 +27788,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 816, - "src": "15626:1:0", + "src": "15679:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27805,7 +27805,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 711, - "src": "15628:12:0", + "src": "15681:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -27819,13 +27819,13 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "15628:19:0", + "src": "15681:19:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "15626:21:0", + "src": "15679:21:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -27843,7 +27843,7 @@ "name": "j", "nodeType": "VariableDeclaration", "scope": 893, - "src": "15611:9:0", + "src": "15664:9:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -27854,7 +27854,7 @@ "id": 815, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "15611:7:0", + "src": "15664:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27875,7 +27875,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "15623:1:0", + "src": "15676:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -27884,7 +27884,7 @@ "value": "0" }, "nodeType": "VariableDeclarationStatement", - "src": "15611:13:0" + "src": "15664:13:0" }, "loopExpression": { "expression": { @@ -27897,7 +27897,7 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "15649:3:0", + "src": "15702:3:0", "subExpression": { "argumentTypes": null, "id": 823, @@ -27905,7 +27905,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 816, - "src": "15649:1:0", + "src": "15702:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27918,27 +27918,27 @@ }, "id": 825, "nodeType": "ExpressionStatement", - "src": "15649:3:0" + "src": "15702:3:0" }, "nodeType": "ForStatement", - "src": "15606:517:0" + "src": "15659:517:0" } ] } }, "id": 889, "nodeType": "IfStatement", - "src": "14834:1299:0", + "src": "14887:1299:0", "trueBody": { "id": 802, "nodeType": "Block", - "src": "14882:587:0", + "src": "14935:587:0", "statements": [ { "body": { "id": 800, "nodeType": "Block", - "src": "14946:512:0", + "src": "14999:512:0", "statements": [ { "expression": { @@ -27975,7 +27975,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 711, - "src": "14973:12:0", + "src": "15026:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -27989,7 +27989,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 735, - "src": "14986:1:0", + "src": "15039:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28000,7 +28000,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "14973:15:0", + "src": "15026:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -28021,7 +28021,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "15000:1:0", + "src": "15053:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -28043,7 +28043,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "14992:7:0", + "src": "15045:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" @@ -28058,13 +28058,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "14992:10:0", + "src": "15045:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "14973:29:0", + "src": "15026:29:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -28083,7 +28083,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 720, - "src": "15006:1:0", + "src": "15059:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" @@ -28097,7 +28097,7 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "15006:9:0", + "src": "15059:9:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -28113,7 +28113,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 711, - "src": "15016:12:0", + "src": "15069:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -28127,7 +28127,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 735, - "src": "15029:1:0", + "src": "15082:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28138,7 +28138,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15016:15:0", + "src": "15069:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -28149,13 +28149,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15006:26:0", + "src": "15059:26:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "14973:59:0", + "src": "15026:59:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -28171,7 +28171,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "15034:25:0", + "src": "15087:25:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_4b4c116dbf18274831a2b569c567d9fd9a0e9828a6c86ee9f93e80400fb6c49f", @@ -28199,7 +28199,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "14965:7:0", + "src": "15018:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -28213,7 +28213,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "14965:95:0", + "src": "15018:95:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -28221,7 +28221,7 @@ }, "id": 762, "nodeType": "ExpressionStatement", - "src": "14965:95:0" + "src": "15018:95:0" }, { "expression": { @@ -28247,7 +28247,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 714, - "src": "15086:7:0", + "src": "15139:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" @@ -28261,7 +28261,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 735, - "src": "15094:1:0", + "src": "15147:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28272,7 +28272,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15086:10:0", + "src": "15139:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28290,7 +28290,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "15099:1:0", + "src": "15152:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -28298,7 +28298,7 @@ }, "value": "0" }, - "src": "15086:14:0", + "src": "15139:14:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -28314,7 +28314,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "15102:44:0", + "src": "15155:44:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_5e1271a09dbb64ae031de288deb0ad8d707df7db51d6e827931dc8fa6642a71e", @@ -28342,7 +28342,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "15078:7:0", + "src": "15131:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -28356,7 +28356,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15078:69:0", + "src": "15131:69:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -28364,7 +28364,7 @@ }, "id": 771, "nodeType": "ExpressionStatement", - "src": "15078:69:0" + "src": "15131:69:0" }, { "expression": { @@ -28381,7 +28381,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 726, - "src": "15166:16:0", + "src": "15219:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28401,7 +28401,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 714, - "src": "15206:7:0", + "src": "15259:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" @@ -28415,7 +28415,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 735, - "src": "15214:1:0", + "src": "15267:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28426,7 +28426,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15206:10:0", + "src": "15259:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28447,7 +28447,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 726, - "src": "15185:16:0", + "src": "15238:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28461,7 +28461,7 @@ "memberName": "add", "nodeType": "MemberAccess", "referencedDeclaration": 1348, - "src": "15185:20:0", + "src": "15238:20:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" @@ -28475,13 +28475,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15185:32:0", + "src": "15238:32:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "15166:51:0", + "src": "15219:51:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28489,7 +28489,7 @@ }, "id": 780, "nodeType": "ExpressionStatement", - "src": "15166:51:0" + "src": "15219:51:0" }, { "expression": { @@ -28510,7 +28510,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 720, - "src": "15236:1:0", + "src": "15289:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" @@ -28524,7 +28524,7 @@ "memberName": "beneficiaries", "nodeType": "MemberAccess", "referencedDeclaration": 70, - "src": "15236:15:0", + "src": "15289:15:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -28540,7 +28540,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 711, - "src": "15252:12:0", + "src": "15305:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -28554,7 +28554,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 735, - "src": "15265:1:0", + "src": "15318:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28565,7 +28565,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15252:15:0", + "src": "15305:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -28576,7 +28576,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "15236:32:0", + "src": "15289:32:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -28594,7 +28594,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "15271:4:0", + "src": "15324:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -28602,7 +28602,7 @@ }, "value": "true" }, - "src": "15236:39:0", + "src": "15289:39:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -28610,7 +28610,7 @@ }, "id": 790, "nodeType": "ExpressionStatement", - "src": "15236:39:0" + "src": "15289:39:0" }, { "expression": { @@ -28625,7 +28625,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 714, - "src": "15347:7:0", + "src": "15400:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" @@ -28639,7 +28639,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 735, - "src": "15355:1:0", + "src": "15408:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28650,7 +28650,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15347:10:0", + "src": "15400:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28673,7 +28673,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 711, - "src": "15322:12:0", + "src": "15375:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -28687,7 +28687,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 735, - "src": "15335:1:0", + "src": "15388:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28698,7 +28698,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15322:15:0", + "src": "15375:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -28712,7 +28712,7 @@ "memberName": "transfer", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "15322:24:0", + "src": "15375:24:0", "typeDescriptions": { "typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$", "typeString": "function (uint256)" @@ -28726,7 +28726,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15322:36:0", + "src": "15375:36:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -28734,7 +28734,7 @@ }, "id": 799, "nodeType": "ExpressionStatement", - "src": "15322:36:0" + "src": "15375:36:0" } ] }, @@ -28756,7 +28756,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 735, - "src": "14916:1:0", + "src": "14969:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28773,7 +28773,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 711, - "src": "14920:12:0", + "src": "14973:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -28787,13 +28787,13 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "14920:19:0", + "src": "14973:19:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "14916:23:0", + "src": "14969:23:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -28811,7 +28811,7 @@ "name": "i", "nodeType": "VariableDeclaration", "scope": 893, - "src": "14901:9:0", + "src": "14954:9:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -28822,7 +28822,7 @@ "id": 734, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "14901:7:0", + "src": "14954:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28843,7 +28843,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "14913:1:0", + "src": "14966:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -28852,7 +28852,7 @@ "value": "0" }, "nodeType": "VariableDeclarationStatement", - "src": "14901:13:0" + "src": "14954:13:0" }, "loopExpression": { "expression": { @@ -28865,7 +28865,7 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "14941:3:0", + "src": "14994:3:0", "subExpression": { "argumentTypes": null, "id": 742, @@ -28873,7 +28873,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 735, - "src": "14941:1:0", + "src": "14994:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28886,10 +28886,10 @@ }, "id": 744, "nodeType": "ExpressionStatement", - "src": "14941:3:0" + "src": "14994:3:0" }, "nodeType": "ForStatement", - "src": "14896:562:0" + "src": "14949:562:0" } ] } @@ -28902,7 +28902,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 726, - "src": "16150:16:0", + "src": "16203:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28911,7 +28911,7 @@ "functionReturnParameters": 718, "id": 891, "nodeType": "Return", - "src": "16143:23:0" + "src": "16196:23:0" } ] }, @@ -28933,7 +28933,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 893, - "src": "14598:18:0", + "src": "14651:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -28944,7 +28944,7 @@ "id": 707, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "14598:7:0", + "src": "14651:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -28959,7 +28959,7 @@ "name": "destinations", "nodeType": "VariableDeclaration", "scope": 893, - "src": "14626:21:0", + "src": "14679:21:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -28971,7 +28971,7 @@ "id": 709, "name": "address", "nodeType": "ElementaryTypeName", - "src": "14626:7:0", + "src": "14679:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -28980,7 +28980,7 @@ "id": 710, "length": null, "nodeType": "ArrayTypeName", - "src": "14626:9:0", + "src": "14679:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", "typeString": "address[]" @@ -28995,7 +28995,7 @@ "name": "amounts", "nodeType": "VariableDeclaration", "scope": 893, - "src": "14657:16:0", + "src": "14710:16:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -29007,7 +29007,7 @@ "id": 712, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "14657:7:0", + "src": "14710:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29016,7 +29016,7 @@ "id": 713, "length": null, "nodeType": "ArrayTypeName", - "src": "14657:9:0", + "src": "14710:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -29026,7 +29026,7 @@ "visibility": "internal" } ], - "src": "14588:91:0" + "src": "14641:91:0" }, "payable": false, "returnParameters": { @@ -29039,7 +29039,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 893, - "src": "14713:7:0", + "src": "14766:7:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -29050,7 +29050,7 @@ "id": 716, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "14713:7:0", + "src": "14766:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29060,10 +29060,10 @@ "visibility": "internal" } ], - "src": "14712:9:0" + "src": "14765:9:0" }, "scope": 1211, - "src": "14566:1607:0", + "src": "14619:1607:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "private" @@ -29072,7 +29072,7 @@ "body": { "id": 1021, "nodeType": "Block", - "src": "16591:1337:0", + "src": "16644:1337:0", "statements": [ { "expression": { @@ -29109,7 +29109,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 899, - "src": "16623:4:0", + "src": "16676:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" @@ -29123,7 +29123,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "16623:11:0", + "src": "16676:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29140,7 +29140,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 902, - "src": "16638:4:0", + "src": "16691:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" @@ -29154,13 +29154,13 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "16638:11:0", + "src": "16691:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "16623:26:0", + "src": "16676:26:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -29188,7 +29188,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 899, - "src": "16653:4:0", + "src": "16706:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" @@ -29202,7 +29202,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "16653:11:0", + "src": "16706:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29219,7 +29219,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 896, - "src": "16668:4:0", + "src": "16721:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr", "typeString": "uint8[] memory" @@ -29233,19 +29233,19 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "16668:11:0", + "src": "16721:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "16653:26:0", + "src": "16706:26:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "16623:56:0", + "src": "16676:56:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -29261,7 +29261,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "16694:24:0", + "src": "16747:24:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_f85073c8befb65baed58ca1ee563e5da0bdbdce8abd4d29ef22a8329c7c97506", @@ -29289,7 +29289,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "16602:7:0", + "src": "16655:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -29303,7 +29303,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16602:126:0", + "src": "16655:126:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -29311,7 +29311,7 @@ }, "id": 929, "nodeType": "ExpressionStatement", - "src": "16602:126:0" + "src": "16655:126:0" }, { "assignments": [], @@ -29322,7 +29322,7 @@ "name": "lastAddress", "nodeType": "VariableDeclaration", "scope": 1022, - "src": "16739:19:0", + "src": "16792:19:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -29333,7 +29333,7 @@ "id": 930, "name": "address", "nodeType": "ElementaryTypeName", - "src": "16739:7:0", + "src": "16792:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -29346,7 +29346,7 @@ "id": 932, "initialValue": null, "nodeType": "VariableDeclarationStatement", - "src": "16739:19:0" + "src": "16792:19:0" }, { "assignments": [ @@ -29359,7 +29359,7 @@ "name": "txHash", "nodeType": "VariableDeclaration", "scope": 1022, - "src": "16857:14:0", + "src": "16910:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -29370,7 +29370,7 @@ "id": 933, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "16857:7:0", + "src": "16910:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -29397,7 +29397,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "16931:34:0", + "src": "16984:34:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_178a2411ab6fbc1ba11064408972259c558d0e82fd48b0aba3ad81d14f065e73", @@ -29424,7 +29424,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "17061:4:0", + "src": "17114:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_25_by_1", @@ -29446,7 +29446,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "17056:4:0", + "src": "17109:4:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes1_$", "typeString": "type(bytes1)" @@ -29461,7 +29461,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17056:10:0", + "src": "17109:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes1", "typeString": "bytes1" @@ -29480,7 +29480,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "17097:1:0", + "src": "17150:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -29502,7 +29502,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "17092:4:0", + "src": "17145:4:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes1_$", "typeString": "type(bytes1)" @@ -29517,7 +29517,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17092:7:0", + "src": "17145:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes1", "typeString": "bytes1" @@ -29530,7 +29530,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1401, - "src": "17125:4:0", + "src": "17178:4:0", "typeDescriptions": { "typeIdentifier": "t_contract$_Escrow_v1_0_$1211", "typeString": "contract Escrow_v1_0" @@ -29543,7 +29543,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 907, - "src": "17155:12:0", + "src": "17208:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -29556,7 +29556,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 910, - "src": "17193:7:0", + "src": "17246:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" @@ -29569,7 +29569,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 904, - "src": "17226:10:0", + "src": "17279:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -29610,7 +29610,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1371, - "src": "17014:3:0", + "src": "17067:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" @@ -29624,7 +29624,7 @@ "memberName": "encodePacked", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "17014:16:0", + "src": "17067:16:0", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" @@ -29638,7 +29638,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17014:244:0", + "src": "17067:244:0", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -29657,7 +29657,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1378, - "src": "16983:9:0", + "src": "17036:9:0", "typeDescriptions": { "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", "typeString": "function () pure returns (bytes32)" @@ -29671,7 +29671,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16983:293:0", + "src": "17036:293:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -29696,7 +29696,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1371, - "src": "16897:3:0", + "src": "16950:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" @@ -29710,7 +29710,7 @@ "memberName": "encodePacked", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "16897:16:0", + "src": "16950:16:0", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" @@ -29724,7 +29724,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16897:393:0", + "src": "16950:393:0", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -29743,7 +29743,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1378, - "src": "16874:9:0", + "src": "16927:9:0", "typeDescriptions": { "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", "typeString": "function () pure returns (bytes32)" @@ -29757,20 +29757,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16874:426:0", + "src": "16927:426:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "nodeType": "VariableDeclarationStatement", - "src": "16857:443:0" + "src": "16910:443:0" }, { "body": { "id": 1017, "nodeType": "Block", - "src": "17350:543:0", + "src": "17403:543:0", "statements": [ { "assignments": [ @@ -29783,7 +29783,7 @@ "name": "recovered", "nodeType": "VariableDeclaration", "scope": 1022, - "src": "17365:17:0", + "src": "17418:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -29794,7 +29794,7 @@ "id": 968, "name": "address", "nodeType": "ElementaryTypeName", - "src": "17365:7:0", + "src": "17418:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -29815,7 +29815,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 934, - "src": "17412:6:0", + "src": "17465:6:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -29830,7 +29830,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 896, - "src": "17436:4:0", + "src": "17489:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr", "typeString": "uint8[] memory" @@ -29844,7 +29844,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 958, - "src": "17441:1:0", + "src": "17494:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29855,7 +29855,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17436:7:0", + "src": "17489:7:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -29870,7 +29870,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 899, - "src": "17461:4:0", + "src": "17514:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" @@ -29884,7 +29884,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 958, - "src": "17466:1:0", + "src": "17519:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29895,7 +29895,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17461:7:0", + "src": "17514:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -29910,7 +29910,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 902, - "src": "17486:4:0", + "src": "17539:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" @@ -29924,7 +29924,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 958, - "src": "17491:1:0", + "src": "17544:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29935,7 +29935,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17486:7:0", + "src": "17539:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -29966,7 +29966,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1376, - "src": "17385:9:0", + "src": "17438:9:0", "typeDescriptions": { "typeIdentifier": "t_function_ecrecover_pure$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$_t_address_$", "typeString": "function (bytes32,uint8,bytes32,bytes32) pure returns (address)" @@ -29980,14 +29980,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17385:122:0", + "src": "17438:122:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "VariableDeclarationStatement", - "src": "17365:142:0" + "src": "17418:142:0" }, { "expression": { @@ -30006,7 +30006,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "17547:12:0", + "src": "17600:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -30020,7 +30020,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 904, - "src": "17560:10:0", + "src": "17613:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -30031,7 +30031,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17547:24:0", + "src": "17600:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -30045,7 +30045,7 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "17547:32:0", + "src": "17600:32:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -30059,7 +30059,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 969, - "src": "17580:9:0", + "src": "17633:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -30070,7 +30070,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17547:43:0", + "src": "17600:43:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -30086,7 +30086,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "17609:19:0", + "src": "17662:19:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_4f2d7dfcb27c0aafa13ae8c400de482c7832204d194018b6e45bd2bf244c74e7", @@ -30114,7 +30114,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "17522:7:0", + "src": "17575:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -30128,7 +30128,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17522:120:0", + "src": "17575:120:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -30136,7 +30136,7 @@ }, "id": 992, "nodeType": "ExpressionStatement", - "src": "17522:120:0" + "src": "17575:120:0" }, { "expression": { @@ -30152,7 +30152,7 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "17681:42:0", + "src": "17734:42:0", "subExpression": { "argumentTypes": null, "baseExpression": { @@ -30166,7 +30166,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "17682:12:0", + "src": "17735:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -30180,7 +30180,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 904, - "src": "17695:10:0", + "src": "17748:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -30191,7 +30191,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17682:24:0", + "src": "17735:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -30205,7 +30205,7 @@ "memberName": "voted", "nodeType": "MemberAccess", "referencedDeclaration": 66, - "src": "17682:30:0", + "src": "17735:30:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -30219,7 +30219,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 969, - "src": "17713:9:0", + "src": "17766:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -30230,7 +30230,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17682:41:0", + "src": "17735:41:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -30251,7 +30251,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "17742:27:0", + "src": "17795:27:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_fb2c7e49d5ec7ce36fa812cf15ee7fa946942f931d04fe3ae970516007b2a543", @@ -30279,7 +30279,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "17656:7:0", + "src": "17709:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -30293,7 +30293,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17656:127:0", + "src": "17709:127:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -30301,7 +30301,7 @@ }, "id": 1003, "nodeType": "ExpressionStatement", - "src": "17656:127:0" + "src": "17709:127:0" }, { "expression": { @@ -30324,7 +30324,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "17797:12:0", + "src": "17850:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -30338,7 +30338,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 904, - "src": "17810:10:0", + "src": "17863:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -30349,7 +30349,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17797:24:0", + "src": "17850:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -30363,7 +30363,7 @@ "memberName": "voted", "nodeType": "MemberAccess", "referencedDeclaration": 66, - "src": "17797:30:0", + "src": "17850:30:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -30377,7 +30377,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 969, - "src": "17828:9:0", + "src": "17881:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -30388,7 +30388,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "17797:41:0", + "src": "17850:41:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -30406,7 +30406,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "17841:4:0", + "src": "17894:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -30414,7 +30414,7 @@ }, "value": "true" }, - "src": "17797:48:0", + "src": "17850:48:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -30422,7 +30422,7 @@ }, "id": 1012, "nodeType": "ExpressionStatement", - "src": "17797:48:0" + "src": "17850:48:0" }, { "expression": { @@ -30439,7 +30439,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 931, - "src": "17859:11:0", + "src": "17912:11:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -30454,13 +30454,13 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 969, - "src": "17873:9:0", + "src": "17926:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "17859:23:0", + "src": "17912:23:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -30468,7 +30468,7 @@ }, "id": 1016, "nodeType": "ExpressionStatement", - "src": "17859:23:0" + "src": "17912:23:0" } ] }, @@ -30490,7 +30490,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 958, - "src": "17328:1:0", + "src": "17381:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -30507,7 +30507,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 899, - "src": "17332:4:0", + "src": "17385:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" @@ -30521,13 +30521,13 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "17332:11:0", + "src": "17385:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "17328:15:0", + "src": "17381:15:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -30545,7 +30545,7 @@ "name": "i", "nodeType": "VariableDeclaration", "scope": 1022, - "src": "17316:6:0", + "src": "17369:6:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -30556,7 +30556,7 @@ "id": 957, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "17316:4:0", + "src": "17369:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -30577,7 +30577,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "17325:1:0", + "src": "17378:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -30586,7 +30586,7 @@ "value": "0" }, "nodeType": "VariableDeclarationStatement", - "src": "17316:10:0" + "src": "17369:10:0" }, "loopExpression": { "expression": { @@ -30599,7 +30599,7 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "17345:3:0", + "src": "17398:3:0", "subExpression": { "argumentTypes": null, "id": 965, @@ -30607,7 +30607,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 958, - "src": "17345:1:0", + "src": "17398:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -30620,10 +30620,10 @@ }, "id": 967, "nodeType": "ExpressionStatement", - "src": "17345:3:0" + "src": "17398:3:0" }, "nodeType": "ForStatement", - "src": "17311:582:0" + "src": "17364:582:0" }, { "expression": { @@ -30633,7 +30633,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 931, - "src": "17910:11:0", + "src": "17963:11:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -30642,7 +30642,7 @@ "functionReturnParameters": 914, "id": 1020, "nodeType": "Return", - "src": "17903:18:0" + "src": "17956:18:0" } ] }, @@ -30664,7 +30664,7 @@ "name": "sigV", "nodeType": "VariableDeclaration", "scope": 1022, - "src": "16392:12:0", + "src": "16445:12:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -30676,7 +30676,7 @@ "id": 894, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "16392:5:0", + "src": "16445:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -30685,7 +30685,7 @@ "id": 895, "length": null, "nodeType": "ArrayTypeName", - "src": "16392:7:0", + "src": "16445:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_storage_ptr", "typeString": "uint8[]" @@ -30700,7 +30700,7 @@ "name": "sigR", "nodeType": "VariableDeclaration", "scope": 1022, - "src": "16414:14:0", + "src": "16467:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -30712,7 +30712,7 @@ "id": 897, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "16414:7:0", + "src": "16467:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -30721,7 +30721,7 @@ "id": 898, "length": null, "nodeType": "ArrayTypeName", - "src": "16414:9:0", + "src": "16467:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -30736,7 +30736,7 @@ "name": "sigS", "nodeType": "VariableDeclaration", "scope": 1022, - "src": "16438:14:0", + "src": "16491:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -30748,7 +30748,7 @@ "id": 900, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "16438:7:0", + "src": "16491:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -30757,7 +30757,7 @@ "id": 901, "length": null, "nodeType": "ArrayTypeName", - "src": "16438:9:0", + "src": "16491:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -30772,7 +30772,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 1022, - "src": "16462:18:0", + "src": "16515:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -30783,7 +30783,7 @@ "id": 903, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "16462:7:0", + "src": "16515:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -30798,7 +30798,7 @@ "name": "destinations", "nodeType": "VariableDeclaration", "scope": 1022, - "src": "16490:22:0", + "src": "16543:22:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -30810,7 +30810,7 @@ "id": 905, "name": "address", "nodeType": "ElementaryTypeName", - "src": "16490:7:0", + "src": "16543:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -30819,7 +30819,7 @@ "id": 906, "length": null, "nodeType": "ArrayTypeName", - "src": "16490:9:0", + "src": "16543:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", "typeString": "address[]" @@ -30834,7 +30834,7 @@ "name": "amounts", "nodeType": "VariableDeclaration", "scope": 1022, - "src": "16522:16:0", + "src": "16575:16:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -30846,7 +30846,7 @@ "id": 908, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "16522:7:0", + "src": "16575:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -30855,7 +30855,7 @@ "id": 909, "length": null, "nodeType": "ArrayTypeName", - "src": "16522:9:0", + "src": "16575:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -30865,7 +30865,7 @@ "visibility": "internal" } ], - "src": "16382:162:0" + "src": "16435:162:0" }, "payable": false, "returnParameters": { @@ -30878,7 +30878,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 1022, - "src": "16578:7:0", + "src": "16631:7:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -30889,7 +30889,7 @@ "id": 912, "name": "address", "nodeType": "ElementaryTypeName", - "src": "16578:7:0", + "src": "16631:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -30899,10 +30899,10 @@ "visibility": "internal" } ], - "src": "16577:9:0" + "src": "16630:9:0" }, "scope": 1211, - "src": "16357:1571:0", + "src": "16410:1571:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "private" @@ -30911,7 +30911,7 @@ "body": { "id": 1053, "nodeType": "Block", - "src": "18082:168:0", + "src": "18135:168:0", "statements": [ { "assignments": [ @@ -30924,7 +30924,7 @@ "name": "timeSince", "nodeType": "VariableDeclaration", "scope": 1054, - "src": "18092:17:0", + "src": "18145:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -30935,7 +30935,7 @@ "id": 1031, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "18092:7:0", + "src": "18145:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -30956,7 +30956,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1026, - "src": "18120:12:0", + "src": "18173:12:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -30977,7 +30977,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1386, - "src": "18112:3:0", + "src": "18165:3:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -30991,7 +30991,7 @@ "memberName": "sub", "nodeType": "MemberAccess", "referencedDeclaration": 1324, - "src": "18112:7:0", + "src": "18165:7:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" @@ -31005,14 +31005,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18112:21:0", + "src": "18165:21:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "18092:41:0" + "src": "18145:41:0" }, { "expression": { @@ -31038,7 +31038,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1024, - "src": "18164:12:0", + "src": "18217:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -31056,7 +31056,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "18180:1:0", + "src": "18233:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -31064,7 +31064,7 @@ }, "value": "0" }, - "src": "18164:17:0", + "src": "18217:17:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -31088,7 +31088,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1032, - "src": "18190:9:0", + "src": "18243:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -31109,7 +31109,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "18228:4:0", + "src": "18281:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_3600_by_1", @@ -31135,7 +31135,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1024, - "src": "18210:12:0", + "src": "18263:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -31155,7 +31155,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "18202:7:0", + "src": "18255:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint256_$", "typeString": "type(uint256)" @@ -31170,7 +31170,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18202:21:0", + "src": "18255:21:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -31184,7 +31184,7 @@ "memberName": "mul", "nodeType": "MemberAccess", "referencedDeclaration": 1276, - "src": "18202:25:0", + "src": "18255:25:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" @@ -31198,13 +31198,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18202:31:0", + "src": "18255:31:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "18190:43:0", + "src": "18243:43:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -31216,7 +31216,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "Conditional", - "src": "18164:69:0", + "src": "18217:69:0", "trueExpression": { "argumentTypes": null, "hexValue": "66616c7365", @@ -31227,7 +31227,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "18184:5:0", + "src": "18237:5:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -31248,7 +31248,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "18150:93:0", + "src": "18203:93:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -31257,7 +31257,7 @@ "functionReturnParameters": 1030, "id": 1052, "nodeType": "Return", - "src": "18143:100:0" + "src": "18196:100:0" } ] }, @@ -31279,7 +31279,7 @@ "name": "timeoutHours", "nodeType": "VariableDeclaration", "scope": 1054, - "src": "17970:19:0", + "src": "18023:19:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -31290,7 +31290,7 @@ "id": 1023, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "17970:6:0", + "src": "18023:6:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -31305,7 +31305,7 @@ "name": "lastModified", "nodeType": "VariableDeclaration", "scope": 1054, - "src": "17999:20:0", + "src": "18052:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -31316,7 +31316,7 @@ "id": 1025, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "17999:7:0", + "src": "18052:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -31326,7 +31326,7 @@ "visibility": "internal" } ], - "src": "17960:65:0" + "src": "18013:65:0" }, "payable": false, "returnParameters": { @@ -31339,7 +31339,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 1054, - "src": "18072:4:0", + "src": "18125:4:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -31350,7 +31350,7 @@ "id": 1028, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "18072:4:0", + "src": "18125:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -31360,10 +31360,10 @@ "visibility": "internal" } ], - "src": "18071:6:0" + "src": "18124:6:0" }, "scope": 1211, - "src": "17934:316:0", + "src": "17987:316:0", "stateMutability": "view", "superFunction": null, "visibility": "private" @@ -31372,7 +31372,7 @@ "body": { "id": 1209, "nodeType": "Block", - "src": "18664:2308:0", + "src": "18717:2308:0", "statements": [ { "expression": { @@ -31396,7 +31396,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1056, - "src": "18690:5:0", + "src": "18743:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -31411,13 +31411,13 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1058, - "src": "18699:6:0", + "src": "18752:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "18690:15:0", + "src": "18743:15:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -31433,7 +31433,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "18707:27:0", + "src": "18760:27:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_6141441751234d42e9a73d96317794195c7ff57b8f16ac15725a10f10763f824", @@ -31461,7 +31461,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "18682:7:0", + "src": "18735:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -31475,7 +31475,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18682:53:0", + "src": "18735:53:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -31483,7 +31483,7 @@ }, "id": 1083, "nodeType": "ExpressionStatement", - "src": "18682:53:0" + "src": "18735:53:0" }, { "expression": { @@ -31507,7 +31507,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1068, - "src": "18802:5:0", + "src": "18855:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -31525,7 +31525,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "18810:1:0", + "src": "18863:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -31533,7 +31533,7 @@ }, "value": "0" }, - "src": "18802:9:0", + "src": "18855:9:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -31549,7 +31549,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "18813:19:0", + "src": "18866:19:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_3686f87c4804517ea83323ccf1a3b5b5ff52ed144b19e6fc56abe8fcd182e747", @@ -31577,7 +31577,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "18794:7:0", + "src": "18847:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -31591,7 +31591,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18794:39:0", + "src": "18847:39:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -31599,7 +31599,7 @@ }, "id": 1090, "nodeType": "ExpressionStatement", - "src": "18794:39:0" + "src": "18847:39:0" }, { "expression": { @@ -31634,7 +31634,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1062, - "src": "18936:9:0", + "src": "18989:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -31652,7 +31652,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "18948:1:0", + "src": "19001:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -31660,7 +31660,7 @@ }, "value": "0" }, - "src": "18936:13:0", + "src": "18989:13:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -31686,7 +31686,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1062, - "src": "18953:9:0", + "src": "19006:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -31704,7 +31704,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "18966:1:0", + "src": "19019:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_3_by_1", @@ -31712,13 +31712,13 @@ }, "value": "3" }, - "src": "18953:14:0", + "src": "19006:14:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "18936:31:0", + "src": "18989:31:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -31734,7 +31734,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "18982:63:0", + "src": "19035:63:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_351c1d5dfdc4a2b4c61d6f4dbb41a0d2ae70a9c094d3c0add87af24b5dd19c13", @@ -31762,7 +31762,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "18915:7:0", + "src": "18968:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -31776,7 +31776,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18915:140:0", + "src": "18968:140:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -31784,7 +31784,7 @@ }, "id": 1101, "nodeType": "ExpressionStatement", - "src": "18915:140:0" + "src": "18968:140:0" }, { "expression": { @@ -31819,7 +31819,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1062, - "src": "19324:9:0", + "src": "19377:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -31837,7 +31837,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "19337:1:0", + "src": "19390:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -31845,7 +31845,7 @@ }, "value": "1" }, - "src": "19324:14:0", + "src": "19377:14:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -31871,7 +31871,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1060, - "src": "19342:9:0", + "src": "19395:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -31892,7 +31892,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "19363:1:0", + "src": "19416:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -31914,7 +31914,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "19355:7:0", + "src": "19408:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" @@ -31929,19 +31929,19 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "19355:10:0", + "src": "19408:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "19342:23:0", + "src": "19395:23:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "19324:41:0", + "src": "19377:41:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -31957,7 +31957,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "19379:81:0", + "src": "19432:81:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_08dfdd405be5d5023d3f601e2b0a844b246ceb6764817070ff6789d5e1f80050", @@ -31985,7 +31985,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "19303:7:0", + "src": "19356:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -31999,7 +31999,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "19303:167:0", + "src": "19356:167:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -32007,7 +32007,7 @@ }, "id": 1114, "nodeType": "ExpressionStatement", - "src": "19303:167:0" + "src": "19356:167:0" }, { "expression": { @@ -32031,7 +32031,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1066, - "src": "19502:10:0", + "src": "19555:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -32049,7 +32049,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1070, - "src": "19559:8:0", + "src": "19612:8:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -32062,7 +32062,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1062, - "src": "19585:9:0", + "src": "19638:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -32075,7 +32075,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1064, - "src": "19612:12:0", + "src": "19665:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -32088,7 +32088,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1056, - "src": "19642:5:0", + "src": "19695:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -32101,7 +32101,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1058, - "src": "19665:6:0", + "src": "19718:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -32114,7 +32114,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1060, - "src": "19689:9:0", + "src": "19742:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -32127,7 +32127,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1074, - "src": "19716:12:0", + "src": "19769:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -32170,7 +32170,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 637, - "src": "19516:25:0", + "src": "19569:25:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_bytes20_$_t_uint8_$_t_uint32_$_t_address_$_t_address_$_t_address_$_t_address_$returns$_t_bytes32_$", "typeString": "function (bytes20,uint8,uint32,address,address,address,address) view returns (bytes32)" @@ -32184,13 +32184,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "19516:226:0", + "src": "19569:226:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "src": "19502:240:0", + "src": "19555:240:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -32206,7 +32206,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "19757:59:0", + "src": "19810:59:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_0c041e0c58e6b0e01d338d852a5abb639065eabeb0aee05e0ce3e5f0e52b4f51", @@ -32234,7 +32234,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "19481:7:0", + "src": "19534:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -32248,7 +32248,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "19481:345:0", + "src": "19534:345:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -32256,7 +32256,7 @@ }, "id": 1129, "nodeType": "ExpressionStatement", - "src": "19481:345:0" + "src": "19534:345:0" }, { "expression": { @@ -32275,7 +32275,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "19837:12:0", + "src": "19890:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -32289,7 +32289,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1066, - "src": "19850:10:0", + "src": "19903:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -32300,7 +32300,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "19837:24:0", + "src": "19890:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -32318,7 +32318,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1056, - "src": "19897:5:0", + "src": "19950:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -32331,7 +32331,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1058, - "src": "19924:6:0", + "src": "19977:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -32344,7 +32344,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1060, - "src": "19955:9:0", + "src": "20008:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -32357,7 +32357,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1068, - "src": "19985:5:0", + "src": "20038:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -32372,7 +32372,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9, - "src": "20012:6:0", + "src": "20065:6:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_Status_$9_$", "typeString": "type(enum Escrow_v1_0.Status)" @@ -32386,7 +32386,7 @@ "memberName": "FUNDED", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "20012:13:0", + "src": "20065:13:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$9", "typeString": "enum Escrow_v1_0.Status" @@ -32401,7 +32401,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1374, - "src": "20053:5:0", + "src": "20106:5:0", "typeDescriptions": { "typeIdentifier": "t_magic_block", "typeString": "block" @@ -32415,7 +32415,7 @@ "memberName": "timestamp", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "20053:15:0", + "src": "20106:15:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -32428,7 +32428,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1062, - "src": "20093:9:0", + "src": "20146:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -32441,7 +32441,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1064, - "src": "20130:12:0", + "src": "20183:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -32454,7 +32454,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1072, - "src": "20172:15:0", + "src": "20225:15:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -32467,7 +32467,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1074, - "src": "20214:12:0", + "src": "20267:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -32481,7 +32481,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 71, - "src": "19864:11:0", + "src": "19917:11:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_struct$_Transaction_$71_storage_ptr_$", "typeString": "type(struct Escrow_v1_0.Transaction storage pointer)" @@ -32506,13 +32506,13 @@ "tokenAddress" ], "nodeType": "FunctionCall", - "src": "19864:373:0", + "src": "19917:373:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_memory", "typeString": "struct Escrow_v1_0.Transaction memory" } }, - "src": "19837:400:0", + "src": "19890:400:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -32520,7 +32520,7 @@ }, "id": 1148, "nodeType": "ExpressionStatement", - "src": "19837:400:0" + "src": "19890:400:0" }, { "expression": { @@ -32543,7 +32543,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "20248:12:0", + "src": "20301:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -32557,7 +32557,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1066, - "src": "20261:10:0", + "src": "20314:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -32568,7 +32568,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20248:24:0", + "src": "20301:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -32582,7 +32582,7 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "20248:32:0", + "src": "20301:32:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -32596,7 +32596,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1058, - "src": "20281:6:0", + "src": "20334:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -32607,7 +32607,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "20248:40:0", + "src": "20301:40:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -32625,7 +32625,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "20291:4:0", + "src": "20344:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -32633,7 +32633,7 @@ }, "value": "true" }, - "src": "20248:47:0", + "src": "20301:47:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -32641,7 +32641,7 @@ }, "id": 1157, "nodeType": "ExpressionStatement", - "src": "20248:47:0" + "src": "20301:47:0" }, { "expression": { @@ -32664,7 +32664,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "20305:12:0", + "src": "20358:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -32678,7 +32678,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1066, - "src": "20318:10:0", + "src": "20371:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -32689,7 +32689,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20305:24:0", + "src": "20358:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -32703,7 +32703,7 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "20305:32:0", + "src": "20358:32:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -32717,7 +32717,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1056, - "src": "20338:5:0", + "src": "20391:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -32728,7 +32728,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "20305:39:0", + "src": "20358:39:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -32746,7 +32746,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "20347:4:0", + "src": "20400:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -32754,7 +32754,7 @@ }, "value": "true" }, - "src": "20305:46:0", + "src": "20358:46:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -32762,7 +32762,7 @@ }, "id": 1166, "nodeType": "ExpressionStatement", - "src": "20305:46:0" + "src": "20358:46:0" }, { "expression": { @@ -32778,7 +32778,7 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "20458:44:0", + "src": "20511:44:0", "subExpression": { "argumentTypes": null, "baseExpression": { @@ -32792,7 +32792,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "20459:12:0", + "src": "20512:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -32806,7 +32806,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1066, - "src": "20472:10:0", + "src": "20525:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -32817,7 +32817,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20459:24:0", + "src": "20512:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -32831,7 +32831,7 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "20459:32:0", + "src": "20512:32:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -32845,7 +32845,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1060, - "src": "20492:9:0", + "src": "20545:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -32856,7 +32856,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20459:43:0", + "src": "20512:43:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -32877,7 +32877,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "20517:47:0", + "src": "20570:47:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_313b391557427937e7bdb85c7561d47c5b9c985755a448dd33a92026ffb38f8d", @@ -32905,7 +32905,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "20437:7:0", + "src": "20490:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -32919,7 +32919,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "20437:137:0", + "src": "20490:137:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -32927,7 +32927,7 @@ }, "id": 1177, "nodeType": "ExpressionStatement", - "src": "20437:137:0" + "src": "20490:137:0" }, { "condition": { @@ -32948,7 +32948,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1062, - "src": "20734:9:0", + "src": "20787:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -32966,7 +32966,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "20746:1:0", + "src": "20799:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -32974,7 +32974,7 @@ }, "value": "1" }, - "src": "20734:13:0", + "src": "20787:13:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -32983,11 +32983,11 @@ "falseBody": null, "id": 1191, "nodeType": "IfStatement", - "src": "20730:93:0", + "src": "20783:93:0", "trueBody": { "id": 1190, "nodeType": "Block", - "src": "20748:75:0", + "src": "20801:75:0", "statements": [ { "expression": { @@ -33010,7 +33010,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "20762:12:0", + "src": "20815:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -33024,7 +33024,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1066, - "src": "20775:10:0", + "src": "20828:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -33035,7 +33035,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20762:24:0", + "src": "20815:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -33049,7 +33049,7 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "20762:32:0", + "src": "20815:32:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -33063,7 +33063,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1060, - "src": "20795:9:0", + "src": "20848:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -33074,7 +33074,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "20762:43:0", + "src": "20815:43:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -33092,7 +33092,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "20808:4:0", + "src": "20861:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -33100,7 +33100,7 @@ }, "value": "true" }, - "src": "20762:50:0", + "src": "20815:50:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -33108,7 +33108,7 @@ }, "id": 1189, "nodeType": "ExpressionStatement", - "src": "20762:50:0" + "src": "20815:50:0" } ] } @@ -33124,7 +33124,7 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "20841:18:0", + "src": "20894:18:0", "subExpression": { "argumentTypes": null, "id": 1192, @@ -33132,7 +33132,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 78, - "src": "20841:16:0", + "src": "20894:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -33145,7 +33145,7 @@ }, "id": 1194, "nodeType": "ExpressionStatement", - "src": "20841:18:0" + "src": "20894:18:0" }, { "expression": { @@ -33158,7 +33158,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1066, - "src": "20901:10:0", + "src": "20954:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -33181,7 +33181,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 83, - "src": "20870:18:0", + "src": "20923:18:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_bytes32_$dyn_storage_$", "typeString": "mapping(address => bytes32[] storage ref)" @@ -33195,7 +33195,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1056, - "src": "20889:5:0", + "src": "20942:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -33206,7 +33206,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20870:25:0", + "src": "20923:25:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage", "typeString": "bytes32[] storage ref" @@ -33220,7 +33220,7 @@ "memberName": "push", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "20870:30:0", + "src": "20923:30:0", "typeDescriptions": { "typeIdentifier": "t_function_arraypush_nonpayable$_t_bytes32_$returns$_t_uint256_$", "typeString": "function (bytes32) returns (uint256)" @@ -33234,7 +33234,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "20870:42:0", + "src": "20923:42:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -33242,7 +33242,7 @@ }, "id": 1201, "nodeType": "ExpressionStatement", - "src": "20870:42:0" + "src": "20923:42:0" }, { "expression": { @@ -33255,7 +33255,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1066, - "src": "20954:10:0", + "src": "21007:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -33278,7 +33278,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 83, - "src": "20922:18:0", + "src": "20975:18:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_bytes32_$dyn_storage_$", "typeString": "mapping(address => bytes32[] storage ref)" @@ -33292,7 +33292,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1058, - "src": "20941:6:0", + "src": "20994:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -33303,7 +33303,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20922:26:0", + "src": "20975:26:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage", "typeString": "bytes32[] storage ref" @@ -33317,7 +33317,7 @@ "memberName": "push", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "20922:31:0", + "src": "20975:31:0", "typeDescriptions": { "typeIdentifier": "t_function_arraypush_nonpayable$_t_bytes32_$returns$_t_uint256_$", "typeString": "function (bytes32) returns (uint256)" @@ -33331,7 +33331,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "20922:43:0", + "src": "20975:43:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -33339,7 +33339,7 @@ }, "id": 1208, "nodeType": "ExpressionStatement", - "src": "20922:43:0" + "src": "20975:43:0" } ] }, @@ -33361,7 +33361,7 @@ "name": "buyer", "nodeType": "VariableDeclaration", "scope": 1210, - "src": "18371:13:0", + "src": "18424:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -33372,7 +33372,7 @@ "id": 1055, "name": "address", "nodeType": "ElementaryTypeName", - "src": "18371:7:0", + "src": "18424:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -33387,7 +33387,7 @@ "name": "seller", "nodeType": "VariableDeclaration", "scope": 1210, - "src": "18394:14:0", + "src": "18447:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -33398,7 +33398,7 @@ "id": 1057, "name": "address", "nodeType": "ElementaryTypeName", - "src": "18394:7:0", + "src": "18447:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -33413,7 +33413,7 @@ "name": "moderator", "nodeType": "VariableDeclaration", "scope": 1210, - "src": "18418:17:0", + "src": "18471:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -33424,7 +33424,7 @@ "id": 1059, "name": "address", "nodeType": "ElementaryTypeName", - "src": "18418:7:0", + "src": "18471:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -33439,7 +33439,7 @@ "name": "threshold", "nodeType": "VariableDeclaration", "scope": 1210, - "src": "18445:15:0", + "src": "18498:15:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -33450,7 +33450,7 @@ "id": 1061, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "18445:5:0", + "src": "18498:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -33465,7 +33465,7 @@ "name": "timeoutHours", "nodeType": "VariableDeclaration", "scope": 1210, - "src": "18470:19:0", + "src": "18523:19:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -33476,7 +33476,7 @@ "id": 1063, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "18470:6:0", + "src": "18523:6:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -33491,7 +33491,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 1210, - "src": "18499:18:0", + "src": "18552:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -33502,7 +33502,7 @@ "id": 1065, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "18499:7:0", + "src": "18552:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -33517,7 +33517,7 @@ "name": "value", "nodeType": "VariableDeclaration", "scope": 1210, - "src": "18527:13:0", + "src": "18580:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -33528,7 +33528,7 @@ "id": 1067, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "18527:7:0", + "src": "18580:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -33543,7 +33543,7 @@ "name": "uniqueId", "nodeType": "VariableDeclaration", "scope": 1210, - "src": "18550:16:0", + "src": "18603:16:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -33554,7 +33554,7 @@ "id": 1069, "name": "bytes20", "nodeType": "ElementaryTypeName", - "src": "18550:7:0", + "src": "18603:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -33569,7 +33569,7 @@ "name": "transactionType", "nodeType": "VariableDeclaration", "scope": 1210, - "src": "18576:31:0", + "src": "18629:31:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -33582,7 +33582,7 @@ "name": "TransactionType", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 12, - "src": "18576:15:0", + "src": "18629:15:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -33597,7 +33597,7 @@ "name": "tokenAddress", "nodeType": "VariableDeclaration", "scope": 1210, - "src": "18617:20:0", + "src": "18670:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -33608,7 +33608,7 @@ "id": 1073, "name": "address", "nodeType": "ElementaryTypeName", - "src": "18617:7:0", + "src": "18670:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -33618,27 +33618,27 @@ "visibility": "internal" } ], - "src": "18361:282:0" + "src": "18414:282:0" }, "payable": false, "returnParameters": { "id": 1076, "nodeType": "ParameterList", "parameters": [], - "src": "18664:0:0" + "src": "18717:0:0" }, "scope": 1211, - "src": "18337:2635:0", + "src": "18390:2635:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "private" } ], "scope": 1212, - "src": "460:20514:0" + "src": "460:20567:0" } ], - "src": "0:20975:0" + "src": "0:21028:0" }, "compiler": { "name": "solc", @@ -33646,5 +33646,5 @@ }, "networks": {}, "schemaVersion": "2.0.1", - "updatedAt": "2018-11-19T11:27:19.763Z" + "updatedAt": "2018-11-19T11:35:06.158Z" } \ No newline at end of file diff --git a/build/contracts/ITokenContract.json b/build/contracts/ITokenContract.json index 3e6d6b8..ecc3ea1 100644 --- a/build/contracts/ITokenContract.json +++ b/build/contracts/ITokenContract.json @@ -817,5 +817,5 @@ }, "networks": {}, "schemaVersion": "2.0.1", - "updatedAt": "2018-11-19T11:27:19.744Z" + "updatedAt": "2018-11-19T11:35:06.138Z" } \ No newline at end of file diff --git a/build/contracts/SafeMath.json b/build/contracts/SafeMath.json index 079aa69..da6c91d 100644 --- a/build/contracts/SafeMath.json +++ b/build/contracts/SafeMath.json @@ -3295,5 +3295,5 @@ }, "networks": {}, "schemaVersion": "2.0.1", - "updatedAt": "2018-11-19T11:27:19.746Z" + "updatedAt": "2018-11-19T11:35:06.140Z" } \ No newline at end of file diff --git a/contracts/escrow/Escrow_v1_0.sol b/contracts/escrow/Escrow_v1_0.sol index 5fd16c0..ce5eb61 100644 --- a/contracts/escrow/Escrow_v1_0.sol +++ b/contracts/escrow/Escrow_v1_0.sol @@ -311,8 +311,8 @@ contract Escrow_v1_0 { } /** - *@dev Allows one of the moderator to collect all the signature to solve dispute and submit it to this method. - * If all the required signatures are collected and consensus has been reached than funds will be released to the voted party + *@dev This method will be used to release funds associated with the transaction + * Please see specs https://github.com/OpenBazaar/smart-contracts/blob/master/contracts/escrow/EscrowSpec.md *@param sigV Array containing V component of all the signatures *@param sigR Array containing R component of all the signatures *@param signS Array containing S component of all the signatures From 5afe7a86d115bc3ab3d96fdccf5baff8b42ce4f2 Mon Sep 17 00:00:00 2001 From: Sameep Singhania Date: Mon, 19 Nov 2018 17:10:59 +0530 Subject: [PATCH 06/19] Improved error message in inFundedState modifier --- build/contracts/Escrow_v1_0.json | 2872 +++++++++++++-------------- build/contracts/ITokenContract.json | 2 +- build/contracts/SafeMath.json | 2 +- contracts/escrow/Escrow_v1_0.sol | 2 +- 4 files changed, 1439 insertions(+), 1439 deletions(-) diff --git a/build/contracts/Escrow_v1_0.json b/build/contracts/Escrow_v1_0.json index 9c4109e..c5dc5a0 100644 --- a/build/contracts/Escrow_v1_0.json +++ b/build/contracts/Escrow_v1_0.json @@ -418,11 +418,11 @@ "type": "function" } ], - "bytecode": "0x6080604052600060015534801561001557600080fd5b50614210806100256000396000f3006080604052600436106100ba576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806323b6fd3f146100bf5780632d9ef96e1461017957806346fbcdeb1461019d57806357bced7614610292578063642f2eaf14610383578063b0550c66146104e5578063b719e2801461054e578063b77bf60014610589578063be84ceaf146105b4578063e4ec8b001461064c578063f0786562146106f5578063f5dbe09c1461075e575b600080fd5b610177600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff169060200190929190803563ffffffff169060200190929190803560001916906020019092919080356bffffffffffffffffffffffff191690602001909291905050506107c7565b005b61019b6004803603810190808035600019169060200190929190505050610a26565b005b3480156101a957600080fd5b5061027460048036038101908080356bffffffffffffffffffffffff19169060200190929190803560ff169060200190929190803563ffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610eb4565b60405180826000191660001916815260200191505060405180910390f35b34801561029e57600080fd5b50610381600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff169060200190929190803563ffffffff16906020019092919080356000191690602001909291908035906020019092919080356bffffffffffffffffffffffff19169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611360565b005b34801561038f57600080fd5b506103b26004803603810190808035600019169060200190929190505050611840565b604051808b81526020018a81526020018960018111156103ce57fe5b60ff1681526020018860018111156103e257fe5b60ff1681526020018760ff1660ff1681526020018663ffffffff1663ffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019a505050505050505050505060405180910390f35b3480156104f157600080fd5b506105346004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061194b565b604051808215151515815260200191505060405180910390f35b34801561055a57600080fd5b506105876004803603810190808035600019169060200190929190803590602001909291905050506119bd565b005b34801561059557600080fd5b5061059e61209d565b6040518082815260200191505060405180910390f35b3480156105c057600080fd5b506105f5600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506120a3565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b8381101561063857808201518184015260208101905061061d565b505050509050019250505060405180910390f35b34801561065857600080fd5b506106f3600480360381019080803590602001908201803590602001919091929391929390803590602001908201803590602001919091929391929390803590602001908201803590602001919091929391929390803560001916906020019092919080359060200190820180359060200191909192939192939080359060200190820180359060200191909192939192939050505061213e565b005b34801561070157600080fd5b506107446004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506126a0565b604051808215151515815260200191505060405180910390f35b34801561076a57600080fd5b506107a9600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050612712565b60405180826000191660001916815260200191505060405180910390f35b81600080600083600019166000191681526020019081526020016000206000015414151561085d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f5472616e73616374696f6e20657869737473000000000000000000000000000081525060200191505060405180910390fd5b87600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610903576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b87600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156109a9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b6109bc8a8a8a8a8a8a348b600080612742565b3373ffffffffffffffffffffffffffffffffffffffff167fce7089d0668849fb9ca29778c0cbf1e764d9efb048d81fd71fb34c94f26db36886346040518083600019166000191681526020018281526020019250505060405180910390a250505050505050505050565b600081600080600083600019166000191681526020019081526020016000206000015414151515610abf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737473000000000081525060200191505060405180910390fd5b8260006001811115610acd57fe5b600080836000191660001916815260200190815260200160002060020160009054906101000a900460ff166001811115610b0357fe5b141515610b9e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001807f5472616e73616374696f6e2069732065697468657220696e206469737075746581526020017f206f722072656c6561736564207374617465000000000000000000000000000081525060400191505060405180910390fd5b836000806001811115610bad57fe5b600080846000191660001916815260200190815260200160002060020160019054906101000a900460ff166001811115610be357fe5b141515610c58576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5472616e73616374696f6e207479706520646f6573206e6f74206d617463680081525060200191505060405180910390fd5b85600080826000191660001916815260200190815260200160002060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610d5f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f54686520696e69746961746f72206f6620746865207472616e73616374696f6e81526020017f206973206e6f742062757965720000000000000000000000000000000000000081525060400191505060405180910390fd5b349550600086111515610dda576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f56616c7565206d7573742062652067726561746572207468616e207a65726f2e81525060200191505060405180910390fd5b610e0a866000808a60001916600019168152602001908152602001600020600001546130ce90919063ffffffff16565b600080896000191660001916815260200190815260200160002060000181905550426000808960001916600019168152602001908152602001600020600101819055503373ffffffffffffffffffffffffffffffffffffffff167ff66fd2ae9e24a6a24b02e1b5b7512ffde5149a4176085fc0298ae228c9b9d72988886040518083600019166000191681526020018281526020019250505060405180910390a250505050505050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611100578787878787873060405160200180886bffffffffffffffffffffffff19166bffffffffffffffffffffffff191681526014018760ff1660ff167f01000000000000000000000000000000000000000000000000000000000000000281526001018663ffffffff1663ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014019750505050505050506040516020818303038152906040526040518082805190602001908083835b6020831015156110cc57805182526020820191506020810190506020830392506110a7565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390209050611355565b878787878787308860405160200180896bffffffffffffffffffffffff19166bffffffffffffffffffffffff191681526014018860ff1660ff167f01000000000000000000000000000000000000000000000000000000000000000281526001018763ffffffff1663ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401985050505050505050506040516020818303038152906040526040518082805190602001908083835b6020831015156113255780518252602082019150602081019050602083039250611300565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902090505b979650505050505050565b60008460008060008360001916600019168152602001908152602001600020600001541415156113f8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f5472616e73616374696f6e20657869737473000000000000000000000000000081525060200191505060405180910390fd5b8a600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561149e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b8a600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515611544576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b84600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156115ea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b6115fd8e8e8e8e8e8e8e8e60018f612742565b8594508473ffffffffffffffffffffffffffffffffffffffff166323b872dd33308b6040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b1580156116d757600080fd5b505af11580156116eb573d6000803e3d6000fd5b505050506040513d602081101561170157600080fd5b810190808051906020019092919050505015156117d2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252605c8152602001807f546f6b656e207472616e73666572206661696c65642c206d6179626520796f7581526020017f20646964206e6f7420617070726f766520657363726f7720636f6e747261637481526020017f20746f207370656e64206f6e20626568616c66206f662062757965720000000081525060600191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff167fce7089d0668849fb9ca29778c0cbf1e764d9efb048d81fd71fb34c94f26db3688a8a6040518083600019166000191681526020018281526020019250505060405180910390a25050505050505050505050505050565b60006020528060005260406000206000915090508060000154908060010154908060020160009054906101000a900460ff16908060020160019054906101000a900460ff16908060020160029054906101000a900460ff16908060020160039054906101000a900463ffffffff16908060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060050160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508a565b6000806000846000191660001916815260200190815260200160002060080160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b60008083600080600083600019166000191681526020019081526020016000206000015414151515611a57576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737473000000000081525060200191505060405180910390fd5b8460006001811115611a6557fe5b600080836000191660001916815260200190815260200160002060020160009054906101000a900460ff166001811115611a9b57fe5b141515611b36576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001807f5472616e73616374696f6e2069732065697468657220696e206469737075746581526020017f206f722072656c6561736564207374617465000000000000000000000000000081525060400191505060405180910390fd5b856001806001811115611b4557fe5b600080846000191660001916815260200190815260200160002060020160019054906101000a900460ff166001811115611b7b57fe5b141515611bf0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5472616e73616374696f6e207479706520646f6573206e6f74206d617463680081525060200191505060405180910390fd5b87600080826000191660001916815260200190815260200160002060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611cf7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f54686520696e69746961746f72206f6620746865207472616e73616374696f6e81526020017f206973206e6f742062757965720000000000000000000000000000000000000081525060400191505060405180910390fd5b879650600087111515611d72576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f56616c7565206d7573742062652067726561746572207468616e207a65726f2e81525060200191505060405180910390fd5b6000808a6000191660001916815260200190815260200160002060040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1695508573ffffffffffffffffffffffffffffffffffffffff166323b872dd6000808c6000191660001916815260200190815260200160002060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff16308b6040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b158015611ec657600080fd5b505af1158015611eda573d6000803e3d6000fd5b505050506040513d6020811015611ef057600080fd5b81019080805190602001909291905050501515611fc1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252605c8152602001807f546f6b656e207472616e73666572206661696c65642c206d6179626520796f7581526020017f20646964206e6f7420617070726f766520657363726f7720636f6e747261637481526020017f20746f207370656e64206f6e20626568616c66206f662062757965720000000081525060600191505060405180910390fd5b611ff1876000808c60001916600019168152602001908152602001600020600001546130ce90919063ffffffff16565b6000808b6000191660001916815260200190815260200160002060000181905550426000808b60001916600019168152602001908152602001600020600101819055503373ffffffffffffffffffffffffffffffffffffffff167ff66fd2ae9e24a6a24b02e1b5b7512ffde5149a4176085fc0298ae228c9b9d7298a896040518083600019166000191681526020018281526020019250505060405180910390a2505050505050505050565b60015481565b6060600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080548060200260200160405190810160405280929190818152602001828054801561213257602002820191906000526020600020905b8154600019168152602001906001019080831161211a575b50505050509050919050565b846000806000836000191660001916815260200190815260200160002060000154141515156121d5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737473000000000081525060200191505060405180910390fd5b85600060018111156121e357fe5b600080836000191660001916815260200190815260200160002060020160009054906101000a900460ff16600181111561221957fe5b1415156122b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001807f5472616e73616374696f6e2069732065697468657220696e206469737075746581526020017f206f722072656c6561736564207374617465000000000000000000000000000081525060400191505060405180910390fd5b6000868690501180156122cc57508383905086869050145b1515612366576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001807f4c656e677468206f662064657374696e6174696f6e7320697320696e636f727281526020017f6563742e0000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b61245f8d8d808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508c8c808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508b8b808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508a8a8a808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508989808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050506130ef565b6001600080896000191660001916815260200190815260200160002060020160006101000a81548160ff0219169083600181111561249957fe5b021790555042600080896000191660001916815260200190815260200160002060010181905550600080886000191660001916815260200190815260200160002060000154612547888888808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508787808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050506132d0565b141515612608576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260488152602001807f546f74616c2076616c756520746f2062652072656c6561736564206d7573742081526020017f626520657175616c20746f20746865207472616e73616374696f6e206573637281526020017f6f772076616c756500000000000000000000000000000000000000000000000081525060600191505060405180910390fd5b7f688e2a1b34445bcd47b0e11ba2a9c8c4d850a1831b64199b59d1c70e2970154587878787876040518086600019166000191681526020018060200180602001838103835287878281815260200192506020028082843782019150508381038252858582818152602001925060200280828437820191505097505050505050505060405180910390a150505050505050505050505050565b6000806000846000191660001916815260200190815260200160002060070160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b60026020528160005260406000208181548110151561272d57fe5b90600052602060002001600091509150505481565b8873ffffffffffffffffffffffffffffffffffffffff168a73ffffffffffffffffffffffffffffffffffffffff16141515156127e6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f427579657220616e642073656c6c6572206172652073616d650000000000000081525060200191505060405180910390fd5b60008411151561285e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f56616c756520706173736564206973203000000000000000000000000000000081525060200191505060405180910390fd5b60008760ff16118015612875575060038760ff1611155b151561290f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603d8152602001807f5468726573686f6c642063616e6e6f742062652067726561746572207468616e81526020017f203320616e64206d7573742062652067726561746572207468616e203000000081525060400191505060405180910390fd5b60018760ff16148061294e5750600073ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff1614155b1515612a0e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252604f8152602001807f456974686572207468726573686f6c642073686f756c642062652031206f746881526020017f6572776973652076616c6964206d6f64657261746f722061646472657373207381526020017f686f756c6420626520706173736564000000000000000000000000000000000081525060600191505060405180910390fd5b612a1d8388888d8d8d87610eb4565b600019168560001916141515612ac1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260398152602001807f43616c63756c6174656420736372697074206861736820646f6573206e6f742081526020017f6d61746368207061737365642073637269707420686173682e0000000000000081525060400191505060405180910390fd5b6101406040519081016040528085815260200142815260200160006001811115612ae757fe5b8152602001836001811115612af857fe5b81526020018860ff1681526020018763ffffffff1681526020018b73ffffffffffffffffffffffffffffffffffffffff1681526020018a73ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020018973ffffffffffffffffffffffffffffffffffffffff168152506000808760001916600019168152602001908152602001600020600082015181600001556020820151816001015560408201518160020160006101000a81548160ff02191690836001811115612bd257fe5b021790555060608201518160020160016101000a81548160ff02191690836001811115612bfb57fe5b021790555060808201518160020160026101000a81548160ff021916908360ff16021790555060a08201518160020160036101000a81548163ffffffff021916908363ffffffff16021790555060c08201518160020160076101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060e08201518160030160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506101008201518160040160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506101208201518160050160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055509050506001600080876000191660001916815260200190815260200160002060060160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600080876000191660001916815260200190815260200160002060060160008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600080866000191660001916815260200190815260200160002060060160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151515612f52576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f456974686572206275796572206f722073656c6c65722069732070617373656481526020017f206173206d6f64657261746f720000000000000000000000000000000000000081525060400191505060405180910390fd5b60018760ff161115612fd2576001600080876000191660001916815260200190815260200160002060060160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b600160008154809291906001019190505550600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020859080600181540180825580915050906001820390600052602060002001600090919290919091509060001916905550600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002085908060018154018082558091505090600182039060005260206000200160009091929091909150906000191690555050505050505050505050565b60008082840190508381101515156130e557600080fd5b8091505092915050565b600080613100888888888888613ab8565b9150613156600080876000191660001916815260200190815260200160002060020160039054906101000a900463ffffffff16600080886000191660001916815260200190815260200160002060010154614131565b9050600080866000191660001916815260200190815260200160002060020160029054906101000a900460ff1660ff16885110801561320757508015806132065750600080866000191660001916815260200190815260200160002060030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b5b156132c6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260588152602001807f4d696e696d756d206e756d626572206f66207369676e6174757265732061726581526020017f206e6f7420636f6c6c656374656420616e642074696d65206c6f636b2065787081526020017f69727920636f6e646974696f6e73206e6f74206d65742121000000000000000081525060600191505060405180910390fd5b5050505050505050565b6000806000806000806000808a600019166000191681526020019081526020016000209450600093506000600181111561330657fe5b8560020160019054906101000a900460ff16600181111561332357fe5b141561363a57600092505b875183101561363557600073ffffffffffffffffffffffffffffffffffffffff16888481518110151561335d57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff16141580156133ed5750846006016000898581518110151561339a57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1515613461576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f4e6f7420612076616c69642064657374696e6174696f6e00000000000000000081525060200191505060405180910390fd5b6000878481518110151561347157fe5b90602001906020020151111515613516576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001807f416d6f756e7420746f2062652073656e742073686f756c64206265206772656181526020017f746572207468616e20300000000000000000000000000000000000000000000081525060400191505060405180910390fd5b613540878481518110151561352757fe5b90602001906020020151856130ce90919063ffffffff16565b935060018560080160008a8681518110151561355857fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555087838151811015156135c157fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff166108fc88858151811015156135f257fe5b906020019060200201519081150290604051600060405180830381858888f19350505050158015613627573d6000803e3d6000fd5b50828060010193505061332e565b613aa9565b60018081111561364657fe5b8560020160019054906101000a900460ff16600181111561366357fe5b1415613aa8578460040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169150600090505b8751811015613aa757600073ffffffffffffffffffffffffffffffffffffffff1688828151811015156136c457fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff16141580156137545750846006016000898381518110151561370157fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15156137c8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f4e6f7420612076616c69642064657374696e6174696f6e00000000000000000081525060200191505060405180910390fd5b600087828151811015156137d857fe5b9060200190602002015111151561387d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001807f416d6f756e7420746f2062652073656e742073686f756c64206265206772656181526020017f746572207468616e20300000000000000000000000000000000000000000000081525060400191505060405180910390fd5b6138a7878281518110151561388e57fe5b90602001906020020151856130ce90919063ffffffff16565b935060018560080160008a848151811015156138bf57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb898381518110151561394457fe5b90602001906020020151898481518110151561395c57fe5b906020019060200201516040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1580156139eb57600080fd5b505af11580156139ff573d6000803e3d6000fd5b505050506040513d6020811015613a1557600080fd5b81019080805190602001909291905050501515613a9a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f546f6b656e207472616e73666572206661696c65642e0000000000000000000081525060200191505060405180910390fd5b8080600101915050613695565b5b5b83955050505050509392505050565b600080600080600088518a51148015613ad257508a518a51145b1515613b46576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f522c532c56206c656e677468206d69736d617463682e0000000000000000000081525060200191505060405180910390fd5b60197f01000000000000000000000000000000000000000000000000000000000000000260007f0100000000000000000000000000000000000000000000000000000000000000023089898c60405160200180877effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168152600101867effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526001018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401848051906020019060200280838360005b83811015613c9a578082015181840152602081019050613c7f565b50505050905001838051906020019060200280838360005b83811015613ccd578082015181840152602081019050613cb2565b50505050905001826000191660001916815260200196505050505050506040516020818303038152906040526040518082805190602001908083835b602083101515613d2e5780518252602082019150602081019050602083039250613d09565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902060405160200180807f19457468657265756d205369676e6564204d6573736167653a0a333200000000815250601c0182600019166000191681526020019150506040516020818303038152906040526040518082805190602001908083835b602083101515613ddf5780518252602082019150602081019050602083039250613dba565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390209250600091505b8951821015614120576001838c84815181101515613e2d57fe5b906020019060200201518c85815181101515613e4557fe5b906020019060200201518c86815181101515613e5d57fe5b90602001906020020151604051600081526020016040526040518085600019166000191681526020018460ff1660ff1681526020018360001916600019168152602001826000191660001916815260200194505050505060206040516020810390808403906000865af1158015613ed8573d6000803e3d6000fd5b505050602060405103519050600080896000191660001916815260200190815260200160002060060160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515613fc0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f496e76616c6964207369676e617475726500000000000000000000000000000081525060200191505060405180910390fd5b600080896000191660001916815260200190815260200160002060070160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151561409d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f53616d65207369676e61747572652073656e742074776963650000000000000081525060200191505060405180910390fd5b60016000808a6000191660001916815260200190815260200160002060070160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508093508180600101925050613e13565b839450505050509695505050505050565b600080614147834261418590919063ffffffff16565b905060008463ffffffff161461417957614172610e108563ffffffff166141a690919063ffffffff16565b811161417c565b60005b91505092915050565b60008083831115151561419757600080fd5b82840390508091505092915050565b60008060008414156141bb57600091506141dd565b82840290508284828115156141cc57fe5b041415156141d957600080fd5b8091505b50929150505600a165627a7a723058200eeb999ae398c16c7cdff0b1e0a4386a1714a749b189865fc792d41f9563fcfb0029", - "deployedBytecode": "0x6080604052600436106100ba576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806323b6fd3f146100bf5780632d9ef96e1461017957806346fbcdeb1461019d57806357bced7614610292578063642f2eaf14610383578063b0550c66146104e5578063b719e2801461054e578063b77bf60014610589578063be84ceaf146105b4578063e4ec8b001461064c578063f0786562146106f5578063f5dbe09c1461075e575b600080fd5b610177600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff169060200190929190803563ffffffff169060200190929190803560001916906020019092919080356bffffffffffffffffffffffff191690602001909291905050506107c7565b005b61019b6004803603810190808035600019169060200190929190505050610a26565b005b3480156101a957600080fd5b5061027460048036038101908080356bffffffffffffffffffffffff19169060200190929190803560ff169060200190929190803563ffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610eb4565b60405180826000191660001916815260200191505060405180910390f35b34801561029e57600080fd5b50610381600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff169060200190929190803563ffffffff16906020019092919080356000191690602001909291908035906020019092919080356bffffffffffffffffffffffff19169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611360565b005b34801561038f57600080fd5b506103b26004803603810190808035600019169060200190929190505050611840565b604051808b81526020018a81526020018960018111156103ce57fe5b60ff1681526020018860018111156103e257fe5b60ff1681526020018760ff1660ff1681526020018663ffffffff1663ffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019a505050505050505050505060405180910390f35b3480156104f157600080fd5b506105346004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061194b565b604051808215151515815260200191505060405180910390f35b34801561055a57600080fd5b506105876004803603810190808035600019169060200190929190803590602001909291905050506119bd565b005b34801561059557600080fd5b5061059e61209d565b6040518082815260200191505060405180910390f35b3480156105c057600080fd5b506105f5600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506120a3565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b8381101561063857808201518184015260208101905061061d565b505050509050019250505060405180910390f35b34801561065857600080fd5b506106f3600480360381019080803590602001908201803590602001919091929391929390803590602001908201803590602001919091929391929390803590602001908201803590602001919091929391929390803560001916906020019092919080359060200190820180359060200191909192939192939080359060200190820180359060200191909192939192939050505061213e565b005b34801561070157600080fd5b506107446004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506126a0565b604051808215151515815260200191505060405180910390f35b34801561076a57600080fd5b506107a9600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050612712565b60405180826000191660001916815260200191505060405180910390f35b81600080600083600019166000191681526020019081526020016000206000015414151561085d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f5472616e73616374696f6e20657869737473000000000000000000000000000081525060200191505060405180910390fd5b87600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610903576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b87600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156109a9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b6109bc8a8a8a8a8a8a348b600080612742565b3373ffffffffffffffffffffffffffffffffffffffff167fce7089d0668849fb9ca29778c0cbf1e764d9efb048d81fd71fb34c94f26db36886346040518083600019166000191681526020018281526020019250505060405180910390a250505050505050505050565b600081600080600083600019166000191681526020019081526020016000206000015414151515610abf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737473000000000081525060200191505060405180910390fd5b8260006001811115610acd57fe5b600080836000191660001916815260200190815260200160002060020160009054906101000a900460ff166001811115610b0357fe5b141515610b9e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001807f5472616e73616374696f6e2069732065697468657220696e206469737075746581526020017f206f722072656c6561736564207374617465000000000000000000000000000081525060400191505060405180910390fd5b836000806001811115610bad57fe5b600080846000191660001916815260200190815260200160002060020160019054906101000a900460ff166001811115610be357fe5b141515610c58576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5472616e73616374696f6e207479706520646f6573206e6f74206d617463680081525060200191505060405180910390fd5b85600080826000191660001916815260200190815260200160002060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610d5f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f54686520696e69746961746f72206f6620746865207472616e73616374696f6e81526020017f206973206e6f742062757965720000000000000000000000000000000000000081525060400191505060405180910390fd5b349550600086111515610dda576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f56616c7565206d7573742062652067726561746572207468616e207a65726f2e81525060200191505060405180910390fd5b610e0a866000808a60001916600019168152602001908152602001600020600001546130ce90919063ffffffff16565b600080896000191660001916815260200190815260200160002060000181905550426000808960001916600019168152602001908152602001600020600101819055503373ffffffffffffffffffffffffffffffffffffffff167ff66fd2ae9e24a6a24b02e1b5b7512ffde5149a4176085fc0298ae228c9b9d72988886040518083600019166000191681526020018281526020019250505060405180910390a250505050505050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611100578787878787873060405160200180886bffffffffffffffffffffffff19166bffffffffffffffffffffffff191681526014018760ff1660ff167f01000000000000000000000000000000000000000000000000000000000000000281526001018663ffffffff1663ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014019750505050505050506040516020818303038152906040526040518082805190602001908083835b6020831015156110cc57805182526020820191506020810190506020830392506110a7565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390209050611355565b878787878787308860405160200180896bffffffffffffffffffffffff19166bffffffffffffffffffffffff191681526014018860ff1660ff167f01000000000000000000000000000000000000000000000000000000000000000281526001018763ffffffff1663ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401985050505050505050506040516020818303038152906040526040518082805190602001908083835b6020831015156113255780518252602082019150602081019050602083039250611300565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902090505b979650505050505050565b60008460008060008360001916600019168152602001908152602001600020600001541415156113f8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f5472616e73616374696f6e20657869737473000000000000000000000000000081525060200191505060405180910390fd5b8a600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561149e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b8a600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515611544576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b84600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156115ea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b6115fd8e8e8e8e8e8e8e8e60018f612742565b8594508473ffffffffffffffffffffffffffffffffffffffff166323b872dd33308b6040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b1580156116d757600080fd5b505af11580156116eb573d6000803e3d6000fd5b505050506040513d602081101561170157600080fd5b810190808051906020019092919050505015156117d2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252605c8152602001807f546f6b656e207472616e73666572206661696c65642c206d6179626520796f7581526020017f20646964206e6f7420617070726f766520657363726f7720636f6e747261637481526020017f20746f207370656e64206f6e20626568616c66206f662062757965720000000081525060600191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff167fce7089d0668849fb9ca29778c0cbf1e764d9efb048d81fd71fb34c94f26db3688a8a6040518083600019166000191681526020018281526020019250505060405180910390a25050505050505050505050505050565b60006020528060005260406000206000915090508060000154908060010154908060020160009054906101000a900460ff16908060020160019054906101000a900460ff16908060020160029054906101000a900460ff16908060020160039054906101000a900463ffffffff16908060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060050160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508a565b6000806000846000191660001916815260200190815260200160002060080160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b60008083600080600083600019166000191681526020019081526020016000206000015414151515611a57576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737473000000000081525060200191505060405180910390fd5b8460006001811115611a6557fe5b600080836000191660001916815260200190815260200160002060020160009054906101000a900460ff166001811115611a9b57fe5b141515611b36576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001807f5472616e73616374696f6e2069732065697468657220696e206469737075746581526020017f206f722072656c6561736564207374617465000000000000000000000000000081525060400191505060405180910390fd5b856001806001811115611b4557fe5b600080846000191660001916815260200190815260200160002060020160019054906101000a900460ff166001811115611b7b57fe5b141515611bf0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5472616e73616374696f6e207479706520646f6573206e6f74206d617463680081525060200191505060405180910390fd5b87600080826000191660001916815260200190815260200160002060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611cf7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f54686520696e69746961746f72206f6620746865207472616e73616374696f6e81526020017f206973206e6f742062757965720000000000000000000000000000000000000081525060400191505060405180910390fd5b879650600087111515611d72576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f56616c7565206d7573742062652067726561746572207468616e207a65726f2e81525060200191505060405180910390fd5b6000808a6000191660001916815260200190815260200160002060040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1695508573ffffffffffffffffffffffffffffffffffffffff166323b872dd6000808c6000191660001916815260200190815260200160002060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff16308b6040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b158015611ec657600080fd5b505af1158015611eda573d6000803e3d6000fd5b505050506040513d6020811015611ef057600080fd5b81019080805190602001909291905050501515611fc1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252605c8152602001807f546f6b656e207472616e73666572206661696c65642c206d6179626520796f7581526020017f20646964206e6f7420617070726f766520657363726f7720636f6e747261637481526020017f20746f207370656e64206f6e20626568616c66206f662062757965720000000081525060600191505060405180910390fd5b611ff1876000808c60001916600019168152602001908152602001600020600001546130ce90919063ffffffff16565b6000808b6000191660001916815260200190815260200160002060000181905550426000808b60001916600019168152602001908152602001600020600101819055503373ffffffffffffffffffffffffffffffffffffffff167ff66fd2ae9e24a6a24b02e1b5b7512ffde5149a4176085fc0298ae228c9b9d7298a896040518083600019166000191681526020018281526020019250505060405180910390a2505050505050505050565b60015481565b6060600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080548060200260200160405190810160405280929190818152602001828054801561213257602002820191906000526020600020905b8154600019168152602001906001019080831161211a575b50505050509050919050565b846000806000836000191660001916815260200190815260200160002060000154141515156121d5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737473000000000081525060200191505060405180910390fd5b85600060018111156121e357fe5b600080836000191660001916815260200190815260200160002060020160009054906101000a900460ff16600181111561221957fe5b1415156122b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001807f5472616e73616374696f6e2069732065697468657220696e206469737075746581526020017f206f722072656c6561736564207374617465000000000000000000000000000081525060400191505060405180910390fd5b6000868690501180156122cc57508383905086869050145b1515612366576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001807f4c656e677468206f662064657374696e6174696f6e7320697320696e636f727281526020017f6563742e0000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b61245f8d8d808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508c8c808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508b8b808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508a8a8a808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508989808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050506130ef565b6001600080896000191660001916815260200190815260200160002060020160006101000a81548160ff0219169083600181111561249957fe5b021790555042600080896000191660001916815260200190815260200160002060010181905550600080886000191660001916815260200190815260200160002060000154612547888888808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508787808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050506132d0565b141515612608576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260488152602001807f546f74616c2076616c756520746f2062652072656c6561736564206d7573742081526020017f626520657175616c20746f20746865207472616e73616374696f6e206573637281526020017f6f772076616c756500000000000000000000000000000000000000000000000081525060600191505060405180910390fd5b7f688e2a1b34445bcd47b0e11ba2a9c8c4d850a1831b64199b59d1c70e2970154587878787876040518086600019166000191681526020018060200180602001838103835287878281815260200192506020028082843782019150508381038252858582818152602001925060200280828437820191505097505050505050505060405180910390a150505050505050505050505050565b6000806000846000191660001916815260200190815260200160002060070160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b60026020528160005260406000208181548110151561272d57fe5b90600052602060002001600091509150505481565b8873ffffffffffffffffffffffffffffffffffffffff168a73ffffffffffffffffffffffffffffffffffffffff16141515156127e6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f427579657220616e642073656c6c6572206172652073616d650000000000000081525060200191505060405180910390fd5b60008411151561285e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f56616c756520706173736564206973203000000000000000000000000000000081525060200191505060405180910390fd5b60008760ff16118015612875575060038760ff1611155b151561290f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603d8152602001807f5468726573686f6c642063616e6e6f742062652067726561746572207468616e81526020017f203320616e64206d7573742062652067726561746572207468616e203000000081525060400191505060405180910390fd5b60018760ff16148061294e5750600073ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff1614155b1515612a0e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252604f8152602001807f456974686572207468726573686f6c642073686f756c642062652031206f746881526020017f6572776973652076616c6964206d6f64657261746f722061646472657373207381526020017f686f756c6420626520706173736564000000000000000000000000000000000081525060600191505060405180910390fd5b612a1d8388888d8d8d87610eb4565b600019168560001916141515612ac1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260398152602001807f43616c63756c6174656420736372697074206861736820646f6573206e6f742081526020017f6d61746368207061737365642073637269707420686173682e0000000000000081525060400191505060405180910390fd5b6101406040519081016040528085815260200142815260200160006001811115612ae757fe5b8152602001836001811115612af857fe5b81526020018860ff1681526020018763ffffffff1681526020018b73ffffffffffffffffffffffffffffffffffffffff1681526020018a73ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020018973ffffffffffffffffffffffffffffffffffffffff168152506000808760001916600019168152602001908152602001600020600082015181600001556020820151816001015560408201518160020160006101000a81548160ff02191690836001811115612bd257fe5b021790555060608201518160020160016101000a81548160ff02191690836001811115612bfb57fe5b021790555060808201518160020160026101000a81548160ff021916908360ff16021790555060a08201518160020160036101000a81548163ffffffff021916908363ffffffff16021790555060c08201518160020160076101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060e08201518160030160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506101008201518160040160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506101208201518160050160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055509050506001600080876000191660001916815260200190815260200160002060060160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600080876000191660001916815260200190815260200160002060060160008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600080866000191660001916815260200190815260200160002060060160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151515612f52576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f456974686572206275796572206f722073656c6c65722069732070617373656481526020017f206173206d6f64657261746f720000000000000000000000000000000000000081525060400191505060405180910390fd5b60018760ff161115612fd2576001600080876000191660001916815260200190815260200160002060060160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b600160008154809291906001019190505550600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020859080600181540180825580915050906001820390600052602060002001600090919290919091509060001916905550600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002085908060018154018082558091505090600182039060005260206000200160009091929091909150906000191690555050505050505050505050565b60008082840190508381101515156130e557600080fd5b8091505092915050565b600080613100888888888888613ab8565b9150613156600080876000191660001916815260200190815260200160002060020160039054906101000a900463ffffffff16600080886000191660001916815260200190815260200160002060010154614131565b9050600080866000191660001916815260200190815260200160002060020160029054906101000a900460ff1660ff16885110801561320757508015806132065750600080866000191660001916815260200190815260200160002060030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b5b156132c6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260588152602001807f4d696e696d756d206e756d626572206f66207369676e6174757265732061726581526020017f206e6f7420636f6c6c656374656420616e642074696d65206c6f636b2065787081526020017f69727920636f6e646974696f6e73206e6f74206d65742121000000000000000081525060600191505060405180910390fd5b5050505050505050565b6000806000806000806000808a600019166000191681526020019081526020016000209450600093506000600181111561330657fe5b8560020160019054906101000a900460ff16600181111561332357fe5b141561363a57600092505b875183101561363557600073ffffffffffffffffffffffffffffffffffffffff16888481518110151561335d57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff16141580156133ed5750846006016000898581518110151561339a57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1515613461576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f4e6f7420612076616c69642064657374696e6174696f6e00000000000000000081525060200191505060405180910390fd5b6000878481518110151561347157fe5b90602001906020020151111515613516576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001807f416d6f756e7420746f2062652073656e742073686f756c64206265206772656181526020017f746572207468616e20300000000000000000000000000000000000000000000081525060400191505060405180910390fd5b613540878481518110151561352757fe5b90602001906020020151856130ce90919063ffffffff16565b935060018560080160008a8681518110151561355857fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555087838151811015156135c157fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff166108fc88858151811015156135f257fe5b906020019060200201519081150290604051600060405180830381858888f19350505050158015613627573d6000803e3d6000fd5b50828060010193505061332e565b613aa9565b60018081111561364657fe5b8560020160019054906101000a900460ff16600181111561366357fe5b1415613aa8578460040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169150600090505b8751811015613aa757600073ffffffffffffffffffffffffffffffffffffffff1688828151811015156136c457fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff16141580156137545750846006016000898381518110151561370157fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15156137c8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f4e6f7420612076616c69642064657374696e6174696f6e00000000000000000081525060200191505060405180910390fd5b600087828151811015156137d857fe5b9060200190602002015111151561387d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001807f416d6f756e7420746f2062652073656e742073686f756c64206265206772656181526020017f746572207468616e20300000000000000000000000000000000000000000000081525060400191505060405180910390fd5b6138a7878281518110151561388e57fe5b90602001906020020151856130ce90919063ffffffff16565b935060018560080160008a848151811015156138bf57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb898381518110151561394457fe5b90602001906020020151898481518110151561395c57fe5b906020019060200201516040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1580156139eb57600080fd5b505af11580156139ff573d6000803e3d6000fd5b505050506040513d6020811015613a1557600080fd5b81019080805190602001909291905050501515613a9a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f546f6b656e207472616e73666572206661696c65642e0000000000000000000081525060200191505060405180910390fd5b8080600101915050613695565b5b5b83955050505050509392505050565b600080600080600088518a51148015613ad257508a518a51145b1515613b46576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f522c532c56206c656e677468206d69736d617463682e0000000000000000000081525060200191505060405180910390fd5b60197f01000000000000000000000000000000000000000000000000000000000000000260007f0100000000000000000000000000000000000000000000000000000000000000023089898c60405160200180877effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168152600101867effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526001018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401848051906020019060200280838360005b83811015613c9a578082015181840152602081019050613c7f565b50505050905001838051906020019060200280838360005b83811015613ccd578082015181840152602081019050613cb2565b50505050905001826000191660001916815260200196505050505050506040516020818303038152906040526040518082805190602001908083835b602083101515613d2e5780518252602082019150602081019050602083039250613d09565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902060405160200180807f19457468657265756d205369676e6564204d6573736167653a0a333200000000815250601c0182600019166000191681526020019150506040516020818303038152906040526040518082805190602001908083835b602083101515613ddf5780518252602082019150602081019050602083039250613dba565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390209250600091505b8951821015614120576001838c84815181101515613e2d57fe5b906020019060200201518c85815181101515613e4557fe5b906020019060200201518c86815181101515613e5d57fe5b90602001906020020151604051600081526020016040526040518085600019166000191681526020018460ff1660ff1681526020018360001916600019168152602001826000191660001916815260200194505050505060206040516020810390808403906000865af1158015613ed8573d6000803e3d6000fd5b505050602060405103519050600080896000191660001916815260200190815260200160002060060160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515613fc0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f496e76616c6964207369676e617475726500000000000000000000000000000081525060200191505060405180910390fd5b600080896000191660001916815260200190815260200160002060070160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151561409d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f53616d65207369676e61747572652073656e742074776963650000000000000081525060200191505060405180910390fd5b60016000808a6000191660001916815260200190815260200160002060070160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508093508180600101925050613e13565b839450505050509695505050505050565b600080614147834261418590919063ffffffff16565b905060008463ffffffff161461417957614172610e108563ffffffff166141a690919063ffffffff16565b811161417c565b60005b91505092915050565b60008083831115151561419757600080fd5b82840390508091505092915050565b60008060008414156141bb57600091506141dd565b82840290508284828115156141cc57fe5b041415156141d957600080fd5b8091505b50929150505600a165627a7a723058200eeb999ae398c16c7cdff0b1e0a4386a1714a749b189865fc792d41f9563fcfb0029", - "sourceMap": "460:20567:0:-;;;1606:1;1572:35;;460:20567;8:9:-1;5:2;;;30:1;27;20:12;5:2;460:20567:0;;;;;;;", - "deployedSourceMap": "460:20567:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3828:702;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7831:598;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12215:999;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12215:999:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5630:1021;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5630:1021:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1514:51;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1514:51:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6875:221;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6875:221:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8689:924;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8689:924:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1572:35;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1572:35:0;;;;;;;;;;;;;;;;;;;;;;;9730:194;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9730:194:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;9730:194:0;;;;;;;;;;;;;;;;;10681:1063;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10681:1063:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7319:194;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7319:194:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1684:54;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1684:54:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3828:702;4106:10;2030:1;1996:12;:24;2009:10;1996:24;;;;;;;;;;;;;;;;;:30;;;:35;1988:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4141:5;2380:1;2354:28;;:14;:28;;;;2346:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4171:6;2380:1;2354:28;;:14;:28;;;;2346:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4193:264;4222:5;4241:6;4261:9;4284;4307:12;4333:10;4357:9;4380:8;4402:21;4445:1;4193:15;:264::i;:::-;4500:10;4481:41;;;4488:10;4512:9;4481:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2416:1;2064;3828:702;;;;;;;;:::o;7831:598::-;8109:14;7939:10;1857:1;1823:12;:24;1836:10;1823:24;;;;;;;;;;;;;;;;;:30;;;:35;;1802:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7973:10;2187:13;2152:48;;;;;;;;:12;:24;2165:10;2152:24;;;;;;;;;;;;;;;;;:31;;;;;;;;;;;;:48;;;;;;;;;2131:133;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8014:10;8026:21;2614:15;2570:59;;;;;;;;:12;:24;2583:10;2570:24;;;;;;;;;;;;;;;;;:40;;;;;;;;;;;;:59;;;;;;;;;2549:125;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8067:10;2782:12;:24;2795:10;2782:24;;;;;;;;;;;;;;;;;:30;;;;;;;;;;;;2768:44;;:10;:44;;;2747:124;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8126:9;8109:26;;8163:1;8154:6;:10;8146:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8245;8293:6;8245:12;:24;8258:10;8245:24;;;;;;;;;;;;;;;;;:30;;;:47;;:55;;;;:::i;:::-;8212:12;:24;8225:10;8212:24;;;;;;;;;;;;;;;;;:30;;:88;;;;8350:15;8310:12;:24;8323:10;8310:24;;;;;;;;;;;;;;;;;:37;;:55;;;;8403:10;8381:41;;;8391:10;8415:6;8381:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2684:1;2274;;1909;7831:598;;;:::o;12215:999::-;12485:7;12536:1;12512:26;;:12;:26;;;12508:700;;;12626:8;12656:9;12687:12;12721:5;12748:6;12776:9;12807:4;12588:241;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;12588:241:0;;;12561:282;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;12561:282:0;;;;;;;;;;;;;;;;12554:289;;;;12508:700;12946:8;12976:9;13007:12;13041:5;13068:6;13096:9;13127:4;13153:12;12908:275;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;12908:275:0;;;12881:316;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;12881:316:0;;;;;;;;;;;;;;;;12874:323;;12215:999;;;;;;;;;;:::o;5630:1021::-;6348:20;5950:10;2030:1;1996:12;:24;2009:10;1996:24;;;;;;;;;;;;;;;;;:30;;;:35;1988:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5985:5;2380:1;2354:28;;:14;:28;;;;2346:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6015:6;2380:1;2354:28;;:14;:28;;;;2346:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6046:12;2380:1;2354:28;;:14;:28;;;;2346:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6075:262;6104:5;6123:6;6143:9;6166;6189:12;6215:10;6239:5;6258:8;6280:21;6315:12;6075:15;:262::i;:::-;6386:12;6348:51;;6431:5;:18;;;6450:10;6462:4;6468:5;6431:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6431:43:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6431:43:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6431:43:0;;;;;;;;;;;;;;;;6410:182;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6626:10;6607:37;;;6614:10;6638:5;6607:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2416:1;;2064;5630:1021;;;;;;;;;;;:::o;1514:51::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;6875:221::-;7011:4;7038:12;:24;7051:10;7038:24;;;;;;;;;;;;;;;;;:38;;:51;7077:11;7038:51;;;;;;;;;;;;;;;;;;;;;;;;;7031:58;;6875:221;;;;:::o;8689:924::-;8975:14;9074:20;8821:10;1857:1;1823:12;:24;1836:10;1823:24;;;;;;;;;;;;;;;;;:30;;;:35;;1802:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8855:10;2187:13;2152:48;;;;;;;;:12;:24;2165:10;2152:24;;;;;;;;;;;;;;;;;:31;;;;;;;;;;;;:48;;;;;;;;;2131:133;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8896:10;8908:21;2614:15;2570:59;;;;;;;;:12;:24;2583:10;2570:24;;;;;;;;;;;;;;;;;:40;;;;;;;;;;;;:59;;;;;;;;;2549:125;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8949:10;2782:12;:24;2795:10;2782:24;;;;;;;;;;;;;;;;;:30;;;;;;;;;;;;2768:44;;:10;:44;;;2747:124;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8992:5;8975:22;;9025:1;9016:6;:10;9008:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9125:12;:24;9138:10;9125:24;;;;;;;;;;;;;;;;;:37;;;;;;;;;;;;9074:98;;9204:5;:18;;;9223:12;:24;9236:10;9223:24;;;;;;;;;;;;;;;;;:30;;;;;;;;;;;;9255:4;9261:5;9204:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9204:63:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9204:63:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;9204:63:0;;;;;;;;;;;;;;;;9183:202;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9429:55;9477:6;9429:12;:24;9442:10;9429:24;;;;;;;;;;;;;;;;;:30;;;:47;;:55;;;;:::i;:::-;9396:12;:24;9409:10;9396:24;;;;;;;;;;;;;;;;;:30;;:88;;;;9534:15;9494:12;:24;9507:10;9494:24;;;;;;;;;;;;;;;;;:37;;:55;;;;9587:10;9565:41;;;9575:10;9599:6;9565:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2684:1;2274;;1909;8689:924;;;;;:::o;1572:35::-;;;;:::o;9730:194::-;9852:9;9885:18;:32;9904:12;9885:32;;;;;;;;;;;;;;;9878:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9730:194;;;:::o;10681:1063::-;10904:10;1857:1;1823:12;:24;1836:10;1823:24;;;;;;;;;;;;;;;;;:30;;;:35;;1802:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10938:10;2187:13;2152:48;;;;;;;;:12;:24;2165:10;2152:24;;;;;;;;;;;;;;;;;:31;;;;;;;;;;;;:48;;;;;;;;;2131:133;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11005:1;10985:12;;:19;;:21;:62;;;;;11033:7;;:14;;11010:12;;:19;;:37;10985:62;10964:133;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11108:152;11139:4;;11108:152;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11157:4;;11108:152;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11175:4;;11108:152;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11193:10;11217:12;;11108:152;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11243:7;;11108:152;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:17;:152::i;:::-;11305:15;11271:12;:24;11284:10;11271:24;;;;;;;;;;;;;;;;;:31;;;:49;;;;;;;;;;;;;;;;;;;;;;;;11444:15;11404:12;:24;11417:10;11404:24;;;;;;;;;;;;;;;;;:37;;:55;;;;11542:12;:24;11555:10;11542:24;;;;;;;;;;;;;;;;;:30;;;11490:48;11504:10;11516:12;;11490:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11530:7;;11490:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:13;:48::i;:::-;:82;11469:201;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11694:43;11703:10;11715:12;;11729:7;;11694:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1909:1;10681:1063;;;;;;;;;;;;:::o;7319:194::-;7442:4;7469:12;:24;7482:10;7469:24;;;;;;;;;;;;;;;;;:30;;:37;7500:5;7469:37;;;;;;;;;;;;;;;;;;;;;;;;;7462:44;;7319:194;;;;:::o;1684:54::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;18390:2635::-;18752:6;18743:15;;:5;:15;;;;18735:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18863:1;18855:5;:9;18847:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19001:1;18989:9;:13;;;:31;;;;;19019:1;19006:9;:14;;;;18989:31;18968:140;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19390:1;19377:9;:14;;;:41;;;;19416:1;19395:23;;:9;:23;;;;19377:41;19356:167;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19569:226;19612:8;19638:9;19665:12;19695:5;19718:6;19742:9;19769:12;19569:25;:226::i;:::-;19555:240;;;:10;:240;;;;19534:345;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19917:373;;;;;;;;;20038:5;19917:373;;;;20106:15;19917:373;;;;20065:13;19917:373;;;;;;;;;;;;20225:15;19917:373;;;;;;;;;;;;20146:9;19917:373;;;;;;20183:12;19917:373;;;;;;19950:5;19917:373;;;;;;19977:6;19917:373;;;;;;20267:12;19917:373;;;;;;20008:9;19917:373;;;;;19890:12;:24;19903:10;19890:24;;;;;;;;;;;;;;;;;:400;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20344:4;20301:12;:24;20314:10;20301:24;;;;;;;;;;;;;;;;;:32;;:40;20334:6;20301:40;;;;;;;;;;;;;;;;:47;;;;;;;;;;;;;;;;;;20400:4;20358:12;:24;20371:10;20358:24;;;;;;;;;;;;;;;;;:32;;:39;20391:5;20358:39;;;;;;;;;;;;;;;;:46;;;;;;;;;;;;;;;;;;20512:12;:24;20525:10;20512:24;;;;;;;;;;;;;;;;;:32;;:43;20545:9;20512:43;;;;;;;;;;;;;;;;;;;;;;;;;20511:44;20490:137;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20799:1;20787:9;:13;;;20783:93;;;20861:4;20815:12;:24;20828:10;20815:24;;;;;;;;;;;;;;;;;:32;;:43;20848:9;20815:43;;;;;;;;;;;;;;;;:50;;;;;;;;;;;;;;;;;;20783:93;20894:16;;:18;;;;;;;;;;;;;20923;:25;20942:5;20923:25;;;;;;;;;;;;;;;20954:10;20923:42;;39:1:-1;33:3;27:10;23:18;57:10;52:3;45:23;79:10;72:17;;0:93;20923:42:0;;;;;;;;;;;;;;;;;;;;;;;;;;;20975:18;:26;20994:6;20975:26;;;;;;;;;;;;;;;21007:10;20975:43;;39:1:-1;33:3;27:10;23:18;57:10;52:3;45:23;79:10;72:17;;0:93;20975:43:0;;;;;;;;;;;;;;;;;;;;;;;;;;;18390:2635;;;;;;;;;;:::o;1272:131:2:-;1330:7;1345:9;1361:1;1357;:5;1345:17;;1381:1;1376;:6;;1368:15;;;;;;;;1397:1;1390:8;;1272:131;;;;;:::o;13488:1005:0:-;13708:21;13894:20;13732:151;13762:4;13780;13798;13816:10;13840:12;13866:7;13732:16;:151::i;:::-;13708:175;;13917:129;13948:12;:24;13961:10;13948:24;;;;;;;;;;;;;;;;;:37;;;;;;;;;;;;13999:12;:24;14012:10;13999:24;;;;;;;;;;;;;;;;;:37;;;13917:17;:129::i;:::-;13894:152;;14232:12;:24;14245:10;14232:24;;;;;;;;;;;;;;;;;:34;;;;;;;;;;;;14218:48;;:4;:11;:48;:122;;;;;14272:15;14271:16;:68;;;;14308:12;:24;14321:10;14308:24;;;;;;;;;;;;;;;;;:31;;;;;;;;;;;;14291:48;;:13;:48;;;;14271:68;14218:122;14197:289;;;14377:98;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14197:289;13488:1005;;;;;;;;:::o;14619:1607::-;14766:7;14789:21;14848:24;14954:9;15591:20;15664:9;14813:12;:24;14826:10;14813:24;;;;;;;;;;;;;;;;;14789:48;;14875:1;14848:28;;14912:21;14891:42;;;;;;;;:1;:17;;;;;;;;;;;;:42;;;;;;;;;14887:1299;;;14966:1;14954:13;;14949:562;14973:12;:19;14969:1;:23;14949:562;;;15053:1;15026:29;;:12;15039:1;15026:15;;;;;;;;;;;;;;;;;;:29;;;;:59;;;;;15059:1;:9;;:26;15069:12;15082:1;15069:15;;;;;;;;;;;;;;;;;;15059:26;;;;;;;;;;;;;;;;;;;;;;;;;15026:59;15018:95;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15152:1;15139:7;15147:1;15139:10;;;;;;;;;;;;;;;;;;:14;15131:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15238:32;15259:7;15267:1;15259:10;;;;;;;;;;;;;;;;;;15238:16;:20;;:32;;;;:::i;:::-;15219:51;;15324:4;15289:1;:15;;:32;15305:12;15318:1;15305:15;;;;;;;;;;;;;;;;;;15289:32;;;;;;;;;;;;;;;;:39;;;;;;;;;;;;;;;;;;15375:12;15388:1;15375:15;;;;;;;;;;;;;;;;;;:24;;:36;15400:7;15408:1;15400:10;;;;;;;;;;;;;;;;;;15375:36;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;15375:36:0;14994:3;;;;;;;14949:562;;;14887:1299;;;15553:21;15532:42;;;;;;;;:1;:17;;;;;;;;;;;;:42;;;;;;;;;15528:658;;;15629:1;:14;;;;;;;;;;;;15591:53;;15676:1;15664:13;;15659:517;15681:12;:19;15679:1;:21;15659:517;;;15761:1;15734:29;;:12;15747:1;15734:15;;;;;;;;;;;;;;;;;;:29;;;;:59;;;;;15767:1;:9;;:26;15777:12;15790:1;15777:15;;;;;;;;;;;;;;;;;;15767:26;;;;;;;;;;;;;;;;;;;;;;;;;15734:59;15726:95;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15860:1;15847:7;15855:1;15847:10;;;;;;;;;;;;;;;;;;:14;15839:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15946:32;15967:7;15975:1;15967:10;;;;;;;;;;;;;;;;;;15946:16;:20;;:32;;;;:::i;:::-;15927:51;;16031:4;15996:1;:15;;:32;16012:12;16025:1;16012:15;;;;;;;;;;;;;;;;;;15996:32;;;;;;;;;;;;;;;;:39;;;;;;;;;;;;;;;;;;16091:5;:14;;;16106:12;16119:1;16106:15;;;;;;;;;;;;;;;;;;16123:7;16131:1;16123:10;;;;;;;;;;;;;;;;;;16091:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;16091:43:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;16091:43:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;16091:43:0;;;;;;;;;;;;;;;;16083:78;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15702:3;;;;;;;15659:517;;;15528:658;14887:1299;16203:16;16196:23;;14619:1607;;;;;;;;;;:::o;16410:1571::-;16631:7;16792:19;16910:14;17369:6;17418:17;16691:4;:11;16676:4;:11;:26;:56;;;;;16721:4;:11;16706:4;:11;:26;16676:56;16655:126;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17114:4;17109:10;;17150:1;17145:7;;17178:4;17208:12;17246:7;17279:10;17067:244;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;17067:244:0;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;17067:244:0;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;17067:244:0;;;17036:293;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;17036:293:0;;;;;;;;;;;;;;;;16950:393;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;16950:393:0;;;16927:426;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;16927:426:0;;;;;;;;;;;;;;;;16910:443;;17378:1;17369:10;;17364:582;17385:4;:11;17381:1;:15;17364:582;;;17438:122;17465:6;17489:4;17494:1;17489:7;;;;;;;;;;;;;;;;;;17514:4;17519:1;17514:7;;;;;;;;;;;;;;;;;;17539:4;17544:1;17539:7;;;;;;;;;;;;;;;;;;17438:122;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;17438:122:0;;;;;;;;17418:142;;17600:12;:24;17613:10;17600:24;;;;;;;;;;;;;;;;;:32;;:43;17633:9;17600:43;;;;;;;;;;;;;;;;;;;;;;;;;17575:120;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17735:12;:24;17748:10;17735:24;;;;;;;;;;;;;;;;;:30;;:41;17766:9;17735:41;;;;;;;;;;;;;;;;;;;;;;;;;17734:42;17709:127;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17894:4;17850:12;:24;17863:10;17850:24;;;;;;;;;;;;;;;;;:30;;:41;17881:9;17850:41;;;;;;;;;;;;;;;;:48;;;;;;;;;;;;;;;;;;17926:9;17912:23;;17398:3;;;;;;;17364:582;;;17963:11;17956:18;;16410:1571;;;;;;;;;;;;:::o;17987:316::-;18125:4;18145:17;18165:21;18173:12;18165:3;:7;;:21;;;;:::i;:::-;18145:41;;18233:1;18217:12;:17;;;:69;;18255:31;18281:4;18263:12;18255:21;;:25;;:31;;;;:::i;:::-;18243:9;:43;18217:69;;;18237:5;18217:69;18196:100;;17987:316;;;;;:::o;1078:131:2:-;1136:7;1172:9;1164:1;1159;:6;;1151:15;;;;;;;;1188:1;1184;:5;1172:17;;1203:1;1196:8;;1078:131;;;;;:::o;204:381::-;262:7;523:9;491:1;486;:6;482:35;;;509:1;502:8;;;;482:35;539:1;535;:5;523:17;;563:1;558;554;:5;;;;;;;;:10;546:19;;;;;;;;579:1;572:8;;204:381;;;;;;:::o", - "source": "pragma solidity 0.4.24;\n\nimport \"openzeppelin-solidity/contracts/math/SafeMath.sol\";\n\nimport \"../token/ITokenContract.sol\";\n\n\n/**\n* @dev Supports ERC20 tokens\n* The escrow smart contract for the open bazaar trades in Ethereum\n* The smart contract is desgined keeping in mind the current wallet interface of the OB-core\n* https://github.com/OpenBazaar/wallet-interface/blob/master/wallet.go\n* Current wallet interface strictly adheres to UTXO(bitcoin) model\n*/\ncontract Escrow_v1_0 {\n\n using SafeMath for uint256;\n\n enum Status {FUNDED, RELEASED}\n\n enum TransactionType {ETHER, TOKEN}\n\n event Executed(\n bytes32 scriptHash,\n address[] destinations,\n uint256[] amounts\n );\n\n event FundAdded(\n bytes32 scriptHash,\n address indexed from,\n uint256 valueAdded\n );\n\n event Funded(bytes32 scriptHash, address indexed from, uint256 value);\n\n struct Transaction {\n uint256 value;\n uint256 lastModified;//Time at which transaction was last modified\n Status status;\n TransactionType transactionType;\n uint8 threshold;\n uint32 timeoutHours;\n address buyer;\n address seller;\n address tokenAddress;// Token address in case of token transfer\n address moderator;\n mapping(address=>bool) isOwner;//to keep track of owners/signers.\n mapping(address=>bool) voted;//to keep track of who all voted\n mapping(address=>bool) beneficiaries;//Benefeciaries of execution\n }\n\n mapping(bytes32 => Transaction) public transactions;\n\n uint256 public transactionCount = 0;\n\n //Contains mapping between each party and all of his transactions\n mapping(address => bytes32[])public partyVsTransaction;\n\n modifier transactionExists(bytes32 scriptHash) {\n require(\n transactions[scriptHash].value != 0, \"Transaction does not exists\"\n );\n _;\n }\n\n modifier transactionDoesNotExists (bytes32 scriptHash) {\n require(transactions[scriptHash].value == 0, \"Transaction exists\");\n _;\n }\n\n modifier inFundedState(bytes32 scriptHash) {\n require(\n transactions[scriptHash].status == Status.FUNDED, \"Transaction is either in dispute or released state\"\n );\n _;\n }\n\n modifier nonZeroAddress(address addressToCheck) {\n require(addressToCheck != address(0), \"Zero address passed\");\n _;\n }\n\n modifier checkTransactionType(\n bytes32 scriptHash,\n TransactionType transactionType\n )\n {\n require(\n transactions[scriptHash].transactionType == transactionType, \"Transaction type does not match\"\n );\n _;\n }\n\n modifier onlyBuyer(bytes32 scriptHash) {\n require(\n msg.sender == transactions[scriptHash].buyer, \"The initiator of the transaction is not buyer\"\n );\n _;\n }\n\n /**\n *@dev Add new transaction in the contract\n *@param buyer The buyer of the transaction\n *@param seller The seller of the listing associated with the transaction\n *@param moderator Moderator for this transaction\n *@param scriptHash keccak256 hash of the redeem script\n *@param threshold Minimum number of singatures required to released funds\n *@param timeoutHours Hours after which seller can release funds into his favour by signing transaction\n *@param uniqueId bytes20 unique id for the transaction, generated by ETH wallet\n *Redeem Script format will be following\n \n * scripthash-> keccak256(uniqueId, threshold, timeoutHours, buyer, seller, moderator)\n *Pass amount of the ethers to be put in escrow\n *Please keep in mind you will have to add moderator fees also in the value\n */\n function addTransaction(\n address buyer,\n address seller,\n address moderator,\n uint8 threshold,\n uint32 timeoutHours,\n bytes32 scriptHash,\n bytes20 uniqueId\n )\n external\n payable\n transactionDoesNotExists(scriptHash)\n nonZeroAddress(buyer)\n nonZeroAddress(seller)\n {\n _addTransaction(\n buyer,\n seller,\n moderator,\n threshold,\n timeoutHours,\n scriptHash,\n msg.value,\n uniqueId,\n TransactionType.ETHER,\n address(0)\n );\n \n emit Funded(scriptHash, msg.sender, msg.value);\n\n }\n\n /**\n *@dev Add new transaction in the contract\n *@param buyer The buyer of the transaction\n *@param seller The seller of the listing associated with the transaction\n *@param moderator Moderator for this transaction\n *@param scriptHash keccak256 hash of the redeem script\n *@param threshold Minimum number of singatures required to released funds\n *@param timeoutHours Hours after which seller can release funds into his favour by signing transaction\n *@param value Amount of tokens to be put in escrow\n *@param uniqueId bytes20 unique id for the transaction, generated by ETH wallet\n *@param tokenAddress Address of the token to be used\n *Redeem Script format will be following\n \n * scripthash-> keccak256(uniqueId, threshold, timeoutHours, buyer, seller, moderator, tokenAddress)\n *approve escrow contract to spend amount of token on your behalf\n *Please keep in mind you will have to add moderator fees also in the value\n */\n function addTokenTransaction(\n address buyer,\n address seller,\n address moderator,\n uint8 threshold,\n uint32 timeoutHours,\n bytes32 scriptHash,\n uint256 value,\n bytes20 uniqueId,\n address tokenAddress\n )\n external\n transactionDoesNotExists(scriptHash)\n nonZeroAddress(buyer)\n nonZeroAddress(seller)\n nonZeroAddress(tokenAddress)\n {\n\n _addTransaction(\n buyer,\n seller,\n moderator,\n threshold,\n timeoutHours,\n scriptHash,\n value,\n uniqueId,\n TransactionType.TOKEN,\n tokenAddress\n );\n\n ITokenContract token = ITokenContract(tokenAddress);\n\n require(\n token.transferFrom(msg.sender, this, value),\n \"Token transfer failed, maybe you did not approve escrow contract to spend on behalf of buyer\"\n );\n emit Funded(scriptHash, msg.sender, value);\n }\n\n /**\n * @dev Check whether given address was a beneficiary of transaction execution or not\n * @param scriptHash script hash of the transaction\n * @param beneficiary Beneficiary address to be checked\n */\n function checkBeneficiary(\n bytes32 scriptHash,\n address beneficiary\n )\n external\n view\n returns (bool)\n {\n return transactions[scriptHash].beneficiaries[beneficiary];\n }\n\n /**\n * @dev Check whether given party has voted or not\n * @param scriptHash script hash of the transaction\n * @param party Address of the party whose vote has to be checked\n * @return bool vote\n */\n function checkVote(\n bytes32 scriptHash,\n address party\n )\n external\n view\n returns (bool)\n {\n return transactions[scriptHash].voted[party];\n }\n\n /**\n *@dev Allows buyer of the transaction to add more funds(ether) in the transaction. This will help to cater scenarios wherein initially buyer missed to fund transaction as required\n *@param scriptHash script hash of the transaction\n * Only buyer of the transaction can invoke this method\n */\n function addFundsToTransaction(\n bytes32 scriptHash\n )\n external\n transactionExists(scriptHash)\n inFundedState(scriptHash)\n checkTransactionType(scriptHash, TransactionType.ETHER)\n onlyBuyer(scriptHash)\n payable\n {\n uint256 _value = msg.value;\n\n require(_value > 0, \"Value must be greater than zero.\");\n\n transactions[scriptHash].value = transactions[scriptHash].value\n .add(_value);\n transactions[scriptHash].lastModified = block.timestamp;\n\n emit FundAdded(scriptHash, msg.sender, _value);\n }\n\n /**\n *@dev Allows buyer of the transaction to add more funds(Tokens) in the transaction. This will help to cater scenarios wherein initially buyer missed to fund transaction as required\n *@param scriptHash script hash of the transaction\n */\n function addTokensToTransaction(\n bytes32 scriptHash,\n uint256 value\n )\n external\n transactionExists(scriptHash)\n inFundedState(scriptHash)\n checkTransactionType(scriptHash, TransactionType.TOKEN)\n onlyBuyer(scriptHash)\n {\n uint256 _value = value;\n\n require(_value > 0, \"Value must be greater than zero.\");\n\n ITokenContract token = ITokenContract(\n transactions[scriptHash].tokenAddress\n );\n\n require(\n token.transferFrom(transactions[scriptHash].buyer, this, value),\n \"Token transfer failed, maybe you did not approve escrow contract to spend on behalf of buyer\"\n );\n\n transactions[scriptHash].value = transactions[scriptHash].value\n .add(_value);\n transactions[scriptHash].lastModified = block.timestamp;\n\n emit FundAdded(scriptHash, msg.sender, _value);\n }\n\n /**\n *@dev Returns all transaction ids for a party\n *@param partyAddress Address of the party\n */\n function getAllTransactionsForParty(\n address partyAddress\n ) \n external \n view \n returns (bytes32[]) \n {\n return partyVsTransaction[partyAddress];\n }\n\n /**\n *@dev Allows one of the moderator to collect all the signature to solve dispute and submit it to this method.\n * If all the required signatures are collected and consensus has been reached than funds will be released to the voted party\n *@param sigV Array containing V component of all the signatures\n *@param sigR Array containing R component of all the signatures\n *@param signS Array containing S component of all the signatures\n *@param scriptHash script hash of the transaction\n *@param destinations address of the destination in whose favour dispute resolution is taking place. In case of split payments it will be address of the split payments contract\n *@param amounts value to send to each destination\n */\n function execute(\n uint8[] sigV,\n bytes32[] sigR,\n bytes32[] sigS,\n bytes32 scriptHash,\n address[] destinations,\n uint256[] amounts\n )\n external\n transactionExists(scriptHash)\n inFundedState(scriptHash)\n {\n require(\n destinations.length>0 && destinations.length == amounts.length, \"Length of destinations is incorrect.\"\n );\n\n verifyTransaction(\n sigV,\n sigR,\n sigS,\n scriptHash,\n destinations,\n amounts\n );\n\n transactions[scriptHash].status = Status.RELEASED;\n //Last modified timestamp modified, which will be used by rewards\n transactions[scriptHash].lastModified = block.timestamp;\n require(\n transferFunds(scriptHash, destinations, amounts) == transactions[scriptHash].value,\n \"Total value to be released must be equal to the transaction escrow value\"\n );\n \n emit Executed(scriptHash, destinations, amounts);\n }\n\n\n /**\n *@dev Method for calculating script hash. Calculation will depend upon the type of transaction\n * ETHER Type transaction-:\n * Script Hash- keccak256(uniqueId, threshold, timeoutHours, buyer, seller, moderator)\n * TOKEN Type transaction\n * Script Hash- keccak256(uniqueId, threshold, timeoutHours, buyer, seller, moderator, tokenAddress)\n * Client can use this method to verify whether it has calculated correct script hash or not\n */\n function calculateRedeemScriptHash(\n bytes20 uniqueId,\n uint8 threshold,\n uint32 timeoutHours,\n address buyer,\n address seller,\n address moderator,\n address tokenAddress\n )\n public\n view\n returns (bytes32)\n {\n if (tokenAddress == address(0)) {\n return keccak256(\n abi.encodePacked(\n uniqueId,\n threshold,\n timeoutHours,\n buyer,\n seller,\n moderator,\n this\n )\n );\n } else {\n return keccak256(\n abi.encodePacked(\n uniqueId,\n threshold,\n timeoutHours,\n buyer,\n seller,\n moderator,\n this,\n tokenAddress\n )\n );\n }\n }\n\n /**\n * @dev This methods checks validity of transaction\n * 1. Verify Signatures\n * 2. Check if minimum number of signatures has been acquired\n * 3. If above condition is false, check if time lock is expired and the execution is signed by seller\n */\n function verifyTransaction(\n uint8[] sigV,\n bytes32[] sigR,\n bytes32[] sigS,\n bytes32 scriptHash,\n address[] destinations,\n uint256[] amounts\n )\n private\n {\n address lastRecovered = verifySignatures(\n sigV,\n sigR,\n sigS,\n scriptHash,\n destinations,\n amounts\n );\n\n bool timeLockExpired = isTimeLockExpired(\n transactions[scriptHash].timeoutHours,\n transactions[scriptHash].lastModified\n );\n\n //if Minimum number of signatures are not gathered and timelock has not expired or transaction was not signed by seller then revert\n if (\n sigV.length < transactions[scriptHash].threshold && (!timeLockExpired || lastRecovered != transactions[scriptHash].seller)\n )\n {\n revert(\"Minimum number of signatures are not collected and time lock expiry conditions not met!!\");\n }\n\n }\n\n /**\n *@dev Private method to transfer funds to the destination addresses on the basis of transaction type\n */\n function transferFunds(\n bytes32 scriptHash,\n address[]destinations,\n uint256[]amounts\n )\n private\n returns (uint256)\n {\n Transaction storage t = transactions[scriptHash];\n\n uint256 valueTransferred = 0;\n\n if (t.transactionType == TransactionType.ETHER) {\n for (uint256 i = 0; i < destinations.length; i++) {\n\n require(destinations[i] != address(0) && t.isOwner[destinations[i]], \"Not a valid destination\");\n require(amounts[i] > 0, \"Amount to be sent should be greater than 0\");\n\n valueTransferred = valueTransferred.add(amounts[i]);\n\n t.beneficiaries[destinations[i]] = true;//add receiver as beneficiary\n destinations[i].transfer(amounts[i]);//shall we use send instead of transfer to stop malicious actors from blocking funds?\n }\n\n } else if (t.transactionType == TransactionType.TOKEN) {\n\n ITokenContract token = ITokenContract(t.tokenAddress);\n\n for (uint256 j = 0; j 0, \"Amount to be sent should be greater than 0\");\n\n valueTransferred = valueTransferred.add(amounts[j]);\n t.beneficiaries[destinations[j]] = true;//add receiver as beneficiary\n\n require(token.transfer(destinations[j], amounts[j]), \"Token transfer failed.\");\n }\n } \n return valueTransferred;\n }\n\n //to check whether the signature are valid or not and if consensus was reached\n //returns the last address recovered, in case of timeout this must be the sender's address\n function verifySignatures(\n uint8[] sigV,\n bytes32[] sigR,\n bytes32[] sigS,\n bytes32 scriptHash,\n address[] destinations,\n uint256[]amounts\n )\n private\n returns (address)\n {\n\n require(\n sigR.length == sigS.length && sigR.length == sigV.length, \n \"R,S,V length mismatch.\"\n );\n\n address lastAddress;\n\n // Follows ERC191 signature scheme: https://github.com/ethereum/EIPs/issues/191\n bytes32 txHash = keccak256(\n abi.encodePacked(\n \"\\x19Ethereum Signed Message:\\n32\",\n keccak256(\n abi.encodePacked(\n byte(0x19),\n byte(0),\n this,\n destinations,\n amounts,\n scriptHash\n )\n )\n )\n );\n\n for (uint i = 0; i < sigR.length; i++) {\n\n address recovered = ecrecover(\n txHash,\n sigV[i],\n sigR[i],\n sigS[i]\n );\n\n require(\n transactions[scriptHash].isOwner[recovered], \n \"Invalid signature\"\n );\n require(\n !transactions[scriptHash].voted[recovered], \n \"Same signature sent twice\"\n );\n transactions[scriptHash].voted[recovered] = true;\n lastAddress = recovered;\n }\n\n return lastAddress;\n }\n\n function isTimeLockExpired(\n uint32 timeoutHours,\n uint256 lastModified\n )\n private\n view\n returns (bool)\n {\n uint256 timeSince = now.sub(lastModified);\n return (\n timeoutHours == 0 ? false:timeSince > uint256(timeoutHours).mul(3600)\n );\n }\n\n /**\n * Private method to add transaction to reduce code redundancy\n */\n function _addTransaction(\n address buyer,\n address seller,\n address moderator,\n uint8 threshold,\n uint32 timeoutHours,\n bytes32 scriptHash,\n uint256 value,\n bytes20 uniqueId,\n TransactionType transactionType,\n address tokenAddress\n )\n private\n { \n require(buyer != seller, \"Buyer and seller are same\");\n\n //value passed should be greater than 0\n require(value > 0, \"Value passed is 0\");\n\n // For now allowing 0 moderator to support 1-2 multisig wallet\n require(\n threshold > 0 && threshold <= 3, \n \"Threshold cannot be greater than 3 and must be greater than 0\"\n );\n\n //if threshold is 1 then moderator can be passed as zero address or any other address(it wont matter aopart from scripthash since we wont add moderator as one of the owner)\n //otherwise moderator should be a valid address\n require(\n threshold == 1 || moderator != address(0),\n \"Either threshold should be 1 otherwise valid moderator address should be passed\"\n );\n\n require(\n scriptHash == calculateRedeemScriptHash(\n uniqueId,\n threshold,\n timeoutHours,\n buyer,\n seller,\n moderator,\n tokenAddress\n ), \n \"Calculated script hash does not match passed script hash.\"\n );\n\n transactions[scriptHash] = Transaction({\n buyer: buyer,\n seller: seller,\n moderator: moderator,\n value: value,\n status: Status.FUNDED,\n lastModified: block.timestamp,\n threshold: threshold,\n timeoutHours: timeoutHours,\n transactionType:transactionType,\n tokenAddress:tokenAddress\n });\n\n transactions[scriptHash].isOwner[seller] = true;\n transactions[scriptHash].isOwner[buyer] = true; \n\n //Check if buyer or seller are not passed as moderator\n require(\n !transactions[scriptHash].isOwner[moderator], \n \"Either buyer or seller is passed as moderator\"\n );\n\n //set moderator as one of the owners only if threshold is greater than 1 otherwise only buyer and seller should be able to release funds\n if (threshold > 1){\n transactions[scriptHash].isOwner[moderator] = true;\n }\n \n\n transactionCount++;\n\n partyVsTransaction[buyer].push(scriptHash);\n partyVsTransaction[seller].push(scriptHash);\n }\n}\n", + "bytecode": "0x6080604052600060015534801561001557600080fd5b50614210806100256000396000f3006080604052600436106100ba576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806323b6fd3f146100bf5780632d9ef96e1461017957806346fbcdeb1461019d57806357bced7614610292578063642f2eaf14610383578063b0550c66146104e5578063b719e2801461054e578063b77bf60014610589578063be84ceaf146105b4578063e4ec8b001461064c578063f0786562146106f5578063f5dbe09c1461075e575b600080fd5b610177600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff169060200190929190803563ffffffff169060200190929190803560001916906020019092919080356bffffffffffffffffffffffff191690602001909291905050506107c7565b005b61019b6004803603810190808035600019169060200190929190505050610a26565b005b3480156101a957600080fd5b5061027460048036038101908080356bffffffffffffffffffffffff19169060200190929190803560ff169060200190929190803563ffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610eb4565b60405180826000191660001916815260200191505060405180910390f35b34801561029e57600080fd5b50610381600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff169060200190929190803563ffffffff16906020019092919080356000191690602001909291908035906020019092919080356bffffffffffffffffffffffff19169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611360565b005b34801561038f57600080fd5b506103b26004803603810190808035600019169060200190929190505050611840565b604051808b81526020018a81526020018960018111156103ce57fe5b60ff1681526020018860018111156103e257fe5b60ff1681526020018760ff1660ff1681526020018663ffffffff1663ffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019a505050505050505050505060405180910390f35b3480156104f157600080fd5b506105346004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061194b565b604051808215151515815260200191505060405180910390f35b34801561055a57600080fd5b506105876004803603810190808035600019169060200190929190803590602001909291905050506119bd565b005b34801561059557600080fd5b5061059e61209d565b6040518082815260200191505060405180910390f35b3480156105c057600080fd5b506105f5600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506120a3565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b8381101561063857808201518184015260208101905061061d565b505050509050019250505060405180910390f35b34801561065857600080fd5b506106f3600480360381019080803590602001908201803590602001919091929391929390803590602001908201803590602001919091929391929390803590602001908201803590602001919091929391929390803560001916906020019092919080359060200190820180359060200191909192939192939080359060200190820180359060200191909192939192939050505061213e565b005b34801561070157600080fd5b506107446004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506126a0565b604051808215151515815260200191505060405180910390f35b34801561076a57600080fd5b506107a9600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050612712565b60405180826000191660001916815260200191505060405180910390f35b81600080600083600019166000191681526020019081526020016000206000015414151561085d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f5472616e73616374696f6e20657869737473000000000000000000000000000081525060200191505060405180910390fd5b87600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610903576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b87600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156109a9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b6109bc8a8a8a8a8a8a348b600080612742565b3373ffffffffffffffffffffffffffffffffffffffff167fce7089d0668849fb9ca29778c0cbf1e764d9efb048d81fd71fb34c94f26db36886346040518083600019166000191681526020018281526020019250505060405180910390a250505050505050505050565b600081600080600083600019166000191681526020019081526020016000206000015414151515610abf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737473000000000081525060200191505060405180910390fd5b8260006001811115610acd57fe5b600080836000191660001916815260200190815260200160002060020160009054906101000a900460ff166001811115610b0357fe5b141515610b9e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001807f5472616e73616374696f6e2069732065697468657220696e206469737075746581526020017f206f722072656c6561736564207374617465000000000000000000000000000081525060400191505060405180910390fd5b836000806001811115610bad57fe5b600080846000191660001916815260200190815260200160002060020160019054906101000a900460ff166001811115610be357fe5b141515610c58576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5472616e73616374696f6e207479706520646f6573206e6f74206d617463680081525060200191505060405180910390fd5b85600080826000191660001916815260200190815260200160002060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610d5f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f54686520696e69746961746f72206f6620746865207472616e73616374696f6e81526020017f206973206e6f742062757965720000000000000000000000000000000000000081525060400191505060405180910390fd5b349550600086111515610dda576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f56616c7565206d7573742062652067726561746572207468616e207a65726f2e81525060200191505060405180910390fd5b610e0a866000808a60001916600019168152602001908152602001600020600001546130ce90919063ffffffff16565b600080896000191660001916815260200190815260200160002060000181905550426000808960001916600019168152602001908152602001600020600101819055503373ffffffffffffffffffffffffffffffffffffffff167ff66fd2ae9e24a6a24b02e1b5b7512ffde5149a4176085fc0298ae228c9b9d72988886040518083600019166000191681526020018281526020019250505060405180910390a250505050505050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611100578787878787873060405160200180886bffffffffffffffffffffffff19166bffffffffffffffffffffffff191681526014018760ff1660ff167f01000000000000000000000000000000000000000000000000000000000000000281526001018663ffffffff1663ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014019750505050505050506040516020818303038152906040526040518082805190602001908083835b6020831015156110cc57805182526020820191506020810190506020830392506110a7565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390209050611355565b878787878787308860405160200180896bffffffffffffffffffffffff19166bffffffffffffffffffffffff191681526014018860ff1660ff167f01000000000000000000000000000000000000000000000000000000000000000281526001018763ffffffff1663ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401985050505050505050506040516020818303038152906040526040518082805190602001908083835b6020831015156113255780518252602082019150602081019050602083039250611300565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902090505b979650505050505050565b60008460008060008360001916600019168152602001908152602001600020600001541415156113f8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f5472616e73616374696f6e20657869737473000000000000000000000000000081525060200191505060405180910390fd5b8a600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561149e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b8a600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515611544576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b84600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156115ea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b6115fd8e8e8e8e8e8e8e8e60018f612742565b8594508473ffffffffffffffffffffffffffffffffffffffff166323b872dd33308b6040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b1580156116d757600080fd5b505af11580156116eb573d6000803e3d6000fd5b505050506040513d602081101561170157600080fd5b810190808051906020019092919050505015156117d2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252605c8152602001807f546f6b656e207472616e73666572206661696c65642c206d6179626520796f7581526020017f20646964206e6f7420617070726f766520657363726f7720636f6e747261637481526020017f20746f207370656e64206f6e20626568616c66206f662062757965720000000081525060600191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff167fce7089d0668849fb9ca29778c0cbf1e764d9efb048d81fd71fb34c94f26db3688a8a6040518083600019166000191681526020018281526020019250505060405180910390a25050505050505050505050505050565b60006020528060005260406000206000915090508060000154908060010154908060020160009054906101000a900460ff16908060020160019054906101000a900460ff16908060020160029054906101000a900460ff16908060020160039054906101000a900463ffffffff16908060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060050160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508a565b6000806000846000191660001916815260200190815260200160002060080160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b60008083600080600083600019166000191681526020019081526020016000206000015414151515611a57576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737473000000000081525060200191505060405180910390fd5b8460006001811115611a6557fe5b600080836000191660001916815260200190815260200160002060020160009054906101000a900460ff166001811115611a9b57fe5b141515611b36576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001807f5472616e73616374696f6e2069732065697468657220696e206469737075746581526020017f206f722072656c6561736564207374617465000000000000000000000000000081525060400191505060405180910390fd5b856001806001811115611b4557fe5b600080846000191660001916815260200190815260200160002060020160019054906101000a900460ff166001811115611b7b57fe5b141515611bf0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5472616e73616374696f6e207479706520646f6573206e6f74206d617463680081525060200191505060405180910390fd5b87600080826000191660001916815260200190815260200160002060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611cf7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f54686520696e69746961746f72206f6620746865207472616e73616374696f6e81526020017f206973206e6f742062757965720000000000000000000000000000000000000081525060400191505060405180910390fd5b879650600087111515611d72576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f56616c7565206d7573742062652067726561746572207468616e207a65726f2e81525060200191505060405180910390fd5b6000808a6000191660001916815260200190815260200160002060040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1695508573ffffffffffffffffffffffffffffffffffffffff166323b872dd6000808c6000191660001916815260200190815260200160002060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff16308b6040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b158015611ec657600080fd5b505af1158015611eda573d6000803e3d6000fd5b505050506040513d6020811015611ef057600080fd5b81019080805190602001909291905050501515611fc1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252605c8152602001807f546f6b656e207472616e73666572206661696c65642c206d6179626520796f7581526020017f20646964206e6f7420617070726f766520657363726f7720636f6e747261637481526020017f20746f207370656e64206f6e20626568616c66206f662062757965720000000081525060600191505060405180910390fd5b611ff1876000808c60001916600019168152602001908152602001600020600001546130ce90919063ffffffff16565b6000808b6000191660001916815260200190815260200160002060000181905550426000808b60001916600019168152602001908152602001600020600101819055503373ffffffffffffffffffffffffffffffffffffffff167ff66fd2ae9e24a6a24b02e1b5b7512ffde5149a4176085fc0298ae228c9b9d7298a896040518083600019166000191681526020018281526020019250505060405180910390a2505050505050505050565b60015481565b6060600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080548060200260200160405190810160405280929190818152602001828054801561213257602002820191906000526020600020905b8154600019168152602001906001019080831161211a575b50505050509050919050565b846000806000836000191660001916815260200190815260200160002060000154141515156121d5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737473000000000081525060200191505060405180910390fd5b85600060018111156121e357fe5b600080836000191660001916815260200190815260200160002060020160009054906101000a900460ff16600181111561221957fe5b1415156122b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001807f5472616e73616374696f6e2069732065697468657220696e206469737075746581526020017f206f722072656c6561736564207374617465000000000000000000000000000081525060400191505060405180910390fd5b6000868690501180156122cc57508383905086869050145b1515612366576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001807f4c656e677468206f662064657374696e6174696f6e7320697320696e636f727281526020017f6563742e0000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b61245f8d8d808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508c8c808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508b8b808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508a8a8a808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508989808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050506130ef565b6001600080896000191660001916815260200190815260200160002060020160006101000a81548160ff0219169083600181111561249957fe5b021790555042600080896000191660001916815260200190815260200160002060010181905550600080886000191660001916815260200190815260200160002060000154612547888888808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508787808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050506132d0565b141515612608576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260488152602001807f546f74616c2076616c756520746f2062652072656c6561736564206d7573742081526020017f626520657175616c20746f20746865207472616e73616374696f6e206573637281526020017f6f772076616c756500000000000000000000000000000000000000000000000081525060600191505060405180910390fd5b7f688e2a1b34445bcd47b0e11ba2a9c8c4d850a1831b64199b59d1c70e2970154587878787876040518086600019166000191681526020018060200180602001838103835287878281815260200192506020028082843782019150508381038252858582818152602001925060200280828437820191505097505050505050505060405180910390a150505050505050505050505050565b6000806000846000191660001916815260200190815260200160002060070160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b60026020528160005260406000208181548110151561272d57fe5b90600052602060002001600091509150505481565b8873ffffffffffffffffffffffffffffffffffffffff168a73ffffffffffffffffffffffffffffffffffffffff16141515156127e6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f427579657220616e642073656c6c6572206172652073616d650000000000000081525060200191505060405180910390fd5b60008411151561285e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f56616c756520706173736564206973203000000000000000000000000000000081525060200191505060405180910390fd5b60008760ff16118015612875575060038760ff1611155b151561290f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603d8152602001807f5468726573686f6c642063616e6e6f742062652067726561746572207468616e81526020017f203320616e64206d7573742062652067726561746572207468616e203000000081525060400191505060405180910390fd5b60018760ff16148061294e5750600073ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff1614155b1515612a0e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252604f8152602001807f456974686572207468726573686f6c642073686f756c642062652031206f746881526020017f6572776973652076616c6964206d6f64657261746f722061646472657373207381526020017f686f756c6420626520706173736564000000000000000000000000000000000081525060600191505060405180910390fd5b612a1d8388888d8d8d87610eb4565b600019168560001916141515612ac1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260398152602001807f43616c63756c6174656420736372697074206861736820646f6573206e6f742081526020017f6d61746368207061737365642073637269707420686173682e0000000000000081525060400191505060405180910390fd5b6101406040519081016040528085815260200142815260200160006001811115612ae757fe5b8152602001836001811115612af857fe5b81526020018860ff1681526020018763ffffffff1681526020018b73ffffffffffffffffffffffffffffffffffffffff1681526020018a73ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020018973ffffffffffffffffffffffffffffffffffffffff168152506000808760001916600019168152602001908152602001600020600082015181600001556020820151816001015560408201518160020160006101000a81548160ff02191690836001811115612bd257fe5b021790555060608201518160020160016101000a81548160ff02191690836001811115612bfb57fe5b021790555060808201518160020160026101000a81548160ff021916908360ff16021790555060a08201518160020160036101000a81548163ffffffff021916908363ffffffff16021790555060c08201518160020160076101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060e08201518160030160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506101008201518160040160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506101208201518160050160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055509050506001600080876000191660001916815260200190815260200160002060060160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600080876000191660001916815260200190815260200160002060060160008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600080866000191660001916815260200190815260200160002060060160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151515612f52576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f456974686572206275796572206f722073656c6c65722069732070617373656481526020017f206173206d6f64657261746f720000000000000000000000000000000000000081525060400191505060405180910390fd5b60018760ff161115612fd2576001600080876000191660001916815260200190815260200160002060060160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b600160008154809291906001019190505550600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020859080600181540180825580915050906001820390600052602060002001600090919290919091509060001916905550600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002085908060018154018082558091505090600182039060005260206000200160009091929091909150906000191690555050505050505050505050565b60008082840190508381101515156130e557600080fd5b8091505092915050565b600080613100888888888888613ab8565b9150613156600080876000191660001916815260200190815260200160002060020160039054906101000a900463ffffffff16600080886000191660001916815260200190815260200160002060010154614131565b9050600080866000191660001916815260200190815260200160002060020160029054906101000a900460ff1660ff16885110801561320757508015806132065750600080866000191660001916815260200190815260200160002060030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b5b156132c6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260588152602001807f4d696e696d756d206e756d626572206f66207369676e6174757265732061726581526020017f206e6f7420636f6c6c656374656420616e642074696d65206c6f636b2065787081526020017f69727920636f6e646974696f6e73206e6f74206d65742121000000000000000081525060600191505060405180910390fd5b5050505050505050565b6000806000806000806000808a600019166000191681526020019081526020016000209450600093506000600181111561330657fe5b8560020160019054906101000a900460ff16600181111561332357fe5b141561363a57600092505b875183101561363557600073ffffffffffffffffffffffffffffffffffffffff16888481518110151561335d57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff16141580156133ed5750846006016000898581518110151561339a57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1515613461576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f4e6f7420612076616c69642064657374696e6174696f6e00000000000000000081525060200191505060405180910390fd5b6000878481518110151561347157fe5b90602001906020020151111515613516576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001807f416d6f756e7420746f2062652073656e742073686f756c64206265206772656181526020017f746572207468616e20300000000000000000000000000000000000000000000081525060400191505060405180910390fd5b613540878481518110151561352757fe5b90602001906020020151856130ce90919063ffffffff16565b935060018560080160008a8681518110151561355857fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555087838151811015156135c157fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff166108fc88858151811015156135f257fe5b906020019060200201519081150290604051600060405180830381858888f19350505050158015613627573d6000803e3d6000fd5b50828060010193505061332e565b613aa9565b60018081111561364657fe5b8560020160019054906101000a900460ff16600181111561366357fe5b1415613aa8578460040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169150600090505b8751811015613aa757600073ffffffffffffffffffffffffffffffffffffffff1688828151811015156136c457fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff16141580156137545750846006016000898381518110151561370157fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15156137c8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f4e6f7420612076616c69642064657374696e6174696f6e00000000000000000081525060200191505060405180910390fd5b600087828151811015156137d857fe5b9060200190602002015111151561387d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001807f416d6f756e7420746f2062652073656e742073686f756c64206265206772656181526020017f746572207468616e20300000000000000000000000000000000000000000000081525060400191505060405180910390fd5b6138a7878281518110151561388e57fe5b90602001906020020151856130ce90919063ffffffff16565b935060018560080160008a848151811015156138bf57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb898381518110151561394457fe5b90602001906020020151898481518110151561395c57fe5b906020019060200201516040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1580156139eb57600080fd5b505af11580156139ff573d6000803e3d6000fd5b505050506040513d6020811015613a1557600080fd5b81019080805190602001909291905050501515613a9a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f546f6b656e207472616e73666572206661696c65642e0000000000000000000081525060200191505060405180910390fd5b8080600101915050613695565b5b5b83955050505050509392505050565b600080600080600088518a51148015613ad257508a518a51145b1515613b46576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f522c532c56206c656e677468206d69736d617463682e0000000000000000000081525060200191505060405180910390fd5b60197f01000000000000000000000000000000000000000000000000000000000000000260007f0100000000000000000000000000000000000000000000000000000000000000023089898c60405160200180877effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168152600101867effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526001018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401848051906020019060200280838360005b83811015613c9a578082015181840152602081019050613c7f565b50505050905001838051906020019060200280838360005b83811015613ccd578082015181840152602081019050613cb2565b50505050905001826000191660001916815260200196505050505050506040516020818303038152906040526040518082805190602001908083835b602083101515613d2e5780518252602082019150602081019050602083039250613d09565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902060405160200180807f19457468657265756d205369676e6564204d6573736167653a0a333200000000815250601c0182600019166000191681526020019150506040516020818303038152906040526040518082805190602001908083835b602083101515613ddf5780518252602082019150602081019050602083039250613dba565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390209250600091505b8951821015614120576001838c84815181101515613e2d57fe5b906020019060200201518c85815181101515613e4557fe5b906020019060200201518c86815181101515613e5d57fe5b90602001906020020151604051600081526020016040526040518085600019166000191681526020018460ff1660ff1681526020018360001916600019168152602001826000191660001916815260200194505050505060206040516020810390808403906000865af1158015613ed8573d6000803e3d6000fd5b505050602060405103519050600080896000191660001916815260200190815260200160002060060160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515613fc0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f496e76616c6964207369676e617475726500000000000000000000000000000081525060200191505060405180910390fd5b600080896000191660001916815260200190815260200160002060070160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151561409d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f53616d65207369676e61747572652073656e742074776963650000000000000081525060200191505060405180910390fd5b60016000808a6000191660001916815260200190815260200160002060070160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508093508180600101925050613e13565b839450505050509695505050505050565b600080614147834261418590919063ffffffff16565b905060008463ffffffff161461417957614172610e108563ffffffff166141a690919063ffffffff16565b811161417c565b60005b91505092915050565b60008083831115151561419757600080fd5b82840390508091505092915050565b60008060008414156141bb57600091506141dd565b82840290508284828115156141cc57fe5b041415156141d957600080fd5b8091505b50929150505600a165627a7a723058209b853928be97bccc647b04b9702dd447c16803c1dcb723886a42e834bb2c4c8c0029", + "deployedBytecode": "0x6080604052600436106100ba576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806323b6fd3f146100bf5780632d9ef96e1461017957806346fbcdeb1461019d57806357bced7614610292578063642f2eaf14610383578063b0550c66146104e5578063b719e2801461054e578063b77bf60014610589578063be84ceaf146105b4578063e4ec8b001461064c578063f0786562146106f5578063f5dbe09c1461075e575b600080fd5b610177600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff169060200190929190803563ffffffff169060200190929190803560001916906020019092919080356bffffffffffffffffffffffff191690602001909291905050506107c7565b005b61019b6004803603810190808035600019169060200190929190505050610a26565b005b3480156101a957600080fd5b5061027460048036038101908080356bffffffffffffffffffffffff19169060200190929190803560ff169060200190929190803563ffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610eb4565b60405180826000191660001916815260200191505060405180910390f35b34801561029e57600080fd5b50610381600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff169060200190929190803563ffffffff16906020019092919080356000191690602001909291908035906020019092919080356bffffffffffffffffffffffff19169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611360565b005b34801561038f57600080fd5b506103b26004803603810190808035600019169060200190929190505050611840565b604051808b81526020018a81526020018960018111156103ce57fe5b60ff1681526020018860018111156103e257fe5b60ff1681526020018760ff1660ff1681526020018663ffffffff1663ffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019a505050505050505050505060405180910390f35b3480156104f157600080fd5b506105346004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061194b565b604051808215151515815260200191505060405180910390f35b34801561055a57600080fd5b506105876004803603810190808035600019169060200190929190803590602001909291905050506119bd565b005b34801561059557600080fd5b5061059e61209d565b6040518082815260200191505060405180910390f35b3480156105c057600080fd5b506105f5600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506120a3565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b8381101561063857808201518184015260208101905061061d565b505050509050019250505060405180910390f35b34801561065857600080fd5b506106f3600480360381019080803590602001908201803590602001919091929391929390803590602001908201803590602001919091929391929390803590602001908201803590602001919091929391929390803560001916906020019092919080359060200190820180359060200191909192939192939080359060200190820180359060200191909192939192939050505061213e565b005b34801561070157600080fd5b506107446004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506126a0565b604051808215151515815260200191505060405180910390f35b34801561076a57600080fd5b506107a9600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050612712565b60405180826000191660001916815260200191505060405180910390f35b81600080600083600019166000191681526020019081526020016000206000015414151561085d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f5472616e73616374696f6e20657869737473000000000000000000000000000081525060200191505060405180910390fd5b87600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610903576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b87600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156109a9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b6109bc8a8a8a8a8a8a348b600080612742565b3373ffffffffffffffffffffffffffffffffffffffff167fce7089d0668849fb9ca29778c0cbf1e764d9efb048d81fd71fb34c94f26db36886346040518083600019166000191681526020018281526020019250505060405180910390a250505050505050505050565b600081600080600083600019166000191681526020019081526020016000206000015414151515610abf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737473000000000081525060200191505060405180910390fd5b8260006001811115610acd57fe5b600080836000191660001916815260200190815260200160002060020160009054906101000a900460ff166001811115610b0357fe5b141515610b9e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001807f5472616e73616374696f6e2069732065697468657220696e206469737075746581526020017f206f722072656c6561736564207374617465000000000000000000000000000081525060400191505060405180910390fd5b836000806001811115610bad57fe5b600080846000191660001916815260200190815260200160002060020160019054906101000a900460ff166001811115610be357fe5b141515610c58576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5472616e73616374696f6e207479706520646f6573206e6f74206d617463680081525060200191505060405180910390fd5b85600080826000191660001916815260200190815260200160002060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610d5f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f54686520696e69746961746f72206f6620746865207472616e73616374696f6e81526020017f206973206e6f742062757965720000000000000000000000000000000000000081525060400191505060405180910390fd5b349550600086111515610dda576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f56616c7565206d7573742062652067726561746572207468616e207a65726f2e81525060200191505060405180910390fd5b610e0a866000808a60001916600019168152602001908152602001600020600001546130ce90919063ffffffff16565b600080896000191660001916815260200190815260200160002060000181905550426000808960001916600019168152602001908152602001600020600101819055503373ffffffffffffffffffffffffffffffffffffffff167ff66fd2ae9e24a6a24b02e1b5b7512ffde5149a4176085fc0298ae228c9b9d72988886040518083600019166000191681526020018281526020019250505060405180910390a250505050505050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611100578787878787873060405160200180886bffffffffffffffffffffffff19166bffffffffffffffffffffffff191681526014018760ff1660ff167f01000000000000000000000000000000000000000000000000000000000000000281526001018663ffffffff1663ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014019750505050505050506040516020818303038152906040526040518082805190602001908083835b6020831015156110cc57805182526020820191506020810190506020830392506110a7565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390209050611355565b878787878787308860405160200180896bffffffffffffffffffffffff19166bffffffffffffffffffffffff191681526014018860ff1660ff167f01000000000000000000000000000000000000000000000000000000000000000281526001018763ffffffff1663ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401985050505050505050506040516020818303038152906040526040518082805190602001908083835b6020831015156113255780518252602082019150602081019050602083039250611300565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902090505b979650505050505050565b60008460008060008360001916600019168152602001908152602001600020600001541415156113f8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f5472616e73616374696f6e20657869737473000000000000000000000000000081525060200191505060405180910390fd5b8a600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561149e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b8a600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515611544576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b84600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156115ea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b6115fd8e8e8e8e8e8e8e8e60018f612742565b8594508473ffffffffffffffffffffffffffffffffffffffff166323b872dd33308b6040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b1580156116d757600080fd5b505af11580156116eb573d6000803e3d6000fd5b505050506040513d602081101561170157600080fd5b810190808051906020019092919050505015156117d2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252605c8152602001807f546f6b656e207472616e73666572206661696c65642c206d6179626520796f7581526020017f20646964206e6f7420617070726f766520657363726f7720636f6e747261637481526020017f20746f207370656e64206f6e20626568616c66206f662062757965720000000081525060600191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff167fce7089d0668849fb9ca29778c0cbf1e764d9efb048d81fd71fb34c94f26db3688a8a6040518083600019166000191681526020018281526020019250505060405180910390a25050505050505050505050505050565b60006020528060005260406000206000915090508060000154908060010154908060020160009054906101000a900460ff16908060020160019054906101000a900460ff16908060020160029054906101000a900460ff16908060020160039054906101000a900463ffffffff16908060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060050160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508a565b6000806000846000191660001916815260200190815260200160002060080160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b60008083600080600083600019166000191681526020019081526020016000206000015414151515611a57576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737473000000000081525060200191505060405180910390fd5b8460006001811115611a6557fe5b600080836000191660001916815260200190815260200160002060020160009054906101000a900460ff166001811115611a9b57fe5b141515611b36576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001807f5472616e73616374696f6e2069732065697468657220696e206469737075746581526020017f206f722072656c6561736564207374617465000000000000000000000000000081525060400191505060405180910390fd5b856001806001811115611b4557fe5b600080846000191660001916815260200190815260200160002060020160019054906101000a900460ff166001811115611b7b57fe5b141515611bf0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5472616e73616374696f6e207479706520646f6573206e6f74206d617463680081525060200191505060405180910390fd5b87600080826000191660001916815260200190815260200160002060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611cf7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f54686520696e69746961746f72206f6620746865207472616e73616374696f6e81526020017f206973206e6f742062757965720000000000000000000000000000000000000081525060400191505060405180910390fd5b879650600087111515611d72576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f56616c7565206d7573742062652067726561746572207468616e207a65726f2e81525060200191505060405180910390fd5b6000808a6000191660001916815260200190815260200160002060040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1695508573ffffffffffffffffffffffffffffffffffffffff166323b872dd6000808c6000191660001916815260200190815260200160002060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff16308b6040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b158015611ec657600080fd5b505af1158015611eda573d6000803e3d6000fd5b505050506040513d6020811015611ef057600080fd5b81019080805190602001909291905050501515611fc1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252605c8152602001807f546f6b656e207472616e73666572206661696c65642c206d6179626520796f7581526020017f20646964206e6f7420617070726f766520657363726f7720636f6e747261637481526020017f20746f207370656e64206f6e20626568616c66206f662062757965720000000081525060600191505060405180910390fd5b611ff1876000808c60001916600019168152602001908152602001600020600001546130ce90919063ffffffff16565b6000808b6000191660001916815260200190815260200160002060000181905550426000808b60001916600019168152602001908152602001600020600101819055503373ffffffffffffffffffffffffffffffffffffffff167ff66fd2ae9e24a6a24b02e1b5b7512ffde5149a4176085fc0298ae228c9b9d7298a896040518083600019166000191681526020018281526020019250505060405180910390a2505050505050505050565b60015481565b6060600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080548060200260200160405190810160405280929190818152602001828054801561213257602002820191906000526020600020905b8154600019168152602001906001019080831161211a575b50505050509050919050565b846000806000836000191660001916815260200190815260200160002060000154141515156121d5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737473000000000081525060200191505060405180910390fd5b85600060018111156121e357fe5b600080836000191660001916815260200190815260200160002060020160009054906101000a900460ff16600181111561221957fe5b1415156122b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001807f5472616e73616374696f6e2069732065697468657220696e206469737075746581526020017f206f722072656c6561736564207374617465000000000000000000000000000081525060400191505060405180910390fd5b6000868690501180156122cc57508383905086869050145b1515612366576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001807f4c656e677468206f662064657374696e6174696f6e7320697320696e636f727281526020017f6563742e0000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b61245f8d8d808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508c8c808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508b8b808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508a8a8a808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508989808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050506130ef565b6001600080896000191660001916815260200190815260200160002060020160006101000a81548160ff0219169083600181111561249957fe5b021790555042600080896000191660001916815260200190815260200160002060010181905550600080886000191660001916815260200190815260200160002060000154612547888888808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508787808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050506132d0565b141515612608576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260488152602001807f546f74616c2076616c756520746f2062652072656c6561736564206d7573742081526020017f626520657175616c20746f20746865207472616e73616374696f6e206573637281526020017f6f772076616c756500000000000000000000000000000000000000000000000081525060600191505060405180910390fd5b7f688e2a1b34445bcd47b0e11ba2a9c8c4d850a1831b64199b59d1c70e2970154587878787876040518086600019166000191681526020018060200180602001838103835287878281815260200192506020028082843782019150508381038252858582818152602001925060200280828437820191505097505050505050505060405180910390a150505050505050505050505050565b6000806000846000191660001916815260200190815260200160002060070160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b60026020528160005260406000208181548110151561272d57fe5b90600052602060002001600091509150505481565b8873ffffffffffffffffffffffffffffffffffffffff168a73ffffffffffffffffffffffffffffffffffffffff16141515156127e6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f427579657220616e642073656c6c6572206172652073616d650000000000000081525060200191505060405180910390fd5b60008411151561285e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f56616c756520706173736564206973203000000000000000000000000000000081525060200191505060405180910390fd5b60008760ff16118015612875575060038760ff1611155b151561290f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603d8152602001807f5468726573686f6c642063616e6e6f742062652067726561746572207468616e81526020017f203320616e64206d7573742062652067726561746572207468616e203000000081525060400191505060405180910390fd5b60018760ff16148061294e5750600073ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff1614155b1515612a0e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252604f8152602001807f456974686572207468726573686f6c642073686f756c642062652031206f746881526020017f6572776973652076616c6964206d6f64657261746f722061646472657373207381526020017f686f756c6420626520706173736564000000000000000000000000000000000081525060600191505060405180910390fd5b612a1d8388888d8d8d87610eb4565b600019168560001916141515612ac1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260398152602001807f43616c63756c6174656420736372697074206861736820646f6573206e6f742081526020017f6d61746368207061737365642073637269707420686173682e0000000000000081525060400191505060405180910390fd5b6101406040519081016040528085815260200142815260200160006001811115612ae757fe5b8152602001836001811115612af857fe5b81526020018860ff1681526020018763ffffffff1681526020018b73ffffffffffffffffffffffffffffffffffffffff1681526020018a73ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020018973ffffffffffffffffffffffffffffffffffffffff168152506000808760001916600019168152602001908152602001600020600082015181600001556020820151816001015560408201518160020160006101000a81548160ff02191690836001811115612bd257fe5b021790555060608201518160020160016101000a81548160ff02191690836001811115612bfb57fe5b021790555060808201518160020160026101000a81548160ff021916908360ff16021790555060a08201518160020160036101000a81548163ffffffff021916908363ffffffff16021790555060c08201518160020160076101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060e08201518160030160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506101008201518160040160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506101208201518160050160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055509050506001600080876000191660001916815260200190815260200160002060060160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600080876000191660001916815260200190815260200160002060060160008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600080866000191660001916815260200190815260200160002060060160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151515612f52576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f456974686572206275796572206f722073656c6c65722069732070617373656481526020017f206173206d6f64657261746f720000000000000000000000000000000000000081525060400191505060405180910390fd5b60018760ff161115612fd2576001600080876000191660001916815260200190815260200160002060060160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b600160008154809291906001019190505550600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020859080600181540180825580915050906001820390600052602060002001600090919290919091509060001916905550600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002085908060018154018082558091505090600182039060005260206000200160009091929091909150906000191690555050505050505050505050565b60008082840190508381101515156130e557600080fd5b8091505092915050565b600080613100888888888888613ab8565b9150613156600080876000191660001916815260200190815260200160002060020160039054906101000a900463ffffffff16600080886000191660001916815260200190815260200160002060010154614131565b9050600080866000191660001916815260200190815260200160002060020160029054906101000a900460ff1660ff16885110801561320757508015806132065750600080866000191660001916815260200190815260200160002060030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b5b156132c6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260588152602001807f4d696e696d756d206e756d626572206f66207369676e6174757265732061726581526020017f206e6f7420636f6c6c656374656420616e642074696d65206c6f636b2065787081526020017f69727920636f6e646974696f6e73206e6f74206d65742121000000000000000081525060600191505060405180910390fd5b5050505050505050565b6000806000806000806000808a600019166000191681526020019081526020016000209450600093506000600181111561330657fe5b8560020160019054906101000a900460ff16600181111561332357fe5b141561363a57600092505b875183101561363557600073ffffffffffffffffffffffffffffffffffffffff16888481518110151561335d57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff16141580156133ed5750846006016000898581518110151561339a57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1515613461576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f4e6f7420612076616c69642064657374696e6174696f6e00000000000000000081525060200191505060405180910390fd5b6000878481518110151561347157fe5b90602001906020020151111515613516576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001807f416d6f756e7420746f2062652073656e742073686f756c64206265206772656181526020017f746572207468616e20300000000000000000000000000000000000000000000081525060400191505060405180910390fd5b613540878481518110151561352757fe5b90602001906020020151856130ce90919063ffffffff16565b935060018560080160008a8681518110151561355857fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555087838151811015156135c157fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff166108fc88858151811015156135f257fe5b906020019060200201519081150290604051600060405180830381858888f19350505050158015613627573d6000803e3d6000fd5b50828060010193505061332e565b613aa9565b60018081111561364657fe5b8560020160019054906101000a900460ff16600181111561366357fe5b1415613aa8578460040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169150600090505b8751811015613aa757600073ffffffffffffffffffffffffffffffffffffffff1688828151811015156136c457fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff16141580156137545750846006016000898381518110151561370157fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15156137c8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f4e6f7420612076616c69642064657374696e6174696f6e00000000000000000081525060200191505060405180910390fd5b600087828151811015156137d857fe5b9060200190602002015111151561387d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001807f416d6f756e7420746f2062652073656e742073686f756c64206265206772656181526020017f746572207468616e20300000000000000000000000000000000000000000000081525060400191505060405180910390fd5b6138a7878281518110151561388e57fe5b90602001906020020151856130ce90919063ffffffff16565b935060018560080160008a848151811015156138bf57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb898381518110151561394457fe5b90602001906020020151898481518110151561395c57fe5b906020019060200201516040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1580156139eb57600080fd5b505af11580156139ff573d6000803e3d6000fd5b505050506040513d6020811015613a1557600080fd5b81019080805190602001909291905050501515613a9a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f546f6b656e207472616e73666572206661696c65642e0000000000000000000081525060200191505060405180910390fd5b8080600101915050613695565b5b5b83955050505050509392505050565b600080600080600088518a51148015613ad257508a518a51145b1515613b46576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f522c532c56206c656e677468206d69736d617463682e0000000000000000000081525060200191505060405180910390fd5b60197f01000000000000000000000000000000000000000000000000000000000000000260007f0100000000000000000000000000000000000000000000000000000000000000023089898c60405160200180877effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168152600101867effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526001018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401848051906020019060200280838360005b83811015613c9a578082015181840152602081019050613c7f565b50505050905001838051906020019060200280838360005b83811015613ccd578082015181840152602081019050613cb2565b50505050905001826000191660001916815260200196505050505050506040516020818303038152906040526040518082805190602001908083835b602083101515613d2e5780518252602082019150602081019050602083039250613d09565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902060405160200180807f19457468657265756d205369676e6564204d6573736167653a0a333200000000815250601c0182600019166000191681526020019150506040516020818303038152906040526040518082805190602001908083835b602083101515613ddf5780518252602082019150602081019050602083039250613dba565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390209250600091505b8951821015614120576001838c84815181101515613e2d57fe5b906020019060200201518c85815181101515613e4557fe5b906020019060200201518c86815181101515613e5d57fe5b90602001906020020151604051600081526020016040526040518085600019166000191681526020018460ff1660ff1681526020018360001916600019168152602001826000191660001916815260200194505050505060206040516020810390808403906000865af1158015613ed8573d6000803e3d6000fd5b505050602060405103519050600080896000191660001916815260200190815260200160002060060160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515613fc0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f496e76616c6964207369676e617475726500000000000000000000000000000081525060200191505060405180910390fd5b600080896000191660001916815260200190815260200160002060070160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151561409d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f53616d65207369676e61747572652073656e742074776963650000000000000081525060200191505060405180910390fd5b60016000808a6000191660001916815260200190815260200160002060070160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508093508180600101925050613e13565b839450505050509695505050505050565b600080614147834261418590919063ffffffff16565b905060008463ffffffff161461417957614172610e108563ffffffff166141a690919063ffffffff16565b811161417c565b60005b91505092915050565b60008083831115151561419757600080fd5b82840390508091505092915050565b60008060008414156141bb57600091506141dd565b82840290508284828115156141cc57fe5b041415156141d957600080fd5b8091505b50929150505600a165627a7a723058209b853928be97bccc647b04b9702dd447c16803c1dcb723886a42e834bb2c4c8c0029", + "sourceMap": "460:20520:0:-;;;1606:1;1572:35;;460:20520;8:9:-1;5:2;;;30:1;27;20:12;5:2;460:20520:0;;;;;;;", + "deployedSourceMap": "460:20520:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3828:702;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7831:598;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12168:999;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12168:999:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5630:1021;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5630:1021:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1514:51;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1514:51:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6875:221;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6875:221:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8689:924;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8689:924:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1572:35;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1572:35:0;;;;;;;;;;;;;;;;;;;;;;;9730:194;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9730:194:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;9730:194:0;;;;;;;;;;;;;;;;;10634:1063;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10634:1063:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7319:194;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7319:194:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1684:54;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1684:54:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3828:702;4106:10;2030:1;1996:12;:24;2009:10;1996:24;;;;;;;;;;;;;;;;;:30;;;:35;1988:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4141:5;2380:1;2354:28;;:14;:28;;;;2346:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4171:6;2380:1;2354:28;;:14;:28;;;;2346:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4193:264;4222:5;4241:6;4261:9;4284;4307:12;4333:10;4357:9;4380:8;4402:21;4445:1;4193:15;:264::i;:::-;4500:10;4481:41;;;4488:10;4512:9;4481:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2416:1;2064;3828:702;;;;;;;;:::o;7831:598::-;8109:14;7939:10;1857:1;1823:12;:24;1836:10;1823:24;;;;;;;;;;;;;;;;;:30;;;:35;;1802:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7973:10;2187:13;2152:48;;;;;;;;:12;:24;2165:10;2152:24;;;;;;;;;;;;;;;;;:31;;;;;;;;;;;;:48;;;;;;;;;2131:133;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8014:10;8026:21;2614:15;2570:59;;;;;;;;:12;:24;2583:10;2570:24;;;;;;;;;;;;;;;;;:40;;;;;;;;;;;;:59;;;;;;;;;2549:125;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8067:10;2782:12;:24;2795:10;2782:24;;;;;;;;;;;;;;;;;:30;;;;;;;;;;;;2768:44;;:10;:44;;;2747:124;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8126:9;8109:26;;8163:1;8154:6;:10;8146:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8245;8293:6;8245:12;:24;8258:10;8245:24;;;;;;;;;;;;;;;;;:30;;;:47;;:55;;;;:::i;:::-;8212:12;:24;8225:10;8212:24;;;;;;;;;;;;;;;;;:30;;:88;;;;8350:15;8310:12;:24;8323:10;8310:24;;;;;;;;;;;;;;;;;:37;;:55;;;;8403:10;8381:41;;;8391:10;8415:6;8381:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2684:1;2274;;1909;7831:598;;;:::o;12168:999::-;12438:7;12489:1;12465:26;;:12;:26;;;12461:700;;;12579:8;12609:9;12640:12;12674:5;12701:6;12729:9;12760:4;12541:241;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;12541:241:0;;;12514:282;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;12514:282:0;;;;;;;;;;;;;;;;12507:289;;;;12461:700;12899:8;12929:9;12960:12;12994:5;13021:6;13049:9;13080:4;13106:12;12861:275;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;12861:275:0;;;12834:316;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;12834:316:0;;;;;;;;;;;;;;;;12827:323;;12168:999;;;;;;;;;;:::o;5630:1021::-;6348:20;5950:10;2030:1;1996:12;:24;2009:10;1996:24;;;;;;;;;;;;;;;;;:30;;;:35;1988:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5985:5;2380:1;2354:28;;:14;:28;;;;2346:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6015:6;2380:1;2354:28;;:14;:28;;;;2346:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6046:12;2380:1;2354:28;;:14;:28;;;;2346:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6075:262;6104:5;6123:6;6143:9;6166;6189:12;6215:10;6239:5;6258:8;6280:21;6315:12;6075:15;:262::i;:::-;6386:12;6348:51;;6431:5;:18;;;6450:10;6462:4;6468:5;6431:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6431:43:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6431:43:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6431:43:0;;;;;;;;;;;;;;;;6410:182;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6626:10;6607:37;;;6614:10;6638:5;6607:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2416:1;;2064;5630:1021;;;;;;;;;;;:::o;1514:51::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;6875:221::-;7011:4;7038:12;:24;7051:10;7038:24;;;;;;;;;;;;;;;;;:38;;:51;7077:11;7038:51;;;;;;;;;;;;;;;;;;;;;;;;;7031:58;;6875:221;;;;:::o;8689:924::-;8975:14;9074:20;8821:10;1857:1;1823:12;:24;1836:10;1823:24;;;;;;;;;;;;;;;;;:30;;;:35;;1802:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8855:10;2187:13;2152:48;;;;;;;;:12;:24;2165:10;2152:24;;;;;;;;;;;;;;;;;:31;;;;;;;;;;;;:48;;;;;;;;;2131:133;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8896:10;8908:21;2614:15;2570:59;;;;;;;;:12;:24;2583:10;2570:24;;;;;;;;;;;;;;;;;:40;;;;;;;;;;;;:59;;;;;;;;;2549:125;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8949:10;2782:12;:24;2795:10;2782:24;;;;;;;;;;;;;;;;;:30;;;;;;;;;;;;2768:44;;:10;:44;;;2747:124;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8992:5;8975:22;;9025:1;9016:6;:10;9008:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9125:12;:24;9138:10;9125:24;;;;;;;;;;;;;;;;;:37;;;;;;;;;;;;9074:98;;9204:5;:18;;;9223:12;:24;9236:10;9223:24;;;;;;;;;;;;;;;;;:30;;;;;;;;;;;;9255:4;9261:5;9204:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9204:63:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9204:63:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;9204:63:0;;;;;;;;;;;;;;;;9183:202;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9429:55;9477:6;9429:12;:24;9442:10;9429:24;;;;;;;;;;;;;;;;;:30;;;:47;;:55;;;;:::i;:::-;9396:12;:24;9409:10;9396:24;;;;;;;;;;;;;;;;;:30;;:88;;;;9534:15;9494:12;:24;9507:10;9494:24;;;;;;;;;;;;;;;;;:37;;:55;;;;9587:10;9565:41;;;9575:10;9599:6;9565:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2684:1;2274;;1909;8689:924;;;;;:::o;1572:35::-;;;;:::o;9730:194::-;9852:9;9885:18;:32;9904:12;9885:32;;;;;;;;;;;;;;;9878:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9730:194;;;:::o;10634:1063::-;10857:10;1857:1;1823:12;:24;1836:10;1823:24;;;;;;;;;;;;;;;;;:30;;;:35;;1802:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10891:10;2187:13;2152:48;;;;;;;;:12;:24;2165:10;2152:24;;;;;;;;;;;;;;;;;:31;;;;;;;;;;;;:48;;;;;;;;;2131:133;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10958:1;10938:12;;:19;;:21;:62;;;;;10986:7;;:14;;10963:12;;:19;;:37;10938:62;10917:133;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11061:152;11092:4;;11061:152;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11110:4;;11061:152;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11128:4;;11061:152;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11146:10;11170:12;;11061:152;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11196:7;;11061:152;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:17;:152::i;:::-;11258:15;11224:12;:24;11237:10;11224:24;;;;;;;;;;;;;;;;;:31;;;:49;;;;;;;;;;;;;;;;;;;;;;;;11397:15;11357:12;:24;11370:10;11357:24;;;;;;;;;;;;;;;;;:37;;:55;;;;11495:12;:24;11508:10;11495:24;;;;;;;;;;;;;;;;;:30;;;11443:48;11457:10;11469:12;;11443:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11483:7;;11443:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:13;:48::i;:::-;:82;11422:201;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11647:43;11656:10;11668:12;;11682:7;;11647:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1909:1;10634:1063;;;;;;;;;;;;:::o;7319:194::-;7442:4;7469:12;:24;7482:10;7469:24;;;;;;;;;;;;;;;;;:30;;:37;7500:5;7469:37;;;;;;;;;;;;;;;;;;;;;;;;;7462:44;;7319:194;;;;:::o;1684:54::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;18343:2635::-;18705:6;18696:15;;:5;:15;;;;18688:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18816:1;18808:5;:9;18800:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18954:1;18942:9;:13;;;:31;;;;;18972:1;18959:9;:14;;;;18942:31;18921:140;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19343:1;19330:9;:14;;;:41;;;;19369:1;19348:23;;:9;:23;;;;19330:41;19309:167;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19522:226;19565:8;19591:9;19618:12;19648:5;19671:6;19695:9;19722:12;19522:25;:226::i;:::-;19508:240;;;:10;:240;;;;19487:345;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19870:373;;;;;;;;;19991:5;19870:373;;;;20059:15;19870:373;;;;20018:13;19870:373;;;;;;;;;;;;20178:15;19870:373;;;;;;;;;;;;20099:9;19870:373;;;;;;20136:12;19870:373;;;;;;19903:5;19870:373;;;;;;19930:6;19870:373;;;;;;20220:12;19870:373;;;;;;19961:9;19870:373;;;;;19843:12;:24;19856:10;19843:24;;;;;;;;;;;;;;;;;:400;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20297:4;20254:12;:24;20267:10;20254:24;;;;;;;;;;;;;;;;;:32;;:40;20287:6;20254:40;;;;;;;;;;;;;;;;:47;;;;;;;;;;;;;;;;;;20353:4;20311:12;:24;20324:10;20311:24;;;;;;;;;;;;;;;;;:32;;:39;20344:5;20311:39;;;;;;;;;;;;;;;;:46;;;;;;;;;;;;;;;;;;20465:12;:24;20478:10;20465:24;;;;;;;;;;;;;;;;;:32;;:43;20498:9;20465:43;;;;;;;;;;;;;;;;;;;;;;;;;20464:44;20443:137;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20752:1;20740:9;:13;;;20736:93;;;20814:4;20768:12;:24;20781:10;20768:24;;;;;;;;;;;;;;;;;:32;;:43;20801:9;20768:43;;;;;;;;;;;;;;;;:50;;;;;;;;;;;;;;;;;;20736:93;20847:16;;:18;;;;;;;;;;;;;20876;:25;20895:5;20876:25;;;;;;;;;;;;;;;20907:10;20876:42;;39:1:-1;33:3;27:10;23:18;57:10;52:3;45:23;79:10;72:17;;0:93;20876:42:0;;;;;;;;;;;;;;;;;;;;;;;;;;;20928:18;:26;20947:6;20928:26;;;;;;;;;;;;;;;20960:10;20928:43;;39:1:-1;33:3;27:10;23:18;57:10;52:3;45:23;79:10;72:17;;0:93;20928:43:0;;;;;;;;;;;;;;;;;;;;;;;;;;;18343:2635;;;;;;;;;;:::o;1272:131:2:-;1330:7;1345:9;1361:1;1357;:5;1345:17;;1381:1;1376;:6;;1368:15;;;;;;;;1397:1;1390:8;;1272:131;;;;;:::o;13441:1005:0:-;13661:21;13847:20;13685:151;13715:4;13733;13751;13769:10;13793:12;13819:7;13685:16;:151::i;:::-;13661:175;;13870:129;13901:12;:24;13914:10;13901:24;;;;;;;;;;;;;;;;;:37;;;;;;;;;;;;13952:12;:24;13965:10;13952:24;;;;;;;;;;;;;;;;;:37;;;13870:17;:129::i;:::-;13847:152;;14185:12;:24;14198:10;14185:24;;;;;;;;;;;;;;;;;:34;;;;;;;;;;;;14171:48;;:4;:11;:48;:122;;;;;14225:15;14224:16;:68;;;;14261:12;:24;14274:10;14261:24;;;;;;;;;;;;;;;;;:31;;;;;;;;;;;;14244:48;;:13;:48;;;;14224:68;14171:122;14150:289;;;14330:98;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14150:289;13441:1005;;;;;;;;:::o;14572:1607::-;14719:7;14742:21;14801:24;14907:9;15544:20;15617:9;14766:12;:24;14779:10;14766:24;;;;;;;;;;;;;;;;;14742:48;;14828:1;14801:28;;14865:21;14844:42;;;;;;;;:1;:17;;;;;;;;;;;;:42;;;;;;;;;14840:1299;;;14919:1;14907:13;;14902:562;14926:12;:19;14922:1;:23;14902:562;;;15006:1;14979:29;;:12;14992:1;14979:15;;;;;;;;;;;;;;;;;;:29;;;;:59;;;;;15012:1;:9;;:26;15022:12;15035:1;15022:15;;;;;;;;;;;;;;;;;;15012:26;;;;;;;;;;;;;;;;;;;;;;;;;14979:59;14971:95;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15105:1;15092:7;15100:1;15092:10;;;;;;;;;;;;;;;;;;:14;15084:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15191:32;15212:7;15220:1;15212:10;;;;;;;;;;;;;;;;;;15191:16;:20;;:32;;;;:::i;:::-;15172:51;;15277:4;15242:1;:15;;:32;15258:12;15271:1;15258:15;;;;;;;;;;;;;;;;;;15242:32;;;;;;;;;;;;;;;;:39;;;;;;;;;;;;;;;;;;15328:12;15341:1;15328:15;;;;;;;;;;;;;;;;;;:24;;:36;15353:7;15361:1;15353:10;;;;;;;;;;;;;;;;;;15328:36;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;15328:36:0;14947:3;;;;;;;14902:562;;;14840:1299;;;15506:21;15485:42;;;;;;;;:1;:17;;;;;;;;;;;;:42;;;;;;;;;15481:658;;;15582:1;:14;;;;;;;;;;;;15544:53;;15629:1;15617:13;;15612:517;15634:12;:19;15632:1;:21;15612:517;;;15714:1;15687:29;;:12;15700:1;15687:15;;;;;;;;;;;;;;;;;;:29;;;;:59;;;;;15720:1;:9;;:26;15730:12;15743:1;15730:15;;;;;;;;;;;;;;;;;;15720:26;;;;;;;;;;;;;;;;;;;;;;;;;15687:59;15679:95;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15813:1;15800:7;15808:1;15800:10;;;;;;;;;;;;;;;;;;:14;15792:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15899:32;15920:7;15928:1;15920:10;;;;;;;;;;;;;;;;;;15899:16;:20;;:32;;;;:::i;:::-;15880:51;;15984:4;15949:1;:15;;:32;15965:12;15978:1;15965:15;;;;;;;;;;;;;;;;;;15949:32;;;;;;;;;;;;;;;;:39;;;;;;;;;;;;;;;;;;16044:5;:14;;;16059:12;16072:1;16059:15;;;;;;;;;;;;;;;;;;16076:7;16084:1;16076:10;;;;;;;;;;;;;;;;;;16044:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;16044:43:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;16044:43:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;16044:43:0;;;;;;;;;;;;;;;;16036:78;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15655:3;;;;;;;15612:517;;;15481:658;14840:1299;16156:16;16149:23;;14572:1607;;;;;;;;;;:::o;16363:1571::-;16584:7;16745:19;16863:14;17322:6;17371:17;16644:4;:11;16629:4;:11;:26;:56;;;;;16674:4;:11;16659:4;:11;:26;16629:56;16608:126;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17067:4;17062:10;;17103:1;17098:7;;17131:4;17161:12;17199:7;17232:10;17020:244;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;17020:244:0;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;17020:244:0;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;17020:244:0;;;16989:293;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;16989:293:0;;;;;;;;;;;;;;;;16903:393;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;16903:393:0;;;16880:426;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;16880:426:0;;;;;;;;;;;;;;;;16863:443;;17331:1;17322:10;;17317:582;17338:4;:11;17334:1;:15;17317:582;;;17391:122;17418:6;17442:4;17447:1;17442:7;;;;;;;;;;;;;;;;;;17467:4;17472:1;17467:7;;;;;;;;;;;;;;;;;;17492:4;17497:1;17492:7;;;;;;;;;;;;;;;;;;17391:122;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;17391:122:0;;;;;;;;17371:142;;17553:12;:24;17566:10;17553:24;;;;;;;;;;;;;;;;;:32;;:43;17586:9;17553:43;;;;;;;;;;;;;;;;;;;;;;;;;17528:120;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17688:12;:24;17701:10;17688:24;;;;;;;;;;;;;;;;;:30;;:41;17719:9;17688:41;;;;;;;;;;;;;;;;;;;;;;;;;17687:42;17662:127;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17847:4;17803:12;:24;17816:10;17803:24;;;;;;;;;;;;;;;;;:30;;:41;17834:9;17803:41;;;;;;;;;;;;;;;;:48;;;;;;;;;;;;;;;;;;17879:9;17865:23;;17351:3;;;;;;;17317:582;;;17916:11;17909:18;;16363:1571;;;;;;;;;;;;:::o;17940:316::-;18078:4;18098:17;18118:21;18126:12;18118:3;:7;;:21;;;;:::i;:::-;18098:41;;18186:1;18170:12;:17;;;:69;;18208:31;18234:4;18216:12;18208:21;;:25;;:31;;;;:::i;:::-;18196:9;:43;18170:69;;;18190:5;18170:69;18149:100;;17940:316;;;;;:::o;1078:131:2:-;1136:7;1172:9;1164:1;1159;:6;;1151:15;;;;;;;;1188:1;1184;:5;1172:17;;1203:1;1196:8;;1078:131;;;;;:::o;204:381::-;262:7;523:9;491:1;486;:6;482:35;;;509:1;502:8;;;;482:35;539:1;535;:5;523:17;;563:1;558;554;:5;;;;;;;;:10;546:19;;;;;;;;579:1;572:8;;204:381;;;;;;:::o", + "source": "pragma solidity 0.4.24;\n\nimport \"openzeppelin-solidity/contracts/math/SafeMath.sol\";\n\nimport \"../token/ITokenContract.sol\";\n\n\n/**\n* @dev Supports ERC20 tokens\n* The escrow smart contract for the open bazaar trades in Ethereum\n* The smart contract is desgined keeping in mind the current wallet interface of the OB-core\n* https://github.com/OpenBazaar/wallet-interface/blob/master/wallet.go\n* Current wallet interface strictly adheres to UTXO(bitcoin) model\n*/\ncontract Escrow_v1_0 {\n\n using SafeMath for uint256;\n\n enum Status {FUNDED, RELEASED}\n\n enum TransactionType {ETHER, TOKEN}\n\n event Executed(\n bytes32 scriptHash,\n address[] destinations,\n uint256[] amounts\n );\n\n event FundAdded(\n bytes32 scriptHash,\n address indexed from,\n uint256 valueAdded\n );\n\n event Funded(bytes32 scriptHash, address indexed from, uint256 value);\n\n struct Transaction {\n uint256 value;\n uint256 lastModified;//Time at which transaction was last modified\n Status status;\n TransactionType transactionType;\n uint8 threshold;\n uint32 timeoutHours;\n address buyer;\n address seller;\n address tokenAddress;// Token address in case of token transfer\n address moderator;\n mapping(address=>bool) isOwner;//to keep track of owners/signers.\n mapping(address=>bool) voted;//to keep track of who all voted\n mapping(address=>bool) beneficiaries;//Benefeciaries of execution\n }\n\n mapping(bytes32 => Transaction) public transactions;\n\n uint256 public transactionCount = 0;\n\n //Contains mapping between each party and all of his transactions\n mapping(address => bytes32[])public partyVsTransaction;\n\n modifier transactionExists(bytes32 scriptHash) {\n require(\n transactions[scriptHash].value != 0, \"Transaction does not exists\"\n );\n _;\n }\n\n modifier transactionDoesNotExists (bytes32 scriptHash) {\n require(transactions[scriptHash].value == 0, \"Transaction exists\");\n _;\n }\n\n modifier inFundedState(bytes32 scriptHash) {\n require(\n transactions[scriptHash].status == Status.FUNDED, \"Transaction is either in dispute or released state\"\n );\n _;\n }\n\n modifier nonZeroAddress(address addressToCheck) {\n require(addressToCheck != address(0), \"Zero address passed\");\n _;\n }\n\n modifier checkTransactionType(\n bytes32 scriptHash,\n TransactionType transactionType\n )\n {\n require(\n transactions[scriptHash].transactionType == transactionType, \"Transaction type does not match\"\n );\n _;\n }\n\n modifier onlyBuyer(bytes32 scriptHash) {\n require(\n msg.sender == transactions[scriptHash].buyer, \"The initiator of the transaction is not buyer\"\n );\n _;\n }\n\n /**\n *@dev Add new transaction in the contract\n *@param buyer The buyer of the transaction\n *@param seller The seller of the listing associated with the transaction\n *@param moderator Moderator for this transaction\n *@param scriptHash keccak256 hash of the redeem script\n *@param threshold Minimum number of singatures required to released funds\n *@param timeoutHours Hours after which seller can release funds into his favour by signing transaction\n *@param uniqueId bytes20 unique id for the transaction, generated by ETH wallet\n *Redeem Script format will be following\n \n * scripthash-> keccak256(uniqueId, threshold, timeoutHours, buyer, seller, moderator)\n *Pass amount of the ethers to be put in escrow\n *Please keep in mind you will have to add moderator fees also in the value\n */\n function addTransaction(\n address buyer,\n address seller,\n address moderator,\n uint8 threshold,\n uint32 timeoutHours,\n bytes32 scriptHash,\n bytes20 uniqueId\n )\n external\n payable\n transactionDoesNotExists(scriptHash)\n nonZeroAddress(buyer)\n nonZeroAddress(seller)\n {\n _addTransaction(\n buyer,\n seller,\n moderator,\n threshold,\n timeoutHours,\n scriptHash,\n msg.value,\n uniqueId,\n TransactionType.ETHER,\n address(0)\n );\n \n emit Funded(scriptHash, msg.sender, msg.value);\n\n }\n\n /**\n *@dev Add new transaction in the contract\n *@param buyer The buyer of the transaction\n *@param seller The seller of the listing associated with the transaction\n *@param moderator Moderator for this transaction\n *@param scriptHash keccak256 hash of the redeem script\n *@param threshold Minimum number of singatures required to released funds\n *@param timeoutHours Hours after which seller can release funds into his favour by signing transaction\n *@param value Amount of tokens to be put in escrow\n *@param uniqueId bytes20 unique id for the transaction, generated by ETH wallet\n *@param tokenAddress Address of the token to be used\n *Redeem Script format will be following\n \n * scripthash-> keccak256(uniqueId, threshold, timeoutHours, buyer, seller, moderator, tokenAddress)\n *approve escrow contract to spend amount of token on your behalf\n *Please keep in mind you will have to add moderator fees also in the value\n */\n function addTokenTransaction(\n address buyer,\n address seller,\n address moderator,\n uint8 threshold,\n uint32 timeoutHours,\n bytes32 scriptHash,\n uint256 value,\n bytes20 uniqueId,\n address tokenAddress\n )\n external\n transactionDoesNotExists(scriptHash)\n nonZeroAddress(buyer)\n nonZeroAddress(seller)\n nonZeroAddress(tokenAddress)\n {\n\n _addTransaction(\n buyer,\n seller,\n moderator,\n threshold,\n timeoutHours,\n scriptHash,\n value,\n uniqueId,\n TransactionType.TOKEN,\n tokenAddress\n );\n\n ITokenContract token = ITokenContract(tokenAddress);\n\n require(\n token.transferFrom(msg.sender, this, value),\n \"Token transfer failed, maybe you did not approve escrow contract to spend on behalf of buyer\"\n );\n emit Funded(scriptHash, msg.sender, value);\n }\n\n /**\n * @dev Check whether given address was a beneficiary of transaction execution or not\n * @param scriptHash script hash of the transaction\n * @param beneficiary Beneficiary address to be checked\n */\n function checkBeneficiary(\n bytes32 scriptHash,\n address beneficiary\n )\n external\n view\n returns (bool)\n {\n return transactions[scriptHash].beneficiaries[beneficiary];\n }\n\n /**\n * @dev Check whether given party has voted or not\n * @param scriptHash script hash of the transaction\n * @param party Address of the party whose vote has to be checked\n * @return bool vote\n */\n function checkVote(\n bytes32 scriptHash,\n address party\n )\n external\n view\n returns (bool)\n {\n return transactions[scriptHash].voted[party];\n }\n\n /**\n *@dev Allows buyer of the transaction to add more funds(ether) in the transaction. This will help to cater scenarios wherein initially buyer missed to fund transaction as required\n *@param scriptHash script hash of the transaction\n * Only buyer of the transaction can invoke this method\n */\n function addFundsToTransaction(\n bytes32 scriptHash\n )\n external\n transactionExists(scriptHash)\n inFundedState(scriptHash)\n checkTransactionType(scriptHash, TransactionType.ETHER)\n onlyBuyer(scriptHash)\n payable\n {\n uint256 _value = msg.value;\n\n require(_value > 0, \"Value must be greater than zero.\");\n\n transactions[scriptHash].value = transactions[scriptHash].value\n .add(_value);\n transactions[scriptHash].lastModified = block.timestamp;\n\n emit FundAdded(scriptHash, msg.sender, _value);\n }\n\n /**\n *@dev Allows buyer of the transaction to add more funds(Tokens) in the transaction. This will help to cater scenarios wherein initially buyer missed to fund transaction as required\n *@param scriptHash script hash of the transaction\n */\n function addTokensToTransaction(\n bytes32 scriptHash,\n uint256 value\n )\n external\n transactionExists(scriptHash)\n inFundedState(scriptHash)\n checkTransactionType(scriptHash, TransactionType.TOKEN)\n onlyBuyer(scriptHash)\n {\n uint256 _value = value;\n\n require(_value > 0, \"Value must be greater than zero.\");\n\n ITokenContract token = ITokenContract(\n transactions[scriptHash].tokenAddress\n );\n\n require(\n token.transferFrom(transactions[scriptHash].buyer, this, value),\n \"Token transfer failed, maybe you did not approve escrow contract to spend on behalf of buyer\"\n );\n\n transactions[scriptHash].value = transactions[scriptHash].value\n .add(_value);\n transactions[scriptHash].lastModified = block.timestamp;\n\n emit FundAdded(scriptHash, msg.sender, _value);\n }\n\n /**\n *@dev Returns all transaction ids for a party\n *@param partyAddress Address of the party\n */\n function getAllTransactionsForParty(\n address partyAddress\n ) \n external \n view \n returns (bytes32[]) \n {\n return partyVsTransaction[partyAddress];\n }\n\n /**\n *@dev This method will be used to release funds associated with the transaction\n * Please see specs https://github.com/OpenBazaar/smart-contracts/blob/master/contracts/escrow/EscrowSpec.md\n *@param sigV Array containing V component of all the signatures\n *@param sigR Array containing R component of all the signatures\n *@param signS Array containing S component of all the signatures\n *@param scriptHash script hash of the transaction\n *@param destinations address of the destination in whose favour dispute resolution is taking place. In case of split payments it will be address of the split payments contract\n *@param amounts value to send to each destination\n */\n function execute(\n uint8[] sigV,\n bytes32[] sigR,\n bytes32[] sigS,\n bytes32 scriptHash,\n address[] destinations,\n uint256[] amounts\n )\n external\n transactionExists(scriptHash)\n inFundedState(scriptHash)\n {\n require(\n destinations.length>0 && destinations.length == amounts.length, \"Length of destinations is incorrect.\"\n );\n\n verifyTransaction(\n sigV,\n sigR,\n sigS,\n scriptHash,\n destinations,\n amounts\n );\n\n transactions[scriptHash].status = Status.RELEASED;\n //Last modified timestamp modified, which will be used by rewards\n transactions[scriptHash].lastModified = block.timestamp;\n require(\n transferFunds(scriptHash, destinations, amounts) == transactions[scriptHash].value,\n \"Total value to be released must be equal to the transaction escrow value\"\n );\n \n emit Executed(scriptHash, destinations, amounts);\n }\n\n\n /**\n *@dev Method for calculating script hash. Calculation will depend upon the type of transaction\n * ETHER Type transaction-:\n * Script Hash- keccak256(uniqueId, threshold, timeoutHours, buyer, seller, moderator)\n * TOKEN Type transaction\n * Script Hash- keccak256(uniqueId, threshold, timeoutHours, buyer, seller, moderator, tokenAddress)\n * Client can use this method to verify whether it has calculated correct script hash or not\n */\n function calculateRedeemScriptHash(\n bytes20 uniqueId,\n uint8 threshold,\n uint32 timeoutHours,\n address buyer,\n address seller,\n address moderator,\n address tokenAddress\n )\n public\n view\n returns (bytes32)\n {\n if (tokenAddress == address(0)) {\n return keccak256(\n abi.encodePacked(\n uniqueId,\n threshold,\n timeoutHours,\n buyer,\n seller,\n moderator,\n this\n )\n );\n } else {\n return keccak256(\n abi.encodePacked(\n uniqueId,\n threshold,\n timeoutHours,\n buyer,\n seller,\n moderator,\n this,\n tokenAddress\n )\n );\n }\n }\n\n /**\n * @dev This methods checks validity of transaction\n * 1. Verify Signatures\n * 2. Check if minimum number of signatures has been acquired\n * 3. If above condition is false, check if time lock is expired and the execution is signed by seller\n */\n function verifyTransaction(\n uint8[] sigV,\n bytes32[] sigR,\n bytes32[] sigS,\n bytes32 scriptHash,\n address[] destinations,\n uint256[] amounts\n )\n private\n {\n address lastRecovered = verifySignatures(\n sigV,\n sigR,\n sigS,\n scriptHash,\n destinations,\n amounts\n );\n\n bool timeLockExpired = isTimeLockExpired(\n transactions[scriptHash].timeoutHours,\n transactions[scriptHash].lastModified\n );\n\n //if Minimum number of signatures are not gathered and timelock has not expired or transaction was not signed by seller then revert\n if (\n sigV.length < transactions[scriptHash].threshold && (!timeLockExpired || lastRecovered != transactions[scriptHash].seller)\n )\n {\n revert(\"Minimum number of signatures are not collected and time lock expiry conditions not met!!\");\n }\n\n }\n\n /**\n *@dev Private method to transfer funds to the destination addresses on the basis of transaction type\n */\n function transferFunds(\n bytes32 scriptHash,\n address[]destinations,\n uint256[]amounts\n )\n private\n returns (uint256)\n {\n Transaction storage t = transactions[scriptHash];\n\n uint256 valueTransferred = 0;\n\n if (t.transactionType == TransactionType.ETHER) {\n for (uint256 i = 0; i < destinations.length; i++) {\n\n require(destinations[i] != address(0) && t.isOwner[destinations[i]], \"Not a valid destination\");\n require(amounts[i] > 0, \"Amount to be sent should be greater than 0\");\n\n valueTransferred = valueTransferred.add(amounts[i]);\n\n t.beneficiaries[destinations[i]] = true;//add receiver as beneficiary\n destinations[i].transfer(amounts[i]);//shall we use send instead of transfer to stop malicious actors from blocking funds?\n }\n\n } else if (t.transactionType == TransactionType.TOKEN) {\n\n ITokenContract token = ITokenContract(t.tokenAddress);\n\n for (uint256 j = 0; j 0, \"Amount to be sent should be greater than 0\");\n\n valueTransferred = valueTransferred.add(amounts[j]);\n t.beneficiaries[destinations[j]] = true;//add receiver as beneficiary\n\n require(token.transfer(destinations[j], amounts[j]), \"Token transfer failed.\");\n }\n } \n return valueTransferred;\n }\n\n //to check whether the signature are valid or not and if consensus was reached\n //returns the last address recovered, in case of timeout this must be the sender's address\n function verifySignatures(\n uint8[] sigV,\n bytes32[] sigR,\n bytes32[] sigS,\n bytes32 scriptHash,\n address[] destinations,\n uint256[]amounts\n )\n private\n returns (address)\n {\n\n require(\n sigR.length == sigS.length && sigR.length == sigV.length, \n \"R,S,V length mismatch.\"\n );\n\n address lastAddress;\n\n // Follows ERC191 signature scheme: https://github.com/ethereum/EIPs/issues/191\n bytes32 txHash = keccak256(\n abi.encodePacked(\n \"\\x19Ethereum Signed Message:\\n32\",\n keccak256(\n abi.encodePacked(\n byte(0x19),\n byte(0),\n this,\n destinations,\n amounts,\n scriptHash\n )\n )\n )\n );\n\n for (uint i = 0; i < sigR.length; i++) {\n\n address recovered = ecrecover(\n txHash,\n sigV[i],\n sigR[i],\n sigS[i]\n );\n\n require(\n transactions[scriptHash].isOwner[recovered], \n \"Invalid signature\"\n );\n require(\n !transactions[scriptHash].voted[recovered], \n \"Same signature sent twice\"\n );\n transactions[scriptHash].voted[recovered] = true;\n lastAddress = recovered;\n }\n\n return lastAddress;\n }\n\n function isTimeLockExpired(\n uint32 timeoutHours,\n uint256 lastModified\n )\n private\n view\n returns (bool)\n {\n uint256 timeSince = now.sub(lastModified);\n return (\n timeoutHours == 0 ? false:timeSince > uint256(timeoutHours).mul(3600)\n );\n }\n\n /**\n * Private method to add transaction to reduce code redundancy\n */\n function _addTransaction(\n address buyer,\n address seller,\n address moderator,\n uint8 threshold,\n uint32 timeoutHours,\n bytes32 scriptHash,\n uint256 value,\n bytes20 uniqueId,\n TransactionType transactionType,\n address tokenAddress\n )\n private\n { \n require(buyer != seller, \"Buyer and seller are same\");\n\n //value passed should be greater than 0\n require(value > 0, \"Value passed is 0\");\n\n // For now allowing 0 moderator to support 1-2 multisig wallet\n require(\n threshold > 0 && threshold <= 3, \n \"Threshold cannot be greater than 3 and must be greater than 0\"\n );\n\n //if threshold is 1 then moderator can be passed as zero address or any other address(it wont matter aopart from scripthash since we wont add moderator as one of the owner)\n //otherwise moderator should be a valid address\n require(\n threshold == 1 || moderator != address(0),\n \"Either threshold should be 1 otherwise valid moderator address should be passed\"\n );\n\n require(\n scriptHash == calculateRedeemScriptHash(\n uniqueId,\n threshold,\n timeoutHours,\n buyer,\n seller,\n moderator,\n tokenAddress\n ), \n \"Calculated script hash does not match passed script hash.\"\n );\n\n transactions[scriptHash] = Transaction({\n buyer: buyer,\n seller: seller,\n moderator: moderator,\n value: value,\n status: Status.FUNDED,\n lastModified: block.timestamp,\n threshold: threshold,\n timeoutHours: timeoutHours,\n transactionType:transactionType,\n tokenAddress:tokenAddress\n });\n\n transactions[scriptHash].isOwner[seller] = true;\n transactions[scriptHash].isOwner[buyer] = true; \n\n //Check if buyer or seller are not passed as moderator\n require(\n !transactions[scriptHash].isOwner[moderator], \n \"Either buyer or seller is passed as moderator\"\n );\n\n //set moderator as one of the owners only if threshold is greater than 1 otherwise only buyer and seller should be able to release funds\n if (threshold > 1){\n transactions[scriptHash].isOwner[moderator] = true;\n }\n \n\n transactionCount++;\n\n partyVsTransaction[buyer].push(scriptHash);\n partyVsTransaction[seller].push(scriptHash);\n }\n}\n", "sourcePath": "/home/sameep/freelancing-projects/toptal/open baazar/publicRepo/smart-contracts/contracts/escrow/Escrow_v1_0.sol", "ast": { "absolutePath": "/home/sameep/freelancing-projects/toptal/open baazar/publicRepo/smart-contracts/contracts/escrow/Escrow_v1_0.sol", @@ -6942,7 +6942,7 @@ "body": { "id": 581, "nodeType": "Block", - "src": "10954:790:0", + "src": "10907:790:0", "statements": [ { "expression": { @@ -6979,7 +6979,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 510, - "src": "10985:12:0", + "src": "10938:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" @@ -6993,7 +6993,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "10985:19:0", + "src": "10938:19:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7011,7 +7011,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "11005:1:0", + "src": "10958:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -7019,7 +7019,7 @@ }, "value": "0" }, - "src": "10985:21:0", + "src": "10938:21:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -7047,7 +7047,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 510, - "src": "11010:12:0", + "src": "10963:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" @@ -7061,7 +7061,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "11010:19:0", + "src": "10963:19:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7078,7 +7078,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 513, - "src": "11033:7:0", + "src": "10986:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", "typeString": "uint256[] calldata" @@ -7092,19 +7092,19 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "11033:14:0", + "src": "10986:14:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "11010:37:0", + "src": "10963:37:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "10985:62:0", + "src": "10938:62:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -7120,7 +7120,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "11049:38:0", + "src": "11002:38:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_53e979b0c355ea1eeda44a80ca73370fdb2abe922711b459aa4ee43d1558782b", @@ -7148,7 +7148,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "10964:7:0", + "src": "10917:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -7162,7 +7162,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "10964:133:0", + "src": "10917:133:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -7170,7 +7170,7 @@ }, "id": 535, "nodeType": "ExpressionStatement", - "src": "10964:133:0" + "src": "10917:133:0" }, { "expression": { @@ -7183,7 +7183,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 499, - "src": "11139:4:0", + "src": "11092:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_calldata_ptr", "typeString": "uint8[] calldata" @@ -7196,7 +7196,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 502, - "src": "11157:4:0", + "src": "11110:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", "typeString": "bytes32[] calldata" @@ -7209,7 +7209,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 505, - "src": "11175:4:0", + "src": "11128:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", "typeString": "bytes32[] calldata" @@ -7222,7 +7222,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 507, - "src": "11193:10:0", + "src": "11146:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -7235,7 +7235,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 510, - "src": "11217:12:0", + "src": "11170:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" @@ -7248,7 +7248,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 513, - "src": "11243:7:0", + "src": "11196:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", "typeString": "uint256[] calldata" @@ -7287,7 +7287,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 706, - "src": "11108:17:0", + "src": "11061:17:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_array$_t_uint8_$dyn_memory_ptr_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_bytes32_$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$__$", "typeString": "function (uint8[] memory,bytes32[] memory,bytes32[] memory,bytes32,address[] memory,uint256[] memory)" @@ -7301,7 +7301,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "11108:152:0", + "src": "11061:152:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -7309,7 +7309,7 @@ }, "id": 544, "nodeType": "ExpressionStatement", - "src": "11108:152:0" + "src": "11061:152:0" }, { "expression": { @@ -7330,7 +7330,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "11271:12:0", + "src": "11224:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -7344,7 +7344,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 507, - "src": "11284:10:0", + "src": "11237:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -7355,7 +7355,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "11271:24:0", + "src": "11224:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -7369,7 +7369,7 @@ "memberName": "status", "nodeType": "MemberAccess", "referencedDeclaration": 44, - "src": "11271:31:0", + "src": "11224:31:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$9", "typeString": "enum Escrow_v1_0.Status" @@ -7386,7 +7386,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9, - "src": "11305:6:0", + "src": "11258:6:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_Status_$9_$", "typeString": "type(enum Escrow_v1_0.Status)" @@ -7400,13 +7400,13 @@ "memberName": "RELEASED", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "11305:15:0", + "src": "11258:15:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$9", "typeString": "enum Escrow_v1_0.Status" } }, - "src": "11271:49:0", + "src": "11224:49:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$9", "typeString": "enum Escrow_v1_0.Status" @@ -7414,7 +7414,7 @@ }, "id": 552, "nodeType": "ExpressionStatement", - "src": "11271:49:0" + "src": "11224:49:0" }, { "expression": { @@ -7435,7 +7435,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "11404:12:0", + "src": "11357:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -7449,7 +7449,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 507, - "src": "11417:10:0", + "src": "11370:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -7460,7 +7460,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "11404:24:0", + "src": "11357:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -7474,7 +7474,7 @@ "memberName": "lastModified", "nodeType": "MemberAccess", "referencedDeclaration": 42, - "src": "11404:37:0", + "src": "11357:37:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7491,7 +7491,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1374, - "src": "11444:5:0", + "src": "11397:5:0", "typeDescriptions": { "typeIdentifier": "t_magic_block", "typeString": "block" @@ -7505,13 +7505,13 @@ "memberName": "timestamp", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "11444:15:0", + "src": "11397:15:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "11404:55:0", + "src": "11357:55:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7519,7 +7519,7 @@ }, "id": 560, "nodeType": "ExpressionStatement", - "src": "11404:55:0" + "src": "11357:55:0" }, { "expression": { @@ -7546,7 +7546,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 507, - "src": "11504:10:0", + "src": "11457:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -7559,7 +7559,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 510, - "src": "11516:12:0", + "src": "11469:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" @@ -7572,7 +7572,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 513, - "src": "11530:7:0", + "src": "11483:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", "typeString": "uint256[] calldata" @@ -7599,7 +7599,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 893, - "src": "11490:13:0", + "src": "11443:13:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$_t_uint256_$", "typeString": "function (bytes32,address[] memory,uint256[] memory) returns (uint256)" @@ -7613,7 +7613,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "11490:48:0", + "src": "11443:48:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7632,7 +7632,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "11542:12:0", + "src": "11495:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -7646,7 +7646,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 507, - "src": "11555:10:0", + "src": "11508:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -7657,7 +7657,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "11542:24:0", + "src": "11495:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -7671,13 +7671,13 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": 40, - "src": "11542:30:0", + "src": "11495:30:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "11490:82:0", + "src": "11443:82:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -7693,7 +7693,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "11586:74:0", + "src": "11539:74:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_9e0bdb14e2e0d5e118fd1f547268c6a1fdb5e8facacd614066d4b60bc2c9941d", @@ -7721,7 +7721,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "11469:7:0", + "src": "11422:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -7735,7 +7735,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "11469:201:0", + "src": "11422:201:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -7743,7 +7743,7 @@ }, "id": 574, "nodeType": "ExpressionStatement", - "src": "11469:201:0" + "src": "11422:201:0" }, { "eventCall": { @@ -7756,7 +7756,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 507, - "src": "11703:10:0", + "src": "11656:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -7769,7 +7769,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 510, - "src": "11715:12:0", + "src": "11668:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" @@ -7782,7 +7782,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 513, - "src": "11729:7:0", + "src": "11682:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", "typeString": "uint256[] calldata" @@ -7809,7 +7809,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 22, - "src": "11694:8:0", + "src": "11647:8:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$__$", "typeString": "function (bytes32,address[] memory,uint256[] memory)" @@ -7823,7 +7823,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "11694:43:0", + "src": "11647:43:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -7831,11 +7831,11 @@ }, "id": 580, "nodeType": "EmitStatement", - "src": "11689:48:0" + "src": "11642:48:0" } ] }, - "documentation": "dev Allows one of the moderator to collect all the signature to solve dispute and submit it to this method.\nIf all the required signatures are collected and consensus has been reached than funds will be released to the voted party\nparam sigV Array containing V component of all the signatures\nparam sigR Array containing R component of all the signatures\nparam signS Array containing S component of all the signatures\nparam scriptHash script hash of the transaction\nparam destinations address of the destination in whose favour dispute resolution is taking place. In case of split payments it will be address of the split payments contract\nparam amounts value to send to each destination", + "documentation": "dev This method will be used to release funds associated with the transaction\nPlease see specs https://github.com/OpenBazaar/smart-contracts/blob/master/contracts/escrow/EscrowSpec.md\nparam sigV Array containing V component of all the signatures\nparam sigR Array containing R component of all the signatures\nparam signS Array containing S component of all the signatures\nparam scriptHash script hash of the transaction\nparam destinations address of the destination in whose favour dispute resolution is taking place. In case of split payments it will be address of the split payments contract\nparam amounts value to send to each destination", "id": 582, "implemented": true, "isConstructor": false, @@ -7850,7 +7850,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 507, - "src": "10904:10:0", + "src": "10857:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -7865,14 +7865,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 99, - "src": "10886:17:0", + "src": "10839:17:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "10886:29:0" + "src": "10839:29:0" }, { "arguments": [ @@ -7883,7 +7883,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 507, - "src": "10938:10:0", + "src": "10891:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -7898,14 +7898,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 132, - "src": "10924:13:0", + "src": "10877:13:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "10924:25:0" + "src": "10877:25:0" } ], "name": "execute", @@ -7920,7 +7920,7 @@ "name": "sigV", "nodeType": "VariableDeclaration", "scope": 582, - "src": "10707:12:0", + "src": "10660:12:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -7932,7 +7932,7 @@ "id": 497, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "10707:5:0", + "src": "10660:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -7941,7 +7941,7 @@ "id": 498, "length": null, "nodeType": "ArrayTypeName", - "src": "10707:7:0", + "src": "10660:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_storage_ptr", "typeString": "uint8[]" @@ -7956,7 +7956,7 @@ "name": "sigR", "nodeType": "VariableDeclaration", "scope": 582, - "src": "10729:14:0", + "src": "10682:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -7968,7 +7968,7 @@ "id": 500, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "10729:7:0", + "src": "10682:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -7977,7 +7977,7 @@ "id": 501, "length": null, "nodeType": "ArrayTypeName", - "src": "10729:9:0", + "src": "10682:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -7992,7 +7992,7 @@ "name": "sigS", "nodeType": "VariableDeclaration", "scope": 582, - "src": "10753:14:0", + "src": "10706:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8004,7 +8004,7 @@ "id": 503, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "10753:7:0", + "src": "10706:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -8013,7 +8013,7 @@ "id": 504, "length": null, "nodeType": "ArrayTypeName", - "src": "10753:9:0", + "src": "10706:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -8028,7 +8028,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 582, - "src": "10777:18:0", + "src": "10730:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8039,7 +8039,7 @@ "id": 506, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "10777:7:0", + "src": "10730:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -8054,7 +8054,7 @@ "name": "destinations", "nodeType": "VariableDeclaration", "scope": 582, - "src": "10805:22:0", + "src": "10758:22:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8066,7 +8066,7 @@ "id": 508, "name": "address", "nodeType": "ElementaryTypeName", - "src": "10805:7:0", + "src": "10758:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8075,7 +8075,7 @@ "id": 509, "length": null, "nodeType": "ArrayTypeName", - "src": "10805:9:0", + "src": "10758:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", "typeString": "address[]" @@ -8090,7 +8090,7 @@ "name": "amounts", "nodeType": "VariableDeclaration", "scope": 582, - "src": "10837:17:0", + "src": "10790:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8102,7 +8102,7 @@ "id": 511, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "10837:7:0", + "src": "10790:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8111,7 +8111,7 @@ "id": 512, "length": null, "nodeType": "ArrayTypeName", - "src": "10837:9:0", + "src": "10790:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -8121,17 +8121,17 @@ "visibility": "internal" } ], - "src": "10697:163:0" + "src": "10650:163:0" }, "payable": false, "returnParameters": { "id": 521, "nodeType": "ParameterList", "parameters": [], - "src": "10954:0:0" + "src": "10907:0:0" }, "scope": 1211, - "src": "10681:1063:0", + "src": "10634:1063:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" @@ -8140,7 +8140,7 @@ "body": { "id": 636, "nodeType": "Block", - "src": "12498:716:0", + "src": "12451:716:0", "statements": [ { "condition": { @@ -8161,7 +8161,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 596, - "src": "12512:12:0", + "src": "12465:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8182,7 +8182,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "12536:1:0", + "src": "12489:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -8204,7 +8204,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "12528:7:0", + "src": "12481:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" @@ -8219,13 +8219,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "12528:10:0", + "src": "12481:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "12512:26:0", + "src": "12465:26:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -8234,7 +8234,7 @@ "falseBody": { "id": 634, "nodeType": "Block", - "src": "12860:348:0", + "src": "12813:348:0", "statements": [ { "expression": { @@ -8250,7 +8250,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 584, - "src": "12946:8:0", + "src": "12899:8:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -8263,7 +8263,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 586, - "src": "12976:9:0", + "src": "12929:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -8276,7 +8276,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 588, - "src": "13007:12:0", + "src": "12960:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -8289,7 +8289,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 590, - "src": "13041:5:0", + "src": "12994:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8302,7 +8302,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 592, - "src": "13068:6:0", + "src": "13021:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8315,7 +8315,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 594, - "src": "13096:9:0", + "src": "13049:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8328,7 +8328,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1401, - "src": "13127:4:0", + "src": "13080:4:0", "typeDescriptions": { "typeIdentifier": "t_contract$_Escrow_v1_0_$1211", "typeString": "contract Escrow_v1_0" @@ -8341,7 +8341,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 596, - "src": "13153:12:0", + "src": "13106:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8390,7 +8390,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1371, - "src": "12908:3:0", + "src": "12861:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" @@ -8404,7 +8404,7 @@ "memberName": "encodePacked", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "12908:16:0", + "src": "12861:16:0", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" @@ -8418,7 +8418,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "12908:275:0", + "src": "12861:275:0", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -8437,7 +8437,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1378, - "src": "12881:9:0", + "src": "12834:9:0", "typeDescriptions": { "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", "typeString": "function () pure returns (bytes32)" @@ -8451,7 +8451,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "12881:316:0", + "src": "12834:316:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -8460,17 +8460,17 @@ "functionReturnParameters": 600, "id": 633, "nodeType": "Return", - "src": "12874:323:0" + "src": "12827:323:0" } ] }, "id": 635, "nodeType": "IfStatement", - "src": "12508:700:0", + "src": "12461:700:0", "trueBody": { "id": 619, "nodeType": "Block", - "src": "12540:314:0", + "src": "12493:314:0", "statements": [ { "expression": { @@ -8486,7 +8486,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 584, - "src": "12626:8:0", + "src": "12579:8:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -8499,7 +8499,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 586, - "src": "12656:9:0", + "src": "12609:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -8512,7 +8512,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 588, - "src": "12687:12:0", + "src": "12640:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -8525,7 +8525,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 590, - "src": "12721:5:0", + "src": "12674:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8538,7 +8538,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 592, - "src": "12748:6:0", + "src": "12701:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8551,7 +8551,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 594, - "src": "12776:9:0", + "src": "12729:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8564,7 +8564,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1401, - "src": "12807:4:0", + "src": "12760:4:0", "typeDescriptions": { "typeIdentifier": "t_contract$_Escrow_v1_0_$1211", "typeString": "contract Escrow_v1_0" @@ -8609,7 +8609,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1371, - "src": "12588:3:0", + "src": "12541:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" @@ -8623,7 +8623,7 @@ "memberName": "encodePacked", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "12588:16:0", + "src": "12541:16:0", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" @@ -8637,7 +8637,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "12588:241:0", + "src": "12541:241:0", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -8656,7 +8656,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1378, - "src": "12561:9:0", + "src": "12514:9:0", "typeDescriptions": { "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", "typeString": "function () pure returns (bytes32)" @@ -8670,7 +8670,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "12561:282:0", + "src": "12514:282:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -8679,7 +8679,7 @@ "functionReturnParameters": 600, "id": 618, "nodeType": "Return", - "src": "12554:289:0" + "src": "12507:289:0" } ] } @@ -8704,7 +8704,7 @@ "name": "uniqueId", "nodeType": "VariableDeclaration", "scope": 637, - "src": "12259:16:0", + "src": "12212:16:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8715,7 +8715,7 @@ "id": 583, "name": "bytes20", "nodeType": "ElementaryTypeName", - "src": "12259:7:0", + "src": "12212:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -8730,7 +8730,7 @@ "name": "threshold", "nodeType": "VariableDeclaration", "scope": 637, - "src": "12285:15:0", + "src": "12238:15:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8741,7 +8741,7 @@ "id": 585, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "12285:5:0", + "src": "12238:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -8756,7 +8756,7 @@ "name": "timeoutHours", "nodeType": "VariableDeclaration", "scope": 637, - "src": "12310:19:0", + "src": "12263:19:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8767,7 +8767,7 @@ "id": 587, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "12310:6:0", + "src": "12263:6:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -8782,7 +8782,7 @@ "name": "buyer", "nodeType": "VariableDeclaration", "scope": 637, - "src": "12339:13:0", + "src": "12292:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8793,7 +8793,7 @@ "id": 589, "name": "address", "nodeType": "ElementaryTypeName", - "src": "12339:7:0", + "src": "12292:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8808,7 +8808,7 @@ "name": "seller", "nodeType": "VariableDeclaration", "scope": 637, - "src": "12362:14:0", + "src": "12315:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8819,7 +8819,7 @@ "id": 591, "name": "address", "nodeType": "ElementaryTypeName", - "src": "12362:7:0", + "src": "12315:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8834,7 +8834,7 @@ "name": "moderator", "nodeType": "VariableDeclaration", "scope": 637, - "src": "12386:17:0", + "src": "12339:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8845,7 +8845,7 @@ "id": 593, "name": "address", "nodeType": "ElementaryTypeName", - "src": "12386:7:0", + "src": "12339:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8860,7 +8860,7 @@ "name": "tokenAddress", "nodeType": "VariableDeclaration", "scope": 637, - "src": "12413:20:0", + "src": "12366:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8871,7 +8871,7 @@ "id": 595, "name": "address", "nodeType": "ElementaryTypeName", - "src": "12413:7:0", + "src": "12366:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8881,7 +8881,7 @@ "visibility": "internal" } ], - "src": "12249:190:0" + "src": "12202:190:0" }, "payable": false, "returnParameters": { @@ -8894,7 +8894,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 637, - "src": "12485:7:0", + "src": "12438:7:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8905,7 +8905,7 @@ "id": 598, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "12485:7:0", + "src": "12438:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -8915,10 +8915,10 @@ "visibility": "internal" } ], - "src": "12484:9:0" + "src": "12437:9:0" }, "scope": 1211, - "src": "12215:999:0", + "src": "12168:999:0", "stateMutability": "view", "superFunction": null, "visibility": "public" @@ -8927,7 +8927,7 @@ "body": { "id": 705, "nodeType": "Block", - "src": "13698:795:0", + "src": "13651:795:0", "statements": [ { "assignments": [ @@ -8940,7 +8940,7 @@ "name": "lastRecovered", "nodeType": "VariableDeclaration", "scope": 706, - "src": "13708:21:0", + "src": "13661:21:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8951,7 +8951,7 @@ "id": 657, "name": "address", "nodeType": "ElementaryTypeName", - "src": "13708:7:0", + "src": "13661:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8972,7 +8972,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 640, - "src": "13762:4:0", + "src": "13715:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr", "typeString": "uint8[] memory" @@ -8985,7 +8985,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 643, - "src": "13780:4:0", + "src": "13733:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" @@ -8998,7 +8998,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 646, - "src": "13798:4:0", + "src": "13751:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" @@ -9011,7 +9011,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 648, - "src": "13816:10:0", + "src": "13769:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -9024,7 +9024,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 651, - "src": "13840:12:0", + "src": "13793:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -9037,7 +9037,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 654, - "src": "13866:7:0", + "src": "13819:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" @@ -9076,7 +9076,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1022, - "src": "13732:16:0", + "src": "13685:16:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_array$_t_uint8_$dyn_memory_ptr_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_bytes32_$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$_t_address_$", "typeString": "function (uint8[] memory,bytes32[] memory,bytes32[] memory,bytes32,address[] memory,uint256[] memory) returns (address)" @@ -9090,14 +9090,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "13732:151:0", + "src": "13685:151:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "VariableDeclarationStatement", - "src": "13708:175:0" + "src": "13661:175:0" }, { "assignments": [ @@ -9110,7 +9110,7 @@ "name": "timeLockExpired", "nodeType": "VariableDeclaration", "scope": 706, - "src": "13894:20:0", + "src": "13847:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9121,7 +9121,7 @@ "id": 668, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "13894:4:0", + "src": "13847:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -9146,7 +9146,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "13948:12:0", + "src": "13901:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -9160,7 +9160,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 648, - "src": "13961:10:0", + "src": "13914:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -9171,7 +9171,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "13948:24:0", + "src": "13901:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -9185,7 +9185,7 @@ "memberName": "timeoutHours", "nodeType": "MemberAccess", "referencedDeclaration": 50, - "src": "13948:37:0", + "src": "13901:37:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -9202,7 +9202,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "13999:12:0", + "src": "13952:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -9216,7 +9216,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 648, - "src": "14012:10:0", + "src": "13965:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -9227,7 +9227,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "13999:24:0", + "src": "13952:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -9241,7 +9241,7 @@ "memberName": "lastModified", "nodeType": "MemberAccess", "referencedDeclaration": 42, - "src": "13999:37:0", + "src": "13952:37:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9264,7 +9264,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1054, - "src": "13917:17:0", + "src": "13870:17:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_uint32_$_t_uint256_$returns$_t_bool_$", "typeString": "function (uint32,uint256) view returns (bool)" @@ -9278,14 +9278,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "13917:129:0", + "src": "13870:129:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "nodeType": "VariableDeclarationStatement", - "src": "13894:152:0" + "src": "13847:152:0" }, { "condition": { @@ -9319,7 +9319,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 640, - "src": "14218:4:0", + "src": "14171:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr", "typeString": "uint8[] memory" @@ -9333,7 +9333,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "14218:11:0", + "src": "14171:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9352,7 +9352,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "14232:12:0", + "src": "14185:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -9366,7 +9366,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 648, - "src": "14245:10:0", + "src": "14198:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -9377,7 +9377,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "14232:24:0", + "src": "14185:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -9391,13 +9391,13 @@ "memberName": "threshold", "nodeType": "MemberAccess", "referencedDeclaration": 48, - "src": "14232:34:0", + "src": "14185:34:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, - "src": "14218:48:0", + "src": "14171:48:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -9429,7 +9429,7 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "14271:16:0", + "src": "14224:16:0", "subExpression": { "argumentTypes": null, "id": 688, @@ -9437,7 +9437,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 669, - "src": "14272:15:0", + "src": "14225:15:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -9468,7 +9468,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 658, - "src": "14291:13:0", + "src": "14244:13:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -9487,7 +9487,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "14308:12:0", + "src": "14261:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -9501,7 +9501,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 648, - "src": "14321:10:0", + "src": "14274:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -9512,7 +9512,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "14308:24:0", + "src": "14261:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -9526,19 +9526,19 @@ "memberName": "seller", "nodeType": "MemberAccess", "referencedDeclaration": 54, - "src": "14308:31:0", + "src": "14261:31:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "14291:48:0", + "src": "14244:48:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "14271:68:0", + "src": "14224:68:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -9552,13 +9552,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "14270:70:0", + "src": "14223:70:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "14218:122:0", + "src": "14171:122:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -9567,11 +9567,11 @@ "falseBody": null, "id": 704, "nodeType": "IfStatement", - "src": "14197:289:0", + "src": "14150:289:0", "trueBody": { "id": 703, "nodeType": "Block", - "src": "14363:123:0", + "src": "14316:123:0", "statements": [ { "expression": { @@ -9587,7 +9587,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "14384:90:0", + "src": "14337:90:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_e454643f61f81e3a3dc8dabaafde295fea592e232abeb03abbb1835bdc3d20d0", @@ -9611,7 +9611,7 @@ 1390 ], "referencedDeclaration": 1390, - "src": "14377:6:0", + "src": "14330:6:0", "typeDescriptions": { "typeIdentifier": "t_function_revert_pure$_t_string_memory_ptr_$returns$__$", "typeString": "function (string memory) pure" @@ -9625,7 +9625,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "14377:98:0", + "src": "14330:98:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -9633,7 +9633,7 @@ }, "id": 702, "nodeType": "ExpressionStatement", - "src": "14377:98:0" + "src": "14330:98:0" } ] } @@ -9658,7 +9658,7 @@ "name": "sigV", "nodeType": "VariableDeclaration", "scope": 706, - "src": "13524:12:0", + "src": "13477:12:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9670,7 +9670,7 @@ "id": 638, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "13524:5:0", + "src": "13477:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -9679,7 +9679,7 @@ "id": 639, "length": null, "nodeType": "ArrayTypeName", - "src": "13524:7:0", + "src": "13477:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_storage_ptr", "typeString": "uint8[]" @@ -9694,7 +9694,7 @@ "name": "sigR", "nodeType": "VariableDeclaration", "scope": 706, - "src": "13546:14:0", + "src": "13499:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9706,7 +9706,7 @@ "id": 641, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "13546:7:0", + "src": "13499:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -9715,7 +9715,7 @@ "id": 642, "length": null, "nodeType": "ArrayTypeName", - "src": "13546:9:0", + "src": "13499:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -9730,7 +9730,7 @@ "name": "sigS", "nodeType": "VariableDeclaration", "scope": 706, - "src": "13570:14:0", + "src": "13523:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9742,7 +9742,7 @@ "id": 644, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "13570:7:0", + "src": "13523:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -9751,7 +9751,7 @@ "id": 645, "length": null, "nodeType": "ArrayTypeName", - "src": "13570:9:0", + "src": "13523:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -9766,7 +9766,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 706, - "src": "13594:18:0", + "src": "13547:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9777,7 +9777,7 @@ "id": 647, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "13594:7:0", + "src": "13547:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -9792,7 +9792,7 @@ "name": "destinations", "nodeType": "VariableDeclaration", "scope": 706, - "src": "13622:22:0", + "src": "13575:22:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9804,7 +9804,7 @@ "id": 649, "name": "address", "nodeType": "ElementaryTypeName", - "src": "13622:7:0", + "src": "13575:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -9813,7 +9813,7 @@ "id": 650, "length": null, "nodeType": "ArrayTypeName", - "src": "13622:9:0", + "src": "13575:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", "typeString": "address[]" @@ -9828,7 +9828,7 @@ "name": "amounts", "nodeType": "VariableDeclaration", "scope": 706, - "src": "13654:17:0", + "src": "13607:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9840,7 +9840,7 @@ "id": 652, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "13654:7:0", + "src": "13607:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9849,7 +9849,7 @@ "id": 653, "length": null, "nodeType": "ArrayTypeName", - "src": "13654:9:0", + "src": "13607:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -9859,17 +9859,17 @@ "visibility": "internal" } ], - "src": "13514:163:0" + "src": "13467:163:0" }, "payable": false, "returnParameters": { "id": 656, "nodeType": "ParameterList", "parameters": [], - "src": "13698:0:0" + "src": "13651:0:0" }, "scope": 1211, - "src": "13488:1005:0", + "src": "13441:1005:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "private" @@ -9878,7 +9878,7 @@ "body": { "id": 892, "nodeType": "Block", - "src": "14779:1447:0", + "src": "14732:1447:0", "statements": [ { "assignments": [ @@ -9891,7 +9891,7 @@ "name": "t", "nodeType": "VariableDeclaration", "scope": 893, - "src": "14789:21:0", + "src": "14742:21:0", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { @@ -9904,7 +9904,7 @@ "name": "Transaction", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 71, - "src": "14789:11:0", + "src": "14742:11:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction" @@ -9924,7 +9924,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "14813:12:0", + "src": "14766:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -9938,7 +9938,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 708, - "src": "14826:10:0", + "src": "14779:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -9949,14 +9949,14 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "14813:24:0", + "src": "14766:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "14789:48:0" + "src": "14742:48:0" }, { "assignments": [ @@ -9969,7 +9969,7 @@ "name": "valueTransferred", "nodeType": "VariableDeclaration", "scope": 893, - "src": "14848:24:0", + "src": "14801:24:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9980,7 +9980,7 @@ "id": 725, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "14848:7:0", + "src": "14801:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10001,7 +10001,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "14875:1:0", + "src": "14828:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -10010,7 +10010,7 @@ "value": "0" }, "nodeType": "VariableDeclarationStatement", - "src": "14848:28:0" + "src": "14801:28:0" }, { "condition": { @@ -10033,7 +10033,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 720, - "src": "14891:1:0", + "src": "14844:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" @@ -10047,7 +10047,7 @@ "memberName": "transactionType", "nodeType": "MemberAccess", "referencedDeclaration": 46, - "src": "14891:17:0", + "src": "14844:17:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -10064,7 +10064,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12, - "src": "14912:15:0", + "src": "14865:15:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_TransactionType_$12_$", "typeString": "type(enum Escrow_v1_0.TransactionType)" @@ -10078,13 +10078,13 @@ "memberName": "ETHER", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "14912:21:0", + "src": "14865:21:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" } }, - "src": "14891:42:0", + "src": "14844:42:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -10111,7 +10111,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 720, - "src": "15532:1:0", + "src": "15485:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" @@ -10125,7 +10125,7 @@ "memberName": "transactionType", "nodeType": "MemberAccess", "referencedDeclaration": 46, - "src": "15532:17:0", + "src": "15485:17:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -10142,7 +10142,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12, - "src": "15553:15:0", + "src": "15506:15:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_TransactionType_$12_$", "typeString": "type(enum Escrow_v1_0.TransactionType)" @@ -10156,13 +10156,13 @@ "memberName": "TOKEN", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "15553:21:0", + "src": "15506:21:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" } }, - "src": "15532:42:0", + "src": "15485:42:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -10171,11 +10171,11 @@ "falseBody": null, "id": 888, "nodeType": "IfStatement", - "src": "15528:658:0", + "src": "15481:658:0", "trueBody": { "id": 887, "nodeType": "Block", - "src": "15576:610:0", + "src": "15529:610:0", "statements": [ { "assignments": [ @@ -10188,7 +10188,7 @@ "name": "token", "nodeType": "VariableDeclaration", "scope": 893, - "src": "15591:20:0", + "src": "15544:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -10201,7 +10201,7 @@ "name": "ITokenContract", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 1241, - "src": "15591:14:0", + "src": "15544:14:0", "typeDescriptions": { "typeIdentifier": "t_contract$_ITokenContract_$1241", "typeString": "contract ITokenContract" @@ -10224,7 +10224,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 720, - "src": "15629:1:0", + "src": "15582:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" @@ -10238,7 +10238,7 @@ "memberName": "tokenAddress", "nodeType": "MemberAccess", "referencedDeclaration": 56, - "src": "15629:14:0", + "src": "15582:14:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -10257,7 +10257,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1241, - "src": "15614:14:0", + "src": "15567:14:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_ITokenContract_$1241_$", "typeString": "type(contract ITokenContract)" @@ -10271,20 +10271,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15614:30:0", + "src": "15567:30:0", "typeDescriptions": { "typeIdentifier": "t_contract$_ITokenContract_$1241", "typeString": "contract ITokenContract" } }, "nodeType": "VariableDeclarationStatement", - "src": "15591:53:0" + "src": "15544:53:0" }, { "body": { "id": 885, "nodeType": "Block", - "src": "15707:469:0", + "src": "15660:469:0", "statements": [ { "expression": { @@ -10321,7 +10321,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 711, - "src": "15734:12:0", + "src": "15687:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -10335,7 +10335,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 816, - "src": "15747:1:0", + "src": "15700:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10346,7 +10346,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15734:15:0", + "src": "15687:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -10367,7 +10367,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "15761:1:0", + "src": "15714:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -10389,7 +10389,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "15753:7:0", + "src": "15706:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" @@ -10404,13 +10404,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15753:10:0", + "src": "15706:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "15734:29:0", + "src": "15687:29:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -10429,7 +10429,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 720, - "src": "15767:1:0", + "src": "15720:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" @@ -10443,7 +10443,7 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "15767:9:0", + "src": "15720:9:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -10459,7 +10459,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 711, - "src": "15777:12:0", + "src": "15730:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -10473,7 +10473,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 816, - "src": "15790:1:0", + "src": "15743:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10484,7 +10484,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15777:15:0", + "src": "15730:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -10495,13 +10495,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15767:26:0", + "src": "15720:26:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "15734:59:0", + "src": "15687:59:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -10517,7 +10517,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "15795:25:0", + "src": "15748:25:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_4b4c116dbf18274831a2b569c567d9fd9a0e9828a6c86ee9f93e80400fb6c49f", @@ -10545,7 +10545,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "15726:7:0", + "src": "15679:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -10559,7 +10559,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15726:95:0", + "src": "15679:95:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -10567,7 +10567,7 @@ }, "id": 843, "nodeType": "ExpressionStatement", - "src": "15726:95:0" + "src": "15679:95:0" }, { "expression": { @@ -10593,7 +10593,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 714, - "src": "15847:7:0", + "src": "15800:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" @@ -10607,7 +10607,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 816, - "src": "15855:1:0", + "src": "15808:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10618,7 +10618,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15847:10:0", + "src": "15800:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10636,7 +10636,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "15860:1:0", + "src": "15813:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -10644,7 +10644,7 @@ }, "value": "0" }, - "src": "15847:14:0", + "src": "15800:14:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -10660,7 +10660,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "15863:44:0", + "src": "15816:44:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_5e1271a09dbb64ae031de288deb0ad8d707df7db51d6e827931dc8fa6642a71e", @@ -10688,7 +10688,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "15839:7:0", + "src": "15792:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -10702,7 +10702,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15839:69:0", + "src": "15792:69:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -10710,7 +10710,7 @@ }, "id": 852, "nodeType": "ExpressionStatement", - "src": "15839:69:0" + "src": "15792:69:0" }, { "expression": { @@ -10727,7 +10727,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 726, - "src": "15927:16:0", + "src": "15880:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10747,7 +10747,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 714, - "src": "15967:7:0", + "src": "15920:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" @@ -10761,7 +10761,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 816, - "src": "15975:1:0", + "src": "15928:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10772,7 +10772,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15967:10:0", + "src": "15920:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10793,7 +10793,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 726, - "src": "15946:16:0", + "src": "15899:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10807,7 +10807,7 @@ "memberName": "add", "nodeType": "MemberAccess", "referencedDeclaration": 1348, - "src": "15946:20:0", + "src": "15899:20:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" @@ -10821,13 +10821,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15946:32:0", + "src": "15899:32:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "15927:51:0", + "src": "15880:51:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10835,7 +10835,7 @@ }, "id": 861, "nodeType": "ExpressionStatement", - "src": "15927:51:0" + "src": "15880:51:0" }, { "expression": { @@ -10856,7 +10856,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 720, - "src": "15996:1:0", + "src": "15949:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" @@ -10870,7 +10870,7 @@ "memberName": "beneficiaries", "nodeType": "MemberAccess", "referencedDeclaration": 70, - "src": "15996:15:0", + "src": "15949:15:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -10886,7 +10886,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 711, - "src": "16012:12:0", + "src": "15965:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -10900,7 +10900,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 816, - "src": "16025:1:0", + "src": "15978:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10911,7 +10911,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "16012:15:0", + "src": "15965:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -10922,7 +10922,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "15996:32:0", + "src": "15949:32:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -10940,7 +10940,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "16031:4:0", + "src": "15984:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -10948,7 +10948,7 @@ }, "value": "true" }, - "src": "15996:39:0", + "src": "15949:39:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -10956,7 +10956,7 @@ }, "id": 871, "nodeType": "ExpressionStatement", - "src": "15996:39:0" + "src": "15949:39:0" }, { "expression": { @@ -10974,7 +10974,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 711, - "src": "16106:12:0", + "src": "16059:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -10988,7 +10988,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 816, - "src": "16119:1:0", + "src": "16072:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10999,7 +10999,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "16106:15:0", + "src": "16059:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -11014,7 +11014,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 714, - "src": "16123:7:0", + "src": "16076:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" @@ -11028,7 +11028,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 816, - "src": "16131:1:0", + "src": "16084:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11039,7 +11039,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "16123:10:0", + "src": "16076:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11064,7 +11064,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 809, - "src": "16091:5:0", + "src": "16044:5:0", "typeDescriptions": { "typeIdentifier": "t_contract$_ITokenContract_$1241", "typeString": "contract ITokenContract" @@ -11078,7 +11078,7 @@ "memberName": "transfer", "nodeType": "MemberAccess", "referencedDeclaration": 1229, - "src": "16091:14:0", + "src": "16044:14:0", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", "typeString": "function (address,uint256) external returns (bool)" @@ -11092,7 +11092,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16091:43:0", + "src": "16044:43:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -11108,7 +11108,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "16136:24:0", + "src": "16089:24:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_e545223bb79d8456d66fa5a98897abb42bb4807111f004a120200da3b7e292c5", @@ -11136,7 +11136,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "16083:7:0", + "src": "16036:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -11150,7 +11150,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16083:78:0", + "src": "16036:78:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -11158,7 +11158,7 @@ }, "id": 884, "nodeType": "ExpressionStatement", - "src": "16083:78:0" + "src": "16036:78:0" } ] }, @@ -11180,7 +11180,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 816, - "src": "15679:1:0", + "src": "15632:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11197,7 +11197,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 711, - "src": "15681:12:0", + "src": "15634:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -11211,13 +11211,13 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "15681:19:0", + "src": "15634:19:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "15679:21:0", + "src": "15632:21:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -11235,7 +11235,7 @@ "name": "j", "nodeType": "VariableDeclaration", "scope": 893, - "src": "15664:9:0", + "src": "15617:9:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -11246,7 +11246,7 @@ "id": 815, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "15664:7:0", + "src": "15617:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11267,7 +11267,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "15676:1:0", + "src": "15629:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -11276,7 +11276,7 @@ "value": "0" }, "nodeType": "VariableDeclarationStatement", - "src": "15664:13:0" + "src": "15617:13:0" }, "loopExpression": { "expression": { @@ -11289,7 +11289,7 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "15702:3:0", + "src": "15655:3:0", "subExpression": { "argumentTypes": null, "id": 823, @@ -11297,7 +11297,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 816, - "src": "15702:1:0", + "src": "15655:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11310,27 +11310,27 @@ }, "id": 825, "nodeType": "ExpressionStatement", - "src": "15702:3:0" + "src": "15655:3:0" }, "nodeType": "ForStatement", - "src": "15659:517:0" + "src": "15612:517:0" } ] } }, "id": 889, "nodeType": "IfStatement", - "src": "14887:1299:0", + "src": "14840:1299:0", "trueBody": { "id": 802, "nodeType": "Block", - "src": "14935:587:0", + "src": "14888:587:0", "statements": [ { "body": { "id": 800, "nodeType": "Block", - "src": "14999:512:0", + "src": "14952:512:0", "statements": [ { "expression": { @@ -11367,7 +11367,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 711, - "src": "15026:12:0", + "src": "14979:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -11381,7 +11381,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 735, - "src": "15039:1:0", + "src": "14992:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11392,7 +11392,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15026:15:0", + "src": "14979:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -11413,7 +11413,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "15053:1:0", + "src": "15006:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -11435,7 +11435,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "15045:7:0", + "src": "14998:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" @@ -11450,13 +11450,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15045:10:0", + "src": "14998:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "15026:29:0", + "src": "14979:29:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -11475,7 +11475,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 720, - "src": "15059:1:0", + "src": "15012:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" @@ -11489,7 +11489,7 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "15059:9:0", + "src": "15012:9:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -11505,7 +11505,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 711, - "src": "15069:12:0", + "src": "15022:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -11519,7 +11519,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 735, - "src": "15082:1:0", + "src": "15035:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11530,7 +11530,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15069:15:0", + "src": "15022:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -11541,13 +11541,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15059:26:0", + "src": "15012:26:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "15026:59:0", + "src": "14979:59:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -11563,7 +11563,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "15087:25:0", + "src": "15040:25:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_4b4c116dbf18274831a2b569c567d9fd9a0e9828a6c86ee9f93e80400fb6c49f", @@ -11591,7 +11591,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "15018:7:0", + "src": "14971:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -11605,7 +11605,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15018:95:0", + "src": "14971:95:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -11613,7 +11613,7 @@ }, "id": 762, "nodeType": "ExpressionStatement", - "src": "15018:95:0" + "src": "14971:95:0" }, { "expression": { @@ -11639,7 +11639,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 714, - "src": "15139:7:0", + "src": "15092:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" @@ -11653,7 +11653,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 735, - "src": "15147:1:0", + "src": "15100:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11664,7 +11664,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15139:10:0", + "src": "15092:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11682,7 +11682,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "15152:1:0", + "src": "15105:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -11690,7 +11690,7 @@ }, "value": "0" }, - "src": "15139:14:0", + "src": "15092:14:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -11706,7 +11706,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "15155:44:0", + "src": "15108:44:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_5e1271a09dbb64ae031de288deb0ad8d707df7db51d6e827931dc8fa6642a71e", @@ -11734,7 +11734,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "15131:7:0", + "src": "15084:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -11748,7 +11748,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15131:69:0", + "src": "15084:69:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -11756,7 +11756,7 @@ }, "id": 771, "nodeType": "ExpressionStatement", - "src": "15131:69:0" + "src": "15084:69:0" }, { "expression": { @@ -11773,7 +11773,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 726, - "src": "15219:16:0", + "src": "15172:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11793,7 +11793,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 714, - "src": "15259:7:0", + "src": "15212:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" @@ -11807,7 +11807,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 735, - "src": "15267:1:0", + "src": "15220:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11818,7 +11818,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15259:10:0", + "src": "15212:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11839,7 +11839,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 726, - "src": "15238:16:0", + "src": "15191:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11853,7 +11853,7 @@ "memberName": "add", "nodeType": "MemberAccess", "referencedDeclaration": 1348, - "src": "15238:20:0", + "src": "15191:20:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" @@ -11867,13 +11867,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15238:32:0", + "src": "15191:32:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "15219:51:0", + "src": "15172:51:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11881,7 +11881,7 @@ }, "id": 780, "nodeType": "ExpressionStatement", - "src": "15219:51:0" + "src": "15172:51:0" }, { "expression": { @@ -11902,7 +11902,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 720, - "src": "15289:1:0", + "src": "15242:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" @@ -11916,7 +11916,7 @@ "memberName": "beneficiaries", "nodeType": "MemberAccess", "referencedDeclaration": 70, - "src": "15289:15:0", + "src": "15242:15:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -11932,7 +11932,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 711, - "src": "15305:12:0", + "src": "15258:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -11946,7 +11946,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 735, - "src": "15318:1:0", + "src": "15271:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11957,7 +11957,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15305:15:0", + "src": "15258:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -11968,7 +11968,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "15289:32:0", + "src": "15242:32:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -11986,7 +11986,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "15324:4:0", + "src": "15277:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -11994,7 +11994,7 @@ }, "value": "true" }, - "src": "15289:39:0", + "src": "15242:39:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -12002,7 +12002,7 @@ }, "id": 790, "nodeType": "ExpressionStatement", - "src": "15289:39:0" + "src": "15242:39:0" }, { "expression": { @@ -12017,7 +12017,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 714, - "src": "15400:7:0", + "src": "15353:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" @@ -12031,7 +12031,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 735, - "src": "15408:1:0", + "src": "15361:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12042,7 +12042,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15400:10:0", + "src": "15353:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12065,7 +12065,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 711, - "src": "15375:12:0", + "src": "15328:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -12079,7 +12079,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 735, - "src": "15388:1:0", + "src": "15341:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12090,7 +12090,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15375:15:0", + "src": "15328:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -12104,7 +12104,7 @@ "memberName": "transfer", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "15375:24:0", + "src": "15328:24:0", "typeDescriptions": { "typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$", "typeString": "function (uint256)" @@ -12118,7 +12118,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15375:36:0", + "src": "15328:36:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -12126,7 +12126,7 @@ }, "id": 799, "nodeType": "ExpressionStatement", - "src": "15375:36:0" + "src": "15328:36:0" } ] }, @@ -12148,7 +12148,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 735, - "src": "14969:1:0", + "src": "14922:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12165,7 +12165,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 711, - "src": "14973:12:0", + "src": "14926:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -12179,13 +12179,13 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "14973:19:0", + "src": "14926:19:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "14969:23:0", + "src": "14922:23:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -12203,7 +12203,7 @@ "name": "i", "nodeType": "VariableDeclaration", "scope": 893, - "src": "14954:9:0", + "src": "14907:9:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12214,7 +12214,7 @@ "id": 734, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "14954:7:0", + "src": "14907:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12235,7 +12235,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "14966:1:0", + "src": "14919:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -12244,7 +12244,7 @@ "value": "0" }, "nodeType": "VariableDeclarationStatement", - "src": "14954:13:0" + "src": "14907:13:0" }, "loopExpression": { "expression": { @@ -12257,7 +12257,7 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "14994:3:0", + "src": "14947:3:0", "subExpression": { "argumentTypes": null, "id": 742, @@ -12265,7 +12265,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 735, - "src": "14994:1:0", + "src": "14947:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12278,10 +12278,10 @@ }, "id": 744, "nodeType": "ExpressionStatement", - "src": "14994:3:0" + "src": "14947:3:0" }, "nodeType": "ForStatement", - "src": "14949:562:0" + "src": "14902:562:0" } ] } @@ -12294,7 +12294,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 726, - "src": "16203:16:0", + "src": "16156:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12303,7 +12303,7 @@ "functionReturnParameters": 718, "id": 891, "nodeType": "Return", - "src": "16196:23:0" + "src": "16149:23:0" } ] }, @@ -12325,7 +12325,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 893, - "src": "14651:18:0", + "src": "14604:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12336,7 +12336,7 @@ "id": 707, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "14651:7:0", + "src": "14604:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -12351,7 +12351,7 @@ "name": "destinations", "nodeType": "VariableDeclaration", "scope": 893, - "src": "14679:21:0", + "src": "14632:21:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12363,7 +12363,7 @@ "id": 709, "name": "address", "nodeType": "ElementaryTypeName", - "src": "14679:7:0", + "src": "14632:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -12372,7 +12372,7 @@ "id": 710, "length": null, "nodeType": "ArrayTypeName", - "src": "14679:9:0", + "src": "14632:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", "typeString": "address[]" @@ -12387,7 +12387,7 @@ "name": "amounts", "nodeType": "VariableDeclaration", "scope": 893, - "src": "14710:16:0", + "src": "14663:16:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12399,7 +12399,7 @@ "id": 712, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "14710:7:0", + "src": "14663:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12408,7 +12408,7 @@ "id": 713, "length": null, "nodeType": "ArrayTypeName", - "src": "14710:9:0", + "src": "14663:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -12418,7 +12418,7 @@ "visibility": "internal" } ], - "src": "14641:91:0" + "src": "14594:91:0" }, "payable": false, "returnParameters": { @@ -12431,7 +12431,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 893, - "src": "14766:7:0", + "src": "14719:7:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12442,7 +12442,7 @@ "id": 716, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "14766:7:0", + "src": "14719:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12452,10 +12452,10 @@ "visibility": "internal" } ], - "src": "14765:9:0" + "src": "14718:9:0" }, "scope": 1211, - "src": "14619:1607:0", + "src": "14572:1607:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "private" @@ -12464,7 +12464,7 @@ "body": { "id": 1021, "nodeType": "Block", - "src": "16644:1337:0", + "src": "16597:1337:0", "statements": [ { "expression": { @@ -12501,7 +12501,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 899, - "src": "16676:4:0", + "src": "16629:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" @@ -12515,7 +12515,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "16676:11:0", + "src": "16629:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12532,7 +12532,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 902, - "src": "16691:4:0", + "src": "16644:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" @@ -12546,13 +12546,13 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "16691:11:0", + "src": "16644:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "16676:26:0", + "src": "16629:26:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -12580,7 +12580,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 899, - "src": "16706:4:0", + "src": "16659:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" @@ -12594,7 +12594,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "16706:11:0", + "src": "16659:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12611,7 +12611,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 896, - "src": "16721:4:0", + "src": "16674:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr", "typeString": "uint8[] memory" @@ -12625,19 +12625,19 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "16721:11:0", + "src": "16674:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "16706:26:0", + "src": "16659:26:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "16676:56:0", + "src": "16629:56:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -12653,7 +12653,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "16747:24:0", + "src": "16700:24:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_f85073c8befb65baed58ca1ee563e5da0bdbdce8abd4d29ef22a8329c7c97506", @@ -12681,7 +12681,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "16655:7:0", + "src": "16608:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -12695,7 +12695,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16655:126:0", + "src": "16608:126:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -12703,7 +12703,7 @@ }, "id": 929, "nodeType": "ExpressionStatement", - "src": "16655:126:0" + "src": "16608:126:0" }, { "assignments": [], @@ -12714,7 +12714,7 @@ "name": "lastAddress", "nodeType": "VariableDeclaration", "scope": 1022, - "src": "16792:19:0", + "src": "16745:19:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12725,7 +12725,7 @@ "id": 930, "name": "address", "nodeType": "ElementaryTypeName", - "src": "16792:7:0", + "src": "16745:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -12738,7 +12738,7 @@ "id": 932, "initialValue": null, "nodeType": "VariableDeclarationStatement", - "src": "16792:19:0" + "src": "16745:19:0" }, { "assignments": [ @@ -12751,7 +12751,7 @@ "name": "txHash", "nodeType": "VariableDeclaration", "scope": 1022, - "src": "16910:14:0", + "src": "16863:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12762,7 +12762,7 @@ "id": 933, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "16910:7:0", + "src": "16863:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -12789,7 +12789,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "16984:34:0", + "src": "16937:34:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_178a2411ab6fbc1ba11064408972259c558d0e82fd48b0aba3ad81d14f065e73", @@ -12816,7 +12816,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "17114:4:0", + "src": "17067:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_25_by_1", @@ -12838,7 +12838,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "17109:4:0", + "src": "17062:4:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes1_$", "typeString": "type(bytes1)" @@ -12853,7 +12853,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17109:10:0", + "src": "17062:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes1", "typeString": "bytes1" @@ -12872,7 +12872,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "17150:1:0", + "src": "17103:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -12894,7 +12894,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "17145:4:0", + "src": "17098:4:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes1_$", "typeString": "type(bytes1)" @@ -12909,7 +12909,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17145:7:0", + "src": "17098:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes1", "typeString": "bytes1" @@ -12922,7 +12922,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1401, - "src": "17178:4:0", + "src": "17131:4:0", "typeDescriptions": { "typeIdentifier": "t_contract$_Escrow_v1_0_$1211", "typeString": "contract Escrow_v1_0" @@ -12935,7 +12935,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 907, - "src": "17208:12:0", + "src": "17161:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -12948,7 +12948,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 910, - "src": "17246:7:0", + "src": "17199:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" @@ -12961,7 +12961,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 904, - "src": "17279:10:0", + "src": "17232:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -13002,7 +13002,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1371, - "src": "17067:3:0", + "src": "17020:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" @@ -13016,7 +13016,7 @@ "memberName": "encodePacked", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "17067:16:0", + "src": "17020:16:0", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" @@ -13030,7 +13030,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17067:244:0", + "src": "17020:244:0", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -13049,7 +13049,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1378, - "src": "17036:9:0", + "src": "16989:9:0", "typeDescriptions": { "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", "typeString": "function () pure returns (bytes32)" @@ -13063,7 +13063,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17036:293:0", + "src": "16989:293:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -13088,7 +13088,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1371, - "src": "16950:3:0", + "src": "16903:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" @@ -13102,7 +13102,7 @@ "memberName": "encodePacked", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "16950:16:0", + "src": "16903:16:0", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" @@ -13116,7 +13116,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16950:393:0", + "src": "16903:393:0", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -13135,7 +13135,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1378, - "src": "16927:9:0", + "src": "16880:9:0", "typeDescriptions": { "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", "typeString": "function () pure returns (bytes32)" @@ -13149,20 +13149,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16927:426:0", + "src": "16880:426:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "nodeType": "VariableDeclarationStatement", - "src": "16910:443:0" + "src": "16863:443:0" }, { "body": { "id": 1017, "nodeType": "Block", - "src": "17403:543:0", + "src": "17356:543:0", "statements": [ { "assignments": [ @@ -13175,7 +13175,7 @@ "name": "recovered", "nodeType": "VariableDeclaration", "scope": 1022, - "src": "17418:17:0", + "src": "17371:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -13186,7 +13186,7 @@ "id": 968, "name": "address", "nodeType": "ElementaryTypeName", - "src": "17418:7:0", + "src": "17371:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -13207,7 +13207,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 934, - "src": "17465:6:0", + "src": "17418:6:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -13222,7 +13222,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 896, - "src": "17489:4:0", + "src": "17442:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr", "typeString": "uint8[] memory" @@ -13236,7 +13236,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 958, - "src": "17494:1:0", + "src": "17447:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13247,7 +13247,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17489:7:0", + "src": "17442:7:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -13262,7 +13262,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 899, - "src": "17514:4:0", + "src": "17467:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" @@ -13276,7 +13276,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 958, - "src": "17519:1:0", + "src": "17472:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13287,7 +13287,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17514:7:0", + "src": "17467:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -13302,7 +13302,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 902, - "src": "17539:4:0", + "src": "17492:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" @@ -13316,7 +13316,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 958, - "src": "17544:1:0", + "src": "17497:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13327,7 +13327,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17539:7:0", + "src": "17492:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -13358,7 +13358,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1376, - "src": "17438:9:0", + "src": "17391:9:0", "typeDescriptions": { "typeIdentifier": "t_function_ecrecover_pure$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$_t_address_$", "typeString": "function (bytes32,uint8,bytes32,bytes32) pure returns (address)" @@ -13372,14 +13372,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17438:122:0", + "src": "17391:122:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "VariableDeclarationStatement", - "src": "17418:142:0" + "src": "17371:142:0" }, { "expression": { @@ -13398,7 +13398,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "17600:12:0", + "src": "17553:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -13412,7 +13412,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 904, - "src": "17613:10:0", + "src": "17566:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -13423,7 +13423,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17600:24:0", + "src": "17553:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -13437,7 +13437,7 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "17600:32:0", + "src": "17553:32:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -13451,7 +13451,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 969, - "src": "17633:9:0", + "src": "17586:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -13462,7 +13462,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17600:43:0", + "src": "17553:43:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -13478,7 +13478,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "17662:19:0", + "src": "17615:19:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_4f2d7dfcb27c0aafa13ae8c400de482c7832204d194018b6e45bd2bf244c74e7", @@ -13506,7 +13506,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "17575:7:0", + "src": "17528:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -13520,7 +13520,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17575:120:0", + "src": "17528:120:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -13528,7 +13528,7 @@ }, "id": 992, "nodeType": "ExpressionStatement", - "src": "17575:120:0" + "src": "17528:120:0" }, { "expression": { @@ -13544,7 +13544,7 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "17734:42:0", + "src": "17687:42:0", "subExpression": { "argumentTypes": null, "baseExpression": { @@ -13558,7 +13558,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "17735:12:0", + "src": "17688:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -13572,7 +13572,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 904, - "src": "17748:10:0", + "src": "17701:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -13583,7 +13583,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17735:24:0", + "src": "17688:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -13597,7 +13597,7 @@ "memberName": "voted", "nodeType": "MemberAccess", "referencedDeclaration": 66, - "src": "17735:30:0", + "src": "17688:30:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -13611,7 +13611,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 969, - "src": "17766:9:0", + "src": "17719:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -13622,7 +13622,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17735:41:0", + "src": "17688:41:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -13643,7 +13643,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "17795:27:0", + "src": "17748:27:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_fb2c7e49d5ec7ce36fa812cf15ee7fa946942f931d04fe3ae970516007b2a543", @@ -13671,7 +13671,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "17709:7:0", + "src": "17662:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -13685,7 +13685,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17709:127:0", + "src": "17662:127:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -13693,7 +13693,7 @@ }, "id": 1003, "nodeType": "ExpressionStatement", - "src": "17709:127:0" + "src": "17662:127:0" }, { "expression": { @@ -13716,7 +13716,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "17850:12:0", + "src": "17803:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -13730,7 +13730,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 904, - "src": "17863:10:0", + "src": "17816:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -13741,7 +13741,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17850:24:0", + "src": "17803:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -13755,7 +13755,7 @@ "memberName": "voted", "nodeType": "MemberAccess", "referencedDeclaration": 66, - "src": "17850:30:0", + "src": "17803:30:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -13769,7 +13769,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 969, - "src": "17881:9:0", + "src": "17834:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -13780,7 +13780,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "17850:41:0", + "src": "17803:41:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -13798,7 +13798,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "17894:4:0", + "src": "17847:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -13806,7 +13806,7 @@ }, "value": "true" }, - "src": "17850:48:0", + "src": "17803:48:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -13814,7 +13814,7 @@ }, "id": 1012, "nodeType": "ExpressionStatement", - "src": "17850:48:0" + "src": "17803:48:0" }, { "expression": { @@ -13831,7 +13831,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 931, - "src": "17912:11:0", + "src": "17865:11:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -13846,13 +13846,13 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 969, - "src": "17926:9:0", + "src": "17879:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "17912:23:0", + "src": "17865:23:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -13860,7 +13860,7 @@ }, "id": 1016, "nodeType": "ExpressionStatement", - "src": "17912:23:0" + "src": "17865:23:0" } ] }, @@ -13882,7 +13882,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 958, - "src": "17381:1:0", + "src": "17334:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13899,7 +13899,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 899, - "src": "17385:4:0", + "src": "17338:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" @@ -13913,13 +13913,13 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "17385:11:0", + "src": "17338:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "17381:15:0", + "src": "17334:15:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -13937,7 +13937,7 @@ "name": "i", "nodeType": "VariableDeclaration", "scope": 1022, - "src": "17369:6:0", + "src": "17322:6:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -13948,7 +13948,7 @@ "id": 957, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "17369:4:0", + "src": "17322:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13969,7 +13969,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "17378:1:0", + "src": "17331:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -13978,7 +13978,7 @@ "value": "0" }, "nodeType": "VariableDeclarationStatement", - "src": "17369:10:0" + "src": "17322:10:0" }, "loopExpression": { "expression": { @@ -13991,7 +13991,7 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "17398:3:0", + "src": "17351:3:0", "subExpression": { "argumentTypes": null, "id": 965, @@ -13999,7 +13999,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 958, - "src": "17398:1:0", + "src": "17351:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14012,10 +14012,10 @@ }, "id": 967, "nodeType": "ExpressionStatement", - "src": "17398:3:0" + "src": "17351:3:0" }, "nodeType": "ForStatement", - "src": "17364:582:0" + "src": "17317:582:0" }, { "expression": { @@ -14025,7 +14025,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 931, - "src": "17963:11:0", + "src": "17916:11:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -14034,7 +14034,7 @@ "functionReturnParameters": 914, "id": 1020, "nodeType": "Return", - "src": "17956:18:0" + "src": "17909:18:0" } ] }, @@ -14056,7 +14056,7 @@ "name": "sigV", "nodeType": "VariableDeclaration", "scope": 1022, - "src": "16445:12:0", + "src": "16398:12:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14068,7 +14068,7 @@ "id": 894, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "16445:5:0", + "src": "16398:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -14077,7 +14077,7 @@ "id": 895, "length": null, "nodeType": "ArrayTypeName", - "src": "16445:7:0", + "src": "16398:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_storage_ptr", "typeString": "uint8[]" @@ -14092,7 +14092,7 @@ "name": "sigR", "nodeType": "VariableDeclaration", "scope": 1022, - "src": "16467:14:0", + "src": "16420:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14104,7 +14104,7 @@ "id": 897, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "16467:7:0", + "src": "16420:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -14113,7 +14113,7 @@ "id": 898, "length": null, "nodeType": "ArrayTypeName", - "src": "16467:9:0", + "src": "16420:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -14128,7 +14128,7 @@ "name": "sigS", "nodeType": "VariableDeclaration", "scope": 1022, - "src": "16491:14:0", + "src": "16444:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14140,7 +14140,7 @@ "id": 900, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "16491:7:0", + "src": "16444:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -14149,7 +14149,7 @@ "id": 901, "length": null, "nodeType": "ArrayTypeName", - "src": "16491:9:0", + "src": "16444:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -14164,7 +14164,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 1022, - "src": "16515:18:0", + "src": "16468:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14175,7 +14175,7 @@ "id": 903, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "16515:7:0", + "src": "16468:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -14190,7 +14190,7 @@ "name": "destinations", "nodeType": "VariableDeclaration", "scope": 1022, - "src": "16543:22:0", + "src": "16496:22:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14202,7 +14202,7 @@ "id": 905, "name": "address", "nodeType": "ElementaryTypeName", - "src": "16543:7:0", + "src": "16496:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -14211,7 +14211,7 @@ "id": 906, "length": null, "nodeType": "ArrayTypeName", - "src": "16543:9:0", + "src": "16496:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", "typeString": "address[]" @@ -14226,7 +14226,7 @@ "name": "amounts", "nodeType": "VariableDeclaration", "scope": 1022, - "src": "16575:16:0", + "src": "16528:16:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14238,7 +14238,7 @@ "id": 908, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "16575:7:0", + "src": "16528:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14247,7 +14247,7 @@ "id": 909, "length": null, "nodeType": "ArrayTypeName", - "src": "16575:9:0", + "src": "16528:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -14257,7 +14257,7 @@ "visibility": "internal" } ], - "src": "16435:162:0" + "src": "16388:162:0" }, "payable": false, "returnParameters": { @@ -14270,7 +14270,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 1022, - "src": "16631:7:0", + "src": "16584:7:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14281,7 +14281,7 @@ "id": 912, "name": "address", "nodeType": "ElementaryTypeName", - "src": "16631:7:0", + "src": "16584:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -14291,10 +14291,10 @@ "visibility": "internal" } ], - "src": "16630:9:0" + "src": "16583:9:0" }, "scope": 1211, - "src": "16410:1571:0", + "src": "16363:1571:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "private" @@ -14303,7 +14303,7 @@ "body": { "id": 1053, "nodeType": "Block", - "src": "18135:168:0", + "src": "18088:168:0", "statements": [ { "assignments": [ @@ -14316,7 +14316,7 @@ "name": "timeSince", "nodeType": "VariableDeclaration", "scope": 1054, - "src": "18145:17:0", + "src": "18098:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14327,7 +14327,7 @@ "id": 1031, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "18145:7:0", + "src": "18098:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14348,7 +14348,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1026, - "src": "18173:12:0", + "src": "18126:12:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14369,7 +14369,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1386, - "src": "18165:3:0", + "src": "18118:3:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14383,7 +14383,7 @@ "memberName": "sub", "nodeType": "MemberAccess", "referencedDeclaration": 1324, - "src": "18165:7:0", + "src": "18118:7:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" @@ -14397,14 +14397,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18165:21:0", + "src": "18118:21:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "18145:41:0" + "src": "18098:41:0" }, { "expression": { @@ -14430,7 +14430,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1024, - "src": "18217:12:0", + "src": "18170:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -14448,7 +14448,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "18233:1:0", + "src": "18186:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -14456,7 +14456,7 @@ }, "value": "0" }, - "src": "18217:17:0", + "src": "18170:17:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -14480,7 +14480,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1032, - "src": "18243:9:0", + "src": "18196:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14501,7 +14501,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "18281:4:0", + "src": "18234:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_3600_by_1", @@ -14527,7 +14527,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1024, - "src": "18263:12:0", + "src": "18216:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -14547,7 +14547,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "18255:7:0", + "src": "18208:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint256_$", "typeString": "type(uint256)" @@ -14562,7 +14562,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18255:21:0", + "src": "18208:21:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14576,7 +14576,7 @@ "memberName": "mul", "nodeType": "MemberAccess", "referencedDeclaration": 1276, - "src": "18255:25:0", + "src": "18208:25:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" @@ -14590,13 +14590,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18255:31:0", + "src": "18208:31:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "18243:43:0", + "src": "18196:43:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -14608,7 +14608,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "Conditional", - "src": "18217:69:0", + "src": "18170:69:0", "trueExpression": { "argumentTypes": null, "hexValue": "66616c7365", @@ -14619,7 +14619,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "18237:5:0", + "src": "18190:5:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -14640,7 +14640,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "18203:93:0", + "src": "18156:93:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -14649,7 +14649,7 @@ "functionReturnParameters": 1030, "id": 1052, "nodeType": "Return", - "src": "18196:100:0" + "src": "18149:100:0" } ] }, @@ -14671,7 +14671,7 @@ "name": "timeoutHours", "nodeType": "VariableDeclaration", "scope": 1054, - "src": "18023:19:0", + "src": "17976:19:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14682,7 +14682,7 @@ "id": 1023, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "18023:6:0", + "src": "17976:6:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -14697,7 +14697,7 @@ "name": "lastModified", "nodeType": "VariableDeclaration", "scope": 1054, - "src": "18052:20:0", + "src": "18005:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14708,7 +14708,7 @@ "id": 1025, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "18052:7:0", + "src": "18005:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14718,7 +14718,7 @@ "visibility": "internal" } ], - "src": "18013:65:0" + "src": "17966:65:0" }, "payable": false, "returnParameters": { @@ -14731,7 +14731,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 1054, - "src": "18125:4:0", + "src": "18078:4:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14742,7 +14742,7 @@ "id": 1028, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "18125:4:0", + "src": "18078:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -14752,10 +14752,10 @@ "visibility": "internal" } ], - "src": "18124:6:0" + "src": "18077:6:0" }, "scope": 1211, - "src": "17987:316:0", + "src": "17940:316:0", "stateMutability": "view", "superFunction": null, "visibility": "private" @@ -14764,7 +14764,7 @@ "body": { "id": 1209, "nodeType": "Block", - "src": "18717:2308:0", + "src": "18670:2308:0", "statements": [ { "expression": { @@ -14788,7 +14788,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1056, - "src": "18743:5:0", + "src": "18696:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -14803,13 +14803,13 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1058, - "src": "18752:6:0", + "src": "18705:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "18743:15:0", + "src": "18696:15:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -14825,7 +14825,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "18760:27:0", + "src": "18713:27:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_6141441751234d42e9a73d96317794195c7ff57b8f16ac15725a10f10763f824", @@ -14853,7 +14853,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "18735:7:0", + "src": "18688:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -14867,7 +14867,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18735:53:0", + "src": "18688:53:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -14875,7 +14875,7 @@ }, "id": 1083, "nodeType": "ExpressionStatement", - "src": "18735:53:0" + "src": "18688:53:0" }, { "expression": { @@ -14899,7 +14899,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1068, - "src": "18855:5:0", + "src": "18808:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14917,7 +14917,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "18863:1:0", + "src": "18816:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -14925,7 +14925,7 @@ }, "value": "0" }, - "src": "18855:9:0", + "src": "18808:9:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -14941,7 +14941,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "18866:19:0", + "src": "18819:19:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_3686f87c4804517ea83323ccf1a3b5b5ff52ed144b19e6fc56abe8fcd182e747", @@ -14969,7 +14969,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "18847:7:0", + "src": "18800:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -14983,7 +14983,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18847:39:0", + "src": "18800:39:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -14991,7 +14991,7 @@ }, "id": 1090, "nodeType": "ExpressionStatement", - "src": "18847:39:0" + "src": "18800:39:0" }, { "expression": { @@ -15026,7 +15026,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1062, - "src": "18989:9:0", + "src": "18942:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -15044,7 +15044,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "19001:1:0", + "src": "18954:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -15052,7 +15052,7 @@ }, "value": "0" }, - "src": "18989:13:0", + "src": "18942:13:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -15078,7 +15078,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1062, - "src": "19006:9:0", + "src": "18959:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -15096,7 +15096,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "19019:1:0", + "src": "18972:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_3_by_1", @@ -15104,13 +15104,13 @@ }, "value": "3" }, - "src": "19006:14:0", + "src": "18959:14:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "18989:31:0", + "src": "18942:31:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -15126,7 +15126,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "19035:63:0", + "src": "18988:63:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_351c1d5dfdc4a2b4c61d6f4dbb41a0d2ae70a9c094d3c0add87af24b5dd19c13", @@ -15154,7 +15154,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "18968:7:0", + "src": "18921:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -15168,7 +15168,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18968:140:0", + "src": "18921:140:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -15176,7 +15176,7 @@ }, "id": 1101, "nodeType": "ExpressionStatement", - "src": "18968:140:0" + "src": "18921:140:0" }, { "expression": { @@ -15211,7 +15211,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1062, - "src": "19377:9:0", + "src": "19330:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -15229,7 +15229,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "19390:1:0", + "src": "19343:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -15237,7 +15237,7 @@ }, "value": "1" }, - "src": "19377:14:0", + "src": "19330:14:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -15263,7 +15263,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1060, - "src": "19395:9:0", + "src": "19348:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15284,7 +15284,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "19416:1:0", + "src": "19369:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -15306,7 +15306,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "19408:7:0", + "src": "19361:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" @@ -15321,19 +15321,19 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "19408:10:0", + "src": "19361:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "19395:23:0", + "src": "19348:23:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "19377:41:0", + "src": "19330:41:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -15349,7 +15349,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "19432:81:0", + "src": "19385:81:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_08dfdd405be5d5023d3f601e2b0a844b246ceb6764817070ff6789d5e1f80050", @@ -15377,7 +15377,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "19356:7:0", + "src": "19309:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -15391,7 +15391,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "19356:167:0", + "src": "19309:167:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -15399,7 +15399,7 @@ }, "id": 1114, "nodeType": "ExpressionStatement", - "src": "19356:167:0" + "src": "19309:167:0" }, { "expression": { @@ -15423,7 +15423,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1066, - "src": "19555:10:0", + "src": "19508:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -15441,7 +15441,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1070, - "src": "19612:8:0", + "src": "19565:8:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -15454,7 +15454,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1062, - "src": "19638:9:0", + "src": "19591:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -15467,7 +15467,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1064, - "src": "19665:12:0", + "src": "19618:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -15480,7 +15480,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1056, - "src": "19695:5:0", + "src": "19648:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15493,7 +15493,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1058, - "src": "19718:6:0", + "src": "19671:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15506,7 +15506,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1060, - "src": "19742:9:0", + "src": "19695:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15519,7 +15519,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1074, - "src": "19769:12:0", + "src": "19722:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15562,7 +15562,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 637, - "src": "19569:25:0", + "src": "19522:25:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_bytes20_$_t_uint8_$_t_uint32_$_t_address_$_t_address_$_t_address_$_t_address_$returns$_t_bytes32_$", "typeString": "function (bytes20,uint8,uint32,address,address,address,address) view returns (bytes32)" @@ -15576,13 +15576,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "19569:226:0", + "src": "19522:226:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "src": "19555:240:0", + "src": "19508:240:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -15598,7 +15598,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "19810:59:0", + "src": "19763:59:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_0c041e0c58e6b0e01d338d852a5abb639065eabeb0aee05e0ce3e5f0e52b4f51", @@ -15626,7 +15626,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "19534:7:0", + "src": "19487:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -15640,7 +15640,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "19534:345:0", + "src": "19487:345:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -15648,7 +15648,7 @@ }, "id": 1129, "nodeType": "ExpressionStatement", - "src": "19534:345:0" + "src": "19487:345:0" }, { "expression": { @@ -15667,7 +15667,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "19890:12:0", + "src": "19843:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -15681,7 +15681,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1066, - "src": "19903:10:0", + "src": "19856:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -15692,7 +15692,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "19890:24:0", + "src": "19843:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -15710,7 +15710,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1056, - "src": "19950:5:0", + "src": "19903:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15723,7 +15723,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1058, - "src": "19977:6:0", + "src": "19930:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15736,7 +15736,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1060, - "src": "20008:9:0", + "src": "19961:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15749,7 +15749,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1068, - "src": "20038:5:0", + "src": "19991:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -15764,7 +15764,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9, - "src": "20065:6:0", + "src": "20018:6:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_Status_$9_$", "typeString": "type(enum Escrow_v1_0.Status)" @@ -15778,7 +15778,7 @@ "memberName": "FUNDED", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "20065:13:0", + "src": "20018:13:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$9", "typeString": "enum Escrow_v1_0.Status" @@ -15793,7 +15793,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1374, - "src": "20106:5:0", + "src": "20059:5:0", "typeDescriptions": { "typeIdentifier": "t_magic_block", "typeString": "block" @@ -15807,7 +15807,7 @@ "memberName": "timestamp", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "20106:15:0", + "src": "20059:15:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -15820,7 +15820,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1062, - "src": "20146:9:0", + "src": "20099:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -15833,7 +15833,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1064, - "src": "20183:12:0", + "src": "20136:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -15846,7 +15846,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1072, - "src": "20225:15:0", + "src": "20178:15:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -15859,7 +15859,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1074, - "src": "20267:12:0", + "src": "20220:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15873,7 +15873,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 71, - "src": "19917:11:0", + "src": "19870:11:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_struct$_Transaction_$71_storage_ptr_$", "typeString": "type(struct Escrow_v1_0.Transaction storage pointer)" @@ -15898,13 +15898,13 @@ "tokenAddress" ], "nodeType": "FunctionCall", - "src": "19917:373:0", + "src": "19870:373:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_memory", "typeString": "struct Escrow_v1_0.Transaction memory" } }, - "src": "19890:400:0", + "src": "19843:400:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -15912,7 +15912,7 @@ }, "id": 1148, "nodeType": "ExpressionStatement", - "src": "19890:400:0" + "src": "19843:400:0" }, { "expression": { @@ -15935,7 +15935,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "20301:12:0", + "src": "20254:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -15949,7 +15949,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1066, - "src": "20314:10:0", + "src": "20267:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -15960,7 +15960,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20301:24:0", + "src": "20254:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -15974,7 +15974,7 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "20301:32:0", + "src": "20254:32:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -15988,7 +15988,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1058, - "src": "20334:6:0", + "src": "20287:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15999,7 +15999,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "20301:40:0", + "src": "20254:40:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -16017,7 +16017,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "20344:4:0", + "src": "20297:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -16025,7 +16025,7 @@ }, "value": "true" }, - "src": "20301:47:0", + "src": "20254:47:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -16033,7 +16033,7 @@ }, "id": 1157, "nodeType": "ExpressionStatement", - "src": "20301:47:0" + "src": "20254:47:0" }, { "expression": { @@ -16056,7 +16056,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "20358:12:0", + "src": "20311:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -16070,7 +16070,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1066, - "src": "20371:10:0", + "src": "20324:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -16081,7 +16081,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20358:24:0", + "src": "20311:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -16095,7 +16095,7 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "20358:32:0", + "src": "20311:32:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -16109,7 +16109,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1056, - "src": "20391:5:0", + "src": "20344:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -16120,7 +16120,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "20358:39:0", + "src": "20311:39:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -16138,7 +16138,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "20400:4:0", + "src": "20353:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -16146,7 +16146,7 @@ }, "value": "true" }, - "src": "20358:46:0", + "src": "20311:46:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -16154,7 +16154,7 @@ }, "id": 1166, "nodeType": "ExpressionStatement", - "src": "20358:46:0" + "src": "20311:46:0" }, { "expression": { @@ -16170,7 +16170,7 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "20511:44:0", + "src": "20464:44:0", "subExpression": { "argumentTypes": null, "baseExpression": { @@ -16184,7 +16184,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "20512:12:0", + "src": "20465:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -16198,7 +16198,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1066, - "src": "20525:10:0", + "src": "20478:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -16209,7 +16209,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20512:24:0", + "src": "20465:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -16223,7 +16223,7 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "20512:32:0", + "src": "20465:32:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -16237,7 +16237,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1060, - "src": "20545:9:0", + "src": "20498:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -16248,7 +16248,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20512:43:0", + "src": "20465:43:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -16269,7 +16269,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "20570:47:0", + "src": "20523:47:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_313b391557427937e7bdb85c7561d47c5b9c985755a448dd33a92026ffb38f8d", @@ -16297,7 +16297,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "20490:7:0", + "src": "20443:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -16311,7 +16311,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "20490:137:0", + "src": "20443:137:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -16319,7 +16319,7 @@ }, "id": 1177, "nodeType": "ExpressionStatement", - "src": "20490:137:0" + "src": "20443:137:0" }, { "condition": { @@ -16340,7 +16340,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1062, - "src": "20787:9:0", + "src": "20740:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -16358,7 +16358,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "20799:1:0", + "src": "20752:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -16366,7 +16366,7 @@ }, "value": "1" }, - "src": "20787:13:0", + "src": "20740:13:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -16375,11 +16375,11 @@ "falseBody": null, "id": 1191, "nodeType": "IfStatement", - "src": "20783:93:0", + "src": "20736:93:0", "trueBody": { "id": 1190, "nodeType": "Block", - "src": "20801:75:0", + "src": "20754:75:0", "statements": [ { "expression": { @@ -16402,7 +16402,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "20815:12:0", + "src": "20768:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -16416,7 +16416,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1066, - "src": "20828:10:0", + "src": "20781:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -16427,7 +16427,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20815:24:0", + "src": "20768:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -16441,7 +16441,7 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "20815:32:0", + "src": "20768:32:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -16455,7 +16455,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1060, - "src": "20848:9:0", + "src": "20801:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -16466,7 +16466,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "20815:43:0", + "src": "20768:43:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -16484,7 +16484,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "20861:4:0", + "src": "20814:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -16492,7 +16492,7 @@ }, "value": "true" }, - "src": "20815:50:0", + "src": "20768:50:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -16500,7 +16500,7 @@ }, "id": 1189, "nodeType": "ExpressionStatement", - "src": "20815:50:0" + "src": "20768:50:0" } ] } @@ -16516,7 +16516,7 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "20894:18:0", + "src": "20847:18:0", "subExpression": { "argumentTypes": null, "id": 1192, @@ -16524,7 +16524,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 78, - "src": "20894:16:0", + "src": "20847:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -16537,7 +16537,7 @@ }, "id": 1194, "nodeType": "ExpressionStatement", - "src": "20894:18:0" + "src": "20847:18:0" }, { "expression": { @@ -16550,7 +16550,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1066, - "src": "20954:10:0", + "src": "20907:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -16573,7 +16573,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 83, - "src": "20923:18:0", + "src": "20876:18:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_bytes32_$dyn_storage_$", "typeString": "mapping(address => bytes32[] storage ref)" @@ -16587,7 +16587,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1056, - "src": "20942:5:0", + "src": "20895:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -16598,7 +16598,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20923:25:0", + "src": "20876:25:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage", "typeString": "bytes32[] storage ref" @@ -16612,7 +16612,7 @@ "memberName": "push", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "20923:30:0", + "src": "20876:30:0", "typeDescriptions": { "typeIdentifier": "t_function_arraypush_nonpayable$_t_bytes32_$returns$_t_uint256_$", "typeString": "function (bytes32) returns (uint256)" @@ -16626,7 +16626,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "20923:42:0", + "src": "20876:42:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -16634,7 +16634,7 @@ }, "id": 1201, "nodeType": "ExpressionStatement", - "src": "20923:42:0" + "src": "20876:42:0" }, { "expression": { @@ -16647,7 +16647,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1066, - "src": "21007:10:0", + "src": "20960:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -16670,7 +16670,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 83, - "src": "20975:18:0", + "src": "20928:18:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_bytes32_$dyn_storage_$", "typeString": "mapping(address => bytes32[] storage ref)" @@ -16684,7 +16684,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1058, - "src": "20994:6:0", + "src": "20947:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -16695,7 +16695,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20975:26:0", + "src": "20928:26:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage", "typeString": "bytes32[] storage ref" @@ -16709,7 +16709,7 @@ "memberName": "push", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "20975:31:0", + "src": "20928:31:0", "typeDescriptions": { "typeIdentifier": "t_function_arraypush_nonpayable$_t_bytes32_$returns$_t_uint256_$", "typeString": "function (bytes32) returns (uint256)" @@ -16723,7 +16723,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "20975:43:0", + "src": "20928:43:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -16731,7 +16731,7 @@ }, "id": 1208, "nodeType": "ExpressionStatement", - "src": "20975:43:0" + "src": "20928:43:0" } ] }, @@ -16753,7 +16753,7 @@ "name": "buyer", "nodeType": "VariableDeclaration", "scope": 1210, - "src": "18424:13:0", + "src": "18377:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -16764,7 +16764,7 @@ "id": 1055, "name": "address", "nodeType": "ElementaryTypeName", - "src": "18424:7:0", + "src": "18377:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -16779,7 +16779,7 @@ "name": "seller", "nodeType": "VariableDeclaration", "scope": 1210, - "src": "18447:14:0", + "src": "18400:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -16790,7 +16790,7 @@ "id": 1057, "name": "address", "nodeType": "ElementaryTypeName", - "src": "18447:7:0", + "src": "18400:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -16805,7 +16805,7 @@ "name": "moderator", "nodeType": "VariableDeclaration", "scope": 1210, - "src": "18471:17:0", + "src": "18424:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -16816,7 +16816,7 @@ "id": 1059, "name": "address", "nodeType": "ElementaryTypeName", - "src": "18471:7:0", + "src": "18424:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -16831,7 +16831,7 @@ "name": "threshold", "nodeType": "VariableDeclaration", "scope": 1210, - "src": "18498:15:0", + "src": "18451:15:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -16842,7 +16842,7 @@ "id": 1061, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "18498:5:0", + "src": "18451:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -16857,7 +16857,7 @@ "name": "timeoutHours", "nodeType": "VariableDeclaration", "scope": 1210, - "src": "18523:19:0", + "src": "18476:19:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -16868,7 +16868,7 @@ "id": 1063, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "18523:6:0", + "src": "18476:6:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -16883,7 +16883,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 1210, - "src": "18552:18:0", + "src": "18505:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -16894,7 +16894,7 @@ "id": 1065, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "18552:7:0", + "src": "18505:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -16909,7 +16909,7 @@ "name": "value", "nodeType": "VariableDeclaration", "scope": 1210, - "src": "18580:13:0", + "src": "18533:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -16920,7 +16920,7 @@ "id": 1067, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "18580:7:0", + "src": "18533:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -16935,7 +16935,7 @@ "name": "uniqueId", "nodeType": "VariableDeclaration", "scope": 1210, - "src": "18603:16:0", + "src": "18556:16:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -16946,7 +16946,7 @@ "id": 1069, "name": "bytes20", "nodeType": "ElementaryTypeName", - "src": "18603:7:0", + "src": "18556:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -16961,7 +16961,7 @@ "name": "transactionType", "nodeType": "VariableDeclaration", "scope": 1210, - "src": "18629:31:0", + "src": "18582:31:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -16974,7 +16974,7 @@ "name": "TransactionType", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 12, - "src": "18629:15:0", + "src": "18582:15:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -16989,7 +16989,7 @@ "name": "tokenAddress", "nodeType": "VariableDeclaration", "scope": 1210, - "src": "18670:20:0", + "src": "18623:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -17000,7 +17000,7 @@ "id": 1073, "name": "address", "nodeType": "ElementaryTypeName", - "src": "18670:7:0", + "src": "18623:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -17010,27 +17010,27 @@ "visibility": "internal" } ], - "src": "18414:282:0" + "src": "18367:282:0" }, "payable": false, "returnParameters": { "id": 1076, "nodeType": "ParameterList", "parameters": [], - "src": "18717:0:0" + "src": "18670:0:0" }, "scope": 1211, - "src": "18390:2635:0", + "src": "18343:2635:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "private" } ], "scope": 1212, - "src": "460:20567:0" + "src": "460:20520:0" } ], - "src": "0:21028:0" + "src": "0:20981:0" }, "legacyAST": { "absolutePath": "/home/sameep/freelancing-projects/toptal/open baazar/publicRepo/smart-contracts/contracts/escrow/Escrow_v1_0.sol", @@ -23550,7 +23550,7 @@ "body": { "id": 581, "nodeType": "Block", - "src": "10954:790:0", + "src": "10907:790:0", "statements": [ { "expression": { @@ -23587,7 +23587,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 510, - "src": "10985:12:0", + "src": "10938:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" @@ -23601,7 +23601,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "10985:19:0", + "src": "10938:19:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -23619,7 +23619,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "11005:1:0", + "src": "10958:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -23627,7 +23627,7 @@ }, "value": "0" }, - "src": "10985:21:0", + "src": "10938:21:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -23655,7 +23655,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 510, - "src": "11010:12:0", + "src": "10963:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" @@ -23669,7 +23669,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "11010:19:0", + "src": "10963:19:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -23686,7 +23686,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 513, - "src": "11033:7:0", + "src": "10986:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", "typeString": "uint256[] calldata" @@ -23700,19 +23700,19 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "11033:14:0", + "src": "10986:14:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "11010:37:0", + "src": "10963:37:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "10985:62:0", + "src": "10938:62:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -23728,7 +23728,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "11049:38:0", + "src": "11002:38:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_53e979b0c355ea1eeda44a80ca73370fdb2abe922711b459aa4ee43d1558782b", @@ -23756,7 +23756,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "10964:7:0", + "src": "10917:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -23770,7 +23770,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "10964:133:0", + "src": "10917:133:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -23778,7 +23778,7 @@ }, "id": 535, "nodeType": "ExpressionStatement", - "src": "10964:133:0" + "src": "10917:133:0" }, { "expression": { @@ -23791,7 +23791,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 499, - "src": "11139:4:0", + "src": "11092:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_calldata_ptr", "typeString": "uint8[] calldata" @@ -23804,7 +23804,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 502, - "src": "11157:4:0", + "src": "11110:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", "typeString": "bytes32[] calldata" @@ -23817,7 +23817,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 505, - "src": "11175:4:0", + "src": "11128:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", "typeString": "bytes32[] calldata" @@ -23830,7 +23830,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 507, - "src": "11193:10:0", + "src": "11146:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -23843,7 +23843,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 510, - "src": "11217:12:0", + "src": "11170:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" @@ -23856,7 +23856,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 513, - "src": "11243:7:0", + "src": "11196:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", "typeString": "uint256[] calldata" @@ -23895,7 +23895,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 706, - "src": "11108:17:0", + "src": "11061:17:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_array$_t_uint8_$dyn_memory_ptr_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_bytes32_$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$__$", "typeString": "function (uint8[] memory,bytes32[] memory,bytes32[] memory,bytes32,address[] memory,uint256[] memory)" @@ -23909,7 +23909,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "11108:152:0", + "src": "11061:152:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -23917,7 +23917,7 @@ }, "id": 544, "nodeType": "ExpressionStatement", - "src": "11108:152:0" + "src": "11061:152:0" }, { "expression": { @@ -23938,7 +23938,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "11271:12:0", + "src": "11224:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -23952,7 +23952,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 507, - "src": "11284:10:0", + "src": "11237:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -23963,7 +23963,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "11271:24:0", + "src": "11224:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -23977,7 +23977,7 @@ "memberName": "status", "nodeType": "MemberAccess", "referencedDeclaration": 44, - "src": "11271:31:0", + "src": "11224:31:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$9", "typeString": "enum Escrow_v1_0.Status" @@ -23994,7 +23994,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9, - "src": "11305:6:0", + "src": "11258:6:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_Status_$9_$", "typeString": "type(enum Escrow_v1_0.Status)" @@ -24008,13 +24008,13 @@ "memberName": "RELEASED", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "11305:15:0", + "src": "11258:15:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$9", "typeString": "enum Escrow_v1_0.Status" } }, - "src": "11271:49:0", + "src": "11224:49:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$9", "typeString": "enum Escrow_v1_0.Status" @@ -24022,7 +24022,7 @@ }, "id": 552, "nodeType": "ExpressionStatement", - "src": "11271:49:0" + "src": "11224:49:0" }, { "expression": { @@ -24043,7 +24043,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "11404:12:0", + "src": "11357:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -24057,7 +24057,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 507, - "src": "11417:10:0", + "src": "11370:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -24068,7 +24068,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "11404:24:0", + "src": "11357:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -24082,7 +24082,7 @@ "memberName": "lastModified", "nodeType": "MemberAccess", "referencedDeclaration": 42, - "src": "11404:37:0", + "src": "11357:37:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -24099,7 +24099,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1374, - "src": "11444:5:0", + "src": "11397:5:0", "typeDescriptions": { "typeIdentifier": "t_magic_block", "typeString": "block" @@ -24113,13 +24113,13 @@ "memberName": "timestamp", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "11444:15:0", + "src": "11397:15:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "11404:55:0", + "src": "11357:55:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -24127,7 +24127,7 @@ }, "id": 560, "nodeType": "ExpressionStatement", - "src": "11404:55:0" + "src": "11357:55:0" }, { "expression": { @@ -24154,7 +24154,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 507, - "src": "11504:10:0", + "src": "11457:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -24167,7 +24167,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 510, - "src": "11516:12:0", + "src": "11469:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" @@ -24180,7 +24180,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 513, - "src": "11530:7:0", + "src": "11483:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", "typeString": "uint256[] calldata" @@ -24207,7 +24207,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 893, - "src": "11490:13:0", + "src": "11443:13:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$_t_uint256_$", "typeString": "function (bytes32,address[] memory,uint256[] memory) returns (uint256)" @@ -24221,7 +24221,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "11490:48:0", + "src": "11443:48:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -24240,7 +24240,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "11542:12:0", + "src": "11495:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -24254,7 +24254,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 507, - "src": "11555:10:0", + "src": "11508:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -24265,7 +24265,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "11542:24:0", + "src": "11495:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -24279,13 +24279,13 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": 40, - "src": "11542:30:0", + "src": "11495:30:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "11490:82:0", + "src": "11443:82:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -24301,7 +24301,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "11586:74:0", + "src": "11539:74:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_9e0bdb14e2e0d5e118fd1f547268c6a1fdb5e8facacd614066d4b60bc2c9941d", @@ -24329,7 +24329,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "11469:7:0", + "src": "11422:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -24343,7 +24343,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "11469:201:0", + "src": "11422:201:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -24351,7 +24351,7 @@ }, "id": 574, "nodeType": "ExpressionStatement", - "src": "11469:201:0" + "src": "11422:201:0" }, { "eventCall": { @@ -24364,7 +24364,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 507, - "src": "11703:10:0", + "src": "11656:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -24377,7 +24377,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 510, - "src": "11715:12:0", + "src": "11668:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" @@ -24390,7 +24390,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 513, - "src": "11729:7:0", + "src": "11682:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", "typeString": "uint256[] calldata" @@ -24417,7 +24417,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 22, - "src": "11694:8:0", + "src": "11647:8:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$__$", "typeString": "function (bytes32,address[] memory,uint256[] memory)" @@ -24431,7 +24431,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "11694:43:0", + "src": "11647:43:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -24439,11 +24439,11 @@ }, "id": 580, "nodeType": "EmitStatement", - "src": "11689:48:0" + "src": "11642:48:0" } ] }, - "documentation": "dev Allows one of the moderator to collect all the signature to solve dispute and submit it to this method.\nIf all the required signatures are collected and consensus has been reached than funds will be released to the voted party\nparam sigV Array containing V component of all the signatures\nparam sigR Array containing R component of all the signatures\nparam signS Array containing S component of all the signatures\nparam scriptHash script hash of the transaction\nparam destinations address of the destination in whose favour dispute resolution is taking place. In case of split payments it will be address of the split payments contract\nparam amounts value to send to each destination", + "documentation": "dev This method will be used to release funds associated with the transaction\nPlease see specs https://github.com/OpenBazaar/smart-contracts/blob/master/contracts/escrow/EscrowSpec.md\nparam sigV Array containing V component of all the signatures\nparam sigR Array containing R component of all the signatures\nparam signS Array containing S component of all the signatures\nparam scriptHash script hash of the transaction\nparam destinations address of the destination in whose favour dispute resolution is taking place. In case of split payments it will be address of the split payments contract\nparam amounts value to send to each destination", "id": 582, "implemented": true, "isConstructor": false, @@ -24458,7 +24458,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 507, - "src": "10904:10:0", + "src": "10857:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -24473,14 +24473,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 99, - "src": "10886:17:0", + "src": "10839:17:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "10886:29:0" + "src": "10839:29:0" }, { "arguments": [ @@ -24491,7 +24491,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 507, - "src": "10938:10:0", + "src": "10891:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -24506,14 +24506,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 132, - "src": "10924:13:0", + "src": "10877:13:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "10924:25:0" + "src": "10877:25:0" } ], "name": "execute", @@ -24528,7 +24528,7 @@ "name": "sigV", "nodeType": "VariableDeclaration", "scope": 582, - "src": "10707:12:0", + "src": "10660:12:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -24540,7 +24540,7 @@ "id": 497, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "10707:5:0", + "src": "10660:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -24549,7 +24549,7 @@ "id": 498, "length": null, "nodeType": "ArrayTypeName", - "src": "10707:7:0", + "src": "10660:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_storage_ptr", "typeString": "uint8[]" @@ -24564,7 +24564,7 @@ "name": "sigR", "nodeType": "VariableDeclaration", "scope": 582, - "src": "10729:14:0", + "src": "10682:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -24576,7 +24576,7 @@ "id": 500, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "10729:7:0", + "src": "10682:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -24585,7 +24585,7 @@ "id": 501, "length": null, "nodeType": "ArrayTypeName", - "src": "10729:9:0", + "src": "10682:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -24600,7 +24600,7 @@ "name": "sigS", "nodeType": "VariableDeclaration", "scope": 582, - "src": "10753:14:0", + "src": "10706:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -24612,7 +24612,7 @@ "id": 503, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "10753:7:0", + "src": "10706:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -24621,7 +24621,7 @@ "id": 504, "length": null, "nodeType": "ArrayTypeName", - "src": "10753:9:0", + "src": "10706:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -24636,7 +24636,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 582, - "src": "10777:18:0", + "src": "10730:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -24647,7 +24647,7 @@ "id": 506, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "10777:7:0", + "src": "10730:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -24662,7 +24662,7 @@ "name": "destinations", "nodeType": "VariableDeclaration", "scope": 582, - "src": "10805:22:0", + "src": "10758:22:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -24674,7 +24674,7 @@ "id": 508, "name": "address", "nodeType": "ElementaryTypeName", - "src": "10805:7:0", + "src": "10758:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -24683,7 +24683,7 @@ "id": 509, "length": null, "nodeType": "ArrayTypeName", - "src": "10805:9:0", + "src": "10758:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", "typeString": "address[]" @@ -24698,7 +24698,7 @@ "name": "amounts", "nodeType": "VariableDeclaration", "scope": 582, - "src": "10837:17:0", + "src": "10790:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -24710,7 +24710,7 @@ "id": 511, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "10837:7:0", + "src": "10790:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -24719,7 +24719,7 @@ "id": 512, "length": null, "nodeType": "ArrayTypeName", - "src": "10837:9:0", + "src": "10790:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -24729,17 +24729,17 @@ "visibility": "internal" } ], - "src": "10697:163:0" + "src": "10650:163:0" }, "payable": false, "returnParameters": { "id": 521, "nodeType": "ParameterList", "parameters": [], - "src": "10954:0:0" + "src": "10907:0:0" }, "scope": 1211, - "src": "10681:1063:0", + "src": "10634:1063:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" @@ -24748,7 +24748,7 @@ "body": { "id": 636, "nodeType": "Block", - "src": "12498:716:0", + "src": "12451:716:0", "statements": [ { "condition": { @@ -24769,7 +24769,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 596, - "src": "12512:12:0", + "src": "12465:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -24790,7 +24790,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "12536:1:0", + "src": "12489:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -24812,7 +24812,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "12528:7:0", + "src": "12481:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" @@ -24827,13 +24827,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "12528:10:0", + "src": "12481:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "12512:26:0", + "src": "12465:26:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -24842,7 +24842,7 @@ "falseBody": { "id": 634, "nodeType": "Block", - "src": "12860:348:0", + "src": "12813:348:0", "statements": [ { "expression": { @@ -24858,7 +24858,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 584, - "src": "12946:8:0", + "src": "12899:8:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -24871,7 +24871,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 586, - "src": "12976:9:0", + "src": "12929:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -24884,7 +24884,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 588, - "src": "13007:12:0", + "src": "12960:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -24897,7 +24897,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 590, - "src": "13041:5:0", + "src": "12994:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -24910,7 +24910,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 592, - "src": "13068:6:0", + "src": "13021:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -24923,7 +24923,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 594, - "src": "13096:9:0", + "src": "13049:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -24936,7 +24936,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1401, - "src": "13127:4:0", + "src": "13080:4:0", "typeDescriptions": { "typeIdentifier": "t_contract$_Escrow_v1_0_$1211", "typeString": "contract Escrow_v1_0" @@ -24949,7 +24949,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 596, - "src": "13153:12:0", + "src": "13106:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -24998,7 +24998,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1371, - "src": "12908:3:0", + "src": "12861:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" @@ -25012,7 +25012,7 @@ "memberName": "encodePacked", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "12908:16:0", + "src": "12861:16:0", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" @@ -25026,7 +25026,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "12908:275:0", + "src": "12861:275:0", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -25045,7 +25045,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1378, - "src": "12881:9:0", + "src": "12834:9:0", "typeDescriptions": { "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", "typeString": "function () pure returns (bytes32)" @@ -25059,7 +25059,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "12881:316:0", + "src": "12834:316:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -25068,17 +25068,17 @@ "functionReturnParameters": 600, "id": 633, "nodeType": "Return", - "src": "12874:323:0" + "src": "12827:323:0" } ] }, "id": 635, "nodeType": "IfStatement", - "src": "12508:700:0", + "src": "12461:700:0", "trueBody": { "id": 619, "nodeType": "Block", - "src": "12540:314:0", + "src": "12493:314:0", "statements": [ { "expression": { @@ -25094,7 +25094,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 584, - "src": "12626:8:0", + "src": "12579:8:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -25107,7 +25107,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 586, - "src": "12656:9:0", + "src": "12609:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -25120,7 +25120,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 588, - "src": "12687:12:0", + "src": "12640:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -25133,7 +25133,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 590, - "src": "12721:5:0", + "src": "12674:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -25146,7 +25146,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 592, - "src": "12748:6:0", + "src": "12701:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -25159,7 +25159,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 594, - "src": "12776:9:0", + "src": "12729:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -25172,7 +25172,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1401, - "src": "12807:4:0", + "src": "12760:4:0", "typeDescriptions": { "typeIdentifier": "t_contract$_Escrow_v1_0_$1211", "typeString": "contract Escrow_v1_0" @@ -25217,7 +25217,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1371, - "src": "12588:3:0", + "src": "12541:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" @@ -25231,7 +25231,7 @@ "memberName": "encodePacked", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "12588:16:0", + "src": "12541:16:0", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" @@ -25245,7 +25245,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "12588:241:0", + "src": "12541:241:0", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -25264,7 +25264,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1378, - "src": "12561:9:0", + "src": "12514:9:0", "typeDescriptions": { "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", "typeString": "function () pure returns (bytes32)" @@ -25278,7 +25278,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "12561:282:0", + "src": "12514:282:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -25287,7 +25287,7 @@ "functionReturnParameters": 600, "id": 618, "nodeType": "Return", - "src": "12554:289:0" + "src": "12507:289:0" } ] } @@ -25312,7 +25312,7 @@ "name": "uniqueId", "nodeType": "VariableDeclaration", "scope": 637, - "src": "12259:16:0", + "src": "12212:16:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -25323,7 +25323,7 @@ "id": 583, "name": "bytes20", "nodeType": "ElementaryTypeName", - "src": "12259:7:0", + "src": "12212:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -25338,7 +25338,7 @@ "name": "threshold", "nodeType": "VariableDeclaration", "scope": 637, - "src": "12285:15:0", + "src": "12238:15:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -25349,7 +25349,7 @@ "id": 585, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "12285:5:0", + "src": "12238:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -25364,7 +25364,7 @@ "name": "timeoutHours", "nodeType": "VariableDeclaration", "scope": 637, - "src": "12310:19:0", + "src": "12263:19:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -25375,7 +25375,7 @@ "id": 587, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "12310:6:0", + "src": "12263:6:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -25390,7 +25390,7 @@ "name": "buyer", "nodeType": "VariableDeclaration", "scope": 637, - "src": "12339:13:0", + "src": "12292:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -25401,7 +25401,7 @@ "id": 589, "name": "address", "nodeType": "ElementaryTypeName", - "src": "12339:7:0", + "src": "12292:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -25416,7 +25416,7 @@ "name": "seller", "nodeType": "VariableDeclaration", "scope": 637, - "src": "12362:14:0", + "src": "12315:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -25427,7 +25427,7 @@ "id": 591, "name": "address", "nodeType": "ElementaryTypeName", - "src": "12362:7:0", + "src": "12315:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -25442,7 +25442,7 @@ "name": "moderator", "nodeType": "VariableDeclaration", "scope": 637, - "src": "12386:17:0", + "src": "12339:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -25453,7 +25453,7 @@ "id": 593, "name": "address", "nodeType": "ElementaryTypeName", - "src": "12386:7:0", + "src": "12339:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -25468,7 +25468,7 @@ "name": "tokenAddress", "nodeType": "VariableDeclaration", "scope": 637, - "src": "12413:20:0", + "src": "12366:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -25479,7 +25479,7 @@ "id": 595, "name": "address", "nodeType": "ElementaryTypeName", - "src": "12413:7:0", + "src": "12366:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -25489,7 +25489,7 @@ "visibility": "internal" } ], - "src": "12249:190:0" + "src": "12202:190:0" }, "payable": false, "returnParameters": { @@ -25502,7 +25502,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 637, - "src": "12485:7:0", + "src": "12438:7:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -25513,7 +25513,7 @@ "id": 598, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "12485:7:0", + "src": "12438:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -25523,10 +25523,10 @@ "visibility": "internal" } ], - "src": "12484:9:0" + "src": "12437:9:0" }, "scope": 1211, - "src": "12215:999:0", + "src": "12168:999:0", "stateMutability": "view", "superFunction": null, "visibility": "public" @@ -25535,7 +25535,7 @@ "body": { "id": 705, "nodeType": "Block", - "src": "13698:795:0", + "src": "13651:795:0", "statements": [ { "assignments": [ @@ -25548,7 +25548,7 @@ "name": "lastRecovered", "nodeType": "VariableDeclaration", "scope": 706, - "src": "13708:21:0", + "src": "13661:21:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -25559,7 +25559,7 @@ "id": 657, "name": "address", "nodeType": "ElementaryTypeName", - "src": "13708:7:0", + "src": "13661:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -25580,7 +25580,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 640, - "src": "13762:4:0", + "src": "13715:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr", "typeString": "uint8[] memory" @@ -25593,7 +25593,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 643, - "src": "13780:4:0", + "src": "13733:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" @@ -25606,7 +25606,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 646, - "src": "13798:4:0", + "src": "13751:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" @@ -25619,7 +25619,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 648, - "src": "13816:10:0", + "src": "13769:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -25632,7 +25632,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 651, - "src": "13840:12:0", + "src": "13793:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -25645,7 +25645,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 654, - "src": "13866:7:0", + "src": "13819:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" @@ -25684,7 +25684,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1022, - "src": "13732:16:0", + "src": "13685:16:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_array$_t_uint8_$dyn_memory_ptr_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_bytes32_$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$_t_address_$", "typeString": "function (uint8[] memory,bytes32[] memory,bytes32[] memory,bytes32,address[] memory,uint256[] memory) returns (address)" @@ -25698,14 +25698,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "13732:151:0", + "src": "13685:151:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "VariableDeclarationStatement", - "src": "13708:175:0" + "src": "13661:175:0" }, { "assignments": [ @@ -25718,7 +25718,7 @@ "name": "timeLockExpired", "nodeType": "VariableDeclaration", "scope": 706, - "src": "13894:20:0", + "src": "13847:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -25729,7 +25729,7 @@ "id": 668, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "13894:4:0", + "src": "13847:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -25754,7 +25754,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "13948:12:0", + "src": "13901:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -25768,7 +25768,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 648, - "src": "13961:10:0", + "src": "13914:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -25779,7 +25779,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "13948:24:0", + "src": "13901:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -25793,7 +25793,7 @@ "memberName": "timeoutHours", "nodeType": "MemberAccess", "referencedDeclaration": 50, - "src": "13948:37:0", + "src": "13901:37:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -25810,7 +25810,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "13999:12:0", + "src": "13952:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -25824,7 +25824,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 648, - "src": "14012:10:0", + "src": "13965:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -25835,7 +25835,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "13999:24:0", + "src": "13952:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -25849,7 +25849,7 @@ "memberName": "lastModified", "nodeType": "MemberAccess", "referencedDeclaration": 42, - "src": "13999:37:0", + "src": "13952:37:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -25872,7 +25872,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1054, - "src": "13917:17:0", + "src": "13870:17:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_uint32_$_t_uint256_$returns$_t_bool_$", "typeString": "function (uint32,uint256) view returns (bool)" @@ -25886,14 +25886,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "13917:129:0", + "src": "13870:129:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "nodeType": "VariableDeclarationStatement", - "src": "13894:152:0" + "src": "13847:152:0" }, { "condition": { @@ -25927,7 +25927,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 640, - "src": "14218:4:0", + "src": "14171:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr", "typeString": "uint8[] memory" @@ -25941,7 +25941,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "14218:11:0", + "src": "14171:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -25960,7 +25960,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "14232:12:0", + "src": "14185:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -25974,7 +25974,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 648, - "src": "14245:10:0", + "src": "14198:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -25985,7 +25985,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "14232:24:0", + "src": "14185:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -25999,13 +25999,13 @@ "memberName": "threshold", "nodeType": "MemberAccess", "referencedDeclaration": 48, - "src": "14232:34:0", + "src": "14185:34:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, - "src": "14218:48:0", + "src": "14171:48:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -26037,7 +26037,7 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "14271:16:0", + "src": "14224:16:0", "subExpression": { "argumentTypes": null, "id": 688, @@ -26045,7 +26045,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 669, - "src": "14272:15:0", + "src": "14225:15:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -26076,7 +26076,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 658, - "src": "14291:13:0", + "src": "14244:13:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -26095,7 +26095,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "14308:12:0", + "src": "14261:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -26109,7 +26109,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 648, - "src": "14321:10:0", + "src": "14274:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -26120,7 +26120,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "14308:24:0", + "src": "14261:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -26134,19 +26134,19 @@ "memberName": "seller", "nodeType": "MemberAccess", "referencedDeclaration": 54, - "src": "14308:31:0", + "src": "14261:31:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "14291:48:0", + "src": "14244:48:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "14271:68:0", + "src": "14224:68:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -26160,13 +26160,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "14270:70:0", + "src": "14223:70:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "14218:122:0", + "src": "14171:122:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -26175,11 +26175,11 @@ "falseBody": null, "id": 704, "nodeType": "IfStatement", - "src": "14197:289:0", + "src": "14150:289:0", "trueBody": { "id": 703, "nodeType": "Block", - "src": "14363:123:0", + "src": "14316:123:0", "statements": [ { "expression": { @@ -26195,7 +26195,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "14384:90:0", + "src": "14337:90:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_e454643f61f81e3a3dc8dabaafde295fea592e232abeb03abbb1835bdc3d20d0", @@ -26219,7 +26219,7 @@ 1390 ], "referencedDeclaration": 1390, - "src": "14377:6:0", + "src": "14330:6:0", "typeDescriptions": { "typeIdentifier": "t_function_revert_pure$_t_string_memory_ptr_$returns$__$", "typeString": "function (string memory) pure" @@ -26233,7 +26233,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "14377:98:0", + "src": "14330:98:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -26241,7 +26241,7 @@ }, "id": 702, "nodeType": "ExpressionStatement", - "src": "14377:98:0" + "src": "14330:98:0" } ] } @@ -26266,7 +26266,7 @@ "name": "sigV", "nodeType": "VariableDeclaration", "scope": 706, - "src": "13524:12:0", + "src": "13477:12:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -26278,7 +26278,7 @@ "id": 638, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "13524:5:0", + "src": "13477:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -26287,7 +26287,7 @@ "id": 639, "length": null, "nodeType": "ArrayTypeName", - "src": "13524:7:0", + "src": "13477:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_storage_ptr", "typeString": "uint8[]" @@ -26302,7 +26302,7 @@ "name": "sigR", "nodeType": "VariableDeclaration", "scope": 706, - "src": "13546:14:0", + "src": "13499:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -26314,7 +26314,7 @@ "id": 641, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "13546:7:0", + "src": "13499:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -26323,7 +26323,7 @@ "id": 642, "length": null, "nodeType": "ArrayTypeName", - "src": "13546:9:0", + "src": "13499:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -26338,7 +26338,7 @@ "name": "sigS", "nodeType": "VariableDeclaration", "scope": 706, - "src": "13570:14:0", + "src": "13523:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -26350,7 +26350,7 @@ "id": 644, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "13570:7:0", + "src": "13523:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -26359,7 +26359,7 @@ "id": 645, "length": null, "nodeType": "ArrayTypeName", - "src": "13570:9:0", + "src": "13523:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -26374,7 +26374,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 706, - "src": "13594:18:0", + "src": "13547:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -26385,7 +26385,7 @@ "id": 647, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "13594:7:0", + "src": "13547:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -26400,7 +26400,7 @@ "name": "destinations", "nodeType": "VariableDeclaration", "scope": 706, - "src": "13622:22:0", + "src": "13575:22:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -26412,7 +26412,7 @@ "id": 649, "name": "address", "nodeType": "ElementaryTypeName", - "src": "13622:7:0", + "src": "13575:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -26421,7 +26421,7 @@ "id": 650, "length": null, "nodeType": "ArrayTypeName", - "src": "13622:9:0", + "src": "13575:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", "typeString": "address[]" @@ -26436,7 +26436,7 @@ "name": "amounts", "nodeType": "VariableDeclaration", "scope": 706, - "src": "13654:17:0", + "src": "13607:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -26448,7 +26448,7 @@ "id": 652, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "13654:7:0", + "src": "13607:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -26457,7 +26457,7 @@ "id": 653, "length": null, "nodeType": "ArrayTypeName", - "src": "13654:9:0", + "src": "13607:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -26467,17 +26467,17 @@ "visibility": "internal" } ], - "src": "13514:163:0" + "src": "13467:163:0" }, "payable": false, "returnParameters": { "id": 656, "nodeType": "ParameterList", "parameters": [], - "src": "13698:0:0" + "src": "13651:0:0" }, "scope": 1211, - "src": "13488:1005:0", + "src": "13441:1005:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "private" @@ -26486,7 +26486,7 @@ "body": { "id": 892, "nodeType": "Block", - "src": "14779:1447:0", + "src": "14732:1447:0", "statements": [ { "assignments": [ @@ -26499,7 +26499,7 @@ "name": "t", "nodeType": "VariableDeclaration", "scope": 893, - "src": "14789:21:0", + "src": "14742:21:0", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { @@ -26512,7 +26512,7 @@ "name": "Transaction", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 71, - "src": "14789:11:0", + "src": "14742:11:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction" @@ -26532,7 +26532,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "14813:12:0", + "src": "14766:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -26546,7 +26546,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 708, - "src": "14826:10:0", + "src": "14779:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -26557,14 +26557,14 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "14813:24:0", + "src": "14766:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "14789:48:0" + "src": "14742:48:0" }, { "assignments": [ @@ -26577,7 +26577,7 @@ "name": "valueTransferred", "nodeType": "VariableDeclaration", "scope": 893, - "src": "14848:24:0", + "src": "14801:24:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -26588,7 +26588,7 @@ "id": 725, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "14848:7:0", + "src": "14801:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -26609,7 +26609,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "14875:1:0", + "src": "14828:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -26618,7 +26618,7 @@ "value": "0" }, "nodeType": "VariableDeclarationStatement", - "src": "14848:28:0" + "src": "14801:28:0" }, { "condition": { @@ -26641,7 +26641,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 720, - "src": "14891:1:0", + "src": "14844:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" @@ -26655,7 +26655,7 @@ "memberName": "transactionType", "nodeType": "MemberAccess", "referencedDeclaration": 46, - "src": "14891:17:0", + "src": "14844:17:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -26672,7 +26672,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12, - "src": "14912:15:0", + "src": "14865:15:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_TransactionType_$12_$", "typeString": "type(enum Escrow_v1_0.TransactionType)" @@ -26686,13 +26686,13 @@ "memberName": "ETHER", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "14912:21:0", + "src": "14865:21:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" } }, - "src": "14891:42:0", + "src": "14844:42:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -26719,7 +26719,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 720, - "src": "15532:1:0", + "src": "15485:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" @@ -26733,7 +26733,7 @@ "memberName": "transactionType", "nodeType": "MemberAccess", "referencedDeclaration": 46, - "src": "15532:17:0", + "src": "15485:17:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -26750,7 +26750,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12, - "src": "15553:15:0", + "src": "15506:15:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_TransactionType_$12_$", "typeString": "type(enum Escrow_v1_0.TransactionType)" @@ -26764,13 +26764,13 @@ "memberName": "TOKEN", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "15553:21:0", + "src": "15506:21:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" } }, - "src": "15532:42:0", + "src": "15485:42:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -26779,11 +26779,11 @@ "falseBody": null, "id": 888, "nodeType": "IfStatement", - "src": "15528:658:0", + "src": "15481:658:0", "trueBody": { "id": 887, "nodeType": "Block", - "src": "15576:610:0", + "src": "15529:610:0", "statements": [ { "assignments": [ @@ -26796,7 +26796,7 @@ "name": "token", "nodeType": "VariableDeclaration", "scope": 893, - "src": "15591:20:0", + "src": "15544:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -26809,7 +26809,7 @@ "name": "ITokenContract", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 1241, - "src": "15591:14:0", + "src": "15544:14:0", "typeDescriptions": { "typeIdentifier": "t_contract$_ITokenContract_$1241", "typeString": "contract ITokenContract" @@ -26832,7 +26832,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 720, - "src": "15629:1:0", + "src": "15582:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" @@ -26846,7 +26846,7 @@ "memberName": "tokenAddress", "nodeType": "MemberAccess", "referencedDeclaration": 56, - "src": "15629:14:0", + "src": "15582:14:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -26865,7 +26865,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1241, - "src": "15614:14:0", + "src": "15567:14:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_ITokenContract_$1241_$", "typeString": "type(contract ITokenContract)" @@ -26879,20 +26879,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15614:30:0", + "src": "15567:30:0", "typeDescriptions": { "typeIdentifier": "t_contract$_ITokenContract_$1241", "typeString": "contract ITokenContract" } }, "nodeType": "VariableDeclarationStatement", - "src": "15591:53:0" + "src": "15544:53:0" }, { "body": { "id": 885, "nodeType": "Block", - "src": "15707:469:0", + "src": "15660:469:0", "statements": [ { "expression": { @@ -26929,7 +26929,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 711, - "src": "15734:12:0", + "src": "15687:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -26943,7 +26943,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 816, - "src": "15747:1:0", + "src": "15700:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -26954,7 +26954,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15734:15:0", + "src": "15687:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -26975,7 +26975,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "15761:1:0", + "src": "15714:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -26997,7 +26997,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "15753:7:0", + "src": "15706:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" @@ -27012,13 +27012,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15753:10:0", + "src": "15706:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "15734:29:0", + "src": "15687:29:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -27037,7 +27037,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 720, - "src": "15767:1:0", + "src": "15720:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" @@ -27051,7 +27051,7 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "15767:9:0", + "src": "15720:9:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -27067,7 +27067,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 711, - "src": "15777:12:0", + "src": "15730:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -27081,7 +27081,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 816, - "src": "15790:1:0", + "src": "15743:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27092,7 +27092,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15777:15:0", + "src": "15730:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -27103,13 +27103,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15767:26:0", + "src": "15720:26:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "15734:59:0", + "src": "15687:59:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -27125,7 +27125,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "15795:25:0", + "src": "15748:25:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_4b4c116dbf18274831a2b569c567d9fd9a0e9828a6c86ee9f93e80400fb6c49f", @@ -27153,7 +27153,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "15726:7:0", + "src": "15679:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -27167,7 +27167,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15726:95:0", + "src": "15679:95:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -27175,7 +27175,7 @@ }, "id": 843, "nodeType": "ExpressionStatement", - "src": "15726:95:0" + "src": "15679:95:0" }, { "expression": { @@ -27201,7 +27201,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 714, - "src": "15847:7:0", + "src": "15800:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" @@ -27215,7 +27215,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 816, - "src": "15855:1:0", + "src": "15808:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27226,7 +27226,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15847:10:0", + "src": "15800:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27244,7 +27244,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "15860:1:0", + "src": "15813:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -27252,7 +27252,7 @@ }, "value": "0" }, - "src": "15847:14:0", + "src": "15800:14:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -27268,7 +27268,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "15863:44:0", + "src": "15816:44:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_5e1271a09dbb64ae031de288deb0ad8d707df7db51d6e827931dc8fa6642a71e", @@ -27296,7 +27296,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "15839:7:0", + "src": "15792:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -27310,7 +27310,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15839:69:0", + "src": "15792:69:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -27318,7 +27318,7 @@ }, "id": 852, "nodeType": "ExpressionStatement", - "src": "15839:69:0" + "src": "15792:69:0" }, { "expression": { @@ -27335,7 +27335,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 726, - "src": "15927:16:0", + "src": "15880:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27355,7 +27355,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 714, - "src": "15967:7:0", + "src": "15920:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" @@ -27369,7 +27369,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 816, - "src": "15975:1:0", + "src": "15928:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27380,7 +27380,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15967:10:0", + "src": "15920:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27401,7 +27401,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 726, - "src": "15946:16:0", + "src": "15899:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27415,7 +27415,7 @@ "memberName": "add", "nodeType": "MemberAccess", "referencedDeclaration": 1348, - "src": "15946:20:0", + "src": "15899:20:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" @@ -27429,13 +27429,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15946:32:0", + "src": "15899:32:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "15927:51:0", + "src": "15880:51:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27443,7 +27443,7 @@ }, "id": 861, "nodeType": "ExpressionStatement", - "src": "15927:51:0" + "src": "15880:51:0" }, { "expression": { @@ -27464,7 +27464,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 720, - "src": "15996:1:0", + "src": "15949:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" @@ -27478,7 +27478,7 @@ "memberName": "beneficiaries", "nodeType": "MemberAccess", "referencedDeclaration": 70, - "src": "15996:15:0", + "src": "15949:15:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -27494,7 +27494,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 711, - "src": "16012:12:0", + "src": "15965:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -27508,7 +27508,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 816, - "src": "16025:1:0", + "src": "15978:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27519,7 +27519,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "16012:15:0", + "src": "15965:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -27530,7 +27530,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "15996:32:0", + "src": "15949:32:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -27548,7 +27548,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "16031:4:0", + "src": "15984:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -27556,7 +27556,7 @@ }, "value": "true" }, - "src": "15996:39:0", + "src": "15949:39:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -27564,7 +27564,7 @@ }, "id": 871, "nodeType": "ExpressionStatement", - "src": "15996:39:0" + "src": "15949:39:0" }, { "expression": { @@ -27582,7 +27582,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 711, - "src": "16106:12:0", + "src": "16059:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -27596,7 +27596,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 816, - "src": "16119:1:0", + "src": "16072:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27607,7 +27607,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "16106:15:0", + "src": "16059:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -27622,7 +27622,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 714, - "src": "16123:7:0", + "src": "16076:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" @@ -27636,7 +27636,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 816, - "src": "16131:1:0", + "src": "16084:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27647,7 +27647,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "16123:10:0", + "src": "16076:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27672,7 +27672,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 809, - "src": "16091:5:0", + "src": "16044:5:0", "typeDescriptions": { "typeIdentifier": "t_contract$_ITokenContract_$1241", "typeString": "contract ITokenContract" @@ -27686,7 +27686,7 @@ "memberName": "transfer", "nodeType": "MemberAccess", "referencedDeclaration": 1229, - "src": "16091:14:0", + "src": "16044:14:0", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", "typeString": "function (address,uint256) external returns (bool)" @@ -27700,7 +27700,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16091:43:0", + "src": "16044:43:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -27716,7 +27716,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "16136:24:0", + "src": "16089:24:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_e545223bb79d8456d66fa5a98897abb42bb4807111f004a120200da3b7e292c5", @@ -27744,7 +27744,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "16083:7:0", + "src": "16036:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -27758,7 +27758,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16083:78:0", + "src": "16036:78:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -27766,7 +27766,7 @@ }, "id": 884, "nodeType": "ExpressionStatement", - "src": "16083:78:0" + "src": "16036:78:0" } ] }, @@ -27788,7 +27788,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 816, - "src": "15679:1:0", + "src": "15632:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27805,7 +27805,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 711, - "src": "15681:12:0", + "src": "15634:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -27819,13 +27819,13 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "15681:19:0", + "src": "15634:19:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "15679:21:0", + "src": "15632:21:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -27843,7 +27843,7 @@ "name": "j", "nodeType": "VariableDeclaration", "scope": 893, - "src": "15664:9:0", + "src": "15617:9:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -27854,7 +27854,7 @@ "id": 815, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "15664:7:0", + "src": "15617:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27875,7 +27875,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "15676:1:0", + "src": "15629:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -27884,7 +27884,7 @@ "value": "0" }, "nodeType": "VariableDeclarationStatement", - "src": "15664:13:0" + "src": "15617:13:0" }, "loopExpression": { "expression": { @@ -27897,7 +27897,7 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "15702:3:0", + "src": "15655:3:0", "subExpression": { "argumentTypes": null, "id": 823, @@ -27905,7 +27905,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 816, - "src": "15702:1:0", + "src": "15655:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27918,27 +27918,27 @@ }, "id": 825, "nodeType": "ExpressionStatement", - "src": "15702:3:0" + "src": "15655:3:0" }, "nodeType": "ForStatement", - "src": "15659:517:0" + "src": "15612:517:0" } ] } }, "id": 889, "nodeType": "IfStatement", - "src": "14887:1299:0", + "src": "14840:1299:0", "trueBody": { "id": 802, "nodeType": "Block", - "src": "14935:587:0", + "src": "14888:587:0", "statements": [ { "body": { "id": 800, "nodeType": "Block", - "src": "14999:512:0", + "src": "14952:512:0", "statements": [ { "expression": { @@ -27975,7 +27975,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 711, - "src": "15026:12:0", + "src": "14979:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -27989,7 +27989,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 735, - "src": "15039:1:0", + "src": "14992:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28000,7 +28000,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15026:15:0", + "src": "14979:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -28021,7 +28021,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "15053:1:0", + "src": "15006:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -28043,7 +28043,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "15045:7:0", + "src": "14998:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" @@ -28058,13 +28058,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15045:10:0", + "src": "14998:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "15026:29:0", + "src": "14979:29:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -28083,7 +28083,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 720, - "src": "15059:1:0", + "src": "15012:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" @@ -28097,7 +28097,7 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "15059:9:0", + "src": "15012:9:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -28113,7 +28113,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 711, - "src": "15069:12:0", + "src": "15022:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -28127,7 +28127,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 735, - "src": "15082:1:0", + "src": "15035:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28138,7 +28138,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15069:15:0", + "src": "15022:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -28149,13 +28149,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15059:26:0", + "src": "15012:26:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "15026:59:0", + "src": "14979:59:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -28171,7 +28171,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "15087:25:0", + "src": "15040:25:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_4b4c116dbf18274831a2b569c567d9fd9a0e9828a6c86ee9f93e80400fb6c49f", @@ -28199,7 +28199,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "15018:7:0", + "src": "14971:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -28213,7 +28213,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15018:95:0", + "src": "14971:95:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -28221,7 +28221,7 @@ }, "id": 762, "nodeType": "ExpressionStatement", - "src": "15018:95:0" + "src": "14971:95:0" }, { "expression": { @@ -28247,7 +28247,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 714, - "src": "15139:7:0", + "src": "15092:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" @@ -28261,7 +28261,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 735, - "src": "15147:1:0", + "src": "15100:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28272,7 +28272,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15139:10:0", + "src": "15092:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28290,7 +28290,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "15152:1:0", + "src": "15105:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -28298,7 +28298,7 @@ }, "value": "0" }, - "src": "15139:14:0", + "src": "15092:14:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -28314,7 +28314,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "15155:44:0", + "src": "15108:44:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_5e1271a09dbb64ae031de288deb0ad8d707df7db51d6e827931dc8fa6642a71e", @@ -28342,7 +28342,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "15131:7:0", + "src": "15084:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -28356,7 +28356,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15131:69:0", + "src": "15084:69:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -28364,7 +28364,7 @@ }, "id": 771, "nodeType": "ExpressionStatement", - "src": "15131:69:0" + "src": "15084:69:0" }, { "expression": { @@ -28381,7 +28381,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 726, - "src": "15219:16:0", + "src": "15172:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28401,7 +28401,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 714, - "src": "15259:7:0", + "src": "15212:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" @@ -28415,7 +28415,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 735, - "src": "15267:1:0", + "src": "15220:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28426,7 +28426,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15259:10:0", + "src": "15212:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28447,7 +28447,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 726, - "src": "15238:16:0", + "src": "15191:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28461,7 +28461,7 @@ "memberName": "add", "nodeType": "MemberAccess", "referencedDeclaration": 1348, - "src": "15238:20:0", + "src": "15191:20:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" @@ -28475,13 +28475,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15238:32:0", + "src": "15191:32:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "15219:51:0", + "src": "15172:51:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28489,7 +28489,7 @@ }, "id": 780, "nodeType": "ExpressionStatement", - "src": "15219:51:0" + "src": "15172:51:0" }, { "expression": { @@ -28510,7 +28510,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 720, - "src": "15289:1:0", + "src": "15242:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" @@ -28524,7 +28524,7 @@ "memberName": "beneficiaries", "nodeType": "MemberAccess", "referencedDeclaration": 70, - "src": "15289:15:0", + "src": "15242:15:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -28540,7 +28540,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 711, - "src": "15305:12:0", + "src": "15258:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -28554,7 +28554,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 735, - "src": "15318:1:0", + "src": "15271:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28565,7 +28565,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15305:15:0", + "src": "15258:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -28576,7 +28576,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "15289:32:0", + "src": "15242:32:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -28594,7 +28594,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "15324:4:0", + "src": "15277:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -28602,7 +28602,7 @@ }, "value": "true" }, - "src": "15289:39:0", + "src": "15242:39:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -28610,7 +28610,7 @@ }, "id": 790, "nodeType": "ExpressionStatement", - "src": "15289:39:0" + "src": "15242:39:0" }, { "expression": { @@ -28625,7 +28625,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 714, - "src": "15400:7:0", + "src": "15353:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" @@ -28639,7 +28639,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 735, - "src": "15408:1:0", + "src": "15361:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28650,7 +28650,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15400:10:0", + "src": "15353:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28673,7 +28673,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 711, - "src": "15375:12:0", + "src": "15328:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -28687,7 +28687,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 735, - "src": "15388:1:0", + "src": "15341:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28698,7 +28698,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15375:15:0", + "src": "15328:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -28712,7 +28712,7 @@ "memberName": "transfer", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "15375:24:0", + "src": "15328:24:0", "typeDescriptions": { "typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$", "typeString": "function (uint256)" @@ -28726,7 +28726,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15375:36:0", + "src": "15328:36:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -28734,7 +28734,7 @@ }, "id": 799, "nodeType": "ExpressionStatement", - "src": "15375:36:0" + "src": "15328:36:0" } ] }, @@ -28756,7 +28756,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 735, - "src": "14969:1:0", + "src": "14922:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28773,7 +28773,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 711, - "src": "14973:12:0", + "src": "14926:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -28787,13 +28787,13 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "14973:19:0", + "src": "14926:19:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "14969:23:0", + "src": "14922:23:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -28811,7 +28811,7 @@ "name": "i", "nodeType": "VariableDeclaration", "scope": 893, - "src": "14954:9:0", + "src": "14907:9:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -28822,7 +28822,7 @@ "id": 734, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "14954:7:0", + "src": "14907:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28843,7 +28843,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "14966:1:0", + "src": "14919:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -28852,7 +28852,7 @@ "value": "0" }, "nodeType": "VariableDeclarationStatement", - "src": "14954:13:0" + "src": "14907:13:0" }, "loopExpression": { "expression": { @@ -28865,7 +28865,7 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "14994:3:0", + "src": "14947:3:0", "subExpression": { "argumentTypes": null, "id": 742, @@ -28873,7 +28873,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 735, - "src": "14994:1:0", + "src": "14947:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28886,10 +28886,10 @@ }, "id": 744, "nodeType": "ExpressionStatement", - "src": "14994:3:0" + "src": "14947:3:0" }, "nodeType": "ForStatement", - "src": "14949:562:0" + "src": "14902:562:0" } ] } @@ -28902,7 +28902,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 726, - "src": "16203:16:0", + "src": "16156:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28911,7 +28911,7 @@ "functionReturnParameters": 718, "id": 891, "nodeType": "Return", - "src": "16196:23:0" + "src": "16149:23:0" } ] }, @@ -28933,7 +28933,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 893, - "src": "14651:18:0", + "src": "14604:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -28944,7 +28944,7 @@ "id": 707, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "14651:7:0", + "src": "14604:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -28959,7 +28959,7 @@ "name": "destinations", "nodeType": "VariableDeclaration", "scope": 893, - "src": "14679:21:0", + "src": "14632:21:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -28971,7 +28971,7 @@ "id": 709, "name": "address", "nodeType": "ElementaryTypeName", - "src": "14679:7:0", + "src": "14632:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -28980,7 +28980,7 @@ "id": 710, "length": null, "nodeType": "ArrayTypeName", - "src": "14679:9:0", + "src": "14632:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", "typeString": "address[]" @@ -28995,7 +28995,7 @@ "name": "amounts", "nodeType": "VariableDeclaration", "scope": 893, - "src": "14710:16:0", + "src": "14663:16:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -29007,7 +29007,7 @@ "id": 712, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "14710:7:0", + "src": "14663:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29016,7 +29016,7 @@ "id": 713, "length": null, "nodeType": "ArrayTypeName", - "src": "14710:9:0", + "src": "14663:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -29026,7 +29026,7 @@ "visibility": "internal" } ], - "src": "14641:91:0" + "src": "14594:91:0" }, "payable": false, "returnParameters": { @@ -29039,7 +29039,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 893, - "src": "14766:7:0", + "src": "14719:7:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -29050,7 +29050,7 @@ "id": 716, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "14766:7:0", + "src": "14719:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29060,10 +29060,10 @@ "visibility": "internal" } ], - "src": "14765:9:0" + "src": "14718:9:0" }, "scope": 1211, - "src": "14619:1607:0", + "src": "14572:1607:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "private" @@ -29072,7 +29072,7 @@ "body": { "id": 1021, "nodeType": "Block", - "src": "16644:1337:0", + "src": "16597:1337:0", "statements": [ { "expression": { @@ -29109,7 +29109,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 899, - "src": "16676:4:0", + "src": "16629:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" @@ -29123,7 +29123,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "16676:11:0", + "src": "16629:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29140,7 +29140,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 902, - "src": "16691:4:0", + "src": "16644:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" @@ -29154,13 +29154,13 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "16691:11:0", + "src": "16644:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "16676:26:0", + "src": "16629:26:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -29188,7 +29188,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 899, - "src": "16706:4:0", + "src": "16659:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" @@ -29202,7 +29202,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "16706:11:0", + "src": "16659:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29219,7 +29219,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 896, - "src": "16721:4:0", + "src": "16674:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr", "typeString": "uint8[] memory" @@ -29233,19 +29233,19 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "16721:11:0", + "src": "16674:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "16706:26:0", + "src": "16659:26:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "16676:56:0", + "src": "16629:56:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -29261,7 +29261,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "16747:24:0", + "src": "16700:24:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_f85073c8befb65baed58ca1ee563e5da0bdbdce8abd4d29ef22a8329c7c97506", @@ -29289,7 +29289,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "16655:7:0", + "src": "16608:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -29303,7 +29303,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16655:126:0", + "src": "16608:126:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -29311,7 +29311,7 @@ }, "id": 929, "nodeType": "ExpressionStatement", - "src": "16655:126:0" + "src": "16608:126:0" }, { "assignments": [], @@ -29322,7 +29322,7 @@ "name": "lastAddress", "nodeType": "VariableDeclaration", "scope": 1022, - "src": "16792:19:0", + "src": "16745:19:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -29333,7 +29333,7 @@ "id": 930, "name": "address", "nodeType": "ElementaryTypeName", - "src": "16792:7:0", + "src": "16745:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -29346,7 +29346,7 @@ "id": 932, "initialValue": null, "nodeType": "VariableDeclarationStatement", - "src": "16792:19:0" + "src": "16745:19:0" }, { "assignments": [ @@ -29359,7 +29359,7 @@ "name": "txHash", "nodeType": "VariableDeclaration", "scope": 1022, - "src": "16910:14:0", + "src": "16863:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -29370,7 +29370,7 @@ "id": 933, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "16910:7:0", + "src": "16863:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -29397,7 +29397,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "16984:34:0", + "src": "16937:34:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_178a2411ab6fbc1ba11064408972259c558d0e82fd48b0aba3ad81d14f065e73", @@ -29424,7 +29424,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "17114:4:0", + "src": "17067:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_25_by_1", @@ -29446,7 +29446,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "17109:4:0", + "src": "17062:4:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes1_$", "typeString": "type(bytes1)" @@ -29461,7 +29461,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17109:10:0", + "src": "17062:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes1", "typeString": "bytes1" @@ -29480,7 +29480,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "17150:1:0", + "src": "17103:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -29502,7 +29502,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "17145:4:0", + "src": "17098:4:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes1_$", "typeString": "type(bytes1)" @@ -29517,7 +29517,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17145:7:0", + "src": "17098:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes1", "typeString": "bytes1" @@ -29530,7 +29530,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1401, - "src": "17178:4:0", + "src": "17131:4:0", "typeDescriptions": { "typeIdentifier": "t_contract$_Escrow_v1_0_$1211", "typeString": "contract Escrow_v1_0" @@ -29543,7 +29543,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 907, - "src": "17208:12:0", + "src": "17161:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -29556,7 +29556,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 910, - "src": "17246:7:0", + "src": "17199:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" @@ -29569,7 +29569,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 904, - "src": "17279:10:0", + "src": "17232:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -29610,7 +29610,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1371, - "src": "17067:3:0", + "src": "17020:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" @@ -29624,7 +29624,7 @@ "memberName": "encodePacked", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "17067:16:0", + "src": "17020:16:0", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" @@ -29638,7 +29638,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17067:244:0", + "src": "17020:244:0", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -29657,7 +29657,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1378, - "src": "17036:9:0", + "src": "16989:9:0", "typeDescriptions": { "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", "typeString": "function () pure returns (bytes32)" @@ -29671,7 +29671,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17036:293:0", + "src": "16989:293:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -29696,7 +29696,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1371, - "src": "16950:3:0", + "src": "16903:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" @@ -29710,7 +29710,7 @@ "memberName": "encodePacked", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "16950:16:0", + "src": "16903:16:0", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" @@ -29724,7 +29724,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16950:393:0", + "src": "16903:393:0", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -29743,7 +29743,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1378, - "src": "16927:9:0", + "src": "16880:9:0", "typeDescriptions": { "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", "typeString": "function () pure returns (bytes32)" @@ -29757,20 +29757,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16927:426:0", + "src": "16880:426:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "nodeType": "VariableDeclarationStatement", - "src": "16910:443:0" + "src": "16863:443:0" }, { "body": { "id": 1017, "nodeType": "Block", - "src": "17403:543:0", + "src": "17356:543:0", "statements": [ { "assignments": [ @@ -29783,7 +29783,7 @@ "name": "recovered", "nodeType": "VariableDeclaration", "scope": 1022, - "src": "17418:17:0", + "src": "17371:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -29794,7 +29794,7 @@ "id": 968, "name": "address", "nodeType": "ElementaryTypeName", - "src": "17418:7:0", + "src": "17371:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -29815,7 +29815,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 934, - "src": "17465:6:0", + "src": "17418:6:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -29830,7 +29830,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 896, - "src": "17489:4:0", + "src": "17442:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr", "typeString": "uint8[] memory" @@ -29844,7 +29844,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 958, - "src": "17494:1:0", + "src": "17447:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29855,7 +29855,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17489:7:0", + "src": "17442:7:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -29870,7 +29870,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 899, - "src": "17514:4:0", + "src": "17467:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" @@ -29884,7 +29884,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 958, - "src": "17519:1:0", + "src": "17472:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29895,7 +29895,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17514:7:0", + "src": "17467:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -29910,7 +29910,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 902, - "src": "17539:4:0", + "src": "17492:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" @@ -29924,7 +29924,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 958, - "src": "17544:1:0", + "src": "17497:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29935,7 +29935,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17539:7:0", + "src": "17492:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -29966,7 +29966,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1376, - "src": "17438:9:0", + "src": "17391:9:0", "typeDescriptions": { "typeIdentifier": "t_function_ecrecover_pure$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$_t_address_$", "typeString": "function (bytes32,uint8,bytes32,bytes32) pure returns (address)" @@ -29980,14 +29980,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17438:122:0", + "src": "17391:122:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "VariableDeclarationStatement", - "src": "17418:142:0" + "src": "17371:142:0" }, { "expression": { @@ -30006,7 +30006,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "17600:12:0", + "src": "17553:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -30020,7 +30020,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 904, - "src": "17613:10:0", + "src": "17566:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -30031,7 +30031,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17600:24:0", + "src": "17553:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -30045,7 +30045,7 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "17600:32:0", + "src": "17553:32:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -30059,7 +30059,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 969, - "src": "17633:9:0", + "src": "17586:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -30070,7 +30070,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17600:43:0", + "src": "17553:43:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -30086,7 +30086,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "17662:19:0", + "src": "17615:19:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_4f2d7dfcb27c0aafa13ae8c400de482c7832204d194018b6e45bd2bf244c74e7", @@ -30114,7 +30114,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "17575:7:0", + "src": "17528:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -30128,7 +30128,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17575:120:0", + "src": "17528:120:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -30136,7 +30136,7 @@ }, "id": 992, "nodeType": "ExpressionStatement", - "src": "17575:120:0" + "src": "17528:120:0" }, { "expression": { @@ -30152,7 +30152,7 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "17734:42:0", + "src": "17687:42:0", "subExpression": { "argumentTypes": null, "baseExpression": { @@ -30166,7 +30166,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "17735:12:0", + "src": "17688:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -30180,7 +30180,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 904, - "src": "17748:10:0", + "src": "17701:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -30191,7 +30191,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17735:24:0", + "src": "17688:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -30205,7 +30205,7 @@ "memberName": "voted", "nodeType": "MemberAccess", "referencedDeclaration": 66, - "src": "17735:30:0", + "src": "17688:30:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -30219,7 +30219,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 969, - "src": "17766:9:0", + "src": "17719:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -30230,7 +30230,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17735:41:0", + "src": "17688:41:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -30251,7 +30251,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "17795:27:0", + "src": "17748:27:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_fb2c7e49d5ec7ce36fa812cf15ee7fa946942f931d04fe3ae970516007b2a543", @@ -30279,7 +30279,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "17709:7:0", + "src": "17662:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -30293,7 +30293,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17709:127:0", + "src": "17662:127:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -30301,7 +30301,7 @@ }, "id": 1003, "nodeType": "ExpressionStatement", - "src": "17709:127:0" + "src": "17662:127:0" }, { "expression": { @@ -30324,7 +30324,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "17850:12:0", + "src": "17803:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -30338,7 +30338,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 904, - "src": "17863:10:0", + "src": "17816:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -30349,7 +30349,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17850:24:0", + "src": "17803:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -30363,7 +30363,7 @@ "memberName": "voted", "nodeType": "MemberAccess", "referencedDeclaration": 66, - "src": "17850:30:0", + "src": "17803:30:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -30377,7 +30377,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 969, - "src": "17881:9:0", + "src": "17834:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -30388,7 +30388,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "17850:41:0", + "src": "17803:41:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -30406,7 +30406,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "17894:4:0", + "src": "17847:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -30414,7 +30414,7 @@ }, "value": "true" }, - "src": "17850:48:0", + "src": "17803:48:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -30422,7 +30422,7 @@ }, "id": 1012, "nodeType": "ExpressionStatement", - "src": "17850:48:0" + "src": "17803:48:0" }, { "expression": { @@ -30439,7 +30439,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 931, - "src": "17912:11:0", + "src": "17865:11:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -30454,13 +30454,13 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 969, - "src": "17926:9:0", + "src": "17879:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "17912:23:0", + "src": "17865:23:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -30468,7 +30468,7 @@ }, "id": 1016, "nodeType": "ExpressionStatement", - "src": "17912:23:0" + "src": "17865:23:0" } ] }, @@ -30490,7 +30490,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 958, - "src": "17381:1:0", + "src": "17334:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -30507,7 +30507,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 899, - "src": "17385:4:0", + "src": "17338:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" @@ -30521,13 +30521,13 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "17385:11:0", + "src": "17338:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "17381:15:0", + "src": "17334:15:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -30545,7 +30545,7 @@ "name": "i", "nodeType": "VariableDeclaration", "scope": 1022, - "src": "17369:6:0", + "src": "17322:6:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -30556,7 +30556,7 @@ "id": 957, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "17369:4:0", + "src": "17322:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -30577,7 +30577,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "17378:1:0", + "src": "17331:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -30586,7 +30586,7 @@ "value": "0" }, "nodeType": "VariableDeclarationStatement", - "src": "17369:10:0" + "src": "17322:10:0" }, "loopExpression": { "expression": { @@ -30599,7 +30599,7 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "17398:3:0", + "src": "17351:3:0", "subExpression": { "argumentTypes": null, "id": 965, @@ -30607,7 +30607,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 958, - "src": "17398:1:0", + "src": "17351:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -30620,10 +30620,10 @@ }, "id": 967, "nodeType": "ExpressionStatement", - "src": "17398:3:0" + "src": "17351:3:0" }, "nodeType": "ForStatement", - "src": "17364:582:0" + "src": "17317:582:0" }, { "expression": { @@ -30633,7 +30633,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 931, - "src": "17963:11:0", + "src": "17916:11:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -30642,7 +30642,7 @@ "functionReturnParameters": 914, "id": 1020, "nodeType": "Return", - "src": "17956:18:0" + "src": "17909:18:0" } ] }, @@ -30664,7 +30664,7 @@ "name": "sigV", "nodeType": "VariableDeclaration", "scope": 1022, - "src": "16445:12:0", + "src": "16398:12:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -30676,7 +30676,7 @@ "id": 894, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "16445:5:0", + "src": "16398:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -30685,7 +30685,7 @@ "id": 895, "length": null, "nodeType": "ArrayTypeName", - "src": "16445:7:0", + "src": "16398:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_storage_ptr", "typeString": "uint8[]" @@ -30700,7 +30700,7 @@ "name": "sigR", "nodeType": "VariableDeclaration", "scope": 1022, - "src": "16467:14:0", + "src": "16420:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -30712,7 +30712,7 @@ "id": 897, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "16467:7:0", + "src": "16420:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -30721,7 +30721,7 @@ "id": 898, "length": null, "nodeType": "ArrayTypeName", - "src": "16467:9:0", + "src": "16420:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -30736,7 +30736,7 @@ "name": "sigS", "nodeType": "VariableDeclaration", "scope": 1022, - "src": "16491:14:0", + "src": "16444:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -30748,7 +30748,7 @@ "id": 900, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "16491:7:0", + "src": "16444:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -30757,7 +30757,7 @@ "id": 901, "length": null, "nodeType": "ArrayTypeName", - "src": "16491:9:0", + "src": "16444:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -30772,7 +30772,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 1022, - "src": "16515:18:0", + "src": "16468:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -30783,7 +30783,7 @@ "id": 903, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "16515:7:0", + "src": "16468:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -30798,7 +30798,7 @@ "name": "destinations", "nodeType": "VariableDeclaration", "scope": 1022, - "src": "16543:22:0", + "src": "16496:22:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -30810,7 +30810,7 @@ "id": 905, "name": "address", "nodeType": "ElementaryTypeName", - "src": "16543:7:0", + "src": "16496:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -30819,7 +30819,7 @@ "id": 906, "length": null, "nodeType": "ArrayTypeName", - "src": "16543:9:0", + "src": "16496:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", "typeString": "address[]" @@ -30834,7 +30834,7 @@ "name": "amounts", "nodeType": "VariableDeclaration", "scope": 1022, - "src": "16575:16:0", + "src": "16528:16:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -30846,7 +30846,7 @@ "id": 908, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "16575:7:0", + "src": "16528:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -30855,7 +30855,7 @@ "id": 909, "length": null, "nodeType": "ArrayTypeName", - "src": "16575:9:0", + "src": "16528:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -30865,7 +30865,7 @@ "visibility": "internal" } ], - "src": "16435:162:0" + "src": "16388:162:0" }, "payable": false, "returnParameters": { @@ -30878,7 +30878,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 1022, - "src": "16631:7:0", + "src": "16584:7:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -30889,7 +30889,7 @@ "id": 912, "name": "address", "nodeType": "ElementaryTypeName", - "src": "16631:7:0", + "src": "16584:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -30899,10 +30899,10 @@ "visibility": "internal" } ], - "src": "16630:9:0" + "src": "16583:9:0" }, "scope": 1211, - "src": "16410:1571:0", + "src": "16363:1571:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "private" @@ -30911,7 +30911,7 @@ "body": { "id": 1053, "nodeType": "Block", - "src": "18135:168:0", + "src": "18088:168:0", "statements": [ { "assignments": [ @@ -30924,7 +30924,7 @@ "name": "timeSince", "nodeType": "VariableDeclaration", "scope": 1054, - "src": "18145:17:0", + "src": "18098:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -30935,7 +30935,7 @@ "id": 1031, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "18145:7:0", + "src": "18098:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -30956,7 +30956,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1026, - "src": "18173:12:0", + "src": "18126:12:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -30977,7 +30977,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1386, - "src": "18165:3:0", + "src": "18118:3:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -30991,7 +30991,7 @@ "memberName": "sub", "nodeType": "MemberAccess", "referencedDeclaration": 1324, - "src": "18165:7:0", + "src": "18118:7:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" @@ -31005,14 +31005,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18165:21:0", + "src": "18118:21:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "18145:41:0" + "src": "18098:41:0" }, { "expression": { @@ -31038,7 +31038,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1024, - "src": "18217:12:0", + "src": "18170:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -31056,7 +31056,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "18233:1:0", + "src": "18186:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -31064,7 +31064,7 @@ }, "value": "0" }, - "src": "18217:17:0", + "src": "18170:17:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -31088,7 +31088,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1032, - "src": "18243:9:0", + "src": "18196:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -31109,7 +31109,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "18281:4:0", + "src": "18234:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_3600_by_1", @@ -31135,7 +31135,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1024, - "src": "18263:12:0", + "src": "18216:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -31155,7 +31155,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "18255:7:0", + "src": "18208:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint256_$", "typeString": "type(uint256)" @@ -31170,7 +31170,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18255:21:0", + "src": "18208:21:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -31184,7 +31184,7 @@ "memberName": "mul", "nodeType": "MemberAccess", "referencedDeclaration": 1276, - "src": "18255:25:0", + "src": "18208:25:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" @@ -31198,13 +31198,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18255:31:0", + "src": "18208:31:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "18243:43:0", + "src": "18196:43:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -31216,7 +31216,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "Conditional", - "src": "18217:69:0", + "src": "18170:69:0", "trueExpression": { "argumentTypes": null, "hexValue": "66616c7365", @@ -31227,7 +31227,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "18237:5:0", + "src": "18190:5:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -31248,7 +31248,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "18203:93:0", + "src": "18156:93:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -31257,7 +31257,7 @@ "functionReturnParameters": 1030, "id": 1052, "nodeType": "Return", - "src": "18196:100:0" + "src": "18149:100:0" } ] }, @@ -31279,7 +31279,7 @@ "name": "timeoutHours", "nodeType": "VariableDeclaration", "scope": 1054, - "src": "18023:19:0", + "src": "17976:19:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -31290,7 +31290,7 @@ "id": 1023, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "18023:6:0", + "src": "17976:6:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -31305,7 +31305,7 @@ "name": "lastModified", "nodeType": "VariableDeclaration", "scope": 1054, - "src": "18052:20:0", + "src": "18005:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -31316,7 +31316,7 @@ "id": 1025, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "18052:7:0", + "src": "18005:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -31326,7 +31326,7 @@ "visibility": "internal" } ], - "src": "18013:65:0" + "src": "17966:65:0" }, "payable": false, "returnParameters": { @@ -31339,7 +31339,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 1054, - "src": "18125:4:0", + "src": "18078:4:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -31350,7 +31350,7 @@ "id": 1028, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "18125:4:0", + "src": "18078:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -31360,10 +31360,10 @@ "visibility": "internal" } ], - "src": "18124:6:0" + "src": "18077:6:0" }, "scope": 1211, - "src": "17987:316:0", + "src": "17940:316:0", "stateMutability": "view", "superFunction": null, "visibility": "private" @@ -31372,7 +31372,7 @@ "body": { "id": 1209, "nodeType": "Block", - "src": "18717:2308:0", + "src": "18670:2308:0", "statements": [ { "expression": { @@ -31396,7 +31396,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1056, - "src": "18743:5:0", + "src": "18696:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -31411,13 +31411,13 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1058, - "src": "18752:6:0", + "src": "18705:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "18743:15:0", + "src": "18696:15:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -31433,7 +31433,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "18760:27:0", + "src": "18713:27:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_6141441751234d42e9a73d96317794195c7ff57b8f16ac15725a10f10763f824", @@ -31461,7 +31461,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "18735:7:0", + "src": "18688:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -31475,7 +31475,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18735:53:0", + "src": "18688:53:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -31483,7 +31483,7 @@ }, "id": 1083, "nodeType": "ExpressionStatement", - "src": "18735:53:0" + "src": "18688:53:0" }, { "expression": { @@ -31507,7 +31507,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1068, - "src": "18855:5:0", + "src": "18808:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -31525,7 +31525,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "18863:1:0", + "src": "18816:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -31533,7 +31533,7 @@ }, "value": "0" }, - "src": "18855:9:0", + "src": "18808:9:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -31549,7 +31549,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "18866:19:0", + "src": "18819:19:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_3686f87c4804517ea83323ccf1a3b5b5ff52ed144b19e6fc56abe8fcd182e747", @@ -31577,7 +31577,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "18847:7:0", + "src": "18800:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -31591,7 +31591,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18847:39:0", + "src": "18800:39:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -31599,7 +31599,7 @@ }, "id": 1090, "nodeType": "ExpressionStatement", - "src": "18847:39:0" + "src": "18800:39:0" }, { "expression": { @@ -31634,7 +31634,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1062, - "src": "18989:9:0", + "src": "18942:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -31652,7 +31652,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "19001:1:0", + "src": "18954:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -31660,7 +31660,7 @@ }, "value": "0" }, - "src": "18989:13:0", + "src": "18942:13:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -31686,7 +31686,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1062, - "src": "19006:9:0", + "src": "18959:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -31704,7 +31704,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "19019:1:0", + "src": "18972:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_3_by_1", @@ -31712,13 +31712,13 @@ }, "value": "3" }, - "src": "19006:14:0", + "src": "18959:14:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "18989:31:0", + "src": "18942:31:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -31734,7 +31734,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "19035:63:0", + "src": "18988:63:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_351c1d5dfdc4a2b4c61d6f4dbb41a0d2ae70a9c094d3c0add87af24b5dd19c13", @@ -31762,7 +31762,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "18968:7:0", + "src": "18921:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -31776,7 +31776,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18968:140:0", + "src": "18921:140:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -31784,7 +31784,7 @@ }, "id": 1101, "nodeType": "ExpressionStatement", - "src": "18968:140:0" + "src": "18921:140:0" }, { "expression": { @@ -31819,7 +31819,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1062, - "src": "19377:9:0", + "src": "19330:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -31837,7 +31837,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "19390:1:0", + "src": "19343:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -31845,7 +31845,7 @@ }, "value": "1" }, - "src": "19377:14:0", + "src": "19330:14:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -31871,7 +31871,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1060, - "src": "19395:9:0", + "src": "19348:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -31892,7 +31892,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "19416:1:0", + "src": "19369:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -31914,7 +31914,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "19408:7:0", + "src": "19361:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" @@ -31929,19 +31929,19 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "19408:10:0", + "src": "19361:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "19395:23:0", + "src": "19348:23:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "19377:41:0", + "src": "19330:41:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -31957,7 +31957,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "19432:81:0", + "src": "19385:81:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_08dfdd405be5d5023d3f601e2b0a844b246ceb6764817070ff6789d5e1f80050", @@ -31985,7 +31985,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "19356:7:0", + "src": "19309:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -31999,7 +31999,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "19356:167:0", + "src": "19309:167:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -32007,7 +32007,7 @@ }, "id": 1114, "nodeType": "ExpressionStatement", - "src": "19356:167:0" + "src": "19309:167:0" }, { "expression": { @@ -32031,7 +32031,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1066, - "src": "19555:10:0", + "src": "19508:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -32049,7 +32049,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1070, - "src": "19612:8:0", + "src": "19565:8:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -32062,7 +32062,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1062, - "src": "19638:9:0", + "src": "19591:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -32075,7 +32075,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1064, - "src": "19665:12:0", + "src": "19618:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -32088,7 +32088,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1056, - "src": "19695:5:0", + "src": "19648:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -32101,7 +32101,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1058, - "src": "19718:6:0", + "src": "19671:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -32114,7 +32114,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1060, - "src": "19742:9:0", + "src": "19695:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -32127,7 +32127,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1074, - "src": "19769:12:0", + "src": "19722:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -32170,7 +32170,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 637, - "src": "19569:25:0", + "src": "19522:25:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_bytes20_$_t_uint8_$_t_uint32_$_t_address_$_t_address_$_t_address_$_t_address_$returns$_t_bytes32_$", "typeString": "function (bytes20,uint8,uint32,address,address,address,address) view returns (bytes32)" @@ -32184,13 +32184,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "19569:226:0", + "src": "19522:226:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "src": "19555:240:0", + "src": "19508:240:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -32206,7 +32206,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "19810:59:0", + "src": "19763:59:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_0c041e0c58e6b0e01d338d852a5abb639065eabeb0aee05e0ce3e5f0e52b4f51", @@ -32234,7 +32234,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "19534:7:0", + "src": "19487:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -32248,7 +32248,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "19534:345:0", + "src": "19487:345:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -32256,7 +32256,7 @@ }, "id": 1129, "nodeType": "ExpressionStatement", - "src": "19534:345:0" + "src": "19487:345:0" }, { "expression": { @@ -32275,7 +32275,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "19890:12:0", + "src": "19843:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -32289,7 +32289,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1066, - "src": "19903:10:0", + "src": "19856:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -32300,7 +32300,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "19890:24:0", + "src": "19843:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -32318,7 +32318,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1056, - "src": "19950:5:0", + "src": "19903:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -32331,7 +32331,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1058, - "src": "19977:6:0", + "src": "19930:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -32344,7 +32344,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1060, - "src": "20008:9:0", + "src": "19961:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -32357,7 +32357,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1068, - "src": "20038:5:0", + "src": "19991:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -32372,7 +32372,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9, - "src": "20065:6:0", + "src": "20018:6:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_Status_$9_$", "typeString": "type(enum Escrow_v1_0.Status)" @@ -32386,7 +32386,7 @@ "memberName": "FUNDED", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "20065:13:0", + "src": "20018:13:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$9", "typeString": "enum Escrow_v1_0.Status" @@ -32401,7 +32401,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1374, - "src": "20106:5:0", + "src": "20059:5:0", "typeDescriptions": { "typeIdentifier": "t_magic_block", "typeString": "block" @@ -32415,7 +32415,7 @@ "memberName": "timestamp", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "20106:15:0", + "src": "20059:15:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -32428,7 +32428,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1062, - "src": "20146:9:0", + "src": "20099:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -32441,7 +32441,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1064, - "src": "20183:12:0", + "src": "20136:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -32454,7 +32454,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1072, - "src": "20225:15:0", + "src": "20178:15:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -32467,7 +32467,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1074, - "src": "20267:12:0", + "src": "20220:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -32481,7 +32481,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 71, - "src": "19917:11:0", + "src": "19870:11:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_struct$_Transaction_$71_storage_ptr_$", "typeString": "type(struct Escrow_v1_0.Transaction storage pointer)" @@ -32506,13 +32506,13 @@ "tokenAddress" ], "nodeType": "FunctionCall", - "src": "19917:373:0", + "src": "19870:373:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_memory", "typeString": "struct Escrow_v1_0.Transaction memory" } }, - "src": "19890:400:0", + "src": "19843:400:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -32520,7 +32520,7 @@ }, "id": 1148, "nodeType": "ExpressionStatement", - "src": "19890:400:0" + "src": "19843:400:0" }, { "expression": { @@ -32543,7 +32543,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "20301:12:0", + "src": "20254:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -32557,7 +32557,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1066, - "src": "20314:10:0", + "src": "20267:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -32568,7 +32568,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20301:24:0", + "src": "20254:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -32582,7 +32582,7 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "20301:32:0", + "src": "20254:32:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -32596,7 +32596,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1058, - "src": "20334:6:0", + "src": "20287:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -32607,7 +32607,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "20301:40:0", + "src": "20254:40:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -32625,7 +32625,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "20344:4:0", + "src": "20297:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -32633,7 +32633,7 @@ }, "value": "true" }, - "src": "20301:47:0", + "src": "20254:47:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -32641,7 +32641,7 @@ }, "id": 1157, "nodeType": "ExpressionStatement", - "src": "20301:47:0" + "src": "20254:47:0" }, { "expression": { @@ -32664,7 +32664,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "20358:12:0", + "src": "20311:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -32678,7 +32678,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1066, - "src": "20371:10:0", + "src": "20324:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -32689,7 +32689,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20358:24:0", + "src": "20311:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -32703,7 +32703,7 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "20358:32:0", + "src": "20311:32:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -32717,7 +32717,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1056, - "src": "20391:5:0", + "src": "20344:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -32728,7 +32728,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "20358:39:0", + "src": "20311:39:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -32746,7 +32746,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "20400:4:0", + "src": "20353:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -32754,7 +32754,7 @@ }, "value": "true" }, - "src": "20358:46:0", + "src": "20311:46:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -32762,7 +32762,7 @@ }, "id": 1166, "nodeType": "ExpressionStatement", - "src": "20358:46:0" + "src": "20311:46:0" }, { "expression": { @@ -32778,7 +32778,7 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "20511:44:0", + "src": "20464:44:0", "subExpression": { "argumentTypes": null, "baseExpression": { @@ -32792,7 +32792,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "20512:12:0", + "src": "20465:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -32806,7 +32806,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1066, - "src": "20525:10:0", + "src": "20478:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -32817,7 +32817,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20512:24:0", + "src": "20465:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -32831,7 +32831,7 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "20512:32:0", + "src": "20465:32:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -32845,7 +32845,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1060, - "src": "20545:9:0", + "src": "20498:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -32856,7 +32856,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20512:43:0", + "src": "20465:43:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -32877,7 +32877,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "20570:47:0", + "src": "20523:47:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_313b391557427937e7bdb85c7561d47c5b9c985755a448dd33a92026ffb38f8d", @@ -32905,7 +32905,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "20490:7:0", + "src": "20443:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -32919,7 +32919,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "20490:137:0", + "src": "20443:137:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -32927,7 +32927,7 @@ }, "id": 1177, "nodeType": "ExpressionStatement", - "src": "20490:137:0" + "src": "20443:137:0" }, { "condition": { @@ -32948,7 +32948,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1062, - "src": "20787:9:0", + "src": "20740:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -32966,7 +32966,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "20799:1:0", + "src": "20752:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -32974,7 +32974,7 @@ }, "value": "1" }, - "src": "20787:13:0", + "src": "20740:13:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -32983,11 +32983,11 @@ "falseBody": null, "id": 1191, "nodeType": "IfStatement", - "src": "20783:93:0", + "src": "20736:93:0", "trueBody": { "id": 1190, "nodeType": "Block", - "src": "20801:75:0", + "src": "20754:75:0", "statements": [ { "expression": { @@ -33010,7 +33010,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "20815:12:0", + "src": "20768:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -33024,7 +33024,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1066, - "src": "20828:10:0", + "src": "20781:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -33035,7 +33035,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20815:24:0", + "src": "20768:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -33049,7 +33049,7 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "20815:32:0", + "src": "20768:32:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -33063,7 +33063,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1060, - "src": "20848:9:0", + "src": "20801:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -33074,7 +33074,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "20815:43:0", + "src": "20768:43:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -33092,7 +33092,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "20861:4:0", + "src": "20814:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -33100,7 +33100,7 @@ }, "value": "true" }, - "src": "20815:50:0", + "src": "20768:50:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -33108,7 +33108,7 @@ }, "id": 1189, "nodeType": "ExpressionStatement", - "src": "20815:50:0" + "src": "20768:50:0" } ] } @@ -33124,7 +33124,7 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "20894:18:0", + "src": "20847:18:0", "subExpression": { "argumentTypes": null, "id": 1192, @@ -33132,7 +33132,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 78, - "src": "20894:16:0", + "src": "20847:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -33145,7 +33145,7 @@ }, "id": 1194, "nodeType": "ExpressionStatement", - "src": "20894:18:0" + "src": "20847:18:0" }, { "expression": { @@ -33158,7 +33158,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1066, - "src": "20954:10:0", + "src": "20907:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -33181,7 +33181,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 83, - "src": "20923:18:0", + "src": "20876:18:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_bytes32_$dyn_storage_$", "typeString": "mapping(address => bytes32[] storage ref)" @@ -33195,7 +33195,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1056, - "src": "20942:5:0", + "src": "20895:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -33206,7 +33206,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20923:25:0", + "src": "20876:25:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage", "typeString": "bytes32[] storage ref" @@ -33220,7 +33220,7 @@ "memberName": "push", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "20923:30:0", + "src": "20876:30:0", "typeDescriptions": { "typeIdentifier": "t_function_arraypush_nonpayable$_t_bytes32_$returns$_t_uint256_$", "typeString": "function (bytes32) returns (uint256)" @@ -33234,7 +33234,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "20923:42:0", + "src": "20876:42:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -33242,7 +33242,7 @@ }, "id": 1201, "nodeType": "ExpressionStatement", - "src": "20923:42:0" + "src": "20876:42:0" }, { "expression": { @@ -33255,7 +33255,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1066, - "src": "21007:10:0", + "src": "20960:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -33278,7 +33278,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 83, - "src": "20975:18:0", + "src": "20928:18:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_bytes32_$dyn_storage_$", "typeString": "mapping(address => bytes32[] storage ref)" @@ -33292,7 +33292,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1058, - "src": "20994:6:0", + "src": "20947:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -33303,7 +33303,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20975:26:0", + "src": "20928:26:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage", "typeString": "bytes32[] storage ref" @@ -33317,7 +33317,7 @@ "memberName": "push", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "20975:31:0", + "src": "20928:31:0", "typeDescriptions": { "typeIdentifier": "t_function_arraypush_nonpayable$_t_bytes32_$returns$_t_uint256_$", "typeString": "function (bytes32) returns (uint256)" @@ -33331,7 +33331,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "20975:43:0", + "src": "20928:43:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -33339,7 +33339,7 @@ }, "id": 1208, "nodeType": "ExpressionStatement", - "src": "20975:43:0" + "src": "20928:43:0" } ] }, @@ -33361,7 +33361,7 @@ "name": "buyer", "nodeType": "VariableDeclaration", "scope": 1210, - "src": "18424:13:0", + "src": "18377:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -33372,7 +33372,7 @@ "id": 1055, "name": "address", "nodeType": "ElementaryTypeName", - "src": "18424:7:0", + "src": "18377:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -33387,7 +33387,7 @@ "name": "seller", "nodeType": "VariableDeclaration", "scope": 1210, - "src": "18447:14:0", + "src": "18400:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -33398,7 +33398,7 @@ "id": 1057, "name": "address", "nodeType": "ElementaryTypeName", - "src": "18447:7:0", + "src": "18400:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -33413,7 +33413,7 @@ "name": "moderator", "nodeType": "VariableDeclaration", "scope": 1210, - "src": "18471:17:0", + "src": "18424:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -33424,7 +33424,7 @@ "id": 1059, "name": "address", "nodeType": "ElementaryTypeName", - "src": "18471:7:0", + "src": "18424:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -33439,7 +33439,7 @@ "name": "threshold", "nodeType": "VariableDeclaration", "scope": 1210, - "src": "18498:15:0", + "src": "18451:15:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -33450,7 +33450,7 @@ "id": 1061, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "18498:5:0", + "src": "18451:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -33465,7 +33465,7 @@ "name": "timeoutHours", "nodeType": "VariableDeclaration", "scope": 1210, - "src": "18523:19:0", + "src": "18476:19:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -33476,7 +33476,7 @@ "id": 1063, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "18523:6:0", + "src": "18476:6:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -33491,7 +33491,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 1210, - "src": "18552:18:0", + "src": "18505:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -33502,7 +33502,7 @@ "id": 1065, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "18552:7:0", + "src": "18505:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -33517,7 +33517,7 @@ "name": "value", "nodeType": "VariableDeclaration", "scope": 1210, - "src": "18580:13:0", + "src": "18533:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -33528,7 +33528,7 @@ "id": 1067, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "18580:7:0", + "src": "18533:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -33543,7 +33543,7 @@ "name": "uniqueId", "nodeType": "VariableDeclaration", "scope": 1210, - "src": "18603:16:0", + "src": "18556:16:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -33554,7 +33554,7 @@ "id": 1069, "name": "bytes20", "nodeType": "ElementaryTypeName", - "src": "18603:7:0", + "src": "18556:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -33569,7 +33569,7 @@ "name": "transactionType", "nodeType": "VariableDeclaration", "scope": 1210, - "src": "18629:31:0", + "src": "18582:31:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -33582,7 +33582,7 @@ "name": "TransactionType", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 12, - "src": "18629:15:0", + "src": "18582:15:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -33597,7 +33597,7 @@ "name": "tokenAddress", "nodeType": "VariableDeclaration", "scope": 1210, - "src": "18670:20:0", + "src": "18623:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -33608,7 +33608,7 @@ "id": 1073, "name": "address", "nodeType": "ElementaryTypeName", - "src": "18670:7:0", + "src": "18623:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -33618,27 +33618,27 @@ "visibility": "internal" } ], - "src": "18414:282:0" + "src": "18367:282:0" }, "payable": false, "returnParameters": { "id": 1076, "nodeType": "ParameterList", "parameters": [], - "src": "18717:0:0" + "src": "18670:0:0" }, "scope": 1211, - "src": "18390:2635:0", + "src": "18343:2635:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "private" } ], "scope": 1212, - "src": "460:20567:0" + "src": "460:20520:0" } ], - "src": "0:21028:0" + "src": "0:20981:0" }, "compiler": { "name": "solc", @@ -33646,5 +33646,5 @@ }, "networks": {}, "schemaVersion": "2.0.1", - "updatedAt": "2018-11-19T11:35:06.158Z" + "updatedAt": "2018-11-19T11:38:53.803Z" } \ No newline at end of file diff --git a/build/contracts/ITokenContract.json b/build/contracts/ITokenContract.json index ecc3ea1..636809c 100644 --- a/build/contracts/ITokenContract.json +++ b/build/contracts/ITokenContract.json @@ -817,5 +817,5 @@ }, "networks": {}, "schemaVersion": "2.0.1", - "updatedAt": "2018-11-19T11:35:06.138Z" + "updatedAt": "2018-11-19T11:38:53.794Z" } \ No newline at end of file diff --git a/build/contracts/SafeMath.json b/build/contracts/SafeMath.json index da6c91d..4566137 100644 --- a/build/contracts/SafeMath.json +++ b/build/contracts/SafeMath.json @@ -3295,5 +3295,5 @@ }, "networks": {}, "schemaVersion": "2.0.1", - "updatedAt": "2018-11-19T11:35:06.140Z" + "updatedAt": "2018-11-19T11:38:53.796Z" } \ No newline at end of file diff --git a/contracts/escrow/Escrow_v1_0.sol b/contracts/escrow/Escrow_v1_0.sol index ce5eb61..d7c1dc9 100644 --- a/contracts/escrow/Escrow_v1_0.sol +++ b/contracts/escrow/Escrow_v1_0.sol @@ -71,7 +71,7 @@ contract Escrow_v1_0 { modifier inFundedState(bytes32 scriptHash) { require( - transactions[scriptHash].status == Status.FUNDED, "Transaction is either in dispute or released state" + transactions[scriptHash].status == Status.FUNDED, "Transaction is not in FUNDED state" ); _; } From e93554b843bb8d0a3bbe94142043c5b4a73cfa75 Mon Sep 17 00:00:00 2001 From: Sameep Singhania Date: Mon, 19 Nov 2018 18:42:35 +0530 Subject: [PATCH 07/19] Improved coding styles --- build/contracts/Escrow_v1_0.json | 4372 +++++++++++++-------------- build/contracts/ITokenContract.json | 2 +- build/contracts/SafeMath.json | 2 +- contracts/escrow/Escrow_v1_0.sol | 36 +- 4 files changed, 2208 insertions(+), 2204 deletions(-) diff --git a/build/contracts/Escrow_v1_0.json b/build/contracts/Escrow_v1_0.json index c5dc5a0..6fefaff 100644 --- a/build/contracts/Escrow_v1_0.json +++ b/build/contracts/Escrow_v1_0.json @@ -418,11 +418,11 @@ "type": "function" } ], - "bytecode": "0x6080604052600060015534801561001557600080fd5b50614210806100256000396000f3006080604052600436106100ba576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806323b6fd3f146100bf5780632d9ef96e1461017957806346fbcdeb1461019d57806357bced7614610292578063642f2eaf14610383578063b0550c66146104e5578063b719e2801461054e578063b77bf60014610589578063be84ceaf146105b4578063e4ec8b001461064c578063f0786562146106f5578063f5dbe09c1461075e575b600080fd5b610177600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff169060200190929190803563ffffffff169060200190929190803560001916906020019092919080356bffffffffffffffffffffffff191690602001909291905050506107c7565b005b61019b6004803603810190808035600019169060200190929190505050610a26565b005b3480156101a957600080fd5b5061027460048036038101908080356bffffffffffffffffffffffff19169060200190929190803560ff169060200190929190803563ffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610eb4565b60405180826000191660001916815260200191505060405180910390f35b34801561029e57600080fd5b50610381600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff169060200190929190803563ffffffff16906020019092919080356000191690602001909291908035906020019092919080356bffffffffffffffffffffffff19169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611360565b005b34801561038f57600080fd5b506103b26004803603810190808035600019169060200190929190505050611840565b604051808b81526020018a81526020018960018111156103ce57fe5b60ff1681526020018860018111156103e257fe5b60ff1681526020018760ff1660ff1681526020018663ffffffff1663ffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019a505050505050505050505060405180910390f35b3480156104f157600080fd5b506105346004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061194b565b604051808215151515815260200191505060405180910390f35b34801561055a57600080fd5b506105876004803603810190808035600019169060200190929190803590602001909291905050506119bd565b005b34801561059557600080fd5b5061059e61209d565b6040518082815260200191505060405180910390f35b3480156105c057600080fd5b506105f5600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506120a3565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b8381101561063857808201518184015260208101905061061d565b505050509050019250505060405180910390f35b34801561065857600080fd5b506106f3600480360381019080803590602001908201803590602001919091929391929390803590602001908201803590602001919091929391929390803590602001908201803590602001919091929391929390803560001916906020019092919080359060200190820180359060200191909192939192939080359060200190820180359060200191909192939192939050505061213e565b005b34801561070157600080fd5b506107446004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506126a0565b604051808215151515815260200191505060405180910390f35b34801561076a57600080fd5b506107a9600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050612712565b60405180826000191660001916815260200191505060405180910390f35b81600080600083600019166000191681526020019081526020016000206000015414151561085d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f5472616e73616374696f6e20657869737473000000000000000000000000000081525060200191505060405180910390fd5b87600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610903576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b87600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156109a9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b6109bc8a8a8a8a8a8a348b600080612742565b3373ffffffffffffffffffffffffffffffffffffffff167fce7089d0668849fb9ca29778c0cbf1e764d9efb048d81fd71fb34c94f26db36886346040518083600019166000191681526020018281526020019250505060405180910390a250505050505050505050565b600081600080600083600019166000191681526020019081526020016000206000015414151515610abf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737473000000000081525060200191505060405180910390fd5b8260006001811115610acd57fe5b600080836000191660001916815260200190815260200160002060020160009054906101000a900460ff166001811115610b0357fe5b141515610b9e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001807f5472616e73616374696f6e2069732065697468657220696e206469737075746581526020017f206f722072656c6561736564207374617465000000000000000000000000000081525060400191505060405180910390fd5b836000806001811115610bad57fe5b600080846000191660001916815260200190815260200160002060020160019054906101000a900460ff166001811115610be357fe5b141515610c58576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5472616e73616374696f6e207479706520646f6573206e6f74206d617463680081525060200191505060405180910390fd5b85600080826000191660001916815260200190815260200160002060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610d5f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f54686520696e69746961746f72206f6620746865207472616e73616374696f6e81526020017f206973206e6f742062757965720000000000000000000000000000000000000081525060400191505060405180910390fd5b349550600086111515610dda576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f56616c7565206d7573742062652067726561746572207468616e207a65726f2e81525060200191505060405180910390fd5b610e0a866000808a60001916600019168152602001908152602001600020600001546130ce90919063ffffffff16565b600080896000191660001916815260200190815260200160002060000181905550426000808960001916600019168152602001908152602001600020600101819055503373ffffffffffffffffffffffffffffffffffffffff167ff66fd2ae9e24a6a24b02e1b5b7512ffde5149a4176085fc0298ae228c9b9d72988886040518083600019166000191681526020018281526020019250505060405180910390a250505050505050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611100578787878787873060405160200180886bffffffffffffffffffffffff19166bffffffffffffffffffffffff191681526014018760ff1660ff167f01000000000000000000000000000000000000000000000000000000000000000281526001018663ffffffff1663ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014019750505050505050506040516020818303038152906040526040518082805190602001908083835b6020831015156110cc57805182526020820191506020810190506020830392506110a7565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390209050611355565b878787878787308860405160200180896bffffffffffffffffffffffff19166bffffffffffffffffffffffff191681526014018860ff1660ff167f01000000000000000000000000000000000000000000000000000000000000000281526001018763ffffffff1663ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401985050505050505050506040516020818303038152906040526040518082805190602001908083835b6020831015156113255780518252602082019150602081019050602083039250611300565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902090505b979650505050505050565b60008460008060008360001916600019168152602001908152602001600020600001541415156113f8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f5472616e73616374696f6e20657869737473000000000000000000000000000081525060200191505060405180910390fd5b8a600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561149e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b8a600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515611544576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b84600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156115ea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b6115fd8e8e8e8e8e8e8e8e60018f612742565b8594508473ffffffffffffffffffffffffffffffffffffffff166323b872dd33308b6040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b1580156116d757600080fd5b505af11580156116eb573d6000803e3d6000fd5b505050506040513d602081101561170157600080fd5b810190808051906020019092919050505015156117d2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252605c8152602001807f546f6b656e207472616e73666572206661696c65642c206d6179626520796f7581526020017f20646964206e6f7420617070726f766520657363726f7720636f6e747261637481526020017f20746f207370656e64206f6e20626568616c66206f662062757965720000000081525060600191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff167fce7089d0668849fb9ca29778c0cbf1e764d9efb048d81fd71fb34c94f26db3688a8a6040518083600019166000191681526020018281526020019250505060405180910390a25050505050505050505050505050565b60006020528060005260406000206000915090508060000154908060010154908060020160009054906101000a900460ff16908060020160019054906101000a900460ff16908060020160029054906101000a900460ff16908060020160039054906101000a900463ffffffff16908060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060050160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508a565b6000806000846000191660001916815260200190815260200160002060080160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b60008083600080600083600019166000191681526020019081526020016000206000015414151515611a57576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737473000000000081525060200191505060405180910390fd5b8460006001811115611a6557fe5b600080836000191660001916815260200190815260200160002060020160009054906101000a900460ff166001811115611a9b57fe5b141515611b36576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001807f5472616e73616374696f6e2069732065697468657220696e206469737075746581526020017f206f722072656c6561736564207374617465000000000000000000000000000081525060400191505060405180910390fd5b856001806001811115611b4557fe5b600080846000191660001916815260200190815260200160002060020160019054906101000a900460ff166001811115611b7b57fe5b141515611bf0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5472616e73616374696f6e207479706520646f6573206e6f74206d617463680081525060200191505060405180910390fd5b87600080826000191660001916815260200190815260200160002060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611cf7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f54686520696e69746961746f72206f6620746865207472616e73616374696f6e81526020017f206973206e6f742062757965720000000000000000000000000000000000000081525060400191505060405180910390fd5b879650600087111515611d72576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f56616c7565206d7573742062652067726561746572207468616e207a65726f2e81525060200191505060405180910390fd5b6000808a6000191660001916815260200190815260200160002060040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1695508573ffffffffffffffffffffffffffffffffffffffff166323b872dd6000808c6000191660001916815260200190815260200160002060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff16308b6040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b158015611ec657600080fd5b505af1158015611eda573d6000803e3d6000fd5b505050506040513d6020811015611ef057600080fd5b81019080805190602001909291905050501515611fc1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252605c8152602001807f546f6b656e207472616e73666572206661696c65642c206d6179626520796f7581526020017f20646964206e6f7420617070726f766520657363726f7720636f6e747261637481526020017f20746f207370656e64206f6e20626568616c66206f662062757965720000000081525060600191505060405180910390fd5b611ff1876000808c60001916600019168152602001908152602001600020600001546130ce90919063ffffffff16565b6000808b6000191660001916815260200190815260200160002060000181905550426000808b60001916600019168152602001908152602001600020600101819055503373ffffffffffffffffffffffffffffffffffffffff167ff66fd2ae9e24a6a24b02e1b5b7512ffde5149a4176085fc0298ae228c9b9d7298a896040518083600019166000191681526020018281526020019250505060405180910390a2505050505050505050565b60015481565b6060600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080548060200260200160405190810160405280929190818152602001828054801561213257602002820191906000526020600020905b8154600019168152602001906001019080831161211a575b50505050509050919050565b846000806000836000191660001916815260200190815260200160002060000154141515156121d5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737473000000000081525060200191505060405180910390fd5b85600060018111156121e357fe5b600080836000191660001916815260200190815260200160002060020160009054906101000a900460ff16600181111561221957fe5b1415156122b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001807f5472616e73616374696f6e2069732065697468657220696e206469737075746581526020017f206f722072656c6561736564207374617465000000000000000000000000000081525060400191505060405180910390fd5b6000868690501180156122cc57508383905086869050145b1515612366576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001807f4c656e677468206f662064657374696e6174696f6e7320697320696e636f727281526020017f6563742e0000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b61245f8d8d808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508c8c808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508b8b808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508a8a8a808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508989808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050506130ef565b6001600080896000191660001916815260200190815260200160002060020160006101000a81548160ff0219169083600181111561249957fe5b021790555042600080896000191660001916815260200190815260200160002060010181905550600080886000191660001916815260200190815260200160002060000154612547888888808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508787808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050506132d0565b141515612608576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260488152602001807f546f74616c2076616c756520746f2062652072656c6561736564206d7573742081526020017f626520657175616c20746f20746865207472616e73616374696f6e206573637281526020017f6f772076616c756500000000000000000000000000000000000000000000000081525060600191505060405180910390fd5b7f688e2a1b34445bcd47b0e11ba2a9c8c4d850a1831b64199b59d1c70e2970154587878787876040518086600019166000191681526020018060200180602001838103835287878281815260200192506020028082843782019150508381038252858582818152602001925060200280828437820191505097505050505050505060405180910390a150505050505050505050505050565b6000806000846000191660001916815260200190815260200160002060070160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b60026020528160005260406000208181548110151561272d57fe5b90600052602060002001600091509150505481565b8873ffffffffffffffffffffffffffffffffffffffff168a73ffffffffffffffffffffffffffffffffffffffff16141515156127e6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f427579657220616e642073656c6c6572206172652073616d650000000000000081525060200191505060405180910390fd5b60008411151561285e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f56616c756520706173736564206973203000000000000000000000000000000081525060200191505060405180910390fd5b60008760ff16118015612875575060038760ff1611155b151561290f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603d8152602001807f5468726573686f6c642063616e6e6f742062652067726561746572207468616e81526020017f203320616e64206d7573742062652067726561746572207468616e203000000081525060400191505060405180910390fd5b60018760ff16148061294e5750600073ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff1614155b1515612a0e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252604f8152602001807f456974686572207468726573686f6c642073686f756c642062652031206f746881526020017f6572776973652076616c6964206d6f64657261746f722061646472657373207381526020017f686f756c6420626520706173736564000000000000000000000000000000000081525060600191505060405180910390fd5b612a1d8388888d8d8d87610eb4565b600019168560001916141515612ac1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260398152602001807f43616c63756c6174656420736372697074206861736820646f6573206e6f742081526020017f6d61746368207061737365642073637269707420686173682e0000000000000081525060400191505060405180910390fd5b6101406040519081016040528085815260200142815260200160006001811115612ae757fe5b8152602001836001811115612af857fe5b81526020018860ff1681526020018763ffffffff1681526020018b73ffffffffffffffffffffffffffffffffffffffff1681526020018a73ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020018973ffffffffffffffffffffffffffffffffffffffff168152506000808760001916600019168152602001908152602001600020600082015181600001556020820151816001015560408201518160020160006101000a81548160ff02191690836001811115612bd257fe5b021790555060608201518160020160016101000a81548160ff02191690836001811115612bfb57fe5b021790555060808201518160020160026101000a81548160ff021916908360ff16021790555060a08201518160020160036101000a81548163ffffffff021916908363ffffffff16021790555060c08201518160020160076101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060e08201518160030160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506101008201518160040160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506101208201518160050160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055509050506001600080876000191660001916815260200190815260200160002060060160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600080876000191660001916815260200190815260200160002060060160008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600080866000191660001916815260200190815260200160002060060160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151515612f52576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f456974686572206275796572206f722073656c6c65722069732070617373656481526020017f206173206d6f64657261746f720000000000000000000000000000000000000081525060400191505060405180910390fd5b60018760ff161115612fd2576001600080876000191660001916815260200190815260200160002060060160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b600160008154809291906001019190505550600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020859080600181540180825580915050906001820390600052602060002001600090919290919091509060001916905550600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002085908060018154018082558091505090600182039060005260206000200160009091929091909150906000191690555050505050505050505050565b60008082840190508381101515156130e557600080fd5b8091505092915050565b600080613100888888888888613ab8565b9150613156600080876000191660001916815260200190815260200160002060020160039054906101000a900463ffffffff16600080886000191660001916815260200190815260200160002060010154614131565b9050600080866000191660001916815260200190815260200160002060020160029054906101000a900460ff1660ff16885110801561320757508015806132065750600080866000191660001916815260200190815260200160002060030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b5b156132c6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260588152602001807f4d696e696d756d206e756d626572206f66207369676e6174757265732061726581526020017f206e6f7420636f6c6c656374656420616e642074696d65206c6f636b2065787081526020017f69727920636f6e646974696f6e73206e6f74206d65742121000000000000000081525060600191505060405180910390fd5b5050505050505050565b6000806000806000806000808a600019166000191681526020019081526020016000209450600093506000600181111561330657fe5b8560020160019054906101000a900460ff16600181111561332357fe5b141561363a57600092505b875183101561363557600073ffffffffffffffffffffffffffffffffffffffff16888481518110151561335d57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff16141580156133ed5750846006016000898581518110151561339a57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1515613461576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f4e6f7420612076616c69642064657374696e6174696f6e00000000000000000081525060200191505060405180910390fd5b6000878481518110151561347157fe5b90602001906020020151111515613516576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001807f416d6f756e7420746f2062652073656e742073686f756c64206265206772656181526020017f746572207468616e20300000000000000000000000000000000000000000000081525060400191505060405180910390fd5b613540878481518110151561352757fe5b90602001906020020151856130ce90919063ffffffff16565b935060018560080160008a8681518110151561355857fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555087838151811015156135c157fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff166108fc88858151811015156135f257fe5b906020019060200201519081150290604051600060405180830381858888f19350505050158015613627573d6000803e3d6000fd5b50828060010193505061332e565b613aa9565b60018081111561364657fe5b8560020160019054906101000a900460ff16600181111561366357fe5b1415613aa8578460040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169150600090505b8751811015613aa757600073ffffffffffffffffffffffffffffffffffffffff1688828151811015156136c457fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff16141580156137545750846006016000898381518110151561370157fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15156137c8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f4e6f7420612076616c69642064657374696e6174696f6e00000000000000000081525060200191505060405180910390fd5b600087828151811015156137d857fe5b9060200190602002015111151561387d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001807f416d6f756e7420746f2062652073656e742073686f756c64206265206772656181526020017f746572207468616e20300000000000000000000000000000000000000000000081525060400191505060405180910390fd5b6138a7878281518110151561388e57fe5b90602001906020020151856130ce90919063ffffffff16565b935060018560080160008a848151811015156138bf57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb898381518110151561394457fe5b90602001906020020151898481518110151561395c57fe5b906020019060200201516040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1580156139eb57600080fd5b505af11580156139ff573d6000803e3d6000fd5b505050506040513d6020811015613a1557600080fd5b81019080805190602001909291905050501515613a9a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f546f6b656e207472616e73666572206661696c65642e0000000000000000000081525060200191505060405180910390fd5b8080600101915050613695565b5b5b83955050505050509392505050565b600080600080600088518a51148015613ad257508a518a51145b1515613b46576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f522c532c56206c656e677468206d69736d617463682e0000000000000000000081525060200191505060405180910390fd5b60197f01000000000000000000000000000000000000000000000000000000000000000260007f0100000000000000000000000000000000000000000000000000000000000000023089898c60405160200180877effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168152600101867effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526001018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401848051906020019060200280838360005b83811015613c9a578082015181840152602081019050613c7f565b50505050905001838051906020019060200280838360005b83811015613ccd578082015181840152602081019050613cb2565b50505050905001826000191660001916815260200196505050505050506040516020818303038152906040526040518082805190602001908083835b602083101515613d2e5780518252602082019150602081019050602083039250613d09565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902060405160200180807f19457468657265756d205369676e6564204d6573736167653a0a333200000000815250601c0182600019166000191681526020019150506040516020818303038152906040526040518082805190602001908083835b602083101515613ddf5780518252602082019150602081019050602083039250613dba565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390209250600091505b8951821015614120576001838c84815181101515613e2d57fe5b906020019060200201518c85815181101515613e4557fe5b906020019060200201518c86815181101515613e5d57fe5b90602001906020020151604051600081526020016040526040518085600019166000191681526020018460ff1660ff1681526020018360001916600019168152602001826000191660001916815260200194505050505060206040516020810390808403906000865af1158015613ed8573d6000803e3d6000fd5b505050602060405103519050600080896000191660001916815260200190815260200160002060060160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515613fc0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f496e76616c6964207369676e617475726500000000000000000000000000000081525060200191505060405180910390fd5b600080896000191660001916815260200190815260200160002060070160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151561409d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f53616d65207369676e61747572652073656e742074776963650000000000000081525060200191505060405180910390fd5b60016000808a6000191660001916815260200190815260200160002060070160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508093508180600101925050613e13565b839450505050509695505050505050565b600080614147834261418590919063ffffffff16565b905060008463ffffffff161461417957614172610e108563ffffffff166141a690919063ffffffff16565b811161417c565b60005b91505092915050565b60008083831115151561419757600080fd5b82840390508091505092915050565b60008060008414156141bb57600091506141dd565b82840290508284828115156141cc57fe5b041415156141d957600080fd5b8091505b50929150505600a165627a7a723058209b853928be97bccc647b04b9702dd447c16803c1dcb723886a42e834bb2c4c8c0029", - "deployedBytecode": "0x6080604052600436106100ba576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806323b6fd3f146100bf5780632d9ef96e1461017957806346fbcdeb1461019d57806357bced7614610292578063642f2eaf14610383578063b0550c66146104e5578063b719e2801461054e578063b77bf60014610589578063be84ceaf146105b4578063e4ec8b001461064c578063f0786562146106f5578063f5dbe09c1461075e575b600080fd5b610177600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff169060200190929190803563ffffffff169060200190929190803560001916906020019092919080356bffffffffffffffffffffffff191690602001909291905050506107c7565b005b61019b6004803603810190808035600019169060200190929190505050610a26565b005b3480156101a957600080fd5b5061027460048036038101908080356bffffffffffffffffffffffff19169060200190929190803560ff169060200190929190803563ffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610eb4565b60405180826000191660001916815260200191505060405180910390f35b34801561029e57600080fd5b50610381600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff169060200190929190803563ffffffff16906020019092919080356000191690602001909291908035906020019092919080356bffffffffffffffffffffffff19169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611360565b005b34801561038f57600080fd5b506103b26004803603810190808035600019169060200190929190505050611840565b604051808b81526020018a81526020018960018111156103ce57fe5b60ff1681526020018860018111156103e257fe5b60ff1681526020018760ff1660ff1681526020018663ffffffff1663ffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019a505050505050505050505060405180910390f35b3480156104f157600080fd5b506105346004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061194b565b604051808215151515815260200191505060405180910390f35b34801561055a57600080fd5b506105876004803603810190808035600019169060200190929190803590602001909291905050506119bd565b005b34801561059557600080fd5b5061059e61209d565b6040518082815260200191505060405180910390f35b3480156105c057600080fd5b506105f5600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506120a3565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b8381101561063857808201518184015260208101905061061d565b505050509050019250505060405180910390f35b34801561065857600080fd5b506106f3600480360381019080803590602001908201803590602001919091929391929390803590602001908201803590602001919091929391929390803590602001908201803590602001919091929391929390803560001916906020019092919080359060200190820180359060200191909192939192939080359060200190820180359060200191909192939192939050505061213e565b005b34801561070157600080fd5b506107446004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506126a0565b604051808215151515815260200191505060405180910390f35b34801561076a57600080fd5b506107a9600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050612712565b60405180826000191660001916815260200191505060405180910390f35b81600080600083600019166000191681526020019081526020016000206000015414151561085d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f5472616e73616374696f6e20657869737473000000000000000000000000000081525060200191505060405180910390fd5b87600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610903576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b87600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156109a9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b6109bc8a8a8a8a8a8a348b600080612742565b3373ffffffffffffffffffffffffffffffffffffffff167fce7089d0668849fb9ca29778c0cbf1e764d9efb048d81fd71fb34c94f26db36886346040518083600019166000191681526020018281526020019250505060405180910390a250505050505050505050565b600081600080600083600019166000191681526020019081526020016000206000015414151515610abf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737473000000000081525060200191505060405180910390fd5b8260006001811115610acd57fe5b600080836000191660001916815260200190815260200160002060020160009054906101000a900460ff166001811115610b0357fe5b141515610b9e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001807f5472616e73616374696f6e2069732065697468657220696e206469737075746581526020017f206f722072656c6561736564207374617465000000000000000000000000000081525060400191505060405180910390fd5b836000806001811115610bad57fe5b600080846000191660001916815260200190815260200160002060020160019054906101000a900460ff166001811115610be357fe5b141515610c58576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5472616e73616374696f6e207479706520646f6573206e6f74206d617463680081525060200191505060405180910390fd5b85600080826000191660001916815260200190815260200160002060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610d5f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f54686520696e69746961746f72206f6620746865207472616e73616374696f6e81526020017f206973206e6f742062757965720000000000000000000000000000000000000081525060400191505060405180910390fd5b349550600086111515610dda576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f56616c7565206d7573742062652067726561746572207468616e207a65726f2e81525060200191505060405180910390fd5b610e0a866000808a60001916600019168152602001908152602001600020600001546130ce90919063ffffffff16565b600080896000191660001916815260200190815260200160002060000181905550426000808960001916600019168152602001908152602001600020600101819055503373ffffffffffffffffffffffffffffffffffffffff167ff66fd2ae9e24a6a24b02e1b5b7512ffde5149a4176085fc0298ae228c9b9d72988886040518083600019166000191681526020018281526020019250505060405180910390a250505050505050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611100578787878787873060405160200180886bffffffffffffffffffffffff19166bffffffffffffffffffffffff191681526014018760ff1660ff167f01000000000000000000000000000000000000000000000000000000000000000281526001018663ffffffff1663ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014019750505050505050506040516020818303038152906040526040518082805190602001908083835b6020831015156110cc57805182526020820191506020810190506020830392506110a7565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390209050611355565b878787878787308860405160200180896bffffffffffffffffffffffff19166bffffffffffffffffffffffff191681526014018860ff1660ff167f01000000000000000000000000000000000000000000000000000000000000000281526001018763ffffffff1663ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401985050505050505050506040516020818303038152906040526040518082805190602001908083835b6020831015156113255780518252602082019150602081019050602083039250611300565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902090505b979650505050505050565b60008460008060008360001916600019168152602001908152602001600020600001541415156113f8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f5472616e73616374696f6e20657869737473000000000000000000000000000081525060200191505060405180910390fd5b8a600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561149e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b8a600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515611544576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b84600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156115ea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b6115fd8e8e8e8e8e8e8e8e60018f612742565b8594508473ffffffffffffffffffffffffffffffffffffffff166323b872dd33308b6040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b1580156116d757600080fd5b505af11580156116eb573d6000803e3d6000fd5b505050506040513d602081101561170157600080fd5b810190808051906020019092919050505015156117d2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252605c8152602001807f546f6b656e207472616e73666572206661696c65642c206d6179626520796f7581526020017f20646964206e6f7420617070726f766520657363726f7720636f6e747261637481526020017f20746f207370656e64206f6e20626568616c66206f662062757965720000000081525060600191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff167fce7089d0668849fb9ca29778c0cbf1e764d9efb048d81fd71fb34c94f26db3688a8a6040518083600019166000191681526020018281526020019250505060405180910390a25050505050505050505050505050565b60006020528060005260406000206000915090508060000154908060010154908060020160009054906101000a900460ff16908060020160019054906101000a900460ff16908060020160029054906101000a900460ff16908060020160039054906101000a900463ffffffff16908060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060050160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508a565b6000806000846000191660001916815260200190815260200160002060080160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b60008083600080600083600019166000191681526020019081526020016000206000015414151515611a57576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737473000000000081525060200191505060405180910390fd5b8460006001811115611a6557fe5b600080836000191660001916815260200190815260200160002060020160009054906101000a900460ff166001811115611a9b57fe5b141515611b36576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001807f5472616e73616374696f6e2069732065697468657220696e206469737075746581526020017f206f722072656c6561736564207374617465000000000000000000000000000081525060400191505060405180910390fd5b856001806001811115611b4557fe5b600080846000191660001916815260200190815260200160002060020160019054906101000a900460ff166001811115611b7b57fe5b141515611bf0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5472616e73616374696f6e207479706520646f6573206e6f74206d617463680081525060200191505060405180910390fd5b87600080826000191660001916815260200190815260200160002060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611cf7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f54686520696e69746961746f72206f6620746865207472616e73616374696f6e81526020017f206973206e6f742062757965720000000000000000000000000000000000000081525060400191505060405180910390fd5b879650600087111515611d72576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f56616c7565206d7573742062652067726561746572207468616e207a65726f2e81525060200191505060405180910390fd5b6000808a6000191660001916815260200190815260200160002060040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1695508573ffffffffffffffffffffffffffffffffffffffff166323b872dd6000808c6000191660001916815260200190815260200160002060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff16308b6040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b158015611ec657600080fd5b505af1158015611eda573d6000803e3d6000fd5b505050506040513d6020811015611ef057600080fd5b81019080805190602001909291905050501515611fc1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252605c8152602001807f546f6b656e207472616e73666572206661696c65642c206d6179626520796f7581526020017f20646964206e6f7420617070726f766520657363726f7720636f6e747261637481526020017f20746f207370656e64206f6e20626568616c66206f662062757965720000000081525060600191505060405180910390fd5b611ff1876000808c60001916600019168152602001908152602001600020600001546130ce90919063ffffffff16565b6000808b6000191660001916815260200190815260200160002060000181905550426000808b60001916600019168152602001908152602001600020600101819055503373ffffffffffffffffffffffffffffffffffffffff167ff66fd2ae9e24a6a24b02e1b5b7512ffde5149a4176085fc0298ae228c9b9d7298a896040518083600019166000191681526020018281526020019250505060405180910390a2505050505050505050565b60015481565b6060600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080548060200260200160405190810160405280929190818152602001828054801561213257602002820191906000526020600020905b8154600019168152602001906001019080831161211a575b50505050509050919050565b846000806000836000191660001916815260200190815260200160002060000154141515156121d5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737473000000000081525060200191505060405180910390fd5b85600060018111156121e357fe5b600080836000191660001916815260200190815260200160002060020160009054906101000a900460ff16600181111561221957fe5b1415156122b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001807f5472616e73616374696f6e2069732065697468657220696e206469737075746581526020017f206f722072656c6561736564207374617465000000000000000000000000000081525060400191505060405180910390fd5b6000868690501180156122cc57508383905086869050145b1515612366576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001807f4c656e677468206f662064657374696e6174696f6e7320697320696e636f727281526020017f6563742e0000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b61245f8d8d808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508c8c808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508b8b808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508a8a8a808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508989808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050506130ef565b6001600080896000191660001916815260200190815260200160002060020160006101000a81548160ff0219169083600181111561249957fe5b021790555042600080896000191660001916815260200190815260200160002060010181905550600080886000191660001916815260200190815260200160002060000154612547888888808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508787808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050506132d0565b141515612608576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260488152602001807f546f74616c2076616c756520746f2062652072656c6561736564206d7573742081526020017f626520657175616c20746f20746865207472616e73616374696f6e206573637281526020017f6f772076616c756500000000000000000000000000000000000000000000000081525060600191505060405180910390fd5b7f688e2a1b34445bcd47b0e11ba2a9c8c4d850a1831b64199b59d1c70e2970154587878787876040518086600019166000191681526020018060200180602001838103835287878281815260200192506020028082843782019150508381038252858582818152602001925060200280828437820191505097505050505050505060405180910390a150505050505050505050505050565b6000806000846000191660001916815260200190815260200160002060070160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b60026020528160005260406000208181548110151561272d57fe5b90600052602060002001600091509150505481565b8873ffffffffffffffffffffffffffffffffffffffff168a73ffffffffffffffffffffffffffffffffffffffff16141515156127e6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f427579657220616e642073656c6c6572206172652073616d650000000000000081525060200191505060405180910390fd5b60008411151561285e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f56616c756520706173736564206973203000000000000000000000000000000081525060200191505060405180910390fd5b60008760ff16118015612875575060038760ff1611155b151561290f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603d8152602001807f5468726573686f6c642063616e6e6f742062652067726561746572207468616e81526020017f203320616e64206d7573742062652067726561746572207468616e203000000081525060400191505060405180910390fd5b60018760ff16148061294e5750600073ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff1614155b1515612a0e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252604f8152602001807f456974686572207468726573686f6c642073686f756c642062652031206f746881526020017f6572776973652076616c6964206d6f64657261746f722061646472657373207381526020017f686f756c6420626520706173736564000000000000000000000000000000000081525060600191505060405180910390fd5b612a1d8388888d8d8d87610eb4565b600019168560001916141515612ac1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260398152602001807f43616c63756c6174656420736372697074206861736820646f6573206e6f742081526020017f6d61746368207061737365642073637269707420686173682e0000000000000081525060400191505060405180910390fd5b6101406040519081016040528085815260200142815260200160006001811115612ae757fe5b8152602001836001811115612af857fe5b81526020018860ff1681526020018763ffffffff1681526020018b73ffffffffffffffffffffffffffffffffffffffff1681526020018a73ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020018973ffffffffffffffffffffffffffffffffffffffff168152506000808760001916600019168152602001908152602001600020600082015181600001556020820151816001015560408201518160020160006101000a81548160ff02191690836001811115612bd257fe5b021790555060608201518160020160016101000a81548160ff02191690836001811115612bfb57fe5b021790555060808201518160020160026101000a81548160ff021916908360ff16021790555060a08201518160020160036101000a81548163ffffffff021916908363ffffffff16021790555060c08201518160020160076101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060e08201518160030160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506101008201518160040160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506101208201518160050160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055509050506001600080876000191660001916815260200190815260200160002060060160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600080876000191660001916815260200190815260200160002060060160008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600080866000191660001916815260200190815260200160002060060160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151515612f52576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f456974686572206275796572206f722073656c6c65722069732070617373656481526020017f206173206d6f64657261746f720000000000000000000000000000000000000081525060400191505060405180910390fd5b60018760ff161115612fd2576001600080876000191660001916815260200190815260200160002060060160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b600160008154809291906001019190505550600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020859080600181540180825580915050906001820390600052602060002001600090919290919091509060001916905550600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002085908060018154018082558091505090600182039060005260206000200160009091929091909150906000191690555050505050505050505050565b60008082840190508381101515156130e557600080fd5b8091505092915050565b600080613100888888888888613ab8565b9150613156600080876000191660001916815260200190815260200160002060020160039054906101000a900463ffffffff16600080886000191660001916815260200190815260200160002060010154614131565b9050600080866000191660001916815260200190815260200160002060020160029054906101000a900460ff1660ff16885110801561320757508015806132065750600080866000191660001916815260200190815260200160002060030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b5b156132c6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260588152602001807f4d696e696d756d206e756d626572206f66207369676e6174757265732061726581526020017f206e6f7420636f6c6c656374656420616e642074696d65206c6f636b2065787081526020017f69727920636f6e646974696f6e73206e6f74206d65742121000000000000000081525060600191505060405180910390fd5b5050505050505050565b6000806000806000806000808a600019166000191681526020019081526020016000209450600093506000600181111561330657fe5b8560020160019054906101000a900460ff16600181111561332357fe5b141561363a57600092505b875183101561363557600073ffffffffffffffffffffffffffffffffffffffff16888481518110151561335d57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff16141580156133ed5750846006016000898581518110151561339a57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1515613461576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f4e6f7420612076616c69642064657374696e6174696f6e00000000000000000081525060200191505060405180910390fd5b6000878481518110151561347157fe5b90602001906020020151111515613516576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001807f416d6f756e7420746f2062652073656e742073686f756c64206265206772656181526020017f746572207468616e20300000000000000000000000000000000000000000000081525060400191505060405180910390fd5b613540878481518110151561352757fe5b90602001906020020151856130ce90919063ffffffff16565b935060018560080160008a8681518110151561355857fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555087838151811015156135c157fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff166108fc88858151811015156135f257fe5b906020019060200201519081150290604051600060405180830381858888f19350505050158015613627573d6000803e3d6000fd5b50828060010193505061332e565b613aa9565b60018081111561364657fe5b8560020160019054906101000a900460ff16600181111561366357fe5b1415613aa8578460040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169150600090505b8751811015613aa757600073ffffffffffffffffffffffffffffffffffffffff1688828151811015156136c457fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff16141580156137545750846006016000898381518110151561370157fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15156137c8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f4e6f7420612076616c69642064657374696e6174696f6e00000000000000000081525060200191505060405180910390fd5b600087828151811015156137d857fe5b9060200190602002015111151561387d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001807f416d6f756e7420746f2062652073656e742073686f756c64206265206772656181526020017f746572207468616e20300000000000000000000000000000000000000000000081525060400191505060405180910390fd5b6138a7878281518110151561388e57fe5b90602001906020020151856130ce90919063ffffffff16565b935060018560080160008a848151811015156138bf57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb898381518110151561394457fe5b90602001906020020151898481518110151561395c57fe5b906020019060200201516040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1580156139eb57600080fd5b505af11580156139ff573d6000803e3d6000fd5b505050506040513d6020811015613a1557600080fd5b81019080805190602001909291905050501515613a9a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f546f6b656e207472616e73666572206661696c65642e0000000000000000000081525060200191505060405180910390fd5b8080600101915050613695565b5b5b83955050505050509392505050565b600080600080600088518a51148015613ad257508a518a51145b1515613b46576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f522c532c56206c656e677468206d69736d617463682e0000000000000000000081525060200191505060405180910390fd5b60197f01000000000000000000000000000000000000000000000000000000000000000260007f0100000000000000000000000000000000000000000000000000000000000000023089898c60405160200180877effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168152600101867effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526001018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401848051906020019060200280838360005b83811015613c9a578082015181840152602081019050613c7f565b50505050905001838051906020019060200280838360005b83811015613ccd578082015181840152602081019050613cb2565b50505050905001826000191660001916815260200196505050505050506040516020818303038152906040526040518082805190602001908083835b602083101515613d2e5780518252602082019150602081019050602083039250613d09565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902060405160200180807f19457468657265756d205369676e6564204d6573736167653a0a333200000000815250601c0182600019166000191681526020019150506040516020818303038152906040526040518082805190602001908083835b602083101515613ddf5780518252602082019150602081019050602083039250613dba565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390209250600091505b8951821015614120576001838c84815181101515613e2d57fe5b906020019060200201518c85815181101515613e4557fe5b906020019060200201518c86815181101515613e5d57fe5b90602001906020020151604051600081526020016040526040518085600019166000191681526020018460ff1660ff1681526020018360001916600019168152602001826000191660001916815260200194505050505060206040516020810390808403906000865af1158015613ed8573d6000803e3d6000fd5b505050602060405103519050600080896000191660001916815260200190815260200160002060060160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515613fc0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f496e76616c6964207369676e617475726500000000000000000000000000000081525060200191505060405180910390fd5b600080896000191660001916815260200190815260200160002060070160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151561409d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f53616d65207369676e61747572652073656e742074776963650000000000000081525060200191505060405180910390fd5b60016000808a6000191660001916815260200190815260200160002060070160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508093508180600101925050613e13565b839450505050509695505050505050565b600080614147834261418590919063ffffffff16565b905060008463ffffffff161461417957614172610e108563ffffffff166141a690919063ffffffff16565b811161417c565b60005b91505092915050565b60008083831115151561419757600080fd5b82840390508091505092915050565b60008060008414156141bb57600091506141dd565b82840290508284828115156141cc57fe5b041415156141d957600080fd5b8091505b50929150505600a165627a7a723058209b853928be97bccc647b04b9702dd447c16803c1dcb723886a42e834bb2c4c8c0029", - "sourceMap": "460:20520:0:-;;;1606:1;1572:35;;460:20520;8:9:-1;5:2;;;30:1;27;20:12;5:2;460:20520:0;;;;;;;", - "deployedSourceMap": "460:20520:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3828:702;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7831:598;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12168:999;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12168:999:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5630:1021;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5630:1021:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1514:51;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1514:51:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6875:221;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6875:221:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8689:924;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8689:924:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1572:35;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1572:35:0;;;;;;;;;;;;;;;;;;;;;;;9730:194;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9730:194:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;9730:194:0;;;;;;;;;;;;;;;;;10634:1063;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10634:1063:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7319:194;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7319:194:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1684:54;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1684:54:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3828:702;4106:10;2030:1;1996:12;:24;2009:10;1996:24;;;;;;;;;;;;;;;;;:30;;;:35;1988:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4141:5;2380:1;2354:28;;:14;:28;;;;2346:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4171:6;2380:1;2354:28;;:14;:28;;;;2346:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4193:264;4222:5;4241:6;4261:9;4284;4307:12;4333:10;4357:9;4380:8;4402:21;4445:1;4193:15;:264::i;:::-;4500:10;4481:41;;;4488:10;4512:9;4481:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2416:1;2064;3828:702;;;;;;;;:::o;7831:598::-;8109:14;7939:10;1857:1;1823:12;:24;1836:10;1823:24;;;;;;;;;;;;;;;;;:30;;;:35;;1802:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7973:10;2187:13;2152:48;;;;;;;;:12;:24;2165:10;2152:24;;;;;;;;;;;;;;;;;:31;;;;;;;;;;;;:48;;;;;;;;;2131:133;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8014:10;8026:21;2614:15;2570:59;;;;;;;;:12;:24;2583:10;2570:24;;;;;;;;;;;;;;;;;:40;;;;;;;;;;;;:59;;;;;;;;;2549:125;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8067:10;2782:12;:24;2795:10;2782:24;;;;;;;;;;;;;;;;;:30;;;;;;;;;;;;2768:44;;:10;:44;;;2747:124;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8126:9;8109:26;;8163:1;8154:6;:10;8146:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8245;8293:6;8245:12;:24;8258:10;8245:24;;;;;;;;;;;;;;;;;:30;;;:47;;:55;;;;:::i;:::-;8212:12;:24;8225:10;8212:24;;;;;;;;;;;;;;;;;:30;;:88;;;;8350:15;8310:12;:24;8323:10;8310:24;;;;;;;;;;;;;;;;;:37;;:55;;;;8403:10;8381:41;;;8391:10;8415:6;8381:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2684:1;2274;;1909;7831:598;;;:::o;12168:999::-;12438:7;12489:1;12465:26;;:12;:26;;;12461:700;;;12579:8;12609:9;12640:12;12674:5;12701:6;12729:9;12760:4;12541:241;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;12541:241:0;;;12514:282;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;12514:282:0;;;;;;;;;;;;;;;;12507:289;;;;12461:700;12899:8;12929:9;12960:12;12994:5;13021:6;13049:9;13080:4;13106:12;12861:275;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;12861:275:0;;;12834:316;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;12834:316:0;;;;;;;;;;;;;;;;12827:323;;12168:999;;;;;;;;;;:::o;5630:1021::-;6348:20;5950:10;2030:1;1996:12;:24;2009:10;1996:24;;;;;;;;;;;;;;;;;:30;;;:35;1988:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5985:5;2380:1;2354:28;;:14;:28;;;;2346:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6015:6;2380:1;2354:28;;:14;:28;;;;2346:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6046:12;2380:1;2354:28;;:14;:28;;;;2346:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6075:262;6104:5;6123:6;6143:9;6166;6189:12;6215:10;6239:5;6258:8;6280:21;6315:12;6075:15;:262::i;:::-;6386:12;6348:51;;6431:5;:18;;;6450:10;6462:4;6468:5;6431:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6431:43:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6431:43:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6431:43:0;;;;;;;;;;;;;;;;6410:182;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6626:10;6607:37;;;6614:10;6638:5;6607:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2416:1;;2064;5630:1021;;;;;;;;;;;:::o;1514:51::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;6875:221::-;7011:4;7038:12;:24;7051:10;7038:24;;;;;;;;;;;;;;;;;:38;;:51;7077:11;7038:51;;;;;;;;;;;;;;;;;;;;;;;;;7031:58;;6875:221;;;;:::o;8689:924::-;8975:14;9074:20;8821:10;1857:1;1823:12;:24;1836:10;1823:24;;;;;;;;;;;;;;;;;:30;;;:35;;1802:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8855:10;2187:13;2152:48;;;;;;;;:12;:24;2165:10;2152:24;;;;;;;;;;;;;;;;;:31;;;;;;;;;;;;:48;;;;;;;;;2131:133;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8896:10;8908:21;2614:15;2570:59;;;;;;;;:12;:24;2583:10;2570:24;;;;;;;;;;;;;;;;;:40;;;;;;;;;;;;:59;;;;;;;;;2549:125;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8949:10;2782:12;:24;2795:10;2782:24;;;;;;;;;;;;;;;;;:30;;;;;;;;;;;;2768:44;;:10;:44;;;2747:124;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8992:5;8975:22;;9025:1;9016:6;:10;9008:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9125:12;:24;9138:10;9125:24;;;;;;;;;;;;;;;;;:37;;;;;;;;;;;;9074:98;;9204:5;:18;;;9223:12;:24;9236:10;9223:24;;;;;;;;;;;;;;;;;:30;;;;;;;;;;;;9255:4;9261:5;9204:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9204:63:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9204:63:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;9204:63:0;;;;;;;;;;;;;;;;9183:202;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9429:55;9477:6;9429:12;:24;9442:10;9429:24;;;;;;;;;;;;;;;;;:30;;;:47;;:55;;;;:::i;:::-;9396:12;:24;9409:10;9396:24;;;;;;;;;;;;;;;;;:30;;:88;;;;9534:15;9494:12;:24;9507:10;9494:24;;;;;;;;;;;;;;;;;:37;;:55;;;;9587:10;9565:41;;;9575:10;9599:6;9565:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2684:1;2274;;1909;8689:924;;;;;:::o;1572:35::-;;;;:::o;9730:194::-;9852:9;9885:18;:32;9904:12;9885:32;;;;;;;;;;;;;;;9878:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9730:194;;;:::o;10634:1063::-;10857:10;1857:1;1823:12;:24;1836:10;1823:24;;;;;;;;;;;;;;;;;:30;;;:35;;1802:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10891:10;2187:13;2152:48;;;;;;;;:12;:24;2165:10;2152:24;;;;;;;;;;;;;;;;;:31;;;;;;;;;;;;:48;;;;;;;;;2131:133;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10958:1;10938:12;;:19;;:21;:62;;;;;10986:7;;:14;;10963:12;;:19;;:37;10938:62;10917:133;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11061:152;11092:4;;11061:152;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11110:4;;11061:152;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11128:4;;11061:152;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11146:10;11170:12;;11061:152;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11196:7;;11061:152;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:17;:152::i;:::-;11258:15;11224:12;:24;11237:10;11224:24;;;;;;;;;;;;;;;;;:31;;;:49;;;;;;;;;;;;;;;;;;;;;;;;11397:15;11357:12;:24;11370:10;11357:24;;;;;;;;;;;;;;;;;:37;;:55;;;;11495:12;:24;11508:10;11495:24;;;;;;;;;;;;;;;;;:30;;;11443:48;11457:10;11469:12;;11443:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11483:7;;11443:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:13;:48::i;:::-;:82;11422:201;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11647:43;11656:10;11668:12;;11682:7;;11647:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1909:1;10634:1063;;;;;;;;;;;;:::o;7319:194::-;7442:4;7469:12;:24;7482:10;7469:24;;;;;;;;;;;;;;;;;:30;;:37;7500:5;7469:37;;;;;;;;;;;;;;;;;;;;;;;;;7462:44;;7319:194;;;;:::o;1684:54::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;18343:2635::-;18705:6;18696:15;;:5;:15;;;;18688:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18816:1;18808:5;:9;18800:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18954:1;18942:9;:13;;;:31;;;;;18972:1;18959:9;:14;;;;18942:31;18921:140;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19343:1;19330:9;:14;;;:41;;;;19369:1;19348:23;;:9;:23;;;;19330:41;19309:167;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19522:226;19565:8;19591:9;19618:12;19648:5;19671:6;19695:9;19722:12;19522:25;:226::i;:::-;19508:240;;;:10;:240;;;;19487:345;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19870:373;;;;;;;;;19991:5;19870:373;;;;20059:15;19870:373;;;;20018:13;19870:373;;;;;;;;;;;;20178:15;19870:373;;;;;;;;;;;;20099:9;19870:373;;;;;;20136:12;19870:373;;;;;;19903:5;19870:373;;;;;;19930:6;19870:373;;;;;;20220:12;19870:373;;;;;;19961:9;19870:373;;;;;19843:12;:24;19856:10;19843:24;;;;;;;;;;;;;;;;;:400;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20297:4;20254:12;:24;20267:10;20254:24;;;;;;;;;;;;;;;;;:32;;:40;20287:6;20254:40;;;;;;;;;;;;;;;;:47;;;;;;;;;;;;;;;;;;20353:4;20311:12;:24;20324:10;20311:24;;;;;;;;;;;;;;;;;:32;;:39;20344:5;20311:39;;;;;;;;;;;;;;;;:46;;;;;;;;;;;;;;;;;;20465:12;:24;20478:10;20465:24;;;;;;;;;;;;;;;;;:32;;:43;20498:9;20465:43;;;;;;;;;;;;;;;;;;;;;;;;;20464:44;20443:137;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20752:1;20740:9;:13;;;20736:93;;;20814:4;20768:12;:24;20781:10;20768:24;;;;;;;;;;;;;;;;;:32;;:43;20801:9;20768:43;;;;;;;;;;;;;;;;:50;;;;;;;;;;;;;;;;;;20736:93;20847:16;;:18;;;;;;;;;;;;;20876;:25;20895:5;20876:25;;;;;;;;;;;;;;;20907:10;20876:42;;39:1:-1;33:3;27:10;23:18;57:10;52:3;45:23;79:10;72:17;;0:93;20876:42:0;;;;;;;;;;;;;;;;;;;;;;;;;;;20928:18;:26;20947:6;20928:26;;;;;;;;;;;;;;;20960:10;20928:43;;39:1:-1;33:3;27:10;23:18;57:10;52:3;45:23;79:10;72:17;;0:93;20928:43:0;;;;;;;;;;;;;;;;;;;;;;;;;;;18343:2635;;;;;;;;;;:::o;1272:131:2:-;1330:7;1345:9;1361:1;1357;:5;1345:17;;1381:1;1376;:6;;1368:15;;;;;;;;1397:1;1390:8;;1272:131;;;;;:::o;13441:1005:0:-;13661:21;13847:20;13685:151;13715:4;13733;13751;13769:10;13793:12;13819:7;13685:16;:151::i;:::-;13661:175;;13870:129;13901:12;:24;13914:10;13901:24;;;;;;;;;;;;;;;;;:37;;;;;;;;;;;;13952:12;:24;13965:10;13952:24;;;;;;;;;;;;;;;;;:37;;;13870:17;:129::i;:::-;13847:152;;14185:12;:24;14198:10;14185:24;;;;;;;;;;;;;;;;;:34;;;;;;;;;;;;14171:48;;:4;:11;:48;:122;;;;;14225:15;14224:16;:68;;;;14261:12;:24;14274:10;14261:24;;;;;;;;;;;;;;;;;:31;;;;;;;;;;;;14244:48;;:13;:48;;;;14224:68;14171:122;14150:289;;;14330:98;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14150:289;13441:1005;;;;;;;;:::o;14572:1607::-;14719:7;14742:21;14801:24;14907:9;15544:20;15617:9;14766:12;:24;14779:10;14766:24;;;;;;;;;;;;;;;;;14742:48;;14828:1;14801:28;;14865:21;14844:42;;;;;;;;:1;:17;;;;;;;;;;;;:42;;;;;;;;;14840:1299;;;14919:1;14907:13;;14902:562;14926:12;:19;14922:1;:23;14902:562;;;15006:1;14979:29;;:12;14992:1;14979:15;;;;;;;;;;;;;;;;;;:29;;;;:59;;;;;15012:1;:9;;:26;15022:12;15035:1;15022:15;;;;;;;;;;;;;;;;;;15012:26;;;;;;;;;;;;;;;;;;;;;;;;;14979:59;14971:95;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15105:1;15092:7;15100:1;15092:10;;;;;;;;;;;;;;;;;;:14;15084:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15191:32;15212:7;15220:1;15212:10;;;;;;;;;;;;;;;;;;15191:16;:20;;:32;;;;:::i;:::-;15172:51;;15277:4;15242:1;:15;;:32;15258:12;15271:1;15258:15;;;;;;;;;;;;;;;;;;15242:32;;;;;;;;;;;;;;;;:39;;;;;;;;;;;;;;;;;;15328:12;15341:1;15328:15;;;;;;;;;;;;;;;;;;:24;;:36;15353:7;15361:1;15353:10;;;;;;;;;;;;;;;;;;15328:36;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;15328:36:0;14947:3;;;;;;;14902:562;;;14840:1299;;;15506:21;15485:42;;;;;;;;:1;:17;;;;;;;;;;;;:42;;;;;;;;;15481:658;;;15582:1;:14;;;;;;;;;;;;15544:53;;15629:1;15617:13;;15612:517;15634:12;:19;15632:1;:21;15612:517;;;15714:1;15687:29;;:12;15700:1;15687:15;;;;;;;;;;;;;;;;;;:29;;;;:59;;;;;15720:1;:9;;:26;15730:12;15743:1;15730:15;;;;;;;;;;;;;;;;;;15720:26;;;;;;;;;;;;;;;;;;;;;;;;;15687:59;15679:95;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15813:1;15800:7;15808:1;15800:10;;;;;;;;;;;;;;;;;;:14;15792:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15899:32;15920:7;15928:1;15920:10;;;;;;;;;;;;;;;;;;15899:16;:20;;:32;;;;:::i;:::-;15880:51;;15984:4;15949:1;:15;;:32;15965:12;15978:1;15965:15;;;;;;;;;;;;;;;;;;15949:32;;;;;;;;;;;;;;;;:39;;;;;;;;;;;;;;;;;;16044:5;:14;;;16059:12;16072:1;16059:15;;;;;;;;;;;;;;;;;;16076:7;16084:1;16076:10;;;;;;;;;;;;;;;;;;16044:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;16044:43:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;16044:43:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;16044:43:0;;;;;;;;;;;;;;;;16036:78;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15655:3;;;;;;;15612:517;;;15481:658;14840:1299;16156:16;16149:23;;14572:1607;;;;;;;;;;:::o;16363:1571::-;16584:7;16745:19;16863:14;17322:6;17371:17;16644:4;:11;16629:4;:11;:26;:56;;;;;16674:4;:11;16659:4;:11;:26;16629:56;16608:126;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17067:4;17062:10;;17103:1;17098:7;;17131:4;17161:12;17199:7;17232:10;17020:244;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;17020:244:0;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;17020:244:0;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;17020:244:0;;;16989:293;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;16989:293:0;;;;;;;;;;;;;;;;16903:393;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;16903:393:0;;;16880:426;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;16880:426:0;;;;;;;;;;;;;;;;16863:443;;17331:1;17322:10;;17317:582;17338:4;:11;17334:1;:15;17317:582;;;17391:122;17418:6;17442:4;17447:1;17442:7;;;;;;;;;;;;;;;;;;17467:4;17472:1;17467:7;;;;;;;;;;;;;;;;;;17492:4;17497:1;17492:7;;;;;;;;;;;;;;;;;;17391:122;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;17391:122:0;;;;;;;;17371:142;;17553:12;:24;17566:10;17553:24;;;;;;;;;;;;;;;;;:32;;:43;17586:9;17553:43;;;;;;;;;;;;;;;;;;;;;;;;;17528:120;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17688:12;:24;17701:10;17688:24;;;;;;;;;;;;;;;;;:30;;:41;17719:9;17688:41;;;;;;;;;;;;;;;;;;;;;;;;;17687:42;17662:127;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17847:4;17803:12;:24;17816:10;17803:24;;;;;;;;;;;;;;;;;:30;;:41;17834:9;17803:41;;;;;;;;;;;;;;;;:48;;;;;;;;;;;;;;;;;;17879:9;17865:23;;17351:3;;;;;;;17317:582;;;17916:11;17909:18;;16363:1571;;;;;;;;;;;;:::o;17940:316::-;18078:4;18098:17;18118:21;18126:12;18118:3;:7;;:21;;;;:::i;:::-;18098:41;;18186:1;18170:12;:17;;;:69;;18208:31;18234:4;18216:12;18208:21;;:25;;:31;;;;:::i;:::-;18196:9;:43;18170:69;;;18190:5;18170:69;18149:100;;17940:316;;;;;:::o;1078:131:2:-;1136:7;1172:9;1164:1;1159;:6;;1151:15;;;;;;;;1188:1;1184;:5;1172:17;;1203:1;1196:8;;1078:131;;;;;:::o;204:381::-;262:7;523:9;491:1;486;:6;482:35;;;509:1;502:8;;;;482:35;539:1;535;:5;523:17;;563:1;558;554;:5;;;;;;;;:10;546:19;;;;;;;;579:1;572:8;;204:381;;;;;;:::o", - "source": "pragma solidity 0.4.24;\n\nimport \"openzeppelin-solidity/contracts/math/SafeMath.sol\";\n\nimport \"../token/ITokenContract.sol\";\n\n\n/**\n* @dev Supports ERC20 tokens\n* The escrow smart contract for the open bazaar trades in Ethereum\n* The smart contract is desgined keeping in mind the current wallet interface of the OB-core\n* https://github.com/OpenBazaar/wallet-interface/blob/master/wallet.go\n* Current wallet interface strictly adheres to UTXO(bitcoin) model\n*/\ncontract Escrow_v1_0 {\n\n using SafeMath for uint256;\n\n enum Status {FUNDED, RELEASED}\n\n enum TransactionType {ETHER, TOKEN}\n\n event Executed(\n bytes32 scriptHash,\n address[] destinations,\n uint256[] amounts\n );\n\n event FundAdded(\n bytes32 scriptHash,\n address indexed from,\n uint256 valueAdded\n );\n\n event Funded(bytes32 scriptHash, address indexed from, uint256 value);\n\n struct Transaction {\n uint256 value;\n uint256 lastModified;//Time at which transaction was last modified\n Status status;\n TransactionType transactionType;\n uint8 threshold;\n uint32 timeoutHours;\n address buyer;\n address seller;\n address tokenAddress;// Token address in case of token transfer\n address moderator;\n mapping(address=>bool) isOwner;//to keep track of owners/signers.\n mapping(address=>bool) voted;//to keep track of who all voted\n mapping(address=>bool) beneficiaries;//Benefeciaries of execution\n }\n\n mapping(bytes32 => Transaction) public transactions;\n\n uint256 public transactionCount = 0;\n\n //Contains mapping between each party and all of his transactions\n mapping(address => bytes32[])public partyVsTransaction;\n\n modifier transactionExists(bytes32 scriptHash) {\n require(\n transactions[scriptHash].value != 0, \"Transaction does not exists\"\n );\n _;\n }\n\n modifier transactionDoesNotExists (bytes32 scriptHash) {\n require(transactions[scriptHash].value == 0, \"Transaction exists\");\n _;\n }\n\n modifier inFundedState(bytes32 scriptHash) {\n require(\n transactions[scriptHash].status == Status.FUNDED, \"Transaction is either in dispute or released state\"\n );\n _;\n }\n\n modifier nonZeroAddress(address addressToCheck) {\n require(addressToCheck != address(0), \"Zero address passed\");\n _;\n }\n\n modifier checkTransactionType(\n bytes32 scriptHash,\n TransactionType transactionType\n )\n {\n require(\n transactions[scriptHash].transactionType == transactionType, \"Transaction type does not match\"\n );\n _;\n }\n\n modifier onlyBuyer(bytes32 scriptHash) {\n require(\n msg.sender == transactions[scriptHash].buyer, \"The initiator of the transaction is not buyer\"\n );\n _;\n }\n\n /**\n *@dev Add new transaction in the contract\n *@param buyer The buyer of the transaction\n *@param seller The seller of the listing associated with the transaction\n *@param moderator Moderator for this transaction\n *@param scriptHash keccak256 hash of the redeem script\n *@param threshold Minimum number of singatures required to released funds\n *@param timeoutHours Hours after which seller can release funds into his favour by signing transaction\n *@param uniqueId bytes20 unique id for the transaction, generated by ETH wallet\n *Redeem Script format will be following\n \n * scripthash-> keccak256(uniqueId, threshold, timeoutHours, buyer, seller, moderator)\n *Pass amount of the ethers to be put in escrow\n *Please keep in mind you will have to add moderator fees also in the value\n */\n function addTransaction(\n address buyer,\n address seller,\n address moderator,\n uint8 threshold,\n uint32 timeoutHours,\n bytes32 scriptHash,\n bytes20 uniqueId\n )\n external\n payable\n transactionDoesNotExists(scriptHash)\n nonZeroAddress(buyer)\n nonZeroAddress(seller)\n {\n _addTransaction(\n buyer,\n seller,\n moderator,\n threshold,\n timeoutHours,\n scriptHash,\n msg.value,\n uniqueId,\n TransactionType.ETHER,\n address(0)\n );\n \n emit Funded(scriptHash, msg.sender, msg.value);\n\n }\n\n /**\n *@dev Add new transaction in the contract\n *@param buyer The buyer of the transaction\n *@param seller The seller of the listing associated with the transaction\n *@param moderator Moderator for this transaction\n *@param scriptHash keccak256 hash of the redeem script\n *@param threshold Minimum number of singatures required to released funds\n *@param timeoutHours Hours after which seller can release funds into his favour by signing transaction\n *@param value Amount of tokens to be put in escrow\n *@param uniqueId bytes20 unique id for the transaction, generated by ETH wallet\n *@param tokenAddress Address of the token to be used\n *Redeem Script format will be following\n \n * scripthash-> keccak256(uniqueId, threshold, timeoutHours, buyer, seller, moderator, tokenAddress)\n *approve escrow contract to spend amount of token on your behalf\n *Please keep in mind you will have to add moderator fees also in the value\n */\n function addTokenTransaction(\n address buyer,\n address seller,\n address moderator,\n uint8 threshold,\n uint32 timeoutHours,\n bytes32 scriptHash,\n uint256 value,\n bytes20 uniqueId,\n address tokenAddress\n )\n external\n transactionDoesNotExists(scriptHash)\n nonZeroAddress(buyer)\n nonZeroAddress(seller)\n nonZeroAddress(tokenAddress)\n {\n\n _addTransaction(\n buyer,\n seller,\n moderator,\n threshold,\n timeoutHours,\n scriptHash,\n value,\n uniqueId,\n TransactionType.TOKEN,\n tokenAddress\n );\n\n ITokenContract token = ITokenContract(tokenAddress);\n\n require(\n token.transferFrom(msg.sender, this, value),\n \"Token transfer failed, maybe you did not approve escrow contract to spend on behalf of buyer\"\n );\n emit Funded(scriptHash, msg.sender, value);\n }\n\n /**\n * @dev Check whether given address was a beneficiary of transaction execution or not\n * @param scriptHash script hash of the transaction\n * @param beneficiary Beneficiary address to be checked\n */\n function checkBeneficiary(\n bytes32 scriptHash,\n address beneficiary\n )\n external\n view\n returns (bool)\n {\n return transactions[scriptHash].beneficiaries[beneficiary];\n }\n\n /**\n * @dev Check whether given party has voted or not\n * @param scriptHash script hash of the transaction\n * @param party Address of the party whose vote has to be checked\n * @return bool vote\n */\n function checkVote(\n bytes32 scriptHash,\n address party\n )\n external\n view\n returns (bool)\n {\n return transactions[scriptHash].voted[party];\n }\n\n /**\n *@dev Allows buyer of the transaction to add more funds(ether) in the transaction. This will help to cater scenarios wherein initially buyer missed to fund transaction as required\n *@param scriptHash script hash of the transaction\n * Only buyer of the transaction can invoke this method\n */\n function addFundsToTransaction(\n bytes32 scriptHash\n )\n external\n transactionExists(scriptHash)\n inFundedState(scriptHash)\n checkTransactionType(scriptHash, TransactionType.ETHER)\n onlyBuyer(scriptHash)\n payable\n {\n uint256 _value = msg.value;\n\n require(_value > 0, \"Value must be greater than zero.\");\n\n transactions[scriptHash].value = transactions[scriptHash].value\n .add(_value);\n transactions[scriptHash].lastModified = block.timestamp;\n\n emit FundAdded(scriptHash, msg.sender, _value);\n }\n\n /**\n *@dev Allows buyer of the transaction to add more funds(Tokens) in the transaction. This will help to cater scenarios wherein initially buyer missed to fund transaction as required\n *@param scriptHash script hash of the transaction\n */\n function addTokensToTransaction(\n bytes32 scriptHash,\n uint256 value\n )\n external\n transactionExists(scriptHash)\n inFundedState(scriptHash)\n checkTransactionType(scriptHash, TransactionType.TOKEN)\n onlyBuyer(scriptHash)\n {\n uint256 _value = value;\n\n require(_value > 0, \"Value must be greater than zero.\");\n\n ITokenContract token = ITokenContract(\n transactions[scriptHash].tokenAddress\n );\n\n require(\n token.transferFrom(transactions[scriptHash].buyer, this, value),\n \"Token transfer failed, maybe you did not approve escrow contract to spend on behalf of buyer\"\n );\n\n transactions[scriptHash].value = transactions[scriptHash].value\n .add(_value);\n transactions[scriptHash].lastModified = block.timestamp;\n\n emit FundAdded(scriptHash, msg.sender, _value);\n }\n\n /**\n *@dev Returns all transaction ids for a party\n *@param partyAddress Address of the party\n */\n function getAllTransactionsForParty(\n address partyAddress\n ) \n external \n view \n returns (bytes32[]) \n {\n return partyVsTransaction[partyAddress];\n }\n\n /**\n *@dev This method will be used to release funds associated with the transaction\n * Please see specs https://github.com/OpenBazaar/smart-contracts/blob/master/contracts/escrow/EscrowSpec.md\n *@param sigV Array containing V component of all the signatures\n *@param sigR Array containing R component of all the signatures\n *@param signS Array containing S component of all the signatures\n *@param scriptHash script hash of the transaction\n *@param destinations address of the destination in whose favour dispute resolution is taking place. In case of split payments it will be address of the split payments contract\n *@param amounts value to send to each destination\n */\n function execute(\n uint8[] sigV,\n bytes32[] sigR,\n bytes32[] sigS,\n bytes32 scriptHash,\n address[] destinations,\n uint256[] amounts\n )\n external\n transactionExists(scriptHash)\n inFundedState(scriptHash)\n {\n require(\n destinations.length>0 && destinations.length == amounts.length, \"Length of destinations is incorrect.\"\n );\n\n verifyTransaction(\n sigV,\n sigR,\n sigS,\n scriptHash,\n destinations,\n amounts\n );\n\n transactions[scriptHash].status = Status.RELEASED;\n //Last modified timestamp modified, which will be used by rewards\n transactions[scriptHash].lastModified = block.timestamp;\n require(\n transferFunds(scriptHash, destinations, amounts) == transactions[scriptHash].value,\n \"Total value to be released must be equal to the transaction escrow value\"\n );\n \n emit Executed(scriptHash, destinations, amounts);\n }\n\n\n /**\n *@dev Method for calculating script hash. Calculation will depend upon the type of transaction\n * ETHER Type transaction-:\n * Script Hash- keccak256(uniqueId, threshold, timeoutHours, buyer, seller, moderator)\n * TOKEN Type transaction\n * Script Hash- keccak256(uniqueId, threshold, timeoutHours, buyer, seller, moderator, tokenAddress)\n * Client can use this method to verify whether it has calculated correct script hash or not\n */\n function calculateRedeemScriptHash(\n bytes20 uniqueId,\n uint8 threshold,\n uint32 timeoutHours,\n address buyer,\n address seller,\n address moderator,\n address tokenAddress\n )\n public\n view\n returns (bytes32)\n {\n if (tokenAddress == address(0)) {\n return keccak256(\n abi.encodePacked(\n uniqueId,\n threshold,\n timeoutHours,\n buyer,\n seller,\n moderator,\n this\n )\n );\n } else {\n return keccak256(\n abi.encodePacked(\n uniqueId,\n threshold,\n timeoutHours,\n buyer,\n seller,\n moderator,\n this,\n tokenAddress\n )\n );\n }\n }\n\n /**\n * @dev This methods checks validity of transaction\n * 1. Verify Signatures\n * 2. Check if minimum number of signatures has been acquired\n * 3. If above condition is false, check if time lock is expired and the execution is signed by seller\n */\n function verifyTransaction(\n uint8[] sigV,\n bytes32[] sigR,\n bytes32[] sigS,\n bytes32 scriptHash,\n address[] destinations,\n uint256[] amounts\n )\n private\n {\n address lastRecovered = verifySignatures(\n sigV,\n sigR,\n sigS,\n scriptHash,\n destinations,\n amounts\n );\n\n bool timeLockExpired = isTimeLockExpired(\n transactions[scriptHash].timeoutHours,\n transactions[scriptHash].lastModified\n );\n\n //if Minimum number of signatures are not gathered and timelock has not expired or transaction was not signed by seller then revert\n if (\n sigV.length < transactions[scriptHash].threshold && (!timeLockExpired || lastRecovered != transactions[scriptHash].seller)\n )\n {\n revert(\"Minimum number of signatures are not collected and time lock expiry conditions not met!!\");\n }\n\n }\n\n /**\n *@dev Private method to transfer funds to the destination addresses on the basis of transaction type\n */\n function transferFunds(\n bytes32 scriptHash,\n address[]destinations,\n uint256[]amounts\n )\n private\n returns (uint256)\n {\n Transaction storage t = transactions[scriptHash];\n\n uint256 valueTransferred = 0;\n\n if (t.transactionType == TransactionType.ETHER) {\n for (uint256 i = 0; i < destinations.length; i++) {\n\n require(destinations[i] != address(0) && t.isOwner[destinations[i]], \"Not a valid destination\");\n require(amounts[i] > 0, \"Amount to be sent should be greater than 0\");\n\n valueTransferred = valueTransferred.add(amounts[i]);\n\n t.beneficiaries[destinations[i]] = true;//add receiver as beneficiary\n destinations[i].transfer(amounts[i]);//shall we use send instead of transfer to stop malicious actors from blocking funds?\n }\n\n } else if (t.transactionType == TransactionType.TOKEN) {\n\n ITokenContract token = ITokenContract(t.tokenAddress);\n\n for (uint256 j = 0; j 0, \"Amount to be sent should be greater than 0\");\n\n valueTransferred = valueTransferred.add(amounts[j]);\n t.beneficiaries[destinations[j]] = true;//add receiver as beneficiary\n\n require(token.transfer(destinations[j], amounts[j]), \"Token transfer failed.\");\n }\n } \n return valueTransferred;\n }\n\n //to check whether the signature are valid or not and if consensus was reached\n //returns the last address recovered, in case of timeout this must be the sender's address\n function verifySignatures(\n uint8[] sigV,\n bytes32[] sigR,\n bytes32[] sigS,\n bytes32 scriptHash,\n address[] destinations,\n uint256[]amounts\n )\n private\n returns (address)\n {\n\n require(\n sigR.length == sigS.length && sigR.length == sigV.length, \n \"R,S,V length mismatch.\"\n );\n\n address lastAddress;\n\n // Follows ERC191 signature scheme: https://github.com/ethereum/EIPs/issues/191\n bytes32 txHash = keccak256(\n abi.encodePacked(\n \"\\x19Ethereum Signed Message:\\n32\",\n keccak256(\n abi.encodePacked(\n byte(0x19),\n byte(0),\n this,\n destinations,\n amounts,\n scriptHash\n )\n )\n )\n );\n\n for (uint i = 0; i < sigR.length; i++) {\n\n address recovered = ecrecover(\n txHash,\n sigV[i],\n sigR[i],\n sigS[i]\n );\n\n require(\n transactions[scriptHash].isOwner[recovered], \n \"Invalid signature\"\n );\n require(\n !transactions[scriptHash].voted[recovered], \n \"Same signature sent twice\"\n );\n transactions[scriptHash].voted[recovered] = true;\n lastAddress = recovered;\n }\n\n return lastAddress;\n }\n\n function isTimeLockExpired(\n uint32 timeoutHours,\n uint256 lastModified\n )\n private\n view\n returns (bool)\n {\n uint256 timeSince = now.sub(lastModified);\n return (\n timeoutHours == 0 ? false:timeSince > uint256(timeoutHours).mul(3600)\n );\n }\n\n /**\n * Private method to add transaction to reduce code redundancy\n */\n function _addTransaction(\n address buyer,\n address seller,\n address moderator,\n uint8 threshold,\n uint32 timeoutHours,\n bytes32 scriptHash,\n uint256 value,\n bytes20 uniqueId,\n TransactionType transactionType,\n address tokenAddress\n )\n private\n { \n require(buyer != seller, \"Buyer and seller are same\");\n\n //value passed should be greater than 0\n require(value > 0, \"Value passed is 0\");\n\n // For now allowing 0 moderator to support 1-2 multisig wallet\n require(\n threshold > 0 && threshold <= 3, \n \"Threshold cannot be greater than 3 and must be greater than 0\"\n );\n\n //if threshold is 1 then moderator can be passed as zero address or any other address(it wont matter aopart from scripthash since we wont add moderator as one of the owner)\n //otherwise moderator should be a valid address\n require(\n threshold == 1 || moderator != address(0),\n \"Either threshold should be 1 otherwise valid moderator address should be passed\"\n );\n\n require(\n scriptHash == calculateRedeemScriptHash(\n uniqueId,\n threshold,\n timeoutHours,\n buyer,\n seller,\n moderator,\n tokenAddress\n ), \n \"Calculated script hash does not match passed script hash.\"\n );\n\n transactions[scriptHash] = Transaction({\n buyer: buyer,\n seller: seller,\n moderator: moderator,\n value: value,\n status: Status.FUNDED,\n lastModified: block.timestamp,\n threshold: threshold,\n timeoutHours: timeoutHours,\n transactionType:transactionType,\n tokenAddress:tokenAddress\n });\n\n transactions[scriptHash].isOwner[seller] = true;\n transactions[scriptHash].isOwner[buyer] = true; \n\n //Check if buyer or seller are not passed as moderator\n require(\n !transactions[scriptHash].isOwner[moderator], \n \"Either buyer or seller is passed as moderator\"\n );\n\n //set moderator as one of the owners only if threshold is greater than 1 otherwise only buyer and seller should be able to release funds\n if (threshold > 1){\n transactions[scriptHash].isOwner[moderator] = true;\n }\n \n\n transactionCount++;\n\n partyVsTransaction[buyer].push(scriptHash);\n partyVsTransaction[seller].push(scriptHash);\n }\n}\n", + "bytecode": "0x6080604052600060015534801561001557600080fd5b50614210806100256000396000f3006080604052600436106100ba576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806323b6fd3f146100bf5780632d9ef96e1461017957806346fbcdeb1461019d57806357bced7614610292578063642f2eaf14610383578063b0550c66146104e5578063b719e2801461054e578063b77bf60014610589578063be84ceaf146105b4578063e4ec8b001461064c578063f0786562146106f5578063f5dbe09c1461075e575b600080fd5b610177600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff169060200190929190803563ffffffff169060200190929190803560001916906020019092919080356bffffffffffffffffffffffff191690602001909291905050506107c7565b005b61019b6004803603810190808035600019169060200190929190505050610a26565b005b3480156101a957600080fd5b5061027460048036038101908080356bffffffffffffffffffffffff19169060200190929190803560ff169060200190929190803563ffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610eb4565b60405180826000191660001916815260200191505060405180910390f35b34801561029e57600080fd5b50610381600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff169060200190929190803563ffffffff16906020019092919080356000191690602001909291908035906020019092919080356bffffffffffffffffffffffff19169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611360565b005b34801561038f57600080fd5b506103b26004803603810190808035600019169060200190929190505050611840565b604051808b81526020018a81526020018960018111156103ce57fe5b60ff1681526020018860018111156103e257fe5b60ff1681526020018760ff1660ff1681526020018663ffffffff1663ffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019a505050505050505050505060405180910390f35b3480156104f157600080fd5b506105346004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061194b565b604051808215151515815260200191505060405180910390f35b34801561055a57600080fd5b506105876004803603810190808035600019169060200190929190803590602001909291905050506119bd565b005b34801561059557600080fd5b5061059e61209d565b6040518082815260200191505060405180910390f35b3480156105c057600080fd5b506105f5600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506120a3565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b8381101561063857808201518184015260208101905061061d565b505050509050019250505060405180910390f35b34801561065857600080fd5b506106f3600480360381019080803590602001908201803590602001919091929391929390803590602001908201803590602001919091929391929390803590602001908201803590602001919091929391929390803560001916906020019092919080359060200190820180359060200191909192939192939080359060200190820180359060200191909192939192939050505061213e565b005b34801561070157600080fd5b506107446004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506126a0565b604051808215151515815260200191505060405180910390f35b34801561076a57600080fd5b506107a9600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050612712565b60405180826000191660001916815260200191505060405180910390f35b81600080600083600019166000191681526020019081526020016000206000015414151561085d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f5472616e73616374696f6e20657869737473000000000000000000000000000081525060200191505060405180910390fd5b87600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610903576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b87600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156109a9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b6109bc8a8a8a8a8a8a348b600080612742565b3373ffffffffffffffffffffffffffffffffffffffff167fce7089d0668849fb9ca29778c0cbf1e764d9efb048d81fd71fb34c94f26db36886346040518083600019166000191681526020018281526020019250505060405180910390a250505050505050505050565b600081600080600083600019166000191681526020019081526020016000206000015414151515610abf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737473000000000081525060200191505060405180910390fd5b8260006001811115610acd57fe5b600080836000191660001916815260200190815260200160002060020160009054906101000a900460ff166001811115610b0357fe5b141515610b9e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001807f5472616e73616374696f6e206973206e6f7420696e2046554e4445442073746181526020017f746500000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b836000806001811115610bad57fe5b600080846000191660001916815260200190815260200160002060020160019054906101000a900460ff166001811115610be357fe5b141515610c58576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5472616e73616374696f6e207479706520646f6573206e6f74206d617463680081525060200191505060405180910390fd5b85600080826000191660001916815260200190815260200160002060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610d5f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f54686520696e69746961746f72206f6620746865207472616e73616374696f6e81526020017f206973206e6f742062757965720000000000000000000000000000000000000081525060400191505060405180910390fd5b349550600086111515610dda576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f56616c7565206d7573742062652067726561746572207468616e207a65726f2e81525060200191505060405180910390fd5b610e0a866000808a60001916600019168152602001908152602001600020600001546130ce90919063ffffffff16565b600080896000191660001916815260200190815260200160002060000181905550426000808960001916600019168152602001908152602001600020600101819055503373ffffffffffffffffffffffffffffffffffffffff167ff66fd2ae9e24a6a24b02e1b5b7512ffde5149a4176085fc0298ae228c9b9d72988886040518083600019166000191681526020018281526020019250505060405180910390a250505050505050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611100578787878787873060405160200180886bffffffffffffffffffffffff19166bffffffffffffffffffffffff191681526014018760ff1660ff167f01000000000000000000000000000000000000000000000000000000000000000281526001018663ffffffff1663ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014019750505050505050506040516020818303038152906040526040518082805190602001908083835b6020831015156110cc57805182526020820191506020810190506020830392506110a7565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390209050611355565b878787878787308860405160200180896bffffffffffffffffffffffff19166bffffffffffffffffffffffff191681526014018860ff1660ff167f01000000000000000000000000000000000000000000000000000000000000000281526001018763ffffffff1663ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401985050505050505050506040516020818303038152906040526040518082805190602001908083835b6020831015156113255780518252602082019150602081019050602083039250611300565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902090505b979650505050505050565b60008460008060008360001916600019168152602001908152602001600020600001541415156113f8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f5472616e73616374696f6e20657869737473000000000000000000000000000081525060200191505060405180910390fd5b8a600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561149e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b8a600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515611544576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b84600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156115ea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b6115fd8e8e8e8e8e8e8e8e60018f612742565b8594508473ffffffffffffffffffffffffffffffffffffffff166323b872dd33308b6040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b1580156116d757600080fd5b505af11580156116eb573d6000803e3d6000fd5b505050506040513d602081101561170157600080fd5b810190808051906020019092919050505015156117d2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252605c8152602001807f546f6b656e207472616e73666572206661696c65642c206d6179626520796f7581526020017f20646964206e6f7420617070726f766520657363726f7720636f6e747261637481526020017f20746f207370656e64206f6e20626568616c66206f662062757965720000000081525060600191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff167fce7089d0668849fb9ca29778c0cbf1e764d9efb048d81fd71fb34c94f26db3688a8a6040518083600019166000191681526020018281526020019250505060405180910390a25050505050505050505050505050565b60006020528060005260406000206000915090508060000154908060010154908060020160009054906101000a900460ff16908060020160019054906101000a900460ff16908060020160029054906101000a900460ff16908060020160039054906101000a900463ffffffff16908060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060050160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508a565b6000806000846000191660001916815260200190815260200160002060080160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b60008083600080600083600019166000191681526020019081526020016000206000015414151515611a57576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737473000000000081525060200191505060405180910390fd5b8460006001811115611a6557fe5b600080836000191660001916815260200190815260200160002060020160009054906101000a900460ff166001811115611a9b57fe5b141515611b36576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001807f5472616e73616374696f6e206973206e6f7420696e2046554e4445442073746181526020017f746500000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b856001806001811115611b4557fe5b600080846000191660001916815260200190815260200160002060020160019054906101000a900460ff166001811115611b7b57fe5b141515611bf0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5472616e73616374696f6e207479706520646f6573206e6f74206d617463680081525060200191505060405180910390fd5b87600080826000191660001916815260200190815260200160002060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611cf7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f54686520696e69746961746f72206f6620746865207472616e73616374696f6e81526020017f206973206e6f742062757965720000000000000000000000000000000000000081525060400191505060405180910390fd5b879650600087111515611d72576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f56616c7565206d7573742062652067726561746572207468616e207a65726f2e81525060200191505060405180910390fd5b6000808a6000191660001916815260200190815260200160002060040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1695508573ffffffffffffffffffffffffffffffffffffffff166323b872dd6000808c6000191660001916815260200190815260200160002060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff16308b6040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b158015611ec657600080fd5b505af1158015611eda573d6000803e3d6000fd5b505050506040513d6020811015611ef057600080fd5b81019080805190602001909291905050501515611fc1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252605c8152602001807f546f6b656e207472616e73666572206661696c65642c206d6179626520796f7581526020017f20646964206e6f7420617070726f766520657363726f7720636f6e747261637481526020017f20746f207370656e64206f6e20626568616c66206f662062757965720000000081525060600191505060405180910390fd5b611ff1876000808c60001916600019168152602001908152602001600020600001546130ce90919063ffffffff16565b6000808b6000191660001916815260200190815260200160002060000181905550426000808b60001916600019168152602001908152602001600020600101819055503373ffffffffffffffffffffffffffffffffffffffff167ff66fd2ae9e24a6a24b02e1b5b7512ffde5149a4176085fc0298ae228c9b9d7298a896040518083600019166000191681526020018281526020019250505060405180910390a2505050505050505050565b60015481565b6060600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080548060200260200160405190810160405280929190818152602001828054801561213257602002820191906000526020600020905b8154600019168152602001906001019080831161211a575b50505050509050919050565b846000806000836000191660001916815260200190815260200160002060000154141515156121d5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737473000000000081525060200191505060405180910390fd5b85600060018111156121e357fe5b600080836000191660001916815260200190815260200160002060020160009054906101000a900460ff16600181111561221957fe5b1415156122b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001807f5472616e73616374696f6e206973206e6f7420696e2046554e4445442073746181526020017f746500000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b6000868690501180156122cc57508383905086869050145b1515612366576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001807f4c656e677468206f662064657374696e6174696f6e7320697320696e636f727281526020017f6563742e0000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b61245f8d8d808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508c8c808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508b8b808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508a8a8a808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508989808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050506130ef565b6001600080896000191660001916815260200190815260200160002060020160006101000a81548160ff0219169083600181111561249957fe5b021790555042600080896000191660001916815260200190815260200160002060010181905550600080886000191660001916815260200190815260200160002060000154612547888888808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508787808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050506132d0565b141515612608576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260488152602001807f546f74616c2076616c756520746f2062652072656c6561736564206d7573742081526020017f626520657175616c20746f20746865207472616e73616374696f6e206573637281526020017f6f772076616c756500000000000000000000000000000000000000000000000081525060600191505060405180910390fd5b7f688e2a1b34445bcd47b0e11ba2a9c8c4d850a1831b64199b59d1c70e2970154587878787876040518086600019166000191681526020018060200180602001838103835287878281815260200192506020028082843782019150508381038252858582818152602001925060200280828437820191505097505050505050505060405180910390a150505050505050505050505050565b6000806000846000191660001916815260200190815260200160002060070160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b60026020528160005260406000208181548110151561272d57fe5b90600052602060002001600091509150505481565b8873ffffffffffffffffffffffffffffffffffffffff168a73ffffffffffffffffffffffffffffffffffffffff16141515156127e6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f427579657220616e642073656c6c6572206172652073616d650000000000000081525060200191505060405180910390fd5b60008411151561285e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f56616c756520706173736564206973203000000000000000000000000000000081525060200191505060405180910390fd5b60008760ff16118015612875575060038760ff1611155b151561290f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603d8152602001807f5468726573686f6c642063616e6e6f742062652067726561746572207468616e81526020017f203320616e64206d7573742062652067726561746572207468616e203000000081525060400191505060405180910390fd5b60018760ff16148061294e5750600073ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff1614155b1515612a0e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252604f8152602001807f456974686572207468726573686f6c642073686f756c642062652031206f746881526020017f6572776973652076616c6964206d6f64657261746f722061646472657373207381526020017f686f756c6420626520706173736564000000000000000000000000000000000081525060600191505060405180910390fd5b612a1d8388888d8d8d87610eb4565b600019168560001916141515612ac1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260398152602001807f43616c63756c6174656420736372697074206861736820646f6573206e6f742081526020017f6d61746368207061737365642073637269707420686173682e0000000000000081525060400191505060405180910390fd5b6101406040519081016040528085815260200142815260200160006001811115612ae757fe5b8152602001836001811115612af857fe5b81526020018860ff1681526020018763ffffffff1681526020018b73ffffffffffffffffffffffffffffffffffffffff1681526020018a73ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020018973ffffffffffffffffffffffffffffffffffffffff168152506000808760001916600019168152602001908152602001600020600082015181600001556020820151816001015560408201518160020160006101000a81548160ff02191690836001811115612bd257fe5b021790555060608201518160020160016101000a81548160ff02191690836001811115612bfb57fe5b021790555060808201518160020160026101000a81548160ff021916908360ff16021790555060a08201518160020160036101000a81548163ffffffff021916908363ffffffff16021790555060c08201518160020160076101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060e08201518160030160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506101008201518160040160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506101208201518160050160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055509050506001600080876000191660001916815260200190815260200160002060060160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600080876000191660001916815260200190815260200160002060060160008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600080866000191660001916815260200190815260200160002060060160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151515612f52576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f456974686572206275796572206f722073656c6c65722069732070617373656481526020017f206173206d6f64657261746f720000000000000000000000000000000000000081525060400191505060405180910390fd5b60018760ff161115612fd2576001600080876000191660001916815260200190815260200160002060060160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b600160008154809291906001019190505550600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020859080600181540180825580915050906001820390600052602060002001600090919290919091509060001916905550600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002085908060018154018082558091505090600182039060005260206000200160009091929091909150906000191690555050505050505050505050565b60008082840190508381101515156130e557600080fd5b8091505092915050565b600080613100888888888888613ab8565b9150613156600080876000191660001916815260200190815260200160002060020160039054906101000a900463ffffffff16600080886000191660001916815260200190815260200160002060010154614131565b9050600080866000191660001916815260200190815260200160002060020160029054906101000a900460ff1660ff16885110801561320757508015806132065750600080866000191660001916815260200190815260200160002060030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b5b156132c6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260588152602001807f4d696e696d756d206e756d626572206f66207369676e6174757265732061726581526020017f206e6f7420636f6c6c656374656420616e642074696d65206c6f636b2065787081526020017f69727920636f6e646974696f6e73206e6f74206d65742121000000000000000081525060600191505060405180910390fd5b5050505050505050565b6000806000806000806000808a600019166000191681526020019081526020016000209450600093506000600181111561330657fe5b8560020160019054906101000a900460ff16600181111561332357fe5b141561363a57600092505b875183101561363557600073ffffffffffffffffffffffffffffffffffffffff16888481518110151561335d57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff16141580156133ed5750846006016000898581518110151561339a57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1515613461576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f4e6f7420612076616c69642064657374696e6174696f6e00000000000000000081525060200191505060405180910390fd5b6000878481518110151561347157fe5b90602001906020020151111515613516576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001807f416d6f756e7420746f2062652073656e742073686f756c64206265206772656181526020017f746572207468616e20300000000000000000000000000000000000000000000081525060400191505060405180910390fd5b613540878481518110151561352757fe5b90602001906020020151856130ce90919063ffffffff16565b935060018560080160008a8681518110151561355857fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555087838151811015156135c157fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff166108fc88858151811015156135f257fe5b906020019060200201519081150290604051600060405180830381858888f19350505050158015613627573d6000803e3d6000fd5b50828060010193505061332e565b613aa9565b60018081111561364657fe5b8560020160019054906101000a900460ff16600181111561366357fe5b1415613aa8578460040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169150600090505b8751811015613aa757600073ffffffffffffffffffffffffffffffffffffffff1688828151811015156136c457fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff16141580156137545750846006016000898381518110151561370157fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15156137c8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f4e6f7420612076616c69642064657374696e6174696f6e00000000000000000081525060200191505060405180910390fd5b600087828151811015156137d857fe5b9060200190602002015111151561387d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001807f416d6f756e7420746f2062652073656e742073686f756c64206265206772656181526020017f746572207468616e20300000000000000000000000000000000000000000000081525060400191505060405180910390fd5b6138a7878281518110151561388e57fe5b90602001906020020151856130ce90919063ffffffff16565b935060018560080160008a848151811015156138bf57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb898381518110151561394457fe5b90602001906020020151898481518110151561395c57fe5b906020019060200201516040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1580156139eb57600080fd5b505af11580156139ff573d6000803e3d6000fd5b505050506040513d6020811015613a1557600080fd5b81019080805190602001909291905050501515613a9a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f546f6b656e207472616e73666572206661696c65642e0000000000000000000081525060200191505060405180910390fd5b8080600101915050613695565b5b5b83955050505050509392505050565b600080600080600088518a51148015613ad257508a518a51145b1515613b46576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f522c532c56206c656e677468206d69736d617463682e0000000000000000000081525060200191505060405180910390fd5b60197f01000000000000000000000000000000000000000000000000000000000000000260007f0100000000000000000000000000000000000000000000000000000000000000023089898c60405160200180877effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168152600101867effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526001018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401848051906020019060200280838360005b83811015613c9a578082015181840152602081019050613c7f565b50505050905001838051906020019060200280838360005b83811015613ccd578082015181840152602081019050613cb2565b50505050905001826000191660001916815260200196505050505050506040516020818303038152906040526040518082805190602001908083835b602083101515613d2e5780518252602082019150602081019050602083039250613d09565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902060405160200180807f19457468657265756d205369676e6564204d6573736167653a0a333200000000815250601c0182600019166000191681526020019150506040516020818303038152906040526040518082805190602001908083835b602083101515613ddf5780518252602082019150602081019050602083039250613dba565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390209250600091505b8951821015614120576001838c84815181101515613e2d57fe5b906020019060200201518c85815181101515613e4557fe5b906020019060200201518c86815181101515613e5d57fe5b90602001906020020151604051600081526020016040526040518085600019166000191681526020018460ff1660ff1681526020018360001916600019168152602001826000191660001916815260200194505050505060206040516020810390808403906000865af1158015613ed8573d6000803e3d6000fd5b505050602060405103519050600080896000191660001916815260200190815260200160002060060160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515613fc0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f496e76616c6964207369676e617475726500000000000000000000000000000081525060200191505060405180910390fd5b600080896000191660001916815260200190815260200160002060070160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151561409d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f53616d65207369676e61747572652073656e742074776963650000000000000081525060200191505060405180910390fd5b60016000808a6000191660001916815260200190815260200160002060070160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508093508180600101925050613e13565b839450505050509695505050505050565b600080614147834261418590919063ffffffff16565b905060008463ffffffff161461417957614172610e108563ffffffff166141a690919063ffffffff16565b811161417c565b60005b91505092915050565b60008083831115151561419757600080fd5b82840390508091505092915050565b60008060008414156141bb57600091506141dd565b82840290508284828115156141cc57fe5b041415156141d957600080fd5b8091505b50929150505600a165627a7a723058208e596ff0652b5823d45658603562faf59e3eb9790f4a135a4a80814ae00cb6780029", + "deployedBytecode": "0x6080604052600436106100ba576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806323b6fd3f146100bf5780632d9ef96e1461017957806346fbcdeb1461019d57806357bced7614610292578063642f2eaf14610383578063b0550c66146104e5578063b719e2801461054e578063b77bf60014610589578063be84ceaf146105b4578063e4ec8b001461064c578063f0786562146106f5578063f5dbe09c1461075e575b600080fd5b610177600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff169060200190929190803563ffffffff169060200190929190803560001916906020019092919080356bffffffffffffffffffffffff191690602001909291905050506107c7565b005b61019b6004803603810190808035600019169060200190929190505050610a26565b005b3480156101a957600080fd5b5061027460048036038101908080356bffffffffffffffffffffffff19169060200190929190803560ff169060200190929190803563ffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610eb4565b60405180826000191660001916815260200191505060405180910390f35b34801561029e57600080fd5b50610381600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff169060200190929190803563ffffffff16906020019092919080356000191690602001909291908035906020019092919080356bffffffffffffffffffffffff19169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611360565b005b34801561038f57600080fd5b506103b26004803603810190808035600019169060200190929190505050611840565b604051808b81526020018a81526020018960018111156103ce57fe5b60ff1681526020018860018111156103e257fe5b60ff1681526020018760ff1660ff1681526020018663ffffffff1663ffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019a505050505050505050505060405180910390f35b3480156104f157600080fd5b506105346004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061194b565b604051808215151515815260200191505060405180910390f35b34801561055a57600080fd5b506105876004803603810190808035600019169060200190929190803590602001909291905050506119bd565b005b34801561059557600080fd5b5061059e61209d565b6040518082815260200191505060405180910390f35b3480156105c057600080fd5b506105f5600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506120a3565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b8381101561063857808201518184015260208101905061061d565b505050509050019250505060405180910390f35b34801561065857600080fd5b506106f3600480360381019080803590602001908201803590602001919091929391929390803590602001908201803590602001919091929391929390803590602001908201803590602001919091929391929390803560001916906020019092919080359060200190820180359060200191909192939192939080359060200190820180359060200191909192939192939050505061213e565b005b34801561070157600080fd5b506107446004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506126a0565b604051808215151515815260200191505060405180910390f35b34801561076a57600080fd5b506107a9600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050612712565b60405180826000191660001916815260200191505060405180910390f35b81600080600083600019166000191681526020019081526020016000206000015414151561085d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f5472616e73616374696f6e20657869737473000000000000000000000000000081525060200191505060405180910390fd5b87600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610903576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b87600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156109a9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b6109bc8a8a8a8a8a8a348b600080612742565b3373ffffffffffffffffffffffffffffffffffffffff167fce7089d0668849fb9ca29778c0cbf1e764d9efb048d81fd71fb34c94f26db36886346040518083600019166000191681526020018281526020019250505060405180910390a250505050505050505050565b600081600080600083600019166000191681526020019081526020016000206000015414151515610abf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737473000000000081525060200191505060405180910390fd5b8260006001811115610acd57fe5b600080836000191660001916815260200190815260200160002060020160009054906101000a900460ff166001811115610b0357fe5b141515610b9e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001807f5472616e73616374696f6e206973206e6f7420696e2046554e4445442073746181526020017f746500000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b836000806001811115610bad57fe5b600080846000191660001916815260200190815260200160002060020160019054906101000a900460ff166001811115610be357fe5b141515610c58576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5472616e73616374696f6e207479706520646f6573206e6f74206d617463680081525060200191505060405180910390fd5b85600080826000191660001916815260200190815260200160002060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610d5f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f54686520696e69746961746f72206f6620746865207472616e73616374696f6e81526020017f206973206e6f742062757965720000000000000000000000000000000000000081525060400191505060405180910390fd5b349550600086111515610dda576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f56616c7565206d7573742062652067726561746572207468616e207a65726f2e81525060200191505060405180910390fd5b610e0a866000808a60001916600019168152602001908152602001600020600001546130ce90919063ffffffff16565b600080896000191660001916815260200190815260200160002060000181905550426000808960001916600019168152602001908152602001600020600101819055503373ffffffffffffffffffffffffffffffffffffffff167ff66fd2ae9e24a6a24b02e1b5b7512ffde5149a4176085fc0298ae228c9b9d72988886040518083600019166000191681526020018281526020019250505060405180910390a250505050505050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611100578787878787873060405160200180886bffffffffffffffffffffffff19166bffffffffffffffffffffffff191681526014018760ff1660ff167f01000000000000000000000000000000000000000000000000000000000000000281526001018663ffffffff1663ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014019750505050505050506040516020818303038152906040526040518082805190602001908083835b6020831015156110cc57805182526020820191506020810190506020830392506110a7565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390209050611355565b878787878787308860405160200180896bffffffffffffffffffffffff19166bffffffffffffffffffffffff191681526014018860ff1660ff167f01000000000000000000000000000000000000000000000000000000000000000281526001018763ffffffff1663ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401985050505050505050506040516020818303038152906040526040518082805190602001908083835b6020831015156113255780518252602082019150602081019050602083039250611300565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902090505b979650505050505050565b60008460008060008360001916600019168152602001908152602001600020600001541415156113f8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f5472616e73616374696f6e20657869737473000000000000000000000000000081525060200191505060405180910390fd5b8a600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561149e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b8a600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515611544576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b84600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156115ea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b6115fd8e8e8e8e8e8e8e8e60018f612742565b8594508473ffffffffffffffffffffffffffffffffffffffff166323b872dd33308b6040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b1580156116d757600080fd5b505af11580156116eb573d6000803e3d6000fd5b505050506040513d602081101561170157600080fd5b810190808051906020019092919050505015156117d2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252605c8152602001807f546f6b656e207472616e73666572206661696c65642c206d6179626520796f7581526020017f20646964206e6f7420617070726f766520657363726f7720636f6e747261637481526020017f20746f207370656e64206f6e20626568616c66206f662062757965720000000081525060600191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff167fce7089d0668849fb9ca29778c0cbf1e764d9efb048d81fd71fb34c94f26db3688a8a6040518083600019166000191681526020018281526020019250505060405180910390a25050505050505050505050505050565b60006020528060005260406000206000915090508060000154908060010154908060020160009054906101000a900460ff16908060020160019054906101000a900460ff16908060020160029054906101000a900460ff16908060020160039054906101000a900463ffffffff16908060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060050160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508a565b6000806000846000191660001916815260200190815260200160002060080160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b60008083600080600083600019166000191681526020019081526020016000206000015414151515611a57576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737473000000000081525060200191505060405180910390fd5b8460006001811115611a6557fe5b600080836000191660001916815260200190815260200160002060020160009054906101000a900460ff166001811115611a9b57fe5b141515611b36576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001807f5472616e73616374696f6e206973206e6f7420696e2046554e4445442073746181526020017f746500000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b856001806001811115611b4557fe5b600080846000191660001916815260200190815260200160002060020160019054906101000a900460ff166001811115611b7b57fe5b141515611bf0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5472616e73616374696f6e207479706520646f6573206e6f74206d617463680081525060200191505060405180910390fd5b87600080826000191660001916815260200190815260200160002060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611cf7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f54686520696e69746961746f72206f6620746865207472616e73616374696f6e81526020017f206973206e6f742062757965720000000000000000000000000000000000000081525060400191505060405180910390fd5b879650600087111515611d72576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f56616c7565206d7573742062652067726561746572207468616e207a65726f2e81525060200191505060405180910390fd5b6000808a6000191660001916815260200190815260200160002060040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1695508573ffffffffffffffffffffffffffffffffffffffff166323b872dd6000808c6000191660001916815260200190815260200160002060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff16308b6040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b158015611ec657600080fd5b505af1158015611eda573d6000803e3d6000fd5b505050506040513d6020811015611ef057600080fd5b81019080805190602001909291905050501515611fc1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252605c8152602001807f546f6b656e207472616e73666572206661696c65642c206d6179626520796f7581526020017f20646964206e6f7420617070726f766520657363726f7720636f6e747261637481526020017f20746f207370656e64206f6e20626568616c66206f662062757965720000000081525060600191505060405180910390fd5b611ff1876000808c60001916600019168152602001908152602001600020600001546130ce90919063ffffffff16565b6000808b6000191660001916815260200190815260200160002060000181905550426000808b60001916600019168152602001908152602001600020600101819055503373ffffffffffffffffffffffffffffffffffffffff167ff66fd2ae9e24a6a24b02e1b5b7512ffde5149a4176085fc0298ae228c9b9d7298a896040518083600019166000191681526020018281526020019250505060405180910390a2505050505050505050565b60015481565b6060600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080548060200260200160405190810160405280929190818152602001828054801561213257602002820191906000526020600020905b8154600019168152602001906001019080831161211a575b50505050509050919050565b846000806000836000191660001916815260200190815260200160002060000154141515156121d5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737473000000000081525060200191505060405180910390fd5b85600060018111156121e357fe5b600080836000191660001916815260200190815260200160002060020160009054906101000a900460ff16600181111561221957fe5b1415156122b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001807f5472616e73616374696f6e206973206e6f7420696e2046554e4445442073746181526020017f746500000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b6000868690501180156122cc57508383905086869050145b1515612366576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001807f4c656e677468206f662064657374696e6174696f6e7320697320696e636f727281526020017f6563742e0000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b61245f8d8d808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508c8c808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508b8b808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508a8a8a808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508989808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050506130ef565b6001600080896000191660001916815260200190815260200160002060020160006101000a81548160ff0219169083600181111561249957fe5b021790555042600080896000191660001916815260200190815260200160002060010181905550600080886000191660001916815260200190815260200160002060000154612547888888808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508787808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050506132d0565b141515612608576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260488152602001807f546f74616c2076616c756520746f2062652072656c6561736564206d7573742081526020017f626520657175616c20746f20746865207472616e73616374696f6e206573637281526020017f6f772076616c756500000000000000000000000000000000000000000000000081525060600191505060405180910390fd5b7f688e2a1b34445bcd47b0e11ba2a9c8c4d850a1831b64199b59d1c70e2970154587878787876040518086600019166000191681526020018060200180602001838103835287878281815260200192506020028082843782019150508381038252858582818152602001925060200280828437820191505097505050505050505060405180910390a150505050505050505050505050565b6000806000846000191660001916815260200190815260200160002060070160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b60026020528160005260406000208181548110151561272d57fe5b90600052602060002001600091509150505481565b8873ffffffffffffffffffffffffffffffffffffffff168a73ffffffffffffffffffffffffffffffffffffffff16141515156127e6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f427579657220616e642073656c6c6572206172652073616d650000000000000081525060200191505060405180910390fd5b60008411151561285e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f56616c756520706173736564206973203000000000000000000000000000000081525060200191505060405180910390fd5b60008760ff16118015612875575060038760ff1611155b151561290f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603d8152602001807f5468726573686f6c642063616e6e6f742062652067726561746572207468616e81526020017f203320616e64206d7573742062652067726561746572207468616e203000000081525060400191505060405180910390fd5b60018760ff16148061294e5750600073ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff1614155b1515612a0e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252604f8152602001807f456974686572207468726573686f6c642073686f756c642062652031206f746881526020017f6572776973652076616c6964206d6f64657261746f722061646472657373207381526020017f686f756c6420626520706173736564000000000000000000000000000000000081525060600191505060405180910390fd5b612a1d8388888d8d8d87610eb4565b600019168560001916141515612ac1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260398152602001807f43616c63756c6174656420736372697074206861736820646f6573206e6f742081526020017f6d61746368207061737365642073637269707420686173682e0000000000000081525060400191505060405180910390fd5b6101406040519081016040528085815260200142815260200160006001811115612ae757fe5b8152602001836001811115612af857fe5b81526020018860ff1681526020018763ffffffff1681526020018b73ffffffffffffffffffffffffffffffffffffffff1681526020018a73ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020018973ffffffffffffffffffffffffffffffffffffffff168152506000808760001916600019168152602001908152602001600020600082015181600001556020820151816001015560408201518160020160006101000a81548160ff02191690836001811115612bd257fe5b021790555060608201518160020160016101000a81548160ff02191690836001811115612bfb57fe5b021790555060808201518160020160026101000a81548160ff021916908360ff16021790555060a08201518160020160036101000a81548163ffffffff021916908363ffffffff16021790555060c08201518160020160076101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060e08201518160030160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506101008201518160040160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506101208201518160050160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055509050506001600080876000191660001916815260200190815260200160002060060160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600080876000191660001916815260200190815260200160002060060160008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600080866000191660001916815260200190815260200160002060060160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151515612f52576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f456974686572206275796572206f722073656c6c65722069732070617373656481526020017f206173206d6f64657261746f720000000000000000000000000000000000000081525060400191505060405180910390fd5b60018760ff161115612fd2576001600080876000191660001916815260200190815260200160002060060160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b600160008154809291906001019190505550600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020859080600181540180825580915050906001820390600052602060002001600090919290919091509060001916905550600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002085908060018154018082558091505090600182039060005260206000200160009091929091909150906000191690555050505050505050505050565b60008082840190508381101515156130e557600080fd5b8091505092915050565b600080613100888888888888613ab8565b9150613156600080876000191660001916815260200190815260200160002060020160039054906101000a900463ffffffff16600080886000191660001916815260200190815260200160002060010154614131565b9050600080866000191660001916815260200190815260200160002060020160029054906101000a900460ff1660ff16885110801561320757508015806132065750600080866000191660001916815260200190815260200160002060030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b5b156132c6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260588152602001807f4d696e696d756d206e756d626572206f66207369676e6174757265732061726581526020017f206e6f7420636f6c6c656374656420616e642074696d65206c6f636b2065787081526020017f69727920636f6e646974696f6e73206e6f74206d65742121000000000000000081525060600191505060405180910390fd5b5050505050505050565b6000806000806000806000808a600019166000191681526020019081526020016000209450600093506000600181111561330657fe5b8560020160019054906101000a900460ff16600181111561332357fe5b141561363a57600092505b875183101561363557600073ffffffffffffffffffffffffffffffffffffffff16888481518110151561335d57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff16141580156133ed5750846006016000898581518110151561339a57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1515613461576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f4e6f7420612076616c69642064657374696e6174696f6e00000000000000000081525060200191505060405180910390fd5b6000878481518110151561347157fe5b90602001906020020151111515613516576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001807f416d6f756e7420746f2062652073656e742073686f756c64206265206772656181526020017f746572207468616e20300000000000000000000000000000000000000000000081525060400191505060405180910390fd5b613540878481518110151561352757fe5b90602001906020020151856130ce90919063ffffffff16565b935060018560080160008a8681518110151561355857fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555087838151811015156135c157fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff166108fc88858151811015156135f257fe5b906020019060200201519081150290604051600060405180830381858888f19350505050158015613627573d6000803e3d6000fd5b50828060010193505061332e565b613aa9565b60018081111561364657fe5b8560020160019054906101000a900460ff16600181111561366357fe5b1415613aa8578460040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169150600090505b8751811015613aa757600073ffffffffffffffffffffffffffffffffffffffff1688828151811015156136c457fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff16141580156137545750846006016000898381518110151561370157fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15156137c8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f4e6f7420612076616c69642064657374696e6174696f6e00000000000000000081525060200191505060405180910390fd5b600087828151811015156137d857fe5b9060200190602002015111151561387d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001807f416d6f756e7420746f2062652073656e742073686f756c64206265206772656181526020017f746572207468616e20300000000000000000000000000000000000000000000081525060400191505060405180910390fd5b6138a7878281518110151561388e57fe5b90602001906020020151856130ce90919063ffffffff16565b935060018560080160008a848151811015156138bf57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb898381518110151561394457fe5b90602001906020020151898481518110151561395c57fe5b906020019060200201516040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1580156139eb57600080fd5b505af11580156139ff573d6000803e3d6000fd5b505050506040513d6020811015613a1557600080fd5b81019080805190602001909291905050501515613a9a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f546f6b656e207472616e73666572206661696c65642e0000000000000000000081525060200191505060405180910390fd5b8080600101915050613695565b5b5b83955050505050509392505050565b600080600080600088518a51148015613ad257508a518a51145b1515613b46576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f522c532c56206c656e677468206d69736d617463682e0000000000000000000081525060200191505060405180910390fd5b60197f01000000000000000000000000000000000000000000000000000000000000000260007f0100000000000000000000000000000000000000000000000000000000000000023089898c60405160200180877effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168152600101867effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526001018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401848051906020019060200280838360005b83811015613c9a578082015181840152602081019050613c7f565b50505050905001838051906020019060200280838360005b83811015613ccd578082015181840152602081019050613cb2565b50505050905001826000191660001916815260200196505050505050506040516020818303038152906040526040518082805190602001908083835b602083101515613d2e5780518252602082019150602081019050602083039250613d09565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902060405160200180807f19457468657265756d205369676e6564204d6573736167653a0a333200000000815250601c0182600019166000191681526020019150506040516020818303038152906040526040518082805190602001908083835b602083101515613ddf5780518252602082019150602081019050602083039250613dba565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390209250600091505b8951821015614120576001838c84815181101515613e2d57fe5b906020019060200201518c85815181101515613e4557fe5b906020019060200201518c86815181101515613e5d57fe5b90602001906020020151604051600081526020016040526040518085600019166000191681526020018460ff1660ff1681526020018360001916600019168152602001826000191660001916815260200194505050505060206040516020810390808403906000865af1158015613ed8573d6000803e3d6000fd5b505050602060405103519050600080896000191660001916815260200190815260200160002060060160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515613fc0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f496e76616c6964207369676e617475726500000000000000000000000000000081525060200191505060405180910390fd5b600080896000191660001916815260200190815260200160002060070160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151561409d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f53616d65207369676e61747572652073656e742074776963650000000000000081525060200191505060405180910390fd5b60016000808a6000191660001916815260200190815260200160002060070160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508093508180600101925050613e13565b839450505050509695505050505050565b600080614147834261418590919063ffffffff16565b905060008463ffffffff161461417957614172610e108563ffffffff166141a690919063ffffffff16565b811161417c565b60005b91505092915050565b60008083831115151561419757600080fd5b82840390508091505092915050565b60008060008414156141bb57600091506141dd565b82840290508284828115156141cc57fe5b041415156141d957600080fd5b8091505b50929150505600a165627a7a723058208e596ff0652b5823d45658603562faf59e3eb9790f4a135a4a80814ae00cb6780029", + "sourceMap": "460:20504:0:-;;;1606:1;1572:35;;460:20504;8:9:-1;5:2;;;30:1;27;20:12;5:2;460:20504:0;;;;;;;", + "deployedSourceMap": "460:20504:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3812:702;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7815:598;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12152:999;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12152:999:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5614:1021;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5614:1021:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1514:51;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1514:51:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6859:221;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6859:221:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8673:924;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8673:924:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1572:35;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1572:35:0;;;;;;;;;;;;;;;;;;;;;;;9714:194;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9714:194:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;9714:194:0;;;;;;;;;;;;;;;;;10618:1063;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10618:1063:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7303:194;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7303:194:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1684:54;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1684:54:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3812:702;4090:10;2030:1;1996:12;:24;2009:10;1996:24;;;;;;;;;;;;;;;;;:30;;;:35;1988:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4125:5;2364:1;2338:28;;:14;:28;;;;2330:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4155:6;2364:1;2338:28;;:14;:28;;;;2330:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4177:264;4206:5;4225:6;4245:9;4268;4291:12;4317:10;4341:9;4364:8;4386:21;4429:1;4177:15;:264::i;:::-;4484:10;4465:41;;;4472:10;4496:9;4465:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2400:1;2064;3812:702;;;;;;;;:::o;7815:598::-;8093:14;7923:10;1857:1;1823:12;:24;1836:10;1823:24;;;;;;;;;;;;;;;;;:30;;;:35;;1802:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7957:10;2187:13;2152:48;;;;;;;;:12;:24;2165:10;2152:24;;;;;;;;;;;;;;;;;:31;;;;;;;;;;;;:48;;;;;;;;;2131:117;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7998:10;8010:21;2598:15;2554:59;;;;;;;;:12;:24;2567:10;2554:24;;;;;;;;;;;;;;;;;:40;;;;;;;;;;;;:59;;;;;;;;;2533:125;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8051:10;2766:12;:24;2779:10;2766:24;;;;;;;;;;;;;;;;;:30;;;;;;;;;;;;2752:44;;:10;:44;;;2731:124;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8110:9;8093:26;;8147:1;8138:6;:10;8130:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8229;8277:6;8229:12;:24;8242:10;8229:24;;;;;;;;;;;;;;;;;:30;;;:47;;:55;;;;:::i;:::-;8196:12;:24;8209:10;8196:24;;;;;;;;;;;;;;;;;:30;;:88;;;;8334:15;8294:12;:24;8307:10;8294:24;;;;;;;;;;;;;;;;;:37;;:55;;;;8387:10;8365:41;;;8375:10;8399:6;8365:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2668:1;2258;;1909;7815:598;;;:::o;12152:999::-;12422:7;12473:1;12449:26;;:12;:26;;;12445:700;;;12563:8;12593:9;12624:12;12658:5;12685:6;12713:9;12744:4;12525:241;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;12525:241:0;;;12498:282;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;12498:282:0;;;;;;;;;;;;;;;;12491:289;;;;12445:700;12883:8;12913:9;12944:12;12978:5;13005:6;13033:9;13064:4;13090:12;12845:275;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;12845:275:0;;;12818:316;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;12818:316:0;;;;;;;;;;;;;;;;12811:323;;12152:999;;;;;;;;;;:::o;5614:1021::-;6332:20;5934:10;2030:1;1996:12;:24;2009:10;1996:24;;;;;;;;;;;;;;;;;:30;;;:35;1988:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5969:5;2364:1;2338:28;;:14;:28;;;;2330:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5999:6;2364:1;2338:28;;:14;:28;;;;2330:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6030:12;2364:1;2338:28;;:14;:28;;;;2330:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6059:262;6088:5;6107:6;6127:9;6150;6173:12;6199:10;6223:5;6242:8;6264:21;6299:12;6059:15;:262::i;:::-;6370:12;6332:51;;6415:5;:18;;;6434:10;6446:4;6452:5;6415:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6415:43:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6415:43:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6415:43:0;;;;;;;;;;;;;;;;6394:182;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6610:10;6591:37;;;6598:10;6622:5;6591:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2400:1;;2064;5614:1021;;;;;;;;;;;:::o;1514:51::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;6859:221::-;6995:4;7022:12;:24;7035:10;7022:24;;;;;;;;;;;;;;;;;:38;;:51;7061:11;7022:51;;;;;;;;;;;;;;;;;;;;;;;;;7015:58;;6859:221;;;;:::o;8673:924::-;8959:14;9058:20;8805:10;1857:1;1823:12;:24;1836:10;1823:24;;;;;;;;;;;;;;;;;:30;;;:35;;1802:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8839:10;2187:13;2152:48;;;;;;;;:12;:24;2165:10;2152:24;;;;;;;;;;;;;;;;;:31;;;;;;;;;;;;:48;;;;;;;;;2131:117;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8880:10;8892:21;2598:15;2554:59;;;;;;;;:12;:24;2567:10;2554:24;;;;;;;;;;;;;;;;;:40;;;;;;;;;;;;:59;;;;;;;;;2533:125;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8933:10;2766:12;:24;2779:10;2766:24;;;;;;;;;;;;;;;;;:30;;;;;;;;;;;;2752:44;;:10;:44;;;2731:124;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8976:5;8959:22;;9009:1;9000:6;:10;8992:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9109:12;:24;9122:10;9109:24;;;;;;;;;;;;;;;;;:37;;;;;;;;;;;;9058:98;;9188:5;:18;;;9207:12;:24;9220:10;9207:24;;;;;;;;;;;;;;;;;:30;;;;;;;;;;;;9239:4;9245:5;9188:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9188:63:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9188:63:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;9188:63:0;;;;;;;;;;;;;;;;9167:202;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9413:55;9461:6;9413:12;:24;9426:10;9413:24;;;;;;;;;;;;;;;;;:30;;;:47;;:55;;;;:::i;:::-;9380:12;:24;9393:10;9380:24;;;;;;;;;;;;;;;;;:30;;:88;;;;9518:15;9478:12;:24;9491:10;9478:24;;;;;;;;;;;;;;;;;:37;;:55;;;;9571:10;9549:41;;;9559:10;9583:6;9549:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2668:1;2258;;1909;8673:924;;;;;:::o;1572:35::-;;;;:::o;9714:194::-;9836:9;9869:18;:32;9888:12;9869:32;;;;;;;;;;;;;;;9862:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9714:194;;;:::o;10618:1063::-;10841:10;1857:1;1823:12;:24;1836:10;1823:24;;;;;;;;;;;;;;;;;:30;;;:35;;1802:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10875:10;2187:13;2152:48;;;;;;;;:12;:24;2165:10;2152:24;;;;;;;;;;;;;;;;;:31;;;;;;;;;;;;:48;;;;;;;;;2131:117;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10942:1;10922:12;;:19;;:21;:62;;;;;10970:7;;:14;;10947:12;;:19;;:37;10922:62;10901:133;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11045:152;11076:4;;11045:152;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11094:4;;11045:152;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11112:4;;11045:152;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11130:10;11154:12;;11045:152;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11180:7;;11045:152;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:17;:152::i;:::-;11242:15;11208:12;:24;11221:10;11208:24;;;;;;;;;;;;;;;;;:31;;;:49;;;;;;;;;;;;;;;;;;;;;;;;11381:15;11341:12;:24;11354:10;11341:24;;;;;;;;;;;;;;;;;:37;;:55;;;;11479:12;:24;11492:10;11479:24;;;;;;;;;;;;;;;;;:30;;;11427:48;11441:10;11453:12;;11427:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11467:7;;11427:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:13;:48::i;:::-;:82;11406:201;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11631:43;11640:10;11652:12;;11666:7;;11631:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1909:1;10618:1063;;;;;;;;;;;;:::o;7303:194::-;7426:4;7453:12;:24;7466:10;7453:24;;;;;;;;;;;;;;;;;:30;;:37;7484:5;7453:37;;;;;;;;;;;;;;;;;;;;;;;;;7446:44;;7303:194;;;;:::o;1684:54::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;18327:2635::-;18689:6;18680:15;;:5;:15;;;;18672:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18800:1;18792:5;:9;18784:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18938:1;18926:9;:13;;;:31;;;;;18956:1;18943:9;:14;;;;18926:31;18905:140;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19327:1;19314:9;:14;;;:41;;;;19353:1;19332:23;;:9;:23;;;;19314:41;19293:167;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19506:226;19549:8;19575:9;19602:12;19632:5;19655:6;19679:9;19706:12;19506:25;:226::i;:::-;19492:240;;;:10;:240;;;;19471:345;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19854:373;;;;;;;;;19975:5;19854:373;;;;20043:15;19854:373;;;;20002:13;19854:373;;;;;;;;;;;;20162:15;19854:373;;;;;;;;;;;;20083:9;19854:373;;;;;;20120:12;19854:373;;;;;;19887:5;19854:373;;;;;;19914:6;19854:373;;;;;;20204:12;19854:373;;;;;;19945:9;19854:373;;;;;19827:12;:24;19840:10;19827:24;;;;;;;;;;;;;;;;;:400;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20281:4;20238:12;:24;20251:10;20238:24;;;;;;;;;;;;;;;;;:32;;:40;20271:6;20238:40;;;;;;;;;;;;;;;;:47;;;;;;;;;;;;;;;;;;20337:4;20295:12;:24;20308:10;20295:24;;;;;;;;;;;;;;;;;:32;;:39;20328:5;20295:39;;;;;;;;;;;;;;;;:46;;;;;;;;;;;;;;;;;;20449:12;:24;20462:10;20449:24;;;;;;;;;;;;;;;;;:32;;:43;20482:9;20449:43;;;;;;;;;;;;;;;;;;;;;;;;;20448:44;20427:137;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20736:1;20724:9;:13;;;20720:93;;;20798:4;20752:12;:24;20765:10;20752:24;;;;;;;;;;;;;;;;;:32;;:43;20785:9;20752:43;;;;;;;;;;;;;;;;:50;;;;;;;;;;;;;;;;;;20720:93;20831:16;;:18;;;;;;;;;;;;;20860;:25;20879:5;20860:25;;;;;;;;;;;;;;;20891:10;20860:42;;39:1:-1;33:3;27:10;23:18;57:10;52:3;45:23;79:10;72:17;;0:93;20860:42:0;;;;;;;;;;;;;;;;;;;;;;;;;;;20912:18;:26;20931:6;20912:26;;;;;;;;;;;;;;;20944:10;20912:43;;39:1:-1;33:3;27:10;23:18;57:10;52:3;45:23;79:10;72:17;;0:93;20912:43:0;;;;;;;;;;;;;;;;;;;;;;;;;;;18327:2635;;;;;;;;;;:::o;1272:131:2:-;1330:7;1345:9;1361:1;1357;:5;1345:17;;1381:1;1376;:6;;1368:15;;;;;;;;1397:1;1390:8;;1272:131;;;;;:::o;13425:1005:0:-;13645:21;13831:20;13669:151;13699:4;13717;13735;13753:10;13777:12;13803:7;13669:16;:151::i;:::-;13645:175;;13854:129;13885:12;:24;13898:10;13885:24;;;;;;;;;;;;;;;;;:37;;;;;;;;;;;;13936:12;:24;13949:10;13936:24;;;;;;;;;;;;;;;;;:37;;;13854:17;:129::i;:::-;13831:152;;14169:12;:24;14182:10;14169:24;;;;;;;;;;;;;;;;;:34;;;;;;;;;;;;14155:48;;:4;:11;:48;:122;;;;;14209:15;14208:16;:68;;;;14245:12;:24;14258:10;14245:24;;;;;;;;;;;;;;;;;:31;;;;;;;;;;;;14228:48;;:13;:48;;;;14208:68;14155:122;14134:289;;;14314:98;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14134:289;13425:1005;;;;;;;;:::o;14556:1607::-;14703:7;14726:21;14785:24;14891:9;15528:20;15601:9;14750:12;:24;14763:10;14750:24;;;;;;;;;;;;;;;;;14726:48;;14812:1;14785:28;;14849:21;14828:42;;;;;;;;:1;:17;;;;;;;;;;;;:42;;;;;;;;;14824:1299;;;14903:1;14891:13;;14886:562;14910:12;:19;14906:1;:23;14886:562;;;14990:1;14963:29;;:12;14976:1;14963:15;;;;;;;;;;;;;;;;;;:29;;;;:59;;;;;14996:1;:9;;:26;15006:12;15019:1;15006:15;;;;;;;;;;;;;;;;;;14996:26;;;;;;;;;;;;;;;;;;;;;;;;;14963:59;14955:95;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15089:1;15076:7;15084:1;15076:10;;;;;;;;;;;;;;;;;;:14;15068:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15175:32;15196:7;15204:1;15196:10;;;;;;;;;;;;;;;;;;15175:16;:20;;:32;;;;:::i;:::-;15156:51;;15261:4;15226:1;:15;;:32;15242:12;15255:1;15242:15;;;;;;;;;;;;;;;;;;15226:32;;;;;;;;;;;;;;;;:39;;;;;;;;;;;;;;;;;;15312:12;15325:1;15312:15;;;;;;;;;;;;;;;;;;:24;;:36;15337:7;15345:1;15337:10;;;;;;;;;;;;;;;;;;15312:36;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;15312:36:0;14931:3;;;;;;;14886:562;;;14824:1299;;;15490:21;15469:42;;;;;;;;:1;:17;;;;;;;;;;;;:42;;;;;;;;;15465:658;;;15566:1;:14;;;;;;;;;;;;15528:53;;15613:1;15601:13;;15596:517;15618:12;:19;15616:1;:21;15596:517;;;15698:1;15671:29;;:12;15684:1;15671:15;;;;;;;;;;;;;;;;;;:29;;;;:59;;;;;15704:1;:9;;:26;15714:12;15727:1;15714:15;;;;;;;;;;;;;;;;;;15704:26;;;;;;;;;;;;;;;;;;;;;;;;;15671:59;15663:95;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15797:1;15784:7;15792:1;15784:10;;;;;;;;;;;;;;;;;;:14;15776:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15883:32;15904:7;15912:1;15904:10;;;;;;;;;;;;;;;;;;15883:16;:20;;:32;;;;:::i;:::-;15864:51;;15968:4;15933:1;:15;;:32;15949:12;15962:1;15949:15;;;;;;;;;;;;;;;;;;15933:32;;;;;;;;;;;;;;;;:39;;;;;;;;;;;;;;;;;;16028:5;:14;;;16043:12;16056:1;16043:15;;;;;;;;;;;;;;;;;;16060:7;16068:1;16060:10;;;;;;;;;;;;;;;;;;16028:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;16028:43:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;16028:43:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;16028:43:0;;;;;;;;;;;;;;;;16020:78;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15639:3;;;;;;;15596:517;;;15465:658;14824:1299;16140:16;16133:23;;14556:1607;;;;;;;;;;:::o;16347:1571::-;16568:7;16729:19;16847:14;17306:6;17355:17;16628:4;:11;16613:4;:11;:26;:56;;;;;16658:4;:11;16643:4;:11;:26;16613:56;16592:126;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17051:4;17046:10;;17087:1;17082:7;;17115:4;17145:12;17183:7;17216:10;17004:244;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;17004:244:0;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;17004:244:0;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;17004:244:0;;;16973:293;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;16973:293:0;;;;;;;;;;;;;;;;16887:393;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;16887:393:0;;;16864:426;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;16864:426:0;;;;;;;;;;;;;;;;16847:443;;17315:1;17306:10;;17301:582;17322:4;:11;17318:1;:15;17301:582;;;17375:122;17402:6;17426:4;17431:1;17426:7;;;;;;;;;;;;;;;;;;17451:4;17456:1;17451:7;;;;;;;;;;;;;;;;;;17476:4;17481:1;17476:7;;;;;;;;;;;;;;;;;;17375:122;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;17375:122:0;;;;;;;;17355:142;;17537:12;:24;17550:10;17537:24;;;;;;;;;;;;;;;;;:32;;:43;17570:9;17537:43;;;;;;;;;;;;;;;;;;;;;;;;;17512:120;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17672:12;:24;17685:10;17672:24;;;;;;;;;;;;;;;;;:30;;:41;17703:9;17672:41;;;;;;;;;;;;;;;;;;;;;;;;;17671:42;17646:127;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17831:4;17787:12;:24;17800:10;17787:24;;;;;;;;;;;;;;;;;:30;;:41;17818:9;17787:41;;;;;;;;;;;;;;;;:48;;;;;;;;;;;;;;;;;;17863:9;17849:23;;17335:3;;;;;;;17301:582;;;17900:11;17893:18;;16347:1571;;;;;;;;;;;;:::o;17924:316::-;18062:4;18082:17;18102:21;18110:12;18102:3;:7;;:21;;;;:::i;:::-;18082:41;;18170:1;18154:12;:17;;;:69;;18192:31;18218:4;18200:12;18192:21;;:25;;:31;;;;:::i;:::-;18180:9;:43;18154:69;;;18174:5;18154:69;18133:100;;17924:316;;;;;:::o;1078:131:2:-;1136:7;1172:9;1164:1;1159;:6;;1151:15;;;;;;;;1188:1;1184;:5;1172:17;;1203:1;1196:8;;1078:131;;;;;:::o;204:381::-;262:7;523:9;491:1;486;:6;482:35;;;509:1;502:8;;;;482:35;539:1;535;:5;523:17;;563:1;558;554;:5;;;;;;;;:10;546:19;;;;;;;;579:1;572:8;;204:381;;;;;;:::o", + "source": "pragma solidity 0.4.24;\n\nimport \"openzeppelin-solidity/contracts/math/SafeMath.sol\";\n\nimport \"../token/ITokenContract.sol\";\n\n\n/**\n* @dev Supports ERC20 tokens\n* The escrow smart contract for the open bazaar trades in Ethereum\n* The smart contract is desgined keeping in mind the current wallet interface of the OB-core\n* https://github.com/OpenBazaar/wallet-interface/blob/master/wallet.go\n* Current wallet interface strictly adheres to UTXO(bitcoin) model\n*/\ncontract Escrow_v1_0 {\n\n using SafeMath for uint256;\n\n enum Status {FUNDED, RELEASED}\n\n enum TransactionType {ETHER, TOKEN}\n\n event Executed(\n bytes32 scriptHash,\n address[] destinations,\n uint256[] amounts\n );\n\n event FundAdded(\n bytes32 scriptHash,\n address indexed from,\n uint256 valueAdded\n );\n\n event Funded(bytes32 scriptHash, address indexed from, uint256 value);\n\n struct Transaction {\n uint256 value;\n uint256 lastModified;//Time at which transaction was last modified\n Status status;\n TransactionType transactionType;\n uint8 threshold;\n uint32 timeoutHours;\n address buyer;\n address seller;\n address tokenAddress;// Token address in case of token transfer\n address moderator;\n mapping(address=>bool) isOwner;//to keep track of owners/signers.\n mapping(address=>bool) voted;//to keep track of who all voted\n mapping(address=>bool) beneficiaries;//Benefeciaries of execution\n }\n\n mapping(bytes32 => Transaction) public transactions;\n\n uint256 public transactionCount = 0;\n\n //Contains mapping between each party and all of his transactions\n mapping(address => bytes32[])public partyVsTransaction;\n\n modifier transactionExists(bytes32 scriptHash) {\n require(\n transactions[scriptHash].value != 0, \"Transaction does not exists\"\n );\n _;\n }\n\n modifier transactionDoesNotExists (bytes32 scriptHash) {\n require(transactions[scriptHash].value == 0, \"Transaction exists\");\n _;\n }\n\n modifier inFundedState(bytes32 scriptHash) {\n require(\n transactions[scriptHash].status == Status.FUNDED, \"Transaction is not in FUNDED state\"\n );\n _;\n }\n\n modifier nonZeroAddress(address addressToCheck) {\n require(addressToCheck != address(0), \"Zero address passed\");\n _;\n }\n\n modifier checkTransactionType(\n bytes32 scriptHash,\n TransactionType transactionType\n )\n {\n require(\n transactions[scriptHash].transactionType == transactionType, \"Transaction type does not match\"\n );\n _;\n }\n\n modifier onlyBuyer(bytes32 scriptHash) {\n require(\n msg.sender == transactions[scriptHash].buyer, \"The initiator of the transaction is not buyer\"\n );\n _;\n }\n\n /**\n *@dev Add new transaction in the contract\n *@param buyer The buyer of the transaction\n *@param seller The seller of the listing associated with the transaction\n *@param moderator Moderator for this transaction\n *@param scriptHash keccak256 hash of the redeem script\n *@param threshold Minimum number of singatures required to released funds\n *@param timeoutHours Hours after which seller can release funds into his favour by signing transaction\n *@param uniqueId bytes20 unique id for the transaction, generated by ETH wallet\n *Redeem Script format will be following\n \n * scripthash-> keccak256(uniqueId, threshold, timeoutHours, buyer, seller, moderator)\n *Pass amount of the ethers to be put in escrow\n *Please keep in mind you will have to add moderator fees also in the value\n */\n function addTransaction(\n address buyer,\n address seller,\n address moderator,\n uint8 threshold,\n uint32 timeoutHours,\n bytes32 scriptHash,\n bytes20 uniqueId\n )\n external\n payable\n transactionDoesNotExists(scriptHash)\n nonZeroAddress(buyer)\n nonZeroAddress(seller)\n {\n _addTransaction(\n buyer,\n seller,\n moderator,\n threshold,\n timeoutHours,\n scriptHash,\n msg.value,\n uniqueId,\n TransactionType.ETHER,\n address(0)\n );\n \n emit Funded(scriptHash, msg.sender, msg.value);\n\n }\n\n /**\n *@dev Add new transaction in the contract\n *@param buyer The buyer of the transaction\n *@param seller The seller of the listing associated with the transaction\n *@param moderator Moderator for this transaction\n *@param scriptHash keccak256 hash of the redeem script\n *@param threshold Minimum number of singatures required to released funds\n *@param timeoutHours Hours after which seller can release funds into his favour by signing transaction\n *@param value Amount of tokens to be put in escrow\n *@param uniqueId bytes20 unique id for the transaction, generated by ETH wallet\n *@param tokenAddress Address of the token to be used\n *Redeem Script format will be following\n \n * scripthash-> keccak256(uniqueId, threshold, timeoutHours, buyer, seller, moderator, tokenAddress)\n *approve escrow contract to spend amount of token on your behalf\n *Please keep in mind you will have to add moderator fees also in the value\n */\n function addTokenTransaction(\n address buyer,\n address seller,\n address moderator,\n uint8 threshold,\n uint32 timeoutHours,\n bytes32 scriptHash,\n uint256 value,\n bytes20 uniqueId,\n address tokenAddress\n )\n external\n transactionDoesNotExists(scriptHash)\n nonZeroAddress(buyer)\n nonZeroAddress(seller)\n nonZeroAddress(tokenAddress)\n {\n\n _addTransaction(\n buyer,\n seller,\n moderator,\n threshold,\n timeoutHours,\n scriptHash,\n value,\n uniqueId,\n TransactionType.TOKEN,\n tokenAddress\n );\n\n ITokenContract token = ITokenContract(tokenAddress);\n\n require(\n token.transferFrom(msg.sender, this, value),\n \"Token transfer failed, maybe you did not approve escrow contract to spend on behalf of buyer\"\n );\n emit Funded(scriptHash, msg.sender, value);\n }\n\n /**\n * @dev Check whether given address was a beneficiary of transaction execution or not\n * @param scriptHash script hash of the transaction\n * @param beneficiary Beneficiary address to be checked\n */\n function checkBeneficiary(\n bytes32 scriptHash,\n address beneficiary\n )\n external\n view\n returns (bool)\n {\n return transactions[scriptHash].beneficiaries[beneficiary];\n }\n\n /**\n * @dev Check whether given party has voted or not\n * @param scriptHash script hash of the transaction\n * @param party Address of the party whose vote has to be checked\n * @return bool vote\n */\n function checkVote(\n bytes32 scriptHash,\n address party\n )\n external\n view\n returns (bool)\n {\n return transactions[scriptHash].voted[party];\n }\n\n /**\n *@dev Allows buyer of the transaction to add more funds(ether) in the transaction. This will help to cater scenarios wherein initially buyer missed to fund transaction as required\n *@param scriptHash script hash of the transaction\n * Only buyer of the transaction can invoke this method\n */\n function addFundsToTransaction(\n bytes32 scriptHash\n )\n external\n transactionExists(scriptHash)\n inFundedState(scriptHash)\n checkTransactionType(scriptHash, TransactionType.ETHER)\n onlyBuyer(scriptHash)\n payable\n {\n uint256 _value = msg.value;\n\n require(_value > 0, \"Value must be greater than zero.\");\n\n transactions[scriptHash].value = transactions[scriptHash].value\n .add(_value);\n transactions[scriptHash].lastModified = block.timestamp;\n\n emit FundAdded(scriptHash, msg.sender, _value);\n }\n\n /**\n *@dev Allows buyer of the transaction to add more funds(Tokens) in the transaction. This will help to cater scenarios wherein initially buyer missed to fund transaction as required\n *@param scriptHash script hash of the transaction\n */\n function addTokensToTransaction(\n bytes32 scriptHash,\n uint256 value\n )\n external\n transactionExists(scriptHash)\n inFundedState(scriptHash)\n checkTransactionType(scriptHash, TransactionType.TOKEN)\n onlyBuyer(scriptHash)\n {\n uint256 _value = value;\n\n require(_value > 0, \"Value must be greater than zero.\");\n\n ITokenContract token = ITokenContract(\n transactions[scriptHash].tokenAddress\n );\n\n require(\n token.transferFrom(transactions[scriptHash].buyer, this, value),\n \"Token transfer failed, maybe you did not approve escrow contract to spend on behalf of buyer\"\n );\n\n transactions[scriptHash].value = transactions[scriptHash].value\n .add(_value);\n transactions[scriptHash].lastModified = block.timestamp;\n\n emit FundAdded(scriptHash, msg.sender, _value);\n }\n\n /**\n *@dev Returns all transaction ids for a party\n *@param partyAddress Address of the party\n */\n function getAllTransactionsForParty(\n address partyAddress\n ) \n external \n view \n returns (bytes32[]) \n {\n return partyVsTransaction[partyAddress];\n }\n\n /**\n *@dev This method will be used to release funds associated with the transaction\n * Please see specs https://github.com/OpenBazaar/smart-contracts/blob/master/contracts/escrow/EscrowSpec.md\n *@param sigV Array containing V component of all the signatures\n *@param sigR Array containing R component of all the signatures\n *@param signS Array containing S component of all the signatures\n *@param scriptHash script hash of the transaction\n *@param destinations address of the destination in whose favour dispute resolution is taking place. In case of split payments it will be address of the split payments contract\n *@param amounts value to send to each destination\n */\n function execute(\n uint8[] sigV,\n bytes32[] sigR,\n bytes32[] sigS,\n bytes32 scriptHash,\n address[] destinations,\n uint256[] amounts\n )\n external\n transactionExists(scriptHash)\n inFundedState(scriptHash)\n {\n require(\n destinations.length>0 && destinations.length == amounts.length, \"Length of destinations is incorrect.\"\n );\n\n verifyTransaction(\n sigV,\n sigR,\n sigS,\n scriptHash,\n destinations,\n amounts\n );\n\n transactions[scriptHash].status = Status.RELEASED;\n //Last modified timestamp modified, which will be used by rewards\n transactions[scriptHash].lastModified = block.timestamp;\n require(\n transferFunds(scriptHash, destinations, amounts) == transactions[scriptHash].value,\n \"Total value to be released must be equal to the transaction escrow value\"\n );\n \n emit Executed(scriptHash, destinations, amounts);\n }\n\n\n /**\n *@dev Method for calculating script hash. Calculation will depend upon the type of transaction\n * ETHER Type transaction-:\n * Script Hash- keccak256(uniqueId, threshold, timeoutHours, buyer, seller, moderator)\n * TOKEN Type transaction\n * Script Hash- keccak256(uniqueId, threshold, timeoutHours, buyer, seller, moderator, tokenAddress)\n * Client can use this method to verify whether it has calculated correct script hash or not\n */\n function calculateRedeemScriptHash(\n bytes20 uniqueId,\n uint8 threshold,\n uint32 timeoutHours,\n address buyer,\n address seller,\n address moderator,\n address tokenAddress\n )\n public\n view\n returns (bytes32)\n {\n if (tokenAddress == address(0)) {\n return keccak256(\n abi.encodePacked(\n uniqueId,\n threshold,\n timeoutHours,\n buyer,\n seller,\n moderator,\n this\n )\n );\n } else {\n return keccak256(\n abi.encodePacked(\n uniqueId,\n threshold,\n timeoutHours,\n buyer,\n seller,\n moderator,\n this,\n tokenAddress\n )\n );\n }\n }\n\n /**\n * @dev This methods checks validity of transaction\n * 1. Verify Signatures\n * 2. Check if minimum number of signatures has been acquired\n * 3. If above condition is false, check if time lock is expired and the execution is signed by seller\n */\n function verifyTransaction(\n uint8[] sigV,\n bytes32[] sigR,\n bytes32[] sigS,\n bytes32 scriptHash,\n address[] destinations,\n uint256[] amounts\n )\n private\n {\n address lastRecovered = verifySignatures(\n sigV,\n sigR,\n sigS,\n scriptHash,\n destinations,\n amounts\n );\n\n bool timeLockExpired = isTimeLockExpired(\n transactions[scriptHash].timeoutHours,\n transactions[scriptHash].lastModified\n );\n\n //if Minimum number of signatures are not gathered and timelock has not expired or transaction was not signed by seller then revert\n if (\n sigV.length < transactions[scriptHash].threshold && (!timeLockExpired || lastRecovered != transactions[scriptHash].seller)\n )\n {\n revert(\"Minimum number of signatures are not collected and time lock expiry conditions not met!!\");\n }\n\n }\n\n /**\n *@dev Private method to transfer funds to the destination addresses on the basis of transaction type\n */\n function transferFunds(\n bytes32 scriptHash,\n address[]destinations,\n uint256[]amounts\n )\n private\n returns (uint256)\n {\n Transaction storage t = transactions[scriptHash];\n\n uint256 valueTransferred = 0;\n\n if (t.transactionType == TransactionType.ETHER) {\n for (uint256 i = 0; i < destinations.length; i++) {\n\n require(destinations[i] != address(0) && t.isOwner[destinations[i]], \"Not a valid destination\");\n require(amounts[i] > 0, \"Amount to be sent should be greater than 0\");\n\n valueTransferred = valueTransferred.add(amounts[i]);\n\n t.beneficiaries[destinations[i]] = true;//add receiver as beneficiary\n destinations[i].transfer(amounts[i]);//shall we use send instead of transfer to stop malicious actors from blocking funds?\n }\n\n } else if (t.transactionType == TransactionType.TOKEN) {\n\n ITokenContract token = ITokenContract(t.tokenAddress);\n\n for (uint256 j = 0; j 0, \"Amount to be sent should be greater than 0\");\n\n valueTransferred = valueTransferred.add(amounts[j]);\n t.beneficiaries[destinations[j]] = true;//add receiver as beneficiary\n\n require(token.transfer(destinations[j], amounts[j]), \"Token transfer failed.\");\n }\n } \n return valueTransferred;\n }\n\n //to check whether the signature are valid or not and if consensus was reached\n //returns the last address recovered, in case of timeout this must be the sender's address\n function verifySignatures(\n uint8[] sigV,\n bytes32[] sigR,\n bytes32[] sigS,\n bytes32 scriptHash,\n address[] destinations,\n uint256[]amounts\n )\n private\n returns (address)\n {\n\n require(\n sigR.length == sigS.length && sigR.length == sigV.length, \n \"R,S,V length mismatch.\"\n );\n\n address lastAddress;\n\n // Follows ERC191 signature scheme: https://github.com/ethereum/EIPs/issues/191\n bytes32 txHash = keccak256(\n abi.encodePacked(\n \"\\x19Ethereum Signed Message:\\n32\",\n keccak256(\n abi.encodePacked(\n byte(0x19),\n byte(0),\n this,\n destinations,\n amounts,\n scriptHash\n )\n )\n )\n );\n\n for (uint i = 0; i < sigR.length; i++) {\n\n address recovered = ecrecover(\n txHash,\n sigV[i],\n sigR[i],\n sigS[i]\n );\n\n require(\n transactions[scriptHash].isOwner[recovered], \n \"Invalid signature\"\n );\n require(\n !transactions[scriptHash].voted[recovered], \n \"Same signature sent twice\"\n );\n transactions[scriptHash].voted[recovered] = true;\n lastAddress = recovered;\n }\n\n return lastAddress;\n }\n\n function isTimeLockExpired(\n uint32 timeoutHours,\n uint256 lastModified\n )\n private\n view\n returns (bool)\n {\n uint256 timeSince = now.sub(lastModified);\n return (\n timeoutHours == 0 ? false:timeSince > uint256(timeoutHours).mul(3600)\n );\n }\n\n /**\n * Private method to add transaction to reduce code redundancy\n */\n function _addTransaction(\n address buyer,\n address seller,\n address moderator,\n uint8 threshold,\n uint32 timeoutHours,\n bytes32 scriptHash,\n uint256 value,\n bytes20 uniqueId,\n TransactionType transactionType,\n address tokenAddress\n )\n private\n { \n require(buyer != seller, \"Buyer and seller are same\");\n\n //value passed should be greater than 0\n require(value > 0, \"Value passed is 0\");\n\n // For now allowing 0 moderator to support 1-2 multisig wallet\n require(\n threshold > 0 && threshold <= 3, \n \"Threshold cannot be greater than 3 and must be greater than 0\"\n );\n\n //if threshold is 1 then moderator can be passed as zero address or any other address(it wont matter aopart from scripthash since we wont add moderator as one of the owner)\n //otherwise moderator should be a valid address\n require(\n threshold == 1 || moderator != address(0),\n \"Either threshold should be 1 otherwise valid moderator address should be passed\"\n );\n\n require(\n scriptHash == calculateRedeemScriptHash(\n uniqueId,\n threshold,\n timeoutHours,\n buyer,\n seller,\n moderator,\n tokenAddress\n ), \n \"Calculated script hash does not match passed script hash.\"\n );\n\n transactions[scriptHash] = Transaction({\n buyer: buyer,\n seller: seller,\n moderator: moderator,\n value: value,\n status: Status.FUNDED,\n lastModified: block.timestamp,\n threshold: threshold,\n timeoutHours: timeoutHours,\n transactionType:transactionType,\n tokenAddress:tokenAddress\n });\n\n transactions[scriptHash].isOwner[seller] = true;\n transactions[scriptHash].isOwner[buyer] = true; \n\n //Check if buyer or seller are not passed as moderator\n require(\n !transactions[scriptHash].isOwner[moderator], \n \"Either buyer or seller is passed as moderator\"\n );\n\n //set moderator as one of the owners only if threshold is greater than 1 otherwise only buyer and seller should be able to release funds\n if (threshold > 1){\n transactions[scriptHash].isOwner[moderator] = true;\n }\n \n\n transactionCount++;\n\n partyVsTransaction[buyer].push(scriptHash);\n partyVsTransaction[seller].push(scriptHash);\n }\n}\n", "sourcePath": "/home/sameep/freelancing-projects/toptal/open baazar/publicRepo/smart-contracts/contracts/escrow/Escrow_v1_0.sol", "ast": { "absolutePath": "/home/sameep/freelancing-projects/toptal/open baazar/publicRepo/smart-contracts/contracts/escrow/Escrow_v1_0.sol", @@ -1839,7 +1839,7 @@ "body": { "id": 131, "nodeType": "Block", - "src": "2121:161:0", + "src": "2121:145:0", "statements": [ { "expression": { @@ -1951,7 +1951,7 @@ }, { "argumentTypes": null, - "hexValue": "5472616e73616374696f6e2069732065697468657220696e2064697370757465206f722072656c6561736564207374617465", + "hexValue": "5472616e73616374696f6e206973206e6f7420696e2046554e444544207374617465", "id": 127, "isConstant": false, "isLValue": false, @@ -1959,13 +1959,13 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "2202:52:0", + "src": "2202:36:0", "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_stringliteral_0cc8916d65fa11e0e6538cf603067141ec9685ba71ec1b5e50c6b5b71a8ab654", - "typeString": "literal_string \"Transaction is either in dispute or released state\"" + "typeIdentifier": "t_stringliteral_5244efce1630cfae7257c0817c921ae75135c1043344a4cf9a1988c03337f39d", + "typeString": "literal_string \"Transaction is not in FUNDED state\"" }, - "value": "Transaction is either in dispute or released state" + "value": "Transaction is not in FUNDED state" } ], "expression": { @@ -1975,8 +1975,8 @@ "typeString": "bool" }, { - "typeIdentifier": "t_stringliteral_0cc8916d65fa11e0e6538cf603067141ec9685ba71ec1b5e50c6b5b71a8ab654", - "typeString": "literal_string \"Transaction is either in dispute or released state\"" + "typeIdentifier": "t_stringliteral_5244efce1630cfae7257c0817c921ae75135c1043344a4cf9a1988c03337f39d", + "typeString": "literal_string \"Transaction is not in FUNDED state\"" } ], "id": 119, @@ -2001,7 +2001,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2131:133:0", + "src": "2131:117:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -2009,12 +2009,12 @@ }, "id": 129, "nodeType": "ExpressionStatement", - "src": "2131:133:0" + "src": "2131:117:0" }, { "id": 130, "nodeType": "PlaceholderStatement", - "src": "2274:1:0" + "src": "2258:1:0" } ] }, @@ -2055,14 +2055,14 @@ ], "src": "2100:20:0" }, - "src": "2078:204:0", + "src": "2078:188:0", "visibility": "internal" }, { "body": { "id": 146, "nodeType": "Block", - "src": "2336:88:0", + "src": "2320:88:0", "statements": [ { "expression": { @@ -2086,7 +2086,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 134, - "src": "2354:14:0", + "src": "2338:14:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2107,7 +2107,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2380:1:0", + "src": "2364:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -2129,7 +2129,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "2372:7:0", + "src": "2356:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" @@ -2144,13 +2144,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2372:10:0", + "src": "2356:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "2354:28:0", + "src": "2338:28:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -2166,7 +2166,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "2384:21:0", + "src": "2368:21:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_93e85f37f73cf8e1b855512ab7e00aab2b791117712ecb476daeb6c2c0a27a67", @@ -2194,7 +2194,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "2346:7:0", + "src": "2330:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -2208,7 +2208,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2346:60:0", + "src": "2330:60:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -2216,12 +2216,12 @@ }, "id": 144, "nodeType": "ExpressionStatement", - "src": "2346:60:0" + "src": "2330:60:0" }, { "id": 145, "nodeType": "PlaceholderStatement", - "src": "2416:1:0" + "src": "2400:1:0" } ] }, @@ -2239,7 +2239,7 @@ "name": "addressToCheck", "nodeType": "VariableDeclaration", "scope": 147, - "src": "2312:22:0", + "src": "2296:22:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2250,7 +2250,7 @@ "id": 133, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2312:7:0", + "src": "2296:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2260,16 +2260,16 @@ "visibility": "internal" } ], - "src": "2311:24:0" + "src": "2295:24:0" }, - "src": "2288:136:0", + "src": "2272:136:0", "visibility": "internal" }, { "body": { "id": 164, "nodeType": "Block", - "src": "2539:153:0", + "src": "2523:153:0", "statements": [ { "expression": { @@ -2297,7 +2297,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "2570:12:0", + "src": "2554:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -2311,7 +2311,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 149, - "src": "2583:10:0", + "src": "2567:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -2322,7 +2322,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "2570:24:0", + "src": "2554:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -2336,7 +2336,7 @@ "memberName": "transactionType", "nodeType": "MemberAccess", "referencedDeclaration": 46, - "src": "2570:40:0", + "src": "2554:40:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -2351,13 +2351,13 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 151, - "src": "2614:15:0", + "src": "2598:15:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" } }, - "src": "2570:59:0", + "src": "2554:59:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -2373,7 +2373,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "2631:33:0", + "src": "2615:33:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_c798eb33a8bd5d4c22212d5c8611219bb87da2d82aefe8e88b1f970a0f133cc3", @@ -2401,7 +2401,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "2549:7:0", + "src": "2533:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -2415,7 +2415,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2549:125:0", + "src": "2533:125:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -2423,12 +2423,12 @@ }, "id": 162, "nodeType": "ExpressionStatement", - "src": "2549:125:0" + "src": "2533:125:0" }, { "id": 163, "nodeType": "PlaceholderStatement", - "src": "2684:1:0" + "src": "2668:1:0" } ] }, @@ -2446,7 +2446,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 165, - "src": "2469:18:0", + "src": "2453:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2457,7 +2457,7 @@ "id": 148, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "2469:7:0", + "src": "2453:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -2472,7 +2472,7 @@ "name": "transactionType", "nodeType": "VariableDeclaration", "scope": 165, - "src": "2497:31:0", + "src": "2481:31:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2485,7 +2485,7 @@ "name": "TransactionType", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 12, - "src": "2497:15:0", + "src": "2481:15:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -2495,16 +2495,16 @@ "visibility": "internal" } ], - "src": "2459:75:0" + "src": "2443:75:0" }, - "src": "2430:262:0", + "src": "2414:262:0", "visibility": "internal" }, { "body": { "id": 181, "nodeType": "Block", - "src": "2737:152:0", + "src": "2721:152:0", "statements": [ { "expression": { @@ -2530,7 +2530,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1384, - "src": "2768:3:0", + "src": "2752:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -2544,7 +2544,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "2768:10:0", + "src": "2752:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2563,7 +2563,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "2782:12:0", + "src": "2766:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -2577,7 +2577,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 167, - "src": "2795:10:0", + "src": "2779:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -2588,7 +2588,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "2782:24:0", + "src": "2766:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -2602,13 +2602,13 @@ "memberName": "buyer", "nodeType": "MemberAccess", "referencedDeclaration": 52, - "src": "2782:30:0", + "src": "2766:30:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "2768:44:0", + "src": "2752:44:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -2624,7 +2624,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "2814:47:0", + "src": "2798:47:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_b4fc72d2373e6fc668b2bc10a6c84713d84de5f4dc58bb69053e1a18ae67c2f9", @@ -2652,7 +2652,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "2747:7:0", + "src": "2731:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -2666,7 +2666,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2747:124:0", + "src": "2731:124:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -2674,12 +2674,12 @@ }, "id": 179, "nodeType": "ExpressionStatement", - "src": "2747:124:0" + "src": "2731:124:0" }, { "id": 180, "nodeType": "PlaceholderStatement", - "src": "2881:1:0" + "src": "2865:1:0" } ] }, @@ -2697,7 +2697,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 182, - "src": "2717:18:0", + "src": "2701:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2708,7 +2708,7 @@ "id": 166, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "2717:7:0", + "src": "2701:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -2718,16 +2718,16 @@ "visibility": "internal" } ], - "src": "2716:20:0" + "src": "2700:20:0" }, - "src": "2698:191:0", + "src": "2682:191:0", "visibility": "internal" }, { "body": { "id": 233, "nodeType": "Block", - "src": "4183:347:0", + "src": "4167:347:0", "statements": [ { "expression": { @@ -2740,7 +2740,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 184, - "src": "4222:5:0", + "src": "4206:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2753,7 +2753,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 186, - "src": "4241:6:0", + "src": "4225:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2766,7 +2766,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 188, - "src": "4261:9:0", + "src": "4245:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2779,7 +2779,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 190, - "src": "4284:9:0", + "src": "4268:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -2792,7 +2792,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 192, - "src": "4307:12:0", + "src": "4291:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -2805,7 +2805,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 194, - "src": "4333:10:0", + "src": "4317:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -2820,7 +2820,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1384, - "src": "4357:3:0", + "src": "4341:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -2834,7 +2834,7 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "4357:9:0", + "src": "4341:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2847,7 +2847,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 196, - "src": "4380:8:0", + "src": "4364:8:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -2862,7 +2862,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12, - "src": "4402:15:0", + "src": "4386:15:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_TransactionType_$12_$", "typeString": "type(enum Escrow_v1_0.TransactionType)" @@ -2876,7 +2876,7 @@ "memberName": "ETHER", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "4402:21:0", + "src": "4386:21:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -2895,7 +2895,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "4445:1:0", + "src": "4429:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -2917,7 +2917,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "4437:7:0", + "src": "4421:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" @@ -2932,7 +2932,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4437:10:0", + "src": "4421:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2987,7 +2987,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1210, - "src": "4193:15:0", + "src": "4177:15:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_address_$_t_uint8_$_t_uint32_$_t_bytes32_$_t_uint256_$_t_bytes20_$_t_enum$_TransactionType_$12_$_t_address_$returns$__$", "typeString": "function (address,address,address,uint8,uint32,bytes32,uint256,bytes20,enum Escrow_v1_0.TransactionType,address)" @@ -3001,7 +3001,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4193:264:0", + "src": "4177:264:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -3009,7 +3009,7 @@ }, "id": 224, "nodeType": "ExpressionStatement", - "src": "4193:264:0" + "src": "4177:264:0" }, { "eventCall": { @@ -3022,7 +3022,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 194, - "src": "4488:10:0", + "src": "4472:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -3037,7 +3037,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1384, - "src": "4500:3:0", + "src": "4484:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -3051,7 +3051,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "4500:10:0", + "src": "4484:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3066,7 +3066,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1384, - "src": "4512:3:0", + "src": "4496:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -3080,7 +3080,7 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "4512:9:0", + "src": "4496:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3107,7 +3107,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 38, - "src": "4481:6:0", + "src": "4465:6:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (bytes32,address,uint256)" @@ -3121,7 +3121,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4481:41:0", + "src": "4465:41:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -3129,7 +3129,7 @@ }, "id": 232, "nodeType": "EmitStatement", - "src": "4476:46:0" + "src": "4460:46:0" } ] }, @@ -3148,7 +3148,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 194, - "src": "4106:10:0", + "src": "4090:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -3163,14 +3163,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 115, - "src": "4081:24:0", + "src": "4065:24:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "4081:36:0" + "src": "4065:36:0" }, { "arguments": [ @@ -3181,7 +3181,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 184, - "src": "4141:5:0", + "src": "4125:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3196,14 +3196,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 147, - "src": "4126:14:0", + "src": "4110:14:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_address_$", "typeString": "modifier (address)" } }, "nodeType": "ModifierInvocation", - "src": "4126:21:0" + "src": "4110:21:0" }, { "arguments": [ @@ -3214,7 +3214,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 186, - "src": "4171:6:0", + "src": "4155:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3229,14 +3229,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 147, - "src": "4156:14:0", + "src": "4140:14:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_address_$", "typeString": "modifier (address)" } }, "nodeType": "ModifierInvocation", - "src": "4156:22:0" + "src": "4140:22:0" } ], "name": "addTransaction", @@ -3251,7 +3251,7 @@ "name": "buyer", "nodeType": "VariableDeclaration", "scope": 234, - "src": "3861:13:0", + "src": "3845:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3262,7 +3262,7 @@ "id": 183, "name": "address", "nodeType": "ElementaryTypeName", - "src": "3861:7:0", + "src": "3845:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3277,7 +3277,7 @@ "name": "seller", "nodeType": "VariableDeclaration", "scope": 234, - "src": "3884:14:0", + "src": "3868:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3288,7 +3288,7 @@ "id": 185, "name": "address", "nodeType": "ElementaryTypeName", - "src": "3884:7:0", + "src": "3868:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3303,7 +3303,7 @@ "name": "moderator", "nodeType": "VariableDeclaration", "scope": 234, - "src": "3908:17:0", + "src": "3892:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3314,7 +3314,7 @@ "id": 187, "name": "address", "nodeType": "ElementaryTypeName", - "src": "3908:7:0", + "src": "3892:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3329,7 +3329,7 @@ "name": "threshold", "nodeType": "VariableDeclaration", "scope": 234, - "src": "3935:15:0", + "src": "3919:15:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3340,7 +3340,7 @@ "id": 189, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "3935:5:0", + "src": "3919:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -3355,7 +3355,7 @@ "name": "timeoutHours", "nodeType": "VariableDeclaration", "scope": 234, - "src": "3960:19:0", + "src": "3944:19:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3366,7 +3366,7 @@ "id": 191, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "3960:6:0", + "src": "3944:6:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -3381,7 +3381,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 234, - "src": "3989:18:0", + "src": "3973:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3392,7 +3392,7 @@ "id": 193, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "3989:7:0", + "src": "3973:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -3407,7 +3407,7 @@ "name": "uniqueId", "nodeType": "VariableDeclaration", "scope": 234, - "src": "4017:16:0", + "src": "4001:16:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3418,7 +3418,7 @@ "id": 195, "name": "bytes20", "nodeType": "ElementaryTypeName", - "src": "4017:7:0", + "src": "4001:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -3428,17 +3428,17 @@ "visibility": "internal" } ], - "src": "3851:188:0" + "src": "3835:188:0" }, "payable": true, "returnParameters": { "id": 207, "nodeType": "ParameterList", "parameters": [], - "src": "4183:0:0" + "src": "4167:0:0" }, "scope": 1211, - "src": "3828:702:0", + "src": "3812:702:0", "stateMutability": "payable", "superFunction": null, "visibility": "external" @@ -3447,7 +3447,7 @@ "body": { "id": 305, "nodeType": "Block", - "src": "6064:587:0", + "src": "6048:587:0", "statements": [ { "expression": { @@ -3460,7 +3460,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 236, - "src": "6104:5:0", + "src": "6088:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3473,7 +3473,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 238, - "src": "6123:6:0", + "src": "6107:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3486,7 +3486,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 240, - "src": "6143:9:0", + "src": "6127:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3499,7 +3499,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 242, - "src": "6166:9:0", + "src": "6150:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -3512,7 +3512,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 244, - "src": "6189:12:0", + "src": "6173:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -3525,7 +3525,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 246, - "src": "6215:10:0", + "src": "6199:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -3538,7 +3538,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 248, - "src": "6239:5:0", + "src": "6223:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3551,7 +3551,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 250, - "src": "6258:8:0", + "src": "6242:8:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -3566,7 +3566,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12, - "src": "6280:15:0", + "src": "6264:15:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_TransactionType_$12_$", "typeString": "type(enum Escrow_v1_0.TransactionType)" @@ -3580,7 +3580,7 @@ "memberName": "TOKEN", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "6280:21:0", + "src": "6264:21:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -3593,7 +3593,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 252, - "src": "6315:12:0", + "src": "6299:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3648,7 +3648,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1210, - "src": "6075:15:0", + "src": "6059:15:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_address_$_t_uint8_$_t_uint32_$_t_bytes32_$_t_uint256_$_t_bytes20_$_t_enum$_TransactionType_$12_$_t_address_$returns$__$", "typeString": "function (address,address,address,uint8,uint32,bytes32,uint256,bytes20,enum Escrow_v1_0.TransactionType,address)" @@ -3662,7 +3662,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6075:262:0", + "src": "6059:262:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -3670,7 +3670,7 @@ }, "id": 280, "nodeType": "ExpressionStatement", - "src": "6075:262:0" + "src": "6059:262:0" }, { "assignments": [ @@ -3683,7 +3683,7 @@ "name": "token", "nodeType": "VariableDeclaration", "scope": 306, - "src": "6348:20:0", + "src": "6332:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3696,7 +3696,7 @@ "name": "ITokenContract", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 1241, - "src": "6348:14:0", + "src": "6332:14:0", "typeDescriptions": { "typeIdentifier": "t_contract$_ITokenContract_$1241", "typeString": "contract ITokenContract" @@ -3717,7 +3717,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 252, - "src": "6386:12:0", + "src": "6370:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3736,7 +3736,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1241, - "src": "6371:14:0", + "src": "6355:14:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_ITokenContract_$1241_$", "typeString": "type(contract ITokenContract)" @@ -3750,14 +3750,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6371:28:0", + "src": "6355:28:0", "typeDescriptions": { "typeIdentifier": "t_contract$_ITokenContract_$1241", "typeString": "contract ITokenContract" } }, "nodeType": "VariableDeclarationStatement", - "src": "6348:51:0" + "src": "6332:51:0" }, { "expression": { @@ -3775,7 +3775,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1384, - "src": "6450:3:0", + "src": "6434:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -3789,7 +3789,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "6450:10:0", + "src": "6434:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3802,7 +3802,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1401, - "src": "6462:4:0", + "src": "6446:4:0", "typeDescriptions": { "typeIdentifier": "t_contract$_Escrow_v1_0_$1211", "typeString": "contract Escrow_v1_0" @@ -3815,7 +3815,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 248, - "src": "6468:5:0", + "src": "6452:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3844,7 +3844,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 282, - "src": "6431:5:0", + "src": "6415:5:0", "typeDescriptions": { "typeIdentifier": "t_contract$_ITokenContract_$1241", "typeString": "contract ITokenContract" @@ -3858,7 +3858,7 @@ "memberName": "transferFrom", "nodeType": "MemberAccess", "referencedDeclaration": 1240, - "src": "6431:18:0", + "src": "6415:18:0", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", "typeString": "function (address,address,uint256) external returns (bool)" @@ -3872,7 +3872,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6431:43:0", + "src": "6415:43:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -3888,7 +3888,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "6488:94:0", + "src": "6472:94:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_d9d07068d589bc4adc53018a3c57c159ec128fdfb62732a5fa9410e76cf03318", @@ -3916,7 +3916,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "6410:7:0", + "src": "6394:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -3930,7 +3930,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6410:182:0", + "src": "6394:182:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -3938,7 +3938,7 @@ }, "id": 297, "nodeType": "ExpressionStatement", - "src": "6410:182:0" + "src": "6394:182:0" }, { "eventCall": { @@ -3951,7 +3951,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 246, - "src": "6614:10:0", + "src": "6598:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -3966,7 +3966,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1384, - "src": "6626:3:0", + "src": "6610:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -3980,7 +3980,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "6626:10:0", + "src": "6610:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3993,7 +3993,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 248, - "src": "6638:5:0", + "src": "6622:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4020,7 +4020,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 38, - "src": "6607:6:0", + "src": "6591:6:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (bytes32,address,uint256)" @@ -4034,7 +4034,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6607:37:0", + "src": "6591:37:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -4042,7 +4042,7 @@ }, "id": 304, "nodeType": "EmitStatement", - "src": "6602:42:0" + "src": "6586:42:0" } ] }, @@ -4061,7 +4061,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 246, - "src": "5950:10:0", + "src": "5934:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -4076,14 +4076,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 115, - "src": "5925:24:0", + "src": "5909:24:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "5925:36:0" + "src": "5909:36:0" }, { "arguments": [ @@ -4094,7 +4094,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 236, - "src": "5985:5:0", + "src": "5969:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4109,14 +4109,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 147, - "src": "5970:14:0", + "src": "5954:14:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_address_$", "typeString": "modifier (address)" } }, "nodeType": "ModifierInvocation", - "src": "5970:21:0" + "src": "5954:21:0" }, { "arguments": [ @@ -4127,7 +4127,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 238, - "src": "6015:6:0", + "src": "5999:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4142,14 +4142,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 147, - "src": "6000:14:0", + "src": "5984:14:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_address_$", "typeString": "modifier (address)" } }, "nodeType": "ModifierInvocation", - "src": "6000:22:0" + "src": "5984:22:0" }, { "arguments": [ @@ -4160,7 +4160,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 252, - "src": "6046:12:0", + "src": "6030:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4175,14 +4175,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 147, - "src": "6031:14:0", + "src": "6015:14:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_address_$", "typeString": "modifier (address)" } }, "nodeType": "ModifierInvocation", - "src": "6031:28:0" + "src": "6015:28:0" } ], "name": "addTokenTransaction", @@ -4197,7 +4197,7 @@ "name": "buyer", "nodeType": "VariableDeclaration", "scope": 306, - "src": "5668:13:0", + "src": "5652:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4208,7 +4208,7 @@ "id": 235, "name": "address", "nodeType": "ElementaryTypeName", - "src": "5668:7:0", + "src": "5652:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4223,7 +4223,7 @@ "name": "seller", "nodeType": "VariableDeclaration", "scope": 306, - "src": "5691:14:0", + "src": "5675:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4234,7 +4234,7 @@ "id": 237, "name": "address", "nodeType": "ElementaryTypeName", - "src": "5691:7:0", + "src": "5675:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4249,7 +4249,7 @@ "name": "moderator", "nodeType": "VariableDeclaration", "scope": 306, - "src": "5715:17:0", + "src": "5699:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4260,7 +4260,7 @@ "id": 239, "name": "address", "nodeType": "ElementaryTypeName", - "src": "5715:7:0", + "src": "5699:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4275,7 +4275,7 @@ "name": "threshold", "nodeType": "VariableDeclaration", "scope": 306, - "src": "5742:15:0", + "src": "5726:15:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4286,7 +4286,7 @@ "id": 241, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "5742:5:0", + "src": "5726:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -4301,7 +4301,7 @@ "name": "timeoutHours", "nodeType": "VariableDeclaration", "scope": 306, - "src": "5767:19:0", + "src": "5751:19:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4312,7 +4312,7 @@ "id": 243, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "5767:6:0", + "src": "5751:6:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -4327,7 +4327,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 306, - "src": "5796:18:0", + "src": "5780:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4338,7 +4338,7 @@ "id": 245, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "5796:7:0", + "src": "5780:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -4353,7 +4353,7 @@ "name": "value", "nodeType": "VariableDeclaration", "scope": 306, - "src": "5824:13:0", + "src": "5808:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4364,7 +4364,7 @@ "id": 247, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "5824:7:0", + "src": "5808:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4379,7 +4379,7 @@ "name": "uniqueId", "nodeType": "VariableDeclaration", "scope": 306, - "src": "5847:16:0", + "src": "5831:16:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4390,7 +4390,7 @@ "id": 249, "name": "bytes20", "nodeType": "ElementaryTypeName", - "src": "5847:7:0", + "src": "5831:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -4405,7 +4405,7 @@ "name": "tokenAddress", "nodeType": "VariableDeclaration", "scope": 306, - "src": "5873:20:0", + "src": "5857:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4416,7 +4416,7 @@ "id": 251, "name": "address", "nodeType": "ElementaryTypeName", - "src": "5873:7:0", + "src": "5857:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4426,17 +4426,17 @@ "visibility": "internal" } ], - "src": "5658:241:0" + "src": "5642:241:0" }, "payable": false, "returnParameters": { "id": 266, "nodeType": "ParameterList", "parameters": [], - "src": "6064:0:0" + "src": "6048:0:0" }, "scope": 1211, - "src": "5630:1021:0", + "src": "5614:1021:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" @@ -4445,7 +4445,7 @@ "body": { "id": 322, "nodeType": "Block", - "src": "7021:75:0", + "src": "7005:75:0", "statements": [ { "expression": { @@ -4461,7 +4461,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "7038:12:0", + "src": "7022:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -4475,7 +4475,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 308, - "src": "7051:10:0", + "src": "7035:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -4486,7 +4486,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "7038:24:0", + "src": "7022:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -4500,7 +4500,7 @@ "memberName": "beneficiaries", "nodeType": "MemberAccess", "referencedDeclaration": 70, - "src": "7038:38:0", + "src": "7022:38:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -4514,7 +4514,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 310, - "src": "7077:11:0", + "src": "7061:11:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4525,7 +4525,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "7038:51:0", + "src": "7022:51:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -4534,7 +4534,7 @@ "functionReturnParameters": 314, "id": 321, "nodeType": "Return", - "src": "7031:58:0" + "src": "7015:58:0" } ] }, @@ -4556,7 +4556,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 323, - "src": "6910:18:0", + "src": "6894:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4567,7 +4567,7 @@ "id": 307, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "6910:7:0", + "src": "6894:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -4582,7 +4582,7 @@ "name": "beneficiary", "nodeType": "VariableDeclaration", "scope": 323, - "src": "6938:19:0", + "src": "6922:19:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4593,7 +4593,7 @@ "id": 309, "name": "address", "nodeType": "ElementaryTypeName", - "src": "6938:7:0", + "src": "6922:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4603,7 +4603,7 @@ "visibility": "internal" } ], - "src": "6900:63:0" + "src": "6884:63:0" }, "payable": false, "returnParameters": { @@ -4616,7 +4616,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 323, - "src": "7011:4:0", + "src": "6995:4:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4627,7 +4627,7 @@ "id": 312, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "7011:4:0", + "src": "6995:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -4637,10 +4637,10 @@ "visibility": "internal" } ], - "src": "7010:6:0" + "src": "6994:6:0" }, "scope": 1211, - "src": "6875:221:0", + "src": "6859:221:0", "stateMutability": "view", "superFunction": null, "visibility": "external" @@ -4649,7 +4649,7 @@ "body": { "id": 339, "nodeType": "Block", - "src": "7452:61:0", + "src": "7436:61:0", "statements": [ { "expression": { @@ -4665,7 +4665,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "7469:12:0", + "src": "7453:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -4679,7 +4679,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 325, - "src": "7482:10:0", + "src": "7466:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -4690,7 +4690,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "7469:24:0", + "src": "7453:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -4704,7 +4704,7 @@ "memberName": "voted", "nodeType": "MemberAccess", "referencedDeclaration": 66, - "src": "7469:30:0", + "src": "7453:30:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -4718,7 +4718,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 327, - "src": "7500:5:0", + "src": "7484:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4729,7 +4729,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "7469:37:0", + "src": "7453:37:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -4738,7 +4738,7 @@ "functionReturnParameters": 331, "id": 338, "nodeType": "Return", - "src": "7462:44:0" + "src": "7446:44:0" } ] }, @@ -4760,7 +4760,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 340, - "src": "7347:18:0", + "src": "7331:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4771,7 +4771,7 @@ "id": 324, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "7347:7:0", + "src": "7331:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -4786,7 +4786,7 @@ "name": "party", "nodeType": "VariableDeclaration", "scope": 340, - "src": "7375:13:0", + "src": "7359:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4797,7 +4797,7 @@ "id": 326, "name": "address", "nodeType": "ElementaryTypeName", - "src": "7375:7:0", + "src": "7359:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4807,7 +4807,7 @@ "visibility": "internal" } ], - "src": "7337:57:0" + "src": "7321:57:0" }, "payable": false, "returnParameters": { @@ -4820,7 +4820,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 340, - "src": "7442:4:0", + "src": "7426:4:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4831,7 +4831,7 @@ "id": 329, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "7442:4:0", + "src": "7426:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -4841,10 +4841,10 @@ "visibility": "internal" } ], - "src": "7441:6:0" + "src": "7425:6:0" }, "scope": 1211, - "src": "7319:194:0", + "src": "7303:194:0", "stateMutability": "view", "superFunction": null, "visibility": "external" @@ -4853,7 +4853,7 @@ "body": { "id": 399, "nodeType": "Block", - "src": "8099:330:0", + "src": "8083:330:0", "statements": [ { "assignments": [ @@ -4866,7 +4866,7 @@ "name": "_value", "nodeType": "VariableDeclaration", "scope": 400, - "src": "8109:14:0", + "src": "8093:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4877,7 +4877,7 @@ "id": 359, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "8109:7:0", + "src": "8093:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4897,7 +4897,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1384, - "src": "8126:3:0", + "src": "8110:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -4911,14 +4911,14 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "8126:9:0", + "src": "8110:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "8109:26:0" + "src": "8093:26:0" }, { "expression": { @@ -4942,7 +4942,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 360, - "src": "8154:6:0", + "src": "8138:6:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4960,7 +4960,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "8163:1:0", + "src": "8147:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -4968,7 +4968,7 @@ }, "value": "0" }, - "src": "8154:10:0", + "src": "8138:10:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -4984,7 +4984,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "8166:34:0", + "src": "8150:34:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_21fbec2be6560b9ccffc4980d43c0d147770168e7aaf24999b418b9010085622", @@ -5012,7 +5012,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "8146:7:0", + "src": "8130:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -5026,7 +5026,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8146:55:0", + "src": "8130:55:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -5034,7 +5034,7 @@ }, "id": 370, "nodeType": "ExpressionStatement", - "src": "8146:55:0" + "src": "8130:55:0" }, { "expression": { @@ -5055,7 +5055,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "8212:12:0", + "src": "8196:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -5069,7 +5069,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 342, - "src": "8225:10:0", + "src": "8209:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -5080,7 +5080,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "8212:24:0", + "src": "8196:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -5094,7 +5094,7 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": 40, - "src": "8212:30:0", + "src": "8196:30:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5112,7 +5112,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 360, - "src": "8293:6:0", + "src": "8277:6:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5137,7 +5137,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "8245:12:0", + "src": "8229:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -5151,7 +5151,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 342, - "src": "8258:10:0", + "src": "8242:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -5162,7 +5162,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "8245:24:0", + "src": "8229:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -5176,7 +5176,7 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": 40, - "src": "8245:30:0", + "src": "8229:30:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5190,7 +5190,7 @@ "memberName": "add", "nodeType": "MemberAccess", "referencedDeclaration": 1348, - "src": "8245:47:0", + "src": "8229:47:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" @@ -5204,13 +5204,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8245:55:0", + "src": "8229:55:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "8212:88:0", + "src": "8196:88:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5218,7 +5218,7 @@ }, "id": 383, "nodeType": "ExpressionStatement", - "src": "8212:88:0" + "src": "8196:88:0" }, { "expression": { @@ -5239,7 +5239,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "8310:12:0", + "src": "8294:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -5253,7 +5253,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 342, - "src": "8323:10:0", + "src": "8307:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -5264,7 +5264,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "8310:24:0", + "src": "8294:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -5278,7 +5278,7 @@ "memberName": "lastModified", "nodeType": "MemberAccess", "referencedDeclaration": 42, - "src": "8310:37:0", + "src": "8294:37:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5295,7 +5295,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1374, - "src": "8350:5:0", + "src": "8334:5:0", "typeDescriptions": { "typeIdentifier": "t_magic_block", "typeString": "block" @@ -5309,13 +5309,13 @@ "memberName": "timestamp", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "8350:15:0", + "src": "8334:15:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "8310:55:0", + "src": "8294:55:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5323,7 +5323,7 @@ }, "id": 391, "nodeType": "ExpressionStatement", - "src": "8310:55:0" + "src": "8294:55:0" }, { "eventCall": { @@ -5336,7 +5336,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 342, - "src": "8391:10:0", + "src": "8375:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -5351,7 +5351,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1384, - "src": "8403:3:0", + "src": "8387:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -5365,7 +5365,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "8403:10:0", + "src": "8387:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -5378,7 +5378,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 360, - "src": "8415:6:0", + "src": "8399:6:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5405,7 +5405,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 30, - "src": "8381:9:0", + "src": "8365:9:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (bytes32,address,uint256)" @@ -5419,7 +5419,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8381:41:0", + "src": "8365:41:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -5427,7 +5427,7 @@ }, "id": 398, "nodeType": "EmitStatement", - "src": "8376:46:0" + "src": "8360:46:0" } ] }, @@ -5446,7 +5446,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 342, - "src": "7939:10:0", + "src": "7923:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -5461,14 +5461,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 99, - "src": "7921:17:0", + "src": "7905:17:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "7921:29:0" + "src": "7905:29:0" }, { "arguments": [ @@ -5479,7 +5479,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 342, - "src": "7973:10:0", + "src": "7957:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -5494,14 +5494,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 132, - "src": "7959:13:0", + "src": "7943:13:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "7959:25:0" + "src": "7943:25:0" }, { "arguments": [ @@ -5512,7 +5512,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 342, - "src": "8014:10:0", + "src": "7998:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -5527,7 +5527,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12, - "src": "8026:15:0", + "src": "8010:15:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_TransactionType_$12_$", "typeString": "type(enum Escrow_v1_0.TransactionType)" @@ -5541,7 +5541,7 @@ "memberName": "ETHER", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "8026:21:0", + "src": "8010:21:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -5556,14 +5556,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 165, - "src": "7993:20:0", + "src": "7977:20:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$_t_enum$_TransactionType_$12_$", "typeString": "modifier (bytes32,enum Escrow_v1_0.TransactionType)" } }, "nodeType": "ModifierInvocation", - "src": "7993:55:0" + "src": "7977:55:0" }, { "arguments": [ @@ -5574,7 +5574,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 342, - "src": "8067:10:0", + "src": "8051:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -5589,14 +5589,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 182, - "src": "8057:9:0", + "src": "8041:9:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "8057:21:0" + "src": "8041:21:0" } ], "name": "addFundsToTransaction", @@ -5611,7 +5611,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 400, - "src": "7871:18:0", + "src": "7855:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5622,7 +5622,7 @@ "id": 341, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "7871:7:0", + "src": "7855:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -5632,17 +5632,17 @@ "visibility": "internal" } ], - "src": "7861:34:0" + "src": "7845:34:0" }, "payable": true, "returnParameters": { "id": 358, "nodeType": "ParameterList", "parameters": [], - "src": "8099:0:0" + "src": "8083:0:0" }, "scope": 1211, - "src": "7831:598:0", + "src": "7815:598:0", "stateMutability": "payable", "superFunction": null, "visibility": "external" @@ -5651,7 +5651,7 @@ "body": { "id": 482, "nodeType": "Block", - "src": "8965:648:0", + "src": "8949:648:0", "statements": [ { "assignments": [ @@ -5664,7 +5664,7 @@ "name": "_value", "nodeType": "VariableDeclaration", "scope": 483, - "src": "8975:14:0", + "src": "8959:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5675,7 +5675,7 @@ "id": 421, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "8975:7:0", + "src": "8959:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5693,14 +5693,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 404, - "src": "8992:5:0", + "src": "8976:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "8975:22:0" + "src": "8959:22:0" }, { "expression": { @@ -5724,7 +5724,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 422, - "src": "9016:6:0", + "src": "9000:6:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5742,7 +5742,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "9025:1:0", + "src": "9009:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -5750,7 +5750,7 @@ }, "value": "0" }, - "src": "9016:10:0", + "src": "9000:10:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -5766,7 +5766,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "9028:34:0", + "src": "9012:34:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_21fbec2be6560b9ccffc4980d43c0d147770168e7aaf24999b418b9010085622", @@ -5794,7 +5794,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "9008:7:0", + "src": "8992:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -5808,7 +5808,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "9008:55:0", + "src": "8992:55:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -5816,7 +5816,7 @@ }, "id": 431, "nodeType": "ExpressionStatement", - "src": "9008:55:0" + "src": "8992:55:0" }, { "assignments": [ @@ -5829,7 +5829,7 @@ "name": "token", "nodeType": "VariableDeclaration", "scope": 483, - "src": "9074:20:0", + "src": "9058:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5842,7 +5842,7 @@ "name": "ITokenContract", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 1241, - "src": "9074:14:0", + "src": "9058:14:0", "typeDescriptions": { "typeIdentifier": "t_contract$_ITokenContract_$1241", "typeString": "contract ITokenContract" @@ -5867,7 +5867,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "9125:12:0", + "src": "9109:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -5881,7 +5881,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 402, - "src": "9138:10:0", + "src": "9122:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -5892,7 +5892,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "9125:24:0", + "src": "9109:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -5906,7 +5906,7 @@ "memberName": "tokenAddress", "nodeType": "MemberAccess", "referencedDeclaration": 56, - "src": "9125:37:0", + "src": "9109:37:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -5925,7 +5925,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1241, - "src": "9097:14:0", + "src": "9081:14:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_ITokenContract_$1241_$", "typeString": "type(contract ITokenContract)" @@ -5939,14 +5939,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "9097:75:0", + "src": "9081:75:0", "typeDescriptions": { "typeIdentifier": "t_contract$_ITokenContract_$1241", "typeString": "contract ITokenContract" } }, "nodeType": "VariableDeclarationStatement", - "src": "9074:98:0" + "src": "9058:98:0" }, { "expression": { @@ -5966,7 +5966,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "9223:12:0", + "src": "9207:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -5980,7 +5980,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 402, - "src": "9236:10:0", + "src": "9220:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -5991,7 +5991,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "9223:24:0", + "src": "9207:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -6005,7 +6005,7 @@ "memberName": "buyer", "nodeType": "MemberAccess", "referencedDeclaration": 52, - "src": "9223:30:0", + "src": "9207:30:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -6018,7 +6018,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1401, - "src": "9255:4:0", + "src": "9239:4:0", "typeDescriptions": { "typeIdentifier": "t_contract$_Escrow_v1_0_$1211", "typeString": "contract Escrow_v1_0" @@ -6031,7 +6031,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 404, - "src": "9261:5:0", + "src": "9245:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6060,7 +6060,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 433, - "src": "9204:5:0", + "src": "9188:5:0", "typeDescriptions": { "typeIdentifier": "t_contract$_ITokenContract_$1241", "typeString": "contract ITokenContract" @@ -6074,7 +6074,7 @@ "memberName": "transferFrom", "nodeType": "MemberAccess", "referencedDeclaration": 1240, - "src": "9204:18:0", + "src": "9188:18:0", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", "typeString": "function (address,address,uint256) external returns (bool)" @@ -6088,7 +6088,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "9204:63:0", + "src": "9188:63:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -6104,7 +6104,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "9281:94:0", + "src": "9265:94:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_d9d07068d589bc4adc53018a3c57c159ec128fdfb62732a5fa9410e76cf03318", @@ -6132,7 +6132,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "9183:7:0", + "src": "9167:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -6146,7 +6146,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "9183:202:0", + "src": "9167:202:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -6154,7 +6154,7 @@ }, "id": 453, "nodeType": "ExpressionStatement", - "src": "9183:202:0" + "src": "9167:202:0" }, { "expression": { @@ -6175,7 +6175,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "9396:12:0", + "src": "9380:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -6189,7 +6189,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 402, - "src": "9409:10:0", + "src": "9393:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -6200,7 +6200,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "9396:24:0", + "src": "9380:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -6214,7 +6214,7 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": 40, - "src": "9396:30:0", + "src": "9380:30:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6232,7 +6232,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 422, - "src": "9477:6:0", + "src": "9461:6:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6257,7 +6257,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "9429:12:0", + "src": "9413:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -6271,7 +6271,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 402, - "src": "9442:10:0", + "src": "9426:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -6282,7 +6282,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "9429:24:0", + "src": "9413:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -6296,7 +6296,7 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": 40, - "src": "9429:30:0", + "src": "9413:30:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6310,7 +6310,7 @@ "memberName": "add", "nodeType": "MemberAccess", "referencedDeclaration": 1348, - "src": "9429:47:0", + "src": "9413:47:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" @@ -6324,13 +6324,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "9429:55:0", + "src": "9413:55:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "9396:88:0", + "src": "9380:88:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6338,7 +6338,7 @@ }, "id": 466, "nodeType": "ExpressionStatement", - "src": "9396:88:0" + "src": "9380:88:0" }, { "expression": { @@ -6359,7 +6359,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "9494:12:0", + "src": "9478:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -6373,7 +6373,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 402, - "src": "9507:10:0", + "src": "9491:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -6384,7 +6384,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "9494:24:0", + "src": "9478:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -6398,7 +6398,7 @@ "memberName": "lastModified", "nodeType": "MemberAccess", "referencedDeclaration": 42, - "src": "9494:37:0", + "src": "9478:37:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6415,7 +6415,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1374, - "src": "9534:5:0", + "src": "9518:5:0", "typeDescriptions": { "typeIdentifier": "t_magic_block", "typeString": "block" @@ -6429,13 +6429,13 @@ "memberName": "timestamp", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "9534:15:0", + "src": "9518:15:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "9494:55:0", + "src": "9478:55:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6443,7 +6443,7 @@ }, "id": 474, "nodeType": "ExpressionStatement", - "src": "9494:55:0" + "src": "9478:55:0" }, { "eventCall": { @@ -6456,7 +6456,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 402, - "src": "9575:10:0", + "src": "9559:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -6471,7 +6471,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1384, - "src": "9587:3:0", + "src": "9571:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -6485,7 +6485,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "9587:10:0", + "src": "9571:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -6498,7 +6498,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 422, - "src": "9599:6:0", + "src": "9583:6:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6525,7 +6525,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 30, - "src": "9565:9:0", + "src": "9549:9:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (bytes32,address,uint256)" @@ -6539,7 +6539,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "9565:41:0", + "src": "9549:41:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -6547,7 +6547,7 @@ }, "id": 481, "nodeType": "EmitStatement", - "src": "9560:46:0" + "src": "9544:46:0" } ] }, @@ -6566,7 +6566,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 402, - "src": "8821:10:0", + "src": "8805:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -6581,14 +6581,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 99, - "src": "8803:17:0", + "src": "8787:17:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "8803:29:0" + "src": "8787:29:0" }, { "arguments": [ @@ -6599,7 +6599,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 402, - "src": "8855:10:0", + "src": "8839:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -6614,14 +6614,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 132, - "src": "8841:13:0", + "src": "8825:13:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "8841:25:0" + "src": "8825:25:0" }, { "arguments": [ @@ -6632,7 +6632,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 402, - "src": "8896:10:0", + "src": "8880:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -6647,7 +6647,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12, - "src": "8908:15:0", + "src": "8892:15:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_TransactionType_$12_$", "typeString": "type(enum Escrow_v1_0.TransactionType)" @@ -6661,7 +6661,7 @@ "memberName": "TOKEN", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "8908:21:0", + "src": "8892:21:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -6676,14 +6676,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 165, - "src": "8875:20:0", + "src": "8859:20:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$_t_enum$_TransactionType_$12_$", "typeString": "modifier (bytes32,enum Escrow_v1_0.TransactionType)" } }, "nodeType": "ModifierInvocation", - "src": "8875:55:0" + "src": "8859:55:0" }, { "arguments": [ @@ -6694,7 +6694,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 402, - "src": "8949:10:0", + "src": "8933:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -6709,14 +6709,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 182, - "src": "8939:9:0", + "src": "8923:9:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "8939:21:0" + "src": "8923:21:0" } ], "name": "addTokensToTransaction", @@ -6731,7 +6731,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 483, - "src": "8730:18:0", + "src": "8714:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6742,7 +6742,7 @@ "id": 401, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "8730:7:0", + "src": "8714:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -6757,7 +6757,7 @@ "name": "value", "nodeType": "VariableDeclaration", "scope": 483, - "src": "8758:13:0", + "src": "8742:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6768,7 +6768,7 @@ "id": 403, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "8758:7:0", + "src": "8742:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6778,17 +6778,17 @@ "visibility": "internal" } ], - "src": "8720:57:0" + "src": "8704:57:0" }, "payable": false, "returnParameters": { "id": 420, "nodeType": "ParameterList", "parameters": [], - "src": "8965:0:0" + "src": "8949:0:0" }, "scope": 1211, - "src": "8689:924:0", + "src": "8673:924:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" @@ -6797,7 +6797,7 @@ "body": { "id": 495, "nodeType": "Block", - "src": "9868:56:0", + "src": "9852:56:0", "statements": [ { "expression": { @@ -6809,7 +6809,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 83, - "src": "9885:18:0", + "src": "9869:18:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_bytes32_$dyn_storage_$", "typeString": "mapping(address => bytes32[] storage ref)" @@ -6823,7 +6823,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 485, - "src": "9904:12:0", + "src": "9888:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -6834,7 +6834,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "9885:32:0", + "src": "9869:32:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage", "typeString": "bytes32[] storage ref" @@ -6843,7 +6843,7 @@ "functionReturnParameters": 490, "id": 494, "nodeType": "Return", - "src": "9878:39:0" + "src": "9862:39:0" } ] }, @@ -6865,7 +6865,7 @@ "name": "partyAddress", "nodeType": "VariableDeclaration", "scope": 496, - "src": "9775:20:0", + "src": "9759:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6876,7 +6876,7 @@ "id": 484, "name": "address", "nodeType": "ElementaryTypeName", - "src": "9775:7:0", + "src": "9759:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -6886,7 +6886,7 @@ "visibility": "internal" } ], - "src": "9765:36:0" + "src": "9749:36:0" }, "payable": false, "returnParameters": { @@ -6899,7 +6899,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 496, - "src": "9852:9:0", + "src": "9836:9:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6911,7 +6911,7 @@ "id": 487, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "9852:7:0", + "src": "9836:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -6920,7 +6920,7 @@ "id": 488, "length": null, "nodeType": "ArrayTypeName", - "src": "9852:9:0", + "src": "9836:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -6930,10 +6930,10 @@ "visibility": "internal" } ], - "src": "9851:11:0" + "src": "9835:11:0" }, "scope": 1211, - "src": "9730:194:0", + "src": "9714:194:0", "stateMutability": "view", "superFunction": null, "visibility": "external" @@ -6942,7 +6942,7 @@ "body": { "id": 581, "nodeType": "Block", - "src": "10907:790:0", + "src": "10891:790:0", "statements": [ { "expression": { @@ -6979,7 +6979,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 510, - "src": "10938:12:0", + "src": "10922:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" @@ -6993,7 +6993,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "10938:19:0", + "src": "10922:19:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7011,7 +7011,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "10958:1:0", + "src": "10942:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -7019,7 +7019,7 @@ }, "value": "0" }, - "src": "10938:21:0", + "src": "10922:21:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -7047,7 +7047,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 510, - "src": "10963:12:0", + "src": "10947:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" @@ -7061,7 +7061,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "10963:19:0", + "src": "10947:19:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7078,7 +7078,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 513, - "src": "10986:7:0", + "src": "10970:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", "typeString": "uint256[] calldata" @@ -7092,19 +7092,19 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "10986:14:0", + "src": "10970:14:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "10963:37:0", + "src": "10947:37:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "10938:62:0", + "src": "10922:62:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -7120,7 +7120,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "11002:38:0", + "src": "10986:38:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_53e979b0c355ea1eeda44a80ca73370fdb2abe922711b459aa4ee43d1558782b", @@ -7148,7 +7148,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "10917:7:0", + "src": "10901:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -7162,7 +7162,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "10917:133:0", + "src": "10901:133:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -7170,7 +7170,7 @@ }, "id": 535, "nodeType": "ExpressionStatement", - "src": "10917:133:0" + "src": "10901:133:0" }, { "expression": { @@ -7183,7 +7183,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 499, - "src": "11092:4:0", + "src": "11076:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_calldata_ptr", "typeString": "uint8[] calldata" @@ -7196,7 +7196,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 502, - "src": "11110:4:0", + "src": "11094:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", "typeString": "bytes32[] calldata" @@ -7209,7 +7209,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 505, - "src": "11128:4:0", + "src": "11112:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", "typeString": "bytes32[] calldata" @@ -7222,7 +7222,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 507, - "src": "11146:10:0", + "src": "11130:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -7235,7 +7235,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 510, - "src": "11170:12:0", + "src": "11154:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" @@ -7248,7 +7248,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 513, - "src": "11196:7:0", + "src": "11180:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", "typeString": "uint256[] calldata" @@ -7287,7 +7287,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 706, - "src": "11061:17:0", + "src": "11045:17:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_array$_t_uint8_$dyn_memory_ptr_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_bytes32_$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$__$", "typeString": "function (uint8[] memory,bytes32[] memory,bytes32[] memory,bytes32,address[] memory,uint256[] memory)" @@ -7301,7 +7301,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "11061:152:0", + "src": "11045:152:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -7309,7 +7309,7 @@ }, "id": 544, "nodeType": "ExpressionStatement", - "src": "11061:152:0" + "src": "11045:152:0" }, { "expression": { @@ -7330,7 +7330,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "11224:12:0", + "src": "11208:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -7344,7 +7344,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 507, - "src": "11237:10:0", + "src": "11221:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -7355,7 +7355,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "11224:24:0", + "src": "11208:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -7369,7 +7369,7 @@ "memberName": "status", "nodeType": "MemberAccess", "referencedDeclaration": 44, - "src": "11224:31:0", + "src": "11208:31:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$9", "typeString": "enum Escrow_v1_0.Status" @@ -7386,7 +7386,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9, - "src": "11258:6:0", + "src": "11242:6:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_Status_$9_$", "typeString": "type(enum Escrow_v1_0.Status)" @@ -7400,13 +7400,13 @@ "memberName": "RELEASED", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "11258:15:0", + "src": "11242:15:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$9", "typeString": "enum Escrow_v1_0.Status" } }, - "src": "11224:49:0", + "src": "11208:49:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$9", "typeString": "enum Escrow_v1_0.Status" @@ -7414,7 +7414,7 @@ }, "id": 552, "nodeType": "ExpressionStatement", - "src": "11224:49:0" + "src": "11208:49:0" }, { "expression": { @@ -7435,7 +7435,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "11357:12:0", + "src": "11341:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -7449,7 +7449,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 507, - "src": "11370:10:0", + "src": "11354:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -7460,7 +7460,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "11357:24:0", + "src": "11341:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -7474,7 +7474,7 @@ "memberName": "lastModified", "nodeType": "MemberAccess", "referencedDeclaration": 42, - "src": "11357:37:0", + "src": "11341:37:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7491,7 +7491,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1374, - "src": "11397:5:0", + "src": "11381:5:0", "typeDescriptions": { "typeIdentifier": "t_magic_block", "typeString": "block" @@ -7505,13 +7505,13 @@ "memberName": "timestamp", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "11397:15:0", + "src": "11381:15:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "11357:55:0", + "src": "11341:55:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7519,7 +7519,7 @@ }, "id": 560, "nodeType": "ExpressionStatement", - "src": "11357:55:0" + "src": "11341:55:0" }, { "expression": { @@ -7546,7 +7546,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 507, - "src": "11457:10:0", + "src": "11441:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -7559,7 +7559,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 510, - "src": "11469:12:0", + "src": "11453:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" @@ -7572,7 +7572,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 513, - "src": "11483:7:0", + "src": "11467:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", "typeString": "uint256[] calldata" @@ -7599,7 +7599,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 893, - "src": "11443:13:0", + "src": "11427:13:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$_t_uint256_$", "typeString": "function (bytes32,address[] memory,uint256[] memory) returns (uint256)" @@ -7613,7 +7613,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "11443:48:0", + "src": "11427:48:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7632,7 +7632,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "11495:12:0", + "src": "11479:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -7646,7 +7646,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 507, - "src": "11508:10:0", + "src": "11492:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -7657,7 +7657,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "11495:24:0", + "src": "11479:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -7671,13 +7671,13 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": 40, - "src": "11495:30:0", + "src": "11479:30:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "11443:82:0", + "src": "11427:82:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -7693,7 +7693,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "11539:74:0", + "src": "11523:74:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_9e0bdb14e2e0d5e118fd1f547268c6a1fdb5e8facacd614066d4b60bc2c9941d", @@ -7721,7 +7721,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "11422:7:0", + "src": "11406:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -7735,7 +7735,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "11422:201:0", + "src": "11406:201:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -7743,7 +7743,7 @@ }, "id": 574, "nodeType": "ExpressionStatement", - "src": "11422:201:0" + "src": "11406:201:0" }, { "eventCall": { @@ -7756,7 +7756,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 507, - "src": "11656:10:0", + "src": "11640:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -7769,7 +7769,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 510, - "src": "11668:12:0", + "src": "11652:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" @@ -7782,7 +7782,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 513, - "src": "11682:7:0", + "src": "11666:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", "typeString": "uint256[] calldata" @@ -7809,7 +7809,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 22, - "src": "11647:8:0", + "src": "11631:8:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$__$", "typeString": "function (bytes32,address[] memory,uint256[] memory)" @@ -7823,7 +7823,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "11647:43:0", + "src": "11631:43:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -7831,7 +7831,7 @@ }, "id": 580, "nodeType": "EmitStatement", - "src": "11642:48:0" + "src": "11626:48:0" } ] }, @@ -7850,7 +7850,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 507, - "src": "10857:10:0", + "src": "10841:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -7865,14 +7865,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 99, - "src": "10839:17:0", + "src": "10823:17:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "10839:29:0" + "src": "10823:29:0" }, { "arguments": [ @@ -7883,7 +7883,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 507, - "src": "10891:10:0", + "src": "10875:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -7898,14 +7898,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 132, - "src": "10877:13:0", + "src": "10861:13:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "10877:25:0" + "src": "10861:25:0" } ], "name": "execute", @@ -7920,7 +7920,7 @@ "name": "sigV", "nodeType": "VariableDeclaration", "scope": 582, - "src": "10660:12:0", + "src": "10644:12:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -7932,7 +7932,7 @@ "id": 497, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "10660:5:0", + "src": "10644:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -7941,7 +7941,7 @@ "id": 498, "length": null, "nodeType": "ArrayTypeName", - "src": "10660:7:0", + "src": "10644:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_storage_ptr", "typeString": "uint8[]" @@ -7956,7 +7956,7 @@ "name": "sigR", "nodeType": "VariableDeclaration", "scope": 582, - "src": "10682:14:0", + "src": "10666:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -7968,7 +7968,7 @@ "id": 500, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "10682:7:0", + "src": "10666:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -7977,7 +7977,7 @@ "id": 501, "length": null, "nodeType": "ArrayTypeName", - "src": "10682:9:0", + "src": "10666:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -7992,7 +7992,7 @@ "name": "sigS", "nodeType": "VariableDeclaration", "scope": 582, - "src": "10706:14:0", + "src": "10690:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8004,7 +8004,7 @@ "id": 503, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "10706:7:0", + "src": "10690:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -8013,7 +8013,7 @@ "id": 504, "length": null, "nodeType": "ArrayTypeName", - "src": "10706:9:0", + "src": "10690:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -8028,7 +8028,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 582, - "src": "10730:18:0", + "src": "10714:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8039,7 +8039,7 @@ "id": 506, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "10730:7:0", + "src": "10714:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -8054,7 +8054,7 @@ "name": "destinations", "nodeType": "VariableDeclaration", "scope": 582, - "src": "10758:22:0", + "src": "10742:22:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8066,7 +8066,7 @@ "id": 508, "name": "address", "nodeType": "ElementaryTypeName", - "src": "10758:7:0", + "src": "10742:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8075,7 +8075,7 @@ "id": 509, "length": null, "nodeType": "ArrayTypeName", - "src": "10758:9:0", + "src": "10742:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", "typeString": "address[]" @@ -8090,7 +8090,7 @@ "name": "amounts", "nodeType": "VariableDeclaration", "scope": 582, - "src": "10790:17:0", + "src": "10774:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8102,7 +8102,7 @@ "id": 511, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "10790:7:0", + "src": "10774:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8111,7 +8111,7 @@ "id": 512, "length": null, "nodeType": "ArrayTypeName", - "src": "10790:9:0", + "src": "10774:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -8121,17 +8121,17 @@ "visibility": "internal" } ], - "src": "10650:163:0" + "src": "10634:163:0" }, "payable": false, "returnParameters": { "id": 521, "nodeType": "ParameterList", "parameters": [], - "src": "10907:0:0" + "src": "10891:0:0" }, "scope": 1211, - "src": "10634:1063:0", + "src": "10618:1063:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" @@ -8140,7 +8140,7 @@ "body": { "id": 636, "nodeType": "Block", - "src": "12451:716:0", + "src": "12435:716:0", "statements": [ { "condition": { @@ -8161,7 +8161,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 596, - "src": "12465:12:0", + "src": "12449:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8182,7 +8182,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "12489:1:0", + "src": "12473:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -8204,7 +8204,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "12481:7:0", + "src": "12465:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" @@ -8219,13 +8219,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "12481:10:0", + "src": "12465:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "12465:26:0", + "src": "12449:26:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -8234,7 +8234,7 @@ "falseBody": { "id": 634, "nodeType": "Block", - "src": "12813:348:0", + "src": "12797:348:0", "statements": [ { "expression": { @@ -8250,7 +8250,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 584, - "src": "12899:8:0", + "src": "12883:8:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -8263,7 +8263,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 586, - "src": "12929:9:0", + "src": "12913:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -8276,7 +8276,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 588, - "src": "12960:12:0", + "src": "12944:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -8289,7 +8289,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 590, - "src": "12994:5:0", + "src": "12978:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8302,7 +8302,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 592, - "src": "13021:6:0", + "src": "13005:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8315,7 +8315,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 594, - "src": "13049:9:0", + "src": "13033:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8328,7 +8328,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1401, - "src": "13080:4:0", + "src": "13064:4:0", "typeDescriptions": { "typeIdentifier": "t_contract$_Escrow_v1_0_$1211", "typeString": "contract Escrow_v1_0" @@ -8341,7 +8341,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 596, - "src": "13106:12:0", + "src": "13090:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8390,7 +8390,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1371, - "src": "12861:3:0", + "src": "12845:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" @@ -8404,7 +8404,7 @@ "memberName": "encodePacked", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "12861:16:0", + "src": "12845:16:0", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" @@ -8418,7 +8418,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "12861:275:0", + "src": "12845:275:0", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -8437,7 +8437,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1378, - "src": "12834:9:0", + "src": "12818:9:0", "typeDescriptions": { "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", "typeString": "function () pure returns (bytes32)" @@ -8451,7 +8451,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "12834:316:0", + "src": "12818:316:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -8460,17 +8460,17 @@ "functionReturnParameters": 600, "id": 633, "nodeType": "Return", - "src": "12827:323:0" + "src": "12811:323:0" } ] }, "id": 635, "nodeType": "IfStatement", - "src": "12461:700:0", + "src": "12445:700:0", "trueBody": { "id": 619, "nodeType": "Block", - "src": "12493:314:0", + "src": "12477:314:0", "statements": [ { "expression": { @@ -8486,7 +8486,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 584, - "src": "12579:8:0", + "src": "12563:8:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -8499,7 +8499,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 586, - "src": "12609:9:0", + "src": "12593:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -8512,7 +8512,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 588, - "src": "12640:12:0", + "src": "12624:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -8525,7 +8525,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 590, - "src": "12674:5:0", + "src": "12658:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8538,7 +8538,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 592, - "src": "12701:6:0", + "src": "12685:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8551,7 +8551,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 594, - "src": "12729:9:0", + "src": "12713:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8564,7 +8564,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1401, - "src": "12760:4:0", + "src": "12744:4:0", "typeDescriptions": { "typeIdentifier": "t_contract$_Escrow_v1_0_$1211", "typeString": "contract Escrow_v1_0" @@ -8609,7 +8609,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1371, - "src": "12541:3:0", + "src": "12525:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" @@ -8623,7 +8623,7 @@ "memberName": "encodePacked", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "12541:16:0", + "src": "12525:16:0", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" @@ -8637,7 +8637,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "12541:241:0", + "src": "12525:241:0", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -8656,7 +8656,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1378, - "src": "12514:9:0", + "src": "12498:9:0", "typeDescriptions": { "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", "typeString": "function () pure returns (bytes32)" @@ -8670,7 +8670,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "12514:282:0", + "src": "12498:282:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -8679,7 +8679,7 @@ "functionReturnParameters": 600, "id": 618, "nodeType": "Return", - "src": "12507:289:0" + "src": "12491:289:0" } ] } @@ -8704,7 +8704,7 @@ "name": "uniqueId", "nodeType": "VariableDeclaration", "scope": 637, - "src": "12212:16:0", + "src": "12196:16:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8715,7 +8715,7 @@ "id": 583, "name": "bytes20", "nodeType": "ElementaryTypeName", - "src": "12212:7:0", + "src": "12196:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -8730,7 +8730,7 @@ "name": "threshold", "nodeType": "VariableDeclaration", "scope": 637, - "src": "12238:15:0", + "src": "12222:15:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8741,7 +8741,7 @@ "id": 585, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "12238:5:0", + "src": "12222:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -8756,7 +8756,7 @@ "name": "timeoutHours", "nodeType": "VariableDeclaration", "scope": 637, - "src": "12263:19:0", + "src": "12247:19:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8767,7 +8767,7 @@ "id": 587, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "12263:6:0", + "src": "12247:6:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -8782,7 +8782,7 @@ "name": "buyer", "nodeType": "VariableDeclaration", "scope": 637, - "src": "12292:13:0", + "src": "12276:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8793,7 +8793,7 @@ "id": 589, "name": "address", "nodeType": "ElementaryTypeName", - "src": "12292:7:0", + "src": "12276:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8808,7 +8808,7 @@ "name": "seller", "nodeType": "VariableDeclaration", "scope": 637, - "src": "12315:14:0", + "src": "12299:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8819,7 +8819,7 @@ "id": 591, "name": "address", "nodeType": "ElementaryTypeName", - "src": "12315:7:0", + "src": "12299:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8834,7 +8834,7 @@ "name": "moderator", "nodeType": "VariableDeclaration", "scope": 637, - "src": "12339:17:0", + "src": "12323:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8845,7 +8845,7 @@ "id": 593, "name": "address", "nodeType": "ElementaryTypeName", - "src": "12339:7:0", + "src": "12323:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8860,7 +8860,7 @@ "name": "tokenAddress", "nodeType": "VariableDeclaration", "scope": 637, - "src": "12366:20:0", + "src": "12350:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8871,7 +8871,7 @@ "id": 595, "name": "address", "nodeType": "ElementaryTypeName", - "src": "12366:7:0", + "src": "12350:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8881,7 +8881,7 @@ "visibility": "internal" } ], - "src": "12202:190:0" + "src": "12186:190:0" }, "payable": false, "returnParameters": { @@ -8894,7 +8894,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 637, - "src": "12438:7:0", + "src": "12422:7:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8905,7 +8905,7 @@ "id": 598, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "12438:7:0", + "src": "12422:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -8915,10 +8915,10 @@ "visibility": "internal" } ], - "src": "12437:9:0" + "src": "12421:9:0" }, "scope": 1211, - "src": "12168:999:0", + "src": "12152:999:0", "stateMutability": "view", "superFunction": null, "visibility": "public" @@ -8927,7 +8927,7 @@ "body": { "id": 705, "nodeType": "Block", - "src": "13651:795:0", + "src": "13635:795:0", "statements": [ { "assignments": [ @@ -8940,7 +8940,7 @@ "name": "lastRecovered", "nodeType": "VariableDeclaration", "scope": 706, - "src": "13661:21:0", + "src": "13645:21:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8951,7 +8951,7 @@ "id": 657, "name": "address", "nodeType": "ElementaryTypeName", - "src": "13661:7:0", + "src": "13645:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8972,7 +8972,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 640, - "src": "13715:4:0", + "src": "13699:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr", "typeString": "uint8[] memory" @@ -8985,7 +8985,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 643, - "src": "13733:4:0", + "src": "13717:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" @@ -8998,7 +8998,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 646, - "src": "13751:4:0", + "src": "13735:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" @@ -9011,7 +9011,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 648, - "src": "13769:10:0", + "src": "13753:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -9024,7 +9024,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 651, - "src": "13793:12:0", + "src": "13777:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -9037,7 +9037,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 654, - "src": "13819:7:0", + "src": "13803:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" @@ -9076,7 +9076,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1022, - "src": "13685:16:0", + "src": "13669:16:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_array$_t_uint8_$dyn_memory_ptr_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_bytes32_$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$_t_address_$", "typeString": "function (uint8[] memory,bytes32[] memory,bytes32[] memory,bytes32,address[] memory,uint256[] memory) returns (address)" @@ -9090,14 +9090,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "13685:151:0", + "src": "13669:151:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "VariableDeclarationStatement", - "src": "13661:175:0" + "src": "13645:175:0" }, { "assignments": [ @@ -9110,7 +9110,7 @@ "name": "timeLockExpired", "nodeType": "VariableDeclaration", "scope": 706, - "src": "13847:20:0", + "src": "13831:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9121,7 +9121,7 @@ "id": 668, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "13847:4:0", + "src": "13831:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -9146,7 +9146,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "13901:12:0", + "src": "13885:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -9160,7 +9160,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 648, - "src": "13914:10:0", + "src": "13898:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -9171,7 +9171,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "13901:24:0", + "src": "13885:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -9185,7 +9185,7 @@ "memberName": "timeoutHours", "nodeType": "MemberAccess", "referencedDeclaration": 50, - "src": "13901:37:0", + "src": "13885:37:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -9202,7 +9202,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "13952:12:0", + "src": "13936:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -9216,7 +9216,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 648, - "src": "13965:10:0", + "src": "13949:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -9227,7 +9227,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "13952:24:0", + "src": "13936:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -9241,7 +9241,7 @@ "memberName": "lastModified", "nodeType": "MemberAccess", "referencedDeclaration": 42, - "src": "13952:37:0", + "src": "13936:37:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9264,7 +9264,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1054, - "src": "13870:17:0", + "src": "13854:17:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_uint32_$_t_uint256_$returns$_t_bool_$", "typeString": "function (uint32,uint256) view returns (bool)" @@ -9278,14 +9278,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "13870:129:0", + "src": "13854:129:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "nodeType": "VariableDeclarationStatement", - "src": "13847:152:0" + "src": "13831:152:0" }, { "condition": { @@ -9319,7 +9319,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 640, - "src": "14171:4:0", + "src": "14155:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr", "typeString": "uint8[] memory" @@ -9333,7 +9333,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "14171:11:0", + "src": "14155:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9352,7 +9352,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "14185:12:0", + "src": "14169:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -9366,7 +9366,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 648, - "src": "14198:10:0", + "src": "14182:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -9377,7 +9377,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "14185:24:0", + "src": "14169:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -9391,13 +9391,13 @@ "memberName": "threshold", "nodeType": "MemberAccess", "referencedDeclaration": 48, - "src": "14185:34:0", + "src": "14169:34:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, - "src": "14171:48:0", + "src": "14155:48:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -9429,7 +9429,7 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "14224:16:0", + "src": "14208:16:0", "subExpression": { "argumentTypes": null, "id": 688, @@ -9437,7 +9437,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 669, - "src": "14225:15:0", + "src": "14209:15:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -9468,7 +9468,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 658, - "src": "14244:13:0", + "src": "14228:13:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -9487,7 +9487,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "14261:12:0", + "src": "14245:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -9501,7 +9501,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 648, - "src": "14274:10:0", + "src": "14258:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -9512,7 +9512,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "14261:24:0", + "src": "14245:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -9526,19 +9526,19 @@ "memberName": "seller", "nodeType": "MemberAccess", "referencedDeclaration": 54, - "src": "14261:31:0", + "src": "14245:31:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "14244:48:0", + "src": "14228:48:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "14224:68:0", + "src": "14208:68:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -9552,13 +9552,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "14223:70:0", + "src": "14207:70:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "14171:122:0", + "src": "14155:122:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -9567,11 +9567,11 @@ "falseBody": null, "id": 704, "nodeType": "IfStatement", - "src": "14150:289:0", + "src": "14134:289:0", "trueBody": { "id": 703, "nodeType": "Block", - "src": "14316:123:0", + "src": "14300:123:0", "statements": [ { "expression": { @@ -9587,7 +9587,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "14337:90:0", + "src": "14321:90:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_e454643f61f81e3a3dc8dabaafde295fea592e232abeb03abbb1835bdc3d20d0", @@ -9611,7 +9611,7 @@ 1390 ], "referencedDeclaration": 1390, - "src": "14330:6:0", + "src": "14314:6:0", "typeDescriptions": { "typeIdentifier": "t_function_revert_pure$_t_string_memory_ptr_$returns$__$", "typeString": "function (string memory) pure" @@ -9625,7 +9625,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "14330:98:0", + "src": "14314:98:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -9633,7 +9633,7 @@ }, "id": 702, "nodeType": "ExpressionStatement", - "src": "14330:98:0" + "src": "14314:98:0" } ] } @@ -9658,7 +9658,7 @@ "name": "sigV", "nodeType": "VariableDeclaration", "scope": 706, - "src": "13477:12:0", + "src": "13461:12:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9670,7 +9670,7 @@ "id": 638, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "13477:5:0", + "src": "13461:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -9679,7 +9679,7 @@ "id": 639, "length": null, "nodeType": "ArrayTypeName", - "src": "13477:7:0", + "src": "13461:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_storage_ptr", "typeString": "uint8[]" @@ -9694,7 +9694,7 @@ "name": "sigR", "nodeType": "VariableDeclaration", "scope": 706, - "src": "13499:14:0", + "src": "13483:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9706,7 +9706,7 @@ "id": 641, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "13499:7:0", + "src": "13483:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -9715,7 +9715,7 @@ "id": 642, "length": null, "nodeType": "ArrayTypeName", - "src": "13499:9:0", + "src": "13483:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -9730,7 +9730,7 @@ "name": "sigS", "nodeType": "VariableDeclaration", "scope": 706, - "src": "13523:14:0", + "src": "13507:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9742,7 +9742,7 @@ "id": 644, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "13523:7:0", + "src": "13507:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -9751,7 +9751,7 @@ "id": 645, "length": null, "nodeType": "ArrayTypeName", - "src": "13523:9:0", + "src": "13507:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -9766,7 +9766,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 706, - "src": "13547:18:0", + "src": "13531:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9777,7 +9777,7 @@ "id": 647, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "13547:7:0", + "src": "13531:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -9792,7 +9792,7 @@ "name": "destinations", "nodeType": "VariableDeclaration", "scope": 706, - "src": "13575:22:0", + "src": "13559:22:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9804,7 +9804,7 @@ "id": 649, "name": "address", "nodeType": "ElementaryTypeName", - "src": "13575:7:0", + "src": "13559:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -9813,7 +9813,7 @@ "id": 650, "length": null, "nodeType": "ArrayTypeName", - "src": "13575:9:0", + "src": "13559:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", "typeString": "address[]" @@ -9828,7 +9828,7 @@ "name": "amounts", "nodeType": "VariableDeclaration", "scope": 706, - "src": "13607:17:0", + "src": "13591:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9840,7 +9840,7 @@ "id": 652, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "13607:7:0", + "src": "13591:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9849,7 +9849,7 @@ "id": 653, "length": null, "nodeType": "ArrayTypeName", - "src": "13607:9:0", + "src": "13591:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -9859,17 +9859,17 @@ "visibility": "internal" } ], - "src": "13467:163:0" + "src": "13451:163:0" }, "payable": false, "returnParameters": { "id": 656, "nodeType": "ParameterList", "parameters": [], - "src": "13651:0:0" + "src": "13635:0:0" }, "scope": 1211, - "src": "13441:1005:0", + "src": "13425:1005:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "private" @@ -9878,7 +9878,7 @@ "body": { "id": 892, "nodeType": "Block", - "src": "14732:1447:0", + "src": "14716:1447:0", "statements": [ { "assignments": [ @@ -9891,7 +9891,7 @@ "name": "t", "nodeType": "VariableDeclaration", "scope": 893, - "src": "14742:21:0", + "src": "14726:21:0", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { @@ -9904,7 +9904,7 @@ "name": "Transaction", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 71, - "src": "14742:11:0", + "src": "14726:11:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction" @@ -9924,7 +9924,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "14766:12:0", + "src": "14750:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -9938,7 +9938,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 708, - "src": "14779:10:0", + "src": "14763:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -9949,14 +9949,14 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "14766:24:0", + "src": "14750:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "14742:48:0" + "src": "14726:48:0" }, { "assignments": [ @@ -9969,7 +9969,7 @@ "name": "valueTransferred", "nodeType": "VariableDeclaration", "scope": 893, - "src": "14801:24:0", + "src": "14785:24:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9980,7 +9980,7 @@ "id": 725, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "14801:7:0", + "src": "14785:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10001,7 +10001,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "14828:1:0", + "src": "14812:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -10010,7 +10010,7 @@ "value": "0" }, "nodeType": "VariableDeclarationStatement", - "src": "14801:28:0" + "src": "14785:28:0" }, { "condition": { @@ -10033,7 +10033,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 720, - "src": "14844:1:0", + "src": "14828:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" @@ -10047,7 +10047,7 @@ "memberName": "transactionType", "nodeType": "MemberAccess", "referencedDeclaration": 46, - "src": "14844:17:0", + "src": "14828:17:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -10064,7 +10064,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12, - "src": "14865:15:0", + "src": "14849:15:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_TransactionType_$12_$", "typeString": "type(enum Escrow_v1_0.TransactionType)" @@ -10078,13 +10078,13 @@ "memberName": "ETHER", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "14865:21:0", + "src": "14849:21:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" } }, - "src": "14844:42:0", + "src": "14828:42:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -10111,7 +10111,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 720, - "src": "15485:1:0", + "src": "15469:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" @@ -10125,7 +10125,7 @@ "memberName": "transactionType", "nodeType": "MemberAccess", "referencedDeclaration": 46, - "src": "15485:17:0", + "src": "15469:17:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -10142,7 +10142,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12, - "src": "15506:15:0", + "src": "15490:15:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_TransactionType_$12_$", "typeString": "type(enum Escrow_v1_0.TransactionType)" @@ -10156,13 +10156,13 @@ "memberName": "TOKEN", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "15506:21:0", + "src": "15490:21:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" } }, - "src": "15485:42:0", + "src": "15469:42:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -10171,11 +10171,11 @@ "falseBody": null, "id": 888, "nodeType": "IfStatement", - "src": "15481:658:0", + "src": "15465:658:0", "trueBody": { "id": 887, "nodeType": "Block", - "src": "15529:610:0", + "src": "15513:610:0", "statements": [ { "assignments": [ @@ -10188,7 +10188,7 @@ "name": "token", "nodeType": "VariableDeclaration", "scope": 893, - "src": "15544:20:0", + "src": "15528:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -10201,7 +10201,7 @@ "name": "ITokenContract", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 1241, - "src": "15544:14:0", + "src": "15528:14:0", "typeDescriptions": { "typeIdentifier": "t_contract$_ITokenContract_$1241", "typeString": "contract ITokenContract" @@ -10224,7 +10224,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 720, - "src": "15582:1:0", + "src": "15566:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" @@ -10238,7 +10238,7 @@ "memberName": "tokenAddress", "nodeType": "MemberAccess", "referencedDeclaration": 56, - "src": "15582:14:0", + "src": "15566:14:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -10257,7 +10257,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1241, - "src": "15567:14:0", + "src": "15551:14:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_ITokenContract_$1241_$", "typeString": "type(contract ITokenContract)" @@ -10271,20 +10271,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15567:30:0", + "src": "15551:30:0", "typeDescriptions": { "typeIdentifier": "t_contract$_ITokenContract_$1241", "typeString": "contract ITokenContract" } }, "nodeType": "VariableDeclarationStatement", - "src": "15544:53:0" + "src": "15528:53:0" }, { "body": { "id": 885, "nodeType": "Block", - "src": "15660:469:0", + "src": "15644:469:0", "statements": [ { "expression": { @@ -10321,7 +10321,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 711, - "src": "15687:12:0", + "src": "15671:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -10335,7 +10335,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 816, - "src": "15700:1:0", + "src": "15684:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10346,7 +10346,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15687:15:0", + "src": "15671:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -10367,7 +10367,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "15714:1:0", + "src": "15698:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -10389,7 +10389,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "15706:7:0", + "src": "15690:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" @@ -10404,13 +10404,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15706:10:0", + "src": "15690:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "15687:29:0", + "src": "15671:29:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -10429,7 +10429,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 720, - "src": "15720:1:0", + "src": "15704:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" @@ -10443,7 +10443,7 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "15720:9:0", + "src": "15704:9:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -10459,7 +10459,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 711, - "src": "15730:12:0", + "src": "15714:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -10473,7 +10473,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 816, - "src": "15743:1:0", + "src": "15727:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10484,7 +10484,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15730:15:0", + "src": "15714:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -10495,13 +10495,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15720:26:0", + "src": "15704:26:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "15687:59:0", + "src": "15671:59:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -10517,7 +10517,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "15748:25:0", + "src": "15732:25:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_4b4c116dbf18274831a2b569c567d9fd9a0e9828a6c86ee9f93e80400fb6c49f", @@ -10545,7 +10545,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "15679:7:0", + "src": "15663:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -10559,7 +10559,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15679:95:0", + "src": "15663:95:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -10567,7 +10567,7 @@ }, "id": 843, "nodeType": "ExpressionStatement", - "src": "15679:95:0" + "src": "15663:95:0" }, { "expression": { @@ -10593,7 +10593,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 714, - "src": "15800:7:0", + "src": "15784:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" @@ -10607,7 +10607,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 816, - "src": "15808:1:0", + "src": "15792:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10618,7 +10618,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15800:10:0", + "src": "15784:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10636,7 +10636,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "15813:1:0", + "src": "15797:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -10644,7 +10644,7 @@ }, "value": "0" }, - "src": "15800:14:0", + "src": "15784:14:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -10660,7 +10660,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "15816:44:0", + "src": "15800:44:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_5e1271a09dbb64ae031de288deb0ad8d707df7db51d6e827931dc8fa6642a71e", @@ -10688,7 +10688,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "15792:7:0", + "src": "15776:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -10702,7 +10702,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15792:69:0", + "src": "15776:69:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -10710,7 +10710,7 @@ }, "id": 852, "nodeType": "ExpressionStatement", - "src": "15792:69:0" + "src": "15776:69:0" }, { "expression": { @@ -10727,7 +10727,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 726, - "src": "15880:16:0", + "src": "15864:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10747,7 +10747,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 714, - "src": "15920:7:0", + "src": "15904:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" @@ -10761,7 +10761,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 816, - "src": "15928:1:0", + "src": "15912:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10772,7 +10772,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15920:10:0", + "src": "15904:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10793,7 +10793,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 726, - "src": "15899:16:0", + "src": "15883:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10807,7 +10807,7 @@ "memberName": "add", "nodeType": "MemberAccess", "referencedDeclaration": 1348, - "src": "15899:20:0", + "src": "15883:20:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" @@ -10821,13 +10821,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15899:32:0", + "src": "15883:32:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "15880:51:0", + "src": "15864:51:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10835,7 +10835,7 @@ }, "id": 861, "nodeType": "ExpressionStatement", - "src": "15880:51:0" + "src": "15864:51:0" }, { "expression": { @@ -10856,7 +10856,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 720, - "src": "15949:1:0", + "src": "15933:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" @@ -10870,7 +10870,7 @@ "memberName": "beneficiaries", "nodeType": "MemberAccess", "referencedDeclaration": 70, - "src": "15949:15:0", + "src": "15933:15:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -10886,7 +10886,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 711, - "src": "15965:12:0", + "src": "15949:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -10900,7 +10900,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 816, - "src": "15978:1:0", + "src": "15962:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10911,7 +10911,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15965:15:0", + "src": "15949:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -10922,7 +10922,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "15949:32:0", + "src": "15933:32:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -10940,7 +10940,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "15984:4:0", + "src": "15968:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -10948,7 +10948,7 @@ }, "value": "true" }, - "src": "15949:39:0", + "src": "15933:39:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -10956,7 +10956,7 @@ }, "id": 871, "nodeType": "ExpressionStatement", - "src": "15949:39:0" + "src": "15933:39:0" }, { "expression": { @@ -10974,7 +10974,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 711, - "src": "16059:12:0", + "src": "16043:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -10988,7 +10988,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 816, - "src": "16072:1:0", + "src": "16056:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10999,7 +10999,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "16059:15:0", + "src": "16043:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -11014,7 +11014,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 714, - "src": "16076:7:0", + "src": "16060:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" @@ -11028,7 +11028,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 816, - "src": "16084:1:0", + "src": "16068:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11039,7 +11039,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "16076:10:0", + "src": "16060:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11064,7 +11064,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 809, - "src": "16044:5:0", + "src": "16028:5:0", "typeDescriptions": { "typeIdentifier": "t_contract$_ITokenContract_$1241", "typeString": "contract ITokenContract" @@ -11078,7 +11078,7 @@ "memberName": "transfer", "nodeType": "MemberAccess", "referencedDeclaration": 1229, - "src": "16044:14:0", + "src": "16028:14:0", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", "typeString": "function (address,uint256) external returns (bool)" @@ -11092,7 +11092,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16044:43:0", + "src": "16028:43:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -11108,7 +11108,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "16089:24:0", + "src": "16073:24:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_e545223bb79d8456d66fa5a98897abb42bb4807111f004a120200da3b7e292c5", @@ -11136,7 +11136,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "16036:7:0", + "src": "16020:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -11150,7 +11150,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16036:78:0", + "src": "16020:78:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -11158,7 +11158,7 @@ }, "id": 884, "nodeType": "ExpressionStatement", - "src": "16036:78:0" + "src": "16020:78:0" } ] }, @@ -11180,7 +11180,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 816, - "src": "15632:1:0", + "src": "15616:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11197,7 +11197,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 711, - "src": "15634:12:0", + "src": "15618:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -11211,13 +11211,13 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "15634:19:0", + "src": "15618:19:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "15632:21:0", + "src": "15616:21:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -11235,7 +11235,7 @@ "name": "j", "nodeType": "VariableDeclaration", "scope": 893, - "src": "15617:9:0", + "src": "15601:9:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -11246,7 +11246,7 @@ "id": 815, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "15617:7:0", + "src": "15601:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11267,7 +11267,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "15629:1:0", + "src": "15613:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -11276,7 +11276,7 @@ "value": "0" }, "nodeType": "VariableDeclarationStatement", - "src": "15617:13:0" + "src": "15601:13:0" }, "loopExpression": { "expression": { @@ -11289,7 +11289,7 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "15655:3:0", + "src": "15639:3:0", "subExpression": { "argumentTypes": null, "id": 823, @@ -11297,7 +11297,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 816, - "src": "15655:1:0", + "src": "15639:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11310,27 +11310,27 @@ }, "id": 825, "nodeType": "ExpressionStatement", - "src": "15655:3:0" + "src": "15639:3:0" }, "nodeType": "ForStatement", - "src": "15612:517:0" + "src": "15596:517:0" } ] } }, "id": 889, "nodeType": "IfStatement", - "src": "14840:1299:0", + "src": "14824:1299:0", "trueBody": { "id": 802, "nodeType": "Block", - "src": "14888:587:0", + "src": "14872:587:0", "statements": [ { "body": { "id": 800, "nodeType": "Block", - "src": "14952:512:0", + "src": "14936:512:0", "statements": [ { "expression": { @@ -11367,7 +11367,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 711, - "src": "14979:12:0", + "src": "14963:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -11381,7 +11381,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 735, - "src": "14992:1:0", + "src": "14976:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11392,7 +11392,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "14979:15:0", + "src": "14963:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -11413,7 +11413,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "15006:1:0", + "src": "14990:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -11435,7 +11435,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "14998:7:0", + "src": "14982:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" @@ -11450,13 +11450,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "14998:10:0", + "src": "14982:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "14979:29:0", + "src": "14963:29:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -11475,7 +11475,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 720, - "src": "15012:1:0", + "src": "14996:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" @@ -11489,7 +11489,7 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "15012:9:0", + "src": "14996:9:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -11505,7 +11505,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 711, - "src": "15022:12:0", + "src": "15006:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -11519,7 +11519,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 735, - "src": "15035:1:0", + "src": "15019:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11530,7 +11530,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15022:15:0", + "src": "15006:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -11541,13 +11541,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15012:26:0", + "src": "14996:26:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "14979:59:0", + "src": "14963:59:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -11563,7 +11563,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "15040:25:0", + "src": "15024:25:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_4b4c116dbf18274831a2b569c567d9fd9a0e9828a6c86ee9f93e80400fb6c49f", @@ -11591,7 +11591,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "14971:7:0", + "src": "14955:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -11605,7 +11605,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "14971:95:0", + "src": "14955:95:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -11613,7 +11613,7 @@ }, "id": 762, "nodeType": "ExpressionStatement", - "src": "14971:95:0" + "src": "14955:95:0" }, { "expression": { @@ -11639,7 +11639,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 714, - "src": "15092:7:0", + "src": "15076:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" @@ -11653,7 +11653,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 735, - "src": "15100:1:0", + "src": "15084:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11664,7 +11664,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15092:10:0", + "src": "15076:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11682,7 +11682,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "15105:1:0", + "src": "15089:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -11690,7 +11690,7 @@ }, "value": "0" }, - "src": "15092:14:0", + "src": "15076:14:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -11706,7 +11706,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "15108:44:0", + "src": "15092:44:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_5e1271a09dbb64ae031de288deb0ad8d707df7db51d6e827931dc8fa6642a71e", @@ -11734,7 +11734,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "15084:7:0", + "src": "15068:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -11748,7 +11748,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15084:69:0", + "src": "15068:69:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -11756,7 +11756,7 @@ }, "id": 771, "nodeType": "ExpressionStatement", - "src": "15084:69:0" + "src": "15068:69:0" }, { "expression": { @@ -11773,7 +11773,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 726, - "src": "15172:16:0", + "src": "15156:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11793,7 +11793,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 714, - "src": "15212:7:0", + "src": "15196:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" @@ -11807,7 +11807,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 735, - "src": "15220:1:0", + "src": "15204:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11818,7 +11818,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15212:10:0", + "src": "15196:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11839,7 +11839,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 726, - "src": "15191:16:0", + "src": "15175:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11853,7 +11853,7 @@ "memberName": "add", "nodeType": "MemberAccess", "referencedDeclaration": 1348, - "src": "15191:20:0", + "src": "15175:20:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" @@ -11867,13 +11867,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15191:32:0", + "src": "15175:32:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "15172:51:0", + "src": "15156:51:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11881,7 +11881,7 @@ }, "id": 780, "nodeType": "ExpressionStatement", - "src": "15172:51:0" + "src": "15156:51:0" }, { "expression": { @@ -11902,7 +11902,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 720, - "src": "15242:1:0", + "src": "15226:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" @@ -11916,7 +11916,7 @@ "memberName": "beneficiaries", "nodeType": "MemberAccess", "referencedDeclaration": 70, - "src": "15242:15:0", + "src": "15226:15:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -11932,7 +11932,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 711, - "src": "15258:12:0", + "src": "15242:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -11946,7 +11946,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 735, - "src": "15271:1:0", + "src": "15255:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11957,7 +11957,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15258:15:0", + "src": "15242:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -11968,7 +11968,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "15242:32:0", + "src": "15226:32:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -11986,7 +11986,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "15277:4:0", + "src": "15261:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -11994,7 +11994,7 @@ }, "value": "true" }, - "src": "15242:39:0", + "src": "15226:39:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -12002,7 +12002,7 @@ }, "id": 790, "nodeType": "ExpressionStatement", - "src": "15242:39:0" + "src": "15226:39:0" }, { "expression": { @@ -12017,7 +12017,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 714, - "src": "15353:7:0", + "src": "15337:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" @@ -12031,7 +12031,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 735, - "src": "15361:1:0", + "src": "15345:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12042,7 +12042,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15353:10:0", + "src": "15337:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12065,7 +12065,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 711, - "src": "15328:12:0", + "src": "15312:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -12079,7 +12079,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 735, - "src": "15341:1:0", + "src": "15325:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12090,7 +12090,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15328:15:0", + "src": "15312:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -12104,7 +12104,7 @@ "memberName": "transfer", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "15328:24:0", + "src": "15312:24:0", "typeDescriptions": { "typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$", "typeString": "function (uint256)" @@ -12118,7 +12118,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15328:36:0", + "src": "15312:36:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -12126,7 +12126,7 @@ }, "id": 799, "nodeType": "ExpressionStatement", - "src": "15328:36:0" + "src": "15312:36:0" } ] }, @@ -12148,7 +12148,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 735, - "src": "14922:1:0", + "src": "14906:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12165,7 +12165,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 711, - "src": "14926:12:0", + "src": "14910:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -12179,13 +12179,13 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "14926:19:0", + "src": "14910:19:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "14922:23:0", + "src": "14906:23:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -12203,7 +12203,7 @@ "name": "i", "nodeType": "VariableDeclaration", "scope": 893, - "src": "14907:9:0", + "src": "14891:9:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12214,7 +12214,7 @@ "id": 734, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "14907:7:0", + "src": "14891:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12235,7 +12235,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "14919:1:0", + "src": "14903:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -12244,7 +12244,7 @@ "value": "0" }, "nodeType": "VariableDeclarationStatement", - "src": "14907:13:0" + "src": "14891:13:0" }, "loopExpression": { "expression": { @@ -12257,7 +12257,7 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "14947:3:0", + "src": "14931:3:0", "subExpression": { "argumentTypes": null, "id": 742, @@ -12265,7 +12265,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 735, - "src": "14947:1:0", + "src": "14931:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12278,10 +12278,10 @@ }, "id": 744, "nodeType": "ExpressionStatement", - "src": "14947:3:0" + "src": "14931:3:0" }, "nodeType": "ForStatement", - "src": "14902:562:0" + "src": "14886:562:0" } ] } @@ -12294,7 +12294,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 726, - "src": "16156:16:0", + "src": "16140:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12303,7 +12303,7 @@ "functionReturnParameters": 718, "id": 891, "nodeType": "Return", - "src": "16149:23:0" + "src": "16133:23:0" } ] }, @@ -12325,7 +12325,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 893, - "src": "14604:18:0", + "src": "14588:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12336,7 +12336,7 @@ "id": 707, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "14604:7:0", + "src": "14588:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -12351,7 +12351,7 @@ "name": "destinations", "nodeType": "VariableDeclaration", "scope": 893, - "src": "14632:21:0", + "src": "14616:21:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12363,7 +12363,7 @@ "id": 709, "name": "address", "nodeType": "ElementaryTypeName", - "src": "14632:7:0", + "src": "14616:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -12372,7 +12372,7 @@ "id": 710, "length": null, "nodeType": "ArrayTypeName", - "src": "14632:9:0", + "src": "14616:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", "typeString": "address[]" @@ -12387,7 +12387,7 @@ "name": "amounts", "nodeType": "VariableDeclaration", "scope": 893, - "src": "14663:16:0", + "src": "14647:16:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12399,7 +12399,7 @@ "id": 712, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "14663:7:0", + "src": "14647:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12408,7 +12408,7 @@ "id": 713, "length": null, "nodeType": "ArrayTypeName", - "src": "14663:9:0", + "src": "14647:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -12418,7 +12418,7 @@ "visibility": "internal" } ], - "src": "14594:91:0" + "src": "14578:91:0" }, "payable": false, "returnParameters": { @@ -12431,7 +12431,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 893, - "src": "14719:7:0", + "src": "14703:7:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12442,7 +12442,7 @@ "id": 716, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "14719:7:0", + "src": "14703:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12452,10 +12452,10 @@ "visibility": "internal" } ], - "src": "14718:9:0" + "src": "14702:9:0" }, "scope": 1211, - "src": "14572:1607:0", + "src": "14556:1607:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "private" @@ -12464,7 +12464,7 @@ "body": { "id": 1021, "nodeType": "Block", - "src": "16597:1337:0", + "src": "16581:1337:0", "statements": [ { "expression": { @@ -12501,7 +12501,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 899, - "src": "16629:4:0", + "src": "16613:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" @@ -12515,7 +12515,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "16629:11:0", + "src": "16613:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12532,7 +12532,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 902, - "src": "16644:4:0", + "src": "16628:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" @@ -12546,13 +12546,13 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "16644:11:0", + "src": "16628:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "16629:26:0", + "src": "16613:26:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -12580,7 +12580,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 899, - "src": "16659:4:0", + "src": "16643:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" @@ -12594,7 +12594,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "16659:11:0", + "src": "16643:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12611,7 +12611,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 896, - "src": "16674:4:0", + "src": "16658:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr", "typeString": "uint8[] memory" @@ -12625,19 +12625,19 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "16674:11:0", + "src": "16658:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "16659:26:0", + "src": "16643:26:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "16629:56:0", + "src": "16613:56:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -12653,7 +12653,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "16700:24:0", + "src": "16684:24:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_f85073c8befb65baed58ca1ee563e5da0bdbdce8abd4d29ef22a8329c7c97506", @@ -12681,7 +12681,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "16608:7:0", + "src": "16592:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -12695,7 +12695,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16608:126:0", + "src": "16592:126:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -12703,7 +12703,7 @@ }, "id": 929, "nodeType": "ExpressionStatement", - "src": "16608:126:0" + "src": "16592:126:0" }, { "assignments": [], @@ -12714,7 +12714,7 @@ "name": "lastAddress", "nodeType": "VariableDeclaration", "scope": 1022, - "src": "16745:19:0", + "src": "16729:19:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12725,7 +12725,7 @@ "id": 930, "name": "address", "nodeType": "ElementaryTypeName", - "src": "16745:7:0", + "src": "16729:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -12738,7 +12738,7 @@ "id": 932, "initialValue": null, "nodeType": "VariableDeclarationStatement", - "src": "16745:19:0" + "src": "16729:19:0" }, { "assignments": [ @@ -12751,7 +12751,7 @@ "name": "txHash", "nodeType": "VariableDeclaration", "scope": 1022, - "src": "16863:14:0", + "src": "16847:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12762,7 +12762,7 @@ "id": 933, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "16863:7:0", + "src": "16847:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -12789,7 +12789,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "16937:34:0", + "src": "16921:34:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_178a2411ab6fbc1ba11064408972259c558d0e82fd48b0aba3ad81d14f065e73", @@ -12816,7 +12816,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "17067:4:0", + "src": "17051:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_25_by_1", @@ -12838,7 +12838,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "17062:4:0", + "src": "17046:4:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes1_$", "typeString": "type(bytes1)" @@ -12853,7 +12853,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17062:10:0", + "src": "17046:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes1", "typeString": "bytes1" @@ -12872,7 +12872,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "17103:1:0", + "src": "17087:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -12894,7 +12894,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "17098:4:0", + "src": "17082:4:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes1_$", "typeString": "type(bytes1)" @@ -12909,7 +12909,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17098:7:0", + "src": "17082:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes1", "typeString": "bytes1" @@ -12922,7 +12922,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1401, - "src": "17131:4:0", + "src": "17115:4:0", "typeDescriptions": { "typeIdentifier": "t_contract$_Escrow_v1_0_$1211", "typeString": "contract Escrow_v1_0" @@ -12935,7 +12935,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 907, - "src": "17161:12:0", + "src": "17145:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -12948,7 +12948,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 910, - "src": "17199:7:0", + "src": "17183:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" @@ -12961,7 +12961,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 904, - "src": "17232:10:0", + "src": "17216:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -13002,7 +13002,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1371, - "src": "17020:3:0", + "src": "17004:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" @@ -13016,7 +13016,7 @@ "memberName": "encodePacked", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "17020:16:0", + "src": "17004:16:0", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" @@ -13030,7 +13030,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17020:244:0", + "src": "17004:244:0", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -13049,7 +13049,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1378, - "src": "16989:9:0", + "src": "16973:9:0", "typeDescriptions": { "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", "typeString": "function () pure returns (bytes32)" @@ -13063,7 +13063,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16989:293:0", + "src": "16973:293:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -13088,7 +13088,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1371, - "src": "16903:3:0", + "src": "16887:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" @@ -13102,7 +13102,7 @@ "memberName": "encodePacked", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "16903:16:0", + "src": "16887:16:0", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" @@ -13116,7 +13116,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16903:393:0", + "src": "16887:393:0", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -13135,7 +13135,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1378, - "src": "16880:9:0", + "src": "16864:9:0", "typeDescriptions": { "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", "typeString": "function () pure returns (bytes32)" @@ -13149,20 +13149,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16880:426:0", + "src": "16864:426:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "nodeType": "VariableDeclarationStatement", - "src": "16863:443:0" + "src": "16847:443:0" }, { "body": { "id": 1017, "nodeType": "Block", - "src": "17356:543:0", + "src": "17340:543:0", "statements": [ { "assignments": [ @@ -13175,7 +13175,7 @@ "name": "recovered", "nodeType": "VariableDeclaration", "scope": 1022, - "src": "17371:17:0", + "src": "17355:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -13186,7 +13186,7 @@ "id": 968, "name": "address", "nodeType": "ElementaryTypeName", - "src": "17371:7:0", + "src": "17355:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -13207,7 +13207,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 934, - "src": "17418:6:0", + "src": "17402:6:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -13222,7 +13222,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 896, - "src": "17442:4:0", + "src": "17426:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr", "typeString": "uint8[] memory" @@ -13236,7 +13236,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 958, - "src": "17447:1:0", + "src": "17431:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13247,7 +13247,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17442:7:0", + "src": "17426:7:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -13262,7 +13262,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 899, - "src": "17467:4:0", + "src": "17451:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" @@ -13276,7 +13276,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 958, - "src": "17472:1:0", + "src": "17456:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13287,7 +13287,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17467:7:0", + "src": "17451:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -13302,7 +13302,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 902, - "src": "17492:4:0", + "src": "17476:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" @@ -13316,7 +13316,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 958, - "src": "17497:1:0", + "src": "17481:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13327,7 +13327,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17492:7:0", + "src": "17476:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -13358,7 +13358,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1376, - "src": "17391:9:0", + "src": "17375:9:0", "typeDescriptions": { "typeIdentifier": "t_function_ecrecover_pure$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$_t_address_$", "typeString": "function (bytes32,uint8,bytes32,bytes32) pure returns (address)" @@ -13372,14 +13372,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17391:122:0", + "src": "17375:122:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "VariableDeclarationStatement", - "src": "17371:142:0" + "src": "17355:142:0" }, { "expression": { @@ -13398,7 +13398,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "17553:12:0", + "src": "17537:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -13412,7 +13412,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 904, - "src": "17566:10:0", + "src": "17550:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -13423,7 +13423,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17553:24:0", + "src": "17537:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -13437,7 +13437,7 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "17553:32:0", + "src": "17537:32:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -13451,7 +13451,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 969, - "src": "17586:9:0", + "src": "17570:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -13462,7 +13462,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17553:43:0", + "src": "17537:43:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -13478,7 +13478,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "17615:19:0", + "src": "17599:19:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_4f2d7dfcb27c0aafa13ae8c400de482c7832204d194018b6e45bd2bf244c74e7", @@ -13506,7 +13506,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "17528:7:0", + "src": "17512:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -13520,7 +13520,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17528:120:0", + "src": "17512:120:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -13528,7 +13528,7 @@ }, "id": 992, "nodeType": "ExpressionStatement", - "src": "17528:120:0" + "src": "17512:120:0" }, { "expression": { @@ -13544,7 +13544,7 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "17687:42:0", + "src": "17671:42:0", "subExpression": { "argumentTypes": null, "baseExpression": { @@ -13558,7 +13558,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "17688:12:0", + "src": "17672:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -13572,7 +13572,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 904, - "src": "17701:10:0", + "src": "17685:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -13583,7 +13583,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17688:24:0", + "src": "17672:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -13597,7 +13597,7 @@ "memberName": "voted", "nodeType": "MemberAccess", "referencedDeclaration": 66, - "src": "17688:30:0", + "src": "17672:30:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -13611,7 +13611,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 969, - "src": "17719:9:0", + "src": "17703:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -13622,7 +13622,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17688:41:0", + "src": "17672:41:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -13643,7 +13643,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "17748:27:0", + "src": "17732:27:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_fb2c7e49d5ec7ce36fa812cf15ee7fa946942f931d04fe3ae970516007b2a543", @@ -13671,7 +13671,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "17662:7:0", + "src": "17646:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -13685,7 +13685,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17662:127:0", + "src": "17646:127:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -13693,7 +13693,7 @@ }, "id": 1003, "nodeType": "ExpressionStatement", - "src": "17662:127:0" + "src": "17646:127:0" }, { "expression": { @@ -13716,7 +13716,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "17803:12:0", + "src": "17787:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -13730,7 +13730,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 904, - "src": "17816:10:0", + "src": "17800:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -13741,7 +13741,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17803:24:0", + "src": "17787:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -13755,7 +13755,7 @@ "memberName": "voted", "nodeType": "MemberAccess", "referencedDeclaration": 66, - "src": "17803:30:0", + "src": "17787:30:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -13769,7 +13769,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 969, - "src": "17834:9:0", + "src": "17818:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -13780,7 +13780,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "17803:41:0", + "src": "17787:41:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -13798,7 +13798,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "17847:4:0", + "src": "17831:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -13806,7 +13806,7 @@ }, "value": "true" }, - "src": "17803:48:0", + "src": "17787:48:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -13814,7 +13814,7 @@ }, "id": 1012, "nodeType": "ExpressionStatement", - "src": "17803:48:0" + "src": "17787:48:0" }, { "expression": { @@ -13831,7 +13831,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 931, - "src": "17865:11:0", + "src": "17849:11:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -13846,13 +13846,13 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 969, - "src": "17879:9:0", + "src": "17863:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "17865:23:0", + "src": "17849:23:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -13860,7 +13860,7 @@ }, "id": 1016, "nodeType": "ExpressionStatement", - "src": "17865:23:0" + "src": "17849:23:0" } ] }, @@ -13882,7 +13882,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 958, - "src": "17334:1:0", + "src": "17318:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13899,7 +13899,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 899, - "src": "17338:4:0", + "src": "17322:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" @@ -13913,13 +13913,13 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "17338:11:0", + "src": "17322:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "17334:15:0", + "src": "17318:15:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -13937,7 +13937,7 @@ "name": "i", "nodeType": "VariableDeclaration", "scope": 1022, - "src": "17322:6:0", + "src": "17306:6:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -13948,7 +13948,7 @@ "id": 957, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "17322:4:0", + "src": "17306:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13969,7 +13969,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "17331:1:0", + "src": "17315:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -13978,7 +13978,7 @@ "value": "0" }, "nodeType": "VariableDeclarationStatement", - "src": "17322:10:0" + "src": "17306:10:0" }, "loopExpression": { "expression": { @@ -13991,7 +13991,7 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "17351:3:0", + "src": "17335:3:0", "subExpression": { "argumentTypes": null, "id": 965, @@ -13999,7 +13999,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 958, - "src": "17351:1:0", + "src": "17335:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14012,10 +14012,10 @@ }, "id": 967, "nodeType": "ExpressionStatement", - "src": "17351:3:0" + "src": "17335:3:0" }, "nodeType": "ForStatement", - "src": "17317:582:0" + "src": "17301:582:0" }, { "expression": { @@ -14025,7 +14025,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 931, - "src": "17916:11:0", + "src": "17900:11:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -14034,7 +14034,7 @@ "functionReturnParameters": 914, "id": 1020, "nodeType": "Return", - "src": "17909:18:0" + "src": "17893:18:0" } ] }, @@ -14056,7 +14056,7 @@ "name": "sigV", "nodeType": "VariableDeclaration", "scope": 1022, - "src": "16398:12:0", + "src": "16382:12:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14068,7 +14068,7 @@ "id": 894, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "16398:5:0", + "src": "16382:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -14077,7 +14077,7 @@ "id": 895, "length": null, "nodeType": "ArrayTypeName", - "src": "16398:7:0", + "src": "16382:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_storage_ptr", "typeString": "uint8[]" @@ -14092,7 +14092,7 @@ "name": "sigR", "nodeType": "VariableDeclaration", "scope": 1022, - "src": "16420:14:0", + "src": "16404:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14104,7 +14104,7 @@ "id": 897, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "16420:7:0", + "src": "16404:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -14113,7 +14113,7 @@ "id": 898, "length": null, "nodeType": "ArrayTypeName", - "src": "16420:9:0", + "src": "16404:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -14128,7 +14128,7 @@ "name": "sigS", "nodeType": "VariableDeclaration", "scope": 1022, - "src": "16444:14:0", + "src": "16428:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14140,7 +14140,7 @@ "id": 900, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "16444:7:0", + "src": "16428:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -14149,7 +14149,7 @@ "id": 901, "length": null, "nodeType": "ArrayTypeName", - "src": "16444:9:0", + "src": "16428:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -14164,7 +14164,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 1022, - "src": "16468:18:0", + "src": "16452:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14175,7 +14175,7 @@ "id": 903, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "16468:7:0", + "src": "16452:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -14190,7 +14190,7 @@ "name": "destinations", "nodeType": "VariableDeclaration", "scope": 1022, - "src": "16496:22:0", + "src": "16480:22:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14202,7 +14202,7 @@ "id": 905, "name": "address", "nodeType": "ElementaryTypeName", - "src": "16496:7:0", + "src": "16480:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -14211,7 +14211,7 @@ "id": 906, "length": null, "nodeType": "ArrayTypeName", - "src": "16496:9:0", + "src": "16480:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", "typeString": "address[]" @@ -14226,7 +14226,7 @@ "name": "amounts", "nodeType": "VariableDeclaration", "scope": 1022, - "src": "16528:16:0", + "src": "16512:16:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14238,7 +14238,7 @@ "id": 908, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "16528:7:0", + "src": "16512:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14247,7 +14247,7 @@ "id": 909, "length": null, "nodeType": "ArrayTypeName", - "src": "16528:9:0", + "src": "16512:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -14257,7 +14257,7 @@ "visibility": "internal" } ], - "src": "16388:162:0" + "src": "16372:162:0" }, "payable": false, "returnParameters": { @@ -14270,7 +14270,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 1022, - "src": "16584:7:0", + "src": "16568:7:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14281,7 +14281,7 @@ "id": 912, "name": "address", "nodeType": "ElementaryTypeName", - "src": "16584:7:0", + "src": "16568:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -14291,10 +14291,10 @@ "visibility": "internal" } ], - "src": "16583:9:0" + "src": "16567:9:0" }, "scope": 1211, - "src": "16363:1571:0", + "src": "16347:1571:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "private" @@ -14303,7 +14303,7 @@ "body": { "id": 1053, "nodeType": "Block", - "src": "18088:168:0", + "src": "18072:168:0", "statements": [ { "assignments": [ @@ -14316,7 +14316,7 @@ "name": "timeSince", "nodeType": "VariableDeclaration", "scope": 1054, - "src": "18098:17:0", + "src": "18082:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14327,7 +14327,7 @@ "id": 1031, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "18098:7:0", + "src": "18082:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14348,7 +14348,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1026, - "src": "18126:12:0", + "src": "18110:12:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14369,7 +14369,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1386, - "src": "18118:3:0", + "src": "18102:3:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14383,7 +14383,7 @@ "memberName": "sub", "nodeType": "MemberAccess", "referencedDeclaration": 1324, - "src": "18118:7:0", + "src": "18102:7:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" @@ -14397,14 +14397,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18118:21:0", + "src": "18102:21:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "18098:41:0" + "src": "18082:41:0" }, { "expression": { @@ -14430,7 +14430,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1024, - "src": "18170:12:0", + "src": "18154:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -14448,7 +14448,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "18186:1:0", + "src": "18170:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -14456,7 +14456,7 @@ }, "value": "0" }, - "src": "18170:17:0", + "src": "18154:17:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -14480,7 +14480,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1032, - "src": "18196:9:0", + "src": "18180:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14501,7 +14501,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "18234:4:0", + "src": "18218:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_3600_by_1", @@ -14527,7 +14527,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1024, - "src": "18216:12:0", + "src": "18200:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -14547,7 +14547,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "18208:7:0", + "src": "18192:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint256_$", "typeString": "type(uint256)" @@ -14562,7 +14562,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18208:21:0", + "src": "18192:21:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14576,7 +14576,7 @@ "memberName": "mul", "nodeType": "MemberAccess", "referencedDeclaration": 1276, - "src": "18208:25:0", + "src": "18192:25:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" @@ -14590,13 +14590,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18208:31:0", + "src": "18192:31:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "18196:43:0", + "src": "18180:43:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -14608,7 +14608,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "Conditional", - "src": "18170:69:0", + "src": "18154:69:0", "trueExpression": { "argumentTypes": null, "hexValue": "66616c7365", @@ -14619,7 +14619,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "18190:5:0", + "src": "18174:5:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -14640,7 +14640,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "18156:93:0", + "src": "18140:93:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -14649,7 +14649,7 @@ "functionReturnParameters": 1030, "id": 1052, "nodeType": "Return", - "src": "18149:100:0" + "src": "18133:100:0" } ] }, @@ -14671,7 +14671,7 @@ "name": "timeoutHours", "nodeType": "VariableDeclaration", "scope": 1054, - "src": "17976:19:0", + "src": "17960:19:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14682,7 +14682,7 @@ "id": 1023, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "17976:6:0", + "src": "17960:6:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -14697,7 +14697,7 @@ "name": "lastModified", "nodeType": "VariableDeclaration", "scope": 1054, - "src": "18005:20:0", + "src": "17989:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14708,7 +14708,7 @@ "id": 1025, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "18005:7:0", + "src": "17989:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14718,7 +14718,7 @@ "visibility": "internal" } ], - "src": "17966:65:0" + "src": "17950:65:0" }, "payable": false, "returnParameters": { @@ -14731,7 +14731,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 1054, - "src": "18078:4:0", + "src": "18062:4:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14742,7 +14742,7 @@ "id": 1028, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "18078:4:0", + "src": "18062:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -14752,10 +14752,10 @@ "visibility": "internal" } ], - "src": "18077:6:0" + "src": "18061:6:0" }, "scope": 1211, - "src": "17940:316:0", + "src": "17924:316:0", "stateMutability": "view", "superFunction": null, "visibility": "private" @@ -14764,7 +14764,7 @@ "body": { "id": 1209, "nodeType": "Block", - "src": "18670:2308:0", + "src": "18654:2308:0", "statements": [ { "expression": { @@ -14788,7 +14788,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1056, - "src": "18696:5:0", + "src": "18680:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -14803,13 +14803,13 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1058, - "src": "18705:6:0", + "src": "18689:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "18696:15:0", + "src": "18680:15:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -14825,7 +14825,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "18713:27:0", + "src": "18697:27:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_6141441751234d42e9a73d96317794195c7ff57b8f16ac15725a10f10763f824", @@ -14853,7 +14853,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "18688:7:0", + "src": "18672:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -14867,7 +14867,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18688:53:0", + "src": "18672:53:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -14875,7 +14875,7 @@ }, "id": 1083, "nodeType": "ExpressionStatement", - "src": "18688:53:0" + "src": "18672:53:0" }, { "expression": { @@ -14899,7 +14899,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1068, - "src": "18808:5:0", + "src": "18792:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14917,7 +14917,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "18816:1:0", + "src": "18800:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -14925,7 +14925,7 @@ }, "value": "0" }, - "src": "18808:9:0", + "src": "18792:9:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -14941,7 +14941,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "18819:19:0", + "src": "18803:19:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_3686f87c4804517ea83323ccf1a3b5b5ff52ed144b19e6fc56abe8fcd182e747", @@ -14969,7 +14969,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "18800:7:0", + "src": "18784:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -14983,7 +14983,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18800:39:0", + "src": "18784:39:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -14991,7 +14991,7 @@ }, "id": 1090, "nodeType": "ExpressionStatement", - "src": "18800:39:0" + "src": "18784:39:0" }, { "expression": { @@ -15026,7 +15026,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1062, - "src": "18942:9:0", + "src": "18926:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -15044,7 +15044,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "18954:1:0", + "src": "18938:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -15052,7 +15052,7 @@ }, "value": "0" }, - "src": "18942:13:0", + "src": "18926:13:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -15078,7 +15078,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1062, - "src": "18959:9:0", + "src": "18943:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -15096,7 +15096,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "18972:1:0", + "src": "18956:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_3_by_1", @@ -15104,13 +15104,13 @@ }, "value": "3" }, - "src": "18959:14:0", + "src": "18943:14:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "18942:31:0", + "src": "18926:31:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -15126,7 +15126,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "18988:63:0", + "src": "18972:63:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_351c1d5dfdc4a2b4c61d6f4dbb41a0d2ae70a9c094d3c0add87af24b5dd19c13", @@ -15154,7 +15154,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "18921:7:0", + "src": "18905:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -15168,7 +15168,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18921:140:0", + "src": "18905:140:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -15176,7 +15176,7 @@ }, "id": 1101, "nodeType": "ExpressionStatement", - "src": "18921:140:0" + "src": "18905:140:0" }, { "expression": { @@ -15211,7 +15211,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1062, - "src": "19330:9:0", + "src": "19314:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -15229,7 +15229,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "19343:1:0", + "src": "19327:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -15237,7 +15237,7 @@ }, "value": "1" }, - "src": "19330:14:0", + "src": "19314:14:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -15263,7 +15263,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1060, - "src": "19348:9:0", + "src": "19332:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15284,7 +15284,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "19369:1:0", + "src": "19353:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -15306,7 +15306,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "19361:7:0", + "src": "19345:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" @@ -15321,19 +15321,19 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "19361:10:0", + "src": "19345:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "19348:23:0", + "src": "19332:23:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "19330:41:0", + "src": "19314:41:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -15349,7 +15349,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "19385:81:0", + "src": "19369:81:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_08dfdd405be5d5023d3f601e2b0a844b246ceb6764817070ff6789d5e1f80050", @@ -15377,7 +15377,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "19309:7:0", + "src": "19293:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -15391,7 +15391,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "19309:167:0", + "src": "19293:167:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -15399,7 +15399,7 @@ }, "id": 1114, "nodeType": "ExpressionStatement", - "src": "19309:167:0" + "src": "19293:167:0" }, { "expression": { @@ -15423,7 +15423,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1066, - "src": "19508:10:0", + "src": "19492:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -15441,7 +15441,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1070, - "src": "19565:8:0", + "src": "19549:8:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -15454,7 +15454,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1062, - "src": "19591:9:0", + "src": "19575:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -15467,7 +15467,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1064, - "src": "19618:12:0", + "src": "19602:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -15480,7 +15480,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1056, - "src": "19648:5:0", + "src": "19632:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15493,7 +15493,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1058, - "src": "19671:6:0", + "src": "19655:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15506,7 +15506,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1060, - "src": "19695:9:0", + "src": "19679:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15519,7 +15519,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1074, - "src": "19722:12:0", + "src": "19706:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15562,7 +15562,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 637, - "src": "19522:25:0", + "src": "19506:25:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_bytes20_$_t_uint8_$_t_uint32_$_t_address_$_t_address_$_t_address_$_t_address_$returns$_t_bytes32_$", "typeString": "function (bytes20,uint8,uint32,address,address,address,address) view returns (bytes32)" @@ -15576,13 +15576,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "19522:226:0", + "src": "19506:226:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "src": "19508:240:0", + "src": "19492:240:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -15598,7 +15598,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "19763:59:0", + "src": "19747:59:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_0c041e0c58e6b0e01d338d852a5abb639065eabeb0aee05e0ce3e5f0e52b4f51", @@ -15626,7 +15626,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "19487:7:0", + "src": "19471:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -15640,7 +15640,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "19487:345:0", + "src": "19471:345:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -15648,7 +15648,7 @@ }, "id": 1129, "nodeType": "ExpressionStatement", - "src": "19487:345:0" + "src": "19471:345:0" }, { "expression": { @@ -15667,7 +15667,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "19843:12:0", + "src": "19827:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -15681,7 +15681,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1066, - "src": "19856:10:0", + "src": "19840:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -15692,7 +15692,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "19843:24:0", + "src": "19827:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -15710,7 +15710,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1056, - "src": "19903:5:0", + "src": "19887:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15723,7 +15723,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1058, - "src": "19930:6:0", + "src": "19914:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15736,7 +15736,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1060, - "src": "19961:9:0", + "src": "19945:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15749,7 +15749,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1068, - "src": "19991:5:0", + "src": "19975:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -15764,7 +15764,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9, - "src": "20018:6:0", + "src": "20002:6:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_Status_$9_$", "typeString": "type(enum Escrow_v1_0.Status)" @@ -15778,7 +15778,7 @@ "memberName": "FUNDED", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "20018:13:0", + "src": "20002:13:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$9", "typeString": "enum Escrow_v1_0.Status" @@ -15793,7 +15793,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1374, - "src": "20059:5:0", + "src": "20043:5:0", "typeDescriptions": { "typeIdentifier": "t_magic_block", "typeString": "block" @@ -15807,7 +15807,7 @@ "memberName": "timestamp", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "20059:15:0", + "src": "20043:15:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -15820,7 +15820,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1062, - "src": "20099:9:0", + "src": "20083:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -15833,7 +15833,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1064, - "src": "20136:12:0", + "src": "20120:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -15846,7 +15846,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1072, - "src": "20178:15:0", + "src": "20162:15:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -15859,7 +15859,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1074, - "src": "20220:12:0", + "src": "20204:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15873,7 +15873,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 71, - "src": "19870:11:0", + "src": "19854:11:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_struct$_Transaction_$71_storage_ptr_$", "typeString": "type(struct Escrow_v1_0.Transaction storage pointer)" @@ -15898,13 +15898,13 @@ "tokenAddress" ], "nodeType": "FunctionCall", - "src": "19870:373:0", + "src": "19854:373:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_memory", "typeString": "struct Escrow_v1_0.Transaction memory" } }, - "src": "19843:400:0", + "src": "19827:400:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -15912,7 +15912,7 @@ }, "id": 1148, "nodeType": "ExpressionStatement", - "src": "19843:400:0" + "src": "19827:400:0" }, { "expression": { @@ -15935,7 +15935,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "20254:12:0", + "src": "20238:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -15949,7 +15949,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1066, - "src": "20267:10:0", + "src": "20251:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -15960,7 +15960,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20254:24:0", + "src": "20238:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -15974,7 +15974,7 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "20254:32:0", + "src": "20238:32:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -15988,7 +15988,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1058, - "src": "20287:6:0", + "src": "20271:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15999,7 +15999,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "20254:40:0", + "src": "20238:40:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -16017,7 +16017,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "20297:4:0", + "src": "20281:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -16025,7 +16025,7 @@ }, "value": "true" }, - "src": "20254:47:0", + "src": "20238:47:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -16033,7 +16033,7 @@ }, "id": 1157, "nodeType": "ExpressionStatement", - "src": "20254:47:0" + "src": "20238:47:0" }, { "expression": { @@ -16056,7 +16056,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "20311:12:0", + "src": "20295:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -16070,7 +16070,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1066, - "src": "20324:10:0", + "src": "20308:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -16081,7 +16081,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20311:24:0", + "src": "20295:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -16095,7 +16095,7 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "20311:32:0", + "src": "20295:32:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -16109,7 +16109,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1056, - "src": "20344:5:0", + "src": "20328:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -16120,7 +16120,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "20311:39:0", + "src": "20295:39:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -16138,7 +16138,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "20353:4:0", + "src": "20337:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -16146,7 +16146,7 @@ }, "value": "true" }, - "src": "20311:46:0", + "src": "20295:46:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -16154,7 +16154,7 @@ }, "id": 1166, "nodeType": "ExpressionStatement", - "src": "20311:46:0" + "src": "20295:46:0" }, { "expression": { @@ -16170,7 +16170,7 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "20464:44:0", + "src": "20448:44:0", "subExpression": { "argumentTypes": null, "baseExpression": { @@ -16184,7 +16184,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "20465:12:0", + "src": "20449:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -16198,7 +16198,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1066, - "src": "20478:10:0", + "src": "20462:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -16209,7 +16209,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20465:24:0", + "src": "20449:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -16223,7 +16223,7 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "20465:32:0", + "src": "20449:32:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -16237,7 +16237,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1060, - "src": "20498:9:0", + "src": "20482:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -16248,7 +16248,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20465:43:0", + "src": "20449:43:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -16269,7 +16269,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "20523:47:0", + "src": "20507:47:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_313b391557427937e7bdb85c7561d47c5b9c985755a448dd33a92026ffb38f8d", @@ -16297,7 +16297,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "20443:7:0", + "src": "20427:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -16311,7 +16311,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "20443:137:0", + "src": "20427:137:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -16319,7 +16319,7 @@ }, "id": 1177, "nodeType": "ExpressionStatement", - "src": "20443:137:0" + "src": "20427:137:0" }, { "condition": { @@ -16340,7 +16340,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1062, - "src": "20740:9:0", + "src": "20724:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -16358,7 +16358,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "20752:1:0", + "src": "20736:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -16366,7 +16366,7 @@ }, "value": "1" }, - "src": "20740:13:0", + "src": "20724:13:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -16375,11 +16375,11 @@ "falseBody": null, "id": 1191, "nodeType": "IfStatement", - "src": "20736:93:0", + "src": "20720:93:0", "trueBody": { "id": 1190, "nodeType": "Block", - "src": "20754:75:0", + "src": "20738:75:0", "statements": [ { "expression": { @@ -16402,7 +16402,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "20768:12:0", + "src": "20752:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -16416,7 +16416,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1066, - "src": "20781:10:0", + "src": "20765:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -16427,7 +16427,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20768:24:0", + "src": "20752:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -16441,7 +16441,7 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "20768:32:0", + "src": "20752:32:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -16455,7 +16455,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1060, - "src": "20801:9:0", + "src": "20785:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -16466,7 +16466,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "20768:43:0", + "src": "20752:43:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -16484,7 +16484,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "20814:4:0", + "src": "20798:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -16492,7 +16492,7 @@ }, "value": "true" }, - "src": "20768:50:0", + "src": "20752:50:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -16500,7 +16500,7 @@ }, "id": 1189, "nodeType": "ExpressionStatement", - "src": "20768:50:0" + "src": "20752:50:0" } ] } @@ -16516,7 +16516,7 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "20847:18:0", + "src": "20831:18:0", "subExpression": { "argumentTypes": null, "id": 1192, @@ -16524,7 +16524,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 78, - "src": "20847:16:0", + "src": "20831:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -16537,7 +16537,7 @@ }, "id": 1194, "nodeType": "ExpressionStatement", - "src": "20847:18:0" + "src": "20831:18:0" }, { "expression": { @@ -16550,7 +16550,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1066, - "src": "20907:10:0", + "src": "20891:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -16573,7 +16573,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 83, - "src": "20876:18:0", + "src": "20860:18:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_bytes32_$dyn_storage_$", "typeString": "mapping(address => bytes32[] storage ref)" @@ -16587,7 +16587,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1056, - "src": "20895:5:0", + "src": "20879:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -16598,7 +16598,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20876:25:0", + "src": "20860:25:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage", "typeString": "bytes32[] storage ref" @@ -16612,7 +16612,7 @@ "memberName": "push", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "20876:30:0", + "src": "20860:30:0", "typeDescriptions": { "typeIdentifier": "t_function_arraypush_nonpayable$_t_bytes32_$returns$_t_uint256_$", "typeString": "function (bytes32) returns (uint256)" @@ -16626,7 +16626,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "20876:42:0", + "src": "20860:42:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -16634,7 +16634,7 @@ }, "id": 1201, "nodeType": "ExpressionStatement", - "src": "20876:42:0" + "src": "20860:42:0" }, { "expression": { @@ -16647,7 +16647,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1066, - "src": "20960:10:0", + "src": "20944:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -16670,7 +16670,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 83, - "src": "20928:18:0", + "src": "20912:18:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_bytes32_$dyn_storage_$", "typeString": "mapping(address => bytes32[] storage ref)" @@ -16684,7 +16684,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1058, - "src": "20947:6:0", + "src": "20931:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -16695,7 +16695,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20928:26:0", + "src": "20912:26:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage", "typeString": "bytes32[] storage ref" @@ -16709,7 +16709,7 @@ "memberName": "push", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "20928:31:0", + "src": "20912:31:0", "typeDescriptions": { "typeIdentifier": "t_function_arraypush_nonpayable$_t_bytes32_$returns$_t_uint256_$", "typeString": "function (bytes32) returns (uint256)" @@ -16723,7 +16723,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "20928:43:0", + "src": "20912:43:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -16731,7 +16731,7 @@ }, "id": 1208, "nodeType": "ExpressionStatement", - "src": "20928:43:0" + "src": "20912:43:0" } ] }, @@ -16753,7 +16753,7 @@ "name": "buyer", "nodeType": "VariableDeclaration", "scope": 1210, - "src": "18377:13:0", + "src": "18361:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -16764,7 +16764,7 @@ "id": 1055, "name": "address", "nodeType": "ElementaryTypeName", - "src": "18377:7:0", + "src": "18361:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -16779,7 +16779,7 @@ "name": "seller", "nodeType": "VariableDeclaration", "scope": 1210, - "src": "18400:14:0", + "src": "18384:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -16790,7 +16790,7 @@ "id": 1057, "name": "address", "nodeType": "ElementaryTypeName", - "src": "18400:7:0", + "src": "18384:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -16805,7 +16805,7 @@ "name": "moderator", "nodeType": "VariableDeclaration", "scope": 1210, - "src": "18424:17:0", + "src": "18408:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -16816,7 +16816,7 @@ "id": 1059, "name": "address", "nodeType": "ElementaryTypeName", - "src": "18424:7:0", + "src": "18408:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -16831,7 +16831,7 @@ "name": "threshold", "nodeType": "VariableDeclaration", "scope": 1210, - "src": "18451:15:0", + "src": "18435:15:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -16842,7 +16842,7 @@ "id": 1061, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "18451:5:0", + "src": "18435:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -16857,7 +16857,7 @@ "name": "timeoutHours", "nodeType": "VariableDeclaration", "scope": 1210, - "src": "18476:19:0", + "src": "18460:19:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -16868,7 +16868,7 @@ "id": 1063, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "18476:6:0", + "src": "18460:6:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -16883,7 +16883,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 1210, - "src": "18505:18:0", + "src": "18489:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -16894,7 +16894,7 @@ "id": 1065, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "18505:7:0", + "src": "18489:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -16909,7 +16909,7 @@ "name": "value", "nodeType": "VariableDeclaration", "scope": 1210, - "src": "18533:13:0", + "src": "18517:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -16920,7 +16920,7 @@ "id": 1067, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "18533:7:0", + "src": "18517:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -16935,7 +16935,7 @@ "name": "uniqueId", "nodeType": "VariableDeclaration", "scope": 1210, - "src": "18556:16:0", + "src": "18540:16:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -16946,7 +16946,7 @@ "id": 1069, "name": "bytes20", "nodeType": "ElementaryTypeName", - "src": "18556:7:0", + "src": "18540:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -16961,7 +16961,7 @@ "name": "transactionType", "nodeType": "VariableDeclaration", "scope": 1210, - "src": "18582:31:0", + "src": "18566:31:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -16974,7 +16974,7 @@ "name": "TransactionType", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 12, - "src": "18582:15:0", + "src": "18566:15:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -16989,7 +16989,7 @@ "name": "tokenAddress", "nodeType": "VariableDeclaration", "scope": 1210, - "src": "18623:20:0", + "src": "18607:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -17000,7 +17000,7 @@ "id": 1073, "name": "address", "nodeType": "ElementaryTypeName", - "src": "18623:7:0", + "src": "18607:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -17010,27 +17010,27 @@ "visibility": "internal" } ], - "src": "18367:282:0" + "src": "18351:282:0" }, "payable": false, "returnParameters": { "id": 1076, "nodeType": "ParameterList", "parameters": [], - "src": "18670:0:0" + "src": "18654:0:0" }, "scope": 1211, - "src": "18343:2635:0", + "src": "18327:2635:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "private" } ], "scope": 1212, - "src": "460:20520:0" + "src": "460:20504:0" } ], - "src": "0:20981:0" + "src": "0:20965:0" }, "legacyAST": { "absolutePath": "/home/sameep/freelancing-projects/toptal/open baazar/publicRepo/smart-contracts/contracts/escrow/Escrow_v1_0.sol", @@ -18447,7 +18447,7 @@ "body": { "id": 131, "nodeType": "Block", - "src": "2121:161:0", + "src": "2121:145:0", "statements": [ { "expression": { @@ -18559,7 +18559,7 @@ }, { "argumentTypes": null, - "hexValue": "5472616e73616374696f6e2069732065697468657220696e2064697370757465206f722072656c6561736564207374617465", + "hexValue": "5472616e73616374696f6e206973206e6f7420696e2046554e444544207374617465", "id": 127, "isConstant": false, "isLValue": false, @@ -18567,13 +18567,13 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "2202:52:0", + "src": "2202:36:0", "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_stringliteral_0cc8916d65fa11e0e6538cf603067141ec9685ba71ec1b5e50c6b5b71a8ab654", - "typeString": "literal_string \"Transaction is either in dispute or released state\"" + "typeIdentifier": "t_stringliteral_5244efce1630cfae7257c0817c921ae75135c1043344a4cf9a1988c03337f39d", + "typeString": "literal_string \"Transaction is not in FUNDED state\"" }, - "value": "Transaction is either in dispute or released state" + "value": "Transaction is not in FUNDED state" } ], "expression": { @@ -18583,8 +18583,8 @@ "typeString": "bool" }, { - "typeIdentifier": "t_stringliteral_0cc8916d65fa11e0e6538cf603067141ec9685ba71ec1b5e50c6b5b71a8ab654", - "typeString": "literal_string \"Transaction is either in dispute or released state\"" + "typeIdentifier": "t_stringliteral_5244efce1630cfae7257c0817c921ae75135c1043344a4cf9a1988c03337f39d", + "typeString": "literal_string \"Transaction is not in FUNDED state\"" } ], "id": 119, @@ -18609,7 +18609,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2131:133:0", + "src": "2131:117:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -18617,12 +18617,12 @@ }, "id": 129, "nodeType": "ExpressionStatement", - "src": "2131:133:0" + "src": "2131:117:0" }, { "id": 130, "nodeType": "PlaceholderStatement", - "src": "2274:1:0" + "src": "2258:1:0" } ] }, @@ -18663,14 +18663,14 @@ ], "src": "2100:20:0" }, - "src": "2078:204:0", + "src": "2078:188:0", "visibility": "internal" }, { "body": { "id": 146, "nodeType": "Block", - "src": "2336:88:0", + "src": "2320:88:0", "statements": [ { "expression": { @@ -18694,7 +18694,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 134, - "src": "2354:14:0", + "src": "2338:14:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -18715,7 +18715,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2380:1:0", + "src": "2364:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -18737,7 +18737,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "2372:7:0", + "src": "2356:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" @@ -18752,13 +18752,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2372:10:0", + "src": "2356:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "2354:28:0", + "src": "2338:28:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -18774,7 +18774,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "2384:21:0", + "src": "2368:21:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_93e85f37f73cf8e1b855512ab7e00aab2b791117712ecb476daeb6c2c0a27a67", @@ -18802,7 +18802,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "2346:7:0", + "src": "2330:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -18816,7 +18816,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2346:60:0", + "src": "2330:60:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -18824,12 +18824,12 @@ }, "id": 144, "nodeType": "ExpressionStatement", - "src": "2346:60:0" + "src": "2330:60:0" }, { "id": 145, "nodeType": "PlaceholderStatement", - "src": "2416:1:0" + "src": "2400:1:0" } ] }, @@ -18847,7 +18847,7 @@ "name": "addressToCheck", "nodeType": "VariableDeclaration", "scope": 147, - "src": "2312:22:0", + "src": "2296:22:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -18858,7 +18858,7 @@ "id": 133, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2312:7:0", + "src": "2296:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -18868,16 +18868,16 @@ "visibility": "internal" } ], - "src": "2311:24:0" + "src": "2295:24:0" }, - "src": "2288:136:0", + "src": "2272:136:0", "visibility": "internal" }, { "body": { "id": 164, "nodeType": "Block", - "src": "2539:153:0", + "src": "2523:153:0", "statements": [ { "expression": { @@ -18905,7 +18905,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "2570:12:0", + "src": "2554:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -18919,7 +18919,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 149, - "src": "2583:10:0", + "src": "2567:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -18930,7 +18930,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "2570:24:0", + "src": "2554:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -18944,7 +18944,7 @@ "memberName": "transactionType", "nodeType": "MemberAccess", "referencedDeclaration": 46, - "src": "2570:40:0", + "src": "2554:40:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -18959,13 +18959,13 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 151, - "src": "2614:15:0", + "src": "2598:15:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" } }, - "src": "2570:59:0", + "src": "2554:59:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -18981,7 +18981,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "2631:33:0", + "src": "2615:33:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_c798eb33a8bd5d4c22212d5c8611219bb87da2d82aefe8e88b1f970a0f133cc3", @@ -19009,7 +19009,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "2549:7:0", + "src": "2533:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -19023,7 +19023,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2549:125:0", + "src": "2533:125:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -19031,12 +19031,12 @@ }, "id": 162, "nodeType": "ExpressionStatement", - "src": "2549:125:0" + "src": "2533:125:0" }, { "id": 163, "nodeType": "PlaceholderStatement", - "src": "2684:1:0" + "src": "2668:1:0" } ] }, @@ -19054,7 +19054,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 165, - "src": "2469:18:0", + "src": "2453:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -19065,7 +19065,7 @@ "id": 148, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "2469:7:0", + "src": "2453:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -19080,7 +19080,7 @@ "name": "transactionType", "nodeType": "VariableDeclaration", "scope": 165, - "src": "2497:31:0", + "src": "2481:31:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -19093,7 +19093,7 @@ "name": "TransactionType", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 12, - "src": "2497:15:0", + "src": "2481:15:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -19103,16 +19103,16 @@ "visibility": "internal" } ], - "src": "2459:75:0" + "src": "2443:75:0" }, - "src": "2430:262:0", + "src": "2414:262:0", "visibility": "internal" }, { "body": { "id": 181, "nodeType": "Block", - "src": "2737:152:0", + "src": "2721:152:0", "statements": [ { "expression": { @@ -19138,7 +19138,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1384, - "src": "2768:3:0", + "src": "2752:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -19152,7 +19152,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "2768:10:0", + "src": "2752:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -19171,7 +19171,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "2782:12:0", + "src": "2766:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -19185,7 +19185,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 167, - "src": "2795:10:0", + "src": "2779:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -19196,7 +19196,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "2782:24:0", + "src": "2766:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -19210,13 +19210,13 @@ "memberName": "buyer", "nodeType": "MemberAccess", "referencedDeclaration": 52, - "src": "2782:30:0", + "src": "2766:30:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "2768:44:0", + "src": "2752:44:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -19232,7 +19232,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "2814:47:0", + "src": "2798:47:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_b4fc72d2373e6fc668b2bc10a6c84713d84de5f4dc58bb69053e1a18ae67c2f9", @@ -19260,7 +19260,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "2747:7:0", + "src": "2731:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -19274,7 +19274,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2747:124:0", + "src": "2731:124:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -19282,12 +19282,12 @@ }, "id": 179, "nodeType": "ExpressionStatement", - "src": "2747:124:0" + "src": "2731:124:0" }, { "id": 180, "nodeType": "PlaceholderStatement", - "src": "2881:1:0" + "src": "2865:1:0" } ] }, @@ -19305,7 +19305,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 182, - "src": "2717:18:0", + "src": "2701:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -19316,7 +19316,7 @@ "id": 166, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "2717:7:0", + "src": "2701:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -19326,16 +19326,16 @@ "visibility": "internal" } ], - "src": "2716:20:0" + "src": "2700:20:0" }, - "src": "2698:191:0", + "src": "2682:191:0", "visibility": "internal" }, { "body": { "id": 233, "nodeType": "Block", - "src": "4183:347:0", + "src": "4167:347:0", "statements": [ { "expression": { @@ -19348,7 +19348,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 184, - "src": "4222:5:0", + "src": "4206:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -19361,7 +19361,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 186, - "src": "4241:6:0", + "src": "4225:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -19374,7 +19374,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 188, - "src": "4261:9:0", + "src": "4245:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -19387,7 +19387,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 190, - "src": "4284:9:0", + "src": "4268:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -19400,7 +19400,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 192, - "src": "4307:12:0", + "src": "4291:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -19413,7 +19413,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 194, - "src": "4333:10:0", + "src": "4317:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -19428,7 +19428,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1384, - "src": "4357:3:0", + "src": "4341:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -19442,7 +19442,7 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "4357:9:0", + "src": "4341:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -19455,7 +19455,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 196, - "src": "4380:8:0", + "src": "4364:8:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -19470,7 +19470,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12, - "src": "4402:15:0", + "src": "4386:15:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_TransactionType_$12_$", "typeString": "type(enum Escrow_v1_0.TransactionType)" @@ -19484,7 +19484,7 @@ "memberName": "ETHER", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "4402:21:0", + "src": "4386:21:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -19503,7 +19503,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "4445:1:0", + "src": "4429:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -19525,7 +19525,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "4437:7:0", + "src": "4421:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" @@ -19540,7 +19540,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4437:10:0", + "src": "4421:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -19595,7 +19595,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1210, - "src": "4193:15:0", + "src": "4177:15:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_address_$_t_uint8_$_t_uint32_$_t_bytes32_$_t_uint256_$_t_bytes20_$_t_enum$_TransactionType_$12_$_t_address_$returns$__$", "typeString": "function (address,address,address,uint8,uint32,bytes32,uint256,bytes20,enum Escrow_v1_0.TransactionType,address)" @@ -19609,7 +19609,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4193:264:0", + "src": "4177:264:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -19617,7 +19617,7 @@ }, "id": 224, "nodeType": "ExpressionStatement", - "src": "4193:264:0" + "src": "4177:264:0" }, { "eventCall": { @@ -19630,7 +19630,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 194, - "src": "4488:10:0", + "src": "4472:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -19645,7 +19645,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1384, - "src": "4500:3:0", + "src": "4484:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -19659,7 +19659,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "4500:10:0", + "src": "4484:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -19674,7 +19674,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1384, - "src": "4512:3:0", + "src": "4496:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -19688,7 +19688,7 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "4512:9:0", + "src": "4496:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -19715,7 +19715,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 38, - "src": "4481:6:0", + "src": "4465:6:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (bytes32,address,uint256)" @@ -19729,7 +19729,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4481:41:0", + "src": "4465:41:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -19737,7 +19737,7 @@ }, "id": 232, "nodeType": "EmitStatement", - "src": "4476:46:0" + "src": "4460:46:0" } ] }, @@ -19756,7 +19756,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 194, - "src": "4106:10:0", + "src": "4090:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -19771,14 +19771,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 115, - "src": "4081:24:0", + "src": "4065:24:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "4081:36:0" + "src": "4065:36:0" }, { "arguments": [ @@ -19789,7 +19789,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 184, - "src": "4141:5:0", + "src": "4125:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -19804,14 +19804,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 147, - "src": "4126:14:0", + "src": "4110:14:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_address_$", "typeString": "modifier (address)" } }, "nodeType": "ModifierInvocation", - "src": "4126:21:0" + "src": "4110:21:0" }, { "arguments": [ @@ -19822,7 +19822,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 186, - "src": "4171:6:0", + "src": "4155:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -19837,14 +19837,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 147, - "src": "4156:14:0", + "src": "4140:14:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_address_$", "typeString": "modifier (address)" } }, "nodeType": "ModifierInvocation", - "src": "4156:22:0" + "src": "4140:22:0" } ], "name": "addTransaction", @@ -19859,7 +19859,7 @@ "name": "buyer", "nodeType": "VariableDeclaration", "scope": 234, - "src": "3861:13:0", + "src": "3845:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -19870,7 +19870,7 @@ "id": 183, "name": "address", "nodeType": "ElementaryTypeName", - "src": "3861:7:0", + "src": "3845:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -19885,7 +19885,7 @@ "name": "seller", "nodeType": "VariableDeclaration", "scope": 234, - "src": "3884:14:0", + "src": "3868:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -19896,7 +19896,7 @@ "id": 185, "name": "address", "nodeType": "ElementaryTypeName", - "src": "3884:7:0", + "src": "3868:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -19911,7 +19911,7 @@ "name": "moderator", "nodeType": "VariableDeclaration", "scope": 234, - "src": "3908:17:0", + "src": "3892:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -19922,7 +19922,7 @@ "id": 187, "name": "address", "nodeType": "ElementaryTypeName", - "src": "3908:7:0", + "src": "3892:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -19937,7 +19937,7 @@ "name": "threshold", "nodeType": "VariableDeclaration", "scope": 234, - "src": "3935:15:0", + "src": "3919:15:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -19948,7 +19948,7 @@ "id": 189, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "3935:5:0", + "src": "3919:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -19963,7 +19963,7 @@ "name": "timeoutHours", "nodeType": "VariableDeclaration", "scope": 234, - "src": "3960:19:0", + "src": "3944:19:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -19974,7 +19974,7 @@ "id": 191, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "3960:6:0", + "src": "3944:6:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -19989,7 +19989,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 234, - "src": "3989:18:0", + "src": "3973:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -20000,7 +20000,7 @@ "id": 193, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "3989:7:0", + "src": "3973:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -20015,7 +20015,7 @@ "name": "uniqueId", "nodeType": "VariableDeclaration", "scope": 234, - "src": "4017:16:0", + "src": "4001:16:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -20026,7 +20026,7 @@ "id": 195, "name": "bytes20", "nodeType": "ElementaryTypeName", - "src": "4017:7:0", + "src": "4001:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -20036,17 +20036,17 @@ "visibility": "internal" } ], - "src": "3851:188:0" + "src": "3835:188:0" }, "payable": true, "returnParameters": { "id": 207, "nodeType": "ParameterList", "parameters": [], - "src": "4183:0:0" + "src": "4167:0:0" }, "scope": 1211, - "src": "3828:702:0", + "src": "3812:702:0", "stateMutability": "payable", "superFunction": null, "visibility": "external" @@ -20055,7 +20055,7 @@ "body": { "id": 305, "nodeType": "Block", - "src": "6064:587:0", + "src": "6048:587:0", "statements": [ { "expression": { @@ -20068,7 +20068,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 236, - "src": "6104:5:0", + "src": "6088:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -20081,7 +20081,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 238, - "src": "6123:6:0", + "src": "6107:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -20094,7 +20094,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 240, - "src": "6143:9:0", + "src": "6127:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -20107,7 +20107,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 242, - "src": "6166:9:0", + "src": "6150:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -20120,7 +20120,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 244, - "src": "6189:12:0", + "src": "6173:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -20133,7 +20133,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 246, - "src": "6215:10:0", + "src": "6199:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -20146,7 +20146,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 248, - "src": "6239:5:0", + "src": "6223:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -20159,7 +20159,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 250, - "src": "6258:8:0", + "src": "6242:8:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -20174,7 +20174,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12, - "src": "6280:15:0", + "src": "6264:15:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_TransactionType_$12_$", "typeString": "type(enum Escrow_v1_0.TransactionType)" @@ -20188,7 +20188,7 @@ "memberName": "TOKEN", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "6280:21:0", + "src": "6264:21:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -20201,7 +20201,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 252, - "src": "6315:12:0", + "src": "6299:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -20256,7 +20256,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1210, - "src": "6075:15:0", + "src": "6059:15:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_address_$_t_uint8_$_t_uint32_$_t_bytes32_$_t_uint256_$_t_bytes20_$_t_enum$_TransactionType_$12_$_t_address_$returns$__$", "typeString": "function (address,address,address,uint8,uint32,bytes32,uint256,bytes20,enum Escrow_v1_0.TransactionType,address)" @@ -20270,7 +20270,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6075:262:0", + "src": "6059:262:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -20278,7 +20278,7 @@ }, "id": 280, "nodeType": "ExpressionStatement", - "src": "6075:262:0" + "src": "6059:262:0" }, { "assignments": [ @@ -20291,7 +20291,7 @@ "name": "token", "nodeType": "VariableDeclaration", "scope": 306, - "src": "6348:20:0", + "src": "6332:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -20304,7 +20304,7 @@ "name": "ITokenContract", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 1241, - "src": "6348:14:0", + "src": "6332:14:0", "typeDescriptions": { "typeIdentifier": "t_contract$_ITokenContract_$1241", "typeString": "contract ITokenContract" @@ -20325,7 +20325,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 252, - "src": "6386:12:0", + "src": "6370:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -20344,7 +20344,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1241, - "src": "6371:14:0", + "src": "6355:14:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_ITokenContract_$1241_$", "typeString": "type(contract ITokenContract)" @@ -20358,14 +20358,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6371:28:0", + "src": "6355:28:0", "typeDescriptions": { "typeIdentifier": "t_contract$_ITokenContract_$1241", "typeString": "contract ITokenContract" } }, "nodeType": "VariableDeclarationStatement", - "src": "6348:51:0" + "src": "6332:51:0" }, { "expression": { @@ -20383,7 +20383,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1384, - "src": "6450:3:0", + "src": "6434:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -20397,7 +20397,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "6450:10:0", + "src": "6434:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -20410,7 +20410,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1401, - "src": "6462:4:0", + "src": "6446:4:0", "typeDescriptions": { "typeIdentifier": "t_contract$_Escrow_v1_0_$1211", "typeString": "contract Escrow_v1_0" @@ -20423,7 +20423,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 248, - "src": "6468:5:0", + "src": "6452:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -20452,7 +20452,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 282, - "src": "6431:5:0", + "src": "6415:5:0", "typeDescriptions": { "typeIdentifier": "t_contract$_ITokenContract_$1241", "typeString": "contract ITokenContract" @@ -20466,7 +20466,7 @@ "memberName": "transferFrom", "nodeType": "MemberAccess", "referencedDeclaration": 1240, - "src": "6431:18:0", + "src": "6415:18:0", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", "typeString": "function (address,address,uint256) external returns (bool)" @@ -20480,7 +20480,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6431:43:0", + "src": "6415:43:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -20496,7 +20496,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "6488:94:0", + "src": "6472:94:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_d9d07068d589bc4adc53018a3c57c159ec128fdfb62732a5fa9410e76cf03318", @@ -20524,7 +20524,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "6410:7:0", + "src": "6394:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -20538,7 +20538,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6410:182:0", + "src": "6394:182:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -20546,7 +20546,7 @@ }, "id": 297, "nodeType": "ExpressionStatement", - "src": "6410:182:0" + "src": "6394:182:0" }, { "eventCall": { @@ -20559,7 +20559,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 246, - "src": "6614:10:0", + "src": "6598:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -20574,7 +20574,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1384, - "src": "6626:3:0", + "src": "6610:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -20588,7 +20588,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "6626:10:0", + "src": "6610:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -20601,7 +20601,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 248, - "src": "6638:5:0", + "src": "6622:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -20628,7 +20628,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 38, - "src": "6607:6:0", + "src": "6591:6:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (bytes32,address,uint256)" @@ -20642,7 +20642,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6607:37:0", + "src": "6591:37:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -20650,7 +20650,7 @@ }, "id": 304, "nodeType": "EmitStatement", - "src": "6602:42:0" + "src": "6586:42:0" } ] }, @@ -20669,7 +20669,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 246, - "src": "5950:10:0", + "src": "5934:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -20684,14 +20684,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 115, - "src": "5925:24:0", + "src": "5909:24:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "5925:36:0" + "src": "5909:36:0" }, { "arguments": [ @@ -20702,7 +20702,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 236, - "src": "5985:5:0", + "src": "5969:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -20717,14 +20717,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 147, - "src": "5970:14:0", + "src": "5954:14:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_address_$", "typeString": "modifier (address)" } }, "nodeType": "ModifierInvocation", - "src": "5970:21:0" + "src": "5954:21:0" }, { "arguments": [ @@ -20735,7 +20735,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 238, - "src": "6015:6:0", + "src": "5999:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -20750,14 +20750,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 147, - "src": "6000:14:0", + "src": "5984:14:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_address_$", "typeString": "modifier (address)" } }, "nodeType": "ModifierInvocation", - "src": "6000:22:0" + "src": "5984:22:0" }, { "arguments": [ @@ -20768,7 +20768,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 252, - "src": "6046:12:0", + "src": "6030:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -20783,14 +20783,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 147, - "src": "6031:14:0", + "src": "6015:14:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_address_$", "typeString": "modifier (address)" } }, "nodeType": "ModifierInvocation", - "src": "6031:28:0" + "src": "6015:28:0" } ], "name": "addTokenTransaction", @@ -20805,7 +20805,7 @@ "name": "buyer", "nodeType": "VariableDeclaration", "scope": 306, - "src": "5668:13:0", + "src": "5652:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -20816,7 +20816,7 @@ "id": 235, "name": "address", "nodeType": "ElementaryTypeName", - "src": "5668:7:0", + "src": "5652:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -20831,7 +20831,7 @@ "name": "seller", "nodeType": "VariableDeclaration", "scope": 306, - "src": "5691:14:0", + "src": "5675:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -20842,7 +20842,7 @@ "id": 237, "name": "address", "nodeType": "ElementaryTypeName", - "src": "5691:7:0", + "src": "5675:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -20857,7 +20857,7 @@ "name": "moderator", "nodeType": "VariableDeclaration", "scope": 306, - "src": "5715:17:0", + "src": "5699:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -20868,7 +20868,7 @@ "id": 239, "name": "address", "nodeType": "ElementaryTypeName", - "src": "5715:7:0", + "src": "5699:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -20883,7 +20883,7 @@ "name": "threshold", "nodeType": "VariableDeclaration", "scope": 306, - "src": "5742:15:0", + "src": "5726:15:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -20894,7 +20894,7 @@ "id": 241, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "5742:5:0", + "src": "5726:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -20909,7 +20909,7 @@ "name": "timeoutHours", "nodeType": "VariableDeclaration", "scope": 306, - "src": "5767:19:0", + "src": "5751:19:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -20920,7 +20920,7 @@ "id": 243, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "5767:6:0", + "src": "5751:6:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -20935,7 +20935,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 306, - "src": "5796:18:0", + "src": "5780:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -20946,7 +20946,7 @@ "id": 245, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "5796:7:0", + "src": "5780:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -20961,7 +20961,7 @@ "name": "value", "nodeType": "VariableDeclaration", "scope": 306, - "src": "5824:13:0", + "src": "5808:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -20972,7 +20972,7 @@ "id": 247, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "5824:7:0", + "src": "5808:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -20987,7 +20987,7 @@ "name": "uniqueId", "nodeType": "VariableDeclaration", "scope": 306, - "src": "5847:16:0", + "src": "5831:16:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -20998,7 +20998,7 @@ "id": 249, "name": "bytes20", "nodeType": "ElementaryTypeName", - "src": "5847:7:0", + "src": "5831:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -21013,7 +21013,7 @@ "name": "tokenAddress", "nodeType": "VariableDeclaration", "scope": 306, - "src": "5873:20:0", + "src": "5857:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -21024,7 +21024,7 @@ "id": 251, "name": "address", "nodeType": "ElementaryTypeName", - "src": "5873:7:0", + "src": "5857:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -21034,17 +21034,17 @@ "visibility": "internal" } ], - "src": "5658:241:0" + "src": "5642:241:0" }, "payable": false, "returnParameters": { "id": 266, "nodeType": "ParameterList", "parameters": [], - "src": "6064:0:0" + "src": "6048:0:0" }, "scope": 1211, - "src": "5630:1021:0", + "src": "5614:1021:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" @@ -21053,7 +21053,7 @@ "body": { "id": 322, "nodeType": "Block", - "src": "7021:75:0", + "src": "7005:75:0", "statements": [ { "expression": { @@ -21069,7 +21069,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "7038:12:0", + "src": "7022:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -21083,7 +21083,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 308, - "src": "7051:10:0", + "src": "7035:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -21094,7 +21094,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "7038:24:0", + "src": "7022:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -21108,7 +21108,7 @@ "memberName": "beneficiaries", "nodeType": "MemberAccess", "referencedDeclaration": 70, - "src": "7038:38:0", + "src": "7022:38:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -21122,7 +21122,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 310, - "src": "7077:11:0", + "src": "7061:11:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -21133,7 +21133,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "7038:51:0", + "src": "7022:51:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -21142,7 +21142,7 @@ "functionReturnParameters": 314, "id": 321, "nodeType": "Return", - "src": "7031:58:0" + "src": "7015:58:0" } ] }, @@ -21164,7 +21164,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 323, - "src": "6910:18:0", + "src": "6894:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -21175,7 +21175,7 @@ "id": 307, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "6910:7:0", + "src": "6894:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -21190,7 +21190,7 @@ "name": "beneficiary", "nodeType": "VariableDeclaration", "scope": 323, - "src": "6938:19:0", + "src": "6922:19:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -21201,7 +21201,7 @@ "id": 309, "name": "address", "nodeType": "ElementaryTypeName", - "src": "6938:7:0", + "src": "6922:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -21211,7 +21211,7 @@ "visibility": "internal" } ], - "src": "6900:63:0" + "src": "6884:63:0" }, "payable": false, "returnParameters": { @@ -21224,7 +21224,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 323, - "src": "7011:4:0", + "src": "6995:4:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -21235,7 +21235,7 @@ "id": 312, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "7011:4:0", + "src": "6995:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -21245,10 +21245,10 @@ "visibility": "internal" } ], - "src": "7010:6:0" + "src": "6994:6:0" }, "scope": 1211, - "src": "6875:221:0", + "src": "6859:221:0", "stateMutability": "view", "superFunction": null, "visibility": "external" @@ -21257,7 +21257,7 @@ "body": { "id": 339, "nodeType": "Block", - "src": "7452:61:0", + "src": "7436:61:0", "statements": [ { "expression": { @@ -21273,7 +21273,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "7469:12:0", + "src": "7453:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -21287,7 +21287,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 325, - "src": "7482:10:0", + "src": "7466:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -21298,7 +21298,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "7469:24:0", + "src": "7453:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -21312,7 +21312,7 @@ "memberName": "voted", "nodeType": "MemberAccess", "referencedDeclaration": 66, - "src": "7469:30:0", + "src": "7453:30:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -21326,7 +21326,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 327, - "src": "7500:5:0", + "src": "7484:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -21337,7 +21337,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "7469:37:0", + "src": "7453:37:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -21346,7 +21346,7 @@ "functionReturnParameters": 331, "id": 338, "nodeType": "Return", - "src": "7462:44:0" + "src": "7446:44:0" } ] }, @@ -21368,7 +21368,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 340, - "src": "7347:18:0", + "src": "7331:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -21379,7 +21379,7 @@ "id": 324, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "7347:7:0", + "src": "7331:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -21394,7 +21394,7 @@ "name": "party", "nodeType": "VariableDeclaration", "scope": 340, - "src": "7375:13:0", + "src": "7359:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -21405,7 +21405,7 @@ "id": 326, "name": "address", "nodeType": "ElementaryTypeName", - "src": "7375:7:0", + "src": "7359:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -21415,7 +21415,7 @@ "visibility": "internal" } ], - "src": "7337:57:0" + "src": "7321:57:0" }, "payable": false, "returnParameters": { @@ -21428,7 +21428,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 340, - "src": "7442:4:0", + "src": "7426:4:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -21439,7 +21439,7 @@ "id": 329, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "7442:4:0", + "src": "7426:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -21449,10 +21449,10 @@ "visibility": "internal" } ], - "src": "7441:6:0" + "src": "7425:6:0" }, "scope": 1211, - "src": "7319:194:0", + "src": "7303:194:0", "stateMutability": "view", "superFunction": null, "visibility": "external" @@ -21461,7 +21461,7 @@ "body": { "id": 399, "nodeType": "Block", - "src": "8099:330:0", + "src": "8083:330:0", "statements": [ { "assignments": [ @@ -21474,7 +21474,7 @@ "name": "_value", "nodeType": "VariableDeclaration", "scope": 400, - "src": "8109:14:0", + "src": "8093:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -21485,7 +21485,7 @@ "id": 359, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "8109:7:0", + "src": "8093:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -21505,7 +21505,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1384, - "src": "8126:3:0", + "src": "8110:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -21519,14 +21519,14 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "8126:9:0", + "src": "8110:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "8109:26:0" + "src": "8093:26:0" }, { "expression": { @@ -21550,7 +21550,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 360, - "src": "8154:6:0", + "src": "8138:6:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -21568,7 +21568,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "8163:1:0", + "src": "8147:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -21576,7 +21576,7 @@ }, "value": "0" }, - "src": "8154:10:0", + "src": "8138:10:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -21592,7 +21592,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "8166:34:0", + "src": "8150:34:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_21fbec2be6560b9ccffc4980d43c0d147770168e7aaf24999b418b9010085622", @@ -21620,7 +21620,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "8146:7:0", + "src": "8130:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -21634,7 +21634,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8146:55:0", + "src": "8130:55:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -21642,7 +21642,7 @@ }, "id": 370, "nodeType": "ExpressionStatement", - "src": "8146:55:0" + "src": "8130:55:0" }, { "expression": { @@ -21663,7 +21663,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "8212:12:0", + "src": "8196:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -21677,7 +21677,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 342, - "src": "8225:10:0", + "src": "8209:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -21688,7 +21688,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "8212:24:0", + "src": "8196:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -21702,7 +21702,7 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": 40, - "src": "8212:30:0", + "src": "8196:30:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -21720,7 +21720,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 360, - "src": "8293:6:0", + "src": "8277:6:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -21745,7 +21745,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "8245:12:0", + "src": "8229:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -21759,7 +21759,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 342, - "src": "8258:10:0", + "src": "8242:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -21770,7 +21770,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "8245:24:0", + "src": "8229:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -21784,7 +21784,7 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": 40, - "src": "8245:30:0", + "src": "8229:30:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -21798,7 +21798,7 @@ "memberName": "add", "nodeType": "MemberAccess", "referencedDeclaration": 1348, - "src": "8245:47:0", + "src": "8229:47:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" @@ -21812,13 +21812,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8245:55:0", + "src": "8229:55:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "8212:88:0", + "src": "8196:88:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -21826,7 +21826,7 @@ }, "id": 383, "nodeType": "ExpressionStatement", - "src": "8212:88:0" + "src": "8196:88:0" }, { "expression": { @@ -21847,7 +21847,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "8310:12:0", + "src": "8294:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -21861,7 +21861,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 342, - "src": "8323:10:0", + "src": "8307:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -21872,7 +21872,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "8310:24:0", + "src": "8294:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -21886,7 +21886,7 @@ "memberName": "lastModified", "nodeType": "MemberAccess", "referencedDeclaration": 42, - "src": "8310:37:0", + "src": "8294:37:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -21903,7 +21903,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1374, - "src": "8350:5:0", + "src": "8334:5:0", "typeDescriptions": { "typeIdentifier": "t_magic_block", "typeString": "block" @@ -21917,13 +21917,13 @@ "memberName": "timestamp", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "8350:15:0", + "src": "8334:15:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "8310:55:0", + "src": "8294:55:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -21931,7 +21931,7 @@ }, "id": 391, "nodeType": "ExpressionStatement", - "src": "8310:55:0" + "src": "8294:55:0" }, { "eventCall": { @@ -21944,7 +21944,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 342, - "src": "8391:10:0", + "src": "8375:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -21959,7 +21959,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1384, - "src": "8403:3:0", + "src": "8387:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -21973,7 +21973,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "8403:10:0", + "src": "8387:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -21986,7 +21986,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 360, - "src": "8415:6:0", + "src": "8399:6:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -22013,7 +22013,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 30, - "src": "8381:9:0", + "src": "8365:9:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (bytes32,address,uint256)" @@ -22027,7 +22027,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8381:41:0", + "src": "8365:41:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -22035,7 +22035,7 @@ }, "id": 398, "nodeType": "EmitStatement", - "src": "8376:46:0" + "src": "8360:46:0" } ] }, @@ -22054,7 +22054,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 342, - "src": "7939:10:0", + "src": "7923:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -22069,14 +22069,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 99, - "src": "7921:17:0", + "src": "7905:17:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "7921:29:0" + "src": "7905:29:0" }, { "arguments": [ @@ -22087,7 +22087,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 342, - "src": "7973:10:0", + "src": "7957:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -22102,14 +22102,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 132, - "src": "7959:13:0", + "src": "7943:13:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "7959:25:0" + "src": "7943:25:0" }, { "arguments": [ @@ -22120,7 +22120,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 342, - "src": "8014:10:0", + "src": "7998:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -22135,7 +22135,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12, - "src": "8026:15:0", + "src": "8010:15:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_TransactionType_$12_$", "typeString": "type(enum Escrow_v1_0.TransactionType)" @@ -22149,7 +22149,7 @@ "memberName": "ETHER", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "8026:21:0", + "src": "8010:21:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -22164,14 +22164,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 165, - "src": "7993:20:0", + "src": "7977:20:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$_t_enum$_TransactionType_$12_$", "typeString": "modifier (bytes32,enum Escrow_v1_0.TransactionType)" } }, "nodeType": "ModifierInvocation", - "src": "7993:55:0" + "src": "7977:55:0" }, { "arguments": [ @@ -22182,7 +22182,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 342, - "src": "8067:10:0", + "src": "8051:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -22197,14 +22197,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 182, - "src": "8057:9:0", + "src": "8041:9:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "8057:21:0" + "src": "8041:21:0" } ], "name": "addFundsToTransaction", @@ -22219,7 +22219,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 400, - "src": "7871:18:0", + "src": "7855:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -22230,7 +22230,7 @@ "id": 341, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "7871:7:0", + "src": "7855:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -22240,17 +22240,17 @@ "visibility": "internal" } ], - "src": "7861:34:0" + "src": "7845:34:0" }, "payable": true, "returnParameters": { "id": 358, "nodeType": "ParameterList", "parameters": [], - "src": "8099:0:0" + "src": "8083:0:0" }, "scope": 1211, - "src": "7831:598:0", + "src": "7815:598:0", "stateMutability": "payable", "superFunction": null, "visibility": "external" @@ -22259,7 +22259,7 @@ "body": { "id": 482, "nodeType": "Block", - "src": "8965:648:0", + "src": "8949:648:0", "statements": [ { "assignments": [ @@ -22272,7 +22272,7 @@ "name": "_value", "nodeType": "VariableDeclaration", "scope": 483, - "src": "8975:14:0", + "src": "8959:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -22283,7 +22283,7 @@ "id": 421, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "8975:7:0", + "src": "8959:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -22301,14 +22301,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 404, - "src": "8992:5:0", + "src": "8976:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "8975:22:0" + "src": "8959:22:0" }, { "expression": { @@ -22332,7 +22332,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 422, - "src": "9016:6:0", + "src": "9000:6:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -22350,7 +22350,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "9025:1:0", + "src": "9009:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -22358,7 +22358,7 @@ }, "value": "0" }, - "src": "9016:10:0", + "src": "9000:10:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -22374,7 +22374,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "9028:34:0", + "src": "9012:34:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_21fbec2be6560b9ccffc4980d43c0d147770168e7aaf24999b418b9010085622", @@ -22402,7 +22402,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "9008:7:0", + "src": "8992:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -22416,7 +22416,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "9008:55:0", + "src": "8992:55:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -22424,7 +22424,7 @@ }, "id": 431, "nodeType": "ExpressionStatement", - "src": "9008:55:0" + "src": "8992:55:0" }, { "assignments": [ @@ -22437,7 +22437,7 @@ "name": "token", "nodeType": "VariableDeclaration", "scope": 483, - "src": "9074:20:0", + "src": "9058:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -22450,7 +22450,7 @@ "name": "ITokenContract", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 1241, - "src": "9074:14:0", + "src": "9058:14:0", "typeDescriptions": { "typeIdentifier": "t_contract$_ITokenContract_$1241", "typeString": "contract ITokenContract" @@ -22475,7 +22475,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "9125:12:0", + "src": "9109:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -22489,7 +22489,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 402, - "src": "9138:10:0", + "src": "9122:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -22500,7 +22500,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "9125:24:0", + "src": "9109:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -22514,7 +22514,7 @@ "memberName": "tokenAddress", "nodeType": "MemberAccess", "referencedDeclaration": 56, - "src": "9125:37:0", + "src": "9109:37:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -22533,7 +22533,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1241, - "src": "9097:14:0", + "src": "9081:14:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_ITokenContract_$1241_$", "typeString": "type(contract ITokenContract)" @@ -22547,14 +22547,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "9097:75:0", + "src": "9081:75:0", "typeDescriptions": { "typeIdentifier": "t_contract$_ITokenContract_$1241", "typeString": "contract ITokenContract" } }, "nodeType": "VariableDeclarationStatement", - "src": "9074:98:0" + "src": "9058:98:0" }, { "expression": { @@ -22574,7 +22574,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "9223:12:0", + "src": "9207:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -22588,7 +22588,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 402, - "src": "9236:10:0", + "src": "9220:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -22599,7 +22599,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "9223:24:0", + "src": "9207:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -22613,7 +22613,7 @@ "memberName": "buyer", "nodeType": "MemberAccess", "referencedDeclaration": 52, - "src": "9223:30:0", + "src": "9207:30:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -22626,7 +22626,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1401, - "src": "9255:4:0", + "src": "9239:4:0", "typeDescriptions": { "typeIdentifier": "t_contract$_Escrow_v1_0_$1211", "typeString": "contract Escrow_v1_0" @@ -22639,7 +22639,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 404, - "src": "9261:5:0", + "src": "9245:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -22668,7 +22668,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 433, - "src": "9204:5:0", + "src": "9188:5:0", "typeDescriptions": { "typeIdentifier": "t_contract$_ITokenContract_$1241", "typeString": "contract ITokenContract" @@ -22682,7 +22682,7 @@ "memberName": "transferFrom", "nodeType": "MemberAccess", "referencedDeclaration": 1240, - "src": "9204:18:0", + "src": "9188:18:0", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", "typeString": "function (address,address,uint256) external returns (bool)" @@ -22696,7 +22696,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "9204:63:0", + "src": "9188:63:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -22712,7 +22712,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "9281:94:0", + "src": "9265:94:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_d9d07068d589bc4adc53018a3c57c159ec128fdfb62732a5fa9410e76cf03318", @@ -22740,7 +22740,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "9183:7:0", + "src": "9167:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -22754,7 +22754,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "9183:202:0", + "src": "9167:202:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -22762,7 +22762,7 @@ }, "id": 453, "nodeType": "ExpressionStatement", - "src": "9183:202:0" + "src": "9167:202:0" }, { "expression": { @@ -22783,7 +22783,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "9396:12:0", + "src": "9380:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -22797,7 +22797,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 402, - "src": "9409:10:0", + "src": "9393:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -22808,7 +22808,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "9396:24:0", + "src": "9380:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -22822,7 +22822,7 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": 40, - "src": "9396:30:0", + "src": "9380:30:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -22840,7 +22840,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 422, - "src": "9477:6:0", + "src": "9461:6:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -22865,7 +22865,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "9429:12:0", + "src": "9413:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -22879,7 +22879,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 402, - "src": "9442:10:0", + "src": "9426:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -22890,7 +22890,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "9429:24:0", + "src": "9413:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -22904,7 +22904,7 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": 40, - "src": "9429:30:0", + "src": "9413:30:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -22918,7 +22918,7 @@ "memberName": "add", "nodeType": "MemberAccess", "referencedDeclaration": 1348, - "src": "9429:47:0", + "src": "9413:47:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" @@ -22932,13 +22932,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "9429:55:0", + "src": "9413:55:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "9396:88:0", + "src": "9380:88:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -22946,7 +22946,7 @@ }, "id": 466, "nodeType": "ExpressionStatement", - "src": "9396:88:0" + "src": "9380:88:0" }, { "expression": { @@ -22967,7 +22967,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "9494:12:0", + "src": "9478:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -22981,7 +22981,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 402, - "src": "9507:10:0", + "src": "9491:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -22992,7 +22992,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "9494:24:0", + "src": "9478:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -23006,7 +23006,7 @@ "memberName": "lastModified", "nodeType": "MemberAccess", "referencedDeclaration": 42, - "src": "9494:37:0", + "src": "9478:37:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -23023,7 +23023,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1374, - "src": "9534:5:0", + "src": "9518:5:0", "typeDescriptions": { "typeIdentifier": "t_magic_block", "typeString": "block" @@ -23037,13 +23037,13 @@ "memberName": "timestamp", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "9534:15:0", + "src": "9518:15:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "9494:55:0", + "src": "9478:55:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -23051,7 +23051,7 @@ }, "id": 474, "nodeType": "ExpressionStatement", - "src": "9494:55:0" + "src": "9478:55:0" }, { "eventCall": { @@ -23064,7 +23064,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 402, - "src": "9575:10:0", + "src": "9559:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -23079,7 +23079,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1384, - "src": "9587:3:0", + "src": "9571:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -23093,7 +23093,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "9587:10:0", + "src": "9571:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -23106,7 +23106,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 422, - "src": "9599:6:0", + "src": "9583:6:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -23133,7 +23133,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 30, - "src": "9565:9:0", + "src": "9549:9:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (bytes32,address,uint256)" @@ -23147,7 +23147,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "9565:41:0", + "src": "9549:41:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -23155,7 +23155,7 @@ }, "id": 481, "nodeType": "EmitStatement", - "src": "9560:46:0" + "src": "9544:46:0" } ] }, @@ -23174,7 +23174,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 402, - "src": "8821:10:0", + "src": "8805:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -23189,14 +23189,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 99, - "src": "8803:17:0", + "src": "8787:17:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "8803:29:0" + "src": "8787:29:0" }, { "arguments": [ @@ -23207,7 +23207,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 402, - "src": "8855:10:0", + "src": "8839:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -23222,14 +23222,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 132, - "src": "8841:13:0", + "src": "8825:13:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "8841:25:0" + "src": "8825:25:0" }, { "arguments": [ @@ -23240,7 +23240,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 402, - "src": "8896:10:0", + "src": "8880:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -23255,7 +23255,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12, - "src": "8908:15:0", + "src": "8892:15:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_TransactionType_$12_$", "typeString": "type(enum Escrow_v1_0.TransactionType)" @@ -23269,7 +23269,7 @@ "memberName": "TOKEN", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "8908:21:0", + "src": "8892:21:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -23284,14 +23284,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 165, - "src": "8875:20:0", + "src": "8859:20:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$_t_enum$_TransactionType_$12_$", "typeString": "modifier (bytes32,enum Escrow_v1_0.TransactionType)" } }, "nodeType": "ModifierInvocation", - "src": "8875:55:0" + "src": "8859:55:0" }, { "arguments": [ @@ -23302,7 +23302,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 402, - "src": "8949:10:0", + "src": "8933:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -23317,14 +23317,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 182, - "src": "8939:9:0", + "src": "8923:9:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "8939:21:0" + "src": "8923:21:0" } ], "name": "addTokensToTransaction", @@ -23339,7 +23339,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 483, - "src": "8730:18:0", + "src": "8714:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -23350,7 +23350,7 @@ "id": 401, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "8730:7:0", + "src": "8714:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -23365,7 +23365,7 @@ "name": "value", "nodeType": "VariableDeclaration", "scope": 483, - "src": "8758:13:0", + "src": "8742:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -23376,7 +23376,7 @@ "id": 403, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "8758:7:0", + "src": "8742:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -23386,17 +23386,17 @@ "visibility": "internal" } ], - "src": "8720:57:0" + "src": "8704:57:0" }, "payable": false, "returnParameters": { "id": 420, "nodeType": "ParameterList", "parameters": [], - "src": "8965:0:0" + "src": "8949:0:0" }, "scope": 1211, - "src": "8689:924:0", + "src": "8673:924:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" @@ -23405,7 +23405,7 @@ "body": { "id": 495, "nodeType": "Block", - "src": "9868:56:0", + "src": "9852:56:0", "statements": [ { "expression": { @@ -23417,7 +23417,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 83, - "src": "9885:18:0", + "src": "9869:18:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_bytes32_$dyn_storage_$", "typeString": "mapping(address => bytes32[] storage ref)" @@ -23431,7 +23431,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 485, - "src": "9904:12:0", + "src": "9888:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -23442,7 +23442,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "9885:32:0", + "src": "9869:32:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage", "typeString": "bytes32[] storage ref" @@ -23451,7 +23451,7 @@ "functionReturnParameters": 490, "id": 494, "nodeType": "Return", - "src": "9878:39:0" + "src": "9862:39:0" } ] }, @@ -23473,7 +23473,7 @@ "name": "partyAddress", "nodeType": "VariableDeclaration", "scope": 496, - "src": "9775:20:0", + "src": "9759:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -23484,7 +23484,7 @@ "id": 484, "name": "address", "nodeType": "ElementaryTypeName", - "src": "9775:7:0", + "src": "9759:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -23494,7 +23494,7 @@ "visibility": "internal" } ], - "src": "9765:36:0" + "src": "9749:36:0" }, "payable": false, "returnParameters": { @@ -23507,7 +23507,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 496, - "src": "9852:9:0", + "src": "9836:9:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -23519,7 +23519,7 @@ "id": 487, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "9852:7:0", + "src": "9836:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -23528,7 +23528,7 @@ "id": 488, "length": null, "nodeType": "ArrayTypeName", - "src": "9852:9:0", + "src": "9836:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -23538,10 +23538,10 @@ "visibility": "internal" } ], - "src": "9851:11:0" + "src": "9835:11:0" }, "scope": 1211, - "src": "9730:194:0", + "src": "9714:194:0", "stateMutability": "view", "superFunction": null, "visibility": "external" @@ -23550,7 +23550,7 @@ "body": { "id": 581, "nodeType": "Block", - "src": "10907:790:0", + "src": "10891:790:0", "statements": [ { "expression": { @@ -23587,7 +23587,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 510, - "src": "10938:12:0", + "src": "10922:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" @@ -23601,7 +23601,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "10938:19:0", + "src": "10922:19:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -23619,7 +23619,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "10958:1:0", + "src": "10942:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -23627,7 +23627,7 @@ }, "value": "0" }, - "src": "10938:21:0", + "src": "10922:21:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -23655,7 +23655,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 510, - "src": "10963:12:0", + "src": "10947:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" @@ -23669,7 +23669,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "10963:19:0", + "src": "10947:19:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -23686,7 +23686,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 513, - "src": "10986:7:0", + "src": "10970:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", "typeString": "uint256[] calldata" @@ -23700,19 +23700,19 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "10986:14:0", + "src": "10970:14:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "10963:37:0", + "src": "10947:37:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "10938:62:0", + "src": "10922:62:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -23728,7 +23728,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "11002:38:0", + "src": "10986:38:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_53e979b0c355ea1eeda44a80ca73370fdb2abe922711b459aa4ee43d1558782b", @@ -23756,7 +23756,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "10917:7:0", + "src": "10901:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -23770,7 +23770,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "10917:133:0", + "src": "10901:133:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -23778,7 +23778,7 @@ }, "id": 535, "nodeType": "ExpressionStatement", - "src": "10917:133:0" + "src": "10901:133:0" }, { "expression": { @@ -23791,7 +23791,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 499, - "src": "11092:4:0", + "src": "11076:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_calldata_ptr", "typeString": "uint8[] calldata" @@ -23804,7 +23804,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 502, - "src": "11110:4:0", + "src": "11094:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", "typeString": "bytes32[] calldata" @@ -23817,7 +23817,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 505, - "src": "11128:4:0", + "src": "11112:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", "typeString": "bytes32[] calldata" @@ -23830,7 +23830,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 507, - "src": "11146:10:0", + "src": "11130:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -23843,7 +23843,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 510, - "src": "11170:12:0", + "src": "11154:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" @@ -23856,7 +23856,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 513, - "src": "11196:7:0", + "src": "11180:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", "typeString": "uint256[] calldata" @@ -23895,7 +23895,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 706, - "src": "11061:17:0", + "src": "11045:17:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_array$_t_uint8_$dyn_memory_ptr_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_bytes32_$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$__$", "typeString": "function (uint8[] memory,bytes32[] memory,bytes32[] memory,bytes32,address[] memory,uint256[] memory)" @@ -23909,7 +23909,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "11061:152:0", + "src": "11045:152:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -23917,7 +23917,7 @@ }, "id": 544, "nodeType": "ExpressionStatement", - "src": "11061:152:0" + "src": "11045:152:0" }, { "expression": { @@ -23938,7 +23938,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "11224:12:0", + "src": "11208:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -23952,7 +23952,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 507, - "src": "11237:10:0", + "src": "11221:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -23963,7 +23963,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "11224:24:0", + "src": "11208:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -23977,7 +23977,7 @@ "memberName": "status", "nodeType": "MemberAccess", "referencedDeclaration": 44, - "src": "11224:31:0", + "src": "11208:31:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$9", "typeString": "enum Escrow_v1_0.Status" @@ -23994,7 +23994,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9, - "src": "11258:6:0", + "src": "11242:6:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_Status_$9_$", "typeString": "type(enum Escrow_v1_0.Status)" @@ -24008,13 +24008,13 @@ "memberName": "RELEASED", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "11258:15:0", + "src": "11242:15:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$9", "typeString": "enum Escrow_v1_0.Status" } }, - "src": "11224:49:0", + "src": "11208:49:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$9", "typeString": "enum Escrow_v1_0.Status" @@ -24022,7 +24022,7 @@ }, "id": 552, "nodeType": "ExpressionStatement", - "src": "11224:49:0" + "src": "11208:49:0" }, { "expression": { @@ -24043,7 +24043,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "11357:12:0", + "src": "11341:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -24057,7 +24057,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 507, - "src": "11370:10:0", + "src": "11354:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -24068,7 +24068,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "11357:24:0", + "src": "11341:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -24082,7 +24082,7 @@ "memberName": "lastModified", "nodeType": "MemberAccess", "referencedDeclaration": 42, - "src": "11357:37:0", + "src": "11341:37:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -24099,7 +24099,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1374, - "src": "11397:5:0", + "src": "11381:5:0", "typeDescriptions": { "typeIdentifier": "t_magic_block", "typeString": "block" @@ -24113,13 +24113,13 @@ "memberName": "timestamp", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "11397:15:0", + "src": "11381:15:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "11357:55:0", + "src": "11341:55:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -24127,7 +24127,7 @@ }, "id": 560, "nodeType": "ExpressionStatement", - "src": "11357:55:0" + "src": "11341:55:0" }, { "expression": { @@ -24154,7 +24154,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 507, - "src": "11457:10:0", + "src": "11441:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -24167,7 +24167,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 510, - "src": "11469:12:0", + "src": "11453:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" @@ -24180,7 +24180,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 513, - "src": "11483:7:0", + "src": "11467:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", "typeString": "uint256[] calldata" @@ -24207,7 +24207,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 893, - "src": "11443:13:0", + "src": "11427:13:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$_t_uint256_$", "typeString": "function (bytes32,address[] memory,uint256[] memory) returns (uint256)" @@ -24221,7 +24221,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "11443:48:0", + "src": "11427:48:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -24240,7 +24240,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "11495:12:0", + "src": "11479:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -24254,7 +24254,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 507, - "src": "11508:10:0", + "src": "11492:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -24265,7 +24265,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "11495:24:0", + "src": "11479:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -24279,13 +24279,13 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": 40, - "src": "11495:30:0", + "src": "11479:30:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "11443:82:0", + "src": "11427:82:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -24301,7 +24301,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "11539:74:0", + "src": "11523:74:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_9e0bdb14e2e0d5e118fd1f547268c6a1fdb5e8facacd614066d4b60bc2c9941d", @@ -24329,7 +24329,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "11422:7:0", + "src": "11406:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -24343,7 +24343,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "11422:201:0", + "src": "11406:201:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -24351,7 +24351,7 @@ }, "id": 574, "nodeType": "ExpressionStatement", - "src": "11422:201:0" + "src": "11406:201:0" }, { "eventCall": { @@ -24364,7 +24364,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 507, - "src": "11656:10:0", + "src": "11640:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -24377,7 +24377,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 510, - "src": "11668:12:0", + "src": "11652:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" @@ -24390,7 +24390,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 513, - "src": "11682:7:0", + "src": "11666:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", "typeString": "uint256[] calldata" @@ -24417,7 +24417,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 22, - "src": "11647:8:0", + "src": "11631:8:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$__$", "typeString": "function (bytes32,address[] memory,uint256[] memory)" @@ -24431,7 +24431,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "11647:43:0", + "src": "11631:43:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -24439,7 +24439,7 @@ }, "id": 580, "nodeType": "EmitStatement", - "src": "11642:48:0" + "src": "11626:48:0" } ] }, @@ -24458,7 +24458,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 507, - "src": "10857:10:0", + "src": "10841:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -24473,14 +24473,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 99, - "src": "10839:17:0", + "src": "10823:17:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "10839:29:0" + "src": "10823:29:0" }, { "arguments": [ @@ -24491,7 +24491,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 507, - "src": "10891:10:0", + "src": "10875:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -24506,14 +24506,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 132, - "src": "10877:13:0", + "src": "10861:13:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "10877:25:0" + "src": "10861:25:0" } ], "name": "execute", @@ -24528,7 +24528,7 @@ "name": "sigV", "nodeType": "VariableDeclaration", "scope": 582, - "src": "10660:12:0", + "src": "10644:12:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -24540,7 +24540,7 @@ "id": 497, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "10660:5:0", + "src": "10644:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -24549,7 +24549,7 @@ "id": 498, "length": null, "nodeType": "ArrayTypeName", - "src": "10660:7:0", + "src": "10644:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_storage_ptr", "typeString": "uint8[]" @@ -24564,7 +24564,7 @@ "name": "sigR", "nodeType": "VariableDeclaration", "scope": 582, - "src": "10682:14:0", + "src": "10666:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -24576,7 +24576,7 @@ "id": 500, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "10682:7:0", + "src": "10666:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -24585,7 +24585,7 @@ "id": 501, "length": null, "nodeType": "ArrayTypeName", - "src": "10682:9:0", + "src": "10666:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -24600,7 +24600,7 @@ "name": "sigS", "nodeType": "VariableDeclaration", "scope": 582, - "src": "10706:14:0", + "src": "10690:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -24612,7 +24612,7 @@ "id": 503, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "10706:7:0", + "src": "10690:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -24621,7 +24621,7 @@ "id": 504, "length": null, "nodeType": "ArrayTypeName", - "src": "10706:9:0", + "src": "10690:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -24636,7 +24636,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 582, - "src": "10730:18:0", + "src": "10714:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -24647,7 +24647,7 @@ "id": 506, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "10730:7:0", + "src": "10714:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -24662,7 +24662,7 @@ "name": "destinations", "nodeType": "VariableDeclaration", "scope": 582, - "src": "10758:22:0", + "src": "10742:22:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -24674,7 +24674,7 @@ "id": 508, "name": "address", "nodeType": "ElementaryTypeName", - "src": "10758:7:0", + "src": "10742:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -24683,7 +24683,7 @@ "id": 509, "length": null, "nodeType": "ArrayTypeName", - "src": "10758:9:0", + "src": "10742:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", "typeString": "address[]" @@ -24698,7 +24698,7 @@ "name": "amounts", "nodeType": "VariableDeclaration", "scope": 582, - "src": "10790:17:0", + "src": "10774:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -24710,7 +24710,7 @@ "id": 511, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "10790:7:0", + "src": "10774:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -24719,7 +24719,7 @@ "id": 512, "length": null, "nodeType": "ArrayTypeName", - "src": "10790:9:0", + "src": "10774:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -24729,17 +24729,17 @@ "visibility": "internal" } ], - "src": "10650:163:0" + "src": "10634:163:0" }, "payable": false, "returnParameters": { "id": 521, "nodeType": "ParameterList", "parameters": [], - "src": "10907:0:0" + "src": "10891:0:0" }, "scope": 1211, - "src": "10634:1063:0", + "src": "10618:1063:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" @@ -24748,7 +24748,7 @@ "body": { "id": 636, "nodeType": "Block", - "src": "12451:716:0", + "src": "12435:716:0", "statements": [ { "condition": { @@ -24769,7 +24769,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 596, - "src": "12465:12:0", + "src": "12449:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -24790,7 +24790,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "12489:1:0", + "src": "12473:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -24812,7 +24812,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "12481:7:0", + "src": "12465:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" @@ -24827,13 +24827,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "12481:10:0", + "src": "12465:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "12465:26:0", + "src": "12449:26:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -24842,7 +24842,7 @@ "falseBody": { "id": 634, "nodeType": "Block", - "src": "12813:348:0", + "src": "12797:348:0", "statements": [ { "expression": { @@ -24858,7 +24858,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 584, - "src": "12899:8:0", + "src": "12883:8:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -24871,7 +24871,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 586, - "src": "12929:9:0", + "src": "12913:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -24884,7 +24884,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 588, - "src": "12960:12:0", + "src": "12944:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -24897,7 +24897,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 590, - "src": "12994:5:0", + "src": "12978:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -24910,7 +24910,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 592, - "src": "13021:6:0", + "src": "13005:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -24923,7 +24923,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 594, - "src": "13049:9:0", + "src": "13033:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -24936,7 +24936,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1401, - "src": "13080:4:0", + "src": "13064:4:0", "typeDescriptions": { "typeIdentifier": "t_contract$_Escrow_v1_0_$1211", "typeString": "contract Escrow_v1_0" @@ -24949,7 +24949,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 596, - "src": "13106:12:0", + "src": "13090:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -24998,7 +24998,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1371, - "src": "12861:3:0", + "src": "12845:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" @@ -25012,7 +25012,7 @@ "memberName": "encodePacked", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "12861:16:0", + "src": "12845:16:0", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" @@ -25026,7 +25026,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "12861:275:0", + "src": "12845:275:0", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -25045,7 +25045,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1378, - "src": "12834:9:0", + "src": "12818:9:0", "typeDescriptions": { "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", "typeString": "function () pure returns (bytes32)" @@ -25059,7 +25059,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "12834:316:0", + "src": "12818:316:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -25068,17 +25068,17 @@ "functionReturnParameters": 600, "id": 633, "nodeType": "Return", - "src": "12827:323:0" + "src": "12811:323:0" } ] }, "id": 635, "nodeType": "IfStatement", - "src": "12461:700:0", + "src": "12445:700:0", "trueBody": { "id": 619, "nodeType": "Block", - "src": "12493:314:0", + "src": "12477:314:0", "statements": [ { "expression": { @@ -25094,7 +25094,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 584, - "src": "12579:8:0", + "src": "12563:8:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -25107,7 +25107,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 586, - "src": "12609:9:0", + "src": "12593:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -25120,7 +25120,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 588, - "src": "12640:12:0", + "src": "12624:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -25133,7 +25133,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 590, - "src": "12674:5:0", + "src": "12658:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -25146,7 +25146,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 592, - "src": "12701:6:0", + "src": "12685:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -25159,7 +25159,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 594, - "src": "12729:9:0", + "src": "12713:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -25172,7 +25172,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1401, - "src": "12760:4:0", + "src": "12744:4:0", "typeDescriptions": { "typeIdentifier": "t_contract$_Escrow_v1_0_$1211", "typeString": "contract Escrow_v1_0" @@ -25217,7 +25217,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1371, - "src": "12541:3:0", + "src": "12525:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" @@ -25231,7 +25231,7 @@ "memberName": "encodePacked", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "12541:16:0", + "src": "12525:16:0", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" @@ -25245,7 +25245,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "12541:241:0", + "src": "12525:241:0", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -25264,7 +25264,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1378, - "src": "12514:9:0", + "src": "12498:9:0", "typeDescriptions": { "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", "typeString": "function () pure returns (bytes32)" @@ -25278,7 +25278,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "12514:282:0", + "src": "12498:282:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -25287,7 +25287,7 @@ "functionReturnParameters": 600, "id": 618, "nodeType": "Return", - "src": "12507:289:0" + "src": "12491:289:0" } ] } @@ -25312,7 +25312,7 @@ "name": "uniqueId", "nodeType": "VariableDeclaration", "scope": 637, - "src": "12212:16:0", + "src": "12196:16:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -25323,7 +25323,7 @@ "id": 583, "name": "bytes20", "nodeType": "ElementaryTypeName", - "src": "12212:7:0", + "src": "12196:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -25338,7 +25338,7 @@ "name": "threshold", "nodeType": "VariableDeclaration", "scope": 637, - "src": "12238:15:0", + "src": "12222:15:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -25349,7 +25349,7 @@ "id": 585, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "12238:5:0", + "src": "12222:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -25364,7 +25364,7 @@ "name": "timeoutHours", "nodeType": "VariableDeclaration", "scope": 637, - "src": "12263:19:0", + "src": "12247:19:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -25375,7 +25375,7 @@ "id": 587, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "12263:6:0", + "src": "12247:6:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -25390,7 +25390,7 @@ "name": "buyer", "nodeType": "VariableDeclaration", "scope": 637, - "src": "12292:13:0", + "src": "12276:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -25401,7 +25401,7 @@ "id": 589, "name": "address", "nodeType": "ElementaryTypeName", - "src": "12292:7:0", + "src": "12276:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -25416,7 +25416,7 @@ "name": "seller", "nodeType": "VariableDeclaration", "scope": 637, - "src": "12315:14:0", + "src": "12299:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -25427,7 +25427,7 @@ "id": 591, "name": "address", "nodeType": "ElementaryTypeName", - "src": "12315:7:0", + "src": "12299:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -25442,7 +25442,7 @@ "name": "moderator", "nodeType": "VariableDeclaration", "scope": 637, - "src": "12339:17:0", + "src": "12323:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -25453,7 +25453,7 @@ "id": 593, "name": "address", "nodeType": "ElementaryTypeName", - "src": "12339:7:0", + "src": "12323:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -25468,7 +25468,7 @@ "name": "tokenAddress", "nodeType": "VariableDeclaration", "scope": 637, - "src": "12366:20:0", + "src": "12350:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -25479,7 +25479,7 @@ "id": 595, "name": "address", "nodeType": "ElementaryTypeName", - "src": "12366:7:0", + "src": "12350:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -25489,7 +25489,7 @@ "visibility": "internal" } ], - "src": "12202:190:0" + "src": "12186:190:0" }, "payable": false, "returnParameters": { @@ -25502,7 +25502,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 637, - "src": "12438:7:0", + "src": "12422:7:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -25513,7 +25513,7 @@ "id": 598, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "12438:7:0", + "src": "12422:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -25523,10 +25523,10 @@ "visibility": "internal" } ], - "src": "12437:9:0" + "src": "12421:9:0" }, "scope": 1211, - "src": "12168:999:0", + "src": "12152:999:0", "stateMutability": "view", "superFunction": null, "visibility": "public" @@ -25535,7 +25535,7 @@ "body": { "id": 705, "nodeType": "Block", - "src": "13651:795:0", + "src": "13635:795:0", "statements": [ { "assignments": [ @@ -25548,7 +25548,7 @@ "name": "lastRecovered", "nodeType": "VariableDeclaration", "scope": 706, - "src": "13661:21:0", + "src": "13645:21:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -25559,7 +25559,7 @@ "id": 657, "name": "address", "nodeType": "ElementaryTypeName", - "src": "13661:7:0", + "src": "13645:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -25580,7 +25580,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 640, - "src": "13715:4:0", + "src": "13699:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr", "typeString": "uint8[] memory" @@ -25593,7 +25593,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 643, - "src": "13733:4:0", + "src": "13717:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" @@ -25606,7 +25606,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 646, - "src": "13751:4:0", + "src": "13735:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" @@ -25619,7 +25619,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 648, - "src": "13769:10:0", + "src": "13753:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -25632,7 +25632,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 651, - "src": "13793:12:0", + "src": "13777:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -25645,7 +25645,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 654, - "src": "13819:7:0", + "src": "13803:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" @@ -25684,7 +25684,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1022, - "src": "13685:16:0", + "src": "13669:16:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_array$_t_uint8_$dyn_memory_ptr_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_bytes32_$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$_t_address_$", "typeString": "function (uint8[] memory,bytes32[] memory,bytes32[] memory,bytes32,address[] memory,uint256[] memory) returns (address)" @@ -25698,14 +25698,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "13685:151:0", + "src": "13669:151:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "VariableDeclarationStatement", - "src": "13661:175:0" + "src": "13645:175:0" }, { "assignments": [ @@ -25718,7 +25718,7 @@ "name": "timeLockExpired", "nodeType": "VariableDeclaration", "scope": 706, - "src": "13847:20:0", + "src": "13831:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -25729,7 +25729,7 @@ "id": 668, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "13847:4:0", + "src": "13831:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -25754,7 +25754,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "13901:12:0", + "src": "13885:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -25768,7 +25768,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 648, - "src": "13914:10:0", + "src": "13898:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -25779,7 +25779,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "13901:24:0", + "src": "13885:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -25793,7 +25793,7 @@ "memberName": "timeoutHours", "nodeType": "MemberAccess", "referencedDeclaration": 50, - "src": "13901:37:0", + "src": "13885:37:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -25810,7 +25810,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "13952:12:0", + "src": "13936:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -25824,7 +25824,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 648, - "src": "13965:10:0", + "src": "13949:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -25835,7 +25835,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "13952:24:0", + "src": "13936:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -25849,7 +25849,7 @@ "memberName": "lastModified", "nodeType": "MemberAccess", "referencedDeclaration": 42, - "src": "13952:37:0", + "src": "13936:37:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -25872,7 +25872,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1054, - "src": "13870:17:0", + "src": "13854:17:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_uint32_$_t_uint256_$returns$_t_bool_$", "typeString": "function (uint32,uint256) view returns (bool)" @@ -25886,14 +25886,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "13870:129:0", + "src": "13854:129:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "nodeType": "VariableDeclarationStatement", - "src": "13847:152:0" + "src": "13831:152:0" }, { "condition": { @@ -25927,7 +25927,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 640, - "src": "14171:4:0", + "src": "14155:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr", "typeString": "uint8[] memory" @@ -25941,7 +25941,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "14171:11:0", + "src": "14155:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -25960,7 +25960,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "14185:12:0", + "src": "14169:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -25974,7 +25974,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 648, - "src": "14198:10:0", + "src": "14182:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -25985,7 +25985,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "14185:24:0", + "src": "14169:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -25999,13 +25999,13 @@ "memberName": "threshold", "nodeType": "MemberAccess", "referencedDeclaration": 48, - "src": "14185:34:0", + "src": "14169:34:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, - "src": "14171:48:0", + "src": "14155:48:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -26037,7 +26037,7 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "14224:16:0", + "src": "14208:16:0", "subExpression": { "argumentTypes": null, "id": 688, @@ -26045,7 +26045,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 669, - "src": "14225:15:0", + "src": "14209:15:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -26076,7 +26076,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 658, - "src": "14244:13:0", + "src": "14228:13:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -26095,7 +26095,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "14261:12:0", + "src": "14245:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -26109,7 +26109,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 648, - "src": "14274:10:0", + "src": "14258:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -26120,7 +26120,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "14261:24:0", + "src": "14245:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -26134,19 +26134,19 @@ "memberName": "seller", "nodeType": "MemberAccess", "referencedDeclaration": 54, - "src": "14261:31:0", + "src": "14245:31:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "14244:48:0", + "src": "14228:48:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "14224:68:0", + "src": "14208:68:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -26160,13 +26160,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "14223:70:0", + "src": "14207:70:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "14171:122:0", + "src": "14155:122:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -26175,11 +26175,11 @@ "falseBody": null, "id": 704, "nodeType": "IfStatement", - "src": "14150:289:0", + "src": "14134:289:0", "trueBody": { "id": 703, "nodeType": "Block", - "src": "14316:123:0", + "src": "14300:123:0", "statements": [ { "expression": { @@ -26195,7 +26195,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "14337:90:0", + "src": "14321:90:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_e454643f61f81e3a3dc8dabaafde295fea592e232abeb03abbb1835bdc3d20d0", @@ -26219,7 +26219,7 @@ 1390 ], "referencedDeclaration": 1390, - "src": "14330:6:0", + "src": "14314:6:0", "typeDescriptions": { "typeIdentifier": "t_function_revert_pure$_t_string_memory_ptr_$returns$__$", "typeString": "function (string memory) pure" @@ -26233,7 +26233,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "14330:98:0", + "src": "14314:98:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -26241,7 +26241,7 @@ }, "id": 702, "nodeType": "ExpressionStatement", - "src": "14330:98:0" + "src": "14314:98:0" } ] } @@ -26266,7 +26266,7 @@ "name": "sigV", "nodeType": "VariableDeclaration", "scope": 706, - "src": "13477:12:0", + "src": "13461:12:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -26278,7 +26278,7 @@ "id": 638, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "13477:5:0", + "src": "13461:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -26287,7 +26287,7 @@ "id": 639, "length": null, "nodeType": "ArrayTypeName", - "src": "13477:7:0", + "src": "13461:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_storage_ptr", "typeString": "uint8[]" @@ -26302,7 +26302,7 @@ "name": "sigR", "nodeType": "VariableDeclaration", "scope": 706, - "src": "13499:14:0", + "src": "13483:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -26314,7 +26314,7 @@ "id": 641, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "13499:7:0", + "src": "13483:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -26323,7 +26323,7 @@ "id": 642, "length": null, "nodeType": "ArrayTypeName", - "src": "13499:9:0", + "src": "13483:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -26338,7 +26338,7 @@ "name": "sigS", "nodeType": "VariableDeclaration", "scope": 706, - "src": "13523:14:0", + "src": "13507:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -26350,7 +26350,7 @@ "id": 644, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "13523:7:0", + "src": "13507:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -26359,7 +26359,7 @@ "id": 645, "length": null, "nodeType": "ArrayTypeName", - "src": "13523:9:0", + "src": "13507:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -26374,7 +26374,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 706, - "src": "13547:18:0", + "src": "13531:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -26385,7 +26385,7 @@ "id": 647, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "13547:7:0", + "src": "13531:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -26400,7 +26400,7 @@ "name": "destinations", "nodeType": "VariableDeclaration", "scope": 706, - "src": "13575:22:0", + "src": "13559:22:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -26412,7 +26412,7 @@ "id": 649, "name": "address", "nodeType": "ElementaryTypeName", - "src": "13575:7:0", + "src": "13559:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -26421,7 +26421,7 @@ "id": 650, "length": null, "nodeType": "ArrayTypeName", - "src": "13575:9:0", + "src": "13559:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", "typeString": "address[]" @@ -26436,7 +26436,7 @@ "name": "amounts", "nodeType": "VariableDeclaration", "scope": 706, - "src": "13607:17:0", + "src": "13591:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -26448,7 +26448,7 @@ "id": 652, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "13607:7:0", + "src": "13591:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -26457,7 +26457,7 @@ "id": 653, "length": null, "nodeType": "ArrayTypeName", - "src": "13607:9:0", + "src": "13591:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -26467,17 +26467,17 @@ "visibility": "internal" } ], - "src": "13467:163:0" + "src": "13451:163:0" }, "payable": false, "returnParameters": { "id": 656, "nodeType": "ParameterList", "parameters": [], - "src": "13651:0:0" + "src": "13635:0:0" }, "scope": 1211, - "src": "13441:1005:0", + "src": "13425:1005:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "private" @@ -26486,7 +26486,7 @@ "body": { "id": 892, "nodeType": "Block", - "src": "14732:1447:0", + "src": "14716:1447:0", "statements": [ { "assignments": [ @@ -26499,7 +26499,7 @@ "name": "t", "nodeType": "VariableDeclaration", "scope": 893, - "src": "14742:21:0", + "src": "14726:21:0", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { @@ -26512,7 +26512,7 @@ "name": "Transaction", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 71, - "src": "14742:11:0", + "src": "14726:11:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction" @@ -26532,7 +26532,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "14766:12:0", + "src": "14750:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -26546,7 +26546,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 708, - "src": "14779:10:0", + "src": "14763:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -26557,14 +26557,14 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "14766:24:0", + "src": "14750:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "14742:48:0" + "src": "14726:48:0" }, { "assignments": [ @@ -26577,7 +26577,7 @@ "name": "valueTransferred", "nodeType": "VariableDeclaration", "scope": 893, - "src": "14801:24:0", + "src": "14785:24:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -26588,7 +26588,7 @@ "id": 725, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "14801:7:0", + "src": "14785:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -26609,7 +26609,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "14828:1:0", + "src": "14812:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -26618,7 +26618,7 @@ "value": "0" }, "nodeType": "VariableDeclarationStatement", - "src": "14801:28:0" + "src": "14785:28:0" }, { "condition": { @@ -26641,7 +26641,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 720, - "src": "14844:1:0", + "src": "14828:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" @@ -26655,7 +26655,7 @@ "memberName": "transactionType", "nodeType": "MemberAccess", "referencedDeclaration": 46, - "src": "14844:17:0", + "src": "14828:17:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -26672,7 +26672,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12, - "src": "14865:15:0", + "src": "14849:15:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_TransactionType_$12_$", "typeString": "type(enum Escrow_v1_0.TransactionType)" @@ -26686,13 +26686,13 @@ "memberName": "ETHER", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "14865:21:0", + "src": "14849:21:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" } }, - "src": "14844:42:0", + "src": "14828:42:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -26719,7 +26719,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 720, - "src": "15485:1:0", + "src": "15469:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" @@ -26733,7 +26733,7 @@ "memberName": "transactionType", "nodeType": "MemberAccess", "referencedDeclaration": 46, - "src": "15485:17:0", + "src": "15469:17:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -26750,7 +26750,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12, - "src": "15506:15:0", + "src": "15490:15:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_TransactionType_$12_$", "typeString": "type(enum Escrow_v1_0.TransactionType)" @@ -26764,13 +26764,13 @@ "memberName": "TOKEN", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "15506:21:0", + "src": "15490:21:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" } }, - "src": "15485:42:0", + "src": "15469:42:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -26779,11 +26779,11 @@ "falseBody": null, "id": 888, "nodeType": "IfStatement", - "src": "15481:658:0", + "src": "15465:658:0", "trueBody": { "id": 887, "nodeType": "Block", - "src": "15529:610:0", + "src": "15513:610:0", "statements": [ { "assignments": [ @@ -26796,7 +26796,7 @@ "name": "token", "nodeType": "VariableDeclaration", "scope": 893, - "src": "15544:20:0", + "src": "15528:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -26809,7 +26809,7 @@ "name": "ITokenContract", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 1241, - "src": "15544:14:0", + "src": "15528:14:0", "typeDescriptions": { "typeIdentifier": "t_contract$_ITokenContract_$1241", "typeString": "contract ITokenContract" @@ -26832,7 +26832,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 720, - "src": "15582:1:0", + "src": "15566:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" @@ -26846,7 +26846,7 @@ "memberName": "tokenAddress", "nodeType": "MemberAccess", "referencedDeclaration": 56, - "src": "15582:14:0", + "src": "15566:14:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -26865,7 +26865,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1241, - "src": "15567:14:0", + "src": "15551:14:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_ITokenContract_$1241_$", "typeString": "type(contract ITokenContract)" @@ -26879,20 +26879,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15567:30:0", + "src": "15551:30:0", "typeDescriptions": { "typeIdentifier": "t_contract$_ITokenContract_$1241", "typeString": "contract ITokenContract" } }, "nodeType": "VariableDeclarationStatement", - "src": "15544:53:0" + "src": "15528:53:0" }, { "body": { "id": 885, "nodeType": "Block", - "src": "15660:469:0", + "src": "15644:469:0", "statements": [ { "expression": { @@ -26929,7 +26929,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 711, - "src": "15687:12:0", + "src": "15671:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -26943,7 +26943,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 816, - "src": "15700:1:0", + "src": "15684:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -26954,7 +26954,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15687:15:0", + "src": "15671:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -26975,7 +26975,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "15714:1:0", + "src": "15698:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -26997,7 +26997,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "15706:7:0", + "src": "15690:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" @@ -27012,13 +27012,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15706:10:0", + "src": "15690:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "15687:29:0", + "src": "15671:29:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -27037,7 +27037,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 720, - "src": "15720:1:0", + "src": "15704:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" @@ -27051,7 +27051,7 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "15720:9:0", + "src": "15704:9:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -27067,7 +27067,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 711, - "src": "15730:12:0", + "src": "15714:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -27081,7 +27081,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 816, - "src": "15743:1:0", + "src": "15727:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27092,7 +27092,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15730:15:0", + "src": "15714:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -27103,13 +27103,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15720:26:0", + "src": "15704:26:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "15687:59:0", + "src": "15671:59:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -27125,7 +27125,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "15748:25:0", + "src": "15732:25:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_4b4c116dbf18274831a2b569c567d9fd9a0e9828a6c86ee9f93e80400fb6c49f", @@ -27153,7 +27153,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "15679:7:0", + "src": "15663:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -27167,7 +27167,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15679:95:0", + "src": "15663:95:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -27175,7 +27175,7 @@ }, "id": 843, "nodeType": "ExpressionStatement", - "src": "15679:95:0" + "src": "15663:95:0" }, { "expression": { @@ -27201,7 +27201,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 714, - "src": "15800:7:0", + "src": "15784:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" @@ -27215,7 +27215,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 816, - "src": "15808:1:0", + "src": "15792:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27226,7 +27226,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15800:10:0", + "src": "15784:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27244,7 +27244,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "15813:1:0", + "src": "15797:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -27252,7 +27252,7 @@ }, "value": "0" }, - "src": "15800:14:0", + "src": "15784:14:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -27268,7 +27268,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "15816:44:0", + "src": "15800:44:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_5e1271a09dbb64ae031de288deb0ad8d707df7db51d6e827931dc8fa6642a71e", @@ -27296,7 +27296,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "15792:7:0", + "src": "15776:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -27310,7 +27310,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15792:69:0", + "src": "15776:69:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -27318,7 +27318,7 @@ }, "id": 852, "nodeType": "ExpressionStatement", - "src": "15792:69:0" + "src": "15776:69:0" }, { "expression": { @@ -27335,7 +27335,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 726, - "src": "15880:16:0", + "src": "15864:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27355,7 +27355,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 714, - "src": "15920:7:0", + "src": "15904:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" @@ -27369,7 +27369,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 816, - "src": "15928:1:0", + "src": "15912:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27380,7 +27380,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15920:10:0", + "src": "15904:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27401,7 +27401,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 726, - "src": "15899:16:0", + "src": "15883:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27415,7 +27415,7 @@ "memberName": "add", "nodeType": "MemberAccess", "referencedDeclaration": 1348, - "src": "15899:20:0", + "src": "15883:20:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" @@ -27429,13 +27429,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15899:32:0", + "src": "15883:32:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "15880:51:0", + "src": "15864:51:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27443,7 +27443,7 @@ }, "id": 861, "nodeType": "ExpressionStatement", - "src": "15880:51:0" + "src": "15864:51:0" }, { "expression": { @@ -27464,7 +27464,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 720, - "src": "15949:1:0", + "src": "15933:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" @@ -27478,7 +27478,7 @@ "memberName": "beneficiaries", "nodeType": "MemberAccess", "referencedDeclaration": 70, - "src": "15949:15:0", + "src": "15933:15:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -27494,7 +27494,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 711, - "src": "15965:12:0", + "src": "15949:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -27508,7 +27508,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 816, - "src": "15978:1:0", + "src": "15962:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27519,7 +27519,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15965:15:0", + "src": "15949:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -27530,7 +27530,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "15949:32:0", + "src": "15933:32:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -27548,7 +27548,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "15984:4:0", + "src": "15968:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -27556,7 +27556,7 @@ }, "value": "true" }, - "src": "15949:39:0", + "src": "15933:39:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -27564,7 +27564,7 @@ }, "id": 871, "nodeType": "ExpressionStatement", - "src": "15949:39:0" + "src": "15933:39:0" }, { "expression": { @@ -27582,7 +27582,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 711, - "src": "16059:12:0", + "src": "16043:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -27596,7 +27596,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 816, - "src": "16072:1:0", + "src": "16056:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27607,7 +27607,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "16059:15:0", + "src": "16043:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -27622,7 +27622,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 714, - "src": "16076:7:0", + "src": "16060:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" @@ -27636,7 +27636,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 816, - "src": "16084:1:0", + "src": "16068:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27647,7 +27647,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "16076:10:0", + "src": "16060:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27672,7 +27672,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 809, - "src": "16044:5:0", + "src": "16028:5:0", "typeDescriptions": { "typeIdentifier": "t_contract$_ITokenContract_$1241", "typeString": "contract ITokenContract" @@ -27686,7 +27686,7 @@ "memberName": "transfer", "nodeType": "MemberAccess", "referencedDeclaration": 1229, - "src": "16044:14:0", + "src": "16028:14:0", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", "typeString": "function (address,uint256) external returns (bool)" @@ -27700,7 +27700,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16044:43:0", + "src": "16028:43:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -27716,7 +27716,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "16089:24:0", + "src": "16073:24:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_e545223bb79d8456d66fa5a98897abb42bb4807111f004a120200da3b7e292c5", @@ -27744,7 +27744,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "16036:7:0", + "src": "16020:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -27758,7 +27758,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16036:78:0", + "src": "16020:78:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -27766,7 +27766,7 @@ }, "id": 884, "nodeType": "ExpressionStatement", - "src": "16036:78:0" + "src": "16020:78:0" } ] }, @@ -27788,7 +27788,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 816, - "src": "15632:1:0", + "src": "15616:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27805,7 +27805,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 711, - "src": "15634:12:0", + "src": "15618:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -27819,13 +27819,13 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "15634:19:0", + "src": "15618:19:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "15632:21:0", + "src": "15616:21:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -27843,7 +27843,7 @@ "name": "j", "nodeType": "VariableDeclaration", "scope": 893, - "src": "15617:9:0", + "src": "15601:9:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -27854,7 +27854,7 @@ "id": 815, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "15617:7:0", + "src": "15601:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27875,7 +27875,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "15629:1:0", + "src": "15613:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -27884,7 +27884,7 @@ "value": "0" }, "nodeType": "VariableDeclarationStatement", - "src": "15617:13:0" + "src": "15601:13:0" }, "loopExpression": { "expression": { @@ -27897,7 +27897,7 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "15655:3:0", + "src": "15639:3:0", "subExpression": { "argumentTypes": null, "id": 823, @@ -27905,7 +27905,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 816, - "src": "15655:1:0", + "src": "15639:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27918,27 +27918,27 @@ }, "id": 825, "nodeType": "ExpressionStatement", - "src": "15655:3:0" + "src": "15639:3:0" }, "nodeType": "ForStatement", - "src": "15612:517:0" + "src": "15596:517:0" } ] } }, "id": 889, "nodeType": "IfStatement", - "src": "14840:1299:0", + "src": "14824:1299:0", "trueBody": { "id": 802, "nodeType": "Block", - "src": "14888:587:0", + "src": "14872:587:0", "statements": [ { "body": { "id": 800, "nodeType": "Block", - "src": "14952:512:0", + "src": "14936:512:0", "statements": [ { "expression": { @@ -27975,7 +27975,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 711, - "src": "14979:12:0", + "src": "14963:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -27989,7 +27989,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 735, - "src": "14992:1:0", + "src": "14976:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28000,7 +28000,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "14979:15:0", + "src": "14963:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -28021,7 +28021,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "15006:1:0", + "src": "14990:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -28043,7 +28043,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "14998:7:0", + "src": "14982:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" @@ -28058,13 +28058,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "14998:10:0", + "src": "14982:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "14979:29:0", + "src": "14963:29:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -28083,7 +28083,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 720, - "src": "15012:1:0", + "src": "14996:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" @@ -28097,7 +28097,7 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "15012:9:0", + "src": "14996:9:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -28113,7 +28113,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 711, - "src": "15022:12:0", + "src": "15006:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -28127,7 +28127,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 735, - "src": "15035:1:0", + "src": "15019:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28138,7 +28138,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15022:15:0", + "src": "15006:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -28149,13 +28149,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15012:26:0", + "src": "14996:26:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "14979:59:0", + "src": "14963:59:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -28171,7 +28171,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "15040:25:0", + "src": "15024:25:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_4b4c116dbf18274831a2b569c567d9fd9a0e9828a6c86ee9f93e80400fb6c49f", @@ -28199,7 +28199,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "14971:7:0", + "src": "14955:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -28213,7 +28213,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "14971:95:0", + "src": "14955:95:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -28221,7 +28221,7 @@ }, "id": 762, "nodeType": "ExpressionStatement", - "src": "14971:95:0" + "src": "14955:95:0" }, { "expression": { @@ -28247,7 +28247,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 714, - "src": "15092:7:0", + "src": "15076:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" @@ -28261,7 +28261,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 735, - "src": "15100:1:0", + "src": "15084:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28272,7 +28272,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15092:10:0", + "src": "15076:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28290,7 +28290,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "15105:1:0", + "src": "15089:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -28298,7 +28298,7 @@ }, "value": "0" }, - "src": "15092:14:0", + "src": "15076:14:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -28314,7 +28314,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "15108:44:0", + "src": "15092:44:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_5e1271a09dbb64ae031de288deb0ad8d707df7db51d6e827931dc8fa6642a71e", @@ -28342,7 +28342,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "15084:7:0", + "src": "15068:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -28356,7 +28356,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15084:69:0", + "src": "15068:69:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -28364,7 +28364,7 @@ }, "id": 771, "nodeType": "ExpressionStatement", - "src": "15084:69:0" + "src": "15068:69:0" }, { "expression": { @@ -28381,7 +28381,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 726, - "src": "15172:16:0", + "src": "15156:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28401,7 +28401,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 714, - "src": "15212:7:0", + "src": "15196:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" @@ -28415,7 +28415,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 735, - "src": "15220:1:0", + "src": "15204:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28426,7 +28426,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15212:10:0", + "src": "15196:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28447,7 +28447,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 726, - "src": "15191:16:0", + "src": "15175:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28461,7 +28461,7 @@ "memberName": "add", "nodeType": "MemberAccess", "referencedDeclaration": 1348, - "src": "15191:20:0", + "src": "15175:20:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" @@ -28475,13 +28475,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15191:32:0", + "src": "15175:32:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "15172:51:0", + "src": "15156:51:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28489,7 +28489,7 @@ }, "id": 780, "nodeType": "ExpressionStatement", - "src": "15172:51:0" + "src": "15156:51:0" }, { "expression": { @@ -28510,7 +28510,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 720, - "src": "15242:1:0", + "src": "15226:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" @@ -28524,7 +28524,7 @@ "memberName": "beneficiaries", "nodeType": "MemberAccess", "referencedDeclaration": 70, - "src": "15242:15:0", + "src": "15226:15:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -28540,7 +28540,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 711, - "src": "15258:12:0", + "src": "15242:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -28554,7 +28554,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 735, - "src": "15271:1:0", + "src": "15255:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28565,7 +28565,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15258:15:0", + "src": "15242:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -28576,7 +28576,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "15242:32:0", + "src": "15226:32:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -28594,7 +28594,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "15277:4:0", + "src": "15261:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -28602,7 +28602,7 @@ }, "value": "true" }, - "src": "15242:39:0", + "src": "15226:39:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -28610,7 +28610,7 @@ }, "id": 790, "nodeType": "ExpressionStatement", - "src": "15242:39:0" + "src": "15226:39:0" }, { "expression": { @@ -28625,7 +28625,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 714, - "src": "15353:7:0", + "src": "15337:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" @@ -28639,7 +28639,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 735, - "src": "15361:1:0", + "src": "15345:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28650,7 +28650,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15353:10:0", + "src": "15337:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28673,7 +28673,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 711, - "src": "15328:12:0", + "src": "15312:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -28687,7 +28687,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 735, - "src": "15341:1:0", + "src": "15325:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28698,7 +28698,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15328:15:0", + "src": "15312:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -28712,7 +28712,7 @@ "memberName": "transfer", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "15328:24:0", + "src": "15312:24:0", "typeDescriptions": { "typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$", "typeString": "function (uint256)" @@ -28726,7 +28726,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15328:36:0", + "src": "15312:36:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -28734,7 +28734,7 @@ }, "id": 799, "nodeType": "ExpressionStatement", - "src": "15328:36:0" + "src": "15312:36:0" } ] }, @@ -28756,7 +28756,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 735, - "src": "14922:1:0", + "src": "14906:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28773,7 +28773,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 711, - "src": "14926:12:0", + "src": "14910:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -28787,13 +28787,13 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "14926:19:0", + "src": "14910:19:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "14922:23:0", + "src": "14906:23:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -28811,7 +28811,7 @@ "name": "i", "nodeType": "VariableDeclaration", "scope": 893, - "src": "14907:9:0", + "src": "14891:9:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -28822,7 +28822,7 @@ "id": 734, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "14907:7:0", + "src": "14891:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28843,7 +28843,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "14919:1:0", + "src": "14903:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -28852,7 +28852,7 @@ "value": "0" }, "nodeType": "VariableDeclarationStatement", - "src": "14907:13:0" + "src": "14891:13:0" }, "loopExpression": { "expression": { @@ -28865,7 +28865,7 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "14947:3:0", + "src": "14931:3:0", "subExpression": { "argumentTypes": null, "id": 742, @@ -28873,7 +28873,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 735, - "src": "14947:1:0", + "src": "14931:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28886,10 +28886,10 @@ }, "id": 744, "nodeType": "ExpressionStatement", - "src": "14947:3:0" + "src": "14931:3:0" }, "nodeType": "ForStatement", - "src": "14902:562:0" + "src": "14886:562:0" } ] } @@ -28902,7 +28902,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 726, - "src": "16156:16:0", + "src": "16140:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28911,7 +28911,7 @@ "functionReturnParameters": 718, "id": 891, "nodeType": "Return", - "src": "16149:23:0" + "src": "16133:23:0" } ] }, @@ -28933,7 +28933,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 893, - "src": "14604:18:0", + "src": "14588:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -28944,7 +28944,7 @@ "id": 707, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "14604:7:0", + "src": "14588:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -28959,7 +28959,7 @@ "name": "destinations", "nodeType": "VariableDeclaration", "scope": 893, - "src": "14632:21:0", + "src": "14616:21:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -28971,7 +28971,7 @@ "id": 709, "name": "address", "nodeType": "ElementaryTypeName", - "src": "14632:7:0", + "src": "14616:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -28980,7 +28980,7 @@ "id": 710, "length": null, "nodeType": "ArrayTypeName", - "src": "14632:9:0", + "src": "14616:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", "typeString": "address[]" @@ -28995,7 +28995,7 @@ "name": "amounts", "nodeType": "VariableDeclaration", "scope": 893, - "src": "14663:16:0", + "src": "14647:16:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -29007,7 +29007,7 @@ "id": 712, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "14663:7:0", + "src": "14647:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29016,7 +29016,7 @@ "id": 713, "length": null, "nodeType": "ArrayTypeName", - "src": "14663:9:0", + "src": "14647:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -29026,7 +29026,7 @@ "visibility": "internal" } ], - "src": "14594:91:0" + "src": "14578:91:0" }, "payable": false, "returnParameters": { @@ -29039,7 +29039,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 893, - "src": "14719:7:0", + "src": "14703:7:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -29050,7 +29050,7 @@ "id": 716, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "14719:7:0", + "src": "14703:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29060,10 +29060,10 @@ "visibility": "internal" } ], - "src": "14718:9:0" + "src": "14702:9:0" }, "scope": 1211, - "src": "14572:1607:0", + "src": "14556:1607:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "private" @@ -29072,7 +29072,7 @@ "body": { "id": 1021, "nodeType": "Block", - "src": "16597:1337:0", + "src": "16581:1337:0", "statements": [ { "expression": { @@ -29109,7 +29109,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 899, - "src": "16629:4:0", + "src": "16613:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" @@ -29123,7 +29123,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "16629:11:0", + "src": "16613:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29140,7 +29140,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 902, - "src": "16644:4:0", + "src": "16628:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" @@ -29154,13 +29154,13 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "16644:11:0", + "src": "16628:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "16629:26:0", + "src": "16613:26:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -29188,7 +29188,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 899, - "src": "16659:4:0", + "src": "16643:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" @@ -29202,7 +29202,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "16659:11:0", + "src": "16643:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29219,7 +29219,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 896, - "src": "16674:4:0", + "src": "16658:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr", "typeString": "uint8[] memory" @@ -29233,19 +29233,19 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "16674:11:0", + "src": "16658:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "16659:26:0", + "src": "16643:26:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "16629:56:0", + "src": "16613:56:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -29261,7 +29261,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "16700:24:0", + "src": "16684:24:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_f85073c8befb65baed58ca1ee563e5da0bdbdce8abd4d29ef22a8329c7c97506", @@ -29289,7 +29289,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "16608:7:0", + "src": "16592:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -29303,7 +29303,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16608:126:0", + "src": "16592:126:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -29311,7 +29311,7 @@ }, "id": 929, "nodeType": "ExpressionStatement", - "src": "16608:126:0" + "src": "16592:126:0" }, { "assignments": [], @@ -29322,7 +29322,7 @@ "name": "lastAddress", "nodeType": "VariableDeclaration", "scope": 1022, - "src": "16745:19:0", + "src": "16729:19:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -29333,7 +29333,7 @@ "id": 930, "name": "address", "nodeType": "ElementaryTypeName", - "src": "16745:7:0", + "src": "16729:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -29346,7 +29346,7 @@ "id": 932, "initialValue": null, "nodeType": "VariableDeclarationStatement", - "src": "16745:19:0" + "src": "16729:19:0" }, { "assignments": [ @@ -29359,7 +29359,7 @@ "name": "txHash", "nodeType": "VariableDeclaration", "scope": 1022, - "src": "16863:14:0", + "src": "16847:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -29370,7 +29370,7 @@ "id": 933, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "16863:7:0", + "src": "16847:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -29397,7 +29397,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "16937:34:0", + "src": "16921:34:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_178a2411ab6fbc1ba11064408972259c558d0e82fd48b0aba3ad81d14f065e73", @@ -29424,7 +29424,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "17067:4:0", + "src": "17051:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_25_by_1", @@ -29446,7 +29446,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "17062:4:0", + "src": "17046:4:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes1_$", "typeString": "type(bytes1)" @@ -29461,7 +29461,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17062:10:0", + "src": "17046:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes1", "typeString": "bytes1" @@ -29480,7 +29480,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "17103:1:0", + "src": "17087:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -29502,7 +29502,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "17098:4:0", + "src": "17082:4:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes1_$", "typeString": "type(bytes1)" @@ -29517,7 +29517,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17098:7:0", + "src": "17082:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes1", "typeString": "bytes1" @@ -29530,7 +29530,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1401, - "src": "17131:4:0", + "src": "17115:4:0", "typeDescriptions": { "typeIdentifier": "t_contract$_Escrow_v1_0_$1211", "typeString": "contract Escrow_v1_0" @@ -29543,7 +29543,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 907, - "src": "17161:12:0", + "src": "17145:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -29556,7 +29556,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 910, - "src": "17199:7:0", + "src": "17183:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" @@ -29569,7 +29569,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 904, - "src": "17232:10:0", + "src": "17216:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -29610,7 +29610,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1371, - "src": "17020:3:0", + "src": "17004:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" @@ -29624,7 +29624,7 @@ "memberName": "encodePacked", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "17020:16:0", + "src": "17004:16:0", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" @@ -29638,7 +29638,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17020:244:0", + "src": "17004:244:0", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -29657,7 +29657,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1378, - "src": "16989:9:0", + "src": "16973:9:0", "typeDescriptions": { "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", "typeString": "function () pure returns (bytes32)" @@ -29671,7 +29671,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16989:293:0", + "src": "16973:293:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -29696,7 +29696,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1371, - "src": "16903:3:0", + "src": "16887:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" @@ -29710,7 +29710,7 @@ "memberName": "encodePacked", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "16903:16:0", + "src": "16887:16:0", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" @@ -29724,7 +29724,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16903:393:0", + "src": "16887:393:0", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -29743,7 +29743,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1378, - "src": "16880:9:0", + "src": "16864:9:0", "typeDescriptions": { "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", "typeString": "function () pure returns (bytes32)" @@ -29757,20 +29757,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16880:426:0", + "src": "16864:426:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "nodeType": "VariableDeclarationStatement", - "src": "16863:443:0" + "src": "16847:443:0" }, { "body": { "id": 1017, "nodeType": "Block", - "src": "17356:543:0", + "src": "17340:543:0", "statements": [ { "assignments": [ @@ -29783,7 +29783,7 @@ "name": "recovered", "nodeType": "VariableDeclaration", "scope": 1022, - "src": "17371:17:0", + "src": "17355:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -29794,7 +29794,7 @@ "id": 968, "name": "address", "nodeType": "ElementaryTypeName", - "src": "17371:7:0", + "src": "17355:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -29815,7 +29815,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 934, - "src": "17418:6:0", + "src": "17402:6:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -29830,7 +29830,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 896, - "src": "17442:4:0", + "src": "17426:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr", "typeString": "uint8[] memory" @@ -29844,7 +29844,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 958, - "src": "17447:1:0", + "src": "17431:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29855,7 +29855,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17442:7:0", + "src": "17426:7:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -29870,7 +29870,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 899, - "src": "17467:4:0", + "src": "17451:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" @@ -29884,7 +29884,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 958, - "src": "17472:1:0", + "src": "17456:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29895,7 +29895,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17467:7:0", + "src": "17451:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -29910,7 +29910,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 902, - "src": "17492:4:0", + "src": "17476:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" @@ -29924,7 +29924,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 958, - "src": "17497:1:0", + "src": "17481:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29935,7 +29935,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17492:7:0", + "src": "17476:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -29966,7 +29966,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1376, - "src": "17391:9:0", + "src": "17375:9:0", "typeDescriptions": { "typeIdentifier": "t_function_ecrecover_pure$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$_t_address_$", "typeString": "function (bytes32,uint8,bytes32,bytes32) pure returns (address)" @@ -29980,14 +29980,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17391:122:0", + "src": "17375:122:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "VariableDeclarationStatement", - "src": "17371:142:0" + "src": "17355:142:0" }, { "expression": { @@ -30006,7 +30006,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "17553:12:0", + "src": "17537:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -30020,7 +30020,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 904, - "src": "17566:10:0", + "src": "17550:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -30031,7 +30031,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17553:24:0", + "src": "17537:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -30045,7 +30045,7 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "17553:32:0", + "src": "17537:32:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -30059,7 +30059,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 969, - "src": "17586:9:0", + "src": "17570:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -30070,7 +30070,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17553:43:0", + "src": "17537:43:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -30086,7 +30086,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "17615:19:0", + "src": "17599:19:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_4f2d7dfcb27c0aafa13ae8c400de482c7832204d194018b6e45bd2bf244c74e7", @@ -30114,7 +30114,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "17528:7:0", + "src": "17512:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -30128,7 +30128,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17528:120:0", + "src": "17512:120:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -30136,7 +30136,7 @@ }, "id": 992, "nodeType": "ExpressionStatement", - "src": "17528:120:0" + "src": "17512:120:0" }, { "expression": { @@ -30152,7 +30152,7 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "17687:42:0", + "src": "17671:42:0", "subExpression": { "argumentTypes": null, "baseExpression": { @@ -30166,7 +30166,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "17688:12:0", + "src": "17672:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -30180,7 +30180,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 904, - "src": "17701:10:0", + "src": "17685:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -30191,7 +30191,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17688:24:0", + "src": "17672:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -30205,7 +30205,7 @@ "memberName": "voted", "nodeType": "MemberAccess", "referencedDeclaration": 66, - "src": "17688:30:0", + "src": "17672:30:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -30219,7 +30219,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 969, - "src": "17719:9:0", + "src": "17703:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -30230,7 +30230,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17688:41:0", + "src": "17672:41:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -30251,7 +30251,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "17748:27:0", + "src": "17732:27:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_fb2c7e49d5ec7ce36fa812cf15ee7fa946942f931d04fe3ae970516007b2a543", @@ -30279,7 +30279,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "17662:7:0", + "src": "17646:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -30293,7 +30293,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17662:127:0", + "src": "17646:127:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -30301,7 +30301,7 @@ }, "id": 1003, "nodeType": "ExpressionStatement", - "src": "17662:127:0" + "src": "17646:127:0" }, { "expression": { @@ -30324,7 +30324,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "17803:12:0", + "src": "17787:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -30338,7 +30338,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 904, - "src": "17816:10:0", + "src": "17800:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -30349,7 +30349,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17803:24:0", + "src": "17787:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -30363,7 +30363,7 @@ "memberName": "voted", "nodeType": "MemberAccess", "referencedDeclaration": 66, - "src": "17803:30:0", + "src": "17787:30:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -30377,7 +30377,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 969, - "src": "17834:9:0", + "src": "17818:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -30388,7 +30388,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "17803:41:0", + "src": "17787:41:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -30406,7 +30406,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "17847:4:0", + "src": "17831:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -30414,7 +30414,7 @@ }, "value": "true" }, - "src": "17803:48:0", + "src": "17787:48:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -30422,7 +30422,7 @@ }, "id": 1012, "nodeType": "ExpressionStatement", - "src": "17803:48:0" + "src": "17787:48:0" }, { "expression": { @@ -30439,7 +30439,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 931, - "src": "17865:11:0", + "src": "17849:11:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -30454,13 +30454,13 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 969, - "src": "17879:9:0", + "src": "17863:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "17865:23:0", + "src": "17849:23:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -30468,7 +30468,7 @@ }, "id": 1016, "nodeType": "ExpressionStatement", - "src": "17865:23:0" + "src": "17849:23:0" } ] }, @@ -30490,7 +30490,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 958, - "src": "17334:1:0", + "src": "17318:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -30507,7 +30507,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 899, - "src": "17338:4:0", + "src": "17322:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" @@ -30521,13 +30521,13 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "17338:11:0", + "src": "17322:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "17334:15:0", + "src": "17318:15:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -30545,7 +30545,7 @@ "name": "i", "nodeType": "VariableDeclaration", "scope": 1022, - "src": "17322:6:0", + "src": "17306:6:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -30556,7 +30556,7 @@ "id": 957, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "17322:4:0", + "src": "17306:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -30577,7 +30577,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "17331:1:0", + "src": "17315:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -30586,7 +30586,7 @@ "value": "0" }, "nodeType": "VariableDeclarationStatement", - "src": "17322:10:0" + "src": "17306:10:0" }, "loopExpression": { "expression": { @@ -30599,7 +30599,7 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "17351:3:0", + "src": "17335:3:0", "subExpression": { "argumentTypes": null, "id": 965, @@ -30607,7 +30607,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 958, - "src": "17351:1:0", + "src": "17335:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -30620,10 +30620,10 @@ }, "id": 967, "nodeType": "ExpressionStatement", - "src": "17351:3:0" + "src": "17335:3:0" }, "nodeType": "ForStatement", - "src": "17317:582:0" + "src": "17301:582:0" }, { "expression": { @@ -30633,7 +30633,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 931, - "src": "17916:11:0", + "src": "17900:11:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -30642,7 +30642,7 @@ "functionReturnParameters": 914, "id": 1020, "nodeType": "Return", - "src": "17909:18:0" + "src": "17893:18:0" } ] }, @@ -30664,7 +30664,7 @@ "name": "sigV", "nodeType": "VariableDeclaration", "scope": 1022, - "src": "16398:12:0", + "src": "16382:12:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -30676,7 +30676,7 @@ "id": 894, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "16398:5:0", + "src": "16382:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -30685,7 +30685,7 @@ "id": 895, "length": null, "nodeType": "ArrayTypeName", - "src": "16398:7:0", + "src": "16382:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_storage_ptr", "typeString": "uint8[]" @@ -30700,7 +30700,7 @@ "name": "sigR", "nodeType": "VariableDeclaration", "scope": 1022, - "src": "16420:14:0", + "src": "16404:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -30712,7 +30712,7 @@ "id": 897, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "16420:7:0", + "src": "16404:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -30721,7 +30721,7 @@ "id": 898, "length": null, "nodeType": "ArrayTypeName", - "src": "16420:9:0", + "src": "16404:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -30736,7 +30736,7 @@ "name": "sigS", "nodeType": "VariableDeclaration", "scope": 1022, - "src": "16444:14:0", + "src": "16428:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -30748,7 +30748,7 @@ "id": 900, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "16444:7:0", + "src": "16428:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -30757,7 +30757,7 @@ "id": 901, "length": null, "nodeType": "ArrayTypeName", - "src": "16444:9:0", + "src": "16428:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -30772,7 +30772,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 1022, - "src": "16468:18:0", + "src": "16452:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -30783,7 +30783,7 @@ "id": 903, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "16468:7:0", + "src": "16452:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -30798,7 +30798,7 @@ "name": "destinations", "nodeType": "VariableDeclaration", "scope": 1022, - "src": "16496:22:0", + "src": "16480:22:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -30810,7 +30810,7 @@ "id": 905, "name": "address", "nodeType": "ElementaryTypeName", - "src": "16496:7:0", + "src": "16480:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -30819,7 +30819,7 @@ "id": 906, "length": null, "nodeType": "ArrayTypeName", - "src": "16496:9:0", + "src": "16480:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", "typeString": "address[]" @@ -30834,7 +30834,7 @@ "name": "amounts", "nodeType": "VariableDeclaration", "scope": 1022, - "src": "16528:16:0", + "src": "16512:16:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -30846,7 +30846,7 @@ "id": 908, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "16528:7:0", + "src": "16512:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -30855,7 +30855,7 @@ "id": 909, "length": null, "nodeType": "ArrayTypeName", - "src": "16528:9:0", + "src": "16512:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -30865,7 +30865,7 @@ "visibility": "internal" } ], - "src": "16388:162:0" + "src": "16372:162:0" }, "payable": false, "returnParameters": { @@ -30878,7 +30878,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 1022, - "src": "16584:7:0", + "src": "16568:7:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -30889,7 +30889,7 @@ "id": 912, "name": "address", "nodeType": "ElementaryTypeName", - "src": "16584:7:0", + "src": "16568:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -30899,10 +30899,10 @@ "visibility": "internal" } ], - "src": "16583:9:0" + "src": "16567:9:0" }, "scope": 1211, - "src": "16363:1571:0", + "src": "16347:1571:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "private" @@ -30911,7 +30911,7 @@ "body": { "id": 1053, "nodeType": "Block", - "src": "18088:168:0", + "src": "18072:168:0", "statements": [ { "assignments": [ @@ -30924,7 +30924,7 @@ "name": "timeSince", "nodeType": "VariableDeclaration", "scope": 1054, - "src": "18098:17:0", + "src": "18082:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -30935,7 +30935,7 @@ "id": 1031, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "18098:7:0", + "src": "18082:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -30956,7 +30956,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1026, - "src": "18126:12:0", + "src": "18110:12:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -30977,7 +30977,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1386, - "src": "18118:3:0", + "src": "18102:3:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -30991,7 +30991,7 @@ "memberName": "sub", "nodeType": "MemberAccess", "referencedDeclaration": 1324, - "src": "18118:7:0", + "src": "18102:7:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" @@ -31005,14 +31005,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18118:21:0", + "src": "18102:21:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "18098:41:0" + "src": "18082:41:0" }, { "expression": { @@ -31038,7 +31038,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1024, - "src": "18170:12:0", + "src": "18154:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -31056,7 +31056,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "18186:1:0", + "src": "18170:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -31064,7 +31064,7 @@ }, "value": "0" }, - "src": "18170:17:0", + "src": "18154:17:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -31088,7 +31088,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1032, - "src": "18196:9:0", + "src": "18180:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -31109,7 +31109,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "18234:4:0", + "src": "18218:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_3600_by_1", @@ -31135,7 +31135,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1024, - "src": "18216:12:0", + "src": "18200:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -31155,7 +31155,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "18208:7:0", + "src": "18192:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint256_$", "typeString": "type(uint256)" @@ -31170,7 +31170,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18208:21:0", + "src": "18192:21:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -31184,7 +31184,7 @@ "memberName": "mul", "nodeType": "MemberAccess", "referencedDeclaration": 1276, - "src": "18208:25:0", + "src": "18192:25:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" @@ -31198,13 +31198,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18208:31:0", + "src": "18192:31:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "18196:43:0", + "src": "18180:43:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -31216,7 +31216,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "Conditional", - "src": "18170:69:0", + "src": "18154:69:0", "trueExpression": { "argumentTypes": null, "hexValue": "66616c7365", @@ -31227,7 +31227,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "18190:5:0", + "src": "18174:5:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -31248,7 +31248,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "18156:93:0", + "src": "18140:93:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -31257,7 +31257,7 @@ "functionReturnParameters": 1030, "id": 1052, "nodeType": "Return", - "src": "18149:100:0" + "src": "18133:100:0" } ] }, @@ -31279,7 +31279,7 @@ "name": "timeoutHours", "nodeType": "VariableDeclaration", "scope": 1054, - "src": "17976:19:0", + "src": "17960:19:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -31290,7 +31290,7 @@ "id": 1023, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "17976:6:0", + "src": "17960:6:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -31305,7 +31305,7 @@ "name": "lastModified", "nodeType": "VariableDeclaration", "scope": 1054, - "src": "18005:20:0", + "src": "17989:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -31316,7 +31316,7 @@ "id": 1025, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "18005:7:0", + "src": "17989:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -31326,7 +31326,7 @@ "visibility": "internal" } ], - "src": "17966:65:0" + "src": "17950:65:0" }, "payable": false, "returnParameters": { @@ -31339,7 +31339,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 1054, - "src": "18078:4:0", + "src": "18062:4:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -31350,7 +31350,7 @@ "id": 1028, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "18078:4:0", + "src": "18062:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -31360,10 +31360,10 @@ "visibility": "internal" } ], - "src": "18077:6:0" + "src": "18061:6:0" }, "scope": 1211, - "src": "17940:316:0", + "src": "17924:316:0", "stateMutability": "view", "superFunction": null, "visibility": "private" @@ -31372,7 +31372,7 @@ "body": { "id": 1209, "nodeType": "Block", - "src": "18670:2308:0", + "src": "18654:2308:0", "statements": [ { "expression": { @@ -31396,7 +31396,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1056, - "src": "18696:5:0", + "src": "18680:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -31411,13 +31411,13 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1058, - "src": "18705:6:0", + "src": "18689:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "18696:15:0", + "src": "18680:15:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -31433,7 +31433,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "18713:27:0", + "src": "18697:27:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_6141441751234d42e9a73d96317794195c7ff57b8f16ac15725a10f10763f824", @@ -31461,7 +31461,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "18688:7:0", + "src": "18672:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -31475,7 +31475,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18688:53:0", + "src": "18672:53:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -31483,7 +31483,7 @@ }, "id": 1083, "nodeType": "ExpressionStatement", - "src": "18688:53:0" + "src": "18672:53:0" }, { "expression": { @@ -31507,7 +31507,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1068, - "src": "18808:5:0", + "src": "18792:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -31525,7 +31525,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "18816:1:0", + "src": "18800:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -31533,7 +31533,7 @@ }, "value": "0" }, - "src": "18808:9:0", + "src": "18792:9:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -31549,7 +31549,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "18819:19:0", + "src": "18803:19:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_3686f87c4804517ea83323ccf1a3b5b5ff52ed144b19e6fc56abe8fcd182e747", @@ -31577,7 +31577,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "18800:7:0", + "src": "18784:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -31591,7 +31591,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18800:39:0", + "src": "18784:39:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -31599,7 +31599,7 @@ }, "id": 1090, "nodeType": "ExpressionStatement", - "src": "18800:39:0" + "src": "18784:39:0" }, { "expression": { @@ -31634,7 +31634,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1062, - "src": "18942:9:0", + "src": "18926:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -31652,7 +31652,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "18954:1:0", + "src": "18938:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -31660,7 +31660,7 @@ }, "value": "0" }, - "src": "18942:13:0", + "src": "18926:13:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -31686,7 +31686,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1062, - "src": "18959:9:0", + "src": "18943:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -31704,7 +31704,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "18972:1:0", + "src": "18956:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_3_by_1", @@ -31712,13 +31712,13 @@ }, "value": "3" }, - "src": "18959:14:0", + "src": "18943:14:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "18942:31:0", + "src": "18926:31:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -31734,7 +31734,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "18988:63:0", + "src": "18972:63:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_351c1d5dfdc4a2b4c61d6f4dbb41a0d2ae70a9c094d3c0add87af24b5dd19c13", @@ -31762,7 +31762,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "18921:7:0", + "src": "18905:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -31776,7 +31776,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18921:140:0", + "src": "18905:140:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -31784,7 +31784,7 @@ }, "id": 1101, "nodeType": "ExpressionStatement", - "src": "18921:140:0" + "src": "18905:140:0" }, { "expression": { @@ -31819,7 +31819,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1062, - "src": "19330:9:0", + "src": "19314:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -31837,7 +31837,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "19343:1:0", + "src": "19327:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -31845,7 +31845,7 @@ }, "value": "1" }, - "src": "19330:14:0", + "src": "19314:14:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -31871,7 +31871,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1060, - "src": "19348:9:0", + "src": "19332:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -31892,7 +31892,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "19369:1:0", + "src": "19353:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -31914,7 +31914,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "19361:7:0", + "src": "19345:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" @@ -31929,19 +31929,19 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "19361:10:0", + "src": "19345:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "19348:23:0", + "src": "19332:23:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "19330:41:0", + "src": "19314:41:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -31957,7 +31957,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "19385:81:0", + "src": "19369:81:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_08dfdd405be5d5023d3f601e2b0a844b246ceb6764817070ff6789d5e1f80050", @@ -31985,7 +31985,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "19309:7:0", + "src": "19293:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -31999,7 +31999,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "19309:167:0", + "src": "19293:167:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -32007,7 +32007,7 @@ }, "id": 1114, "nodeType": "ExpressionStatement", - "src": "19309:167:0" + "src": "19293:167:0" }, { "expression": { @@ -32031,7 +32031,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1066, - "src": "19508:10:0", + "src": "19492:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -32049,7 +32049,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1070, - "src": "19565:8:0", + "src": "19549:8:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -32062,7 +32062,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1062, - "src": "19591:9:0", + "src": "19575:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -32075,7 +32075,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1064, - "src": "19618:12:0", + "src": "19602:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -32088,7 +32088,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1056, - "src": "19648:5:0", + "src": "19632:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -32101,7 +32101,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1058, - "src": "19671:6:0", + "src": "19655:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -32114,7 +32114,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1060, - "src": "19695:9:0", + "src": "19679:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -32127,7 +32127,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1074, - "src": "19722:12:0", + "src": "19706:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -32170,7 +32170,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 637, - "src": "19522:25:0", + "src": "19506:25:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_bytes20_$_t_uint8_$_t_uint32_$_t_address_$_t_address_$_t_address_$_t_address_$returns$_t_bytes32_$", "typeString": "function (bytes20,uint8,uint32,address,address,address,address) view returns (bytes32)" @@ -32184,13 +32184,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "19522:226:0", + "src": "19506:226:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "src": "19508:240:0", + "src": "19492:240:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -32206,7 +32206,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "19763:59:0", + "src": "19747:59:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_0c041e0c58e6b0e01d338d852a5abb639065eabeb0aee05e0ce3e5f0e52b4f51", @@ -32234,7 +32234,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "19487:7:0", + "src": "19471:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -32248,7 +32248,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "19487:345:0", + "src": "19471:345:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -32256,7 +32256,7 @@ }, "id": 1129, "nodeType": "ExpressionStatement", - "src": "19487:345:0" + "src": "19471:345:0" }, { "expression": { @@ -32275,7 +32275,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "19843:12:0", + "src": "19827:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -32289,7 +32289,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1066, - "src": "19856:10:0", + "src": "19840:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -32300,7 +32300,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "19843:24:0", + "src": "19827:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -32318,7 +32318,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1056, - "src": "19903:5:0", + "src": "19887:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -32331,7 +32331,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1058, - "src": "19930:6:0", + "src": "19914:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -32344,7 +32344,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1060, - "src": "19961:9:0", + "src": "19945:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -32357,7 +32357,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1068, - "src": "19991:5:0", + "src": "19975:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -32372,7 +32372,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9, - "src": "20018:6:0", + "src": "20002:6:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_Status_$9_$", "typeString": "type(enum Escrow_v1_0.Status)" @@ -32386,7 +32386,7 @@ "memberName": "FUNDED", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "20018:13:0", + "src": "20002:13:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$9", "typeString": "enum Escrow_v1_0.Status" @@ -32401,7 +32401,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1374, - "src": "20059:5:0", + "src": "20043:5:0", "typeDescriptions": { "typeIdentifier": "t_magic_block", "typeString": "block" @@ -32415,7 +32415,7 @@ "memberName": "timestamp", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "20059:15:0", + "src": "20043:15:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -32428,7 +32428,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1062, - "src": "20099:9:0", + "src": "20083:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -32441,7 +32441,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1064, - "src": "20136:12:0", + "src": "20120:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -32454,7 +32454,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1072, - "src": "20178:15:0", + "src": "20162:15:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -32467,7 +32467,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1074, - "src": "20220:12:0", + "src": "20204:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -32481,7 +32481,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 71, - "src": "19870:11:0", + "src": "19854:11:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_struct$_Transaction_$71_storage_ptr_$", "typeString": "type(struct Escrow_v1_0.Transaction storage pointer)" @@ -32506,13 +32506,13 @@ "tokenAddress" ], "nodeType": "FunctionCall", - "src": "19870:373:0", + "src": "19854:373:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_memory", "typeString": "struct Escrow_v1_0.Transaction memory" } }, - "src": "19843:400:0", + "src": "19827:400:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -32520,7 +32520,7 @@ }, "id": 1148, "nodeType": "ExpressionStatement", - "src": "19843:400:0" + "src": "19827:400:0" }, { "expression": { @@ -32543,7 +32543,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "20254:12:0", + "src": "20238:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -32557,7 +32557,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1066, - "src": "20267:10:0", + "src": "20251:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -32568,7 +32568,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20254:24:0", + "src": "20238:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -32582,7 +32582,7 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "20254:32:0", + "src": "20238:32:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -32596,7 +32596,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1058, - "src": "20287:6:0", + "src": "20271:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -32607,7 +32607,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "20254:40:0", + "src": "20238:40:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -32625,7 +32625,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "20297:4:0", + "src": "20281:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -32633,7 +32633,7 @@ }, "value": "true" }, - "src": "20254:47:0", + "src": "20238:47:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -32641,7 +32641,7 @@ }, "id": 1157, "nodeType": "ExpressionStatement", - "src": "20254:47:0" + "src": "20238:47:0" }, { "expression": { @@ -32664,7 +32664,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "20311:12:0", + "src": "20295:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -32678,7 +32678,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1066, - "src": "20324:10:0", + "src": "20308:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -32689,7 +32689,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20311:24:0", + "src": "20295:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -32703,7 +32703,7 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "20311:32:0", + "src": "20295:32:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -32717,7 +32717,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1056, - "src": "20344:5:0", + "src": "20328:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -32728,7 +32728,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "20311:39:0", + "src": "20295:39:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -32746,7 +32746,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "20353:4:0", + "src": "20337:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -32754,7 +32754,7 @@ }, "value": "true" }, - "src": "20311:46:0", + "src": "20295:46:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -32762,7 +32762,7 @@ }, "id": 1166, "nodeType": "ExpressionStatement", - "src": "20311:46:0" + "src": "20295:46:0" }, { "expression": { @@ -32778,7 +32778,7 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "20464:44:0", + "src": "20448:44:0", "subExpression": { "argumentTypes": null, "baseExpression": { @@ -32792,7 +32792,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "20465:12:0", + "src": "20449:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -32806,7 +32806,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1066, - "src": "20478:10:0", + "src": "20462:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -32817,7 +32817,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20465:24:0", + "src": "20449:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -32831,7 +32831,7 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "20465:32:0", + "src": "20449:32:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -32845,7 +32845,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1060, - "src": "20498:9:0", + "src": "20482:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -32856,7 +32856,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20465:43:0", + "src": "20449:43:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -32877,7 +32877,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "20523:47:0", + "src": "20507:47:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_313b391557427937e7bdb85c7561d47c5b9c985755a448dd33a92026ffb38f8d", @@ -32905,7 +32905,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "20443:7:0", + "src": "20427:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -32919,7 +32919,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "20443:137:0", + "src": "20427:137:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -32927,7 +32927,7 @@ }, "id": 1177, "nodeType": "ExpressionStatement", - "src": "20443:137:0" + "src": "20427:137:0" }, { "condition": { @@ -32948,7 +32948,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1062, - "src": "20740:9:0", + "src": "20724:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -32966,7 +32966,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "20752:1:0", + "src": "20736:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -32974,7 +32974,7 @@ }, "value": "1" }, - "src": "20740:13:0", + "src": "20724:13:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -32983,11 +32983,11 @@ "falseBody": null, "id": 1191, "nodeType": "IfStatement", - "src": "20736:93:0", + "src": "20720:93:0", "trueBody": { "id": 1190, "nodeType": "Block", - "src": "20754:75:0", + "src": "20738:75:0", "statements": [ { "expression": { @@ -33010,7 +33010,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "20768:12:0", + "src": "20752:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -33024,7 +33024,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1066, - "src": "20781:10:0", + "src": "20765:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -33035,7 +33035,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20768:24:0", + "src": "20752:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -33049,7 +33049,7 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "20768:32:0", + "src": "20752:32:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -33063,7 +33063,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1060, - "src": "20801:9:0", + "src": "20785:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -33074,7 +33074,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "20768:43:0", + "src": "20752:43:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -33092,7 +33092,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "20814:4:0", + "src": "20798:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -33100,7 +33100,7 @@ }, "value": "true" }, - "src": "20768:50:0", + "src": "20752:50:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -33108,7 +33108,7 @@ }, "id": 1189, "nodeType": "ExpressionStatement", - "src": "20768:50:0" + "src": "20752:50:0" } ] } @@ -33124,7 +33124,7 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "20847:18:0", + "src": "20831:18:0", "subExpression": { "argumentTypes": null, "id": 1192, @@ -33132,7 +33132,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 78, - "src": "20847:16:0", + "src": "20831:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -33145,7 +33145,7 @@ }, "id": 1194, "nodeType": "ExpressionStatement", - "src": "20847:18:0" + "src": "20831:18:0" }, { "expression": { @@ -33158,7 +33158,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1066, - "src": "20907:10:0", + "src": "20891:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -33181,7 +33181,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 83, - "src": "20876:18:0", + "src": "20860:18:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_bytes32_$dyn_storage_$", "typeString": "mapping(address => bytes32[] storage ref)" @@ -33195,7 +33195,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1056, - "src": "20895:5:0", + "src": "20879:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -33206,7 +33206,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20876:25:0", + "src": "20860:25:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage", "typeString": "bytes32[] storage ref" @@ -33220,7 +33220,7 @@ "memberName": "push", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "20876:30:0", + "src": "20860:30:0", "typeDescriptions": { "typeIdentifier": "t_function_arraypush_nonpayable$_t_bytes32_$returns$_t_uint256_$", "typeString": "function (bytes32) returns (uint256)" @@ -33234,7 +33234,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "20876:42:0", + "src": "20860:42:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -33242,7 +33242,7 @@ }, "id": 1201, "nodeType": "ExpressionStatement", - "src": "20876:42:0" + "src": "20860:42:0" }, { "expression": { @@ -33255,7 +33255,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1066, - "src": "20960:10:0", + "src": "20944:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -33278,7 +33278,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 83, - "src": "20928:18:0", + "src": "20912:18:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_bytes32_$dyn_storage_$", "typeString": "mapping(address => bytes32[] storage ref)" @@ -33292,7 +33292,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1058, - "src": "20947:6:0", + "src": "20931:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -33303,7 +33303,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20928:26:0", + "src": "20912:26:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage", "typeString": "bytes32[] storage ref" @@ -33317,7 +33317,7 @@ "memberName": "push", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "20928:31:0", + "src": "20912:31:0", "typeDescriptions": { "typeIdentifier": "t_function_arraypush_nonpayable$_t_bytes32_$returns$_t_uint256_$", "typeString": "function (bytes32) returns (uint256)" @@ -33331,7 +33331,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "20928:43:0", + "src": "20912:43:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -33339,7 +33339,7 @@ }, "id": 1208, "nodeType": "ExpressionStatement", - "src": "20928:43:0" + "src": "20912:43:0" } ] }, @@ -33361,7 +33361,7 @@ "name": "buyer", "nodeType": "VariableDeclaration", "scope": 1210, - "src": "18377:13:0", + "src": "18361:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -33372,7 +33372,7 @@ "id": 1055, "name": "address", "nodeType": "ElementaryTypeName", - "src": "18377:7:0", + "src": "18361:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -33387,7 +33387,7 @@ "name": "seller", "nodeType": "VariableDeclaration", "scope": 1210, - "src": "18400:14:0", + "src": "18384:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -33398,7 +33398,7 @@ "id": 1057, "name": "address", "nodeType": "ElementaryTypeName", - "src": "18400:7:0", + "src": "18384:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -33413,7 +33413,7 @@ "name": "moderator", "nodeType": "VariableDeclaration", "scope": 1210, - "src": "18424:17:0", + "src": "18408:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -33424,7 +33424,7 @@ "id": 1059, "name": "address", "nodeType": "ElementaryTypeName", - "src": "18424:7:0", + "src": "18408:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -33439,7 +33439,7 @@ "name": "threshold", "nodeType": "VariableDeclaration", "scope": 1210, - "src": "18451:15:0", + "src": "18435:15:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -33450,7 +33450,7 @@ "id": 1061, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "18451:5:0", + "src": "18435:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -33465,7 +33465,7 @@ "name": "timeoutHours", "nodeType": "VariableDeclaration", "scope": 1210, - "src": "18476:19:0", + "src": "18460:19:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -33476,7 +33476,7 @@ "id": 1063, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "18476:6:0", + "src": "18460:6:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -33491,7 +33491,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 1210, - "src": "18505:18:0", + "src": "18489:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -33502,7 +33502,7 @@ "id": 1065, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "18505:7:0", + "src": "18489:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -33517,7 +33517,7 @@ "name": "value", "nodeType": "VariableDeclaration", "scope": 1210, - "src": "18533:13:0", + "src": "18517:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -33528,7 +33528,7 @@ "id": 1067, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "18533:7:0", + "src": "18517:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -33543,7 +33543,7 @@ "name": "uniqueId", "nodeType": "VariableDeclaration", "scope": 1210, - "src": "18556:16:0", + "src": "18540:16:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -33554,7 +33554,7 @@ "id": 1069, "name": "bytes20", "nodeType": "ElementaryTypeName", - "src": "18556:7:0", + "src": "18540:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -33569,7 +33569,7 @@ "name": "transactionType", "nodeType": "VariableDeclaration", "scope": 1210, - "src": "18582:31:0", + "src": "18566:31:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -33582,7 +33582,7 @@ "name": "TransactionType", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 12, - "src": "18582:15:0", + "src": "18566:15:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -33597,7 +33597,7 @@ "name": "tokenAddress", "nodeType": "VariableDeclaration", "scope": 1210, - "src": "18623:20:0", + "src": "18607:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -33608,7 +33608,7 @@ "id": 1073, "name": "address", "nodeType": "ElementaryTypeName", - "src": "18623:7:0", + "src": "18607:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -33618,27 +33618,27 @@ "visibility": "internal" } ], - "src": "18367:282:0" + "src": "18351:282:0" }, "payable": false, "returnParameters": { "id": 1076, "nodeType": "ParameterList", "parameters": [], - "src": "18670:0:0" + "src": "18654:0:0" }, "scope": 1211, - "src": "18343:2635:0", + "src": "18327:2635:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "private" } ], "scope": 1212, - "src": "460:20520:0" + "src": "460:20504:0" } ], - "src": "0:20981:0" + "src": "0:20965:0" }, "compiler": { "name": "solc", @@ -33646,5 +33646,5 @@ }, "networks": {}, "schemaVersion": "2.0.1", - "updatedAt": "2018-11-19T11:38:53.803Z" + "updatedAt": "2018-11-19T11:41:06.853Z" } \ No newline at end of file diff --git a/build/contracts/ITokenContract.json b/build/contracts/ITokenContract.json index 636809c..cdbd631 100644 --- a/build/contracts/ITokenContract.json +++ b/build/contracts/ITokenContract.json @@ -817,5 +817,5 @@ }, "networks": {}, "schemaVersion": "2.0.1", - "updatedAt": "2018-11-19T11:38:53.794Z" + "updatedAt": "2018-11-19T11:41:06.834Z" } \ No newline at end of file diff --git a/build/contracts/SafeMath.json b/build/contracts/SafeMath.json index 4566137..bde86c8 100644 --- a/build/contracts/SafeMath.json +++ b/build/contracts/SafeMath.json @@ -3295,5 +3295,5 @@ }, "networks": {}, "schemaVersion": "2.0.1", - "updatedAt": "2018-11-19T11:38:53.796Z" + "updatedAt": "2018-11-19T11:41:06.836Z" } \ No newline at end of file diff --git a/contracts/escrow/Escrow_v1_0.sol b/contracts/escrow/Escrow_v1_0.sol index d7c1dc9..ce11e37 100644 --- a/contracts/escrow/Escrow_v1_0.sol +++ b/contracts/escrow/Escrow_v1_0.sol @@ -32,7 +32,11 @@ contract Escrow_v1_0 { uint256 valueAdded ); - event Funded(bytes32 scriptHash, address indexed from, uint256 value); + event Funded( + bytes32 scriptHash, + address indexed from, + uint256 value + ); struct Transaction { uint256 value; @@ -43,7 +47,7 @@ contract Escrow_v1_0 { uint32 timeoutHours; address buyer; address seller; - address tokenAddress;// Token address in case of token transfer + address tokenAddress;//Token address in case of token transfer address moderator; mapping(address=>bool) isOwner;//to keep track of owners/signers. mapping(address=>bool) voted;//to keep track of who all voted @@ -55,7 +59,7 @@ contract Escrow_v1_0 { uint256 public transactionCount = 0; //Contains mapping between each party and all of his transactions - mapping(address => bytes32[])public partyVsTransaction; + mapping(address => bytes32[]) public partyVsTransaction; modifier transactionExists(bytes32 scriptHash) { require( @@ -110,9 +114,7 @@ contract Escrow_v1_0 { *@param uniqueId bytes20 unique id for the transaction, generated by ETH wallet *Redeem Script format will be following - * scripthash-> keccak256(uniqueId, threshold, timeoutHours, buyer, seller, moderator) *Pass amount of the ethers to be put in escrow - *Please keep in mind you will have to add moderator fees also in the value */ function addTransaction( address buyer, @@ -159,9 +161,7 @@ contract Escrow_v1_0 { *@param tokenAddress Address of the token to be used *Redeem Script format will be following - * scripthash-> keccak256(uniqueId, threshold, timeoutHours, buyer, seller, moderator, tokenAddress) *approve escrow contract to spend amount of token on your behalf - *Please keep in mind you will have to add moderator fees also in the value */ function addTokenTransaction( address buyer, @@ -237,19 +237,21 @@ contract Escrow_v1_0 { } /** - *@dev Allows buyer of the transaction to add more funds(ether) in the transaction. This will help to cater scenarios wherein initially buyer missed to fund transaction as required - *@param scriptHash script hash of the transaction + * @dev Allows buyer of the transaction to add more funds(ether) in the transaction. + * This will help to cater scenarios wherein initially buyer missed to fund transaction as required + * @param scriptHash script hash of the transaction * Only buyer of the transaction can invoke this method */ function addFundsToTransaction( bytes32 scriptHash ) external + payable transactionExists(scriptHash) inFundedState(scriptHash) checkTransactionType(scriptHash, TransactionType.ETHER) onlyBuyer(scriptHash) - payable + { uint256 _value = msg.value; @@ -263,8 +265,9 @@ contract Escrow_v1_0 { } /** - *@dev Allows buyer of the transaction to add more funds(Tokens) in the transaction. This will help to cater scenarios wherein initially buyer missed to fund transaction as required - *@param scriptHash script hash of the transaction + * @dev Allows buyer of the transaction to add more funds(Tokens) in the transaction. + * This will help to cater scenarios wherein initially buyer missed to fund transaction as required + * @param scriptHash script hash of the transaction */ function addTokensToTransaction( bytes32 scriptHash, @@ -317,8 +320,8 @@ contract Escrow_v1_0 { *@param sigR Array containing R component of all the signatures *@param signS Array containing S component of all the signatures *@param scriptHash script hash of the transaction - *@param destinations address of the destination in whose favour dispute resolution is taking place. In case of split payments it will be address of the split payments contract - *@param amounts value to send to each destination + *@param destinations List of addresses to receive funds + *@param amounts value released to each destination */ function execute( uint8[] sigV, @@ -595,7 +598,8 @@ contract Escrow_v1_0 { "Threshold cannot be greater than 3 and must be greater than 0" ); - //if threshold is 1 then moderator can be passed as zero address or any other address(it wont matter aopart from scripthash since we wont add moderator as one of the owner) + //if threshold is 1 then moderator can be passed as zero address or any other address + //(it wont matter aopart from scripthash since we wont add moderator as one of the owner) //otherwise moderator should be a valid address require( threshold == 1 || moderator != address(0), @@ -638,7 +642,7 @@ contract Escrow_v1_0 { ); //set moderator as one of the owners only if threshold is greater than 1 otherwise only buyer and seller should be able to release funds - if (threshold > 1){ + if (threshold > 1) { transactions[scriptHash].isOwner[moderator] = true; } From c5262e83e7283e2c38ce4a9efd7f8ef6bc438706 Mon Sep 17 00:00:00 2001 From: Sameep Singhania Date: Mon, 19 Nov 2018 18:54:31 +0530 Subject: [PATCH 08/19] Improved code comments --- build/contracts/Escrow_v1_0.json | 4752 +++++++++++++-------------- build/contracts/ITokenContract.json | 2 +- build/contracts/SafeMath.json | 2 +- contracts/escrow/Escrow_v1_0.sol | 53 +- 4 files changed, 2405 insertions(+), 2404 deletions(-) diff --git a/build/contracts/Escrow_v1_0.json b/build/contracts/Escrow_v1_0.json index 6fefaff..1b9f291 100644 --- a/build/contracts/Escrow_v1_0.json +++ b/build/contracts/Escrow_v1_0.json @@ -418,11 +418,11 @@ "type": "function" } ], - "bytecode": "0x6080604052600060015534801561001557600080fd5b50614210806100256000396000f3006080604052600436106100ba576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806323b6fd3f146100bf5780632d9ef96e1461017957806346fbcdeb1461019d57806357bced7614610292578063642f2eaf14610383578063b0550c66146104e5578063b719e2801461054e578063b77bf60014610589578063be84ceaf146105b4578063e4ec8b001461064c578063f0786562146106f5578063f5dbe09c1461075e575b600080fd5b610177600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff169060200190929190803563ffffffff169060200190929190803560001916906020019092919080356bffffffffffffffffffffffff191690602001909291905050506107c7565b005b61019b6004803603810190808035600019169060200190929190505050610a26565b005b3480156101a957600080fd5b5061027460048036038101908080356bffffffffffffffffffffffff19169060200190929190803560ff169060200190929190803563ffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610eb4565b60405180826000191660001916815260200191505060405180910390f35b34801561029e57600080fd5b50610381600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff169060200190929190803563ffffffff16906020019092919080356000191690602001909291908035906020019092919080356bffffffffffffffffffffffff19169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611360565b005b34801561038f57600080fd5b506103b26004803603810190808035600019169060200190929190505050611840565b604051808b81526020018a81526020018960018111156103ce57fe5b60ff1681526020018860018111156103e257fe5b60ff1681526020018760ff1660ff1681526020018663ffffffff1663ffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019a505050505050505050505060405180910390f35b3480156104f157600080fd5b506105346004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061194b565b604051808215151515815260200191505060405180910390f35b34801561055a57600080fd5b506105876004803603810190808035600019169060200190929190803590602001909291905050506119bd565b005b34801561059557600080fd5b5061059e61209d565b6040518082815260200191505060405180910390f35b3480156105c057600080fd5b506105f5600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506120a3565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b8381101561063857808201518184015260208101905061061d565b505050509050019250505060405180910390f35b34801561065857600080fd5b506106f3600480360381019080803590602001908201803590602001919091929391929390803590602001908201803590602001919091929391929390803590602001908201803590602001919091929391929390803560001916906020019092919080359060200190820180359060200191909192939192939080359060200190820180359060200191909192939192939050505061213e565b005b34801561070157600080fd5b506107446004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506126a0565b604051808215151515815260200191505060405180910390f35b34801561076a57600080fd5b506107a9600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050612712565b60405180826000191660001916815260200191505060405180910390f35b81600080600083600019166000191681526020019081526020016000206000015414151561085d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f5472616e73616374696f6e20657869737473000000000000000000000000000081525060200191505060405180910390fd5b87600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610903576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b87600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156109a9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b6109bc8a8a8a8a8a8a348b600080612742565b3373ffffffffffffffffffffffffffffffffffffffff167fce7089d0668849fb9ca29778c0cbf1e764d9efb048d81fd71fb34c94f26db36886346040518083600019166000191681526020018281526020019250505060405180910390a250505050505050505050565b600081600080600083600019166000191681526020019081526020016000206000015414151515610abf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737473000000000081525060200191505060405180910390fd5b8260006001811115610acd57fe5b600080836000191660001916815260200190815260200160002060020160009054906101000a900460ff166001811115610b0357fe5b141515610b9e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001807f5472616e73616374696f6e206973206e6f7420696e2046554e4445442073746181526020017f746500000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b836000806001811115610bad57fe5b600080846000191660001916815260200190815260200160002060020160019054906101000a900460ff166001811115610be357fe5b141515610c58576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5472616e73616374696f6e207479706520646f6573206e6f74206d617463680081525060200191505060405180910390fd5b85600080826000191660001916815260200190815260200160002060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610d5f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f54686520696e69746961746f72206f6620746865207472616e73616374696f6e81526020017f206973206e6f742062757965720000000000000000000000000000000000000081525060400191505060405180910390fd5b349550600086111515610dda576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f56616c7565206d7573742062652067726561746572207468616e207a65726f2e81525060200191505060405180910390fd5b610e0a866000808a60001916600019168152602001908152602001600020600001546130ce90919063ffffffff16565b600080896000191660001916815260200190815260200160002060000181905550426000808960001916600019168152602001908152602001600020600101819055503373ffffffffffffffffffffffffffffffffffffffff167ff66fd2ae9e24a6a24b02e1b5b7512ffde5149a4176085fc0298ae228c9b9d72988886040518083600019166000191681526020018281526020019250505060405180910390a250505050505050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611100578787878787873060405160200180886bffffffffffffffffffffffff19166bffffffffffffffffffffffff191681526014018760ff1660ff167f01000000000000000000000000000000000000000000000000000000000000000281526001018663ffffffff1663ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014019750505050505050506040516020818303038152906040526040518082805190602001908083835b6020831015156110cc57805182526020820191506020810190506020830392506110a7565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390209050611355565b878787878787308860405160200180896bffffffffffffffffffffffff19166bffffffffffffffffffffffff191681526014018860ff1660ff167f01000000000000000000000000000000000000000000000000000000000000000281526001018763ffffffff1663ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401985050505050505050506040516020818303038152906040526040518082805190602001908083835b6020831015156113255780518252602082019150602081019050602083039250611300565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902090505b979650505050505050565b60008460008060008360001916600019168152602001908152602001600020600001541415156113f8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f5472616e73616374696f6e20657869737473000000000000000000000000000081525060200191505060405180910390fd5b8a600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561149e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b8a600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515611544576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b84600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156115ea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b6115fd8e8e8e8e8e8e8e8e60018f612742565b8594508473ffffffffffffffffffffffffffffffffffffffff166323b872dd33308b6040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b1580156116d757600080fd5b505af11580156116eb573d6000803e3d6000fd5b505050506040513d602081101561170157600080fd5b810190808051906020019092919050505015156117d2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252605c8152602001807f546f6b656e207472616e73666572206661696c65642c206d6179626520796f7581526020017f20646964206e6f7420617070726f766520657363726f7720636f6e747261637481526020017f20746f207370656e64206f6e20626568616c66206f662062757965720000000081525060600191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff167fce7089d0668849fb9ca29778c0cbf1e764d9efb048d81fd71fb34c94f26db3688a8a6040518083600019166000191681526020018281526020019250505060405180910390a25050505050505050505050505050565b60006020528060005260406000206000915090508060000154908060010154908060020160009054906101000a900460ff16908060020160019054906101000a900460ff16908060020160029054906101000a900460ff16908060020160039054906101000a900463ffffffff16908060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060050160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508a565b6000806000846000191660001916815260200190815260200160002060080160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b60008083600080600083600019166000191681526020019081526020016000206000015414151515611a57576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737473000000000081525060200191505060405180910390fd5b8460006001811115611a6557fe5b600080836000191660001916815260200190815260200160002060020160009054906101000a900460ff166001811115611a9b57fe5b141515611b36576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001807f5472616e73616374696f6e206973206e6f7420696e2046554e4445442073746181526020017f746500000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b856001806001811115611b4557fe5b600080846000191660001916815260200190815260200160002060020160019054906101000a900460ff166001811115611b7b57fe5b141515611bf0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5472616e73616374696f6e207479706520646f6573206e6f74206d617463680081525060200191505060405180910390fd5b87600080826000191660001916815260200190815260200160002060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611cf7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f54686520696e69746961746f72206f6620746865207472616e73616374696f6e81526020017f206973206e6f742062757965720000000000000000000000000000000000000081525060400191505060405180910390fd5b879650600087111515611d72576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f56616c7565206d7573742062652067726561746572207468616e207a65726f2e81525060200191505060405180910390fd5b6000808a6000191660001916815260200190815260200160002060040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1695508573ffffffffffffffffffffffffffffffffffffffff166323b872dd6000808c6000191660001916815260200190815260200160002060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff16308b6040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b158015611ec657600080fd5b505af1158015611eda573d6000803e3d6000fd5b505050506040513d6020811015611ef057600080fd5b81019080805190602001909291905050501515611fc1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252605c8152602001807f546f6b656e207472616e73666572206661696c65642c206d6179626520796f7581526020017f20646964206e6f7420617070726f766520657363726f7720636f6e747261637481526020017f20746f207370656e64206f6e20626568616c66206f662062757965720000000081525060600191505060405180910390fd5b611ff1876000808c60001916600019168152602001908152602001600020600001546130ce90919063ffffffff16565b6000808b6000191660001916815260200190815260200160002060000181905550426000808b60001916600019168152602001908152602001600020600101819055503373ffffffffffffffffffffffffffffffffffffffff167ff66fd2ae9e24a6a24b02e1b5b7512ffde5149a4176085fc0298ae228c9b9d7298a896040518083600019166000191681526020018281526020019250505060405180910390a2505050505050505050565b60015481565b6060600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080548060200260200160405190810160405280929190818152602001828054801561213257602002820191906000526020600020905b8154600019168152602001906001019080831161211a575b50505050509050919050565b846000806000836000191660001916815260200190815260200160002060000154141515156121d5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737473000000000081525060200191505060405180910390fd5b85600060018111156121e357fe5b600080836000191660001916815260200190815260200160002060020160009054906101000a900460ff16600181111561221957fe5b1415156122b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001807f5472616e73616374696f6e206973206e6f7420696e2046554e4445442073746181526020017f746500000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b6000868690501180156122cc57508383905086869050145b1515612366576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001807f4c656e677468206f662064657374696e6174696f6e7320697320696e636f727281526020017f6563742e0000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b61245f8d8d808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508c8c808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508b8b808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508a8a8a808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508989808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050506130ef565b6001600080896000191660001916815260200190815260200160002060020160006101000a81548160ff0219169083600181111561249957fe5b021790555042600080896000191660001916815260200190815260200160002060010181905550600080886000191660001916815260200190815260200160002060000154612547888888808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508787808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050506132d0565b141515612608576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260488152602001807f546f74616c2076616c756520746f2062652072656c6561736564206d7573742081526020017f626520657175616c20746f20746865207472616e73616374696f6e206573637281526020017f6f772076616c756500000000000000000000000000000000000000000000000081525060600191505060405180910390fd5b7f688e2a1b34445bcd47b0e11ba2a9c8c4d850a1831b64199b59d1c70e2970154587878787876040518086600019166000191681526020018060200180602001838103835287878281815260200192506020028082843782019150508381038252858582818152602001925060200280828437820191505097505050505050505060405180910390a150505050505050505050505050565b6000806000846000191660001916815260200190815260200160002060070160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b60026020528160005260406000208181548110151561272d57fe5b90600052602060002001600091509150505481565b8873ffffffffffffffffffffffffffffffffffffffff168a73ffffffffffffffffffffffffffffffffffffffff16141515156127e6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f427579657220616e642073656c6c6572206172652073616d650000000000000081525060200191505060405180910390fd5b60008411151561285e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f56616c756520706173736564206973203000000000000000000000000000000081525060200191505060405180910390fd5b60008760ff16118015612875575060038760ff1611155b151561290f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603d8152602001807f5468726573686f6c642063616e6e6f742062652067726561746572207468616e81526020017f203320616e64206d7573742062652067726561746572207468616e203000000081525060400191505060405180910390fd5b60018760ff16148061294e5750600073ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff1614155b1515612a0e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252604f8152602001807f456974686572207468726573686f6c642073686f756c642062652031206f746881526020017f6572776973652076616c6964206d6f64657261746f722061646472657373207381526020017f686f756c6420626520706173736564000000000000000000000000000000000081525060600191505060405180910390fd5b612a1d8388888d8d8d87610eb4565b600019168560001916141515612ac1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260398152602001807f43616c63756c6174656420736372697074206861736820646f6573206e6f742081526020017f6d61746368207061737365642073637269707420686173682e0000000000000081525060400191505060405180910390fd5b6101406040519081016040528085815260200142815260200160006001811115612ae757fe5b8152602001836001811115612af857fe5b81526020018860ff1681526020018763ffffffff1681526020018b73ffffffffffffffffffffffffffffffffffffffff1681526020018a73ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020018973ffffffffffffffffffffffffffffffffffffffff168152506000808760001916600019168152602001908152602001600020600082015181600001556020820151816001015560408201518160020160006101000a81548160ff02191690836001811115612bd257fe5b021790555060608201518160020160016101000a81548160ff02191690836001811115612bfb57fe5b021790555060808201518160020160026101000a81548160ff021916908360ff16021790555060a08201518160020160036101000a81548163ffffffff021916908363ffffffff16021790555060c08201518160020160076101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060e08201518160030160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506101008201518160040160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506101208201518160050160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055509050506001600080876000191660001916815260200190815260200160002060060160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600080876000191660001916815260200190815260200160002060060160008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600080866000191660001916815260200190815260200160002060060160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151515612f52576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f456974686572206275796572206f722073656c6c65722069732070617373656481526020017f206173206d6f64657261746f720000000000000000000000000000000000000081525060400191505060405180910390fd5b60018760ff161115612fd2576001600080876000191660001916815260200190815260200160002060060160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b600160008154809291906001019190505550600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020859080600181540180825580915050906001820390600052602060002001600090919290919091509060001916905550600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002085908060018154018082558091505090600182039060005260206000200160009091929091909150906000191690555050505050505050505050565b60008082840190508381101515156130e557600080fd5b8091505092915050565b600080613100888888888888613ab8565b9150613156600080876000191660001916815260200190815260200160002060020160039054906101000a900463ffffffff16600080886000191660001916815260200190815260200160002060010154614131565b9050600080866000191660001916815260200190815260200160002060020160029054906101000a900460ff1660ff16885110801561320757508015806132065750600080866000191660001916815260200190815260200160002060030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b5b156132c6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260588152602001807f4d696e696d756d206e756d626572206f66207369676e6174757265732061726581526020017f206e6f7420636f6c6c656374656420616e642074696d65206c6f636b2065787081526020017f69727920636f6e646974696f6e73206e6f74206d65742121000000000000000081525060600191505060405180910390fd5b5050505050505050565b6000806000806000806000808a600019166000191681526020019081526020016000209450600093506000600181111561330657fe5b8560020160019054906101000a900460ff16600181111561332357fe5b141561363a57600092505b875183101561363557600073ffffffffffffffffffffffffffffffffffffffff16888481518110151561335d57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff16141580156133ed5750846006016000898581518110151561339a57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1515613461576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f4e6f7420612076616c69642064657374696e6174696f6e00000000000000000081525060200191505060405180910390fd5b6000878481518110151561347157fe5b90602001906020020151111515613516576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001807f416d6f756e7420746f2062652073656e742073686f756c64206265206772656181526020017f746572207468616e20300000000000000000000000000000000000000000000081525060400191505060405180910390fd5b613540878481518110151561352757fe5b90602001906020020151856130ce90919063ffffffff16565b935060018560080160008a8681518110151561355857fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555087838151811015156135c157fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff166108fc88858151811015156135f257fe5b906020019060200201519081150290604051600060405180830381858888f19350505050158015613627573d6000803e3d6000fd5b50828060010193505061332e565b613aa9565b60018081111561364657fe5b8560020160019054906101000a900460ff16600181111561366357fe5b1415613aa8578460040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169150600090505b8751811015613aa757600073ffffffffffffffffffffffffffffffffffffffff1688828151811015156136c457fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff16141580156137545750846006016000898381518110151561370157fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15156137c8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f4e6f7420612076616c69642064657374696e6174696f6e00000000000000000081525060200191505060405180910390fd5b600087828151811015156137d857fe5b9060200190602002015111151561387d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001807f416d6f756e7420746f2062652073656e742073686f756c64206265206772656181526020017f746572207468616e20300000000000000000000000000000000000000000000081525060400191505060405180910390fd5b6138a7878281518110151561388e57fe5b90602001906020020151856130ce90919063ffffffff16565b935060018560080160008a848151811015156138bf57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb898381518110151561394457fe5b90602001906020020151898481518110151561395c57fe5b906020019060200201516040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1580156139eb57600080fd5b505af11580156139ff573d6000803e3d6000fd5b505050506040513d6020811015613a1557600080fd5b81019080805190602001909291905050501515613a9a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f546f6b656e207472616e73666572206661696c65642e0000000000000000000081525060200191505060405180910390fd5b8080600101915050613695565b5b5b83955050505050509392505050565b600080600080600088518a51148015613ad257508a518a51145b1515613b46576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f522c532c56206c656e677468206d69736d617463682e0000000000000000000081525060200191505060405180910390fd5b60197f01000000000000000000000000000000000000000000000000000000000000000260007f0100000000000000000000000000000000000000000000000000000000000000023089898c60405160200180877effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168152600101867effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526001018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401848051906020019060200280838360005b83811015613c9a578082015181840152602081019050613c7f565b50505050905001838051906020019060200280838360005b83811015613ccd578082015181840152602081019050613cb2565b50505050905001826000191660001916815260200196505050505050506040516020818303038152906040526040518082805190602001908083835b602083101515613d2e5780518252602082019150602081019050602083039250613d09565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902060405160200180807f19457468657265756d205369676e6564204d6573736167653a0a333200000000815250601c0182600019166000191681526020019150506040516020818303038152906040526040518082805190602001908083835b602083101515613ddf5780518252602082019150602081019050602083039250613dba565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390209250600091505b8951821015614120576001838c84815181101515613e2d57fe5b906020019060200201518c85815181101515613e4557fe5b906020019060200201518c86815181101515613e5d57fe5b90602001906020020151604051600081526020016040526040518085600019166000191681526020018460ff1660ff1681526020018360001916600019168152602001826000191660001916815260200194505050505060206040516020810390808403906000865af1158015613ed8573d6000803e3d6000fd5b505050602060405103519050600080896000191660001916815260200190815260200160002060060160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515613fc0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f496e76616c6964207369676e617475726500000000000000000000000000000081525060200191505060405180910390fd5b600080896000191660001916815260200190815260200160002060070160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151561409d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f53616d65207369676e61747572652073656e742074776963650000000000000081525060200191505060405180910390fd5b60016000808a6000191660001916815260200190815260200160002060070160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508093508180600101925050613e13565b839450505050509695505050505050565b600080614147834261418590919063ffffffff16565b905060008463ffffffff161461417957614172610e108563ffffffff166141a690919063ffffffff16565b811161417c565b60005b91505092915050565b60008083831115151561419757600080fd5b82840390508091505092915050565b60008060008414156141bb57600091506141dd565b82840290508284828115156141cc57fe5b041415156141d957600080fd5b8091505b50929150505600a165627a7a723058208e596ff0652b5823d45658603562faf59e3eb9790f4a135a4a80814ae00cb6780029", - "deployedBytecode": "0x6080604052600436106100ba576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806323b6fd3f146100bf5780632d9ef96e1461017957806346fbcdeb1461019d57806357bced7614610292578063642f2eaf14610383578063b0550c66146104e5578063b719e2801461054e578063b77bf60014610589578063be84ceaf146105b4578063e4ec8b001461064c578063f0786562146106f5578063f5dbe09c1461075e575b600080fd5b610177600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff169060200190929190803563ffffffff169060200190929190803560001916906020019092919080356bffffffffffffffffffffffff191690602001909291905050506107c7565b005b61019b6004803603810190808035600019169060200190929190505050610a26565b005b3480156101a957600080fd5b5061027460048036038101908080356bffffffffffffffffffffffff19169060200190929190803560ff169060200190929190803563ffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610eb4565b60405180826000191660001916815260200191505060405180910390f35b34801561029e57600080fd5b50610381600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff169060200190929190803563ffffffff16906020019092919080356000191690602001909291908035906020019092919080356bffffffffffffffffffffffff19169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611360565b005b34801561038f57600080fd5b506103b26004803603810190808035600019169060200190929190505050611840565b604051808b81526020018a81526020018960018111156103ce57fe5b60ff1681526020018860018111156103e257fe5b60ff1681526020018760ff1660ff1681526020018663ffffffff1663ffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019a505050505050505050505060405180910390f35b3480156104f157600080fd5b506105346004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061194b565b604051808215151515815260200191505060405180910390f35b34801561055a57600080fd5b506105876004803603810190808035600019169060200190929190803590602001909291905050506119bd565b005b34801561059557600080fd5b5061059e61209d565b6040518082815260200191505060405180910390f35b3480156105c057600080fd5b506105f5600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506120a3565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b8381101561063857808201518184015260208101905061061d565b505050509050019250505060405180910390f35b34801561065857600080fd5b506106f3600480360381019080803590602001908201803590602001919091929391929390803590602001908201803590602001919091929391929390803590602001908201803590602001919091929391929390803560001916906020019092919080359060200190820180359060200191909192939192939080359060200190820180359060200191909192939192939050505061213e565b005b34801561070157600080fd5b506107446004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506126a0565b604051808215151515815260200191505060405180910390f35b34801561076a57600080fd5b506107a9600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050612712565b60405180826000191660001916815260200191505060405180910390f35b81600080600083600019166000191681526020019081526020016000206000015414151561085d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f5472616e73616374696f6e20657869737473000000000000000000000000000081525060200191505060405180910390fd5b87600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610903576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b87600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156109a9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b6109bc8a8a8a8a8a8a348b600080612742565b3373ffffffffffffffffffffffffffffffffffffffff167fce7089d0668849fb9ca29778c0cbf1e764d9efb048d81fd71fb34c94f26db36886346040518083600019166000191681526020018281526020019250505060405180910390a250505050505050505050565b600081600080600083600019166000191681526020019081526020016000206000015414151515610abf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737473000000000081525060200191505060405180910390fd5b8260006001811115610acd57fe5b600080836000191660001916815260200190815260200160002060020160009054906101000a900460ff166001811115610b0357fe5b141515610b9e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001807f5472616e73616374696f6e206973206e6f7420696e2046554e4445442073746181526020017f746500000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b836000806001811115610bad57fe5b600080846000191660001916815260200190815260200160002060020160019054906101000a900460ff166001811115610be357fe5b141515610c58576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5472616e73616374696f6e207479706520646f6573206e6f74206d617463680081525060200191505060405180910390fd5b85600080826000191660001916815260200190815260200160002060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610d5f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f54686520696e69746961746f72206f6620746865207472616e73616374696f6e81526020017f206973206e6f742062757965720000000000000000000000000000000000000081525060400191505060405180910390fd5b349550600086111515610dda576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f56616c7565206d7573742062652067726561746572207468616e207a65726f2e81525060200191505060405180910390fd5b610e0a866000808a60001916600019168152602001908152602001600020600001546130ce90919063ffffffff16565b600080896000191660001916815260200190815260200160002060000181905550426000808960001916600019168152602001908152602001600020600101819055503373ffffffffffffffffffffffffffffffffffffffff167ff66fd2ae9e24a6a24b02e1b5b7512ffde5149a4176085fc0298ae228c9b9d72988886040518083600019166000191681526020018281526020019250505060405180910390a250505050505050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611100578787878787873060405160200180886bffffffffffffffffffffffff19166bffffffffffffffffffffffff191681526014018760ff1660ff167f01000000000000000000000000000000000000000000000000000000000000000281526001018663ffffffff1663ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014019750505050505050506040516020818303038152906040526040518082805190602001908083835b6020831015156110cc57805182526020820191506020810190506020830392506110a7565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390209050611355565b878787878787308860405160200180896bffffffffffffffffffffffff19166bffffffffffffffffffffffff191681526014018860ff1660ff167f01000000000000000000000000000000000000000000000000000000000000000281526001018763ffffffff1663ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401985050505050505050506040516020818303038152906040526040518082805190602001908083835b6020831015156113255780518252602082019150602081019050602083039250611300565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902090505b979650505050505050565b60008460008060008360001916600019168152602001908152602001600020600001541415156113f8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f5472616e73616374696f6e20657869737473000000000000000000000000000081525060200191505060405180910390fd5b8a600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561149e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b8a600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515611544576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b84600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156115ea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b6115fd8e8e8e8e8e8e8e8e60018f612742565b8594508473ffffffffffffffffffffffffffffffffffffffff166323b872dd33308b6040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b1580156116d757600080fd5b505af11580156116eb573d6000803e3d6000fd5b505050506040513d602081101561170157600080fd5b810190808051906020019092919050505015156117d2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252605c8152602001807f546f6b656e207472616e73666572206661696c65642c206d6179626520796f7581526020017f20646964206e6f7420617070726f766520657363726f7720636f6e747261637481526020017f20746f207370656e64206f6e20626568616c66206f662062757965720000000081525060600191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff167fce7089d0668849fb9ca29778c0cbf1e764d9efb048d81fd71fb34c94f26db3688a8a6040518083600019166000191681526020018281526020019250505060405180910390a25050505050505050505050505050565b60006020528060005260406000206000915090508060000154908060010154908060020160009054906101000a900460ff16908060020160019054906101000a900460ff16908060020160029054906101000a900460ff16908060020160039054906101000a900463ffffffff16908060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060050160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508a565b6000806000846000191660001916815260200190815260200160002060080160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b60008083600080600083600019166000191681526020019081526020016000206000015414151515611a57576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737473000000000081525060200191505060405180910390fd5b8460006001811115611a6557fe5b600080836000191660001916815260200190815260200160002060020160009054906101000a900460ff166001811115611a9b57fe5b141515611b36576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001807f5472616e73616374696f6e206973206e6f7420696e2046554e4445442073746181526020017f746500000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b856001806001811115611b4557fe5b600080846000191660001916815260200190815260200160002060020160019054906101000a900460ff166001811115611b7b57fe5b141515611bf0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5472616e73616374696f6e207479706520646f6573206e6f74206d617463680081525060200191505060405180910390fd5b87600080826000191660001916815260200190815260200160002060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611cf7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f54686520696e69746961746f72206f6620746865207472616e73616374696f6e81526020017f206973206e6f742062757965720000000000000000000000000000000000000081525060400191505060405180910390fd5b879650600087111515611d72576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f56616c7565206d7573742062652067726561746572207468616e207a65726f2e81525060200191505060405180910390fd5b6000808a6000191660001916815260200190815260200160002060040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1695508573ffffffffffffffffffffffffffffffffffffffff166323b872dd6000808c6000191660001916815260200190815260200160002060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff16308b6040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b158015611ec657600080fd5b505af1158015611eda573d6000803e3d6000fd5b505050506040513d6020811015611ef057600080fd5b81019080805190602001909291905050501515611fc1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252605c8152602001807f546f6b656e207472616e73666572206661696c65642c206d6179626520796f7581526020017f20646964206e6f7420617070726f766520657363726f7720636f6e747261637481526020017f20746f207370656e64206f6e20626568616c66206f662062757965720000000081525060600191505060405180910390fd5b611ff1876000808c60001916600019168152602001908152602001600020600001546130ce90919063ffffffff16565b6000808b6000191660001916815260200190815260200160002060000181905550426000808b60001916600019168152602001908152602001600020600101819055503373ffffffffffffffffffffffffffffffffffffffff167ff66fd2ae9e24a6a24b02e1b5b7512ffde5149a4176085fc0298ae228c9b9d7298a896040518083600019166000191681526020018281526020019250505060405180910390a2505050505050505050565b60015481565b6060600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080548060200260200160405190810160405280929190818152602001828054801561213257602002820191906000526020600020905b8154600019168152602001906001019080831161211a575b50505050509050919050565b846000806000836000191660001916815260200190815260200160002060000154141515156121d5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737473000000000081525060200191505060405180910390fd5b85600060018111156121e357fe5b600080836000191660001916815260200190815260200160002060020160009054906101000a900460ff16600181111561221957fe5b1415156122b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001807f5472616e73616374696f6e206973206e6f7420696e2046554e4445442073746181526020017f746500000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b6000868690501180156122cc57508383905086869050145b1515612366576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001807f4c656e677468206f662064657374696e6174696f6e7320697320696e636f727281526020017f6563742e0000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b61245f8d8d808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508c8c808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508b8b808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508a8a8a808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508989808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050506130ef565b6001600080896000191660001916815260200190815260200160002060020160006101000a81548160ff0219169083600181111561249957fe5b021790555042600080896000191660001916815260200190815260200160002060010181905550600080886000191660001916815260200190815260200160002060000154612547888888808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508787808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050506132d0565b141515612608576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260488152602001807f546f74616c2076616c756520746f2062652072656c6561736564206d7573742081526020017f626520657175616c20746f20746865207472616e73616374696f6e206573637281526020017f6f772076616c756500000000000000000000000000000000000000000000000081525060600191505060405180910390fd5b7f688e2a1b34445bcd47b0e11ba2a9c8c4d850a1831b64199b59d1c70e2970154587878787876040518086600019166000191681526020018060200180602001838103835287878281815260200192506020028082843782019150508381038252858582818152602001925060200280828437820191505097505050505050505060405180910390a150505050505050505050505050565b6000806000846000191660001916815260200190815260200160002060070160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b60026020528160005260406000208181548110151561272d57fe5b90600052602060002001600091509150505481565b8873ffffffffffffffffffffffffffffffffffffffff168a73ffffffffffffffffffffffffffffffffffffffff16141515156127e6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f427579657220616e642073656c6c6572206172652073616d650000000000000081525060200191505060405180910390fd5b60008411151561285e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f56616c756520706173736564206973203000000000000000000000000000000081525060200191505060405180910390fd5b60008760ff16118015612875575060038760ff1611155b151561290f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603d8152602001807f5468726573686f6c642063616e6e6f742062652067726561746572207468616e81526020017f203320616e64206d7573742062652067726561746572207468616e203000000081525060400191505060405180910390fd5b60018760ff16148061294e5750600073ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff1614155b1515612a0e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252604f8152602001807f456974686572207468726573686f6c642073686f756c642062652031206f746881526020017f6572776973652076616c6964206d6f64657261746f722061646472657373207381526020017f686f756c6420626520706173736564000000000000000000000000000000000081525060600191505060405180910390fd5b612a1d8388888d8d8d87610eb4565b600019168560001916141515612ac1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260398152602001807f43616c63756c6174656420736372697074206861736820646f6573206e6f742081526020017f6d61746368207061737365642073637269707420686173682e0000000000000081525060400191505060405180910390fd5b6101406040519081016040528085815260200142815260200160006001811115612ae757fe5b8152602001836001811115612af857fe5b81526020018860ff1681526020018763ffffffff1681526020018b73ffffffffffffffffffffffffffffffffffffffff1681526020018a73ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020018973ffffffffffffffffffffffffffffffffffffffff168152506000808760001916600019168152602001908152602001600020600082015181600001556020820151816001015560408201518160020160006101000a81548160ff02191690836001811115612bd257fe5b021790555060608201518160020160016101000a81548160ff02191690836001811115612bfb57fe5b021790555060808201518160020160026101000a81548160ff021916908360ff16021790555060a08201518160020160036101000a81548163ffffffff021916908363ffffffff16021790555060c08201518160020160076101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060e08201518160030160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506101008201518160040160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506101208201518160050160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055509050506001600080876000191660001916815260200190815260200160002060060160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600080876000191660001916815260200190815260200160002060060160008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600080866000191660001916815260200190815260200160002060060160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151515612f52576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f456974686572206275796572206f722073656c6c65722069732070617373656481526020017f206173206d6f64657261746f720000000000000000000000000000000000000081525060400191505060405180910390fd5b60018760ff161115612fd2576001600080876000191660001916815260200190815260200160002060060160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b600160008154809291906001019190505550600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020859080600181540180825580915050906001820390600052602060002001600090919290919091509060001916905550600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002085908060018154018082558091505090600182039060005260206000200160009091929091909150906000191690555050505050505050505050565b60008082840190508381101515156130e557600080fd5b8091505092915050565b600080613100888888888888613ab8565b9150613156600080876000191660001916815260200190815260200160002060020160039054906101000a900463ffffffff16600080886000191660001916815260200190815260200160002060010154614131565b9050600080866000191660001916815260200190815260200160002060020160029054906101000a900460ff1660ff16885110801561320757508015806132065750600080866000191660001916815260200190815260200160002060030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b5b156132c6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260588152602001807f4d696e696d756d206e756d626572206f66207369676e6174757265732061726581526020017f206e6f7420636f6c6c656374656420616e642074696d65206c6f636b2065787081526020017f69727920636f6e646974696f6e73206e6f74206d65742121000000000000000081525060600191505060405180910390fd5b5050505050505050565b6000806000806000806000808a600019166000191681526020019081526020016000209450600093506000600181111561330657fe5b8560020160019054906101000a900460ff16600181111561332357fe5b141561363a57600092505b875183101561363557600073ffffffffffffffffffffffffffffffffffffffff16888481518110151561335d57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff16141580156133ed5750846006016000898581518110151561339a57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1515613461576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f4e6f7420612076616c69642064657374696e6174696f6e00000000000000000081525060200191505060405180910390fd5b6000878481518110151561347157fe5b90602001906020020151111515613516576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001807f416d6f756e7420746f2062652073656e742073686f756c64206265206772656181526020017f746572207468616e20300000000000000000000000000000000000000000000081525060400191505060405180910390fd5b613540878481518110151561352757fe5b90602001906020020151856130ce90919063ffffffff16565b935060018560080160008a8681518110151561355857fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555087838151811015156135c157fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff166108fc88858151811015156135f257fe5b906020019060200201519081150290604051600060405180830381858888f19350505050158015613627573d6000803e3d6000fd5b50828060010193505061332e565b613aa9565b60018081111561364657fe5b8560020160019054906101000a900460ff16600181111561366357fe5b1415613aa8578460040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169150600090505b8751811015613aa757600073ffffffffffffffffffffffffffffffffffffffff1688828151811015156136c457fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff16141580156137545750846006016000898381518110151561370157fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15156137c8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f4e6f7420612076616c69642064657374696e6174696f6e00000000000000000081525060200191505060405180910390fd5b600087828151811015156137d857fe5b9060200190602002015111151561387d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001807f416d6f756e7420746f2062652073656e742073686f756c64206265206772656181526020017f746572207468616e20300000000000000000000000000000000000000000000081525060400191505060405180910390fd5b6138a7878281518110151561388e57fe5b90602001906020020151856130ce90919063ffffffff16565b935060018560080160008a848151811015156138bf57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb898381518110151561394457fe5b90602001906020020151898481518110151561395c57fe5b906020019060200201516040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1580156139eb57600080fd5b505af11580156139ff573d6000803e3d6000fd5b505050506040513d6020811015613a1557600080fd5b81019080805190602001909291905050501515613a9a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f546f6b656e207472616e73666572206661696c65642e0000000000000000000081525060200191505060405180910390fd5b8080600101915050613695565b5b5b83955050505050509392505050565b600080600080600088518a51148015613ad257508a518a51145b1515613b46576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f522c532c56206c656e677468206d69736d617463682e0000000000000000000081525060200191505060405180910390fd5b60197f01000000000000000000000000000000000000000000000000000000000000000260007f0100000000000000000000000000000000000000000000000000000000000000023089898c60405160200180877effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168152600101867effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526001018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401848051906020019060200280838360005b83811015613c9a578082015181840152602081019050613c7f565b50505050905001838051906020019060200280838360005b83811015613ccd578082015181840152602081019050613cb2565b50505050905001826000191660001916815260200196505050505050506040516020818303038152906040526040518082805190602001908083835b602083101515613d2e5780518252602082019150602081019050602083039250613d09565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902060405160200180807f19457468657265756d205369676e6564204d6573736167653a0a333200000000815250601c0182600019166000191681526020019150506040516020818303038152906040526040518082805190602001908083835b602083101515613ddf5780518252602082019150602081019050602083039250613dba565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390209250600091505b8951821015614120576001838c84815181101515613e2d57fe5b906020019060200201518c85815181101515613e4557fe5b906020019060200201518c86815181101515613e5d57fe5b90602001906020020151604051600081526020016040526040518085600019166000191681526020018460ff1660ff1681526020018360001916600019168152602001826000191660001916815260200194505050505060206040516020810390808403906000865af1158015613ed8573d6000803e3d6000fd5b505050602060405103519050600080896000191660001916815260200190815260200160002060060160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515613fc0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f496e76616c6964207369676e617475726500000000000000000000000000000081525060200191505060405180910390fd5b600080896000191660001916815260200190815260200160002060070160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151561409d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f53616d65207369676e61747572652073656e742074776963650000000000000081525060200191505060405180910390fd5b60016000808a6000191660001916815260200190815260200160002060070160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508093508180600101925050613e13565b839450505050509695505050505050565b600080614147834261418590919063ffffffff16565b905060008463ffffffff161461417957614172610e108563ffffffff166141a690919063ffffffff16565b811161417c565b60005b91505092915050565b60008083831115151561419757600080fd5b82840390508091505092915050565b60008060008414156141bb57600091506141dd565b82840290508284828115156141cc57fe5b041415156141d957600080fd5b8091505b50929150505600a165627a7a723058208e596ff0652b5823d45658603562faf59e3eb9790f4a135a4a80814ae00cb6780029", - "sourceMap": "460:20504:0:-;;;1606:1;1572:35;;460:20504;8:9:-1;5:2;;;30:1;27;20:12;5:2;460:20504:0;;;;;;;", - "deployedSourceMap": "460:20504:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3812:702;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7815:598;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12152:999;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12152:999:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5614:1021;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5614:1021:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1514:51;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1514:51:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6859:221;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6859:221:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8673:924;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8673:924:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1572:35;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1572:35:0;;;;;;;;;;;;;;;;;;;;;;;9714:194;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9714:194:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;9714:194:0;;;;;;;;;;;;;;;;;10618:1063;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10618:1063:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7303:194;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7303:194:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1684:54;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1684:54:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3812:702;4090:10;2030:1;1996:12;:24;2009:10;1996:24;;;;;;;;;;;;;;;;;:30;;;:35;1988:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4125:5;2364:1;2338:28;;:14;:28;;;;2330:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4155:6;2364:1;2338:28;;:14;:28;;;;2330:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4177:264;4206:5;4225:6;4245:9;4268;4291:12;4317:10;4341:9;4364:8;4386:21;4429:1;4177:15;:264::i;:::-;4484:10;4465:41;;;4472:10;4496:9;4465:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2400:1;2064;3812:702;;;;;;;;:::o;7815:598::-;8093:14;7923:10;1857:1;1823:12;:24;1836:10;1823:24;;;;;;;;;;;;;;;;;:30;;;:35;;1802:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7957:10;2187:13;2152:48;;;;;;;;:12;:24;2165:10;2152:24;;;;;;;;;;;;;;;;;:31;;;;;;;;;;;;:48;;;;;;;;;2131:117;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7998:10;8010:21;2598:15;2554:59;;;;;;;;:12;:24;2567:10;2554:24;;;;;;;;;;;;;;;;;:40;;;;;;;;;;;;:59;;;;;;;;;2533:125;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8051:10;2766:12;:24;2779:10;2766:24;;;;;;;;;;;;;;;;;:30;;;;;;;;;;;;2752:44;;:10;:44;;;2731:124;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8110:9;8093:26;;8147:1;8138:6;:10;8130:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8229;8277:6;8229:12;:24;8242:10;8229:24;;;;;;;;;;;;;;;;;:30;;;:47;;:55;;;;:::i;:::-;8196:12;:24;8209:10;8196:24;;;;;;;;;;;;;;;;;:30;;:88;;;;8334:15;8294:12;:24;8307:10;8294:24;;;;;;;;;;;;;;;;;:37;;:55;;;;8387:10;8365:41;;;8375:10;8399:6;8365:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2668:1;2258;;1909;7815:598;;;:::o;12152:999::-;12422:7;12473:1;12449:26;;:12;:26;;;12445:700;;;12563:8;12593:9;12624:12;12658:5;12685:6;12713:9;12744:4;12525:241;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;12525:241:0;;;12498:282;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;12498:282:0;;;;;;;;;;;;;;;;12491:289;;;;12445:700;12883:8;12913:9;12944:12;12978:5;13005:6;13033:9;13064:4;13090:12;12845:275;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;12845:275:0;;;12818:316;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;12818:316:0;;;;;;;;;;;;;;;;12811:323;;12152:999;;;;;;;;;;:::o;5614:1021::-;6332:20;5934:10;2030:1;1996:12;:24;2009:10;1996:24;;;;;;;;;;;;;;;;;:30;;;:35;1988:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5969:5;2364:1;2338:28;;:14;:28;;;;2330:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5999:6;2364:1;2338:28;;:14;:28;;;;2330:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6030:12;2364:1;2338:28;;:14;:28;;;;2330:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6059:262;6088:5;6107:6;6127:9;6150;6173:12;6199:10;6223:5;6242:8;6264:21;6299:12;6059:15;:262::i;:::-;6370:12;6332:51;;6415:5;:18;;;6434:10;6446:4;6452:5;6415:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6415:43:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6415:43:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6415:43:0;;;;;;;;;;;;;;;;6394:182;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6610:10;6591:37;;;6598:10;6622:5;6591:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2400:1;;2064;5614:1021;;;;;;;;;;;:::o;1514:51::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;6859:221::-;6995:4;7022:12;:24;7035:10;7022:24;;;;;;;;;;;;;;;;;:38;;:51;7061:11;7022:51;;;;;;;;;;;;;;;;;;;;;;;;;7015:58;;6859:221;;;;:::o;8673:924::-;8959:14;9058:20;8805:10;1857:1;1823:12;:24;1836:10;1823:24;;;;;;;;;;;;;;;;;:30;;;:35;;1802:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8839:10;2187:13;2152:48;;;;;;;;:12;:24;2165:10;2152:24;;;;;;;;;;;;;;;;;:31;;;;;;;;;;;;:48;;;;;;;;;2131:117;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8880:10;8892:21;2598:15;2554:59;;;;;;;;:12;:24;2567:10;2554:24;;;;;;;;;;;;;;;;;:40;;;;;;;;;;;;:59;;;;;;;;;2533:125;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8933:10;2766:12;:24;2779:10;2766:24;;;;;;;;;;;;;;;;;:30;;;;;;;;;;;;2752:44;;:10;:44;;;2731:124;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8976:5;8959:22;;9009:1;9000:6;:10;8992:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9109:12;:24;9122:10;9109:24;;;;;;;;;;;;;;;;;:37;;;;;;;;;;;;9058:98;;9188:5;:18;;;9207:12;:24;9220:10;9207:24;;;;;;;;;;;;;;;;;:30;;;;;;;;;;;;9239:4;9245:5;9188:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9188:63:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9188:63:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;9188:63:0;;;;;;;;;;;;;;;;9167:202;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9413:55;9461:6;9413:12;:24;9426:10;9413:24;;;;;;;;;;;;;;;;;:30;;;:47;;:55;;;;:::i;:::-;9380:12;:24;9393:10;9380:24;;;;;;;;;;;;;;;;;:30;;:88;;;;9518:15;9478:12;:24;9491:10;9478:24;;;;;;;;;;;;;;;;;:37;;:55;;;;9571:10;9549:41;;;9559:10;9583:6;9549:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2668:1;2258;;1909;8673:924;;;;;:::o;1572:35::-;;;;:::o;9714:194::-;9836:9;9869:18;:32;9888:12;9869:32;;;;;;;;;;;;;;;9862:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9714:194;;;:::o;10618:1063::-;10841:10;1857:1;1823:12;:24;1836:10;1823:24;;;;;;;;;;;;;;;;;:30;;;:35;;1802:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10875:10;2187:13;2152:48;;;;;;;;:12;:24;2165:10;2152:24;;;;;;;;;;;;;;;;;:31;;;;;;;;;;;;:48;;;;;;;;;2131:117;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10942:1;10922:12;;:19;;:21;:62;;;;;10970:7;;:14;;10947:12;;:19;;:37;10922:62;10901:133;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11045:152;11076:4;;11045:152;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11094:4;;11045:152;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11112:4;;11045:152;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11130:10;11154:12;;11045:152;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11180:7;;11045:152;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:17;:152::i;:::-;11242:15;11208:12;:24;11221:10;11208:24;;;;;;;;;;;;;;;;;:31;;;:49;;;;;;;;;;;;;;;;;;;;;;;;11381:15;11341:12;:24;11354:10;11341:24;;;;;;;;;;;;;;;;;:37;;:55;;;;11479:12;:24;11492:10;11479:24;;;;;;;;;;;;;;;;;:30;;;11427:48;11441:10;11453:12;;11427:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11467:7;;11427:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:13;:48::i;:::-;:82;11406:201;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11631:43;11640:10;11652:12;;11666:7;;11631:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1909:1;10618:1063;;;;;;;;;;;;:::o;7303:194::-;7426:4;7453:12;:24;7466:10;7453:24;;;;;;;;;;;;;;;;;:30;;:37;7484:5;7453:37;;;;;;;;;;;;;;;;;;;;;;;;;7446:44;;7303:194;;;;:::o;1684:54::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;18327:2635::-;18689:6;18680:15;;:5;:15;;;;18672:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18800:1;18792:5;:9;18784:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18938:1;18926:9;:13;;;:31;;;;;18956:1;18943:9;:14;;;;18926:31;18905:140;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19327:1;19314:9;:14;;;:41;;;;19353:1;19332:23;;:9;:23;;;;19314:41;19293:167;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19506:226;19549:8;19575:9;19602:12;19632:5;19655:6;19679:9;19706:12;19506:25;:226::i;:::-;19492:240;;;:10;:240;;;;19471:345;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19854:373;;;;;;;;;19975:5;19854:373;;;;20043:15;19854:373;;;;20002:13;19854:373;;;;;;;;;;;;20162:15;19854:373;;;;;;;;;;;;20083:9;19854:373;;;;;;20120:12;19854:373;;;;;;19887:5;19854:373;;;;;;19914:6;19854:373;;;;;;20204:12;19854:373;;;;;;19945:9;19854:373;;;;;19827:12;:24;19840:10;19827:24;;;;;;;;;;;;;;;;;:400;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20281:4;20238:12;:24;20251:10;20238:24;;;;;;;;;;;;;;;;;:32;;:40;20271:6;20238:40;;;;;;;;;;;;;;;;:47;;;;;;;;;;;;;;;;;;20337:4;20295:12;:24;20308:10;20295:24;;;;;;;;;;;;;;;;;:32;;:39;20328:5;20295:39;;;;;;;;;;;;;;;;:46;;;;;;;;;;;;;;;;;;20449:12;:24;20462:10;20449:24;;;;;;;;;;;;;;;;;:32;;:43;20482:9;20449:43;;;;;;;;;;;;;;;;;;;;;;;;;20448:44;20427:137;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20736:1;20724:9;:13;;;20720:93;;;20798:4;20752:12;:24;20765:10;20752:24;;;;;;;;;;;;;;;;;:32;;:43;20785:9;20752:43;;;;;;;;;;;;;;;;:50;;;;;;;;;;;;;;;;;;20720:93;20831:16;;:18;;;;;;;;;;;;;20860;:25;20879:5;20860:25;;;;;;;;;;;;;;;20891:10;20860:42;;39:1:-1;33:3;27:10;23:18;57:10;52:3;45:23;79:10;72:17;;0:93;20860:42:0;;;;;;;;;;;;;;;;;;;;;;;;;;;20912:18;:26;20931:6;20912:26;;;;;;;;;;;;;;;20944:10;20912:43;;39:1:-1;33:3;27:10;23:18;57:10;52:3;45:23;79:10;72:17;;0:93;20912:43:0;;;;;;;;;;;;;;;;;;;;;;;;;;;18327:2635;;;;;;;;;;:::o;1272:131:2:-;1330:7;1345:9;1361:1;1357;:5;1345:17;;1381:1;1376;:6;;1368:15;;;;;;;;1397:1;1390:8;;1272:131;;;;;:::o;13425:1005:0:-;13645:21;13831:20;13669:151;13699:4;13717;13735;13753:10;13777:12;13803:7;13669:16;:151::i;:::-;13645:175;;13854:129;13885:12;:24;13898:10;13885:24;;;;;;;;;;;;;;;;;:37;;;;;;;;;;;;13936:12;:24;13949:10;13936:24;;;;;;;;;;;;;;;;;:37;;;13854:17;:129::i;:::-;13831:152;;14169:12;:24;14182:10;14169:24;;;;;;;;;;;;;;;;;:34;;;;;;;;;;;;14155:48;;:4;:11;:48;:122;;;;;14209:15;14208:16;:68;;;;14245:12;:24;14258:10;14245:24;;;;;;;;;;;;;;;;;:31;;;;;;;;;;;;14228:48;;:13;:48;;;;14208:68;14155:122;14134:289;;;14314:98;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14134:289;13425:1005;;;;;;;;:::o;14556:1607::-;14703:7;14726:21;14785:24;14891:9;15528:20;15601:9;14750:12;:24;14763:10;14750:24;;;;;;;;;;;;;;;;;14726:48;;14812:1;14785:28;;14849:21;14828:42;;;;;;;;:1;:17;;;;;;;;;;;;:42;;;;;;;;;14824:1299;;;14903:1;14891:13;;14886:562;14910:12;:19;14906:1;:23;14886:562;;;14990:1;14963:29;;:12;14976:1;14963:15;;;;;;;;;;;;;;;;;;:29;;;;:59;;;;;14996:1;:9;;:26;15006:12;15019:1;15006:15;;;;;;;;;;;;;;;;;;14996:26;;;;;;;;;;;;;;;;;;;;;;;;;14963:59;14955:95;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15089:1;15076:7;15084:1;15076:10;;;;;;;;;;;;;;;;;;:14;15068:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15175:32;15196:7;15204:1;15196:10;;;;;;;;;;;;;;;;;;15175:16;:20;;:32;;;;:::i;:::-;15156:51;;15261:4;15226:1;:15;;:32;15242:12;15255:1;15242:15;;;;;;;;;;;;;;;;;;15226:32;;;;;;;;;;;;;;;;:39;;;;;;;;;;;;;;;;;;15312:12;15325:1;15312:15;;;;;;;;;;;;;;;;;;:24;;:36;15337:7;15345:1;15337:10;;;;;;;;;;;;;;;;;;15312:36;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;15312:36:0;14931:3;;;;;;;14886:562;;;14824:1299;;;15490:21;15469:42;;;;;;;;:1;:17;;;;;;;;;;;;:42;;;;;;;;;15465:658;;;15566:1;:14;;;;;;;;;;;;15528:53;;15613:1;15601:13;;15596:517;15618:12;:19;15616:1;:21;15596:517;;;15698:1;15671:29;;:12;15684:1;15671:15;;;;;;;;;;;;;;;;;;:29;;;;:59;;;;;15704:1;:9;;:26;15714:12;15727:1;15714:15;;;;;;;;;;;;;;;;;;15704:26;;;;;;;;;;;;;;;;;;;;;;;;;15671:59;15663:95;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15797:1;15784:7;15792:1;15784:10;;;;;;;;;;;;;;;;;;:14;15776:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15883:32;15904:7;15912:1;15904:10;;;;;;;;;;;;;;;;;;15883:16;:20;;:32;;;;:::i;:::-;15864:51;;15968:4;15933:1;:15;;:32;15949:12;15962:1;15949:15;;;;;;;;;;;;;;;;;;15933:32;;;;;;;;;;;;;;;;:39;;;;;;;;;;;;;;;;;;16028:5;:14;;;16043:12;16056:1;16043:15;;;;;;;;;;;;;;;;;;16060:7;16068:1;16060:10;;;;;;;;;;;;;;;;;;16028:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;16028:43:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;16028:43:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;16028:43:0;;;;;;;;;;;;;;;;16020:78;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15639:3;;;;;;;15596:517;;;15465:658;14824:1299;16140:16;16133:23;;14556:1607;;;;;;;;;;:::o;16347:1571::-;16568:7;16729:19;16847:14;17306:6;17355:17;16628:4;:11;16613:4;:11;:26;:56;;;;;16658:4;:11;16643:4;:11;:26;16613:56;16592:126;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17051:4;17046:10;;17087:1;17082:7;;17115:4;17145:12;17183:7;17216:10;17004:244;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;17004:244:0;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;17004:244:0;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;17004:244:0;;;16973:293;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;16973:293:0;;;;;;;;;;;;;;;;16887:393;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;16887:393:0;;;16864:426;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;16864:426:0;;;;;;;;;;;;;;;;16847:443;;17315:1;17306:10;;17301:582;17322:4;:11;17318:1;:15;17301:582;;;17375:122;17402:6;17426:4;17431:1;17426:7;;;;;;;;;;;;;;;;;;17451:4;17456:1;17451:7;;;;;;;;;;;;;;;;;;17476:4;17481:1;17476:7;;;;;;;;;;;;;;;;;;17375:122;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;17375:122:0;;;;;;;;17355:142;;17537:12;:24;17550:10;17537:24;;;;;;;;;;;;;;;;;:32;;:43;17570:9;17537:43;;;;;;;;;;;;;;;;;;;;;;;;;17512:120;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17672:12;:24;17685:10;17672:24;;;;;;;;;;;;;;;;;:30;;:41;17703:9;17672:41;;;;;;;;;;;;;;;;;;;;;;;;;17671:42;17646:127;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17831:4;17787:12;:24;17800:10;17787:24;;;;;;;;;;;;;;;;;:30;;:41;17818:9;17787:41;;;;;;;;;;;;;;;;:48;;;;;;;;;;;;;;;;;;17863:9;17849:23;;17335:3;;;;;;;17301:582;;;17900:11;17893:18;;16347:1571;;;;;;;;;;;;:::o;17924:316::-;18062:4;18082:17;18102:21;18110:12;18102:3;:7;;:21;;;;:::i;:::-;18082:41;;18170:1;18154:12;:17;;;:69;;18192:31;18218:4;18200:12;18192:21;;:25;;:31;;;;:::i;:::-;18180:9;:43;18154:69;;;18174:5;18154:69;18133:100;;17924:316;;;;;:::o;1078:131:2:-;1136:7;1172:9;1164:1;1159;:6;;1151:15;;;;;;;;1188:1;1184;:5;1172:17;;1203:1;1196:8;;1078:131;;;;;:::o;204:381::-;262:7;523:9;491:1;486;:6;482:35;;;509:1;502:8;;;;482:35;539:1;535;:5;523:17;;563:1;558;554;:5;;;;;;;;:10;546:19;;;;;;;;579:1;572:8;;204:381;;;;;;:::o", - "source": "pragma solidity 0.4.24;\n\nimport \"openzeppelin-solidity/contracts/math/SafeMath.sol\";\n\nimport \"../token/ITokenContract.sol\";\n\n\n/**\n* @dev Supports ERC20 tokens\n* The escrow smart contract for the open bazaar trades in Ethereum\n* The smart contract is desgined keeping in mind the current wallet interface of the OB-core\n* https://github.com/OpenBazaar/wallet-interface/blob/master/wallet.go\n* Current wallet interface strictly adheres to UTXO(bitcoin) model\n*/\ncontract Escrow_v1_0 {\n\n using SafeMath for uint256;\n\n enum Status {FUNDED, RELEASED}\n\n enum TransactionType {ETHER, TOKEN}\n\n event Executed(\n bytes32 scriptHash,\n address[] destinations,\n uint256[] amounts\n );\n\n event FundAdded(\n bytes32 scriptHash,\n address indexed from,\n uint256 valueAdded\n );\n\n event Funded(bytes32 scriptHash, address indexed from, uint256 value);\n\n struct Transaction {\n uint256 value;\n uint256 lastModified;//Time at which transaction was last modified\n Status status;\n TransactionType transactionType;\n uint8 threshold;\n uint32 timeoutHours;\n address buyer;\n address seller;\n address tokenAddress;// Token address in case of token transfer\n address moderator;\n mapping(address=>bool) isOwner;//to keep track of owners/signers.\n mapping(address=>bool) voted;//to keep track of who all voted\n mapping(address=>bool) beneficiaries;//Benefeciaries of execution\n }\n\n mapping(bytes32 => Transaction) public transactions;\n\n uint256 public transactionCount = 0;\n\n //Contains mapping between each party and all of his transactions\n mapping(address => bytes32[])public partyVsTransaction;\n\n modifier transactionExists(bytes32 scriptHash) {\n require(\n transactions[scriptHash].value != 0, \"Transaction does not exists\"\n );\n _;\n }\n\n modifier transactionDoesNotExists (bytes32 scriptHash) {\n require(transactions[scriptHash].value == 0, \"Transaction exists\");\n _;\n }\n\n modifier inFundedState(bytes32 scriptHash) {\n require(\n transactions[scriptHash].status == Status.FUNDED, \"Transaction is not in FUNDED state\"\n );\n _;\n }\n\n modifier nonZeroAddress(address addressToCheck) {\n require(addressToCheck != address(0), \"Zero address passed\");\n _;\n }\n\n modifier checkTransactionType(\n bytes32 scriptHash,\n TransactionType transactionType\n )\n {\n require(\n transactions[scriptHash].transactionType == transactionType, \"Transaction type does not match\"\n );\n _;\n }\n\n modifier onlyBuyer(bytes32 scriptHash) {\n require(\n msg.sender == transactions[scriptHash].buyer, \"The initiator of the transaction is not buyer\"\n );\n _;\n }\n\n /**\n *@dev Add new transaction in the contract\n *@param buyer The buyer of the transaction\n *@param seller The seller of the listing associated with the transaction\n *@param moderator Moderator for this transaction\n *@param scriptHash keccak256 hash of the redeem script\n *@param threshold Minimum number of singatures required to released funds\n *@param timeoutHours Hours after which seller can release funds into his favour by signing transaction\n *@param uniqueId bytes20 unique id for the transaction, generated by ETH wallet\n *Redeem Script format will be following\n \n * scripthash-> keccak256(uniqueId, threshold, timeoutHours, buyer, seller, moderator)\n *Pass amount of the ethers to be put in escrow\n *Please keep in mind you will have to add moderator fees also in the value\n */\n function addTransaction(\n address buyer,\n address seller,\n address moderator,\n uint8 threshold,\n uint32 timeoutHours,\n bytes32 scriptHash,\n bytes20 uniqueId\n )\n external\n payable\n transactionDoesNotExists(scriptHash)\n nonZeroAddress(buyer)\n nonZeroAddress(seller)\n {\n _addTransaction(\n buyer,\n seller,\n moderator,\n threshold,\n timeoutHours,\n scriptHash,\n msg.value,\n uniqueId,\n TransactionType.ETHER,\n address(0)\n );\n \n emit Funded(scriptHash, msg.sender, msg.value);\n\n }\n\n /**\n *@dev Add new transaction in the contract\n *@param buyer The buyer of the transaction\n *@param seller The seller of the listing associated with the transaction\n *@param moderator Moderator for this transaction\n *@param scriptHash keccak256 hash of the redeem script\n *@param threshold Minimum number of singatures required to released funds\n *@param timeoutHours Hours after which seller can release funds into his favour by signing transaction\n *@param value Amount of tokens to be put in escrow\n *@param uniqueId bytes20 unique id for the transaction, generated by ETH wallet\n *@param tokenAddress Address of the token to be used\n *Redeem Script format will be following\n \n * scripthash-> keccak256(uniqueId, threshold, timeoutHours, buyer, seller, moderator, tokenAddress)\n *approve escrow contract to spend amount of token on your behalf\n *Please keep in mind you will have to add moderator fees also in the value\n */\n function addTokenTransaction(\n address buyer,\n address seller,\n address moderator,\n uint8 threshold,\n uint32 timeoutHours,\n bytes32 scriptHash,\n uint256 value,\n bytes20 uniqueId,\n address tokenAddress\n )\n external\n transactionDoesNotExists(scriptHash)\n nonZeroAddress(buyer)\n nonZeroAddress(seller)\n nonZeroAddress(tokenAddress)\n {\n\n _addTransaction(\n buyer,\n seller,\n moderator,\n threshold,\n timeoutHours,\n scriptHash,\n value,\n uniqueId,\n TransactionType.TOKEN,\n tokenAddress\n );\n\n ITokenContract token = ITokenContract(tokenAddress);\n\n require(\n token.transferFrom(msg.sender, this, value),\n \"Token transfer failed, maybe you did not approve escrow contract to spend on behalf of buyer\"\n );\n emit Funded(scriptHash, msg.sender, value);\n }\n\n /**\n * @dev Check whether given address was a beneficiary of transaction execution or not\n * @param scriptHash script hash of the transaction\n * @param beneficiary Beneficiary address to be checked\n */\n function checkBeneficiary(\n bytes32 scriptHash,\n address beneficiary\n )\n external\n view\n returns (bool)\n {\n return transactions[scriptHash].beneficiaries[beneficiary];\n }\n\n /**\n * @dev Check whether given party has voted or not\n * @param scriptHash script hash of the transaction\n * @param party Address of the party whose vote has to be checked\n * @return bool vote\n */\n function checkVote(\n bytes32 scriptHash,\n address party\n )\n external\n view\n returns (bool)\n {\n return transactions[scriptHash].voted[party];\n }\n\n /**\n *@dev Allows buyer of the transaction to add more funds(ether) in the transaction. This will help to cater scenarios wherein initially buyer missed to fund transaction as required\n *@param scriptHash script hash of the transaction\n * Only buyer of the transaction can invoke this method\n */\n function addFundsToTransaction(\n bytes32 scriptHash\n )\n external\n transactionExists(scriptHash)\n inFundedState(scriptHash)\n checkTransactionType(scriptHash, TransactionType.ETHER)\n onlyBuyer(scriptHash)\n payable\n {\n uint256 _value = msg.value;\n\n require(_value > 0, \"Value must be greater than zero.\");\n\n transactions[scriptHash].value = transactions[scriptHash].value\n .add(_value);\n transactions[scriptHash].lastModified = block.timestamp;\n\n emit FundAdded(scriptHash, msg.sender, _value);\n }\n\n /**\n *@dev Allows buyer of the transaction to add more funds(Tokens) in the transaction. This will help to cater scenarios wherein initially buyer missed to fund transaction as required\n *@param scriptHash script hash of the transaction\n */\n function addTokensToTransaction(\n bytes32 scriptHash,\n uint256 value\n )\n external\n transactionExists(scriptHash)\n inFundedState(scriptHash)\n checkTransactionType(scriptHash, TransactionType.TOKEN)\n onlyBuyer(scriptHash)\n {\n uint256 _value = value;\n\n require(_value > 0, \"Value must be greater than zero.\");\n\n ITokenContract token = ITokenContract(\n transactions[scriptHash].tokenAddress\n );\n\n require(\n token.transferFrom(transactions[scriptHash].buyer, this, value),\n \"Token transfer failed, maybe you did not approve escrow contract to spend on behalf of buyer\"\n );\n\n transactions[scriptHash].value = transactions[scriptHash].value\n .add(_value);\n transactions[scriptHash].lastModified = block.timestamp;\n\n emit FundAdded(scriptHash, msg.sender, _value);\n }\n\n /**\n *@dev Returns all transaction ids for a party\n *@param partyAddress Address of the party\n */\n function getAllTransactionsForParty(\n address partyAddress\n ) \n external \n view \n returns (bytes32[]) \n {\n return partyVsTransaction[partyAddress];\n }\n\n /**\n *@dev This method will be used to release funds associated with the transaction\n * Please see specs https://github.com/OpenBazaar/smart-contracts/blob/master/contracts/escrow/EscrowSpec.md\n *@param sigV Array containing V component of all the signatures\n *@param sigR Array containing R component of all the signatures\n *@param signS Array containing S component of all the signatures\n *@param scriptHash script hash of the transaction\n *@param destinations address of the destination in whose favour dispute resolution is taking place. In case of split payments it will be address of the split payments contract\n *@param amounts value to send to each destination\n */\n function execute(\n uint8[] sigV,\n bytes32[] sigR,\n bytes32[] sigS,\n bytes32 scriptHash,\n address[] destinations,\n uint256[] amounts\n )\n external\n transactionExists(scriptHash)\n inFundedState(scriptHash)\n {\n require(\n destinations.length>0 && destinations.length == amounts.length, \"Length of destinations is incorrect.\"\n );\n\n verifyTransaction(\n sigV,\n sigR,\n sigS,\n scriptHash,\n destinations,\n amounts\n );\n\n transactions[scriptHash].status = Status.RELEASED;\n //Last modified timestamp modified, which will be used by rewards\n transactions[scriptHash].lastModified = block.timestamp;\n require(\n transferFunds(scriptHash, destinations, amounts) == transactions[scriptHash].value,\n \"Total value to be released must be equal to the transaction escrow value\"\n );\n \n emit Executed(scriptHash, destinations, amounts);\n }\n\n\n /**\n *@dev Method for calculating script hash. Calculation will depend upon the type of transaction\n * ETHER Type transaction-:\n * Script Hash- keccak256(uniqueId, threshold, timeoutHours, buyer, seller, moderator)\n * TOKEN Type transaction\n * Script Hash- keccak256(uniqueId, threshold, timeoutHours, buyer, seller, moderator, tokenAddress)\n * Client can use this method to verify whether it has calculated correct script hash or not\n */\n function calculateRedeemScriptHash(\n bytes20 uniqueId,\n uint8 threshold,\n uint32 timeoutHours,\n address buyer,\n address seller,\n address moderator,\n address tokenAddress\n )\n public\n view\n returns (bytes32)\n {\n if (tokenAddress == address(0)) {\n return keccak256(\n abi.encodePacked(\n uniqueId,\n threshold,\n timeoutHours,\n buyer,\n seller,\n moderator,\n this\n )\n );\n } else {\n return keccak256(\n abi.encodePacked(\n uniqueId,\n threshold,\n timeoutHours,\n buyer,\n seller,\n moderator,\n this,\n tokenAddress\n )\n );\n }\n }\n\n /**\n * @dev This methods checks validity of transaction\n * 1. Verify Signatures\n * 2. Check if minimum number of signatures has been acquired\n * 3. If above condition is false, check if time lock is expired and the execution is signed by seller\n */\n function verifyTransaction(\n uint8[] sigV,\n bytes32[] sigR,\n bytes32[] sigS,\n bytes32 scriptHash,\n address[] destinations,\n uint256[] amounts\n )\n private\n {\n address lastRecovered = verifySignatures(\n sigV,\n sigR,\n sigS,\n scriptHash,\n destinations,\n amounts\n );\n\n bool timeLockExpired = isTimeLockExpired(\n transactions[scriptHash].timeoutHours,\n transactions[scriptHash].lastModified\n );\n\n //if Minimum number of signatures are not gathered and timelock has not expired or transaction was not signed by seller then revert\n if (\n sigV.length < transactions[scriptHash].threshold && (!timeLockExpired || lastRecovered != transactions[scriptHash].seller)\n )\n {\n revert(\"Minimum number of signatures are not collected and time lock expiry conditions not met!!\");\n }\n\n }\n\n /**\n *@dev Private method to transfer funds to the destination addresses on the basis of transaction type\n */\n function transferFunds(\n bytes32 scriptHash,\n address[]destinations,\n uint256[]amounts\n )\n private\n returns (uint256)\n {\n Transaction storage t = transactions[scriptHash];\n\n uint256 valueTransferred = 0;\n\n if (t.transactionType == TransactionType.ETHER) {\n for (uint256 i = 0; i < destinations.length; i++) {\n\n require(destinations[i] != address(0) && t.isOwner[destinations[i]], \"Not a valid destination\");\n require(amounts[i] > 0, \"Amount to be sent should be greater than 0\");\n\n valueTransferred = valueTransferred.add(amounts[i]);\n\n t.beneficiaries[destinations[i]] = true;//add receiver as beneficiary\n destinations[i].transfer(amounts[i]);//shall we use send instead of transfer to stop malicious actors from blocking funds?\n }\n\n } else if (t.transactionType == TransactionType.TOKEN) {\n\n ITokenContract token = ITokenContract(t.tokenAddress);\n\n for (uint256 j = 0; j 0, \"Amount to be sent should be greater than 0\");\n\n valueTransferred = valueTransferred.add(amounts[j]);\n t.beneficiaries[destinations[j]] = true;//add receiver as beneficiary\n\n require(token.transfer(destinations[j], amounts[j]), \"Token transfer failed.\");\n }\n } \n return valueTransferred;\n }\n\n //to check whether the signature are valid or not and if consensus was reached\n //returns the last address recovered, in case of timeout this must be the sender's address\n function verifySignatures(\n uint8[] sigV,\n bytes32[] sigR,\n bytes32[] sigS,\n bytes32 scriptHash,\n address[] destinations,\n uint256[]amounts\n )\n private\n returns (address)\n {\n\n require(\n sigR.length == sigS.length && sigR.length == sigV.length, \n \"R,S,V length mismatch.\"\n );\n\n address lastAddress;\n\n // Follows ERC191 signature scheme: https://github.com/ethereum/EIPs/issues/191\n bytes32 txHash = keccak256(\n abi.encodePacked(\n \"\\x19Ethereum Signed Message:\\n32\",\n keccak256(\n abi.encodePacked(\n byte(0x19),\n byte(0),\n this,\n destinations,\n amounts,\n scriptHash\n )\n )\n )\n );\n\n for (uint i = 0; i < sigR.length; i++) {\n\n address recovered = ecrecover(\n txHash,\n sigV[i],\n sigR[i],\n sigS[i]\n );\n\n require(\n transactions[scriptHash].isOwner[recovered], \n \"Invalid signature\"\n );\n require(\n !transactions[scriptHash].voted[recovered], \n \"Same signature sent twice\"\n );\n transactions[scriptHash].voted[recovered] = true;\n lastAddress = recovered;\n }\n\n return lastAddress;\n }\n\n function isTimeLockExpired(\n uint32 timeoutHours,\n uint256 lastModified\n )\n private\n view\n returns (bool)\n {\n uint256 timeSince = now.sub(lastModified);\n return (\n timeoutHours == 0 ? false:timeSince > uint256(timeoutHours).mul(3600)\n );\n }\n\n /**\n * Private method to add transaction to reduce code redundancy\n */\n function _addTransaction(\n address buyer,\n address seller,\n address moderator,\n uint8 threshold,\n uint32 timeoutHours,\n bytes32 scriptHash,\n uint256 value,\n bytes20 uniqueId,\n TransactionType transactionType,\n address tokenAddress\n )\n private\n { \n require(buyer != seller, \"Buyer and seller are same\");\n\n //value passed should be greater than 0\n require(value > 0, \"Value passed is 0\");\n\n // For now allowing 0 moderator to support 1-2 multisig wallet\n require(\n threshold > 0 && threshold <= 3, \n \"Threshold cannot be greater than 3 and must be greater than 0\"\n );\n\n //if threshold is 1 then moderator can be passed as zero address or any other address(it wont matter aopart from scripthash since we wont add moderator as one of the owner)\n //otherwise moderator should be a valid address\n require(\n threshold == 1 || moderator != address(0),\n \"Either threshold should be 1 otherwise valid moderator address should be passed\"\n );\n\n require(\n scriptHash == calculateRedeemScriptHash(\n uniqueId,\n threshold,\n timeoutHours,\n buyer,\n seller,\n moderator,\n tokenAddress\n ), \n \"Calculated script hash does not match passed script hash.\"\n );\n\n transactions[scriptHash] = Transaction({\n buyer: buyer,\n seller: seller,\n moderator: moderator,\n value: value,\n status: Status.FUNDED,\n lastModified: block.timestamp,\n threshold: threshold,\n timeoutHours: timeoutHours,\n transactionType:transactionType,\n tokenAddress:tokenAddress\n });\n\n transactions[scriptHash].isOwner[seller] = true;\n transactions[scriptHash].isOwner[buyer] = true; \n\n //Check if buyer or seller are not passed as moderator\n require(\n !transactions[scriptHash].isOwner[moderator], \n \"Either buyer or seller is passed as moderator\"\n );\n\n //set moderator as one of the owners only if threshold is greater than 1 otherwise only buyer and seller should be able to release funds\n if (threshold > 1){\n transactions[scriptHash].isOwner[moderator] = true;\n }\n \n\n transactionCount++;\n\n partyVsTransaction[buyer].push(scriptHash);\n partyVsTransaction[seller].push(scriptHash);\n }\n}\n", + "bytecode": "0x6080604052600060015534801561001557600080fd5b50614210806100256000396000f3006080604052600436106100ba576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806323b6fd3f146100bf5780632d9ef96e1461017957806346fbcdeb1461019d57806357bced7614610292578063642f2eaf14610383578063b0550c66146104e5578063b719e2801461054e578063b77bf60014610589578063be84ceaf146105b4578063e4ec8b001461064c578063f0786562146106f5578063f5dbe09c1461075e575b600080fd5b610177600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff169060200190929190803563ffffffff169060200190929190803560001916906020019092919080356bffffffffffffffffffffffff191690602001909291905050506107c7565b005b61019b6004803603810190808035600019169060200190929190505050610a26565b005b3480156101a957600080fd5b5061027460048036038101908080356bffffffffffffffffffffffff19169060200190929190803560ff169060200190929190803563ffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610eb4565b60405180826000191660001916815260200191505060405180910390f35b34801561029e57600080fd5b50610381600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff169060200190929190803563ffffffff16906020019092919080356000191690602001909291908035906020019092919080356bffffffffffffffffffffffff19169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611360565b005b34801561038f57600080fd5b506103b26004803603810190808035600019169060200190929190505050611840565b604051808b81526020018a81526020018960018111156103ce57fe5b60ff1681526020018860018111156103e257fe5b60ff1681526020018760ff1660ff1681526020018663ffffffff1663ffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019a505050505050505050505060405180910390f35b3480156104f157600080fd5b506105346004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061194b565b604051808215151515815260200191505060405180910390f35b34801561055a57600080fd5b506105876004803603810190808035600019169060200190929190803590602001909291905050506119bd565b005b34801561059557600080fd5b5061059e61209d565b6040518082815260200191505060405180910390f35b3480156105c057600080fd5b506105f5600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506120a3565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b8381101561063857808201518184015260208101905061061d565b505050509050019250505060405180910390f35b34801561065857600080fd5b506106f3600480360381019080803590602001908201803590602001919091929391929390803590602001908201803590602001919091929391929390803590602001908201803590602001919091929391929390803560001916906020019092919080359060200190820180359060200191909192939192939080359060200190820180359060200191909192939192939050505061213e565b005b34801561070157600080fd5b506107446004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506126a0565b604051808215151515815260200191505060405180910390f35b34801561076a57600080fd5b506107a9600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050612712565b60405180826000191660001916815260200191505060405180910390f35b81600080600083600019166000191681526020019081526020016000206000015414151561085d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f5472616e73616374696f6e20657869737473000000000000000000000000000081525060200191505060405180910390fd5b87600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610903576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b87600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156109a9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b6109bc8a8a8a8a8a8a348b600080612742565b3373ffffffffffffffffffffffffffffffffffffffff167fce7089d0668849fb9ca29778c0cbf1e764d9efb048d81fd71fb34c94f26db36886346040518083600019166000191681526020018281526020019250505060405180910390a250505050505050505050565b600081600080600083600019166000191681526020019081526020016000206000015414151515610abf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737473000000000081525060200191505060405180910390fd5b8260006001811115610acd57fe5b600080836000191660001916815260200190815260200160002060020160009054906101000a900460ff166001811115610b0357fe5b141515610b9e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001807f5472616e73616374696f6e206973206e6f7420696e2046554e4445442073746181526020017f746500000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b836000806001811115610bad57fe5b600080846000191660001916815260200190815260200160002060020160019054906101000a900460ff166001811115610be357fe5b141515610c58576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5472616e73616374696f6e207479706520646f6573206e6f74206d617463680081525060200191505060405180910390fd5b85600080826000191660001916815260200190815260200160002060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610d5f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f54686520696e69746961746f72206f6620746865207472616e73616374696f6e81526020017f206973206e6f742062757965720000000000000000000000000000000000000081525060400191505060405180910390fd5b349550600086111515610dda576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f56616c7565206d7573742062652067726561746572207468616e207a65726f2e81525060200191505060405180910390fd5b610e0a866000808a60001916600019168152602001908152602001600020600001546130ce90919063ffffffff16565b600080896000191660001916815260200190815260200160002060000181905550426000808960001916600019168152602001908152602001600020600101819055503373ffffffffffffffffffffffffffffffffffffffff167ff66fd2ae9e24a6a24b02e1b5b7512ffde5149a4176085fc0298ae228c9b9d72988886040518083600019166000191681526020018281526020019250505060405180910390a250505050505050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611100578787878787873060405160200180886bffffffffffffffffffffffff19166bffffffffffffffffffffffff191681526014018760ff1660ff167f01000000000000000000000000000000000000000000000000000000000000000281526001018663ffffffff1663ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014019750505050505050506040516020818303038152906040526040518082805190602001908083835b6020831015156110cc57805182526020820191506020810190506020830392506110a7565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390209050611355565b878787878787308860405160200180896bffffffffffffffffffffffff19166bffffffffffffffffffffffff191681526014018860ff1660ff167f01000000000000000000000000000000000000000000000000000000000000000281526001018763ffffffff1663ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401985050505050505050506040516020818303038152906040526040518082805190602001908083835b6020831015156113255780518252602082019150602081019050602083039250611300565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902090505b979650505050505050565b60008460008060008360001916600019168152602001908152602001600020600001541415156113f8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f5472616e73616374696f6e20657869737473000000000000000000000000000081525060200191505060405180910390fd5b8a600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561149e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b8a600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515611544576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b84600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156115ea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b6115fd8e8e8e8e8e8e8e8e60018f612742565b8594508473ffffffffffffffffffffffffffffffffffffffff166323b872dd33308b6040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b1580156116d757600080fd5b505af11580156116eb573d6000803e3d6000fd5b505050506040513d602081101561170157600080fd5b810190808051906020019092919050505015156117d2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252605c8152602001807f546f6b656e207472616e73666572206661696c65642c206d6179626520796f7581526020017f20646964206e6f7420617070726f766520657363726f7720636f6e747261637481526020017f20746f207370656e64206f6e20626568616c66206f662062757965720000000081525060600191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff167fce7089d0668849fb9ca29778c0cbf1e764d9efb048d81fd71fb34c94f26db3688a8a6040518083600019166000191681526020018281526020019250505060405180910390a25050505050505050505050505050565b60006020528060005260406000206000915090508060000154908060010154908060020160009054906101000a900460ff16908060020160019054906101000a900460ff16908060020160029054906101000a900460ff16908060020160039054906101000a900463ffffffff16908060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060050160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508a565b6000806000846000191660001916815260200190815260200160002060080160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b60008083600080600083600019166000191681526020019081526020016000206000015414151515611a57576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737473000000000081525060200191505060405180910390fd5b8460006001811115611a6557fe5b600080836000191660001916815260200190815260200160002060020160009054906101000a900460ff166001811115611a9b57fe5b141515611b36576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001807f5472616e73616374696f6e206973206e6f7420696e2046554e4445442073746181526020017f746500000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b856001806001811115611b4557fe5b600080846000191660001916815260200190815260200160002060020160019054906101000a900460ff166001811115611b7b57fe5b141515611bf0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5472616e73616374696f6e207479706520646f6573206e6f74206d617463680081525060200191505060405180910390fd5b87600080826000191660001916815260200190815260200160002060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611cf7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f54686520696e69746961746f72206f6620746865207472616e73616374696f6e81526020017f206973206e6f742062757965720000000000000000000000000000000000000081525060400191505060405180910390fd5b879650600087111515611d72576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f56616c7565206d7573742062652067726561746572207468616e207a65726f2e81525060200191505060405180910390fd5b6000808a6000191660001916815260200190815260200160002060040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1695508573ffffffffffffffffffffffffffffffffffffffff166323b872dd6000808c6000191660001916815260200190815260200160002060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff16308b6040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b158015611ec657600080fd5b505af1158015611eda573d6000803e3d6000fd5b505050506040513d6020811015611ef057600080fd5b81019080805190602001909291905050501515611fc1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252605c8152602001807f546f6b656e207472616e73666572206661696c65642c206d6179626520796f7581526020017f20646964206e6f7420617070726f766520657363726f7720636f6e747261637481526020017f20746f207370656e64206f6e20626568616c66206f662062757965720000000081525060600191505060405180910390fd5b611ff1876000808c60001916600019168152602001908152602001600020600001546130ce90919063ffffffff16565b6000808b6000191660001916815260200190815260200160002060000181905550426000808b60001916600019168152602001908152602001600020600101819055503373ffffffffffffffffffffffffffffffffffffffff167ff66fd2ae9e24a6a24b02e1b5b7512ffde5149a4176085fc0298ae228c9b9d7298a896040518083600019166000191681526020018281526020019250505060405180910390a2505050505050505050565b60015481565b6060600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080548060200260200160405190810160405280929190818152602001828054801561213257602002820191906000526020600020905b8154600019168152602001906001019080831161211a575b50505050509050919050565b846000806000836000191660001916815260200190815260200160002060000154141515156121d5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737473000000000081525060200191505060405180910390fd5b85600060018111156121e357fe5b600080836000191660001916815260200190815260200160002060020160009054906101000a900460ff16600181111561221957fe5b1415156122b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001807f5472616e73616374696f6e206973206e6f7420696e2046554e4445442073746181526020017f746500000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b6000868690501180156122cc57508383905086869050145b1515612366576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001807f4c656e677468206f662064657374696e6174696f6e7320697320696e636f727281526020017f6563742e0000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b61245f8d8d808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508c8c808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508b8b808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508a8a8a808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508989808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050506130ef565b6001600080896000191660001916815260200190815260200160002060020160006101000a81548160ff0219169083600181111561249957fe5b021790555042600080896000191660001916815260200190815260200160002060010181905550600080886000191660001916815260200190815260200160002060000154612547888888808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508787808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050506132d0565b141515612608576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260488152602001807f546f74616c2076616c756520746f2062652072656c6561736564206d7573742081526020017f626520657175616c20746f20746865207472616e73616374696f6e206573637281526020017f6f772076616c756500000000000000000000000000000000000000000000000081525060600191505060405180910390fd5b7f688e2a1b34445bcd47b0e11ba2a9c8c4d850a1831b64199b59d1c70e2970154587878787876040518086600019166000191681526020018060200180602001838103835287878281815260200192506020028082843782019150508381038252858582818152602001925060200280828437820191505097505050505050505060405180910390a150505050505050505050505050565b6000806000846000191660001916815260200190815260200160002060070160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b60026020528160005260406000208181548110151561272d57fe5b90600052602060002001600091509150505481565b8873ffffffffffffffffffffffffffffffffffffffff168a73ffffffffffffffffffffffffffffffffffffffff16141515156127e6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f427579657220616e642073656c6c6572206172652073616d650000000000000081525060200191505060405180910390fd5b60008411151561285e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f56616c756520706173736564206973203000000000000000000000000000000081525060200191505060405180910390fd5b60008760ff16118015612875575060038760ff1611155b151561290f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603d8152602001807f5468726573686f6c642063616e6e6f742062652067726561746572207468616e81526020017f203320616e64206d7573742062652067726561746572207468616e203000000081525060400191505060405180910390fd5b60018760ff16148061294e5750600073ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff1614155b1515612a0e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252604f8152602001807f456974686572207468726573686f6c642073686f756c642062652031206f746881526020017f6572776973652076616c6964206d6f64657261746f722061646472657373207381526020017f686f756c6420626520706173736564000000000000000000000000000000000081525060600191505060405180910390fd5b612a1d8388888d8d8d87610eb4565b600019168560001916141515612ac1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260398152602001807f43616c63756c6174656420736372697074206861736820646f6573206e6f742081526020017f6d61746368207061737365642073637269707420686173682e0000000000000081525060400191505060405180910390fd5b6101406040519081016040528085815260200142815260200160006001811115612ae757fe5b8152602001836001811115612af857fe5b81526020018860ff1681526020018763ffffffff1681526020018b73ffffffffffffffffffffffffffffffffffffffff1681526020018a73ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020018973ffffffffffffffffffffffffffffffffffffffff168152506000808760001916600019168152602001908152602001600020600082015181600001556020820151816001015560408201518160020160006101000a81548160ff02191690836001811115612bd257fe5b021790555060608201518160020160016101000a81548160ff02191690836001811115612bfb57fe5b021790555060808201518160020160026101000a81548160ff021916908360ff16021790555060a08201518160020160036101000a81548163ffffffff021916908363ffffffff16021790555060c08201518160020160076101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060e08201518160030160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506101008201518160040160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506101208201518160050160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055509050506001600080876000191660001916815260200190815260200160002060060160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600080876000191660001916815260200190815260200160002060060160008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600080866000191660001916815260200190815260200160002060060160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151515612f52576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f456974686572206275796572206f722073656c6c65722069732070617373656481526020017f206173206d6f64657261746f720000000000000000000000000000000000000081525060400191505060405180910390fd5b60018760ff161115612fd2576001600080876000191660001916815260200190815260200160002060060160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b600160008154809291906001019190505550600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020859080600181540180825580915050906001820390600052602060002001600090919290919091509060001916905550600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002085908060018154018082558091505090600182039060005260206000200160009091929091909150906000191690555050505050505050505050565b60008082840190508381101515156130e557600080fd5b8091505092915050565b600080613100888888888888613ab8565b9150613156600080876000191660001916815260200190815260200160002060020160039054906101000a900463ffffffff16600080886000191660001916815260200190815260200160002060010154614131565b9050600080866000191660001916815260200190815260200160002060020160029054906101000a900460ff1660ff16885110801561320757508015806132065750600080866000191660001916815260200190815260200160002060030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b5b156132c6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260588152602001807f4d696e696d756d206e756d626572206f66207369676e6174757265732061726581526020017f206e6f7420636f6c6c656374656420616e642074696d65206c6f636b2065787081526020017f69727920636f6e646974696f6e73206e6f74206d65742121000000000000000081525060600191505060405180910390fd5b5050505050505050565b6000806000806000806000808a600019166000191681526020019081526020016000209450600093506000600181111561330657fe5b8560020160019054906101000a900460ff16600181111561332357fe5b141561363a57600092505b875183101561363557600073ffffffffffffffffffffffffffffffffffffffff16888481518110151561335d57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff16141580156133ed5750846006016000898581518110151561339a57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1515613461576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f4e6f7420612076616c69642064657374696e6174696f6e00000000000000000081525060200191505060405180910390fd5b6000878481518110151561347157fe5b90602001906020020151111515613516576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001807f416d6f756e7420746f2062652073656e742073686f756c64206265206772656181526020017f746572207468616e20300000000000000000000000000000000000000000000081525060400191505060405180910390fd5b613540878481518110151561352757fe5b90602001906020020151856130ce90919063ffffffff16565b935060018560080160008a8681518110151561355857fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555087838151811015156135c157fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff166108fc88858151811015156135f257fe5b906020019060200201519081150290604051600060405180830381858888f19350505050158015613627573d6000803e3d6000fd5b50828060010193505061332e565b613aa9565b60018081111561364657fe5b8560020160019054906101000a900460ff16600181111561366357fe5b1415613aa8578460040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169150600090505b8751811015613aa757600073ffffffffffffffffffffffffffffffffffffffff1688828151811015156136c457fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff16141580156137545750846006016000898381518110151561370157fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15156137c8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f4e6f7420612076616c69642064657374696e6174696f6e00000000000000000081525060200191505060405180910390fd5b600087828151811015156137d857fe5b9060200190602002015111151561387d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001807f416d6f756e7420746f2062652073656e742073686f756c64206265206772656181526020017f746572207468616e20300000000000000000000000000000000000000000000081525060400191505060405180910390fd5b6138a7878281518110151561388e57fe5b90602001906020020151856130ce90919063ffffffff16565b935060018560080160008a848151811015156138bf57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb898381518110151561394457fe5b90602001906020020151898481518110151561395c57fe5b906020019060200201516040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1580156139eb57600080fd5b505af11580156139ff573d6000803e3d6000fd5b505050506040513d6020811015613a1557600080fd5b81019080805190602001909291905050501515613a9a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f546f6b656e207472616e73666572206661696c65642e0000000000000000000081525060200191505060405180910390fd5b8080600101915050613695565b5b5b83955050505050509392505050565b600080600080600088518a51148015613ad257508a518a51145b1515613b46576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f522c532c56206c656e677468206d69736d617463682e0000000000000000000081525060200191505060405180910390fd5b60197f01000000000000000000000000000000000000000000000000000000000000000260007f0100000000000000000000000000000000000000000000000000000000000000023089898c60405160200180877effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168152600101867effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526001018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401848051906020019060200280838360005b83811015613c9a578082015181840152602081019050613c7f565b50505050905001838051906020019060200280838360005b83811015613ccd578082015181840152602081019050613cb2565b50505050905001826000191660001916815260200196505050505050506040516020818303038152906040526040518082805190602001908083835b602083101515613d2e5780518252602082019150602081019050602083039250613d09565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902060405160200180807f19457468657265756d205369676e6564204d6573736167653a0a333200000000815250601c0182600019166000191681526020019150506040516020818303038152906040526040518082805190602001908083835b602083101515613ddf5780518252602082019150602081019050602083039250613dba565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390209250600091505b8951821015614120576001838c84815181101515613e2d57fe5b906020019060200201518c85815181101515613e4557fe5b906020019060200201518c86815181101515613e5d57fe5b90602001906020020151604051600081526020016040526040518085600019166000191681526020018460ff1660ff1681526020018360001916600019168152602001826000191660001916815260200194505050505060206040516020810390808403906000865af1158015613ed8573d6000803e3d6000fd5b505050602060405103519050600080896000191660001916815260200190815260200160002060060160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515613fc0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f496e76616c6964207369676e617475726500000000000000000000000000000081525060200191505060405180910390fd5b600080896000191660001916815260200190815260200160002060070160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151561409d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f53616d65207369676e61747572652073656e742074776963650000000000000081525060200191505060405180910390fd5b60016000808a6000191660001916815260200190815260200160002060070160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508093508180600101925050613e13565b839450505050509695505050505050565b600080614147834261418590919063ffffffff16565b905060008463ffffffff161461417957614172610e108563ffffffff166141a690919063ffffffff16565b811161417c565b60005b91505092915050565b60008083831115151561419757600080fd5b82840390508091505092915050565b60008060008414156141bb57600091506141dd565b82840290508284828115156141cc57fe5b041415156141d957600080fd5b8091505b50929150505600a165627a7a72305820b58b84528103d1148988fd7eadc6988a7464a98d80e35854f976e0b743b1bd170029", + "deployedBytecode": "0x6080604052600436106100ba576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806323b6fd3f146100bf5780632d9ef96e1461017957806346fbcdeb1461019d57806357bced7614610292578063642f2eaf14610383578063b0550c66146104e5578063b719e2801461054e578063b77bf60014610589578063be84ceaf146105b4578063e4ec8b001461064c578063f0786562146106f5578063f5dbe09c1461075e575b600080fd5b610177600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff169060200190929190803563ffffffff169060200190929190803560001916906020019092919080356bffffffffffffffffffffffff191690602001909291905050506107c7565b005b61019b6004803603810190808035600019169060200190929190505050610a26565b005b3480156101a957600080fd5b5061027460048036038101908080356bffffffffffffffffffffffff19169060200190929190803560ff169060200190929190803563ffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610eb4565b60405180826000191660001916815260200191505060405180910390f35b34801561029e57600080fd5b50610381600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff169060200190929190803563ffffffff16906020019092919080356000191690602001909291908035906020019092919080356bffffffffffffffffffffffff19169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611360565b005b34801561038f57600080fd5b506103b26004803603810190808035600019169060200190929190505050611840565b604051808b81526020018a81526020018960018111156103ce57fe5b60ff1681526020018860018111156103e257fe5b60ff1681526020018760ff1660ff1681526020018663ffffffff1663ffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019a505050505050505050505060405180910390f35b3480156104f157600080fd5b506105346004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061194b565b604051808215151515815260200191505060405180910390f35b34801561055a57600080fd5b506105876004803603810190808035600019169060200190929190803590602001909291905050506119bd565b005b34801561059557600080fd5b5061059e61209d565b6040518082815260200191505060405180910390f35b3480156105c057600080fd5b506105f5600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506120a3565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b8381101561063857808201518184015260208101905061061d565b505050509050019250505060405180910390f35b34801561065857600080fd5b506106f3600480360381019080803590602001908201803590602001919091929391929390803590602001908201803590602001919091929391929390803590602001908201803590602001919091929391929390803560001916906020019092919080359060200190820180359060200191909192939192939080359060200190820180359060200191909192939192939050505061213e565b005b34801561070157600080fd5b506107446004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506126a0565b604051808215151515815260200191505060405180910390f35b34801561076a57600080fd5b506107a9600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050612712565b60405180826000191660001916815260200191505060405180910390f35b81600080600083600019166000191681526020019081526020016000206000015414151561085d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f5472616e73616374696f6e20657869737473000000000000000000000000000081525060200191505060405180910390fd5b87600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610903576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b87600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156109a9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b6109bc8a8a8a8a8a8a348b600080612742565b3373ffffffffffffffffffffffffffffffffffffffff167fce7089d0668849fb9ca29778c0cbf1e764d9efb048d81fd71fb34c94f26db36886346040518083600019166000191681526020018281526020019250505060405180910390a250505050505050505050565b600081600080600083600019166000191681526020019081526020016000206000015414151515610abf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737473000000000081525060200191505060405180910390fd5b8260006001811115610acd57fe5b600080836000191660001916815260200190815260200160002060020160009054906101000a900460ff166001811115610b0357fe5b141515610b9e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001807f5472616e73616374696f6e206973206e6f7420696e2046554e4445442073746181526020017f746500000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b836000806001811115610bad57fe5b600080846000191660001916815260200190815260200160002060020160019054906101000a900460ff166001811115610be357fe5b141515610c58576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5472616e73616374696f6e207479706520646f6573206e6f74206d617463680081525060200191505060405180910390fd5b85600080826000191660001916815260200190815260200160002060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610d5f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f54686520696e69746961746f72206f6620746865207472616e73616374696f6e81526020017f206973206e6f742062757965720000000000000000000000000000000000000081525060400191505060405180910390fd5b349550600086111515610dda576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f56616c7565206d7573742062652067726561746572207468616e207a65726f2e81525060200191505060405180910390fd5b610e0a866000808a60001916600019168152602001908152602001600020600001546130ce90919063ffffffff16565b600080896000191660001916815260200190815260200160002060000181905550426000808960001916600019168152602001908152602001600020600101819055503373ffffffffffffffffffffffffffffffffffffffff167ff66fd2ae9e24a6a24b02e1b5b7512ffde5149a4176085fc0298ae228c9b9d72988886040518083600019166000191681526020018281526020019250505060405180910390a250505050505050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611100578787878787873060405160200180886bffffffffffffffffffffffff19166bffffffffffffffffffffffff191681526014018760ff1660ff167f01000000000000000000000000000000000000000000000000000000000000000281526001018663ffffffff1663ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014019750505050505050506040516020818303038152906040526040518082805190602001908083835b6020831015156110cc57805182526020820191506020810190506020830392506110a7565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390209050611355565b878787878787308860405160200180896bffffffffffffffffffffffff19166bffffffffffffffffffffffff191681526014018860ff1660ff167f01000000000000000000000000000000000000000000000000000000000000000281526001018763ffffffff1663ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401985050505050505050506040516020818303038152906040526040518082805190602001908083835b6020831015156113255780518252602082019150602081019050602083039250611300565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902090505b979650505050505050565b60008460008060008360001916600019168152602001908152602001600020600001541415156113f8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f5472616e73616374696f6e20657869737473000000000000000000000000000081525060200191505060405180910390fd5b8a600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561149e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b8a600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515611544576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b84600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156115ea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b6115fd8e8e8e8e8e8e8e8e60018f612742565b8594508473ffffffffffffffffffffffffffffffffffffffff166323b872dd33308b6040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b1580156116d757600080fd5b505af11580156116eb573d6000803e3d6000fd5b505050506040513d602081101561170157600080fd5b810190808051906020019092919050505015156117d2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252605c8152602001807f546f6b656e207472616e73666572206661696c65642c206d6179626520796f7581526020017f20646964206e6f7420617070726f766520657363726f7720636f6e747261637481526020017f20746f207370656e64206f6e20626568616c66206f662062757965720000000081525060600191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff167fce7089d0668849fb9ca29778c0cbf1e764d9efb048d81fd71fb34c94f26db3688a8a6040518083600019166000191681526020018281526020019250505060405180910390a25050505050505050505050505050565b60006020528060005260406000206000915090508060000154908060010154908060020160009054906101000a900460ff16908060020160019054906101000a900460ff16908060020160029054906101000a900460ff16908060020160039054906101000a900463ffffffff16908060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060050160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508a565b6000806000846000191660001916815260200190815260200160002060080160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b60008083600080600083600019166000191681526020019081526020016000206000015414151515611a57576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737473000000000081525060200191505060405180910390fd5b8460006001811115611a6557fe5b600080836000191660001916815260200190815260200160002060020160009054906101000a900460ff166001811115611a9b57fe5b141515611b36576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001807f5472616e73616374696f6e206973206e6f7420696e2046554e4445442073746181526020017f746500000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b856001806001811115611b4557fe5b600080846000191660001916815260200190815260200160002060020160019054906101000a900460ff166001811115611b7b57fe5b141515611bf0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5472616e73616374696f6e207479706520646f6573206e6f74206d617463680081525060200191505060405180910390fd5b87600080826000191660001916815260200190815260200160002060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611cf7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f54686520696e69746961746f72206f6620746865207472616e73616374696f6e81526020017f206973206e6f742062757965720000000000000000000000000000000000000081525060400191505060405180910390fd5b879650600087111515611d72576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f56616c7565206d7573742062652067726561746572207468616e207a65726f2e81525060200191505060405180910390fd5b6000808a6000191660001916815260200190815260200160002060040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1695508573ffffffffffffffffffffffffffffffffffffffff166323b872dd6000808c6000191660001916815260200190815260200160002060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff16308b6040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b158015611ec657600080fd5b505af1158015611eda573d6000803e3d6000fd5b505050506040513d6020811015611ef057600080fd5b81019080805190602001909291905050501515611fc1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252605c8152602001807f546f6b656e207472616e73666572206661696c65642c206d6179626520796f7581526020017f20646964206e6f7420617070726f766520657363726f7720636f6e747261637481526020017f20746f207370656e64206f6e20626568616c66206f662062757965720000000081525060600191505060405180910390fd5b611ff1876000808c60001916600019168152602001908152602001600020600001546130ce90919063ffffffff16565b6000808b6000191660001916815260200190815260200160002060000181905550426000808b60001916600019168152602001908152602001600020600101819055503373ffffffffffffffffffffffffffffffffffffffff167ff66fd2ae9e24a6a24b02e1b5b7512ffde5149a4176085fc0298ae228c9b9d7298a896040518083600019166000191681526020018281526020019250505060405180910390a2505050505050505050565b60015481565b6060600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080548060200260200160405190810160405280929190818152602001828054801561213257602002820191906000526020600020905b8154600019168152602001906001019080831161211a575b50505050509050919050565b846000806000836000191660001916815260200190815260200160002060000154141515156121d5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737473000000000081525060200191505060405180910390fd5b85600060018111156121e357fe5b600080836000191660001916815260200190815260200160002060020160009054906101000a900460ff16600181111561221957fe5b1415156122b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001807f5472616e73616374696f6e206973206e6f7420696e2046554e4445442073746181526020017f746500000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b6000868690501180156122cc57508383905086869050145b1515612366576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001807f4c656e677468206f662064657374696e6174696f6e7320697320696e636f727281526020017f6563742e0000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b61245f8d8d808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508c8c808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508b8b808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508a8a8a808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508989808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050506130ef565b6001600080896000191660001916815260200190815260200160002060020160006101000a81548160ff0219169083600181111561249957fe5b021790555042600080896000191660001916815260200190815260200160002060010181905550600080886000191660001916815260200190815260200160002060000154612547888888808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508787808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050506132d0565b141515612608576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260488152602001807f546f74616c2076616c756520746f2062652072656c6561736564206d7573742081526020017f626520657175616c20746f20746865207472616e73616374696f6e206573637281526020017f6f772076616c756500000000000000000000000000000000000000000000000081525060600191505060405180910390fd5b7f688e2a1b34445bcd47b0e11ba2a9c8c4d850a1831b64199b59d1c70e2970154587878787876040518086600019166000191681526020018060200180602001838103835287878281815260200192506020028082843782019150508381038252858582818152602001925060200280828437820191505097505050505050505060405180910390a150505050505050505050505050565b6000806000846000191660001916815260200190815260200160002060070160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b60026020528160005260406000208181548110151561272d57fe5b90600052602060002001600091509150505481565b8873ffffffffffffffffffffffffffffffffffffffff168a73ffffffffffffffffffffffffffffffffffffffff16141515156127e6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f427579657220616e642073656c6c6572206172652073616d650000000000000081525060200191505060405180910390fd5b60008411151561285e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f56616c756520706173736564206973203000000000000000000000000000000081525060200191505060405180910390fd5b60008760ff16118015612875575060038760ff1611155b151561290f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603d8152602001807f5468726573686f6c642063616e6e6f742062652067726561746572207468616e81526020017f203320616e64206d7573742062652067726561746572207468616e203000000081525060400191505060405180910390fd5b60018760ff16148061294e5750600073ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff1614155b1515612a0e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252604f8152602001807f456974686572207468726573686f6c642073686f756c642062652031206f746881526020017f6572776973652076616c6964206d6f64657261746f722061646472657373207381526020017f686f756c6420626520706173736564000000000000000000000000000000000081525060600191505060405180910390fd5b612a1d8388888d8d8d87610eb4565b600019168560001916141515612ac1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260398152602001807f43616c63756c6174656420736372697074206861736820646f6573206e6f742081526020017f6d61746368207061737365642073637269707420686173682e0000000000000081525060400191505060405180910390fd5b6101406040519081016040528085815260200142815260200160006001811115612ae757fe5b8152602001836001811115612af857fe5b81526020018860ff1681526020018763ffffffff1681526020018b73ffffffffffffffffffffffffffffffffffffffff1681526020018a73ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020018973ffffffffffffffffffffffffffffffffffffffff168152506000808760001916600019168152602001908152602001600020600082015181600001556020820151816001015560408201518160020160006101000a81548160ff02191690836001811115612bd257fe5b021790555060608201518160020160016101000a81548160ff02191690836001811115612bfb57fe5b021790555060808201518160020160026101000a81548160ff021916908360ff16021790555060a08201518160020160036101000a81548163ffffffff021916908363ffffffff16021790555060c08201518160020160076101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060e08201518160030160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506101008201518160040160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506101208201518160050160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055509050506001600080876000191660001916815260200190815260200160002060060160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600080876000191660001916815260200190815260200160002060060160008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600080866000191660001916815260200190815260200160002060060160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151515612f52576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f456974686572206275796572206f722073656c6c65722069732070617373656481526020017f206173206d6f64657261746f720000000000000000000000000000000000000081525060400191505060405180910390fd5b60018760ff161115612fd2576001600080876000191660001916815260200190815260200160002060060160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b600160008154809291906001019190505550600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020859080600181540180825580915050906001820390600052602060002001600090919290919091509060001916905550600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002085908060018154018082558091505090600182039060005260206000200160009091929091909150906000191690555050505050505050505050565b60008082840190508381101515156130e557600080fd5b8091505092915050565b600080613100888888888888613ab8565b9150613156600080876000191660001916815260200190815260200160002060020160039054906101000a900463ffffffff16600080886000191660001916815260200190815260200160002060010154614131565b9050600080866000191660001916815260200190815260200160002060020160029054906101000a900460ff1660ff16885110801561320757508015806132065750600080866000191660001916815260200190815260200160002060030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b5b156132c6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260588152602001807f4d696e696d756d206e756d626572206f66207369676e6174757265732061726581526020017f206e6f7420636f6c6c656374656420616e642074696d65206c6f636b2065787081526020017f69727920636f6e646974696f6e73206e6f74206d65742121000000000000000081525060600191505060405180910390fd5b5050505050505050565b6000806000806000806000808a600019166000191681526020019081526020016000209450600093506000600181111561330657fe5b8560020160019054906101000a900460ff16600181111561332357fe5b141561363a57600092505b875183101561363557600073ffffffffffffffffffffffffffffffffffffffff16888481518110151561335d57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff16141580156133ed5750846006016000898581518110151561339a57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1515613461576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f4e6f7420612076616c69642064657374696e6174696f6e00000000000000000081525060200191505060405180910390fd5b6000878481518110151561347157fe5b90602001906020020151111515613516576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001807f416d6f756e7420746f2062652073656e742073686f756c64206265206772656181526020017f746572207468616e20300000000000000000000000000000000000000000000081525060400191505060405180910390fd5b613540878481518110151561352757fe5b90602001906020020151856130ce90919063ffffffff16565b935060018560080160008a8681518110151561355857fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555087838151811015156135c157fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff166108fc88858151811015156135f257fe5b906020019060200201519081150290604051600060405180830381858888f19350505050158015613627573d6000803e3d6000fd5b50828060010193505061332e565b613aa9565b60018081111561364657fe5b8560020160019054906101000a900460ff16600181111561366357fe5b1415613aa8578460040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169150600090505b8751811015613aa757600073ffffffffffffffffffffffffffffffffffffffff1688828151811015156136c457fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff16141580156137545750846006016000898381518110151561370157fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15156137c8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f4e6f7420612076616c69642064657374696e6174696f6e00000000000000000081525060200191505060405180910390fd5b600087828151811015156137d857fe5b9060200190602002015111151561387d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001807f416d6f756e7420746f2062652073656e742073686f756c64206265206772656181526020017f746572207468616e20300000000000000000000000000000000000000000000081525060400191505060405180910390fd5b6138a7878281518110151561388e57fe5b90602001906020020151856130ce90919063ffffffff16565b935060018560080160008a848151811015156138bf57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb898381518110151561394457fe5b90602001906020020151898481518110151561395c57fe5b906020019060200201516040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1580156139eb57600080fd5b505af11580156139ff573d6000803e3d6000fd5b505050506040513d6020811015613a1557600080fd5b81019080805190602001909291905050501515613a9a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f546f6b656e207472616e73666572206661696c65642e0000000000000000000081525060200191505060405180910390fd5b8080600101915050613695565b5b5b83955050505050509392505050565b600080600080600088518a51148015613ad257508a518a51145b1515613b46576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f522c532c56206c656e677468206d69736d617463682e0000000000000000000081525060200191505060405180910390fd5b60197f01000000000000000000000000000000000000000000000000000000000000000260007f0100000000000000000000000000000000000000000000000000000000000000023089898c60405160200180877effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168152600101867effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526001018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401848051906020019060200280838360005b83811015613c9a578082015181840152602081019050613c7f565b50505050905001838051906020019060200280838360005b83811015613ccd578082015181840152602081019050613cb2565b50505050905001826000191660001916815260200196505050505050506040516020818303038152906040526040518082805190602001908083835b602083101515613d2e5780518252602082019150602081019050602083039250613d09565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902060405160200180807f19457468657265756d205369676e6564204d6573736167653a0a333200000000815250601c0182600019166000191681526020019150506040516020818303038152906040526040518082805190602001908083835b602083101515613ddf5780518252602082019150602081019050602083039250613dba565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390209250600091505b8951821015614120576001838c84815181101515613e2d57fe5b906020019060200201518c85815181101515613e4557fe5b906020019060200201518c86815181101515613e5d57fe5b90602001906020020151604051600081526020016040526040518085600019166000191681526020018460ff1660ff1681526020018360001916600019168152602001826000191660001916815260200194505050505060206040516020810390808403906000865af1158015613ed8573d6000803e3d6000fd5b505050602060405103519050600080896000191660001916815260200190815260200160002060060160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515613fc0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f496e76616c6964207369676e617475726500000000000000000000000000000081525060200191505060405180910390fd5b600080896000191660001916815260200190815260200160002060070160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151561409d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f53616d65207369676e61747572652073656e742074776963650000000000000081525060200191505060405180910390fd5b60016000808a6000191660001916815260200190815260200160002060070160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508093508180600101925050613e13565b839450505050509695505050505050565b600080614147834261418590919063ffffffff16565b905060008463ffffffff161461417957614172610e108563ffffffff166141a690919063ffffffff16565b811161417c565b60005b91505092915050565b60008083831115151561419757600080fd5b82840390508091505092915050565b60008060008414156141bb57600091506141dd565b82840290508284828115156141cc57fe5b041415156141d957600080fd5b8091505b50929150505600a165627a7a72305820b58b84528103d1148988fd7eadc6988a7464a98d80e35854f976e0b743b1bd170029", + "sourceMap": "460:20104:0:-;;;1637:1;1603:35;;460:20104;8:9:-1;5:2;;;30:1;27;20:12;5:2;460:20104:0;;;;;;;", + "deployedSourceMap": "460:20104:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3675:702;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7504:607;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11740:999;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11740:999:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5294:1021;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5294:1021:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1545:51;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1545:51:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6539:221;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6539:221:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8380:924;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8380:924:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1603:35;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1603:35:0;;;;;;;;;;;;;;;;;;;;;;;9421:194;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9421:194:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;9421:194:0;;;;;;;;;;;;;;;;;10206:1063;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10206:1063:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6983:194;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6983:194:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1715:55;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1715:55:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3675:702;3953:10;2062:1;2028:12;:24;2041:10;2028:24;;;;;;;;;;;;;;;;;:30;;;:35;2020:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3988:5;2396:1;2370:28;;:14;:28;;;;2362:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4018:6;2396:1;2370:28;;:14;:28;;;;2362:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4040:264;4069:5;4088:6;4108:9;4131;4154:12;4180:10;4204:9;4227:8;4249:21;4292:1;4040:15;:264::i;:::-;4347:10;4328:41;;;4335:10;4359:9;4328:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2432:1;2096;3675:702;;;;;;;;:::o;7504:607::-;7791:14;7628:10;1889:1;1855:12;:24;1868:10;1855:24;;;;;;;;;;;;;;;;;:30;;;:35;;1834:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7662:10;2219:13;2184:48;;;;;;;;:12;:24;2197:10;2184:24;;;;;;;;;;;;;;;;;:31;;;;;;;;;;;;:48;;;;;;;;;2163:117;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7703:10;7715:21;2630:15;2586:59;;;;;;;;:12;:24;2599:10;2586:24;;;;;;;;;;;;;;;;;:40;;;;;;;;;;;;:59;;;;;;;;;2565:125;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7756:10;2798:12;:24;2811:10;2798:24;;;;;;;;;;;;;;;;;:30;;;;;;;;;;;;2784:44;;:10;:44;;;2763:124;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7808:9;7791:26;;7845:1;7836:6;:10;7828:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7927;7975:6;7927:12;:24;7940:10;7927:24;;;;;;;;;;;;;;;;;:30;;;:47;;:55;;;;:::i;:::-;7894:12;:24;7907:10;7894:24;;;;;;;;;;;;;;;;;:30;;:88;;;;8032:15;7992:12;:24;8005:10;7992:24;;;;;;;;;;;;;;;;;:37;;:55;;;;8085:10;8063:41;;;8073:10;8097:6;8063:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2700:1;2290;;1941;7504:607;;;:::o;11740:999::-;12010:7;12061:1;12037:26;;:12;:26;;;12033:700;;;12151:8;12181:9;12212:12;12246:5;12273:6;12301:9;12332:4;12113:241;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;12113:241:0;;;12086:282;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;12086:282:0;;;;;;;;;;;;;;;;12079:289;;;;12033:700;12471:8;12501:9;12532:12;12566:5;12593:6;12621:9;12652:4;12678:12;12433:275;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;12433:275:0;;;12406:316;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;12406:316:0;;;;;;;;;;;;;;;;12399:323;;11740:999;;;;;;;;;;:::o;5294:1021::-;6012:20;5614:10;2062:1;2028:12;:24;2041:10;2028:24;;;;;;;;;;;;;;;;;:30;;;:35;2020:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5649:5;2396:1;2370:28;;:14;:28;;;;2362:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5679:6;2396:1;2370:28;;:14;:28;;;;2362:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5710:12;2396:1;2370:28;;:14;:28;;;;2362:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5739:262;5768:5;5787:6;5807:9;5830;5853:12;5879:10;5903:5;5922:8;5944:21;5979:12;5739:15;:262::i;:::-;6050:12;6012:51;;6095:5;:18;;;6114:10;6126:4;6132:5;6095:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6095:43:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6095:43:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6095:43:0;;;;;;;;;;;;;;;;6074:182;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6290:10;6271:37;;;6278:10;6302:5;6271:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2432:1;;2096;5294:1021;;;;;;;;;;;:::o;1545:51::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;6539:221::-;6675:4;6702:12;:24;6715:10;6702:24;;;;;;;;;;;;;;;;;:38;;:51;6741:11;6702:51;;;;;;;;;;;;;;;;;;;;;;;;;6695:58;;6539:221;;;;:::o;8380:924::-;8666:14;8765:20;8512:10;1889:1;1855:12;:24;1868:10;1855:24;;;;;;;;;;;;;;;;;:30;;;:35;;1834:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8546:10;2219:13;2184:48;;;;;;;;:12;:24;2197:10;2184:24;;;;;;;;;;;;;;;;;:31;;;;;;;;;;;;:48;;;;;;;;;2163:117;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8587:10;8599:21;2630:15;2586:59;;;;;;;;:12;:24;2599:10;2586:24;;;;;;;;;;;;;;;;;:40;;;;;;;;;;;;:59;;;;;;;;;2565:125;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8640:10;2798:12;:24;2811:10;2798:24;;;;;;;;;;;;;;;;;:30;;;;;;;;;;;;2784:44;;:10;:44;;;2763:124;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8683:5;8666:22;;8716:1;8707:6;:10;8699:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8816:12;:24;8829:10;8816:24;;;;;;;;;;;;;;;;;:37;;;;;;;;;;;;8765:98;;8895:5;:18;;;8914:12;:24;8927:10;8914:24;;;;;;;;;;;;;;;;;:30;;;;;;;;;;;;8946:4;8952:5;8895:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8895:63:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;8895:63:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;8895:63:0;;;;;;;;;;;;;;;;8874:202;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9120:55;9168:6;9120:12;:24;9133:10;9120:24;;;;;;;;;;;;;;;;;:30;;;:47;;:55;;;;:::i;:::-;9087:12;:24;9100:10;9087:24;;;;;;;;;;;;;;;;;:30;;:88;;;;9225:15;9185:12;:24;9198:10;9185:24;;;;;;;;;;;;;;;;;:37;;:55;;;;9278:10;9256:41;;;9266:10;9290:6;9256:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2700:1;2290;;1941;8380:924;;;;;:::o;1603:35::-;;;;:::o;9421:194::-;9543:9;9576:18;:32;9595:12;9576:32;;;;;;;;;;;;;;;9569:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9421:194;;;:::o;10206:1063::-;10429:10;1889:1;1855:12;:24;1868:10;1855:24;;;;;;;;;;;;;;;;;:30;;;:35;;1834:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10463:10;2219:13;2184:48;;;;;;;;:12;:24;2197:10;2184:24;;;;;;;;;;;;;;;;;:31;;;;;;;;;;;;:48;;;;;;;;;2163:117;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10530:1;10510:12;;:19;;:21;:62;;;;;10558:7;;:14;;10535:12;;:19;;:37;10510:62;10489:133;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10633:152;10664:4;;10633:152;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10682:4;;10633:152;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10700:4;;10633:152;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10718:10;10742:12;;10633:152;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10768:7;;10633:152;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:17;:152::i;:::-;10830:15;10796:12;:24;10809:10;10796:24;;;;;;;;;;;;;;;;;:31;;;:49;;;;;;;;;;;;;;;;;;;;;;;;10969:15;10929:12;:24;10942:10;10929:24;;;;;;;;;;;;;;;;;:37;;:55;;;;11067:12;:24;11080:10;11067:24;;;;;;;;;;;;;;;;;:30;;;11015:48;11029:10;11041:12;;11015:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11055:7;;11015:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:13;:48::i;:::-;:82;10994:201;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11219:43;11228:10;11240:12;;11254:7;;11219:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1941:1;10206:1063;;;;;;;;;;;;:::o;6983:194::-;7106:4;7133:12;:24;7146:10;7133:24;;;;;;;;;;;;;;;;;:30;;:37;7164:5;7133:37;;;;;;;;;;;;;;;;;;;;;;;;;7126:44;;6983:194;;;;:::o;1715:55::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;17915:2647::-;18277:6;18268:15;;:5;:15;;;;18260:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18388:1;18380:5;:9;18372:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18526:1;18514:9;:13;;;:31;;;;;18544:1;18531:9;:14;;;;18514:31;18493:140;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18926:1;18913:9;:14;;;:41;;;;18952:1;18931:23;;:9;:23;;;;18913:41;18892:167;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19105:226;19148:8;19174:9;19201:12;19231:5;19254:6;19278:9;19305:12;19105:25;:226::i;:::-;19091:240;;;:10;:240;;;;19070:345;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19453:373;;;;;;;;;19574:5;19453:373;;;;19642:15;19453:373;;;;19601:13;19453:373;;;;;;;;;;;;19761:15;19453:373;;;;;;;;;;;;19682:9;19453:373;;;;;;19719:12;19453:373;;;;;;19486:5;19453:373;;;;;;19513:6;19453:373;;;;;;19803:12;19453:373;;;;;;19544:9;19453:373;;;;;19426:12;:24;19439:10;19426:24;;;;;;;;;;;;;;;;;:400;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19880:4;19837:12;:24;19850:10;19837:24;;;;;;;;;;;;;;;;;:32;;:40;19870:6;19837:40;;;;;;;;;;;;;;;;:47;;;;;;;;;;;;;;;;;;19936:4;19894:12;:24;19907:10;19894:24;;;;;;;;;;;;;;;;;:32;;:39;19927:5;19894:39;;;;;;;;;;;;;;;;:46;;;;;;;;;;;;;;;;;;20048:12;:24;20061:10;20048:24;;;;;;;;;;;;;;;;;:32;;:43;20081:9;20048:43;;;;;;;;;;;;;;;;;;;;;;;;;20047:44;20026:137;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20335:1;20323:9;:13;;;20319:94;;;20398:4;20352:12;:24;20365:10;20352:24;;;;;;;;;;;;;;;;;:32;;:43;20385:9;20352:43;;;;;;;;;;;;;;;;:50;;;;;;;;;;;;;;;;;;20319:94;20431:16;;:18;;;;;;;;;;;;;20460;:25;20479:5;20460:25;;;;;;;;;;;;;;;20491:10;20460:42;;39:1:-1;33:3;27:10;23:18;57:10;52:3;45:23;79:10;72:17;;0:93;20460:42:0;;;;;;;;;;;;;;;;;;;;;;;;;;;20512:18;:26;20531:6;20512:26;;;;;;;;;;;;;;;20544:10;20512:43;;39:1:-1;33:3;27:10;23:18;57:10;52:3;45:23;79:10;72:17;;0:93;20512:43:0;;;;;;;;;;;;;;;;;;;;;;;;;;;17915:2647;;;;;;;;;;:::o;1272:131:2:-;1330:7;1345:9;1361:1;1357;:5;1345:17;;1381:1;1376;:6;;1368:15;;;;;;;;1397:1;1390:8;;1272:131;;;;;:::o;13013:1005:0:-;13233:21;13419:20;13257:151;13287:4;13305;13323;13341:10;13365:12;13391:7;13257:16;:151::i;:::-;13233:175;;13442:129;13473:12;:24;13486:10;13473:24;;;;;;;;;;;;;;;;;:37;;;;;;;;;;;;13524:12;:24;13537:10;13524:24;;;;;;;;;;;;;;;;;:37;;;13442:17;:129::i;:::-;13419:152;;13757:12;:24;13770:10;13757:24;;;;;;;;;;;;;;;;;:34;;;;;;;;;;;;13743:48;;:4;:11;:48;:122;;;;;13797:15;13796:16;:68;;;;13833:12;:24;13846:10;13833:24;;;;;;;;;;;;;;;;;:31;;;;;;;;;;;;13816:48;;:13;:48;;;;13796:68;13743:122;13722:289;;;13902:98;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13722:289;13013:1005;;;;;;;;:::o;14144:1607::-;14291:7;14314:21;14373:24;14479:9;15116:20;15189:9;14338:12;:24;14351:10;14338:24;;;;;;;;;;;;;;;;;14314:48;;14400:1;14373:28;;14437:21;14416:42;;;;;;;;:1;:17;;;;;;;;;;;;:42;;;;;;;;;14412:1299;;;14491:1;14479:13;;14474:562;14498:12;:19;14494:1;:23;14474:562;;;14578:1;14551:29;;:12;14564:1;14551:15;;;;;;;;;;;;;;;;;;:29;;;;:59;;;;;14584:1;:9;;:26;14594:12;14607:1;14594:15;;;;;;;;;;;;;;;;;;14584:26;;;;;;;;;;;;;;;;;;;;;;;;;14551:59;14543:95;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14677:1;14664:7;14672:1;14664:10;;;;;;;;;;;;;;;;;;:14;14656:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14763:32;14784:7;14792:1;14784:10;;;;;;;;;;;;;;;;;;14763:16;:20;;:32;;;;:::i;:::-;14744:51;;14849:4;14814:1;:15;;:32;14830:12;14843:1;14830:15;;;;;;;;;;;;;;;;;;14814:32;;;;;;;;;;;;;;;;:39;;;;;;;;;;;;;;;;;;14900:12;14913:1;14900:15;;;;;;;;;;;;;;;;;;:24;;:36;14925:7;14933:1;14925:10;;;;;;;;;;;;;;;;;;14900:36;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;14900:36:0;14519:3;;;;;;;14474:562;;;14412:1299;;;15078:21;15057:42;;;;;;;;:1;:17;;;;;;;;;;;;:42;;;;;;;;;15053:658;;;15154:1;:14;;;;;;;;;;;;15116:53;;15201:1;15189:13;;15184:517;15206:12;:19;15204:1;:21;15184:517;;;15286:1;15259:29;;:12;15272:1;15259:15;;;;;;;;;;;;;;;;;;:29;;;;:59;;;;;15292:1;:9;;:26;15302:12;15315:1;15302:15;;;;;;;;;;;;;;;;;;15292:26;;;;;;;;;;;;;;;;;;;;;;;;;15259:59;15251:95;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15385:1;15372:7;15380:1;15372:10;;;;;;;;;;;;;;;;;;:14;15364:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15471:32;15492:7;15500:1;15492:10;;;;;;;;;;;;;;;;;;15471:16;:20;;:32;;;;:::i;:::-;15452:51;;15556:4;15521:1;:15;;:32;15537:12;15550:1;15537:15;;;;;;;;;;;;;;;;;;15521:32;;;;;;;;;;;;;;;;:39;;;;;;;;;;;;;;;;;;15616:5;:14;;;15631:12;15644:1;15631:15;;;;;;;;;;;;;;;;;;15648:7;15656:1;15648:10;;;;;;;;;;;;;;;;;;15616:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;15616:43:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;15616:43:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;15616:43:0;;;;;;;;;;;;;;;;15608:78;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15227:3;;;;;;;15184:517;;;15053:658;14412:1299;15728:16;15721:23;;14144:1607;;;;;;;;;;:::o;15935:1571::-;16156:7;16317:19;16435:14;16894:6;16943:17;16216:4;:11;16201:4;:11;:26;:56;;;;;16246:4;:11;16231:4;:11;:26;16201:56;16180:126;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16639:4;16634:10;;16675:1;16670:7;;16703:4;16733:12;16771:7;16804:10;16592:244;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;16592:244:0;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;16592:244:0;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;16592:244:0;;;16561:293;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;16561:293:0;;;;;;;;;;;;;;;;16475:393;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;16475:393:0;;;16452:426;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;16452:426:0;;;;;;;;;;;;;;;;16435:443;;16903:1;16894:10;;16889:582;16910:4;:11;16906:1;:15;16889:582;;;16963:122;16990:6;17014:4;17019:1;17014:7;;;;;;;;;;;;;;;;;;17039:4;17044:1;17039:7;;;;;;;;;;;;;;;;;;17064:4;17069:1;17064:7;;;;;;;;;;;;;;;;;;16963:122;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;16963:122:0;;;;;;;;16943:142;;17125:12;:24;17138:10;17125:24;;;;;;;;;;;;;;;;;:32;;:43;17158:9;17125:43;;;;;;;;;;;;;;;;;;;;;;;;;17100:120;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17260:12;:24;17273:10;17260:24;;;;;;;;;;;;;;;;;:30;;:41;17291:9;17260:41;;;;;;;;;;;;;;;;;;;;;;;;;17259:42;17234:127;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17419:4;17375:12;:24;17388:10;17375:24;;;;;;;;;;;;;;;;;:30;;:41;17406:9;17375:41;;;;;;;;;;;;;;;;:48;;;;;;;;;;;;;;;;;;17451:9;17437:23;;16923:3;;;;;;;16889:582;;;17488:11;17481:18;;15935:1571;;;;;;;;;;;;:::o;17512:316::-;17650:4;17670:17;17690:21;17698:12;17690:3;:7;;:21;;;;:::i;:::-;17670:41;;17758:1;17742:12;:17;;;:69;;17780:31;17806:4;17788:12;17780:21;;:25;;:31;;;;:::i;:::-;17768:9;:43;17742:69;;;17762:5;17742:69;17721:100;;17512:316;;;;;:::o;1078:131:2:-;1136:7;1172:9;1164:1;1159;:6;;1151:15;;;;;;;;1188:1;1184;:5;1172:17;;1203:1;1196:8;;1078:131;;;;;:::o;204:381::-;262:7;523:9;491:1;486;:6;482:35;;;509:1;502:8;;;;482:35;539:1;535;:5;523:17;;563:1;558;554;:5;;;;;;;;:10;546:19;;;;;;;;579:1;572:8;;204:381;;;;;;:::o", + "source": "pragma solidity 0.4.24;\n\nimport \"openzeppelin-solidity/contracts/math/SafeMath.sol\";\n\nimport \"../token/ITokenContract.sol\";\n\n\n/**\n* @dev Supports ERC20 tokens\n* The escrow smart contract for the open bazaar trades in Ethereum\n* The smart contract is desgined keeping in mind the current wallet interface of the OB-core\n* https://github.com/OpenBazaar/wallet-interface/blob/master/wallet.go\n* Current wallet interface strictly adheres to UTXO(bitcoin) model\n*/\ncontract Escrow_v1_0 {\n\n using SafeMath for uint256;\n\n enum Status {FUNDED, RELEASED}\n\n enum TransactionType {ETHER, TOKEN}\n\n event Executed(\n bytes32 scriptHash,\n address[] destinations,\n uint256[] amounts\n );\n\n event FundAdded(\n bytes32 scriptHash,\n address indexed from,\n uint256 valueAdded\n );\n\n event Funded(\n bytes32 scriptHash, \n address indexed from, \n uint256 value\n );\n\n struct Transaction {\n uint256 value;\n uint256 lastModified;//Time at which transaction was last modified\n Status status;\n TransactionType transactionType;\n uint8 threshold;\n uint32 timeoutHours;\n address buyer;\n address seller;\n address tokenAddress;//Token address in case of token transfer\n address moderator;\n mapping(address=>bool) isOwner;//to keep track of owners/signers.\n mapping(address=>bool) voted;//to keep track of who all voted\n mapping(address=>bool) beneficiaries;//Benefeciaries of execution\n }\n\n mapping(bytes32 => Transaction) public transactions;\n\n uint256 public transactionCount = 0;\n\n //Contains mapping between each party and all of his transactions\n mapping(address => bytes32[]) public partyVsTransaction;\n\n modifier transactionExists(bytes32 scriptHash) {\n require(\n transactions[scriptHash].value != 0, \"Transaction does not exists\"\n );\n _;\n }\n\n modifier transactionDoesNotExists (bytes32 scriptHash) {\n require(transactions[scriptHash].value == 0, \"Transaction exists\");\n _;\n }\n\n modifier inFundedState(bytes32 scriptHash) {\n require(\n transactions[scriptHash].status == Status.FUNDED, \"Transaction is not in FUNDED state\"\n );\n _;\n }\n\n modifier nonZeroAddress(address addressToCheck) {\n require(addressToCheck != address(0), \"Zero address passed\");\n _;\n }\n\n modifier checkTransactionType(\n bytes32 scriptHash,\n TransactionType transactionType\n )\n {\n require(\n transactions[scriptHash].transactionType == transactionType, \"Transaction type does not match\"\n );\n _;\n }\n\n modifier onlyBuyer(bytes32 scriptHash) {\n require(\n msg.sender == transactions[scriptHash].buyer, \"The initiator of the transaction is not buyer\"\n );\n _;\n }\n\n /**\n *@dev Add new transaction in the contract\n *@param buyer The buyer of the transaction\n *@param seller The seller of the listing associated with the transaction\n *@param moderator Moderator for this transaction\n *@param scriptHash keccak256 hash of the redeem script\n *@param threshold Minimum number of singatures required to released funds\n *@param timeoutHours Hours after which seller can release funds into his favour by signing transaction\n *@param uniqueId bytes20 unique id for the transaction, generated by ETH wallet\n *Redeem Script format will be following\n \n *Pass amount of the ethers to be put in escrow\n */\n function addTransaction(\n address buyer,\n address seller,\n address moderator,\n uint8 threshold,\n uint32 timeoutHours,\n bytes32 scriptHash,\n bytes20 uniqueId\n )\n external\n payable\n transactionDoesNotExists(scriptHash)\n nonZeroAddress(buyer)\n nonZeroAddress(seller)\n {\n _addTransaction(\n buyer,\n seller,\n moderator,\n threshold,\n timeoutHours,\n scriptHash,\n msg.value,\n uniqueId,\n TransactionType.ETHER,\n address(0)\n );\n \n emit Funded(scriptHash, msg.sender, msg.value);\n\n }\n\n /**\n *@dev Add new transaction in the contract\n *@param buyer The buyer of the transaction\n *@param seller The seller of the listing associated with the transaction\n *@param moderator Moderator for this transaction\n *@param scriptHash keccak256 hash of the redeem script\n *@param threshold Minimum number of singatures required to released funds\n *@param timeoutHours Hours after which seller can release funds into his favour by signing transaction\n *@param value Amount of tokens to be put in escrow\n *@param uniqueId bytes20 unique id for the transaction, generated by ETH wallet\n *@param tokenAddress Address of the token to be used\n *Redeem Script format will be following\n \n *approve escrow contract to spend amount of token on your behalf\n */\n function addTokenTransaction(\n address buyer,\n address seller,\n address moderator,\n uint8 threshold,\n uint32 timeoutHours,\n bytes32 scriptHash,\n uint256 value,\n bytes20 uniqueId,\n address tokenAddress\n )\n external\n transactionDoesNotExists(scriptHash)\n nonZeroAddress(buyer)\n nonZeroAddress(seller)\n nonZeroAddress(tokenAddress)\n {\n\n _addTransaction(\n buyer,\n seller,\n moderator,\n threshold,\n timeoutHours,\n scriptHash,\n value,\n uniqueId,\n TransactionType.TOKEN,\n tokenAddress\n );\n\n ITokenContract token = ITokenContract(tokenAddress);\n\n require(\n token.transferFrom(msg.sender, this, value),\n \"Token transfer failed, maybe you did not approve escrow contract to spend on behalf of buyer\"\n );\n emit Funded(scriptHash, msg.sender, value);\n }\n\n /**\n * @dev Check whether given address was a beneficiary of transaction execution or not\n * @param scriptHash script hash of the transaction\n * @param beneficiary Beneficiary address to be checked\n */\n function checkBeneficiary(\n bytes32 scriptHash,\n address beneficiary\n )\n external\n view\n returns (bool)\n {\n return transactions[scriptHash].beneficiaries[beneficiary];\n }\n\n /**\n * @dev Check whether given party has voted or not\n * @param scriptHash script hash of the transaction\n * @param party Address of the party whose vote has to be checked\n * @return bool vote\n */\n function checkVote(\n bytes32 scriptHash,\n address party\n )\n external\n view\n returns (bool)\n {\n return transactions[scriptHash].voted[party];\n }\n\n /**\n * @dev Allows buyer of the transaction to add more funds(ether) in the transaction. \n * This will help to cater scenarios wherein initially buyer missed to fund transaction as required\n * @param scriptHash script hash of the transaction\n * Only buyer of the transaction can invoke this method\n */\n function addFundsToTransaction(\n bytes32 scriptHash\n )\n external\n payable\n transactionExists(scriptHash)\n inFundedState(scriptHash)\n checkTransactionType(scriptHash, TransactionType.ETHER)\n onlyBuyer(scriptHash)\n \n {\n uint256 _value = msg.value;\n\n require(_value > 0, \"Value must be greater than zero.\");\n\n transactions[scriptHash].value = transactions[scriptHash].value\n .add(_value);\n transactions[scriptHash].lastModified = block.timestamp;\n\n emit FundAdded(scriptHash, msg.sender, _value);\n }\n\n /**\n * @dev Allows buyer of the transaction to add more funds(Tokens) in the transaction. \n * This will help to cater scenarios wherein initially buyer missed to fund transaction as required\n * @param scriptHash script hash of the transaction\n */\n function addTokensToTransaction(\n bytes32 scriptHash,\n uint256 value\n )\n external\n transactionExists(scriptHash)\n inFundedState(scriptHash)\n checkTransactionType(scriptHash, TransactionType.TOKEN)\n onlyBuyer(scriptHash)\n {\n uint256 _value = value;\n\n require(_value > 0, \"Value must be greater than zero.\");\n\n ITokenContract token = ITokenContract(\n transactions[scriptHash].tokenAddress\n );\n\n require(\n token.transferFrom(transactions[scriptHash].buyer, this, value),\n \"Token transfer failed, maybe you did not approve escrow contract to spend on behalf of buyer\"\n );\n\n transactions[scriptHash].value = transactions[scriptHash].value\n .add(_value);\n transactions[scriptHash].lastModified = block.timestamp;\n\n emit FundAdded(scriptHash, msg.sender, _value);\n }\n\n /**\n *@dev Returns all transaction ids for a party\n *@param partyAddress Address of the party\n */\n function getAllTransactionsForParty(\n address partyAddress\n ) \n external \n view \n returns (bytes32[]) \n {\n return partyVsTransaction[partyAddress];\n }\n\n /**\n *@dev This method will be used to release funds associated with the transaction\n * Please see specs https://github.com/OpenBazaar/smart-contracts/blob/master/contracts/escrow/EscrowSpec.md\n *@param sigV Array containing V component of all the signatures\n *@param sigR Array containing R component of all the signatures\n *@param signS Array containing S component of all the signatures\n *@param scriptHash script hash of the transaction\n *@param destinations List of addresses to receive funds\n *@param amounts value released to each destination\n */\n function execute(\n uint8[] sigV,\n bytes32[] sigR,\n bytes32[] sigS,\n bytes32 scriptHash,\n address[] destinations,\n uint256[] amounts\n )\n external\n transactionExists(scriptHash)\n inFundedState(scriptHash)\n {\n require(\n destinations.length>0 && destinations.length == amounts.length, \"Length of destinations is incorrect.\"\n );\n\n verifyTransaction(\n sigV,\n sigR,\n sigS,\n scriptHash,\n destinations,\n amounts\n );\n\n transactions[scriptHash].status = Status.RELEASED;\n //Last modified timestamp modified, which will be used by rewards\n transactions[scriptHash].lastModified = block.timestamp;\n require(\n transferFunds(scriptHash, destinations, amounts) == transactions[scriptHash].value,\n \"Total value to be released must be equal to the transaction escrow value\"\n );\n \n emit Executed(scriptHash, destinations, amounts);\n }\n\n\n /**\n *@dev Method for calculating script hash. Calculation will depend upon the type of transaction\n * ETHER Type transaction-:\n * Script Hash- keccak256(uniqueId, threshold, timeoutHours, buyer, seller, moderator)\n * TOKEN Type transaction\n * Script Hash- keccak256(uniqueId, threshold, timeoutHours, buyer, seller, moderator, tokenAddress)\n * Client can use this method to verify whether it has calculated correct script hash or not\n */\n function calculateRedeemScriptHash(\n bytes20 uniqueId,\n uint8 threshold,\n uint32 timeoutHours,\n address buyer,\n address seller,\n address moderator,\n address tokenAddress\n )\n public\n view\n returns (bytes32)\n {\n if (tokenAddress == address(0)) {\n return keccak256(\n abi.encodePacked(\n uniqueId,\n threshold,\n timeoutHours,\n buyer,\n seller,\n moderator,\n this\n )\n );\n } else {\n return keccak256(\n abi.encodePacked(\n uniqueId,\n threshold,\n timeoutHours,\n buyer,\n seller,\n moderator,\n this,\n tokenAddress\n )\n );\n }\n }\n\n /**\n * @dev This methods checks validity of transaction\n * 1. Verify Signatures\n * 2. Check if minimum number of signatures has been acquired\n * 3. If above condition is false, check if time lock is expired and the execution is signed by seller\n */\n function verifyTransaction(\n uint8[] sigV,\n bytes32[] sigR,\n bytes32[] sigS,\n bytes32 scriptHash,\n address[] destinations,\n uint256[] amounts\n )\n private\n {\n address lastRecovered = verifySignatures(\n sigV,\n sigR,\n sigS,\n scriptHash,\n destinations,\n amounts\n );\n\n bool timeLockExpired = isTimeLockExpired(\n transactions[scriptHash].timeoutHours,\n transactions[scriptHash].lastModified\n );\n\n //if Minimum number of signatures are not gathered and timelock has not expired or transaction was not signed by seller then revert\n if (\n sigV.length < transactions[scriptHash].threshold && (!timeLockExpired || lastRecovered != transactions[scriptHash].seller)\n )\n {\n revert(\"Minimum number of signatures are not collected and time lock expiry conditions not met!!\");\n }\n\n }\n\n /**\n *@dev Private method to transfer funds to the destination addresses on the basis of transaction type\n */\n function transferFunds(\n bytes32 scriptHash,\n address[]destinations,\n uint256[]amounts\n )\n private\n returns (uint256)\n {\n Transaction storage t = transactions[scriptHash];\n\n uint256 valueTransferred = 0;\n\n if (t.transactionType == TransactionType.ETHER) {\n for (uint256 i = 0; i < destinations.length; i++) {\n\n require(destinations[i] != address(0) && t.isOwner[destinations[i]], \"Not a valid destination\");\n require(amounts[i] > 0, \"Amount to be sent should be greater than 0\");\n\n valueTransferred = valueTransferred.add(amounts[i]);\n\n t.beneficiaries[destinations[i]] = true;//add receiver as beneficiary\n destinations[i].transfer(amounts[i]);//shall we use send instead of transfer to stop malicious actors from blocking funds?\n }\n\n } else if (t.transactionType == TransactionType.TOKEN) {\n\n ITokenContract token = ITokenContract(t.tokenAddress);\n\n for (uint256 j = 0; j 0, \"Amount to be sent should be greater than 0\");\n\n valueTransferred = valueTransferred.add(amounts[j]);\n t.beneficiaries[destinations[j]] = true;//add receiver as beneficiary\n\n require(token.transfer(destinations[j], amounts[j]), \"Token transfer failed.\");\n }\n } \n return valueTransferred;\n }\n\n //to check whether the signature are valid or not and if consensus was reached\n //returns the last address recovered, in case of timeout this must be the sender's address\n function verifySignatures(\n uint8[] sigV,\n bytes32[] sigR,\n bytes32[] sigS,\n bytes32 scriptHash,\n address[] destinations,\n uint256[]amounts\n )\n private\n returns (address)\n {\n\n require(\n sigR.length == sigS.length && sigR.length == sigV.length, \n \"R,S,V length mismatch.\"\n );\n\n address lastAddress;\n\n // Follows ERC191 signature scheme: https://github.com/ethereum/EIPs/issues/191\n bytes32 txHash = keccak256(\n abi.encodePacked(\n \"\\x19Ethereum Signed Message:\\n32\",\n keccak256(\n abi.encodePacked(\n byte(0x19),\n byte(0),\n this,\n destinations,\n amounts,\n scriptHash\n )\n )\n )\n );\n\n for (uint i = 0; i < sigR.length; i++) {\n\n address recovered = ecrecover(\n txHash,\n sigV[i],\n sigR[i],\n sigS[i]\n );\n\n require(\n transactions[scriptHash].isOwner[recovered], \n \"Invalid signature\"\n );\n require(\n !transactions[scriptHash].voted[recovered], \n \"Same signature sent twice\"\n );\n transactions[scriptHash].voted[recovered] = true;\n lastAddress = recovered;\n }\n\n return lastAddress;\n }\n\n function isTimeLockExpired(\n uint32 timeoutHours,\n uint256 lastModified\n )\n private\n view\n returns (bool)\n {\n uint256 timeSince = now.sub(lastModified);\n return (\n timeoutHours == 0 ? false:timeSince > uint256(timeoutHours).mul(3600)\n );\n }\n\n /**\n * Private method to add transaction to reduce code redundancy\n */\n function _addTransaction(\n address buyer,\n address seller,\n address moderator,\n uint8 threshold,\n uint32 timeoutHours,\n bytes32 scriptHash,\n uint256 value,\n bytes20 uniqueId,\n TransactionType transactionType,\n address tokenAddress\n )\n private\n { \n require(buyer != seller, \"Buyer and seller are same\");\n\n //value passed should be greater than 0\n require(value > 0, \"Value passed is 0\");\n\n // For now allowing 0 moderator to support 1-2 multisig wallet\n require(\n threshold > 0 && threshold <= 3, \n \"Threshold cannot be greater than 3 and must be greater than 0\"\n );\n\n //if threshold is 1 then moderator can be passed as zero address or any other address\n //(it wont matter aopart from scripthash since we wont add moderator as one of the owner)\n //otherwise moderator should be a valid address\n require(\n threshold == 1 || moderator != address(0),\n \"Either threshold should be 1 otherwise valid moderator address should be passed\"\n );\n\n require(\n scriptHash == calculateRedeemScriptHash(\n uniqueId,\n threshold,\n timeoutHours,\n buyer,\n seller,\n moderator,\n tokenAddress\n ), \n \"Calculated script hash does not match passed script hash.\"\n );\n\n transactions[scriptHash] = Transaction({\n buyer: buyer,\n seller: seller,\n moderator: moderator,\n value: value,\n status: Status.FUNDED,\n lastModified: block.timestamp,\n threshold: threshold,\n timeoutHours: timeoutHours,\n transactionType:transactionType,\n tokenAddress:tokenAddress\n });\n\n transactions[scriptHash].isOwner[seller] = true;\n transactions[scriptHash].isOwner[buyer] = true; \n\n //Check if buyer or seller are not passed as moderator\n require(\n !transactions[scriptHash].isOwner[moderator], \n \"Either buyer or seller is passed as moderator\"\n );\n\n //set moderator as one of the owners only if threshold is greater than 1 otherwise only buyer and seller should be able to release funds\n if (threshold > 1) {\n transactions[scriptHash].isOwner[moderator] = true;\n }\n \n\n transactionCount++;\n\n partyVsTransaction[buyer].push(scriptHash);\n partyVsTransaction[seller].push(scriptHash);\n }\n}\n", "sourcePath": "/home/sameep/freelancing-projects/toptal/open baazar/publicRepo/smart-contracts/contracts/escrow/Escrow_v1_0.sol", "ast": { "absolutePath": "/home/sameep/freelancing-projects/toptal/open baazar/publicRepo/smart-contracts/contracts/escrow/Escrow_v1_0.sol", @@ -777,7 +777,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 38, - "src": "839:18:0", + "src": "848:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -788,7 +788,7 @@ "id": 31, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "839:7:0", + "src": "848:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -804,7 +804,7 @@ "name": "from", "nodeType": "VariableDeclaration", "scope": 38, - "src": "859:20:0", + "src": "877:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -815,7 +815,7 @@ "id": 33, "name": "address", "nodeType": "ElementaryTypeName", - "src": "859:7:0", + "src": "877:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -831,7 +831,7 @@ "name": "value", "nodeType": "VariableDeclaration", "scope": 38, - "src": "881:13:0", + "src": "908:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -842,7 +842,7 @@ "id": 35, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "881:7:0", + "src": "908:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -852,9 +852,9 @@ "visibility": "internal" } ], - "src": "838:57:0" + "src": "838:89:0" }, - "src": "826:70:0" + "src": "826:102:0" }, { "canonicalName": "Escrow_v1_0.Transaction", @@ -866,7 +866,7 @@ "name": "value", "nodeType": "VariableDeclaration", "scope": 71, - "src": "931:13:0", + "src": "963:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -877,7 +877,7 @@ "id": 39, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "931:7:0", + "src": "963:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -892,7 +892,7 @@ "name": "lastModified", "nodeType": "VariableDeclaration", "scope": 71, - "src": "954:20:0", + "src": "986:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -903,7 +903,7 @@ "id": 41, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "954:7:0", + "src": "986:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -918,7 +918,7 @@ "name": "status", "nodeType": "VariableDeclaration", "scope": 71, - "src": "1029:13:0", + "src": "1061:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -931,7 +931,7 @@ "name": "Status", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 9, - "src": "1029:6:0", + "src": "1061:6:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$9", "typeString": "enum Escrow_v1_0.Status" @@ -946,7 +946,7 @@ "name": "transactionType", "nodeType": "VariableDeclaration", "scope": 71, - "src": "1052:31:0", + "src": "1084:31:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -959,7 +959,7 @@ "name": "TransactionType", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 12, - "src": "1052:15:0", + "src": "1084:15:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -974,7 +974,7 @@ "name": "threshold", "nodeType": "VariableDeclaration", "scope": 71, - "src": "1093:15:0", + "src": "1125:15:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -985,7 +985,7 @@ "id": 47, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "1093:5:0", + "src": "1125:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -1000,7 +1000,7 @@ "name": "timeoutHours", "nodeType": "VariableDeclaration", "scope": 71, - "src": "1118:19:0", + "src": "1150:19:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1011,7 +1011,7 @@ "id": 49, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "1118:6:0", + "src": "1150:6:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -1026,7 +1026,7 @@ "name": "buyer", "nodeType": "VariableDeclaration", "scope": 71, - "src": "1147:13:0", + "src": "1179:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1037,7 +1037,7 @@ "id": 51, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1147:7:0", + "src": "1179:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1052,7 +1052,7 @@ "name": "seller", "nodeType": "VariableDeclaration", "scope": 71, - "src": "1170:14:0", + "src": "1202:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1063,7 +1063,7 @@ "id": 53, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1170:7:0", + "src": "1202:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1078,7 +1078,7 @@ "name": "tokenAddress", "nodeType": "VariableDeclaration", "scope": 71, - "src": "1194:20:0", + "src": "1226:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1089,7 +1089,7 @@ "id": 55, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1194:7:0", + "src": "1226:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1104,7 +1104,7 @@ "name": "moderator", "nodeType": "VariableDeclaration", "scope": 71, - "src": "1266:17:0", + "src": "1297:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1115,7 +1115,7 @@ "id": 57, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1266:7:0", + "src": "1297:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1130,7 +1130,7 @@ "name": "isOwner", "nodeType": "VariableDeclaration", "scope": 71, - "src": "1293:30:0", + "src": "1324:30:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1143,14 +1143,14 @@ "id": 59, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1301:7:0", + "src": "1332:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "Mapping", - "src": "1293:22:0", + "src": "1324:22:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -1159,7 +1159,7 @@ "id": 60, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "1310:4:0", + "src": "1341:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1175,7 +1175,7 @@ "name": "voted", "nodeType": "VariableDeclaration", "scope": 71, - "src": "1367:28:0", + "src": "1398:28:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1188,14 +1188,14 @@ "id": 63, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1375:7:0", + "src": "1406:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "Mapping", - "src": "1367:22:0", + "src": "1398:22:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -1204,7 +1204,7 @@ "id": 64, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "1384:4:0", + "src": "1415:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1220,7 +1220,7 @@ "name": "beneficiaries", "nodeType": "VariableDeclaration", "scope": 71, - "src": "1437:36:0", + "src": "1468:36:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1233,14 +1233,14 @@ "id": 67, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1445:7:0", + "src": "1476:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "Mapping", - "src": "1437:22:0", + "src": "1468:22:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -1249,7 +1249,7 @@ "id": 68, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "1454:4:0", + "src": "1485:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1263,7 +1263,7 @@ "name": "Transaction", "nodeType": "StructDefinition", "scope": 1211, - "src": "902:606:0", + "src": "934:605:0", "visibility": "public" }, { @@ -1272,7 +1272,7 @@ "name": "transactions", "nodeType": "VariableDeclaration", "scope": 1211, - "src": "1514:51:0", + "src": "1545:51:0", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -1285,14 +1285,14 @@ "id": 72, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "1522:7:0", + "src": "1553:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "nodeType": "Mapping", - "src": "1514:31:0", + "src": "1545:31:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction)" @@ -1303,7 +1303,7 @@ "name": "Transaction", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 71, - "src": "1533:11:0", + "src": "1564:11:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction" @@ -1319,7 +1319,7 @@ "name": "transactionCount", "nodeType": "VariableDeclaration", "scope": 1211, - "src": "1572:35:0", + "src": "1603:35:0", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -1330,7 +1330,7 @@ "id": 76, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1572:7:0", + "src": "1603:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1346,7 +1346,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1606:1:0", + "src": "1637:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -1362,7 +1362,7 @@ "name": "partyVsTransaction", "nodeType": "VariableDeclaration", "scope": 1211, - "src": "1684:54:0", + "src": "1715:55:0", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -1375,14 +1375,14 @@ "id": 79, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1692:7:0", + "src": "1723:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "Mapping", - "src": "1684:29:0", + "src": "1715:29:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_bytes32_$dyn_storage_$", "typeString": "mapping(address => bytes32[])" @@ -1392,7 +1392,7 @@ "id": 80, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "1703:7:0", + "src": "1734:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -1401,7 +1401,7 @@ "id": 81, "length": null, "nodeType": "ArrayTypeName", - "src": "1703:9:0", + "src": "1734:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -1415,7 +1415,7 @@ "body": { "id": 98, "nodeType": "Block", - "src": "1792:125:0", + "src": "1824:125:0", "statements": [ { "expression": { @@ -1443,7 +1443,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "1823:12:0", + "src": "1855:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -1457,7 +1457,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 85, - "src": "1836:10:0", + "src": "1868:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -1468,7 +1468,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "1823:24:0", + "src": "1855:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -1482,7 +1482,7 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": 40, - "src": "1823:30:0", + "src": "1855:30:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1500,7 +1500,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1857:1:0", + "src": "1889:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -1508,7 +1508,7 @@ }, "value": "0" }, - "src": "1823:35:0", + "src": "1855:35:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1524,7 +1524,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "1860:29:0", + "src": "1892:29:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_e6218ab6010d379e919c5d8d62438c20b22e478fd60139b985d89cb57bc71538", @@ -1552,7 +1552,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "1802:7:0", + "src": "1834:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -1566,7 +1566,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1802:97:0", + "src": "1834:97:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -1574,12 +1574,12 @@ }, "id": 96, "nodeType": "ExpressionStatement", - "src": "1802:97:0" + "src": "1834:97:0" }, { "id": 97, "nodeType": "PlaceholderStatement", - "src": "1909:1:0" + "src": "1941:1:0" } ] }, @@ -1597,7 +1597,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 99, - "src": "1772:18:0", + "src": "1804:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1608,7 +1608,7 @@ "id": 84, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "1772:7:0", + "src": "1804:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -1618,16 +1618,16 @@ "visibility": "internal" } ], - "src": "1771:20:0" + "src": "1803:20:0" }, - "src": "1745:172:0", + "src": "1777:172:0", "visibility": "internal" }, { "body": { "id": 114, "nodeType": "Block", - "src": "1978:94:0", + "src": "2010:94:0", "statements": [ { "expression": { @@ -1655,7 +1655,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "1996:12:0", + "src": "2028:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -1669,7 +1669,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 101, - "src": "2009:10:0", + "src": "2041:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -1680,7 +1680,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "1996:24:0", + "src": "2028:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -1694,7 +1694,7 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": 40, - "src": "1996:30:0", + "src": "2028:30:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1712,7 +1712,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2030:1:0", + "src": "2062:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -1720,7 +1720,7 @@ }, "value": "0" }, - "src": "1996:35:0", + "src": "2028:35:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1736,7 +1736,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "2033:20:0", + "src": "2065:20:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_64ff8d63c933e41af18e90354a9e9e0a94a0877b0dd96b73b67df48f68d00e8a", @@ -1764,7 +1764,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "1988:7:0", + "src": "2020:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -1778,7 +1778,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1988:66:0", + "src": "2020:66:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -1786,12 +1786,12 @@ }, "id": 112, "nodeType": "ExpressionStatement", - "src": "1988:66:0" + "src": "2020:66:0" }, { "id": 113, "nodeType": "PlaceholderStatement", - "src": "2064:1:0" + "src": "2096:1:0" } ] }, @@ -1809,7 +1809,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 115, - "src": "1958:18:0", + "src": "1990:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1820,7 +1820,7 @@ "id": 100, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "1958:7:0", + "src": "1990:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -1830,16 +1830,16 @@ "visibility": "internal" } ], - "src": "1957:20:0" + "src": "1989:20:0" }, - "src": "1923:149:0", + "src": "1955:149:0", "visibility": "internal" }, { "body": { "id": 131, "nodeType": "Block", - "src": "2121:145:0", + "src": "2153:145:0", "statements": [ { "expression": { @@ -1867,7 +1867,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "2152:12:0", + "src": "2184:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -1881,7 +1881,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 117, - "src": "2165:10:0", + "src": "2197:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -1892,7 +1892,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "2152:24:0", + "src": "2184:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -1906,7 +1906,7 @@ "memberName": "status", "nodeType": "MemberAccess", "referencedDeclaration": 44, - "src": "2152:31:0", + "src": "2184:31:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$9", "typeString": "enum Escrow_v1_0.Status" @@ -1923,7 +1923,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9, - "src": "2187:6:0", + "src": "2219:6:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_Status_$9_$", "typeString": "type(enum Escrow_v1_0.Status)" @@ -1937,13 +1937,13 @@ "memberName": "FUNDED", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "2187:13:0", + "src": "2219:13:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$9", "typeString": "enum Escrow_v1_0.Status" } }, - "src": "2152:48:0", + "src": "2184:48:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1959,7 +1959,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "2202:36:0", + "src": "2234:36:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_5244efce1630cfae7257c0817c921ae75135c1043344a4cf9a1988c03337f39d", @@ -1987,7 +1987,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "2131:7:0", + "src": "2163:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -2001,7 +2001,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2131:117:0", + "src": "2163:117:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -2009,12 +2009,12 @@ }, "id": 129, "nodeType": "ExpressionStatement", - "src": "2131:117:0" + "src": "2163:117:0" }, { "id": 130, "nodeType": "PlaceholderStatement", - "src": "2258:1:0" + "src": "2290:1:0" } ] }, @@ -2032,7 +2032,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 132, - "src": "2101:18:0", + "src": "2133:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2043,7 +2043,7 @@ "id": 116, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "2101:7:0", + "src": "2133:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -2053,16 +2053,16 @@ "visibility": "internal" } ], - "src": "2100:20:0" + "src": "2132:20:0" }, - "src": "2078:188:0", + "src": "2110:188:0", "visibility": "internal" }, { "body": { "id": 146, "nodeType": "Block", - "src": "2320:88:0", + "src": "2352:88:0", "statements": [ { "expression": { @@ -2086,7 +2086,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 134, - "src": "2338:14:0", + "src": "2370:14:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2107,7 +2107,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2364:1:0", + "src": "2396:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -2129,7 +2129,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "2356:7:0", + "src": "2388:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" @@ -2144,13 +2144,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2356:10:0", + "src": "2388:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "2338:28:0", + "src": "2370:28:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -2166,7 +2166,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "2368:21:0", + "src": "2400:21:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_93e85f37f73cf8e1b855512ab7e00aab2b791117712ecb476daeb6c2c0a27a67", @@ -2194,7 +2194,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "2330:7:0", + "src": "2362:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -2208,7 +2208,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2330:60:0", + "src": "2362:60:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -2216,12 +2216,12 @@ }, "id": 144, "nodeType": "ExpressionStatement", - "src": "2330:60:0" + "src": "2362:60:0" }, { "id": 145, "nodeType": "PlaceholderStatement", - "src": "2400:1:0" + "src": "2432:1:0" } ] }, @@ -2239,7 +2239,7 @@ "name": "addressToCheck", "nodeType": "VariableDeclaration", "scope": 147, - "src": "2296:22:0", + "src": "2328:22:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2250,7 +2250,7 @@ "id": 133, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2296:7:0", + "src": "2328:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2260,16 +2260,16 @@ "visibility": "internal" } ], - "src": "2295:24:0" + "src": "2327:24:0" }, - "src": "2272:136:0", + "src": "2304:136:0", "visibility": "internal" }, { "body": { "id": 164, "nodeType": "Block", - "src": "2523:153:0", + "src": "2555:153:0", "statements": [ { "expression": { @@ -2297,7 +2297,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "2554:12:0", + "src": "2586:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -2311,7 +2311,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 149, - "src": "2567:10:0", + "src": "2599:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -2322,7 +2322,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "2554:24:0", + "src": "2586:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -2336,7 +2336,7 @@ "memberName": "transactionType", "nodeType": "MemberAccess", "referencedDeclaration": 46, - "src": "2554:40:0", + "src": "2586:40:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -2351,13 +2351,13 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 151, - "src": "2598:15:0", + "src": "2630:15:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" } }, - "src": "2554:59:0", + "src": "2586:59:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -2373,7 +2373,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "2615:33:0", + "src": "2647:33:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_c798eb33a8bd5d4c22212d5c8611219bb87da2d82aefe8e88b1f970a0f133cc3", @@ -2401,7 +2401,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "2533:7:0", + "src": "2565:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -2415,7 +2415,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2533:125:0", + "src": "2565:125:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -2423,12 +2423,12 @@ }, "id": 162, "nodeType": "ExpressionStatement", - "src": "2533:125:0" + "src": "2565:125:0" }, { "id": 163, "nodeType": "PlaceholderStatement", - "src": "2668:1:0" + "src": "2700:1:0" } ] }, @@ -2446,7 +2446,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 165, - "src": "2453:18:0", + "src": "2485:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2457,7 +2457,7 @@ "id": 148, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "2453:7:0", + "src": "2485:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -2472,7 +2472,7 @@ "name": "transactionType", "nodeType": "VariableDeclaration", "scope": 165, - "src": "2481:31:0", + "src": "2513:31:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2485,7 +2485,7 @@ "name": "TransactionType", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 12, - "src": "2481:15:0", + "src": "2513:15:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -2495,16 +2495,16 @@ "visibility": "internal" } ], - "src": "2443:75:0" + "src": "2475:75:0" }, - "src": "2414:262:0", + "src": "2446:262:0", "visibility": "internal" }, { "body": { "id": 181, "nodeType": "Block", - "src": "2721:152:0", + "src": "2753:152:0", "statements": [ { "expression": { @@ -2530,7 +2530,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1384, - "src": "2752:3:0", + "src": "2784:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -2544,7 +2544,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "2752:10:0", + "src": "2784:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2563,7 +2563,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "2766:12:0", + "src": "2798:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -2577,7 +2577,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 167, - "src": "2779:10:0", + "src": "2811:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -2588,7 +2588,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "2766:24:0", + "src": "2798:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -2602,13 +2602,13 @@ "memberName": "buyer", "nodeType": "MemberAccess", "referencedDeclaration": 52, - "src": "2766:30:0", + "src": "2798:30:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "2752:44:0", + "src": "2784:44:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -2624,7 +2624,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "2798:47:0", + "src": "2830:47:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_b4fc72d2373e6fc668b2bc10a6c84713d84de5f4dc58bb69053e1a18ae67c2f9", @@ -2652,7 +2652,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "2731:7:0", + "src": "2763:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -2666,7 +2666,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2731:124:0", + "src": "2763:124:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -2674,12 +2674,12 @@ }, "id": 179, "nodeType": "ExpressionStatement", - "src": "2731:124:0" + "src": "2763:124:0" }, { "id": 180, "nodeType": "PlaceholderStatement", - "src": "2865:1:0" + "src": "2897:1:0" } ] }, @@ -2697,7 +2697,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 182, - "src": "2701:18:0", + "src": "2733:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2708,7 +2708,7 @@ "id": 166, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "2701:7:0", + "src": "2733:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -2718,16 +2718,16 @@ "visibility": "internal" } ], - "src": "2700:20:0" + "src": "2732:20:0" }, - "src": "2682:191:0", + "src": "2714:191:0", "visibility": "internal" }, { "body": { "id": 233, "nodeType": "Block", - "src": "4167:347:0", + "src": "4030:347:0", "statements": [ { "expression": { @@ -2740,7 +2740,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 184, - "src": "4206:5:0", + "src": "4069:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2753,7 +2753,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 186, - "src": "4225:6:0", + "src": "4088:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2766,7 +2766,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 188, - "src": "4245:9:0", + "src": "4108:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2779,7 +2779,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 190, - "src": "4268:9:0", + "src": "4131:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -2792,7 +2792,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 192, - "src": "4291:12:0", + "src": "4154:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -2805,7 +2805,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 194, - "src": "4317:10:0", + "src": "4180:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -2820,7 +2820,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1384, - "src": "4341:3:0", + "src": "4204:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -2834,7 +2834,7 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "4341:9:0", + "src": "4204:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2847,7 +2847,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 196, - "src": "4364:8:0", + "src": "4227:8:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -2862,7 +2862,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12, - "src": "4386:15:0", + "src": "4249:15:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_TransactionType_$12_$", "typeString": "type(enum Escrow_v1_0.TransactionType)" @@ -2876,7 +2876,7 @@ "memberName": "ETHER", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "4386:21:0", + "src": "4249:21:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -2895,7 +2895,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "4429:1:0", + "src": "4292:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -2917,7 +2917,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "4421:7:0", + "src": "4284:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" @@ -2932,7 +2932,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4421:10:0", + "src": "4284:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2987,7 +2987,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1210, - "src": "4177:15:0", + "src": "4040:15:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_address_$_t_uint8_$_t_uint32_$_t_bytes32_$_t_uint256_$_t_bytes20_$_t_enum$_TransactionType_$12_$_t_address_$returns$__$", "typeString": "function (address,address,address,uint8,uint32,bytes32,uint256,bytes20,enum Escrow_v1_0.TransactionType,address)" @@ -3001,7 +3001,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4177:264:0", + "src": "4040:264:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -3009,7 +3009,7 @@ }, "id": 224, "nodeType": "ExpressionStatement", - "src": "4177:264:0" + "src": "4040:264:0" }, { "eventCall": { @@ -3022,7 +3022,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 194, - "src": "4472:10:0", + "src": "4335:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -3037,7 +3037,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1384, - "src": "4484:3:0", + "src": "4347:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -3051,7 +3051,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "4484:10:0", + "src": "4347:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3066,7 +3066,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1384, - "src": "4496:3:0", + "src": "4359:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -3080,7 +3080,7 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "4496:9:0", + "src": "4359:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3107,7 +3107,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 38, - "src": "4465:6:0", + "src": "4328:6:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (bytes32,address,uint256)" @@ -3121,7 +3121,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4465:41:0", + "src": "4328:41:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -3129,11 +3129,11 @@ }, "id": 232, "nodeType": "EmitStatement", - "src": "4460:46:0" + "src": "4323:46:0" } ] }, - "documentation": "dev Add new transaction in the contract\nparam buyer The buyer of the transaction\nparam seller The seller of the listing associated with the transaction\nparam moderator Moderator for this transaction\nparam scriptHash keccak256 hash of the redeem script\nparam threshold Minimum number of singatures required to released funds\nparam timeoutHours Hours after which seller can release funds into his favour by signing transaction\nparam uniqueId bytes20 unique id for the transaction, generated by ETH wallet\nedeem Script format will be following\n\nscripthash-> keccak256(uniqueId, threshold, timeoutHours, buyer, seller, moderator)\nass amount of the ethers to be put in escrow\nlease keep in mind you will have to add moderator fees also in the value", + "documentation": "dev Add new transaction in the contract\nparam buyer The buyer of the transaction\nparam seller The seller of the listing associated with the transaction\nparam moderator Moderator for this transaction\nparam scriptHash keccak256 hash of the redeem script\nparam threshold Minimum number of singatures required to released funds\nparam timeoutHours Hours after which seller can release funds into his favour by signing transaction\nparam uniqueId bytes20 unique id for the transaction, generated by ETH wallet\nedeem Script format will be following\n\nass amount of the ethers to be put in escrow", "id": 234, "implemented": true, "isConstructor": false, @@ -3148,7 +3148,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 194, - "src": "4090:10:0", + "src": "3953:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -3163,14 +3163,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 115, - "src": "4065:24:0", + "src": "3928:24:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "4065:36:0" + "src": "3928:36:0" }, { "arguments": [ @@ -3181,7 +3181,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 184, - "src": "4125:5:0", + "src": "3988:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3196,14 +3196,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 147, - "src": "4110:14:0", + "src": "3973:14:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_address_$", "typeString": "modifier (address)" } }, "nodeType": "ModifierInvocation", - "src": "4110:21:0" + "src": "3973:21:0" }, { "arguments": [ @@ -3214,7 +3214,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 186, - "src": "4155:6:0", + "src": "4018:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3229,14 +3229,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 147, - "src": "4140:14:0", + "src": "4003:14:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_address_$", "typeString": "modifier (address)" } }, "nodeType": "ModifierInvocation", - "src": "4140:22:0" + "src": "4003:22:0" } ], "name": "addTransaction", @@ -3251,7 +3251,7 @@ "name": "buyer", "nodeType": "VariableDeclaration", "scope": 234, - "src": "3845:13:0", + "src": "3708:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3262,7 +3262,7 @@ "id": 183, "name": "address", "nodeType": "ElementaryTypeName", - "src": "3845:7:0", + "src": "3708:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3277,7 +3277,7 @@ "name": "seller", "nodeType": "VariableDeclaration", "scope": 234, - "src": "3868:14:0", + "src": "3731:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3288,7 +3288,7 @@ "id": 185, "name": "address", "nodeType": "ElementaryTypeName", - "src": "3868:7:0", + "src": "3731:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3303,7 +3303,7 @@ "name": "moderator", "nodeType": "VariableDeclaration", "scope": 234, - "src": "3892:17:0", + "src": "3755:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3314,7 +3314,7 @@ "id": 187, "name": "address", "nodeType": "ElementaryTypeName", - "src": "3892:7:0", + "src": "3755:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3329,7 +3329,7 @@ "name": "threshold", "nodeType": "VariableDeclaration", "scope": 234, - "src": "3919:15:0", + "src": "3782:15:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3340,7 +3340,7 @@ "id": 189, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "3919:5:0", + "src": "3782:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -3355,7 +3355,7 @@ "name": "timeoutHours", "nodeType": "VariableDeclaration", "scope": 234, - "src": "3944:19:0", + "src": "3807:19:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3366,7 +3366,7 @@ "id": 191, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "3944:6:0", + "src": "3807:6:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -3381,7 +3381,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 234, - "src": "3973:18:0", + "src": "3836:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3392,7 +3392,7 @@ "id": 193, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "3973:7:0", + "src": "3836:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -3407,7 +3407,7 @@ "name": "uniqueId", "nodeType": "VariableDeclaration", "scope": 234, - "src": "4001:16:0", + "src": "3864:16:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3418,7 +3418,7 @@ "id": 195, "name": "bytes20", "nodeType": "ElementaryTypeName", - "src": "4001:7:0", + "src": "3864:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -3428,17 +3428,17 @@ "visibility": "internal" } ], - "src": "3835:188:0" + "src": "3698:188:0" }, "payable": true, "returnParameters": { "id": 207, "nodeType": "ParameterList", "parameters": [], - "src": "4167:0:0" + "src": "4030:0:0" }, "scope": 1211, - "src": "3812:702:0", + "src": "3675:702:0", "stateMutability": "payable", "superFunction": null, "visibility": "external" @@ -3447,7 +3447,7 @@ "body": { "id": 305, "nodeType": "Block", - "src": "6048:587:0", + "src": "5728:587:0", "statements": [ { "expression": { @@ -3460,7 +3460,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 236, - "src": "6088:5:0", + "src": "5768:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3473,7 +3473,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 238, - "src": "6107:6:0", + "src": "5787:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3486,7 +3486,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 240, - "src": "6127:9:0", + "src": "5807:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3499,7 +3499,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 242, - "src": "6150:9:0", + "src": "5830:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -3512,7 +3512,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 244, - "src": "6173:12:0", + "src": "5853:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -3525,7 +3525,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 246, - "src": "6199:10:0", + "src": "5879:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -3538,7 +3538,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 248, - "src": "6223:5:0", + "src": "5903:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3551,7 +3551,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 250, - "src": "6242:8:0", + "src": "5922:8:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -3566,7 +3566,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12, - "src": "6264:15:0", + "src": "5944:15:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_TransactionType_$12_$", "typeString": "type(enum Escrow_v1_0.TransactionType)" @@ -3580,7 +3580,7 @@ "memberName": "TOKEN", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "6264:21:0", + "src": "5944:21:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -3593,7 +3593,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 252, - "src": "6299:12:0", + "src": "5979:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3648,7 +3648,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1210, - "src": "6059:15:0", + "src": "5739:15:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_address_$_t_uint8_$_t_uint32_$_t_bytes32_$_t_uint256_$_t_bytes20_$_t_enum$_TransactionType_$12_$_t_address_$returns$__$", "typeString": "function (address,address,address,uint8,uint32,bytes32,uint256,bytes20,enum Escrow_v1_0.TransactionType,address)" @@ -3662,7 +3662,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6059:262:0", + "src": "5739:262:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -3670,7 +3670,7 @@ }, "id": 280, "nodeType": "ExpressionStatement", - "src": "6059:262:0" + "src": "5739:262:0" }, { "assignments": [ @@ -3683,7 +3683,7 @@ "name": "token", "nodeType": "VariableDeclaration", "scope": 306, - "src": "6332:20:0", + "src": "6012:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3696,7 +3696,7 @@ "name": "ITokenContract", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 1241, - "src": "6332:14:0", + "src": "6012:14:0", "typeDescriptions": { "typeIdentifier": "t_contract$_ITokenContract_$1241", "typeString": "contract ITokenContract" @@ -3717,7 +3717,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 252, - "src": "6370:12:0", + "src": "6050:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3736,7 +3736,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1241, - "src": "6355:14:0", + "src": "6035:14:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_ITokenContract_$1241_$", "typeString": "type(contract ITokenContract)" @@ -3750,14 +3750,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6355:28:0", + "src": "6035:28:0", "typeDescriptions": { "typeIdentifier": "t_contract$_ITokenContract_$1241", "typeString": "contract ITokenContract" } }, "nodeType": "VariableDeclarationStatement", - "src": "6332:51:0" + "src": "6012:51:0" }, { "expression": { @@ -3775,7 +3775,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1384, - "src": "6434:3:0", + "src": "6114:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -3789,7 +3789,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "6434:10:0", + "src": "6114:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3802,7 +3802,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1401, - "src": "6446:4:0", + "src": "6126:4:0", "typeDescriptions": { "typeIdentifier": "t_contract$_Escrow_v1_0_$1211", "typeString": "contract Escrow_v1_0" @@ -3815,7 +3815,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 248, - "src": "6452:5:0", + "src": "6132:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3844,7 +3844,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 282, - "src": "6415:5:0", + "src": "6095:5:0", "typeDescriptions": { "typeIdentifier": "t_contract$_ITokenContract_$1241", "typeString": "contract ITokenContract" @@ -3858,7 +3858,7 @@ "memberName": "transferFrom", "nodeType": "MemberAccess", "referencedDeclaration": 1240, - "src": "6415:18:0", + "src": "6095:18:0", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", "typeString": "function (address,address,uint256) external returns (bool)" @@ -3872,7 +3872,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6415:43:0", + "src": "6095:43:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -3888,7 +3888,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "6472:94:0", + "src": "6152:94:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_d9d07068d589bc4adc53018a3c57c159ec128fdfb62732a5fa9410e76cf03318", @@ -3916,7 +3916,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "6394:7:0", + "src": "6074:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -3930,7 +3930,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6394:182:0", + "src": "6074:182:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -3938,7 +3938,7 @@ }, "id": 297, "nodeType": "ExpressionStatement", - "src": "6394:182:0" + "src": "6074:182:0" }, { "eventCall": { @@ -3951,7 +3951,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 246, - "src": "6598:10:0", + "src": "6278:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -3966,7 +3966,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1384, - "src": "6610:3:0", + "src": "6290:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -3980,7 +3980,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "6610:10:0", + "src": "6290:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3993,7 +3993,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 248, - "src": "6622:5:0", + "src": "6302:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4020,7 +4020,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 38, - "src": "6591:6:0", + "src": "6271:6:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (bytes32,address,uint256)" @@ -4034,7 +4034,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6591:37:0", + "src": "6271:37:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -4042,11 +4042,11 @@ }, "id": 304, "nodeType": "EmitStatement", - "src": "6586:42:0" + "src": "6266:42:0" } ] }, - "documentation": "dev Add new transaction in the contract\nparam buyer The buyer of the transaction\nparam seller The seller of the listing associated with the transaction\nparam moderator Moderator for this transaction\nparam scriptHash keccak256 hash of the redeem script\nparam threshold Minimum number of singatures required to released funds\nparam timeoutHours Hours after which seller can release funds into his favour by signing transaction\nparam value Amount of tokens to be put in escrow\nparam uniqueId bytes20 unique id for the transaction, generated by ETH wallet\nparam tokenAddress Address of the token to be used\nedeem Script format will be following\n\nscripthash-> keccak256(uniqueId, threshold, timeoutHours, buyer, seller, moderator, tokenAddress)\npprove escrow contract to spend amount of token on your behalf\nlease keep in mind you will have to add moderator fees also in the value", + "documentation": "dev Add new transaction in the contract\nparam buyer The buyer of the transaction\nparam seller The seller of the listing associated with the transaction\nparam moderator Moderator for this transaction\nparam scriptHash keccak256 hash of the redeem script\nparam threshold Minimum number of singatures required to released funds\nparam timeoutHours Hours after which seller can release funds into his favour by signing transaction\nparam value Amount of tokens to be put in escrow\nparam uniqueId bytes20 unique id for the transaction, generated by ETH wallet\nparam tokenAddress Address of the token to be used\nedeem Script format will be following\n\npprove escrow contract to spend amount of token on your behalf", "id": 306, "implemented": true, "isConstructor": false, @@ -4061,7 +4061,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 246, - "src": "5934:10:0", + "src": "5614:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -4076,14 +4076,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 115, - "src": "5909:24:0", + "src": "5589:24:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "5909:36:0" + "src": "5589:36:0" }, { "arguments": [ @@ -4094,7 +4094,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 236, - "src": "5969:5:0", + "src": "5649:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4109,14 +4109,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 147, - "src": "5954:14:0", + "src": "5634:14:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_address_$", "typeString": "modifier (address)" } }, "nodeType": "ModifierInvocation", - "src": "5954:21:0" + "src": "5634:21:0" }, { "arguments": [ @@ -4127,7 +4127,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 238, - "src": "5999:6:0", + "src": "5679:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4142,14 +4142,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 147, - "src": "5984:14:0", + "src": "5664:14:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_address_$", "typeString": "modifier (address)" } }, "nodeType": "ModifierInvocation", - "src": "5984:22:0" + "src": "5664:22:0" }, { "arguments": [ @@ -4160,7 +4160,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 252, - "src": "6030:12:0", + "src": "5710:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4175,14 +4175,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 147, - "src": "6015:14:0", + "src": "5695:14:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_address_$", "typeString": "modifier (address)" } }, "nodeType": "ModifierInvocation", - "src": "6015:28:0" + "src": "5695:28:0" } ], "name": "addTokenTransaction", @@ -4197,7 +4197,7 @@ "name": "buyer", "nodeType": "VariableDeclaration", "scope": 306, - "src": "5652:13:0", + "src": "5332:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4208,7 +4208,7 @@ "id": 235, "name": "address", "nodeType": "ElementaryTypeName", - "src": "5652:7:0", + "src": "5332:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4223,7 +4223,7 @@ "name": "seller", "nodeType": "VariableDeclaration", "scope": 306, - "src": "5675:14:0", + "src": "5355:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4234,7 +4234,7 @@ "id": 237, "name": "address", "nodeType": "ElementaryTypeName", - "src": "5675:7:0", + "src": "5355:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4249,7 +4249,7 @@ "name": "moderator", "nodeType": "VariableDeclaration", "scope": 306, - "src": "5699:17:0", + "src": "5379:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4260,7 +4260,7 @@ "id": 239, "name": "address", "nodeType": "ElementaryTypeName", - "src": "5699:7:0", + "src": "5379:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4275,7 +4275,7 @@ "name": "threshold", "nodeType": "VariableDeclaration", "scope": 306, - "src": "5726:15:0", + "src": "5406:15:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4286,7 +4286,7 @@ "id": 241, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "5726:5:0", + "src": "5406:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -4301,7 +4301,7 @@ "name": "timeoutHours", "nodeType": "VariableDeclaration", "scope": 306, - "src": "5751:19:0", + "src": "5431:19:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4312,7 +4312,7 @@ "id": 243, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "5751:6:0", + "src": "5431:6:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -4327,7 +4327,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 306, - "src": "5780:18:0", + "src": "5460:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4338,7 +4338,7 @@ "id": 245, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "5780:7:0", + "src": "5460:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -4353,7 +4353,7 @@ "name": "value", "nodeType": "VariableDeclaration", "scope": 306, - "src": "5808:13:0", + "src": "5488:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4364,7 +4364,7 @@ "id": 247, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "5808:7:0", + "src": "5488:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4379,7 +4379,7 @@ "name": "uniqueId", "nodeType": "VariableDeclaration", "scope": 306, - "src": "5831:16:0", + "src": "5511:16:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4390,7 +4390,7 @@ "id": 249, "name": "bytes20", "nodeType": "ElementaryTypeName", - "src": "5831:7:0", + "src": "5511:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -4405,7 +4405,7 @@ "name": "tokenAddress", "nodeType": "VariableDeclaration", "scope": 306, - "src": "5857:20:0", + "src": "5537:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4416,7 +4416,7 @@ "id": 251, "name": "address", "nodeType": "ElementaryTypeName", - "src": "5857:7:0", + "src": "5537:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4426,17 +4426,17 @@ "visibility": "internal" } ], - "src": "5642:241:0" + "src": "5322:241:0" }, "payable": false, "returnParameters": { "id": 266, "nodeType": "ParameterList", "parameters": [], - "src": "6048:0:0" + "src": "5728:0:0" }, "scope": 1211, - "src": "5614:1021:0", + "src": "5294:1021:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" @@ -4445,7 +4445,7 @@ "body": { "id": 322, "nodeType": "Block", - "src": "7005:75:0", + "src": "6685:75:0", "statements": [ { "expression": { @@ -4461,7 +4461,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "7022:12:0", + "src": "6702:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -4475,7 +4475,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 308, - "src": "7035:10:0", + "src": "6715:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -4486,7 +4486,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "7022:24:0", + "src": "6702:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -4500,7 +4500,7 @@ "memberName": "beneficiaries", "nodeType": "MemberAccess", "referencedDeclaration": 70, - "src": "7022:38:0", + "src": "6702:38:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -4514,7 +4514,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 310, - "src": "7061:11:0", + "src": "6741:11:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4525,7 +4525,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "7022:51:0", + "src": "6702:51:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -4534,7 +4534,7 @@ "functionReturnParameters": 314, "id": 321, "nodeType": "Return", - "src": "7015:58:0" + "src": "6695:58:0" } ] }, @@ -4556,7 +4556,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 323, - "src": "6894:18:0", + "src": "6574:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4567,7 +4567,7 @@ "id": 307, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "6894:7:0", + "src": "6574:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -4582,7 +4582,7 @@ "name": "beneficiary", "nodeType": "VariableDeclaration", "scope": 323, - "src": "6922:19:0", + "src": "6602:19:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4593,7 +4593,7 @@ "id": 309, "name": "address", "nodeType": "ElementaryTypeName", - "src": "6922:7:0", + "src": "6602:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4603,7 +4603,7 @@ "visibility": "internal" } ], - "src": "6884:63:0" + "src": "6564:63:0" }, "payable": false, "returnParameters": { @@ -4616,7 +4616,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 323, - "src": "6995:4:0", + "src": "6675:4:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4627,7 +4627,7 @@ "id": 312, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "6995:4:0", + "src": "6675:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -4637,10 +4637,10 @@ "visibility": "internal" } ], - "src": "6994:6:0" + "src": "6674:6:0" }, "scope": 1211, - "src": "6859:221:0", + "src": "6539:221:0", "stateMutability": "view", "superFunction": null, "visibility": "external" @@ -4649,7 +4649,7 @@ "body": { "id": 339, "nodeType": "Block", - "src": "7436:61:0", + "src": "7116:61:0", "statements": [ { "expression": { @@ -4665,7 +4665,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "7453:12:0", + "src": "7133:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -4679,7 +4679,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 325, - "src": "7466:10:0", + "src": "7146:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -4690,7 +4690,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "7453:24:0", + "src": "7133:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -4704,7 +4704,7 @@ "memberName": "voted", "nodeType": "MemberAccess", "referencedDeclaration": 66, - "src": "7453:30:0", + "src": "7133:30:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -4718,7 +4718,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 327, - "src": "7484:5:0", + "src": "7164:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4729,7 +4729,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "7453:37:0", + "src": "7133:37:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -4738,7 +4738,7 @@ "functionReturnParameters": 331, "id": 338, "nodeType": "Return", - "src": "7446:44:0" + "src": "7126:44:0" } ] }, @@ -4760,7 +4760,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 340, - "src": "7331:18:0", + "src": "7011:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4771,7 +4771,7 @@ "id": 324, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "7331:7:0", + "src": "7011:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -4786,7 +4786,7 @@ "name": "party", "nodeType": "VariableDeclaration", "scope": 340, - "src": "7359:13:0", + "src": "7039:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4797,7 +4797,7 @@ "id": 326, "name": "address", "nodeType": "ElementaryTypeName", - "src": "7359:7:0", + "src": "7039:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4807,7 +4807,7 @@ "visibility": "internal" } ], - "src": "7321:57:0" + "src": "7001:57:0" }, "payable": false, "returnParameters": { @@ -4820,7 +4820,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 340, - "src": "7426:4:0", + "src": "7106:4:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4831,7 +4831,7 @@ "id": 329, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "7426:4:0", + "src": "7106:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -4841,10 +4841,10 @@ "visibility": "internal" } ], - "src": "7425:6:0" + "src": "7105:6:0" }, "scope": 1211, - "src": "7303:194:0", + "src": "6983:194:0", "stateMutability": "view", "superFunction": null, "visibility": "external" @@ -4853,7 +4853,7 @@ "body": { "id": 399, "nodeType": "Block", - "src": "8083:330:0", + "src": "7781:330:0", "statements": [ { "assignments": [ @@ -4866,7 +4866,7 @@ "name": "_value", "nodeType": "VariableDeclaration", "scope": 400, - "src": "8093:14:0", + "src": "7791:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4877,7 +4877,7 @@ "id": 359, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "8093:7:0", + "src": "7791:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4897,7 +4897,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1384, - "src": "8110:3:0", + "src": "7808:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -4911,14 +4911,14 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "8110:9:0", + "src": "7808:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "8093:26:0" + "src": "7791:26:0" }, { "expression": { @@ -4942,7 +4942,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 360, - "src": "8138:6:0", + "src": "7836:6:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4960,7 +4960,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "8147:1:0", + "src": "7845:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -4968,7 +4968,7 @@ }, "value": "0" }, - "src": "8138:10:0", + "src": "7836:10:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -4984,7 +4984,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "8150:34:0", + "src": "7848:34:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_21fbec2be6560b9ccffc4980d43c0d147770168e7aaf24999b418b9010085622", @@ -5012,7 +5012,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "8130:7:0", + "src": "7828:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -5026,7 +5026,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8130:55:0", + "src": "7828:55:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -5034,7 +5034,7 @@ }, "id": 370, "nodeType": "ExpressionStatement", - "src": "8130:55:0" + "src": "7828:55:0" }, { "expression": { @@ -5055,7 +5055,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "8196:12:0", + "src": "7894:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -5069,7 +5069,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 342, - "src": "8209:10:0", + "src": "7907:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -5080,7 +5080,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "8196:24:0", + "src": "7894:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -5094,7 +5094,7 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": 40, - "src": "8196:30:0", + "src": "7894:30:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5112,7 +5112,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 360, - "src": "8277:6:0", + "src": "7975:6:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5137,7 +5137,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "8229:12:0", + "src": "7927:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -5151,7 +5151,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 342, - "src": "8242:10:0", + "src": "7940:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -5162,7 +5162,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "8229:24:0", + "src": "7927:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -5176,7 +5176,7 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": 40, - "src": "8229:30:0", + "src": "7927:30:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5190,7 +5190,7 @@ "memberName": "add", "nodeType": "MemberAccess", "referencedDeclaration": 1348, - "src": "8229:47:0", + "src": "7927:47:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" @@ -5204,13 +5204,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8229:55:0", + "src": "7927:55:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "8196:88:0", + "src": "7894:88:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5218,7 +5218,7 @@ }, "id": 383, "nodeType": "ExpressionStatement", - "src": "8196:88:0" + "src": "7894:88:0" }, { "expression": { @@ -5239,7 +5239,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "8294:12:0", + "src": "7992:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -5253,7 +5253,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 342, - "src": "8307:10:0", + "src": "8005:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -5264,7 +5264,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "8294:24:0", + "src": "7992:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -5278,7 +5278,7 @@ "memberName": "lastModified", "nodeType": "MemberAccess", "referencedDeclaration": 42, - "src": "8294:37:0", + "src": "7992:37:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5295,7 +5295,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1374, - "src": "8334:5:0", + "src": "8032:5:0", "typeDescriptions": { "typeIdentifier": "t_magic_block", "typeString": "block" @@ -5309,13 +5309,13 @@ "memberName": "timestamp", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "8334:15:0", + "src": "8032:15:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "8294:55:0", + "src": "7992:55:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5323,7 +5323,7 @@ }, "id": 391, "nodeType": "ExpressionStatement", - "src": "8294:55:0" + "src": "7992:55:0" }, { "eventCall": { @@ -5336,7 +5336,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 342, - "src": "8375:10:0", + "src": "8073:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -5351,7 +5351,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1384, - "src": "8387:3:0", + "src": "8085:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -5365,7 +5365,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "8387:10:0", + "src": "8085:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -5378,7 +5378,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 360, - "src": "8399:6:0", + "src": "8097:6:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5405,7 +5405,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 30, - "src": "8365:9:0", + "src": "8063:9:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (bytes32,address,uint256)" @@ -5419,7 +5419,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8365:41:0", + "src": "8063:41:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -5427,11 +5427,11 @@ }, "id": 398, "nodeType": "EmitStatement", - "src": "8360:46:0" + "src": "8058:46:0" } ] }, - "documentation": "dev Allows buyer of the transaction to add more funds(ether) in the transaction. This will help to cater scenarios wherein initially buyer missed to fund transaction as required\nparam scriptHash script hash of the transaction\nOnly buyer of the transaction can invoke this method", + "documentation": "@dev Allows buyer of the transaction to add more funds(ether) in the transaction. \nThis will help to cater scenarios wherein initially buyer missed to fund transaction as required\n@param scriptHash script hash of the transaction\nOnly buyer of the transaction can invoke this method", "id": 400, "implemented": true, "isConstructor": false, @@ -5446,7 +5446,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 342, - "src": "7923:10:0", + "src": "7628:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -5461,14 +5461,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 99, - "src": "7905:17:0", + "src": "7610:17:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "7905:29:0" + "src": "7610:29:0" }, { "arguments": [ @@ -5479,7 +5479,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 342, - "src": "7957:10:0", + "src": "7662:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -5494,14 +5494,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 132, - "src": "7943:13:0", + "src": "7648:13:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "7943:25:0" + "src": "7648:25:0" }, { "arguments": [ @@ -5512,7 +5512,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 342, - "src": "7998:10:0", + "src": "7703:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -5527,7 +5527,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12, - "src": "8010:15:0", + "src": "7715:15:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_TransactionType_$12_$", "typeString": "type(enum Escrow_v1_0.TransactionType)" @@ -5541,7 +5541,7 @@ "memberName": "ETHER", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "8010:21:0", + "src": "7715:21:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -5556,14 +5556,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 165, - "src": "7977:20:0", + "src": "7682:20:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$_t_enum$_TransactionType_$12_$", "typeString": "modifier (bytes32,enum Escrow_v1_0.TransactionType)" } }, "nodeType": "ModifierInvocation", - "src": "7977:55:0" + "src": "7682:55:0" }, { "arguments": [ @@ -5574,7 +5574,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 342, - "src": "8051:10:0", + "src": "7756:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -5589,14 +5589,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 182, - "src": "8041:9:0", + "src": "7746:9:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "8041:21:0" + "src": "7746:21:0" } ], "name": "addFundsToTransaction", @@ -5611,7 +5611,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 400, - "src": "7855:18:0", + "src": "7544:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5622,7 +5622,7 @@ "id": 341, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "7855:7:0", + "src": "7544:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -5632,17 +5632,17 @@ "visibility": "internal" } ], - "src": "7845:34:0" + "src": "7534:34:0" }, "payable": true, "returnParameters": { "id": 358, "nodeType": "ParameterList", "parameters": [], - "src": "8083:0:0" + "src": "7781:0:0" }, "scope": 1211, - "src": "7815:598:0", + "src": "7504:607:0", "stateMutability": "payable", "superFunction": null, "visibility": "external" @@ -5651,7 +5651,7 @@ "body": { "id": 482, "nodeType": "Block", - "src": "8949:648:0", + "src": "8656:648:0", "statements": [ { "assignments": [ @@ -5664,7 +5664,7 @@ "name": "_value", "nodeType": "VariableDeclaration", "scope": 483, - "src": "8959:14:0", + "src": "8666:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5675,7 +5675,7 @@ "id": 421, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "8959:7:0", + "src": "8666:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5693,14 +5693,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 404, - "src": "8976:5:0", + "src": "8683:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "8959:22:0" + "src": "8666:22:0" }, { "expression": { @@ -5724,7 +5724,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 422, - "src": "9000:6:0", + "src": "8707:6:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5742,7 +5742,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "9009:1:0", + "src": "8716:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -5750,7 +5750,7 @@ }, "value": "0" }, - "src": "9000:10:0", + "src": "8707:10:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -5766,7 +5766,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "9012:34:0", + "src": "8719:34:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_21fbec2be6560b9ccffc4980d43c0d147770168e7aaf24999b418b9010085622", @@ -5794,7 +5794,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "8992:7:0", + "src": "8699:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -5808,7 +5808,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8992:55:0", + "src": "8699:55:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -5816,7 +5816,7 @@ }, "id": 431, "nodeType": "ExpressionStatement", - "src": "8992:55:0" + "src": "8699:55:0" }, { "assignments": [ @@ -5829,7 +5829,7 @@ "name": "token", "nodeType": "VariableDeclaration", "scope": 483, - "src": "9058:20:0", + "src": "8765:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5842,7 +5842,7 @@ "name": "ITokenContract", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 1241, - "src": "9058:14:0", + "src": "8765:14:0", "typeDescriptions": { "typeIdentifier": "t_contract$_ITokenContract_$1241", "typeString": "contract ITokenContract" @@ -5867,7 +5867,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "9109:12:0", + "src": "8816:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -5881,7 +5881,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 402, - "src": "9122:10:0", + "src": "8829:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -5892,7 +5892,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "9109:24:0", + "src": "8816:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -5906,7 +5906,7 @@ "memberName": "tokenAddress", "nodeType": "MemberAccess", "referencedDeclaration": 56, - "src": "9109:37:0", + "src": "8816:37:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -5925,7 +5925,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1241, - "src": "9081:14:0", + "src": "8788:14:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_ITokenContract_$1241_$", "typeString": "type(contract ITokenContract)" @@ -5939,14 +5939,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "9081:75:0", + "src": "8788:75:0", "typeDescriptions": { "typeIdentifier": "t_contract$_ITokenContract_$1241", "typeString": "contract ITokenContract" } }, "nodeType": "VariableDeclarationStatement", - "src": "9058:98:0" + "src": "8765:98:0" }, { "expression": { @@ -5966,7 +5966,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "9207:12:0", + "src": "8914:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -5980,7 +5980,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 402, - "src": "9220:10:0", + "src": "8927:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -5991,7 +5991,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "9207:24:0", + "src": "8914:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -6005,7 +6005,7 @@ "memberName": "buyer", "nodeType": "MemberAccess", "referencedDeclaration": 52, - "src": "9207:30:0", + "src": "8914:30:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -6018,7 +6018,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1401, - "src": "9239:4:0", + "src": "8946:4:0", "typeDescriptions": { "typeIdentifier": "t_contract$_Escrow_v1_0_$1211", "typeString": "contract Escrow_v1_0" @@ -6031,7 +6031,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 404, - "src": "9245:5:0", + "src": "8952:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6060,7 +6060,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 433, - "src": "9188:5:0", + "src": "8895:5:0", "typeDescriptions": { "typeIdentifier": "t_contract$_ITokenContract_$1241", "typeString": "contract ITokenContract" @@ -6074,7 +6074,7 @@ "memberName": "transferFrom", "nodeType": "MemberAccess", "referencedDeclaration": 1240, - "src": "9188:18:0", + "src": "8895:18:0", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", "typeString": "function (address,address,uint256) external returns (bool)" @@ -6088,7 +6088,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "9188:63:0", + "src": "8895:63:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -6104,7 +6104,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "9265:94:0", + "src": "8972:94:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_d9d07068d589bc4adc53018a3c57c159ec128fdfb62732a5fa9410e76cf03318", @@ -6132,7 +6132,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "9167:7:0", + "src": "8874:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -6146,7 +6146,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "9167:202:0", + "src": "8874:202:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -6154,7 +6154,7 @@ }, "id": 453, "nodeType": "ExpressionStatement", - "src": "9167:202:0" + "src": "8874:202:0" }, { "expression": { @@ -6175,7 +6175,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "9380:12:0", + "src": "9087:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -6189,7 +6189,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 402, - "src": "9393:10:0", + "src": "9100:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -6200,7 +6200,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "9380:24:0", + "src": "9087:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -6214,7 +6214,7 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": 40, - "src": "9380:30:0", + "src": "9087:30:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6232,7 +6232,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 422, - "src": "9461:6:0", + "src": "9168:6:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6257,7 +6257,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "9413:12:0", + "src": "9120:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -6271,7 +6271,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 402, - "src": "9426:10:0", + "src": "9133:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -6282,7 +6282,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "9413:24:0", + "src": "9120:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -6296,7 +6296,7 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": 40, - "src": "9413:30:0", + "src": "9120:30:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6310,7 +6310,7 @@ "memberName": "add", "nodeType": "MemberAccess", "referencedDeclaration": 1348, - "src": "9413:47:0", + "src": "9120:47:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" @@ -6324,13 +6324,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "9413:55:0", + "src": "9120:55:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "9380:88:0", + "src": "9087:88:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6338,7 +6338,7 @@ }, "id": 466, "nodeType": "ExpressionStatement", - "src": "9380:88:0" + "src": "9087:88:0" }, { "expression": { @@ -6359,7 +6359,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "9478:12:0", + "src": "9185:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -6373,7 +6373,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 402, - "src": "9491:10:0", + "src": "9198:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -6384,7 +6384,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "9478:24:0", + "src": "9185:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -6398,7 +6398,7 @@ "memberName": "lastModified", "nodeType": "MemberAccess", "referencedDeclaration": 42, - "src": "9478:37:0", + "src": "9185:37:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6415,7 +6415,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1374, - "src": "9518:5:0", + "src": "9225:5:0", "typeDescriptions": { "typeIdentifier": "t_magic_block", "typeString": "block" @@ -6429,13 +6429,13 @@ "memberName": "timestamp", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "9518:15:0", + "src": "9225:15:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "9478:55:0", + "src": "9185:55:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6443,7 +6443,7 @@ }, "id": 474, "nodeType": "ExpressionStatement", - "src": "9478:55:0" + "src": "9185:55:0" }, { "eventCall": { @@ -6456,7 +6456,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 402, - "src": "9559:10:0", + "src": "9266:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -6471,7 +6471,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1384, - "src": "9571:3:0", + "src": "9278:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -6485,7 +6485,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "9571:10:0", + "src": "9278:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -6498,7 +6498,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 422, - "src": "9583:6:0", + "src": "9290:6:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6525,7 +6525,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 30, - "src": "9549:9:0", + "src": "9256:9:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (bytes32,address,uint256)" @@ -6539,7 +6539,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "9549:41:0", + "src": "9256:41:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -6547,11 +6547,11 @@ }, "id": 481, "nodeType": "EmitStatement", - "src": "9544:46:0" + "src": "9251:46:0" } ] }, - "documentation": "dev Allows buyer of the transaction to add more funds(Tokens) in the transaction. This will help to cater scenarios wherein initially buyer missed to fund transaction as required\nparam scriptHash script hash of the transaction", + "documentation": "@dev Allows buyer of the transaction to add more funds(Tokens) in the transaction. \nThis will help to cater scenarios wherein initially buyer missed to fund transaction as required\n@param scriptHash script hash of the transaction", "id": 483, "implemented": true, "isConstructor": false, @@ -6566,7 +6566,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 402, - "src": "8805:10:0", + "src": "8512:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -6581,14 +6581,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 99, - "src": "8787:17:0", + "src": "8494:17:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "8787:29:0" + "src": "8494:29:0" }, { "arguments": [ @@ -6599,7 +6599,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 402, - "src": "8839:10:0", + "src": "8546:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -6614,14 +6614,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 132, - "src": "8825:13:0", + "src": "8532:13:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "8825:25:0" + "src": "8532:25:0" }, { "arguments": [ @@ -6632,7 +6632,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 402, - "src": "8880:10:0", + "src": "8587:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -6647,7 +6647,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12, - "src": "8892:15:0", + "src": "8599:15:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_TransactionType_$12_$", "typeString": "type(enum Escrow_v1_0.TransactionType)" @@ -6661,7 +6661,7 @@ "memberName": "TOKEN", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "8892:21:0", + "src": "8599:21:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -6676,14 +6676,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 165, - "src": "8859:20:0", + "src": "8566:20:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$_t_enum$_TransactionType_$12_$", "typeString": "modifier (bytes32,enum Escrow_v1_0.TransactionType)" } }, "nodeType": "ModifierInvocation", - "src": "8859:55:0" + "src": "8566:55:0" }, { "arguments": [ @@ -6694,7 +6694,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 402, - "src": "8933:10:0", + "src": "8640:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -6709,14 +6709,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 182, - "src": "8923:9:0", + "src": "8630:9:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "8923:21:0" + "src": "8630:21:0" } ], "name": "addTokensToTransaction", @@ -6731,7 +6731,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 483, - "src": "8714:18:0", + "src": "8421:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6742,7 +6742,7 @@ "id": 401, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "8714:7:0", + "src": "8421:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -6757,7 +6757,7 @@ "name": "value", "nodeType": "VariableDeclaration", "scope": 483, - "src": "8742:13:0", + "src": "8449:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6768,7 +6768,7 @@ "id": 403, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "8742:7:0", + "src": "8449:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6778,17 +6778,17 @@ "visibility": "internal" } ], - "src": "8704:57:0" + "src": "8411:57:0" }, "payable": false, "returnParameters": { "id": 420, "nodeType": "ParameterList", "parameters": [], - "src": "8949:0:0" + "src": "8656:0:0" }, "scope": 1211, - "src": "8673:924:0", + "src": "8380:924:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" @@ -6797,7 +6797,7 @@ "body": { "id": 495, "nodeType": "Block", - "src": "9852:56:0", + "src": "9559:56:0", "statements": [ { "expression": { @@ -6809,7 +6809,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 83, - "src": "9869:18:0", + "src": "9576:18:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_bytes32_$dyn_storage_$", "typeString": "mapping(address => bytes32[] storage ref)" @@ -6823,7 +6823,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 485, - "src": "9888:12:0", + "src": "9595:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -6834,7 +6834,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "9869:32:0", + "src": "9576:32:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage", "typeString": "bytes32[] storage ref" @@ -6843,7 +6843,7 @@ "functionReturnParameters": 490, "id": 494, "nodeType": "Return", - "src": "9862:39:0" + "src": "9569:39:0" } ] }, @@ -6865,7 +6865,7 @@ "name": "partyAddress", "nodeType": "VariableDeclaration", "scope": 496, - "src": "9759:20:0", + "src": "9466:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6876,7 +6876,7 @@ "id": 484, "name": "address", "nodeType": "ElementaryTypeName", - "src": "9759:7:0", + "src": "9466:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -6886,7 +6886,7 @@ "visibility": "internal" } ], - "src": "9749:36:0" + "src": "9456:36:0" }, "payable": false, "returnParameters": { @@ -6899,7 +6899,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 496, - "src": "9836:9:0", + "src": "9543:9:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6911,7 +6911,7 @@ "id": 487, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "9836:7:0", + "src": "9543:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -6920,7 +6920,7 @@ "id": 488, "length": null, "nodeType": "ArrayTypeName", - "src": "9836:9:0", + "src": "9543:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -6930,10 +6930,10 @@ "visibility": "internal" } ], - "src": "9835:11:0" + "src": "9542:11:0" }, "scope": 1211, - "src": "9714:194:0", + "src": "9421:194:0", "stateMutability": "view", "superFunction": null, "visibility": "external" @@ -6942,7 +6942,7 @@ "body": { "id": 581, "nodeType": "Block", - "src": "10891:790:0", + "src": "10479:790:0", "statements": [ { "expression": { @@ -6979,7 +6979,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 510, - "src": "10922:12:0", + "src": "10510:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" @@ -6993,7 +6993,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "10922:19:0", + "src": "10510:19:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7011,7 +7011,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "10942:1:0", + "src": "10530:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -7019,7 +7019,7 @@ }, "value": "0" }, - "src": "10922:21:0", + "src": "10510:21:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -7047,7 +7047,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 510, - "src": "10947:12:0", + "src": "10535:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" @@ -7061,7 +7061,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "10947:19:0", + "src": "10535:19:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7078,7 +7078,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 513, - "src": "10970:7:0", + "src": "10558:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", "typeString": "uint256[] calldata" @@ -7092,19 +7092,19 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "10970:14:0", + "src": "10558:14:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "10947:37:0", + "src": "10535:37:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "10922:62:0", + "src": "10510:62:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -7120,7 +7120,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "10986:38:0", + "src": "10574:38:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_53e979b0c355ea1eeda44a80ca73370fdb2abe922711b459aa4ee43d1558782b", @@ -7148,7 +7148,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "10901:7:0", + "src": "10489:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -7162,7 +7162,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "10901:133:0", + "src": "10489:133:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -7170,7 +7170,7 @@ }, "id": 535, "nodeType": "ExpressionStatement", - "src": "10901:133:0" + "src": "10489:133:0" }, { "expression": { @@ -7183,7 +7183,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 499, - "src": "11076:4:0", + "src": "10664:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_calldata_ptr", "typeString": "uint8[] calldata" @@ -7196,7 +7196,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 502, - "src": "11094:4:0", + "src": "10682:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", "typeString": "bytes32[] calldata" @@ -7209,7 +7209,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 505, - "src": "11112:4:0", + "src": "10700:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", "typeString": "bytes32[] calldata" @@ -7222,7 +7222,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 507, - "src": "11130:10:0", + "src": "10718:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -7235,7 +7235,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 510, - "src": "11154:12:0", + "src": "10742:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" @@ -7248,7 +7248,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 513, - "src": "11180:7:0", + "src": "10768:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", "typeString": "uint256[] calldata" @@ -7287,7 +7287,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 706, - "src": "11045:17:0", + "src": "10633:17:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_array$_t_uint8_$dyn_memory_ptr_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_bytes32_$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$__$", "typeString": "function (uint8[] memory,bytes32[] memory,bytes32[] memory,bytes32,address[] memory,uint256[] memory)" @@ -7301,7 +7301,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "11045:152:0", + "src": "10633:152:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -7309,7 +7309,7 @@ }, "id": 544, "nodeType": "ExpressionStatement", - "src": "11045:152:0" + "src": "10633:152:0" }, { "expression": { @@ -7330,7 +7330,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "11208:12:0", + "src": "10796:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -7344,7 +7344,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 507, - "src": "11221:10:0", + "src": "10809:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -7355,7 +7355,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "11208:24:0", + "src": "10796:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -7369,7 +7369,7 @@ "memberName": "status", "nodeType": "MemberAccess", "referencedDeclaration": 44, - "src": "11208:31:0", + "src": "10796:31:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$9", "typeString": "enum Escrow_v1_0.Status" @@ -7386,7 +7386,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9, - "src": "11242:6:0", + "src": "10830:6:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_Status_$9_$", "typeString": "type(enum Escrow_v1_0.Status)" @@ -7400,13 +7400,13 @@ "memberName": "RELEASED", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "11242:15:0", + "src": "10830:15:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$9", "typeString": "enum Escrow_v1_0.Status" } }, - "src": "11208:49:0", + "src": "10796:49:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$9", "typeString": "enum Escrow_v1_0.Status" @@ -7414,7 +7414,7 @@ }, "id": 552, "nodeType": "ExpressionStatement", - "src": "11208:49:0" + "src": "10796:49:0" }, { "expression": { @@ -7435,7 +7435,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "11341:12:0", + "src": "10929:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -7449,7 +7449,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 507, - "src": "11354:10:0", + "src": "10942:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -7460,7 +7460,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "11341:24:0", + "src": "10929:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -7474,7 +7474,7 @@ "memberName": "lastModified", "nodeType": "MemberAccess", "referencedDeclaration": 42, - "src": "11341:37:0", + "src": "10929:37:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7491,7 +7491,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1374, - "src": "11381:5:0", + "src": "10969:5:0", "typeDescriptions": { "typeIdentifier": "t_magic_block", "typeString": "block" @@ -7505,13 +7505,13 @@ "memberName": "timestamp", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "11381:15:0", + "src": "10969:15:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "11341:55:0", + "src": "10929:55:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7519,7 +7519,7 @@ }, "id": 560, "nodeType": "ExpressionStatement", - "src": "11341:55:0" + "src": "10929:55:0" }, { "expression": { @@ -7546,7 +7546,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 507, - "src": "11441:10:0", + "src": "11029:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -7559,7 +7559,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 510, - "src": "11453:12:0", + "src": "11041:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" @@ -7572,7 +7572,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 513, - "src": "11467:7:0", + "src": "11055:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", "typeString": "uint256[] calldata" @@ -7599,7 +7599,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 893, - "src": "11427:13:0", + "src": "11015:13:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$_t_uint256_$", "typeString": "function (bytes32,address[] memory,uint256[] memory) returns (uint256)" @@ -7613,7 +7613,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "11427:48:0", + "src": "11015:48:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7632,7 +7632,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "11479:12:0", + "src": "11067:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -7646,7 +7646,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 507, - "src": "11492:10:0", + "src": "11080:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -7657,7 +7657,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "11479:24:0", + "src": "11067:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -7671,13 +7671,13 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": 40, - "src": "11479:30:0", + "src": "11067:30:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "11427:82:0", + "src": "11015:82:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -7693,7 +7693,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "11523:74:0", + "src": "11111:74:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_9e0bdb14e2e0d5e118fd1f547268c6a1fdb5e8facacd614066d4b60bc2c9941d", @@ -7721,7 +7721,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "11406:7:0", + "src": "10994:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -7735,7 +7735,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "11406:201:0", + "src": "10994:201:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -7743,7 +7743,7 @@ }, "id": 574, "nodeType": "ExpressionStatement", - "src": "11406:201:0" + "src": "10994:201:0" }, { "eventCall": { @@ -7756,7 +7756,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 507, - "src": "11640:10:0", + "src": "11228:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -7769,7 +7769,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 510, - "src": "11652:12:0", + "src": "11240:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" @@ -7782,7 +7782,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 513, - "src": "11666:7:0", + "src": "11254:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", "typeString": "uint256[] calldata" @@ -7809,7 +7809,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 22, - "src": "11631:8:0", + "src": "11219:8:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$__$", "typeString": "function (bytes32,address[] memory,uint256[] memory)" @@ -7823,7 +7823,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "11631:43:0", + "src": "11219:43:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -7831,11 +7831,11 @@ }, "id": 580, "nodeType": "EmitStatement", - "src": "11626:48:0" + "src": "11214:48:0" } ] }, - "documentation": "dev This method will be used to release funds associated with the transaction\nPlease see specs https://github.com/OpenBazaar/smart-contracts/blob/master/contracts/escrow/EscrowSpec.md\nparam sigV Array containing V component of all the signatures\nparam sigR Array containing R component of all the signatures\nparam signS Array containing S component of all the signatures\nparam scriptHash script hash of the transaction\nparam destinations address of the destination in whose favour dispute resolution is taking place. In case of split payments it will be address of the split payments contract\nparam amounts value to send to each destination", + "documentation": "dev This method will be used to release funds associated with the transaction\nPlease see specs https://github.com/OpenBazaar/smart-contracts/blob/master/contracts/escrow/EscrowSpec.md\nparam sigV Array containing V component of all the signatures\nparam sigR Array containing R component of all the signatures\nparam signS Array containing S component of all the signatures\nparam scriptHash script hash of the transaction\nparam destinations List of addresses to receive funds\nparam amounts value released to each destination", "id": 582, "implemented": true, "isConstructor": false, @@ -7850,7 +7850,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 507, - "src": "10841:10:0", + "src": "10429:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -7865,14 +7865,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 99, - "src": "10823:17:0", + "src": "10411:17:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "10823:29:0" + "src": "10411:29:0" }, { "arguments": [ @@ -7883,7 +7883,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 507, - "src": "10875:10:0", + "src": "10463:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -7898,14 +7898,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 132, - "src": "10861:13:0", + "src": "10449:13:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "10861:25:0" + "src": "10449:25:0" } ], "name": "execute", @@ -7920,7 +7920,7 @@ "name": "sigV", "nodeType": "VariableDeclaration", "scope": 582, - "src": "10644:12:0", + "src": "10232:12:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -7932,7 +7932,7 @@ "id": 497, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "10644:5:0", + "src": "10232:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -7941,7 +7941,7 @@ "id": 498, "length": null, "nodeType": "ArrayTypeName", - "src": "10644:7:0", + "src": "10232:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_storage_ptr", "typeString": "uint8[]" @@ -7956,7 +7956,7 @@ "name": "sigR", "nodeType": "VariableDeclaration", "scope": 582, - "src": "10666:14:0", + "src": "10254:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -7968,7 +7968,7 @@ "id": 500, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "10666:7:0", + "src": "10254:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -7977,7 +7977,7 @@ "id": 501, "length": null, "nodeType": "ArrayTypeName", - "src": "10666:9:0", + "src": "10254:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -7992,7 +7992,7 @@ "name": "sigS", "nodeType": "VariableDeclaration", "scope": 582, - "src": "10690:14:0", + "src": "10278:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8004,7 +8004,7 @@ "id": 503, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "10690:7:0", + "src": "10278:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -8013,7 +8013,7 @@ "id": 504, "length": null, "nodeType": "ArrayTypeName", - "src": "10690:9:0", + "src": "10278:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -8028,7 +8028,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 582, - "src": "10714:18:0", + "src": "10302:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8039,7 +8039,7 @@ "id": 506, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "10714:7:0", + "src": "10302:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -8054,7 +8054,7 @@ "name": "destinations", "nodeType": "VariableDeclaration", "scope": 582, - "src": "10742:22:0", + "src": "10330:22:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8066,7 +8066,7 @@ "id": 508, "name": "address", "nodeType": "ElementaryTypeName", - "src": "10742:7:0", + "src": "10330:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8075,7 +8075,7 @@ "id": 509, "length": null, "nodeType": "ArrayTypeName", - "src": "10742:9:0", + "src": "10330:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", "typeString": "address[]" @@ -8090,7 +8090,7 @@ "name": "amounts", "nodeType": "VariableDeclaration", "scope": 582, - "src": "10774:17:0", + "src": "10362:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8102,7 +8102,7 @@ "id": 511, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "10774:7:0", + "src": "10362:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8111,7 +8111,7 @@ "id": 512, "length": null, "nodeType": "ArrayTypeName", - "src": "10774:9:0", + "src": "10362:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -8121,17 +8121,17 @@ "visibility": "internal" } ], - "src": "10634:163:0" + "src": "10222:163:0" }, "payable": false, "returnParameters": { "id": 521, "nodeType": "ParameterList", "parameters": [], - "src": "10891:0:0" + "src": "10479:0:0" }, "scope": 1211, - "src": "10618:1063:0", + "src": "10206:1063:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" @@ -8140,7 +8140,7 @@ "body": { "id": 636, "nodeType": "Block", - "src": "12435:716:0", + "src": "12023:716:0", "statements": [ { "condition": { @@ -8161,7 +8161,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 596, - "src": "12449:12:0", + "src": "12037:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8182,7 +8182,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "12473:1:0", + "src": "12061:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -8204,7 +8204,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "12465:7:0", + "src": "12053:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" @@ -8219,13 +8219,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "12465:10:0", + "src": "12053:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "12449:26:0", + "src": "12037:26:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -8234,7 +8234,7 @@ "falseBody": { "id": 634, "nodeType": "Block", - "src": "12797:348:0", + "src": "12385:348:0", "statements": [ { "expression": { @@ -8250,7 +8250,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 584, - "src": "12883:8:0", + "src": "12471:8:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -8263,7 +8263,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 586, - "src": "12913:9:0", + "src": "12501:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -8276,7 +8276,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 588, - "src": "12944:12:0", + "src": "12532:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -8289,7 +8289,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 590, - "src": "12978:5:0", + "src": "12566:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8302,7 +8302,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 592, - "src": "13005:6:0", + "src": "12593:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8315,7 +8315,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 594, - "src": "13033:9:0", + "src": "12621:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8328,7 +8328,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1401, - "src": "13064:4:0", + "src": "12652:4:0", "typeDescriptions": { "typeIdentifier": "t_contract$_Escrow_v1_0_$1211", "typeString": "contract Escrow_v1_0" @@ -8341,7 +8341,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 596, - "src": "13090:12:0", + "src": "12678:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8390,7 +8390,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1371, - "src": "12845:3:0", + "src": "12433:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" @@ -8404,7 +8404,7 @@ "memberName": "encodePacked", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "12845:16:0", + "src": "12433:16:0", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" @@ -8418,7 +8418,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "12845:275:0", + "src": "12433:275:0", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -8437,7 +8437,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1378, - "src": "12818:9:0", + "src": "12406:9:0", "typeDescriptions": { "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", "typeString": "function () pure returns (bytes32)" @@ -8451,7 +8451,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "12818:316:0", + "src": "12406:316:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -8460,17 +8460,17 @@ "functionReturnParameters": 600, "id": 633, "nodeType": "Return", - "src": "12811:323:0" + "src": "12399:323:0" } ] }, "id": 635, "nodeType": "IfStatement", - "src": "12445:700:0", + "src": "12033:700:0", "trueBody": { "id": 619, "nodeType": "Block", - "src": "12477:314:0", + "src": "12065:314:0", "statements": [ { "expression": { @@ -8486,7 +8486,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 584, - "src": "12563:8:0", + "src": "12151:8:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -8499,7 +8499,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 586, - "src": "12593:9:0", + "src": "12181:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -8512,7 +8512,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 588, - "src": "12624:12:0", + "src": "12212:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -8525,7 +8525,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 590, - "src": "12658:5:0", + "src": "12246:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8538,7 +8538,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 592, - "src": "12685:6:0", + "src": "12273:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8551,7 +8551,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 594, - "src": "12713:9:0", + "src": "12301:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8564,7 +8564,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1401, - "src": "12744:4:0", + "src": "12332:4:0", "typeDescriptions": { "typeIdentifier": "t_contract$_Escrow_v1_0_$1211", "typeString": "contract Escrow_v1_0" @@ -8609,7 +8609,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1371, - "src": "12525:3:0", + "src": "12113:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" @@ -8623,7 +8623,7 @@ "memberName": "encodePacked", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "12525:16:0", + "src": "12113:16:0", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" @@ -8637,7 +8637,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "12525:241:0", + "src": "12113:241:0", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -8656,7 +8656,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1378, - "src": "12498:9:0", + "src": "12086:9:0", "typeDescriptions": { "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", "typeString": "function () pure returns (bytes32)" @@ -8670,7 +8670,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "12498:282:0", + "src": "12086:282:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -8679,7 +8679,7 @@ "functionReturnParameters": 600, "id": 618, "nodeType": "Return", - "src": "12491:289:0" + "src": "12079:289:0" } ] } @@ -8704,7 +8704,7 @@ "name": "uniqueId", "nodeType": "VariableDeclaration", "scope": 637, - "src": "12196:16:0", + "src": "11784:16:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8715,7 +8715,7 @@ "id": 583, "name": "bytes20", "nodeType": "ElementaryTypeName", - "src": "12196:7:0", + "src": "11784:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -8730,7 +8730,7 @@ "name": "threshold", "nodeType": "VariableDeclaration", "scope": 637, - "src": "12222:15:0", + "src": "11810:15:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8741,7 +8741,7 @@ "id": 585, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "12222:5:0", + "src": "11810:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -8756,7 +8756,7 @@ "name": "timeoutHours", "nodeType": "VariableDeclaration", "scope": 637, - "src": "12247:19:0", + "src": "11835:19:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8767,7 +8767,7 @@ "id": 587, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "12247:6:0", + "src": "11835:6:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -8782,7 +8782,7 @@ "name": "buyer", "nodeType": "VariableDeclaration", "scope": 637, - "src": "12276:13:0", + "src": "11864:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8793,7 +8793,7 @@ "id": 589, "name": "address", "nodeType": "ElementaryTypeName", - "src": "12276:7:0", + "src": "11864:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8808,7 +8808,7 @@ "name": "seller", "nodeType": "VariableDeclaration", "scope": 637, - "src": "12299:14:0", + "src": "11887:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8819,7 +8819,7 @@ "id": 591, "name": "address", "nodeType": "ElementaryTypeName", - "src": "12299:7:0", + "src": "11887:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8834,7 +8834,7 @@ "name": "moderator", "nodeType": "VariableDeclaration", "scope": 637, - "src": "12323:17:0", + "src": "11911:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8845,7 +8845,7 @@ "id": 593, "name": "address", "nodeType": "ElementaryTypeName", - "src": "12323:7:0", + "src": "11911:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8860,7 +8860,7 @@ "name": "tokenAddress", "nodeType": "VariableDeclaration", "scope": 637, - "src": "12350:20:0", + "src": "11938:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8871,7 +8871,7 @@ "id": 595, "name": "address", "nodeType": "ElementaryTypeName", - "src": "12350:7:0", + "src": "11938:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8881,7 +8881,7 @@ "visibility": "internal" } ], - "src": "12186:190:0" + "src": "11774:190:0" }, "payable": false, "returnParameters": { @@ -8894,7 +8894,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 637, - "src": "12422:7:0", + "src": "12010:7:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8905,7 +8905,7 @@ "id": 598, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "12422:7:0", + "src": "12010:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -8915,10 +8915,10 @@ "visibility": "internal" } ], - "src": "12421:9:0" + "src": "12009:9:0" }, "scope": 1211, - "src": "12152:999:0", + "src": "11740:999:0", "stateMutability": "view", "superFunction": null, "visibility": "public" @@ -8927,7 +8927,7 @@ "body": { "id": 705, "nodeType": "Block", - "src": "13635:795:0", + "src": "13223:795:0", "statements": [ { "assignments": [ @@ -8940,7 +8940,7 @@ "name": "lastRecovered", "nodeType": "VariableDeclaration", "scope": 706, - "src": "13645:21:0", + "src": "13233:21:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8951,7 +8951,7 @@ "id": 657, "name": "address", "nodeType": "ElementaryTypeName", - "src": "13645:7:0", + "src": "13233:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8972,7 +8972,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 640, - "src": "13699:4:0", + "src": "13287:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr", "typeString": "uint8[] memory" @@ -8985,7 +8985,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 643, - "src": "13717:4:0", + "src": "13305:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" @@ -8998,7 +8998,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 646, - "src": "13735:4:0", + "src": "13323:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" @@ -9011,7 +9011,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 648, - "src": "13753:10:0", + "src": "13341:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -9024,7 +9024,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 651, - "src": "13777:12:0", + "src": "13365:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -9037,7 +9037,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 654, - "src": "13803:7:0", + "src": "13391:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" @@ -9076,7 +9076,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1022, - "src": "13669:16:0", + "src": "13257:16:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_array$_t_uint8_$dyn_memory_ptr_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_bytes32_$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$_t_address_$", "typeString": "function (uint8[] memory,bytes32[] memory,bytes32[] memory,bytes32,address[] memory,uint256[] memory) returns (address)" @@ -9090,14 +9090,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "13669:151:0", + "src": "13257:151:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "VariableDeclarationStatement", - "src": "13645:175:0" + "src": "13233:175:0" }, { "assignments": [ @@ -9110,7 +9110,7 @@ "name": "timeLockExpired", "nodeType": "VariableDeclaration", "scope": 706, - "src": "13831:20:0", + "src": "13419:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9121,7 +9121,7 @@ "id": 668, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "13831:4:0", + "src": "13419:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -9146,7 +9146,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "13885:12:0", + "src": "13473:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -9160,7 +9160,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 648, - "src": "13898:10:0", + "src": "13486:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -9171,7 +9171,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "13885:24:0", + "src": "13473:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -9185,7 +9185,7 @@ "memberName": "timeoutHours", "nodeType": "MemberAccess", "referencedDeclaration": 50, - "src": "13885:37:0", + "src": "13473:37:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -9202,7 +9202,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "13936:12:0", + "src": "13524:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -9216,7 +9216,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 648, - "src": "13949:10:0", + "src": "13537:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -9227,7 +9227,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "13936:24:0", + "src": "13524:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -9241,7 +9241,7 @@ "memberName": "lastModified", "nodeType": "MemberAccess", "referencedDeclaration": 42, - "src": "13936:37:0", + "src": "13524:37:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9264,7 +9264,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1054, - "src": "13854:17:0", + "src": "13442:17:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_uint32_$_t_uint256_$returns$_t_bool_$", "typeString": "function (uint32,uint256) view returns (bool)" @@ -9278,14 +9278,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "13854:129:0", + "src": "13442:129:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "nodeType": "VariableDeclarationStatement", - "src": "13831:152:0" + "src": "13419:152:0" }, { "condition": { @@ -9319,7 +9319,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 640, - "src": "14155:4:0", + "src": "13743:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr", "typeString": "uint8[] memory" @@ -9333,7 +9333,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "14155:11:0", + "src": "13743:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9352,7 +9352,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "14169:12:0", + "src": "13757:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -9366,7 +9366,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 648, - "src": "14182:10:0", + "src": "13770:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -9377,7 +9377,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "14169:24:0", + "src": "13757:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -9391,13 +9391,13 @@ "memberName": "threshold", "nodeType": "MemberAccess", "referencedDeclaration": 48, - "src": "14169:34:0", + "src": "13757:34:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, - "src": "14155:48:0", + "src": "13743:48:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -9429,7 +9429,7 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "14208:16:0", + "src": "13796:16:0", "subExpression": { "argumentTypes": null, "id": 688, @@ -9437,7 +9437,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 669, - "src": "14209:15:0", + "src": "13797:15:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -9468,7 +9468,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 658, - "src": "14228:13:0", + "src": "13816:13:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -9487,7 +9487,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "14245:12:0", + "src": "13833:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -9501,7 +9501,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 648, - "src": "14258:10:0", + "src": "13846:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -9512,7 +9512,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "14245:24:0", + "src": "13833:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -9526,19 +9526,19 @@ "memberName": "seller", "nodeType": "MemberAccess", "referencedDeclaration": 54, - "src": "14245:31:0", + "src": "13833:31:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "14228:48:0", + "src": "13816:48:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "14208:68:0", + "src": "13796:68:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -9552,13 +9552,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "14207:70:0", + "src": "13795:70:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "14155:122:0", + "src": "13743:122:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -9567,11 +9567,11 @@ "falseBody": null, "id": 704, "nodeType": "IfStatement", - "src": "14134:289:0", + "src": "13722:289:0", "trueBody": { "id": 703, "nodeType": "Block", - "src": "14300:123:0", + "src": "13888:123:0", "statements": [ { "expression": { @@ -9587,7 +9587,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "14321:90:0", + "src": "13909:90:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_e454643f61f81e3a3dc8dabaafde295fea592e232abeb03abbb1835bdc3d20d0", @@ -9611,7 +9611,7 @@ 1390 ], "referencedDeclaration": 1390, - "src": "14314:6:0", + "src": "13902:6:0", "typeDescriptions": { "typeIdentifier": "t_function_revert_pure$_t_string_memory_ptr_$returns$__$", "typeString": "function (string memory) pure" @@ -9625,7 +9625,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "14314:98:0", + "src": "13902:98:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -9633,7 +9633,7 @@ }, "id": 702, "nodeType": "ExpressionStatement", - "src": "14314:98:0" + "src": "13902:98:0" } ] } @@ -9658,7 +9658,7 @@ "name": "sigV", "nodeType": "VariableDeclaration", "scope": 706, - "src": "13461:12:0", + "src": "13049:12:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9670,7 +9670,7 @@ "id": 638, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "13461:5:0", + "src": "13049:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -9679,7 +9679,7 @@ "id": 639, "length": null, "nodeType": "ArrayTypeName", - "src": "13461:7:0", + "src": "13049:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_storage_ptr", "typeString": "uint8[]" @@ -9694,7 +9694,7 @@ "name": "sigR", "nodeType": "VariableDeclaration", "scope": 706, - "src": "13483:14:0", + "src": "13071:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9706,7 +9706,7 @@ "id": 641, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "13483:7:0", + "src": "13071:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -9715,7 +9715,7 @@ "id": 642, "length": null, "nodeType": "ArrayTypeName", - "src": "13483:9:0", + "src": "13071:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -9730,7 +9730,7 @@ "name": "sigS", "nodeType": "VariableDeclaration", "scope": 706, - "src": "13507:14:0", + "src": "13095:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9742,7 +9742,7 @@ "id": 644, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "13507:7:0", + "src": "13095:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -9751,7 +9751,7 @@ "id": 645, "length": null, "nodeType": "ArrayTypeName", - "src": "13507:9:0", + "src": "13095:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -9766,7 +9766,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 706, - "src": "13531:18:0", + "src": "13119:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9777,7 +9777,7 @@ "id": 647, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "13531:7:0", + "src": "13119:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -9792,7 +9792,7 @@ "name": "destinations", "nodeType": "VariableDeclaration", "scope": 706, - "src": "13559:22:0", + "src": "13147:22:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9804,7 +9804,7 @@ "id": 649, "name": "address", "nodeType": "ElementaryTypeName", - "src": "13559:7:0", + "src": "13147:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -9813,7 +9813,7 @@ "id": 650, "length": null, "nodeType": "ArrayTypeName", - "src": "13559:9:0", + "src": "13147:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", "typeString": "address[]" @@ -9828,7 +9828,7 @@ "name": "amounts", "nodeType": "VariableDeclaration", "scope": 706, - "src": "13591:17:0", + "src": "13179:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9840,7 +9840,7 @@ "id": 652, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "13591:7:0", + "src": "13179:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9849,7 +9849,7 @@ "id": 653, "length": null, "nodeType": "ArrayTypeName", - "src": "13591:9:0", + "src": "13179:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -9859,17 +9859,17 @@ "visibility": "internal" } ], - "src": "13451:163:0" + "src": "13039:163:0" }, "payable": false, "returnParameters": { "id": 656, "nodeType": "ParameterList", "parameters": [], - "src": "13635:0:0" + "src": "13223:0:0" }, "scope": 1211, - "src": "13425:1005:0", + "src": "13013:1005:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "private" @@ -9878,7 +9878,7 @@ "body": { "id": 892, "nodeType": "Block", - "src": "14716:1447:0", + "src": "14304:1447:0", "statements": [ { "assignments": [ @@ -9891,7 +9891,7 @@ "name": "t", "nodeType": "VariableDeclaration", "scope": 893, - "src": "14726:21:0", + "src": "14314:21:0", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { @@ -9904,7 +9904,7 @@ "name": "Transaction", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 71, - "src": "14726:11:0", + "src": "14314:11:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction" @@ -9924,7 +9924,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "14750:12:0", + "src": "14338:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -9938,7 +9938,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 708, - "src": "14763:10:0", + "src": "14351:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -9949,14 +9949,14 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "14750:24:0", + "src": "14338:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "14726:48:0" + "src": "14314:48:0" }, { "assignments": [ @@ -9969,7 +9969,7 @@ "name": "valueTransferred", "nodeType": "VariableDeclaration", "scope": 893, - "src": "14785:24:0", + "src": "14373:24:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9980,7 +9980,7 @@ "id": 725, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "14785:7:0", + "src": "14373:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10001,7 +10001,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "14812:1:0", + "src": "14400:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -10010,7 +10010,7 @@ "value": "0" }, "nodeType": "VariableDeclarationStatement", - "src": "14785:28:0" + "src": "14373:28:0" }, { "condition": { @@ -10033,7 +10033,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 720, - "src": "14828:1:0", + "src": "14416:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" @@ -10047,7 +10047,7 @@ "memberName": "transactionType", "nodeType": "MemberAccess", "referencedDeclaration": 46, - "src": "14828:17:0", + "src": "14416:17:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -10064,7 +10064,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12, - "src": "14849:15:0", + "src": "14437:15:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_TransactionType_$12_$", "typeString": "type(enum Escrow_v1_0.TransactionType)" @@ -10078,13 +10078,13 @@ "memberName": "ETHER", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "14849:21:0", + "src": "14437:21:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" } }, - "src": "14828:42:0", + "src": "14416:42:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -10111,7 +10111,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 720, - "src": "15469:1:0", + "src": "15057:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" @@ -10125,7 +10125,7 @@ "memberName": "transactionType", "nodeType": "MemberAccess", "referencedDeclaration": 46, - "src": "15469:17:0", + "src": "15057:17:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -10142,7 +10142,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12, - "src": "15490:15:0", + "src": "15078:15:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_TransactionType_$12_$", "typeString": "type(enum Escrow_v1_0.TransactionType)" @@ -10156,13 +10156,13 @@ "memberName": "TOKEN", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "15490:21:0", + "src": "15078:21:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" } }, - "src": "15469:42:0", + "src": "15057:42:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -10171,11 +10171,11 @@ "falseBody": null, "id": 888, "nodeType": "IfStatement", - "src": "15465:658:0", + "src": "15053:658:0", "trueBody": { "id": 887, "nodeType": "Block", - "src": "15513:610:0", + "src": "15101:610:0", "statements": [ { "assignments": [ @@ -10188,7 +10188,7 @@ "name": "token", "nodeType": "VariableDeclaration", "scope": 893, - "src": "15528:20:0", + "src": "15116:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -10201,7 +10201,7 @@ "name": "ITokenContract", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 1241, - "src": "15528:14:0", + "src": "15116:14:0", "typeDescriptions": { "typeIdentifier": "t_contract$_ITokenContract_$1241", "typeString": "contract ITokenContract" @@ -10224,7 +10224,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 720, - "src": "15566:1:0", + "src": "15154:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" @@ -10238,7 +10238,7 @@ "memberName": "tokenAddress", "nodeType": "MemberAccess", "referencedDeclaration": 56, - "src": "15566:14:0", + "src": "15154:14:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -10257,7 +10257,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1241, - "src": "15551:14:0", + "src": "15139:14:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_ITokenContract_$1241_$", "typeString": "type(contract ITokenContract)" @@ -10271,20 +10271,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15551:30:0", + "src": "15139:30:0", "typeDescriptions": { "typeIdentifier": "t_contract$_ITokenContract_$1241", "typeString": "contract ITokenContract" } }, "nodeType": "VariableDeclarationStatement", - "src": "15528:53:0" + "src": "15116:53:0" }, { "body": { "id": 885, "nodeType": "Block", - "src": "15644:469:0", + "src": "15232:469:0", "statements": [ { "expression": { @@ -10321,7 +10321,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 711, - "src": "15671:12:0", + "src": "15259:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -10335,7 +10335,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 816, - "src": "15684:1:0", + "src": "15272:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10346,7 +10346,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15671:15:0", + "src": "15259:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -10367,7 +10367,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "15698:1:0", + "src": "15286:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -10389,7 +10389,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "15690:7:0", + "src": "15278:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" @@ -10404,13 +10404,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15690:10:0", + "src": "15278:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "15671:29:0", + "src": "15259:29:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -10429,7 +10429,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 720, - "src": "15704:1:0", + "src": "15292:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" @@ -10443,7 +10443,7 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "15704:9:0", + "src": "15292:9:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -10459,7 +10459,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 711, - "src": "15714:12:0", + "src": "15302:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -10473,7 +10473,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 816, - "src": "15727:1:0", + "src": "15315:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10484,7 +10484,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15714:15:0", + "src": "15302:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -10495,13 +10495,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15704:26:0", + "src": "15292:26:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "15671:59:0", + "src": "15259:59:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -10517,7 +10517,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "15732:25:0", + "src": "15320:25:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_4b4c116dbf18274831a2b569c567d9fd9a0e9828a6c86ee9f93e80400fb6c49f", @@ -10545,7 +10545,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "15663:7:0", + "src": "15251:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -10559,7 +10559,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15663:95:0", + "src": "15251:95:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -10567,7 +10567,7 @@ }, "id": 843, "nodeType": "ExpressionStatement", - "src": "15663:95:0" + "src": "15251:95:0" }, { "expression": { @@ -10593,7 +10593,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 714, - "src": "15784:7:0", + "src": "15372:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" @@ -10607,7 +10607,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 816, - "src": "15792:1:0", + "src": "15380:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10618,7 +10618,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15784:10:0", + "src": "15372:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10636,7 +10636,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "15797:1:0", + "src": "15385:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -10644,7 +10644,7 @@ }, "value": "0" }, - "src": "15784:14:0", + "src": "15372:14:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -10660,7 +10660,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "15800:44:0", + "src": "15388:44:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_5e1271a09dbb64ae031de288deb0ad8d707df7db51d6e827931dc8fa6642a71e", @@ -10688,7 +10688,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "15776:7:0", + "src": "15364:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -10702,7 +10702,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15776:69:0", + "src": "15364:69:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -10710,7 +10710,7 @@ }, "id": 852, "nodeType": "ExpressionStatement", - "src": "15776:69:0" + "src": "15364:69:0" }, { "expression": { @@ -10727,7 +10727,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 726, - "src": "15864:16:0", + "src": "15452:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10747,7 +10747,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 714, - "src": "15904:7:0", + "src": "15492:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" @@ -10761,7 +10761,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 816, - "src": "15912:1:0", + "src": "15500:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10772,7 +10772,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15904:10:0", + "src": "15492:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10793,7 +10793,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 726, - "src": "15883:16:0", + "src": "15471:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10807,7 +10807,7 @@ "memberName": "add", "nodeType": "MemberAccess", "referencedDeclaration": 1348, - "src": "15883:20:0", + "src": "15471:20:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" @@ -10821,13 +10821,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15883:32:0", + "src": "15471:32:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "15864:51:0", + "src": "15452:51:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10835,7 +10835,7 @@ }, "id": 861, "nodeType": "ExpressionStatement", - "src": "15864:51:0" + "src": "15452:51:0" }, { "expression": { @@ -10856,7 +10856,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 720, - "src": "15933:1:0", + "src": "15521:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" @@ -10870,7 +10870,7 @@ "memberName": "beneficiaries", "nodeType": "MemberAccess", "referencedDeclaration": 70, - "src": "15933:15:0", + "src": "15521:15:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -10886,7 +10886,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 711, - "src": "15949:12:0", + "src": "15537:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -10900,7 +10900,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 816, - "src": "15962:1:0", + "src": "15550:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10911,7 +10911,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15949:15:0", + "src": "15537:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -10922,7 +10922,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "15933:32:0", + "src": "15521:32:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -10940,7 +10940,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "15968:4:0", + "src": "15556:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -10948,7 +10948,7 @@ }, "value": "true" }, - "src": "15933:39:0", + "src": "15521:39:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -10956,7 +10956,7 @@ }, "id": 871, "nodeType": "ExpressionStatement", - "src": "15933:39:0" + "src": "15521:39:0" }, { "expression": { @@ -10974,7 +10974,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 711, - "src": "16043:12:0", + "src": "15631:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -10988,7 +10988,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 816, - "src": "16056:1:0", + "src": "15644:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10999,7 +10999,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "16043:15:0", + "src": "15631:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -11014,7 +11014,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 714, - "src": "16060:7:0", + "src": "15648:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" @@ -11028,7 +11028,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 816, - "src": "16068:1:0", + "src": "15656:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11039,7 +11039,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "16060:10:0", + "src": "15648:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11064,7 +11064,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 809, - "src": "16028:5:0", + "src": "15616:5:0", "typeDescriptions": { "typeIdentifier": "t_contract$_ITokenContract_$1241", "typeString": "contract ITokenContract" @@ -11078,7 +11078,7 @@ "memberName": "transfer", "nodeType": "MemberAccess", "referencedDeclaration": 1229, - "src": "16028:14:0", + "src": "15616:14:0", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", "typeString": "function (address,uint256) external returns (bool)" @@ -11092,7 +11092,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16028:43:0", + "src": "15616:43:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -11108,7 +11108,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "16073:24:0", + "src": "15661:24:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_e545223bb79d8456d66fa5a98897abb42bb4807111f004a120200da3b7e292c5", @@ -11136,7 +11136,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "16020:7:0", + "src": "15608:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -11150,7 +11150,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16020:78:0", + "src": "15608:78:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -11158,7 +11158,7 @@ }, "id": 884, "nodeType": "ExpressionStatement", - "src": "16020:78:0" + "src": "15608:78:0" } ] }, @@ -11180,7 +11180,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 816, - "src": "15616:1:0", + "src": "15204:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11197,7 +11197,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 711, - "src": "15618:12:0", + "src": "15206:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -11211,13 +11211,13 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "15618:19:0", + "src": "15206:19:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "15616:21:0", + "src": "15204:21:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -11235,7 +11235,7 @@ "name": "j", "nodeType": "VariableDeclaration", "scope": 893, - "src": "15601:9:0", + "src": "15189:9:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -11246,7 +11246,7 @@ "id": 815, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "15601:7:0", + "src": "15189:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11267,7 +11267,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "15613:1:0", + "src": "15201:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -11276,7 +11276,7 @@ "value": "0" }, "nodeType": "VariableDeclarationStatement", - "src": "15601:13:0" + "src": "15189:13:0" }, "loopExpression": { "expression": { @@ -11289,7 +11289,7 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "15639:3:0", + "src": "15227:3:0", "subExpression": { "argumentTypes": null, "id": 823, @@ -11297,7 +11297,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 816, - "src": "15639:1:0", + "src": "15227:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11310,27 +11310,27 @@ }, "id": 825, "nodeType": "ExpressionStatement", - "src": "15639:3:0" + "src": "15227:3:0" }, "nodeType": "ForStatement", - "src": "15596:517:0" + "src": "15184:517:0" } ] } }, "id": 889, "nodeType": "IfStatement", - "src": "14824:1299:0", + "src": "14412:1299:0", "trueBody": { "id": 802, "nodeType": "Block", - "src": "14872:587:0", + "src": "14460:587:0", "statements": [ { "body": { "id": 800, "nodeType": "Block", - "src": "14936:512:0", + "src": "14524:512:0", "statements": [ { "expression": { @@ -11367,7 +11367,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 711, - "src": "14963:12:0", + "src": "14551:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -11381,7 +11381,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 735, - "src": "14976:1:0", + "src": "14564:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11392,7 +11392,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "14963:15:0", + "src": "14551:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -11413,7 +11413,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "14990:1:0", + "src": "14578:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -11435,7 +11435,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "14982:7:0", + "src": "14570:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" @@ -11450,13 +11450,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "14982:10:0", + "src": "14570:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "14963:29:0", + "src": "14551:29:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -11475,7 +11475,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 720, - "src": "14996:1:0", + "src": "14584:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" @@ -11489,7 +11489,7 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "14996:9:0", + "src": "14584:9:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -11505,7 +11505,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 711, - "src": "15006:12:0", + "src": "14594:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -11519,7 +11519,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 735, - "src": "15019:1:0", + "src": "14607:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11530,7 +11530,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15006:15:0", + "src": "14594:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -11541,13 +11541,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "14996:26:0", + "src": "14584:26:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "14963:59:0", + "src": "14551:59:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -11563,7 +11563,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "15024:25:0", + "src": "14612:25:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_4b4c116dbf18274831a2b569c567d9fd9a0e9828a6c86ee9f93e80400fb6c49f", @@ -11591,7 +11591,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "14955:7:0", + "src": "14543:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -11605,7 +11605,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "14955:95:0", + "src": "14543:95:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -11613,7 +11613,7 @@ }, "id": 762, "nodeType": "ExpressionStatement", - "src": "14955:95:0" + "src": "14543:95:0" }, { "expression": { @@ -11639,7 +11639,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 714, - "src": "15076:7:0", + "src": "14664:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" @@ -11653,7 +11653,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 735, - "src": "15084:1:0", + "src": "14672:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11664,7 +11664,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15076:10:0", + "src": "14664:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11682,7 +11682,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "15089:1:0", + "src": "14677:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -11690,7 +11690,7 @@ }, "value": "0" }, - "src": "15076:14:0", + "src": "14664:14:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -11706,7 +11706,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "15092:44:0", + "src": "14680:44:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_5e1271a09dbb64ae031de288deb0ad8d707df7db51d6e827931dc8fa6642a71e", @@ -11734,7 +11734,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "15068:7:0", + "src": "14656:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -11748,7 +11748,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15068:69:0", + "src": "14656:69:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -11756,7 +11756,7 @@ }, "id": 771, "nodeType": "ExpressionStatement", - "src": "15068:69:0" + "src": "14656:69:0" }, { "expression": { @@ -11773,7 +11773,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 726, - "src": "15156:16:0", + "src": "14744:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11793,7 +11793,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 714, - "src": "15196:7:0", + "src": "14784:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" @@ -11807,7 +11807,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 735, - "src": "15204:1:0", + "src": "14792:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11818,7 +11818,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15196:10:0", + "src": "14784:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11839,7 +11839,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 726, - "src": "15175:16:0", + "src": "14763:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11853,7 +11853,7 @@ "memberName": "add", "nodeType": "MemberAccess", "referencedDeclaration": 1348, - "src": "15175:20:0", + "src": "14763:20:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" @@ -11867,13 +11867,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15175:32:0", + "src": "14763:32:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "15156:51:0", + "src": "14744:51:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11881,7 +11881,7 @@ }, "id": 780, "nodeType": "ExpressionStatement", - "src": "15156:51:0" + "src": "14744:51:0" }, { "expression": { @@ -11902,7 +11902,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 720, - "src": "15226:1:0", + "src": "14814:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" @@ -11916,7 +11916,7 @@ "memberName": "beneficiaries", "nodeType": "MemberAccess", "referencedDeclaration": 70, - "src": "15226:15:0", + "src": "14814:15:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -11932,7 +11932,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 711, - "src": "15242:12:0", + "src": "14830:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -11946,7 +11946,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 735, - "src": "15255:1:0", + "src": "14843:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11957,7 +11957,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15242:15:0", + "src": "14830:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -11968,7 +11968,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "15226:32:0", + "src": "14814:32:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -11986,7 +11986,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "15261:4:0", + "src": "14849:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -11994,7 +11994,7 @@ }, "value": "true" }, - "src": "15226:39:0", + "src": "14814:39:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -12002,7 +12002,7 @@ }, "id": 790, "nodeType": "ExpressionStatement", - "src": "15226:39:0" + "src": "14814:39:0" }, { "expression": { @@ -12017,7 +12017,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 714, - "src": "15337:7:0", + "src": "14925:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" @@ -12031,7 +12031,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 735, - "src": "15345:1:0", + "src": "14933:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12042,7 +12042,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15337:10:0", + "src": "14925:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12065,7 +12065,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 711, - "src": "15312:12:0", + "src": "14900:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -12079,7 +12079,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 735, - "src": "15325:1:0", + "src": "14913:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12090,7 +12090,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15312:15:0", + "src": "14900:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -12104,7 +12104,7 @@ "memberName": "transfer", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "15312:24:0", + "src": "14900:24:0", "typeDescriptions": { "typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$", "typeString": "function (uint256)" @@ -12118,7 +12118,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15312:36:0", + "src": "14900:36:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -12126,7 +12126,7 @@ }, "id": 799, "nodeType": "ExpressionStatement", - "src": "15312:36:0" + "src": "14900:36:0" } ] }, @@ -12148,7 +12148,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 735, - "src": "14906:1:0", + "src": "14494:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12165,7 +12165,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 711, - "src": "14910:12:0", + "src": "14498:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -12179,13 +12179,13 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "14910:19:0", + "src": "14498:19:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "14906:23:0", + "src": "14494:23:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -12203,7 +12203,7 @@ "name": "i", "nodeType": "VariableDeclaration", "scope": 893, - "src": "14891:9:0", + "src": "14479:9:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12214,7 +12214,7 @@ "id": 734, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "14891:7:0", + "src": "14479:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12235,7 +12235,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "14903:1:0", + "src": "14491:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -12244,7 +12244,7 @@ "value": "0" }, "nodeType": "VariableDeclarationStatement", - "src": "14891:13:0" + "src": "14479:13:0" }, "loopExpression": { "expression": { @@ -12257,7 +12257,7 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "14931:3:0", + "src": "14519:3:0", "subExpression": { "argumentTypes": null, "id": 742, @@ -12265,7 +12265,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 735, - "src": "14931:1:0", + "src": "14519:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12278,10 +12278,10 @@ }, "id": 744, "nodeType": "ExpressionStatement", - "src": "14931:3:0" + "src": "14519:3:0" }, "nodeType": "ForStatement", - "src": "14886:562:0" + "src": "14474:562:0" } ] } @@ -12294,7 +12294,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 726, - "src": "16140:16:0", + "src": "15728:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12303,7 +12303,7 @@ "functionReturnParameters": 718, "id": 891, "nodeType": "Return", - "src": "16133:23:0" + "src": "15721:23:0" } ] }, @@ -12325,7 +12325,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 893, - "src": "14588:18:0", + "src": "14176:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12336,7 +12336,7 @@ "id": 707, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "14588:7:0", + "src": "14176:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -12351,7 +12351,7 @@ "name": "destinations", "nodeType": "VariableDeclaration", "scope": 893, - "src": "14616:21:0", + "src": "14204:21:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12363,7 +12363,7 @@ "id": 709, "name": "address", "nodeType": "ElementaryTypeName", - "src": "14616:7:0", + "src": "14204:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -12372,7 +12372,7 @@ "id": 710, "length": null, "nodeType": "ArrayTypeName", - "src": "14616:9:0", + "src": "14204:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", "typeString": "address[]" @@ -12387,7 +12387,7 @@ "name": "amounts", "nodeType": "VariableDeclaration", "scope": 893, - "src": "14647:16:0", + "src": "14235:16:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12399,7 +12399,7 @@ "id": 712, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "14647:7:0", + "src": "14235:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12408,7 +12408,7 @@ "id": 713, "length": null, "nodeType": "ArrayTypeName", - "src": "14647:9:0", + "src": "14235:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -12418,7 +12418,7 @@ "visibility": "internal" } ], - "src": "14578:91:0" + "src": "14166:91:0" }, "payable": false, "returnParameters": { @@ -12431,7 +12431,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 893, - "src": "14703:7:0", + "src": "14291:7:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12442,7 +12442,7 @@ "id": 716, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "14703:7:0", + "src": "14291:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12452,10 +12452,10 @@ "visibility": "internal" } ], - "src": "14702:9:0" + "src": "14290:9:0" }, "scope": 1211, - "src": "14556:1607:0", + "src": "14144:1607:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "private" @@ -12464,7 +12464,7 @@ "body": { "id": 1021, "nodeType": "Block", - "src": "16581:1337:0", + "src": "16169:1337:0", "statements": [ { "expression": { @@ -12501,7 +12501,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 899, - "src": "16613:4:0", + "src": "16201:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" @@ -12515,7 +12515,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "16613:11:0", + "src": "16201:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12532,7 +12532,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 902, - "src": "16628:4:0", + "src": "16216:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" @@ -12546,13 +12546,13 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "16628:11:0", + "src": "16216:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "16613:26:0", + "src": "16201:26:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -12580,7 +12580,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 899, - "src": "16643:4:0", + "src": "16231:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" @@ -12594,7 +12594,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "16643:11:0", + "src": "16231:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12611,7 +12611,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 896, - "src": "16658:4:0", + "src": "16246:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr", "typeString": "uint8[] memory" @@ -12625,19 +12625,19 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "16658:11:0", + "src": "16246:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "16643:26:0", + "src": "16231:26:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "16613:56:0", + "src": "16201:56:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -12653,7 +12653,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "16684:24:0", + "src": "16272:24:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_f85073c8befb65baed58ca1ee563e5da0bdbdce8abd4d29ef22a8329c7c97506", @@ -12681,7 +12681,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "16592:7:0", + "src": "16180:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -12695,7 +12695,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16592:126:0", + "src": "16180:126:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -12703,7 +12703,7 @@ }, "id": 929, "nodeType": "ExpressionStatement", - "src": "16592:126:0" + "src": "16180:126:0" }, { "assignments": [], @@ -12714,7 +12714,7 @@ "name": "lastAddress", "nodeType": "VariableDeclaration", "scope": 1022, - "src": "16729:19:0", + "src": "16317:19:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12725,7 +12725,7 @@ "id": 930, "name": "address", "nodeType": "ElementaryTypeName", - "src": "16729:7:0", + "src": "16317:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -12738,7 +12738,7 @@ "id": 932, "initialValue": null, "nodeType": "VariableDeclarationStatement", - "src": "16729:19:0" + "src": "16317:19:0" }, { "assignments": [ @@ -12751,7 +12751,7 @@ "name": "txHash", "nodeType": "VariableDeclaration", "scope": 1022, - "src": "16847:14:0", + "src": "16435:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12762,7 +12762,7 @@ "id": 933, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "16847:7:0", + "src": "16435:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -12789,7 +12789,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "16921:34:0", + "src": "16509:34:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_178a2411ab6fbc1ba11064408972259c558d0e82fd48b0aba3ad81d14f065e73", @@ -12816,7 +12816,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "17051:4:0", + "src": "16639:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_25_by_1", @@ -12838,7 +12838,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "17046:4:0", + "src": "16634:4:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes1_$", "typeString": "type(bytes1)" @@ -12853,7 +12853,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17046:10:0", + "src": "16634:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes1", "typeString": "bytes1" @@ -12872,7 +12872,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "17087:1:0", + "src": "16675:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -12894,7 +12894,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "17082:4:0", + "src": "16670:4:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes1_$", "typeString": "type(bytes1)" @@ -12909,7 +12909,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17082:7:0", + "src": "16670:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes1", "typeString": "bytes1" @@ -12922,7 +12922,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1401, - "src": "17115:4:0", + "src": "16703:4:0", "typeDescriptions": { "typeIdentifier": "t_contract$_Escrow_v1_0_$1211", "typeString": "contract Escrow_v1_0" @@ -12935,7 +12935,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 907, - "src": "17145:12:0", + "src": "16733:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -12948,7 +12948,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 910, - "src": "17183:7:0", + "src": "16771:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" @@ -12961,7 +12961,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 904, - "src": "17216:10:0", + "src": "16804:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -13002,7 +13002,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1371, - "src": "17004:3:0", + "src": "16592:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" @@ -13016,7 +13016,7 @@ "memberName": "encodePacked", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "17004:16:0", + "src": "16592:16:0", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" @@ -13030,7 +13030,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17004:244:0", + "src": "16592:244:0", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -13049,7 +13049,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1378, - "src": "16973:9:0", + "src": "16561:9:0", "typeDescriptions": { "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", "typeString": "function () pure returns (bytes32)" @@ -13063,7 +13063,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16973:293:0", + "src": "16561:293:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -13088,7 +13088,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1371, - "src": "16887:3:0", + "src": "16475:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" @@ -13102,7 +13102,7 @@ "memberName": "encodePacked", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "16887:16:0", + "src": "16475:16:0", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" @@ -13116,7 +13116,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16887:393:0", + "src": "16475:393:0", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -13135,7 +13135,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1378, - "src": "16864:9:0", + "src": "16452:9:0", "typeDescriptions": { "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", "typeString": "function () pure returns (bytes32)" @@ -13149,20 +13149,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16864:426:0", + "src": "16452:426:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "nodeType": "VariableDeclarationStatement", - "src": "16847:443:0" + "src": "16435:443:0" }, { "body": { "id": 1017, "nodeType": "Block", - "src": "17340:543:0", + "src": "16928:543:0", "statements": [ { "assignments": [ @@ -13175,7 +13175,7 @@ "name": "recovered", "nodeType": "VariableDeclaration", "scope": 1022, - "src": "17355:17:0", + "src": "16943:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -13186,7 +13186,7 @@ "id": 968, "name": "address", "nodeType": "ElementaryTypeName", - "src": "17355:7:0", + "src": "16943:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -13207,7 +13207,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 934, - "src": "17402:6:0", + "src": "16990:6:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -13222,7 +13222,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 896, - "src": "17426:4:0", + "src": "17014:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr", "typeString": "uint8[] memory" @@ -13236,7 +13236,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 958, - "src": "17431:1:0", + "src": "17019:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13247,7 +13247,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17426:7:0", + "src": "17014:7:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -13262,7 +13262,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 899, - "src": "17451:4:0", + "src": "17039:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" @@ -13276,7 +13276,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 958, - "src": "17456:1:0", + "src": "17044:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13287,7 +13287,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17451:7:0", + "src": "17039:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -13302,7 +13302,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 902, - "src": "17476:4:0", + "src": "17064:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" @@ -13316,7 +13316,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 958, - "src": "17481:1:0", + "src": "17069:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13327,7 +13327,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17476:7:0", + "src": "17064:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -13358,7 +13358,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1376, - "src": "17375:9:0", + "src": "16963:9:0", "typeDescriptions": { "typeIdentifier": "t_function_ecrecover_pure$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$_t_address_$", "typeString": "function (bytes32,uint8,bytes32,bytes32) pure returns (address)" @@ -13372,14 +13372,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17375:122:0", + "src": "16963:122:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "VariableDeclarationStatement", - "src": "17355:142:0" + "src": "16943:142:0" }, { "expression": { @@ -13398,7 +13398,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "17537:12:0", + "src": "17125:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -13412,7 +13412,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 904, - "src": "17550:10:0", + "src": "17138:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -13423,7 +13423,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17537:24:0", + "src": "17125:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -13437,7 +13437,7 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "17537:32:0", + "src": "17125:32:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -13451,7 +13451,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 969, - "src": "17570:9:0", + "src": "17158:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -13462,7 +13462,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17537:43:0", + "src": "17125:43:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -13478,7 +13478,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "17599:19:0", + "src": "17187:19:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_4f2d7dfcb27c0aafa13ae8c400de482c7832204d194018b6e45bd2bf244c74e7", @@ -13506,7 +13506,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "17512:7:0", + "src": "17100:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -13520,7 +13520,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17512:120:0", + "src": "17100:120:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -13528,7 +13528,7 @@ }, "id": 992, "nodeType": "ExpressionStatement", - "src": "17512:120:0" + "src": "17100:120:0" }, { "expression": { @@ -13544,7 +13544,7 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "17671:42:0", + "src": "17259:42:0", "subExpression": { "argumentTypes": null, "baseExpression": { @@ -13558,7 +13558,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "17672:12:0", + "src": "17260:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -13572,7 +13572,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 904, - "src": "17685:10:0", + "src": "17273:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -13583,7 +13583,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17672:24:0", + "src": "17260:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -13597,7 +13597,7 @@ "memberName": "voted", "nodeType": "MemberAccess", "referencedDeclaration": 66, - "src": "17672:30:0", + "src": "17260:30:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -13611,7 +13611,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 969, - "src": "17703:9:0", + "src": "17291:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -13622,7 +13622,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17672:41:0", + "src": "17260:41:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -13643,7 +13643,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "17732:27:0", + "src": "17320:27:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_fb2c7e49d5ec7ce36fa812cf15ee7fa946942f931d04fe3ae970516007b2a543", @@ -13671,7 +13671,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "17646:7:0", + "src": "17234:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -13685,7 +13685,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17646:127:0", + "src": "17234:127:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -13693,7 +13693,7 @@ }, "id": 1003, "nodeType": "ExpressionStatement", - "src": "17646:127:0" + "src": "17234:127:0" }, { "expression": { @@ -13716,7 +13716,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "17787:12:0", + "src": "17375:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -13730,7 +13730,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 904, - "src": "17800:10:0", + "src": "17388:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -13741,7 +13741,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17787:24:0", + "src": "17375:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -13755,7 +13755,7 @@ "memberName": "voted", "nodeType": "MemberAccess", "referencedDeclaration": 66, - "src": "17787:30:0", + "src": "17375:30:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -13769,7 +13769,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 969, - "src": "17818:9:0", + "src": "17406:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -13780,7 +13780,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "17787:41:0", + "src": "17375:41:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -13798,7 +13798,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "17831:4:0", + "src": "17419:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -13806,7 +13806,7 @@ }, "value": "true" }, - "src": "17787:48:0", + "src": "17375:48:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -13814,7 +13814,7 @@ }, "id": 1012, "nodeType": "ExpressionStatement", - "src": "17787:48:0" + "src": "17375:48:0" }, { "expression": { @@ -13831,7 +13831,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 931, - "src": "17849:11:0", + "src": "17437:11:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -13846,13 +13846,13 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 969, - "src": "17863:9:0", + "src": "17451:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "17849:23:0", + "src": "17437:23:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -13860,7 +13860,7 @@ }, "id": 1016, "nodeType": "ExpressionStatement", - "src": "17849:23:0" + "src": "17437:23:0" } ] }, @@ -13882,7 +13882,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 958, - "src": "17318:1:0", + "src": "16906:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13899,7 +13899,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 899, - "src": "17322:4:0", + "src": "16910:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" @@ -13913,13 +13913,13 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "17322:11:0", + "src": "16910:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "17318:15:0", + "src": "16906:15:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -13937,7 +13937,7 @@ "name": "i", "nodeType": "VariableDeclaration", "scope": 1022, - "src": "17306:6:0", + "src": "16894:6:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -13948,7 +13948,7 @@ "id": 957, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "17306:4:0", + "src": "16894:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13969,7 +13969,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "17315:1:0", + "src": "16903:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -13978,7 +13978,7 @@ "value": "0" }, "nodeType": "VariableDeclarationStatement", - "src": "17306:10:0" + "src": "16894:10:0" }, "loopExpression": { "expression": { @@ -13991,7 +13991,7 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "17335:3:0", + "src": "16923:3:0", "subExpression": { "argumentTypes": null, "id": 965, @@ -13999,7 +13999,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 958, - "src": "17335:1:0", + "src": "16923:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14012,10 +14012,10 @@ }, "id": 967, "nodeType": "ExpressionStatement", - "src": "17335:3:0" + "src": "16923:3:0" }, "nodeType": "ForStatement", - "src": "17301:582:0" + "src": "16889:582:0" }, { "expression": { @@ -14025,7 +14025,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 931, - "src": "17900:11:0", + "src": "17488:11:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -14034,7 +14034,7 @@ "functionReturnParameters": 914, "id": 1020, "nodeType": "Return", - "src": "17893:18:0" + "src": "17481:18:0" } ] }, @@ -14056,7 +14056,7 @@ "name": "sigV", "nodeType": "VariableDeclaration", "scope": 1022, - "src": "16382:12:0", + "src": "15970:12:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14068,7 +14068,7 @@ "id": 894, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "16382:5:0", + "src": "15970:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -14077,7 +14077,7 @@ "id": 895, "length": null, "nodeType": "ArrayTypeName", - "src": "16382:7:0", + "src": "15970:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_storage_ptr", "typeString": "uint8[]" @@ -14092,7 +14092,7 @@ "name": "sigR", "nodeType": "VariableDeclaration", "scope": 1022, - "src": "16404:14:0", + "src": "15992:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14104,7 +14104,7 @@ "id": 897, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "16404:7:0", + "src": "15992:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -14113,7 +14113,7 @@ "id": 898, "length": null, "nodeType": "ArrayTypeName", - "src": "16404:9:0", + "src": "15992:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -14128,7 +14128,7 @@ "name": "sigS", "nodeType": "VariableDeclaration", "scope": 1022, - "src": "16428:14:0", + "src": "16016:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14140,7 +14140,7 @@ "id": 900, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "16428:7:0", + "src": "16016:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -14149,7 +14149,7 @@ "id": 901, "length": null, "nodeType": "ArrayTypeName", - "src": "16428:9:0", + "src": "16016:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -14164,7 +14164,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 1022, - "src": "16452:18:0", + "src": "16040:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14175,7 +14175,7 @@ "id": 903, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "16452:7:0", + "src": "16040:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -14190,7 +14190,7 @@ "name": "destinations", "nodeType": "VariableDeclaration", "scope": 1022, - "src": "16480:22:0", + "src": "16068:22:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14202,7 +14202,7 @@ "id": 905, "name": "address", "nodeType": "ElementaryTypeName", - "src": "16480:7:0", + "src": "16068:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -14211,7 +14211,7 @@ "id": 906, "length": null, "nodeType": "ArrayTypeName", - "src": "16480:9:0", + "src": "16068:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", "typeString": "address[]" @@ -14226,7 +14226,7 @@ "name": "amounts", "nodeType": "VariableDeclaration", "scope": 1022, - "src": "16512:16:0", + "src": "16100:16:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14238,7 +14238,7 @@ "id": 908, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "16512:7:0", + "src": "16100:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14247,7 +14247,7 @@ "id": 909, "length": null, "nodeType": "ArrayTypeName", - "src": "16512:9:0", + "src": "16100:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -14257,7 +14257,7 @@ "visibility": "internal" } ], - "src": "16372:162:0" + "src": "15960:162:0" }, "payable": false, "returnParameters": { @@ -14270,7 +14270,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 1022, - "src": "16568:7:0", + "src": "16156:7:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14281,7 +14281,7 @@ "id": 912, "name": "address", "nodeType": "ElementaryTypeName", - "src": "16568:7:0", + "src": "16156:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -14291,10 +14291,10 @@ "visibility": "internal" } ], - "src": "16567:9:0" + "src": "16155:9:0" }, "scope": 1211, - "src": "16347:1571:0", + "src": "15935:1571:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "private" @@ -14303,7 +14303,7 @@ "body": { "id": 1053, "nodeType": "Block", - "src": "18072:168:0", + "src": "17660:168:0", "statements": [ { "assignments": [ @@ -14316,7 +14316,7 @@ "name": "timeSince", "nodeType": "VariableDeclaration", "scope": 1054, - "src": "18082:17:0", + "src": "17670:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14327,7 +14327,7 @@ "id": 1031, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "18082:7:0", + "src": "17670:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14348,7 +14348,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1026, - "src": "18110:12:0", + "src": "17698:12:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14369,7 +14369,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1386, - "src": "18102:3:0", + "src": "17690:3:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14383,7 +14383,7 @@ "memberName": "sub", "nodeType": "MemberAccess", "referencedDeclaration": 1324, - "src": "18102:7:0", + "src": "17690:7:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" @@ -14397,14 +14397,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18102:21:0", + "src": "17690:21:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "18082:41:0" + "src": "17670:41:0" }, { "expression": { @@ -14430,7 +14430,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1024, - "src": "18154:12:0", + "src": "17742:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -14448,7 +14448,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "18170:1:0", + "src": "17758:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -14456,7 +14456,7 @@ }, "value": "0" }, - "src": "18154:17:0", + "src": "17742:17:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -14480,7 +14480,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1032, - "src": "18180:9:0", + "src": "17768:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14501,7 +14501,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "18218:4:0", + "src": "17806:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_3600_by_1", @@ -14527,7 +14527,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1024, - "src": "18200:12:0", + "src": "17788:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -14547,7 +14547,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "18192:7:0", + "src": "17780:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint256_$", "typeString": "type(uint256)" @@ -14562,7 +14562,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18192:21:0", + "src": "17780:21:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14576,7 +14576,7 @@ "memberName": "mul", "nodeType": "MemberAccess", "referencedDeclaration": 1276, - "src": "18192:25:0", + "src": "17780:25:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" @@ -14590,13 +14590,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18192:31:0", + "src": "17780:31:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "18180:43:0", + "src": "17768:43:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -14608,7 +14608,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "Conditional", - "src": "18154:69:0", + "src": "17742:69:0", "trueExpression": { "argumentTypes": null, "hexValue": "66616c7365", @@ -14619,7 +14619,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "18174:5:0", + "src": "17762:5:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -14640,7 +14640,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "18140:93:0", + "src": "17728:93:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -14649,7 +14649,7 @@ "functionReturnParameters": 1030, "id": 1052, "nodeType": "Return", - "src": "18133:100:0" + "src": "17721:100:0" } ] }, @@ -14671,7 +14671,7 @@ "name": "timeoutHours", "nodeType": "VariableDeclaration", "scope": 1054, - "src": "17960:19:0", + "src": "17548:19:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14682,7 +14682,7 @@ "id": 1023, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "17960:6:0", + "src": "17548:6:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -14697,7 +14697,7 @@ "name": "lastModified", "nodeType": "VariableDeclaration", "scope": 1054, - "src": "17989:20:0", + "src": "17577:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14708,7 +14708,7 @@ "id": 1025, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "17989:7:0", + "src": "17577:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14718,7 +14718,7 @@ "visibility": "internal" } ], - "src": "17950:65:0" + "src": "17538:65:0" }, "payable": false, "returnParameters": { @@ -14731,7 +14731,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 1054, - "src": "18062:4:0", + "src": "17650:4:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14742,7 +14742,7 @@ "id": 1028, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "18062:4:0", + "src": "17650:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -14752,10 +14752,10 @@ "visibility": "internal" } ], - "src": "18061:6:0" + "src": "17649:6:0" }, "scope": 1211, - "src": "17924:316:0", + "src": "17512:316:0", "stateMutability": "view", "superFunction": null, "visibility": "private" @@ -14764,7 +14764,7 @@ "body": { "id": 1209, "nodeType": "Block", - "src": "18654:2308:0", + "src": "18242:2320:0", "statements": [ { "expression": { @@ -14788,7 +14788,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1056, - "src": "18680:5:0", + "src": "18268:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -14803,13 +14803,13 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1058, - "src": "18689:6:0", + "src": "18277:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "18680:15:0", + "src": "18268:15:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -14825,7 +14825,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "18697:27:0", + "src": "18285:27:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_6141441751234d42e9a73d96317794195c7ff57b8f16ac15725a10f10763f824", @@ -14853,7 +14853,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "18672:7:0", + "src": "18260:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -14867,7 +14867,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18672:53:0", + "src": "18260:53:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -14875,7 +14875,7 @@ }, "id": 1083, "nodeType": "ExpressionStatement", - "src": "18672:53:0" + "src": "18260:53:0" }, { "expression": { @@ -14899,7 +14899,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1068, - "src": "18792:5:0", + "src": "18380:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14917,7 +14917,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "18800:1:0", + "src": "18388:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -14925,7 +14925,7 @@ }, "value": "0" }, - "src": "18792:9:0", + "src": "18380:9:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -14941,7 +14941,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "18803:19:0", + "src": "18391:19:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_3686f87c4804517ea83323ccf1a3b5b5ff52ed144b19e6fc56abe8fcd182e747", @@ -14969,7 +14969,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "18784:7:0", + "src": "18372:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -14983,7 +14983,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18784:39:0", + "src": "18372:39:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -14991,7 +14991,7 @@ }, "id": 1090, "nodeType": "ExpressionStatement", - "src": "18784:39:0" + "src": "18372:39:0" }, { "expression": { @@ -15026,7 +15026,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1062, - "src": "18926:9:0", + "src": "18514:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -15044,7 +15044,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "18938:1:0", + "src": "18526:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -15052,7 +15052,7 @@ }, "value": "0" }, - "src": "18926:13:0", + "src": "18514:13:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -15078,7 +15078,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1062, - "src": "18943:9:0", + "src": "18531:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -15096,7 +15096,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "18956:1:0", + "src": "18544:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_3_by_1", @@ -15104,13 +15104,13 @@ }, "value": "3" }, - "src": "18943:14:0", + "src": "18531:14:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "18926:31:0", + "src": "18514:31:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -15126,7 +15126,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "18972:63:0", + "src": "18560:63:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_351c1d5dfdc4a2b4c61d6f4dbb41a0d2ae70a9c094d3c0add87af24b5dd19c13", @@ -15154,7 +15154,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "18905:7:0", + "src": "18493:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -15168,7 +15168,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18905:140:0", + "src": "18493:140:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -15176,7 +15176,7 @@ }, "id": 1101, "nodeType": "ExpressionStatement", - "src": "18905:140:0" + "src": "18493:140:0" }, { "expression": { @@ -15211,7 +15211,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1062, - "src": "19314:9:0", + "src": "18913:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -15229,7 +15229,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "19327:1:0", + "src": "18926:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -15237,7 +15237,7 @@ }, "value": "1" }, - "src": "19314:14:0", + "src": "18913:14:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -15263,7 +15263,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1060, - "src": "19332:9:0", + "src": "18931:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15284,7 +15284,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "19353:1:0", + "src": "18952:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -15306,7 +15306,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "19345:7:0", + "src": "18944:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" @@ -15321,19 +15321,19 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "19345:10:0", + "src": "18944:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "19332:23:0", + "src": "18931:23:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "19314:41:0", + "src": "18913:41:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -15349,7 +15349,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "19369:81:0", + "src": "18968:81:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_08dfdd405be5d5023d3f601e2b0a844b246ceb6764817070ff6789d5e1f80050", @@ -15377,7 +15377,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "19293:7:0", + "src": "18892:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -15391,7 +15391,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "19293:167:0", + "src": "18892:167:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -15399,7 +15399,7 @@ }, "id": 1114, "nodeType": "ExpressionStatement", - "src": "19293:167:0" + "src": "18892:167:0" }, { "expression": { @@ -15423,7 +15423,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1066, - "src": "19492:10:0", + "src": "19091:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -15441,7 +15441,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1070, - "src": "19549:8:0", + "src": "19148:8:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -15454,7 +15454,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1062, - "src": "19575:9:0", + "src": "19174:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -15467,7 +15467,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1064, - "src": "19602:12:0", + "src": "19201:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -15480,7 +15480,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1056, - "src": "19632:5:0", + "src": "19231:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15493,7 +15493,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1058, - "src": "19655:6:0", + "src": "19254:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15506,7 +15506,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1060, - "src": "19679:9:0", + "src": "19278:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15519,7 +15519,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1074, - "src": "19706:12:0", + "src": "19305:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15562,7 +15562,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 637, - "src": "19506:25:0", + "src": "19105:25:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_bytes20_$_t_uint8_$_t_uint32_$_t_address_$_t_address_$_t_address_$_t_address_$returns$_t_bytes32_$", "typeString": "function (bytes20,uint8,uint32,address,address,address,address) view returns (bytes32)" @@ -15576,13 +15576,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "19506:226:0", + "src": "19105:226:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "src": "19492:240:0", + "src": "19091:240:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -15598,7 +15598,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "19747:59:0", + "src": "19346:59:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_0c041e0c58e6b0e01d338d852a5abb639065eabeb0aee05e0ce3e5f0e52b4f51", @@ -15626,7 +15626,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "19471:7:0", + "src": "19070:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -15640,7 +15640,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "19471:345:0", + "src": "19070:345:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -15648,7 +15648,7 @@ }, "id": 1129, "nodeType": "ExpressionStatement", - "src": "19471:345:0" + "src": "19070:345:0" }, { "expression": { @@ -15667,7 +15667,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "19827:12:0", + "src": "19426:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -15681,7 +15681,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1066, - "src": "19840:10:0", + "src": "19439:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -15692,7 +15692,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "19827:24:0", + "src": "19426:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -15710,7 +15710,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1056, - "src": "19887:5:0", + "src": "19486:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15723,7 +15723,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1058, - "src": "19914:6:0", + "src": "19513:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15736,7 +15736,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1060, - "src": "19945:9:0", + "src": "19544:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15749,7 +15749,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1068, - "src": "19975:5:0", + "src": "19574:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -15764,7 +15764,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9, - "src": "20002:6:0", + "src": "19601:6:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_Status_$9_$", "typeString": "type(enum Escrow_v1_0.Status)" @@ -15778,7 +15778,7 @@ "memberName": "FUNDED", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "20002:13:0", + "src": "19601:13:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$9", "typeString": "enum Escrow_v1_0.Status" @@ -15793,7 +15793,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1374, - "src": "20043:5:0", + "src": "19642:5:0", "typeDescriptions": { "typeIdentifier": "t_magic_block", "typeString": "block" @@ -15807,7 +15807,7 @@ "memberName": "timestamp", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "20043:15:0", + "src": "19642:15:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -15820,7 +15820,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1062, - "src": "20083:9:0", + "src": "19682:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -15833,7 +15833,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1064, - "src": "20120:12:0", + "src": "19719:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -15846,7 +15846,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1072, - "src": "20162:15:0", + "src": "19761:15:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -15859,7 +15859,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1074, - "src": "20204:12:0", + "src": "19803:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15873,7 +15873,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 71, - "src": "19854:11:0", + "src": "19453:11:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_struct$_Transaction_$71_storage_ptr_$", "typeString": "type(struct Escrow_v1_0.Transaction storage pointer)" @@ -15898,13 +15898,13 @@ "tokenAddress" ], "nodeType": "FunctionCall", - "src": "19854:373:0", + "src": "19453:373:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_memory", "typeString": "struct Escrow_v1_0.Transaction memory" } }, - "src": "19827:400:0", + "src": "19426:400:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -15912,7 +15912,7 @@ }, "id": 1148, "nodeType": "ExpressionStatement", - "src": "19827:400:0" + "src": "19426:400:0" }, { "expression": { @@ -15935,7 +15935,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "20238:12:0", + "src": "19837:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -15949,7 +15949,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1066, - "src": "20251:10:0", + "src": "19850:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -15960,7 +15960,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20238:24:0", + "src": "19837:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -15974,7 +15974,7 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "20238:32:0", + "src": "19837:32:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -15988,7 +15988,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1058, - "src": "20271:6:0", + "src": "19870:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15999,7 +15999,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "20238:40:0", + "src": "19837:40:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -16017,7 +16017,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "20281:4:0", + "src": "19880:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -16025,7 +16025,7 @@ }, "value": "true" }, - "src": "20238:47:0", + "src": "19837:47:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -16033,7 +16033,7 @@ }, "id": 1157, "nodeType": "ExpressionStatement", - "src": "20238:47:0" + "src": "19837:47:0" }, { "expression": { @@ -16056,7 +16056,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "20295:12:0", + "src": "19894:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -16070,7 +16070,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1066, - "src": "20308:10:0", + "src": "19907:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -16081,7 +16081,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20295:24:0", + "src": "19894:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -16095,7 +16095,7 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "20295:32:0", + "src": "19894:32:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -16109,7 +16109,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1056, - "src": "20328:5:0", + "src": "19927:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -16120,7 +16120,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "20295:39:0", + "src": "19894:39:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -16138,7 +16138,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "20337:4:0", + "src": "19936:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -16146,7 +16146,7 @@ }, "value": "true" }, - "src": "20295:46:0", + "src": "19894:46:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -16154,7 +16154,7 @@ }, "id": 1166, "nodeType": "ExpressionStatement", - "src": "20295:46:0" + "src": "19894:46:0" }, { "expression": { @@ -16170,7 +16170,7 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "20448:44:0", + "src": "20047:44:0", "subExpression": { "argumentTypes": null, "baseExpression": { @@ -16184,7 +16184,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "20449:12:0", + "src": "20048:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -16198,7 +16198,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1066, - "src": "20462:10:0", + "src": "20061:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -16209,7 +16209,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20449:24:0", + "src": "20048:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -16223,7 +16223,7 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "20449:32:0", + "src": "20048:32:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -16237,7 +16237,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1060, - "src": "20482:9:0", + "src": "20081:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -16248,7 +16248,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20449:43:0", + "src": "20048:43:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -16269,7 +16269,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "20507:47:0", + "src": "20106:47:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_313b391557427937e7bdb85c7561d47c5b9c985755a448dd33a92026ffb38f8d", @@ -16297,7 +16297,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "20427:7:0", + "src": "20026:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -16311,7 +16311,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "20427:137:0", + "src": "20026:137:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -16319,7 +16319,7 @@ }, "id": 1177, "nodeType": "ExpressionStatement", - "src": "20427:137:0" + "src": "20026:137:0" }, { "condition": { @@ -16340,7 +16340,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1062, - "src": "20724:9:0", + "src": "20323:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -16358,7 +16358,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "20736:1:0", + "src": "20335:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -16366,7 +16366,7 @@ }, "value": "1" }, - "src": "20724:13:0", + "src": "20323:13:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -16375,11 +16375,11 @@ "falseBody": null, "id": 1191, "nodeType": "IfStatement", - "src": "20720:93:0", + "src": "20319:94:0", "trueBody": { "id": 1190, "nodeType": "Block", - "src": "20738:75:0", + "src": "20338:75:0", "statements": [ { "expression": { @@ -16402,7 +16402,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "20752:12:0", + "src": "20352:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -16416,7 +16416,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1066, - "src": "20765:10:0", + "src": "20365:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -16427,7 +16427,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20752:24:0", + "src": "20352:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -16441,7 +16441,7 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "20752:32:0", + "src": "20352:32:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -16455,7 +16455,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1060, - "src": "20785:9:0", + "src": "20385:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -16466,7 +16466,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "20752:43:0", + "src": "20352:43:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -16484,7 +16484,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "20798:4:0", + "src": "20398:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -16492,7 +16492,7 @@ }, "value": "true" }, - "src": "20752:50:0", + "src": "20352:50:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -16500,7 +16500,7 @@ }, "id": 1189, "nodeType": "ExpressionStatement", - "src": "20752:50:0" + "src": "20352:50:0" } ] } @@ -16516,7 +16516,7 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "20831:18:0", + "src": "20431:18:0", "subExpression": { "argumentTypes": null, "id": 1192, @@ -16524,7 +16524,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 78, - "src": "20831:16:0", + "src": "20431:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -16537,7 +16537,7 @@ }, "id": 1194, "nodeType": "ExpressionStatement", - "src": "20831:18:0" + "src": "20431:18:0" }, { "expression": { @@ -16550,7 +16550,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1066, - "src": "20891:10:0", + "src": "20491:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -16573,7 +16573,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 83, - "src": "20860:18:0", + "src": "20460:18:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_bytes32_$dyn_storage_$", "typeString": "mapping(address => bytes32[] storage ref)" @@ -16587,7 +16587,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1056, - "src": "20879:5:0", + "src": "20479:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -16598,7 +16598,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20860:25:0", + "src": "20460:25:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage", "typeString": "bytes32[] storage ref" @@ -16612,7 +16612,7 @@ "memberName": "push", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "20860:30:0", + "src": "20460:30:0", "typeDescriptions": { "typeIdentifier": "t_function_arraypush_nonpayable$_t_bytes32_$returns$_t_uint256_$", "typeString": "function (bytes32) returns (uint256)" @@ -16626,7 +16626,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "20860:42:0", + "src": "20460:42:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -16634,7 +16634,7 @@ }, "id": 1201, "nodeType": "ExpressionStatement", - "src": "20860:42:0" + "src": "20460:42:0" }, { "expression": { @@ -16647,7 +16647,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1066, - "src": "20944:10:0", + "src": "20544:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -16670,7 +16670,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 83, - "src": "20912:18:0", + "src": "20512:18:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_bytes32_$dyn_storage_$", "typeString": "mapping(address => bytes32[] storage ref)" @@ -16684,7 +16684,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1058, - "src": "20931:6:0", + "src": "20531:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -16695,7 +16695,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20912:26:0", + "src": "20512:26:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage", "typeString": "bytes32[] storage ref" @@ -16709,7 +16709,7 @@ "memberName": "push", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "20912:31:0", + "src": "20512:31:0", "typeDescriptions": { "typeIdentifier": "t_function_arraypush_nonpayable$_t_bytes32_$returns$_t_uint256_$", "typeString": "function (bytes32) returns (uint256)" @@ -16723,7 +16723,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "20912:43:0", + "src": "20512:43:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -16731,7 +16731,7 @@ }, "id": 1208, "nodeType": "ExpressionStatement", - "src": "20912:43:0" + "src": "20512:43:0" } ] }, @@ -16753,7 +16753,7 @@ "name": "buyer", "nodeType": "VariableDeclaration", "scope": 1210, - "src": "18361:13:0", + "src": "17949:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -16764,7 +16764,7 @@ "id": 1055, "name": "address", "nodeType": "ElementaryTypeName", - "src": "18361:7:0", + "src": "17949:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -16779,7 +16779,7 @@ "name": "seller", "nodeType": "VariableDeclaration", "scope": 1210, - "src": "18384:14:0", + "src": "17972:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -16790,7 +16790,7 @@ "id": 1057, "name": "address", "nodeType": "ElementaryTypeName", - "src": "18384:7:0", + "src": "17972:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -16805,7 +16805,7 @@ "name": "moderator", "nodeType": "VariableDeclaration", "scope": 1210, - "src": "18408:17:0", + "src": "17996:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -16816,7 +16816,7 @@ "id": 1059, "name": "address", "nodeType": "ElementaryTypeName", - "src": "18408:7:0", + "src": "17996:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -16831,7 +16831,7 @@ "name": "threshold", "nodeType": "VariableDeclaration", "scope": 1210, - "src": "18435:15:0", + "src": "18023:15:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -16842,7 +16842,7 @@ "id": 1061, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "18435:5:0", + "src": "18023:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -16857,7 +16857,7 @@ "name": "timeoutHours", "nodeType": "VariableDeclaration", "scope": 1210, - "src": "18460:19:0", + "src": "18048:19:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -16868,7 +16868,7 @@ "id": 1063, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "18460:6:0", + "src": "18048:6:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -16883,7 +16883,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 1210, - "src": "18489:18:0", + "src": "18077:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -16894,7 +16894,7 @@ "id": 1065, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "18489:7:0", + "src": "18077:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -16909,7 +16909,7 @@ "name": "value", "nodeType": "VariableDeclaration", "scope": 1210, - "src": "18517:13:0", + "src": "18105:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -16920,7 +16920,7 @@ "id": 1067, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "18517:7:0", + "src": "18105:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -16935,7 +16935,7 @@ "name": "uniqueId", "nodeType": "VariableDeclaration", "scope": 1210, - "src": "18540:16:0", + "src": "18128:16:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -16946,7 +16946,7 @@ "id": 1069, "name": "bytes20", "nodeType": "ElementaryTypeName", - "src": "18540:7:0", + "src": "18128:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -16961,7 +16961,7 @@ "name": "transactionType", "nodeType": "VariableDeclaration", "scope": 1210, - "src": "18566:31:0", + "src": "18154:31:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -16974,7 +16974,7 @@ "name": "TransactionType", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 12, - "src": "18566:15:0", + "src": "18154:15:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -16989,7 +16989,7 @@ "name": "tokenAddress", "nodeType": "VariableDeclaration", "scope": 1210, - "src": "18607:20:0", + "src": "18195:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -17000,7 +17000,7 @@ "id": 1073, "name": "address", "nodeType": "ElementaryTypeName", - "src": "18607:7:0", + "src": "18195:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -17010,27 +17010,27 @@ "visibility": "internal" } ], - "src": "18351:282:0" + "src": "17939:282:0" }, "payable": false, "returnParameters": { "id": 1076, "nodeType": "ParameterList", "parameters": [], - "src": "18654:0:0" + "src": "18242:0:0" }, "scope": 1211, - "src": "18327:2635:0", + "src": "17915:2647:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "private" } ], "scope": 1212, - "src": "460:20504:0" + "src": "460:20104:0" } ], - "src": "0:20965:0" + "src": "0:20565:0" }, "legacyAST": { "absolutePath": "/home/sameep/freelancing-projects/toptal/open baazar/publicRepo/smart-contracts/contracts/escrow/Escrow_v1_0.sol", @@ -17385,7 +17385,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 38, - "src": "839:18:0", + "src": "848:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -17396,7 +17396,7 @@ "id": 31, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "839:7:0", + "src": "848:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -17412,7 +17412,7 @@ "name": "from", "nodeType": "VariableDeclaration", "scope": 38, - "src": "859:20:0", + "src": "877:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -17423,7 +17423,7 @@ "id": 33, "name": "address", "nodeType": "ElementaryTypeName", - "src": "859:7:0", + "src": "877:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -17439,7 +17439,7 @@ "name": "value", "nodeType": "VariableDeclaration", "scope": 38, - "src": "881:13:0", + "src": "908:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -17450,7 +17450,7 @@ "id": 35, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "881:7:0", + "src": "908:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -17460,9 +17460,9 @@ "visibility": "internal" } ], - "src": "838:57:0" + "src": "838:89:0" }, - "src": "826:70:0" + "src": "826:102:0" }, { "canonicalName": "Escrow_v1_0.Transaction", @@ -17474,7 +17474,7 @@ "name": "value", "nodeType": "VariableDeclaration", "scope": 71, - "src": "931:13:0", + "src": "963:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -17485,7 +17485,7 @@ "id": 39, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "931:7:0", + "src": "963:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -17500,7 +17500,7 @@ "name": "lastModified", "nodeType": "VariableDeclaration", "scope": 71, - "src": "954:20:0", + "src": "986:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -17511,7 +17511,7 @@ "id": 41, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "954:7:0", + "src": "986:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -17526,7 +17526,7 @@ "name": "status", "nodeType": "VariableDeclaration", "scope": 71, - "src": "1029:13:0", + "src": "1061:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -17539,7 +17539,7 @@ "name": "Status", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 9, - "src": "1029:6:0", + "src": "1061:6:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$9", "typeString": "enum Escrow_v1_0.Status" @@ -17554,7 +17554,7 @@ "name": "transactionType", "nodeType": "VariableDeclaration", "scope": 71, - "src": "1052:31:0", + "src": "1084:31:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -17567,7 +17567,7 @@ "name": "TransactionType", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 12, - "src": "1052:15:0", + "src": "1084:15:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -17582,7 +17582,7 @@ "name": "threshold", "nodeType": "VariableDeclaration", "scope": 71, - "src": "1093:15:0", + "src": "1125:15:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -17593,7 +17593,7 @@ "id": 47, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "1093:5:0", + "src": "1125:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -17608,7 +17608,7 @@ "name": "timeoutHours", "nodeType": "VariableDeclaration", "scope": 71, - "src": "1118:19:0", + "src": "1150:19:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -17619,7 +17619,7 @@ "id": 49, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "1118:6:0", + "src": "1150:6:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -17634,7 +17634,7 @@ "name": "buyer", "nodeType": "VariableDeclaration", "scope": 71, - "src": "1147:13:0", + "src": "1179:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -17645,7 +17645,7 @@ "id": 51, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1147:7:0", + "src": "1179:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -17660,7 +17660,7 @@ "name": "seller", "nodeType": "VariableDeclaration", "scope": 71, - "src": "1170:14:0", + "src": "1202:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -17671,7 +17671,7 @@ "id": 53, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1170:7:0", + "src": "1202:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -17686,7 +17686,7 @@ "name": "tokenAddress", "nodeType": "VariableDeclaration", "scope": 71, - "src": "1194:20:0", + "src": "1226:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -17697,7 +17697,7 @@ "id": 55, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1194:7:0", + "src": "1226:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -17712,7 +17712,7 @@ "name": "moderator", "nodeType": "VariableDeclaration", "scope": 71, - "src": "1266:17:0", + "src": "1297:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -17723,7 +17723,7 @@ "id": 57, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1266:7:0", + "src": "1297:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -17738,7 +17738,7 @@ "name": "isOwner", "nodeType": "VariableDeclaration", "scope": 71, - "src": "1293:30:0", + "src": "1324:30:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -17751,14 +17751,14 @@ "id": 59, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1301:7:0", + "src": "1332:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "Mapping", - "src": "1293:22:0", + "src": "1324:22:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -17767,7 +17767,7 @@ "id": 60, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "1310:4:0", + "src": "1341:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -17783,7 +17783,7 @@ "name": "voted", "nodeType": "VariableDeclaration", "scope": 71, - "src": "1367:28:0", + "src": "1398:28:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -17796,14 +17796,14 @@ "id": 63, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1375:7:0", + "src": "1406:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "Mapping", - "src": "1367:22:0", + "src": "1398:22:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -17812,7 +17812,7 @@ "id": 64, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "1384:4:0", + "src": "1415:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -17828,7 +17828,7 @@ "name": "beneficiaries", "nodeType": "VariableDeclaration", "scope": 71, - "src": "1437:36:0", + "src": "1468:36:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -17841,14 +17841,14 @@ "id": 67, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1445:7:0", + "src": "1476:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "Mapping", - "src": "1437:22:0", + "src": "1468:22:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -17857,7 +17857,7 @@ "id": 68, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "1454:4:0", + "src": "1485:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -17871,7 +17871,7 @@ "name": "Transaction", "nodeType": "StructDefinition", "scope": 1211, - "src": "902:606:0", + "src": "934:605:0", "visibility": "public" }, { @@ -17880,7 +17880,7 @@ "name": "transactions", "nodeType": "VariableDeclaration", "scope": 1211, - "src": "1514:51:0", + "src": "1545:51:0", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -17893,14 +17893,14 @@ "id": 72, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "1522:7:0", + "src": "1553:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "nodeType": "Mapping", - "src": "1514:31:0", + "src": "1545:31:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction)" @@ -17911,7 +17911,7 @@ "name": "Transaction", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 71, - "src": "1533:11:0", + "src": "1564:11:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction" @@ -17927,7 +17927,7 @@ "name": "transactionCount", "nodeType": "VariableDeclaration", "scope": 1211, - "src": "1572:35:0", + "src": "1603:35:0", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -17938,7 +17938,7 @@ "id": 76, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1572:7:0", + "src": "1603:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -17954,7 +17954,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1606:1:0", + "src": "1637:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -17970,7 +17970,7 @@ "name": "partyVsTransaction", "nodeType": "VariableDeclaration", "scope": 1211, - "src": "1684:54:0", + "src": "1715:55:0", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -17983,14 +17983,14 @@ "id": 79, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1692:7:0", + "src": "1723:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "Mapping", - "src": "1684:29:0", + "src": "1715:29:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_bytes32_$dyn_storage_$", "typeString": "mapping(address => bytes32[])" @@ -18000,7 +18000,7 @@ "id": 80, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "1703:7:0", + "src": "1734:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -18009,7 +18009,7 @@ "id": 81, "length": null, "nodeType": "ArrayTypeName", - "src": "1703:9:0", + "src": "1734:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -18023,7 +18023,7 @@ "body": { "id": 98, "nodeType": "Block", - "src": "1792:125:0", + "src": "1824:125:0", "statements": [ { "expression": { @@ -18051,7 +18051,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "1823:12:0", + "src": "1855:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -18065,7 +18065,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 85, - "src": "1836:10:0", + "src": "1868:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -18076,7 +18076,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "1823:24:0", + "src": "1855:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -18090,7 +18090,7 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": 40, - "src": "1823:30:0", + "src": "1855:30:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -18108,7 +18108,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1857:1:0", + "src": "1889:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -18116,7 +18116,7 @@ }, "value": "0" }, - "src": "1823:35:0", + "src": "1855:35:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -18132,7 +18132,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "1860:29:0", + "src": "1892:29:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_e6218ab6010d379e919c5d8d62438c20b22e478fd60139b985d89cb57bc71538", @@ -18160,7 +18160,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "1802:7:0", + "src": "1834:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -18174,7 +18174,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1802:97:0", + "src": "1834:97:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -18182,12 +18182,12 @@ }, "id": 96, "nodeType": "ExpressionStatement", - "src": "1802:97:0" + "src": "1834:97:0" }, { "id": 97, "nodeType": "PlaceholderStatement", - "src": "1909:1:0" + "src": "1941:1:0" } ] }, @@ -18205,7 +18205,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 99, - "src": "1772:18:0", + "src": "1804:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -18216,7 +18216,7 @@ "id": 84, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "1772:7:0", + "src": "1804:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -18226,16 +18226,16 @@ "visibility": "internal" } ], - "src": "1771:20:0" + "src": "1803:20:0" }, - "src": "1745:172:0", + "src": "1777:172:0", "visibility": "internal" }, { "body": { "id": 114, "nodeType": "Block", - "src": "1978:94:0", + "src": "2010:94:0", "statements": [ { "expression": { @@ -18263,7 +18263,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "1996:12:0", + "src": "2028:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -18277,7 +18277,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 101, - "src": "2009:10:0", + "src": "2041:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -18288,7 +18288,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "1996:24:0", + "src": "2028:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -18302,7 +18302,7 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": 40, - "src": "1996:30:0", + "src": "2028:30:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -18320,7 +18320,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2030:1:0", + "src": "2062:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -18328,7 +18328,7 @@ }, "value": "0" }, - "src": "1996:35:0", + "src": "2028:35:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -18344,7 +18344,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "2033:20:0", + "src": "2065:20:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_64ff8d63c933e41af18e90354a9e9e0a94a0877b0dd96b73b67df48f68d00e8a", @@ -18372,7 +18372,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "1988:7:0", + "src": "2020:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -18386,7 +18386,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1988:66:0", + "src": "2020:66:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -18394,12 +18394,12 @@ }, "id": 112, "nodeType": "ExpressionStatement", - "src": "1988:66:0" + "src": "2020:66:0" }, { "id": 113, "nodeType": "PlaceholderStatement", - "src": "2064:1:0" + "src": "2096:1:0" } ] }, @@ -18417,7 +18417,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 115, - "src": "1958:18:0", + "src": "1990:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -18428,7 +18428,7 @@ "id": 100, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "1958:7:0", + "src": "1990:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -18438,16 +18438,16 @@ "visibility": "internal" } ], - "src": "1957:20:0" + "src": "1989:20:0" }, - "src": "1923:149:0", + "src": "1955:149:0", "visibility": "internal" }, { "body": { "id": 131, "nodeType": "Block", - "src": "2121:145:0", + "src": "2153:145:0", "statements": [ { "expression": { @@ -18475,7 +18475,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "2152:12:0", + "src": "2184:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -18489,7 +18489,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 117, - "src": "2165:10:0", + "src": "2197:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -18500,7 +18500,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "2152:24:0", + "src": "2184:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -18514,7 +18514,7 @@ "memberName": "status", "nodeType": "MemberAccess", "referencedDeclaration": 44, - "src": "2152:31:0", + "src": "2184:31:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$9", "typeString": "enum Escrow_v1_0.Status" @@ -18531,7 +18531,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9, - "src": "2187:6:0", + "src": "2219:6:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_Status_$9_$", "typeString": "type(enum Escrow_v1_0.Status)" @@ -18545,13 +18545,13 @@ "memberName": "FUNDED", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "2187:13:0", + "src": "2219:13:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$9", "typeString": "enum Escrow_v1_0.Status" } }, - "src": "2152:48:0", + "src": "2184:48:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -18567,7 +18567,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "2202:36:0", + "src": "2234:36:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_5244efce1630cfae7257c0817c921ae75135c1043344a4cf9a1988c03337f39d", @@ -18595,7 +18595,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "2131:7:0", + "src": "2163:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -18609,7 +18609,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2131:117:0", + "src": "2163:117:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -18617,12 +18617,12 @@ }, "id": 129, "nodeType": "ExpressionStatement", - "src": "2131:117:0" + "src": "2163:117:0" }, { "id": 130, "nodeType": "PlaceholderStatement", - "src": "2258:1:0" + "src": "2290:1:0" } ] }, @@ -18640,7 +18640,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 132, - "src": "2101:18:0", + "src": "2133:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -18651,7 +18651,7 @@ "id": 116, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "2101:7:0", + "src": "2133:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -18661,16 +18661,16 @@ "visibility": "internal" } ], - "src": "2100:20:0" + "src": "2132:20:0" }, - "src": "2078:188:0", + "src": "2110:188:0", "visibility": "internal" }, { "body": { "id": 146, "nodeType": "Block", - "src": "2320:88:0", + "src": "2352:88:0", "statements": [ { "expression": { @@ -18694,7 +18694,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 134, - "src": "2338:14:0", + "src": "2370:14:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -18715,7 +18715,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2364:1:0", + "src": "2396:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -18737,7 +18737,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "2356:7:0", + "src": "2388:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" @@ -18752,13 +18752,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2356:10:0", + "src": "2388:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "2338:28:0", + "src": "2370:28:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -18774,7 +18774,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "2368:21:0", + "src": "2400:21:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_93e85f37f73cf8e1b855512ab7e00aab2b791117712ecb476daeb6c2c0a27a67", @@ -18802,7 +18802,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "2330:7:0", + "src": "2362:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -18816,7 +18816,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2330:60:0", + "src": "2362:60:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -18824,12 +18824,12 @@ }, "id": 144, "nodeType": "ExpressionStatement", - "src": "2330:60:0" + "src": "2362:60:0" }, { "id": 145, "nodeType": "PlaceholderStatement", - "src": "2400:1:0" + "src": "2432:1:0" } ] }, @@ -18847,7 +18847,7 @@ "name": "addressToCheck", "nodeType": "VariableDeclaration", "scope": 147, - "src": "2296:22:0", + "src": "2328:22:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -18858,7 +18858,7 @@ "id": 133, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2296:7:0", + "src": "2328:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -18868,16 +18868,16 @@ "visibility": "internal" } ], - "src": "2295:24:0" + "src": "2327:24:0" }, - "src": "2272:136:0", + "src": "2304:136:0", "visibility": "internal" }, { "body": { "id": 164, "nodeType": "Block", - "src": "2523:153:0", + "src": "2555:153:0", "statements": [ { "expression": { @@ -18905,7 +18905,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "2554:12:0", + "src": "2586:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -18919,7 +18919,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 149, - "src": "2567:10:0", + "src": "2599:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -18930,7 +18930,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "2554:24:0", + "src": "2586:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -18944,7 +18944,7 @@ "memberName": "transactionType", "nodeType": "MemberAccess", "referencedDeclaration": 46, - "src": "2554:40:0", + "src": "2586:40:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -18959,13 +18959,13 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 151, - "src": "2598:15:0", + "src": "2630:15:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" } }, - "src": "2554:59:0", + "src": "2586:59:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -18981,7 +18981,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "2615:33:0", + "src": "2647:33:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_c798eb33a8bd5d4c22212d5c8611219bb87da2d82aefe8e88b1f970a0f133cc3", @@ -19009,7 +19009,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "2533:7:0", + "src": "2565:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -19023,7 +19023,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2533:125:0", + "src": "2565:125:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -19031,12 +19031,12 @@ }, "id": 162, "nodeType": "ExpressionStatement", - "src": "2533:125:0" + "src": "2565:125:0" }, { "id": 163, "nodeType": "PlaceholderStatement", - "src": "2668:1:0" + "src": "2700:1:0" } ] }, @@ -19054,7 +19054,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 165, - "src": "2453:18:0", + "src": "2485:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -19065,7 +19065,7 @@ "id": 148, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "2453:7:0", + "src": "2485:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -19080,7 +19080,7 @@ "name": "transactionType", "nodeType": "VariableDeclaration", "scope": 165, - "src": "2481:31:0", + "src": "2513:31:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -19093,7 +19093,7 @@ "name": "TransactionType", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 12, - "src": "2481:15:0", + "src": "2513:15:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -19103,16 +19103,16 @@ "visibility": "internal" } ], - "src": "2443:75:0" + "src": "2475:75:0" }, - "src": "2414:262:0", + "src": "2446:262:0", "visibility": "internal" }, { "body": { "id": 181, "nodeType": "Block", - "src": "2721:152:0", + "src": "2753:152:0", "statements": [ { "expression": { @@ -19138,7 +19138,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1384, - "src": "2752:3:0", + "src": "2784:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -19152,7 +19152,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "2752:10:0", + "src": "2784:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -19171,7 +19171,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "2766:12:0", + "src": "2798:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -19185,7 +19185,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 167, - "src": "2779:10:0", + "src": "2811:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -19196,7 +19196,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "2766:24:0", + "src": "2798:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -19210,13 +19210,13 @@ "memberName": "buyer", "nodeType": "MemberAccess", "referencedDeclaration": 52, - "src": "2766:30:0", + "src": "2798:30:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "2752:44:0", + "src": "2784:44:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -19232,7 +19232,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "2798:47:0", + "src": "2830:47:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_b4fc72d2373e6fc668b2bc10a6c84713d84de5f4dc58bb69053e1a18ae67c2f9", @@ -19260,7 +19260,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "2731:7:0", + "src": "2763:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -19274,7 +19274,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2731:124:0", + "src": "2763:124:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -19282,12 +19282,12 @@ }, "id": 179, "nodeType": "ExpressionStatement", - "src": "2731:124:0" + "src": "2763:124:0" }, { "id": 180, "nodeType": "PlaceholderStatement", - "src": "2865:1:0" + "src": "2897:1:0" } ] }, @@ -19305,7 +19305,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 182, - "src": "2701:18:0", + "src": "2733:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -19316,7 +19316,7 @@ "id": 166, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "2701:7:0", + "src": "2733:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -19326,16 +19326,16 @@ "visibility": "internal" } ], - "src": "2700:20:0" + "src": "2732:20:0" }, - "src": "2682:191:0", + "src": "2714:191:0", "visibility": "internal" }, { "body": { "id": 233, "nodeType": "Block", - "src": "4167:347:0", + "src": "4030:347:0", "statements": [ { "expression": { @@ -19348,7 +19348,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 184, - "src": "4206:5:0", + "src": "4069:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -19361,7 +19361,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 186, - "src": "4225:6:0", + "src": "4088:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -19374,7 +19374,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 188, - "src": "4245:9:0", + "src": "4108:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -19387,7 +19387,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 190, - "src": "4268:9:0", + "src": "4131:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -19400,7 +19400,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 192, - "src": "4291:12:0", + "src": "4154:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -19413,7 +19413,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 194, - "src": "4317:10:0", + "src": "4180:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -19428,7 +19428,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1384, - "src": "4341:3:0", + "src": "4204:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -19442,7 +19442,7 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "4341:9:0", + "src": "4204:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -19455,7 +19455,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 196, - "src": "4364:8:0", + "src": "4227:8:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -19470,7 +19470,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12, - "src": "4386:15:0", + "src": "4249:15:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_TransactionType_$12_$", "typeString": "type(enum Escrow_v1_0.TransactionType)" @@ -19484,7 +19484,7 @@ "memberName": "ETHER", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "4386:21:0", + "src": "4249:21:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -19503,7 +19503,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "4429:1:0", + "src": "4292:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -19525,7 +19525,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "4421:7:0", + "src": "4284:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" @@ -19540,7 +19540,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4421:10:0", + "src": "4284:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -19595,7 +19595,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1210, - "src": "4177:15:0", + "src": "4040:15:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_address_$_t_uint8_$_t_uint32_$_t_bytes32_$_t_uint256_$_t_bytes20_$_t_enum$_TransactionType_$12_$_t_address_$returns$__$", "typeString": "function (address,address,address,uint8,uint32,bytes32,uint256,bytes20,enum Escrow_v1_0.TransactionType,address)" @@ -19609,7 +19609,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4177:264:0", + "src": "4040:264:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -19617,7 +19617,7 @@ }, "id": 224, "nodeType": "ExpressionStatement", - "src": "4177:264:0" + "src": "4040:264:0" }, { "eventCall": { @@ -19630,7 +19630,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 194, - "src": "4472:10:0", + "src": "4335:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -19645,7 +19645,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1384, - "src": "4484:3:0", + "src": "4347:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -19659,7 +19659,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "4484:10:0", + "src": "4347:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -19674,7 +19674,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1384, - "src": "4496:3:0", + "src": "4359:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -19688,7 +19688,7 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "4496:9:0", + "src": "4359:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -19715,7 +19715,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 38, - "src": "4465:6:0", + "src": "4328:6:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (bytes32,address,uint256)" @@ -19729,7 +19729,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4465:41:0", + "src": "4328:41:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -19737,11 +19737,11 @@ }, "id": 232, "nodeType": "EmitStatement", - "src": "4460:46:0" + "src": "4323:46:0" } ] }, - "documentation": "dev Add new transaction in the contract\nparam buyer The buyer of the transaction\nparam seller The seller of the listing associated with the transaction\nparam moderator Moderator for this transaction\nparam scriptHash keccak256 hash of the redeem script\nparam threshold Minimum number of singatures required to released funds\nparam timeoutHours Hours after which seller can release funds into his favour by signing transaction\nparam uniqueId bytes20 unique id for the transaction, generated by ETH wallet\nedeem Script format will be following\n\nscripthash-> keccak256(uniqueId, threshold, timeoutHours, buyer, seller, moderator)\nass amount of the ethers to be put in escrow\nlease keep in mind you will have to add moderator fees also in the value", + "documentation": "dev Add new transaction in the contract\nparam buyer The buyer of the transaction\nparam seller The seller of the listing associated with the transaction\nparam moderator Moderator for this transaction\nparam scriptHash keccak256 hash of the redeem script\nparam threshold Minimum number of singatures required to released funds\nparam timeoutHours Hours after which seller can release funds into his favour by signing transaction\nparam uniqueId bytes20 unique id for the transaction, generated by ETH wallet\nedeem Script format will be following\n\nass amount of the ethers to be put in escrow", "id": 234, "implemented": true, "isConstructor": false, @@ -19756,7 +19756,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 194, - "src": "4090:10:0", + "src": "3953:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -19771,14 +19771,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 115, - "src": "4065:24:0", + "src": "3928:24:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "4065:36:0" + "src": "3928:36:0" }, { "arguments": [ @@ -19789,7 +19789,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 184, - "src": "4125:5:0", + "src": "3988:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -19804,14 +19804,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 147, - "src": "4110:14:0", + "src": "3973:14:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_address_$", "typeString": "modifier (address)" } }, "nodeType": "ModifierInvocation", - "src": "4110:21:0" + "src": "3973:21:0" }, { "arguments": [ @@ -19822,7 +19822,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 186, - "src": "4155:6:0", + "src": "4018:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -19837,14 +19837,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 147, - "src": "4140:14:0", + "src": "4003:14:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_address_$", "typeString": "modifier (address)" } }, "nodeType": "ModifierInvocation", - "src": "4140:22:0" + "src": "4003:22:0" } ], "name": "addTransaction", @@ -19859,7 +19859,7 @@ "name": "buyer", "nodeType": "VariableDeclaration", "scope": 234, - "src": "3845:13:0", + "src": "3708:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -19870,7 +19870,7 @@ "id": 183, "name": "address", "nodeType": "ElementaryTypeName", - "src": "3845:7:0", + "src": "3708:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -19885,7 +19885,7 @@ "name": "seller", "nodeType": "VariableDeclaration", "scope": 234, - "src": "3868:14:0", + "src": "3731:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -19896,7 +19896,7 @@ "id": 185, "name": "address", "nodeType": "ElementaryTypeName", - "src": "3868:7:0", + "src": "3731:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -19911,7 +19911,7 @@ "name": "moderator", "nodeType": "VariableDeclaration", "scope": 234, - "src": "3892:17:0", + "src": "3755:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -19922,7 +19922,7 @@ "id": 187, "name": "address", "nodeType": "ElementaryTypeName", - "src": "3892:7:0", + "src": "3755:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -19937,7 +19937,7 @@ "name": "threshold", "nodeType": "VariableDeclaration", "scope": 234, - "src": "3919:15:0", + "src": "3782:15:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -19948,7 +19948,7 @@ "id": 189, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "3919:5:0", + "src": "3782:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -19963,7 +19963,7 @@ "name": "timeoutHours", "nodeType": "VariableDeclaration", "scope": 234, - "src": "3944:19:0", + "src": "3807:19:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -19974,7 +19974,7 @@ "id": 191, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "3944:6:0", + "src": "3807:6:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -19989,7 +19989,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 234, - "src": "3973:18:0", + "src": "3836:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -20000,7 +20000,7 @@ "id": 193, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "3973:7:0", + "src": "3836:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -20015,7 +20015,7 @@ "name": "uniqueId", "nodeType": "VariableDeclaration", "scope": 234, - "src": "4001:16:0", + "src": "3864:16:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -20026,7 +20026,7 @@ "id": 195, "name": "bytes20", "nodeType": "ElementaryTypeName", - "src": "4001:7:0", + "src": "3864:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -20036,17 +20036,17 @@ "visibility": "internal" } ], - "src": "3835:188:0" + "src": "3698:188:0" }, "payable": true, "returnParameters": { "id": 207, "nodeType": "ParameterList", "parameters": [], - "src": "4167:0:0" + "src": "4030:0:0" }, "scope": 1211, - "src": "3812:702:0", + "src": "3675:702:0", "stateMutability": "payable", "superFunction": null, "visibility": "external" @@ -20055,7 +20055,7 @@ "body": { "id": 305, "nodeType": "Block", - "src": "6048:587:0", + "src": "5728:587:0", "statements": [ { "expression": { @@ -20068,7 +20068,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 236, - "src": "6088:5:0", + "src": "5768:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -20081,7 +20081,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 238, - "src": "6107:6:0", + "src": "5787:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -20094,7 +20094,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 240, - "src": "6127:9:0", + "src": "5807:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -20107,7 +20107,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 242, - "src": "6150:9:0", + "src": "5830:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -20120,7 +20120,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 244, - "src": "6173:12:0", + "src": "5853:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -20133,7 +20133,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 246, - "src": "6199:10:0", + "src": "5879:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -20146,7 +20146,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 248, - "src": "6223:5:0", + "src": "5903:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -20159,7 +20159,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 250, - "src": "6242:8:0", + "src": "5922:8:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -20174,7 +20174,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12, - "src": "6264:15:0", + "src": "5944:15:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_TransactionType_$12_$", "typeString": "type(enum Escrow_v1_0.TransactionType)" @@ -20188,7 +20188,7 @@ "memberName": "TOKEN", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "6264:21:0", + "src": "5944:21:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -20201,7 +20201,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 252, - "src": "6299:12:0", + "src": "5979:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -20256,7 +20256,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1210, - "src": "6059:15:0", + "src": "5739:15:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_address_$_t_uint8_$_t_uint32_$_t_bytes32_$_t_uint256_$_t_bytes20_$_t_enum$_TransactionType_$12_$_t_address_$returns$__$", "typeString": "function (address,address,address,uint8,uint32,bytes32,uint256,bytes20,enum Escrow_v1_0.TransactionType,address)" @@ -20270,7 +20270,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6059:262:0", + "src": "5739:262:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -20278,7 +20278,7 @@ }, "id": 280, "nodeType": "ExpressionStatement", - "src": "6059:262:0" + "src": "5739:262:0" }, { "assignments": [ @@ -20291,7 +20291,7 @@ "name": "token", "nodeType": "VariableDeclaration", "scope": 306, - "src": "6332:20:0", + "src": "6012:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -20304,7 +20304,7 @@ "name": "ITokenContract", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 1241, - "src": "6332:14:0", + "src": "6012:14:0", "typeDescriptions": { "typeIdentifier": "t_contract$_ITokenContract_$1241", "typeString": "contract ITokenContract" @@ -20325,7 +20325,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 252, - "src": "6370:12:0", + "src": "6050:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -20344,7 +20344,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1241, - "src": "6355:14:0", + "src": "6035:14:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_ITokenContract_$1241_$", "typeString": "type(contract ITokenContract)" @@ -20358,14 +20358,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6355:28:0", + "src": "6035:28:0", "typeDescriptions": { "typeIdentifier": "t_contract$_ITokenContract_$1241", "typeString": "contract ITokenContract" } }, "nodeType": "VariableDeclarationStatement", - "src": "6332:51:0" + "src": "6012:51:0" }, { "expression": { @@ -20383,7 +20383,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1384, - "src": "6434:3:0", + "src": "6114:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -20397,7 +20397,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "6434:10:0", + "src": "6114:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -20410,7 +20410,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1401, - "src": "6446:4:0", + "src": "6126:4:0", "typeDescriptions": { "typeIdentifier": "t_contract$_Escrow_v1_0_$1211", "typeString": "contract Escrow_v1_0" @@ -20423,7 +20423,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 248, - "src": "6452:5:0", + "src": "6132:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -20452,7 +20452,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 282, - "src": "6415:5:0", + "src": "6095:5:0", "typeDescriptions": { "typeIdentifier": "t_contract$_ITokenContract_$1241", "typeString": "contract ITokenContract" @@ -20466,7 +20466,7 @@ "memberName": "transferFrom", "nodeType": "MemberAccess", "referencedDeclaration": 1240, - "src": "6415:18:0", + "src": "6095:18:0", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", "typeString": "function (address,address,uint256) external returns (bool)" @@ -20480,7 +20480,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6415:43:0", + "src": "6095:43:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -20496,7 +20496,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "6472:94:0", + "src": "6152:94:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_d9d07068d589bc4adc53018a3c57c159ec128fdfb62732a5fa9410e76cf03318", @@ -20524,7 +20524,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "6394:7:0", + "src": "6074:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -20538,7 +20538,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6394:182:0", + "src": "6074:182:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -20546,7 +20546,7 @@ }, "id": 297, "nodeType": "ExpressionStatement", - "src": "6394:182:0" + "src": "6074:182:0" }, { "eventCall": { @@ -20559,7 +20559,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 246, - "src": "6598:10:0", + "src": "6278:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -20574,7 +20574,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1384, - "src": "6610:3:0", + "src": "6290:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -20588,7 +20588,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "6610:10:0", + "src": "6290:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -20601,7 +20601,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 248, - "src": "6622:5:0", + "src": "6302:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -20628,7 +20628,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 38, - "src": "6591:6:0", + "src": "6271:6:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (bytes32,address,uint256)" @@ -20642,7 +20642,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6591:37:0", + "src": "6271:37:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -20650,11 +20650,11 @@ }, "id": 304, "nodeType": "EmitStatement", - "src": "6586:42:0" + "src": "6266:42:0" } ] }, - "documentation": "dev Add new transaction in the contract\nparam buyer The buyer of the transaction\nparam seller The seller of the listing associated with the transaction\nparam moderator Moderator for this transaction\nparam scriptHash keccak256 hash of the redeem script\nparam threshold Minimum number of singatures required to released funds\nparam timeoutHours Hours after which seller can release funds into his favour by signing transaction\nparam value Amount of tokens to be put in escrow\nparam uniqueId bytes20 unique id for the transaction, generated by ETH wallet\nparam tokenAddress Address of the token to be used\nedeem Script format will be following\n\nscripthash-> keccak256(uniqueId, threshold, timeoutHours, buyer, seller, moderator, tokenAddress)\npprove escrow contract to spend amount of token on your behalf\nlease keep in mind you will have to add moderator fees also in the value", + "documentation": "dev Add new transaction in the contract\nparam buyer The buyer of the transaction\nparam seller The seller of the listing associated with the transaction\nparam moderator Moderator for this transaction\nparam scriptHash keccak256 hash of the redeem script\nparam threshold Minimum number of singatures required to released funds\nparam timeoutHours Hours after which seller can release funds into his favour by signing transaction\nparam value Amount of tokens to be put in escrow\nparam uniqueId bytes20 unique id for the transaction, generated by ETH wallet\nparam tokenAddress Address of the token to be used\nedeem Script format will be following\n\npprove escrow contract to spend amount of token on your behalf", "id": 306, "implemented": true, "isConstructor": false, @@ -20669,7 +20669,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 246, - "src": "5934:10:0", + "src": "5614:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -20684,14 +20684,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 115, - "src": "5909:24:0", + "src": "5589:24:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "5909:36:0" + "src": "5589:36:0" }, { "arguments": [ @@ -20702,7 +20702,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 236, - "src": "5969:5:0", + "src": "5649:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -20717,14 +20717,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 147, - "src": "5954:14:0", + "src": "5634:14:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_address_$", "typeString": "modifier (address)" } }, "nodeType": "ModifierInvocation", - "src": "5954:21:0" + "src": "5634:21:0" }, { "arguments": [ @@ -20735,7 +20735,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 238, - "src": "5999:6:0", + "src": "5679:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -20750,14 +20750,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 147, - "src": "5984:14:0", + "src": "5664:14:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_address_$", "typeString": "modifier (address)" } }, "nodeType": "ModifierInvocation", - "src": "5984:22:0" + "src": "5664:22:0" }, { "arguments": [ @@ -20768,7 +20768,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 252, - "src": "6030:12:0", + "src": "5710:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -20783,14 +20783,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 147, - "src": "6015:14:0", + "src": "5695:14:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_address_$", "typeString": "modifier (address)" } }, "nodeType": "ModifierInvocation", - "src": "6015:28:0" + "src": "5695:28:0" } ], "name": "addTokenTransaction", @@ -20805,7 +20805,7 @@ "name": "buyer", "nodeType": "VariableDeclaration", "scope": 306, - "src": "5652:13:0", + "src": "5332:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -20816,7 +20816,7 @@ "id": 235, "name": "address", "nodeType": "ElementaryTypeName", - "src": "5652:7:0", + "src": "5332:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -20831,7 +20831,7 @@ "name": "seller", "nodeType": "VariableDeclaration", "scope": 306, - "src": "5675:14:0", + "src": "5355:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -20842,7 +20842,7 @@ "id": 237, "name": "address", "nodeType": "ElementaryTypeName", - "src": "5675:7:0", + "src": "5355:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -20857,7 +20857,7 @@ "name": "moderator", "nodeType": "VariableDeclaration", "scope": 306, - "src": "5699:17:0", + "src": "5379:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -20868,7 +20868,7 @@ "id": 239, "name": "address", "nodeType": "ElementaryTypeName", - "src": "5699:7:0", + "src": "5379:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -20883,7 +20883,7 @@ "name": "threshold", "nodeType": "VariableDeclaration", "scope": 306, - "src": "5726:15:0", + "src": "5406:15:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -20894,7 +20894,7 @@ "id": 241, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "5726:5:0", + "src": "5406:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -20909,7 +20909,7 @@ "name": "timeoutHours", "nodeType": "VariableDeclaration", "scope": 306, - "src": "5751:19:0", + "src": "5431:19:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -20920,7 +20920,7 @@ "id": 243, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "5751:6:0", + "src": "5431:6:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -20935,7 +20935,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 306, - "src": "5780:18:0", + "src": "5460:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -20946,7 +20946,7 @@ "id": 245, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "5780:7:0", + "src": "5460:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -20961,7 +20961,7 @@ "name": "value", "nodeType": "VariableDeclaration", "scope": 306, - "src": "5808:13:0", + "src": "5488:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -20972,7 +20972,7 @@ "id": 247, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "5808:7:0", + "src": "5488:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -20987,7 +20987,7 @@ "name": "uniqueId", "nodeType": "VariableDeclaration", "scope": 306, - "src": "5831:16:0", + "src": "5511:16:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -20998,7 +20998,7 @@ "id": 249, "name": "bytes20", "nodeType": "ElementaryTypeName", - "src": "5831:7:0", + "src": "5511:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -21013,7 +21013,7 @@ "name": "tokenAddress", "nodeType": "VariableDeclaration", "scope": 306, - "src": "5857:20:0", + "src": "5537:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -21024,7 +21024,7 @@ "id": 251, "name": "address", "nodeType": "ElementaryTypeName", - "src": "5857:7:0", + "src": "5537:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -21034,17 +21034,17 @@ "visibility": "internal" } ], - "src": "5642:241:0" + "src": "5322:241:0" }, "payable": false, "returnParameters": { "id": 266, "nodeType": "ParameterList", "parameters": [], - "src": "6048:0:0" + "src": "5728:0:0" }, "scope": 1211, - "src": "5614:1021:0", + "src": "5294:1021:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" @@ -21053,7 +21053,7 @@ "body": { "id": 322, "nodeType": "Block", - "src": "7005:75:0", + "src": "6685:75:0", "statements": [ { "expression": { @@ -21069,7 +21069,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "7022:12:0", + "src": "6702:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -21083,7 +21083,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 308, - "src": "7035:10:0", + "src": "6715:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -21094,7 +21094,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "7022:24:0", + "src": "6702:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -21108,7 +21108,7 @@ "memberName": "beneficiaries", "nodeType": "MemberAccess", "referencedDeclaration": 70, - "src": "7022:38:0", + "src": "6702:38:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -21122,7 +21122,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 310, - "src": "7061:11:0", + "src": "6741:11:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -21133,7 +21133,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "7022:51:0", + "src": "6702:51:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -21142,7 +21142,7 @@ "functionReturnParameters": 314, "id": 321, "nodeType": "Return", - "src": "7015:58:0" + "src": "6695:58:0" } ] }, @@ -21164,7 +21164,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 323, - "src": "6894:18:0", + "src": "6574:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -21175,7 +21175,7 @@ "id": 307, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "6894:7:0", + "src": "6574:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -21190,7 +21190,7 @@ "name": "beneficiary", "nodeType": "VariableDeclaration", "scope": 323, - "src": "6922:19:0", + "src": "6602:19:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -21201,7 +21201,7 @@ "id": 309, "name": "address", "nodeType": "ElementaryTypeName", - "src": "6922:7:0", + "src": "6602:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -21211,7 +21211,7 @@ "visibility": "internal" } ], - "src": "6884:63:0" + "src": "6564:63:0" }, "payable": false, "returnParameters": { @@ -21224,7 +21224,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 323, - "src": "6995:4:0", + "src": "6675:4:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -21235,7 +21235,7 @@ "id": 312, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "6995:4:0", + "src": "6675:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -21245,10 +21245,10 @@ "visibility": "internal" } ], - "src": "6994:6:0" + "src": "6674:6:0" }, "scope": 1211, - "src": "6859:221:0", + "src": "6539:221:0", "stateMutability": "view", "superFunction": null, "visibility": "external" @@ -21257,7 +21257,7 @@ "body": { "id": 339, "nodeType": "Block", - "src": "7436:61:0", + "src": "7116:61:0", "statements": [ { "expression": { @@ -21273,7 +21273,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "7453:12:0", + "src": "7133:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -21287,7 +21287,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 325, - "src": "7466:10:0", + "src": "7146:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -21298,7 +21298,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "7453:24:0", + "src": "7133:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -21312,7 +21312,7 @@ "memberName": "voted", "nodeType": "MemberAccess", "referencedDeclaration": 66, - "src": "7453:30:0", + "src": "7133:30:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -21326,7 +21326,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 327, - "src": "7484:5:0", + "src": "7164:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -21337,7 +21337,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "7453:37:0", + "src": "7133:37:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -21346,7 +21346,7 @@ "functionReturnParameters": 331, "id": 338, "nodeType": "Return", - "src": "7446:44:0" + "src": "7126:44:0" } ] }, @@ -21368,7 +21368,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 340, - "src": "7331:18:0", + "src": "7011:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -21379,7 +21379,7 @@ "id": 324, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "7331:7:0", + "src": "7011:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -21394,7 +21394,7 @@ "name": "party", "nodeType": "VariableDeclaration", "scope": 340, - "src": "7359:13:0", + "src": "7039:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -21405,7 +21405,7 @@ "id": 326, "name": "address", "nodeType": "ElementaryTypeName", - "src": "7359:7:0", + "src": "7039:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -21415,7 +21415,7 @@ "visibility": "internal" } ], - "src": "7321:57:0" + "src": "7001:57:0" }, "payable": false, "returnParameters": { @@ -21428,7 +21428,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 340, - "src": "7426:4:0", + "src": "7106:4:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -21439,7 +21439,7 @@ "id": 329, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "7426:4:0", + "src": "7106:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -21449,10 +21449,10 @@ "visibility": "internal" } ], - "src": "7425:6:0" + "src": "7105:6:0" }, "scope": 1211, - "src": "7303:194:0", + "src": "6983:194:0", "stateMutability": "view", "superFunction": null, "visibility": "external" @@ -21461,7 +21461,7 @@ "body": { "id": 399, "nodeType": "Block", - "src": "8083:330:0", + "src": "7781:330:0", "statements": [ { "assignments": [ @@ -21474,7 +21474,7 @@ "name": "_value", "nodeType": "VariableDeclaration", "scope": 400, - "src": "8093:14:0", + "src": "7791:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -21485,7 +21485,7 @@ "id": 359, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "8093:7:0", + "src": "7791:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -21505,7 +21505,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1384, - "src": "8110:3:0", + "src": "7808:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -21519,14 +21519,14 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "8110:9:0", + "src": "7808:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "8093:26:0" + "src": "7791:26:0" }, { "expression": { @@ -21550,7 +21550,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 360, - "src": "8138:6:0", + "src": "7836:6:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -21568,7 +21568,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "8147:1:0", + "src": "7845:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -21576,7 +21576,7 @@ }, "value": "0" }, - "src": "8138:10:0", + "src": "7836:10:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -21592,7 +21592,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "8150:34:0", + "src": "7848:34:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_21fbec2be6560b9ccffc4980d43c0d147770168e7aaf24999b418b9010085622", @@ -21620,7 +21620,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "8130:7:0", + "src": "7828:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -21634,7 +21634,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8130:55:0", + "src": "7828:55:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -21642,7 +21642,7 @@ }, "id": 370, "nodeType": "ExpressionStatement", - "src": "8130:55:0" + "src": "7828:55:0" }, { "expression": { @@ -21663,7 +21663,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "8196:12:0", + "src": "7894:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -21677,7 +21677,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 342, - "src": "8209:10:0", + "src": "7907:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -21688,7 +21688,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "8196:24:0", + "src": "7894:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -21702,7 +21702,7 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": 40, - "src": "8196:30:0", + "src": "7894:30:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -21720,7 +21720,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 360, - "src": "8277:6:0", + "src": "7975:6:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -21745,7 +21745,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "8229:12:0", + "src": "7927:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -21759,7 +21759,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 342, - "src": "8242:10:0", + "src": "7940:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -21770,7 +21770,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "8229:24:0", + "src": "7927:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -21784,7 +21784,7 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": 40, - "src": "8229:30:0", + "src": "7927:30:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -21798,7 +21798,7 @@ "memberName": "add", "nodeType": "MemberAccess", "referencedDeclaration": 1348, - "src": "8229:47:0", + "src": "7927:47:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" @@ -21812,13 +21812,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8229:55:0", + "src": "7927:55:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "8196:88:0", + "src": "7894:88:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -21826,7 +21826,7 @@ }, "id": 383, "nodeType": "ExpressionStatement", - "src": "8196:88:0" + "src": "7894:88:0" }, { "expression": { @@ -21847,7 +21847,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "8294:12:0", + "src": "7992:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -21861,7 +21861,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 342, - "src": "8307:10:0", + "src": "8005:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -21872,7 +21872,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "8294:24:0", + "src": "7992:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -21886,7 +21886,7 @@ "memberName": "lastModified", "nodeType": "MemberAccess", "referencedDeclaration": 42, - "src": "8294:37:0", + "src": "7992:37:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -21903,7 +21903,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1374, - "src": "8334:5:0", + "src": "8032:5:0", "typeDescriptions": { "typeIdentifier": "t_magic_block", "typeString": "block" @@ -21917,13 +21917,13 @@ "memberName": "timestamp", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "8334:15:0", + "src": "8032:15:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "8294:55:0", + "src": "7992:55:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -21931,7 +21931,7 @@ }, "id": 391, "nodeType": "ExpressionStatement", - "src": "8294:55:0" + "src": "7992:55:0" }, { "eventCall": { @@ -21944,7 +21944,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 342, - "src": "8375:10:0", + "src": "8073:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -21959,7 +21959,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1384, - "src": "8387:3:0", + "src": "8085:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -21973,7 +21973,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "8387:10:0", + "src": "8085:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -21986,7 +21986,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 360, - "src": "8399:6:0", + "src": "8097:6:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -22013,7 +22013,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 30, - "src": "8365:9:0", + "src": "8063:9:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (bytes32,address,uint256)" @@ -22027,7 +22027,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8365:41:0", + "src": "8063:41:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -22035,11 +22035,11 @@ }, "id": 398, "nodeType": "EmitStatement", - "src": "8360:46:0" + "src": "8058:46:0" } ] }, - "documentation": "dev Allows buyer of the transaction to add more funds(ether) in the transaction. This will help to cater scenarios wherein initially buyer missed to fund transaction as required\nparam scriptHash script hash of the transaction\nOnly buyer of the transaction can invoke this method", + "documentation": "@dev Allows buyer of the transaction to add more funds(ether) in the transaction. \nThis will help to cater scenarios wherein initially buyer missed to fund transaction as required\n@param scriptHash script hash of the transaction\nOnly buyer of the transaction can invoke this method", "id": 400, "implemented": true, "isConstructor": false, @@ -22054,7 +22054,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 342, - "src": "7923:10:0", + "src": "7628:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -22069,14 +22069,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 99, - "src": "7905:17:0", + "src": "7610:17:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "7905:29:0" + "src": "7610:29:0" }, { "arguments": [ @@ -22087,7 +22087,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 342, - "src": "7957:10:0", + "src": "7662:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -22102,14 +22102,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 132, - "src": "7943:13:0", + "src": "7648:13:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "7943:25:0" + "src": "7648:25:0" }, { "arguments": [ @@ -22120,7 +22120,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 342, - "src": "7998:10:0", + "src": "7703:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -22135,7 +22135,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12, - "src": "8010:15:0", + "src": "7715:15:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_TransactionType_$12_$", "typeString": "type(enum Escrow_v1_0.TransactionType)" @@ -22149,7 +22149,7 @@ "memberName": "ETHER", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "8010:21:0", + "src": "7715:21:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -22164,14 +22164,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 165, - "src": "7977:20:0", + "src": "7682:20:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$_t_enum$_TransactionType_$12_$", "typeString": "modifier (bytes32,enum Escrow_v1_0.TransactionType)" } }, "nodeType": "ModifierInvocation", - "src": "7977:55:0" + "src": "7682:55:0" }, { "arguments": [ @@ -22182,7 +22182,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 342, - "src": "8051:10:0", + "src": "7756:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -22197,14 +22197,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 182, - "src": "8041:9:0", + "src": "7746:9:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "8041:21:0" + "src": "7746:21:0" } ], "name": "addFundsToTransaction", @@ -22219,7 +22219,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 400, - "src": "7855:18:0", + "src": "7544:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -22230,7 +22230,7 @@ "id": 341, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "7855:7:0", + "src": "7544:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -22240,17 +22240,17 @@ "visibility": "internal" } ], - "src": "7845:34:0" + "src": "7534:34:0" }, "payable": true, "returnParameters": { "id": 358, "nodeType": "ParameterList", "parameters": [], - "src": "8083:0:0" + "src": "7781:0:0" }, "scope": 1211, - "src": "7815:598:0", + "src": "7504:607:0", "stateMutability": "payable", "superFunction": null, "visibility": "external" @@ -22259,7 +22259,7 @@ "body": { "id": 482, "nodeType": "Block", - "src": "8949:648:0", + "src": "8656:648:0", "statements": [ { "assignments": [ @@ -22272,7 +22272,7 @@ "name": "_value", "nodeType": "VariableDeclaration", "scope": 483, - "src": "8959:14:0", + "src": "8666:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -22283,7 +22283,7 @@ "id": 421, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "8959:7:0", + "src": "8666:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -22301,14 +22301,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 404, - "src": "8976:5:0", + "src": "8683:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "8959:22:0" + "src": "8666:22:0" }, { "expression": { @@ -22332,7 +22332,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 422, - "src": "9000:6:0", + "src": "8707:6:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -22350,7 +22350,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "9009:1:0", + "src": "8716:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -22358,7 +22358,7 @@ }, "value": "0" }, - "src": "9000:10:0", + "src": "8707:10:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -22374,7 +22374,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "9012:34:0", + "src": "8719:34:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_21fbec2be6560b9ccffc4980d43c0d147770168e7aaf24999b418b9010085622", @@ -22402,7 +22402,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "8992:7:0", + "src": "8699:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -22416,7 +22416,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8992:55:0", + "src": "8699:55:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -22424,7 +22424,7 @@ }, "id": 431, "nodeType": "ExpressionStatement", - "src": "8992:55:0" + "src": "8699:55:0" }, { "assignments": [ @@ -22437,7 +22437,7 @@ "name": "token", "nodeType": "VariableDeclaration", "scope": 483, - "src": "9058:20:0", + "src": "8765:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -22450,7 +22450,7 @@ "name": "ITokenContract", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 1241, - "src": "9058:14:0", + "src": "8765:14:0", "typeDescriptions": { "typeIdentifier": "t_contract$_ITokenContract_$1241", "typeString": "contract ITokenContract" @@ -22475,7 +22475,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "9109:12:0", + "src": "8816:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -22489,7 +22489,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 402, - "src": "9122:10:0", + "src": "8829:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -22500,7 +22500,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "9109:24:0", + "src": "8816:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -22514,7 +22514,7 @@ "memberName": "tokenAddress", "nodeType": "MemberAccess", "referencedDeclaration": 56, - "src": "9109:37:0", + "src": "8816:37:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -22533,7 +22533,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1241, - "src": "9081:14:0", + "src": "8788:14:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_ITokenContract_$1241_$", "typeString": "type(contract ITokenContract)" @@ -22547,14 +22547,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "9081:75:0", + "src": "8788:75:0", "typeDescriptions": { "typeIdentifier": "t_contract$_ITokenContract_$1241", "typeString": "contract ITokenContract" } }, "nodeType": "VariableDeclarationStatement", - "src": "9058:98:0" + "src": "8765:98:0" }, { "expression": { @@ -22574,7 +22574,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "9207:12:0", + "src": "8914:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -22588,7 +22588,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 402, - "src": "9220:10:0", + "src": "8927:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -22599,7 +22599,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "9207:24:0", + "src": "8914:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -22613,7 +22613,7 @@ "memberName": "buyer", "nodeType": "MemberAccess", "referencedDeclaration": 52, - "src": "9207:30:0", + "src": "8914:30:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -22626,7 +22626,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1401, - "src": "9239:4:0", + "src": "8946:4:0", "typeDescriptions": { "typeIdentifier": "t_contract$_Escrow_v1_0_$1211", "typeString": "contract Escrow_v1_0" @@ -22639,7 +22639,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 404, - "src": "9245:5:0", + "src": "8952:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -22668,7 +22668,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 433, - "src": "9188:5:0", + "src": "8895:5:0", "typeDescriptions": { "typeIdentifier": "t_contract$_ITokenContract_$1241", "typeString": "contract ITokenContract" @@ -22682,7 +22682,7 @@ "memberName": "transferFrom", "nodeType": "MemberAccess", "referencedDeclaration": 1240, - "src": "9188:18:0", + "src": "8895:18:0", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", "typeString": "function (address,address,uint256) external returns (bool)" @@ -22696,7 +22696,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "9188:63:0", + "src": "8895:63:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -22712,7 +22712,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "9265:94:0", + "src": "8972:94:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_d9d07068d589bc4adc53018a3c57c159ec128fdfb62732a5fa9410e76cf03318", @@ -22740,7 +22740,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "9167:7:0", + "src": "8874:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -22754,7 +22754,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "9167:202:0", + "src": "8874:202:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -22762,7 +22762,7 @@ }, "id": 453, "nodeType": "ExpressionStatement", - "src": "9167:202:0" + "src": "8874:202:0" }, { "expression": { @@ -22783,7 +22783,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "9380:12:0", + "src": "9087:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -22797,7 +22797,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 402, - "src": "9393:10:0", + "src": "9100:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -22808,7 +22808,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "9380:24:0", + "src": "9087:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -22822,7 +22822,7 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": 40, - "src": "9380:30:0", + "src": "9087:30:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -22840,7 +22840,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 422, - "src": "9461:6:0", + "src": "9168:6:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -22865,7 +22865,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "9413:12:0", + "src": "9120:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -22879,7 +22879,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 402, - "src": "9426:10:0", + "src": "9133:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -22890,7 +22890,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "9413:24:0", + "src": "9120:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -22904,7 +22904,7 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": 40, - "src": "9413:30:0", + "src": "9120:30:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -22918,7 +22918,7 @@ "memberName": "add", "nodeType": "MemberAccess", "referencedDeclaration": 1348, - "src": "9413:47:0", + "src": "9120:47:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" @@ -22932,13 +22932,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "9413:55:0", + "src": "9120:55:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "9380:88:0", + "src": "9087:88:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -22946,7 +22946,7 @@ }, "id": 466, "nodeType": "ExpressionStatement", - "src": "9380:88:0" + "src": "9087:88:0" }, { "expression": { @@ -22967,7 +22967,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "9478:12:0", + "src": "9185:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -22981,7 +22981,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 402, - "src": "9491:10:0", + "src": "9198:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -22992,7 +22992,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "9478:24:0", + "src": "9185:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -23006,7 +23006,7 @@ "memberName": "lastModified", "nodeType": "MemberAccess", "referencedDeclaration": 42, - "src": "9478:37:0", + "src": "9185:37:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -23023,7 +23023,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1374, - "src": "9518:5:0", + "src": "9225:5:0", "typeDescriptions": { "typeIdentifier": "t_magic_block", "typeString": "block" @@ -23037,13 +23037,13 @@ "memberName": "timestamp", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "9518:15:0", + "src": "9225:15:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "9478:55:0", + "src": "9185:55:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -23051,7 +23051,7 @@ }, "id": 474, "nodeType": "ExpressionStatement", - "src": "9478:55:0" + "src": "9185:55:0" }, { "eventCall": { @@ -23064,7 +23064,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 402, - "src": "9559:10:0", + "src": "9266:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -23079,7 +23079,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1384, - "src": "9571:3:0", + "src": "9278:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -23093,7 +23093,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "9571:10:0", + "src": "9278:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -23106,7 +23106,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 422, - "src": "9583:6:0", + "src": "9290:6:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -23133,7 +23133,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 30, - "src": "9549:9:0", + "src": "9256:9:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (bytes32,address,uint256)" @@ -23147,7 +23147,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "9549:41:0", + "src": "9256:41:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -23155,11 +23155,11 @@ }, "id": 481, "nodeType": "EmitStatement", - "src": "9544:46:0" + "src": "9251:46:0" } ] }, - "documentation": "dev Allows buyer of the transaction to add more funds(Tokens) in the transaction. This will help to cater scenarios wherein initially buyer missed to fund transaction as required\nparam scriptHash script hash of the transaction", + "documentation": "@dev Allows buyer of the transaction to add more funds(Tokens) in the transaction. \nThis will help to cater scenarios wherein initially buyer missed to fund transaction as required\n@param scriptHash script hash of the transaction", "id": 483, "implemented": true, "isConstructor": false, @@ -23174,7 +23174,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 402, - "src": "8805:10:0", + "src": "8512:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -23189,14 +23189,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 99, - "src": "8787:17:0", + "src": "8494:17:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "8787:29:0" + "src": "8494:29:0" }, { "arguments": [ @@ -23207,7 +23207,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 402, - "src": "8839:10:0", + "src": "8546:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -23222,14 +23222,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 132, - "src": "8825:13:0", + "src": "8532:13:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "8825:25:0" + "src": "8532:25:0" }, { "arguments": [ @@ -23240,7 +23240,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 402, - "src": "8880:10:0", + "src": "8587:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -23255,7 +23255,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12, - "src": "8892:15:0", + "src": "8599:15:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_TransactionType_$12_$", "typeString": "type(enum Escrow_v1_0.TransactionType)" @@ -23269,7 +23269,7 @@ "memberName": "TOKEN", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "8892:21:0", + "src": "8599:21:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -23284,14 +23284,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 165, - "src": "8859:20:0", + "src": "8566:20:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$_t_enum$_TransactionType_$12_$", "typeString": "modifier (bytes32,enum Escrow_v1_0.TransactionType)" } }, "nodeType": "ModifierInvocation", - "src": "8859:55:0" + "src": "8566:55:0" }, { "arguments": [ @@ -23302,7 +23302,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 402, - "src": "8933:10:0", + "src": "8640:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -23317,14 +23317,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 182, - "src": "8923:9:0", + "src": "8630:9:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "8923:21:0" + "src": "8630:21:0" } ], "name": "addTokensToTransaction", @@ -23339,7 +23339,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 483, - "src": "8714:18:0", + "src": "8421:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -23350,7 +23350,7 @@ "id": 401, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "8714:7:0", + "src": "8421:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -23365,7 +23365,7 @@ "name": "value", "nodeType": "VariableDeclaration", "scope": 483, - "src": "8742:13:0", + "src": "8449:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -23376,7 +23376,7 @@ "id": 403, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "8742:7:0", + "src": "8449:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -23386,17 +23386,17 @@ "visibility": "internal" } ], - "src": "8704:57:0" + "src": "8411:57:0" }, "payable": false, "returnParameters": { "id": 420, "nodeType": "ParameterList", "parameters": [], - "src": "8949:0:0" + "src": "8656:0:0" }, "scope": 1211, - "src": "8673:924:0", + "src": "8380:924:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" @@ -23405,7 +23405,7 @@ "body": { "id": 495, "nodeType": "Block", - "src": "9852:56:0", + "src": "9559:56:0", "statements": [ { "expression": { @@ -23417,7 +23417,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 83, - "src": "9869:18:0", + "src": "9576:18:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_bytes32_$dyn_storage_$", "typeString": "mapping(address => bytes32[] storage ref)" @@ -23431,7 +23431,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 485, - "src": "9888:12:0", + "src": "9595:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -23442,7 +23442,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "9869:32:0", + "src": "9576:32:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage", "typeString": "bytes32[] storage ref" @@ -23451,7 +23451,7 @@ "functionReturnParameters": 490, "id": 494, "nodeType": "Return", - "src": "9862:39:0" + "src": "9569:39:0" } ] }, @@ -23473,7 +23473,7 @@ "name": "partyAddress", "nodeType": "VariableDeclaration", "scope": 496, - "src": "9759:20:0", + "src": "9466:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -23484,7 +23484,7 @@ "id": 484, "name": "address", "nodeType": "ElementaryTypeName", - "src": "9759:7:0", + "src": "9466:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -23494,7 +23494,7 @@ "visibility": "internal" } ], - "src": "9749:36:0" + "src": "9456:36:0" }, "payable": false, "returnParameters": { @@ -23507,7 +23507,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 496, - "src": "9836:9:0", + "src": "9543:9:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -23519,7 +23519,7 @@ "id": 487, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "9836:7:0", + "src": "9543:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -23528,7 +23528,7 @@ "id": 488, "length": null, "nodeType": "ArrayTypeName", - "src": "9836:9:0", + "src": "9543:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -23538,10 +23538,10 @@ "visibility": "internal" } ], - "src": "9835:11:0" + "src": "9542:11:0" }, "scope": 1211, - "src": "9714:194:0", + "src": "9421:194:0", "stateMutability": "view", "superFunction": null, "visibility": "external" @@ -23550,7 +23550,7 @@ "body": { "id": 581, "nodeType": "Block", - "src": "10891:790:0", + "src": "10479:790:0", "statements": [ { "expression": { @@ -23587,7 +23587,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 510, - "src": "10922:12:0", + "src": "10510:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" @@ -23601,7 +23601,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "10922:19:0", + "src": "10510:19:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -23619,7 +23619,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "10942:1:0", + "src": "10530:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -23627,7 +23627,7 @@ }, "value": "0" }, - "src": "10922:21:0", + "src": "10510:21:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -23655,7 +23655,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 510, - "src": "10947:12:0", + "src": "10535:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" @@ -23669,7 +23669,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "10947:19:0", + "src": "10535:19:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -23686,7 +23686,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 513, - "src": "10970:7:0", + "src": "10558:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", "typeString": "uint256[] calldata" @@ -23700,19 +23700,19 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "10970:14:0", + "src": "10558:14:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "10947:37:0", + "src": "10535:37:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "10922:62:0", + "src": "10510:62:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -23728,7 +23728,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "10986:38:0", + "src": "10574:38:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_53e979b0c355ea1eeda44a80ca73370fdb2abe922711b459aa4ee43d1558782b", @@ -23756,7 +23756,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "10901:7:0", + "src": "10489:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -23770,7 +23770,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "10901:133:0", + "src": "10489:133:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -23778,7 +23778,7 @@ }, "id": 535, "nodeType": "ExpressionStatement", - "src": "10901:133:0" + "src": "10489:133:0" }, { "expression": { @@ -23791,7 +23791,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 499, - "src": "11076:4:0", + "src": "10664:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_calldata_ptr", "typeString": "uint8[] calldata" @@ -23804,7 +23804,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 502, - "src": "11094:4:0", + "src": "10682:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", "typeString": "bytes32[] calldata" @@ -23817,7 +23817,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 505, - "src": "11112:4:0", + "src": "10700:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", "typeString": "bytes32[] calldata" @@ -23830,7 +23830,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 507, - "src": "11130:10:0", + "src": "10718:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -23843,7 +23843,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 510, - "src": "11154:12:0", + "src": "10742:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" @@ -23856,7 +23856,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 513, - "src": "11180:7:0", + "src": "10768:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", "typeString": "uint256[] calldata" @@ -23895,7 +23895,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 706, - "src": "11045:17:0", + "src": "10633:17:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_array$_t_uint8_$dyn_memory_ptr_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_bytes32_$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$__$", "typeString": "function (uint8[] memory,bytes32[] memory,bytes32[] memory,bytes32,address[] memory,uint256[] memory)" @@ -23909,7 +23909,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "11045:152:0", + "src": "10633:152:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -23917,7 +23917,7 @@ }, "id": 544, "nodeType": "ExpressionStatement", - "src": "11045:152:0" + "src": "10633:152:0" }, { "expression": { @@ -23938,7 +23938,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "11208:12:0", + "src": "10796:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -23952,7 +23952,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 507, - "src": "11221:10:0", + "src": "10809:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -23963,7 +23963,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "11208:24:0", + "src": "10796:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -23977,7 +23977,7 @@ "memberName": "status", "nodeType": "MemberAccess", "referencedDeclaration": 44, - "src": "11208:31:0", + "src": "10796:31:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$9", "typeString": "enum Escrow_v1_0.Status" @@ -23994,7 +23994,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9, - "src": "11242:6:0", + "src": "10830:6:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_Status_$9_$", "typeString": "type(enum Escrow_v1_0.Status)" @@ -24008,13 +24008,13 @@ "memberName": "RELEASED", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "11242:15:0", + "src": "10830:15:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$9", "typeString": "enum Escrow_v1_0.Status" } }, - "src": "11208:49:0", + "src": "10796:49:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$9", "typeString": "enum Escrow_v1_0.Status" @@ -24022,7 +24022,7 @@ }, "id": 552, "nodeType": "ExpressionStatement", - "src": "11208:49:0" + "src": "10796:49:0" }, { "expression": { @@ -24043,7 +24043,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "11341:12:0", + "src": "10929:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -24057,7 +24057,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 507, - "src": "11354:10:0", + "src": "10942:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -24068,7 +24068,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "11341:24:0", + "src": "10929:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -24082,7 +24082,7 @@ "memberName": "lastModified", "nodeType": "MemberAccess", "referencedDeclaration": 42, - "src": "11341:37:0", + "src": "10929:37:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -24099,7 +24099,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1374, - "src": "11381:5:0", + "src": "10969:5:0", "typeDescriptions": { "typeIdentifier": "t_magic_block", "typeString": "block" @@ -24113,13 +24113,13 @@ "memberName": "timestamp", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "11381:15:0", + "src": "10969:15:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "11341:55:0", + "src": "10929:55:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -24127,7 +24127,7 @@ }, "id": 560, "nodeType": "ExpressionStatement", - "src": "11341:55:0" + "src": "10929:55:0" }, { "expression": { @@ -24154,7 +24154,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 507, - "src": "11441:10:0", + "src": "11029:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -24167,7 +24167,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 510, - "src": "11453:12:0", + "src": "11041:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" @@ -24180,7 +24180,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 513, - "src": "11467:7:0", + "src": "11055:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", "typeString": "uint256[] calldata" @@ -24207,7 +24207,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 893, - "src": "11427:13:0", + "src": "11015:13:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$_t_uint256_$", "typeString": "function (bytes32,address[] memory,uint256[] memory) returns (uint256)" @@ -24221,7 +24221,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "11427:48:0", + "src": "11015:48:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -24240,7 +24240,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "11479:12:0", + "src": "11067:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -24254,7 +24254,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 507, - "src": "11492:10:0", + "src": "11080:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -24265,7 +24265,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "11479:24:0", + "src": "11067:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -24279,13 +24279,13 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": 40, - "src": "11479:30:0", + "src": "11067:30:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "11427:82:0", + "src": "11015:82:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -24301,7 +24301,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "11523:74:0", + "src": "11111:74:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_9e0bdb14e2e0d5e118fd1f547268c6a1fdb5e8facacd614066d4b60bc2c9941d", @@ -24329,7 +24329,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "11406:7:0", + "src": "10994:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -24343,7 +24343,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "11406:201:0", + "src": "10994:201:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -24351,7 +24351,7 @@ }, "id": 574, "nodeType": "ExpressionStatement", - "src": "11406:201:0" + "src": "10994:201:0" }, { "eventCall": { @@ -24364,7 +24364,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 507, - "src": "11640:10:0", + "src": "11228:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -24377,7 +24377,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 510, - "src": "11652:12:0", + "src": "11240:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" @@ -24390,7 +24390,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 513, - "src": "11666:7:0", + "src": "11254:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", "typeString": "uint256[] calldata" @@ -24417,7 +24417,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 22, - "src": "11631:8:0", + "src": "11219:8:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$__$", "typeString": "function (bytes32,address[] memory,uint256[] memory)" @@ -24431,7 +24431,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "11631:43:0", + "src": "11219:43:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -24439,11 +24439,11 @@ }, "id": 580, "nodeType": "EmitStatement", - "src": "11626:48:0" + "src": "11214:48:0" } ] }, - "documentation": "dev This method will be used to release funds associated with the transaction\nPlease see specs https://github.com/OpenBazaar/smart-contracts/blob/master/contracts/escrow/EscrowSpec.md\nparam sigV Array containing V component of all the signatures\nparam sigR Array containing R component of all the signatures\nparam signS Array containing S component of all the signatures\nparam scriptHash script hash of the transaction\nparam destinations address of the destination in whose favour dispute resolution is taking place. In case of split payments it will be address of the split payments contract\nparam amounts value to send to each destination", + "documentation": "dev This method will be used to release funds associated with the transaction\nPlease see specs https://github.com/OpenBazaar/smart-contracts/blob/master/contracts/escrow/EscrowSpec.md\nparam sigV Array containing V component of all the signatures\nparam sigR Array containing R component of all the signatures\nparam signS Array containing S component of all the signatures\nparam scriptHash script hash of the transaction\nparam destinations List of addresses to receive funds\nparam amounts value released to each destination", "id": 582, "implemented": true, "isConstructor": false, @@ -24458,7 +24458,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 507, - "src": "10841:10:0", + "src": "10429:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -24473,14 +24473,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 99, - "src": "10823:17:0", + "src": "10411:17:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "10823:29:0" + "src": "10411:29:0" }, { "arguments": [ @@ -24491,7 +24491,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 507, - "src": "10875:10:0", + "src": "10463:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -24506,14 +24506,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 132, - "src": "10861:13:0", + "src": "10449:13:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "10861:25:0" + "src": "10449:25:0" } ], "name": "execute", @@ -24528,7 +24528,7 @@ "name": "sigV", "nodeType": "VariableDeclaration", "scope": 582, - "src": "10644:12:0", + "src": "10232:12:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -24540,7 +24540,7 @@ "id": 497, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "10644:5:0", + "src": "10232:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -24549,7 +24549,7 @@ "id": 498, "length": null, "nodeType": "ArrayTypeName", - "src": "10644:7:0", + "src": "10232:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_storage_ptr", "typeString": "uint8[]" @@ -24564,7 +24564,7 @@ "name": "sigR", "nodeType": "VariableDeclaration", "scope": 582, - "src": "10666:14:0", + "src": "10254:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -24576,7 +24576,7 @@ "id": 500, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "10666:7:0", + "src": "10254:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -24585,7 +24585,7 @@ "id": 501, "length": null, "nodeType": "ArrayTypeName", - "src": "10666:9:0", + "src": "10254:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -24600,7 +24600,7 @@ "name": "sigS", "nodeType": "VariableDeclaration", "scope": 582, - "src": "10690:14:0", + "src": "10278:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -24612,7 +24612,7 @@ "id": 503, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "10690:7:0", + "src": "10278:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -24621,7 +24621,7 @@ "id": 504, "length": null, "nodeType": "ArrayTypeName", - "src": "10690:9:0", + "src": "10278:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -24636,7 +24636,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 582, - "src": "10714:18:0", + "src": "10302:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -24647,7 +24647,7 @@ "id": 506, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "10714:7:0", + "src": "10302:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -24662,7 +24662,7 @@ "name": "destinations", "nodeType": "VariableDeclaration", "scope": 582, - "src": "10742:22:0", + "src": "10330:22:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -24674,7 +24674,7 @@ "id": 508, "name": "address", "nodeType": "ElementaryTypeName", - "src": "10742:7:0", + "src": "10330:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -24683,7 +24683,7 @@ "id": 509, "length": null, "nodeType": "ArrayTypeName", - "src": "10742:9:0", + "src": "10330:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", "typeString": "address[]" @@ -24698,7 +24698,7 @@ "name": "amounts", "nodeType": "VariableDeclaration", "scope": 582, - "src": "10774:17:0", + "src": "10362:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -24710,7 +24710,7 @@ "id": 511, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "10774:7:0", + "src": "10362:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -24719,7 +24719,7 @@ "id": 512, "length": null, "nodeType": "ArrayTypeName", - "src": "10774:9:0", + "src": "10362:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -24729,17 +24729,17 @@ "visibility": "internal" } ], - "src": "10634:163:0" + "src": "10222:163:0" }, "payable": false, "returnParameters": { "id": 521, "nodeType": "ParameterList", "parameters": [], - "src": "10891:0:0" + "src": "10479:0:0" }, "scope": 1211, - "src": "10618:1063:0", + "src": "10206:1063:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" @@ -24748,7 +24748,7 @@ "body": { "id": 636, "nodeType": "Block", - "src": "12435:716:0", + "src": "12023:716:0", "statements": [ { "condition": { @@ -24769,7 +24769,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 596, - "src": "12449:12:0", + "src": "12037:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -24790,7 +24790,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "12473:1:0", + "src": "12061:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -24812,7 +24812,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "12465:7:0", + "src": "12053:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" @@ -24827,13 +24827,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "12465:10:0", + "src": "12053:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "12449:26:0", + "src": "12037:26:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -24842,7 +24842,7 @@ "falseBody": { "id": 634, "nodeType": "Block", - "src": "12797:348:0", + "src": "12385:348:0", "statements": [ { "expression": { @@ -24858,7 +24858,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 584, - "src": "12883:8:0", + "src": "12471:8:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -24871,7 +24871,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 586, - "src": "12913:9:0", + "src": "12501:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -24884,7 +24884,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 588, - "src": "12944:12:0", + "src": "12532:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -24897,7 +24897,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 590, - "src": "12978:5:0", + "src": "12566:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -24910,7 +24910,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 592, - "src": "13005:6:0", + "src": "12593:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -24923,7 +24923,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 594, - "src": "13033:9:0", + "src": "12621:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -24936,7 +24936,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1401, - "src": "13064:4:0", + "src": "12652:4:0", "typeDescriptions": { "typeIdentifier": "t_contract$_Escrow_v1_0_$1211", "typeString": "contract Escrow_v1_0" @@ -24949,7 +24949,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 596, - "src": "13090:12:0", + "src": "12678:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -24998,7 +24998,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1371, - "src": "12845:3:0", + "src": "12433:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" @@ -25012,7 +25012,7 @@ "memberName": "encodePacked", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "12845:16:0", + "src": "12433:16:0", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" @@ -25026,7 +25026,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "12845:275:0", + "src": "12433:275:0", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -25045,7 +25045,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1378, - "src": "12818:9:0", + "src": "12406:9:0", "typeDescriptions": { "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", "typeString": "function () pure returns (bytes32)" @@ -25059,7 +25059,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "12818:316:0", + "src": "12406:316:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -25068,17 +25068,17 @@ "functionReturnParameters": 600, "id": 633, "nodeType": "Return", - "src": "12811:323:0" + "src": "12399:323:0" } ] }, "id": 635, "nodeType": "IfStatement", - "src": "12445:700:0", + "src": "12033:700:0", "trueBody": { "id": 619, "nodeType": "Block", - "src": "12477:314:0", + "src": "12065:314:0", "statements": [ { "expression": { @@ -25094,7 +25094,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 584, - "src": "12563:8:0", + "src": "12151:8:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -25107,7 +25107,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 586, - "src": "12593:9:0", + "src": "12181:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -25120,7 +25120,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 588, - "src": "12624:12:0", + "src": "12212:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -25133,7 +25133,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 590, - "src": "12658:5:0", + "src": "12246:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -25146,7 +25146,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 592, - "src": "12685:6:0", + "src": "12273:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -25159,7 +25159,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 594, - "src": "12713:9:0", + "src": "12301:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -25172,7 +25172,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1401, - "src": "12744:4:0", + "src": "12332:4:0", "typeDescriptions": { "typeIdentifier": "t_contract$_Escrow_v1_0_$1211", "typeString": "contract Escrow_v1_0" @@ -25217,7 +25217,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1371, - "src": "12525:3:0", + "src": "12113:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" @@ -25231,7 +25231,7 @@ "memberName": "encodePacked", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "12525:16:0", + "src": "12113:16:0", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" @@ -25245,7 +25245,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "12525:241:0", + "src": "12113:241:0", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -25264,7 +25264,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1378, - "src": "12498:9:0", + "src": "12086:9:0", "typeDescriptions": { "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", "typeString": "function () pure returns (bytes32)" @@ -25278,7 +25278,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "12498:282:0", + "src": "12086:282:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -25287,7 +25287,7 @@ "functionReturnParameters": 600, "id": 618, "nodeType": "Return", - "src": "12491:289:0" + "src": "12079:289:0" } ] } @@ -25312,7 +25312,7 @@ "name": "uniqueId", "nodeType": "VariableDeclaration", "scope": 637, - "src": "12196:16:0", + "src": "11784:16:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -25323,7 +25323,7 @@ "id": 583, "name": "bytes20", "nodeType": "ElementaryTypeName", - "src": "12196:7:0", + "src": "11784:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -25338,7 +25338,7 @@ "name": "threshold", "nodeType": "VariableDeclaration", "scope": 637, - "src": "12222:15:0", + "src": "11810:15:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -25349,7 +25349,7 @@ "id": 585, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "12222:5:0", + "src": "11810:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -25364,7 +25364,7 @@ "name": "timeoutHours", "nodeType": "VariableDeclaration", "scope": 637, - "src": "12247:19:0", + "src": "11835:19:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -25375,7 +25375,7 @@ "id": 587, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "12247:6:0", + "src": "11835:6:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -25390,7 +25390,7 @@ "name": "buyer", "nodeType": "VariableDeclaration", "scope": 637, - "src": "12276:13:0", + "src": "11864:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -25401,7 +25401,7 @@ "id": 589, "name": "address", "nodeType": "ElementaryTypeName", - "src": "12276:7:0", + "src": "11864:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -25416,7 +25416,7 @@ "name": "seller", "nodeType": "VariableDeclaration", "scope": 637, - "src": "12299:14:0", + "src": "11887:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -25427,7 +25427,7 @@ "id": 591, "name": "address", "nodeType": "ElementaryTypeName", - "src": "12299:7:0", + "src": "11887:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -25442,7 +25442,7 @@ "name": "moderator", "nodeType": "VariableDeclaration", "scope": 637, - "src": "12323:17:0", + "src": "11911:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -25453,7 +25453,7 @@ "id": 593, "name": "address", "nodeType": "ElementaryTypeName", - "src": "12323:7:0", + "src": "11911:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -25468,7 +25468,7 @@ "name": "tokenAddress", "nodeType": "VariableDeclaration", "scope": 637, - "src": "12350:20:0", + "src": "11938:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -25479,7 +25479,7 @@ "id": 595, "name": "address", "nodeType": "ElementaryTypeName", - "src": "12350:7:0", + "src": "11938:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -25489,7 +25489,7 @@ "visibility": "internal" } ], - "src": "12186:190:0" + "src": "11774:190:0" }, "payable": false, "returnParameters": { @@ -25502,7 +25502,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 637, - "src": "12422:7:0", + "src": "12010:7:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -25513,7 +25513,7 @@ "id": 598, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "12422:7:0", + "src": "12010:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -25523,10 +25523,10 @@ "visibility": "internal" } ], - "src": "12421:9:0" + "src": "12009:9:0" }, "scope": 1211, - "src": "12152:999:0", + "src": "11740:999:0", "stateMutability": "view", "superFunction": null, "visibility": "public" @@ -25535,7 +25535,7 @@ "body": { "id": 705, "nodeType": "Block", - "src": "13635:795:0", + "src": "13223:795:0", "statements": [ { "assignments": [ @@ -25548,7 +25548,7 @@ "name": "lastRecovered", "nodeType": "VariableDeclaration", "scope": 706, - "src": "13645:21:0", + "src": "13233:21:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -25559,7 +25559,7 @@ "id": 657, "name": "address", "nodeType": "ElementaryTypeName", - "src": "13645:7:0", + "src": "13233:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -25580,7 +25580,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 640, - "src": "13699:4:0", + "src": "13287:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr", "typeString": "uint8[] memory" @@ -25593,7 +25593,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 643, - "src": "13717:4:0", + "src": "13305:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" @@ -25606,7 +25606,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 646, - "src": "13735:4:0", + "src": "13323:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" @@ -25619,7 +25619,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 648, - "src": "13753:10:0", + "src": "13341:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -25632,7 +25632,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 651, - "src": "13777:12:0", + "src": "13365:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -25645,7 +25645,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 654, - "src": "13803:7:0", + "src": "13391:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" @@ -25684,7 +25684,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1022, - "src": "13669:16:0", + "src": "13257:16:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_array$_t_uint8_$dyn_memory_ptr_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_bytes32_$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$_t_address_$", "typeString": "function (uint8[] memory,bytes32[] memory,bytes32[] memory,bytes32,address[] memory,uint256[] memory) returns (address)" @@ -25698,14 +25698,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "13669:151:0", + "src": "13257:151:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "VariableDeclarationStatement", - "src": "13645:175:0" + "src": "13233:175:0" }, { "assignments": [ @@ -25718,7 +25718,7 @@ "name": "timeLockExpired", "nodeType": "VariableDeclaration", "scope": 706, - "src": "13831:20:0", + "src": "13419:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -25729,7 +25729,7 @@ "id": 668, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "13831:4:0", + "src": "13419:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -25754,7 +25754,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "13885:12:0", + "src": "13473:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -25768,7 +25768,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 648, - "src": "13898:10:0", + "src": "13486:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -25779,7 +25779,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "13885:24:0", + "src": "13473:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -25793,7 +25793,7 @@ "memberName": "timeoutHours", "nodeType": "MemberAccess", "referencedDeclaration": 50, - "src": "13885:37:0", + "src": "13473:37:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -25810,7 +25810,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "13936:12:0", + "src": "13524:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -25824,7 +25824,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 648, - "src": "13949:10:0", + "src": "13537:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -25835,7 +25835,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "13936:24:0", + "src": "13524:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -25849,7 +25849,7 @@ "memberName": "lastModified", "nodeType": "MemberAccess", "referencedDeclaration": 42, - "src": "13936:37:0", + "src": "13524:37:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -25872,7 +25872,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1054, - "src": "13854:17:0", + "src": "13442:17:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_uint32_$_t_uint256_$returns$_t_bool_$", "typeString": "function (uint32,uint256) view returns (bool)" @@ -25886,14 +25886,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "13854:129:0", + "src": "13442:129:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "nodeType": "VariableDeclarationStatement", - "src": "13831:152:0" + "src": "13419:152:0" }, { "condition": { @@ -25927,7 +25927,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 640, - "src": "14155:4:0", + "src": "13743:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr", "typeString": "uint8[] memory" @@ -25941,7 +25941,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "14155:11:0", + "src": "13743:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -25960,7 +25960,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "14169:12:0", + "src": "13757:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -25974,7 +25974,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 648, - "src": "14182:10:0", + "src": "13770:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -25985,7 +25985,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "14169:24:0", + "src": "13757:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -25999,13 +25999,13 @@ "memberName": "threshold", "nodeType": "MemberAccess", "referencedDeclaration": 48, - "src": "14169:34:0", + "src": "13757:34:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, - "src": "14155:48:0", + "src": "13743:48:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -26037,7 +26037,7 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "14208:16:0", + "src": "13796:16:0", "subExpression": { "argumentTypes": null, "id": 688, @@ -26045,7 +26045,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 669, - "src": "14209:15:0", + "src": "13797:15:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -26076,7 +26076,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 658, - "src": "14228:13:0", + "src": "13816:13:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -26095,7 +26095,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "14245:12:0", + "src": "13833:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -26109,7 +26109,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 648, - "src": "14258:10:0", + "src": "13846:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -26120,7 +26120,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "14245:24:0", + "src": "13833:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -26134,19 +26134,19 @@ "memberName": "seller", "nodeType": "MemberAccess", "referencedDeclaration": 54, - "src": "14245:31:0", + "src": "13833:31:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "14228:48:0", + "src": "13816:48:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "14208:68:0", + "src": "13796:68:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -26160,13 +26160,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "14207:70:0", + "src": "13795:70:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "14155:122:0", + "src": "13743:122:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -26175,11 +26175,11 @@ "falseBody": null, "id": 704, "nodeType": "IfStatement", - "src": "14134:289:0", + "src": "13722:289:0", "trueBody": { "id": 703, "nodeType": "Block", - "src": "14300:123:0", + "src": "13888:123:0", "statements": [ { "expression": { @@ -26195,7 +26195,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "14321:90:0", + "src": "13909:90:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_e454643f61f81e3a3dc8dabaafde295fea592e232abeb03abbb1835bdc3d20d0", @@ -26219,7 +26219,7 @@ 1390 ], "referencedDeclaration": 1390, - "src": "14314:6:0", + "src": "13902:6:0", "typeDescriptions": { "typeIdentifier": "t_function_revert_pure$_t_string_memory_ptr_$returns$__$", "typeString": "function (string memory) pure" @@ -26233,7 +26233,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "14314:98:0", + "src": "13902:98:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -26241,7 +26241,7 @@ }, "id": 702, "nodeType": "ExpressionStatement", - "src": "14314:98:0" + "src": "13902:98:0" } ] } @@ -26266,7 +26266,7 @@ "name": "sigV", "nodeType": "VariableDeclaration", "scope": 706, - "src": "13461:12:0", + "src": "13049:12:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -26278,7 +26278,7 @@ "id": 638, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "13461:5:0", + "src": "13049:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -26287,7 +26287,7 @@ "id": 639, "length": null, "nodeType": "ArrayTypeName", - "src": "13461:7:0", + "src": "13049:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_storage_ptr", "typeString": "uint8[]" @@ -26302,7 +26302,7 @@ "name": "sigR", "nodeType": "VariableDeclaration", "scope": 706, - "src": "13483:14:0", + "src": "13071:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -26314,7 +26314,7 @@ "id": 641, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "13483:7:0", + "src": "13071:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -26323,7 +26323,7 @@ "id": 642, "length": null, "nodeType": "ArrayTypeName", - "src": "13483:9:0", + "src": "13071:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -26338,7 +26338,7 @@ "name": "sigS", "nodeType": "VariableDeclaration", "scope": 706, - "src": "13507:14:0", + "src": "13095:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -26350,7 +26350,7 @@ "id": 644, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "13507:7:0", + "src": "13095:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -26359,7 +26359,7 @@ "id": 645, "length": null, "nodeType": "ArrayTypeName", - "src": "13507:9:0", + "src": "13095:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -26374,7 +26374,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 706, - "src": "13531:18:0", + "src": "13119:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -26385,7 +26385,7 @@ "id": 647, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "13531:7:0", + "src": "13119:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -26400,7 +26400,7 @@ "name": "destinations", "nodeType": "VariableDeclaration", "scope": 706, - "src": "13559:22:0", + "src": "13147:22:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -26412,7 +26412,7 @@ "id": 649, "name": "address", "nodeType": "ElementaryTypeName", - "src": "13559:7:0", + "src": "13147:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -26421,7 +26421,7 @@ "id": 650, "length": null, "nodeType": "ArrayTypeName", - "src": "13559:9:0", + "src": "13147:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", "typeString": "address[]" @@ -26436,7 +26436,7 @@ "name": "amounts", "nodeType": "VariableDeclaration", "scope": 706, - "src": "13591:17:0", + "src": "13179:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -26448,7 +26448,7 @@ "id": 652, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "13591:7:0", + "src": "13179:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -26457,7 +26457,7 @@ "id": 653, "length": null, "nodeType": "ArrayTypeName", - "src": "13591:9:0", + "src": "13179:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -26467,17 +26467,17 @@ "visibility": "internal" } ], - "src": "13451:163:0" + "src": "13039:163:0" }, "payable": false, "returnParameters": { "id": 656, "nodeType": "ParameterList", "parameters": [], - "src": "13635:0:0" + "src": "13223:0:0" }, "scope": 1211, - "src": "13425:1005:0", + "src": "13013:1005:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "private" @@ -26486,7 +26486,7 @@ "body": { "id": 892, "nodeType": "Block", - "src": "14716:1447:0", + "src": "14304:1447:0", "statements": [ { "assignments": [ @@ -26499,7 +26499,7 @@ "name": "t", "nodeType": "VariableDeclaration", "scope": 893, - "src": "14726:21:0", + "src": "14314:21:0", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { @@ -26512,7 +26512,7 @@ "name": "Transaction", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 71, - "src": "14726:11:0", + "src": "14314:11:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction" @@ -26532,7 +26532,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "14750:12:0", + "src": "14338:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -26546,7 +26546,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 708, - "src": "14763:10:0", + "src": "14351:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -26557,14 +26557,14 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "14750:24:0", + "src": "14338:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "14726:48:0" + "src": "14314:48:0" }, { "assignments": [ @@ -26577,7 +26577,7 @@ "name": "valueTransferred", "nodeType": "VariableDeclaration", "scope": 893, - "src": "14785:24:0", + "src": "14373:24:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -26588,7 +26588,7 @@ "id": 725, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "14785:7:0", + "src": "14373:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -26609,7 +26609,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "14812:1:0", + "src": "14400:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -26618,7 +26618,7 @@ "value": "0" }, "nodeType": "VariableDeclarationStatement", - "src": "14785:28:0" + "src": "14373:28:0" }, { "condition": { @@ -26641,7 +26641,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 720, - "src": "14828:1:0", + "src": "14416:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" @@ -26655,7 +26655,7 @@ "memberName": "transactionType", "nodeType": "MemberAccess", "referencedDeclaration": 46, - "src": "14828:17:0", + "src": "14416:17:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -26672,7 +26672,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12, - "src": "14849:15:0", + "src": "14437:15:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_TransactionType_$12_$", "typeString": "type(enum Escrow_v1_0.TransactionType)" @@ -26686,13 +26686,13 @@ "memberName": "ETHER", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "14849:21:0", + "src": "14437:21:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" } }, - "src": "14828:42:0", + "src": "14416:42:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -26719,7 +26719,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 720, - "src": "15469:1:0", + "src": "15057:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" @@ -26733,7 +26733,7 @@ "memberName": "transactionType", "nodeType": "MemberAccess", "referencedDeclaration": 46, - "src": "15469:17:0", + "src": "15057:17:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -26750,7 +26750,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12, - "src": "15490:15:0", + "src": "15078:15:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_TransactionType_$12_$", "typeString": "type(enum Escrow_v1_0.TransactionType)" @@ -26764,13 +26764,13 @@ "memberName": "TOKEN", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "15490:21:0", + "src": "15078:21:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" } }, - "src": "15469:42:0", + "src": "15057:42:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -26779,11 +26779,11 @@ "falseBody": null, "id": 888, "nodeType": "IfStatement", - "src": "15465:658:0", + "src": "15053:658:0", "trueBody": { "id": 887, "nodeType": "Block", - "src": "15513:610:0", + "src": "15101:610:0", "statements": [ { "assignments": [ @@ -26796,7 +26796,7 @@ "name": "token", "nodeType": "VariableDeclaration", "scope": 893, - "src": "15528:20:0", + "src": "15116:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -26809,7 +26809,7 @@ "name": "ITokenContract", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 1241, - "src": "15528:14:0", + "src": "15116:14:0", "typeDescriptions": { "typeIdentifier": "t_contract$_ITokenContract_$1241", "typeString": "contract ITokenContract" @@ -26832,7 +26832,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 720, - "src": "15566:1:0", + "src": "15154:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" @@ -26846,7 +26846,7 @@ "memberName": "tokenAddress", "nodeType": "MemberAccess", "referencedDeclaration": 56, - "src": "15566:14:0", + "src": "15154:14:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -26865,7 +26865,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1241, - "src": "15551:14:0", + "src": "15139:14:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_ITokenContract_$1241_$", "typeString": "type(contract ITokenContract)" @@ -26879,20 +26879,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15551:30:0", + "src": "15139:30:0", "typeDescriptions": { "typeIdentifier": "t_contract$_ITokenContract_$1241", "typeString": "contract ITokenContract" } }, "nodeType": "VariableDeclarationStatement", - "src": "15528:53:0" + "src": "15116:53:0" }, { "body": { "id": 885, "nodeType": "Block", - "src": "15644:469:0", + "src": "15232:469:0", "statements": [ { "expression": { @@ -26929,7 +26929,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 711, - "src": "15671:12:0", + "src": "15259:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -26943,7 +26943,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 816, - "src": "15684:1:0", + "src": "15272:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -26954,7 +26954,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15671:15:0", + "src": "15259:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -26975,7 +26975,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "15698:1:0", + "src": "15286:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -26997,7 +26997,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "15690:7:0", + "src": "15278:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" @@ -27012,13 +27012,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15690:10:0", + "src": "15278:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "15671:29:0", + "src": "15259:29:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -27037,7 +27037,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 720, - "src": "15704:1:0", + "src": "15292:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" @@ -27051,7 +27051,7 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "15704:9:0", + "src": "15292:9:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -27067,7 +27067,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 711, - "src": "15714:12:0", + "src": "15302:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -27081,7 +27081,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 816, - "src": "15727:1:0", + "src": "15315:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27092,7 +27092,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15714:15:0", + "src": "15302:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -27103,13 +27103,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15704:26:0", + "src": "15292:26:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "15671:59:0", + "src": "15259:59:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -27125,7 +27125,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "15732:25:0", + "src": "15320:25:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_4b4c116dbf18274831a2b569c567d9fd9a0e9828a6c86ee9f93e80400fb6c49f", @@ -27153,7 +27153,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "15663:7:0", + "src": "15251:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -27167,7 +27167,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15663:95:0", + "src": "15251:95:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -27175,7 +27175,7 @@ }, "id": 843, "nodeType": "ExpressionStatement", - "src": "15663:95:0" + "src": "15251:95:0" }, { "expression": { @@ -27201,7 +27201,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 714, - "src": "15784:7:0", + "src": "15372:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" @@ -27215,7 +27215,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 816, - "src": "15792:1:0", + "src": "15380:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27226,7 +27226,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15784:10:0", + "src": "15372:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27244,7 +27244,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "15797:1:0", + "src": "15385:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -27252,7 +27252,7 @@ }, "value": "0" }, - "src": "15784:14:0", + "src": "15372:14:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -27268,7 +27268,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "15800:44:0", + "src": "15388:44:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_5e1271a09dbb64ae031de288deb0ad8d707df7db51d6e827931dc8fa6642a71e", @@ -27296,7 +27296,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "15776:7:0", + "src": "15364:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -27310,7 +27310,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15776:69:0", + "src": "15364:69:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -27318,7 +27318,7 @@ }, "id": 852, "nodeType": "ExpressionStatement", - "src": "15776:69:0" + "src": "15364:69:0" }, { "expression": { @@ -27335,7 +27335,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 726, - "src": "15864:16:0", + "src": "15452:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27355,7 +27355,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 714, - "src": "15904:7:0", + "src": "15492:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" @@ -27369,7 +27369,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 816, - "src": "15912:1:0", + "src": "15500:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27380,7 +27380,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15904:10:0", + "src": "15492:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27401,7 +27401,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 726, - "src": "15883:16:0", + "src": "15471:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27415,7 +27415,7 @@ "memberName": "add", "nodeType": "MemberAccess", "referencedDeclaration": 1348, - "src": "15883:20:0", + "src": "15471:20:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" @@ -27429,13 +27429,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15883:32:0", + "src": "15471:32:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "15864:51:0", + "src": "15452:51:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27443,7 +27443,7 @@ }, "id": 861, "nodeType": "ExpressionStatement", - "src": "15864:51:0" + "src": "15452:51:0" }, { "expression": { @@ -27464,7 +27464,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 720, - "src": "15933:1:0", + "src": "15521:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" @@ -27478,7 +27478,7 @@ "memberName": "beneficiaries", "nodeType": "MemberAccess", "referencedDeclaration": 70, - "src": "15933:15:0", + "src": "15521:15:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -27494,7 +27494,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 711, - "src": "15949:12:0", + "src": "15537:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -27508,7 +27508,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 816, - "src": "15962:1:0", + "src": "15550:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27519,7 +27519,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15949:15:0", + "src": "15537:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -27530,7 +27530,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "15933:32:0", + "src": "15521:32:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -27548,7 +27548,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "15968:4:0", + "src": "15556:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -27556,7 +27556,7 @@ }, "value": "true" }, - "src": "15933:39:0", + "src": "15521:39:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -27564,7 +27564,7 @@ }, "id": 871, "nodeType": "ExpressionStatement", - "src": "15933:39:0" + "src": "15521:39:0" }, { "expression": { @@ -27582,7 +27582,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 711, - "src": "16043:12:0", + "src": "15631:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -27596,7 +27596,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 816, - "src": "16056:1:0", + "src": "15644:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27607,7 +27607,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "16043:15:0", + "src": "15631:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -27622,7 +27622,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 714, - "src": "16060:7:0", + "src": "15648:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" @@ -27636,7 +27636,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 816, - "src": "16068:1:0", + "src": "15656:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27647,7 +27647,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "16060:10:0", + "src": "15648:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27672,7 +27672,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 809, - "src": "16028:5:0", + "src": "15616:5:0", "typeDescriptions": { "typeIdentifier": "t_contract$_ITokenContract_$1241", "typeString": "contract ITokenContract" @@ -27686,7 +27686,7 @@ "memberName": "transfer", "nodeType": "MemberAccess", "referencedDeclaration": 1229, - "src": "16028:14:0", + "src": "15616:14:0", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", "typeString": "function (address,uint256) external returns (bool)" @@ -27700,7 +27700,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16028:43:0", + "src": "15616:43:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -27716,7 +27716,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "16073:24:0", + "src": "15661:24:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_e545223bb79d8456d66fa5a98897abb42bb4807111f004a120200da3b7e292c5", @@ -27744,7 +27744,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "16020:7:0", + "src": "15608:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -27758,7 +27758,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16020:78:0", + "src": "15608:78:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -27766,7 +27766,7 @@ }, "id": 884, "nodeType": "ExpressionStatement", - "src": "16020:78:0" + "src": "15608:78:0" } ] }, @@ -27788,7 +27788,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 816, - "src": "15616:1:0", + "src": "15204:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27805,7 +27805,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 711, - "src": "15618:12:0", + "src": "15206:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -27819,13 +27819,13 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "15618:19:0", + "src": "15206:19:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "15616:21:0", + "src": "15204:21:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -27843,7 +27843,7 @@ "name": "j", "nodeType": "VariableDeclaration", "scope": 893, - "src": "15601:9:0", + "src": "15189:9:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -27854,7 +27854,7 @@ "id": 815, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "15601:7:0", + "src": "15189:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27875,7 +27875,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "15613:1:0", + "src": "15201:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -27884,7 +27884,7 @@ "value": "0" }, "nodeType": "VariableDeclarationStatement", - "src": "15601:13:0" + "src": "15189:13:0" }, "loopExpression": { "expression": { @@ -27897,7 +27897,7 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "15639:3:0", + "src": "15227:3:0", "subExpression": { "argumentTypes": null, "id": 823, @@ -27905,7 +27905,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 816, - "src": "15639:1:0", + "src": "15227:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27918,27 +27918,27 @@ }, "id": 825, "nodeType": "ExpressionStatement", - "src": "15639:3:0" + "src": "15227:3:0" }, "nodeType": "ForStatement", - "src": "15596:517:0" + "src": "15184:517:0" } ] } }, "id": 889, "nodeType": "IfStatement", - "src": "14824:1299:0", + "src": "14412:1299:0", "trueBody": { "id": 802, "nodeType": "Block", - "src": "14872:587:0", + "src": "14460:587:0", "statements": [ { "body": { "id": 800, "nodeType": "Block", - "src": "14936:512:0", + "src": "14524:512:0", "statements": [ { "expression": { @@ -27975,7 +27975,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 711, - "src": "14963:12:0", + "src": "14551:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -27989,7 +27989,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 735, - "src": "14976:1:0", + "src": "14564:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28000,7 +28000,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "14963:15:0", + "src": "14551:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -28021,7 +28021,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "14990:1:0", + "src": "14578:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -28043,7 +28043,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "14982:7:0", + "src": "14570:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" @@ -28058,13 +28058,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "14982:10:0", + "src": "14570:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "14963:29:0", + "src": "14551:29:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -28083,7 +28083,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 720, - "src": "14996:1:0", + "src": "14584:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" @@ -28097,7 +28097,7 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "14996:9:0", + "src": "14584:9:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -28113,7 +28113,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 711, - "src": "15006:12:0", + "src": "14594:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -28127,7 +28127,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 735, - "src": "15019:1:0", + "src": "14607:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28138,7 +28138,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15006:15:0", + "src": "14594:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -28149,13 +28149,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "14996:26:0", + "src": "14584:26:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "14963:59:0", + "src": "14551:59:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -28171,7 +28171,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "15024:25:0", + "src": "14612:25:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_4b4c116dbf18274831a2b569c567d9fd9a0e9828a6c86ee9f93e80400fb6c49f", @@ -28199,7 +28199,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "14955:7:0", + "src": "14543:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -28213,7 +28213,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "14955:95:0", + "src": "14543:95:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -28221,7 +28221,7 @@ }, "id": 762, "nodeType": "ExpressionStatement", - "src": "14955:95:0" + "src": "14543:95:0" }, { "expression": { @@ -28247,7 +28247,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 714, - "src": "15076:7:0", + "src": "14664:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" @@ -28261,7 +28261,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 735, - "src": "15084:1:0", + "src": "14672:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28272,7 +28272,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15076:10:0", + "src": "14664:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28290,7 +28290,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "15089:1:0", + "src": "14677:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -28298,7 +28298,7 @@ }, "value": "0" }, - "src": "15076:14:0", + "src": "14664:14:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -28314,7 +28314,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "15092:44:0", + "src": "14680:44:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_5e1271a09dbb64ae031de288deb0ad8d707df7db51d6e827931dc8fa6642a71e", @@ -28342,7 +28342,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "15068:7:0", + "src": "14656:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -28356,7 +28356,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15068:69:0", + "src": "14656:69:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -28364,7 +28364,7 @@ }, "id": 771, "nodeType": "ExpressionStatement", - "src": "15068:69:0" + "src": "14656:69:0" }, { "expression": { @@ -28381,7 +28381,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 726, - "src": "15156:16:0", + "src": "14744:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28401,7 +28401,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 714, - "src": "15196:7:0", + "src": "14784:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" @@ -28415,7 +28415,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 735, - "src": "15204:1:0", + "src": "14792:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28426,7 +28426,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15196:10:0", + "src": "14784:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28447,7 +28447,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 726, - "src": "15175:16:0", + "src": "14763:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28461,7 +28461,7 @@ "memberName": "add", "nodeType": "MemberAccess", "referencedDeclaration": 1348, - "src": "15175:20:0", + "src": "14763:20:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" @@ -28475,13 +28475,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15175:32:0", + "src": "14763:32:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "15156:51:0", + "src": "14744:51:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28489,7 +28489,7 @@ }, "id": 780, "nodeType": "ExpressionStatement", - "src": "15156:51:0" + "src": "14744:51:0" }, { "expression": { @@ -28510,7 +28510,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 720, - "src": "15226:1:0", + "src": "14814:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" @@ -28524,7 +28524,7 @@ "memberName": "beneficiaries", "nodeType": "MemberAccess", "referencedDeclaration": 70, - "src": "15226:15:0", + "src": "14814:15:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -28540,7 +28540,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 711, - "src": "15242:12:0", + "src": "14830:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -28554,7 +28554,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 735, - "src": "15255:1:0", + "src": "14843:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28565,7 +28565,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15242:15:0", + "src": "14830:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -28576,7 +28576,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "15226:32:0", + "src": "14814:32:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -28594,7 +28594,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "15261:4:0", + "src": "14849:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -28602,7 +28602,7 @@ }, "value": "true" }, - "src": "15226:39:0", + "src": "14814:39:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -28610,7 +28610,7 @@ }, "id": 790, "nodeType": "ExpressionStatement", - "src": "15226:39:0" + "src": "14814:39:0" }, { "expression": { @@ -28625,7 +28625,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 714, - "src": "15337:7:0", + "src": "14925:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" @@ -28639,7 +28639,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 735, - "src": "15345:1:0", + "src": "14933:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28650,7 +28650,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15337:10:0", + "src": "14925:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28673,7 +28673,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 711, - "src": "15312:12:0", + "src": "14900:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -28687,7 +28687,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 735, - "src": "15325:1:0", + "src": "14913:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28698,7 +28698,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15312:15:0", + "src": "14900:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -28712,7 +28712,7 @@ "memberName": "transfer", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "15312:24:0", + "src": "14900:24:0", "typeDescriptions": { "typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$", "typeString": "function (uint256)" @@ -28726,7 +28726,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15312:36:0", + "src": "14900:36:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -28734,7 +28734,7 @@ }, "id": 799, "nodeType": "ExpressionStatement", - "src": "15312:36:0" + "src": "14900:36:0" } ] }, @@ -28756,7 +28756,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 735, - "src": "14906:1:0", + "src": "14494:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28773,7 +28773,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 711, - "src": "14910:12:0", + "src": "14498:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -28787,13 +28787,13 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "14910:19:0", + "src": "14498:19:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "14906:23:0", + "src": "14494:23:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -28811,7 +28811,7 @@ "name": "i", "nodeType": "VariableDeclaration", "scope": 893, - "src": "14891:9:0", + "src": "14479:9:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -28822,7 +28822,7 @@ "id": 734, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "14891:7:0", + "src": "14479:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28843,7 +28843,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "14903:1:0", + "src": "14491:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -28852,7 +28852,7 @@ "value": "0" }, "nodeType": "VariableDeclarationStatement", - "src": "14891:13:0" + "src": "14479:13:0" }, "loopExpression": { "expression": { @@ -28865,7 +28865,7 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "14931:3:0", + "src": "14519:3:0", "subExpression": { "argumentTypes": null, "id": 742, @@ -28873,7 +28873,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 735, - "src": "14931:1:0", + "src": "14519:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28886,10 +28886,10 @@ }, "id": 744, "nodeType": "ExpressionStatement", - "src": "14931:3:0" + "src": "14519:3:0" }, "nodeType": "ForStatement", - "src": "14886:562:0" + "src": "14474:562:0" } ] } @@ -28902,7 +28902,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 726, - "src": "16140:16:0", + "src": "15728:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28911,7 +28911,7 @@ "functionReturnParameters": 718, "id": 891, "nodeType": "Return", - "src": "16133:23:0" + "src": "15721:23:0" } ] }, @@ -28933,7 +28933,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 893, - "src": "14588:18:0", + "src": "14176:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -28944,7 +28944,7 @@ "id": 707, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "14588:7:0", + "src": "14176:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -28959,7 +28959,7 @@ "name": "destinations", "nodeType": "VariableDeclaration", "scope": 893, - "src": "14616:21:0", + "src": "14204:21:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -28971,7 +28971,7 @@ "id": 709, "name": "address", "nodeType": "ElementaryTypeName", - "src": "14616:7:0", + "src": "14204:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -28980,7 +28980,7 @@ "id": 710, "length": null, "nodeType": "ArrayTypeName", - "src": "14616:9:0", + "src": "14204:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", "typeString": "address[]" @@ -28995,7 +28995,7 @@ "name": "amounts", "nodeType": "VariableDeclaration", "scope": 893, - "src": "14647:16:0", + "src": "14235:16:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -29007,7 +29007,7 @@ "id": 712, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "14647:7:0", + "src": "14235:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29016,7 +29016,7 @@ "id": 713, "length": null, "nodeType": "ArrayTypeName", - "src": "14647:9:0", + "src": "14235:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -29026,7 +29026,7 @@ "visibility": "internal" } ], - "src": "14578:91:0" + "src": "14166:91:0" }, "payable": false, "returnParameters": { @@ -29039,7 +29039,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 893, - "src": "14703:7:0", + "src": "14291:7:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -29050,7 +29050,7 @@ "id": 716, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "14703:7:0", + "src": "14291:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29060,10 +29060,10 @@ "visibility": "internal" } ], - "src": "14702:9:0" + "src": "14290:9:0" }, "scope": 1211, - "src": "14556:1607:0", + "src": "14144:1607:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "private" @@ -29072,7 +29072,7 @@ "body": { "id": 1021, "nodeType": "Block", - "src": "16581:1337:0", + "src": "16169:1337:0", "statements": [ { "expression": { @@ -29109,7 +29109,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 899, - "src": "16613:4:0", + "src": "16201:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" @@ -29123,7 +29123,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "16613:11:0", + "src": "16201:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29140,7 +29140,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 902, - "src": "16628:4:0", + "src": "16216:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" @@ -29154,13 +29154,13 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "16628:11:0", + "src": "16216:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "16613:26:0", + "src": "16201:26:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -29188,7 +29188,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 899, - "src": "16643:4:0", + "src": "16231:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" @@ -29202,7 +29202,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "16643:11:0", + "src": "16231:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29219,7 +29219,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 896, - "src": "16658:4:0", + "src": "16246:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr", "typeString": "uint8[] memory" @@ -29233,19 +29233,19 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "16658:11:0", + "src": "16246:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "16643:26:0", + "src": "16231:26:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "16613:56:0", + "src": "16201:56:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -29261,7 +29261,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "16684:24:0", + "src": "16272:24:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_f85073c8befb65baed58ca1ee563e5da0bdbdce8abd4d29ef22a8329c7c97506", @@ -29289,7 +29289,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "16592:7:0", + "src": "16180:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -29303,7 +29303,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16592:126:0", + "src": "16180:126:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -29311,7 +29311,7 @@ }, "id": 929, "nodeType": "ExpressionStatement", - "src": "16592:126:0" + "src": "16180:126:0" }, { "assignments": [], @@ -29322,7 +29322,7 @@ "name": "lastAddress", "nodeType": "VariableDeclaration", "scope": 1022, - "src": "16729:19:0", + "src": "16317:19:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -29333,7 +29333,7 @@ "id": 930, "name": "address", "nodeType": "ElementaryTypeName", - "src": "16729:7:0", + "src": "16317:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -29346,7 +29346,7 @@ "id": 932, "initialValue": null, "nodeType": "VariableDeclarationStatement", - "src": "16729:19:0" + "src": "16317:19:0" }, { "assignments": [ @@ -29359,7 +29359,7 @@ "name": "txHash", "nodeType": "VariableDeclaration", "scope": 1022, - "src": "16847:14:0", + "src": "16435:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -29370,7 +29370,7 @@ "id": 933, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "16847:7:0", + "src": "16435:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -29397,7 +29397,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "16921:34:0", + "src": "16509:34:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_178a2411ab6fbc1ba11064408972259c558d0e82fd48b0aba3ad81d14f065e73", @@ -29424,7 +29424,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "17051:4:0", + "src": "16639:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_25_by_1", @@ -29446,7 +29446,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "17046:4:0", + "src": "16634:4:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes1_$", "typeString": "type(bytes1)" @@ -29461,7 +29461,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17046:10:0", + "src": "16634:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes1", "typeString": "bytes1" @@ -29480,7 +29480,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "17087:1:0", + "src": "16675:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -29502,7 +29502,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "17082:4:0", + "src": "16670:4:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes1_$", "typeString": "type(bytes1)" @@ -29517,7 +29517,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17082:7:0", + "src": "16670:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes1", "typeString": "bytes1" @@ -29530,7 +29530,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1401, - "src": "17115:4:0", + "src": "16703:4:0", "typeDescriptions": { "typeIdentifier": "t_contract$_Escrow_v1_0_$1211", "typeString": "contract Escrow_v1_0" @@ -29543,7 +29543,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 907, - "src": "17145:12:0", + "src": "16733:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -29556,7 +29556,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 910, - "src": "17183:7:0", + "src": "16771:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" @@ -29569,7 +29569,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 904, - "src": "17216:10:0", + "src": "16804:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -29610,7 +29610,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1371, - "src": "17004:3:0", + "src": "16592:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" @@ -29624,7 +29624,7 @@ "memberName": "encodePacked", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "17004:16:0", + "src": "16592:16:0", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" @@ -29638,7 +29638,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17004:244:0", + "src": "16592:244:0", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -29657,7 +29657,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1378, - "src": "16973:9:0", + "src": "16561:9:0", "typeDescriptions": { "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", "typeString": "function () pure returns (bytes32)" @@ -29671,7 +29671,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16973:293:0", + "src": "16561:293:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -29696,7 +29696,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1371, - "src": "16887:3:0", + "src": "16475:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" @@ -29710,7 +29710,7 @@ "memberName": "encodePacked", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "16887:16:0", + "src": "16475:16:0", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" @@ -29724,7 +29724,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16887:393:0", + "src": "16475:393:0", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -29743,7 +29743,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1378, - "src": "16864:9:0", + "src": "16452:9:0", "typeDescriptions": { "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", "typeString": "function () pure returns (bytes32)" @@ -29757,20 +29757,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16864:426:0", + "src": "16452:426:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "nodeType": "VariableDeclarationStatement", - "src": "16847:443:0" + "src": "16435:443:0" }, { "body": { "id": 1017, "nodeType": "Block", - "src": "17340:543:0", + "src": "16928:543:0", "statements": [ { "assignments": [ @@ -29783,7 +29783,7 @@ "name": "recovered", "nodeType": "VariableDeclaration", "scope": 1022, - "src": "17355:17:0", + "src": "16943:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -29794,7 +29794,7 @@ "id": 968, "name": "address", "nodeType": "ElementaryTypeName", - "src": "17355:7:0", + "src": "16943:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -29815,7 +29815,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 934, - "src": "17402:6:0", + "src": "16990:6:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -29830,7 +29830,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 896, - "src": "17426:4:0", + "src": "17014:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr", "typeString": "uint8[] memory" @@ -29844,7 +29844,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 958, - "src": "17431:1:0", + "src": "17019:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29855,7 +29855,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17426:7:0", + "src": "17014:7:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -29870,7 +29870,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 899, - "src": "17451:4:0", + "src": "17039:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" @@ -29884,7 +29884,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 958, - "src": "17456:1:0", + "src": "17044:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29895,7 +29895,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17451:7:0", + "src": "17039:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -29910,7 +29910,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 902, - "src": "17476:4:0", + "src": "17064:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" @@ -29924,7 +29924,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 958, - "src": "17481:1:0", + "src": "17069:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29935,7 +29935,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17476:7:0", + "src": "17064:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -29966,7 +29966,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1376, - "src": "17375:9:0", + "src": "16963:9:0", "typeDescriptions": { "typeIdentifier": "t_function_ecrecover_pure$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$_t_address_$", "typeString": "function (bytes32,uint8,bytes32,bytes32) pure returns (address)" @@ -29980,14 +29980,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17375:122:0", + "src": "16963:122:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "VariableDeclarationStatement", - "src": "17355:142:0" + "src": "16943:142:0" }, { "expression": { @@ -30006,7 +30006,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "17537:12:0", + "src": "17125:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -30020,7 +30020,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 904, - "src": "17550:10:0", + "src": "17138:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -30031,7 +30031,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17537:24:0", + "src": "17125:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -30045,7 +30045,7 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "17537:32:0", + "src": "17125:32:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -30059,7 +30059,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 969, - "src": "17570:9:0", + "src": "17158:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -30070,7 +30070,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17537:43:0", + "src": "17125:43:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -30086,7 +30086,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "17599:19:0", + "src": "17187:19:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_4f2d7dfcb27c0aafa13ae8c400de482c7832204d194018b6e45bd2bf244c74e7", @@ -30114,7 +30114,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "17512:7:0", + "src": "17100:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -30128,7 +30128,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17512:120:0", + "src": "17100:120:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -30136,7 +30136,7 @@ }, "id": 992, "nodeType": "ExpressionStatement", - "src": "17512:120:0" + "src": "17100:120:0" }, { "expression": { @@ -30152,7 +30152,7 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "17671:42:0", + "src": "17259:42:0", "subExpression": { "argumentTypes": null, "baseExpression": { @@ -30166,7 +30166,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "17672:12:0", + "src": "17260:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -30180,7 +30180,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 904, - "src": "17685:10:0", + "src": "17273:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -30191,7 +30191,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17672:24:0", + "src": "17260:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -30205,7 +30205,7 @@ "memberName": "voted", "nodeType": "MemberAccess", "referencedDeclaration": 66, - "src": "17672:30:0", + "src": "17260:30:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -30219,7 +30219,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 969, - "src": "17703:9:0", + "src": "17291:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -30230,7 +30230,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17672:41:0", + "src": "17260:41:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -30251,7 +30251,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "17732:27:0", + "src": "17320:27:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_fb2c7e49d5ec7ce36fa812cf15ee7fa946942f931d04fe3ae970516007b2a543", @@ -30279,7 +30279,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "17646:7:0", + "src": "17234:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -30293,7 +30293,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17646:127:0", + "src": "17234:127:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -30301,7 +30301,7 @@ }, "id": 1003, "nodeType": "ExpressionStatement", - "src": "17646:127:0" + "src": "17234:127:0" }, { "expression": { @@ -30324,7 +30324,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "17787:12:0", + "src": "17375:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -30338,7 +30338,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 904, - "src": "17800:10:0", + "src": "17388:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -30349,7 +30349,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17787:24:0", + "src": "17375:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -30363,7 +30363,7 @@ "memberName": "voted", "nodeType": "MemberAccess", "referencedDeclaration": 66, - "src": "17787:30:0", + "src": "17375:30:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -30377,7 +30377,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 969, - "src": "17818:9:0", + "src": "17406:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -30388,7 +30388,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "17787:41:0", + "src": "17375:41:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -30406,7 +30406,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "17831:4:0", + "src": "17419:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -30414,7 +30414,7 @@ }, "value": "true" }, - "src": "17787:48:0", + "src": "17375:48:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -30422,7 +30422,7 @@ }, "id": 1012, "nodeType": "ExpressionStatement", - "src": "17787:48:0" + "src": "17375:48:0" }, { "expression": { @@ -30439,7 +30439,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 931, - "src": "17849:11:0", + "src": "17437:11:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -30454,13 +30454,13 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 969, - "src": "17863:9:0", + "src": "17451:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "17849:23:0", + "src": "17437:23:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -30468,7 +30468,7 @@ }, "id": 1016, "nodeType": "ExpressionStatement", - "src": "17849:23:0" + "src": "17437:23:0" } ] }, @@ -30490,7 +30490,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 958, - "src": "17318:1:0", + "src": "16906:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -30507,7 +30507,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 899, - "src": "17322:4:0", + "src": "16910:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" @@ -30521,13 +30521,13 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "17322:11:0", + "src": "16910:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "17318:15:0", + "src": "16906:15:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -30545,7 +30545,7 @@ "name": "i", "nodeType": "VariableDeclaration", "scope": 1022, - "src": "17306:6:0", + "src": "16894:6:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -30556,7 +30556,7 @@ "id": 957, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "17306:4:0", + "src": "16894:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -30577,7 +30577,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "17315:1:0", + "src": "16903:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -30586,7 +30586,7 @@ "value": "0" }, "nodeType": "VariableDeclarationStatement", - "src": "17306:10:0" + "src": "16894:10:0" }, "loopExpression": { "expression": { @@ -30599,7 +30599,7 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "17335:3:0", + "src": "16923:3:0", "subExpression": { "argumentTypes": null, "id": 965, @@ -30607,7 +30607,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 958, - "src": "17335:1:0", + "src": "16923:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -30620,10 +30620,10 @@ }, "id": 967, "nodeType": "ExpressionStatement", - "src": "17335:3:0" + "src": "16923:3:0" }, "nodeType": "ForStatement", - "src": "17301:582:0" + "src": "16889:582:0" }, { "expression": { @@ -30633,7 +30633,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 931, - "src": "17900:11:0", + "src": "17488:11:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -30642,7 +30642,7 @@ "functionReturnParameters": 914, "id": 1020, "nodeType": "Return", - "src": "17893:18:0" + "src": "17481:18:0" } ] }, @@ -30664,7 +30664,7 @@ "name": "sigV", "nodeType": "VariableDeclaration", "scope": 1022, - "src": "16382:12:0", + "src": "15970:12:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -30676,7 +30676,7 @@ "id": 894, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "16382:5:0", + "src": "15970:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -30685,7 +30685,7 @@ "id": 895, "length": null, "nodeType": "ArrayTypeName", - "src": "16382:7:0", + "src": "15970:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_storage_ptr", "typeString": "uint8[]" @@ -30700,7 +30700,7 @@ "name": "sigR", "nodeType": "VariableDeclaration", "scope": 1022, - "src": "16404:14:0", + "src": "15992:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -30712,7 +30712,7 @@ "id": 897, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "16404:7:0", + "src": "15992:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -30721,7 +30721,7 @@ "id": 898, "length": null, "nodeType": "ArrayTypeName", - "src": "16404:9:0", + "src": "15992:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -30736,7 +30736,7 @@ "name": "sigS", "nodeType": "VariableDeclaration", "scope": 1022, - "src": "16428:14:0", + "src": "16016:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -30748,7 +30748,7 @@ "id": 900, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "16428:7:0", + "src": "16016:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -30757,7 +30757,7 @@ "id": 901, "length": null, "nodeType": "ArrayTypeName", - "src": "16428:9:0", + "src": "16016:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -30772,7 +30772,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 1022, - "src": "16452:18:0", + "src": "16040:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -30783,7 +30783,7 @@ "id": 903, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "16452:7:0", + "src": "16040:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -30798,7 +30798,7 @@ "name": "destinations", "nodeType": "VariableDeclaration", "scope": 1022, - "src": "16480:22:0", + "src": "16068:22:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -30810,7 +30810,7 @@ "id": 905, "name": "address", "nodeType": "ElementaryTypeName", - "src": "16480:7:0", + "src": "16068:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -30819,7 +30819,7 @@ "id": 906, "length": null, "nodeType": "ArrayTypeName", - "src": "16480:9:0", + "src": "16068:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", "typeString": "address[]" @@ -30834,7 +30834,7 @@ "name": "amounts", "nodeType": "VariableDeclaration", "scope": 1022, - "src": "16512:16:0", + "src": "16100:16:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -30846,7 +30846,7 @@ "id": 908, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "16512:7:0", + "src": "16100:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -30855,7 +30855,7 @@ "id": 909, "length": null, "nodeType": "ArrayTypeName", - "src": "16512:9:0", + "src": "16100:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -30865,7 +30865,7 @@ "visibility": "internal" } ], - "src": "16372:162:0" + "src": "15960:162:0" }, "payable": false, "returnParameters": { @@ -30878,7 +30878,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 1022, - "src": "16568:7:0", + "src": "16156:7:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -30889,7 +30889,7 @@ "id": 912, "name": "address", "nodeType": "ElementaryTypeName", - "src": "16568:7:0", + "src": "16156:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -30899,10 +30899,10 @@ "visibility": "internal" } ], - "src": "16567:9:0" + "src": "16155:9:0" }, "scope": 1211, - "src": "16347:1571:0", + "src": "15935:1571:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "private" @@ -30911,7 +30911,7 @@ "body": { "id": 1053, "nodeType": "Block", - "src": "18072:168:0", + "src": "17660:168:0", "statements": [ { "assignments": [ @@ -30924,7 +30924,7 @@ "name": "timeSince", "nodeType": "VariableDeclaration", "scope": 1054, - "src": "18082:17:0", + "src": "17670:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -30935,7 +30935,7 @@ "id": 1031, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "18082:7:0", + "src": "17670:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -30956,7 +30956,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1026, - "src": "18110:12:0", + "src": "17698:12:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -30977,7 +30977,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1386, - "src": "18102:3:0", + "src": "17690:3:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -30991,7 +30991,7 @@ "memberName": "sub", "nodeType": "MemberAccess", "referencedDeclaration": 1324, - "src": "18102:7:0", + "src": "17690:7:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" @@ -31005,14 +31005,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18102:21:0", + "src": "17690:21:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "18082:41:0" + "src": "17670:41:0" }, { "expression": { @@ -31038,7 +31038,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1024, - "src": "18154:12:0", + "src": "17742:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -31056,7 +31056,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "18170:1:0", + "src": "17758:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -31064,7 +31064,7 @@ }, "value": "0" }, - "src": "18154:17:0", + "src": "17742:17:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -31088,7 +31088,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1032, - "src": "18180:9:0", + "src": "17768:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -31109,7 +31109,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "18218:4:0", + "src": "17806:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_3600_by_1", @@ -31135,7 +31135,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1024, - "src": "18200:12:0", + "src": "17788:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -31155,7 +31155,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "18192:7:0", + "src": "17780:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint256_$", "typeString": "type(uint256)" @@ -31170,7 +31170,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18192:21:0", + "src": "17780:21:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -31184,7 +31184,7 @@ "memberName": "mul", "nodeType": "MemberAccess", "referencedDeclaration": 1276, - "src": "18192:25:0", + "src": "17780:25:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" @@ -31198,13 +31198,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18192:31:0", + "src": "17780:31:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "18180:43:0", + "src": "17768:43:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -31216,7 +31216,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "Conditional", - "src": "18154:69:0", + "src": "17742:69:0", "trueExpression": { "argumentTypes": null, "hexValue": "66616c7365", @@ -31227,7 +31227,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "18174:5:0", + "src": "17762:5:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -31248,7 +31248,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "18140:93:0", + "src": "17728:93:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -31257,7 +31257,7 @@ "functionReturnParameters": 1030, "id": 1052, "nodeType": "Return", - "src": "18133:100:0" + "src": "17721:100:0" } ] }, @@ -31279,7 +31279,7 @@ "name": "timeoutHours", "nodeType": "VariableDeclaration", "scope": 1054, - "src": "17960:19:0", + "src": "17548:19:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -31290,7 +31290,7 @@ "id": 1023, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "17960:6:0", + "src": "17548:6:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -31305,7 +31305,7 @@ "name": "lastModified", "nodeType": "VariableDeclaration", "scope": 1054, - "src": "17989:20:0", + "src": "17577:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -31316,7 +31316,7 @@ "id": 1025, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "17989:7:0", + "src": "17577:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -31326,7 +31326,7 @@ "visibility": "internal" } ], - "src": "17950:65:0" + "src": "17538:65:0" }, "payable": false, "returnParameters": { @@ -31339,7 +31339,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 1054, - "src": "18062:4:0", + "src": "17650:4:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -31350,7 +31350,7 @@ "id": 1028, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "18062:4:0", + "src": "17650:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -31360,10 +31360,10 @@ "visibility": "internal" } ], - "src": "18061:6:0" + "src": "17649:6:0" }, "scope": 1211, - "src": "17924:316:0", + "src": "17512:316:0", "stateMutability": "view", "superFunction": null, "visibility": "private" @@ -31372,7 +31372,7 @@ "body": { "id": 1209, "nodeType": "Block", - "src": "18654:2308:0", + "src": "18242:2320:0", "statements": [ { "expression": { @@ -31396,7 +31396,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1056, - "src": "18680:5:0", + "src": "18268:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -31411,13 +31411,13 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1058, - "src": "18689:6:0", + "src": "18277:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "18680:15:0", + "src": "18268:15:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -31433,7 +31433,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "18697:27:0", + "src": "18285:27:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_6141441751234d42e9a73d96317794195c7ff57b8f16ac15725a10f10763f824", @@ -31461,7 +31461,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "18672:7:0", + "src": "18260:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -31475,7 +31475,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18672:53:0", + "src": "18260:53:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -31483,7 +31483,7 @@ }, "id": 1083, "nodeType": "ExpressionStatement", - "src": "18672:53:0" + "src": "18260:53:0" }, { "expression": { @@ -31507,7 +31507,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1068, - "src": "18792:5:0", + "src": "18380:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -31525,7 +31525,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "18800:1:0", + "src": "18388:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -31533,7 +31533,7 @@ }, "value": "0" }, - "src": "18792:9:0", + "src": "18380:9:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -31549,7 +31549,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "18803:19:0", + "src": "18391:19:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_3686f87c4804517ea83323ccf1a3b5b5ff52ed144b19e6fc56abe8fcd182e747", @@ -31577,7 +31577,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "18784:7:0", + "src": "18372:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -31591,7 +31591,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18784:39:0", + "src": "18372:39:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -31599,7 +31599,7 @@ }, "id": 1090, "nodeType": "ExpressionStatement", - "src": "18784:39:0" + "src": "18372:39:0" }, { "expression": { @@ -31634,7 +31634,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1062, - "src": "18926:9:0", + "src": "18514:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -31652,7 +31652,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "18938:1:0", + "src": "18526:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -31660,7 +31660,7 @@ }, "value": "0" }, - "src": "18926:13:0", + "src": "18514:13:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -31686,7 +31686,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1062, - "src": "18943:9:0", + "src": "18531:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -31704,7 +31704,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "18956:1:0", + "src": "18544:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_3_by_1", @@ -31712,13 +31712,13 @@ }, "value": "3" }, - "src": "18943:14:0", + "src": "18531:14:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "18926:31:0", + "src": "18514:31:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -31734,7 +31734,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "18972:63:0", + "src": "18560:63:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_351c1d5dfdc4a2b4c61d6f4dbb41a0d2ae70a9c094d3c0add87af24b5dd19c13", @@ -31762,7 +31762,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "18905:7:0", + "src": "18493:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -31776,7 +31776,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18905:140:0", + "src": "18493:140:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -31784,7 +31784,7 @@ }, "id": 1101, "nodeType": "ExpressionStatement", - "src": "18905:140:0" + "src": "18493:140:0" }, { "expression": { @@ -31819,7 +31819,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1062, - "src": "19314:9:0", + "src": "18913:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -31837,7 +31837,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "19327:1:0", + "src": "18926:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -31845,7 +31845,7 @@ }, "value": "1" }, - "src": "19314:14:0", + "src": "18913:14:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -31871,7 +31871,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1060, - "src": "19332:9:0", + "src": "18931:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -31892,7 +31892,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "19353:1:0", + "src": "18952:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -31914,7 +31914,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "19345:7:0", + "src": "18944:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" @@ -31929,19 +31929,19 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "19345:10:0", + "src": "18944:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "19332:23:0", + "src": "18931:23:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "19314:41:0", + "src": "18913:41:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -31957,7 +31957,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "19369:81:0", + "src": "18968:81:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_08dfdd405be5d5023d3f601e2b0a844b246ceb6764817070ff6789d5e1f80050", @@ -31985,7 +31985,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "19293:7:0", + "src": "18892:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -31999,7 +31999,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "19293:167:0", + "src": "18892:167:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -32007,7 +32007,7 @@ }, "id": 1114, "nodeType": "ExpressionStatement", - "src": "19293:167:0" + "src": "18892:167:0" }, { "expression": { @@ -32031,7 +32031,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1066, - "src": "19492:10:0", + "src": "19091:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -32049,7 +32049,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1070, - "src": "19549:8:0", + "src": "19148:8:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -32062,7 +32062,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1062, - "src": "19575:9:0", + "src": "19174:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -32075,7 +32075,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1064, - "src": "19602:12:0", + "src": "19201:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -32088,7 +32088,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1056, - "src": "19632:5:0", + "src": "19231:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -32101,7 +32101,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1058, - "src": "19655:6:0", + "src": "19254:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -32114,7 +32114,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1060, - "src": "19679:9:0", + "src": "19278:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -32127,7 +32127,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1074, - "src": "19706:12:0", + "src": "19305:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -32170,7 +32170,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 637, - "src": "19506:25:0", + "src": "19105:25:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_bytes20_$_t_uint8_$_t_uint32_$_t_address_$_t_address_$_t_address_$_t_address_$returns$_t_bytes32_$", "typeString": "function (bytes20,uint8,uint32,address,address,address,address) view returns (bytes32)" @@ -32184,13 +32184,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "19506:226:0", + "src": "19105:226:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "src": "19492:240:0", + "src": "19091:240:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -32206,7 +32206,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "19747:59:0", + "src": "19346:59:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_0c041e0c58e6b0e01d338d852a5abb639065eabeb0aee05e0ce3e5f0e52b4f51", @@ -32234,7 +32234,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "19471:7:0", + "src": "19070:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -32248,7 +32248,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "19471:345:0", + "src": "19070:345:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -32256,7 +32256,7 @@ }, "id": 1129, "nodeType": "ExpressionStatement", - "src": "19471:345:0" + "src": "19070:345:0" }, { "expression": { @@ -32275,7 +32275,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "19827:12:0", + "src": "19426:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -32289,7 +32289,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1066, - "src": "19840:10:0", + "src": "19439:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -32300,7 +32300,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "19827:24:0", + "src": "19426:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -32318,7 +32318,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1056, - "src": "19887:5:0", + "src": "19486:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -32331,7 +32331,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1058, - "src": "19914:6:0", + "src": "19513:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -32344,7 +32344,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1060, - "src": "19945:9:0", + "src": "19544:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -32357,7 +32357,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1068, - "src": "19975:5:0", + "src": "19574:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -32372,7 +32372,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9, - "src": "20002:6:0", + "src": "19601:6:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_Status_$9_$", "typeString": "type(enum Escrow_v1_0.Status)" @@ -32386,7 +32386,7 @@ "memberName": "FUNDED", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "20002:13:0", + "src": "19601:13:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$9", "typeString": "enum Escrow_v1_0.Status" @@ -32401,7 +32401,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1374, - "src": "20043:5:0", + "src": "19642:5:0", "typeDescriptions": { "typeIdentifier": "t_magic_block", "typeString": "block" @@ -32415,7 +32415,7 @@ "memberName": "timestamp", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "20043:15:0", + "src": "19642:15:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -32428,7 +32428,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1062, - "src": "20083:9:0", + "src": "19682:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -32441,7 +32441,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1064, - "src": "20120:12:0", + "src": "19719:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -32454,7 +32454,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1072, - "src": "20162:15:0", + "src": "19761:15:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -32467,7 +32467,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1074, - "src": "20204:12:0", + "src": "19803:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -32481,7 +32481,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 71, - "src": "19854:11:0", + "src": "19453:11:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_struct$_Transaction_$71_storage_ptr_$", "typeString": "type(struct Escrow_v1_0.Transaction storage pointer)" @@ -32506,13 +32506,13 @@ "tokenAddress" ], "nodeType": "FunctionCall", - "src": "19854:373:0", + "src": "19453:373:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_memory", "typeString": "struct Escrow_v1_0.Transaction memory" } }, - "src": "19827:400:0", + "src": "19426:400:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -32520,7 +32520,7 @@ }, "id": 1148, "nodeType": "ExpressionStatement", - "src": "19827:400:0" + "src": "19426:400:0" }, { "expression": { @@ -32543,7 +32543,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "20238:12:0", + "src": "19837:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -32557,7 +32557,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1066, - "src": "20251:10:0", + "src": "19850:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -32568,7 +32568,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20238:24:0", + "src": "19837:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -32582,7 +32582,7 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "20238:32:0", + "src": "19837:32:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -32596,7 +32596,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1058, - "src": "20271:6:0", + "src": "19870:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -32607,7 +32607,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "20238:40:0", + "src": "19837:40:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -32625,7 +32625,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "20281:4:0", + "src": "19880:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -32633,7 +32633,7 @@ }, "value": "true" }, - "src": "20238:47:0", + "src": "19837:47:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -32641,7 +32641,7 @@ }, "id": 1157, "nodeType": "ExpressionStatement", - "src": "20238:47:0" + "src": "19837:47:0" }, { "expression": { @@ -32664,7 +32664,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "20295:12:0", + "src": "19894:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -32678,7 +32678,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1066, - "src": "20308:10:0", + "src": "19907:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -32689,7 +32689,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20295:24:0", + "src": "19894:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -32703,7 +32703,7 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "20295:32:0", + "src": "19894:32:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -32717,7 +32717,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1056, - "src": "20328:5:0", + "src": "19927:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -32728,7 +32728,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "20295:39:0", + "src": "19894:39:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -32746,7 +32746,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "20337:4:0", + "src": "19936:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -32754,7 +32754,7 @@ }, "value": "true" }, - "src": "20295:46:0", + "src": "19894:46:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -32762,7 +32762,7 @@ }, "id": 1166, "nodeType": "ExpressionStatement", - "src": "20295:46:0" + "src": "19894:46:0" }, { "expression": { @@ -32778,7 +32778,7 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "20448:44:0", + "src": "20047:44:0", "subExpression": { "argumentTypes": null, "baseExpression": { @@ -32792,7 +32792,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "20449:12:0", + "src": "20048:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -32806,7 +32806,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1066, - "src": "20462:10:0", + "src": "20061:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -32817,7 +32817,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20449:24:0", + "src": "20048:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -32831,7 +32831,7 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "20449:32:0", + "src": "20048:32:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -32845,7 +32845,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1060, - "src": "20482:9:0", + "src": "20081:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -32856,7 +32856,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20449:43:0", + "src": "20048:43:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -32877,7 +32877,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "20507:47:0", + "src": "20106:47:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_313b391557427937e7bdb85c7561d47c5b9c985755a448dd33a92026ffb38f8d", @@ -32905,7 +32905,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "20427:7:0", + "src": "20026:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -32919,7 +32919,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "20427:137:0", + "src": "20026:137:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -32927,7 +32927,7 @@ }, "id": 1177, "nodeType": "ExpressionStatement", - "src": "20427:137:0" + "src": "20026:137:0" }, { "condition": { @@ -32948,7 +32948,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1062, - "src": "20724:9:0", + "src": "20323:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -32966,7 +32966,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "20736:1:0", + "src": "20335:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -32974,7 +32974,7 @@ }, "value": "1" }, - "src": "20724:13:0", + "src": "20323:13:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -32983,11 +32983,11 @@ "falseBody": null, "id": 1191, "nodeType": "IfStatement", - "src": "20720:93:0", + "src": "20319:94:0", "trueBody": { "id": 1190, "nodeType": "Block", - "src": "20738:75:0", + "src": "20338:75:0", "statements": [ { "expression": { @@ -33010,7 +33010,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "20752:12:0", + "src": "20352:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -33024,7 +33024,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1066, - "src": "20765:10:0", + "src": "20365:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -33035,7 +33035,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20752:24:0", + "src": "20352:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -33049,7 +33049,7 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "20752:32:0", + "src": "20352:32:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -33063,7 +33063,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1060, - "src": "20785:9:0", + "src": "20385:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -33074,7 +33074,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "20752:43:0", + "src": "20352:43:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -33092,7 +33092,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "20798:4:0", + "src": "20398:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -33100,7 +33100,7 @@ }, "value": "true" }, - "src": "20752:50:0", + "src": "20352:50:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -33108,7 +33108,7 @@ }, "id": 1189, "nodeType": "ExpressionStatement", - "src": "20752:50:0" + "src": "20352:50:0" } ] } @@ -33124,7 +33124,7 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "20831:18:0", + "src": "20431:18:0", "subExpression": { "argumentTypes": null, "id": 1192, @@ -33132,7 +33132,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 78, - "src": "20831:16:0", + "src": "20431:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -33145,7 +33145,7 @@ }, "id": 1194, "nodeType": "ExpressionStatement", - "src": "20831:18:0" + "src": "20431:18:0" }, { "expression": { @@ -33158,7 +33158,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1066, - "src": "20891:10:0", + "src": "20491:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -33181,7 +33181,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 83, - "src": "20860:18:0", + "src": "20460:18:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_bytes32_$dyn_storage_$", "typeString": "mapping(address => bytes32[] storage ref)" @@ -33195,7 +33195,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1056, - "src": "20879:5:0", + "src": "20479:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -33206,7 +33206,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20860:25:0", + "src": "20460:25:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage", "typeString": "bytes32[] storage ref" @@ -33220,7 +33220,7 @@ "memberName": "push", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "20860:30:0", + "src": "20460:30:0", "typeDescriptions": { "typeIdentifier": "t_function_arraypush_nonpayable$_t_bytes32_$returns$_t_uint256_$", "typeString": "function (bytes32) returns (uint256)" @@ -33234,7 +33234,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "20860:42:0", + "src": "20460:42:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -33242,7 +33242,7 @@ }, "id": 1201, "nodeType": "ExpressionStatement", - "src": "20860:42:0" + "src": "20460:42:0" }, { "expression": { @@ -33255,7 +33255,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1066, - "src": "20944:10:0", + "src": "20544:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -33278,7 +33278,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 83, - "src": "20912:18:0", + "src": "20512:18:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_bytes32_$dyn_storage_$", "typeString": "mapping(address => bytes32[] storage ref)" @@ -33292,7 +33292,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1058, - "src": "20931:6:0", + "src": "20531:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -33303,7 +33303,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20912:26:0", + "src": "20512:26:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage", "typeString": "bytes32[] storage ref" @@ -33317,7 +33317,7 @@ "memberName": "push", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "20912:31:0", + "src": "20512:31:0", "typeDescriptions": { "typeIdentifier": "t_function_arraypush_nonpayable$_t_bytes32_$returns$_t_uint256_$", "typeString": "function (bytes32) returns (uint256)" @@ -33331,7 +33331,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "20912:43:0", + "src": "20512:43:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -33339,7 +33339,7 @@ }, "id": 1208, "nodeType": "ExpressionStatement", - "src": "20912:43:0" + "src": "20512:43:0" } ] }, @@ -33361,7 +33361,7 @@ "name": "buyer", "nodeType": "VariableDeclaration", "scope": 1210, - "src": "18361:13:0", + "src": "17949:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -33372,7 +33372,7 @@ "id": 1055, "name": "address", "nodeType": "ElementaryTypeName", - "src": "18361:7:0", + "src": "17949:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -33387,7 +33387,7 @@ "name": "seller", "nodeType": "VariableDeclaration", "scope": 1210, - "src": "18384:14:0", + "src": "17972:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -33398,7 +33398,7 @@ "id": 1057, "name": "address", "nodeType": "ElementaryTypeName", - "src": "18384:7:0", + "src": "17972:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -33413,7 +33413,7 @@ "name": "moderator", "nodeType": "VariableDeclaration", "scope": 1210, - "src": "18408:17:0", + "src": "17996:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -33424,7 +33424,7 @@ "id": 1059, "name": "address", "nodeType": "ElementaryTypeName", - "src": "18408:7:0", + "src": "17996:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -33439,7 +33439,7 @@ "name": "threshold", "nodeType": "VariableDeclaration", "scope": 1210, - "src": "18435:15:0", + "src": "18023:15:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -33450,7 +33450,7 @@ "id": 1061, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "18435:5:0", + "src": "18023:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -33465,7 +33465,7 @@ "name": "timeoutHours", "nodeType": "VariableDeclaration", "scope": 1210, - "src": "18460:19:0", + "src": "18048:19:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -33476,7 +33476,7 @@ "id": 1063, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "18460:6:0", + "src": "18048:6:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -33491,7 +33491,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 1210, - "src": "18489:18:0", + "src": "18077:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -33502,7 +33502,7 @@ "id": 1065, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "18489:7:0", + "src": "18077:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -33517,7 +33517,7 @@ "name": "value", "nodeType": "VariableDeclaration", "scope": 1210, - "src": "18517:13:0", + "src": "18105:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -33528,7 +33528,7 @@ "id": 1067, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "18517:7:0", + "src": "18105:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -33543,7 +33543,7 @@ "name": "uniqueId", "nodeType": "VariableDeclaration", "scope": 1210, - "src": "18540:16:0", + "src": "18128:16:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -33554,7 +33554,7 @@ "id": 1069, "name": "bytes20", "nodeType": "ElementaryTypeName", - "src": "18540:7:0", + "src": "18128:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -33569,7 +33569,7 @@ "name": "transactionType", "nodeType": "VariableDeclaration", "scope": 1210, - "src": "18566:31:0", + "src": "18154:31:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -33582,7 +33582,7 @@ "name": "TransactionType", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 12, - "src": "18566:15:0", + "src": "18154:15:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -33597,7 +33597,7 @@ "name": "tokenAddress", "nodeType": "VariableDeclaration", "scope": 1210, - "src": "18607:20:0", + "src": "18195:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -33608,7 +33608,7 @@ "id": 1073, "name": "address", "nodeType": "ElementaryTypeName", - "src": "18607:7:0", + "src": "18195:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -33618,27 +33618,27 @@ "visibility": "internal" } ], - "src": "18351:282:0" + "src": "17939:282:0" }, "payable": false, "returnParameters": { "id": 1076, "nodeType": "ParameterList", "parameters": [], - "src": "18654:0:0" + "src": "18242:0:0" }, "scope": 1211, - "src": "18327:2635:0", + "src": "17915:2647:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "private" } ], "scope": 1212, - "src": "460:20504:0" + "src": "460:20104:0" } ], - "src": "0:20965:0" + "src": "0:20565:0" }, "compiler": { "name": "solc", @@ -33646,5 +33646,5 @@ }, "networks": {}, "schemaVersion": "2.0.1", - "updatedAt": "2018-11-19T11:41:06.853Z" + "updatedAt": "2018-11-19T13:12:41.529Z" } \ No newline at end of file diff --git a/build/contracts/ITokenContract.json b/build/contracts/ITokenContract.json index cdbd631..ad70011 100644 --- a/build/contracts/ITokenContract.json +++ b/build/contracts/ITokenContract.json @@ -817,5 +817,5 @@ }, "networks": {}, "schemaVersion": "2.0.1", - "updatedAt": "2018-11-19T11:41:06.834Z" + "updatedAt": "2018-11-19T13:12:41.521Z" } \ No newline at end of file diff --git a/build/contracts/SafeMath.json b/build/contracts/SafeMath.json index bde86c8..de8f4bc 100644 --- a/build/contracts/SafeMath.json +++ b/build/contracts/SafeMath.json @@ -3295,5 +3295,5 @@ }, "networks": {}, "schemaVersion": "2.0.1", - "updatedAt": "2018-11-19T11:41:06.836Z" + "updatedAt": "2018-11-19T13:12:41.522Z" } \ No newline at end of file diff --git a/contracts/escrow/Escrow_v1_0.sol b/contracts/escrow/Escrow_v1_0.sol index ce11e37..0eb6d4c 100644 --- a/contracts/escrow/Escrow_v1_0.sol +++ b/contracts/escrow/Escrow_v1_0.sol @@ -8,7 +8,7 @@ import "../token/ITokenContract.sol"; /** * @dev Supports ERC20 tokens * The escrow smart contract for the open bazaar trades in Ethereum -* The smart contract is desgined keeping in mind the current wallet interface of the OB-core +* The smart contract is designed keeping in mind the current wallet interface of the OB-core * https://github.com/OpenBazaar/wallet-interface/blob/master/wallet.go * Current wallet interface strictly adheres to UTXO(bitcoin) model */ @@ -49,7 +49,7 @@ contract Escrow_v1_0 { address seller; address tokenAddress;//Token address in case of token transfer address moderator; - mapping(address=>bool) isOwner;//to keep track of owners/signers. + mapping(address=>bool) isOwner;//to keep track of owners. mapping(address=>bool) voted;//to keep track of who all voted mapping(address=>bool) beneficiaries;//Benefeciaries of execution } @@ -58,18 +58,18 @@ contract Escrow_v1_0 { uint256 public transactionCount = 0; - //Contains mapping between each party and all of his transactions + //Contains mapping between each party and all of their transactions mapping(address => bytes32[]) public partyVsTransaction; - modifier transactionExists(bytes32 scriptHash) { + modifier transactionExist(bytes32 scriptHash) { require( - transactions[scriptHash].value != 0, "Transaction does not exists" + transactions[scriptHash].value != 0, "Transaction does not exist" ); _; } - modifier transactionDoesNotExists (bytes32 scriptHash) { - require(transactions[scriptHash].value == 0, "Transaction exists"); + modifier transactionDoesNotExist(bytes32 scriptHash) { + require(transactions[scriptHash].value == 0, "Transaction exist"); _; } @@ -109,8 +109,8 @@ contract Escrow_v1_0 { *@param seller The seller of the listing associated with the transaction *@param moderator Moderator for this transaction *@param scriptHash keccak256 hash of the redeem script - *@param threshold Minimum number of singatures required to released funds - *@param timeoutHours Hours after which seller can release funds into his favour by signing transaction + *@param threshold Minimum number of signatures required to released funds + *@param timeoutHours Hours after which seller can release funds into his favour by signing transaction unilaterally *@param uniqueId bytes20 unique id for the transaction, generated by ETH wallet *Redeem Script format will be following @@ -127,7 +127,7 @@ contract Escrow_v1_0 { ) external payable - transactionDoesNotExists(scriptHash) + transactionDoesNotExist(scriptHash) nonZeroAddress(buyer) nonZeroAddress(seller) { @@ -154,14 +154,14 @@ contract Escrow_v1_0 { *@param seller The seller of the listing associated with the transaction *@param moderator Moderator for this transaction *@param scriptHash keccak256 hash of the redeem script - *@param threshold Minimum number of singatures required to released funds - *@param timeoutHours Hours after which seller can release funds into his favour by signing transaction + *@param threshold Minimum number of signatures required to released funds + *@param timeoutHours Hours after which seller can release funds into his favour by signing transaction unilaterally *@param value Amount of tokens to be put in escrow *@param uniqueId bytes20 unique id for the transaction, generated by ETH wallet *@param tokenAddress Address of the token to be used *Redeem Script format will be following - *approve escrow contract to spend amount of token on your behalf + *approve escrow contract to spend amount of token on sender's behalf */ function addTokenTransaction( address buyer, @@ -175,7 +175,7 @@ contract Escrow_v1_0 { address tokenAddress ) external - transactionDoesNotExists(scriptHash) + transactionDoesNotExist(scriptHash) nonZeroAddress(buyer) nonZeroAddress(seller) nonZeroAddress(tokenAddress) @@ -198,13 +198,13 @@ contract Escrow_v1_0 { require( token.transferFrom(msg.sender, this, value), - "Token transfer failed, maybe you did not approve escrow contract to spend on behalf of buyer" + "Token transfer failed, maybe you did not approve escrow contract to spend on behalf of sender" ); emit Funded(scriptHash, msg.sender, value); } /** - * @dev Check whether given address was a beneficiary of transaction execution or not + * @dev This method will check whether given address was a beneficiary of transaction execution or not * @param scriptHash script hash of the transaction * @param beneficiary Beneficiary address to be checked */ @@ -220,7 +220,7 @@ contract Escrow_v1_0 { } /** - * @dev Check whether given party has voted or not + * @dev This method will check whether given party has voted or not * @param scriptHash script hash of the transaction * @param party Address of the party whose vote has to be checked * @return bool vote @@ -247,7 +247,7 @@ contract Escrow_v1_0 { ) external payable - transactionExists(scriptHash) + transactionExist(scriptHash) inFundedState(scriptHash) checkTransactionType(scriptHash, TransactionType.ETHER) onlyBuyer(scriptHash) @@ -268,13 +268,14 @@ contract Escrow_v1_0 { * @dev Allows buyer of the transaction to add more funds(Tokens) in the transaction. * This will help to cater scenarios wherein initially buyer missed to fund transaction as required * @param scriptHash script hash of the transaction + * Only buyer of the transaction can invoke this method */ function addTokensToTransaction( bytes32 scriptHash, uint256 value ) external - transactionExists(scriptHash) + transactionExist(scriptHash) inFundedState(scriptHash) checkTransactionType(scriptHash, TransactionType.TOKEN) onlyBuyer(scriptHash) @@ -320,8 +321,8 @@ contract Escrow_v1_0 { *@param sigR Array containing R component of all the signatures *@param signS Array containing S component of all the signatures *@param scriptHash script hash of the transaction - *@param destinations List of addresses to receive funds - *@param amounts value released to each destination + *@param destinations List of addresses who will receive funds + *@param amounts amount released to each destination */ function execute( uint8[] sigV, @@ -332,7 +333,7 @@ contract Escrow_v1_0 { uint256[] amounts ) external - transactionExists(scriptHash) + transactionExist(scriptHash) inFundedState(scriptHash) { require( @@ -473,7 +474,7 @@ contract Escrow_v1_0 { valueTransferred = valueTransferred.add(amounts[i]); t.beneficiaries[destinations[i]] = true;//add receiver as beneficiary - destinations[i].transfer(amounts[i]);//shall we use send instead of transfer to stop malicious actors from blocking funds? + destinations[i].transfer(amounts[i]); } } else if (t.transactionType == TransactionType.TOKEN) { @@ -494,7 +495,7 @@ contract Escrow_v1_0 { return valueTransferred; } - //to check whether the signature are valid or not and if consensus was reached + //to check whether the signatures are valid or not and if consensus was reached //returns the last address recovered, in case of timeout this must be the sender's address function verifySignatures( uint8[] sigV, @@ -599,11 +600,11 @@ contract Escrow_v1_0 { ); //if threshold is 1 then moderator can be passed as zero address or any other address - //(it wont matter aopart from scripthash since we wont add moderator as one of the owner) + //(it won't matter apart from scripthash since we wont add moderator as one of the owner), //otherwise moderator should be a valid address require( threshold == 1 || moderator != address(0), - "Either threshold should be 1 otherwise valid moderator address should be passed" + "Either threshold should be 1 or valid moderator address should be passed" ); require( From 3029ab3967a707b160ef36dd63dcdaf44708ec63 Mon Sep 17 00:00:00 2001 From: Sameep Singhania Date: Mon, 19 Nov 2018 18:56:44 +0530 Subject: [PATCH 09/19] indexing the scriptHash argument in all events --- build/contracts/Escrow_v1_0.json | 4756 +++++++++++++-------------- build/contracts/ITokenContract.json | 2 +- build/contracts/SafeMath.json | 2 +- contracts/escrow/Escrow_v1_0.sol | 6 +- 4 files changed, 2383 insertions(+), 2383 deletions(-) diff --git a/build/contracts/Escrow_v1_0.json b/build/contracts/Escrow_v1_0.json index 1b9f291..59d0b2c 100644 --- a/build/contracts/Escrow_v1_0.json +++ b/build/contracts/Escrow_v1_0.json @@ -418,11 +418,11 @@ "type": "function" } ], - "bytecode": "0x6080604052600060015534801561001557600080fd5b50614210806100256000396000f3006080604052600436106100ba576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806323b6fd3f146100bf5780632d9ef96e1461017957806346fbcdeb1461019d57806357bced7614610292578063642f2eaf14610383578063b0550c66146104e5578063b719e2801461054e578063b77bf60014610589578063be84ceaf146105b4578063e4ec8b001461064c578063f0786562146106f5578063f5dbe09c1461075e575b600080fd5b610177600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff169060200190929190803563ffffffff169060200190929190803560001916906020019092919080356bffffffffffffffffffffffff191690602001909291905050506107c7565b005b61019b6004803603810190808035600019169060200190929190505050610a26565b005b3480156101a957600080fd5b5061027460048036038101908080356bffffffffffffffffffffffff19169060200190929190803560ff169060200190929190803563ffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610eb4565b60405180826000191660001916815260200191505060405180910390f35b34801561029e57600080fd5b50610381600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff169060200190929190803563ffffffff16906020019092919080356000191690602001909291908035906020019092919080356bffffffffffffffffffffffff19169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611360565b005b34801561038f57600080fd5b506103b26004803603810190808035600019169060200190929190505050611840565b604051808b81526020018a81526020018960018111156103ce57fe5b60ff1681526020018860018111156103e257fe5b60ff1681526020018760ff1660ff1681526020018663ffffffff1663ffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019a505050505050505050505060405180910390f35b3480156104f157600080fd5b506105346004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061194b565b604051808215151515815260200191505060405180910390f35b34801561055a57600080fd5b506105876004803603810190808035600019169060200190929190803590602001909291905050506119bd565b005b34801561059557600080fd5b5061059e61209d565b6040518082815260200191505060405180910390f35b3480156105c057600080fd5b506105f5600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506120a3565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b8381101561063857808201518184015260208101905061061d565b505050509050019250505060405180910390f35b34801561065857600080fd5b506106f3600480360381019080803590602001908201803590602001919091929391929390803590602001908201803590602001919091929391929390803590602001908201803590602001919091929391929390803560001916906020019092919080359060200190820180359060200191909192939192939080359060200190820180359060200191909192939192939050505061213e565b005b34801561070157600080fd5b506107446004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506126a0565b604051808215151515815260200191505060405180910390f35b34801561076a57600080fd5b506107a9600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050612712565b60405180826000191660001916815260200191505060405180910390f35b81600080600083600019166000191681526020019081526020016000206000015414151561085d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f5472616e73616374696f6e20657869737473000000000000000000000000000081525060200191505060405180910390fd5b87600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610903576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b87600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156109a9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b6109bc8a8a8a8a8a8a348b600080612742565b3373ffffffffffffffffffffffffffffffffffffffff167fce7089d0668849fb9ca29778c0cbf1e764d9efb048d81fd71fb34c94f26db36886346040518083600019166000191681526020018281526020019250505060405180910390a250505050505050505050565b600081600080600083600019166000191681526020019081526020016000206000015414151515610abf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737473000000000081525060200191505060405180910390fd5b8260006001811115610acd57fe5b600080836000191660001916815260200190815260200160002060020160009054906101000a900460ff166001811115610b0357fe5b141515610b9e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001807f5472616e73616374696f6e206973206e6f7420696e2046554e4445442073746181526020017f746500000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b836000806001811115610bad57fe5b600080846000191660001916815260200190815260200160002060020160019054906101000a900460ff166001811115610be357fe5b141515610c58576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5472616e73616374696f6e207479706520646f6573206e6f74206d617463680081525060200191505060405180910390fd5b85600080826000191660001916815260200190815260200160002060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610d5f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f54686520696e69746961746f72206f6620746865207472616e73616374696f6e81526020017f206973206e6f742062757965720000000000000000000000000000000000000081525060400191505060405180910390fd5b349550600086111515610dda576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f56616c7565206d7573742062652067726561746572207468616e207a65726f2e81525060200191505060405180910390fd5b610e0a866000808a60001916600019168152602001908152602001600020600001546130ce90919063ffffffff16565b600080896000191660001916815260200190815260200160002060000181905550426000808960001916600019168152602001908152602001600020600101819055503373ffffffffffffffffffffffffffffffffffffffff167ff66fd2ae9e24a6a24b02e1b5b7512ffde5149a4176085fc0298ae228c9b9d72988886040518083600019166000191681526020018281526020019250505060405180910390a250505050505050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611100578787878787873060405160200180886bffffffffffffffffffffffff19166bffffffffffffffffffffffff191681526014018760ff1660ff167f01000000000000000000000000000000000000000000000000000000000000000281526001018663ffffffff1663ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014019750505050505050506040516020818303038152906040526040518082805190602001908083835b6020831015156110cc57805182526020820191506020810190506020830392506110a7565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390209050611355565b878787878787308860405160200180896bffffffffffffffffffffffff19166bffffffffffffffffffffffff191681526014018860ff1660ff167f01000000000000000000000000000000000000000000000000000000000000000281526001018763ffffffff1663ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401985050505050505050506040516020818303038152906040526040518082805190602001908083835b6020831015156113255780518252602082019150602081019050602083039250611300565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902090505b979650505050505050565b60008460008060008360001916600019168152602001908152602001600020600001541415156113f8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f5472616e73616374696f6e20657869737473000000000000000000000000000081525060200191505060405180910390fd5b8a600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561149e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b8a600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515611544576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b84600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156115ea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b6115fd8e8e8e8e8e8e8e8e60018f612742565b8594508473ffffffffffffffffffffffffffffffffffffffff166323b872dd33308b6040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b1580156116d757600080fd5b505af11580156116eb573d6000803e3d6000fd5b505050506040513d602081101561170157600080fd5b810190808051906020019092919050505015156117d2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252605c8152602001807f546f6b656e207472616e73666572206661696c65642c206d6179626520796f7581526020017f20646964206e6f7420617070726f766520657363726f7720636f6e747261637481526020017f20746f207370656e64206f6e20626568616c66206f662062757965720000000081525060600191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff167fce7089d0668849fb9ca29778c0cbf1e764d9efb048d81fd71fb34c94f26db3688a8a6040518083600019166000191681526020018281526020019250505060405180910390a25050505050505050505050505050565b60006020528060005260406000206000915090508060000154908060010154908060020160009054906101000a900460ff16908060020160019054906101000a900460ff16908060020160029054906101000a900460ff16908060020160039054906101000a900463ffffffff16908060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060050160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508a565b6000806000846000191660001916815260200190815260200160002060080160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b60008083600080600083600019166000191681526020019081526020016000206000015414151515611a57576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737473000000000081525060200191505060405180910390fd5b8460006001811115611a6557fe5b600080836000191660001916815260200190815260200160002060020160009054906101000a900460ff166001811115611a9b57fe5b141515611b36576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001807f5472616e73616374696f6e206973206e6f7420696e2046554e4445442073746181526020017f746500000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b856001806001811115611b4557fe5b600080846000191660001916815260200190815260200160002060020160019054906101000a900460ff166001811115611b7b57fe5b141515611bf0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5472616e73616374696f6e207479706520646f6573206e6f74206d617463680081525060200191505060405180910390fd5b87600080826000191660001916815260200190815260200160002060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611cf7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f54686520696e69746961746f72206f6620746865207472616e73616374696f6e81526020017f206973206e6f742062757965720000000000000000000000000000000000000081525060400191505060405180910390fd5b879650600087111515611d72576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f56616c7565206d7573742062652067726561746572207468616e207a65726f2e81525060200191505060405180910390fd5b6000808a6000191660001916815260200190815260200160002060040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1695508573ffffffffffffffffffffffffffffffffffffffff166323b872dd6000808c6000191660001916815260200190815260200160002060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff16308b6040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b158015611ec657600080fd5b505af1158015611eda573d6000803e3d6000fd5b505050506040513d6020811015611ef057600080fd5b81019080805190602001909291905050501515611fc1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252605c8152602001807f546f6b656e207472616e73666572206661696c65642c206d6179626520796f7581526020017f20646964206e6f7420617070726f766520657363726f7720636f6e747261637481526020017f20746f207370656e64206f6e20626568616c66206f662062757965720000000081525060600191505060405180910390fd5b611ff1876000808c60001916600019168152602001908152602001600020600001546130ce90919063ffffffff16565b6000808b6000191660001916815260200190815260200160002060000181905550426000808b60001916600019168152602001908152602001600020600101819055503373ffffffffffffffffffffffffffffffffffffffff167ff66fd2ae9e24a6a24b02e1b5b7512ffde5149a4176085fc0298ae228c9b9d7298a896040518083600019166000191681526020018281526020019250505060405180910390a2505050505050505050565b60015481565b6060600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080548060200260200160405190810160405280929190818152602001828054801561213257602002820191906000526020600020905b8154600019168152602001906001019080831161211a575b50505050509050919050565b846000806000836000191660001916815260200190815260200160002060000154141515156121d5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737473000000000081525060200191505060405180910390fd5b85600060018111156121e357fe5b600080836000191660001916815260200190815260200160002060020160009054906101000a900460ff16600181111561221957fe5b1415156122b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001807f5472616e73616374696f6e206973206e6f7420696e2046554e4445442073746181526020017f746500000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b6000868690501180156122cc57508383905086869050145b1515612366576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001807f4c656e677468206f662064657374696e6174696f6e7320697320696e636f727281526020017f6563742e0000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b61245f8d8d808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508c8c808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508b8b808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508a8a8a808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508989808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050506130ef565b6001600080896000191660001916815260200190815260200160002060020160006101000a81548160ff0219169083600181111561249957fe5b021790555042600080896000191660001916815260200190815260200160002060010181905550600080886000191660001916815260200190815260200160002060000154612547888888808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508787808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050506132d0565b141515612608576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260488152602001807f546f74616c2076616c756520746f2062652072656c6561736564206d7573742081526020017f626520657175616c20746f20746865207472616e73616374696f6e206573637281526020017f6f772076616c756500000000000000000000000000000000000000000000000081525060600191505060405180910390fd5b7f688e2a1b34445bcd47b0e11ba2a9c8c4d850a1831b64199b59d1c70e2970154587878787876040518086600019166000191681526020018060200180602001838103835287878281815260200192506020028082843782019150508381038252858582818152602001925060200280828437820191505097505050505050505060405180910390a150505050505050505050505050565b6000806000846000191660001916815260200190815260200160002060070160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b60026020528160005260406000208181548110151561272d57fe5b90600052602060002001600091509150505481565b8873ffffffffffffffffffffffffffffffffffffffff168a73ffffffffffffffffffffffffffffffffffffffff16141515156127e6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f427579657220616e642073656c6c6572206172652073616d650000000000000081525060200191505060405180910390fd5b60008411151561285e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f56616c756520706173736564206973203000000000000000000000000000000081525060200191505060405180910390fd5b60008760ff16118015612875575060038760ff1611155b151561290f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603d8152602001807f5468726573686f6c642063616e6e6f742062652067726561746572207468616e81526020017f203320616e64206d7573742062652067726561746572207468616e203000000081525060400191505060405180910390fd5b60018760ff16148061294e5750600073ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff1614155b1515612a0e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252604f8152602001807f456974686572207468726573686f6c642073686f756c642062652031206f746881526020017f6572776973652076616c6964206d6f64657261746f722061646472657373207381526020017f686f756c6420626520706173736564000000000000000000000000000000000081525060600191505060405180910390fd5b612a1d8388888d8d8d87610eb4565b600019168560001916141515612ac1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260398152602001807f43616c63756c6174656420736372697074206861736820646f6573206e6f742081526020017f6d61746368207061737365642073637269707420686173682e0000000000000081525060400191505060405180910390fd5b6101406040519081016040528085815260200142815260200160006001811115612ae757fe5b8152602001836001811115612af857fe5b81526020018860ff1681526020018763ffffffff1681526020018b73ffffffffffffffffffffffffffffffffffffffff1681526020018a73ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020018973ffffffffffffffffffffffffffffffffffffffff168152506000808760001916600019168152602001908152602001600020600082015181600001556020820151816001015560408201518160020160006101000a81548160ff02191690836001811115612bd257fe5b021790555060608201518160020160016101000a81548160ff02191690836001811115612bfb57fe5b021790555060808201518160020160026101000a81548160ff021916908360ff16021790555060a08201518160020160036101000a81548163ffffffff021916908363ffffffff16021790555060c08201518160020160076101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060e08201518160030160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506101008201518160040160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506101208201518160050160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055509050506001600080876000191660001916815260200190815260200160002060060160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600080876000191660001916815260200190815260200160002060060160008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600080866000191660001916815260200190815260200160002060060160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151515612f52576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f456974686572206275796572206f722073656c6c65722069732070617373656481526020017f206173206d6f64657261746f720000000000000000000000000000000000000081525060400191505060405180910390fd5b60018760ff161115612fd2576001600080876000191660001916815260200190815260200160002060060160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b600160008154809291906001019190505550600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020859080600181540180825580915050906001820390600052602060002001600090919290919091509060001916905550600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002085908060018154018082558091505090600182039060005260206000200160009091929091909150906000191690555050505050505050505050565b60008082840190508381101515156130e557600080fd5b8091505092915050565b600080613100888888888888613ab8565b9150613156600080876000191660001916815260200190815260200160002060020160039054906101000a900463ffffffff16600080886000191660001916815260200190815260200160002060010154614131565b9050600080866000191660001916815260200190815260200160002060020160029054906101000a900460ff1660ff16885110801561320757508015806132065750600080866000191660001916815260200190815260200160002060030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b5b156132c6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260588152602001807f4d696e696d756d206e756d626572206f66207369676e6174757265732061726581526020017f206e6f7420636f6c6c656374656420616e642074696d65206c6f636b2065787081526020017f69727920636f6e646974696f6e73206e6f74206d65742121000000000000000081525060600191505060405180910390fd5b5050505050505050565b6000806000806000806000808a600019166000191681526020019081526020016000209450600093506000600181111561330657fe5b8560020160019054906101000a900460ff16600181111561332357fe5b141561363a57600092505b875183101561363557600073ffffffffffffffffffffffffffffffffffffffff16888481518110151561335d57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff16141580156133ed5750846006016000898581518110151561339a57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1515613461576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f4e6f7420612076616c69642064657374696e6174696f6e00000000000000000081525060200191505060405180910390fd5b6000878481518110151561347157fe5b90602001906020020151111515613516576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001807f416d6f756e7420746f2062652073656e742073686f756c64206265206772656181526020017f746572207468616e20300000000000000000000000000000000000000000000081525060400191505060405180910390fd5b613540878481518110151561352757fe5b90602001906020020151856130ce90919063ffffffff16565b935060018560080160008a8681518110151561355857fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555087838151811015156135c157fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff166108fc88858151811015156135f257fe5b906020019060200201519081150290604051600060405180830381858888f19350505050158015613627573d6000803e3d6000fd5b50828060010193505061332e565b613aa9565b60018081111561364657fe5b8560020160019054906101000a900460ff16600181111561366357fe5b1415613aa8578460040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169150600090505b8751811015613aa757600073ffffffffffffffffffffffffffffffffffffffff1688828151811015156136c457fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff16141580156137545750846006016000898381518110151561370157fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15156137c8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f4e6f7420612076616c69642064657374696e6174696f6e00000000000000000081525060200191505060405180910390fd5b600087828151811015156137d857fe5b9060200190602002015111151561387d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001807f416d6f756e7420746f2062652073656e742073686f756c64206265206772656181526020017f746572207468616e20300000000000000000000000000000000000000000000081525060400191505060405180910390fd5b6138a7878281518110151561388e57fe5b90602001906020020151856130ce90919063ffffffff16565b935060018560080160008a848151811015156138bf57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb898381518110151561394457fe5b90602001906020020151898481518110151561395c57fe5b906020019060200201516040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1580156139eb57600080fd5b505af11580156139ff573d6000803e3d6000fd5b505050506040513d6020811015613a1557600080fd5b81019080805190602001909291905050501515613a9a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f546f6b656e207472616e73666572206661696c65642e0000000000000000000081525060200191505060405180910390fd5b8080600101915050613695565b5b5b83955050505050509392505050565b600080600080600088518a51148015613ad257508a518a51145b1515613b46576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f522c532c56206c656e677468206d69736d617463682e0000000000000000000081525060200191505060405180910390fd5b60197f01000000000000000000000000000000000000000000000000000000000000000260007f0100000000000000000000000000000000000000000000000000000000000000023089898c60405160200180877effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168152600101867effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526001018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401848051906020019060200280838360005b83811015613c9a578082015181840152602081019050613c7f565b50505050905001838051906020019060200280838360005b83811015613ccd578082015181840152602081019050613cb2565b50505050905001826000191660001916815260200196505050505050506040516020818303038152906040526040518082805190602001908083835b602083101515613d2e5780518252602082019150602081019050602083039250613d09565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902060405160200180807f19457468657265756d205369676e6564204d6573736167653a0a333200000000815250601c0182600019166000191681526020019150506040516020818303038152906040526040518082805190602001908083835b602083101515613ddf5780518252602082019150602081019050602083039250613dba565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390209250600091505b8951821015614120576001838c84815181101515613e2d57fe5b906020019060200201518c85815181101515613e4557fe5b906020019060200201518c86815181101515613e5d57fe5b90602001906020020151604051600081526020016040526040518085600019166000191681526020018460ff1660ff1681526020018360001916600019168152602001826000191660001916815260200194505050505060206040516020810390808403906000865af1158015613ed8573d6000803e3d6000fd5b505050602060405103519050600080896000191660001916815260200190815260200160002060060160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515613fc0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f496e76616c6964207369676e617475726500000000000000000000000000000081525060200191505060405180910390fd5b600080896000191660001916815260200190815260200160002060070160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151561409d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f53616d65207369676e61747572652073656e742074776963650000000000000081525060200191505060405180910390fd5b60016000808a6000191660001916815260200190815260200160002060070160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508093508180600101925050613e13565b839450505050509695505050505050565b600080614147834261418590919063ffffffff16565b905060008463ffffffff161461417957614172610e108563ffffffff166141a690919063ffffffff16565b811161417c565b60005b91505092915050565b60008083831115151561419757600080fd5b82840390508091505092915050565b60008060008414156141bb57600091506141dd565b82840290508284828115156141cc57fe5b041415156141d957600080fd5b8091505b50929150505600a165627a7a72305820b58b84528103d1148988fd7eadc6988a7464a98d80e35854f976e0b743b1bd170029", - "deployedBytecode": "0x6080604052600436106100ba576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806323b6fd3f146100bf5780632d9ef96e1461017957806346fbcdeb1461019d57806357bced7614610292578063642f2eaf14610383578063b0550c66146104e5578063b719e2801461054e578063b77bf60014610589578063be84ceaf146105b4578063e4ec8b001461064c578063f0786562146106f5578063f5dbe09c1461075e575b600080fd5b610177600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff169060200190929190803563ffffffff169060200190929190803560001916906020019092919080356bffffffffffffffffffffffff191690602001909291905050506107c7565b005b61019b6004803603810190808035600019169060200190929190505050610a26565b005b3480156101a957600080fd5b5061027460048036038101908080356bffffffffffffffffffffffff19169060200190929190803560ff169060200190929190803563ffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610eb4565b60405180826000191660001916815260200191505060405180910390f35b34801561029e57600080fd5b50610381600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff169060200190929190803563ffffffff16906020019092919080356000191690602001909291908035906020019092919080356bffffffffffffffffffffffff19169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611360565b005b34801561038f57600080fd5b506103b26004803603810190808035600019169060200190929190505050611840565b604051808b81526020018a81526020018960018111156103ce57fe5b60ff1681526020018860018111156103e257fe5b60ff1681526020018760ff1660ff1681526020018663ffffffff1663ffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019a505050505050505050505060405180910390f35b3480156104f157600080fd5b506105346004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061194b565b604051808215151515815260200191505060405180910390f35b34801561055a57600080fd5b506105876004803603810190808035600019169060200190929190803590602001909291905050506119bd565b005b34801561059557600080fd5b5061059e61209d565b6040518082815260200191505060405180910390f35b3480156105c057600080fd5b506105f5600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506120a3565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b8381101561063857808201518184015260208101905061061d565b505050509050019250505060405180910390f35b34801561065857600080fd5b506106f3600480360381019080803590602001908201803590602001919091929391929390803590602001908201803590602001919091929391929390803590602001908201803590602001919091929391929390803560001916906020019092919080359060200190820180359060200191909192939192939080359060200190820180359060200191909192939192939050505061213e565b005b34801561070157600080fd5b506107446004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506126a0565b604051808215151515815260200191505060405180910390f35b34801561076a57600080fd5b506107a9600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050612712565b60405180826000191660001916815260200191505060405180910390f35b81600080600083600019166000191681526020019081526020016000206000015414151561085d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f5472616e73616374696f6e20657869737473000000000000000000000000000081525060200191505060405180910390fd5b87600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610903576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b87600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156109a9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b6109bc8a8a8a8a8a8a348b600080612742565b3373ffffffffffffffffffffffffffffffffffffffff167fce7089d0668849fb9ca29778c0cbf1e764d9efb048d81fd71fb34c94f26db36886346040518083600019166000191681526020018281526020019250505060405180910390a250505050505050505050565b600081600080600083600019166000191681526020019081526020016000206000015414151515610abf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737473000000000081525060200191505060405180910390fd5b8260006001811115610acd57fe5b600080836000191660001916815260200190815260200160002060020160009054906101000a900460ff166001811115610b0357fe5b141515610b9e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001807f5472616e73616374696f6e206973206e6f7420696e2046554e4445442073746181526020017f746500000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b836000806001811115610bad57fe5b600080846000191660001916815260200190815260200160002060020160019054906101000a900460ff166001811115610be357fe5b141515610c58576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5472616e73616374696f6e207479706520646f6573206e6f74206d617463680081525060200191505060405180910390fd5b85600080826000191660001916815260200190815260200160002060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610d5f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f54686520696e69746961746f72206f6620746865207472616e73616374696f6e81526020017f206973206e6f742062757965720000000000000000000000000000000000000081525060400191505060405180910390fd5b349550600086111515610dda576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f56616c7565206d7573742062652067726561746572207468616e207a65726f2e81525060200191505060405180910390fd5b610e0a866000808a60001916600019168152602001908152602001600020600001546130ce90919063ffffffff16565b600080896000191660001916815260200190815260200160002060000181905550426000808960001916600019168152602001908152602001600020600101819055503373ffffffffffffffffffffffffffffffffffffffff167ff66fd2ae9e24a6a24b02e1b5b7512ffde5149a4176085fc0298ae228c9b9d72988886040518083600019166000191681526020018281526020019250505060405180910390a250505050505050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611100578787878787873060405160200180886bffffffffffffffffffffffff19166bffffffffffffffffffffffff191681526014018760ff1660ff167f01000000000000000000000000000000000000000000000000000000000000000281526001018663ffffffff1663ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014019750505050505050506040516020818303038152906040526040518082805190602001908083835b6020831015156110cc57805182526020820191506020810190506020830392506110a7565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390209050611355565b878787878787308860405160200180896bffffffffffffffffffffffff19166bffffffffffffffffffffffff191681526014018860ff1660ff167f01000000000000000000000000000000000000000000000000000000000000000281526001018763ffffffff1663ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401985050505050505050506040516020818303038152906040526040518082805190602001908083835b6020831015156113255780518252602082019150602081019050602083039250611300565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902090505b979650505050505050565b60008460008060008360001916600019168152602001908152602001600020600001541415156113f8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f5472616e73616374696f6e20657869737473000000000000000000000000000081525060200191505060405180910390fd5b8a600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561149e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b8a600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515611544576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b84600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156115ea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b6115fd8e8e8e8e8e8e8e8e60018f612742565b8594508473ffffffffffffffffffffffffffffffffffffffff166323b872dd33308b6040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b1580156116d757600080fd5b505af11580156116eb573d6000803e3d6000fd5b505050506040513d602081101561170157600080fd5b810190808051906020019092919050505015156117d2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252605c8152602001807f546f6b656e207472616e73666572206661696c65642c206d6179626520796f7581526020017f20646964206e6f7420617070726f766520657363726f7720636f6e747261637481526020017f20746f207370656e64206f6e20626568616c66206f662062757965720000000081525060600191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff167fce7089d0668849fb9ca29778c0cbf1e764d9efb048d81fd71fb34c94f26db3688a8a6040518083600019166000191681526020018281526020019250505060405180910390a25050505050505050505050505050565b60006020528060005260406000206000915090508060000154908060010154908060020160009054906101000a900460ff16908060020160019054906101000a900460ff16908060020160029054906101000a900460ff16908060020160039054906101000a900463ffffffff16908060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060050160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508a565b6000806000846000191660001916815260200190815260200160002060080160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b60008083600080600083600019166000191681526020019081526020016000206000015414151515611a57576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737473000000000081525060200191505060405180910390fd5b8460006001811115611a6557fe5b600080836000191660001916815260200190815260200160002060020160009054906101000a900460ff166001811115611a9b57fe5b141515611b36576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001807f5472616e73616374696f6e206973206e6f7420696e2046554e4445442073746181526020017f746500000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b856001806001811115611b4557fe5b600080846000191660001916815260200190815260200160002060020160019054906101000a900460ff166001811115611b7b57fe5b141515611bf0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5472616e73616374696f6e207479706520646f6573206e6f74206d617463680081525060200191505060405180910390fd5b87600080826000191660001916815260200190815260200160002060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611cf7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f54686520696e69746961746f72206f6620746865207472616e73616374696f6e81526020017f206973206e6f742062757965720000000000000000000000000000000000000081525060400191505060405180910390fd5b879650600087111515611d72576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f56616c7565206d7573742062652067726561746572207468616e207a65726f2e81525060200191505060405180910390fd5b6000808a6000191660001916815260200190815260200160002060040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1695508573ffffffffffffffffffffffffffffffffffffffff166323b872dd6000808c6000191660001916815260200190815260200160002060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff16308b6040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b158015611ec657600080fd5b505af1158015611eda573d6000803e3d6000fd5b505050506040513d6020811015611ef057600080fd5b81019080805190602001909291905050501515611fc1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252605c8152602001807f546f6b656e207472616e73666572206661696c65642c206d6179626520796f7581526020017f20646964206e6f7420617070726f766520657363726f7720636f6e747261637481526020017f20746f207370656e64206f6e20626568616c66206f662062757965720000000081525060600191505060405180910390fd5b611ff1876000808c60001916600019168152602001908152602001600020600001546130ce90919063ffffffff16565b6000808b6000191660001916815260200190815260200160002060000181905550426000808b60001916600019168152602001908152602001600020600101819055503373ffffffffffffffffffffffffffffffffffffffff167ff66fd2ae9e24a6a24b02e1b5b7512ffde5149a4176085fc0298ae228c9b9d7298a896040518083600019166000191681526020018281526020019250505060405180910390a2505050505050505050565b60015481565b6060600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080548060200260200160405190810160405280929190818152602001828054801561213257602002820191906000526020600020905b8154600019168152602001906001019080831161211a575b50505050509050919050565b846000806000836000191660001916815260200190815260200160002060000154141515156121d5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737473000000000081525060200191505060405180910390fd5b85600060018111156121e357fe5b600080836000191660001916815260200190815260200160002060020160009054906101000a900460ff16600181111561221957fe5b1415156122b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001807f5472616e73616374696f6e206973206e6f7420696e2046554e4445442073746181526020017f746500000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b6000868690501180156122cc57508383905086869050145b1515612366576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001807f4c656e677468206f662064657374696e6174696f6e7320697320696e636f727281526020017f6563742e0000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b61245f8d8d808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508c8c808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508b8b808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508a8a8a808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508989808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050506130ef565b6001600080896000191660001916815260200190815260200160002060020160006101000a81548160ff0219169083600181111561249957fe5b021790555042600080896000191660001916815260200190815260200160002060010181905550600080886000191660001916815260200190815260200160002060000154612547888888808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508787808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050506132d0565b141515612608576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260488152602001807f546f74616c2076616c756520746f2062652072656c6561736564206d7573742081526020017f626520657175616c20746f20746865207472616e73616374696f6e206573637281526020017f6f772076616c756500000000000000000000000000000000000000000000000081525060600191505060405180910390fd5b7f688e2a1b34445bcd47b0e11ba2a9c8c4d850a1831b64199b59d1c70e2970154587878787876040518086600019166000191681526020018060200180602001838103835287878281815260200192506020028082843782019150508381038252858582818152602001925060200280828437820191505097505050505050505060405180910390a150505050505050505050505050565b6000806000846000191660001916815260200190815260200160002060070160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b60026020528160005260406000208181548110151561272d57fe5b90600052602060002001600091509150505481565b8873ffffffffffffffffffffffffffffffffffffffff168a73ffffffffffffffffffffffffffffffffffffffff16141515156127e6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f427579657220616e642073656c6c6572206172652073616d650000000000000081525060200191505060405180910390fd5b60008411151561285e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f56616c756520706173736564206973203000000000000000000000000000000081525060200191505060405180910390fd5b60008760ff16118015612875575060038760ff1611155b151561290f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603d8152602001807f5468726573686f6c642063616e6e6f742062652067726561746572207468616e81526020017f203320616e64206d7573742062652067726561746572207468616e203000000081525060400191505060405180910390fd5b60018760ff16148061294e5750600073ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff1614155b1515612a0e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252604f8152602001807f456974686572207468726573686f6c642073686f756c642062652031206f746881526020017f6572776973652076616c6964206d6f64657261746f722061646472657373207381526020017f686f756c6420626520706173736564000000000000000000000000000000000081525060600191505060405180910390fd5b612a1d8388888d8d8d87610eb4565b600019168560001916141515612ac1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260398152602001807f43616c63756c6174656420736372697074206861736820646f6573206e6f742081526020017f6d61746368207061737365642073637269707420686173682e0000000000000081525060400191505060405180910390fd5b6101406040519081016040528085815260200142815260200160006001811115612ae757fe5b8152602001836001811115612af857fe5b81526020018860ff1681526020018763ffffffff1681526020018b73ffffffffffffffffffffffffffffffffffffffff1681526020018a73ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020018973ffffffffffffffffffffffffffffffffffffffff168152506000808760001916600019168152602001908152602001600020600082015181600001556020820151816001015560408201518160020160006101000a81548160ff02191690836001811115612bd257fe5b021790555060608201518160020160016101000a81548160ff02191690836001811115612bfb57fe5b021790555060808201518160020160026101000a81548160ff021916908360ff16021790555060a08201518160020160036101000a81548163ffffffff021916908363ffffffff16021790555060c08201518160020160076101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060e08201518160030160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506101008201518160040160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506101208201518160050160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055509050506001600080876000191660001916815260200190815260200160002060060160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600080876000191660001916815260200190815260200160002060060160008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600080866000191660001916815260200190815260200160002060060160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151515612f52576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f456974686572206275796572206f722073656c6c65722069732070617373656481526020017f206173206d6f64657261746f720000000000000000000000000000000000000081525060400191505060405180910390fd5b60018760ff161115612fd2576001600080876000191660001916815260200190815260200160002060060160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b600160008154809291906001019190505550600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020859080600181540180825580915050906001820390600052602060002001600090919290919091509060001916905550600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002085908060018154018082558091505090600182039060005260206000200160009091929091909150906000191690555050505050505050505050565b60008082840190508381101515156130e557600080fd5b8091505092915050565b600080613100888888888888613ab8565b9150613156600080876000191660001916815260200190815260200160002060020160039054906101000a900463ffffffff16600080886000191660001916815260200190815260200160002060010154614131565b9050600080866000191660001916815260200190815260200160002060020160029054906101000a900460ff1660ff16885110801561320757508015806132065750600080866000191660001916815260200190815260200160002060030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b5b156132c6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260588152602001807f4d696e696d756d206e756d626572206f66207369676e6174757265732061726581526020017f206e6f7420636f6c6c656374656420616e642074696d65206c6f636b2065787081526020017f69727920636f6e646974696f6e73206e6f74206d65742121000000000000000081525060600191505060405180910390fd5b5050505050505050565b6000806000806000806000808a600019166000191681526020019081526020016000209450600093506000600181111561330657fe5b8560020160019054906101000a900460ff16600181111561332357fe5b141561363a57600092505b875183101561363557600073ffffffffffffffffffffffffffffffffffffffff16888481518110151561335d57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff16141580156133ed5750846006016000898581518110151561339a57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1515613461576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f4e6f7420612076616c69642064657374696e6174696f6e00000000000000000081525060200191505060405180910390fd5b6000878481518110151561347157fe5b90602001906020020151111515613516576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001807f416d6f756e7420746f2062652073656e742073686f756c64206265206772656181526020017f746572207468616e20300000000000000000000000000000000000000000000081525060400191505060405180910390fd5b613540878481518110151561352757fe5b90602001906020020151856130ce90919063ffffffff16565b935060018560080160008a8681518110151561355857fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555087838151811015156135c157fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff166108fc88858151811015156135f257fe5b906020019060200201519081150290604051600060405180830381858888f19350505050158015613627573d6000803e3d6000fd5b50828060010193505061332e565b613aa9565b60018081111561364657fe5b8560020160019054906101000a900460ff16600181111561366357fe5b1415613aa8578460040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169150600090505b8751811015613aa757600073ffffffffffffffffffffffffffffffffffffffff1688828151811015156136c457fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff16141580156137545750846006016000898381518110151561370157fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15156137c8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f4e6f7420612076616c69642064657374696e6174696f6e00000000000000000081525060200191505060405180910390fd5b600087828151811015156137d857fe5b9060200190602002015111151561387d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001807f416d6f756e7420746f2062652073656e742073686f756c64206265206772656181526020017f746572207468616e20300000000000000000000000000000000000000000000081525060400191505060405180910390fd5b6138a7878281518110151561388e57fe5b90602001906020020151856130ce90919063ffffffff16565b935060018560080160008a848151811015156138bf57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb898381518110151561394457fe5b90602001906020020151898481518110151561395c57fe5b906020019060200201516040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1580156139eb57600080fd5b505af11580156139ff573d6000803e3d6000fd5b505050506040513d6020811015613a1557600080fd5b81019080805190602001909291905050501515613a9a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f546f6b656e207472616e73666572206661696c65642e0000000000000000000081525060200191505060405180910390fd5b8080600101915050613695565b5b5b83955050505050509392505050565b600080600080600088518a51148015613ad257508a518a51145b1515613b46576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f522c532c56206c656e677468206d69736d617463682e0000000000000000000081525060200191505060405180910390fd5b60197f01000000000000000000000000000000000000000000000000000000000000000260007f0100000000000000000000000000000000000000000000000000000000000000023089898c60405160200180877effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168152600101867effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526001018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401848051906020019060200280838360005b83811015613c9a578082015181840152602081019050613c7f565b50505050905001838051906020019060200280838360005b83811015613ccd578082015181840152602081019050613cb2565b50505050905001826000191660001916815260200196505050505050506040516020818303038152906040526040518082805190602001908083835b602083101515613d2e5780518252602082019150602081019050602083039250613d09565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902060405160200180807f19457468657265756d205369676e6564204d6573736167653a0a333200000000815250601c0182600019166000191681526020019150506040516020818303038152906040526040518082805190602001908083835b602083101515613ddf5780518252602082019150602081019050602083039250613dba565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390209250600091505b8951821015614120576001838c84815181101515613e2d57fe5b906020019060200201518c85815181101515613e4557fe5b906020019060200201518c86815181101515613e5d57fe5b90602001906020020151604051600081526020016040526040518085600019166000191681526020018460ff1660ff1681526020018360001916600019168152602001826000191660001916815260200194505050505060206040516020810390808403906000865af1158015613ed8573d6000803e3d6000fd5b505050602060405103519050600080896000191660001916815260200190815260200160002060060160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515613fc0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f496e76616c6964207369676e617475726500000000000000000000000000000081525060200191505060405180910390fd5b600080896000191660001916815260200190815260200160002060070160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151561409d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f53616d65207369676e61747572652073656e742074776963650000000000000081525060200191505060405180910390fd5b60016000808a6000191660001916815260200190815260200160002060070160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508093508180600101925050613e13565b839450505050509695505050505050565b600080614147834261418590919063ffffffff16565b905060008463ffffffff161461417957614172610e108563ffffffff166141a690919063ffffffff16565b811161417c565b60005b91505092915050565b60008083831115151561419757600080fd5b82840390508091505092915050565b60008060008414156141bb57600091506141dd565b82840290508284828115156141cc57fe5b041415156141d957600080fd5b8091505b50929150505600a165627a7a72305820b58b84528103d1148988fd7eadc6988a7464a98d80e35854f976e0b743b1bd170029", - "sourceMap": "460:20104:0:-;;;1637:1;1603:35;;460:20104;8:9:-1;5:2;;;30:1;27;20:12;5:2;460:20104:0;;;;;;;", - "deployedSourceMap": "460:20104:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3675:702;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7504:607;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11740:999;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11740:999:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5294:1021;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5294:1021:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1545:51;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1545:51:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6539:221;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6539:221:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8380:924;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8380:924:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1603:35;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1603:35:0;;;;;;;;;;;;;;;;;;;;;;;9421:194;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9421:194:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;9421:194:0;;;;;;;;;;;;;;;;;10206:1063;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10206:1063:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6983:194;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6983:194:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1715:55;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1715:55:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3675:702;3953:10;2062:1;2028:12;:24;2041:10;2028:24;;;;;;;;;;;;;;;;;:30;;;:35;2020:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3988:5;2396:1;2370:28;;:14;:28;;;;2362:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4018:6;2396:1;2370:28;;:14;:28;;;;2362:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4040:264;4069:5;4088:6;4108:9;4131;4154:12;4180:10;4204:9;4227:8;4249:21;4292:1;4040:15;:264::i;:::-;4347:10;4328:41;;;4335:10;4359:9;4328:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2432:1;2096;3675:702;;;;;;;;:::o;7504:607::-;7791:14;7628:10;1889:1;1855:12;:24;1868:10;1855:24;;;;;;;;;;;;;;;;;:30;;;:35;;1834:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7662:10;2219:13;2184:48;;;;;;;;:12;:24;2197:10;2184:24;;;;;;;;;;;;;;;;;:31;;;;;;;;;;;;:48;;;;;;;;;2163:117;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7703:10;7715:21;2630:15;2586:59;;;;;;;;:12;:24;2599:10;2586:24;;;;;;;;;;;;;;;;;:40;;;;;;;;;;;;:59;;;;;;;;;2565:125;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7756:10;2798:12;:24;2811:10;2798:24;;;;;;;;;;;;;;;;;:30;;;;;;;;;;;;2784:44;;:10;:44;;;2763:124;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7808:9;7791:26;;7845:1;7836:6;:10;7828:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7927;7975:6;7927:12;:24;7940:10;7927:24;;;;;;;;;;;;;;;;;:30;;;:47;;:55;;;;:::i;:::-;7894:12;:24;7907:10;7894:24;;;;;;;;;;;;;;;;;:30;;:88;;;;8032:15;7992:12;:24;8005:10;7992:24;;;;;;;;;;;;;;;;;:37;;:55;;;;8085:10;8063:41;;;8073:10;8097:6;8063:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2700:1;2290;;1941;7504:607;;;:::o;11740:999::-;12010:7;12061:1;12037:26;;:12;:26;;;12033:700;;;12151:8;12181:9;12212:12;12246:5;12273:6;12301:9;12332:4;12113:241;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;12113:241:0;;;12086:282;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;12086:282:0;;;;;;;;;;;;;;;;12079:289;;;;12033:700;12471:8;12501:9;12532:12;12566:5;12593:6;12621:9;12652:4;12678:12;12433:275;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;12433:275:0;;;12406:316;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;12406:316:0;;;;;;;;;;;;;;;;12399:323;;11740:999;;;;;;;;;;:::o;5294:1021::-;6012:20;5614:10;2062:1;2028:12;:24;2041:10;2028:24;;;;;;;;;;;;;;;;;:30;;;:35;2020:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5649:5;2396:1;2370:28;;:14;:28;;;;2362:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5679:6;2396:1;2370:28;;:14;:28;;;;2362:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5710:12;2396:1;2370:28;;:14;:28;;;;2362:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5739:262;5768:5;5787:6;5807:9;5830;5853:12;5879:10;5903:5;5922:8;5944:21;5979:12;5739:15;:262::i;:::-;6050:12;6012:51;;6095:5;:18;;;6114:10;6126:4;6132:5;6095:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6095:43:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6095:43:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6095:43:0;;;;;;;;;;;;;;;;6074:182;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6290:10;6271:37;;;6278:10;6302:5;6271:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2432:1;;2096;5294:1021;;;;;;;;;;;:::o;1545:51::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;6539:221::-;6675:4;6702:12;:24;6715:10;6702:24;;;;;;;;;;;;;;;;;:38;;:51;6741:11;6702:51;;;;;;;;;;;;;;;;;;;;;;;;;6695:58;;6539:221;;;;:::o;8380:924::-;8666:14;8765:20;8512:10;1889:1;1855:12;:24;1868:10;1855:24;;;;;;;;;;;;;;;;;:30;;;:35;;1834:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8546:10;2219:13;2184:48;;;;;;;;:12;:24;2197:10;2184:24;;;;;;;;;;;;;;;;;:31;;;;;;;;;;;;:48;;;;;;;;;2163:117;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8587:10;8599:21;2630:15;2586:59;;;;;;;;:12;:24;2599:10;2586:24;;;;;;;;;;;;;;;;;:40;;;;;;;;;;;;:59;;;;;;;;;2565:125;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8640:10;2798:12;:24;2811:10;2798:24;;;;;;;;;;;;;;;;;:30;;;;;;;;;;;;2784:44;;:10;:44;;;2763:124;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8683:5;8666:22;;8716:1;8707:6;:10;8699:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8816:12;:24;8829:10;8816:24;;;;;;;;;;;;;;;;;:37;;;;;;;;;;;;8765:98;;8895:5;:18;;;8914:12;:24;8927:10;8914:24;;;;;;;;;;;;;;;;;:30;;;;;;;;;;;;8946:4;8952:5;8895:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8895:63:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;8895:63:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;8895:63:0;;;;;;;;;;;;;;;;8874:202;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9120:55;9168:6;9120:12;:24;9133:10;9120:24;;;;;;;;;;;;;;;;;:30;;;:47;;:55;;;;:::i;:::-;9087:12;:24;9100:10;9087:24;;;;;;;;;;;;;;;;;:30;;:88;;;;9225:15;9185:12;:24;9198:10;9185:24;;;;;;;;;;;;;;;;;:37;;:55;;;;9278:10;9256:41;;;9266:10;9290:6;9256:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2700:1;2290;;1941;8380:924;;;;;:::o;1603:35::-;;;;:::o;9421:194::-;9543:9;9576:18;:32;9595:12;9576:32;;;;;;;;;;;;;;;9569:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9421:194;;;:::o;10206:1063::-;10429:10;1889:1;1855:12;:24;1868:10;1855:24;;;;;;;;;;;;;;;;;:30;;;:35;;1834:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10463:10;2219:13;2184:48;;;;;;;;:12;:24;2197:10;2184:24;;;;;;;;;;;;;;;;;:31;;;;;;;;;;;;:48;;;;;;;;;2163:117;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10530:1;10510:12;;:19;;:21;:62;;;;;10558:7;;:14;;10535:12;;:19;;:37;10510:62;10489:133;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10633:152;10664:4;;10633:152;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10682:4;;10633:152;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10700:4;;10633:152;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10718:10;10742:12;;10633:152;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10768:7;;10633:152;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:17;:152::i;:::-;10830:15;10796:12;:24;10809:10;10796:24;;;;;;;;;;;;;;;;;:31;;;:49;;;;;;;;;;;;;;;;;;;;;;;;10969:15;10929:12;:24;10942:10;10929:24;;;;;;;;;;;;;;;;;:37;;:55;;;;11067:12;:24;11080:10;11067:24;;;;;;;;;;;;;;;;;:30;;;11015:48;11029:10;11041:12;;11015:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11055:7;;11015:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:13;:48::i;:::-;:82;10994:201;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11219:43;11228:10;11240:12;;11254:7;;11219:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1941:1;10206:1063;;;;;;;;;;;;:::o;6983:194::-;7106:4;7133:12;:24;7146:10;7133:24;;;;;;;;;;;;;;;;;:30;;:37;7164:5;7133:37;;;;;;;;;;;;;;;;;;;;;;;;;7126:44;;6983:194;;;;:::o;1715:55::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;17915:2647::-;18277:6;18268:15;;:5;:15;;;;18260:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18388:1;18380:5;:9;18372:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18526:1;18514:9;:13;;;:31;;;;;18544:1;18531:9;:14;;;;18514:31;18493:140;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18926:1;18913:9;:14;;;:41;;;;18952:1;18931:23;;:9;:23;;;;18913:41;18892:167;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19105:226;19148:8;19174:9;19201:12;19231:5;19254:6;19278:9;19305:12;19105:25;:226::i;:::-;19091:240;;;:10;:240;;;;19070:345;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19453:373;;;;;;;;;19574:5;19453:373;;;;19642:15;19453:373;;;;19601:13;19453:373;;;;;;;;;;;;19761:15;19453:373;;;;;;;;;;;;19682:9;19453:373;;;;;;19719:12;19453:373;;;;;;19486:5;19453:373;;;;;;19513:6;19453:373;;;;;;19803:12;19453:373;;;;;;19544:9;19453:373;;;;;19426:12;:24;19439:10;19426:24;;;;;;;;;;;;;;;;;:400;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19880:4;19837:12;:24;19850:10;19837:24;;;;;;;;;;;;;;;;;:32;;:40;19870:6;19837:40;;;;;;;;;;;;;;;;:47;;;;;;;;;;;;;;;;;;19936:4;19894:12;:24;19907:10;19894:24;;;;;;;;;;;;;;;;;:32;;:39;19927:5;19894:39;;;;;;;;;;;;;;;;:46;;;;;;;;;;;;;;;;;;20048:12;:24;20061:10;20048:24;;;;;;;;;;;;;;;;;:32;;:43;20081:9;20048:43;;;;;;;;;;;;;;;;;;;;;;;;;20047:44;20026:137;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20335:1;20323:9;:13;;;20319:94;;;20398:4;20352:12;:24;20365:10;20352:24;;;;;;;;;;;;;;;;;:32;;:43;20385:9;20352:43;;;;;;;;;;;;;;;;:50;;;;;;;;;;;;;;;;;;20319:94;20431:16;;:18;;;;;;;;;;;;;20460;:25;20479:5;20460:25;;;;;;;;;;;;;;;20491:10;20460:42;;39:1:-1;33:3;27:10;23:18;57:10;52:3;45:23;79:10;72:17;;0:93;20460:42:0;;;;;;;;;;;;;;;;;;;;;;;;;;;20512:18;:26;20531:6;20512:26;;;;;;;;;;;;;;;20544:10;20512:43;;39:1:-1;33:3;27:10;23:18;57:10;52:3;45:23;79:10;72:17;;0:93;20512:43:0;;;;;;;;;;;;;;;;;;;;;;;;;;;17915:2647;;;;;;;;;;:::o;1272:131:2:-;1330:7;1345:9;1361:1;1357;:5;1345:17;;1381:1;1376;:6;;1368:15;;;;;;;;1397:1;1390:8;;1272:131;;;;;:::o;13013:1005:0:-;13233:21;13419:20;13257:151;13287:4;13305;13323;13341:10;13365:12;13391:7;13257:16;:151::i;:::-;13233:175;;13442:129;13473:12;:24;13486:10;13473:24;;;;;;;;;;;;;;;;;:37;;;;;;;;;;;;13524:12;:24;13537:10;13524:24;;;;;;;;;;;;;;;;;:37;;;13442:17;:129::i;:::-;13419:152;;13757:12;:24;13770:10;13757:24;;;;;;;;;;;;;;;;;:34;;;;;;;;;;;;13743:48;;:4;:11;:48;:122;;;;;13797:15;13796:16;:68;;;;13833:12;:24;13846:10;13833:24;;;;;;;;;;;;;;;;;:31;;;;;;;;;;;;13816:48;;:13;:48;;;;13796:68;13743:122;13722:289;;;13902:98;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13722:289;13013:1005;;;;;;;;:::o;14144:1607::-;14291:7;14314:21;14373:24;14479:9;15116:20;15189:9;14338:12;:24;14351:10;14338:24;;;;;;;;;;;;;;;;;14314:48;;14400:1;14373:28;;14437:21;14416:42;;;;;;;;:1;:17;;;;;;;;;;;;:42;;;;;;;;;14412:1299;;;14491:1;14479:13;;14474:562;14498:12;:19;14494:1;:23;14474:562;;;14578:1;14551:29;;:12;14564:1;14551:15;;;;;;;;;;;;;;;;;;:29;;;;:59;;;;;14584:1;:9;;:26;14594:12;14607:1;14594:15;;;;;;;;;;;;;;;;;;14584:26;;;;;;;;;;;;;;;;;;;;;;;;;14551:59;14543:95;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14677:1;14664:7;14672:1;14664:10;;;;;;;;;;;;;;;;;;:14;14656:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14763:32;14784:7;14792:1;14784:10;;;;;;;;;;;;;;;;;;14763:16;:20;;:32;;;;:::i;:::-;14744:51;;14849:4;14814:1;:15;;:32;14830:12;14843:1;14830:15;;;;;;;;;;;;;;;;;;14814:32;;;;;;;;;;;;;;;;:39;;;;;;;;;;;;;;;;;;14900:12;14913:1;14900:15;;;;;;;;;;;;;;;;;;:24;;:36;14925:7;14933:1;14925:10;;;;;;;;;;;;;;;;;;14900:36;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;14900:36:0;14519:3;;;;;;;14474:562;;;14412:1299;;;15078:21;15057:42;;;;;;;;:1;:17;;;;;;;;;;;;:42;;;;;;;;;15053:658;;;15154:1;:14;;;;;;;;;;;;15116:53;;15201:1;15189:13;;15184:517;15206:12;:19;15204:1;:21;15184:517;;;15286:1;15259:29;;:12;15272:1;15259:15;;;;;;;;;;;;;;;;;;:29;;;;:59;;;;;15292:1;:9;;:26;15302:12;15315:1;15302:15;;;;;;;;;;;;;;;;;;15292:26;;;;;;;;;;;;;;;;;;;;;;;;;15259:59;15251:95;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15385:1;15372:7;15380:1;15372:10;;;;;;;;;;;;;;;;;;:14;15364:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15471:32;15492:7;15500:1;15492:10;;;;;;;;;;;;;;;;;;15471:16;:20;;:32;;;;:::i;:::-;15452:51;;15556:4;15521:1;:15;;:32;15537:12;15550:1;15537:15;;;;;;;;;;;;;;;;;;15521:32;;;;;;;;;;;;;;;;:39;;;;;;;;;;;;;;;;;;15616:5;:14;;;15631:12;15644:1;15631:15;;;;;;;;;;;;;;;;;;15648:7;15656:1;15648:10;;;;;;;;;;;;;;;;;;15616:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;15616:43:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;15616:43:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;15616:43:0;;;;;;;;;;;;;;;;15608:78;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15227:3;;;;;;;15184:517;;;15053:658;14412:1299;15728:16;15721:23;;14144:1607;;;;;;;;;;:::o;15935:1571::-;16156:7;16317:19;16435:14;16894:6;16943:17;16216:4;:11;16201:4;:11;:26;:56;;;;;16246:4;:11;16231:4;:11;:26;16201:56;16180:126;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16639:4;16634:10;;16675:1;16670:7;;16703:4;16733:12;16771:7;16804:10;16592:244;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;16592:244:0;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;16592:244:0;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;16592:244:0;;;16561:293;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;16561:293:0;;;;;;;;;;;;;;;;16475:393;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;16475:393:0;;;16452:426;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;16452:426:0;;;;;;;;;;;;;;;;16435:443;;16903:1;16894:10;;16889:582;16910:4;:11;16906:1;:15;16889:582;;;16963:122;16990:6;17014:4;17019:1;17014:7;;;;;;;;;;;;;;;;;;17039:4;17044:1;17039:7;;;;;;;;;;;;;;;;;;17064:4;17069:1;17064:7;;;;;;;;;;;;;;;;;;16963:122;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;16963:122:0;;;;;;;;16943:142;;17125:12;:24;17138:10;17125:24;;;;;;;;;;;;;;;;;:32;;:43;17158:9;17125:43;;;;;;;;;;;;;;;;;;;;;;;;;17100:120;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17260:12;:24;17273:10;17260:24;;;;;;;;;;;;;;;;;:30;;:41;17291:9;17260:41;;;;;;;;;;;;;;;;;;;;;;;;;17259:42;17234:127;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17419:4;17375:12;:24;17388:10;17375:24;;;;;;;;;;;;;;;;;:30;;:41;17406:9;17375:41;;;;;;;;;;;;;;;;:48;;;;;;;;;;;;;;;;;;17451:9;17437:23;;16923:3;;;;;;;16889:582;;;17488:11;17481:18;;15935:1571;;;;;;;;;;;;:::o;17512:316::-;17650:4;17670:17;17690:21;17698:12;17690:3;:7;;:21;;;;:::i;:::-;17670:41;;17758:1;17742:12;:17;;;:69;;17780:31;17806:4;17788:12;17780:21;;:25;;:31;;;;:::i;:::-;17768:9;:43;17742:69;;;17762:5;17742:69;17721:100;;17512:316;;;;;:::o;1078:131:2:-;1136:7;1172:9;1164:1;1159;:6;;1151:15;;;;;;;;1188:1;1184;:5;1172:17;;1203:1;1196:8;;1078:131;;;;;:::o;204:381::-;262:7;523:9;491:1;486;:6;482:35;;;509:1;502:8;;;;482:35;539:1;535;:5;523:17;;563:1;558;554;:5;;;;;;;;:10;546:19;;;;;;;;579:1;572:8;;204:381;;;;;;:::o", - "source": "pragma solidity 0.4.24;\n\nimport \"openzeppelin-solidity/contracts/math/SafeMath.sol\";\n\nimport \"../token/ITokenContract.sol\";\n\n\n/**\n* @dev Supports ERC20 tokens\n* The escrow smart contract for the open bazaar trades in Ethereum\n* The smart contract is desgined keeping in mind the current wallet interface of the OB-core\n* https://github.com/OpenBazaar/wallet-interface/blob/master/wallet.go\n* Current wallet interface strictly adheres to UTXO(bitcoin) model\n*/\ncontract Escrow_v1_0 {\n\n using SafeMath for uint256;\n\n enum Status {FUNDED, RELEASED}\n\n enum TransactionType {ETHER, TOKEN}\n\n event Executed(\n bytes32 scriptHash,\n address[] destinations,\n uint256[] amounts\n );\n\n event FundAdded(\n bytes32 scriptHash,\n address indexed from,\n uint256 valueAdded\n );\n\n event Funded(\n bytes32 scriptHash, \n address indexed from, \n uint256 value\n );\n\n struct Transaction {\n uint256 value;\n uint256 lastModified;//Time at which transaction was last modified\n Status status;\n TransactionType transactionType;\n uint8 threshold;\n uint32 timeoutHours;\n address buyer;\n address seller;\n address tokenAddress;//Token address in case of token transfer\n address moderator;\n mapping(address=>bool) isOwner;//to keep track of owners/signers.\n mapping(address=>bool) voted;//to keep track of who all voted\n mapping(address=>bool) beneficiaries;//Benefeciaries of execution\n }\n\n mapping(bytes32 => Transaction) public transactions;\n\n uint256 public transactionCount = 0;\n\n //Contains mapping between each party and all of his transactions\n mapping(address => bytes32[]) public partyVsTransaction;\n\n modifier transactionExists(bytes32 scriptHash) {\n require(\n transactions[scriptHash].value != 0, \"Transaction does not exists\"\n );\n _;\n }\n\n modifier transactionDoesNotExists (bytes32 scriptHash) {\n require(transactions[scriptHash].value == 0, \"Transaction exists\");\n _;\n }\n\n modifier inFundedState(bytes32 scriptHash) {\n require(\n transactions[scriptHash].status == Status.FUNDED, \"Transaction is not in FUNDED state\"\n );\n _;\n }\n\n modifier nonZeroAddress(address addressToCheck) {\n require(addressToCheck != address(0), \"Zero address passed\");\n _;\n }\n\n modifier checkTransactionType(\n bytes32 scriptHash,\n TransactionType transactionType\n )\n {\n require(\n transactions[scriptHash].transactionType == transactionType, \"Transaction type does not match\"\n );\n _;\n }\n\n modifier onlyBuyer(bytes32 scriptHash) {\n require(\n msg.sender == transactions[scriptHash].buyer, \"The initiator of the transaction is not buyer\"\n );\n _;\n }\n\n /**\n *@dev Add new transaction in the contract\n *@param buyer The buyer of the transaction\n *@param seller The seller of the listing associated with the transaction\n *@param moderator Moderator for this transaction\n *@param scriptHash keccak256 hash of the redeem script\n *@param threshold Minimum number of singatures required to released funds\n *@param timeoutHours Hours after which seller can release funds into his favour by signing transaction\n *@param uniqueId bytes20 unique id for the transaction, generated by ETH wallet\n *Redeem Script format will be following\n \n *Pass amount of the ethers to be put in escrow\n */\n function addTransaction(\n address buyer,\n address seller,\n address moderator,\n uint8 threshold,\n uint32 timeoutHours,\n bytes32 scriptHash,\n bytes20 uniqueId\n )\n external\n payable\n transactionDoesNotExists(scriptHash)\n nonZeroAddress(buyer)\n nonZeroAddress(seller)\n {\n _addTransaction(\n buyer,\n seller,\n moderator,\n threshold,\n timeoutHours,\n scriptHash,\n msg.value,\n uniqueId,\n TransactionType.ETHER,\n address(0)\n );\n \n emit Funded(scriptHash, msg.sender, msg.value);\n\n }\n\n /**\n *@dev Add new transaction in the contract\n *@param buyer The buyer of the transaction\n *@param seller The seller of the listing associated with the transaction\n *@param moderator Moderator for this transaction\n *@param scriptHash keccak256 hash of the redeem script\n *@param threshold Minimum number of singatures required to released funds\n *@param timeoutHours Hours after which seller can release funds into his favour by signing transaction\n *@param value Amount of tokens to be put in escrow\n *@param uniqueId bytes20 unique id for the transaction, generated by ETH wallet\n *@param tokenAddress Address of the token to be used\n *Redeem Script format will be following\n \n *approve escrow contract to spend amount of token on your behalf\n */\n function addTokenTransaction(\n address buyer,\n address seller,\n address moderator,\n uint8 threshold,\n uint32 timeoutHours,\n bytes32 scriptHash,\n uint256 value,\n bytes20 uniqueId,\n address tokenAddress\n )\n external\n transactionDoesNotExists(scriptHash)\n nonZeroAddress(buyer)\n nonZeroAddress(seller)\n nonZeroAddress(tokenAddress)\n {\n\n _addTransaction(\n buyer,\n seller,\n moderator,\n threshold,\n timeoutHours,\n scriptHash,\n value,\n uniqueId,\n TransactionType.TOKEN,\n tokenAddress\n );\n\n ITokenContract token = ITokenContract(tokenAddress);\n\n require(\n token.transferFrom(msg.sender, this, value),\n \"Token transfer failed, maybe you did not approve escrow contract to spend on behalf of buyer\"\n );\n emit Funded(scriptHash, msg.sender, value);\n }\n\n /**\n * @dev Check whether given address was a beneficiary of transaction execution or not\n * @param scriptHash script hash of the transaction\n * @param beneficiary Beneficiary address to be checked\n */\n function checkBeneficiary(\n bytes32 scriptHash,\n address beneficiary\n )\n external\n view\n returns (bool)\n {\n return transactions[scriptHash].beneficiaries[beneficiary];\n }\n\n /**\n * @dev Check whether given party has voted or not\n * @param scriptHash script hash of the transaction\n * @param party Address of the party whose vote has to be checked\n * @return bool vote\n */\n function checkVote(\n bytes32 scriptHash,\n address party\n )\n external\n view\n returns (bool)\n {\n return transactions[scriptHash].voted[party];\n }\n\n /**\n * @dev Allows buyer of the transaction to add more funds(ether) in the transaction. \n * This will help to cater scenarios wherein initially buyer missed to fund transaction as required\n * @param scriptHash script hash of the transaction\n * Only buyer of the transaction can invoke this method\n */\n function addFundsToTransaction(\n bytes32 scriptHash\n )\n external\n payable\n transactionExists(scriptHash)\n inFundedState(scriptHash)\n checkTransactionType(scriptHash, TransactionType.ETHER)\n onlyBuyer(scriptHash)\n \n {\n uint256 _value = msg.value;\n\n require(_value > 0, \"Value must be greater than zero.\");\n\n transactions[scriptHash].value = transactions[scriptHash].value\n .add(_value);\n transactions[scriptHash].lastModified = block.timestamp;\n\n emit FundAdded(scriptHash, msg.sender, _value);\n }\n\n /**\n * @dev Allows buyer of the transaction to add more funds(Tokens) in the transaction. \n * This will help to cater scenarios wherein initially buyer missed to fund transaction as required\n * @param scriptHash script hash of the transaction\n */\n function addTokensToTransaction(\n bytes32 scriptHash,\n uint256 value\n )\n external\n transactionExists(scriptHash)\n inFundedState(scriptHash)\n checkTransactionType(scriptHash, TransactionType.TOKEN)\n onlyBuyer(scriptHash)\n {\n uint256 _value = value;\n\n require(_value > 0, \"Value must be greater than zero.\");\n\n ITokenContract token = ITokenContract(\n transactions[scriptHash].tokenAddress\n );\n\n require(\n token.transferFrom(transactions[scriptHash].buyer, this, value),\n \"Token transfer failed, maybe you did not approve escrow contract to spend on behalf of buyer\"\n );\n\n transactions[scriptHash].value = transactions[scriptHash].value\n .add(_value);\n transactions[scriptHash].lastModified = block.timestamp;\n\n emit FundAdded(scriptHash, msg.sender, _value);\n }\n\n /**\n *@dev Returns all transaction ids for a party\n *@param partyAddress Address of the party\n */\n function getAllTransactionsForParty(\n address partyAddress\n ) \n external \n view \n returns (bytes32[]) \n {\n return partyVsTransaction[partyAddress];\n }\n\n /**\n *@dev This method will be used to release funds associated with the transaction\n * Please see specs https://github.com/OpenBazaar/smart-contracts/blob/master/contracts/escrow/EscrowSpec.md\n *@param sigV Array containing V component of all the signatures\n *@param sigR Array containing R component of all the signatures\n *@param signS Array containing S component of all the signatures\n *@param scriptHash script hash of the transaction\n *@param destinations List of addresses to receive funds\n *@param amounts value released to each destination\n */\n function execute(\n uint8[] sigV,\n bytes32[] sigR,\n bytes32[] sigS,\n bytes32 scriptHash,\n address[] destinations,\n uint256[] amounts\n )\n external\n transactionExists(scriptHash)\n inFundedState(scriptHash)\n {\n require(\n destinations.length>0 && destinations.length == amounts.length, \"Length of destinations is incorrect.\"\n );\n\n verifyTransaction(\n sigV,\n sigR,\n sigS,\n scriptHash,\n destinations,\n amounts\n );\n\n transactions[scriptHash].status = Status.RELEASED;\n //Last modified timestamp modified, which will be used by rewards\n transactions[scriptHash].lastModified = block.timestamp;\n require(\n transferFunds(scriptHash, destinations, amounts) == transactions[scriptHash].value,\n \"Total value to be released must be equal to the transaction escrow value\"\n );\n \n emit Executed(scriptHash, destinations, amounts);\n }\n\n\n /**\n *@dev Method for calculating script hash. Calculation will depend upon the type of transaction\n * ETHER Type transaction-:\n * Script Hash- keccak256(uniqueId, threshold, timeoutHours, buyer, seller, moderator)\n * TOKEN Type transaction\n * Script Hash- keccak256(uniqueId, threshold, timeoutHours, buyer, seller, moderator, tokenAddress)\n * Client can use this method to verify whether it has calculated correct script hash or not\n */\n function calculateRedeemScriptHash(\n bytes20 uniqueId,\n uint8 threshold,\n uint32 timeoutHours,\n address buyer,\n address seller,\n address moderator,\n address tokenAddress\n )\n public\n view\n returns (bytes32)\n {\n if (tokenAddress == address(0)) {\n return keccak256(\n abi.encodePacked(\n uniqueId,\n threshold,\n timeoutHours,\n buyer,\n seller,\n moderator,\n this\n )\n );\n } else {\n return keccak256(\n abi.encodePacked(\n uniqueId,\n threshold,\n timeoutHours,\n buyer,\n seller,\n moderator,\n this,\n tokenAddress\n )\n );\n }\n }\n\n /**\n * @dev This methods checks validity of transaction\n * 1. Verify Signatures\n * 2. Check if minimum number of signatures has been acquired\n * 3. If above condition is false, check if time lock is expired and the execution is signed by seller\n */\n function verifyTransaction(\n uint8[] sigV,\n bytes32[] sigR,\n bytes32[] sigS,\n bytes32 scriptHash,\n address[] destinations,\n uint256[] amounts\n )\n private\n {\n address lastRecovered = verifySignatures(\n sigV,\n sigR,\n sigS,\n scriptHash,\n destinations,\n amounts\n );\n\n bool timeLockExpired = isTimeLockExpired(\n transactions[scriptHash].timeoutHours,\n transactions[scriptHash].lastModified\n );\n\n //if Minimum number of signatures are not gathered and timelock has not expired or transaction was not signed by seller then revert\n if (\n sigV.length < transactions[scriptHash].threshold && (!timeLockExpired || lastRecovered != transactions[scriptHash].seller)\n )\n {\n revert(\"Minimum number of signatures are not collected and time lock expiry conditions not met!!\");\n }\n\n }\n\n /**\n *@dev Private method to transfer funds to the destination addresses on the basis of transaction type\n */\n function transferFunds(\n bytes32 scriptHash,\n address[]destinations,\n uint256[]amounts\n )\n private\n returns (uint256)\n {\n Transaction storage t = transactions[scriptHash];\n\n uint256 valueTransferred = 0;\n\n if (t.transactionType == TransactionType.ETHER) {\n for (uint256 i = 0; i < destinations.length; i++) {\n\n require(destinations[i] != address(0) && t.isOwner[destinations[i]], \"Not a valid destination\");\n require(amounts[i] > 0, \"Amount to be sent should be greater than 0\");\n\n valueTransferred = valueTransferred.add(amounts[i]);\n\n t.beneficiaries[destinations[i]] = true;//add receiver as beneficiary\n destinations[i].transfer(amounts[i]);//shall we use send instead of transfer to stop malicious actors from blocking funds?\n }\n\n } else if (t.transactionType == TransactionType.TOKEN) {\n\n ITokenContract token = ITokenContract(t.tokenAddress);\n\n for (uint256 j = 0; j 0, \"Amount to be sent should be greater than 0\");\n\n valueTransferred = valueTransferred.add(amounts[j]);\n t.beneficiaries[destinations[j]] = true;//add receiver as beneficiary\n\n require(token.transfer(destinations[j], amounts[j]), \"Token transfer failed.\");\n }\n } \n return valueTransferred;\n }\n\n //to check whether the signature are valid or not and if consensus was reached\n //returns the last address recovered, in case of timeout this must be the sender's address\n function verifySignatures(\n uint8[] sigV,\n bytes32[] sigR,\n bytes32[] sigS,\n bytes32 scriptHash,\n address[] destinations,\n uint256[]amounts\n )\n private\n returns (address)\n {\n\n require(\n sigR.length == sigS.length && sigR.length == sigV.length, \n \"R,S,V length mismatch.\"\n );\n\n address lastAddress;\n\n // Follows ERC191 signature scheme: https://github.com/ethereum/EIPs/issues/191\n bytes32 txHash = keccak256(\n abi.encodePacked(\n \"\\x19Ethereum Signed Message:\\n32\",\n keccak256(\n abi.encodePacked(\n byte(0x19),\n byte(0),\n this,\n destinations,\n amounts,\n scriptHash\n )\n )\n )\n );\n\n for (uint i = 0; i < sigR.length; i++) {\n\n address recovered = ecrecover(\n txHash,\n sigV[i],\n sigR[i],\n sigS[i]\n );\n\n require(\n transactions[scriptHash].isOwner[recovered], \n \"Invalid signature\"\n );\n require(\n !transactions[scriptHash].voted[recovered], \n \"Same signature sent twice\"\n );\n transactions[scriptHash].voted[recovered] = true;\n lastAddress = recovered;\n }\n\n return lastAddress;\n }\n\n function isTimeLockExpired(\n uint32 timeoutHours,\n uint256 lastModified\n )\n private\n view\n returns (bool)\n {\n uint256 timeSince = now.sub(lastModified);\n return (\n timeoutHours == 0 ? false:timeSince > uint256(timeoutHours).mul(3600)\n );\n }\n\n /**\n * Private method to add transaction to reduce code redundancy\n */\n function _addTransaction(\n address buyer,\n address seller,\n address moderator,\n uint8 threshold,\n uint32 timeoutHours,\n bytes32 scriptHash,\n uint256 value,\n bytes20 uniqueId,\n TransactionType transactionType,\n address tokenAddress\n )\n private\n { \n require(buyer != seller, \"Buyer and seller are same\");\n\n //value passed should be greater than 0\n require(value > 0, \"Value passed is 0\");\n\n // For now allowing 0 moderator to support 1-2 multisig wallet\n require(\n threshold > 0 && threshold <= 3, \n \"Threshold cannot be greater than 3 and must be greater than 0\"\n );\n\n //if threshold is 1 then moderator can be passed as zero address or any other address\n //(it wont matter aopart from scripthash since we wont add moderator as one of the owner)\n //otherwise moderator should be a valid address\n require(\n threshold == 1 || moderator != address(0),\n \"Either threshold should be 1 otherwise valid moderator address should be passed\"\n );\n\n require(\n scriptHash == calculateRedeemScriptHash(\n uniqueId,\n threshold,\n timeoutHours,\n buyer,\n seller,\n moderator,\n tokenAddress\n ), \n \"Calculated script hash does not match passed script hash.\"\n );\n\n transactions[scriptHash] = Transaction({\n buyer: buyer,\n seller: seller,\n moderator: moderator,\n value: value,\n status: Status.FUNDED,\n lastModified: block.timestamp,\n threshold: threshold,\n timeoutHours: timeoutHours,\n transactionType:transactionType,\n tokenAddress:tokenAddress\n });\n\n transactions[scriptHash].isOwner[seller] = true;\n transactions[scriptHash].isOwner[buyer] = true; \n\n //Check if buyer or seller are not passed as moderator\n require(\n !transactions[scriptHash].isOwner[moderator], \n \"Either buyer or seller is passed as moderator\"\n );\n\n //set moderator as one of the owners only if threshold is greater than 1 otherwise only buyer and seller should be able to release funds\n if (threshold > 1) {\n transactions[scriptHash].isOwner[moderator] = true;\n }\n \n\n transactionCount++;\n\n partyVsTransaction[buyer].push(scriptHash);\n partyVsTransaction[seller].push(scriptHash);\n }\n}\n", + "bytecode": "0x6080604052600060015534801561001557600080fd5b50614210806100256000396000f3006080604052600436106100ba576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806323b6fd3f146100bf5780632d9ef96e1461017957806346fbcdeb1461019d57806357bced7614610292578063642f2eaf14610383578063b0550c66146104e5578063b719e2801461054e578063b77bf60014610589578063be84ceaf146105b4578063e4ec8b001461064c578063f0786562146106f5578063f5dbe09c1461075e575b600080fd5b610177600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff169060200190929190803563ffffffff169060200190929190803560001916906020019092919080356bffffffffffffffffffffffff191690602001909291905050506107c7565b005b61019b6004803603810190808035600019169060200190929190505050610a26565b005b3480156101a957600080fd5b5061027460048036038101908080356bffffffffffffffffffffffff19169060200190929190803560ff169060200190929190803563ffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610eb4565b60405180826000191660001916815260200191505060405180910390f35b34801561029e57600080fd5b50610381600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff169060200190929190803563ffffffff16906020019092919080356000191690602001909291908035906020019092919080356bffffffffffffffffffffffff19169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611360565b005b34801561038f57600080fd5b506103b26004803603810190808035600019169060200190929190505050611840565b604051808b81526020018a81526020018960018111156103ce57fe5b60ff1681526020018860018111156103e257fe5b60ff1681526020018760ff1660ff1681526020018663ffffffff1663ffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019a505050505050505050505060405180910390f35b3480156104f157600080fd5b506105346004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061194b565b604051808215151515815260200191505060405180910390f35b34801561055a57600080fd5b506105876004803603810190808035600019169060200190929190803590602001909291905050506119bd565b005b34801561059557600080fd5b5061059e61209d565b6040518082815260200191505060405180910390f35b3480156105c057600080fd5b506105f5600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506120a3565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b8381101561063857808201518184015260208101905061061d565b505050509050019250505060405180910390f35b34801561065857600080fd5b506106f3600480360381019080803590602001908201803590602001919091929391929390803590602001908201803590602001919091929391929390803590602001908201803590602001919091929391929390803560001916906020019092919080359060200190820180359060200191909192939192939080359060200190820180359060200191909192939192939050505061213e565b005b34801561070157600080fd5b506107446004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506126a0565b604051808215151515815260200191505060405180910390f35b34801561076a57600080fd5b506107a9600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050612712565b60405180826000191660001916815260200191505060405180910390f35b81600080600083600019166000191681526020019081526020016000206000015414151561085d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f5472616e73616374696f6e20657869737400000000000000000000000000000081525060200191505060405180910390fd5b87600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610903576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b87600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156109a9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b6109bc8a8a8a8a8a8a348b600080612742565b3373ffffffffffffffffffffffffffffffffffffffff167fce7089d0668849fb9ca29778c0cbf1e764d9efb048d81fd71fb34c94f26db36886346040518083600019166000191681526020018281526020019250505060405180910390a250505050505050505050565b600081600080600083600019166000191681526020019081526020016000206000015414151515610abf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737400000000000081525060200191505060405180910390fd5b8260006001811115610acd57fe5b600080836000191660001916815260200190815260200160002060020160009054906101000a900460ff166001811115610b0357fe5b141515610b9e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001807f5472616e73616374696f6e206973206e6f7420696e2046554e4445442073746181526020017f746500000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b836000806001811115610bad57fe5b600080846000191660001916815260200190815260200160002060020160019054906101000a900460ff166001811115610be357fe5b141515610c58576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5472616e73616374696f6e207479706520646f6573206e6f74206d617463680081525060200191505060405180910390fd5b85600080826000191660001916815260200190815260200160002060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610d5f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f54686520696e69746961746f72206f6620746865207472616e73616374696f6e81526020017f206973206e6f742062757965720000000000000000000000000000000000000081525060400191505060405180910390fd5b349550600086111515610dda576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f56616c7565206d7573742062652067726561746572207468616e207a65726f2e81525060200191505060405180910390fd5b610e0a866000808a60001916600019168152602001908152602001600020600001546130ce90919063ffffffff16565b600080896000191660001916815260200190815260200160002060000181905550426000808960001916600019168152602001908152602001600020600101819055503373ffffffffffffffffffffffffffffffffffffffff167ff66fd2ae9e24a6a24b02e1b5b7512ffde5149a4176085fc0298ae228c9b9d72988886040518083600019166000191681526020018281526020019250505060405180910390a250505050505050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611100578787878787873060405160200180886bffffffffffffffffffffffff19166bffffffffffffffffffffffff191681526014018760ff1660ff167f01000000000000000000000000000000000000000000000000000000000000000281526001018663ffffffff1663ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014019750505050505050506040516020818303038152906040526040518082805190602001908083835b6020831015156110cc57805182526020820191506020810190506020830392506110a7565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390209050611355565b878787878787308860405160200180896bffffffffffffffffffffffff19166bffffffffffffffffffffffff191681526014018860ff1660ff167f01000000000000000000000000000000000000000000000000000000000000000281526001018763ffffffff1663ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401985050505050505050506040516020818303038152906040526040518082805190602001908083835b6020831015156113255780518252602082019150602081019050602083039250611300565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902090505b979650505050505050565b60008460008060008360001916600019168152602001908152602001600020600001541415156113f8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f5472616e73616374696f6e20657869737400000000000000000000000000000081525060200191505060405180910390fd5b8a600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561149e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b8a600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515611544576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b84600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156115ea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b6115fd8e8e8e8e8e8e8e8e60018f612742565b8594508473ffffffffffffffffffffffffffffffffffffffff166323b872dd33308b6040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b1580156116d757600080fd5b505af11580156116eb573d6000803e3d6000fd5b505050506040513d602081101561170157600080fd5b810190808051906020019092919050505015156117d2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252605d8152602001807f546f6b656e207472616e73666572206661696c65642c206d6179626520796f7581526020017f20646964206e6f7420617070726f766520657363726f7720636f6e747261637481526020017f20746f207370656e64206f6e20626568616c66206f662073656e64657200000081525060600191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff167fce7089d0668849fb9ca29778c0cbf1e764d9efb048d81fd71fb34c94f26db3688a8a6040518083600019166000191681526020018281526020019250505060405180910390a25050505050505050505050505050565b60006020528060005260406000206000915090508060000154908060010154908060020160009054906101000a900460ff16908060020160019054906101000a900460ff16908060020160029054906101000a900460ff16908060020160039054906101000a900463ffffffff16908060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060050160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508a565b6000806000846000191660001916815260200190815260200160002060080160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b60008083600080600083600019166000191681526020019081526020016000206000015414151515611a57576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737400000000000081525060200191505060405180910390fd5b8460006001811115611a6557fe5b600080836000191660001916815260200190815260200160002060020160009054906101000a900460ff166001811115611a9b57fe5b141515611b36576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001807f5472616e73616374696f6e206973206e6f7420696e2046554e4445442073746181526020017f746500000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b856001806001811115611b4557fe5b600080846000191660001916815260200190815260200160002060020160019054906101000a900460ff166001811115611b7b57fe5b141515611bf0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5472616e73616374696f6e207479706520646f6573206e6f74206d617463680081525060200191505060405180910390fd5b87600080826000191660001916815260200190815260200160002060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611cf7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f54686520696e69746961746f72206f6620746865207472616e73616374696f6e81526020017f206973206e6f742062757965720000000000000000000000000000000000000081525060400191505060405180910390fd5b879650600087111515611d72576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f56616c7565206d7573742062652067726561746572207468616e207a65726f2e81525060200191505060405180910390fd5b6000808a6000191660001916815260200190815260200160002060040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1695508573ffffffffffffffffffffffffffffffffffffffff166323b872dd6000808c6000191660001916815260200190815260200160002060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff16308b6040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b158015611ec657600080fd5b505af1158015611eda573d6000803e3d6000fd5b505050506040513d6020811015611ef057600080fd5b81019080805190602001909291905050501515611fc1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252605c8152602001807f546f6b656e207472616e73666572206661696c65642c206d6179626520796f7581526020017f20646964206e6f7420617070726f766520657363726f7720636f6e747261637481526020017f20746f207370656e64206f6e20626568616c66206f662062757965720000000081525060600191505060405180910390fd5b611ff1876000808c60001916600019168152602001908152602001600020600001546130ce90919063ffffffff16565b6000808b6000191660001916815260200190815260200160002060000181905550426000808b60001916600019168152602001908152602001600020600101819055503373ffffffffffffffffffffffffffffffffffffffff167ff66fd2ae9e24a6a24b02e1b5b7512ffde5149a4176085fc0298ae228c9b9d7298a896040518083600019166000191681526020018281526020019250505060405180910390a2505050505050505050565b60015481565b6060600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080548060200260200160405190810160405280929190818152602001828054801561213257602002820191906000526020600020905b8154600019168152602001906001019080831161211a575b50505050509050919050565b846000806000836000191660001916815260200190815260200160002060000154141515156121d5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737400000000000081525060200191505060405180910390fd5b85600060018111156121e357fe5b600080836000191660001916815260200190815260200160002060020160009054906101000a900460ff16600181111561221957fe5b1415156122b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001807f5472616e73616374696f6e206973206e6f7420696e2046554e4445442073746181526020017f746500000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b6000868690501180156122cc57508383905086869050145b1515612366576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001807f4c656e677468206f662064657374696e6174696f6e7320697320696e636f727281526020017f6563742e0000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b61245f8d8d808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508c8c808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508b8b808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508a8a8a808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508989808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050506130ef565b6001600080896000191660001916815260200190815260200160002060020160006101000a81548160ff0219169083600181111561249957fe5b021790555042600080896000191660001916815260200190815260200160002060010181905550600080886000191660001916815260200190815260200160002060000154612547888888808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508787808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050506132d0565b141515612608576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260488152602001807f546f74616c2076616c756520746f2062652072656c6561736564206d7573742081526020017f626520657175616c20746f20746865207472616e73616374696f6e206573637281526020017f6f772076616c756500000000000000000000000000000000000000000000000081525060600191505060405180910390fd5b7f688e2a1b34445bcd47b0e11ba2a9c8c4d850a1831b64199b59d1c70e2970154587878787876040518086600019166000191681526020018060200180602001838103835287878281815260200192506020028082843782019150508381038252858582818152602001925060200280828437820191505097505050505050505060405180910390a150505050505050505050505050565b6000806000846000191660001916815260200190815260200160002060070160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b60026020528160005260406000208181548110151561272d57fe5b90600052602060002001600091509150505481565b8873ffffffffffffffffffffffffffffffffffffffff168a73ffffffffffffffffffffffffffffffffffffffff16141515156127e6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f427579657220616e642073656c6c6572206172652073616d650000000000000081525060200191505060405180910390fd5b60008411151561285e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f56616c756520706173736564206973203000000000000000000000000000000081525060200191505060405180910390fd5b60008760ff16118015612875575060038760ff1611155b151561290f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603d8152602001807f5468726573686f6c642063616e6e6f742062652067726561746572207468616e81526020017f203320616e64206d7573742062652067726561746572207468616e203000000081525060400191505060405180910390fd5b60018760ff16148061294e5750600073ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff1614155b1515612a0e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260488152602001807f456974686572207468726573686f6c642073686f756c642062652031206f722081526020017f76616c6964206d6f64657261746f7220616464726573732073686f756c64206281526020017f652070617373656400000000000000000000000000000000000000000000000081525060600191505060405180910390fd5b612a1d8388888d8d8d87610eb4565b600019168560001916141515612ac1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260398152602001807f43616c63756c6174656420736372697074206861736820646f6573206e6f742081526020017f6d61746368207061737365642073637269707420686173682e0000000000000081525060400191505060405180910390fd5b6101406040519081016040528085815260200142815260200160006001811115612ae757fe5b8152602001836001811115612af857fe5b81526020018860ff1681526020018763ffffffff1681526020018b73ffffffffffffffffffffffffffffffffffffffff1681526020018a73ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020018973ffffffffffffffffffffffffffffffffffffffff168152506000808760001916600019168152602001908152602001600020600082015181600001556020820151816001015560408201518160020160006101000a81548160ff02191690836001811115612bd257fe5b021790555060608201518160020160016101000a81548160ff02191690836001811115612bfb57fe5b021790555060808201518160020160026101000a81548160ff021916908360ff16021790555060a08201518160020160036101000a81548163ffffffff021916908363ffffffff16021790555060c08201518160020160076101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060e08201518160030160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506101008201518160040160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506101208201518160050160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055509050506001600080876000191660001916815260200190815260200160002060060160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600080876000191660001916815260200190815260200160002060060160008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600080866000191660001916815260200190815260200160002060060160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151515612f52576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f456974686572206275796572206f722073656c6c65722069732070617373656481526020017f206173206d6f64657261746f720000000000000000000000000000000000000081525060400191505060405180910390fd5b60018760ff161115612fd2576001600080876000191660001916815260200190815260200160002060060160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b600160008154809291906001019190505550600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020859080600181540180825580915050906001820390600052602060002001600090919290919091509060001916905550600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002085908060018154018082558091505090600182039060005260206000200160009091929091909150906000191690555050505050505050505050565b60008082840190508381101515156130e557600080fd5b8091505092915050565b600080613100888888888888613ab8565b9150613156600080876000191660001916815260200190815260200160002060020160039054906101000a900463ffffffff16600080886000191660001916815260200190815260200160002060010154614131565b9050600080866000191660001916815260200190815260200160002060020160029054906101000a900460ff1660ff16885110801561320757508015806132065750600080866000191660001916815260200190815260200160002060030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b5b156132c6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260588152602001807f4d696e696d756d206e756d626572206f66207369676e6174757265732061726581526020017f206e6f7420636f6c6c656374656420616e642074696d65206c6f636b2065787081526020017f69727920636f6e646974696f6e73206e6f74206d65742121000000000000000081525060600191505060405180910390fd5b5050505050505050565b6000806000806000806000808a600019166000191681526020019081526020016000209450600093506000600181111561330657fe5b8560020160019054906101000a900460ff16600181111561332357fe5b141561363a57600092505b875183101561363557600073ffffffffffffffffffffffffffffffffffffffff16888481518110151561335d57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff16141580156133ed5750846006016000898581518110151561339a57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1515613461576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f4e6f7420612076616c69642064657374696e6174696f6e00000000000000000081525060200191505060405180910390fd5b6000878481518110151561347157fe5b90602001906020020151111515613516576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001807f416d6f756e7420746f2062652073656e742073686f756c64206265206772656181526020017f746572207468616e20300000000000000000000000000000000000000000000081525060400191505060405180910390fd5b613540878481518110151561352757fe5b90602001906020020151856130ce90919063ffffffff16565b935060018560080160008a8681518110151561355857fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555087838151811015156135c157fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff166108fc88858151811015156135f257fe5b906020019060200201519081150290604051600060405180830381858888f19350505050158015613627573d6000803e3d6000fd5b50828060010193505061332e565b613aa9565b60018081111561364657fe5b8560020160019054906101000a900460ff16600181111561366357fe5b1415613aa8578460040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169150600090505b8751811015613aa757600073ffffffffffffffffffffffffffffffffffffffff1688828151811015156136c457fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff16141580156137545750846006016000898381518110151561370157fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15156137c8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f4e6f7420612076616c69642064657374696e6174696f6e00000000000000000081525060200191505060405180910390fd5b600087828151811015156137d857fe5b9060200190602002015111151561387d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001807f416d6f756e7420746f2062652073656e742073686f756c64206265206772656181526020017f746572207468616e20300000000000000000000000000000000000000000000081525060400191505060405180910390fd5b6138a7878281518110151561388e57fe5b90602001906020020151856130ce90919063ffffffff16565b935060018560080160008a848151811015156138bf57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb898381518110151561394457fe5b90602001906020020151898481518110151561395c57fe5b906020019060200201516040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1580156139eb57600080fd5b505af11580156139ff573d6000803e3d6000fd5b505050506040513d6020811015613a1557600080fd5b81019080805190602001909291905050501515613a9a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f546f6b656e207472616e73666572206661696c65642e0000000000000000000081525060200191505060405180910390fd5b8080600101915050613695565b5b5b83955050505050509392505050565b600080600080600088518a51148015613ad257508a518a51145b1515613b46576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f522c532c56206c656e677468206d69736d617463682e0000000000000000000081525060200191505060405180910390fd5b60197f01000000000000000000000000000000000000000000000000000000000000000260007f0100000000000000000000000000000000000000000000000000000000000000023089898c60405160200180877effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168152600101867effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526001018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401848051906020019060200280838360005b83811015613c9a578082015181840152602081019050613c7f565b50505050905001838051906020019060200280838360005b83811015613ccd578082015181840152602081019050613cb2565b50505050905001826000191660001916815260200196505050505050506040516020818303038152906040526040518082805190602001908083835b602083101515613d2e5780518252602082019150602081019050602083039250613d09565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902060405160200180807f19457468657265756d205369676e6564204d6573736167653a0a333200000000815250601c0182600019166000191681526020019150506040516020818303038152906040526040518082805190602001908083835b602083101515613ddf5780518252602082019150602081019050602083039250613dba565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390209250600091505b8951821015614120576001838c84815181101515613e2d57fe5b906020019060200201518c85815181101515613e4557fe5b906020019060200201518c86815181101515613e5d57fe5b90602001906020020151604051600081526020016040526040518085600019166000191681526020018460ff1660ff1681526020018360001916600019168152602001826000191660001916815260200194505050505060206040516020810390808403906000865af1158015613ed8573d6000803e3d6000fd5b505050602060405103519050600080896000191660001916815260200190815260200160002060060160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515613fc0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f496e76616c6964207369676e617475726500000000000000000000000000000081525060200191505060405180910390fd5b600080896000191660001916815260200190815260200160002060070160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151561409d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f53616d65207369676e61747572652073656e742074776963650000000000000081525060200191505060405180910390fd5b60016000808a6000191660001916815260200190815260200160002060070160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508093508180600101925050613e13565b839450505050509695505050505050565b600080614147834261418590919063ffffffff16565b905060008463ffffffff161461417957614172610e108563ffffffff166141a690919063ffffffff16565b811161417c565b60005b91505092915050565b60008083831115151561419757600080fd5b82840390508091505092915050565b60008060008414156141bb57600091506141dd565b82840290508284828115156141cc57fe5b041415156141d957600080fd5b8091505b50929150505600a165627a7a723058204071b5476fa6f836a28c8fd5be2f5706db2cd81c4bf86145e2c06536afbe47b00029", + "deployedBytecode": "0x6080604052600436106100ba576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806323b6fd3f146100bf5780632d9ef96e1461017957806346fbcdeb1461019d57806357bced7614610292578063642f2eaf14610383578063b0550c66146104e5578063b719e2801461054e578063b77bf60014610589578063be84ceaf146105b4578063e4ec8b001461064c578063f0786562146106f5578063f5dbe09c1461075e575b600080fd5b610177600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff169060200190929190803563ffffffff169060200190929190803560001916906020019092919080356bffffffffffffffffffffffff191690602001909291905050506107c7565b005b61019b6004803603810190808035600019169060200190929190505050610a26565b005b3480156101a957600080fd5b5061027460048036038101908080356bffffffffffffffffffffffff19169060200190929190803560ff169060200190929190803563ffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610eb4565b60405180826000191660001916815260200191505060405180910390f35b34801561029e57600080fd5b50610381600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff169060200190929190803563ffffffff16906020019092919080356000191690602001909291908035906020019092919080356bffffffffffffffffffffffff19169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611360565b005b34801561038f57600080fd5b506103b26004803603810190808035600019169060200190929190505050611840565b604051808b81526020018a81526020018960018111156103ce57fe5b60ff1681526020018860018111156103e257fe5b60ff1681526020018760ff1660ff1681526020018663ffffffff1663ffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019a505050505050505050505060405180910390f35b3480156104f157600080fd5b506105346004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061194b565b604051808215151515815260200191505060405180910390f35b34801561055a57600080fd5b506105876004803603810190808035600019169060200190929190803590602001909291905050506119bd565b005b34801561059557600080fd5b5061059e61209d565b6040518082815260200191505060405180910390f35b3480156105c057600080fd5b506105f5600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506120a3565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b8381101561063857808201518184015260208101905061061d565b505050509050019250505060405180910390f35b34801561065857600080fd5b506106f3600480360381019080803590602001908201803590602001919091929391929390803590602001908201803590602001919091929391929390803590602001908201803590602001919091929391929390803560001916906020019092919080359060200190820180359060200191909192939192939080359060200190820180359060200191909192939192939050505061213e565b005b34801561070157600080fd5b506107446004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506126a0565b604051808215151515815260200191505060405180910390f35b34801561076a57600080fd5b506107a9600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050612712565b60405180826000191660001916815260200191505060405180910390f35b81600080600083600019166000191681526020019081526020016000206000015414151561085d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f5472616e73616374696f6e20657869737400000000000000000000000000000081525060200191505060405180910390fd5b87600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610903576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b87600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156109a9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b6109bc8a8a8a8a8a8a348b600080612742565b3373ffffffffffffffffffffffffffffffffffffffff167fce7089d0668849fb9ca29778c0cbf1e764d9efb048d81fd71fb34c94f26db36886346040518083600019166000191681526020018281526020019250505060405180910390a250505050505050505050565b600081600080600083600019166000191681526020019081526020016000206000015414151515610abf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737400000000000081525060200191505060405180910390fd5b8260006001811115610acd57fe5b600080836000191660001916815260200190815260200160002060020160009054906101000a900460ff166001811115610b0357fe5b141515610b9e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001807f5472616e73616374696f6e206973206e6f7420696e2046554e4445442073746181526020017f746500000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b836000806001811115610bad57fe5b600080846000191660001916815260200190815260200160002060020160019054906101000a900460ff166001811115610be357fe5b141515610c58576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5472616e73616374696f6e207479706520646f6573206e6f74206d617463680081525060200191505060405180910390fd5b85600080826000191660001916815260200190815260200160002060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610d5f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f54686520696e69746961746f72206f6620746865207472616e73616374696f6e81526020017f206973206e6f742062757965720000000000000000000000000000000000000081525060400191505060405180910390fd5b349550600086111515610dda576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f56616c7565206d7573742062652067726561746572207468616e207a65726f2e81525060200191505060405180910390fd5b610e0a866000808a60001916600019168152602001908152602001600020600001546130ce90919063ffffffff16565b600080896000191660001916815260200190815260200160002060000181905550426000808960001916600019168152602001908152602001600020600101819055503373ffffffffffffffffffffffffffffffffffffffff167ff66fd2ae9e24a6a24b02e1b5b7512ffde5149a4176085fc0298ae228c9b9d72988886040518083600019166000191681526020018281526020019250505060405180910390a250505050505050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611100578787878787873060405160200180886bffffffffffffffffffffffff19166bffffffffffffffffffffffff191681526014018760ff1660ff167f01000000000000000000000000000000000000000000000000000000000000000281526001018663ffffffff1663ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014019750505050505050506040516020818303038152906040526040518082805190602001908083835b6020831015156110cc57805182526020820191506020810190506020830392506110a7565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390209050611355565b878787878787308860405160200180896bffffffffffffffffffffffff19166bffffffffffffffffffffffff191681526014018860ff1660ff167f01000000000000000000000000000000000000000000000000000000000000000281526001018763ffffffff1663ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401985050505050505050506040516020818303038152906040526040518082805190602001908083835b6020831015156113255780518252602082019150602081019050602083039250611300565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902090505b979650505050505050565b60008460008060008360001916600019168152602001908152602001600020600001541415156113f8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f5472616e73616374696f6e20657869737400000000000000000000000000000081525060200191505060405180910390fd5b8a600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561149e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b8a600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515611544576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b84600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156115ea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b6115fd8e8e8e8e8e8e8e8e60018f612742565b8594508473ffffffffffffffffffffffffffffffffffffffff166323b872dd33308b6040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b1580156116d757600080fd5b505af11580156116eb573d6000803e3d6000fd5b505050506040513d602081101561170157600080fd5b810190808051906020019092919050505015156117d2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252605d8152602001807f546f6b656e207472616e73666572206661696c65642c206d6179626520796f7581526020017f20646964206e6f7420617070726f766520657363726f7720636f6e747261637481526020017f20746f207370656e64206f6e20626568616c66206f662073656e64657200000081525060600191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff167fce7089d0668849fb9ca29778c0cbf1e764d9efb048d81fd71fb34c94f26db3688a8a6040518083600019166000191681526020018281526020019250505060405180910390a25050505050505050505050505050565b60006020528060005260406000206000915090508060000154908060010154908060020160009054906101000a900460ff16908060020160019054906101000a900460ff16908060020160029054906101000a900460ff16908060020160039054906101000a900463ffffffff16908060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060050160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508a565b6000806000846000191660001916815260200190815260200160002060080160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b60008083600080600083600019166000191681526020019081526020016000206000015414151515611a57576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737400000000000081525060200191505060405180910390fd5b8460006001811115611a6557fe5b600080836000191660001916815260200190815260200160002060020160009054906101000a900460ff166001811115611a9b57fe5b141515611b36576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001807f5472616e73616374696f6e206973206e6f7420696e2046554e4445442073746181526020017f746500000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b856001806001811115611b4557fe5b600080846000191660001916815260200190815260200160002060020160019054906101000a900460ff166001811115611b7b57fe5b141515611bf0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5472616e73616374696f6e207479706520646f6573206e6f74206d617463680081525060200191505060405180910390fd5b87600080826000191660001916815260200190815260200160002060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611cf7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f54686520696e69746961746f72206f6620746865207472616e73616374696f6e81526020017f206973206e6f742062757965720000000000000000000000000000000000000081525060400191505060405180910390fd5b879650600087111515611d72576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f56616c7565206d7573742062652067726561746572207468616e207a65726f2e81525060200191505060405180910390fd5b6000808a6000191660001916815260200190815260200160002060040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1695508573ffffffffffffffffffffffffffffffffffffffff166323b872dd6000808c6000191660001916815260200190815260200160002060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff16308b6040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b158015611ec657600080fd5b505af1158015611eda573d6000803e3d6000fd5b505050506040513d6020811015611ef057600080fd5b81019080805190602001909291905050501515611fc1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252605c8152602001807f546f6b656e207472616e73666572206661696c65642c206d6179626520796f7581526020017f20646964206e6f7420617070726f766520657363726f7720636f6e747261637481526020017f20746f207370656e64206f6e20626568616c66206f662062757965720000000081525060600191505060405180910390fd5b611ff1876000808c60001916600019168152602001908152602001600020600001546130ce90919063ffffffff16565b6000808b6000191660001916815260200190815260200160002060000181905550426000808b60001916600019168152602001908152602001600020600101819055503373ffffffffffffffffffffffffffffffffffffffff167ff66fd2ae9e24a6a24b02e1b5b7512ffde5149a4176085fc0298ae228c9b9d7298a896040518083600019166000191681526020018281526020019250505060405180910390a2505050505050505050565b60015481565b6060600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080548060200260200160405190810160405280929190818152602001828054801561213257602002820191906000526020600020905b8154600019168152602001906001019080831161211a575b50505050509050919050565b846000806000836000191660001916815260200190815260200160002060000154141515156121d5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737400000000000081525060200191505060405180910390fd5b85600060018111156121e357fe5b600080836000191660001916815260200190815260200160002060020160009054906101000a900460ff16600181111561221957fe5b1415156122b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001807f5472616e73616374696f6e206973206e6f7420696e2046554e4445442073746181526020017f746500000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b6000868690501180156122cc57508383905086869050145b1515612366576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001807f4c656e677468206f662064657374696e6174696f6e7320697320696e636f727281526020017f6563742e0000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b61245f8d8d808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508c8c808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508b8b808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508a8a8a808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508989808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050506130ef565b6001600080896000191660001916815260200190815260200160002060020160006101000a81548160ff0219169083600181111561249957fe5b021790555042600080896000191660001916815260200190815260200160002060010181905550600080886000191660001916815260200190815260200160002060000154612547888888808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508787808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050506132d0565b141515612608576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260488152602001807f546f74616c2076616c756520746f2062652072656c6561736564206d7573742081526020017f626520657175616c20746f20746865207472616e73616374696f6e206573637281526020017f6f772076616c756500000000000000000000000000000000000000000000000081525060600191505060405180910390fd5b7f688e2a1b34445bcd47b0e11ba2a9c8c4d850a1831b64199b59d1c70e2970154587878787876040518086600019166000191681526020018060200180602001838103835287878281815260200192506020028082843782019150508381038252858582818152602001925060200280828437820191505097505050505050505060405180910390a150505050505050505050505050565b6000806000846000191660001916815260200190815260200160002060070160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b60026020528160005260406000208181548110151561272d57fe5b90600052602060002001600091509150505481565b8873ffffffffffffffffffffffffffffffffffffffff168a73ffffffffffffffffffffffffffffffffffffffff16141515156127e6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f427579657220616e642073656c6c6572206172652073616d650000000000000081525060200191505060405180910390fd5b60008411151561285e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f56616c756520706173736564206973203000000000000000000000000000000081525060200191505060405180910390fd5b60008760ff16118015612875575060038760ff1611155b151561290f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603d8152602001807f5468726573686f6c642063616e6e6f742062652067726561746572207468616e81526020017f203320616e64206d7573742062652067726561746572207468616e203000000081525060400191505060405180910390fd5b60018760ff16148061294e5750600073ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff1614155b1515612a0e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260488152602001807f456974686572207468726573686f6c642073686f756c642062652031206f722081526020017f76616c6964206d6f64657261746f7220616464726573732073686f756c64206281526020017f652070617373656400000000000000000000000000000000000000000000000081525060600191505060405180910390fd5b612a1d8388888d8d8d87610eb4565b600019168560001916141515612ac1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260398152602001807f43616c63756c6174656420736372697074206861736820646f6573206e6f742081526020017f6d61746368207061737365642073637269707420686173682e0000000000000081525060400191505060405180910390fd5b6101406040519081016040528085815260200142815260200160006001811115612ae757fe5b8152602001836001811115612af857fe5b81526020018860ff1681526020018763ffffffff1681526020018b73ffffffffffffffffffffffffffffffffffffffff1681526020018a73ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020018973ffffffffffffffffffffffffffffffffffffffff168152506000808760001916600019168152602001908152602001600020600082015181600001556020820151816001015560408201518160020160006101000a81548160ff02191690836001811115612bd257fe5b021790555060608201518160020160016101000a81548160ff02191690836001811115612bfb57fe5b021790555060808201518160020160026101000a81548160ff021916908360ff16021790555060a08201518160020160036101000a81548163ffffffff021916908363ffffffff16021790555060c08201518160020160076101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060e08201518160030160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506101008201518160040160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506101208201518160050160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055509050506001600080876000191660001916815260200190815260200160002060060160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600080876000191660001916815260200190815260200160002060060160008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600080866000191660001916815260200190815260200160002060060160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151515612f52576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f456974686572206275796572206f722073656c6c65722069732070617373656481526020017f206173206d6f64657261746f720000000000000000000000000000000000000081525060400191505060405180910390fd5b60018760ff161115612fd2576001600080876000191660001916815260200190815260200160002060060160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b600160008154809291906001019190505550600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020859080600181540180825580915050906001820390600052602060002001600090919290919091509060001916905550600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002085908060018154018082558091505090600182039060005260206000200160009091929091909150906000191690555050505050505050505050565b60008082840190508381101515156130e557600080fd5b8091505092915050565b600080613100888888888888613ab8565b9150613156600080876000191660001916815260200190815260200160002060020160039054906101000a900463ffffffff16600080886000191660001916815260200190815260200160002060010154614131565b9050600080866000191660001916815260200190815260200160002060020160029054906101000a900460ff1660ff16885110801561320757508015806132065750600080866000191660001916815260200190815260200160002060030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b5b156132c6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260588152602001807f4d696e696d756d206e756d626572206f66207369676e6174757265732061726581526020017f206e6f7420636f6c6c656374656420616e642074696d65206c6f636b2065787081526020017f69727920636f6e646974696f6e73206e6f74206d65742121000000000000000081525060600191505060405180910390fd5b5050505050505050565b6000806000806000806000808a600019166000191681526020019081526020016000209450600093506000600181111561330657fe5b8560020160019054906101000a900460ff16600181111561332357fe5b141561363a57600092505b875183101561363557600073ffffffffffffffffffffffffffffffffffffffff16888481518110151561335d57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff16141580156133ed5750846006016000898581518110151561339a57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1515613461576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f4e6f7420612076616c69642064657374696e6174696f6e00000000000000000081525060200191505060405180910390fd5b6000878481518110151561347157fe5b90602001906020020151111515613516576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001807f416d6f756e7420746f2062652073656e742073686f756c64206265206772656181526020017f746572207468616e20300000000000000000000000000000000000000000000081525060400191505060405180910390fd5b613540878481518110151561352757fe5b90602001906020020151856130ce90919063ffffffff16565b935060018560080160008a8681518110151561355857fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555087838151811015156135c157fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff166108fc88858151811015156135f257fe5b906020019060200201519081150290604051600060405180830381858888f19350505050158015613627573d6000803e3d6000fd5b50828060010193505061332e565b613aa9565b60018081111561364657fe5b8560020160019054906101000a900460ff16600181111561366357fe5b1415613aa8578460040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169150600090505b8751811015613aa757600073ffffffffffffffffffffffffffffffffffffffff1688828151811015156136c457fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff16141580156137545750846006016000898381518110151561370157fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15156137c8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f4e6f7420612076616c69642064657374696e6174696f6e00000000000000000081525060200191505060405180910390fd5b600087828151811015156137d857fe5b9060200190602002015111151561387d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001807f416d6f756e7420746f2062652073656e742073686f756c64206265206772656181526020017f746572207468616e20300000000000000000000000000000000000000000000081525060400191505060405180910390fd5b6138a7878281518110151561388e57fe5b90602001906020020151856130ce90919063ffffffff16565b935060018560080160008a848151811015156138bf57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb898381518110151561394457fe5b90602001906020020151898481518110151561395c57fe5b906020019060200201516040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1580156139eb57600080fd5b505af11580156139ff573d6000803e3d6000fd5b505050506040513d6020811015613a1557600080fd5b81019080805190602001909291905050501515613a9a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f546f6b656e207472616e73666572206661696c65642e0000000000000000000081525060200191505060405180910390fd5b8080600101915050613695565b5b5b83955050505050509392505050565b600080600080600088518a51148015613ad257508a518a51145b1515613b46576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f522c532c56206c656e677468206d69736d617463682e0000000000000000000081525060200191505060405180910390fd5b60197f01000000000000000000000000000000000000000000000000000000000000000260007f0100000000000000000000000000000000000000000000000000000000000000023089898c60405160200180877effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168152600101867effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526001018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401848051906020019060200280838360005b83811015613c9a578082015181840152602081019050613c7f565b50505050905001838051906020019060200280838360005b83811015613ccd578082015181840152602081019050613cb2565b50505050905001826000191660001916815260200196505050505050506040516020818303038152906040526040518082805190602001908083835b602083101515613d2e5780518252602082019150602081019050602083039250613d09565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902060405160200180807f19457468657265756d205369676e6564204d6573736167653a0a333200000000815250601c0182600019166000191681526020019150506040516020818303038152906040526040518082805190602001908083835b602083101515613ddf5780518252602082019150602081019050602083039250613dba565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390209250600091505b8951821015614120576001838c84815181101515613e2d57fe5b906020019060200201518c85815181101515613e4557fe5b906020019060200201518c86815181101515613e5d57fe5b90602001906020020151604051600081526020016040526040518085600019166000191681526020018460ff1660ff1681526020018360001916600019168152602001826000191660001916815260200194505050505060206040516020810390808403906000865af1158015613ed8573d6000803e3d6000fd5b505050602060405103519050600080896000191660001916815260200190815260200160002060060160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515613fc0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f496e76616c6964207369676e617475726500000000000000000000000000000081525060200191505060405180910390fd5b600080896000191660001916815260200190815260200160002060070160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151561409d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f53616d65207369676e61747572652073656e742074776963650000000000000081525060200191505060405180910390fd5b60016000808a6000191660001916815260200190815260200160002060070160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508093508180600101925050613e13565b839450505050509695505050505050565b600080614147834261418590919063ffffffff16565b905060008463ffffffff161461417957614172610e108563ffffffff166141a690919063ffffffff16565b811161417c565b60005b91505092915050565b60008083831115151561419757600080fd5b82840390508091505092915050565b60008060008414156141bb57600091506141dd565b82840290508284828115156141cc57fe5b041415156141d957600080fd5b8091505b50929150505600a165627a7a723058204071b5476fa6f836a28c8fd5be2f5706db2cd81c4bf86145e2c06536afbe47b00029", + "sourceMap": "460:20129:0:-;;;1629:1;1595:35;;460:20129;8:9:-1;5:2;;;30:1;27;20:12;5:2;460:20129:0;;;;;;;", + "deployedSourceMap": "460:20129:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3677:701;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7556:606;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11855:999;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11855:999:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5312:1021;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5312:1021:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1537:51;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1537:51:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6574:221;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6574:221:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8490:923;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8490:923:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1595:35;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1595:35:0;;;;;;;;;;;;;;;;;;;;;;;9530:194;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9530:194:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;9530:194:0;;;;;;;;;;;;;;;;;10322:1062;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10322:1062:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7035:194;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7035:194:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1709:55;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1709:55:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3677:701;3954:10;2052:1;2018:12;:24;2031:10;2018:24;;;;;;;;;;;;;;;;;:30;;;:35;2010:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3989:5;2385:1;2359:28;;:14;:28;;;;2351:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4019:6;2385:1;2359:28;;:14;:28;;;;2351:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4041:264;4070:5;4089:6;4109:9;4132;4155:12;4181:10;4205:9;4228:8;4250:21;4293:1;4041:15;:264::i;:::-;4348:10;4329:41;;;4336:10;4360:9;4329:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2421:1;2085;3677:701;;;;;;;;:::o;7556:606::-;7842:14;7679:10;1882:1;1848:12;:24;1861:10;1848:24;;;;;;;;;;;;;;;;;:30;;;:35;;1827:96;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7713:10;2208:13;2173:48;;;;;;;;:12;:24;2186:10;2173:24;;;;;;;;;;;;;;;;;:31;;;;;;;;;;;;:48;;;;;;;;;2152:117;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7754:10;7766:21;2619:15;2575:59;;;;;;;;:12;:24;2588:10;2575:24;;;;;;;;;;;;;;;;;:40;;;;;;;;;;;;:59;;;;;;;;;2554:125;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7807:10;2787:12;:24;2800:10;2787:24;;;;;;;;;;;;;;;;;:30;;;;;;;;;;;;2773:44;;:10;:44;;;2752:124;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7859:9;7842:26;;7896:1;7887:6;:10;7879:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7978;8026:6;7978:12;:24;7991:10;7978:24;;;;;;;;;;;;;;;;;:30;;;:47;;:55;;;;:::i;:::-;7945:12;:24;7958:10;7945:24;;;;;;;;;;;;;;;;;:30;;:88;;;;8083:15;8043:12;:24;8056:10;8043:24;;;;;;;;;;;;;;;;;:37;;:55;;;;8136:10;8114:41;;;8124:10;8148:6;8114:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2689:1;2279;;1933;7556:606;;;:::o;11855:999::-;12125:7;12176:1;12152:26;;:12;:26;;;12148:700;;;12266:8;12296:9;12327:12;12361:5;12388:6;12416:9;12447:4;12228:241;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;12228:241:0;;;12201:282;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;12201:282:0;;;;;;;;;;;;;;;;12194:289;;;;12148:700;12586:8;12616:9;12647:12;12681:5;12708:6;12736:9;12767:4;12793:12;12548:275;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;12548:275:0;;;12521:316;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;12521:316:0;;;;;;;;;;;;;;;;12514:323;;11855:999;;;;;;;;;;:::o;5312:1021::-;6029:20;5631:10;2052:1;2018:12;:24;2031:10;2018:24;;;;;;;;;;;;;;;;;:30;;;:35;2010:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5666:5;2385:1;2359:28;;:14;:28;;;;2351:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5696:6;2385:1;2359:28;;:14;:28;;;;2351:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5727:12;2385:1;2359:28;;:14;:28;;;;2351:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5756:262;5785:5;5804:6;5824:9;5847;5870:12;5896:10;5920:5;5939:8;5961:21;5996:12;5756:15;:262::i;:::-;6067:12;6029:51;;6112:5;:18;;;6131:10;6143:4;6149:5;6112:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6112:43:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6112:43:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6112:43:0;;;;;;;;;;;;;;;;6091:183;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6308:10;6289:37;;;6296:10;6320:5;6289:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2421:1;;2085;5312:1021;;;;;;;;;;;:::o;1537:51::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;6574:221::-;6710:4;6737:12;:24;6750:10;6737:24;;;;;;;;;;;;;;;;;:38;;:51;6776:11;6737:51;;;;;;;;;;;;;;;;;;;;;;;;;6730:58;;6574:221;;;;:::o;8490:923::-;8775:14;8874:20;8621:10;1882:1;1848:12;:24;1861:10;1848:24;;;;;;;;;;;;;;;;;:30;;;:35;;1827:96;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8655:10;2208:13;2173:48;;;;;;;;:12;:24;2186:10;2173:24;;;;;;;;;;;;;;;;;:31;;;;;;;;;;;;:48;;;;;;;;;2152:117;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8696:10;8708:21;2619:15;2575:59;;;;;;;;:12;:24;2588:10;2575:24;;;;;;;;;;;;;;;;;:40;;;;;;;;;;;;:59;;;;;;;;;2554:125;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8749:10;2787:12;:24;2800:10;2787:24;;;;;;;;;;;;;;;;;:30;;;;;;;;;;;;2773:44;;:10;:44;;;2752:124;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8792:5;8775:22;;8825:1;8816:6;:10;8808:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8925:12;:24;8938:10;8925:24;;;;;;;;;;;;;;;;;:37;;;;;;;;;;;;8874:98;;9004:5;:18;;;9023:12;:24;9036:10;9023:24;;;;;;;;;;;;;;;;;:30;;;;;;;;;;;;9055:4;9061:5;9004:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9004:63:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9004:63:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;9004:63:0;;;;;;;;;;;;;;;;8983:202;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9229:55;9277:6;9229:12;:24;9242:10;9229:24;;;;;;;;;;;;;;;;;:30;;;:47;;:55;;;;:::i;:::-;9196:12;:24;9209:10;9196:24;;;;;;;;;;;;;;;;;:30;;:88;;;;9334:15;9294:12;:24;9307:10;9294:24;;;;;;;;;;;;;;;;;:37;;:55;;;;9387:10;9365:41;;;9375:10;9399:6;9365:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2689:1;2279;;1933;8490:923;;;;;:::o;1595:35::-;;;;:::o;9530:194::-;9652:9;9685:18;:32;9704:12;9685:32;;;;;;;;;;;;;;;9678:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9530:194;;;:::o;10322:1062::-;10544:10;1882:1;1848:12;:24;1861:10;1848:24;;;;;;;;;;;;;;;;;:30;;;:35;;1827:96;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10578:10;2208:13;2173:48;;;;;;;;:12;:24;2186:10;2173:24;;;;;;;;;;;;;;;;;:31;;;;;;;;;;;;:48;;;;;;;;;2152:117;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10645:1;10625:12;;:19;;:21;:62;;;;;10673:7;;:14;;10650:12;;:19;;:37;10625:62;10604:133;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10748:152;10779:4;;10748:152;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10797:4;;10748:152;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10815:4;;10748:152;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10833:10;10857:12;;10748:152;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10883:7;;10748:152;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:17;:152::i;:::-;10945:15;10911:12;:24;10924:10;10911:24;;;;;;;;;;;;;;;;;:31;;;:49;;;;;;;;;;;;;;;;;;;;;;;;11084:15;11044:12;:24;11057:10;11044:24;;;;;;;;;;;;;;;;;:37;;:55;;;;11182:12;:24;11195:10;11182:24;;;;;;;;;;;;;;;;;:30;;;11130:48;11144:10;11156:12;;11130:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11170:7;;11130:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:13;:48::i;:::-;:82;11109:201;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11334:43;11343:10;11355:12;;11369:7;;11334:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1933:1;10322:1062;;;;;;;;;;;;:::o;7035:194::-;7158:4;7185:12;:24;7198:10;7185:24;;;;;;;;;;;;;;;;;:30;;:37;7216:5;7185:37;;;;;;;;;;;;;;;;;;;;;;;;;7178:44;;7035:194;;;;:::o;1709:55::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;17946:2641::-;18308:6;18299:15;;:5;:15;;;;18291:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18419:1;18411:5;:9;18403:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18557:1;18545:9;:13;;;:31;;;;;18575:1;18562:9;:14;;;;18545:31;18524:140;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18958:1;18945:9;:14;;;:41;;;;18984:1;18963:23;;:9;:23;;;;18945:41;18924:160;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19130:226;19173:8;19199:9;19226:12;19256:5;19279:6;19303:9;19330:12;19130:25;:226::i;:::-;19116:240;;;:10;:240;;;;19095:345;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19478:373;;;;;;;;;19599:5;19478:373;;;;19667:15;19478:373;;;;19626:13;19478:373;;;;;;;;;;;;19786:15;19478:373;;;;;;;;;;;;19707:9;19478:373;;;;;;19744:12;19478:373;;;;;;19511:5;19478:373;;;;;;19538:6;19478:373;;;;;;19828:12;19478:373;;;;;;19569:9;19478:373;;;;;19451:12;:24;19464:10;19451:24;;;;;;;;;;;;;;;;;:400;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19905:4;19862:12;:24;19875:10;19862:24;;;;;;;;;;;;;;;;;:32;;:40;19895:6;19862:40;;;;;;;;;;;;;;;;:47;;;;;;;;;;;;;;;;;;19961:4;19919:12;:24;19932:10;19919:24;;;;;;;;;;;;;;;;;:32;;:39;19952:5;19919:39;;;;;;;;;;;;;;;;:46;;;;;;;;;;;;;;;;;;20073:12;:24;20086:10;20073:24;;;;;;;;;;;;;;;;;:32;;:43;20106:9;20073:43;;;;;;;;;;;;;;;;;;;;;;;;;20072:44;20051:137;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20360:1;20348:9;:13;;;20344:94;;;20423:4;20377:12;:24;20390:10;20377:24;;;;;;;;;;;;;;;;;:32;;:43;20410:9;20377:43;;;;;;;;;;;;;;;;:50;;;;;;;;;;;;;;;;;;20344:94;20456:16;;:18;;;;;;;;;;;;;20485;:25;20504:5;20485:25;;;;;;;;;;;;;;;20516:10;20485:42;;39:1:-1;33:3;27:10;23:18;57:10;52:3;45:23;79:10;72:17;;0:93;20485:42:0;;;;;;;;;;;;;;;;;;;;;;;;;;;20537:18;:26;20556:6;20537:26;;;;;;;;;;;;;;;20569:10;20537:43;;39:1:-1;33:3;27:10;23:18;57:10;52:3;45:23;79:10;72:17;;0:93;20537:43:0;;;;;;;;;;;;;;;;;;;;;;;;;;;17946:2641;;;;;;;;;;:::o;1272:131:2:-;1330:7;1345:9;1361:1;1357;:5;1345:17;;1381:1;1376;:6;;1368:15;;;;;;;;1397:1;1390:8;;1272:131;;;;;:::o;13128:1005:0:-;13348:21;13534:20;13372:151;13402:4;13420;13438;13456:10;13480:12;13506:7;13372:16;:151::i;:::-;13348:175;;13557:129;13588:12;:24;13601:10;13588:24;;;;;;;;;;;;;;;;;:37;;;;;;;;;;;;13639:12;:24;13652:10;13639:24;;;;;;;;;;;;;;;;;:37;;;13557:17;:129::i;:::-;13534:152;;13872:12;:24;13885:10;13872:24;;;;;;;;;;;;;;;;;:34;;;;;;;;;;;;13858:48;;:4;:11;:48;:122;;;;;13912:15;13911:16;:68;;;;13948:12;:24;13961:10;13948:24;;;;;;;;;;;;;;;;;:31;;;;;;;;;;;;13931:48;;:13;:48;;;;13911:68;13858:122;13837:289;;;14017:98;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13837:289;13128:1005;;;;;;;;:::o;14259:1522::-;14406:7;14429:21;14488:24;14594:9;15146:20;15219:9;14453:12;:24;14466:10;14453:24;;;;;;;;;;;;;;;;;14429:48;;14515:1;14488:28;;14552:21;14531:42;;;;;;;;:1;:17;;;;;;;;;;;;:42;;;;;;;;;14527:1214;;;14606:1;14594:13;;14589:477;14613:12;:19;14609:1;:23;14589:477;;;14693:1;14666:29;;:12;14679:1;14666:15;;;;;;;;;;;;;;;;;;:29;;;;:59;;;;;14699:1;:9;;:26;14709:12;14722:1;14709:15;;;;;;;;;;;;;;;;;;14699:26;;;;;;;;;;;;;;;;;;;;;;;;;14666:59;14658:95;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14792:1;14779:7;14787:1;14779:10;;;;;;;;;;;;;;;;;;:14;14771:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14878:32;14899:7;14907:1;14899:10;;;;;;;;;;;;;;;;;;14878:16;:20;;:32;;;;:::i;:::-;14859:51;;14964:4;14929:1;:15;;:32;14945:12;14958:1;14945:15;;;;;;;;;;;;;;;;;;14929:32;;;;;;;;;;;;;;;;:39;;;;;;;;;;;;;;;;;;15015:12;15028:1;15015:15;;;;;;;;;;;;;;;;;;:24;;:36;15040:7;15048:1;15040:10;;;;;;;;;;;;;;;;;;15015:36;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;15015:36:0;14634:3;;;;;;;14589:477;;;14527:1214;;;15108:21;15087:42;;;;;;;;:1;:17;;;;;;;;;;;;:42;;;;;;;;;15083:658;;;15184:1;:14;;;;;;;;;;;;15146:53;;15231:1;15219:13;;15214:517;15236:12;:19;15234:1;:21;15214:517;;;15316:1;15289:29;;:12;15302:1;15289:15;;;;;;;;;;;;;;;;;;:29;;;;:59;;;;;15322:1;:9;;:26;15332:12;15345:1;15332:15;;;;;;;;;;;;;;;;;;15322:26;;;;;;;;;;;;;;;;;;;;;;;;;15289:59;15281:95;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15415:1;15402:7;15410:1;15402:10;;;;;;;;;;;;;;;;;;:14;15394:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15501:32;15522:7;15530:1;15522:10;;;;;;;;;;;;;;;;;;15501:16;:20;;:32;;;;:::i;:::-;15482:51;;15586:4;15551:1;:15;;:32;15567:12;15580:1;15567:15;;;;;;;;;;;;;;;;;;15551:32;;;;;;;;;;;;;;;;:39;;;;;;;;;;;;;;;;;;15646:5;:14;;;15661:12;15674:1;15661:15;;;;;;;;;;;;;;;;;;15678:7;15686:1;15678:10;;;;;;;;;;;;;;;;;;15646:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;15646:43:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;15646:43:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;15646:43:0;;;;;;;;;;;;;;;;15638:78;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15257:3;;;;;;;15214:517;;;15083:658;14527:1214;15758:16;15751:23;;14259:1522;;;;;;;;;;:::o;15966:1571::-;16187:7;16348:19;16466:14;16925:6;16974:17;16247:4;:11;16232:4;:11;:26;:56;;;;;16277:4;:11;16262:4;:11;:26;16232:56;16211:126;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16670:4;16665:10;;16706:1;16701:7;;16734:4;16764:12;16802:7;16835:10;16623:244;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;16623:244:0;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;16623:244:0;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;16623:244:0;;;16592:293;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;16592:293:0;;;;;;;;;;;;;;;;16506:393;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;16506:393:0;;;16483:426;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;16483:426:0;;;;;;;;;;;;;;;;16466:443;;16934:1;16925:10;;16920:582;16941:4;:11;16937:1;:15;16920:582;;;16994:122;17021:6;17045:4;17050:1;17045:7;;;;;;;;;;;;;;;;;;17070:4;17075:1;17070:7;;;;;;;;;;;;;;;;;;17095:4;17100:1;17095:7;;;;;;;;;;;;;;;;;;16994:122;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;16994:122:0;;;;;;;;16974:142;;17156:12;:24;17169:10;17156:24;;;;;;;;;;;;;;;;;:32;;:43;17189:9;17156:43;;;;;;;;;;;;;;;;;;;;;;;;;17131:120;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17291:12;:24;17304:10;17291:24;;;;;;;;;;;;;;;;;:30;;:41;17322:9;17291:41;;;;;;;;;;;;;;;;;;;;;;;;;17290:42;17265:127;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17450:4;17406:12;:24;17419:10;17406:24;;;;;;;;;;;;;;;;;:30;;:41;17437:9;17406:41;;;;;;;;;;;;;;;;:48;;;;;;;;;;;;;;;;;;17482:9;17468:23;;16954:3;;;;;;;16920:582;;;17519:11;17512:18;;15966:1571;;;;;;;;;;;;:::o;17543:316::-;17681:4;17701:17;17721:21;17729:12;17721:3;:7;;:21;;;;:::i;:::-;17701:41;;17789:1;17773:12;:17;;;:69;;17811:31;17837:4;17819:12;17811:21;;:25;;:31;;;;:::i;:::-;17799:9;:43;17773:69;;;17793:5;17773:69;17752:100;;17543:316;;;;;:::o;1078:131:2:-;1136:7;1172:9;1164:1;1159;:6;;1151:15;;;;;;;;1188:1;1184;:5;1172:17;;1203:1;1196:8;;1078:131;;;;;:::o;204:381::-;262:7;523:9;491:1;486;:6;482:35;;;509:1;502:8;;;;482:35;539:1;535;:5;523:17;;563:1;558;554;:5;;;;;;;;:10;546:19;;;;;;;;579:1;572:8;;204:381;;;;;;:::o", + "source": "pragma solidity 0.4.24;\n\nimport \"openzeppelin-solidity/contracts/math/SafeMath.sol\";\n\nimport \"../token/ITokenContract.sol\";\n\n\n/**\n* @dev Supports ERC20 tokens\n* The escrow smart contract for the open bazaar trades in Ethereum\n* The smart contract is designed keeping in mind the current wallet interface of the OB-core\n* https://github.com/OpenBazaar/wallet-interface/blob/master/wallet.go\n* Current wallet interface strictly adheres to UTXO(bitcoin) model\n*/\ncontract Escrow_v1_0 {\n\n using SafeMath for uint256;\n\n enum Status {FUNDED, RELEASED}\n\n enum TransactionType {ETHER, TOKEN}\n\n event Executed(\n bytes32 scriptHash,\n address[] destinations,\n uint256[] amounts\n );\n\n event FundAdded(\n bytes32 scriptHash,\n address indexed from,\n uint256 valueAdded\n );\n\n event Funded(\n bytes32 scriptHash, \n address indexed from, \n uint256 value\n );\n\n struct Transaction {\n uint256 value;\n uint256 lastModified;//Time at which transaction was last modified\n Status status;\n TransactionType transactionType;\n uint8 threshold;\n uint32 timeoutHours;\n address buyer;\n address seller;\n address tokenAddress;//Token address in case of token transfer\n address moderator;\n mapping(address=>bool) isOwner;//to keep track of owners.\n mapping(address=>bool) voted;//to keep track of who all voted\n mapping(address=>bool) beneficiaries;//Benefeciaries of execution\n }\n\n mapping(bytes32 => Transaction) public transactions;\n\n uint256 public transactionCount = 0;\n\n //Contains mapping between each party and all of their transactions\n mapping(address => bytes32[]) public partyVsTransaction;\n\n modifier transactionExist(bytes32 scriptHash) {\n require(\n transactions[scriptHash].value != 0, \"Transaction does not exist\"\n );\n _;\n }\n\n modifier transactionDoesNotExist(bytes32 scriptHash) {\n require(transactions[scriptHash].value == 0, \"Transaction exist\");\n _;\n }\n\n modifier inFundedState(bytes32 scriptHash) {\n require(\n transactions[scriptHash].status == Status.FUNDED, \"Transaction is not in FUNDED state\"\n );\n _;\n }\n\n modifier nonZeroAddress(address addressToCheck) {\n require(addressToCheck != address(0), \"Zero address passed\");\n _;\n }\n\n modifier checkTransactionType(\n bytes32 scriptHash,\n TransactionType transactionType\n )\n {\n require(\n transactions[scriptHash].transactionType == transactionType, \"Transaction type does not match\"\n );\n _;\n }\n\n modifier onlyBuyer(bytes32 scriptHash) {\n require(\n msg.sender == transactions[scriptHash].buyer, \"The initiator of the transaction is not buyer\"\n );\n _;\n }\n\n /**\n *@dev Add new transaction in the contract\n *@param buyer The buyer of the transaction\n *@param seller The seller of the listing associated with the transaction\n *@param moderator Moderator for this transaction\n *@param scriptHash keccak256 hash of the redeem script\n *@param threshold Minimum number of signatures required to released funds\n *@param timeoutHours Hours after which seller can release funds into his favour by signing transaction unilaterally\n *@param uniqueId bytes20 unique id for the transaction, generated by ETH wallet\n *Redeem Script format will be following\n \n *Pass amount of the ethers to be put in escrow\n */\n function addTransaction(\n address buyer,\n address seller,\n address moderator,\n uint8 threshold,\n uint32 timeoutHours,\n bytes32 scriptHash,\n bytes20 uniqueId\n )\n external\n payable\n transactionDoesNotExist(scriptHash)\n nonZeroAddress(buyer)\n nonZeroAddress(seller)\n {\n _addTransaction(\n buyer,\n seller,\n moderator,\n threshold,\n timeoutHours,\n scriptHash,\n msg.value,\n uniqueId,\n TransactionType.ETHER,\n address(0)\n );\n \n emit Funded(scriptHash, msg.sender, msg.value);\n\n }\n\n /**\n *@dev Add new transaction in the contract\n *@param buyer The buyer of the transaction\n *@param seller The seller of the listing associated with the transaction\n *@param moderator Moderator for this transaction\n *@param scriptHash keccak256 hash of the redeem script\n *@param threshold Minimum number of signatures required to released funds\n *@param timeoutHours Hours after which seller can release funds into his favour by signing transaction unilaterally\n *@param value Amount of tokens to be put in escrow\n *@param uniqueId bytes20 unique id for the transaction, generated by ETH wallet\n *@param tokenAddress Address of the token to be used\n *Redeem Script format will be following\n \n *approve escrow contract to spend amount of token on sender's behalf\n */\n function addTokenTransaction(\n address buyer,\n address seller,\n address moderator,\n uint8 threshold,\n uint32 timeoutHours,\n bytes32 scriptHash,\n uint256 value,\n bytes20 uniqueId,\n address tokenAddress\n )\n external\n transactionDoesNotExist(scriptHash)\n nonZeroAddress(buyer)\n nonZeroAddress(seller)\n nonZeroAddress(tokenAddress)\n {\n\n _addTransaction(\n buyer,\n seller,\n moderator,\n threshold,\n timeoutHours,\n scriptHash,\n value,\n uniqueId,\n TransactionType.TOKEN,\n tokenAddress\n );\n\n ITokenContract token = ITokenContract(tokenAddress);\n\n require(\n token.transferFrom(msg.sender, this, value),\n \"Token transfer failed, maybe you did not approve escrow contract to spend on behalf of sender\"\n );\n emit Funded(scriptHash, msg.sender, value);\n }\n\n /**\n * @dev This method will check whether given address was a beneficiary of transaction execution or not\n * @param scriptHash script hash of the transaction\n * @param beneficiary Beneficiary address to be checked\n */\n function checkBeneficiary(\n bytes32 scriptHash,\n address beneficiary\n )\n external\n view\n returns (bool)\n {\n return transactions[scriptHash].beneficiaries[beneficiary];\n }\n\n /**\n * @dev This method will check whether given party has voted or not\n * @param scriptHash script hash of the transaction\n * @param party Address of the party whose vote has to be checked\n * @return bool vote\n */\n function checkVote(\n bytes32 scriptHash,\n address party\n )\n external\n view\n returns (bool)\n {\n return transactions[scriptHash].voted[party];\n }\n\n /**\n * @dev Allows buyer of the transaction to add more funds(ether) in the transaction. \n * This will help to cater scenarios wherein initially buyer missed to fund transaction as required\n * @param scriptHash script hash of the transaction\n * Only buyer of the transaction can invoke this method\n */\n function addFundsToTransaction(\n bytes32 scriptHash\n )\n external\n payable\n transactionExist(scriptHash)\n inFundedState(scriptHash)\n checkTransactionType(scriptHash, TransactionType.ETHER)\n onlyBuyer(scriptHash)\n \n {\n uint256 _value = msg.value;\n\n require(_value > 0, \"Value must be greater than zero.\");\n\n transactions[scriptHash].value = transactions[scriptHash].value\n .add(_value);\n transactions[scriptHash].lastModified = block.timestamp;\n\n emit FundAdded(scriptHash, msg.sender, _value);\n }\n\n /**\n * @dev Allows buyer of the transaction to add more funds(Tokens) in the transaction. \n * This will help to cater scenarios wherein initially buyer missed to fund transaction as required\n * @param scriptHash script hash of the transaction\n * Only buyer of the transaction can invoke this method\n */\n function addTokensToTransaction(\n bytes32 scriptHash,\n uint256 value\n )\n external\n transactionExist(scriptHash)\n inFundedState(scriptHash)\n checkTransactionType(scriptHash, TransactionType.TOKEN)\n onlyBuyer(scriptHash)\n {\n uint256 _value = value;\n\n require(_value > 0, \"Value must be greater than zero.\");\n\n ITokenContract token = ITokenContract(\n transactions[scriptHash].tokenAddress\n );\n\n require(\n token.transferFrom(transactions[scriptHash].buyer, this, value),\n \"Token transfer failed, maybe you did not approve escrow contract to spend on behalf of buyer\"\n );\n\n transactions[scriptHash].value = transactions[scriptHash].value\n .add(_value);\n transactions[scriptHash].lastModified = block.timestamp;\n\n emit FundAdded(scriptHash, msg.sender, _value);\n }\n\n /**\n *@dev Returns all transaction ids for a party\n *@param partyAddress Address of the party\n */\n function getAllTransactionsForParty(\n address partyAddress\n ) \n external \n view \n returns (bytes32[]) \n {\n return partyVsTransaction[partyAddress];\n }\n\n /**\n *@dev This method will be used to release funds associated with the transaction\n * Please see specs https://github.com/OpenBazaar/smart-contracts/blob/master/contracts/escrow/EscrowSpec.md\n *@param sigV Array containing V component of all the signatures\n *@param sigR Array containing R component of all the signatures\n *@param signS Array containing S component of all the signatures\n *@param scriptHash script hash of the transaction\n *@param destinations List of addresses who will receive funds\n *@param amounts amount released to each destination\n */\n function execute(\n uint8[] sigV,\n bytes32[] sigR,\n bytes32[] sigS,\n bytes32 scriptHash,\n address[] destinations,\n uint256[] amounts\n )\n external\n transactionExist(scriptHash)\n inFundedState(scriptHash)\n {\n require(\n destinations.length>0 && destinations.length == amounts.length, \"Length of destinations is incorrect.\"\n );\n\n verifyTransaction(\n sigV,\n sigR,\n sigS,\n scriptHash,\n destinations,\n amounts\n );\n\n transactions[scriptHash].status = Status.RELEASED;\n //Last modified timestamp modified, which will be used by rewards\n transactions[scriptHash].lastModified = block.timestamp;\n require(\n transferFunds(scriptHash, destinations, amounts) == transactions[scriptHash].value,\n \"Total value to be released must be equal to the transaction escrow value\"\n );\n \n emit Executed(scriptHash, destinations, amounts);\n }\n\n\n /**\n *@dev Method for calculating script hash. Calculation will depend upon the type of transaction\n * ETHER Type transaction-:\n * Script Hash- keccak256(uniqueId, threshold, timeoutHours, buyer, seller, moderator)\n * TOKEN Type transaction\n * Script Hash- keccak256(uniqueId, threshold, timeoutHours, buyer, seller, moderator, tokenAddress)\n * Client can use this method to verify whether it has calculated correct script hash or not\n */\n function calculateRedeemScriptHash(\n bytes20 uniqueId,\n uint8 threshold,\n uint32 timeoutHours,\n address buyer,\n address seller,\n address moderator,\n address tokenAddress\n )\n public\n view\n returns (bytes32)\n {\n if (tokenAddress == address(0)) {\n return keccak256(\n abi.encodePacked(\n uniqueId,\n threshold,\n timeoutHours,\n buyer,\n seller,\n moderator,\n this\n )\n );\n } else {\n return keccak256(\n abi.encodePacked(\n uniqueId,\n threshold,\n timeoutHours,\n buyer,\n seller,\n moderator,\n this,\n tokenAddress\n )\n );\n }\n }\n\n /**\n * @dev This methods checks validity of transaction\n * 1. Verify Signatures\n * 2. Check if minimum number of signatures has been acquired\n * 3. If above condition is false, check if time lock is expired and the execution is signed by seller\n */\n function verifyTransaction(\n uint8[] sigV,\n bytes32[] sigR,\n bytes32[] sigS,\n bytes32 scriptHash,\n address[] destinations,\n uint256[] amounts\n )\n private\n {\n address lastRecovered = verifySignatures(\n sigV,\n sigR,\n sigS,\n scriptHash,\n destinations,\n amounts\n );\n\n bool timeLockExpired = isTimeLockExpired(\n transactions[scriptHash].timeoutHours,\n transactions[scriptHash].lastModified\n );\n\n //if Minimum number of signatures are not gathered and timelock has not expired or transaction was not signed by seller then revert\n if (\n sigV.length < transactions[scriptHash].threshold && (!timeLockExpired || lastRecovered != transactions[scriptHash].seller)\n )\n {\n revert(\"Minimum number of signatures are not collected and time lock expiry conditions not met!!\");\n }\n\n }\n\n /**\n *@dev Private method to transfer funds to the destination addresses on the basis of transaction type\n */\n function transferFunds(\n bytes32 scriptHash,\n address[]destinations,\n uint256[]amounts\n )\n private\n returns (uint256)\n {\n Transaction storage t = transactions[scriptHash];\n\n uint256 valueTransferred = 0;\n\n if (t.transactionType == TransactionType.ETHER) {\n for (uint256 i = 0; i < destinations.length; i++) {\n\n require(destinations[i] != address(0) && t.isOwner[destinations[i]], \"Not a valid destination\");\n require(amounts[i] > 0, \"Amount to be sent should be greater than 0\");\n\n valueTransferred = valueTransferred.add(amounts[i]);\n\n t.beneficiaries[destinations[i]] = true;//add receiver as beneficiary\n destinations[i].transfer(amounts[i]);\n }\n\n } else if (t.transactionType == TransactionType.TOKEN) {\n\n ITokenContract token = ITokenContract(t.tokenAddress);\n\n for (uint256 j = 0; j 0, \"Amount to be sent should be greater than 0\");\n\n valueTransferred = valueTransferred.add(amounts[j]);\n t.beneficiaries[destinations[j]] = true;//add receiver as beneficiary\n\n require(token.transfer(destinations[j], amounts[j]), \"Token transfer failed.\");\n }\n } \n return valueTransferred;\n }\n\n //to check whether the signatures are valid or not and if consensus was reached\n //returns the last address recovered, in case of timeout this must be the sender's address\n function verifySignatures(\n uint8[] sigV,\n bytes32[] sigR,\n bytes32[] sigS,\n bytes32 scriptHash,\n address[] destinations,\n uint256[]amounts\n )\n private\n returns (address)\n {\n\n require(\n sigR.length == sigS.length && sigR.length == sigV.length, \n \"R,S,V length mismatch.\"\n );\n\n address lastAddress;\n\n // Follows ERC191 signature scheme: https://github.com/ethereum/EIPs/issues/191\n bytes32 txHash = keccak256(\n abi.encodePacked(\n \"\\x19Ethereum Signed Message:\\n32\",\n keccak256(\n abi.encodePacked(\n byte(0x19),\n byte(0),\n this,\n destinations,\n amounts,\n scriptHash\n )\n )\n )\n );\n\n for (uint i = 0; i < sigR.length; i++) {\n\n address recovered = ecrecover(\n txHash,\n sigV[i],\n sigR[i],\n sigS[i]\n );\n\n require(\n transactions[scriptHash].isOwner[recovered], \n \"Invalid signature\"\n );\n require(\n !transactions[scriptHash].voted[recovered], \n \"Same signature sent twice\"\n );\n transactions[scriptHash].voted[recovered] = true;\n lastAddress = recovered;\n }\n\n return lastAddress;\n }\n\n function isTimeLockExpired(\n uint32 timeoutHours,\n uint256 lastModified\n )\n private\n view\n returns (bool)\n {\n uint256 timeSince = now.sub(lastModified);\n return (\n timeoutHours == 0 ? false:timeSince > uint256(timeoutHours).mul(3600)\n );\n }\n\n /**\n * Private method to add transaction to reduce code redundancy\n */\n function _addTransaction(\n address buyer,\n address seller,\n address moderator,\n uint8 threshold,\n uint32 timeoutHours,\n bytes32 scriptHash,\n uint256 value,\n bytes20 uniqueId,\n TransactionType transactionType,\n address tokenAddress\n )\n private\n { \n require(buyer != seller, \"Buyer and seller are same\");\n\n //value passed should be greater than 0\n require(value > 0, \"Value passed is 0\");\n\n // For now allowing 0 moderator to support 1-2 multisig wallet\n require(\n threshold > 0 && threshold <= 3, \n \"Threshold cannot be greater than 3 and must be greater than 0\"\n );\n\n //if threshold is 1 then moderator can be passed as zero address or any other address\n //(it won't matter apart from scripthash since we wont add moderator as one of the owner),\n //otherwise moderator should be a valid address\n require(\n threshold == 1 || moderator != address(0),\n \"Either threshold should be 1 or valid moderator address should be passed\"\n );\n\n require(\n scriptHash == calculateRedeemScriptHash(\n uniqueId,\n threshold,\n timeoutHours,\n buyer,\n seller,\n moderator,\n tokenAddress\n ), \n \"Calculated script hash does not match passed script hash.\"\n );\n\n transactions[scriptHash] = Transaction({\n buyer: buyer,\n seller: seller,\n moderator: moderator,\n value: value,\n status: Status.FUNDED,\n lastModified: block.timestamp,\n threshold: threshold,\n timeoutHours: timeoutHours,\n transactionType:transactionType,\n tokenAddress:tokenAddress\n });\n\n transactions[scriptHash].isOwner[seller] = true;\n transactions[scriptHash].isOwner[buyer] = true; \n\n //Check if buyer or seller are not passed as moderator\n require(\n !transactions[scriptHash].isOwner[moderator], \n \"Either buyer or seller is passed as moderator\"\n );\n\n //set moderator as one of the owners only if threshold is greater than 1 otherwise only buyer and seller should be able to release funds\n if (threshold > 1) {\n transactions[scriptHash].isOwner[moderator] = true;\n }\n \n\n transactionCount++;\n\n partyVsTransaction[buyer].push(scriptHash);\n partyVsTransaction[seller].push(scriptHash);\n }\n}\n", "sourcePath": "/home/sameep/freelancing-projects/toptal/open baazar/publicRepo/smart-contracts/contracts/escrow/Escrow_v1_0.sol", "ast": { "absolutePath": "/home/sameep/freelancing-projects/toptal/open baazar/publicRepo/smart-contracts/contracts/escrow/Escrow_v1_0.sol", @@ -470,7 +470,7 @@ "baseContracts": [], "contractDependencies": [], "contractKind": "contract", - "documentation": "@dev Supports ERC20 tokens\nThe escrow smart contract for the open bazaar trades in Ethereum\nThe smart contract is desgined keeping in mind the current wallet interface of the OB-core\nhttps://github.com/OpenBazaar/wallet-interface/blob/master/wallet.go\nCurrent wallet interface strictly adheres to UTXO(bitcoin) model", + "documentation": "@dev Supports ERC20 tokens\nThe escrow smart contract for the open bazaar trades in Ethereum\nThe smart contract is designed keeping in mind the current wallet interface of the OB-core\nhttps://github.com/OpenBazaar/wallet-interface/blob/master/wallet.go\nCurrent wallet interface strictly adheres to UTXO(bitcoin) model", "fullyImplemented": true, "id": 1211, "linearizedBaseContracts": [ @@ -1175,7 +1175,7 @@ "name": "voted", "nodeType": "VariableDeclaration", "scope": 71, - "src": "1398:28:0", + "src": "1390:28:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1188,14 +1188,14 @@ "id": 63, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1406:7:0", + "src": "1398:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "Mapping", - "src": "1398:22:0", + "src": "1390:22:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -1204,7 +1204,7 @@ "id": 64, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "1415:4:0", + "src": "1407:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1220,7 +1220,7 @@ "name": "beneficiaries", "nodeType": "VariableDeclaration", "scope": 71, - "src": "1468:36:0", + "src": "1460:36:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1233,14 +1233,14 @@ "id": 67, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1476:7:0", + "src": "1468:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "Mapping", - "src": "1468:22:0", + "src": "1460:22:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -1249,7 +1249,7 @@ "id": 68, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "1485:4:0", + "src": "1477:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1263,7 +1263,7 @@ "name": "Transaction", "nodeType": "StructDefinition", "scope": 1211, - "src": "934:605:0", + "src": "934:597:0", "visibility": "public" }, { @@ -1272,7 +1272,7 @@ "name": "transactions", "nodeType": "VariableDeclaration", "scope": 1211, - "src": "1545:51:0", + "src": "1537:51:0", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -1285,14 +1285,14 @@ "id": 72, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "1553:7:0", + "src": "1545:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "nodeType": "Mapping", - "src": "1545:31:0", + "src": "1537:31:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction)" @@ -1303,7 +1303,7 @@ "name": "Transaction", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 71, - "src": "1564:11:0", + "src": "1556:11:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction" @@ -1319,7 +1319,7 @@ "name": "transactionCount", "nodeType": "VariableDeclaration", "scope": 1211, - "src": "1603:35:0", + "src": "1595:35:0", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -1330,7 +1330,7 @@ "id": 76, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1603:7:0", + "src": "1595:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1346,7 +1346,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1637:1:0", + "src": "1629:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -1362,7 +1362,7 @@ "name": "partyVsTransaction", "nodeType": "VariableDeclaration", "scope": 1211, - "src": "1715:55:0", + "src": "1709:55:0", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -1375,14 +1375,14 @@ "id": 79, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1723:7:0", + "src": "1717:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "Mapping", - "src": "1715:29:0", + "src": "1709:29:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_bytes32_$dyn_storage_$", "typeString": "mapping(address => bytes32[])" @@ -1392,7 +1392,7 @@ "id": 80, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "1734:7:0", + "src": "1728:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -1401,7 +1401,7 @@ "id": 81, "length": null, "nodeType": "ArrayTypeName", - "src": "1734:9:0", + "src": "1728:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -1415,7 +1415,7 @@ "body": { "id": 98, "nodeType": "Block", - "src": "1824:125:0", + "src": "1817:124:0", "statements": [ { "expression": { @@ -1443,7 +1443,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "1855:12:0", + "src": "1848:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -1457,7 +1457,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 85, - "src": "1868:10:0", + "src": "1861:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -1468,7 +1468,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "1855:24:0", + "src": "1848:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -1482,7 +1482,7 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": 40, - "src": "1855:30:0", + "src": "1848:30:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1500,7 +1500,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1889:1:0", + "src": "1882:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -1508,7 +1508,7 @@ }, "value": "0" }, - "src": "1855:35:0", + "src": "1848:35:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1516,7 +1516,7 @@ }, { "argumentTypes": null, - "hexValue": "5472616e73616374696f6e20646f6573206e6f7420657869737473", + "hexValue": "5472616e73616374696f6e20646f6573206e6f74206578697374", "id": 94, "isConstant": false, "isLValue": false, @@ -1524,13 +1524,13 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "1892:29:0", + "src": "1885:28:0", "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_stringliteral_e6218ab6010d379e919c5d8d62438c20b22e478fd60139b985d89cb57bc71538", - "typeString": "literal_string \"Transaction does not exists\"" + "typeIdentifier": "t_stringliteral_cb323e46bbcca91e157c2b50ad4ce2acbe1153338b838c84372d5723b8995ef0", + "typeString": "literal_string \"Transaction does not exist\"" }, - "value": "Transaction does not exists" + "value": "Transaction does not exist" } ], "expression": { @@ -1540,8 +1540,8 @@ "typeString": "bool" }, { - "typeIdentifier": "t_stringliteral_e6218ab6010d379e919c5d8d62438c20b22e478fd60139b985d89cb57bc71538", - "typeString": "literal_string \"Transaction does not exists\"" + "typeIdentifier": "t_stringliteral_cb323e46bbcca91e157c2b50ad4ce2acbe1153338b838c84372d5723b8995ef0", + "typeString": "literal_string \"Transaction does not exist\"" } ], "id": 87, @@ -1552,7 +1552,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "1834:7:0", + "src": "1827:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -1566,7 +1566,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1834:97:0", + "src": "1827:96:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -1574,18 +1574,18 @@ }, "id": 96, "nodeType": "ExpressionStatement", - "src": "1834:97:0" + "src": "1827:96:0" }, { "id": 97, "nodeType": "PlaceholderStatement", - "src": "1941:1:0" + "src": "1933:1:0" } ] }, "documentation": null, "id": 99, - "name": "transactionExists", + "name": "transactionExist", "nodeType": "ModifierDefinition", "parameters": { "id": 86, @@ -1597,7 +1597,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 99, - "src": "1804:18:0", + "src": "1797:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1608,7 +1608,7 @@ "id": 84, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "1804:7:0", + "src": "1797:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -1618,16 +1618,16 @@ "visibility": "internal" } ], - "src": "1803:20:0" + "src": "1796:20:0" }, - "src": "1777:172:0", + "src": "1771:170:0", "visibility": "internal" }, { "body": { "id": 114, "nodeType": "Block", - "src": "2010:94:0", + "src": "2000:93:0", "statements": [ { "expression": { @@ -1655,7 +1655,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "2028:12:0", + "src": "2018:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -1669,7 +1669,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 101, - "src": "2041:10:0", + "src": "2031:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -1680,7 +1680,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "2028:24:0", + "src": "2018:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -1694,7 +1694,7 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": 40, - "src": "2028:30:0", + "src": "2018:30:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1712,7 +1712,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2062:1:0", + "src": "2052:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -1720,7 +1720,7 @@ }, "value": "0" }, - "src": "2028:35:0", + "src": "2018:35:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1728,7 +1728,7 @@ }, { "argumentTypes": null, - "hexValue": "5472616e73616374696f6e20657869737473", + "hexValue": "5472616e73616374696f6e206578697374", "id": 110, "isConstant": false, "isLValue": false, @@ -1736,13 +1736,13 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "2065:20:0", + "src": "2055:19:0", "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_stringliteral_64ff8d63c933e41af18e90354a9e9e0a94a0877b0dd96b73b67df48f68d00e8a", - "typeString": "literal_string \"Transaction exists\"" + "typeIdentifier": "t_stringliteral_4f41f109da323167d042f4559ebd6e2dc42fdbc2be1a2cea9ff6130572900782", + "typeString": "literal_string \"Transaction exist\"" }, - "value": "Transaction exists" + "value": "Transaction exist" } ], "expression": { @@ -1752,8 +1752,8 @@ "typeString": "bool" }, { - "typeIdentifier": "t_stringliteral_64ff8d63c933e41af18e90354a9e9e0a94a0877b0dd96b73b67df48f68d00e8a", - "typeString": "literal_string \"Transaction exists\"" + "typeIdentifier": "t_stringliteral_4f41f109da323167d042f4559ebd6e2dc42fdbc2be1a2cea9ff6130572900782", + "typeString": "literal_string \"Transaction exist\"" } ], "id": 103, @@ -1764,7 +1764,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "2020:7:0", + "src": "2010:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -1778,7 +1778,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2020:66:0", + "src": "2010:65:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -1786,18 +1786,18 @@ }, "id": 112, "nodeType": "ExpressionStatement", - "src": "2020:66:0" + "src": "2010:65:0" }, { "id": 113, "nodeType": "PlaceholderStatement", - "src": "2096:1:0" + "src": "2085:1:0" } ] }, "documentation": null, "id": 115, - "name": "transactionDoesNotExists", + "name": "transactionDoesNotExist", "nodeType": "ModifierDefinition", "parameters": { "id": 102, @@ -1809,7 +1809,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 115, - "src": "1990:18:0", + "src": "1980:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1820,7 +1820,7 @@ "id": 100, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "1990:7:0", + "src": "1980:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -1830,16 +1830,16 @@ "visibility": "internal" } ], - "src": "1989:20:0" + "src": "1979:20:0" }, - "src": "1955:149:0", + "src": "1947:146:0", "visibility": "internal" }, { "body": { "id": 131, "nodeType": "Block", - "src": "2153:145:0", + "src": "2142:145:0", "statements": [ { "expression": { @@ -1867,7 +1867,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "2184:12:0", + "src": "2173:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -1881,7 +1881,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 117, - "src": "2197:10:0", + "src": "2186:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -1892,7 +1892,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "2184:24:0", + "src": "2173:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -1906,7 +1906,7 @@ "memberName": "status", "nodeType": "MemberAccess", "referencedDeclaration": 44, - "src": "2184:31:0", + "src": "2173:31:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$9", "typeString": "enum Escrow_v1_0.Status" @@ -1923,7 +1923,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9, - "src": "2219:6:0", + "src": "2208:6:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_Status_$9_$", "typeString": "type(enum Escrow_v1_0.Status)" @@ -1937,13 +1937,13 @@ "memberName": "FUNDED", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "2219:13:0", + "src": "2208:13:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$9", "typeString": "enum Escrow_v1_0.Status" } }, - "src": "2184:48:0", + "src": "2173:48:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1959,7 +1959,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "2234:36:0", + "src": "2223:36:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_5244efce1630cfae7257c0817c921ae75135c1043344a4cf9a1988c03337f39d", @@ -1987,7 +1987,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "2163:7:0", + "src": "2152:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -2001,7 +2001,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2163:117:0", + "src": "2152:117:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -2009,12 +2009,12 @@ }, "id": 129, "nodeType": "ExpressionStatement", - "src": "2163:117:0" + "src": "2152:117:0" }, { "id": 130, "nodeType": "PlaceholderStatement", - "src": "2290:1:0" + "src": "2279:1:0" } ] }, @@ -2032,7 +2032,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 132, - "src": "2133:18:0", + "src": "2122:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2043,7 +2043,7 @@ "id": 116, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "2133:7:0", + "src": "2122:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -2053,16 +2053,16 @@ "visibility": "internal" } ], - "src": "2132:20:0" + "src": "2121:20:0" }, - "src": "2110:188:0", + "src": "2099:188:0", "visibility": "internal" }, { "body": { "id": 146, "nodeType": "Block", - "src": "2352:88:0", + "src": "2341:88:0", "statements": [ { "expression": { @@ -2086,7 +2086,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 134, - "src": "2370:14:0", + "src": "2359:14:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2107,7 +2107,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2396:1:0", + "src": "2385:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -2129,7 +2129,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "2388:7:0", + "src": "2377:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" @@ -2144,13 +2144,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2388:10:0", + "src": "2377:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "2370:28:0", + "src": "2359:28:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -2166,7 +2166,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "2400:21:0", + "src": "2389:21:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_93e85f37f73cf8e1b855512ab7e00aab2b791117712ecb476daeb6c2c0a27a67", @@ -2194,7 +2194,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "2362:7:0", + "src": "2351:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -2208,7 +2208,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2362:60:0", + "src": "2351:60:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -2216,12 +2216,12 @@ }, "id": 144, "nodeType": "ExpressionStatement", - "src": "2362:60:0" + "src": "2351:60:0" }, { "id": 145, "nodeType": "PlaceholderStatement", - "src": "2432:1:0" + "src": "2421:1:0" } ] }, @@ -2239,7 +2239,7 @@ "name": "addressToCheck", "nodeType": "VariableDeclaration", "scope": 147, - "src": "2328:22:0", + "src": "2317:22:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2250,7 +2250,7 @@ "id": 133, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2328:7:0", + "src": "2317:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2260,16 +2260,16 @@ "visibility": "internal" } ], - "src": "2327:24:0" + "src": "2316:24:0" }, - "src": "2304:136:0", + "src": "2293:136:0", "visibility": "internal" }, { "body": { "id": 164, "nodeType": "Block", - "src": "2555:153:0", + "src": "2544:153:0", "statements": [ { "expression": { @@ -2297,7 +2297,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "2586:12:0", + "src": "2575:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -2311,7 +2311,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 149, - "src": "2599:10:0", + "src": "2588:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -2322,7 +2322,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "2586:24:0", + "src": "2575:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -2336,7 +2336,7 @@ "memberName": "transactionType", "nodeType": "MemberAccess", "referencedDeclaration": 46, - "src": "2586:40:0", + "src": "2575:40:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -2351,13 +2351,13 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 151, - "src": "2630:15:0", + "src": "2619:15:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" } }, - "src": "2586:59:0", + "src": "2575:59:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -2373,7 +2373,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "2647:33:0", + "src": "2636:33:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_c798eb33a8bd5d4c22212d5c8611219bb87da2d82aefe8e88b1f970a0f133cc3", @@ -2401,7 +2401,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "2565:7:0", + "src": "2554:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -2415,7 +2415,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2565:125:0", + "src": "2554:125:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -2423,12 +2423,12 @@ }, "id": 162, "nodeType": "ExpressionStatement", - "src": "2565:125:0" + "src": "2554:125:0" }, { "id": 163, "nodeType": "PlaceholderStatement", - "src": "2700:1:0" + "src": "2689:1:0" } ] }, @@ -2446,7 +2446,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 165, - "src": "2485:18:0", + "src": "2474:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2457,7 +2457,7 @@ "id": 148, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "2485:7:0", + "src": "2474:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -2472,7 +2472,7 @@ "name": "transactionType", "nodeType": "VariableDeclaration", "scope": 165, - "src": "2513:31:0", + "src": "2502:31:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2485,7 +2485,7 @@ "name": "TransactionType", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 12, - "src": "2513:15:0", + "src": "2502:15:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -2495,16 +2495,16 @@ "visibility": "internal" } ], - "src": "2475:75:0" + "src": "2464:75:0" }, - "src": "2446:262:0", + "src": "2435:262:0", "visibility": "internal" }, { "body": { "id": 181, "nodeType": "Block", - "src": "2753:152:0", + "src": "2742:152:0", "statements": [ { "expression": { @@ -2530,7 +2530,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1384, - "src": "2784:3:0", + "src": "2773:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -2544,7 +2544,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "2784:10:0", + "src": "2773:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2563,7 +2563,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "2798:12:0", + "src": "2787:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -2577,7 +2577,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 167, - "src": "2811:10:0", + "src": "2800:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -2588,7 +2588,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "2798:24:0", + "src": "2787:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -2602,13 +2602,13 @@ "memberName": "buyer", "nodeType": "MemberAccess", "referencedDeclaration": 52, - "src": "2798:30:0", + "src": "2787:30:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "2784:44:0", + "src": "2773:44:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -2624,7 +2624,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "2830:47:0", + "src": "2819:47:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_b4fc72d2373e6fc668b2bc10a6c84713d84de5f4dc58bb69053e1a18ae67c2f9", @@ -2652,7 +2652,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "2763:7:0", + "src": "2752:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -2666,7 +2666,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2763:124:0", + "src": "2752:124:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -2674,12 +2674,12 @@ }, "id": 179, "nodeType": "ExpressionStatement", - "src": "2763:124:0" + "src": "2752:124:0" }, { "id": 180, "nodeType": "PlaceholderStatement", - "src": "2897:1:0" + "src": "2886:1:0" } ] }, @@ -2697,7 +2697,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 182, - "src": "2733:18:0", + "src": "2722:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2708,7 +2708,7 @@ "id": 166, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "2733:7:0", + "src": "2722:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -2718,16 +2718,16 @@ "visibility": "internal" } ], - "src": "2732:20:0" + "src": "2721:20:0" }, - "src": "2714:191:0", + "src": "2703:191:0", "visibility": "internal" }, { "body": { "id": 233, "nodeType": "Block", - "src": "4030:347:0", + "src": "4031:347:0", "statements": [ { "expression": { @@ -2740,7 +2740,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 184, - "src": "4069:5:0", + "src": "4070:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2753,7 +2753,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 186, - "src": "4088:6:0", + "src": "4089:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2766,7 +2766,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 188, - "src": "4108:9:0", + "src": "4109:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2779,7 +2779,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 190, - "src": "4131:9:0", + "src": "4132:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -2792,7 +2792,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 192, - "src": "4154:12:0", + "src": "4155:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -2805,7 +2805,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 194, - "src": "4180:10:0", + "src": "4181:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -2820,7 +2820,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1384, - "src": "4204:3:0", + "src": "4205:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -2834,7 +2834,7 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "4204:9:0", + "src": "4205:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2847,7 +2847,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 196, - "src": "4227:8:0", + "src": "4228:8:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -2862,7 +2862,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12, - "src": "4249:15:0", + "src": "4250:15:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_TransactionType_$12_$", "typeString": "type(enum Escrow_v1_0.TransactionType)" @@ -2876,7 +2876,7 @@ "memberName": "ETHER", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "4249:21:0", + "src": "4250:21:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -2895,7 +2895,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "4292:1:0", + "src": "4293:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -2917,7 +2917,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "4284:7:0", + "src": "4285:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" @@ -2932,7 +2932,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4284:10:0", + "src": "4285:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2987,7 +2987,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1210, - "src": "4040:15:0", + "src": "4041:15:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_address_$_t_uint8_$_t_uint32_$_t_bytes32_$_t_uint256_$_t_bytes20_$_t_enum$_TransactionType_$12_$_t_address_$returns$__$", "typeString": "function (address,address,address,uint8,uint32,bytes32,uint256,bytes20,enum Escrow_v1_0.TransactionType,address)" @@ -3001,7 +3001,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4040:264:0", + "src": "4041:264:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -3009,7 +3009,7 @@ }, "id": 224, "nodeType": "ExpressionStatement", - "src": "4040:264:0" + "src": "4041:264:0" }, { "eventCall": { @@ -3022,7 +3022,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 194, - "src": "4335:10:0", + "src": "4336:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -3037,7 +3037,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1384, - "src": "4347:3:0", + "src": "4348:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -3051,7 +3051,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "4347:10:0", + "src": "4348:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3066,7 +3066,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1384, - "src": "4359:3:0", + "src": "4360:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -3080,7 +3080,7 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "4359:9:0", + "src": "4360:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3107,7 +3107,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 38, - "src": "4328:6:0", + "src": "4329:6:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (bytes32,address,uint256)" @@ -3121,7 +3121,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4328:41:0", + "src": "4329:41:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -3129,11 +3129,11 @@ }, "id": 232, "nodeType": "EmitStatement", - "src": "4323:46:0" + "src": "4324:46:0" } ] }, - "documentation": "dev Add new transaction in the contract\nparam buyer The buyer of the transaction\nparam seller The seller of the listing associated with the transaction\nparam moderator Moderator for this transaction\nparam scriptHash keccak256 hash of the redeem script\nparam threshold Minimum number of singatures required to released funds\nparam timeoutHours Hours after which seller can release funds into his favour by signing transaction\nparam uniqueId bytes20 unique id for the transaction, generated by ETH wallet\nedeem Script format will be following\n\nass amount of the ethers to be put in escrow", + "documentation": "dev Add new transaction in the contract\nparam buyer The buyer of the transaction\nparam seller The seller of the listing associated with the transaction\nparam moderator Moderator for this transaction\nparam scriptHash keccak256 hash of the redeem script\nparam threshold Minimum number of signatures required to released funds\nparam timeoutHours Hours after which seller can release funds into his favour by signing transaction unilaterally\nparam uniqueId bytes20 unique id for the transaction, generated by ETH wallet\nedeem Script format will be following\n\nass amount of the ethers to be put in escrow", "id": 234, "implemented": true, "isConstructor": false, @@ -3148,7 +3148,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 194, - "src": "3953:10:0", + "src": "3954:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -3159,18 +3159,18 @@ "modifierName": { "argumentTypes": null, "id": 198, - "name": "transactionDoesNotExists", + "name": "transactionDoesNotExist", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 115, - "src": "3928:24:0", + "src": "3930:23:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "3928:36:0" + "src": "3930:35:0" }, { "arguments": [ @@ -3181,7 +3181,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 184, - "src": "3988:5:0", + "src": "3989:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3196,14 +3196,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 147, - "src": "3973:14:0", + "src": "3974:14:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_address_$", "typeString": "modifier (address)" } }, "nodeType": "ModifierInvocation", - "src": "3973:21:0" + "src": "3974:21:0" }, { "arguments": [ @@ -3214,7 +3214,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 186, - "src": "4018:6:0", + "src": "4019:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3229,14 +3229,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 147, - "src": "4003:14:0", + "src": "4004:14:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_address_$", "typeString": "modifier (address)" } }, "nodeType": "ModifierInvocation", - "src": "4003:22:0" + "src": "4004:22:0" } ], "name": "addTransaction", @@ -3251,7 +3251,7 @@ "name": "buyer", "nodeType": "VariableDeclaration", "scope": 234, - "src": "3708:13:0", + "src": "3710:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3262,7 +3262,7 @@ "id": 183, "name": "address", "nodeType": "ElementaryTypeName", - "src": "3708:7:0", + "src": "3710:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3277,7 +3277,7 @@ "name": "seller", "nodeType": "VariableDeclaration", "scope": 234, - "src": "3731:14:0", + "src": "3733:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3288,7 +3288,7 @@ "id": 185, "name": "address", "nodeType": "ElementaryTypeName", - "src": "3731:7:0", + "src": "3733:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3303,7 +3303,7 @@ "name": "moderator", "nodeType": "VariableDeclaration", "scope": 234, - "src": "3755:17:0", + "src": "3757:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3314,7 +3314,7 @@ "id": 187, "name": "address", "nodeType": "ElementaryTypeName", - "src": "3755:7:0", + "src": "3757:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3329,7 +3329,7 @@ "name": "threshold", "nodeType": "VariableDeclaration", "scope": 234, - "src": "3782:15:0", + "src": "3784:15:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3340,7 +3340,7 @@ "id": 189, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "3782:5:0", + "src": "3784:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -3355,7 +3355,7 @@ "name": "timeoutHours", "nodeType": "VariableDeclaration", "scope": 234, - "src": "3807:19:0", + "src": "3809:19:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3366,7 +3366,7 @@ "id": 191, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "3807:6:0", + "src": "3809:6:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -3381,7 +3381,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 234, - "src": "3836:18:0", + "src": "3838:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3392,7 +3392,7 @@ "id": 193, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "3836:7:0", + "src": "3838:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -3407,7 +3407,7 @@ "name": "uniqueId", "nodeType": "VariableDeclaration", "scope": 234, - "src": "3864:16:0", + "src": "3866:16:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3418,7 +3418,7 @@ "id": 195, "name": "bytes20", "nodeType": "ElementaryTypeName", - "src": "3864:7:0", + "src": "3866:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -3428,17 +3428,17 @@ "visibility": "internal" } ], - "src": "3698:188:0" + "src": "3700:188:0" }, "payable": true, "returnParameters": { "id": 207, "nodeType": "ParameterList", "parameters": [], - "src": "4030:0:0" + "src": "4031:0:0" }, "scope": 1211, - "src": "3675:702:0", + "src": "3677:701:0", "stateMutability": "payable", "superFunction": null, "visibility": "external" @@ -3447,7 +3447,7 @@ "body": { "id": 305, "nodeType": "Block", - "src": "5728:587:0", + "src": "5745:588:0", "statements": [ { "expression": { @@ -3460,7 +3460,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 236, - "src": "5768:5:0", + "src": "5785:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3473,7 +3473,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 238, - "src": "5787:6:0", + "src": "5804:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3486,7 +3486,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 240, - "src": "5807:9:0", + "src": "5824:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3499,7 +3499,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 242, - "src": "5830:9:0", + "src": "5847:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -3512,7 +3512,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 244, - "src": "5853:12:0", + "src": "5870:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -3525,7 +3525,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 246, - "src": "5879:10:0", + "src": "5896:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -3538,7 +3538,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 248, - "src": "5903:5:0", + "src": "5920:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3551,7 +3551,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 250, - "src": "5922:8:0", + "src": "5939:8:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -3566,7 +3566,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12, - "src": "5944:15:0", + "src": "5961:15:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_TransactionType_$12_$", "typeString": "type(enum Escrow_v1_0.TransactionType)" @@ -3580,7 +3580,7 @@ "memberName": "TOKEN", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "5944:21:0", + "src": "5961:21:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -3593,7 +3593,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 252, - "src": "5979:12:0", + "src": "5996:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3648,7 +3648,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1210, - "src": "5739:15:0", + "src": "5756:15:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_address_$_t_uint8_$_t_uint32_$_t_bytes32_$_t_uint256_$_t_bytes20_$_t_enum$_TransactionType_$12_$_t_address_$returns$__$", "typeString": "function (address,address,address,uint8,uint32,bytes32,uint256,bytes20,enum Escrow_v1_0.TransactionType,address)" @@ -3662,7 +3662,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5739:262:0", + "src": "5756:262:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -3670,7 +3670,7 @@ }, "id": 280, "nodeType": "ExpressionStatement", - "src": "5739:262:0" + "src": "5756:262:0" }, { "assignments": [ @@ -3683,7 +3683,7 @@ "name": "token", "nodeType": "VariableDeclaration", "scope": 306, - "src": "6012:20:0", + "src": "6029:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3696,7 +3696,7 @@ "name": "ITokenContract", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 1241, - "src": "6012:14:0", + "src": "6029:14:0", "typeDescriptions": { "typeIdentifier": "t_contract$_ITokenContract_$1241", "typeString": "contract ITokenContract" @@ -3717,7 +3717,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 252, - "src": "6050:12:0", + "src": "6067:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3736,7 +3736,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1241, - "src": "6035:14:0", + "src": "6052:14:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_ITokenContract_$1241_$", "typeString": "type(contract ITokenContract)" @@ -3750,14 +3750,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6035:28:0", + "src": "6052:28:0", "typeDescriptions": { "typeIdentifier": "t_contract$_ITokenContract_$1241", "typeString": "contract ITokenContract" } }, "nodeType": "VariableDeclarationStatement", - "src": "6012:51:0" + "src": "6029:51:0" }, { "expression": { @@ -3775,7 +3775,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1384, - "src": "6114:3:0", + "src": "6131:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -3789,7 +3789,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "6114:10:0", + "src": "6131:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3802,7 +3802,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1401, - "src": "6126:4:0", + "src": "6143:4:0", "typeDescriptions": { "typeIdentifier": "t_contract$_Escrow_v1_0_$1211", "typeString": "contract Escrow_v1_0" @@ -3815,7 +3815,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 248, - "src": "6132:5:0", + "src": "6149:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3844,7 +3844,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 282, - "src": "6095:5:0", + "src": "6112:5:0", "typeDescriptions": { "typeIdentifier": "t_contract$_ITokenContract_$1241", "typeString": "contract ITokenContract" @@ -3858,7 +3858,7 @@ "memberName": "transferFrom", "nodeType": "MemberAccess", "referencedDeclaration": 1240, - "src": "6095:18:0", + "src": "6112:18:0", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", "typeString": "function (address,address,uint256) external returns (bool)" @@ -3872,7 +3872,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6095:43:0", + "src": "6112:43:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -3880,7 +3880,7 @@ }, { "argumentTypes": null, - "hexValue": "546f6b656e207472616e73666572206661696c65642c206d6179626520796f7520646964206e6f7420617070726f766520657363726f7720636f6e747261637420746f207370656e64206f6e20626568616c66206f66206275796572", + "hexValue": "546f6b656e207472616e73666572206661696c65642c206d6179626520796f7520646964206e6f7420617070726f766520657363726f7720636f6e747261637420746f207370656e64206f6e20626568616c66206f662073656e646572", "id": 295, "isConstant": false, "isLValue": false, @@ -3888,13 +3888,13 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "6152:94:0", + "src": "6169:95:0", "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_stringliteral_d9d07068d589bc4adc53018a3c57c159ec128fdfb62732a5fa9410e76cf03318", - "typeString": "literal_string \"Token transfer failed, maybe you did not approve escrow contract to spend on behalf of buyer\"" + "typeIdentifier": "t_stringliteral_d81b627ac67759234197a5bdf4d9f7d33298e824ce7bd47e08ce9919cd96c696", + "typeString": "literal_string \"Token transfer failed, maybe you did not approve escrow contract to spend on behalf of sender\"" }, - "value": "Token transfer failed, maybe you did not approve escrow contract to spend on behalf of buyer" + "value": "Token transfer failed, maybe you did not approve escrow contract to spend on behalf of sender" } ], "expression": { @@ -3904,8 +3904,8 @@ "typeString": "bool" }, { - "typeIdentifier": "t_stringliteral_d9d07068d589bc4adc53018a3c57c159ec128fdfb62732a5fa9410e76cf03318", - "typeString": "literal_string \"Token transfer failed, maybe you did not approve escrow contract to spend on behalf of buyer\"" + "typeIdentifier": "t_stringliteral_d81b627ac67759234197a5bdf4d9f7d33298e824ce7bd47e08ce9919cd96c696", + "typeString": "literal_string \"Token transfer failed, maybe you did not approve escrow contract to spend on behalf of sender\"" } ], "id": 287, @@ -3916,7 +3916,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "6074:7:0", + "src": "6091:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -3930,7 +3930,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6074:182:0", + "src": "6091:183:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -3938,7 +3938,7 @@ }, "id": 297, "nodeType": "ExpressionStatement", - "src": "6074:182:0" + "src": "6091:183:0" }, { "eventCall": { @@ -3951,7 +3951,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 246, - "src": "6278:10:0", + "src": "6296:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -3966,7 +3966,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1384, - "src": "6290:3:0", + "src": "6308:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -3980,7 +3980,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "6290:10:0", + "src": "6308:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3993,7 +3993,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 248, - "src": "6302:5:0", + "src": "6320:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4020,7 +4020,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 38, - "src": "6271:6:0", + "src": "6289:6:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (bytes32,address,uint256)" @@ -4034,7 +4034,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6271:37:0", + "src": "6289:37:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -4042,11 +4042,11 @@ }, "id": 304, "nodeType": "EmitStatement", - "src": "6266:42:0" + "src": "6284:42:0" } ] }, - "documentation": "dev Add new transaction in the contract\nparam buyer The buyer of the transaction\nparam seller The seller of the listing associated with the transaction\nparam moderator Moderator for this transaction\nparam scriptHash keccak256 hash of the redeem script\nparam threshold Minimum number of singatures required to released funds\nparam timeoutHours Hours after which seller can release funds into his favour by signing transaction\nparam value Amount of tokens to be put in escrow\nparam uniqueId bytes20 unique id for the transaction, generated by ETH wallet\nparam tokenAddress Address of the token to be used\nedeem Script format will be following\n\npprove escrow contract to spend amount of token on your behalf", + "documentation": "dev Add new transaction in the contract\nparam buyer The buyer of the transaction\nparam seller The seller of the listing associated with the transaction\nparam moderator Moderator for this transaction\nparam scriptHash keccak256 hash of the redeem script\nparam threshold Minimum number of signatures required to released funds\nparam timeoutHours Hours after which seller can release funds into his favour by signing transaction unilaterally\nparam value Amount of tokens to be put in escrow\nparam uniqueId bytes20 unique id for the transaction, generated by ETH wallet\nparam tokenAddress Address of the token to be used\nedeem Script format will be following\n\npprove escrow contract to spend amount of token on sender's behalf", "id": 306, "implemented": true, "isConstructor": false, @@ -4061,7 +4061,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 246, - "src": "5614:10:0", + "src": "5631:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -4072,18 +4072,18 @@ "modifierName": { "argumentTypes": null, "id": 254, - "name": "transactionDoesNotExists", + "name": "transactionDoesNotExist", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 115, - "src": "5589:24:0", + "src": "5607:23:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "5589:36:0" + "src": "5607:35:0" }, { "arguments": [ @@ -4094,7 +4094,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 236, - "src": "5649:5:0", + "src": "5666:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4109,14 +4109,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 147, - "src": "5634:14:0", + "src": "5651:14:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_address_$", "typeString": "modifier (address)" } }, "nodeType": "ModifierInvocation", - "src": "5634:21:0" + "src": "5651:21:0" }, { "arguments": [ @@ -4127,7 +4127,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 238, - "src": "5679:6:0", + "src": "5696:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4142,14 +4142,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 147, - "src": "5664:14:0", + "src": "5681:14:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_address_$", "typeString": "modifier (address)" } }, "nodeType": "ModifierInvocation", - "src": "5664:22:0" + "src": "5681:22:0" }, { "arguments": [ @@ -4160,7 +4160,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 252, - "src": "5710:12:0", + "src": "5727:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4175,14 +4175,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 147, - "src": "5695:14:0", + "src": "5712:14:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_address_$", "typeString": "modifier (address)" } }, "nodeType": "ModifierInvocation", - "src": "5695:28:0" + "src": "5712:28:0" } ], "name": "addTokenTransaction", @@ -4197,7 +4197,7 @@ "name": "buyer", "nodeType": "VariableDeclaration", "scope": 306, - "src": "5332:13:0", + "src": "5350:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4208,7 +4208,7 @@ "id": 235, "name": "address", "nodeType": "ElementaryTypeName", - "src": "5332:7:0", + "src": "5350:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4223,7 +4223,7 @@ "name": "seller", "nodeType": "VariableDeclaration", "scope": 306, - "src": "5355:14:0", + "src": "5373:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4234,7 +4234,7 @@ "id": 237, "name": "address", "nodeType": "ElementaryTypeName", - "src": "5355:7:0", + "src": "5373:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4249,7 +4249,7 @@ "name": "moderator", "nodeType": "VariableDeclaration", "scope": 306, - "src": "5379:17:0", + "src": "5397:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4260,7 +4260,7 @@ "id": 239, "name": "address", "nodeType": "ElementaryTypeName", - "src": "5379:7:0", + "src": "5397:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4275,7 +4275,7 @@ "name": "threshold", "nodeType": "VariableDeclaration", "scope": 306, - "src": "5406:15:0", + "src": "5424:15:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4286,7 +4286,7 @@ "id": 241, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "5406:5:0", + "src": "5424:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -4301,7 +4301,7 @@ "name": "timeoutHours", "nodeType": "VariableDeclaration", "scope": 306, - "src": "5431:19:0", + "src": "5449:19:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4312,7 +4312,7 @@ "id": 243, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "5431:6:0", + "src": "5449:6:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -4327,7 +4327,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 306, - "src": "5460:18:0", + "src": "5478:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4338,7 +4338,7 @@ "id": 245, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "5460:7:0", + "src": "5478:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -4353,7 +4353,7 @@ "name": "value", "nodeType": "VariableDeclaration", "scope": 306, - "src": "5488:13:0", + "src": "5506:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4364,7 +4364,7 @@ "id": 247, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "5488:7:0", + "src": "5506:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4379,7 +4379,7 @@ "name": "uniqueId", "nodeType": "VariableDeclaration", "scope": 306, - "src": "5511:16:0", + "src": "5529:16:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4390,7 +4390,7 @@ "id": 249, "name": "bytes20", "nodeType": "ElementaryTypeName", - "src": "5511:7:0", + "src": "5529:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -4405,7 +4405,7 @@ "name": "tokenAddress", "nodeType": "VariableDeclaration", "scope": 306, - "src": "5537:20:0", + "src": "5555:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4416,7 +4416,7 @@ "id": 251, "name": "address", "nodeType": "ElementaryTypeName", - "src": "5537:7:0", + "src": "5555:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4426,17 +4426,17 @@ "visibility": "internal" } ], - "src": "5322:241:0" + "src": "5340:241:0" }, "payable": false, "returnParameters": { "id": 266, "nodeType": "ParameterList", "parameters": [], - "src": "5728:0:0" + "src": "5745:0:0" }, "scope": 1211, - "src": "5294:1021:0", + "src": "5312:1021:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" @@ -4445,7 +4445,7 @@ "body": { "id": 322, "nodeType": "Block", - "src": "6685:75:0", + "src": "6720:75:0", "statements": [ { "expression": { @@ -4461,7 +4461,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "6702:12:0", + "src": "6737:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -4475,7 +4475,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 308, - "src": "6715:10:0", + "src": "6750:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -4486,7 +4486,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "6702:24:0", + "src": "6737:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -4500,7 +4500,7 @@ "memberName": "beneficiaries", "nodeType": "MemberAccess", "referencedDeclaration": 70, - "src": "6702:38:0", + "src": "6737:38:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -4514,7 +4514,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 310, - "src": "6741:11:0", + "src": "6776:11:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4525,7 +4525,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "6702:51:0", + "src": "6737:51:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -4534,11 +4534,11 @@ "functionReturnParameters": 314, "id": 321, "nodeType": "Return", - "src": "6695:58:0" + "src": "6730:58:0" } ] }, - "documentation": "@dev Check whether given address was a beneficiary of transaction execution or not\n@param scriptHash script hash of the transaction\n@param beneficiary Beneficiary address to be checked", + "documentation": "@dev This method will check whether given address was a beneficiary of transaction execution or not\n@param scriptHash script hash of the transaction\n@param beneficiary Beneficiary address to be checked", "id": 323, "implemented": true, "isConstructor": false, @@ -4556,7 +4556,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 323, - "src": "6574:18:0", + "src": "6609:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4567,7 +4567,7 @@ "id": 307, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "6574:7:0", + "src": "6609:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -4582,7 +4582,7 @@ "name": "beneficiary", "nodeType": "VariableDeclaration", "scope": 323, - "src": "6602:19:0", + "src": "6637:19:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4593,7 +4593,7 @@ "id": 309, "name": "address", "nodeType": "ElementaryTypeName", - "src": "6602:7:0", + "src": "6637:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4603,7 +4603,7 @@ "visibility": "internal" } ], - "src": "6564:63:0" + "src": "6599:63:0" }, "payable": false, "returnParameters": { @@ -4616,7 +4616,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 323, - "src": "6675:4:0", + "src": "6710:4:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4627,7 +4627,7 @@ "id": 312, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "6675:4:0", + "src": "6710:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -4637,10 +4637,10 @@ "visibility": "internal" } ], - "src": "6674:6:0" + "src": "6709:6:0" }, "scope": 1211, - "src": "6539:221:0", + "src": "6574:221:0", "stateMutability": "view", "superFunction": null, "visibility": "external" @@ -4649,7 +4649,7 @@ "body": { "id": 339, "nodeType": "Block", - "src": "7116:61:0", + "src": "7168:61:0", "statements": [ { "expression": { @@ -4665,7 +4665,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "7133:12:0", + "src": "7185:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -4679,7 +4679,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 325, - "src": "7146:10:0", + "src": "7198:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -4690,7 +4690,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "7133:24:0", + "src": "7185:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -4704,7 +4704,7 @@ "memberName": "voted", "nodeType": "MemberAccess", "referencedDeclaration": 66, - "src": "7133:30:0", + "src": "7185:30:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -4718,7 +4718,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 327, - "src": "7164:5:0", + "src": "7216:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4729,7 +4729,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "7133:37:0", + "src": "7185:37:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -4738,11 +4738,11 @@ "functionReturnParameters": 331, "id": 338, "nodeType": "Return", - "src": "7126:44:0" + "src": "7178:44:0" } ] }, - "documentation": "@dev Check whether given party has voted or not\n@param scriptHash script hash of the transaction\n@param party Address of the party whose vote has to be checked\n@return bool vote", + "documentation": "@dev This method will check whether given party has voted or not\n@param scriptHash script hash of the transaction\n@param party Address of the party whose vote has to be checked\n@return bool vote", "id": 340, "implemented": true, "isConstructor": false, @@ -4760,7 +4760,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 340, - "src": "7011:18:0", + "src": "7063:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4771,7 +4771,7 @@ "id": 324, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "7011:7:0", + "src": "7063:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -4786,7 +4786,7 @@ "name": "party", "nodeType": "VariableDeclaration", "scope": 340, - "src": "7039:13:0", + "src": "7091:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4797,7 +4797,7 @@ "id": 326, "name": "address", "nodeType": "ElementaryTypeName", - "src": "7039:7:0", + "src": "7091:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4807,7 +4807,7 @@ "visibility": "internal" } ], - "src": "7001:57:0" + "src": "7053:57:0" }, "payable": false, "returnParameters": { @@ -4820,7 +4820,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 340, - "src": "7106:4:0", + "src": "7158:4:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4831,7 +4831,7 @@ "id": 329, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "7106:4:0", + "src": "7158:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -4841,10 +4841,10 @@ "visibility": "internal" } ], - "src": "7105:6:0" + "src": "7157:6:0" }, "scope": 1211, - "src": "6983:194:0", + "src": "7035:194:0", "stateMutability": "view", "superFunction": null, "visibility": "external" @@ -4853,7 +4853,7 @@ "body": { "id": 399, "nodeType": "Block", - "src": "7781:330:0", + "src": "7832:330:0", "statements": [ { "assignments": [ @@ -4866,7 +4866,7 @@ "name": "_value", "nodeType": "VariableDeclaration", "scope": 400, - "src": "7791:14:0", + "src": "7842:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4877,7 +4877,7 @@ "id": 359, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "7791:7:0", + "src": "7842:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4897,7 +4897,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1384, - "src": "7808:3:0", + "src": "7859:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -4911,14 +4911,14 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "7808:9:0", + "src": "7859:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "7791:26:0" + "src": "7842:26:0" }, { "expression": { @@ -4942,7 +4942,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 360, - "src": "7836:6:0", + "src": "7887:6:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4960,7 +4960,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "7845:1:0", + "src": "7896:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -4968,7 +4968,7 @@ }, "value": "0" }, - "src": "7836:10:0", + "src": "7887:10:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -4984,7 +4984,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "7848:34:0", + "src": "7899:34:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_21fbec2be6560b9ccffc4980d43c0d147770168e7aaf24999b418b9010085622", @@ -5012,7 +5012,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "7828:7:0", + "src": "7879:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -5026,7 +5026,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7828:55:0", + "src": "7879:55:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -5034,7 +5034,7 @@ }, "id": 370, "nodeType": "ExpressionStatement", - "src": "7828:55:0" + "src": "7879:55:0" }, { "expression": { @@ -5055,7 +5055,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "7894:12:0", + "src": "7945:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -5069,7 +5069,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 342, - "src": "7907:10:0", + "src": "7958:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -5080,7 +5080,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "7894:24:0", + "src": "7945:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -5094,7 +5094,7 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": 40, - "src": "7894:30:0", + "src": "7945:30:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5112,7 +5112,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 360, - "src": "7975:6:0", + "src": "8026:6:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5137,7 +5137,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "7927:12:0", + "src": "7978:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -5151,7 +5151,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 342, - "src": "7940:10:0", + "src": "7991:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -5162,7 +5162,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "7927:24:0", + "src": "7978:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -5176,7 +5176,7 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": 40, - "src": "7927:30:0", + "src": "7978:30:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5190,7 +5190,7 @@ "memberName": "add", "nodeType": "MemberAccess", "referencedDeclaration": 1348, - "src": "7927:47:0", + "src": "7978:47:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" @@ -5204,13 +5204,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7927:55:0", + "src": "7978:55:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "7894:88:0", + "src": "7945:88:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5218,7 +5218,7 @@ }, "id": 383, "nodeType": "ExpressionStatement", - "src": "7894:88:0" + "src": "7945:88:0" }, { "expression": { @@ -5239,7 +5239,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "7992:12:0", + "src": "8043:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -5253,7 +5253,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 342, - "src": "8005:10:0", + "src": "8056:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -5264,7 +5264,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "7992:24:0", + "src": "8043:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -5278,7 +5278,7 @@ "memberName": "lastModified", "nodeType": "MemberAccess", "referencedDeclaration": 42, - "src": "7992:37:0", + "src": "8043:37:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5295,7 +5295,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1374, - "src": "8032:5:0", + "src": "8083:5:0", "typeDescriptions": { "typeIdentifier": "t_magic_block", "typeString": "block" @@ -5309,13 +5309,13 @@ "memberName": "timestamp", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "8032:15:0", + "src": "8083:15:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "7992:55:0", + "src": "8043:55:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5323,7 +5323,7 @@ }, "id": 391, "nodeType": "ExpressionStatement", - "src": "7992:55:0" + "src": "8043:55:0" }, { "eventCall": { @@ -5336,7 +5336,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 342, - "src": "8073:10:0", + "src": "8124:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -5351,7 +5351,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1384, - "src": "8085:3:0", + "src": "8136:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -5365,7 +5365,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "8085:10:0", + "src": "8136:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -5378,7 +5378,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 360, - "src": "8097:6:0", + "src": "8148:6:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5405,7 +5405,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 30, - "src": "8063:9:0", + "src": "8114:9:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (bytes32,address,uint256)" @@ -5419,7 +5419,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8063:41:0", + "src": "8114:41:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -5427,7 +5427,7 @@ }, "id": 398, "nodeType": "EmitStatement", - "src": "8058:46:0" + "src": "8109:46:0" } ] }, @@ -5446,7 +5446,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 342, - "src": "7628:10:0", + "src": "7679:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -5457,18 +5457,18 @@ "modifierName": { "argumentTypes": null, "id": 344, - "name": "transactionExists", + "name": "transactionExist", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 99, - "src": "7610:17:0", + "src": "7662:16:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "7610:29:0" + "src": "7662:28:0" }, { "arguments": [ @@ -5479,7 +5479,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 342, - "src": "7662:10:0", + "src": "7713:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -5494,14 +5494,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 132, - "src": "7648:13:0", + "src": "7699:13:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "7648:25:0" + "src": "7699:25:0" }, { "arguments": [ @@ -5512,7 +5512,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 342, - "src": "7703:10:0", + "src": "7754:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -5527,7 +5527,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12, - "src": "7715:15:0", + "src": "7766:15:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_TransactionType_$12_$", "typeString": "type(enum Escrow_v1_0.TransactionType)" @@ -5541,7 +5541,7 @@ "memberName": "ETHER", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "7715:21:0", + "src": "7766:21:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -5556,14 +5556,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 165, - "src": "7682:20:0", + "src": "7733:20:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$_t_enum$_TransactionType_$12_$", "typeString": "modifier (bytes32,enum Escrow_v1_0.TransactionType)" } }, "nodeType": "ModifierInvocation", - "src": "7682:55:0" + "src": "7733:55:0" }, { "arguments": [ @@ -5574,7 +5574,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 342, - "src": "7756:10:0", + "src": "7807:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -5589,14 +5589,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 182, - "src": "7746:9:0", + "src": "7797:9:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "7746:21:0" + "src": "7797:21:0" } ], "name": "addFundsToTransaction", @@ -5611,7 +5611,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 400, - "src": "7544:18:0", + "src": "7596:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5622,7 +5622,7 @@ "id": 341, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "7544:7:0", + "src": "7596:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -5632,17 +5632,17 @@ "visibility": "internal" } ], - "src": "7534:34:0" + "src": "7586:34:0" }, "payable": true, "returnParameters": { "id": 358, "nodeType": "ParameterList", "parameters": [], - "src": "7781:0:0" + "src": "7832:0:0" }, "scope": 1211, - "src": "7504:607:0", + "src": "7556:606:0", "stateMutability": "payable", "superFunction": null, "visibility": "external" @@ -5651,7 +5651,7 @@ "body": { "id": 482, "nodeType": "Block", - "src": "8656:648:0", + "src": "8765:648:0", "statements": [ { "assignments": [ @@ -5664,7 +5664,7 @@ "name": "_value", "nodeType": "VariableDeclaration", "scope": 483, - "src": "8666:14:0", + "src": "8775:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5675,7 +5675,7 @@ "id": 421, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "8666:7:0", + "src": "8775:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5693,14 +5693,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 404, - "src": "8683:5:0", + "src": "8792:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "8666:22:0" + "src": "8775:22:0" }, { "expression": { @@ -5724,7 +5724,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 422, - "src": "8707:6:0", + "src": "8816:6:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5742,7 +5742,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "8716:1:0", + "src": "8825:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -5750,7 +5750,7 @@ }, "value": "0" }, - "src": "8707:10:0", + "src": "8816:10:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -5766,7 +5766,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "8719:34:0", + "src": "8828:34:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_21fbec2be6560b9ccffc4980d43c0d147770168e7aaf24999b418b9010085622", @@ -5794,7 +5794,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "8699:7:0", + "src": "8808:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -5808,7 +5808,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8699:55:0", + "src": "8808:55:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -5816,7 +5816,7 @@ }, "id": 431, "nodeType": "ExpressionStatement", - "src": "8699:55:0" + "src": "8808:55:0" }, { "assignments": [ @@ -5829,7 +5829,7 @@ "name": "token", "nodeType": "VariableDeclaration", "scope": 483, - "src": "8765:20:0", + "src": "8874:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5842,7 +5842,7 @@ "name": "ITokenContract", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 1241, - "src": "8765:14:0", + "src": "8874:14:0", "typeDescriptions": { "typeIdentifier": "t_contract$_ITokenContract_$1241", "typeString": "contract ITokenContract" @@ -5867,7 +5867,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "8816:12:0", + "src": "8925:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -5881,7 +5881,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 402, - "src": "8829:10:0", + "src": "8938:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -5892,7 +5892,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "8816:24:0", + "src": "8925:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -5906,7 +5906,7 @@ "memberName": "tokenAddress", "nodeType": "MemberAccess", "referencedDeclaration": 56, - "src": "8816:37:0", + "src": "8925:37:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -5925,7 +5925,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1241, - "src": "8788:14:0", + "src": "8897:14:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_ITokenContract_$1241_$", "typeString": "type(contract ITokenContract)" @@ -5939,14 +5939,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8788:75:0", + "src": "8897:75:0", "typeDescriptions": { "typeIdentifier": "t_contract$_ITokenContract_$1241", "typeString": "contract ITokenContract" } }, "nodeType": "VariableDeclarationStatement", - "src": "8765:98:0" + "src": "8874:98:0" }, { "expression": { @@ -5966,7 +5966,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "8914:12:0", + "src": "9023:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -5980,7 +5980,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 402, - "src": "8927:10:0", + "src": "9036:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -5991,7 +5991,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "8914:24:0", + "src": "9023:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -6005,7 +6005,7 @@ "memberName": "buyer", "nodeType": "MemberAccess", "referencedDeclaration": 52, - "src": "8914:30:0", + "src": "9023:30:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -6018,7 +6018,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1401, - "src": "8946:4:0", + "src": "9055:4:0", "typeDescriptions": { "typeIdentifier": "t_contract$_Escrow_v1_0_$1211", "typeString": "contract Escrow_v1_0" @@ -6031,7 +6031,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 404, - "src": "8952:5:0", + "src": "9061:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6060,7 +6060,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 433, - "src": "8895:5:0", + "src": "9004:5:0", "typeDescriptions": { "typeIdentifier": "t_contract$_ITokenContract_$1241", "typeString": "contract ITokenContract" @@ -6074,7 +6074,7 @@ "memberName": "transferFrom", "nodeType": "MemberAccess", "referencedDeclaration": 1240, - "src": "8895:18:0", + "src": "9004:18:0", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", "typeString": "function (address,address,uint256) external returns (bool)" @@ -6088,7 +6088,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8895:63:0", + "src": "9004:63:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -6104,7 +6104,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "8972:94:0", + "src": "9081:94:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_d9d07068d589bc4adc53018a3c57c159ec128fdfb62732a5fa9410e76cf03318", @@ -6132,7 +6132,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "8874:7:0", + "src": "8983:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -6146,7 +6146,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8874:202:0", + "src": "8983:202:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -6154,7 +6154,7 @@ }, "id": 453, "nodeType": "ExpressionStatement", - "src": "8874:202:0" + "src": "8983:202:0" }, { "expression": { @@ -6175,7 +6175,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "9087:12:0", + "src": "9196:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -6189,7 +6189,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 402, - "src": "9100:10:0", + "src": "9209:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -6200,7 +6200,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "9087:24:0", + "src": "9196:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -6214,7 +6214,7 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": 40, - "src": "9087:30:0", + "src": "9196:30:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6232,7 +6232,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 422, - "src": "9168:6:0", + "src": "9277:6:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6257,7 +6257,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "9120:12:0", + "src": "9229:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -6271,7 +6271,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 402, - "src": "9133:10:0", + "src": "9242:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -6282,7 +6282,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "9120:24:0", + "src": "9229:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -6296,7 +6296,7 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": 40, - "src": "9120:30:0", + "src": "9229:30:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6310,7 +6310,7 @@ "memberName": "add", "nodeType": "MemberAccess", "referencedDeclaration": 1348, - "src": "9120:47:0", + "src": "9229:47:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" @@ -6324,13 +6324,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "9120:55:0", + "src": "9229:55:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "9087:88:0", + "src": "9196:88:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6338,7 +6338,7 @@ }, "id": 466, "nodeType": "ExpressionStatement", - "src": "9087:88:0" + "src": "9196:88:0" }, { "expression": { @@ -6359,7 +6359,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "9185:12:0", + "src": "9294:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -6373,7 +6373,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 402, - "src": "9198:10:0", + "src": "9307:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -6384,7 +6384,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "9185:24:0", + "src": "9294:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -6398,7 +6398,7 @@ "memberName": "lastModified", "nodeType": "MemberAccess", "referencedDeclaration": 42, - "src": "9185:37:0", + "src": "9294:37:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6415,7 +6415,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1374, - "src": "9225:5:0", + "src": "9334:5:0", "typeDescriptions": { "typeIdentifier": "t_magic_block", "typeString": "block" @@ -6429,13 +6429,13 @@ "memberName": "timestamp", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "9225:15:0", + "src": "9334:15:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "9185:55:0", + "src": "9294:55:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6443,7 +6443,7 @@ }, "id": 474, "nodeType": "ExpressionStatement", - "src": "9185:55:0" + "src": "9294:55:0" }, { "eventCall": { @@ -6456,7 +6456,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 402, - "src": "9266:10:0", + "src": "9375:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -6471,7 +6471,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1384, - "src": "9278:3:0", + "src": "9387:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -6485,7 +6485,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "9278:10:0", + "src": "9387:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -6498,7 +6498,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 422, - "src": "9290:6:0", + "src": "9399:6:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6525,7 +6525,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 30, - "src": "9256:9:0", + "src": "9365:9:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (bytes32,address,uint256)" @@ -6539,7 +6539,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "9256:41:0", + "src": "9365:41:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -6547,11 +6547,11 @@ }, "id": 481, "nodeType": "EmitStatement", - "src": "9251:46:0" + "src": "9360:46:0" } ] }, - "documentation": "@dev Allows buyer of the transaction to add more funds(Tokens) in the transaction. \nThis will help to cater scenarios wherein initially buyer missed to fund transaction as required\n@param scriptHash script hash of the transaction", + "documentation": "@dev Allows buyer of the transaction to add more funds(Tokens) in the transaction. \nThis will help to cater scenarios wherein initially buyer missed to fund transaction as required\n@param scriptHash script hash of the transaction\nOnly buyer of the transaction can invoke this method", "id": 483, "implemented": true, "isConstructor": false, @@ -6566,7 +6566,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 402, - "src": "8512:10:0", + "src": "8621:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -6577,18 +6577,18 @@ "modifierName": { "argumentTypes": null, "id": 406, - "name": "transactionExists", + "name": "transactionExist", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 99, - "src": "8494:17:0", + "src": "8604:16:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "8494:29:0" + "src": "8604:28:0" }, { "arguments": [ @@ -6599,7 +6599,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 402, - "src": "8546:10:0", + "src": "8655:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -6614,14 +6614,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 132, - "src": "8532:13:0", + "src": "8641:13:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "8532:25:0" + "src": "8641:25:0" }, { "arguments": [ @@ -6632,7 +6632,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 402, - "src": "8587:10:0", + "src": "8696:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -6647,7 +6647,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12, - "src": "8599:15:0", + "src": "8708:15:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_TransactionType_$12_$", "typeString": "type(enum Escrow_v1_0.TransactionType)" @@ -6661,7 +6661,7 @@ "memberName": "TOKEN", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "8599:21:0", + "src": "8708:21:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -6676,14 +6676,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 165, - "src": "8566:20:0", + "src": "8675:20:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$_t_enum$_TransactionType_$12_$", "typeString": "modifier (bytes32,enum Escrow_v1_0.TransactionType)" } }, "nodeType": "ModifierInvocation", - "src": "8566:55:0" + "src": "8675:55:0" }, { "arguments": [ @@ -6694,7 +6694,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 402, - "src": "8640:10:0", + "src": "8749:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -6709,14 +6709,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 182, - "src": "8630:9:0", + "src": "8739:9:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "8630:21:0" + "src": "8739:21:0" } ], "name": "addTokensToTransaction", @@ -6731,7 +6731,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 483, - "src": "8421:18:0", + "src": "8531:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6742,7 +6742,7 @@ "id": 401, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "8421:7:0", + "src": "8531:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -6757,7 +6757,7 @@ "name": "value", "nodeType": "VariableDeclaration", "scope": 483, - "src": "8449:13:0", + "src": "8559:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6768,7 +6768,7 @@ "id": 403, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "8449:7:0", + "src": "8559:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6778,17 +6778,17 @@ "visibility": "internal" } ], - "src": "8411:57:0" + "src": "8521:57:0" }, "payable": false, "returnParameters": { "id": 420, "nodeType": "ParameterList", "parameters": [], - "src": "8656:0:0" + "src": "8765:0:0" }, "scope": 1211, - "src": "8380:924:0", + "src": "8490:923:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" @@ -6797,7 +6797,7 @@ "body": { "id": 495, "nodeType": "Block", - "src": "9559:56:0", + "src": "9668:56:0", "statements": [ { "expression": { @@ -6809,7 +6809,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 83, - "src": "9576:18:0", + "src": "9685:18:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_bytes32_$dyn_storage_$", "typeString": "mapping(address => bytes32[] storage ref)" @@ -6823,7 +6823,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 485, - "src": "9595:12:0", + "src": "9704:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -6834,7 +6834,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "9576:32:0", + "src": "9685:32:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage", "typeString": "bytes32[] storage ref" @@ -6843,7 +6843,7 @@ "functionReturnParameters": 490, "id": 494, "nodeType": "Return", - "src": "9569:39:0" + "src": "9678:39:0" } ] }, @@ -6865,7 +6865,7 @@ "name": "partyAddress", "nodeType": "VariableDeclaration", "scope": 496, - "src": "9466:20:0", + "src": "9575:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6876,7 +6876,7 @@ "id": 484, "name": "address", "nodeType": "ElementaryTypeName", - "src": "9466:7:0", + "src": "9575:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -6886,7 +6886,7 @@ "visibility": "internal" } ], - "src": "9456:36:0" + "src": "9565:36:0" }, "payable": false, "returnParameters": { @@ -6899,7 +6899,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 496, - "src": "9543:9:0", + "src": "9652:9:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6911,7 +6911,7 @@ "id": 487, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "9543:7:0", + "src": "9652:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -6920,7 +6920,7 @@ "id": 488, "length": null, "nodeType": "ArrayTypeName", - "src": "9543:9:0", + "src": "9652:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -6930,10 +6930,10 @@ "visibility": "internal" } ], - "src": "9542:11:0" + "src": "9651:11:0" }, "scope": 1211, - "src": "9421:194:0", + "src": "9530:194:0", "stateMutability": "view", "superFunction": null, "visibility": "external" @@ -6942,7 +6942,7 @@ "body": { "id": 581, "nodeType": "Block", - "src": "10479:790:0", + "src": "10594:790:0", "statements": [ { "expression": { @@ -6979,7 +6979,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 510, - "src": "10510:12:0", + "src": "10625:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" @@ -6993,7 +6993,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "10510:19:0", + "src": "10625:19:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7011,7 +7011,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "10530:1:0", + "src": "10645:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -7019,7 +7019,7 @@ }, "value": "0" }, - "src": "10510:21:0", + "src": "10625:21:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -7047,7 +7047,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 510, - "src": "10535:12:0", + "src": "10650:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" @@ -7061,7 +7061,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "10535:19:0", + "src": "10650:19:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7078,7 +7078,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 513, - "src": "10558:7:0", + "src": "10673:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", "typeString": "uint256[] calldata" @@ -7092,19 +7092,19 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "10558:14:0", + "src": "10673:14:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "10535:37:0", + "src": "10650:37:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "10510:62:0", + "src": "10625:62:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -7120,7 +7120,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "10574:38:0", + "src": "10689:38:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_53e979b0c355ea1eeda44a80ca73370fdb2abe922711b459aa4ee43d1558782b", @@ -7148,7 +7148,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "10489:7:0", + "src": "10604:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -7162,7 +7162,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "10489:133:0", + "src": "10604:133:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -7170,7 +7170,7 @@ }, "id": 535, "nodeType": "ExpressionStatement", - "src": "10489:133:0" + "src": "10604:133:0" }, { "expression": { @@ -7183,7 +7183,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 499, - "src": "10664:4:0", + "src": "10779:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_calldata_ptr", "typeString": "uint8[] calldata" @@ -7196,7 +7196,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 502, - "src": "10682:4:0", + "src": "10797:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", "typeString": "bytes32[] calldata" @@ -7209,7 +7209,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 505, - "src": "10700:4:0", + "src": "10815:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", "typeString": "bytes32[] calldata" @@ -7222,7 +7222,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 507, - "src": "10718:10:0", + "src": "10833:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -7235,7 +7235,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 510, - "src": "10742:12:0", + "src": "10857:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" @@ -7248,7 +7248,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 513, - "src": "10768:7:0", + "src": "10883:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", "typeString": "uint256[] calldata" @@ -7287,7 +7287,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 706, - "src": "10633:17:0", + "src": "10748:17:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_array$_t_uint8_$dyn_memory_ptr_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_bytes32_$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$__$", "typeString": "function (uint8[] memory,bytes32[] memory,bytes32[] memory,bytes32,address[] memory,uint256[] memory)" @@ -7301,7 +7301,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "10633:152:0", + "src": "10748:152:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -7309,7 +7309,7 @@ }, "id": 544, "nodeType": "ExpressionStatement", - "src": "10633:152:0" + "src": "10748:152:0" }, { "expression": { @@ -7330,7 +7330,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "10796:12:0", + "src": "10911:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -7344,7 +7344,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 507, - "src": "10809:10:0", + "src": "10924:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -7355,7 +7355,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "10796:24:0", + "src": "10911:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -7369,7 +7369,7 @@ "memberName": "status", "nodeType": "MemberAccess", "referencedDeclaration": 44, - "src": "10796:31:0", + "src": "10911:31:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$9", "typeString": "enum Escrow_v1_0.Status" @@ -7386,7 +7386,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9, - "src": "10830:6:0", + "src": "10945:6:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_Status_$9_$", "typeString": "type(enum Escrow_v1_0.Status)" @@ -7400,13 +7400,13 @@ "memberName": "RELEASED", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "10830:15:0", + "src": "10945:15:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$9", "typeString": "enum Escrow_v1_0.Status" } }, - "src": "10796:49:0", + "src": "10911:49:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$9", "typeString": "enum Escrow_v1_0.Status" @@ -7414,7 +7414,7 @@ }, "id": 552, "nodeType": "ExpressionStatement", - "src": "10796:49:0" + "src": "10911:49:0" }, { "expression": { @@ -7435,7 +7435,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "10929:12:0", + "src": "11044:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -7449,7 +7449,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 507, - "src": "10942:10:0", + "src": "11057:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -7460,7 +7460,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "10929:24:0", + "src": "11044:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -7474,7 +7474,7 @@ "memberName": "lastModified", "nodeType": "MemberAccess", "referencedDeclaration": 42, - "src": "10929:37:0", + "src": "11044:37:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7491,7 +7491,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1374, - "src": "10969:5:0", + "src": "11084:5:0", "typeDescriptions": { "typeIdentifier": "t_magic_block", "typeString": "block" @@ -7505,13 +7505,13 @@ "memberName": "timestamp", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "10969:15:0", + "src": "11084:15:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "10929:55:0", + "src": "11044:55:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7519,7 +7519,7 @@ }, "id": 560, "nodeType": "ExpressionStatement", - "src": "10929:55:0" + "src": "11044:55:0" }, { "expression": { @@ -7546,7 +7546,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 507, - "src": "11029:10:0", + "src": "11144:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -7559,7 +7559,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 510, - "src": "11041:12:0", + "src": "11156:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" @@ -7572,7 +7572,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 513, - "src": "11055:7:0", + "src": "11170:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", "typeString": "uint256[] calldata" @@ -7599,7 +7599,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 893, - "src": "11015:13:0", + "src": "11130:13:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$_t_uint256_$", "typeString": "function (bytes32,address[] memory,uint256[] memory) returns (uint256)" @@ -7613,7 +7613,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "11015:48:0", + "src": "11130:48:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7632,7 +7632,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "11067:12:0", + "src": "11182:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -7646,7 +7646,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 507, - "src": "11080:10:0", + "src": "11195:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -7657,7 +7657,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "11067:24:0", + "src": "11182:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -7671,13 +7671,13 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": 40, - "src": "11067:30:0", + "src": "11182:30:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "11015:82:0", + "src": "11130:82:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -7693,7 +7693,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "11111:74:0", + "src": "11226:74:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_9e0bdb14e2e0d5e118fd1f547268c6a1fdb5e8facacd614066d4b60bc2c9941d", @@ -7721,7 +7721,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "10994:7:0", + "src": "11109:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -7735,7 +7735,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "10994:201:0", + "src": "11109:201:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -7743,7 +7743,7 @@ }, "id": 574, "nodeType": "ExpressionStatement", - "src": "10994:201:0" + "src": "11109:201:0" }, { "eventCall": { @@ -7756,7 +7756,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 507, - "src": "11228:10:0", + "src": "11343:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -7769,7 +7769,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 510, - "src": "11240:12:0", + "src": "11355:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" @@ -7782,7 +7782,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 513, - "src": "11254:7:0", + "src": "11369:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", "typeString": "uint256[] calldata" @@ -7809,7 +7809,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 22, - "src": "11219:8:0", + "src": "11334:8:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$__$", "typeString": "function (bytes32,address[] memory,uint256[] memory)" @@ -7823,7 +7823,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "11219:43:0", + "src": "11334:43:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -7831,11 +7831,11 @@ }, "id": 580, "nodeType": "EmitStatement", - "src": "11214:48:0" + "src": "11329:48:0" } ] }, - "documentation": "dev This method will be used to release funds associated with the transaction\nPlease see specs https://github.com/OpenBazaar/smart-contracts/blob/master/contracts/escrow/EscrowSpec.md\nparam sigV Array containing V component of all the signatures\nparam sigR Array containing R component of all the signatures\nparam signS Array containing S component of all the signatures\nparam scriptHash script hash of the transaction\nparam destinations List of addresses to receive funds\nparam amounts value released to each destination", + "documentation": "dev This method will be used to release funds associated with the transaction\nPlease see specs https://github.com/OpenBazaar/smart-contracts/blob/master/contracts/escrow/EscrowSpec.md\nparam sigV Array containing V component of all the signatures\nparam sigR Array containing R component of all the signatures\nparam signS Array containing S component of all the signatures\nparam scriptHash script hash of the transaction\nparam destinations List of addresses who will receive funds\nparam amounts amount released to each destination", "id": 582, "implemented": true, "isConstructor": false, @@ -7850,7 +7850,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 507, - "src": "10429:10:0", + "src": "10544:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -7861,18 +7861,18 @@ "modifierName": { "argumentTypes": null, "id": 515, - "name": "transactionExists", + "name": "transactionExist", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 99, - "src": "10411:17:0", + "src": "10527:16:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "10411:29:0" + "src": "10527:28:0" }, { "arguments": [ @@ -7883,7 +7883,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 507, - "src": "10463:10:0", + "src": "10578:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -7898,14 +7898,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 132, - "src": "10449:13:0", + "src": "10564:13:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "10449:25:0" + "src": "10564:25:0" } ], "name": "execute", @@ -7920,7 +7920,7 @@ "name": "sigV", "nodeType": "VariableDeclaration", "scope": 582, - "src": "10232:12:0", + "src": "10348:12:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -7932,7 +7932,7 @@ "id": 497, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "10232:5:0", + "src": "10348:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -7941,7 +7941,7 @@ "id": 498, "length": null, "nodeType": "ArrayTypeName", - "src": "10232:7:0", + "src": "10348:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_storage_ptr", "typeString": "uint8[]" @@ -7956,7 +7956,7 @@ "name": "sigR", "nodeType": "VariableDeclaration", "scope": 582, - "src": "10254:14:0", + "src": "10370:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -7968,7 +7968,7 @@ "id": 500, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "10254:7:0", + "src": "10370:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -7977,7 +7977,7 @@ "id": 501, "length": null, "nodeType": "ArrayTypeName", - "src": "10254:9:0", + "src": "10370:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -7992,7 +7992,7 @@ "name": "sigS", "nodeType": "VariableDeclaration", "scope": 582, - "src": "10278:14:0", + "src": "10394:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8004,7 +8004,7 @@ "id": 503, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "10278:7:0", + "src": "10394:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -8013,7 +8013,7 @@ "id": 504, "length": null, "nodeType": "ArrayTypeName", - "src": "10278:9:0", + "src": "10394:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -8028,7 +8028,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 582, - "src": "10302:18:0", + "src": "10418:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8039,7 +8039,7 @@ "id": 506, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "10302:7:0", + "src": "10418:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -8054,7 +8054,7 @@ "name": "destinations", "nodeType": "VariableDeclaration", "scope": 582, - "src": "10330:22:0", + "src": "10446:22:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8066,7 +8066,7 @@ "id": 508, "name": "address", "nodeType": "ElementaryTypeName", - "src": "10330:7:0", + "src": "10446:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8075,7 +8075,7 @@ "id": 509, "length": null, "nodeType": "ArrayTypeName", - "src": "10330:9:0", + "src": "10446:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", "typeString": "address[]" @@ -8090,7 +8090,7 @@ "name": "amounts", "nodeType": "VariableDeclaration", "scope": 582, - "src": "10362:17:0", + "src": "10478:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8102,7 +8102,7 @@ "id": 511, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "10362:7:0", + "src": "10478:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8111,7 +8111,7 @@ "id": 512, "length": null, "nodeType": "ArrayTypeName", - "src": "10362:9:0", + "src": "10478:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -8121,17 +8121,17 @@ "visibility": "internal" } ], - "src": "10222:163:0" + "src": "10338:163:0" }, "payable": false, "returnParameters": { "id": 521, "nodeType": "ParameterList", "parameters": [], - "src": "10479:0:0" + "src": "10594:0:0" }, "scope": 1211, - "src": "10206:1063:0", + "src": "10322:1062:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" @@ -8140,7 +8140,7 @@ "body": { "id": 636, "nodeType": "Block", - "src": "12023:716:0", + "src": "12138:716:0", "statements": [ { "condition": { @@ -8161,7 +8161,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 596, - "src": "12037:12:0", + "src": "12152:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8182,7 +8182,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "12061:1:0", + "src": "12176:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -8204,7 +8204,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "12053:7:0", + "src": "12168:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" @@ -8219,13 +8219,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "12053:10:0", + "src": "12168:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "12037:26:0", + "src": "12152:26:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -8234,7 +8234,7 @@ "falseBody": { "id": 634, "nodeType": "Block", - "src": "12385:348:0", + "src": "12500:348:0", "statements": [ { "expression": { @@ -8250,7 +8250,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 584, - "src": "12471:8:0", + "src": "12586:8:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -8263,7 +8263,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 586, - "src": "12501:9:0", + "src": "12616:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -8276,7 +8276,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 588, - "src": "12532:12:0", + "src": "12647:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -8289,7 +8289,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 590, - "src": "12566:5:0", + "src": "12681:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8302,7 +8302,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 592, - "src": "12593:6:0", + "src": "12708:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8315,7 +8315,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 594, - "src": "12621:9:0", + "src": "12736:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8328,7 +8328,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1401, - "src": "12652:4:0", + "src": "12767:4:0", "typeDescriptions": { "typeIdentifier": "t_contract$_Escrow_v1_0_$1211", "typeString": "contract Escrow_v1_0" @@ -8341,7 +8341,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 596, - "src": "12678:12:0", + "src": "12793:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8390,7 +8390,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1371, - "src": "12433:3:0", + "src": "12548:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" @@ -8404,7 +8404,7 @@ "memberName": "encodePacked", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "12433:16:0", + "src": "12548:16:0", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" @@ -8418,7 +8418,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "12433:275:0", + "src": "12548:275:0", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -8437,7 +8437,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1378, - "src": "12406:9:0", + "src": "12521:9:0", "typeDescriptions": { "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", "typeString": "function () pure returns (bytes32)" @@ -8451,7 +8451,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "12406:316:0", + "src": "12521:316:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -8460,17 +8460,17 @@ "functionReturnParameters": 600, "id": 633, "nodeType": "Return", - "src": "12399:323:0" + "src": "12514:323:0" } ] }, "id": 635, "nodeType": "IfStatement", - "src": "12033:700:0", + "src": "12148:700:0", "trueBody": { "id": 619, "nodeType": "Block", - "src": "12065:314:0", + "src": "12180:314:0", "statements": [ { "expression": { @@ -8486,7 +8486,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 584, - "src": "12151:8:0", + "src": "12266:8:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -8499,7 +8499,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 586, - "src": "12181:9:0", + "src": "12296:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -8512,7 +8512,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 588, - "src": "12212:12:0", + "src": "12327:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -8525,7 +8525,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 590, - "src": "12246:5:0", + "src": "12361:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8538,7 +8538,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 592, - "src": "12273:6:0", + "src": "12388:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8551,7 +8551,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 594, - "src": "12301:9:0", + "src": "12416:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8564,7 +8564,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1401, - "src": "12332:4:0", + "src": "12447:4:0", "typeDescriptions": { "typeIdentifier": "t_contract$_Escrow_v1_0_$1211", "typeString": "contract Escrow_v1_0" @@ -8609,7 +8609,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1371, - "src": "12113:3:0", + "src": "12228:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" @@ -8623,7 +8623,7 @@ "memberName": "encodePacked", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "12113:16:0", + "src": "12228:16:0", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" @@ -8637,7 +8637,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "12113:241:0", + "src": "12228:241:0", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -8656,7 +8656,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1378, - "src": "12086:9:0", + "src": "12201:9:0", "typeDescriptions": { "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", "typeString": "function () pure returns (bytes32)" @@ -8670,7 +8670,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "12086:282:0", + "src": "12201:282:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -8679,7 +8679,7 @@ "functionReturnParameters": 600, "id": 618, "nodeType": "Return", - "src": "12079:289:0" + "src": "12194:289:0" } ] } @@ -8704,7 +8704,7 @@ "name": "uniqueId", "nodeType": "VariableDeclaration", "scope": 637, - "src": "11784:16:0", + "src": "11899:16:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8715,7 +8715,7 @@ "id": 583, "name": "bytes20", "nodeType": "ElementaryTypeName", - "src": "11784:7:0", + "src": "11899:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -8730,7 +8730,7 @@ "name": "threshold", "nodeType": "VariableDeclaration", "scope": 637, - "src": "11810:15:0", + "src": "11925:15:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8741,7 +8741,7 @@ "id": 585, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "11810:5:0", + "src": "11925:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -8756,7 +8756,7 @@ "name": "timeoutHours", "nodeType": "VariableDeclaration", "scope": 637, - "src": "11835:19:0", + "src": "11950:19:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8767,7 +8767,7 @@ "id": 587, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "11835:6:0", + "src": "11950:6:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -8782,7 +8782,7 @@ "name": "buyer", "nodeType": "VariableDeclaration", "scope": 637, - "src": "11864:13:0", + "src": "11979:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8793,7 +8793,7 @@ "id": 589, "name": "address", "nodeType": "ElementaryTypeName", - "src": "11864:7:0", + "src": "11979:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8808,7 +8808,7 @@ "name": "seller", "nodeType": "VariableDeclaration", "scope": 637, - "src": "11887:14:0", + "src": "12002:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8819,7 +8819,7 @@ "id": 591, "name": "address", "nodeType": "ElementaryTypeName", - "src": "11887:7:0", + "src": "12002:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8834,7 +8834,7 @@ "name": "moderator", "nodeType": "VariableDeclaration", "scope": 637, - "src": "11911:17:0", + "src": "12026:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8845,7 +8845,7 @@ "id": 593, "name": "address", "nodeType": "ElementaryTypeName", - "src": "11911:7:0", + "src": "12026:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8860,7 +8860,7 @@ "name": "tokenAddress", "nodeType": "VariableDeclaration", "scope": 637, - "src": "11938:20:0", + "src": "12053:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8871,7 +8871,7 @@ "id": 595, "name": "address", "nodeType": "ElementaryTypeName", - "src": "11938:7:0", + "src": "12053:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8881,7 +8881,7 @@ "visibility": "internal" } ], - "src": "11774:190:0" + "src": "11889:190:0" }, "payable": false, "returnParameters": { @@ -8894,7 +8894,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 637, - "src": "12010:7:0", + "src": "12125:7:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8905,7 +8905,7 @@ "id": 598, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "12010:7:0", + "src": "12125:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -8915,10 +8915,10 @@ "visibility": "internal" } ], - "src": "12009:9:0" + "src": "12124:9:0" }, "scope": 1211, - "src": "11740:999:0", + "src": "11855:999:0", "stateMutability": "view", "superFunction": null, "visibility": "public" @@ -8927,7 +8927,7 @@ "body": { "id": 705, "nodeType": "Block", - "src": "13223:795:0", + "src": "13338:795:0", "statements": [ { "assignments": [ @@ -8940,7 +8940,7 @@ "name": "lastRecovered", "nodeType": "VariableDeclaration", "scope": 706, - "src": "13233:21:0", + "src": "13348:21:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8951,7 +8951,7 @@ "id": 657, "name": "address", "nodeType": "ElementaryTypeName", - "src": "13233:7:0", + "src": "13348:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8972,7 +8972,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 640, - "src": "13287:4:0", + "src": "13402:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr", "typeString": "uint8[] memory" @@ -8985,7 +8985,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 643, - "src": "13305:4:0", + "src": "13420:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" @@ -8998,7 +8998,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 646, - "src": "13323:4:0", + "src": "13438:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" @@ -9011,7 +9011,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 648, - "src": "13341:10:0", + "src": "13456:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -9024,7 +9024,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 651, - "src": "13365:12:0", + "src": "13480:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -9037,7 +9037,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 654, - "src": "13391:7:0", + "src": "13506:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" @@ -9076,7 +9076,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1022, - "src": "13257:16:0", + "src": "13372:16:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_array$_t_uint8_$dyn_memory_ptr_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_bytes32_$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$_t_address_$", "typeString": "function (uint8[] memory,bytes32[] memory,bytes32[] memory,bytes32,address[] memory,uint256[] memory) returns (address)" @@ -9090,14 +9090,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "13257:151:0", + "src": "13372:151:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "VariableDeclarationStatement", - "src": "13233:175:0" + "src": "13348:175:0" }, { "assignments": [ @@ -9110,7 +9110,7 @@ "name": "timeLockExpired", "nodeType": "VariableDeclaration", "scope": 706, - "src": "13419:20:0", + "src": "13534:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9121,7 +9121,7 @@ "id": 668, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "13419:4:0", + "src": "13534:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -9146,7 +9146,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "13473:12:0", + "src": "13588:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -9160,7 +9160,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 648, - "src": "13486:10:0", + "src": "13601:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -9171,7 +9171,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "13473:24:0", + "src": "13588:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -9185,7 +9185,7 @@ "memberName": "timeoutHours", "nodeType": "MemberAccess", "referencedDeclaration": 50, - "src": "13473:37:0", + "src": "13588:37:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -9202,7 +9202,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "13524:12:0", + "src": "13639:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -9216,7 +9216,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 648, - "src": "13537:10:0", + "src": "13652:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -9227,7 +9227,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "13524:24:0", + "src": "13639:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -9241,7 +9241,7 @@ "memberName": "lastModified", "nodeType": "MemberAccess", "referencedDeclaration": 42, - "src": "13524:37:0", + "src": "13639:37:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9264,7 +9264,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1054, - "src": "13442:17:0", + "src": "13557:17:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_uint32_$_t_uint256_$returns$_t_bool_$", "typeString": "function (uint32,uint256) view returns (bool)" @@ -9278,14 +9278,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "13442:129:0", + "src": "13557:129:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "nodeType": "VariableDeclarationStatement", - "src": "13419:152:0" + "src": "13534:152:0" }, { "condition": { @@ -9319,7 +9319,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 640, - "src": "13743:4:0", + "src": "13858:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr", "typeString": "uint8[] memory" @@ -9333,7 +9333,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "13743:11:0", + "src": "13858:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9352,7 +9352,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "13757:12:0", + "src": "13872:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -9366,7 +9366,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 648, - "src": "13770:10:0", + "src": "13885:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -9377,7 +9377,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "13757:24:0", + "src": "13872:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -9391,13 +9391,13 @@ "memberName": "threshold", "nodeType": "MemberAccess", "referencedDeclaration": 48, - "src": "13757:34:0", + "src": "13872:34:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, - "src": "13743:48:0", + "src": "13858:48:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -9429,7 +9429,7 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "13796:16:0", + "src": "13911:16:0", "subExpression": { "argumentTypes": null, "id": 688, @@ -9437,7 +9437,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 669, - "src": "13797:15:0", + "src": "13912:15:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -9468,7 +9468,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 658, - "src": "13816:13:0", + "src": "13931:13:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -9487,7 +9487,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "13833:12:0", + "src": "13948:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -9501,7 +9501,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 648, - "src": "13846:10:0", + "src": "13961:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -9512,7 +9512,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "13833:24:0", + "src": "13948:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -9526,19 +9526,19 @@ "memberName": "seller", "nodeType": "MemberAccess", "referencedDeclaration": 54, - "src": "13833:31:0", + "src": "13948:31:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "13816:48:0", + "src": "13931:48:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "13796:68:0", + "src": "13911:68:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -9552,13 +9552,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "13795:70:0", + "src": "13910:70:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "13743:122:0", + "src": "13858:122:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -9567,11 +9567,11 @@ "falseBody": null, "id": 704, "nodeType": "IfStatement", - "src": "13722:289:0", + "src": "13837:289:0", "trueBody": { "id": 703, "nodeType": "Block", - "src": "13888:123:0", + "src": "14003:123:0", "statements": [ { "expression": { @@ -9587,7 +9587,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "13909:90:0", + "src": "14024:90:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_e454643f61f81e3a3dc8dabaafde295fea592e232abeb03abbb1835bdc3d20d0", @@ -9611,7 +9611,7 @@ 1390 ], "referencedDeclaration": 1390, - "src": "13902:6:0", + "src": "14017:6:0", "typeDescriptions": { "typeIdentifier": "t_function_revert_pure$_t_string_memory_ptr_$returns$__$", "typeString": "function (string memory) pure" @@ -9625,7 +9625,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "13902:98:0", + "src": "14017:98:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -9633,7 +9633,7 @@ }, "id": 702, "nodeType": "ExpressionStatement", - "src": "13902:98:0" + "src": "14017:98:0" } ] } @@ -9658,7 +9658,7 @@ "name": "sigV", "nodeType": "VariableDeclaration", "scope": 706, - "src": "13049:12:0", + "src": "13164:12:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9670,7 +9670,7 @@ "id": 638, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "13049:5:0", + "src": "13164:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -9679,7 +9679,7 @@ "id": 639, "length": null, "nodeType": "ArrayTypeName", - "src": "13049:7:0", + "src": "13164:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_storage_ptr", "typeString": "uint8[]" @@ -9694,7 +9694,7 @@ "name": "sigR", "nodeType": "VariableDeclaration", "scope": 706, - "src": "13071:14:0", + "src": "13186:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9706,7 +9706,7 @@ "id": 641, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "13071:7:0", + "src": "13186:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -9715,7 +9715,7 @@ "id": 642, "length": null, "nodeType": "ArrayTypeName", - "src": "13071:9:0", + "src": "13186:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -9730,7 +9730,7 @@ "name": "sigS", "nodeType": "VariableDeclaration", "scope": 706, - "src": "13095:14:0", + "src": "13210:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9742,7 +9742,7 @@ "id": 644, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "13095:7:0", + "src": "13210:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -9751,7 +9751,7 @@ "id": 645, "length": null, "nodeType": "ArrayTypeName", - "src": "13095:9:0", + "src": "13210:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -9766,7 +9766,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 706, - "src": "13119:18:0", + "src": "13234:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9777,7 +9777,7 @@ "id": 647, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "13119:7:0", + "src": "13234:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -9792,7 +9792,7 @@ "name": "destinations", "nodeType": "VariableDeclaration", "scope": 706, - "src": "13147:22:0", + "src": "13262:22:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9804,7 +9804,7 @@ "id": 649, "name": "address", "nodeType": "ElementaryTypeName", - "src": "13147:7:0", + "src": "13262:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -9813,7 +9813,7 @@ "id": 650, "length": null, "nodeType": "ArrayTypeName", - "src": "13147:9:0", + "src": "13262:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", "typeString": "address[]" @@ -9828,7 +9828,7 @@ "name": "amounts", "nodeType": "VariableDeclaration", "scope": 706, - "src": "13179:17:0", + "src": "13294:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9840,7 +9840,7 @@ "id": 652, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "13179:7:0", + "src": "13294:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9849,7 +9849,7 @@ "id": 653, "length": null, "nodeType": "ArrayTypeName", - "src": "13179:9:0", + "src": "13294:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -9859,17 +9859,17 @@ "visibility": "internal" } ], - "src": "13039:163:0" + "src": "13154:163:0" }, "payable": false, "returnParameters": { "id": 656, "nodeType": "ParameterList", "parameters": [], - "src": "13223:0:0" + "src": "13338:0:0" }, "scope": 1211, - "src": "13013:1005:0", + "src": "13128:1005:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "private" @@ -9878,7 +9878,7 @@ "body": { "id": 892, "nodeType": "Block", - "src": "14304:1447:0", + "src": "14419:1362:0", "statements": [ { "assignments": [ @@ -9891,7 +9891,7 @@ "name": "t", "nodeType": "VariableDeclaration", "scope": 893, - "src": "14314:21:0", + "src": "14429:21:0", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { @@ -9904,7 +9904,7 @@ "name": "Transaction", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 71, - "src": "14314:11:0", + "src": "14429:11:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction" @@ -9924,7 +9924,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "14338:12:0", + "src": "14453:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -9938,7 +9938,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 708, - "src": "14351:10:0", + "src": "14466:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -9949,14 +9949,14 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "14338:24:0", + "src": "14453:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "14314:48:0" + "src": "14429:48:0" }, { "assignments": [ @@ -9969,7 +9969,7 @@ "name": "valueTransferred", "nodeType": "VariableDeclaration", "scope": 893, - "src": "14373:24:0", + "src": "14488:24:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9980,7 +9980,7 @@ "id": 725, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "14373:7:0", + "src": "14488:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10001,7 +10001,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "14400:1:0", + "src": "14515:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -10010,7 +10010,7 @@ "value": "0" }, "nodeType": "VariableDeclarationStatement", - "src": "14373:28:0" + "src": "14488:28:0" }, { "condition": { @@ -10033,7 +10033,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 720, - "src": "14416:1:0", + "src": "14531:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" @@ -10047,7 +10047,7 @@ "memberName": "transactionType", "nodeType": "MemberAccess", "referencedDeclaration": 46, - "src": "14416:17:0", + "src": "14531:17:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -10064,7 +10064,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12, - "src": "14437:15:0", + "src": "14552:15:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_TransactionType_$12_$", "typeString": "type(enum Escrow_v1_0.TransactionType)" @@ -10078,13 +10078,13 @@ "memberName": "ETHER", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "14437:21:0", + "src": "14552:21:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" } }, - "src": "14416:42:0", + "src": "14531:42:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -10111,7 +10111,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 720, - "src": "15057:1:0", + "src": "15087:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" @@ -10125,7 +10125,7 @@ "memberName": "transactionType", "nodeType": "MemberAccess", "referencedDeclaration": 46, - "src": "15057:17:0", + "src": "15087:17:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -10142,7 +10142,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12, - "src": "15078:15:0", + "src": "15108:15:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_TransactionType_$12_$", "typeString": "type(enum Escrow_v1_0.TransactionType)" @@ -10156,13 +10156,13 @@ "memberName": "TOKEN", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "15078:21:0", + "src": "15108:21:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" } }, - "src": "15057:42:0", + "src": "15087:42:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -10171,11 +10171,11 @@ "falseBody": null, "id": 888, "nodeType": "IfStatement", - "src": "15053:658:0", + "src": "15083:658:0", "trueBody": { "id": 887, "nodeType": "Block", - "src": "15101:610:0", + "src": "15131:610:0", "statements": [ { "assignments": [ @@ -10188,7 +10188,7 @@ "name": "token", "nodeType": "VariableDeclaration", "scope": 893, - "src": "15116:20:0", + "src": "15146:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -10201,7 +10201,7 @@ "name": "ITokenContract", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 1241, - "src": "15116:14:0", + "src": "15146:14:0", "typeDescriptions": { "typeIdentifier": "t_contract$_ITokenContract_$1241", "typeString": "contract ITokenContract" @@ -10224,7 +10224,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 720, - "src": "15154:1:0", + "src": "15184:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" @@ -10238,7 +10238,7 @@ "memberName": "tokenAddress", "nodeType": "MemberAccess", "referencedDeclaration": 56, - "src": "15154:14:0", + "src": "15184:14:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -10257,7 +10257,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1241, - "src": "15139:14:0", + "src": "15169:14:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_ITokenContract_$1241_$", "typeString": "type(contract ITokenContract)" @@ -10271,20 +10271,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15139:30:0", + "src": "15169:30:0", "typeDescriptions": { "typeIdentifier": "t_contract$_ITokenContract_$1241", "typeString": "contract ITokenContract" } }, "nodeType": "VariableDeclarationStatement", - "src": "15116:53:0" + "src": "15146:53:0" }, { "body": { "id": 885, "nodeType": "Block", - "src": "15232:469:0", + "src": "15262:469:0", "statements": [ { "expression": { @@ -10321,7 +10321,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 711, - "src": "15259:12:0", + "src": "15289:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -10335,7 +10335,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 816, - "src": "15272:1:0", + "src": "15302:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10346,7 +10346,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15259:15:0", + "src": "15289:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -10367,7 +10367,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "15286:1:0", + "src": "15316:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -10389,7 +10389,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "15278:7:0", + "src": "15308:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" @@ -10404,13 +10404,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15278:10:0", + "src": "15308:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "15259:29:0", + "src": "15289:29:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -10429,7 +10429,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 720, - "src": "15292:1:0", + "src": "15322:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" @@ -10443,7 +10443,7 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "15292:9:0", + "src": "15322:9:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -10459,7 +10459,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 711, - "src": "15302:12:0", + "src": "15332:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -10473,7 +10473,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 816, - "src": "15315:1:0", + "src": "15345:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10484,7 +10484,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15302:15:0", + "src": "15332:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -10495,13 +10495,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15292:26:0", + "src": "15322:26:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "15259:59:0", + "src": "15289:59:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -10517,7 +10517,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "15320:25:0", + "src": "15350:25:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_4b4c116dbf18274831a2b569c567d9fd9a0e9828a6c86ee9f93e80400fb6c49f", @@ -10545,7 +10545,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "15251:7:0", + "src": "15281:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -10559,7 +10559,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15251:95:0", + "src": "15281:95:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -10567,7 +10567,7 @@ }, "id": 843, "nodeType": "ExpressionStatement", - "src": "15251:95:0" + "src": "15281:95:0" }, { "expression": { @@ -10593,7 +10593,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 714, - "src": "15372:7:0", + "src": "15402:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" @@ -10607,7 +10607,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 816, - "src": "15380:1:0", + "src": "15410:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10618,7 +10618,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15372:10:0", + "src": "15402:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10636,7 +10636,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "15385:1:0", + "src": "15415:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -10644,7 +10644,7 @@ }, "value": "0" }, - "src": "15372:14:0", + "src": "15402:14:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -10660,7 +10660,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "15388:44:0", + "src": "15418:44:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_5e1271a09dbb64ae031de288deb0ad8d707df7db51d6e827931dc8fa6642a71e", @@ -10688,7 +10688,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "15364:7:0", + "src": "15394:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -10702,7 +10702,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15364:69:0", + "src": "15394:69:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -10710,7 +10710,7 @@ }, "id": 852, "nodeType": "ExpressionStatement", - "src": "15364:69:0" + "src": "15394:69:0" }, { "expression": { @@ -10727,7 +10727,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 726, - "src": "15452:16:0", + "src": "15482:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10747,7 +10747,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 714, - "src": "15492:7:0", + "src": "15522:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" @@ -10761,7 +10761,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 816, - "src": "15500:1:0", + "src": "15530:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10772,7 +10772,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15492:10:0", + "src": "15522:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10793,7 +10793,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 726, - "src": "15471:16:0", + "src": "15501:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10807,7 +10807,7 @@ "memberName": "add", "nodeType": "MemberAccess", "referencedDeclaration": 1348, - "src": "15471:20:0", + "src": "15501:20:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" @@ -10821,13 +10821,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15471:32:0", + "src": "15501:32:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "15452:51:0", + "src": "15482:51:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10835,7 +10835,7 @@ }, "id": 861, "nodeType": "ExpressionStatement", - "src": "15452:51:0" + "src": "15482:51:0" }, { "expression": { @@ -10856,7 +10856,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 720, - "src": "15521:1:0", + "src": "15551:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" @@ -10870,7 +10870,7 @@ "memberName": "beneficiaries", "nodeType": "MemberAccess", "referencedDeclaration": 70, - "src": "15521:15:0", + "src": "15551:15:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -10886,7 +10886,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 711, - "src": "15537:12:0", + "src": "15567:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -10900,7 +10900,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 816, - "src": "15550:1:0", + "src": "15580:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10911,7 +10911,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15537:15:0", + "src": "15567:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -10922,7 +10922,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "15521:32:0", + "src": "15551:32:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -10940,7 +10940,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "15556:4:0", + "src": "15586:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -10948,7 +10948,7 @@ }, "value": "true" }, - "src": "15521:39:0", + "src": "15551:39:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -10956,7 +10956,7 @@ }, "id": 871, "nodeType": "ExpressionStatement", - "src": "15521:39:0" + "src": "15551:39:0" }, { "expression": { @@ -10974,7 +10974,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 711, - "src": "15631:12:0", + "src": "15661:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -10988,7 +10988,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 816, - "src": "15644:1:0", + "src": "15674:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10999,7 +10999,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15631:15:0", + "src": "15661:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -11014,7 +11014,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 714, - "src": "15648:7:0", + "src": "15678:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" @@ -11028,7 +11028,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 816, - "src": "15656:1:0", + "src": "15686:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11039,7 +11039,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15648:10:0", + "src": "15678:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11064,7 +11064,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 809, - "src": "15616:5:0", + "src": "15646:5:0", "typeDescriptions": { "typeIdentifier": "t_contract$_ITokenContract_$1241", "typeString": "contract ITokenContract" @@ -11078,7 +11078,7 @@ "memberName": "transfer", "nodeType": "MemberAccess", "referencedDeclaration": 1229, - "src": "15616:14:0", + "src": "15646:14:0", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", "typeString": "function (address,uint256) external returns (bool)" @@ -11092,7 +11092,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15616:43:0", + "src": "15646:43:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -11108,7 +11108,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "15661:24:0", + "src": "15691:24:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_e545223bb79d8456d66fa5a98897abb42bb4807111f004a120200da3b7e292c5", @@ -11136,7 +11136,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "15608:7:0", + "src": "15638:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -11150,7 +11150,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15608:78:0", + "src": "15638:78:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -11158,7 +11158,7 @@ }, "id": 884, "nodeType": "ExpressionStatement", - "src": "15608:78:0" + "src": "15638:78:0" } ] }, @@ -11180,7 +11180,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 816, - "src": "15204:1:0", + "src": "15234:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11197,7 +11197,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 711, - "src": "15206:12:0", + "src": "15236:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -11211,13 +11211,13 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "15206:19:0", + "src": "15236:19:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "15204:21:0", + "src": "15234:21:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -11235,7 +11235,7 @@ "name": "j", "nodeType": "VariableDeclaration", "scope": 893, - "src": "15189:9:0", + "src": "15219:9:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -11246,7 +11246,7 @@ "id": 815, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "15189:7:0", + "src": "15219:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11267,7 +11267,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "15201:1:0", + "src": "15231:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -11276,7 +11276,7 @@ "value": "0" }, "nodeType": "VariableDeclarationStatement", - "src": "15189:13:0" + "src": "15219:13:0" }, "loopExpression": { "expression": { @@ -11289,7 +11289,7 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "15227:3:0", + "src": "15257:3:0", "subExpression": { "argumentTypes": null, "id": 823, @@ -11297,7 +11297,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 816, - "src": "15227:1:0", + "src": "15257:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11310,27 +11310,27 @@ }, "id": 825, "nodeType": "ExpressionStatement", - "src": "15227:3:0" + "src": "15257:3:0" }, "nodeType": "ForStatement", - "src": "15184:517:0" + "src": "15214:517:0" } ] } }, "id": 889, "nodeType": "IfStatement", - "src": "14412:1299:0", + "src": "14527:1214:0", "trueBody": { "id": 802, "nodeType": "Block", - "src": "14460:587:0", + "src": "14575:502:0", "statements": [ { "body": { "id": 800, "nodeType": "Block", - "src": "14524:512:0", + "src": "14639:427:0", "statements": [ { "expression": { @@ -11367,7 +11367,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 711, - "src": "14551:12:0", + "src": "14666:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -11381,7 +11381,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 735, - "src": "14564:1:0", + "src": "14679:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11392,7 +11392,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "14551:15:0", + "src": "14666:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -11413,7 +11413,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "14578:1:0", + "src": "14693:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -11435,7 +11435,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "14570:7:0", + "src": "14685:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" @@ -11450,13 +11450,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "14570:10:0", + "src": "14685:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "14551:29:0", + "src": "14666:29:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -11475,7 +11475,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 720, - "src": "14584:1:0", + "src": "14699:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" @@ -11489,7 +11489,7 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "14584:9:0", + "src": "14699:9:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -11505,7 +11505,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 711, - "src": "14594:12:0", + "src": "14709:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -11519,7 +11519,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 735, - "src": "14607:1:0", + "src": "14722:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11530,7 +11530,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "14594:15:0", + "src": "14709:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -11541,13 +11541,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "14584:26:0", + "src": "14699:26:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "14551:59:0", + "src": "14666:59:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -11563,7 +11563,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "14612:25:0", + "src": "14727:25:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_4b4c116dbf18274831a2b569c567d9fd9a0e9828a6c86ee9f93e80400fb6c49f", @@ -11591,7 +11591,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "14543:7:0", + "src": "14658:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -11605,7 +11605,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "14543:95:0", + "src": "14658:95:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -11613,7 +11613,7 @@ }, "id": 762, "nodeType": "ExpressionStatement", - "src": "14543:95:0" + "src": "14658:95:0" }, { "expression": { @@ -11639,7 +11639,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 714, - "src": "14664:7:0", + "src": "14779:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" @@ -11653,7 +11653,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 735, - "src": "14672:1:0", + "src": "14787:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11664,7 +11664,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "14664:10:0", + "src": "14779:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11682,7 +11682,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "14677:1:0", + "src": "14792:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -11690,7 +11690,7 @@ }, "value": "0" }, - "src": "14664:14:0", + "src": "14779:14:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -11706,7 +11706,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "14680:44:0", + "src": "14795:44:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_5e1271a09dbb64ae031de288deb0ad8d707df7db51d6e827931dc8fa6642a71e", @@ -11734,7 +11734,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "14656:7:0", + "src": "14771:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -11748,7 +11748,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "14656:69:0", + "src": "14771:69:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -11756,7 +11756,7 @@ }, "id": 771, "nodeType": "ExpressionStatement", - "src": "14656:69:0" + "src": "14771:69:0" }, { "expression": { @@ -11773,7 +11773,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 726, - "src": "14744:16:0", + "src": "14859:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11793,7 +11793,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 714, - "src": "14784:7:0", + "src": "14899:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" @@ -11807,7 +11807,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 735, - "src": "14792:1:0", + "src": "14907:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11818,7 +11818,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "14784:10:0", + "src": "14899:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11839,7 +11839,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 726, - "src": "14763:16:0", + "src": "14878:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11853,7 +11853,7 @@ "memberName": "add", "nodeType": "MemberAccess", "referencedDeclaration": 1348, - "src": "14763:20:0", + "src": "14878:20:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" @@ -11867,13 +11867,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "14763:32:0", + "src": "14878:32:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "14744:51:0", + "src": "14859:51:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11881,7 +11881,7 @@ }, "id": 780, "nodeType": "ExpressionStatement", - "src": "14744:51:0" + "src": "14859:51:0" }, { "expression": { @@ -11902,7 +11902,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 720, - "src": "14814:1:0", + "src": "14929:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" @@ -11916,7 +11916,7 @@ "memberName": "beneficiaries", "nodeType": "MemberAccess", "referencedDeclaration": 70, - "src": "14814:15:0", + "src": "14929:15:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -11932,7 +11932,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 711, - "src": "14830:12:0", + "src": "14945:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -11946,7 +11946,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 735, - "src": "14843:1:0", + "src": "14958:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11957,7 +11957,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "14830:15:0", + "src": "14945:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -11968,7 +11968,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "14814:32:0", + "src": "14929:32:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -11986,7 +11986,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "14849:4:0", + "src": "14964:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -11994,7 +11994,7 @@ }, "value": "true" }, - "src": "14814:39:0", + "src": "14929:39:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -12002,7 +12002,7 @@ }, "id": 790, "nodeType": "ExpressionStatement", - "src": "14814:39:0" + "src": "14929:39:0" }, { "expression": { @@ -12017,7 +12017,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 714, - "src": "14925:7:0", + "src": "15040:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" @@ -12031,7 +12031,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 735, - "src": "14933:1:0", + "src": "15048:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12042,7 +12042,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "14925:10:0", + "src": "15040:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12065,7 +12065,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 711, - "src": "14900:12:0", + "src": "15015:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -12079,7 +12079,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 735, - "src": "14913:1:0", + "src": "15028:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12090,7 +12090,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "14900:15:0", + "src": "15015:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -12104,7 +12104,7 @@ "memberName": "transfer", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "14900:24:0", + "src": "15015:24:0", "typeDescriptions": { "typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$", "typeString": "function (uint256)" @@ -12118,7 +12118,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "14900:36:0", + "src": "15015:36:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -12126,7 +12126,7 @@ }, "id": 799, "nodeType": "ExpressionStatement", - "src": "14900:36:0" + "src": "15015:36:0" } ] }, @@ -12148,7 +12148,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 735, - "src": "14494:1:0", + "src": "14609:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12165,7 +12165,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 711, - "src": "14498:12:0", + "src": "14613:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -12179,13 +12179,13 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "14498:19:0", + "src": "14613:19:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "14494:23:0", + "src": "14609:23:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -12203,7 +12203,7 @@ "name": "i", "nodeType": "VariableDeclaration", "scope": 893, - "src": "14479:9:0", + "src": "14594:9:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12214,7 +12214,7 @@ "id": 734, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "14479:7:0", + "src": "14594:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12235,7 +12235,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "14491:1:0", + "src": "14606:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -12244,7 +12244,7 @@ "value": "0" }, "nodeType": "VariableDeclarationStatement", - "src": "14479:13:0" + "src": "14594:13:0" }, "loopExpression": { "expression": { @@ -12257,7 +12257,7 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "14519:3:0", + "src": "14634:3:0", "subExpression": { "argumentTypes": null, "id": 742, @@ -12265,7 +12265,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 735, - "src": "14519:1:0", + "src": "14634:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12278,10 +12278,10 @@ }, "id": 744, "nodeType": "ExpressionStatement", - "src": "14519:3:0" + "src": "14634:3:0" }, "nodeType": "ForStatement", - "src": "14474:562:0" + "src": "14589:477:0" } ] } @@ -12294,7 +12294,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 726, - "src": "15728:16:0", + "src": "15758:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12303,7 +12303,7 @@ "functionReturnParameters": 718, "id": 891, "nodeType": "Return", - "src": "15721:23:0" + "src": "15751:23:0" } ] }, @@ -12325,7 +12325,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 893, - "src": "14176:18:0", + "src": "14291:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12336,7 +12336,7 @@ "id": 707, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "14176:7:0", + "src": "14291:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -12351,7 +12351,7 @@ "name": "destinations", "nodeType": "VariableDeclaration", "scope": 893, - "src": "14204:21:0", + "src": "14319:21:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12363,7 +12363,7 @@ "id": 709, "name": "address", "nodeType": "ElementaryTypeName", - "src": "14204:7:0", + "src": "14319:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -12372,7 +12372,7 @@ "id": 710, "length": null, "nodeType": "ArrayTypeName", - "src": "14204:9:0", + "src": "14319:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", "typeString": "address[]" @@ -12387,7 +12387,7 @@ "name": "amounts", "nodeType": "VariableDeclaration", "scope": 893, - "src": "14235:16:0", + "src": "14350:16:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12399,7 +12399,7 @@ "id": 712, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "14235:7:0", + "src": "14350:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12408,7 +12408,7 @@ "id": 713, "length": null, "nodeType": "ArrayTypeName", - "src": "14235:9:0", + "src": "14350:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -12418,7 +12418,7 @@ "visibility": "internal" } ], - "src": "14166:91:0" + "src": "14281:91:0" }, "payable": false, "returnParameters": { @@ -12431,7 +12431,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 893, - "src": "14291:7:0", + "src": "14406:7:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12442,7 +12442,7 @@ "id": 716, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "14291:7:0", + "src": "14406:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12452,10 +12452,10 @@ "visibility": "internal" } ], - "src": "14290:9:0" + "src": "14405:9:0" }, "scope": 1211, - "src": "14144:1607:0", + "src": "14259:1522:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "private" @@ -12464,7 +12464,7 @@ "body": { "id": 1021, "nodeType": "Block", - "src": "16169:1337:0", + "src": "16200:1337:0", "statements": [ { "expression": { @@ -12501,7 +12501,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 899, - "src": "16201:4:0", + "src": "16232:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" @@ -12515,7 +12515,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "16201:11:0", + "src": "16232:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12532,7 +12532,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 902, - "src": "16216:4:0", + "src": "16247:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" @@ -12546,13 +12546,13 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "16216:11:0", + "src": "16247:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "16201:26:0", + "src": "16232:26:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -12580,7 +12580,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 899, - "src": "16231:4:0", + "src": "16262:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" @@ -12594,7 +12594,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "16231:11:0", + "src": "16262:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12611,7 +12611,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 896, - "src": "16246:4:0", + "src": "16277:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr", "typeString": "uint8[] memory" @@ -12625,19 +12625,19 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "16246:11:0", + "src": "16277:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "16231:26:0", + "src": "16262:26:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "16201:56:0", + "src": "16232:56:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -12653,7 +12653,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "16272:24:0", + "src": "16303:24:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_f85073c8befb65baed58ca1ee563e5da0bdbdce8abd4d29ef22a8329c7c97506", @@ -12681,7 +12681,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "16180:7:0", + "src": "16211:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -12695,7 +12695,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16180:126:0", + "src": "16211:126:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -12703,7 +12703,7 @@ }, "id": 929, "nodeType": "ExpressionStatement", - "src": "16180:126:0" + "src": "16211:126:0" }, { "assignments": [], @@ -12714,7 +12714,7 @@ "name": "lastAddress", "nodeType": "VariableDeclaration", "scope": 1022, - "src": "16317:19:0", + "src": "16348:19:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12725,7 +12725,7 @@ "id": 930, "name": "address", "nodeType": "ElementaryTypeName", - "src": "16317:7:0", + "src": "16348:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -12738,7 +12738,7 @@ "id": 932, "initialValue": null, "nodeType": "VariableDeclarationStatement", - "src": "16317:19:0" + "src": "16348:19:0" }, { "assignments": [ @@ -12751,7 +12751,7 @@ "name": "txHash", "nodeType": "VariableDeclaration", "scope": 1022, - "src": "16435:14:0", + "src": "16466:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12762,7 +12762,7 @@ "id": 933, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "16435:7:0", + "src": "16466:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -12789,7 +12789,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "16509:34:0", + "src": "16540:34:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_178a2411ab6fbc1ba11064408972259c558d0e82fd48b0aba3ad81d14f065e73", @@ -12816,7 +12816,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "16639:4:0", + "src": "16670:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_25_by_1", @@ -12838,7 +12838,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "16634:4:0", + "src": "16665:4:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes1_$", "typeString": "type(bytes1)" @@ -12853,7 +12853,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16634:10:0", + "src": "16665:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes1", "typeString": "bytes1" @@ -12872,7 +12872,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "16675:1:0", + "src": "16706:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -12894,7 +12894,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "16670:4:0", + "src": "16701:4:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes1_$", "typeString": "type(bytes1)" @@ -12909,7 +12909,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16670:7:0", + "src": "16701:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes1", "typeString": "bytes1" @@ -12922,7 +12922,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1401, - "src": "16703:4:0", + "src": "16734:4:0", "typeDescriptions": { "typeIdentifier": "t_contract$_Escrow_v1_0_$1211", "typeString": "contract Escrow_v1_0" @@ -12935,7 +12935,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 907, - "src": "16733:12:0", + "src": "16764:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -12948,7 +12948,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 910, - "src": "16771:7:0", + "src": "16802:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" @@ -12961,7 +12961,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 904, - "src": "16804:10:0", + "src": "16835:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -13002,7 +13002,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1371, - "src": "16592:3:0", + "src": "16623:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" @@ -13016,7 +13016,7 @@ "memberName": "encodePacked", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "16592:16:0", + "src": "16623:16:0", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" @@ -13030,7 +13030,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16592:244:0", + "src": "16623:244:0", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -13049,7 +13049,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1378, - "src": "16561:9:0", + "src": "16592:9:0", "typeDescriptions": { "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", "typeString": "function () pure returns (bytes32)" @@ -13063,7 +13063,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16561:293:0", + "src": "16592:293:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -13088,7 +13088,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1371, - "src": "16475:3:0", + "src": "16506:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" @@ -13102,7 +13102,7 @@ "memberName": "encodePacked", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "16475:16:0", + "src": "16506:16:0", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" @@ -13116,7 +13116,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16475:393:0", + "src": "16506:393:0", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -13135,7 +13135,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1378, - "src": "16452:9:0", + "src": "16483:9:0", "typeDescriptions": { "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", "typeString": "function () pure returns (bytes32)" @@ -13149,20 +13149,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16452:426:0", + "src": "16483:426:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "nodeType": "VariableDeclarationStatement", - "src": "16435:443:0" + "src": "16466:443:0" }, { "body": { "id": 1017, "nodeType": "Block", - "src": "16928:543:0", + "src": "16959:543:0", "statements": [ { "assignments": [ @@ -13175,7 +13175,7 @@ "name": "recovered", "nodeType": "VariableDeclaration", "scope": 1022, - "src": "16943:17:0", + "src": "16974:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -13186,7 +13186,7 @@ "id": 968, "name": "address", "nodeType": "ElementaryTypeName", - "src": "16943:7:0", + "src": "16974:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -13207,7 +13207,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 934, - "src": "16990:6:0", + "src": "17021:6:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -13222,7 +13222,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 896, - "src": "17014:4:0", + "src": "17045:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr", "typeString": "uint8[] memory" @@ -13236,7 +13236,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 958, - "src": "17019:1:0", + "src": "17050:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13247,7 +13247,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17014:7:0", + "src": "17045:7:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -13262,7 +13262,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 899, - "src": "17039:4:0", + "src": "17070:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" @@ -13276,7 +13276,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 958, - "src": "17044:1:0", + "src": "17075:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13287,7 +13287,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17039:7:0", + "src": "17070:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -13302,7 +13302,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 902, - "src": "17064:4:0", + "src": "17095:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" @@ -13316,7 +13316,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 958, - "src": "17069:1:0", + "src": "17100:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13327,7 +13327,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17064:7:0", + "src": "17095:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -13358,7 +13358,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1376, - "src": "16963:9:0", + "src": "16994:9:0", "typeDescriptions": { "typeIdentifier": "t_function_ecrecover_pure$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$_t_address_$", "typeString": "function (bytes32,uint8,bytes32,bytes32) pure returns (address)" @@ -13372,14 +13372,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16963:122:0", + "src": "16994:122:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "VariableDeclarationStatement", - "src": "16943:142:0" + "src": "16974:142:0" }, { "expression": { @@ -13398,7 +13398,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "17125:12:0", + "src": "17156:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -13412,7 +13412,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 904, - "src": "17138:10:0", + "src": "17169:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -13423,7 +13423,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17125:24:0", + "src": "17156:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -13437,7 +13437,7 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "17125:32:0", + "src": "17156:32:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -13451,7 +13451,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 969, - "src": "17158:9:0", + "src": "17189:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -13462,7 +13462,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17125:43:0", + "src": "17156:43:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -13478,7 +13478,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "17187:19:0", + "src": "17218:19:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_4f2d7dfcb27c0aafa13ae8c400de482c7832204d194018b6e45bd2bf244c74e7", @@ -13506,7 +13506,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "17100:7:0", + "src": "17131:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -13520,7 +13520,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17100:120:0", + "src": "17131:120:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -13528,7 +13528,7 @@ }, "id": 992, "nodeType": "ExpressionStatement", - "src": "17100:120:0" + "src": "17131:120:0" }, { "expression": { @@ -13544,7 +13544,7 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "17259:42:0", + "src": "17290:42:0", "subExpression": { "argumentTypes": null, "baseExpression": { @@ -13558,7 +13558,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "17260:12:0", + "src": "17291:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -13572,7 +13572,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 904, - "src": "17273:10:0", + "src": "17304:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -13583,7 +13583,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17260:24:0", + "src": "17291:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -13597,7 +13597,7 @@ "memberName": "voted", "nodeType": "MemberAccess", "referencedDeclaration": 66, - "src": "17260:30:0", + "src": "17291:30:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -13611,7 +13611,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 969, - "src": "17291:9:0", + "src": "17322:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -13622,7 +13622,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17260:41:0", + "src": "17291:41:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -13643,7 +13643,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "17320:27:0", + "src": "17351:27:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_fb2c7e49d5ec7ce36fa812cf15ee7fa946942f931d04fe3ae970516007b2a543", @@ -13671,7 +13671,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "17234:7:0", + "src": "17265:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -13685,7 +13685,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17234:127:0", + "src": "17265:127:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -13693,7 +13693,7 @@ }, "id": 1003, "nodeType": "ExpressionStatement", - "src": "17234:127:0" + "src": "17265:127:0" }, { "expression": { @@ -13716,7 +13716,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "17375:12:0", + "src": "17406:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -13730,7 +13730,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 904, - "src": "17388:10:0", + "src": "17419:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -13741,7 +13741,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17375:24:0", + "src": "17406:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -13755,7 +13755,7 @@ "memberName": "voted", "nodeType": "MemberAccess", "referencedDeclaration": 66, - "src": "17375:30:0", + "src": "17406:30:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -13769,7 +13769,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 969, - "src": "17406:9:0", + "src": "17437:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -13780,7 +13780,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "17375:41:0", + "src": "17406:41:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -13798,7 +13798,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "17419:4:0", + "src": "17450:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -13806,7 +13806,7 @@ }, "value": "true" }, - "src": "17375:48:0", + "src": "17406:48:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -13814,7 +13814,7 @@ }, "id": 1012, "nodeType": "ExpressionStatement", - "src": "17375:48:0" + "src": "17406:48:0" }, { "expression": { @@ -13831,7 +13831,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 931, - "src": "17437:11:0", + "src": "17468:11:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -13846,13 +13846,13 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 969, - "src": "17451:9:0", + "src": "17482:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "17437:23:0", + "src": "17468:23:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -13860,7 +13860,7 @@ }, "id": 1016, "nodeType": "ExpressionStatement", - "src": "17437:23:0" + "src": "17468:23:0" } ] }, @@ -13882,7 +13882,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 958, - "src": "16906:1:0", + "src": "16937:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13899,7 +13899,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 899, - "src": "16910:4:0", + "src": "16941:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" @@ -13913,13 +13913,13 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "16910:11:0", + "src": "16941:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "16906:15:0", + "src": "16937:15:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -13937,7 +13937,7 @@ "name": "i", "nodeType": "VariableDeclaration", "scope": 1022, - "src": "16894:6:0", + "src": "16925:6:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -13948,7 +13948,7 @@ "id": 957, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "16894:4:0", + "src": "16925:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13969,7 +13969,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "16903:1:0", + "src": "16934:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -13978,7 +13978,7 @@ "value": "0" }, "nodeType": "VariableDeclarationStatement", - "src": "16894:10:0" + "src": "16925:10:0" }, "loopExpression": { "expression": { @@ -13991,7 +13991,7 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "16923:3:0", + "src": "16954:3:0", "subExpression": { "argumentTypes": null, "id": 965, @@ -13999,7 +13999,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 958, - "src": "16923:1:0", + "src": "16954:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14012,10 +14012,10 @@ }, "id": 967, "nodeType": "ExpressionStatement", - "src": "16923:3:0" + "src": "16954:3:0" }, "nodeType": "ForStatement", - "src": "16889:582:0" + "src": "16920:582:0" }, { "expression": { @@ -14025,7 +14025,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 931, - "src": "17488:11:0", + "src": "17519:11:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -14034,7 +14034,7 @@ "functionReturnParameters": 914, "id": 1020, "nodeType": "Return", - "src": "17481:18:0" + "src": "17512:18:0" } ] }, @@ -14056,7 +14056,7 @@ "name": "sigV", "nodeType": "VariableDeclaration", "scope": 1022, - "src": "15970:12:0", + "src": "16001:12:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14068,7 +14068,7 @@ "id": 894, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "15970:5:0", + "src": "16001:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -14077,7 +14077,7 @@ "id": 895, "length": null, "nodeType": "ArrayTypeName", - "src": "15970:7:0", + "src": "16001:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_storage_ptr", "typeString": "uint8[]" @@ -14092,7 +14092,7 @@ "name": "sigR", "nodeType": "VariableDeclaration", "scope": 1022, - "src": "15992:14:0", + "src": "16023:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14104,7 +14104,7 @@ "id": 897, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "15992:7:0", + "src": "16023:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -14113,7 +14113,7 @@ "id": 898, "length": null, "nodeType": "ArrayTypeName", - "src": "15992:9:0", + "src": "16023:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -14128,7 +14128,7 @@ "name": "sigS", "nodeType": "VariableDeclaration", "scope": 1022, - "src": "16016:14:0", + "src": "16047:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14140,7 +14140,7 @@ "id": 900, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "16016:7:0", + "src": "16047:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -14149,7 +14149,7 @@ "id": 901, "length": null, "nodeType": "ArrayTypeName", - "src": "16016:9:0", + "src": "16047:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -14164,7 +14164,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 1022, - "src": "16040:18:0", + "src": "16071:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14175,7 +14175,7 @@ "id": 903, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "16040:7:0", + "src": "16071:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -14190,7 +14190,7 @@ "name": "destinations", "nodeType": "VariableDeclaration", "scope": 1022, - "src": "16068:22:0", + "src": "16099:22:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14202,7 +14202,7 @@ "id": 905, "name": "address", "nodeType": "ElementaryTypeName", - "src": "16068:7:0", + "src": "16099:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -14211,7 +14211,7 @@ "id": 906, "length": null, "nodeType": "ArrayTypeName", - "src": "16068:9:0", + "src": "16099:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", "typeString": "address[]" @@ -14226,7 +14226,7 @@ "name": "amounts", "nodeType": "VariableDeclaration", "scope": 1022, - "src": "16100:16:0", + "src": "16131:16:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14238,7 +14238,7 @@ "id": 908, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "16100:7:0", + "src": "16131:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14247,7 +14247,7 @@ "id": 909, "length": null, "nodeType": "ArrayTypeName", - "src": "16100:9:0", + "src": "16131:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -14257,7 +14257,7 @@ "visibility": "internal" } ], - "src": "15960:162:0" + "src": "15991:162:0" }, "payable": false, "returnParameters": { @@ -14270,7 +14270,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 1022, - "src": "16156:7:0", + "src": "16187:7:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14281,7 +14281,7 @@ "id": 912, "name": "address", "nodeType": "ElementaryTypeName", - "src": "16156:7:0", + "src": "16187:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -14291,10 +14291,10 @@ "visibility": "internal" } ], - "src": "16155:9:0" + "src": "16186:9:0" }, "scope": 1211, - "src": "15935:1571:0", + "src": "15966:1571:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "private" @@ -14303,7 +14303,7 @@ "body": { "id": 1053, "nodeType": "Block", - "src": "17660:168:0", + "src": "17691:168:0", "statements": [ { "assignments": [ @@ -14316,7 +14316,7 @@ "name": "timeSince", "nodeType": "VariableDeclaration", "scope": 1054, - "src": "17670:17:0", + "src": "17701:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14327,7 +14327,7 @@ "id": 1031, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "17670:7:0", + "src": "17701:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14348,7 +14348,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1026, - "src": "17698:12:0", + "src": "17729:12:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14369,7 +14369,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1386, - "src": "17690:3:0", + "src": "17721:3:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14383,7 +14383,7 @@ "memberName": "sub", "nodeType": "MemberAccess", "referencedDeclaration": 1324, - "src": "17690:7:0", + "src": "17721:7:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" @@ -14397,14 +14397,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17690:21:0", + "src": "17721:21:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "17670:41:0" + "src": "17701:41:0" }, { "expression": { @@ -14430,7 +14430,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1024, - "src": "17742:12:0", + "src": "17773:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -14448,7 +14448,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "17758:1:0", + "src": "17789:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -14456,7 +14456,7 @@ }, "value": "0" }, - "src": "17742:17:0", + "src": "17773:17:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -14480,7 +14480,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1032, - "src": "17768:9:0", + "src": "17799:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14501,7 +14501,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "17806:4:0", + "src": "17837:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_3600_by_1", @@ -14527,7 +14527,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1024, - "src": "17788:12:0", + "src": "17819:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -14547,7 +14547,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "17780:7:0", + "src": "17811:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint256_$", "typeString": "type(uint256)" @@ -14562,7 +14562,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17780:21:0", + "src": "17811:21:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14576,7 +14576,7 @@ "memberName": "mul", "nodeType": "MemberAccess", "referencedDeclaration": 1276, - "src": "17780:25:0", + "src": "17811:25:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" @@ -14590,13 +14590,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17780:31:0", + "src": "17811:31:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "17768:43:0", + "src": "17799:43:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -14608,7 +14608,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "Conditional", - "src": "17742:69:0", + "src": "17773:69:0", "trueExpression": { "argumentTypes": null, "hexValue": "66616c7365", @@ -14619,7 +14619,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "17762:5:0", + "src": "17793:5:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -14640,7 +14640,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "17728:93:0", + "src": "17759:93:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -14649,7 +14649,7 @@ "functionReturnParameters": 1030, "id": 1052, "nodeType": "Return", - "src": "17721:100:0" + "src": "17752:100:0" } ] }, @@ -14671,7 +14671,7 @@ "name": "timeoutHours", "nodeType": "VariableDeclaration", "scope": 1054, - "src": "17548:19:0", + "src": "17579:19:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14682,7 +14682,7 @@ "id": 1023, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "17548:6:0", + "src": "17579:6:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -14697,7 +14697,7 @@ "name": "lastModified", "nodeType": "VariableDeclaration", "scope": 1054, - "src": "17577:20:0", + "src": "17608:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14708,7 +14708,7 @@ "id": 1025, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "17577:7:0", + "src": "17608:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14718,7 +14718,7 @@ "visibility": "internal" } ], - "src": "17538:65:0" + "src": "17569:65:0" }, "payable": false, "returnParameters": { @@ -14731,7 +14731,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 1054, - "src": "17650:4:0", + "src": "17681:4:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14742,7 +14742,7 @@ "id": 1028, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "17650:4:0", + "src": "17681:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -14752,10 +14752,10 @@ "visibility": "internal" } ], - "src": "17649:6:0" + "src": "17680:6:0" }, "scope": 1211, - "src": "17512:316:0", + "src": "17543:316:0", "stateMutability": "view", "superFunction": null, "visibility": "private" @@ -14764,7 +14764,7 @@ "body": { "id": 1209, "nodeType": "Block", - "src": "18242:2320:0", + "src": "18273:2314:0", "statements": [ { "expression": { @@ -14788,7 +14788,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1056, - "src": "18268:5:0", + "src": "18299:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -14803,13 +14803,13 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1058, - "src": "18277:6:0", + "src": "18308:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "18268:15:0", + "src": "18299:15:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -14825,7 +14825,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "18285:27:0", + "src": "18316:27:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_6141441751234d42e9a73d96317794195c7ff57b8f16ac15725a10f10763f824", @@ -14853,7 +14853,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "18260:7:0", + "src": "18291:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -14867,7 +14867,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18260:53:0", + "src": "18291:53:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -14875,7 +14875,7 @@ }, "id": 1083, "nodeType": "ExpressionStatement", - "src": "18260:53:0" + "src": "18291:53:0" }, { "expression": { @@ -14899,7 +14899,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1068, - "src": "18380:5:0", + "src": "18411:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14917,7 +14917,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "18388:1:0", + "src": "18419:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -14925,7 +14925,7 @@ }, "value": "0" }, - "src": "18380:9:0", + "src": "18411:9:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -14941,7 +14941,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "18391:19:0", + "src": "18422:19:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_3686f87c4804517ea83323ccf1a3b5b5ff52ed144b19e6fc56abe8fcd182e747", @@ -14969,7 +14969,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "18372:7:0", + "src": "18403:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -14983,7 +14983,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18372:39:0", + "src": "18403:39:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -14991,7 +14991,7 @@ }, "id": 1090, "nodeType": "ExpressionStatement", - "src": "18372:39:0" + "src": "18403:39:0" }, { "expression": { @@ -15026,7 +15026,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1062, - "src": "18514:9:0", + "src": "18545:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -15044,7 +15044,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "18526:1:0", + "src": "18557:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -15052,7 +15052,7 @@ }, "value": "0" }, - "src": "18514:13:0", + "src": "18545:13:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -15078,7 +15078,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1062, - "src": "18531:9:0", + "src": "18562:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -15096,7 +15096,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "18544:1:0", + "src": "18575:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_3_by_1", @@ -15104,13 +15104,13 @@ }, "value": "3" }, - "src": "18531:14:0", + "src": "18562:14:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "18514:31:0", + "src": "18545:31:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -15126,7 +15126,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "18560:63:0", + "src": "18591:63:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_351c1d5dfdc4a2b4c61d6f4dbb41a0d2ae70a9c094d3c0add87af24b5dd19c13", @@ -15154,7 +15154,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "18493:7:0", + "src": "18524:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -15168,7 +15168,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18493:140:0", + "src": "18524:140:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -15176,7 +15176,7 @@ }, "id": 1101, "nodeType": "ExpressionStatement", - "src": "18493:140:0" + "src": "18524:140:0" }, { "expression": { @@ -15211,7 +15211,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1062, - "src": "18913:9:0", + "src": "18945:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -15229,7 +15229,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "18926:1:0", + "src": "18958:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -15237,7 +15237,7 @@ }, "value": "1" }, - "src": "18913:14:0", + "src": "18945:14:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -15263,7 +15263,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1060, - "src": "18931:9:0", + "src": "18963:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15284,7 +15284,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "18952:1:0", + "src": "18984:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -15306,7 +15306,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "18944:7:0", + "src": "18976:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" @@ -15321,19 +15321,19 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18944:10:0", + "src": "18976:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "18931:23:0", + "src": "18963:23:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "18913:41:0", + "src": "18945:41:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -15341,7 +15341,7 @@ }, { "argumentTypes": null, - "hexValue": "456974686572207468726573686f6c642073686f756c642062652031206f74686572776973652076616c6964206d6f64657261746f7220616464726573732073686f756c6420626520706173736564", + "hexValue": "456974686572207468726573686f6c642073686f756c642062652031206f722076616c6964206d6f64657261746f7220616464726573732073686f756c6420626520706173736564", "id": 1112, "isConstant": false, "isLValue": false, @@ -15349,13 +15349,13 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "18968:81:0", + "src": "19000:74:0", "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_stringliteral_08dfdd405be5d5023d3f601e2b0a844b246ceb6764817070ff6789d5e1f80050", - "typeString": "literal_string \"Either threshold should be 1 otherwise valid moderator address should be passed\"" + "typeIdentifier": "t_stringliteral_2056db168725d2fabb8aaf14efad7a3fc12ef6bc7132f0596ea09b041b71cb25", + "typeString": "literal_string \"Either threshold should be 1 or valid moderator address should be passed\"" }, - "value": "Either threshold should be 1 otherwise valid moderator address should be passed" + "value": "Either threshold should be 1 or valid moderator address should be passed" } ], "expression": { @@ -15365,8 +15365,8 @@ "typeString": "bool" }, { - "typeIdentifier": "t_stringliteral_08dfdd405be5d5023d3f601e2b0a844b246ceb6764817070ff6789d5e1f80050", - "typeString": "literal_string \"Either threshold should be 1 otherwise valid moderator address should be passed\"" + "typeIdentifier": "t_stringliteral_2056db168725d2fabb8aaf14efad7a3fc12ef6bc7132f0596ea09b041b71cb25", + "typeString": "literal_string \"Either threshold should be 1 or valid moderator address should be passed\"" } ], "id": 1102, @@ -15377,7 +15377,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "18892:7:0", + "src": "18924:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -15391,7 +15391,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18892:167:0", + "src": "18924:160:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -15399,7 +15399,7 @@ }, "id": 1114, "nodeType": "ExpressionStatement", - "src": "18892:167:0" + "src": "18924:160:0" }, { "expression": { @@ -15423,7 +15423,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1066, - "src": "19091:10:0", + "src": "19116:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -15441,7 +15441,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1070, - "src": "19148:8:0", + "src": "19173:8:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -15454,7 +15454,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1062, - "src": "19174:9:0", + "src": "19199:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -15467,7 +15467,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1064, - "src": "19201:12:0", + "src": "19226:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -15480,7 +15480,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1056, - "src": "19231:5:0", + "src": "19256:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15493,7 +15493,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1058, - "src": "19254:6:0", + "src": "19279:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15506,7 +15506,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1060, - "src": "19278:9:0", + "src": "19303:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15519,7 +15519,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1074, - "src": "19305:12:0", + "src": "19330:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15562,7 +15562,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 637, - "src": "19105:25:0", + "src": "19130:25:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_bytes20_$_t_uint8_$_t_uint32_$_t_address_$_t_address_$_t_address_$_t_address_$returns$_t_bytes32_$", "typeString": "function (bytes20,uint8,uint32,address,address,address,address) view returns (bytes32)" @@ -15576,13 +15576,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "19105:226:0", + "src": "19130:226:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "src": "19091:240:0", + "src": "19116:240:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -15598,7 +15598,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "19346:59:0", + "src": "19371:59:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_0c041e0c58e6b0e01d338d852a5abb639065eabeb0aee05e0ce3e5f0e52b4f51", @@ -15626,7 +15626,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "19070:7:0", + "src": "19095:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -15640,7 +15640,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "19070:345:0", + "src": "19095:345:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -15648,7 +15648,7 @@ }, "id": 1129, "nodeType": "ExpressionStatement", - "src": "19070:345:0" + "src": "19095:345:0" }, { "expression": { @@ -15667,7 +15667,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "19426:12:0", + "src": "19451:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -15681,7 +15681,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1066, - "src": "19439:10:0", + "src": "19464:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -15692,7 +15692,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "19426:24:0", + "src": "19451:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -15710,7 +15710,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1056, - "src": "19486:5:0", + "src": "19511:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15723,7 +15723,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1058, - "src": "19513:6:0", + "src": "19538:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15736,7 +15736,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1060, - "src": "19544:9:0", + "src": "19569:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15749,7 +15749,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1068, - "src": "19574:5:0", + "src": "19599:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -15764,7 +15764,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9, - "src": "19601:6:0", + "src": "19626:6:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_Status_$9_$", "typeString": "type(enum Escrow_v1_0.Status)" @@ -15778,7 +15778,7 @@ "memberName": "FUNDED", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "19601:13:0", + "src": "19626:13:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$9", "typeString": "enum Escrow_v1_0.Status" @@ -15793,7 +15793,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1374, - "src": "19642:5:0", + "src": "19667:5:0", "typeDescriptions": { "typeIdentifier": "t_magic_block", "typeString": "block" @@ -15807,7 +15807,7 @@ "memberName": "timestamp", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "19642:15:0", + "src": "19667:15:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -15820,7 +15820,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1062, - "src": "19682:9:0", + "src": "19707:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -15833,7 +15833,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1064, - "src": "19719:12:0", + "src": "19744:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -15846,7 +15846,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1072, - "src": "19761:15:0", + "src": "19786:15:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -15859,7 +15859,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1074, - "src": "19803:12:0", + "src": "19828:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15873,7 +15873,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 71, - "src": "19453:11:0", + "src": "19478:11:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_struct$_Transaction_$71_storage_ptr_$", "typeString": "type(struct Escrow_v1_0.Transaction storage pointer)" @@ -15898,13 +15898,13 @@ "tokenAddress" ], "nodeType": "FunctionCall", - "src": "19453:373:0", + "src": "19478:373:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_memory", "typeString": "struct Escrow_v1_0.Transaction memory" } }, - "src": "19426:400:0", + "src": "19451:400:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -15912,7 +15912,7 @@ }, "id": 1148, "nodeType": "ExpressionStatement", - "src": "19426:400:0" + "src": "19451:400:0" }, { "expression": { @@ -15935,7 +15935,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "19837:12:0", + "src": "19862:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -15949,7 +15949,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1066, - "src": "19850:10:0", + "src": "19875:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -15960,7 +15960,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "19837:24:0", + "src": "19862:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -15974,7 +15974,7 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "19837:32:0", + "src": "19862:32:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -15988,7 +15988,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1058, - "src": "19870:6:0", + "src": "19895:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15999,7 +15999,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "19837:40:0", + "src": "19862:40:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -16017,7 +16017,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "19880:4:0", + "src": "19905:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -16025,7 +16025,7 @@ }, "value": "true" }, - "src": "19837:47:0", + "src": "19862:47:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -16033,7 +16033,7 @@ }, "id": 1157, "nodeType": "ExpressionStatement", - "src": "19837:47:0" + "src": "19862:47:0" }, { "expression": { @@ -16056,7 +16056,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "19894:12:0", + "src": "19919:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -16070,7 +16070,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1066, - "src": "19907:10:0", + "src": "19932:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -16081,7 +16081,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "19894:24:0", + "src": "19919:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -16095,7 +16095,7 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "19894:32:0", + "src": "19919:32:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -16109,7 +16109,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1056, - "src": "19927:5:0", + "src": "19952:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -16120,7 +16120,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "19894:39:0", + "src": "19919:39:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -16138,7 +16138,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "19936:4:0", + "src": "19961:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -16146,7 +16146,7 @@ }, "value": "true" }, - "src": "19894:46:0", + "src": "19919:46:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -16154,7 +16154,7 @@ }, "id": 1166, "nodeType": "ExpressionStatement", - "src": "19894:46:0" + "src": "19919:46:0" }, { "expression": { @@ -16170,7 +16170,7 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "20047:44:0", + "src": "20072:44:0", "subExpression": { "argumentTypes": null, "baseExpression": { @@ -16184,7 +16184,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "20048:12:0", + "src": "20073:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -16198,7 +16198,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1066, - "src": "20061:10:0", + "src": "20086:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -16209,7 +16209,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20048:24:0", + "src": "20073:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -16223,7 +16223,7 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "20048:32:0", + "src": "20073:32:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -16237,7 +16237,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1060, - "src": "20081:9:0", + "src": "20106:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -16248,7 +16248,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20048:43:0", + "src": "20073:43:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -16269,7 +16269,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "20106:47:0", + "src": "20131:47:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_313b391557427937e7bdb85c7561d47c5b9c985755a448dd33a92026ffb38f8d", @@ -16297,7 +16297,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "20026:7:0", + "src": "20051:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -16311,7 +16311,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "20026:137:0", + "src": "20051:137:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -16319,7 +16319,7 @@ }, "id": 1177, "nodeType": "ExpressionStatement", - "src": "20026:137:0" + "src": "20051:137:0" }, { "condition": { @@ -16340,7 +16340,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1062, - "src": "20323:9:0", + "src": "20348:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -16358,7 +16358,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "20335:1:0", + "src": "20360:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -16366,7 +16366,7 @@ }, "value": "1" }, - "src": "20323:13:0", + "src": "20348:13:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -16375,11 +16375,11 @@ "falseBody": null, "id": 1191, "nodeType": "IfStatement", - "src": "20319:94:0", + "src": "20344:94:0", "trueBody": { "id": 1190, "nodeType": "Block", - "src": "20338:75:0", + "src": "20363:75:0", "statements": [ { "expression": { @@ -16402,7 +16402,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "20352:12:0", + "src": "20377:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -16416,7 +16416,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1066, - "src": "20365:10:0", + "src": "20390:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -16427,7 +16427,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20352:24:0", + "src": "20377:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -16441,7 +16441,7 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "20352:32:0", + "src": "20377:32:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -16455,7 +16455,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1060, - "src": "20385:9:0", + "src": "20410:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -16466,7 +16466,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "20352:43:0", + "src": "20377:43:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -16484,7 +16484,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "20398:4:0", + "src": "20423:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -16492,7 +16492,7 @@ }, "value": "true" }, - "src": "20352:50:0", + "src": "20377:50:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -16500,7 +16500,7 @@ }, "id": 1189, "nodeType": "ExpressionStatement", - "src": "20352:50:0" + "src": "20377:50:0" } ] } @@ -16516,7 +16516,7 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "20431:18:0", + "src": "20456:18:0", "subExpression": { "argumentTypes": null, "id": 1192, @@ -16524,7 +16524,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 78, - "src": "20431:16:0", + "src": "20456:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -16537,7 +16537,7 @@ }, "id": 1194, "nodeType": "ExpressionStatement", - "src": "20431:18:0" + "src": "20456:18:0" }, { "expression": { @@ -16550,7 +16550,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1066, - "src": "20491:10:0", + "src": "20516:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -16573,7 +16573,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 83, - "src": "20460:18:0", + "src": "20485:18:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_bytes32_$dyn_storage_$", "typeString": "mapping(address => bytes32[] storage ref)" @@ -16587,7 +16587,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1056, - "src": "20479:5:0", + "src": "20504:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -16598,7 +16598,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20460:25:0", + "src": "20485:25:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage", "typeString": "bytes32[] storage ref" @@ -16612,7 +16612,7 @@ "memberName": "push", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "20460:30:0", + "src": "20485:30:0", "typeDescriptions": { "typeIdentifier": "t_function_arraypush_nonpayable$_t_bytes32_$returns$_t_uint256_$", "typeString": "function (bytes32) returns (uint256)" @@ -16626,7 +16626,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "20460:42:0", + "src": "20485:42:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -16634,7 +16634,7 @@ }, "id": 1201, "nodeType": "ExpressionStatement", - "src": "20460:42:0" + "src": "20485:42:0" }, { "expression": { @@ -16647,7 +16647,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1066, - "src": "20544:10:0", + "src": "20569:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -16670,7 +16670,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 83, - "src": "20512:18:0", + "src": "20537:18:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_bytes32_$dyn_storage_$", "typeString": "mapping(address => bytes32[] storage ref)" @@ -16684,7 +16684,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1058, - "src": "20531:6:0", + "src": "20556:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -16695,7 +16695,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20512:26:0", + "src": "20537:26:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage", "typeString": "bytes32[] storage ref" @@ -16709,7 +16709,7 @@ "memberName": "push", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "20512:31:0", + "src": "20537:31:0", "typeDescriptions": { "typeIdentifier": "t_function_arraypush_nonpayable$_t_bytes32_$returns$_t_uint256_$", "typeString": "function (bytes32) returns (uint256)" @@ -16723,7 +16723,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "20512:43:0", + "src": "20537:43:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -16731,7 +16731,7 @@ }, "id": 1208, "nodeType": "ExpressionStatement", - "src": "20512:43:0" + "src": "20537:43:0" } ] }, @@ -16753,7 +16753,7 @@ "name": "buyer", "nodeType": "VariableDeclaration", "scope": 1210, - "src": "17949:13:0", + "src": "17980:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -16764,7 +16764,7 @@ "id": 1055, "name": "address", "nodeType": "ElementaryTypeName", - "src": "17949:7:0", + "src": "17980:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -16779,7 +16779,7 @@ "name": "seller", "nodeType": "VariableDeclaration", "scope": 1210, - "src": "17972:14:0", + "src": "18003:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -16790,7 +16790,7 @@ "id": 1057, "name": "address", "nodeType": "ElementaryTypeName", - "src": "17972:7:0", + "src": "18003:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -16805,7 +16805,7 @@ "name": "moderator", "nodeType": "VariableDeclaration", "scope": 1210, - "src": "17996:17:0", + "src": "18027:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -16816,7 +16816,7 @@ "id": 1059, "name": "address", "nodeType": "ElementaryTypeName", - "src": "17996:7:0", + "src": "18027:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -16831,7 +16831,7 @@ "name": "threshold", "nodeType": "VariableDeclaration", "scope": 1210, - "src": "18023:15:0", + "src": "18054:15:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -16842,7 +16842,7 @@ "id": 1061, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "18023:5:0", + "src": "18054:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -16857,7 +16857,7 @@ "name": "timeoutHours", "nodeType": "VariableDeclaration", "scope": 1210, - "src": "18048:19:0", + "src": "18079:19:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -16868,7 +16868,7 @@ "id": 1063, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "18048:6:0", + "src": "18079:6:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -16883,7 +16883,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 1210, - "src": "18077:18:0", + "src": "18108:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -16894,7 +16894,7 @@ "id": 1065, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "18077:7:0", + "src": "18108:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -16909,7 +16909,7 @@ "name": "value", "nodeType": "VariableDeclaration", "scope": 1210, - "src": "18105:13:0", + "src": "18136:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -16920,7 +16920,7 @@ "id": 1067, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "18105:7:0", + "src": "18136:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -16935,7 +16935,7 @@ "name": "uniqueId", "nodeType": "VariableDeclaration", "scope": 1210, - "src": "18128:16:0", + "src": "18159:16:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -16946,7 +16946,7 @@ "id": 1069, "name": "bytes20", "nodeType": "ElementaryTypeName", - "src": "18128:7:0", + "src": "18159:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -16961,7 +16961,7 @@ "name": "transactionType", "nodeType": "VariableDeclaration", "scope": 1210, - "src": "18154:31:0", + "src": "18185:31:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -16974,7 +16974,7 @@ "name": "TransactionType", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 12, - "src": "18154:15:0", + "src": "18185:15:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -16989,7 +16989,7 @@ "name": "tokenAddress", "nodeType": "VariableDeclaration", "scope": 1210, - "src": "18195:20:0", + "src": "18226:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -17000,7 +17000,7 @@ "id": 1073, "name": "address", "nodeType": "ElementaryTypeName", - "src": "18195:7:0", + "src": "18226:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -17010,27 +17010,27 @@ "visibility": "internal" } ], - "src": "17939:282:0" + "src": "17970:282:0" }, "payable": false, "returnParameters": { "id": 1076, "nodeType": "ParameterList", "parameters": [], - "src": "18242:0:0" + "src": "18273:0:0" }, "scope": 1211, - "src": "17915:2647:0", + "src": "17946:2641:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "private" } ], "scope": 1212, - "src": "460:20104:0" + "src": "460:20129:0" } ], - "src": "0:20565:0" + "src": "0:20590:0" }, "legacyAST": { "absolutePath": "/home/sameep/freelancing-projects/toptal/open baazar/publicRepo/smart-contracts/contracts/escrow/Escrow_v1_0.sol", @@ -17078,7 +17078,7 @@ "baseContracts": [], "contractDependencies": [], "contractKind": "contract", - "documentation": "@dev Supports ERC20 tokens\nThe escrow smart contract for the open bazaar trades in Ethereum\nThe smart contract is desgined keeping in mind the current wallet interface of the OB-core\nhttps://github.com/OpenBazaar/wallet-interface/blob/master/wallet.go\nCurrent wallet interface strictly adheres to UTXO(bitcoin) model", + "documentation": "@dev Supports ERC20 tokens\nThe escrow smart contract for the open bazaar trades in Ethereum\nThe smart contract is designed keeping in mind the current wallet interface of the OB-core\nhttps://github.com/OpenBazaar/wallet-interface/blob/master/wallet.go\nCurrent wallet interface strictly adheres to UTXO(bitcoin) model", "fullyImplemented": true, "id": 1211, "linearizedBaseContracts": [ @@ -17783,7 +17783,7 @@ "name": "voted", "nodeType": "VariableDeclaration", "scope": 71, - "src": "1398:28:0", + "src": "1390:28:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -17796,14 +17796,14 @@ "id": 63, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1406:7:0", + "src": "1398:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "Mapping", - "src": "1398:22:0", + "src": "1390:22:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -17812,7 +17812,7 @@ "id": 64, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "1415:4:0", + "src": "1407:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -17828,7 +17828,7 @@ "name": "beneficiaries", "nodeType": "VariableDeclaration", "scope": 71, - "src": "1468:36:0", + "src": "1460:36:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -17841,14 +17841,14 @@ "id": 67, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1476:7:0", + "src": "1468:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "Mapping", - "src": "1468:22:0", + "src": "1460:22:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -17857,7 +17857,7 @@ "id": 68, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "1485:4:0", + "src": "1477:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -17871,7 +17871,7 @@ "name": "Transaction", "nodeType": "StructDefinition", "scope": 1211, - "src": "934:605:0", + "src": "934:597:0", "visibility": "public" }, { @@ -17880,7 +17880,7 @@ "name": "transactions", "nodeType": "VariableDeclaration", "scope": 1211, - "src": "1545:51:0", + "src": "1537:51:0", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -17893,14 +17893,14 @@ "id": 72, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "1553:7:0", + "src": "1545:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "nodeType": "Mapping", - "src": "1545:31:0", + "src": "1537:31:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction)" @@ -17911,7 +17911,7 @@ "name": "Transaction", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 71, - "src": "1564:11:0", + "src": "1556:11:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction" @@ -17927,7 +17927,7 @@ "name": "transactionCount", "nodeType": "VariableDeclaration", "scope": 1211, - "src": "1603:35:0", + "src": "1595:35:0", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -17938,7 +17938,7 @@ "id": 76, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1603:7:0", + "src": "1595:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -17954,7 +17954,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1637:1:0", + "src": "1629:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -17970,7 +17970,7 @@ "name": "partyVsTransaction", "nodeType": "VariableDeclaration", "scope": 1211, - "src": "1715:55:0", + "src": "1709:55:0", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -17983,14 +17983,14 @@ "id": 79, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1723:7:0", + "src": "1717:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "Mapping", - "src": "1715:29:0", + "src": "1709:29:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_bytes32_$dyn_storage_$", "typeString": "mapping(address => bytes32[])" @@ -18000,7 +18000,7 @@ "id": 80, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "1734:7:0", + "src": "1728:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -18009,7 +18009,7 @@ "id": 81, "length": null, "nodeType": "ArrayTypeName", - "src": "1734:9:0", + "src": "1728:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -18023,7 +18023,7 @@ "body": { "id": 98, "nodeType": "Block", - "src": "1824:125:0", + "src": "1817:124:0", "statements": [ { "expression": { @@ -18051,7 +18051,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "1855:12:0", + "src": "1848:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -18065,7 +18065,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 85, - "src": "1868:10:0", + "src": "1861:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -18076,7 +18076,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "1855:24:0", + "src": "1848:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -18090,7 +18090,7 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": 40, - "src": "1855:30:0", + "src": "1848:30:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -18108,7 +18108,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1889:1:0", + "src": "1882:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -18116,7 +18116,7 @@ }, "value": "0" }, - "src": "1855:35:0", + "src": "1848:35:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -18124,7 +18124,7 @@ }, { "argumentTypes": null, - "hexValue": "5472616e73616374696f6e20646f6573206e6f7420657869737473", + "hexValue": "5472616e73616374696f6e20646f6573206e6f74206578697374", "id": 94, "isConstant": false, "isLValue": false, @@ -18132,13 +18132,13 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "1892:29:0", + "src": "1885:28:0", "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_stringliteral_e6218ab6010d379e919c5d8d62438c20b22e478fd60139b985d89cb57bc71538", - "typeString": "literal_string \"Transaction does not exists\"" + "typeIdentifier": "t_stringliteral_cb323e46bbcca91e157c2b50ad4ce2acbe1153338b838c84372d5723b8995ef0", + "typeString": "literal_string \"Transaction does not exist\"" }, - "value": "Transaction does not exists" + "value": "Transaction does not exist" } ], "expression": { @@ -18148,8 +18148,8 @@ "typeString": "bool" }, { - "typeIdentifier": "t_stringliteral_e6218ab6010d379e919c5d8d62438c20b22e478fd60139b985d89cb57bc71538", - "typeString": "literal_string \"Transaction does not exists\"" + "typeIdentifier": "t_stringliteral_cb323e46bbcca91e157c2b50ad4ce2acbe1153338b838c84372d5723b8995ef0", + "typeString": "literal_string \"Transaction does not exist\"" } ], "id": 87, @@ -18160,7 +18160,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "1834:7:0", + "src": "1827:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -18174,7 +18174,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1834:97:0", + "src": "1827:96:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -18182,18 +18182,18 @@ }, "id": 96, "nodeType": "ExpressionStatement", - "src": "1834:97:0" + "src": "1827:96:0" }, { "id": 97, "nodeType": "PlaceholderStatement", - "src": "1941:1:0" + "src": "1933:1:0" } ] }, "documentation": null, "id": 99, - "name": "transactionExists", + "name": "transactionExist", "nodeType": "ModifierDefinition", "parameters": { "id": 86, @@ -18205,7 +18205,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 99, - "src": "1804:18:0", + "src": "1797:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -18216,7 +18216,7 @@ "id": 84, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "1804:7:0", + "src": "1797:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -18226,16 +18226,16 @@ "visibility": "internal" } ], - "src": "1803:20:0" + "src": "1796:20:0" }, - "src": "1777:172:0", + "src": "1771:170:0", "visibility": "internal" }, { "body": { "id": 114, "nodeType": "Block", - "src": "2010:94:0", + "src": "2000:93:0", "statements": [ { "expression": { @@ -18263,7 +18263,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "2028:12:0", + "src": "2018:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -18277,7 +18277,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 101, - "src": "2041:10:0", + "src": "2031:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -18288,7 +18288,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "2028:24:0", + "src": "2018:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -18302,7 +18302,7 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": 40, - "src": "2028:30:0", + "src": "2018:30:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -18320,7 +18320,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2062:1:0", + "src": "2052:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -18328,7 +18328,7 @@ }, "value": "0" }, - "src": "2028:35:0", + "src": "2018:35:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -18336,7 +18336,7 @@ }, { "argumentTypes": null, - "hexValue": "5472616e73616374696f6e20657869737473", + "hexValue": "5472616e73616374696f6e206578697374", "id": 110, "isConstant": false, "isLValue": false, @@ -18344,13 +18344,13 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "2065:20:0", + "src": "2055:19:0", "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_stringliteral_64ff8d63c933e41af18e90354a9e9e0a94a0877b0dd96b73b67df48f68d00e8a", - "typeString": "literal_string \"Transaction exists\"" + "typeIdentifier": "t_stringliteral_4f41f109da323167d042f4559ebd6e2dc42fdbc2be1a2cea9ff6130572900782", + "typeString": "literal_string \"Transaction exist\"" }, - "value": "Transaction exists" + "value": "Transaction exist" } ], "expression": { @@ -18360,8 +18360,8 @@ "typeString": "bool" }, { - "typeIdentifier": "t_stringliteral_64ff8d63c933e41af18e90354a9e9e0a94a0877b0dd96b73b67df48f68d00e8a", - "typeString": "literal_string \"Transaction exists\"" + "typeIdentifier": "t_stringliteral_4f41f109da323167d042f4559ebd6e2dc42fdbc2be1a2cea9ff6130572900782", + "typeString": "literal_string \"Transaction exist\"" } ], "id": 103, @@ -18372,7 +18372,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "2020:7:0", + "src": "2010:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -18386,7 +18386,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2020:66:0", + "src": "2010:65:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -18394,18 +18394,18 @@ }, "id": 112, "nodeType": "ExpressionStatement", - "src": "2020:66:0" + "src": "2010:65:0" }, { "id": 113, "nodeType": "PlaceholderStatement", - "src": "2096:1:0" + "src": "2085:1:0" } ] }, "documentation": null, "id": 115, - "name": "transactionDoesNotExists", + "name": "transactionDoesNotExist", "nodeType": "ModifierDefinition", "parameters": { "id": 102, @@ -18417,7 +18417,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 115, - "src": "1990:18:0", + "src": "1980:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -18428,7 +18428,7 @@ "id": 100, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "1990:7:0", + "src": "1980:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -18438,16 +18438,16 @@ "visibility": "internal" } ], - "src": "1989:20:0" + "src": "1979:20:0" }, - "src": "1955:149:0", + "src": "1947:146:0", "visibility": "internal" }, { "body": { "id": 131, "nodeType": "Block", - "src": "2153:145:0", + "src": "2142:145:0", "statements": [ { "expression": { @@ -18475,7 +18475,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "2184:12:0", + "src": "2173:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -18489,7 +18489,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 117, - "src": "2197:10:0", + "src": "2186:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -18500,7 +18500,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "2184:24:0", + "src": "2173:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -18514,7 +18514,7 @@ "memberName": "status", "nodeType": "MemberAccess", "referencedDeclaration": 44, - "src": "2184:31:0", + "src": "2173:31:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$9", "typeString": "enum Escrow_v1_0.Status" @@ -18531,7 +18531,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9, - "src": "2219:6:0", + "src": "2208:6:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_Status_$9_$", "typeString": "type(enum Escrow_v1_0.Status)" @@ -18545,13 +18545,13 @@ "memberName": "FUNDED", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "2219:13:0", + "src": "2208:13:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$9", "typeString": "enum Escrow_v1_0.Status" } }, - "src": "2184:48:0", + "src": "2173:48:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -18567,7 +18567,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "2234:36:0", + "src": "2223:36:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_5244efce1630cfae7257c0817c921ae75135c1043344a4cf9a1988c03337f39d", @@ -18595,7 +18595,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "2163:7:0", + "src": "2152:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -18609,7 +18609,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2163:117:0", + "src": "2152:117:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -18617,12 +18617,12 @@ }, "id": 129, "nodeType": "ExpressionStatement", - "src": "2163:117:0" + "src": "2152:117:0" }, { "id": 130, "nodeType": "PlaceholderStatement", - "src": "2290:1:0" + "src": "2279:1:0" } ] }, @@ -18640,7 +18640,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 132, - "src": "2133:18:0", + "src": "2122:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -18651,7 +18651,7 @@ "id": 116, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "2133:7:0", + "src": "2122:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -18661,16 +18661,16 @@ "visibility": "internal" } ], - "src": "2132:20:0" + "src": "2121:20:0" }, - "src": "2110:188:0", + "src": "2099:188:0", "visibility": "internal" }, { "body": { "id": 146, "nodeType": "Block", - "src": "2352:88:0", + "src": "2341:88:0", "statements": [ { "expression": { @@ -18694,7 +18694,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 134, - "src": "2370:14:0", + "src": "2359:14:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -18715,7 +18715,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2396:1:0", + "src": "2385:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -18737,7 +18737,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "2388:7:0", + "src": "2377:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" @@ -18752,13 +18752,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2388:10:0", + "src": "2377:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "2370:28:0", + "src": "2359:28:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -18774,7 +18774,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "2400:21:0", + "src": "2389:21:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_93e85f37f73cf8e1b855512ab7e00aab2b791117712ecb476daeb6c2c0a27a67", @@ -18802,7 +18802,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "2362:7:0", + "src": "2351:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -18816,7 +18816,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2362:60:0", + "src": "2351:60:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -18824,12 +18824,12 @@ }, "id": 144, "nodeType": "ExpressionStatement", - "src": "2362:60:0" + "src": "2351:60:0" }, { "id": 145, "nodeType": "PlaceholderStatement", - "src": "2432:1:0" + "src": "2421:1:0" } ] }, @@ -18847,7 +18847,7 @@ "name": "addressToCheck", "nodeType": "VariableDeclaration", "scope": 147, - "src": "2328:22:0", + "src": "2317:22:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -18858,7 +18858,7 @@ "id": 133, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2328:7:0", + "src": "2317:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -18868,16 +18868,16 @@ "visibility": "internal" } ], - "src": "2327:24:0" + "src": "2316:24:0" }, - "src": "2304:136:0", + "src": "2293:136:0", "visibility": "internal" }, { "body": { "id": 164, "nodeType": "Block", - "src": "2555:153:0", + "src": "2544:153:0", "statements": [ { "expression": { @@ -18905,7 +18905,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "2586:12:0", + "src": "2575:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -18919,7 +18919,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 149, - "src": "2599:10:0", + "src": "2588:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -18930,7 +18930,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "2586:24:0", + "src": "2575:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -18944,7 +18944,7 @@ "memberName": "transactionType", "nodeType": "MemberAccess", "referencedDeclaration": 46, - "src": "2586:40:0", + "src": "2575:40:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -18959,13 +18959,13 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 151, - "src": "2630:15:0", + "src": "2619:15:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" } }, - "src": "2586:59:0", + "src": "2575:59:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -18981,7 +18981,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "2647:33:0", + "src": "2636:33:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_c798eb33a8bd5d4c22212d5c8611219bb87da2d82aefe8e88b1f970a0f133cc3", @@ -19009,7 +19009,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "2565:7:0", + "src": "2554:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -19023,7 +19023,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2565:125:0", + "src": "2554:125:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -19031,12 +19031,12 @@ }, "id": 162, "nodeType": "ExpressionStatement", - "src": "2565:125:0" + "src": "2554:125:0" }, { "id": 163, "nodeType": "PlaceholderStatement", - "src": "2700:1:0" + "src": "2689:1:0" } ] }, @@ -19054,7 +19054,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 165, - "src": "2485:18:0", + "src": "2474:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -19065,7 +19065,7 @@ "id": 148, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "2485:7:0", + "src": "2474:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -19080,7 +19080,7 @@ "name": "transactionType", "nodeType": "VariableDeclaration", "scope": 165, - "src": "2513:31:0", + "src": "2502:31:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -19093,7 +19093,7 @@ "name": "TransactionType", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 12, - "src": "2513:15:0", + "src": "2502:15:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -19103,16 +19103,16 @@ "visibility": "internal" } ], - "src": "2475:75:0" + "src": "2464:75:0" }, - "src": "2446:262:0", + "src": "2435:262:0", "visibility": "internal" }, { "body": { "id": 181, "nodeType": "Block", - "src": "2753:152:0", + "src": "2742:152:0", "statements": [ { "expression": { @@ -19138,7 +19138,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1384, - "src": "2784:3:0", + "src": "2773:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -19152,7 +19152,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "2784:10:0", + "src": "2773:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -19171,7 +19171,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "2798:12:0", + "src": "2787:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -19185,7 +19185,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 167, - "src": "2811:10:0", + "src": "2800:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -19196,7 +19196,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "2798:24:0", + "src": "2787:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -19210,13 +19210,13 @@ "memberName": "buyer", "nodeType": "MemberAccess", "referencedDeclaration": 52, - "src": "2798:30:0", + "src": "2787:30:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "2784:44:0", + "src": "2773:44:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -19232,7 +19232,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "2830:47:0", + "src": "2819:47:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_b4fc72d2373e6fc668b2bc10a6c84713d84de5f4dc58bb69053e1a18ae67c2f9", @@ -19260,7 +19260,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "2763:7:0", + "src": "2752:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -19274,7 +19274,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2763:124:0", + "src": "2752:124:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -19282,12 +19282,12 @@ }, "id": 179, "nodeType": "ExpressionStatement", - "src": "2763:124:0" + "src": "2752:124:0" }, { "id": 180, "nodeType": "PlaceholderStatement", - "src": "2897:1:0" + "src": "2886:1:0" } ] }, @@ -19305,7 +19305,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 182, - "src": "2733:18:0", + "src": "2722:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -19316,7 +19316,7 @@ "id": 166, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "2733:7:0", + "src": "2722:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -19326,16 +19326,16 @@ "visibility": "internal" } ], - "src": "2732:20:0" + "src": "2721:20:0" }, - "src": "2714:191:0", + "src": "2703:191:0", "visibility": "internal" }, { "body": { "id": 233, "nodeType": "Block", - "src": "4030:347:0", + "src": "4031:347:0", "statements": [ { "expression": { @@ -19348,7 +19348,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 184, - "src": "4069:5:0", + "src": "4070:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -19361,7 +19361,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 186, - "src": "4088:6:0", + "src": "4089:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -19374,7 +19374,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 188, - "src": "4108:9:0", + "src": "4109:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -19387,7 +19387,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 190, - "src": "4131:9:0", + "src": "4132:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -19400,7 +19400,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 192, - "src": "4154:12:0", + "src": "4155:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -19413,7 +19413,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 194, - "src": "4180:10:0", + "src": "4181:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -19428,7 +19428,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1384, - "src": "4204:3:0", + "src": "4205:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -19442,7 +19442,7 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "4204:9:0", + "src": "4205:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -19455,7 +19455,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 196, - "src": "4227:8:0", + "src": "4228:8:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -19470,7 +19470,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12, - "src": "4249:15:0", + "src": "4250:15:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_TransactionType_$12_$", "typeString": "type(enum Escrow_v1_0.TransactionType)" @@ -19484,7 +19484,7 @@ "memberName": "ETHER", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "4249:21:0", + "src": "4250:21:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -19503,7 +19503,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "4292:1:0", + "src": "4293:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -19525,7 +19525,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "4284:7:0", + "src": "4285:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" @@ -19540,7 +19540,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4284:10:0", + "src": "4285:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -19595,7 +19595,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1210, - "src": "4040:15:0", + "src": "4041:15:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_address_$_t_uint8_$_t_uint32_$_t_bytes32_$_t_uint256_$_t_bytes20_$_t_enum$_TransactionType_$12_$_t_address_$returns$__$", "typeString": "function (address,address,address,uint8,uint32,bytes32,uint256,bytes20,enum Escrow_v1_0.TransactionType,address)" @@ -19609,7 +19609,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4040:264:0", + "src": "4041:264:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -19617,7 +19617,7 @@ }, "id": 224, "nodeType": "ExpressionStatement", - "src": "4040:264:0" + "src": "4041:264:0" }, { "eventCall": { @@ -19630,7 +19630,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 194, - "src": "4335:10:0", + "src": "4336:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -19645,7 +19645,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1384, - "src": "4347:3:0", + "src": "4348:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -19659,7 +19659,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "4347:10:0", + "src": "4348:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -19674,7 +19674,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1384, - "src": "4359:3:0", + "src": "4360:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -19688,7 +19688,7 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "4359:9:0", + "src": "4360:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -19715,7 +19715,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 38, - "src": "4328:6:0", + "src": "4329:6:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (bytes32,address,uint256)" @@ -19729,7 +19729,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4328:41:0", + "src": "4329:41:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -19737,11 +19737,11 @@ }, "id": 232, "nodeType": "EmitStatement", - "src": "4323:46:0" + "src": "4324:46:0" } ] }, - "documentation": "dev Add new transaction in the contract\nparam buyer The buyer of the transaction\nparam seller The seller of the listing associated with the transaction\nparam moderator Moderator for this transaction\nparam scriptHash keccak256 hash of the redeem script\nparam threshold Minimum number of singatures required to released funds\nparam timeoutHours Hours after which seller can release funds into his favour by signing transaction\nparam uniqueId bytes20 unique id for the transaction, generated by ETH wallet\nedeem Script format will be following\n\nass amount of the ethers to be put in escrow", + "documentation": "dev Add new transaction in the contract\nparam buyer The buyer of the transaction\nparam seller The seller of the listing associated with the transaction\nparam moderator Moderator for this transaction\nparam scriptHash keccak256 hash of the redeem script\nparam threshold Minimum number of signatures required to released funds\nparam timeoutHours Hours after which seller can release funds into his favour by signing transaction unilaterally\nparam uniqueId bytes20 unique id for the transaction, generated by ETH wallet\nedeem Script format will be following\n\nass amount of the ethers to be put in escrow", "id": 234, "implemented": true, "isConstructor": false, @@ -19756,7 +19756,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 194, - "src": "3953:10:0", + "src": "3954:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -19767,18 +19767,18 @@ "modifierName": { "argumentTypes": null, "id": 198, - "name": "transactionDoesNotExists", + "name": "transactionDoesNotExist", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 115, - "src": "3928:24:0", + "src": "3930:23:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "3928:36:0" + "src": "3930:35:0" }, { "arguments": [ @@ -19789,7 +19789,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 184, - "src": "3988:5:0", + "src": "3989:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -19804,14 +19804,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 147, - "src": "3973:14:0", + "src": "3974:14:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_address_$", "typeString": "modifier (address)" } }, "nodeType": "ModifierInvocation", - "src": "3973:21:0" + "src": "3974:21:0" }, { "arguments": [ @@ -19822,7 +19822,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 186, - "src": "4018:6:0", + "src": "4019:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -19837,14 +19837,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 147, - "src": "4003:14:0", + "src": "4004:14:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_address_$", "typeString": "modifier (address)" } }, "nodeType": "ModifierInvocation", - "src": "4003:22:0" + "src": "4004:22:0" } ], "name": "addTransaction", @@ -19859,7 +19859,7 @@ "name": "buyer", "nodeType": "VariableDeclaration", "scope": 234, - "src": "3708:13:0", + "src": "3710:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -19870,7 +19870,7 @@ "id": 183, "name": "address", "nodeType": "ElementaryTypeName", - "src": "3708:7:0", + "src": "3710:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -19885,7 +19885,7 @@ "name": "seller", "nodeType": "VariableDeclaration", "scope": 234, - "src": "3731:14:0", + "src": "3733:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -19896,7 +19896,7 @@ "id": 185, "name": "address", "nodeType": "ElementaryTypeName", - "src": "3731:7:0", + "src": "3733:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -19911,7 +19911,7 @@ "name": "moderator", "nodeType": "VariableDeclaration", "scope": 234, - "src": "3755:17:0", + "src": "3757:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -19922,7 +19922,7 @@ "id": 187, "name": "address", "nodeType": "ElementaryTypeName", - "src": "3755:7:0", + "src": "3757:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -19937,7 +19937,7 @@ "name": "threshold", "nodeType": "VariableDeclaration", "scope": 234, - "src": "3782:15:0", + "src": "3784:15:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -19948,7 +19948,7 @@ "id": 189, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "3782:5:0", + "src": "3784:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -19963,7 +19963,7 @@ "name": "timeoutHours", "nodeType": "VariableDeclaration", "scope": 234, - "src": "3807:19:0", + "src": "3809:19:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -19974,7 +19974,7 @@ "id": 191, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "3807:6:0", + "src": "3809:6:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -19989,7 +19989,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 234, - "src": "3836:18:0", + "src": "3838:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -20000,7 +20000,7 @@ "id": 193, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "3836:7:0", + "src": "3838:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -20015,7 +20015,7 @@ "name": "uniqueId", "nodeType": "VariableDeclaration", "scope": 234, - "src": "3864:16:0", + "src": "3866:16:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -20026,7 +20026,7 @@ "id": 195, "name": "bytes20", "nodeType": "ElementaryTypeName", - "src": "3864:7:0", + "src": "3866:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -20036,17 +20036,17 @@ "visibility": "internal" } ], - "src": "3698:188:0" + "src": "3700:188:0" }, "payable": true, "returnParameters": { "id": 207, "nodeType": "ParameterList", "parameters": [], - "src": "4030:0:0" + "src": "4031:0:0" }, "scope": 1211, - "src": "3675:702:0", + "src": "3677:701:0", "stateMutability": "payable", "superFunction": null, "visibility": "external" @@ -20055,7 +20055,7 @@ "body": { "id": 305, "nodeType": "Block", - "src": "5728:587:0", + "src": "5745:588:0", "statements": [ { "expression": { @@ -20068,7 +20068,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 236, - "src": "5768:5:0", + "src": "5785:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -20081,7 +20081,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 238, - "src": "5787:6:0", + "src": "5804:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -20094,7 +20094,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 240, - "src": "5807:9:0", + "src": "5824:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -20107,7 +20107,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 242, - "src": "5830:9:0", + "src": "5847:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -20120,7 +20120,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 244, - "src": "5853:12:0", + "src": "5870:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -20133,7 +20133,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 246, - "src": "5879:10:0", + "src": "5896:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -20146,7 +20146,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 248, - "src": "5903:5:0", + "src": "5920:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -20159,7 +20159,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 250, - "src": "5922:8:0", + "src": "5939:8:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -20174,7 +20174,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12, - "src": "5944:15:0", + "src": "5961:15:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_TransactionType_$12_$", "typeString": "type(enum Escrow_v1_0.TransactionType)" @@ -20188,7 +20188,7 @@ "memberName": "TOKEN", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "5944:21:0", + "src": "5961:21:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -20201,7 +20201,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 252, - "src": "5979:12:0", + "src": "5996:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -20256,7 +20256,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1210, - "src": "5739:15:0", + "src": "5756:15:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_address_$_t_uint8_$_t_uint32_$_t_bytes32_$_t_uint256_$_t_bytes20_$_t_enum$_TransactionType_$12_$_t_address_$returns$__$", "typeString": "function (address,address,address,uint8,uint32,bytes32,uint256,bytes20,enum Escrow_v1_0.TransactionType,address)" @@ -20270,7 +20270,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5739:262:0", + "src": "5756:262:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -20278,7 +20278,7 @@ }, "id": 280, "nodeType": "ExpressionStatement", - "src": "5739:262:0" + "src": "5756:262:0" }, { "assignments": [ @@ -20291,7 +20291,7 @@ "name": "token", "nodeType": "VariableDeclaration", "scope": 306, - "src": "6012:20:0", + "src": "6029:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -20304,7 +20304,7 @@ "name": "ITokenContract", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 1241, - "src": "6012:14:0", + "src": "6029:14:0", "typeDescriptions": { "typeIdentifier": "t_contract$_ITokenContract_$1241", "typeString": "contract ITokenContract" @@ -20325,7 +20325,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 252, - "src": "6050:12:0", + "src": "6067:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -20344,7 +20344,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1241, - "src": "6035:14:0", + "src": "6052:14:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_ITokenContract_$1241_$", "typeString": "type(contract ITokenContract)" @@ -20358,14 +20358,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6035:28:0", + "src": "6052:28:0", "typeDescriptions": { "typeIdentifier": "t_contract$_ITokenContract_$1241", "typeString": "contract ITokenContract" } }, "nodeType": "VariableDeclarationStatement", - "src": "6012:51:0" + "src": "6029:51:0" }, { "expression": { @@ -20383,7 +20383,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1384, - "src": "6114:3:0", + "src": "6131:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -20397,7 +20397,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "6114:10:0", + "src": "6131:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -20410,7 +20410,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1401, - "src": "6126:4:0", + "src": "6143:4:0", "typeDescriptions": { "typeIdentifier": "t_contract$_Escrow_v1_0_$1211", "typeString": "contract Escrow_v1_0" @@ -20423,7 +20423,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 248, - "src": "6132:5:0", + "src": "6149:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -20452,7 +20452,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 282, - "src": "6095:5:0", + "src": "6112:5:0", "typeDescriptions": { "typeIdentifier": "t_contract$_ITokenContract_$1241", "typeString": "contract ITokenContract" @@ -20466,7 +20466,7 @@ "memberName": "transferFrom", "nodeType": "MemberAccess", "referencedDeclaration": 1240, - "src": "6095:18:0", + "src": "6112:18:0", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", "typeString": "function (address,address,uint256) external returns (bool)" @@ -20480,7 +20480,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6095:43:0", + "src": "6112:43:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -20488,7 +20488,7 @@ }, { "argumentTypes": null, - "hexValue": "546f6b656e207472616e73666572206661696c65642c206d6179626520796f7520646964206e6f7420617070726f766520657363726f7720636f6e747261637420746f207370656e64206f6e20626568616c66206f66206275796572", + "hexValue": "546f6b656e207472616e73666572206661696c65642c206d6179626520796f7520646964206e6f7420617070726f766520657363726f7720636f6e747261637420746f207370656e64206f6e20626568616c66206f662073656e646572", "id": 295, "isConstant": false, "isLValue": false, @@ -20496,13 +20496,13 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "6152:94:0", + "src": "6169:95:0", "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_stringliteral_d9d07068d589bc4adc53018a3c57c159ec128fdfb62732a5fa9410e76cf03318", - "typeString": "literal_string \"Token transfer failed, maybe you did not approve escrow contract to spend on behalf of buyer\"" + "typeIdentifier": "t_stringliteral_d81b627ac67759234197a5bdf4d9f7d33298e824ce7bd47e08ce9919cd96c696", + "typeString": "literal_string \"Token transfer failed, maybe you did not approve escrow contract to spend on behalf of sender\"" }, - "value": "Token transfer failed, maybe you did not approve escrow contract to spend on behalf of buyer" + "value": "Token transfer failed, maybe you did not approve escrow contract to spend on behalf of sender" } ], "expression": { @@ -20512,8 +20512,8 @@ "typeString": "bool" }, { - "typeIdentifier": "t_stringliteral_d9d07068d589bc4adc53018a3c57c159ec128fdfb62732a5fa9410e76cf03318", - "typeString": "literal_string \"Token transfer failed, maybe you did not approve escrow contract to spend on behalf of buyer\"" + "typeIdentifier": "t_stringliteral_d81b627ac67759234197a5bdf4d9f7d33298e824ce7bd47e08ce9919cd96c696", + "typeString": "literal_string \"Token transfer failed, maybe you did not approve escrow contract to spend on behalf of sender\"" } ], "id": 287, @@ -20524,7 +20524,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "6074:7:0", + "src": "6091:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -20538,7 +20538,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6074:182:0", + "src": "6091:183:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -20546,7 +20546,7 @@ }, "id": 297, "nodeType": "ExpressionStatement", - "src": "6074:182:0" + "src": "6091:183:0" }, { "eventCall": { @@ -20559,7 +20559,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 246, - "src": "6278:10:0", + "src": "6296:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -20574,7 +20574,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1384, - "src": "6290:3:0", + "src": "6308:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -20588,7 +20588,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "6290:10:0", + "src": "6308:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -20601,7 +20601,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 248, - "src": "6302:5:0", + "src": "6320:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -20628,7 +20628,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 38, - "src": "6271:6:0", + "src": "6289:6:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (bytes32,address,uint256)" @@ -20642,7 +20642,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6271:37:0", + "src": "6289:37:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -20650,11 +20650,11 @@ }, "id": 304, "nodeType": "EmitStatement", - "src": "6266:42:0" + "src": "6284:42:0" } ] }, - "documentation": "dev Add new transaction in the contract\nparam buyer The buyer of the transaction\nparam seller The seller of the listing associated with the transaction\nparam moderator Moderator for this transaction\nparam scriptHash keccak256 hash of the redeem script\nparam threshold Minimum number of singatures required to released funds\nparam timeoutHours Hours after which seller can release funds into his favour by signing transaction\nparam value Amount of tokens to be put in escrow\nparam uniqueId bytes20 unique id for the transaction, generated by ETH wallet\nparam tokenAddress Address of the token to be used\nedeem Script format will be following\n\npprove escrow contract to spend amount of token on your behalf", + "documentation": "dev Add new transaction in the contract\nparam buyer The buyer of the transaction\nparam seller The seller of the listing associated with the transaction\nparam moderator Moderator for this transaction\nparam scriptHash keccak256 hash of the redeem script\nparam threshold Minimum number of signatures required to released funds\nparam timeoutHours Hours after which seller can release funds into his favour by signing transaction unilaterally\nparam value Amount of tokens to be put in escrow\nparam uniqueId bytes20 unique id for the transaction, generated by ETH wallet\nparam tokenAddress Address of the token to be used\nedeem Script format will be following\n\npprove escrow contract to spend amount of token on sender's behalf", "id": 306, "implemented": true, "isConstructor": false, @@ -20669,7 +20669,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 246, - "src": "5614:10:0", + "src": "5631:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -20680,18 +20680,18 @@ "modifierName": { "argumentTypes": null, "id": 254, - "name": "transactionDoesNotExists", + "name": "transactionDoesNotExist", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 115, - "src": "5589:24:0", + "src": "5607:23:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "5589:36:0" + "src": "5607:35:0" }, { "arguments": [ @@ -20702,7 +20702,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 236, - "src": "5649:5:0", + "src": "5666:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -20717,14 +20717,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 147, - "src": "5634:14:0", + "src": "5651:14:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_address_$", "typeString": "modifier (address)" } }, "nodeType": "ModifierInvocation", - "src": "5634:21:0" + "src": "5651:21:0" }, { "arguments": [ @@ -20735,7 +20735,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 238, - "src": "5679:6:0", + "src": "5696:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -20750,14 +20750,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 147, - "src": "5664:14:0", + "src": "5681:14:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_address_$", "typeString": "modifier (address)" } }, "nodeType": "ModifierInvocation", - "src": "5664:22:0" + "src": "5681:22:0" }, { "arguments": [ @@ -20768,7 +20768,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 252, - "src": "5710:12:0", + "src": "5727:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -20783,14 +20783,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 147, - "src": "5695:14:0", + "src": "5712:14:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_address_$", "typeString": "modifier (address)" } }, "nodeType": "ModifierInvocation", - "src": "5695:28:0" + "src": "5712:28:0" } ], "name": "addTokenTransaction", @@ -20805,7 +20805,7 @@ "name": "buyer", "nodeType": "VariableDeclaration", "scope": 306, - "src": "5332:13:0", + "src": "5350:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -20816,7 +20816,7 @@ "id": 235, "name": "address", "nodeType": "ElementaryTypeName", - "src": "5332:7:0", + "src": "5350:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -20831,7 +20831,7 @@ "name": "seller", "nodeType": "VariableDeclaration", "scope": 306, - "src": "5355:14:0", + "src": "5373:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -20842,7 +20842,7 @@ "id": 237, "name": "address", "nodeType": "ElementaryTypeName", - "src": "5355:7:0", + "src": "5373:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -20857,7 +20857,7 @@ "name": "moderator", "nodeType": "VariableDeclaration", "scope": 306, - "src": "5379:17:0", + "src": "5397:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -20868,7 +20868,7 @@ "id": 239, "name": "address", "nodeType": "ElementaryTypeName", - "src": "5379:7:0", + "src": "5397:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -20883,7 +20883,7 @@ "name": "threshold", "nodeType": "VariableDeclaration", "scope": 306, - "src": "5406:15:0", + "src": "5424:15:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -20894,7 +20894,7 @@ "id": 241, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "5406:5:0", + "src": "5424:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -20909,7 +20909,7 @@ "name": "timeoutHours", "nodeType": "VariableDeclaration", "scope": 306, - "src": "5431:19:0", + "src": "5449:19:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -20920,7 +20920,7 @@ "id": 243, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "5431:6:0", + "src": "5449:6:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -20935,7 +20935,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 306, - "src": "5460:18:0", + "src": "5478:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -20946,7 +20946,7 @@ "id": 245, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "5460:7:0", + "src": "5478:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -20961,7 +20961,7 @@ "name": "value", "nodeType": "VariableDeclaration", "scope": 306, - "src": "5488:13:0", + "src": "5506:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -20972,7 +20972,7 @@ "id": 247, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "5488:7:0", + "src": "5506:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -20987,7 +20987,7 @@ "name": "uniqueId", "nodeType": "VariableDeclaration", "scope": 306, - "src": "5511:16:0", + "src": "5529:16:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -20998,7 +20998,7 @@ "id": 249, "name": "bytes20", "nodeType": "ElementaryTypeName", - "src": "5511:7:0", + "src": "5529:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -21013,7 +21013,7 @@ "name": "tokenAddress", "nodeType": "VariableDeclaration", "scope": 306, - "src": "5537:20:0", + "src": "5555:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -21024,7 +21024,7 @@ "id": 251, "name": "address", "nodeType": "ElementaryTypeName", - "src": "5537:7:0", + "src": "5555:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -21034,17 +21034,17 @@ "visibility": "internal" } ], - "src": "5322:241:0" + "src": "5340:241:0" }, "payable": false, "returnParameters": { "id": 266, "nodeType": "ParameterList", "parameters": [], - "src": "5728:0:0" + "src": "5745:0:0" }, "scope": 1211, - "src": "5294:1021:0", + "src": "5312:1021:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" @@ -21053,7 +21053,7 @@ "body": { "id": 322, "nodeType": "Block", - "src": "6685:75:0", + "src": "6720:75:0", "statements": [ { "expression": { @@ -21069,7 +21069,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "6702:12:0", + "src": "6737:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -21083,7 +21083,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 308, - "src": "6715:10:0", + "src": "6750:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -21094,7 +21094,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "6702:24:0", + "src": "6737:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -21108,7 +21108,7 @@ "memberName": "beneficiaries", "nodeType": "MemberAccess", "referencedDeclaration": 70, - "src": "6702:38:0", + "src": "6737:38:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -21122,7 +21122,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 310, - "src": "6741:11:0", + "src": "6776:11:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -21133,7 +21133,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "6702:51:0", + "src": "6737:51:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -21142,11 +21142,11 @@ "functionReturnParameters": 314, "id": 321, "nodeType": "Return", - "src": "6695:58:0" + "src": "6730:58:0" } ] }, - "documentation": "@dev Check whether given address was a beneficiary of transaction execution or not\n@param scriptHash script hash of the transaction\n@param beneficiary Beneficiary address to be checked", + "documentation": "@dev This method will check whether given address was a beneficiary of transaction execution or not\n@param scriptHash script hash of the transaction\n@param beneficiary Beneficiary address to be checked", "id": 323, "implemented": true, "isConstructor": false, @@ -21164,7 +21164,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 323, - "src": "6574:18:0", + "src": "6609:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -21175,7 +21175,7 @@ "id": 307, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "6574:7:0", + "src": "6609:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -21190,7 +21190,7 @@ "name": "beneficiary", "nodeType": "VariableDeclaration", "scope": 323, - "src": "6602:19:0", + "src": "6637:19:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -21201,7 +21201,7 @@ "id": 309, "name": "address", "nodeType": "ElementaryTypeName", - "src": "6602:7:0", + "src": "6637:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -21211,7 +21211,7 @@ "visibility": "internal" } ], - "src": "6564:63:0" + "src": "6599:63:0" }, "payable": false, "returnParameters": { @@ -21224,7 +21224,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 323, - "src": "6675:4:0", + "src": "6710:4:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -21235,7 +21235,7 @@ "id": 312, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "6675:4:0", + "src": "6710:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -21245,10 +21245,10 @@ "visibility": "internal" } ], - "src": "6674:6:0" + "src": "6709:6:0" }, "scope": 1211, - "src": "6539:221:0", + "src": "6574:221:0", "stateMutability": "view", "superFunction": null, "visibility": "external" @@ -21257,7 +21257,7 @@ "body": { "id": 339, "nodeType": "Block", - "src": "7116:61:0", + "src": "7168:61:0", "statements": [ { "expression": { @@ -21273,7 +21273,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "7133:12:0", + "src": "7185:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -21287,7 +21287,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 325, - "src": "7146:10:0", + "src": "7198:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -21298,7 +21298,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "7133:24:0", + "src": "7185:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -21312,7 +21312,7 @@ "memberName": "voted", "nodeType": "MemberAccess", "referencedDeclaration": 66, - "src": "7133:30:0", + "src": "7185:30:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -21326,7 +21326,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 327, - "src": "7164:5:0", + "src": "7216:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -21337,7 +21337,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "7133:37:0", + "src": "7185:37:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -21346,11 +21346,11 @@ "functionReturnParameters": 331, "id": 338, "nodeType": "Return", - "src": "7126:44:0" + "src": "7178:44:0" } ] }, - "documentation": "@dev Check whether given party has voted or not\n@param scriptHash script hash of the transaction\n@param party Address of the party whose vote has to be checked\n@return bool vote", + "documentation": "@dev This method will check whether given party has voted or not\n@param scriptHash script hash of the transaction\n@param party Address of the party whose vote has to be checked\n@return bool vote", "id": 340, "implemented": true, "isConstructor": false, @@ -21368,7 +21368,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 340, - "src": "7011:18:0", + "src": "7063:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -21379,7 +21379,7 @@ "id": 324, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "7011:7:0", + "src": "7063:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -21394,7 +21394,7 @@ "name": "party", "nodeType": "VariableDeclaration", "scope": 340, - "src": "7039:13:0", + "src": "7091:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -21405,7 +21405,7 @@ "id": 326, "name": "address", "nodeType": "ElementaryTypeName", - "src": "7039:7:0", + "src": "7091:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -21415,7 +21415,7 @@ "visibility": "internal" } ], - "src": "7001:57:0" + "src": "7053:57:0" }, "payable": false, "returnParameters": { @@ -21428,7 +21428,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 340, - "src": "7106:4:0", + "src": "7158:4:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -21439,7 +21439,7 @@ "id": 329, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "7106:4:0", + "src": "7158:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -21449,10 +21449,10 @@ "visibility": "internal" } ], - "src": "7105:6:0" + "src": "7157:6:0" }, "scope": 1211, - "src": "6983:194:0", + "src": "7035:194:0", "stateMutability": "view", "superFunction": null, "visibility": "external" @@ -21461,7 +21461,7 @@ "body": { "id": 399, "nodeType": "Block", - "src": "7781:330:0", + "src": "7832:330:0", "statements": [ { "assignments": [ @@ -21474,7 +21474,7 @@ "name": "_value", "nodeType": "VariableDeclaration", "scope": 400, - "src": "7791:14:0", + "src": "7842:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -21485,7 +21485,7 @@ "id": 359, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "7791:7:0", + "src": "7842:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -21505,7 +21505,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1384, - "src": "7808:3:0", + "src": "7859:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -21519,14 +21519,14 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "7808:9:0", + "src": "7859:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "7791:26:0" + "src": "7842:26:0" }, { "expression": { @@ -21550,7 +21550,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 360, - "src": "7836:6:0", + "src": "7887:6:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -21568,7 +21568,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "7845:1:0", + "src": "7896:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -21576,7 +21576,7 @@ }, "value": "0" }, - "src": "7836:10:0", + "src": "7887:10:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -21592,7 +21592,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "7848:34:0", + "src": "7899:34:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_21fbec2be6560b9ccffc4980d43c0d147770168e7aaf24999b418b9010085622", @@ -21620,7 +21620,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "7828:7:0", + "src": "7879:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -21634,7 +21634,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7828:55:0", + "src": "7879:55:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -21642,7 +21642,7 @@ }, "id": 370, "nodeType": "ExpressionStatement", - "src": "7828:55:0" + "src": "7879:55:0" }, { "expression": { @@ -21663,7 +21663,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "7894:12:0", + "src": "7945:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -21677,7 +21677,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 342, - "src": "7907:10:0", + "src": "7958:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -21688,7 +21688,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "7894:24:0", + "src": "7945:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -21702,7 +21702,7 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": 40, - "src": "7894:30:0", + "src": "7945:30:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -21720,7 +21720,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 360, - "src": "7975:6:0", + "src": "8026:6:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -21745,7 +21745,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "7927:12:0", + "src": "7978:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -21759,7 +21759,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 342, - "src": "7940:10:0", + "src": "7991:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -21770,7 +21770,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "7927:24:0", + "src": "7978:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -21784,7 +21784,7 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": 40, - "src": "7927:30:0", + "src": "7978:30:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -21798,7 +21798,7 @@ "memberName": "add", "nodeType": "MemberAccess", "referencedDeclaration": 1348, - "src": "7927:47:0", + "src": "7978:47:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" @@ -21812,13 +21812,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7927:55:0", + "src": "7978:55:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "7894:88:0", + "src": "7945:88:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -21826,7 +21826,7 @@ }, "id": 383, "nodeType": "ExpressionStatement", - "src": "7894:88:0" + "src": "7945:88:0" }, { "expression": { @@ -21847,7 +21847,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "7992:12:0", + "src": "8043:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -21861,7 +21861,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 342, - "src": "8005:10:0", + "src": "8056:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -21872,7 +21872,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "7992:24:0", + "src": "8043:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -21886,7 +21886,7 @@ "memberName": "lastModified", "nodeType": "MemberAccess", "referencedDeclaration": 42, - "src": "7992:37:0", + "src": "8043:37:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -21903,7 +21903,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1374, - "src": "8032:5:0", + "src": "8083:5:0", "typeDescriptions": { "typeIdentifier": "t_magic_block", "typeString": "block" @@ -21917,13 +21917,13 @@ "memberName": "timestamp", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "8032:15:0", + "src": "8083:15:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "7992:55:0", + "src": "8043:55:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -21931,7 +21931,7 @@ }, "id": 391, "nodeType": "ExpressionStatement", - "src": "7992:55:0" + "src": "8043:55:0" }, { "eventCall": { @@ -21944,7 +21944,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 342, - "src": "8073:10:0", + "src": "8124:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -21959,7 +21959,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1384, - "src": "8085:3:0", + "src": "8136:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -21973,7 +21973,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "8085:10:0", + "src": "8136:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -21986,7 +21986,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 360, - "src": "8097:6:0", + "src": "8148:6:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -22013,7 +22013,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 30, - "src": "8063:9:0", + "src": "8114:9:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (bytes32,address,uint256)" @@ -22027,7 +22027,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8063:41:0", + "src": "8114:41:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -22035,7 +22035,7 @@ }, "id": 398, "nodeType": "EmitStatement", - "src": "8058:46:0" + "src": "8109:46:0" } ] }, @@ -22054,7 +22054,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 342, - "src": "7628:10:0", + "src": "7679:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -22065,18 +22065,18 @@ "modifierName": { "argumentTypes": null, "id": 344, - "name": "transactionExists", + "name": "transactionExist", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 99, - "src": "7610:17:0", + "src": "7662:16:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "7610:29:0" + "src": "7662:28:0" }, { "arguments": [ @@ -22087,7 +22087,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 342, - "src": "7662:10:0", + "src": "7713:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -22102,14 +22102,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 132, - "src": "7648:13:0", + "src": "7699:13:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "7648:25:0" + "src": "7699:25:0" }, { "arguments": [ @@ -22120,7 +22120,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 342, - "src": "7703:10:0", + "src": "7754:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -22135,7 +22135,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12, - "src": "7715:15:0", + "src": "7766:15:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_TransactionType_$12_$", "typeString": "type(enum Escrow_v1_0.TransactionType)" @@ -22149,7 +22149,7 @@ "memberName": "ETHER", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "7715:21:0", + "src": "7766:21:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -22164,14 +22164,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 165, - "src": "7682:20:0", + "src": "7733:20:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$_t_enum$_TransactionType_$12_$", "typeString": "modifier (bytes32,enum Escrow_v1_0.TransactionType)" } }, "nodeType": "ModifierInvocation", - "src": "7682:55:0" + "src": "7733:55:0" }, { "arguments": [ @@ -22182,7 +22182,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 342, - "src": "7756:10:0", + "src": "7807:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -22197,14 +22197,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 182, - "src": "7746:9:0", + "src": "7797:9:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "7746:21:0" + "src": "7797:21:0" } ], "name": "addFundsToTransaction", @@ -22219,7 +22219,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 400, - "src": "7544:18:0", + "src": "7596:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -22230,7 +22230,7 @@ "id": 341, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "7544:7:0", + "src": "7596:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -22240,17 +22240,17 @@ "visibility": "internal" } ], - "src": "7534:34:0" + "src": "7586:34:0" }, "payable": true, "returnParameters": { "id": 358, "nodeType": "ParameterList", "parameters": [], - "src": "7781:0:0" + "src": "7832:0:0" }, "scope": 1211, - "src": "7504:607:0", + "src": "7556:606:0", "stateMutability": "payable", "superFunction": null, "visibility": "external" @@ -22259,7 +22259,7 @@ "body": { "id": 482, "nodeType": "Block", - "src": "8656:648:0", + "src": "8765:648:0", "statements": [ { "assignments": [ @@ -22272,7 +22272,7 @@ "name": "_value", "nodeType": "VariableDeclaration", "scope": 483, - "src": "8666:14:0", + "src": "8775:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -22283,7 +22283,7 @@ "id": 421, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "8666:7:0", + "src": "8775:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -22301,14 +22301,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 404, - "src": "8683:5:0", + "src": "8792:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "8666:22:0" + "src": "8775:22:0" }, { "expression": { @@ -22332,7 +22332,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 422, - "src": "8707:6:0", + "src": "8816:6:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -22350,7 +22350,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "8716:1:0", + "src": "8825:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -22358,7 +22358,7 @@ }, "value": "0" }, - "src": "8707:10:0", + "src": "8816:10:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -22374,7 +22374,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "8719:34:0", + "src": "8828:34:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_21fbec2be6560b9ccffc4980d43c0d147770168e7aaf24999b418b9010085622", @@ -22402,7 +22402,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "8699:7:0", + "src": "8808:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -22416,7 +22416,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8699:55:0", + "src": "8808:55:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -22424,7 +22424,7 @@ }, "id": 431, "nodeType": "ExpressionStatement", - "src": "8699:55:0" + "src": "8808:55:0" }, { "assignments": [ @@ -22437,7 +22437,7 @@ "name": "token", "nodeType": "VariableDeclaration", "scope": 483, - "src": "8765:20:0", + "src": "8874:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -22450,7 +22450,7 @@ "name": "ITokenContract", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 1241, - "src": "8765:14:0", + "src": "8874:14:0", "typeDescriptions": { "typeIdentifier": "t_contract$_ITokenContract_$1241", "typeString": "contract ITokenContract" @@ -22475,7 +22475,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "8816:12:0", + "src": "8925:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -22489,7 +22489,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 402, - "src": "8829:10:0", + "src": "8938:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -22500,7 +22500,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "8816:24:0", + "src": "8925:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -22514,7 +22514,7 @@ "memberName": "tokenAddress", "nodeType": "MemberAccess", "referencedDeclaration": 56, - "src": "8816:37:0", + "src": "8925:37:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -22533,7 +22533,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1241, - "src": "8788:14:0", + "src": "8897:14:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_ITokenContract_$1241_$", "typeString": "type(contract ITokenContract)" @@ -22547,14 +22547,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8788:75:0", + "src": "8897:75:0", "typeDescriptions": { "typeIdentifier": "t_contract$_ITokenContract_$1241", "typeString": "contract ITokenContract" } }, "nodeType": "VariableDeclarationStatement", - "src": "8765:98:0" + "src": "8874:98:0" }, { "expression": { @@ -22574,7 +22574,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "8914:12:0", + "src": "9023:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -22588,7 +22588,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 402, - "src": "8927:10:0", + "src": "9036:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -22599,7 +22599,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "8914:24:0", + "src": "9023:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -22613,7 +22613,7 @@ "memberName": "buyer", "nodeType": "MemberAccess", "referencedDeclaration": 52, - "src": "8914:30:0", + "src": "9023:30:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -22626,7 +22626,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1401, - "src": "8946:4:0", + "src": "9055:4:0", "typeDescriptions": { "typeIdentifier": "t_contract$_Escrow_v1_0_$1211", "typeString": "contract Escrow_v1_0" @@ -22639,7 +22639,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 404, - "src": "8952:5:0", + "src": "9061:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -22668,7 +22668,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 433, - "src": "8895:5:0", + "src": "9004:5:0", "typeDescriptions": { "typeIdentifier": "t_contract$_ITokenContract_$1241", "typeString": "contract ITokenContract" @@ -22682,7 +22682,7 @@ "memberName": "transferFrom", "nodeType": "MemberAccess", "referencedDeclaration": 1240, - "src": "8895:18:0", + "src": "9004:18:0", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", "typeString": "function (address,address,uint256) external returns (bool)" @@ -22696,7 +22696,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8895:63:0", + "src": "9004:63:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -22712,7 +22712,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "8972:94:0", + "src": "9081:94:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_d9d07068d589bc4adc53018a3c57c159ec128fdfb62732a5fa9410e76cf03318", @@ -22740,7 +22740,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "8874:7:0", + "src": "8983:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -22754,7 +22754,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8874:202:0", + "src": "8983:202:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -22762,7 +22762,7 @@ }, "id": 453, "nodeType": "ExpressionStatement", - "src": "8874:202:0" + "src": "8983:202:0" }, { "expression": { @@ -22783,7 +22783,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "9087:12:0", + "src": "9196:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -22797,7 +22797,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 402, - "src": "9100:10:0", + "src": "9209:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -22808,7 +22808,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "9087:24:0", + "src": "9196:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -22822,7 +22822,7 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": 40, - "src": "9087:30:0", + "src": "9196:30:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -22840,7 +22840,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 422, - "src": "9168:6:0", + "src": "9277:6:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -22865,7 +22865,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "9120:12:0", + "src": "9229:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -22879,7 +22879,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 402, - "src": "9133:10:0", + "src": "9242:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -22890,7 +22890,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "9120:24:0", + "src": "9229:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -22904,7 +22904,7 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": 40, - "src": "9120:30:0", + "src": "9229:30:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -22918,7 +22918,7 @@ "memberName": "add", "nodeType": "MemberAccess", "referencedDeclaration": 1348, - "src": "9120:47:0", + "src": "9229:47:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" @@ -22932,13 +22932,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "9120:55:0", + "src": "9229:55:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "9087:88:0", + "src": "9196:88:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -22946,7 +22946,7 @@ }, "id": 466, "nodeType": "ExpressionStatement", - "src": "9087:88:0" + "src": "9196:88:0" }, { "expression": { @@ -22967,7 +22967,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "9185:12:0", + "src": "9294:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -22981,7 +22981,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 402, - "src": "9198:10:0", + "src": "9307:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -22992,7 +22992,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "9185:24:0", + "src": "9294:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -23006,7 +23006,7 @@ "memberName": "lastModified", "nodeType": "MemberAccess", "referencedDeclaration": 42, - "src": "9185:37:0", + "src": "9294:37:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -23023,7 +23023,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1374, - "src": "9225:5:0", + "src": "9334:5:0", "typeDescriptions": { "typeIdentifier": "t_magic_block", "typeString": "block" @@ -23037,13 +23037,13 @@ "memberName": "timestamp", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "9225:15:0", + "src": "9334:15:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "9185:55:0", + "src": "9294:55:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -23051,7 +23051,7 @@ }, "id": 474, "nodeType": "ExpressionStatement", - "src": "9185:55:0" + "src": "9294:55:0" }, { "eventCall": { @@ -23064,7 +23064,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 402, - "src": "9266:10:0", + "src": "9375:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -23079,7 +23079,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1384, - "src": "9278:3:0", + "src": "9387:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -23093,7 +23093,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "9278:10:0", + "src": "9387:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -23106,7 +23106,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 422, - "src": "9290:6:0", + "src": "9399:6:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -23133,7 +23133,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 30, - "src": "9256:9:0", + "src": "9365:9:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (bytes32,address,uint256)" @@ -23147,7 +23147,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "9256:41:0", + "src": "9365:41:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -23155,11 +23155,11 @@ }, "id": 481, "nodeType": "EmitStatement", - "src": "9251:46:0" + "src": "9360:46:0" } ] }, - "documentation": "@dev Allows buyer of the transaction to add more funds(Tokens) in the transaction. \nThis will help to cater scenarios wherein initially buyer missed to fund transaction as required\n@param scriptHash script hash of the transaction", + "documentation": "@dev Allows buyer of the transaction to add more funds(Tokens) in the transaction. \nThis will help to cater scenarios wherein initially buyer missed to fund transaction as required\n@param scriptHash script hash of the transaction\nOnly buyer of the transaction can invoke this method", "id": 483, "implemented": true, "isConstructor": false, @@ -23174,7 +23174,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 402, - "src": "8512:10:0", + "src": "8621:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -23185,18 +23185,18 @@ "modifierName": { "argumentTypes": null, "id": 406, - "name": "transactionExists", + "name": "transactionExist", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 99, - "src": "8494:17:0", + "src": "8604:16:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "8494:29:0" + "src": "8604:28:0" }, { "arguments": [ @@ -23207,7 +23207,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 402, - "src": "8546:10:0", + "src": "8655:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -23222,14 +23222,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 132, - "src": "8532:13:0", + "src": "8641:13:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "8532:25:0" + "src": "8641:25:0" }, { "arguments": [ @@ -23240,7 +23240,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 402, - "src": "8587:10:0", + "src": "8696:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -23255,7 +23255,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12, - "src": "8599:15:0", + "src": "8708:15:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_TransactionType_$12_$", "typeString": "type(enum Escrow_v1_0.TransactionType)" @@ -23269,7 +23269,7 @@ "memberName": "TOKEN", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "8599:21:0", + "src": "8708:21:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -23284,14 +23284,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 165, - "src": "8566:20:0", + "src": "8675:20:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$_t_enum$_TransactionType_$12_$", "typeString": "modifier (bytes32,enum Escrow_v1_0.TransactionType)" } }, "nodeType": "ModifierInvocation", - "src": "8566:55:0" + "src": "8675:55:0" }, { "arguments": [ @@ -23302,7 +23302,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 402, - "src": "8640:10:0", + "src": "8749:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -23317,14 +23317,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 182, - "src": "8630:9:0", + "src": "8739:9:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "8630:21:0" + "src": "8739:21:0" } ], "name": "addTokensToTransaction", @@ -23339,7 +23339,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 483, - "src": "8421:18:0", + "src": "8531:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -23350,7 +23350,7 @@ "id": 401, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "8421:7:0", + "src": "8531:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -23365,7 +23365,7 @@ "name": "value", "nodeType": "VariableDeclaration", "scope": 483, - "src": "8449:13:0", + "src": "8559:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -23376,7 +23376,7 @@ "id": 403, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "8449:7:0", + "src": "8559:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -23386,17 +23386,17 @@ "visibility": "internal" } ], - "src": "8411:57:0" + "src": "8521:57:0" }, "payable": false, "returnParameters": { "id": 420, "nodeType": "ParameterList", "parameters": [], - "src": "8656:0:0" + "src": "8765:0:0" }, "scope": 1211, - "src": "8380:924:0", + "src": "8490:923:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" @@ -23405,7 +23405,7 @@ "body": { "id": 495, "nodeType": "Block", - "src": "9559:56:0", + "src": "9668:56:0", "statements": [ { "expression": { @@ -23417,7 +23417,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 83, - "src": "9576:18:0", + "src": "9685:18:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_bytes32_$dyn_storage_$", "typeString": "mapping(address => bytes32[] storage ref)" @@ -23431,7 +23431,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 485, - "src": "9595:12:0", + "src": "9704:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -23442,7 +23442,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "9576:32:0", + "src": "9685:32:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage", "typeString": "bytes32[] storage ref" @@ -23451,7 +23451,7 @@ "functionReturnParameters": 490, "id": 494, "nodeType": "Return", - "src": "9569:39:0" + "src": "9678:39:0" } ] }, @@ -23473,7 +23473,7 @@ "name": "partyAddress", "nodeType": "VariableDeclaration", "scope": 496, - "src": "9466:20:0", + "src": "9575:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -23484,7 +23484,7 @@ "id": 484, "name": "address", "nodeType": "ElementaryTypeName", - "src": "9466:7:0", + "src": "9575:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -23494,7 +23494,7 @@ "visibility": "internal" } ], - "src": "9456:36:0" + "src": "9565:36:0" }, "payable": false, "returnParameters": { @@ -23507,7 +23507,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 496, - "src": "9543:9:0", + "src": "9652:9:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -23519,7 +23519,7 @@ "id": 487, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "9543:7:0", + "src": "9652:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -23528,7 +23528,7 @@ "id": 488, "length": null, "nodeType": "ArrayTypeName", - "src": "9543:9:0", + "src": "9652:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -23538,10 +23538,10 @@ "visibility": "internal" } ], - "src": "9542:11:0" + "src": "9651:11:0" }, "scope": 1211, - "src": "9421:194:0", + "src": "9530:194:0", "stateMutability": "view", "superFunction": null, "visibility": "external" @@ -23550,7 +23550,7 @@ "body": { "id": 581, "nodeType": "Block", - "src": "10479:790:0", + "src": "10594:790:0", "statements": [ { "expression": { @@ -23587,7 +23587,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 510, - "src": "10510:12:0", + "src": "10625:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" @@ -23601,7 +23601,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "10510:19:0", + "src": "10625:19:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -23619,7 +23619,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "10530:1:0", + "src": "10645:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -23627,7 +23627,7 @@ }, "value": "0" }, - "src": "10510:21:0", + "src": "10625:21:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -23655,7 +23655,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 510, - "src": "10535:12:0", + "src": "10650:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" @@ -23669,7 +23669,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "10535:19:0", + "src": "10650:19:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -23686,7 +23686,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 513, - "src": "10558:7:0", + "src": "10673:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", "typeString": "uint256[] calldata" @@ -23700,19 +23700,19 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "10558:14:0", + "src": "10673:14:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "10535:37:0", + "src": "10650:37:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "10510:62:0", + "src": "10625:62:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -23728,7 +23728,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "10574:38:0", + "src": "10689:38:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_53e979b0c355ea1eeda44a80ca73370fdb2abe922711b459aa4ee43d1558782b", @@ -23756,7 +23756,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "10489:7:0", + "src": "10604:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -23770,7 +23770,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "10489:133:0", + "src": "10604:133:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -23778,7 +23778,7 @@ }, "id": 535, "nodeType": "ExpressionStatement", - "src": "10489:133:0" + "src": "10604:133:0" }, { "expression": { @@ -23791,7 +23791,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 499, - "src": "10664:4:0", + "src": "10779:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_calldata_ptr", "typeString": "uint8[] calldata" @@ -23804,7 +23804,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 502, - "src": "10682:4:0", + "src": "10797:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", "typeString": "bytes32[] calldata" @@ -23817,7 +23817,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 505, - "src": "10700:4:0", + "src": "10815:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", "typeString": "bytes32[] calldata" @@ -23830,7 +23830,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 507, - "src": "10718:10:0", + "src": "10833:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -23843,7 +23843,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 510, - "src": "10742:12:0", + "src": "10857:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" @@ -23856,7 +23856,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 513, - "src": "10768:7:0", + "src": "10883:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", "typeString": "uint256[] calldata" @@ -23895,7 +23895,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 706, - "src": "10633:17:0", + "src": "10748:17:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_array$_t_uint8_$dyn_memory_ptr_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_bytes32_$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$__$", "typeString": "function (uint8[] memory,bytes32[] memory,bytes32[] memory,bytes32,address[] memory,uint256[] memory)" @@ -23909,7 +23909,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "10633:152:0", + "src": "10748:152:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -23917,7 +23917,7 @@ }, "id": 544, "nodeType": "ExpressionStatement", - "src": "10633:152:0" + "src": "10748:152:0" }, { "expression": { @@ -23938,7 +23938,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "10796:12:0", + "src": "10911:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -23952,7 +23952,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 507, - "src": "10809:10:0", + "src": "10924:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -23963,7 +23963,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "10796:24:0", + "src": "10911:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -23977,7 +23977,7 @@ "memberName": "status", "nodeType": "MemberAccess", "referencedDeclaration": 44, - "src": "10796:31:0", + "src": "10911:31:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$9", "typeString": "enum Escrow_v1_0.Status" @@ -23994,7 +23994,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9, - "src": "10830:6:0", + "src": "10945:6:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_Status_$9_$", "typeString": "type(enum Escrow_v1_0.Status)" @@ -24008,13 +24008,13 @@ "memberName": "RELEASED", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "10830:15:0", + "src": "10945:15:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$9", "typeString": "enum Escrow_v1_0.Status" } }, - "src": "10796:49:0", + "src": "10911:49:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$9", "typeString": "enum Escrow_v1_0.Status" @@ -24022,7 +24022,7 @@ }, "id": 552, "nodeType": "ExpressionStatement", - "src": "10796:49:0" + "src": "10911:49:0" }, { "expression": { @@ -24043,7 +24043,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "10929:12:0", + "src": "11044:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -24057,7 +24057,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 507, - "src": "10942:10:0", + "src": "11057:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -24068,7 +24068,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "10929:24:0", + "src": "11044:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -24082,7 +24082,7 @@ "memberName": "lastModified", "nodeType": "MemberAccess", "referencedDeclaration": 42, - "src": "10929:37:0", + "src": "11044:37:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -24099,7 +24099,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1374, - "src": "10969:5:0", + "src": "11084:5:0", "typeDescriptions": { "typeIdentifier": "t_magic_block", "typeString": "block" @@ -24113,13 +24113,13 @@ "memberName": "timestamp", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "10969:15:0", + "src": "11084:15:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "10929:55:0", + "src": "11044:55:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -24127,7 +24127,7 @@ }, "id": 560, "nodeType": "ExpressionStatement", - "src": "10929:55:0" + "src": "11044:55:0" }, { "expression": { @@ -24154,7 +24154,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 507, - "src": "11029:10:0", + "src": "11144:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -24167,7 +24167,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 510, - "src": "11041:12:0", + "src": "11156:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" @@ -24180,7 +24180,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 513, - "src": "11055:7:0", + "src": "11170:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", "typeString": "uint256[] calldata" @@ -24207,7 +24207,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 893, - "src": "11015:13:0", + "src": "11130:13:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$_t_uint256_$", "typeString": "function (bytes32,address[] memory,uint256[] memory) returns (uint256)" @@ -24221,7 +24221,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "11015:48:0", + "src": "11130:48:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -24240,7 +24240,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "11067:12:0", + "src": "11182:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -24254,7 +24254,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 507, - "src": "11080:10:0", + "src": "11195:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -24265,7 +24265,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "11067:24:0", + "src": "11182:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -24279,13 +24279,13 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": 40, - "src": "11067:30:0", + "src": "11182:30:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "11015:82:0", + "src": "11130:82:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -24301,7 +24301,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "11111:74:0", + "src": "11226:74:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_9e0bdb14e2e0d5e118fd1f547268c6a1fdb5e8facacd614066d4b60bc2c9941d", @@ -24329,7 +24329,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "10994:7:0", + "src": "11109:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -24343,7 +24343,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "10994:201:0", + "src": "11109:201:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -24351,7 +24351,7 @@ }, "id": 574, "nodeType": "ExpressionStatement", - "src": "10994:201:0" + "src": "11109:201:0" }, { "eventCall": { @@ -24364,7 +24364,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 507, - "src": "11228:10:0", + "src": "11343:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -24377,7 +24377,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 510, - "src": "11240:12:0", + "src": "11355:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" @@ -24390,7 +24390,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 513, - "src": "11254:7:0", + "src": "11369:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", "typeString": "uint256[] calldata" @@ -24417,7 +24417,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 22, - "src": "11219:8:0", + "src": "11334:8:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$__$", "typeString": "function (bytes32,address[] memory,uint256[] memory)" @@ -24431,7 +24431,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "11219:43:0", + "src": "11334:43:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -24439,11 +24439,11 @@ }, "id": 580, "nodeType": "EmitStatement", - "src": "11214:48:0" + "src": "11329:48:0" } ] }, - "documentation": "dev This method will be used to release funds associated with the transaction\nPlease see specs https://github.com/OpenBazaar/smart-contracts/blob/master/contracts/escrow/EscrowSpec.md\nparam sigV Array containing V component of all the signatures\nparam sigR Array containing R component of all the signatures\nparam signS Array containing S component of all the signatures\nparam scriptHash script hash of the transaction\nparam destinations List of addresses to receive funds\nparam amounts value released to each destination", + "documentation": "dev This method will be used to release funds associated with the transaction\nPlease see specs https://github.com/OpenBazaar/smart-contracts/blob/master/contracts/escrow/EscrowSpec.md\nparam sigV Array containing V component of all the signatures\nparam sigR Array containing R component of all the signatures\nparam signS Array containing S component of all the signatures\nparam scriptHash script hash of the transaction\nparam destinations List of addresses who will receive funds\nparam amounts amount released to each destination", "id": 582, "implemented": true, "isConstructor": false, @@ -24458,7 +24458,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 507, - "src": "10429:10:0", + "src": "10544:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -24469,18 +24469,18 @@ "modifierName": { "argumentTypes": null, "id": 515, - "name": "transactionExists", + "name": "transactionExist", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 99, - "src": "10411:17:0", + "src": "10527:16:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "10411:29:0" + "src": "10527:28:0" }, { "arguments": [ @@ -24491,7 +24491,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 507, - "src": "10463:10:0", + "src": "10578:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -24506,14 +24506,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 132, - "src": "10449:13:0", + "src": "10564:13:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "10449:25:0" + "src": "10564:25:0" } ], "name": "execute", @@ -24528,7 +24528,7 @@ "name": "sigV", "nodeType": "VariableDeclaration", "scope": 582, - "src": "10232:12:0", + "src": "10348:12:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -24540,7 +24540,7 @@ "id": 497, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "10232:5:0", + "src": "10348:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -24549,7 +24549,7 @@ "id": 498, "length": null, "nodeType": "ArrayTypeName", - "src": "10232:7:0", + "src": "10348:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_storage_ptr", "typeString": "uint8[]" @@ -24564,7 +24564,7 @@ "name": "sigR", "nodeType": "VariableDeclaration", "scope": 582, - "src": "10254:14:0", + "src": "10370:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -24576,7 +24576,7 @@ "id": 500, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "10254:7:0", + "src": "10370:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -24585,7 +24585,7 @@ "id": 501, "length": null, "nodeType": "ArrayTypeName", - "src": "10254:9:0", + "src": "10370:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -24600,7 +24600,7 @@ "name": "sigS", "nodeType": "VariableDeclaration", "scope": 582, - "src": "10278:14:0", + "src": "10394:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -24612,7 +24612,7 @@ "id": 503, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "10278:7:0", + "src": "10394:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -24621,7 +24621,7 @@ "id": 504, "length": null, "nodeType": "ArrayTypeName", - "src": "10278:9:0", + "src": "10394:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -24636,7 +24636,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 582, - "src": "10302:18:0", + "src": "10418:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -24647,7 +24647,7 @@ "id": 506, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "10302:7:0", + "src": "10418:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -24662,7 +24662,7 @@ "name": "destinations", "nodeType": "VariableDeclaration", "scope": 582, - "src": "10330:22:0", + "src": "10446:22:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -24674,7 +24674,7 @@ "id": 508, "name": "address", "nodeType": "ElementaryTypeName", - "src": "10330:7:0", + "src": "10446:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -24683,7 +24683,7 @@ "id": 509, "length": null, "nodeType": "ArrayTypeName", - "src": "10330:9:0", + "src": "10446:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", "typeString": "address[]" @@ -24698,7 +24698,7 @@ "name": "amounts", "nodeType": "VariableDeclaration", "scope": 582, - "src": "10362:17:0", + "src": "10478:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -24710,7 +24710,7 @@ "id": 511, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "10362:7:0", + "src": "10478:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -24719,7 +24719,7 @@ "id": 512, "length": null, "nodeType": "ArrayTypeName", - "src": "10362:9:0", + "src": "10478:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -24729,17 +24729,17 @@ "visibility": "internal" } ], - "src": "10222:163:0" + "src": "10338:163:0" }, "payable": false, "returnParameters": { "id": 521, "nodeType": "ParameterList", "parameters": [], - "src": "10479:0:0" + "src": "10594:0:0" }, "scope": 1211, - "src": "10206:1063:0", + "src": "10322:1062:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" @@ -24748,7 +24748,7 @@ "body": { "id": 636, "nodeType": "Block", - "src": "12023:716:0", + "src": "12138:716:0", "statements": [ { "condition": { @@ -24769,7 +24769,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 596, - "src": "12037:12:0", + "src": "12152:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -24790,7 +24790,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "12061:1:0", + "src": "12176:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -24812,7 +24812,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "12053:7:0", + "src": "12168:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" @@ -24827,13 +24827,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "12053:10:0", + "src": "12168:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "12037:26:0", + "src": "12152:26:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -24842,7 +24842,7 @@ "falseBody": { "id": 634, "nodeType": "Block", - "src": "12385:348:0", + "src": "12500:348:0", "statements": [ { "expression": { @@ -24858,7 +24858,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 584, - "src": "12471:8:0", + "src": "12586:8:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -24871,7 +24871,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 586, - "src": "12501:9:0", + "src": "12616:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -24884,7 +24884,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 588, - "src": "12532:12:0", + "src": "12647:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -24897,7 +24897,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 590, - "src": "12566:5:0", + "src": "12681:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -24910,7 +24910,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 592, - "src": "12593:6:0", + "src": "12708:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -24923,7 +24923,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 594, - "src": "12621:9:0", + "src": "12736:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -24936,7 +24936,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1401, - "src": "12652:4:0", + "src": "12767:4:0", "typeDescriptions": { "typeIdentifier": "t_contract$_Escrow_v1_0_$1211", "typeString": "contract Escrow_v1_0" @@ -24949,7 +24949,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 596, - "src": "12678:12:0", + "src": "12793:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -24998,7 +24998,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1371, - "src": "12433:3:0", + "src": "12548:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" @@ -25012,7 +25012,7 @@ "memberName": "encodePacked", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "12433:16:0", + "src": "12548:16:0", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" @@ -25026,7 +25026,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "12433:275:0", + "src": "12548:275:0", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -25045,7 +25045,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1378, - "src": "12406:9:0", + "src": "12521:9:0", "typeDescriptions": { "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", "typeString": "function () pure returns (bytes32)" @@ -25059,7 +25059,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "12406:316:0", + "src": "12521:316:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -25068,17 +25068,17 @@ "functionReturnParameters": 600, "id": 633, "nodeType": "Return", - "src": "12399:323:0" + "src": "12514:323:0" } ] }, "id": 635, "nodeType": "IfStatement", - "src": "12033:700:0", + "src": "12148:700:0", "trueBody": { "id": 619, "nodeType": "Block", - "src": "12065:314:0", + "src": "12180:314:0", "statements": [ { "expression": { @@ -25094,7 +25094,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 584, - "src": "12151:8:0", + "src": "12266:8:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -25107,7 +25107,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 586, - "src": "12181:9:0", + "src": "12296:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -25120,7 +25120,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 588, - "src": "12212:12:0", + "src": "12327:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -25133,7 +25133,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 590, - "src": "12246:5:0", + "src": "12361:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -25146,7 +25146,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 592, - "src": "12273:6:0", + "src": "12388:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -25159,7 +25159,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 594, - "src": "12301:9:0", + "src": "12416:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -25172,7 +25172,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1401, - "src": "12332:4:0", + "src": "12447:4:0", "typeDescriptions": { "typeIdentifier": "t_contract$_Escrow_v1_0_$1211", "typeString": "contract Escrow_v1_0" @@ -25217,7 +25217,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1371, - "src": "12113:3:0", + "src": "12228:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" @@ -25231,7 +25231,7 @@ "memberName": "encodePacked", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "12113:16:0", + "src": "12228:16:0", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" @@ -25245,7 +25245,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "12113:241:0", + "src": "12228:241:0", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -25264,7 +25264,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1378, - "src": "12086:9:0", + "src": "12201:9:0", "typeDescriptions": { "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", "typeString": "function () pure returns (bytes32)" @@ -25278,7 +25278,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "12086:282:0", + "src": "12201:282:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -25287,7 +25287,7 @@ "functionReturnParameters": 600, "id": 618, "nodeType": "Return", - "src": "12079:289:0" + "src": "12194:289:0" } ] } @@ -25312,7 +25312,7 @@ "name": "uniqueId", "nodeType": "VariableDeclaration", "scope": 637, - "src": "11784:16:0", + "src": "11899:16:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -25323,7 +25323,7 @@ "id": 583, "name": "bytes20", "nodeType": "ElementaryTypeName", - "src": "11784:7:0", + "src": "11899:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -25338,7 +25338,7 @@ "name": "threshold", "nodeType": "VariableDeclaration", "scope": 637, - "src": "11810:15:0", + "src": "11925:15:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -25349,7 +25349,7 @@ "id": 585, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "11810:5:0", + "src": "11925:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -25364,7 +25364,7 @@ "name": "timeoutHours", "nodeType": "VariableDeclaration", "scope": 637, - "src": "11835:19:0", + "src": "11950:19:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -25375,7 +25375,7 @@ "id": 587, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "11835:6:0", + "src": "11950:6:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -25390,7 +25390,7 @@ "name": "buyer", "nodeType": "VariableDeclaration", "scope": 637, - "src": "11864:13:0", + "src": "11979:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -25401,7 +25401,7 @@ "id": 589, "name": "address", "nodeType": "ElementaryTypeName", - "src": "11864:7:0", + "src": "11979:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -25416,7 +25416,7 @@ "name": "seller", "nodeType": "VariableDeclaration", "scope": 637, - "src": "11887:14:0", + "src": "12002:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -25427,7 +25427,7 @@ "id": 591, "name": "address", "nodeType": "ElementaryTypeName", - "src": "11887:7:0", + "src": "12002:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -25442,7 +25442,7 @@ "name": "moderator", "nodeType": "VariableDeclaration", "scope": 637, - "src": "11911:17:0", + "src": "12026:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -25453,7 +25453,7 @@ "id": 593, "name": "address", "nodeType": "ElementaryTypeName", - "src": "11911:7:0", + "src": "12026:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -25468,7 +25468,7 @@ "name": "tokenAddress", "nodeType": "VariableDeclaration", "scope": 637, - "src": "11938:20:0", + "src": "12053:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -25479,7 +25479,7 @@ "id": 595, "name": "address", "nodeType": "ElementaryTypeName", - "src": "11938:7:0", + "src": "12053:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -25489,7 +25489,7 @@ "visibility": "internal" } ], - "src": "11774:190:0" + "src": "11889:190:0" }, "payable": false, "returnParameters": { @@ -25502,7 +25502,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 637, - "src": "12010:7:0", + "src": "12125:7:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -25513,7 +25513,7 @@ "id": 598, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "12010:7:0", + "src": "12125:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -25523,10 +25523,10 @@ "visibility": "internal" } ], - "src": "12009:9:0" + "src": "12124:9:0" }, "scope": 1211, - "src": "11740:999:0", + "src": "11855:999:0", "stateMutability": "view", "superFunction": null, "visibility": "public" @@ -25535,7 +25535,7 @@ "body": { "id": 705, "nodeType": "Block", - "src": "13223:795:0", + "src": "13338:795:0", "statements": [ { "assignments": [ @@ -25548,7 +25548,7 @@ "name": "lastRecovered", "nodeType": "VariableDeclaration", "scope": 706, - "src": "13233:21:0", + "src": "13348:21:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -25559,7 +25559,7 @@ "id": 657, "name": "address", "nodeType": "ElementaryTypeName", - "src": "13233:7:0", + "src": "13348:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -25580,7 +25580,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 640, - "src": "13287:4:0", + "src": "13402:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr", "typeString": "uint8[] memory" @@ -25593,7 +25593,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 643, - "src": "13305:4:0", + "src": "13420:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" @@ -25606,7 +25606,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 646, - "src": "13323:4:0", + "src": "13438:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" @@ -25619,7 +25619,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 648, - "src": "13341:10:0", + "src": "13456:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -25632,7 +25632,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 651, - "src": "13365:12:0", + "src": "13480:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -25645,7 +25645,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 654, - "src": "13391:7:0", + "src": "13506:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" @@ -25684,7 +25684,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1022, - "src": "13257:16:0", + "src": "13372:16:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_array$_t_uint8_$dyn_memory_ptr_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_bytes32_$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$_t_address_$", "typeString": "function (uint8[] memory,bytes32[] memory,bytes32[] memory,bytes32,address[] memory,uint256[] memory) returns (address)" @@ -25698,14 +25698,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "13257:151:0", + "src": "13372:151:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "VariableDeclarationStatement", - "src": "13233:175:0" + "src": "13348:175:0" }, { "assignments": [ @@ -25718,7 +25718,7 @@ "name": "timeLockExpired", "nodeType": "VariableDeclaration", "scope": 706, - "src": "13419:20:0", + "src": "13534:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -25729,7 +25729,7 @@ "id": 668, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "13419:4:0", + "src": "13534:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -25754,7 +25754,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "13473:12:0", + "src": "13588:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -25768,7 +25768,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 648, - "src": "13486:10:0", + "src": "13601:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -25779,7 +25779,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "13473:24:0", + "src": "13588:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -25793,7 +25793,7 @@ "memberName": "timeoutHours", "nodeType": "MemberAccess", "referencedDeclaration": 50, - "src": "13473:37:0", + "src": "13588:37:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -25810,7 +25810,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "13524:12:0", + "src": "13639:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -25824,7 +25824,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 648, - "src": "13537:10:0", + "src": "13652:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -25835,7 +25835,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "13524:24:0", + "src": "13639:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -25849,7 +25849,7 @@ "memberName": "lastModified", "nodeType": "MemberAccess", "referencedDeclaration": 42, - "src": "13524:37:0", + "src": "13639:37:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -25872,7 +25872,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1054, - "src": "13442:17:0", + "src": "13557:17:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_uint32_$_t_uint256_$returns$_t_bool_$", "typeString": "function (uint32,uint256) view returns (bool)" @@ -25886,14 +25886,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "13442:129:0", + "src": "13557:129:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "nodeType": "VariableDeclarationStatement", - "src": "13419:152:0" + "src": "13534:152:0" }, { "condition": { @@ -25927,7 +25927,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 640, - "src": "13743:4:0", + "src": "13858:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr", "typeString": "uint8[] memory" @@ -25941,7 +25941,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "13743:11:0", + "src": "13858:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -25960,7 +25960,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "13757:12:0", + "src": "13872:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -25974,7 +25974,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 648, - "src": "13770:10:0", + "src": "13885:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -25985,7 +25985,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "13757:24:0", + "src": "13872:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -25999,13 +25999,13 @@ "memberName": "threshold", "nodeType": "MemberAccess", "referencedDeclaration": 48, - "src": "13757:34:0", + "src": "13872:34:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, - "src": "13743:48:0", + "src": "13858:48:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -26037,7 +26037,7 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "13796:16:0", + "src": "13911:16:0", "subExpression": { "argumentTypes": null, "id": 688, @@ -26045,7 +26045,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 669, - "src": "13797:15:0", + "src": "13912:15:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -26076,7 +26076,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 658, - "src": "13816:13:0", + "src": "13931:13:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -26095,7 +26095,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "13833:12:0", + "src": "13948:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -26109,7 +26109,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 648, - "src": "13846:10:0", + "src": "13961:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -26120,7 +26120,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "13833:24:0", + "src": "13948:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -26134,19 +26134,19 @@ "memberName": "seller", "nodeType": "MemberAccess", "referencedDeclaration": 54, - "src": "13833:31:0", + "src": "13948:31:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "13816:48:0", + "src": "13931:48:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "13796:68:0", + "src": "13911:68:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -26160,13 +26160,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "13795:70:0", + "src": "13910:70:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "13743:122:0", + "src": "13858:122:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -26175,11 +26175,11 @@ "falseBody": null, "id": 704, "nodeType": "IfStatement", - "src": "13722:289:0", + "src": "13837:289:0", "trueBody": { "id": 703, "nodeType": "Block", - "src": "13888:123:0", + "src": "14003:123:0", "statements": [ { "expression": { @@ -26195,7 +26195,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "13909:90:0", + "src": "14024:90:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_e454643f61f81e3a3dc8dabaafde295fea592e232abeb03abbb1835bdc3d20d0", @@ -26219,7 +26219,7 @@ 1390 ], "referencedDeclaration": 1390, - "src": "13902:6:0", + "src": "14017:6:0", "typeDescriptions": { "typeIdentifier": "t_function_revert_pure$_t_string_memory_ptr_$returns$__$", "typeString": "function (string memory) pure" @@ -26233,7 +26233,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "13902:98:0", + "src": "14017:98:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -26241,7 +26241,7 @@ }, "id": 702, "nodeType": "ExpressionStatement", - "src": "13902:98:0" + "src": "14017:98:0" } ] } @@ -26266,7 +26266,7 @@ "name": "sigV", "nodeType": "VariableDeclaration", "scope": 706, - "src": "13049:12:0", + "src": "13164:12:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -26278,7 +26278,7 @@ "id": 638, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "13049:5:0", + "src": "13164:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -26287,7 +26287,7 @@ "id": 639, "length": null, "nodeType": "ArrayTypeName", - "src": "13049:7:0", + "src": "13164:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_storage_ptr", "typeString": "uint8[]" @@ -26302,7 +26302,7 @@ "name": "sigR", "nodeType": "VariableDeclaration", "scope": 706, - "src": "13071:14:0", + "src": "13186:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -26314,7 +26314,7 @@ "id": 641, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "13071:7:0", + "src": "13186:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -26323,7 +26323,7 @@ "id": 642, "length": null, "nodeType": "ArrayTypeName", - "src": "13071:9:0", + "src": "13186:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -26338,7 +26338,7 @@ "name": "sigS", "nodeType": "VariableDeclaration", "scope": 706, - "src": "13095:14:0", + "src": "13210:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -26350,7 +26350,7 @@ "id": 644, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "13095:7:0", + "src": "13210:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -26359,7 +26359,7 @@ "id": 645, "length": null, "nodeType": "ArrayTypeName", - "src": "13095:9:0", + "src": "13210:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -26374,7 +26374,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 706, - "src": "13119:18:0", + "src": "13234:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -26385,7 +26385,7 @@ "id": 647, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "13119:7:0", + "src": "13234:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -26400,7 +26400,7 @@ "name": "destinations", "nodeType": "VariableDeclaration", "scope": 706, - "src": "13147:22:0", + "src": "13262:22:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -26412,7 +26412,7 @@ "id": 649, "name": "address", "nodeType": "ElementaryTypeName", - "src": "13147:7:0", + "src": "13262:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -26421,7 +26421,7 @@ "id": 650, "length": null, "nodeType": "ArrayTypeName", - "src": "13147:9:0", + "src": "13262:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", "typeString": "address[]" @@ -26436,7 +26436,7 @@ "name": "amounts", "nodeType": "VariableDeclaration", "scope": 706, - "src": "13179:17:0", + "src": "13294:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -26448,7 +26448,7 @@ "id": 652, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "13179:7:0", + "src": "13294:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -26457,7 +26457,7 @@ "id": 653, "length": null, "nodeType": "ArrayTypeName", - "src": "13179:9:0", + "src": "13294:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -26467,17 +26467,17 @@ "visibility": "internal" } ], - "src": "13039:163:0" + "src": "13154:163:0" }, "payable": false, "returnParameters": { "id": 656, "nodeType": "ParameterList", "parameters": [], - "src": "13223:0:0" + "src": "13338:0:0" }, "scope": 1211, - "src": "13013:1005:0", + "src": "13128:1005:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "private" @@ -26486,7 +26486,7 @@ "body": { "id": 892, "nodeType": "Block", - "src": "14304:1447:0", + "src": "14419:1362:0", "statements": [ { "assignments": [ @@ -26499,7 +26499,7 @@ "name": "t", "nodeType": "VariableDeclaration", "scope": 893, - "src": "14314:21:0", + "src": "14429:21:0", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { @@ -26512,7 +26512,7 @@ "name": "Transaction", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 71, - "src": "14314:11:0", + "src": "14429:11:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction" @@ -26532,7 +26532,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "14338:12:0", + "src": "14453:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -26546,7 +26546,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 708, - "src": "14351:10:0", + "src": "14466:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -26557,14 +26557,14 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "14338:24:0", + "src": "14453:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "14314:48:0" + "src": "14429:48:0" }, { "assignments": [ @@ -26577,7 +26577,7 @@ "name": "valueTransferred", "nodeType": "VariableDeclaration", "scope": 893, - "src": "14373:24:0", + "src": "14488:24:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -26588,7 +26588,7 @@ "id": 725, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "14373:7:0", + "src": "14488:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -26609,7 +26609,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "14400:1:0", + "src": "14515:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -26618,7 +26618,7 @@ "value": "0" }, "nodeType": "VariableDeclarationStatement", - "src": "14373:28:0" + "src": "14488:28:0" }, { "condition": { @@ -26641,7 +26641,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 720, - "src": "14416:1:0", + "src": "14531:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" @@ -26655,7 +26655,7 @@ "memberName": "transactionType", "nodeType": "MemberAccess", "referencedDeclaration": 46, - "src": "14416:17:0", + "src": "14531:17:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -26672,7 +26672,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12, - "src": "14437:15:0", + "src": "14552:15:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_TransactionType_$12_$", "typeString": "type(enum Escrow_v1_0.TransactionType)" @@ -26686,13 +26686,13 @@ "memberName": "ETHER", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "14437:21:0", + "src": "14552:21:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" } }, - "src": "14416:42:0", + "src": "14531:42:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -26719,7 +26719,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 720, - "src": "15057:1:0", + "src": "15087:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" @@ -26733,7 +26733,7 @@ "memberName": "transactionType", "nodeType": "MemberAccess", "referencedDeclaration": 46, - "src": "15057:17:0", + "src": "15087:17:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -26750,7 +26750,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12, - "src": "15078:15:0", + "src": "15108:15:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_TransactionType_$12_$", "typeString": "type(enum Escrow_v1_0.TransactionType)" @@ -26764,13 +26764,13 @@ "memberName": "TOKEN", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "15078:21:0", + "src": "15108:21:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" } }, - "src": "15057:42:0", + "src": "15087:42:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -26779,11 +26779,11 @@ "falseBody": null, "id": 888, "nodeType": "IfStatement", - "src": "15053:658:0", + "src": "15083:658:0", "trueBody": { "id": 887, "nodeType": "Block", - "src": "15101:610:0", + "src": "15131:610:0", "statements": [ { "assignments": [ @@ -26796,7 +26796,7 @@ "name": "token", "nodeType": "VariableDeclaration", "scope": 893, - "src": "15116:20:0", + "src": "15146:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -26809,7 +26809,7 @@ "name": "ITokenContract", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 1241, - "src": "15116:14:0", + "src": "15146:14:0", "typeDescriptions": { "typeIdentifier": "t_contract$_ITokenContract_$1241", "typeString": "contract ITokenContract" @@ -26832,7 +26832,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 720, - "src": "15154:1:0", + "src": "15184:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" @@ -26846,7 +26846,7 @@ "memberName": "tokenAddress", "nodeType": "MemberAccess", "referencedDeclaration": 56, - "src": "15154:14:0", + "src": "15184:14:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -26865,7 +26865,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1241, - "src": "15139:14:0", + "src": "15169:14:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_ITokenContract_$1241_$", "typeString": "type(contract ITokenContract)" @@ -26879,20 +26879,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15139:30:0", + "src": "15169:30:0", "typeDescriptions": { "typeIdentifier": "t_contract$_ITokenContract_$1241", "typeString": "contract ITokenContract" } }, "nodeType": "VariableDeclarationStatement", - "src": "15116:53:0" + "src": "15146:53:0" }, { "body": { "id": 885, "nodeType": "Block", - "src": "15232:469:0", + "src": "15262:469:0", "statements": [ { "expression": { @@ -26929,7 +26929,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 711, - "src": "15259:12:0", + "src": "15289:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -26943,7 +26943,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 816, - "src": "15272:1:0", + "src": "15302:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -26954,7 +26954,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15259:15:0", + "src": "15289:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -26975,7 +26975,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "15286:1:0", + "src": "15316:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -26997,7 +26997,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "15278:7:0", + "src": "15308:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" @@ -27012,13 +27012,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15278:10:0", + "src": "15308:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "15259:29:0", + "src": "15289:29:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -27037,7 +27037,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 720, - "src": "15292:1:0", + "src": "15322:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" @@ -27051,7 +27051,7 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "15292:9:0", + "src": "15322:9:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -27067,7 +27067,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 711, - "src": "15302:12:0", + "src": "15332:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -27081,7 +27081,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 816, - "src": "15315:1:0", + "src": "15345:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27092,7 +27092,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15302:15:0", + "src": "15332:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -27103,13 +27103,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15292:26:0", + "src": "15322:26:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "15259:59:0", + "src": "15289:59:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -27125,7 +27125,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "15320:25:0", + "src": "15350:25:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_4b4c116dbf18274831a2b569c567d9fd9a0e9828a6c86ee9f93e80400fb6c49f", @@ -27153,7 +27153,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "15251:7:0", + "src": "15281:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -27167,7 +27167,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15251:95:0", + "src": "15281:95:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -27175,7 +27175,7 @@ }, "id": 843, "nodeType": "ExpressionStatement", - "src": "15251:95:0" + "src": "15281:95:0" }, { "expression": { @@ -27201,7 +27201,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 714, - "src": "15372:7:0", + "src": "15402:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" @@ -27215,7 +27215,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 816, - "src": "15380:1:0", + "src": "15410:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27226,7 +27226,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15372:10:0", + "src": "15402:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27244,7 +27244,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "15385:1:0", + "src": "15415:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -27252,7 +27252,7 @@ }, "value": "0" }, - "src": "15372:14:0", + "src": "15402:14:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -27268,7 +27268,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "15388:44:0", + "src": "15418:44:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_5e1271a09dbb64ae031de288deb0ad8d707df7db51d6e827931dc8fa6642a71e", @@ -27296,7 +27296,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "15364:7:0", + "src": "15394:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -27310,7 +27310,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15364:69:0", + "src": "15394:69:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -27318,7 +27318,7 @@ }, "id": 852, "nodeType": "ExpressionStatement", - "src": "15364:69:0" + "src": "15394:69:0" }, { "expression": { @@ -27335,7 +27335,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 726, - "src": "15452:16:0", + "src": "15482:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27355,7 +27355,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 714, - "src": "15492:7:0", + "src": "15522:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" @@ -27369,7 +27369,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 816, - "src": "15500:1:0", + "src": "15530:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27380,7 +27380,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15492:10:0", + "src": "15522:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27401,7 +27401,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 726, - "src": "15471:16:0", + "src": "15501:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27415,7 +27415,7 @@ "memberName": "add", "nodeType": "MemberAccess", "referencedDeclaration": 1348, - "src": "15471:20:0", + "src": "15501:20:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" @@ -27429,13 +27429,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15471:32:0", + "src": "15501:32:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "15452:51:0", + "src": "15482:51:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27443,7 +27443,7 @@ }, "id": 861, "nodeType": "ExpressionStatement", - "src": "15452:51:0" + "src": "15482:51:0" }, { "expression": { @@ -27464,7 +27464,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 720, - "src": "15521:1:0", + "src": "15551:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" @@ -27478,7 +27478,7 @@ "memberName": "beneficiaries", "nodeType": "MemberAccess", "referencedDeclaration": 70, - "src": "15521:15:0", + "src": "15551:15:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -27494,7 +27494,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 711, - "src": "15537:12:0", + "src": "15567:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -27508,7 +27508,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 816, - "src": "15550:1:0", + "src": "15580:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27519,7 +27519,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15537:15:0", + "src": "15567:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -27530,7 +27530,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "15521:32:0", + "src": "15551:32:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -27548,7 +27548,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "15556:4:0", + "src": "15586:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -27556,7 +27556,7 @@ }, "value": "true" }, - "src": "15521:39:0", + "src": "15551:39:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -27564,7 +27564,7 @@ }, "id": 871, "nodeType": "ExpressionStatement", - "src": "15521:39:0" + "src": "15551:39:0" }, { "expression": { @@ -27582,7 +27582,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 711, - "src": "15631:12:0", + "src": "15661:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -27596,7 +27596,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 816, - "src": "15644:1:0", + "src": "15674:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27607,7 +27607,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15631:15:0", + "src": "15661:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -27622,7 +27622,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 714, - "src": "15648:7:0", + "src": "15678:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" @@ -27636,7 +27636,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 816, - "src": "15656:1:0", + "src": "15686:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27647,7 +27647,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15648:10:0", + "src": "15678:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27672,7 +27672,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 809, - "src": "15616:5:0", + "src": "15646:5:0", "typeDescriptions": { "typeIdentifier": "t_contract$_ITokenContract_$1241", "typeString": "contract ITokenContract" @@ -27686,7 +27686,7 @@ "memberName": "transfer", "nodeType": "MemberAccess", "referencedDeclaration": 1229, - "src": "15616:14:0", + "src": "15646:14:0", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", "typeString": "function (address,uint256) external returns (bool)" @@ -27700,7 +27700,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15616:43:0", + "src": "15646:43:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -27716,7 +27716,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "15661:24:0", + "src": "15691:24:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_e545223bb79d8456d66fa5a98897abb42bb4807111f004a120200da3b7e292c5", @@ -27744,7 +27744,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "15608:7:0", + "src": "15638:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -27758,7 +27758,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15608:78:0", + "src": "15638:78:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -27766,7 +27766,7 @@ }, "id": 884, "nodeType": "ExpressionStatement", - "src": "15608:78:0" + "src": "15638:78:0" } ] }, @@ -27788,7 +27788,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 816, - "src": "15204:1:0", + "src": "15234:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27805,7 +27805,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 711, - "src": "15206:12:0", + "src": "15236:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -27819,13 +27819,13 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "15206:19:0", + "src": "15236:19:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "15204:21:0", + "src": "15234:21:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -27843,7 +27843,7 @@ "name": "j", "nodeType": "VariableDeclaration", "scope": 893, - "src": "15189:9:0", + "src": "15219:9:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -27854,7 +27854,7 @@ "id": 815, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "15189:7:0", + "src": "15219:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27875,7 +27875,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "15201:1:0", + "src": "15231:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -27884,7 +27884,7 @@ "value": "0" }, "nodeType": "VariableDeclarationStatement", - "src": "15189:13:0" + "src": "15219:13:0" }, "loopExpression": { "expression": { @@ -27897,7 +27897,7 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "15227:3:0", + "src": "15257:3:0", "subExpression": { "argumentTypes": null, "id": 823, @@ -27905,7 +27905,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 816, - "src": "15227:1:0", + "src": "15257:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27918,27 +27918,27 @@ }, "id": 825, "nodeType": "ExpressionStatement", - "src": "15227:3:0" + "src": "15257:3:0" }, "nodeType": "ForStatement", - "src": "15184:517:0" + "src": "15214:517:0" } ] } }, "id": 889, "nodeType": "IfStatement", - "src": "14412:1299:0", + "src": "14527:1214:0", "trueBody": { "id": 802, "nodeType": "Block", - "src": "14460:587:0", + "src": "14575:502:0", "statements": [ { "body": { "id": 800, "nodeType": "Block", - "src": "14524:512:0", + "src": "14639:427:0", "statements": [ { "expression": { @@ -27975,7 +27975,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 711, - "src": "14551:12:0", + "src": "14666:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -27989,7 +27989,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 735, - "src": "14564:1:0", + "src": "14679:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28000,7 +28000,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "14551:15:0", + "src": "14666:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -28021,7 +28021,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "14578:1:0", + "src": "14693:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -28043,7 +28043,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "14570:7:0", + "src": "14685:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" @@ -28058,13 +28058,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "14570:10:0", + "src": "14685:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "14551:29:0", + "src": "14666:29:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -28083,7 +28083,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 720, - "src": "14584:1:0", + "src": "14699:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" @@ -28097,7 +28097,7 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "14584:9:0", + "src": "14699:9:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -28113,7 +28113,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 711, - "src": "14594:12:0", + "src": "14709:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -28127,7 +28127,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 735, - "src": "14607:1:0", + "src": "14722:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28138,7 +28138,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "14594:15:0", + "src": "14709:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -28149,13 +28149,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "14584:26:0", + "src": "14699:26:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "14551:59:0", + "src": "14666:59:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -28171,7 +28171,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "14612:25:0", + "src": "14727:25:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_4b4c116dbf18274831a2b569c567d9fd9a0e9828a6c86ee9f93e80400fb6c49f", @@ -28199,7 +28199,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "14543:7:0", + "src": "14658:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -28213,7 +28213,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "14543:95:0", + "src": "14658:95:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -28221,7 +28221,7 @@ }, "id": 762, "nodeType": "ExpressionStatement", - "src": "14543:95:0" + "src": "14658:95:0" }, { "expression": { @@ -28247,7 +28247,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 714, - "src": "14664:7:0", + "src": "14779:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" @@ -28261,7 +28261,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 735, - "src": "14672:1:0", + "src": "14787:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28272,7 +28272,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "14664:10:0", + "src": "14779:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28290,7 +28290,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "14677:1:0", + "src": "14792:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -28298,7 +28298,7 @@ }, "value": "0" }, - "src": "14664:14:0", + "src": "14779:14:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -28314,7 +28314,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "14680:44:0", + "src": "14795:44:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_5e1271a09dbb64ae031de288deb0ad8d707df7db51d6e827931dc8fa6642a71e", @@ -28342,7 +28342,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "14656:7:0", + "src": "14771:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -28356,7 +28356,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "14656:69:0", + "src": "14771:69:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -28364,7 +28364,7 @@ }, "id": 771, "nodeType": "ExpressionStatement", - "src": "14656:69:0" + "src": "14771:69:0" }, { "expression": { @@ -28381,7 +28381,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 726, - "src": "14744:16:0", + "src": "14859:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28401,7 +28401,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 714, - "src": "14784:7:0", + "src": "14899:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" @@ -28415,7 +28415,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 735, - "src": "14792:1:0", + "src": "14907:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28426,7 +28426,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "14784:10:0", + "src": "14899:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28447,7 +28447,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 726, - "src": "14763:16:0", + "src": "14878:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28461,7 +28461,7 @@ "memberName": "add", "nodeType": "MemberAccess", "referencedDeclaration": 1348, - "src": "14763:20:0", + "src": "14878:20:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" @@ -28475,13 +28475,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "14763:32:0", + "src": "14878:32:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "14744:51:0", + "src": "14859:51:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28489,7 +28489,7 @@ }, "id": 780, "nodeType": "ExpressionStatement", - "src": "14744:51:0" + "src": "14859:51:0" }, { "expression": { @@ -28510,7 +28510,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 720, - "src": "14814:1:0", + "src": "14929:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" @@ -28524,7 +28524,7 @@ "memberName": "beneficiaries", "nodeType": "MemberAccess", "referencedDeclaration": 70, - "src": "14814:15:0", + "src": "14929:15:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -28540,7 +28540,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 711, - "src": "14830:12:0", + "src": "14945:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -28554,7 +28554,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 735, - "src": "14843:1:0", + "src": "14958:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28565,7 +28565,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "14830:15:0", + "src": "14945:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -28576,7 +28576,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "14814:32:0", + "src": "14929:32:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -28594,7 +28594,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "14849:4:0", + "src": "14964:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -28602,7 +28602,7 @@ }, "value": "true" }, - "src": "14814:39:0", + "src": "14929:39:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -28610,7 +28610,7 @@ }, "id": 790, "nodeType": "ExpressionStatement", - "src": "14814:39:0" + "src": "14929:39:0" }, { "expression": { @@ -28625,7 +28625,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 714, - "src": "14925:7:0", + "src": "15040:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" @@ -28639,7 +28639,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 735, - "src": "14933:1:0", + "src": "15048:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28650,7 +28650,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "14925:10:0", + "src": "15040:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28673,7 +28673,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 711, - "src": "14900:12:0", + "src": "15015:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -28687,7 +28687,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 735, - "src": "14913:1:0", + "src": "15028:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28698,7 +28698,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "14900:15:0", + "src": "15015:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -28712,7 +28712,7 @@ "memberName": "transfer", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "14900:24:0", + "src": "15015:24:0", "typeDescriptions": { "typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$", "typeString": "function (uint256)" @@ -28726,7 +28726,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "14900:36:0", + "src": "15015:36:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -28734,7 +28734,7 @@ }, "id": 799, "nodeType": "ExpressionStatement", - "src": "14900:36:0" + "src": "15015:36:0" } ] }, @@ -28756,7 +28756,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 735, - "src": "14494:1:0", + "src": "14609:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28773,7 +28773,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 711, - "src": "14498:12:0", + "src": "14613:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -28787,13 +28787,13 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "14498:19:0", + "src": "14613:19:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "14494:23:0", + "src": "14609:23:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -28811,7 +28811,7 @@ "name": "i", "nodeType": "VariableDeclaration", "scope": 893, - "src": "14479:9:0", + "src": "14594:9:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -28822,7 +28822,7 @@ "id": 734, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "14479:7:0", + "src": "14594:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28843,7 +28843,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "14491:1:0", + "src": "14606:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -28852,7 +28852,7 @@ "value": "0" }, "nodeType": "VariableDeclarationStatement", - "src": "14479:13:0" + "src": "14594:13:0" }, "loopExpression": { "expression": { @@ -28865,7 +28865,7 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "14519:3:0", + "src": "14634:3:0", "subExpression": { "argumentTypes": null, "id": 742, @@ -28873,7 +28873,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 735, - "src": "14519:1:0", + "src": "14634:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28886,10 +28886,10 @@ }, "id": 744, "nodeType": "ExpressionStatement", - "src": "14519:3:0" + "src": "14634:3:0" }, "nodeType": "ForStatement", - "src": "14474:562:0" + "src": "14589:477:0" } ] } @@ -28902,7 +28902,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 726, - "src": "15728:16:0", + "src": "15758:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28911,7 +28911,7 @@ "functionReturnParameters": 718, "id": 891, "nodeType": "Return", - "src": "15721:23:0" + "src": "15751:23:0" } ] }, @@ -28933,7 +28933,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 893, - "src": "14176:18:0", + "src": "14291:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -28944,7 +28944,7 @@ "id": 707, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "14176:7:0", + "src": "14291:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -28959,7 +28959,7 @@ "name": "destinations", "nodeType": "VariableDeclaration", "scope": 893, - "src": "14204:21:0", + "src": "14319:21:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -28971,7 +28971,7 @@ "id": 709, "name": "address", "nodeType": "ElementaryTypeName", - "src": "14204:7:0", + "src": "14319:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -28980,7 +28980,7 @@ "id": 710, "length": null, "nodeType": "ArrayTypeName", - "src": "14204:9:0", + "src": "14319:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", "typeString": "address[]" @@ -28995,7 +28995,7 @@ "name": "amounts", "nodeType": "VariableDeclaration", "scope": 893, - "src": "14235:16:0", + "src": "14350:16:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -29007,7 +29007,7 @@ "id": 712, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "14235:7:0", + "src": "14350:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29016,7 +29016,7 @@ "id": 713, "length": null, "nodeType": "ArrayTypeName", - "src": "14235:9:0", + "src": "14350:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -29026,7 +29026,7 @@ "visibility": "internal" } ], - "src": "14166:91:0" + "src": "14281:91:0" }, "payable": false, "returnParameters": { @@ -29039,7 +29039,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 893, - "src": "14291:7:0", + "src": "14406:7:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -29050,7 +29050,7 @@ "id": 716, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "14291:7:0", + "src": "14406:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29060,10 +29060,10 @@ "visibility": "internal" } ], - "src": "14290:9:0" + "src": "14405:9:0" }, "scope": 1211, - "src": "14144:1607:0", + "src": "14259:1522:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "private" @@ -29072,7 +29072,7 @@ "body": { "id": 1021, "nodeType": "Block", - "src": "16169:1337:0", + "src": "16200:1337:0", "statements": [ { "expression": { @@ -29109,7 +29109,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 899, - "src": "16201:4:0", + "src": "16232:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" @@ -29123,7 +29123,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "16201:11:0", + "src": "16232:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29140,7 +29140,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 902, - "src": "16216:4:0", + "src": "16247:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" @@ -29154,13 +29154,13 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "16216:11:0", + "src": "16247:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "16201:26:0", + "src": "16232:26:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -29188,7 +29188,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 899, - "src": "16231:4:0", + "src": "16262:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" @@ -29202,7 +29202,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "16231:11:0", + "src": "16262:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29219,7 +29219,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 896, - "src": "16246:4:0", + "src": "16277:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr", "typeString": "uint8[] memory" @@ -29233,19 +29233,19 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "16246:11:0", + "src": "16277:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "16231:26:0", + "src": "16262:26:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "16201:56:0", + "src": "16232:56:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -29261,7 +29261,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "16272:24:0", + "src": "16303:24:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_f85073c8befb65baed58ca1ee563e5da0bdbdce8abd4d29ef22a8329c7c97506", @@ -29289,7 +29289,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "16180:7:0", + "src": "16211:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -29303,7 +29303,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16180:126:0", + "src": "16211:126:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -29311,7 +29311,7 @@ }, "id": 929, "nodeType": "ExpressionStatement", - "src": "16180:126:0" + "src": "16211:126:0" }, { "assignments": [], @@ -29322,7 +29322,7 @@ "name": "lastAddress", "nodeType": "VariableDeclaration", "scope": 1022, - "src": "16317:19:0", + "src": "16348:19:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -29333,7 +29333,7 @@ "id": 930, "name": "address", "nodeType": "ElementaryTypeName", - "src": "16317:7:0", + "src": "16348:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -29346,7 +29346,7 @@ "id": 932, "initialValue": null, "nodeType": "VariableDeclarationStatement", - "src": "16317:19:0" + "src": "16348:19:0" }, { "assignments": [ @@ -29359,7 +29359,7 @@ "name": "txHash", "nodeType": "VariableDeclaration", "scope": 1022, - "src": "16435:14:0", + "src": "16466:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -29370,7 +29370,7 @@ "id": 933, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "16435:7:0", + "src": "16466:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -29397,7 +29397,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "16509:34:0", + "src": "16540:34:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_178a2411ab6fbc1ba11064408972259c558d0e82fd48b0aba3ad81d14f065e73", @@ -29424,7 +29424,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "16639:4:0", + "src": "16670:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_25_by_1", @@ -29446,7 +29446,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "16634:4:0", + "src": "16665:4:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes1_$", "typeString": "type(bytes1)" @@ -29461,7 +29461,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16634:10:0", + "src": "16665:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes1", "typeString": "bytes1" @@ -29480,7 +29480,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "16675:1:0", + "src": "16706:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -29502,7 +29502,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "16670:4:0", + "src": "16701:4:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes1_$", "typeString": "type(bytes1)" @@ -29517,7 +29517,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16670:7:0", + "src": "16701:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes1", "typeString": "bytes1" @@ -29530,7 +29530,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1401, - "src": "16703:4:0", + "src": "16734:4:0", "typeDescriptions": { "typeIdentifier": "t_contract$_Escrow_v1_0_$1211", "typeString": "contract Escrow_v1_0" @@ -29543,7 +29543,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 907, - "src": "16733:12:0", + "src": "16764:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -29556,7 +29556,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 910, - "src": "16771:7:0", + "src": "16802:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" @@ -29569,7 +29569,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 904, - "src": "16804:10:0", + "src": "16835:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -29610,7 +29610,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1371, - "src": "16592:3:0", + "src": "16623:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" @@ -29624,7 +29624,7 @@ "memberName": "encodePacked", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "16592:16:0", + "src": "16623:16:0", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" @@ -29638,7 +29638,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16592:244:0", + "src": "16623:244:0", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -29657,7 +29657,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1378, - "src": "16561:9:0", + "src": "16592:9:0", "typeDescriptions": { "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", "typeString": "function () pure returns (bytes32)" @@ -29671,7 +29671,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16561:293:0", + "src": "16592:293:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -29696,7 +29696,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1371, - "src": "16475:3:0", + "src": "16506:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" @@ -29710,7 +29710,7 @@ "memberName": "encodePacked", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "16475:16:0", + "src": "16506:16:0", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" @@ -29724,7 +29724,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16475:393:0", + "src": "16506:393:0", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -29743,7 +29743,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1378, - "src": "16452:9:0", + "src": "16483:9:0", "typeDescriptions": { "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", "typeString": "function () pure returns (bytes32)" @@ -29757,20 +29757,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16452:426:0", + "src": "16483:426:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "nodeType": "VariableDeclarationStatement", - "src": "16435:443:0" + "src": "16466:443:0" }, { "body": { "id": 1017, "nodeType": "Block", - "src": "16928:543:0", + "src": "16959:543:0", "statements": [ { "assignments": [ @@ -29783,7 +29783,7 @@ "name": "recovered", "nodeType": "VariableDeclaration", "scope": 1022, - "src": "16943:17:0", + "src": "16974:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -29794,7 +29794,7 @@ "id": 968, "name": "address", "nodeType": "ElementaryTypeName", - "src": "16943:7:0", + "src": "16974:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -29815,7 +29815,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 934, - "src": "16990:6:0", + "src": "17021:6:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -29830,7 +29830,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 896, - "src": "17014:4:0", + "src": "17045:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr", "typeString": "uint8[] memory" @@ -29844,7 +29844,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 958, - "src": "17019:1:0", + "src": "17050:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29855,7 +29855,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17014:7:0", + "src": "17045:7:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -29870,7 +29870,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 899, - "src": "17039:4:0", + "src": "17070:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" @@ -29884,7 +29884,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 958, - "src": "17044:1:0", + "src": "17075:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29895,7 +29895,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17039:7:0", + "src": "17070:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -29910,7 +29910,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 902, - "src": "17064:4:0", + "src": "17095:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" @@ -29924,7 +29924,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 958, - "src": "17069:1:0", + "src": "17100:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29935,7 +29935,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17064:7:0", + "src": "17095:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -29966,7 +29966,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1376, - "src": "16963:9:0", + "src": "16994:9:0", "typeDescriptions": { "typeIdentifier": "t_function_ecrecover_pure$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$_t_address_$", "typeString": "function (bytes32,uint8,bytes32,bytes32) pure returns (address)" @@ -29980,14 +29980,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16963:122:0", + "src": "16994:122:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "VariableDeclarationStatement", - "src": "16943:142:0" + "src": "16974:142:0" }, { "expression": { @@ -30006,7 +30006,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "17125:12:0", + "src": "17156:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -30020,7 +30020,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 904, - "src": "17138:10:0", + "src": "17169:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -30031,7 +30031,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17125:24:0", + "src": "17156:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -30045,7 +30045,7 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "17125:32:0", + "src": "17156:32:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -30059,7 +30059,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 969, - "src": "17158:9:0", + "src": "17189:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -30070,7 +30070,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17125:43:0", + "src": "17156:43:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -30086,7 +30086,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "17187:19:0", + "src": "17218:19:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_4f2d7dfcb27c0aafa13ae8c400de482c7832204d194018b6e45bd2bf244c74e7", @@ -30114,7 +30114,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "17100:7:0", + "src": "17131:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -30128,7 +30128,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17100:120:0", + "src": "17131:120:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -30136,7 +30136,7 @@ }, "id": 992, "nodeType": "ExpressionStatement", - "src": "17100:120:0" + "src": "17131:120:0" }, { "expression": { @@ -30152,7 +30152,7 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "17259:42:0", + "src": "17290:42:0", "subExpression": { "argumentTypes": null, "baseExpression": { @@ -30166,7 +30166,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "17260:12:0", + "src": "17291:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -30180,7 +30180,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 904, - "src": "17273:10:0", + "src": "17304:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -30191,7 +30191,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17260:24:0", + "src": "17291:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -30205,7 +30205,7 @@ "memberName": "voted", "nodeType": "MemberAccess", "referencedDeclaration": 66, - "src": "17260:30:0", + "src": "17291:30:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -30219,7 +30219,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 969, - "src": "17291:9:0", + "src": "17322:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -30230,7 +30230,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17260:41:0", + "src": "17291:41:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -30251,7 +30251,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "17320:27:0", + "src": "17351:27:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_fb2c7e49d5ec7ce36fa812cf15ee7fa946942f931d04fe3ae970516007b2a543", @@ -30279,7 +30279,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "17234:7:0", + "src": "17265:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -30293,7 +30293,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17234:127:0", + "src": "17265:127:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -30301,7 +30301,7 @@ }, "id": 1003, "nodeType": "ExpressionStatement", - "src": "17234:127:0" + "src": "17265:127:0" }, { "expression": { @@ -30324,7 +30324,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "17375:12:0", + "src": "17406:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -30338,7 +30338,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 904, - "src": "17388:10:0", + "src": "17419:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -30349,7 +30349,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17375:24:0", + "src": "17406:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -30363,7 +30363,7 @@ "memberName": "voted", "nodeType": "MemberAccess", "referencedDeclaration": 66, - "src": "17375:30:0", + "src": "17406:30:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -30377,7 +30377,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 969, - "src": "17406:9:0", + "src": "17437:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -30388,7 +30388,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "17375:41:0", + "src": "17406:41:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -30406,7 +30406,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "17419:4:0", + "src": "17450:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -30414,7 +30414,7 @@ }, "value": "true" }, - "src": "17375:48:0", + "src": "17406:48:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -30422,7 +30422,7 @@ }, "id": 1012, "nodeType": "ExpressionStatement", - "src": "17375:48:0" + "src": "17406:48:0" }, { "expression": { @@ -30439,7 +30439,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 931, - "src": "17437:11:0", + "src": "17468:11:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -30454,13 +30454,13 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 969, - "src": "17451:9:0", + "src": "17482:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "17437:23:0", + "src": "17468:23:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -30468,7 +30468,7 @@ }, "id": 1016, "nodeType": "ExpressionStatement", - "src": "17437:23:0" + "src": "17468:23:0" } ] }, @@ -30490,7 +30490,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 958, - "src": "16906:1:0", + "src": "16937:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -30507,7 +30507,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 899, - "src": "16910:4:0", + "src": "16941:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" @@ -30521,13 +30521,13 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "16910:11:0", + "src": "16941:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "16906:15:0", + "src": "16937:15:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -30545,7 +30545,7 @@ "name": "i", "nodeType": "VariableDeclaration", "scope": 1022, - "src": "16894:6:0", + "src": "16925:6:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -30556,7 +30556,7 @@ "id": 957, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "16894:4:0", + "src": "16925:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -30577,7 +30577,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "16903:1:0", + "src": "16934:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -30586,7 +30586,7 @@ "value": "0" }, "nodeType": "VariableDeclarationStatement", - "src": "16894:10:0" + "src": "16925:10:0" }, "loopExpression": { "expression": { @@ -30599,7 +30599,7 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "16923:3:0", + "src": "16954:3:0", "subExpression": { "argumentTypes": null, "id": 965, @@ -30607,7 +30607,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 958, - "src": "16923:1:0", + "src": "16954:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -30620,10 +30620,10 @@ }, "id": 967, "nodeType": "ExpressionStatement", - "src": "16923:3:0" + "src": "16954:3:0" }, "nodeType": "ForStatement", - "src": "16889:582:0" + "src": "16920:582:0" }, { "expression": { @@ -30633,7 +30633,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 931, - "src": "17488:11:0", + "src": "17519:11:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -30642,7 +30642,7 @@ "functionReturnParameters": 914, "id": 1020, "nodeType": "Return", - "src": "17481:18:0" + "src": "17512:18:0" } ] }, @@ -30664,7 +30664,7 @@ "name": "sigV", "nodeType": "VariableDeclaration", "scope": 1022, - "src": "15970:12:0", + "src": "16001:12:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -30676,7 +30676,7 @@ "id": 894, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "15970:5:0", + "src": "16001:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -30685,7 +30685,7 @@ "id": 895, "length": null, "nodeType": "ArrayTypeName", - "src": "15970:7:0", + "src": "16001:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_storage_ptr", "typeString": "uint8[]" @@ -30700,7 +30700,7 @@ "name": "sigR", "nodeType": "VariableDeclaration", "scope": 1022, - "src": "15992:14:0", + "src": "16023:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -30712,7 +30712,7 @@ "id": 897, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "15992:7:0", + "src": "16023:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -30721,7 +30721,7 @@ "id": 898, "length": null, "nodeType": "ArrayTypeName", - "src": "15992:9:0", + "src": "16023:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -30736,7 +30736,7 @@ "name": "sigS", "nodeType": "VariableDeclaration", "scope": 1022, - "src": "16016:14:0", + "src": "16047:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -30748,7 +30748,7 @@ "id": 900, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "16016:7:0", + "src": "16047:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -30757,7 +30757,7 @@ "id": 901, "length": null, "nodeType": "ArrayTypeName", - "src": "16016:9:0", + "src": "16047:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -30772,7 +30772,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 1022, - "src": "16040:18:0", + "src": "16071:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -30783,7 +30783,7 @@ "id": 903, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "16040:7:0", + "src": "16071:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -30798,7 +30798,7 @@ "name": "destinations", "nodeType": "VariableDeclaration", "scope": 1022, - "src": "16068:22:0", + "src": "16099:22:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -30810,7 +30810,7 @@ "id": 905, "name": "address", "nodeType": "ElementaryTypeName", - "src": "16068:7:0", + "src": "16099:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -30819,7 +30819,7 @@ "id": 906, "length": null, "nodeType": "ArrayTypeName", - "src": "16068:9:0", + "src": "16099:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", "typeString": "address[]" @@ -30834,7 +30834,7 @@ "name": "amounts", "nodeType": "VariableDeclaration", "scope": 1022, - "src": "16100:16:0", + "src": "16131:16:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -30846,7 +30846,7 @@ "id": 908, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "16100:7:0", + "src": "16131:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -30855,7 +30855,7 @@ "id": 909, "length": null, "nodeType": "ArrayTypeName", - "src": "16100:9:0", + "src": "16131:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -30865,7 +30865,7 @@ "visibility": "internal" } ], - "src": "15960:162:0" + "src": "15991:162:0" }, "payable": false, "returnParameters": { @@ -30878,7 +30878,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 1022, - "src": "16156:7:0", + "src": "16187:7:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -30889,7 +30889,7 @@ "id": 912, "name": "address", "nodeType": "ElementaryTypeName", - "src": "16156:7:0", + "src": "16187:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -30899,10 +30899,10 @@ "visibility": "internal" } ], - "src": "16155:9:0" + "src": "16186:9:0" }, "scope": 1211, - "src": "15935:1571:0", + "src": "15966:1571:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "private" @@ -30911,7 +30911,7 @@ "body": { "id": 1053, "nodeType": "Block", - "src": "17660:168:0", + "src": "17691:168:0", "statements": [ { "assignments": [ @@ -30924,7 +30924,7 @@ "name": "timeSince", "nodeType": "VariableDeclaration", "scope": 1054, - "src": "17670:17:0", + "src": "17701:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -30935,7 +30935,7 @@ "id": 1031, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "17670:7:0", + "src": "17701:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -30956,7 +30956,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1026, - "src": "17698:12:0", + "src": "17729:12:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -30977,7 +30977,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1386, - "src": "17690:3:0", + "src": "17721:3:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -30991,7 +30991,7 @@ "memberName": "sub", "nodeType": "MemberAccess", "referencedDeclaration": 1324, - "src": "17690:7:0", + "src": "17721:7:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" @@ -31005,14 +31005,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17690:21:0", + "src": "17721:21:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "17670:41:0" + "src": "17701:41:0" }, { "expression": { @@ -31038,7 +31038,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1024, - "src": "17742:12:0", + "src": "17773:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -31056,7 +31056,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "17758:1:0", + "src": "17789:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -31064,7 +31064,7 @@ }, "value": "0" }, - "src": "17742:17:0", + "src": "17773:17:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -31088,7 +31088,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1032, - "src": "17768:9:0", + "src": "17799:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -31109,7 +31109,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "17806:4:0", + "src": "17837:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_3600_by_1", @@ -31135,7 +31135,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1024, - "src": "17788:12:0", + "src": "17819:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -31155,7 +31155,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "17780:7:0", + "src": "17811:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint256_$", "typeString": "type(uint256)" @@ -31170,7 +31170,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17780:21:0", + "src": "17811:21:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -31184,7 +31184,7 @@ "memberName": "mul", "nodeType": "MemberAccess", "referencedDeclaration": 1276, - "src": "17780:25:0", + "src": "17811:25:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" @@ -31198,13 +31198,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17780:31:0", + "src": "17811:31:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "17768:43:0", + "src": "17799:43:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -31216,7 +31216,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "Conditional", - "src": "17742:69:0", + "src": "17773:69:0", "trueExpression": { "argumentTypes": null, "hexValue": "66616c7365", @@ -31227,7 +31227,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "17762:5:0", + "src": "17793:5:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -31248,7 +31248,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "17728:93:0", + "src": "17759:93:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -31257,7 +31257,7 @@ "functionReturnParameters": 1030, "id": 1052, "nodeType": "Return", - "src": "17721:100:0" + "src": "17752:100:0" } ] }, @@ -31279,7 +31279,7 @@ "name": "timeoutHours", "nodeType": "VariableDeclaration", "scope": 1054, - "src": "17548:19:0", + "src": "17579:19:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -31290,7 +31290,7 @@ "id": 1023, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "17548:6:0", + "src": "17579:6:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -31305,7 +31305,7 @@ "name": "lastModified", "nodeType": "VariableDeclaration", "scope": 1054, - "src": "17577:20:0", + "src": "17608:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -31316,7 +31316,7 @@ "id": 1025, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "17577:7:0", + "src": "17608:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -31326,7 +31326,7 @@ "visibility": "internal" } ], - "src": "17538:65:0" + "src": "17569:65:0" }, "payable": false, "returnParameters": { @@ -31339,7 +31339,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 1054, - "src": "17650:4:0", + "src": "17681:4:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -31350,7 +31350,7 @@ "id": 1028, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "17650:4:0", + "src": "17681:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -31360,10 +31360,10 @@ "visibility": "internal" } ], - "src": "17649:6:0" + "src": "17680:6:0" }, "scope": 1211, - "src": "17512:316:0", + "src": "17543:316:0", "stateMutability": "view", "superFunction": null, "visibility": "private" @@ -31372,7 +31372,7 @@ "body": { "id": 1209, "nodeType": "Block", - "src": "18242:2320:0", + "src": "18273:2314:0", "statements": [ { "expression": { @@ -31396,7 +31396,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1056, - "src": "18268:5:0", + "src": "18299:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -31411,13 +31411,13 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1058, - "src": "18277:6:0", + "src": "18308:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "18268:15:0", + "src": "18299:15:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -31433,7 +31433,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "18285:27:0", + "src": "18316:27:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_6141441751234d42e9a73d96317794195c7ff57b8f16ac15725a10f10763f824", @@ -31461,7 +31461,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "18260:7:0", + "src": "18291:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -31475,7 +31475,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18260:53:0", + "src": "18291:53:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -31483,7 +31483,7 @@ }, "id": 1083, "nodeType": "ExpressionStatement", - "src": "18260:53:0" + "src": "18291:53:0" }, { "expression": { @@ -31507,7 +31507,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1068, - "src": "18380:5:0", + "src": "18411:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -31525,7 +31525,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "18388:1:0", + "src": "18419:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -31533,7 +31533,7 @@ }, "value": "0" }, - "src": "18380:9:0", + "src": "18411:9:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -31549,7 +31549,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "18391:19:0", + "src": "18422:19:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_3686f87c4804517ea83323ccf1a3b5b5ff52ed144b19e6fc56abe8fcd182e747", @@ -31577,7 +31577,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "18372:7:0", + "src": "18403:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -31591,7 +31591,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18372:39:0", + "src": "18403:39:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -31599,7 +31599,7 @@ }, "id": 1090, "nodeType": "ExpressionStatement", - "src": "18372:39:0" + "src": "18403:39:0" }, { "expression": { @@ -31634,7 +31634,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1062, - "src": "18514:9:0", + "src": "18545:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -31652,7 +31652,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "18526:1:0", + "src": "18557:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -31660,7 +31660,7 @@ }, "value": "0" }, - "src": "18514:13:0", + "src": "18545:13:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -31686,7 +31686,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1062, - "src": "18531:9:0", + "src": "18562:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -31704,7 +31704,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "18544:1:0", + "src": "18575:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_3_by_1", @@ -31712,13 +31712,13 @@ }, "value": "3" }, - "src": "18531:14:0", + "src": "18562:14:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "18514:31:0", + "src": "18545:31:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -31734,7 +31734,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "18560:63:0", + "src": "18591:63:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_351c1d5dfdc4a2b4c61d6f4dbb41a0d2ae70a9c094d3c0add87af24b5dd19c13", @@ -31762,7 +31762,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "18493:7:0", + "src": "18524:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -31776,7 +31776,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18493:140:0", + "src": "18524:140:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -31784,7 +31784,7 @@ }, "id": 1101, "nodeType": "ExpressionStatement", - "src": "18493:140:0" + "src": "18524:140:0" }, { "expression": { @@ -31819,7 +31819,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1062, - "src": "18913:9:0", + "src": "18945:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -31837,7 +31837,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "18926:1:0", + "src": "18958:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -31845,7 +31845,7 @@ }, "value": "1" }, - "src": "18913:14:0", + "src": "18945:14:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -31871,7 +31871,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1060, - "src": "18931:9:0", + "src": "18963:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -31892,7 +31892,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "18952:1:0", + "src": "18984:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -31914,7 +31914,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "18944:7:0", + "src": "18976:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" @@ -31929,19 +31929,19 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18944:10:0", + "src": "18976:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "18931:23:0", + "src": "18963:23:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "18913:41:0", + "src": "18945:41:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -31949,7 +31949,7 @@ }, { "argumentTypes": null, - "hexValue": "456974686572207468726573686f6c642073686f756c642062652031206f74686572776973652076616c6964206d6f64657261746f7220616464726573732073686f756c6420626520706173736564", + "hexValue": "456974686572207468726573686f6c642073686f756c642062652031206f722076616c6964206d6f64657261746f7220616464726573732073686f756c6420626520706173736564", "id": 1112, "isConstant": false, "isLValue": false, @@ -31957,13 +31957,13 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "18968:81:0", + "src": "19000:74:0", "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_stringliteral_08dfdd405be5d5023d3f601e2b0a844b246ceb6764817070ff6789d5e1f80050", - "typeString": "literal_string \"Either threshold should be 1 otherwise valid moderator address should be passed\"" + "typeIdentifier": "t_stringliteral_2056db168725d2fabb8aaf14efad7a3fc12ef6bc7132f0596ea09b041b71cb25", + "typeString": "literal_string \"Either threshold should be 1 or valid moderator address should be passed\"" }, - "value": "Either threshold should be 1 otherwise valid moderator address should be passed" + "value": "Either threshold should be 1 or valid moderator address should be passed" } ], "expression": { @@ -31973,8 +31973,8 @@ "typeString": "bool" }, { - "typeIdentifier": "t_stringliteral_08dfdd405be5d5023d3f601e2b0a844b246ceb6764817070ff6789d5e1f80050", - "typeString": "literal_string \"Either threshold should be 1 otherwise valid moderator address should be passed\"" + "typeIdentifier": "t_stringliteral_2056db168725d2fabb8aaf14efad7a3fc12ef6bc7132f0596ea09b041b71cb25", + "typeString": "literal_string \"Either threshold should be 1 or valid moderator address should be passed\"" } ], "id": 1102, @@ -31985,7 +31985,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "18892:7:0", + "src": "18924:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -31999,7 +31999,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18892:167:0", + "src": "18924:160:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -32007,7 +32007,7 @@ }, "id": 1114, "nodeType": "ExpressionStatement", - "src": "18892:167:0" + "src": "18924:160:0" }, { "expression": { @@ -32031,7 +32031,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1066, - "src": "19091:10:0", + "src": "19116:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -32049,7 +32049,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1070, - "src": "19148:8:0", + "src": "19173:8:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -32062,7 +32062,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1062, - "src": "19174:9:0", + "src": "19199:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -32075,7 +32075,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1064, - "src": "19201:12:0", + "src": "19226:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -32088,7 +32088,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1056, - "src": "19231:5:0", + "src": "19256:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -32101,7 +32101,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1058, - "src": "19254:6:0", + "src": "19279:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -32114,7 +32114,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1060, - "src": "19278:9:0", + "src": "19303:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -32127,7 +32127,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1074, - "src": "19305:12:0", + "src": "19330:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -32170,7 +32170,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 637, - "src": "19105:25:0", + "src": "19130:25:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_bytes20_$_t_uint8_$_t_uint32_$_t_address_$_t_address_$_t_address_$_t_address_$returns$_t_bytes32_$", "typeString": "function (bytes20,uint8,uint32,address,address,address,address) view returns (bytes32)" @@ -32184,13 +32184,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "19105:226:0", + "src": "19130:226:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "src": "19091:240:0", + "src": "19116:240:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -32206,7 +32206,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "19346:59:0", + "src": "19371:59:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_0c041e0c58e6b0e01d338d852a5abb639065eabeb0aee05e0ce3e5f0e52b4f51", @@ -32234,7 +32234,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "19070:7:0", + "src": "19095:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -32248,7 +32248,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "19070:345:0", + "src": "19095:345:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -32256,7 +32256,7 @@ }, "id": 1129, "nodeType": "ExpressionStatement", - "src": "19070:345:0" + "src": "19095:345:0" }, { "expression": { @@ -32275,7 +32275,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "19426:12:0", + "src": "19451:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -32289,7 +32289,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1066, - "src": "19439:10:0", + "src": "19464:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -32300,7 +32300,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "19426:24:0", + "src": "19451:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -32318,7 +32318,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1056, - "src": "19486:5:0", + "src": "19511:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -32331,7 +32331,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1058, - "src": "19513:6:0", + "src": "19538:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -32344,7 +32344,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1060, - "src": "19544:9:0", + "src": "19569:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -32357,7 +32357,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1068, - "src": "19574:5:0", + "src": "19599:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -32372,7 +32372,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9, - "src": "19601:6:0", + "src": "19626:6:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_Status_$9_$", "typeString": "type(enum Escrow_v1_0.Status)" @@ -32386,7 +32386,7 @@ "memberName": "FUNDED", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "19601:13:0", + "src": "19626:13:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$9", "typeString": "enum Escrow_v1_0.Status" @@ -32401,7 +32401,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1374, - "src": "19642:5:0", + "src": "19667:5:0", "typeDescriptions": { "typeIdentifier": "t_magic_block", "typeString": "block" @@ -32415,7 +32415,7 @@ "memberName": "timestamp", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "19642:15:0", + "src": "19667:15:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -32428,7 +32428,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1062, - "src": "19682:9:0", + "src": "19707:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -32441,7 +32441,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1064, - "src": "19719:12:0", + "src": "19744:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -32454,7 +32454,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1072, - "src": "19761:15:0", + "src": "19786:15:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -32467,7 +32467,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1074, - "src": "19803:12:0", + "src": "19828:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -32481,7 +32481,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 71, - "src": "19453:11:0", + "src": "19478:11:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_struct$_Transaction_$71_storage_ptr_$", "typeString": "type(struct Escrow_v1_0.Transaction storage pointer)" @@ -32506,13 +32506,13 @@ "tokenAddress" ], "nodeType": "FunctionCall", - "src": "19453:373:0", + "src": "19478:373:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_memory", "typeString": "struct Escrow_v1_0.Transaction memory" } }, - "src": "19426:400:0", + "src": "19451:400:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -32520,7 +32520,7 @@ }, "id": 1148, "nodeType": "ExpressionStatement", - "src": "19426:400:0" + "src": "19451:400:0" }, { "expression": { @@ -32543,7 +32543,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "19837:12:0", + "src": "19862:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -32557,7 +32557,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1066, - "src": "19850:10:0", + "src": "19875:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -32568,7 +32568,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "19837:24:0", + "src": "19862:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -32582,7 +32582,7 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "19837:32:0", + "src": "19862:32:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -32596,7 +32596,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1058, - "src": "19870:6:0", + "src": "19895:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -32607,7 +32607,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "19837:40:0", + "src": "19862:40:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -32625,7 +32625,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "19880:4:0", + "src": "19905:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -32633,7 +32633,7 @@ }, "value": "true" }, - "src": "19837:47:0", + "src": "19862:47:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -32641,7 +32641,7 @@ }, "id": 1157, "nodeType": "ExpressionStatement", - "src": "19837:47:0" + "src": "19862:47:0" }, { "expression": { @@ -32664,7 +32664,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "19894:12:0", + "src": "19919:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -32678,7 +32678,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1066, - "src": "19907:10:0", + "src": "19932:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -32689,7 +32689,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "19894:24:0", + "src": "19919:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -32703,7 +32703,7 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "19894:32:0", + "src": "19919:32:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -32717,7 +32717,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1056, - "src": "19927:5:0", + "src": "19952:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -32728,7 +32728,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "19894:39:0", + "src": "19919:39:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -32746,7 +32746,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "19936:4:0", + "src": "19961:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -32754,7 +32754,7 @@ }, "value": "true" }, - "src": "19894:46:0", + "src": "19919:46:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -32762,7 +32762,7 @@ }, "id": 1166, "nodeType": "ExpressionStatement", - "src": "19894:46:0" + "src": "19919:46:0" }, { "expression": { @@ -32778,7 +32778,7 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "20047:44:0", + "src": "20072:44:0", "subExpression": { "argumentTypes": null, "baseExpression": { @@ -32792,7 +32792,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "20048:12:0", + "src": "20073:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -32806,7 +32806,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1066, - "src": "20061:10:0", + "src": "20086:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -32817,7 +32817,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20048:24:0", + "src": "20073:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -32831,7 +32831,7 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "20048:32:0", + "src": "20073:32:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -32845,7 +32845,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1060, - "src": "20081:9:0", + "src": "20106:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -32856,7 +32856,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20048:43:0", + "src": "20073:43:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -32877,7 +32877,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "20106:47:0", + "src": "20131:47:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_313b391557427937e7bdb85c7561d47c5b9c985755a448dd33a92026ffb38f8d", @@ -32905,7 +32905,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "20026:7:0", + "src": "20051:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -32919,7 +32919,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "20026:137:0", + "src": "20051:137:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -32927,7 +32927,7 @@ }, "id": 1177, "nodeType": "ExpressionStatement", - "src": "20026:137:0" + "src": "20051:137:0" }, { "condition": { @@ -32948,7 +32948,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1062, - "src": "20323:9:0", + "src": "20348:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -32966,7 +32966,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "20335:1:0", + "src": "20360:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -32974,7 +32974,7 @@ }, "value": "1" }, - "src": "20323:13:0", + "src": "20348:13:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -32983,11 +32983,11 @@ "falseBody": null, "id": 1191, "nodeType": "IfStatement", - "src": "20319:94:0", + "src": "20344:94:0", "trueBody": { "id": 1190, "nodeType": "Block", - "src": "20338:75:0", + "src": "20363:75:0", "statements": [ { "expression": { @@ -33010,7 +33010,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "20352:12:0", + "src": "20377:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -33024,7 +33024,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1066, - "src": "20365:10:0", + "src": "20390:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -33035,7 +33035,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20352:24:0", + "src": "20377:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -33049,7 +33049,7 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "20352:32:0", + "src": "20377:32:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -33063,7 +33063,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1060, - "src": "20385:9:0", + "src": "20410:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -33074,7 +33074,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "20352:43:0", + "src": "20377:43:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -33092,7 +33092,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "20398:4:0", + "src": "20423:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -33100,7 +33100,7 @@ }, "value": "true" }, - "src": "20352:50:0", + "src": "20377:50:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -33108,7 +33108,7 @@ }, "id": 1189, "nodeType": "ExpressionStatement", - "src": "20352:50:0" + "src": "20377:50:0" } ] } @@ -33124,7 +33124,7 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "20431:18:0", + "src": "20456:18:0", "subExpression": { "argumentTypes": null, "id": 1192, @@ -33132,7 +33132,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 78, - "src": "20431:16:0", + "src": "20456:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -33145,7 +33145,7 @@ }, "id": 1194, "nodeType": "ExpressionStatement", - "src": "20431:18:0" + "src": "20456:18:0" }, { "expression": { @@ -33158,7 +33158,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1066, - "src": "20491:10:0", + "src": "20516:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -33181,7 +33181,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 83, - "src": "20460:18:0", + "src": "20485:18:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_bytes32_$dyn_storage_$", "typeString": "mapping(address => bytes32[] storage ref)" @@ -33195,7 +33195,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1056, - "src": "20479:5:0", + "src": "20504:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -33206,7 +33206,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20460:25:0", + "src": "20485:25:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage", "typeString": "bytes32[] storage ref" @@ -33220,7 +33220,7 @@ "memberName": "push", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "20460:30:0", + "src": "20485:30:0", "typeDescriptions": { "typeIdentifier": "t_function_arraypush_nonpayable$_t_bytes32_$returns$_t_uint256_$", "typeString": "function (bytes32) returns (uint256)" @@ -33234,7 +33234,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "20460:42:0", + "src": "20485:42:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -33242,7 +33242,7 @@ }, "id": 1201, "nodeType": "ExpressionStatement", - "src": "20460:42:0" + "src": "20485:42:0" }, { "expression": { @@ -33255,7 +33255,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1066, - "src": "20544:10:0", + "src": "20569:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -33278,7 +33278,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 83, - "src": "20512:18:0", + "src": "20537:18:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_bytes32_$dyn_storage_$", "typeString": "mapping(address => bytes32[] storage ref)" @@ -33292,7 +33292,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1058, - "src": "20531:6:0", + "src": "20556:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -33303,7 +33303,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20512:26:0", + "src": "20537:26:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage", "typeString": "bytes32[] storage ref" @@ -33317,7 +33317,7 @@ "memberName": "push", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "20512:31:0", + "src": "20537:31:0", "typeDescriptions": { "typeIdentifier": "t_function_arraypush_nonpayable$_t_bytes32_$returns$_t_uint256_$", "typeString": "function (bytes32) returns (uint256)" @@ -33331,7 +33331,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "20512:43:0", + "src": "20537:43:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -33339,7 +33339,7 @@ }, "id": 1208, "nodeType": "ExpressionStatement", - "src": "20512:43:0" + "src": "20537:43:0" } ] }, @@ -33361,7 +33361,7 @@ "name": "buyer", "nodeType": "VariableDeclaration", "scope": 1210, - "src": "17949:13:0", + "src": "17980:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -33372,7 +33372,7 @@ "id": 1055, "name": "address", "nodeType": "ElementaryTypeName", - "src": "17949:7:0", + "src": "17980:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -33387,7 +33387,7 @@ "name": "seller", "nodeType": "VariableDeclaration", "scope": 1210, - "src": "17972:14:0", + "src": "18003:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -33398,7 +33398,7 @@ "id": 1057, "name": "address", "nodeType": "ElementaryTypeName", - "src": "17972:7:0", + "src": "18003:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -33413,7 +33413,7 @@ "name": "moderator", "nodeType": "VariableDeclaration", "scope": 1210, - "src": "17996:17:0", + "src": "18027:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -33424,7 +33424,7 @@ "id": 1059, "name": "address", "nodeType": "ElementaryTypeName", - "src": "17996:7:0", + "src": "18027:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -33439,7 +33439,7 @@ "name": "threshold", "nodeType": "VariableDeclaration", "scope": 1210, - "src": "18023:15:0", + "src": "18054:15:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -33450,7 +33450,7 @@ "id": 1061, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "18023:5:0", + "src": "18054:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -33465,7 +33465,7 @@ "name": "timeoutHours", "nodeType": "VariableDeclaration", "scope": 1210, - "src": "18048:19:0", + "src": "18079:19:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -33476,7 +33476,7 @@ "id": 1063, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "18048:6:0", + "src": "18079:6:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -33491,7 +33491,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 1210, - "src": "18077:18:0", + "src": "18108:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -33502,7 +33502,7 @@ "id": 1065, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "18077:7:0", + "src": "18108:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -33517,7 +33517,7 @@ "name": "value", "nodeType": "VariableDeclaration", "scope": 1210, - "src": "18105:13:0", + "src": "18136:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -33528,7 +33528,7 @@ "id": 1067, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "18105:7:0", + "src": "18136:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -33543,7 +33543,7 @@ "name": "uniqueId", "nodeType": "VariableDeclaration", "scope": 1210, - "src": "18128:16:0", + "src": "18159:16:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -33554,7 +33554,7 @@ "id": 1069, "name": "bytes20", "nodeType": "ElementaryTypeName", - "src": "18128:7:0", + "src": "18159:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -33569,7 +33569,7 @@ "name": "transactionType", "nodeType": "VariableDeclaration", "scope": 1210, - "src": "18154:31:0", + "src": "18185:31:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -33582,7 +33582,7 @@ "name": "TransactionType", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 12, - "src": "18154:15:0", + "src": "18185:15:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -33597,7 +33597,7 @@ "name": "tokenAddress", "nodeType": "VariableDeclaration", "scope": 1210, - "src": "18195:20:0", + "src": "18226:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -33608,7 +33608,7 @@ "id": 1073, "name": "address", "nodeType": "ElementaryTypeName", - "src": "18195:7:0", + "src": "18226:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -33618,27 +33618,27 @@ "visibility": "internal" } ], - "src": "17939:282:0" + "src": "17970:282:0" }, "payable": false, "returnParameters": { "id": 1076, "nodeType": "ParameterList", "parameters": [], - "src": "18242:0:0" + "src": "18273:0:0" }, "scope": 1211, - "src": "17915:2647:0", + "src": "17946:2641:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "private" } ], "scope": 1212, - "src": "460:20104:0" + "src": "460:20129:0" } ], - "src": "0:20565:0" + "src": "0:20590:0" }, "compiler": { "name": "solc", @@ -33646,5 +33646,5 @@ }, "networks": {}, "schemaVersion": "2.0.1", - "updatedAt": "2018-11-19T13:12:41.529Z" + "updatedAt": "2018-11-19T13:24:37.686Z" } \ No newline at end of file diff --git a/build/contracts/ITokenContract.json b/build/contracts/ITokenContract.json index ad70011..61146ff 100644 --- a/build/contracts/ITokenContract.json +++ b/build/contracts/ITokenContract.json @@ -817,5 +817,5 @@ }, "networks": {}, "schemaVersion": "2.0.1", - "updatedAt": "2018-11-19T13:12:41.521Z" + "updatedAt": "2018-11-19T13:24:37.667Z" } \ No newline at end of file diff --git a/build/contracts/SafeMath.json b/build/contracts/SafeMath.json index de8f4bc..bfa2523 100644 --- a/build/contracts/SafeMath.json +++ b/build/contracts/SafeMath.json @@ -3295,5 +3295,5 @@ }, "networks": {}, "schemaVersion": "2.0.1", - "updatedAt": "2018-11-19T13:12:41.522Z" + "updatedAt": "2018-11-19T13:24:37.669Z" } \ No newline at end of file diff --git a/contracts/escrow/Escrow_v1_0.sol b/contracts/escrow/Escrow_v1_0.sol index 0eb6d4c..d5a7825 100644 --- a/contracts/escrow/Escrow_v1_0.sol +++ b/contracts/escrow/Escrow_v1_0.sol @@ -21,19 +21,19 @@ contract Escrow_v1_0 { enum TransactionType {ETHER, TOKEN} event Executed( - bytes32 scriptHash, + bytes32 indexed scriptHash, address[] destinations, uint256[] amounts ); event FundAdded( - bytes32 scriptHash, + bytes32 indexed scriptHash, address indexed from, uint256 valueAdded ); event Funded( - bytes32 scriptHash, + bytes32 indexed scriptHash, address indexed from, uint256 value ); From 556f2e06ca0d2221248dd30dcd303d646b793d74 Mon Sep 17 00:00:00 2001 From: Sameep Singhania Date: Mon, 19 Nov 2018 19:00:12 +0530 Subject: [PATCH 10/19] Removed unnecessary _value variable declaration from addTokensToTransaction and addFundsToTransaction --- build/contracts/Escrow_v1_0.json | 4818 +++++++++++++-------------- build/contracts/ITokenContract.json | 2 +- build/contracts/SafeMath.json | 2 +- contracts/escrow/Escrow_v1_0.sol | 14 +- 4 files changed, 2417 insertions(+), 2419 deletions(-) diff --git a/build/contracts/Escrow_v1_0.json b/build/contracts/Escrow_v1_0.json index 59d0b2c..947e19f 100644 --- a/build/contracts/Escrow_v1_0.json +++ b/build/contracts/Escrow_v1_0.json @@ -97,7 +97,7 @@ "anonymous": false, "inputs": [ { - "indexed": false, + "indexed": true, "name": "scriptHash", "type": "bytes32" }, @@ -119,7 +119,7 @@ "anonymous": false, "inputs": [ { - "indexed": false, + "indexed": true, "name": "scriptHash", "type": "bytes32" }, @@ -141,7 +141,7 @@ "anonymous": false, "inputs": [ { - "indexed": false, + "indexed": true, "name": "scriptHash", "type": "bytes32" }, @@ -418,11 +418,11 @@ "type": "function" } ], - "bytecode": "0x6080604052600060015534801561001557600080fd5b50614210806100256000396000f3006080604052600436106100ba576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806323b6fd3f146100bf5780632d9ef96e1461017957806346fbcdeb1461019d57806357bced7614610292578063642f2eaf14610383578063b0550c66146104e5578063b719e2801461054e578063b77bf60014610589578063be84ceaf146105b4578063e4ec8b001461064c578063f0786562146106f5578063f5dbe09c1461075e575b600080fd5b610177600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff169060200190929190803563ffffffff169060200190929190803560001916906020019092919080356bffffffffffffffffffffffff191690602001909291905050506107c7565b005b61019b6004803603810190808035600019169060200190929190505050610a26565b005b3480156101a957600080fd5b5061027460048036038101908080356bffffffffffffffffffffffff19169060200190929190803560ff169060200190929190803563ffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610eb4565b60405180826000191660001916815260200191505060405180910390f35b34801561029e57600080fd5b50610381600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff169060200190929190803563ffffffff16906020019092919080356000191690602001909291908035906020019092919080356bffffffffffffffffffffffff19169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611360565b005b34801561038f57600080fd5b506103b26004803603810190808035600019169060200190929190505050611840565b604051808b81526020018a81526020018960018111156103ce57fe5b60ff1681526020018860018111156103e257fe5b60ff1681526020018760ff1660ff1681526020018663ffffffff1663ffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019a505050505050505050505060405180910390f35b3480156104f157600080fd5b506105346004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061194b565b604051808215151515815260200191505060405180910390f35b34801561055a57600080fd5b506105876004803603810190808035600019169060200190929190803590602001909291905050506119bd565b005b34801561059557600080fd5b5061059e61209d565b6040518082815260200191505060405180910390f35b3480156105c057600080fd5b506105f5600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506120a3565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b8381101561063857808201518184015260208101905061061d565b505050509050019250505060405180910390f35b34801561065857600080fd5b506106f3600480360381019080803590602001908201803590602001919091929391929390803590602001908201803590602001919091929391929390803590602001908201803590602001919091929391929390803560001916906020019092919080359060200190820180359060200191909192939192939080359060200190820180359060200191909192939192939050505061213e565b005b34801561070157600080fd5b506107446004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506126a0565b604051808215151515815260200191505060405180910390f35b34801561076a57600080fd5b506107a9600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050612712565b60405180826000191660001916815260200191505060405180910390f35b81600080600083600019166000191681526020019081526020016000206000015414151561085d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f5472616e73616374696f6e20657869737400000000000000000000000000000081525060200191505060405180910390fd5b87600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610903576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b87600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156109a9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b6109bc8a8a8a8a8a8a348b600080612742565b3373ffffffffffffffffffffffffffffffffffffffff167fce7089d0668849fb9ca29778c0cbf1e764d9efb048d81fd71fb34c94f26db36886346040518083600019166000191681526020018281526020019250505060405180910390a250505050505050505050565b600081600080600083600019166000191681526020019081526020016000206000015414151515610abf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737400000000000081525060200191505060405180910390fd5b8260006001811115610acd57fe5b600080836000191660001916815260200190815260200160002060020160009054906101000a900460ff166001811115610b0357fe5b141515610b9e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001807f5472616e73616374696f6e206973206e6f7420696e2046554e4445442073746181526020017f746500000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b836000806001811115610bad57fe5b600080846000191660001916815260200190815260200160002060020160019054906101000a900460ff166001811115610be357fe5b141515610c58576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5472616e73616374696f6e207479706520646f6573206e6f74206d617463680081525060200191505060405180910390fd5b85600080826000191660001916815260200190815260200160002060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610d5f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f54686520696e69746961746f72206f6620746865207472616e73616374696f6e81526020017f206973206e6f742062757965720000000000000000000000000000000000000081525060400191505060405180910390fd5b349550600086111515610dda576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f56616c7565206d7573742062652067726561746572207468616e207a65726f2e81525060200191505060405180910390fd5b610e0a866000808a60001916600019168152602001908152602001600020600001546130ce90919063ffffffff16565b600080896000191660001916815260200190815260200160002060000181905550426000808960001916600019168152602001908152602001600020600101819055503373ffffffffffffffffffffffffffffffffffffffff167ff66fd2ae9e24a6a24b02e1b5b7512ffde5149a4176085fc0298ae228c9b9d72988886040518083600019166000191681526020018281526020019250505060405180910390a250505050505050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611100578787878787873060405160200180886bffffffffffffffffffffffff19166bffffffffffffffffffffffff191681526014018760ff1660ff167f01000000000000000000000000000000000000000000000000000000000000000281526001018663ffffffff1663ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014019750505050505050506040516020818303038152906040526040518082805190602001908083835b6020831015156110cc57805182526020820191506020810190506020830392506110a7565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390209050611355565b878787878787308860405160200180896bffffffffffffffffffffffff19166bffffffffffffffffffffffff191681526014018860ff1660ff167f01000000000000000000000000000000000000000000000000000000000000000281526001018763ffffffff1663ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401985050505050505050506040516020818303038152906040526040518082805190602001908083835b6020831015156113255780518252602082019150602081019050602083039250611300565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902090505b979650505050505050565b60008460008060008360001916600019168152602001908152602001600020600001541415156113f8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f5472616e73616374696f6e20657869737400000000000000000000000000000081525060200191505060405180910390fd5b8a600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561149e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b8a600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515611544576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b84600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156115ea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b6115fd8e8e8e8e8e8e8e8e60018f612742565b8594508473ffffffffffffffffffffffffffffffffffffffff166323b872dd33308b6040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b1580156116d757600080fd5b505af11580156116eb573d6000803e3d6000fd5b505050506040513d602081101561170157600080fd5b810190808051906020019092919050505015156117d2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252605d8152602001807f546f6b656e207472616e73666572206661696c65642c206d6179626520796f7581526020017f20646964206e6f7420617070726f766520657363726f7720636f6e747261637481526020017f20746f207370656e64206f6e20626568616c66206f662073656e64657200000081525060600191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff167fce7089d0668849fb9ca29778c0cbf1e764d9efb048d81fd71fb34c94f26db3688a8a6040518083600019166000191681526020018281526020019250505060405180910390a25050505050505050505050505050565b60006020528060005260406000206000915090508060000154908060010154908060020160009054906101000a900460ff16908060020160019054906101000a900460ff16908060020160029054906101000a900460ff16908060020160039054906101000a900463ffffffff16908060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060050160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508a565b6000806000846000191660001916815260200190815260200160002060080160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b60008083600080600083600019166000191681526020019081526020016000206000015414151515611a57576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737400000000000081525060200191505060405180910390fd5b8460006001811115611a6557fe5b600080836000191660001916815260200190815260200160002060020160009054906101000a900460ff166001811115611a9b57fe5b141515611b36576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001807f5472616e73616374696f6e206973206e6f7420696e2046554e4445442073746181526020017f746500000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b856001806001811115611b4557fe5b600080846000191660001916815260200190815260200160002060020160019054906101000a900460ff166001811115611b7b57fe5b141515611bf0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5472616e73616374696f6e207479706520646f6573206e6f74206d617463680081525060200191505060405180910390fd5b87600080826000191660001916815260200190815260200160002060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611cf7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f54686520696e69746961746f72206f6620746865207472616e73616374696f6e81526020017f206973206e6f742062757965720000000000000000000000000000000000000081525060400191505060405180910390fd5b879650600087111515611d72576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f56616c7565206d7573742062652067726561746572207468616e207a65726f2e81525060200191505060405180910390fd5b6000808a6000191660001916815260200190815260200160002060040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1695508573ffffffffffffffffffffffffffffffffffffffff166323b872dd6000808c6000191660001916815260200190815260200160002060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff16308b6040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b158015611ec657600080fd5b505af1158015611eda573d6000803e3d6000fd5b505050506040513d6020811015611ef057600080fd5b81019080805190602001909291905050501515611fc1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252605c8152602001807f546f6b656e207472616e73666572206661696c65642c206d6179626520796f7581526020017f20646964206e6f7420617070726f766520657363726f7720636f6e747261637481526020017f20746f207370656e64206f6e20626568616c66206f662062757965720000000081525060600191505060405180910390fd5b611ff1876000808c60001916600019168152602001908152602001600020600001546130ce90919063ffffffff16565b6000808b6000191660001916815260200190815260200160002060000181905550426000808b60001916600019168152602001908152602001600020600101819055503373ffffffffffffffffffffffffffffffffffffffff167ff66fd2ae9e24a6a24b02e1b5b7512ffde5149a4176085fc0298ae228c9b9d7298a896040518083600019166000191681526020018281526020019250505060405180910390a2505050505050505050565b60015481565b6060600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080548060200260200160405190810160405280929190818152602001828054801561213257602002820191906000526020600020905b8154600019168152602001906001019080831161211a575b50505050509050919050565b846000806000836000191660001916815260200190815260200160002060000154141515156121d5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737400000000000081525060200191505060405180910390fd5b85600060018111156121e357fe5b600080836000191660001916815260200190815260200160002060020160009054906101000a900460ff16600181111561221957fe5b1415156122b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001807f5472616e73616374696f6e206973206e6f7420696e2046554e4445442073746181526020017f746500000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b6000868690501180156122cc57508383905086869050145b1515612366576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001807f4c656e677468206f662064657374696e6174696f6e7320697320696e636f727281526020017f6563742e0000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b61245f8d8d808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508c8c808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508b8b808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508a8a8a808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508989808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050506130ef565b6001600080896000191660001916815260200190815260200160002060020160006101000a81548160ff0219169083600181111561249957fe5b021790555042600080896000191660001916815260200190815260200160002060010181905550600080886000191660001916815260200190815260200160002060000154612547888888808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508787808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050506132d0565b141515612608576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260488152602001807f546f74616c2076616c756520746f2062652072656c6561736564206d7573742081526020017f626520657175616c20746f20746865207472616e73616374696f6e206573637281526020017f6f772076616c756500000000000000000000000000000000000000000000000081525060600191505060405180910390fd5b7f688e2a1b34445bcd47b0e11ba2a9c8c4d850a1831b64199b59d1c70e2970154587878787876040518086600019166000191681526020018060200180602001838103835287878281815260200192506020028082843782019150508381038252858582818152602001925060200280828437820191505097505050505050505060405180910390a150505050505050505050505050565b6000806000846000191660001916815260200190815260200160002060070160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b60026020528160005260406000208181548110151561272d57fe5b90600052602060002001600091509150505481565b8873ffffffffffffffffffffffffffffffffffffffff168a73ffffffffffffffffffffffffffffffffffffffff16141515156127e6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f427579657220616e642073656c6c6572206172652073616d650000000000000081525060200191505060405180910390fd5b60008411151561285e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f56616c756520706173736564206973203000000000000000000000000000000081525060200191505060405180910390fd5b60008760ff16118015612875575060038760ff1611155b151561290f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603d8152602001807f5468726573686f6c642063616e6e6f742062652067726561746572207468616e81526020017f203320616e64206d7573742062652067726561746572207468616e203000000081525060400191505060405180910390fd5b60018760ff16148061294e5750600073ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff1614155b1515612a0e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260488152602001807f456974686572207468726573686f6c642073686f756c642062652031206f722081526020017f76616c6964206d6f64657261746f7220616464726573732073686f756c64206281526020017f652070617373656400000000000000000000000000000000000000000000000081525060600191505060405180910390fd5b612a1d8388888d8d8d87610eb4565b600019168560001916141515612ac1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260398152602001807f43616c63756c6174656420736372697074206861736820646f6573206e6f742081526020017f6d61746368207061737365642073637269707420686173682e0000000000000081525060400191505060405180910390fd5b6101406040519081016040528085815260200142815260200160006001811115612ae757fe5b8152602001836001811115612af857fe5b81526020018860ff1681526020018763ffffffff1681526020018b73ffffffffffffffffffffffffffffffffffffffff1681526020018a73ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020018973ffffffffffffffffffffffffffffffffffffffff168152506000808760001916600019168152602001908152602001600020600082015181600001556020820151816001015560408201518160020160006101000a81548160ff02191690836001811115612bd257fe5b021790555060608201518160020160016101000a81548160ff02191690836001811115612bfb57fe5b021790555060808201518160020160026101000a81548160ff021916908360ff16021790555060a08201518160020160036101000a81548163ffffffff021916908363ffffffff16021790555060c08201518160020160076101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060e08201518160030160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506101008201518160040160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506101208201518160050160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055509050506001600080876000191660001916815260200190815260200160002060060160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600080876000191660001916815260200190815260200160002060060160008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600080866000191660001916815260200190815260200160002060060160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151515612f52576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f456974686572206275796572206f722073656c6c65722069732070617373656481526020017f206173206d6f64657261746f720000000000000000000000000000000000000081525060400191505060405180910390fd5b60018760ff161115612fd2576001600080876000191660001916815260200190815260200160002060060160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b600160008154809291906001019190505550600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020859080600181540180825580915050906001820390600052602060002001600090919290919091509060001916905550600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002085908060018154018082558091505090600182039060005260206000200160009091929091909150906000191690555050505050505050505050565b60008082840190508381101515156130e557600080fd5b8091505092915050565b600080613100888888888888613ab8565b9150613156600080876000191660001916815260200190815260200160002060020160039054906101000a900463ffffffff16600080886000191660001916815260200190815260200160002060010154614131565b9050600080866000191660001916815260200190815260200160002060020160029054906101000a900460ff1660ff16885110801561320757508015806132065750600080866000191660001916815260200190815260200160002060030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b5b156132c6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260588152602001807f4d696e696d756d206e756d626572206f66207369676e6174757265732061726581526020017f206e6f7420636f6c6c656374656420616e642074696d65206c6f636b2065787081526020017f69727920636f6e646974696f6e73206e6f74206d65742121000000000000000081525060600191505060405180910390fd5b5050505050505050565b6000806000806000806000808a600019166000191681526020019081526020016000209450600093506000600181111561330657fe5b8560020160019054906101000a900460ff16600181111561332357fe5b141561363a57600092505b875183101561363557600073ffffffffffffffffffffffffffffffffffffffff16888481518110151561335d57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff16141580156133ed5750846006016000898581518110151561339a57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1515613461576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f4e6f7420612076616c69642064657374696e6174696f6e00000000000000000081525060200191505060405180910390fd5b6000878481518110151561347157fe5b90602001906020020151111515613516576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001807f416d6f756e7420746f2062652073656e742073686f756c64206265206772656181526020017f746572207468616e20300000000000000000000000000000000000000000000081525060400191505060405180910390fd5b613540878481518110151561352757fe5b90602001906020020151856130ce90919063ffffffff16565b935060018560080160008a8681518110151561355857fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555087838151811015156135c157fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff166108fc88858151811015156135f257fe5b906020019060200201519081150290604051600060405180830381858888f19350505050158015613627573d6000803e3d6000fd5b50828060010193505061332e565b613aa9565b60018081111561364657fe5b8560020160019054906101000a900460ff16600181111561366357fe5b1415613aa8578460040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169150600090505b8751811015613aa757600073ffffffffffffffffffffffffffffffffffffffff1688828151811015156136c457fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff16141580156137545750846006016000898381518110151561370157fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15156137c8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f4e6f7420612076616c69642064657374696e6174696f6e00000000000000000081525060200191505060405180910390fd5b600087828151811015156137d857fe5b9060200190602002015111151561387d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001807f416d6f756e7420746f2062652073656e742073686f756c64206265206772656181526020017f746572207468616e20300000000000000000000000000000000000000000000081525060400191505060405180910390fd5b6138a7878281518110151561388e57fe5b90602001906020020151856130ce90919063ffffffff16565b935060018560080160008a848151811015156138bf57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb898381518110151561394457fe5b90602001906020020151898481518110151561395c57fe5b906020019060200201516040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1580156139eb57600080fd5b505af11580156139ff573d6000803e3d6000fd5b505050506040513d6020811015613a1557600080fd5b81019080805190602001909291905050501515613a9a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f546f6b656e207472616e73666572206661696c65642e0000000000000000000081525060200191505060405180910390fd5b8080600101915050613695565b5b5b83955050505050509392505050565b600080600080600088518a51148015613ad257508a518a51145b1515613b46576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f522c532c56206c656e677468206d69736d617463682e0000000000000000000081525060200191505060405180910390fd5b60197f01000000000000000000000000000000000000000000000000000000000000000260007f0100000000000000000000000000000000000000000000000000000000000000023089898c60405160200180877effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168152600101867effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526001018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401848051906020019060200280838360005b83811015613c9a578082015181840152602081019050613c7f565b50505050905001838051906020019060200280838360005b83811015613ccd578082015181840152602081019050613cb2565b50505050905001826000191660001916815260200196505050505050506040516020818303038152906040526040518082805190602001908083835b602083101515613d2e5780518252602082019150602081019050602083039250613d09565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902060405160200180807f19457468657265756d205369676e6564204d6573736167653a0a333200000000815250601c0182600019166000191681526020019150506040516020818303038152906040526040518082805190602001908083835b602083101515613ddf5780518252602082019150602081019050602083039250613dba565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390209250600091505b8951821015614120576001838c84815181101515613e2d57fe5b906020019060200201518c85815181101515613e4557fe5b906020019060200201518c86815181101515613e5d57fe5b90602001906020020151604051600081526020016040526040518085600019166000191681526020018460ff1660ff1681526020018360001916600019168152602001826000191660001916815260200194505050505060206040516020810390808403906000865af1158015613ed8573d6000803e3d6000fd5b505050602060405103519050600080896000191660001916815260200190815260200160002060060160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515613fc0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f496e76616c6964207369676e617475726500000000000000000000000000000081525060200191505060405180910390fd5b600080896000191660001916815260200190815260200160002060070160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151561409d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f53616d65207369676e61747572652073656e742074776963650000000000000081525060200191505060405180910390fd5b60016000808a6000191660001916815260200190815260200160002060070160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508093508180600101925050613e13565b839450505050509695505050505050565b600080614147834261418590919063ffffffff16565b905060008463ffffffff161461417957614172610e108563ffffffff166141a690919063ffffffff16565b811161417c565b60005b91505092915050565b60008083831115151561419757600080fd5b82840390508091505092915050565b60008060008414156141bb57600091506141dd565b82840290508284828115156141cc57fe5b041415156141d957600080fd5b8091505b50929150505600a165627a7a723058204071b5476fa6f836a28c8fd5be2f5706db2cd81c4bf86145e2c06536afbe47b00029", - "deployedBytecode": "0x6080604052600436106100ba576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806323b6fd3f146100bf5780632d9ef96e1461017957806346fbcdeb1461019d57806357bced7614610292578063642f2eaf14610383578063b0550c66146104e5578063b719e2801461054e578063b77bf60014610589578063be84ceaf146105b4578063e4ec8b001461064c578063f0786562146106f5578063f5dbe09c1461075e575b600080fd5b610177600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff169060200190929190803563ffffffff169060200190929190803560001916906020019092919080356bffffffffffffffffffffffff191690602001909291905050506107c7565b005b61019b6004803603810190808035600019169060200190929190505050610a26565b005b3480156101a957600080fd5b5061027460048036038101908080356bffffffffffffffffffffffff19169060200190929190803560ff169060200190929190803563ffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610eb4565b60405180826000191660001916815260200191505060405180910390f35b34801561029e57600080fd5b50610381600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff169060200190929190803563ffffffff16906020019092919080356000191690602001909291908035906020019092919080356bffffffffffffffffffffffff19169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611360565b005b34801561038f57600080fd5b506103b26004803603810190808035600019169060200190929190505050611840565b604051808b81526020018a81526020018960018111156103ce57fe5b60ff1681526020018860018111156103e257fe5b60ff1681526020018760ff1660ff1681526020018663ffffffff1663ffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019a505050505050505050505060405180910390f35b3480156104f157600080fd5b506105346004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061194b565b604051808215151515815260200191505060405180910390f35b34801561055a57600080fd5b506105876004803603810190808035600019169060200190929190803590602001909291905050506119bd565b005b34801561059557600080fd5b5061059e61209d565b6040518082815260200191505060405180910390f35b3480156105c057600080fd5b506105f5600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506120a3565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b8381101561063857808201518184015260208101905061061d565b505050509050019250505060405180910390f35b34801561065857600080fd5b506106f3600480360381019080803590602001908201803590602001919091929391929390803590602001908201803590602001919091929391929390803590602001908201803590602001919091929391929390803560001916906020019092919080359060200190820180359060200191909192939192939080359060200190820180359060200191909192939192939050505061213e565b005b34801561070157600080fd5b506107446004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506126a0565b604051808215151515815260200191505060405180910390f35b34801561076a57600080fd5b506107a9600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050612712565b60405180826000191660001916815260200191505060405180910390f35b81600080600083600019166000191681526020019081526020016000206000015414151561085d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f5472616e73616374696f6e20657869737400000000000000000000000000000081525060200191505060405180910390fd5b87600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610903576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b87600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156109a9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b6109bc8a8a8a8a8a8a348b600080612742565b3373ffffffffffffffffffffffffffffffffffffffff167fce7089d0668849fb9ca29778c0cbf1e764d9efb048d81fd71fb34c94f26db36886346040518083600019166000191681526020018281526020019250505060405180910390a250505050505050505050565b600081600080600083600019166000191681526020019081526020016000206000015414151515610abf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737400000000000081525060200191505060405180910390fd5b8260006001811115610acd57fe5b600080836000191660001916815260200190815260200160002060020160009054906101000a900460ff166001811115610b0357fe5b141515610b9e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001807f5472616e73616374696f6e206973206e6f7420696e2046554e4445442073746181526020017f746500000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b836000806001811115610bad57fe5b600080846000191660001916815260200190815260200160002060020160019054906101000a900460ff166001811115610be357fe5b141515610c58576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5472616e73616374696f6e207479706520646f6573206e6f74206d617463680081525060200191505060405180910390fd5b85600080826000191660001916815260200190815260200160002060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610d5f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f54686520696e69746961746f72206f6620746865207472616e73616374696f6e81526020017f206973206e6f742062757965720000000000000000000000000000000000000081525060400191505060405180910390fd5b349550600086111515610dda576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f56616c7565206d7573742062652067726561746572207468616e207a65726f2e81525060200191505060405180910390fd5b610e0a866000808a60001916600019168152602001908152602001600020600001546130ce90919063ffffffff16565b600080896000191660001916815260200190815260200160002060000181905550426000808960001916600019168152602001908152602001600020600101819055503373ffffffffffffffffffffffffffffffffffffffff167ff66fd2ae9e24a6a24b02e1b5b7512ffde5149a4176085fc0298ae228c9b9d72988886040518083600019166000191681526020018281526020019250505060405180910390a250505050505050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611100578787878787873060405160200180886bffffffffffffffffffffffff19166bffffffffffffffffffffffff191681526014018760ff1660ff167f01000000000000000000000000000000000000000000000000000000000000000281526001018663ffffffff1663ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014019750505050505050506040516020818303038152906040526040518082805190602001908083835b6020831015156110cc57805182526020820191506020810190506020830392506110a7565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390209050611355565b878787878787308860405160200180896bffffffffffffffffffffffff19166bffffffffffffffffffffffff191681526014018860ff1660ff167f01000000000000000000000000000000000000000000000000000000000000000281526001018763ffffffff1663ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401985050505050505050506040516020818303038152906040526040518082805190602001908083835b6020831015156113255780518252602082019150602081019050602083039250611300565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902090505b979650505050505050565b60008460008060008360001916600019168152602001908152602001600020600001541415156113f8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f5472616e73616374696f6e20657869737400000000000000000000000000000081525060200191505060405180910390fd5b8a600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561149e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b8a600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515611544576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b84600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156115ea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b6115fd8e8e8e8e8e8e8e8e60018f612742565b8594508473ffffffffffffffffffffffffffffffffffffffff166323b872dd33308b6040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b1580156116d757600080fd5b505af11580156116eb573d6000803e3d6000fd5b505050506040513d602081101561170157600080fd5b810190808051906020019092919050505015156117d2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252605d8152602001807f546f6b656e207472616e73666572206661696c65642c206d6179626520796f7581526020017f20646964206e6f7420617070726f766520657363726f7720636f6e747261637481526020017f20746f207370656e64206f6e20626568616c66206f662073656e64657200000081525060600191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff167fce7089d0668849fb9ca29778c0cbf1e764d9efb048d81fd71fb34c94f26db3688a8a6040518083600019166000191681526020018281526020019250505060405180910390a25050505050505050505050505050565b60006020528060005260406000206000915090508060000154908060010154908060020160009054906101000a900460ff16908060020160019054906101000a900460ff16908060020160029054906101000a900460ff16908060020160039054906101000a900463ffffffff16908060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060050160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508a565b6000806000846000191660001916815260200190815260200160002060080160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b60008083600080600083600019166000191681526020019081526020016000206000015414151515611a57576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737400000000000081525060200191505060405180910390fd5b8460006001811115611a6557fe5b600080836000191660001916815260200190815260200160002060020160009054906101000a900460ff166001811115611a9b57fe5b141515611b36576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001807f5472616e73616374696f6e206973206e6f7420696e2046554e4445442073746181526020017f746500000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b856001806001811115611b4557fe5b600080846000191660001916815260200190815260200160002060020160019054906101000a900460ff166001811115611b7b57fe5b141515611bf0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5472616e73616374696f6e207479706520646f6573206e6f74206d617463680081525060200191505060405180910390fd5b87600080826000191660001916815260200190815260200160002060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611cf7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f54686520696e69746961746f72206f6620746865207472616e73616374696f6e81526020017f206973206e6f742062757965720000000000000000000000000000000000000081525060400191505060405180910390fd5b879650600087111515611d72576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f56616c7565206d7573742062652067726561746572207468616e207a65726f2e81525060200191505060405180910390fd5b6000808a6000191660001916815260200190815260200160002060040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1695508573ffffffffffffffffffffffffffffffffffffffff166323b872dd6000808c6000191660001916815260200190815260200160002060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff16308b6040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b158015611ec657600080fd5b505af1158015611eda573d6000803e3d6000fd5b505050506040513d6020811015611ef057600080fd5b81019080805190602001909291905050501515611fc1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252605c8152602001807f546f6b656e207472616e73666572206661696c65642c206d6179626520796f7581526020017f20646964206e6f7420617070726f766520657363726f7720636f6e747261637481526020017f20746f207370656e64206f6e20626568616c66206f662062757965720000000081525060600191505060405180910390fd5b611ff1876000808c60001916600019168152602001908152602001600020600001546130ce90919063ffffffff16565b6000808b6000191660001916815260200190815260200160002060000181905550426000808b60001916600019168152602001908152602001600020600101819055503373ffffffffffffffffffffffffffffffffffffffff167ff66fd2ae9e24a6a24b02e1b5b7512ffde5149a4176085fc0298ae228c9b9d7298a896040518083600019166000191681526020018281526020019250505060405180910390a2505050505050505050565b60015481565b6060600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080548060200260200160405190810160405280929190818152602001828054801561213257602002820191906000526020600020905b8154600019168152602001906001019080831161211a575b50505050509050919050565b846000806000836000191660001916815260200190815260200160002060000154141515156121d5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737400000000000081525060200191505060405180910390fd5b85600060018111156121e357fe5b600080836000191660001916815260200190815260200160002060020160009054906101000a900460ff16600181111561221957fe5b1415156122b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001807f5472616e73616374696f6e206973206e6f7420696e2046554e4445442073746181526020017f746500000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b6000868690501180156122cc57508383905086869050145b1515612366576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001807f4c656e677468206f662064657374696e6174696f6e7320697320696e636f727281526020017f6563742e0000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b61245f8d8d808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508c8c808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508b8b808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508a8a8a808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508989808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050506130ef565b6001600080896000191660001916815260200190815260200160002060020160006101000a81548160ff0219169083600181111561249957fe5b021790555042600080896000191660001916815260200190815260200160002060010181905550600080886000191660001916815260200190815260200160002060000154612547888888808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508787808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050506132d0565b141515612608576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260488152602001807f546f74616c2076616c756520746f2062652072656c6561736564206d7573742081526020017f626520657175616c20746f20746865207472616e73616374696f6e206573637281526020017f6f772076616c756500000000000000000000000000000000000000000000000081525060600191505060405180910390fd5b7f688e2a1b34445bcd47b0e11ba2a9c8c4d850a1831b64199b59d1c70e2970154587878787876040518086600019166000191681526020018060200180602001838103835287878281815260200192506020028082843782019150508381038252858582818152602001925060200280828437820191505097505050505050505060405180910390a150505050505050505050505050565b6000806000846000191660001916815260200190815260200160002060070160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b60026020528160005260406000208181548110151561272d57fe5b90600052602060002001600091509150505481565b8873ffffffffffffffffffffffffffffffffffffffff168a73ffffffffffffffffffffffffffffffffffffffff16141515156127e6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f427579657220616e642073656c6c6572206172652073616d650000000000000081525060200191505060405180910390fd5b60008411151561285e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f56616c756520706173736564206973203000000000000000000000000000000081525060200191505060405180910390fd5b60008760ff16118015612875575060038760ff1611155b151561290f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603d8152602001807f5468726573686f6c642063616e6e6f742062652067726561746572207468616e81526020017f203320616e64206d7573742062652067726561746572207468616e203000000081525060400191505060405180910390fd5b60018760ff16148061294e5750600073ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff1614155b1515612a0e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260488152602001807f456974686572207468726573686f6c642073686f756c642062652031206f722081526020017f76616c6964206d6f64657261746f7220616464726573732073686f756c64206281526020017f652070617373656400000000000000000000000000000000000000000000000081525060600191505060405180910390fd5b612a1d8388888d8d8d87610eb4565b600019168560001916141515612ac1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260398152602001807f43616c63756c6174656420736372697074206861736820646f6573206e6f742081526020017f6d61746368207061737365642073637269707420686173682e0000000000000081525060400191505060405180910390fd5b6101406040519081016040528085815260200142815260200160006001811115612ae757fe5b8152602001836001811115612af857fe5b81526020018860ff1681526020018763ffffffff1681526020018b73ffffffffffffffffffffffffffffffffffffffff1681526020018a73ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020018973ffffffffffffffffffffffffffffffffffffffff168152506000808760001916600019168152602001908152602001600020600082015181600001556020820151816001015560408201518160020160006101000a81548160ff02191690836001811115612bd257fe5b021790555060608201518160020160016101000a81548160ff02191690836001811115612bfb57fe5b021790555060808201518160020160026101000a81548160ff021916908360ff16021790555060a08201518160020160036101000a81548163ffffffff021916908363ffffffff16021790555060c08201518160020160076101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060e08201518160030160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506101008201518160040160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506101208201518160050160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055509050506001600080876000191660001916815260200190815260200160002060060160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600080876000191660001916815260200190815260200160002060060160008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600080866000191660001916815260200190815260200160002060060160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151515612f52576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f456974686572206275796572206f722073656c6c65722069732070617373656481526020017f206173206d6f64657261746f720000000000000000000000000000000000000081525060400191505060405180910390fd5b60018760ff161115612fd2576001600080876000191660001916815260200190815260200160002060060160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b600160008154809291906001019190505550600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020859080600181540180825580915050906001820390600052602060002001600090919290919091509060001916905550600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002085908060018154018082558091505090600182039060005260206000200160009091929091909150906000191690555050505050505050505050565b60008082840190508381101515156130e557600080fd5b8091505092915050565b600080613100888888888888613ab8565b9150613156600080876000191660001916815260200190815260200160002060020160039054906101000a900463ffffffff16600080886000191660001916815260200190815260200160002060010154614131565b9050600080866000191660001916815260200190815260200160002060020160029054906101000a900460ff1660ff16885110801561320757508015806132065750600080866000191660001916815260200190815260200160002060030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b5b156132c6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260588152602001807f4d696e696d756d206e756d626572206f66207369676e6174757265732061726581526020017f206e6f7420636f6c6c656374656420616e642074696d65206c6f636b2065787081526020017f69727920636f6e646974696f6e73206e6f74206d65742121000000000000000081525060600191505060405180910390fd5b5050505050505050565b6000806000806000806000808a600019166000191681526020019081526020016000209450600093506000600181111561330657fe5b8560020160019054906101000a900460ff16600181111561332357fe5b141561363a57600092505b875183101561363557600073ffffffffffffffffffffffffffffffffffffffff16888481518110151561335d57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff16141580156133ed5750846006016000898581518110151561339a57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1515613461576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f4e6f7420612076616c69642064657374696e6174696f6e00000000000000000081525060200191505060405180910390fd5b6000878481518110151561347157fe5b90602001906020020151111515613516576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001807f416d6f756e7420746f2062652073656e742073686f756c64206265206772656181526020017f746572207468616e20300000000000000000000000000000000000000000000081525060400191505060405180910390fd5b613540878481518110151561352757fe5b90602001906020020151856130ce90919063ffffffff16565b935060018560080160008a8681518110151561355857fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555087838151811015156135c157fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff166108fc88858151811015156135f257fe5b906020019060200201519081150290604051600060405180830381858888f19350505050158015613627573d6000803e3d6000fd5b50828060010193505061332e565b613aa9565b60018081111561364657fe5b8560020160019054906101000a900460ff16600181111561366357fe5b1415613aa8578460040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169150600090505b8751811015613aa757600073ffffffffffffffffffffffffffffffffffffffff1688828151811015156136c457fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff16141580156137545750846006016000898381518110151561370157fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15156137c8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f4e6f7420612076616c69642064657374696e6174696f6e00000000000000000081525060200191505060405180910390fd5b600087828151811015156137d857fe5b9060200190602002015111151561387d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001807f416d6f756e7420746f2062652073656e742073686f756c64206265206772656181526020017f746572207468616e20300000000000000000000000000000000000000000000081525060400191505060405180910390fd5b6138a7878281518110151561388e57fe5b90602001906020020151856130ce90919063ffffffff16565b935060018560080160008a848151811015156138bf57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb898381518110151561394457fe5b90602001906020020151898481518110151561395c57fe5b906020019060200201516040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1580156139eb57600080fd5b505af11580156139ff573d6000803e3d6000fd5b505050506040513d6020811015613a1557600080fd5b81019080805190602001909291905050501515613a9a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f546f6b656e207472616e73666572206661696c65642e0000000000000000000081525060200191505060405180910390fd5b8080600101915050613695565b5b5b83955050505050509392505050565b600080600080600088518a51148015613ad257508a518a51145b1515613b46576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f522c532c56206c656e677468206d69736d617463682e0000000000000000000081525060200191505060405180910390fd5b60197f01000000000000000000000000000000000000000000000000000000000000000260007f0100000000000000000000000000000000000000000000000000000000000000023089898c60405160200180877effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168152600101867effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526001018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401848051906020019060200280838360005b83811015613c9a578082015181840152602081019050613c7f565b50505050905001838051906020019060200280838360005b83811015613ccd578082015181840152602081019050613cb2565b50505050905001826000191660001916815260200196505050505050506040516020818303038152906040526040518082805190602001908083835b602083101515613d2e5780518252602082019150602081019050602083039250613d09565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902060405160200180807f19457468657265756d205369676e6564204d6573736167653a0a333200000000815250601c0182600019166000191681526020019150506040516020818303038152906040526040518082805190602001908083835b602083101515613ddf5780518252602082019150602081019050602083039250613dba565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390209250600091505b8951821015614120576001838c84815181101515613e2d57fe5b906020019060200201518c85815181101515613e4557fe5b906020019060200201518c86815181101515613e5d57fe5b90602001906020020151604051600081526020016040526040518085600019166000191681526020018460ff1660ff1681526020018360001916600019168152602001826000191660001916815260200194505050505060206040516020810390808403906000865af1158015613ed8573d6000803e3d6000fd5b505050602060405103519050600080896000191660001916815260200190815260200160002060060160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515613fc0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f496e76616c6964207369676e617475726500000000000000000000000000000081525060200191505060405180910390fd5b600080896000191660001916815260200190815260200160002060070160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151561409d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f53616d65207369676e61747572652073656e742074776963650000000000000081525060200191505060405180910390fd5b60016000808a6000191660001916815260200190815260200160002060070160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508093508180600101925050613e13565b839450505050509695505050505050565b600080614147834261418590919063ffffffff16565b905060008463ffffffff161461417957614172610e108563ffffffff166141a690919063ffffffff16565b811161417c565b60005b91505092915050565b60008083831115151561419757600080fd5b82840390508091505092915050565b60008060008414156141bb57600091506141dd565b82840290508284828115156141cc57fe5b041415156141d957600080fd5b8091505b50929150505600a165627a7a723058204071b5476fa6f836a28c8fd5be2f5706db2cd81c4bf86145e2c06536afbe47b00029", - "sourceMap": "460:20129:0:-;;;1629:1;1595:35;;460:20129;8:9:-1;5:2;;;30:1;27;20:12;5:2;460:20129:0;;;;;;;", - "deployedSourceMap": "460:20129:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3677:701;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7556:606;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11855:999;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11855:999:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5312:1021;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5312:1021:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1537:51;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1537:51:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6574:221;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6574:221:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8490:923;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8490:923:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1595:35;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1595:35:0;;;;;;;;;;;;;;;;;;;;;;;9530:194;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9530:194:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;9530:194:0;;;;;;;;;;;;;;;;;10322:1062;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10322:1062:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7035:194;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7035:194:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1709:55;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1709:55:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3677:701;3954:10;2052:1;2018:12;:24;2031:10;2018:24;;;;;;;;;;;;;;;;;:30;;;:35;2010:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3989:5;2385:1;2359:28;;:14;:28;;;;2351:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4019:6;2385:1;2359:28;;:14;:28;;;;2351:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4041:264;4070:5;4089:6;4109:9;4132;4155:12;4181:10;4205:9;4228:8;4250:21;4293:1;4041:15;:264::i;:::-;4348:10;4329:41;;;4336:10;4360:9;4329:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2421:1;2085;3677:701;;;;;;;;:::o;7556:606::-;7842:14;7679:10;1882:1;1848:12;:24;1861:10;1848:24;;;;;;;;;;;;;;;;;:30;;;:35;;1827:96;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7713:10;2208:13;2173:48;;;;;;;;:12;:24;2186:10;2173:24;;;;;;;;;;;;;;;;;:31;;;;;;;;;;;;:48;;;;;;;;;2152:117;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7754:10;7766:21;2619:15;2575:59;;;;;;;;:12;:24;2588:10;2575:24;;;;;;;;;;;;;;;;;:40;;;;;;;;;;;;:59;;;;;;;;;2554:125;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7807:10;2787:12;:24;2800:10;2787:24;;;;;;;;;;;;;;;;;:30;;;;;;;;;;;;2773:44;;:10;:44;;;2752:124;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7859:9;7842:26;;7896:1;7887:6;:10;7879:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7978;8026:6;7978:12;:24;7991:10;7978:24;;;;;;;;;;;;;;;;;:30;;;:47;;:55;;;;:::i;:::-;7945:12;:24;7958:10;7945:24;;;;;;;;;;;;;;;;;:30;;:88;;;;8083:15;8043:12;:24;8056:10;8043:24;;;;;;;;;;;;;;;;;:37;;:55;;;;8136:10;8114:41;;;8124:10;8148:6;8114:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2689:1;2279;;1933;7556:606;;;:::o;11855:999::-;12125:7;12176:1;12152:26;;:12;:26;;;12148:700;;;12266:8;12296:9;12327:12;12361:5;12388:6;12416:9;12447:4;12228:241;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;12228:241:0;;;12201:282;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;12201:282:0;;;;;;;;;;;;;;;;12194:289;;;;12148:700;12586:8;12616:9;12647:12;12681:5;12708:6;12736:9;12767:4;12793:12;12548:275;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;12548:275:0;;;12521:316;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;12521:316:0;;;;;;;;;;;;;;;;12514:323;;11855:999;;;;;;;;;;:::o;5312:1021::-;6029:20;5631:10;2052:1;2018:12;:24;2031:10;2018:24;;;;;;;;;;;;;;;;;:30;;;:35;2010:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5666:5;2385:1;2359:28;;:14;:28;;;;2351:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5696:6;2385:1;2359:28;;:14;:28;;;;2351:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5727:12;2385:1;2359:28;;:14;:28;;;;2351:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5756:262;5785:5;5804:6;5824:9;5847;5870:12;5896:10;5920:5;5939:8;5961:21;5996:12;5756:15;:262::i;:::-;6067:12;6029:51;;6112:5;:18;;;6131:10;6143:4;6149:5;6112:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6112:43:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6112:43:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6112:43:0;;;;;;;;;;;;;;;;6091:183;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6308:10;6289:37;;;6296:10;6320:5;6289:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2421:1;;2085;5312:1021;;;;;;;;;;;:::o;1537:51::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;6574:221::-;6710:4;6737:12;:24;6750:10;6737:24;;;;;;;;;;;;;;;;;:38;;:51;6776:11;6737:51;;;;;;;;;;;;;;;;;;;;;;;;;6730:58;;6574:221;;;;:::o;8490:923::-;8775:14;8874:20;8621:10;1882:1;1848:12;:24;1861:10;1848:24;;;;;;;;;;;;;;;;;:30;;;:35;;1827:96;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8655:10;2208:13;2173:48;;;;;;;;:12;:24;2186:10;2173:24;;;;;;;;;;;;;;;;;:31;;;;;;;;;;;;:48;;;;;;;;;2152:117;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8696:10;8708:21;2619:15;2575:59;;;;;;;;:12;:24;2588:10;2575:24;;;;;;;;;;;;;;;;;:40;;;;;;;;;;;;:59;;;;;;;;;2554:125;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8749:10;2787:12;:24;2800:10;2787:24;;;;;;;;;;;;;;;;;:30;;;;;;;;;;;;2773:44;;:10;:44;;;2752:124;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8792:5;8775:22;;8825:1;8816:6;:10;8808:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8925:12;:24;8938:10;8925:24;;;;;;;;;;;;;;;;;:37;;;;;;;;;;;;8874:98;;9004:5;:18;;;9023:12;:24;9036:10;9023:24;;;;;;;;;;;;;;;;;:30;;;;;;;;;;;;9055:4;9061:5;9004:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9004:63:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9004:63:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;9004:63:0;;;;;;;;;;;;;;;;8983:202;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9229:55;9277:6;9229:12;:24;9242:10;9229:24;;;;;;;;;;;;;;;;;:30;;;:47;;:55;;;;:::i;:::-;9196:12;:24;9209:10;9196:24;;;;;;;;;;;;;;;;;:30;;:88;;;;9334:15;9294:12;:24;9307:10;9294:24;;;;;;;;;;;;;;;;;:37;;:55;;;;9387:10;9365:41;;;9375:10;9399:6;9365:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2689:1;2279;;1933;8490:923;;;;;:::o;1595:35::-;;;;:::o;9530:194::-;9652:9;9685:18;:32;9704:12;9685:32;;;;;;;;;;;;;;;9678:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9530:194;;;:::o;10322:1062::-;10544:10;1882:1;1848:12;:24;1861:10;1848:24;;;;;;;;;;;;;;;;;:30;;;:35;;1827:96;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10578:10;2208:13;2173:48;;;;;;;;:12;:24;2186:10;2173:24;;;;;;;;;;;;;;;;;:31;;;;;;;;;;;;:48;;;;;;;;;2152:117;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10645:1;10625:12;;:19;;:21;:62;;;;;10673:7;;:14;;10650:12;;:19;;:37;10625:62;10604:133;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10748:152;10779:4;;10748:152;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10797:4;;10748:152;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10815:4;;10748:152;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10833:10;10857:12;;10748:152;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10883:7;;10748:152;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:17;:152::i;:::-;10945:15;10911:12;:24;10924:10;10911:24;;;;;;;;;;;;;;;;;:31;;;:49;;;;;;;;;;;;;;;;;;;;;;;;11084:15;11044:12;:24;11057:10;11044:24;;;;;;;;;;;;;;;;;:37;;:55;;;;11182:12;:24;11195:10;11182:24;;;;;;;;;;;;;;;;;:30;;;11130:48;11144:10;11156:12;;11130:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11170:7;;11130:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:13;:48::i;:::-;:82;11109:201;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11334:43;11343:10;11355:12;;11369:7;;11334:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1933:1;10322:1062;;;;;;;;;;;;:::o;7035:194::-;7158:4;7185:12;:24;7198:10;7185:24;;;;;;;;;;;;;;;;;:30;;:37;7216:5;7185:37;;;;;;;;;;;;;;;;;;;;;;;;;7178:44;;7035:194;;;;:::o;1709:55::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;17946:2641::-;18308:6;18299:15;;:5;:15;;;;18291:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18419:1;18411:5;:9;18403:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18557:1;18545:9;:13;;;:31;;;;;18575:1;18562:9;:14;;;;18545:31;18524:140;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18958:1;18945:9;:14;;;:41;;;;18984:1;18963:23;;:9;:23;;;;18945:41;18924:160;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19130:226;19173:8;19199:9;19226:12;19256:5;19279:6;19303:9;19330:12;19130:25;:226::i;:::-;19116:240;;;:10;:240;;;;19095:345;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19478:373;;;;;;;;;19599:5;19478:373;;;;19667:15;19478:373;;;;19626:13;19478:373;;;;;;;;;;;;19786:15;19478:373;;;;;;;;;;;;19707:9;19478:373;;;;;;19744:12;19478:373;;;;;;19511:5;19478:373;;;;;;19538:6;19478:373;;;;;;19828:12;19478:373;;;;;;19569:9;19478:373;;;;;19451:12;:24;19464:10;19451:24;;;;;;;;;;;;;;;;;:400;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19905:4;19862:12;:24;19875:10;19862:24;;;;;;;;;;;;;;;;;:32;;:40;19895:6;19862:40;;;;;;;;;;;;;;;;:47;;;;;;;;;;;;;;;;;;19961:4;19919:12;:24;19932:10;19919:24;;;;;;;;;;;;;;;;;:32;;:39;19952:5;19919:39;;;;;;;;;;;;;;;;:46;;;;;;;;;;;;;;;;;;20073:12;:24;20086:10;20073:24;;;;;;;;;;;;;;;;;:32;;:43;20106:9;20073:43;;;;;;;;;;;;;;;;;;;;;;;;;20072:44;20051:137;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20360:1;20348:9;:13;;;20344:94;;;20423:4;20377:12;:24;20390:10;20377:24;;;;;;;;;;;;;;;;;:32;;:43;20410:9;20377:43;;;;;;;;;;;;;;;;:50;;;;;;;;;;;;;;;;;;20344:94;20456:16;;:18;;;;;;;;;;;;;20485;:25;20504:5;20485:25;;;;;;;;;;;;;;;20516:10;20485:42;;39:1:-1;33:3;27:10;23:18;57:10;52:3;45:23;79:10;72:17;;0:93;20485:42:0;;;;;;;;;;;;;;;;;;;;;;;;;;;20537:18;:26;20556:6;20537:26;;;;;;;;;;;;;;;20569:10;20537:43;;39:1:-1;33:3;27:10;23:18;57:10;52:3;45:23;79:10;72:17;;0:93;20537:43:0;;;;;;;;;;;;;;;;;;;;;;;;;;;17946:2641;;;;;;;;;;:::o;1272:131:2:-;1330:7;1345:9;1361:1;1357;:5;1345:17;;1381:1;1376;:6;;1368:15;;;;;;;;1397:1;1390:8;;1272:131;;;;;:::o;13128:1005:0:-;13348:21;13534:20;13372:151;13402:4;13420;13438;13456:10;13480:12;13506:7;13372:16;:151::i;:::-;13348:175;;13557:129;13588:12;:24;13601:10;13588:24;;;;;;;;;;;;;;;;;:37;;;;;;;;;;;;13639:12;:24;13652:10;13639:24;;;;;;;;;;;;;;;;;:37;;;13557:17;:129::i;:::-;13534:152;;13872:12;:24;13885:10;13872:24;;;;;;;;;;;;;;;;;:34;;;;;;;;;;;;13858:48;;:4;:11;:48;:122;;;;;13912:15;13911:16;:68;;;;13948:12;:24;13961:10;13948:24;;;;;;;;;;;;;;;;;:31;;;;;;;;;;;;13931:48;;:13;:48;;;;13911:68;13858:122;13837:289;;;14017:98;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13837:289;13128:1005;;;;;;;;:::o;14259:1522::-;14406:7;14429:21;14488:24;14594:9;15146:20;15219:9;14453:12;:24;14466:10;14453:24;;;;;;;;;;;;;;;;;14429:48;;14515:1;14488:28;;14552:21;14531:42;;;;;;;;:1;:17;;;;;;;;;;;;:42;;;;;;;;;14527:1214;;;14606:1;14594:13;;14589:477;14613:12;:19;14609:1;:23;14589:477;;;14693:1;14666:29;;:12;14679:1;14666:15;;;;;;;;;;;;;;;;;;:29;;;;:59;;;;;14699:1;:9;;:26;14709:12;14722:1;14709:15;;;;;;;;;;;;;;;;;;14699:26;;;;;;;;;;;;;;;;;;;;;;;;;14666:59;14658:95;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14792:1;14779:7;14787:1;14779:10;;;;;;;;;;;;;;;;;;:14;14771:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14878:32;14899:7;14907:1;14899:10;;;;;;;;;;;;;;;;;;14878:16;:20;;:32;;;;:::i;:::-;14859:51;;14964:4;14929:1;:15;;:32;14945:12;14958:1;14945:15;;;;;;;;;;;;;;;;;;14929:32;;;;;;;;;;;;;;;;:39;;;;;;;;;;;;;;;;;;15015:12;15028:1;15015:15;;;;;;;;;;;;;;;;;;:24;;:36;15040:7;15048:1;15040:10;;;;;;;;;;;;;;;;;;15015:36;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;15015:36:0;14634:3;;;;;;;14589:477;;;14527:1214;;;15108:21;15087:42;;;;;;;;:1;:17;;;;;;;;;;;;:42;;;;;;;;;15083:658;;;15184:1;:14;;;;;;;;;;;;15146:53;;15231:1;15219:13;;15214:517;15236:12;:19;15234:1;:21;15214:517;;;15316:1;15289:29;;:12;15302:1;15289:15;;;;;;;;;;;;;;;;;;:29;;;;:59;;;;;15322:1;:9;;:26;15332:12;15345:1;15332:15;;;;;;;;;;;;;;;;;;15322:26;;;;;;;;;;;;;;;;;;;;;;;;;15289:59;15281:95;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15415:1;15402:7;15410:1;15402:10;;;;;;;;;;;;;;;;;;:14;15394:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15501:32;15522:7;15530:1;15522:10;;;;;;;;;;;;;;;;;;15501:16;:20;;:32;;;;:::i;:::-;15482:51;;15586:4;15551:1;:15;;:32;15567:12;15580:1;15567:15;;;;;;;;;;;;;;;;;;15551:32;;;;;;;;;;;;;;;;:39;;;;;;;;;;;;;;;;;;15646:5;:14;;;15661:12;15674:1;15661:15;;;;;;;;;;;;;;;;;;15678:7;15686:1;15678:10;;;;;;;;;;;;;;;;;;15646:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;15646:43:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;15646:43:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;15646:43:0;;;;;;;;;;;;;;;;15638:78;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15257:3;;;;;;;15214:517;;;15083:658;14527:1214;15758:16;15751:23;;14259:1522;;;;;;;;;;:::o;15966:1571::-;16187:7;16348:19;16466:14;16925:6;16974:17;16247:4;:11;16232:4;:11;:26;:56;;;;;16277:4;:11;16262:4;:11;:26;16232:56;16211:126;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16670:4;16665:10;;16706:1;16701:7;;16734:4;16764:12;16802:7;16835:10;16623:244;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;16623:244:0;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;16623:244:0;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;16623:244:0;;;16592:293;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;16592:293:0;;;;;;;;;;;;;;;;16506:393;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;16506:393:0;;;16483:426;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;16483:426:0;;;;;;;;;;;;;;;;16466:443;;16934:1;16925:10;;16920:582;16941:4;:11;16937:1;:15;16920:582;;;16994:122;17021:6;17045:4;17050:1;17045:7;;;;;;;;;;;;;;;;;;17070:4;17075:1;17070:7;;;;;;;;;;;;;;;;;;17095:4;17100:1;17095:7;;;;;;;;;;;;;;;;;;16994:122;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;16994:122:0;;;;;;;;16974:142;;17156:12;:24;17169:10;17156:24;;;;;;;;;;;;;;;;;:32;;:43;17189:9;17156:43;;;;;;;;;;;;;;;;;;;;;;;;;17131:120;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17291:12;:24;17304:10;17291:24;;;;;;;;;;;;;;;;;:30;;:41;17322:9;17291:41;;;;;;;;;;;;;;;;;;;;;;;;;17290:42;17265:127;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17450:4;17406:12;:24;17419:10;17406:24;;;;;;;;;;;;;;;;;:30;;:41;17437:9;17406:41;;;;;;;;;;;;;;;;:48;;;;;;;;;;;;;;;;;;17482:9;17468:23;;16954:3;;;;;;;16920:582;;;17519:11;17512:18;;15966:1571;;;;;;;;;;;;:::o;17543:316::-;17681:4;17701:17;17721:21;17729:12;17721:3;:7;;:21;;;;:::i;:::-;17701:41;;17789:1;17773:12;:17;;;:69;;17811:31;17837:4;17819:12;17811:21;;:25;;:31;;;;:::i;:::-;17799:9;:43;17773:69;;;17793:5;17773:69;17752:100;;17543:316;;;;;:::o;1078:131:2:-;1136:7;1172:9;1164:1;1159;:6;;1151:15;;;;;;;;1188:1;1184;:5;1172:17;;1203:1;1196:8;;1078:131;;;;;:::o;204:381::-;262:7;523:9;491:1;486;:6;482:35;;;509:1;502:8;;;;482:35;539:1;535;:5;523:17;;563:1;558;554;:5;;;;;;;;:10;546:19;;;;;;;;579:1;572:8;;204:381;;;;;;:::o", - "source": "pragma solidity 0.4.24;\n\nimport \"openzeppelin-solidity/contracts/math/SafeMath.sol\";\n\nimport \"../token/ITokenContract.sol\";\n\n\n/**\n* @dev Supports ERC20 tokens\n* The escrow smart contract for the open bazaar trades in Ethereum\n* The smart contract is designed keeping in mind the current wallet interface of the OB-core\n* https://github.com/OpenBazaar/wallet-interface/blob/master/wallet.go\n* Current wallet interface strictly adheres to UTXO(bitcoin) model\n*/\ncontract Escrow_v1_0 {\n\n using SafeMath for uint256;\n\n enum Status {FUNDED, RELEASED}\n\n enum TransactionType {ETHER, TOKEN}\n\n event Executed(\n bytes32 scriptHash,\n address[] destinations,\n uint256[] amounts\n );\n\n event FundAdded(\n bytes32 scriptHash,\n address indexed from,\n uint256 valueAdded\n );\n\n event Funded(\n bytes32 scriptHash, \n address indexed from, \n uint256 value\n );\n\n struct Transaction {\n uint256 value;\n uint256 lastModified;//Time at which transaction was last modified\n Status status;\n TransactionType transactionType;\n uint8 threshold;\n uint32 timeoutHours;\n address buyer;\n address seller;\n address tokenAddress;//Token address in case of token transfer\n address moderator;\n mapping(address=>bool) isOwner;//to keep track of owners.\n mapping(address=>bool) voted;//to keep track of who all voted\n mapping(address=>bool) beneficiaries;//Benefeciaries of execution\n }\n\n mapping(bytes32 => Transaction) public transactions;\n\n uint256 public transactionCount = 0;\n\n //Contains mapping between each party and all of their transactions\n mapping(address => bytes32[]) public partyVsTransaction;\n\n modifier transactionExist(bytes32 scriptHash) {\n require(\n transactions[scriptHash].value != 0, \"Transaction does not exist\"\n );\n _;\n }\n\n modifier transactionDoesNotExist(bytes32 scriptHash) {\n require(transactions[scriptHash].value == 0, \"Transaction exist\");\n _;\n }\n\n modifier inFundedState(bytes32 scriptHash) {\n require(\n transactions[scriptHash].status == Status.FUNDED, \"Transaction is not in FUNDED state\"\n );\n _;\n }\n\n modifier nonZeroAddress(address addressToCheck) {\n require(addressToCheck != address(0), \"Zero address passed\");\n _;\n }\n\n modifier checkTransactionType(\n bytes32 scriptHash,\n TransactionType transactionType\n )\n {\n require(\n transactions[scriptHash].transactionType == transactionType, \"Transaction type does not match\"\n );\n _;\n }\n\n modifier onlyBuyer(bytes32 scriptHash) {\n require(\n msg.sender == transactions[scriptHash].buyer, \"The initiator of the transaction is not buyer\"\n );\n _;\n }\n\n /**\n *@dev Add new transaction in the contract\n *@param buyer The buyer of the transaction\n *@param seller The seller of the listing associated with the transaction\n *@param moderator Moderator for this transaction\n *@param scriptHash keccak256 hash of the redeem script\n *@param threshold Minimum number of signatures required to released funds\n *@param timeoutHours Hours after which seller can release funds into his favour by signing transaction unilaterally\n *@param uniqueId bytes20 unique id for the transaction, generated by ETH wallet\n *Redeem Script format will be following\n \n *Pass amount of the ethers to be put in escrow\n */\n function addTransaction(\n address buyer,\n address seller,\n address moderator,\n uint8 threshold,\n uint32 timeoutHours,\n bytes32 scriptHash,\n bytes20 uniqueId\n )\n external\n payable\n transactionDoesNotExist(scriptHash)\n nonZeroAddress(buyer)\n nonZeroAddress(seller)\n {\n _addTransaction(\n buyer,\n seller,\n moderator,\n threshold,\n timeoutHours,\n scriptHash,\n msg.value,\n uniqueId,\n TransactionType.ETHER,\n address(0)\n );\n \n emit Funded(scriptHash, msg.sender, msg.value);\n\n }\n\n /**\n *@dev Add new transaction in the contract\n *@param buyer The buyer of the transaction\n *@param seller The seller of the listing associated with the transaction\n *@param moderator Moderator for this transaction\n *@param scriptHash keccak256 hash of the redeem script\n *@param threshold Minimum number of signatures required to released funds\n *@param timeoutHours Hours after which seller can release funds into his favour by signing transaction unilaterally\n *@param value Amount of tokens to be put in escrow\n *@param uniqueId bytes20 unique id for the transaction, generated by ETH wallet\n *@param tokenAddress Address of the token to be used\n *Redeem Script format will be following\n \n *approve escrow contract to spend amount of token on sender's behalf\n */\n function addTokenTransaction(\n address buyer,\n address seller,\n address moderator,\n uint8 threshold,\n uint32 timeoutHours,\n bytes32 scriptHash,\n uint256 value,\n bytes20 uniqueId,\n address tokenAddress\n )\n external\n transactionDoesNotExist(scriptHash)\n nonZeroAddress(buyer)\n nonZeroAddress(seller)\n nonZeroAddress(tokenAddress)\n {\n\n _addTransaction(\n buyer,\n seller,\n moderator,\n threshold,\n timeoutHours,\n scriptHash,\n value,\n uniqueId,\n TransactionType.TOKEN,\n tokenAddress\n );\n\n ITokenContract token = ITokenContract(tokenAddress);\n\n require(\n token.transferFrom(msg.sender, this, value),\n \"Token transfer failed, maybe you did not approve escrow contract to spend on behalf of sender\"\n );\n emit Funded(scriptHash, msg.sender, value);\n }\n\n /**\n * @dev This method will check whether given address was a beneficiary of transaction execution or not\n * @param scriptHash script hash of the transaction\n * @param beneficiary Beneficiary address to be checked\n */\n function checkBeneficiary(\n bytes32 scriptHash,\n address beneficiary\n )\n external\n view\n returns (bool)\n {\n return transactions[scriptHash].beneficiaries[beneficiary];\n }\n\n /**\n * @dev This method will check whether given party has voted or not\n * @param scriptHash script hash of the transaction\n * @param party Address of the party whose vote has to be checked\n * @return bool vote\n */\n function checkVote(\n bytes32 scriptHash,\n address party\n )\n external\n view\n returns (bool)\n {\n return transactions[scriptHash].voted[party];\n }\n\n /**\n * @dev Allows buyer of the transaction to add more funds(ether) in the transaction. \n * This will help to cater scenarios wherein initially buyer missed to fund transaction as required\n * @param scriptHash script hash of the transaction\n * Only buyer of the transaction can invoke this method\n */\n function addFundsToTransaction(\n bytes32 scriptHash\n )\n external\n payable\n transactionExist(scriptHash)\n inFundedState(scriptHash)\n checkTransactionType(scriptHash, TransactionType.ETHER)\n onlyBuyer(scriptHash)\n \n {\n uint256 _value = msg.value;\n\n require(_value > 0, \"Value must be greater than zero.\");\n\n transactions[scriptHash].value = transactions[scriptHash].value\n .add(_value);\n transactions[scriptHash].lastModified = block.timestamp;\n\n emit FundAdded(scriptHash, msg.sender, _value);\n }\n\n /**\n * @dev Allows buyer of the transaction to add more funds(Tokens) in the transaction. \n * This will help to cater scenarios wherein initially buyer missed to fund transaction as required\n * @param scriptHash script hash of the transaction\n * Only buyer of the transaction can invoke this method\n */\n function addTokensToTransaction(\n bytes32 scriptHash,\n uint256 value\n )\n external\n transactionExist(scriptHash)\n inFundedState(scriptHash)\n checkTransactionType(scriptHash, TransactionType.TOKEN)\n onlyBuyer(scriptHash)\n {\n uint256 _value = value;\n\n require(_value > 0, \"Value must be greater than zero.\");\n\n ITokenContract token = ITokenContract(\n transactions[scriptHash].tokenAddress\n );\n\n require(\n token.transferFrom(transactions[scriptHash].buyer, this, value),\n \"Token transfer failed, maybe you did not approve escrow contract to spend on behalf of buyer\"\n );\n\n transactions[scriptHash].value = transactions[scriptHash].value\n .add(_value);\n transactions[scriptHash].lastModified = block.timestamp;\n\n emit FundAdded(scriptHash, msg.sender, _value);\n }\n\n /**\n *@dev Returns all transaction ids for a party\n *@param partyAddress Address of the party\n */\n function getAllTransactionsForParty(\n address partyAddress\n ) \n external \n view \n returns (bytes32[]) \n {\n return partyVsTransaction[partyAddress];\n }\n\n /**\n *@dev This method will be used to release funds associated with the transaction\n * Please see specs https://github.com/OpenBazaar/smart-contracts/blob/master/contracts/escrow/EscrowSpec.md\n *@param sigV Array containing V component of all the signatures\n *@param sigR Array containing R component of all the signatures\n *@param signS Array containing S component of all the signatures\n *@param scriptHash script hash of the transaction\n *@param destinations List of addresses who will receive funds\n *@param amounts amount released to each destination\n */\n function execute(\n uint8[] sigV,\n bytes32[] sigR,\n bytes32[] sigS,\n bytes32 scriptHash,\n address[] destinations,\n uint256[] amounts\n )\n external\n transactionExist(scriptHash)\n inFundedState(scriptHash)\n {\n require(\n destinations.length>0 && destinations.length == amounts.length, \"Length of destinations is incorrect.\"\n );\n\n verifyTransaction(\n sigV,\n sigR,\n sigS,\n scriptHash,\n destinations,\n amounts\n );\n\n transactions[scriptHash].status = Status.RELEASED;\n //Last modified timestamp modified, which will be used by rewards\n transactions[scriptHash].lastModified = block.timestamp;\n require(\n transferFunds(scriptHash, destinations, amounts) == transactions[scriptHash].value,\n \"Total value to be released must be equal to the transaction escrow value\"\n );\n \n emit Executed(scriptHash, destinations, amounts);\n }\n\n\n /**\n *@dev Method for calculating script hash. Calculation will depend upon the type of transaction\n * ETHER Type transaction-:\n * Script Hash- keccak256(uniqueId, threshold, timeoutHours, buyer, seller, moderator)\n * TOKEN Type transaction\n * Script Hash- keccak256(uniqueId, threshold, timeoutHours, buyer, seller, moderator, tokenAddress)\n * Client can use this method to verify whether it has calculated correct script hash or not\n */\n function calculateRedeemScriptHash(\n bytes20 uniqueId,\n uint8 threshold,\n uint32 timeoutHours,\n address buyer,\n address seller,\n address moderator,\n address tokenAddress\n )\n public\n view\n returns (bytes32)\n {\n if (tokenAddress == address(0)) {\n return keccak256(\n abi.encodePacked(\n uniqueId,\n threshold,\n timeoutHours,\n buyer,\n seller,\n moderator,\n this\n )\n );\n } else {\n return keccak256(\n abi.encodePacked(\n uniqueId,\n threshold,\n timeoutHours,\n buyer,\n seller,\n moderator,\n this,\n tokenAddress\n )\n );\n }\n }\n\n /**\n * @dev This methods checks validity of transaction\n * 1. Verify Signatures\n * 2. Check if minimum number of signatures has been acquired\n * 3. If above condition is false, check if time lock is expired and the execution is signed by seller\n */\n function verifyTransaction(\n uint8[] sigV,\n bytes32[] sigR,\n bytes32[] sigS,\n bytes32 scriptHash,\n address[] destinations,\n uint256[] amounts\n )\n private\n {\n address lastRecovered = verifySignatures(\n sigV,\n sigR,\n sigS,\n scriptHash,\n destinations,\n amounts\n );\n\n bool timeLockExpired = isTimeLockExpired(\n transactions[scriptHash].timeoutHours,\n transactions[scriptHash].lastModified\n );\n\n //if Minimum number of signatures are not gathered and timelock has not expired or transaction was not signed by seller then revert\n if (\n sigV.length < transactions[scriptHash].threshold && (!timeLockExpired || lastRecovered != transactions[scriptHash].seller)\n )\n {\n revert(\"Minimum number of signatures are not collected and time lock expiry conditions not met!!\");\n }\n\n }\n\n /**\n *@dev Private method to transfer funds to the destination addresses on the basis of transaction type\n */\n function transferFunds(\n bytes32 scriptHash,\n address[]destinations,\n uint256[]amounts\n )\n private\n returns (uint256)\n {\n Transaction storage t = transactions[scriptHash];\n\n uint256 valueTransferred = 0;\n\n if (t.transactionType == TransactionType.ETHER) {\n for (uint256 i = 0; i < destinations.length; i++) {\n\n require(destinations[i] != address(0) && t.isOwner[destinations[i]], \"Not a valid destination\");\n require(amounts[i] > 0, \"Amount to be sent should be greater than 0\");\n\n valueTransferred = valueTransferred.add(amounts[i]);\n\n t.beneficiaries[destinations[i]] = true;//add receiver as beneficiary\n destinations[i].transfer(amounts[i]);\n }\n\n } else if (t.transactionType == TransactionType.TOKEN) {\n\n ITokenContract token = ITokenContract(t.tokenAddress);\n\n for (uint256 j = 0; j 0, \"Amount to be sent should be greater than 0\");\n\n valueTransferred = valueTransferred.add(amounts[j]);\n t.beneficiaries[destinations[j]] = true;//add receiver as beneficiary\n\n require(token.transfer(destinations[j], amounts[j]), \"Token transfer failed.\");\n }\n } \n return valueTransferred;\n }\n\n //to check whether the signatures are valid or not and if consensus was reached\n //returns the last address recovered, in case of timeout this must be the sender's address\n function verifySignatures(\n uint8[] sigV,\n bytes32[] sigR,\n bytes32[] sigS,\n bytes32 scriptHash,\n address[] destinations,\n uint256[]amounts\n )\n private\n returns (address)\n {\n\n require(\n sigR.length == sigS.length && sigR.length == sigV.length, \n \"R,S,V length mismatch.\"\n );\n\n address lastAddress;\n\n // Follows ERC191 signature scheme: https://github.com/ethereum/EIPs/issues/191\n bytes32 txHash = keccak256(\n abi.encodePacked(\n \"\\x19Ethereum Signed Message:\\n32\",\n keccak256(\n abi.encodePacked(\n byte(0x19),\n byte(0),\n this,\n destinations,\n amounts,\n scriptHash\n )\n )\n )\n );\n\n for (uint i = 0; i < sigR.length; i++) {\n\n address recovered = ecrecover(\n txHash,\n sigV[i],\n sigR[i],\n sigS[i]\n );\n\n require(\n transactions[scriptHash].isOwner[recovered], \n \"Invalid signature\"\n );\n require(\n !transactions[scriptHash].voted[recovered], \n \"Same signature sent twice\"\n );\n transactions[scriptHash].voted[recovered] = true;\n lastAddress = recovered;\n }\n\n return lastAddress;\n }\n\n function isTimeLockExpired(\n uint32 timeoutHours,\n uint256 lastModified\n )\n private\n view\n returns (bool)\n {\n uint256 timeSince = now.sub(lastModified);\n return (\n timeoutHours == 0 ? false:timeSince > uint256(timeoutHours).mul(3600)\n );\n }\n\n /**\n * Private method to add transaction to reduce code redundancy\n */\n function _addTransaction(\n address buyer,\n address seller,\n address moderator,\n uint8 threshold,\n uint32 timeoutHours,\n bytes32 scriptHash,\n uint256 value,\n bytes20 uniqueId,\n TransactionType transactionType,\n address tokenAddress\n )\n private\n { \n require(buyer != seller, \"Buyer and seller are same\");\n\n //value passed should be greater than 0\n require(value > 0, \"Value passed is 0\");\n\n // For now allowing 0 moderator to support 1-2 multisig wallet\n require(\n threshold > 0 && threshold <= 3, \n \"Threshold cannot be greater than 3 and must be greater than 0\"\n );\n\n //if threshold is 1 then moderator can be passed as zero address or any other address\n //(it won't matter apart from scripthash since we wont add moderator as one of the owner),\n //otherwise moderator should be a valid address\n require(\n threshold == 1 || moderator != address(0),\n \"Either threshold should be 1 or valid moderator address should be passed\"\n );\n\n require(\n scriptHash == calculateRedeemScriptHash(\n uniqueId,\n threshold,\n timeoutHours,\n buyer,\n seller,\n moderator,\n tokenAddress\n ), \n \"Calculated script hash does not match passed script hash.\"\n );\n\n transactions[scriptHash] = Transaction({\n buyer: buyer,\n seller: seller,\n moderator: moderator,\n value: value,\n status: Status.FUNDED,\n lastModified: block.timestamp,\n threshold: threshold,\n timeoutHours: timeoutHours,\n transactionType:transactionType,\n tokenAddress:tokenAddress\n });\n\n transactions[scriptHash].isOwner[seller] = true;\n transactions[scriptHash].isOwner[buyer] = true; \n\n //Check if buyer or seller are not passed as moderator\n require(\n !transactions[scriptHash].isOwner[moderator], \n \"Either buyer or seller is passed as moderator\"\n );\n\n //set moderator as one of the owners only if threshold is greater than 1 otherwise only buyer and seller should be able to release funds\n if (threshold > 1) {\n transactions[scriptHash].isOwner[moderator] = true;\n }\n \n\n transactionCount++;\n\n partyVsTransaction[buyer].push(scriptHash);\n partyVsTransaction[seller].push(scriptHash);\n }\n}\n", + "bytecode": "0x6080604052600060015534801561001557600080fd5b506141d9806100256000396000f3006080604052600436106100ba576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806323b6fd3f146100bf5780632d9ef96e1461017957806346fbcdeb1461019d57806357bced7614610292578063642f2eaf14610383578063b0550c66146104e5578063b719e2801461054e578063b77bf60014610589578063be84ceaf146105b4578063e4ec8b001461064c578063f0786562146106f5578063f5dbe09c1461075e575b600080fd5b610177600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff169060200190929190803563ffffffff169060200190929190803560001916906020019092919080356bffffffffffffffffffffffff191690602001909291905050506107c7565b005b61019b6004803603810190808035600019169060200190929190505050610a1b565b005b3480156101a957600080fd5b5061027460048036038101908080356bffffffffffffffffffffffff19169060200190929190803560ff169060200190929190803563ffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610e9e565b60405180826000191660001916815260200191505060405180910390f35b34801561029e57600080fd5b50610381600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff169060200190929190803563ffffffff16906020019092919080356000191690602001909291908035906020019092919080356bffffffffffffffffffffffff19169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061134a565b005b34801561038f57600080fd5b506103b2600480360381019080803560001916906020019092919050505061181f565b604051808b81526020018a81526020018960018111156103ce57fe5b60ff1681526020018860018111156103e257fe5b60ff1681526020018760ff1660ff1681526020018663ffffffff1663ffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019a505050505050505050505060405180910390f35b3480156104f157600080fd5b506105346004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061192a565b604051808215151515815260200191505060405180910390f35b34801561055a57600080fd5b5061058760048036038101908080356000191690602001909291908035906020019092919050505061199c565b005b34801561059557600080fd5b5061059e612071565b6040518082815260200191505060405180910390f35b3480156105c057600080fd5b506105f5600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612077565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b8381101561063857808201518184015260208101905061061d565b505050509050019250505060405180910390f35b34801561065857600080fd5b506106f36004803603810190808035906020019082018035906020019190919293919293908035906020019082018035906020019190919293919293908035906020019082018035906020019190919293919293908035600019169060200190929190803590602001908201803590602001919091929391929390803590602001908201803590602001919091929391929390505050612112565b005b34801561070157600080fd5b506107446004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612669565b604051808215151515815260200191505060405180910390f35b34801561076a57600080fd5b506107a9600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506126db565b60405180826000191660001916815260200191505060405180910390f35b81600080600083600019166000191681526020019081526020016000206000015414151561085d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f5472616e73616374696f6e20657869737400000000000000000000000000000081525060200191505060405180910390fd5b87600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610903576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b87600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156109a9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b6109bc8a8a8a8a8a8a348b60008061270b565b3373ffffffffffffffffffffffffffffffffffffffff1685600019167fce7089d0668849fb9ca29778c0cbf1e764d9efb048d81fd71fb34c94f26db368346040518082815260200191505060405180910390a350505050505050505050565b600081600080600083600019166000191681526020019081526020016000206000015414151515610ab4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737400000000000081525060200191505060405180910390fd5b8260006001811115610ac257fe5b600080836000191660001916815260200190815260200160002060020160009054906101000a900460ff166001811115610af857fe5b141515610b93576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001807f5472616e73616374696f6e206973206e6f7420696e2046554e4445442073746181526020017f746500000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b836000806001811115610ba257fe5b600080846000191660001916815260200190815260200160002060020160019054906101000a900460ff166001811115610bd857fe5b141515610c4d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5472616e73616374696f6e207479706520646f6573206e6f74206d617463680081525060200191505060405180910390fd5b85600080826000191660001916815260200190815260200160002060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610d54576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f54686520696e69746961746f72206f6620746865207472616e73616374696f6e81526020017f206973206e6f742062757965720000000000000000000000000000000000000081525060400191505060405180910390fd5b349550600086111515610dcf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f56616c7565206d7573742062652067726561746572207468616e207a65726f2e81525060200191505060405180910390fd5b610dff866000808a600019166000191681526020019081526020016000206000015461309790919063ffffffff16565b600080896000191660001916815260200190815260200160002060000181905550426000808960001916600019168152602001908152602001600020600101819055503373ffffffffffffffffffffffffffffffffffffffff1687600019167ff66fd2ae9e24a6a24b02e1b5b7512ffde5149a4176085fc0298ae228c9b9d729886040518082815260200191505060405180910390a350505050505050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156110ea578787878787873060405160200180886bffffffffffffffffffffffff19166bffffffffffffffffffffffff191681526014018760ff1660ff167f01000000000000000000000000000000000000000000000000000000000000000281526001018663ffffffff1663ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014019750505050505050506040516020818303038152906040526040518082805190602001908083835b6020831015156110b65780518252602082019150602081019050602083039250611091565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040518091039020905061133f565b878787878787308860405160200180896bffffffffffffffffffffffff19166bffffffffffffffffffffffff191681526014018860ff1660ff167f01000000000000000000000000000000000000000000000000000000000000000281526001018763ffffffff1663ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401985050505050505050506040516020818303038152906040526040518082805190602001908083835b60208310151561130f57805182526020820191506020810190506020830392506112ea565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902090505b979650505050505050565b60008460008060008360001916600019168152602001908152602001600020600001541415156113e2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f5472616e73616374696f6e20657869737400000000000000000000000000000081525060200191505060405180910390fd5b8a600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515611488576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b8a600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561152e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b84600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156115d4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b6115e78e8e8e8e8e8e8e8e60018f61270b565b8594508473ffffffffffffffffffffffffffffffffffffffff166323b872dd33308b6040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b1580156116c157600080fd5b505af11580156116d5573d6000803e3d6000fd5b505050506040513d60208110156116eb57600080fd5b810190808051906020019092919050505015156117bc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252605d8152602001807f546f6b656e207472616e73666572206661696c65642c206d6179626520796f7581526020017f20646964206e6f7420617070726f766520657363726f7720636f6e747261637481526020017f20746f207370656e64206f6e20626568616c66206f662073656e64657200000081525060600191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff1689600019167fce7089d0668849fb9ca29778c0cbf1e764d9efb048d81fd71fb34c94f26db3688a6040518082815260200191505060405180910390a35050505050505050505050505050565b60006020528060005260406000206000915090508060000154908060010154908060020160009054906101000a900460ff16908060020160019054906101000a900460ff16908060020160029054906101000a900460ff16908060020160039054906101000a900463ffffffff16908060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060050160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508a565b6000806000846000191660001916815260200190815260200160002060080160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b60008083600080600083600019166000191681526020019081526020016000206000015414151515611a36576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737400000000000081525060200191505060405180910390fd5b8460006001811115611a4457fe5b600080836000191660001916815260200190815260200160002060020160009054906101000a900460ff166001811115611a7a57fe5b141515611b15576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001807f5472616e73616374696f6e206973206e6f7420696e2046554e4445442073746181526020017f746500000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b856001806001811115611b2457fe5b600080846000191660001916815260200190815260200160002060020160019054906101000a900460ff166001811115611b5a57fe5b141515611bcf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5472616e73616374696f6e207479706520646f6573206e6f74206d617463680081525060200191505060405180910390fd5b87600080826000191660001916815260200190815260200160002060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611cd6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f54686520696e69746961746f72206f6620746865207472616e73616374696f6e81526020017f206973206e6f742062757965720000000000000000000000000000000000000081525060400191505060405180910390fd5b879650600087111515611d51576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f56616c7565206d7573742062652067726561746572207468616e207a65726f2e81525060200191505060405180910390fd5b6000808a6000191660001916815260200190815260200160002060040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1695508573ffffffffffffffffffffffffffffffffffffffff166323b872dd6000808c6000191660001916815260200190815260200160002060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff16308b6040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b158015611ea557600080fd5b505af1158015611eb9573d6000803e3d6000fd5b505050506040513d6020811015611ecf57600080fd5b81019080805190602001909291905050501515611fa0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252605c8152602001807f546f6b656e207472616e73666572206661696c65642c206d6179626520796f7581526020017f20646964206e6f7420617070726f766520657363726f7720636f6e747261637481526020017f20746f207370656e64206f6e20626568616c66206f662062757965720000000081525060600191505060405180910390fd5b611fd0876000808c600019166000191681526020019081526020016000206000015461309790919063ffffffff16565b6000808b6000191660001916815260200190815260200160002060000181905550426000808b60001916600019168152602001908152602001600020600101819055503373ffffffffffffffffffffffffffffffffffffffff1689600019167ff66fd2ae9e24a6a24b02e1b5b7512ffde5149a4176085fc0298ae228c9b9d729896040518082815260200191505060405180910390a3505050505050505050565b60015481565b6060600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080548060200260200160405190810160405280929190818152602001828054801561210657602002820191906000526020600020905b815460001916815260200190600101908083116120ee575b50505050509050919050565b846000806000836000191660001916815260200190815260200160002060000154141515156121a9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737400000000000081525060200191505060405180910390fd5b85600060018111156121b757fe5b600080836000191660001916815260200190815260200160002060020160009054906101000a900460ff1660018111156121ed57fe5b141515612288576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001807f5472616e73616374696f6e206973206e6f7420696e2046554e4445442073746181526020017f746500000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b6000868690501180156122a057508383905086869050145b151561233a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001807f4c656e677468206f662064657374696e6174696f6e7320697320696e636f727281526020017f6563742e0000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b6124338d8d808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508c8c808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508b8b808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508a8a8a808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508989808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050506130b8565b6001600080896000191660001916815260200190815260200160002060020160006101000a81548160ff0219169083600181111561246d57fe5b02179055504260008089600019166000191681526020019081526020016000206001018190555060008088600019166000191681526020019081526020016000206000015461251b88888880806020026020016040519081016040528093929190818152602001838360200280828437820191505050505050878780806020026020016040519081016040528093929190818152602001838360200280828437820191505050505050613299565b1415156125dc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260488152602001807f546f74616c2076616c756520746f2062652072656c6561736564206d7573742081526020017f626520657175616c20746f20746865207472616e73616374696f6e206573637281526020017f6f772076616c756500000000000000000000000000000000000000000000000081525060600191505060405180910390fd5b86600019167f688e2a1b34445bcd47b0e11ba2a9c8c4d850a1831b64199b59d1c70e29701545878787876040518080602001806020018381038352878782818152602001925060200280828437820191505083810382528585828181526020019250602002808284378201915050965050505050505060405180910390a250505050505050505050505050565b6000806000846000191660001916815260200190815260200160002060070160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6002602052816000526040600020818154811015156126f657fe5b90600052602060002001600091509150505481565b8873ffffffffffffffffffffffffffffffffffffffff168a73ffffffffffffffffffffffffffffffffffffffff16141515156127af576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f427579657220616e642073656c6c6572206172652073616d650000000000000081525060200191505060405180910390fd5b600084111515612827576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f56616c756520706173736564206973203000000000000000000000000000000081525060200191505060405180910390fd5b60008760ff1611801561283e575060038760ff1611155b15156128d8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603d8152602001807f5468726573686f6c642063616e6e6f742062652067726561746572207468616e81526020017f203320616e64206d7573742062652067726561746572207468616e203000000081525060400191505060405180910390fd5b60018760ff1614806129175750600073ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff1614155b15156129d7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260488152602001807f456974686572207468726573686f6c642073686f756c642062652031206f722081526020017f76616c6964206d6f64657261746f7220616464726573732073686f756c64206281526020017f652070617373656400000000000000000000000000000000000000000000000081525060600191505060405180910390fd5b6129e68388888d8d8d87610e9e565b600019168560001916141515612a8a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260398152602001807f43616c63756c6174656420736372697074206861736820646f6573206e6f742081526020017f6d61746368207061737365642073637269707420686173682e0000000000000081525060400191505060405180910390fd5b6101406040519081016040528085815260200142815260200160006001811115612ab057fe5b8152602001836001811115612ac157fe5b81526020018860ff1681526020018763ffffffff1681526020018b73ffffffffffffffffffffffffffffffffffffffff1681526020018a73ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020018973ffffffffffffffffffffffffffffffffffffffff168152506000808760001916600019168152602001908152602001600020600082015181600001556020820151816001015560408201518160020160006101000a81548160ff02191690836001811115612b9b57fe5b021790555060608201518160020160016101000a81548160ff02191690836001811115612bc457fe5b021790555060808201518160020160026101000a81548160ff021916908360ff16021790555060a08201518160020160036101000a81548163ffffffff021916908363ffffffff16021790555060c08201518160020160076101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060e08201518160030160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506101008201518160040160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506101208201518160050160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055509050506001600080876000191660001916815260200190815260200160002060060160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600080876000191660001916815260200190815260200160002060060160008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600080866000191660001916815260200190815260200160002060060160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151515612f1b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f456974686572206275796572206f722073656c6c65722069732070617373656481526020017f206173206d6f64657261746f720000000000000000000000000000000000000081525060400191505060405180910390fd5b60018760ff161115612f9b576001600080876000191660001916815260200190815260200160002060060160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b600160008154809291906001019190505550600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020859080600181540180825580915050906001820390600052602060002001600090919290919091509060001916905550600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002085908060018154018082558091505090600182039060005260206000200160009091929091909150906000191690555050505050505050505050565b60008082840190508381101515156130ae57600080fd5b8091505092915050565b6000806130c9888888888888613a81565b915061311f600080876000191660001916815260200190815260200160002060020160039054906101000a900463ffffffff166000808860001916600019168152602001908152602001600020600101546140fa565b9050600080866000191660001916815260200190815260200160002060020160029054906101000a900460ff1660ff1688511080156131d057508015806131cf5750600080866000191660001916815260200190815260200160002060030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b5b1561328f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260588152602001807f4d696e696d756d206e756d626572206f66207369676e6174757265732061726581526020017f206e6f7420636f6c6c656374656420616e642074696d65206c6f636b2065787081526020017f69727920636f6e646974696f6e73206e6f74206d65742121000000000000000081525060600191505060405180910390fd5b5050505050505050565b6000806000806000806000808a60001916600019168152602001908152602001600020945060009350600060018111156132cf57fe5b8560020160019054906101000a900460ff1660018111156132ec57fe5b141561360357600092505b87518310156135fe57600073ffffffffffffffffffffffffffffffffffffffff16888481518110151561332657fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff16141580156133b65750846006016000898581518110151561336357fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b151561342a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f4e6f7420612076616c69642064657374696e6174696f6e00000000000000000081525060200191505060405180910390fd5b6000878481518110151561343a57fe5b906020019060200201511115156134df576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001807f416d6f756e7420746f2062652073656e742073686f756c64206265206772656181526020017f746572207468616e20300000000000000000000000000000000000000000000081525060400191505060405180910390fd5b61350987848151811015156134f057fe5b906020019060200201518561309790919063ffffffff16565b935060018560080160008a8681518110151561352157fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550878381518110151561358a57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff166108fc88858151811015156135bb57fe5b906020019060200201519081150290604051600060405180830381858888f193505050501580156135f0573d6000803e3d6000fd5b5082806001019350506132f7565b613a72565b60018081111561360f57fe5b8560020160019054906101000a900460ff16600181111561362c57fe5b1415613a71578460040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169150600090505b8751811015613a7057600073ffffffffffffffffffffffffffffffffffffffff16888281518110151561368d57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff161415801561371d575084600601600089838151811015156136ca57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1515613791576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f4e6f7420612076616c69642064657374696e6174696f6e00000000000000000081525060200191505060405180910390fd5b600087828151811015156137a157fe5b90602001906020020151111515613846576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001807f416d6f756e7420746f2062652073656e742073686f756c64206265206772656181526020017f746572207468616e20300000000000000000000000000000000000000000000081525060400191505060405180910390fd5b613870878281518110151561385757fe5b906020019060200201518561309790919063ffffffff16565b935060018560080160008a8481518110151561388857fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb898381518110151561390d57fe5b90602001906020020151898481518110151561392557fe5b906020019060200201516040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1580156139b457600080fd5b505af11580156139c8573d6000803e3d6000fd5b505050506040513d60208110156139de57600080fd5b81019080805190602001909291905050501515613a63576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f546f6b656e207472616e73666572206661696c65642e0000000000000000000081525060200191505060405180910390fd5b808060010191505061365e565b5b5b83955050505050509392505050565b600080600080600088518a51148015613a9b57508a518a51145b1515613b0f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f522c532c56206c656e677468206d69736d617463682e0000000000000000000081525060200191505060405180910390fd5b60197f01000000000000000000000000000000000000000000000000000000000000000260007f0100000000000000000000000000000000000000000000000000000000000000023089898c60405160200180877effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168152600101867effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526001018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401848051906020019060200280838360005b83811015613c63578082015181840152602081019050613c48565b50505050905001838051906020019060200280838360005b83811015613c96578082015181840152602081019050613c7b565b50505050905001826000191660001916815260200196505050505050506040516020818303038152906040526040518082805190602001908083835b602083101515613cf75780518252602082019150602081019050602083039250613cd2565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902060405160200180807f19457468657265756d205369676e6564204d6573736167653a0a333200000000815250601c0182600019166000191681526020019150506040516020818303038152906040526040518082805190602001908083835b602083101515613da85780518252602082019150602081019050602083039250613d83565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390209250600091505b89518210156140e9576001838c84815181101515613df657fe5b906020019060200201518c85815181101515613e0e57fe5b906020019060200201518c86815181101515613e2657fe5b90602001906020020151604051600081526020016040526040518085600019166000191681526020018460ff1660ff1681526020018360001916600019168152602001826000191660001916815260200194505050505060206040516020810390808403906000865af1158015613ea1573d6000803e3d6000fd5b505050602060405103519050600080896000191660001916815260200190815260200160002060060160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515613f89576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f496e76616c6964207369676e617475726500000000000000000000000000000081525060200191505060405180910390fd5b600080896000191660001916815260200190815260200160002060070160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151515614066576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f53616d65207369676e61747572652073656e742074776963650000000000000081525060200191505060405180910390fd5b60016000808a6000191660001916815260200190815260200160002060070160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508093508180600101925050613ddc565b839450505050509695505050505050565b600080614110834261414e90919063ffffffff16565b905060008463ffffffff16146141425761413b610e108563ffffffff1661416f90919063ffffffff16565b8111614145565b60005b91505092915050565b60008083831115151561416057600080fd5b82840390508091505092915050565b600080600084141561418457600091506141a6565b828402905082848281151561419557fe5b041415156141a257600080fd5b8091505b50929150505600a165627a7a72305820b92d0aa182b7ae10953296f9afa56756daa1dbba5360ede1e6c25da28881280c0029", + "deployedBytecode": "0x6080604052600436106100ba576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806323b6fd3f146100bf5780632d9ef96e1461017957806346fbcdeb1461019d57806357bced7614610292578063642f2eaf14610383578063b0550c66146104e5578063b719e2801461054e578063b77bf60014610589578063be84ceaf146105b4578063e4ec8b001461064c578063f0786562146106f5578063f5dbe09c1461075e575b600080fd5b610177600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff169060200190929190803563ffffffff169060200190929190803560001916906020019092919080356bffffffffffffffffffffffff191690602001909291905050506107c7565b005b61019b6004803603810190808035600019169060200190929190505050610a1b565b005b3480156101a957600080fd5b5061027460048036038101908080356bffffffffffffffffffffffff19169060200190929190803560ff169060200190929190803563ffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610e9e565b60405180826000191660001916815260200191505060405180910390f35b34801561029e57600080fd5b50610381600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff169060200190929190803563ffffffff16906020019092919080356000191690602001909291908035906020019092919080356bffffffffffffffffffffffff19169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061134a565b005b34801561038f57600080fd5b506103b2600480360381019080803560001916906020019092919050505061181f565b604051808b81526020018a81526020018960018111156103ce57fe5b60ff1681526020018860018111156103e257fe5b60ff1681526020018760ff1660ff1681526020018663ffffffff1663ffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019a505050505050505050505060405180910390f35b3480156104f157600080fd5b506105346004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061192a565b604051808215151515815260200191505060405180910390f35b34801561055a57600080fd5b5061058760048036038101908080356000191690602001909291908035906020019092919050505061199c565b005b34801561059557600080fd5b5061059e612071565b6040518082815260200191505060405180910390f35b3480156105c057600080fd5b506105f5600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612077565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b8381101561063857808201518184015260208101905061061d565b505050509050019250505060405180910390f35b34801561065857600080fd5b506106f36004803603810190808035906020019082018035906020019190919293919293908035906020019082018035906020019190919293919293908035906020019082018035906020019190919293919293908035600019169060200190929190803590602001908201803590602001919091929391929390803590602001908201803590602001919091929391929390505050612112565b005b34801561070157600080fd5b506107446004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612669565b604051808215151515815260200191505060405180910390f35b34801561076a57600080fd5b506107a9600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506126db565b60405180826000191660001916815260200191505060405180910390f35b81600080600083600019166000191681526020019081526020016000206000015414151561085d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f5472616e73616374696f6e20657869737400000000000000000000000000000081525060200191505060405180910390fd5b87600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610903576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b87600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156109a9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b6109bc8a8a8a8a8a8a348b60008061270b565b3373ffffffffffffffffffffffffffffffffffffffff1685600019167fce7089d0668849fb9ca29778c0cbf1e764d9efb048d81fd71fb34c94f26db368346040518082815260200191505060405180910390a350505050505050505050565b600081600080600083600019166000191681526020019081526020016000206000015414151515610ab4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737400000000000081525060200191505060405180910390fd5b8260006001811115610ac257fe5b600080836000191660001916815260200190815260200160002060020160009054906101000a900460ff166001811115610af857fe5b141515610b93576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001807f5472616e73616374696f6e206973206e6f7420696e2046554e4445442073746181526020017f746500000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b836000806001811115610ba257fe5b600080846000191660001916815260200190815260200160002060020160019054906101000a900460ff166001811115610bd857fe5b141515610c4d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5472616e73616374696f6e207479706520646f6573206e6f74206d617463680081525060200191505060405180910390fd5b85600080826000191660001916815260200190815260200160002060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610d54576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f54686520696e69746961746f72206f6620746865207472616e73616374696f6e81526020017f206973206e6f742062757965720000000000000000000000000000000000000081525060400191505060405180910390fd5b349550600086111515610dcf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f56616c7565206d7573742062652067726561746572207468616e207a65726f2e81525060200191505060405180910390fd5b610dff866000808a600019166000191681526020019081526020016000206000015461309790919063ffffffff16565b600080896000191660001916815260200190815260200160002060000181905550426000808960001916600019168152602001908152602001600020600101819055503373ffffffffffffffffffffffffffffffffffffffff1687600019167ff66fd2ae9e24a6a24b02e1b5b7512ffde5149a4176085fc0298ae228c9b9d729886040518082815260200191505060405180910390a350505050505050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156110ea578787878787873060405160200180886bffffffffffffffffffffffff19166bffffffffffffffffffffffff191681526014018760ff1660ff167f01000000000000000000000000000000000000000000000000000000000000000281526001018663ffffffff1663ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014019750505050505050506040516020818303038152906040526040518082805190602001908083835b6020831015156110b65780518252602082019150602081019050602083039250611091565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040518091039020905061133f565b878787878787308860405160200180896bffffffffffffffffffffffff19166bffffffffffffffffffffffff191681526014018860ff1660ff167f01000000000000000000000000000000000000000000000000000000000000000281526001018763ffffffff1663ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401985050505050505050506040516020818303038152906040526040518082805190602001908083835b60208310151561130f57805182526020820191506020810190506020830392506112ea565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902090505b979650505050505050565b60008460008060008360001916600019168152602001908152602001600020600001541415156113e2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f5472616e73616374696f6e20657869737400000000000000000000000000000081525060200191505060405180910390fd5b8a600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515611488576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b8a600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561152e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b84600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156115d4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b6115e78e8e8e8e8e8e8e8e60018f61270b565b8594508473ffffffffffffffffffffffffffffffffffffffff166323b872dd33308b6040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b1580156116c157600080fd5b505af11580156116d5573d6000803e3d6000fd5b505050506040513d60208110156116eb57600080fd5b810190808051906020019092919050505015156117bc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252605d8152602001807f546f6b656e207472616e73666572206661696c65642c206d6179626520796f7581526020017f20646964206e6f7420617070726f766520657363726f7720636f6e747261637481526020017f20746f207370656e64206f6e20626568616c66206f662073656e64657200000081525060600191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff1689600019167fce7089d0668849fb9ca29778c0cbf1e764d9efb048d81fd71fb34c94f26db3688a6040518082815260200191505060405180910390a35050505050505050505050505050565b60006020528060005260406000206000915090508060000154908060010154908060020160009054906101000a900460ff16908060020160019054906101000a900460ff16908060020160029054906101000a900460ff16908060020160039054906101000a900463ffffffff16908060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060050160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508a565b6000806000846000191660001916815260200190815260200160002060080160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b60008083600080600083600019166000191681526020019081526020016000206000015414151515611a36576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737400000000000081525060200191505060405180910390fd5b8460006001811115611a4457fe5b600080836000191660001916815260200190815260200160002060020160009054906101000a900460ff166001811115611a7a57fe5b141515611b15576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001807f5472616e73616374696f6e206973206e6f7420696e2046554e4445442073746181526020017f746500000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b856001806001811115611b2457fe5b600080846000191660001916815260200190815260200160002060020160019054906101000a900460ff166001811115611b5a57fe5b141515611bcf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5472616e73616374696f6e207479706520646f6573206e6f74206d617463680081525060200191505060405180910390fd5b87600080826000191660001916815260200190815260200160002060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611cd6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f54686520696e69746961746f72206f6620746865207472616e73616374696f6e81526020017f206973206e6f742062757965720000000000000000000000000000000000000081525060400191505060405180910390fd5b879650600087111515611d51576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f56616c7565206d7573742062652067726561746572207468616e207a65726f2e81525060200191505060405180910390fd5b6000808a6000191660001916815260200190815260200160002060040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1695508573ffffffffffffffffffffffffffffffffffffffff166323b872dd6000808c6000191660001916815260200190815260200160002060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff16308b6040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b158015611ea557600080fd5b505af1158015611eb9573d6000803e3d6000fd5b505050506040513d6020811015611ecf57600080fd5b81019080805190602001909291905050501515611fa0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252605c8152602001807f546f6b656e207472616e73666572206661696c65642c206d6179626520796f7581526020017f20646964206e6f7420617070726f766520657363726f7720636f6e747261637481526020017f20746f207370656e64206f6e20626568616c66206f662062757965720000000081525060600191505060405180910390fd5b611fd0876000808c600019166000191681526020019081526020016000206000015461309790919063ffffffff16565b6000808b6000191660001916815260200190815260200160002060000181905550426000808b60001916600019168152602001908152602001600020600101819055503373ffffffffffffffffffffffffffffffffffffffff1689600019167ff66fd2ae9e24a6a24b02e1b5b7512ffde5149a4176085fc0298ae228c9b9d729896040518082815260200191505060405180910390a3505050505050505050565b60015481565b6060600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080548060200260200160405190810160405280929190818152602001828054801561210657602002820191906000526020600020905b815460001916815260200190600101908083116120ee575b50505050509050919050565b846000806000836000191660001916815260200190815260200160002060000154141515156121a9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737400000000000081525060200191505060405180910390fd5b85600060018111156121b757fe5b600080836000191660001916815260200190815260200160002060020160009054906101000a900460ff1660018111156121ed57fe5b141515612288576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001807f5472616e73616374696f6e206973206e6f7420696e2046554e4445442073746181526020017f746500000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b6000868690501180156122a057508383905086869050145b151561233a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001807f4c656e677468206f662064657374696e6174696f6e7320697320696e636f727281526020017f6563742e0000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b6124338d8d808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508c8c808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508b8b808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508a8a8a808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508989808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050506130b8565b6001600080896000191660001916815260200190815260200160002060020160006101000a81548160ff0219169083600181111561246d57fe5b02179055504260008089600019166000191681526020019081526020016000206001018190555060008088600019166000191681526020019081526020016000206000015461251b88888880806020026020016040519081016040528093929190818152602001838360200280828437820191505050505050878780806020026020016040519081016040528093929190818152602001838360200280828437820191505050505050613299565b1415156125dc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260488152602001807f546f74616c2076616c756520746f2062652072656c6561736564206d7573742081526020017f626520657175616c20746f20746865207472616e73616374696f6e206573637281526020017f6f772076616c756500000000000000000000000000000000000000000000000081525060600191505060405180910390fd5b86600019167f688e2a1b34445bcd47b0e11ba2a9c8c4d850a1831b64199b59d1c70e29701545878787876040518080602001806020018381038352878782818152602001925060200280828437820191505083810382528585828181526020019250602002808284378201915050965050505050505060405180910390a250505050505050505050505050565b6000806000846000191660001916815260200190815260200160002060070160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6002602052816000526040600020818154811015156126f657fe5b90600052602060002001600091509150505481565b8873ffffffffffffffffffffffffffffffffffffffff168a73ffffffffffffffffffffffffffffffffffffffff16141515156127af576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f427579657220616e642073656c6c6572206172652073616d650000000000000081525060200191505060405180910390fd5b600084111515612827576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f56616c756520706173736564206973203000000000000000000000000000000081525060200191505060405180910390fd5b60008760ff1611801561283e575060038760ff1611155b15156128d8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603d8152602001807f5468726573686f6c642063616e6e6f742062652067726561746572207468616e81526020017f203320616e64206d7573742062652067726561746572207468616e203000000081525060400191505060405180910390fd5b60018760ff1614806129175750600073ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff1614155b15156129d7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260488152602001807f456974686572207468726573686f6c642073686f756c642062652031206f722081526020017f76616c6964206d6f64657261746f7220616464726573732073686f756c64206281526020017f652070617373656400000000000000000000000000000000000000000000000081525060600191505060405180910390fd5b6129e68388888d8d8d87610e9e565b600019168560001916141515612a8a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260398152602001807f43616c63756c6174656420736372697074206861736820646f6573206e6f742081526020017f6d61746368207061737365642073637269707420686173682e0000000000000081525060400191505060405180910390fd5b6101406040519081016040528085815260200142815260200160006001811115612ab057fe5b8152602001836001811115612ac157fe5b81526020018860ff1681526020018763ffffffff1681526020018b73ffffffffffffffffffffffffffffffffffffffff1681526020018a73ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020018973ffffffffffffffffffffffffffffffffffffffff168152506000808760001916600019168152602001908152602001600020600082015181600001556020820151816001015560408201518160020160006101000a81548160ff02191690836001811115612b9b57fe5b021790555060608201518160020160016101000a81548160ff02191690836001811115612bc457fe5b021790555060808201518160020160026101000a81548160ff021916908360ff16021790555060a08201518160020160036101000a81548163ffffffff021916908363ffffffff16021790555060c08201518160020160076101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060e08201518160030160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506101008201518160040160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506101208201518160050160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055509050506001600080876000191660001916815260200190815260200160002060060160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600080876000191660001916815260200190815260200160002060060160008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600080866000191660001916815260200190815260200160002060060160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151515612f1b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f456974686572206275796572206f722073656c6c65722069732070617373656481526020017f206173206d6f64657261746f720000000000000000000000000000000000000081525060400191505060405180910390fd5b60018760ff161115612f9b576001600080876000191660001916815260200190815260200160002060060160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b600160008154809291906001019190505550600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020859080600181540180825580915050906001820390600052602060002001600090919290919091509060001916905550600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002085908060018154018082558091505090600182039060005260206000200160009091929091909150906000191690555050505050505050505050565b60008082840190508381101515156130ae57600080fd5b8091505092915050565b6000806130c9888888888888613a81565b915061311f600080876000191660001916815260200190815260200160002060020160039054906101000a900463ffffffff166000808860001916600019168152602001908152602001600020600101546140fa565b9050600080866000191660001916815260200190815260200160002060020160029054906101000a900460ff1660ff1688511080156131d057508015806131cf5750600080866000191660001916815260200190815260200160002060030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b5b1561328f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260588152602001807f4d696e696d756d206e756d626572206f66207369676e6174757265732061726581526020017f206e6f7420636f6c6c656374656420616e642074696d65206c6f636b2065787081526020017f69727920636f6e646974696f6e73206e6f74206d65742121000000000000000081525060600191505060405180910390fd5b5050505050505050565b6000806000806000806000808a60001916600019168152602001908152602001600020945060009350600060018111156132cf57fe5b8560020160019054906101000a900460ff1660018111156132ec57fe5b141561360357600092505b87518310156135fe57600073ffffffffffffffffffffffffffffffffffffffff16888481518110151561332657fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff16141580156133b65750846006016000898581518110151561336357fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b151561342a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f4e6f7420612076616c69642064657374696e6174696f6e00000000000000000081525060200191505060405180910390fd5b6000878481518110151561343a57fe5b906020019060200201511115156134df576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001807f416d6f756e7420746f2062652073656e742073686f756c64206265206772656181526020017f746572207468616e20300000000000000000000000000000000000000000000081525060400191505060405180910390fd5b61350987848151811015156134f057fe5b906020019060200201518561309790919063ffffffff16565b935060018560080160008a8681518110151561352157fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550878381518110151561358a57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff166108fc88858151811015156135bb57fe5b906020019060200201519081150290604051600060405180830381858888f193505050501580156135f0573d6000803e3d6000fd5b5082806001019350506132f7565b613a72565b60018081111561360f57fe5b8560020160019054906101000a900460ff16600181111561362c57fe5b1415613a71578460040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169150600090505b8751811015613a7057600073ffffffffffffffffffffffffffffffffffffffff16888281518110151561368d57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff161415801561371d575084600601600089838151811015156136ca57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1515613791576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f4e6f7420612076616c69642064657374696e6174696f6e00000000000000000081525060200191505060405180910390fd5b600087828151811015156137a157fe5b90602001906020020151111515613846576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001807f416d6f756e7420746f2062652073656e742073686f756c64206265206772656181526020017f746572207468616e20300000000000000000000000000000000000000000000081525060400191505060405180910390fd5b613870878281518110151561385757fe5b906020019060200201518561309790919063ffffffff16565b935060018560080160008a8481518110151561388857fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb898381518110151561390d57fe5b90602001906020020151898481518110151561392557fe5b906020019060200201516040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1580156139b457600080fd5b505af11580156139c8573d6000803e3d6000fd5b505050506040513d60208110156139de57600080fd5b81019080805190602001909291905050501515613a63576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f546f6b656e207472616e73666572206661696c65642e0000000000000000000081525060200191505060405180910390fd5b808060010191505061365e565b5b5b83955050505050509392505050565b600080600080600088518a51148015613a9b57508a518a51145b1515613b0f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f522c532c56206c656e677468206d69736d617463682e0000000000000000000081525060200191505060405180910390fd5b60197f01000000000000000000000000000000000000000000000000000000000000000260007f0100000000000000000000000000000000000000000000000000000000000000023089898c60405160200180877effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168152600101867effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526001018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401848051906020019060200280838360005b83811015613c63578082015181840152602081019050613c48565b50505050905001838051906020019060200280838360005b83811015613c96578082015181840152602081019050613c7b565b50505050905001826000191660001916815260200196505050505050506040516020818303038152906040526040518082805190602001908083835b602083101515613cf75780518252602082019150602081019050602083039250613cd2565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902060405160200180807f19457468657265756d205369676e6564204d6573736167653a0a333200000000815250601c0182600019166000191681526020019150506040516020818303038152906040526040518082805190602001908083835b602083101515613da85780518252602082019150602081019050602083039250613d83565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390209250600091505b89518210156140e9576001838c84815181101515613df657fe5b906020019060200201518c85815181101515613e0e57fe5b906020019060200201518c86815181101515613e2657fe5b90602001906020020151604051600081526020016040526040518085600019166000191681526020018460ff1660ff1681526020018360001916600019168152602001826000191660001916815260200194505050505060206040516020810390808403906000865af1158015613ea1573d6000803e3d6000fd5b505050602060405103519050600080896000191660001916815260200190815260200160002060060160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515613f89576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f496e76616c6964207369676e617475726500000000000000000000000000000081525060200191505060405180910390fd5b600080896000191660001916815260200190815260200160002060070160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151515614066576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f53616d65207369676e61747572652073656e742074776963650000000000000081525060200191505060405180910390fd5b60016000808a6000191660001916815260200190815260200160002060070160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508093508180600101925050613ddc565b839450505050509695505050505050565b600080614110834261414e90919063ffffffff16565b905060008463ffffffff16146141425761413b610e108563ffffffff1661416f90919063ffffffff16565b8111614145565b60005b91505092915050565b60008083831115151561416057600080fd5b82840390508091505092915050565b600080600084141561418457600091506141a6565b828402905082848281151561419557fe5b041415156141a257600080fd5b8091505b50929150505600a165627a7a72305820b92d0aa182b7ae10953296f9afa56756daa1dbba5360ede1e6c25da28881280c0029", + "sourceMap": "460:20153:0:-;;;1653:1;1619:35;;460:20153;8:9:-1;5:2;;;30:1;27;20:12;5:2;460:20153:0;;;;;;;", + "deployedSourceMap": "460:20153:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3701:701;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7580:606;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11879:999;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11879:999:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5336:1021;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5336:1021:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1561:51;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1561:51:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6598:221;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6598:221:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8514:923;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8514:923:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1619:35;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1619:35:0;;;;;;;;;;;;;;;;;;;;;;;9554:194;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9554:194:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;9554:194:0;;;;;;;;;;;;;;;;;10346:1062;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10346:1062:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7059:194;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7059:194:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1733:55;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1733:55:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3701:701;3978:10;2076:1;2042:12;:24;2055:10;2042:24;;;;;;;;;;;;;;;;;:30;;;:35;2034:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4013:5;2409:1;2383:28;;:14;:28;;;;2375:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4043:6;2409:1;2383:28;;:14;:28;;;;2375:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4065:264;4094:5;4113:6;4133:9;4156;4179:12;4205:10;4229:9;4252:8;4274:21;4317:1;4065:15;:264::i;:::-;4372:10;4353:41;;4360:10;4353:41;;;;4384:9;4353:41;;;;;;;;;;;;;;;;;;2445:1;2109;3701:701;;;;;;;;:::o;7580:606::-;7866:14;7703:10;1906:1;1872:12;:24;1885:10;1872:24;;;;;;;;;;;;;;;;;:30;;;:35;;1851:96;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7737:10;2232:13;2197:48;;;;;;;;:12;:24;2210:10;2197:24;;;;;;;;;;;;;;;;;:31;;;;;;;;;;;;:48;;;;;;;;;2176:117;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7778:10;7790:21;2643:15;2599:59;;;;;;;;:12;:24;2612:10;2599:24;;;;;;;;;;;;;;;;;:40;;;;;;;;;;;;:59;;;;;;;;;2578:125;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7831:10;2811:12;:24;2824:10;2811:24;;;;;;;;;;;;;;;;;:30;;;;;;;;;;;;2797:44;;:10;:44;;;2776:124;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7883:9;7866:26;;7920:1;7911:6;:10;7903:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8002;8050:6;8002:12;:24;8015:10;8002:24;;;;;;;;;;;;;;;;;:30;;;:47;;:55;;;;:::i;:::-;7969:12;:24;7982:10;7969:24;;;;;;;;;;;;;;;;;:30;;:88;;;;8107:15;8067:12;:24;8080:10;8067:24;;;;;;;;;;;;;;;;;:37;;:55;;;;8160:10;8138:41;;8148:10;8138:41;;;;8172:6;8138:41;;;;;;;;;;;;;;;;;;2713:1;2303;;1957;7580:606;;;:::o;11879:999::-;12149:7;12200:1;12176:26;;:12;:26;;;12172:700;;;12290:8;12320:9;12351:12;12385:5;12412:6;12440:9;12471:4;12252:241;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;12252:241:0;;;12225:282;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;12225:282:0;;;;;;;;;;;;;;;;12218:289;;;;12172:700;12610:8;12640:9;12671:12;12705:5;12732:6;12760:9;12791:4;12817:12;12572:275;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;12572:275:0;;;12545:316;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;12545:316:0;;;;;;;;;;;;;;;;12538:323;;11879:999;;;;;;;;;;:::o;5336:1021::-;6053:20;5655:10;2076:1;2042:12;:24;2055:10;2042:24;;;;;;;;;;;;;;;;;:30;;;:35;2034:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5690:5;2409:1;2383:28;;:14;:28;;;;2375:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5720:6;2409:1;2383:28;;:14;:28;;;;2375:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5751:12;2409:1;2383:28;;:14;:28;;;;2375:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5780:262;5809:5;5828:6;5848:9;5871;5894:12;5920:10;5944:5;5963:8;5985:21;6020:12;5780:15;:262::i;:::-;6091:12;6053:51;;6136:5;:18;;;6155:10;6167:4;6173:5;6136:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6136:43:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6136:43:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6136:43:0;;;;;;;;;;;;;;;;6115:183;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6332:10;6313:37;;6320:10;6313:37;;;;6344:5;6313:37;;;;;;;;;;;;;;;;;;2445:1;;2109;5336:1021;;;;;;;;;;;:::o;1561:51::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;6598:221::-;6734:4;6761:12;:24;6774:10;6761:24;;;;;;;;;;;;;;;;;:38;;:51;6800:11;6761:51;;;;;;;;;;;;;;;;;;;;;;;;;6754:58;;6598:221;;;;:::o;8514:923::-;8799:14;8898:20;8645:10;1906:1;1872:12;:24;1885:10;1872:24;;;;;;;;;;;;;;;;;:30;;;:35;;1851:96;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8679:10;2232:13;2197:48;;;;;;;;:12;:24;2210:10;2197:24;;;;;;;;;;;;;;;;;:31;;;;;;;;;;;;:48;;;;;;;;;2176:117;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8720:10;8732:21;2643:15;2599:59;;;;;;;;:12;:24;2612:10;2599:24;;;;;;;;;;;;;;;;;:40;;;;;;;;;;;;:59;;;;;;;;;2578:125;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8773:10;2811:12;:24;2824:10;2811:24;;;;;;;;;;;;;;;;;:30;;;;;;;;;;;;2797:44;;:10;:44;;;2776:124;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8816:5;8799:22;;8849:1;8840:6;:10;8832:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8949:12;:24;8962:10;8949:24;;;;;;;;;;;;;;;;;:37;;;;;;;;;;;;8898:98;;9028:5;:18;;;9047:12;:24;9060:10;9047:24;;;;;;;;;;;;;;;;;:30;;;;;;;;;;;;9079:4;9085:5;9028:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9028:63:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9028:63:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;9028:63:0;;;;;;;;;;;;;;;;9007:202;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9253:55;9301:6;9253:12;:24;9266:10;9253:24;;;;;;;;;;;;;;;;;:30;;;:47;;:55;;;;:::i;:::-;9220:12;:24;9233:10;9220:24;;;;;;;;;;;;;;;;;:30;;:88;;;;9358:15;9318:12;:24;9331:10;9318:24;;;;;;;;;;;;;;;;;:37;;:55;;;;9411:10;9389:41;;9399:10;9389:41;;;;9423:6;9389:41;;;;;;;;;;;;;;;;;;2713:1;2303;;1957;8514:923;;;;;:::o;1619:35::-;;;;:::o;9554:194::-;9676:9;9709:18;:32;9728:12;9709:32;;;;;;;;;;;;;;;9702:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9554:194;;;:::o;10346:1062::-;10568:10;1906:1;1872:12;:24;1885:10;1872:24;;;;;;;;;;;;;;;;;:30;;;:35;;1851:96;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10602:10;2232:13;2197:48;;;;;;;;:12;:24;2210:10;2197:24;;;;;;;;;;;;;;;;;:31;;;;;;;;;;;;:48;;;;;;;;;2176:117;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10669:1;10649:12;;:19;;:21;:62;;;;;10697:7;;:14;;10674:12;;:19;;:37;10649:62;10628:133;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10772:152;10803:4;;10772:152;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10821:4;;10772:152;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10839:4;;10772:152;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10857:10;10881:12;;10772:152;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10907:7;;10772:152;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:17;:152::i;:::-;10969:15;10935:12;:24;10948:10;10935:24;;;;;;;;;;;;;;;;;:31;;;:49;;;;;;;;;;;;;;;;;;;;;;;;11108:15;11068:12;:24;11081:10;11068:24;;;;;;;;;;;;;;;;;:37;;:55;;;;11206:12;:24;11219:10;11206:24;;;;;;;;;;;;;;;;;:30;;;11154:48;11168:10;11180:12;;11154:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11194:7;;11154:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:13;:48::i;:::-;:82;11133:201;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11367:10;11358:43;;;;11379:12;;11393:7;;11358:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1957:1;10346:1062;;;;;;;;;;;;:::o;7059:194::-;7182:4;7209:12;:24;7222:10;7209:24;;;;;;;;;;;;;;;;;:30;;:37;7240:5;7209:37;;;;;;;;;;;;;;;;;;;;;;;;;7202:44;;7059:194;;;;:::o;1733:55::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;17970:2641::-;18332:6;18323:15;;:5;:15;;;;18315:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18443:1;18435:5;:9;18427:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18581:1;18569:9;:13;;;:31;;;;;18599:1;18586:9;:14;;;;18569:31;18548:140;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18982:1;18969:9;:14;;;:41;;;;19008:1;18987:23;;:9;:23;;;;18969:41;18948:160;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19154:226;19197:8;19223:9;19250:12;19280:5;19303:6;19327:9;19354:12;19154:25;:226::i;:::-;19140:240;;;:10;:240;;;;19119:345;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19502:373;;;;;;;;;19623:5;19502:373;;;;19691:15;19502:373;;;;19650:13;19502:373;;;;;;;;;;;;19810:15;19502:373;;;;;;;;;;;;19731:9;19502:373;;;;;;19768:12;19502:373;;;;;;19535:5;19502:373;;;;;;19562:6;19502:373;;;;;;19852:12;19502:373;;;;;;19593:9;19502:373;;;;;19475:12;:24;19488:10;19475:24;;;;;;;;;;;;;;;;;:400;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19929:4;19886:12;:24;19899:10;19886:24;;;;;;;;;;;;;;;;;:32;;:40;19919:6;19886:40;;;;;;;;;;;;;;;;:47;;;;;;;;;;;;;;;;;;19985:4;19943:12;:24;19956:10;19943:24;;;;;;;;;;;;;;;;;:32;;:39;19976:5;19943:39;;;;;;;;;;;;;;;;:46;;;;;;;;;;;;;;;;;;20097:12;:24;20110:10;20097:24;;;;;;;;;;;;;;;;;:32;;:43;20130:9;20097:43;;;;;;;;;;;;;;;;;;;;;;;;;20096:44;20075:137;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20384:1;20372:9;:13;;;20368:94;;;20447:4;20401:12;:24;20414:10;20401:24;;;;;;;;;;;;;;;;;:32;;:43;20434:9;20401:43;;;;;;;;;;;;;;;;:50;;;;;;;;;;;;;;;;;;20368:94;20480:16;;:18;;;;;;;;;;;;;20509;:25;20528:5;20509:25;;;;;;;;;;;;;;;20540:10;20509:42;;39:1:-1;33:3;27:10;23:18;57:10;52:3;45:23;79:10;72:17;;0:93;20509:42:0;;;;;;;;;;;;;;;;;;;;;;;;;;;20561:18;:26;20580:6;20561:26;;;;;;;;;;;;;;;20593:10;20561:43;;39:1:-1;33:3;27:10;23:18;57:10;52:3;45:23;79:10;72:17;;0:93;20561:43:0;;;;;;;;;;;;;;;;;;;;;;;;;;;17970:2641;;;;;;;;;;:::o;1272:131:2:-;1330:7;1345:9;1361:1;1357;:5;1345:17;;1381:1;1376;:6;;1368:15;;;;;;;;1397:1;1390:8;;1272:131;;;;;:::o;13152:1005:0:-;13372:21;13558:20;13396:151;13426:4;13444;13462;13480:10;13504:12;13530:7;13396:16;:151::i;:::-;13372:175;;13581:129;13612:12;:24;13625:10;13612:24;;;;;;;;;;;;;;;;;:37;;;;;;;;;;;;13663:12;:24;13676:10;13663:24;;;;;;;;;;;;;;;;;:37;;;13581:17;:129::i;:::-;13558:152;;13896:12;:24;13909:10;13896:24;;;;;;;;;;;;;;;;;:34;;;;;;;;;;;;13882:48;;:4;:11;:48;:122;;;;;13936:15;13935:16;:68;;;;13972:12;:24;13985:10;13972:24;;;;;;;;;;;;;;;;;:31;;;;;;;;;;;;13955:48;;:13;:48;;;;13935:68;13882:122;13861:289;;;14041:98;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13861:289;13152:1005;;;;;;;;:::o;14283:1522::-;14430:7;14453:21;14512:24;14618:9;15170:20;15243:9;14477:12;:24;14490:10;14477:24;;;;;;;;;;;;;;;;;14453:48;;14539:1;14512:28;;14576:21;14555:42;;;;;;;;:1;:17;;;;;;;;;;;;:42;;;;;;;;;14551:1214;;;14630:1;14618:13;;14613:477;14637:12;:19;14633:1;:23;14613:477;;;14717:1;14690:29;;:12;14703:1;14690:15;;;;;;;;;;;;;;;;;;:29;;;;:59;;;;;14723:1;:9;;:26;14733:12;14746:1;14733:15;;;;;;;;;;;;;;;;;;14723:26;;;;;;;;;;;;;;;;;;;;;;;;;14690:59;14682:95;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14816:1;14803:7;14811:1;14803:10;;;;;;;;;;;;;;;;;;:14;14795:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14902:32;14923:7;14931:1;14923:10;;;;;;;;;;;;;;;;;;14902:16;:20;;:32;;;;:::i;:::-;14883:51;;14988:4;14953:1;:15;;:32;14969:12;14982:1;14969:15;;;;;;;;;;;;;;;;;;14953:32;;;;;;;;;;;;;;;;:39;;;;;;;;;;;;;;;;;;15039:12;15052:1;15039:15;;;;;;;;;;;;;;;;;;:24;;:36;15064:7;15072:1;15064:10;;;;;;;;;;;;;;;;;;15039:36;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;15039:36:0;14658:3;;;;;;;14613:477;;;14551:1214;;;15132:21;15111:42;;;;;;;;:1;:17;;;;;;;;;;;;:42;;;;;;;;;15107:658;;;15208:1;:14;;;;;;;;;;;;15170:53;;15255:1;15243:13;;15238:517;15260:12;:19;15258:1;:21;15238:517;;;15340:1;15313:29;;:12;15326:1;15313:15;;;;;;;;;;;;;;;;;;:29;;;;:59;;;;;15346:1;:9;;:26;15356:12;15369:1;15356:15;;;;;;;;;;;;;;;;;;15346:26;;;;;;;;;;;;;;;;;;;;;;;;;15313:59;15305:95;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15439:1;15426:7;15434:1;15426:10;;;;;;;;;;;;;;;;;;:14;15418:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15525:32;15546:7;15554:1;15546:10;;;;;;;;;;;;;;;;;;15525:16;:20;;:32;;;;:::i;:::-;15506:51;;15610:4;15575:1;:15;;:32;15591:12;15604:1;15591:15;;;;;;;;;;;;;;;;;;15575:32;;;;;;;;;;;;;;;;:39;;;;;;;;;;;;;;;;;;15670:5;:14;;;15685:12;15698:1;15685:15;;;;;;;;;;;;;;;;;;15702:7;15710:1;15702:10;;;;;;;;;;;;;;;;;;15670:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;15670:43:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;15670:43:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;15670:43:0;;;;;;;;;;;;;;;;15662:78;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15281:3;;;;;;;15238:517;;;15107:658;14551:1214;15782:16;15775:23;;14283:1522;;;;;;;;;;:::o;15990:1571::-;16211:7;16372:19;16490:14;16949:6;16998:17;16271:4;:11;16256:4;:11;:26;:56;;;;;16301:4;:11;16286:4;:11;:26;16256:56;16235:126;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16694:4;16689:10;;16730:1;16725:7;;16758:4;16788:12;16826:7;16859:10;16647:244;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;16647:244:0;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;16647:244:0;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;16647:244:0;;;16616:293;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;16616:293:0;;;;;;;;;;;;;;;;16530:393;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;16530:393:0;;;16507:426;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;16507:426:0;;;;;;;;;;;;;;;;16490:443;;16958:1;16949:10;;16944:582;16965:4;:11;16961:1;:15;16944:582;;;17018:122;17045:6;17069:4;17074:1;17069:7;;;;;;;;;;;;;;;;;;17094:4;17099:1;17094:7;;;;;;;;;;;;;;;;;;17119:4;17124:1;17119:7;;;;;;;;;;;;;;;;;;17018:122;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;17018:122:0;;;;;;;;16998:142;;17180:12;:24;17193:10;17180:24;;;;;;;;;;;;;;;;;:32;;:43;17213:9;17180:43;;;;;;;;;;;;;;;;;;;;;;;;;17155:120;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17315:12;:24;17328:10;17315:24;;;;;;;;;;;;;;;;;:30;;:41;17346:9;17315:41;;;;;;;;;;;;;;;;;;;;;;;;;17314:42;17289:127;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17474:4;17430:12;:24;17443:10;17430:24;;;;;;;;;;;;;;;;;:30;;:41;17461:9;17430:41;;;;;;;;;;;;;;;;:48;;;;;;;;;;;;;;;;;;17506:9;17492:23;;16978:3;;;;;;;16944:582;;;17543:11;17536:18;;15990:1571;;;;;;;;;;;;:::o;17567:316::-;17705:4;17725:17;17745:21;17753:12;17745:3;:7;;:21;;;;:::i;:::-;17725:41;;17813:1;17797:12;:17;;;:69;;17835:31;17861:4;17843:12;17835:21;;:25;;:31;;;;:::i;:::-;17823:9;:43;17797:69;;;17817:5;17797:69;17776:100;;17567:316;;;;;:::o;1078:131:2:-;1136:7;1172:9;1164:1;1159;:6;;1151:15;;;;;;;;1188:1;1184;:5;1172:17;;1203:1;1196:8;;1078:131;;;;;:::o;204:381::-;262:7;523:9;491:1;486;:6;482:35;;;509:1;502:8;;;;482:35;539:1;535;:5;523:17;;563:1;558;554;:5;;;;;;;;:10;546:19;;;;;;;;579:1;572:8;;204:381;;;;;;:::o", + "source": "pragma solidity 0.4.24;\n\nimport \"openzeppelin-solidity/contracts/math/SafeMath.sol\";\n\nimport \"../token/ITokenContract.sol\";\n\n\n/**\n* @dev Supports ERC20 tokens\n* The escrow smart contract for the open bazaar trades in Ethereum\n* The smart contract is designed keeping in mind the current wallet interface of the OB-core\n* https://github.com/OpenBazaar/wallet-interface/blob/master/wallet.go\n* Current wallet interface strictly adheres to UTXO(bitcoin) model\n*/\ncontract Escrow_v1_0 {\n\n using SafeMath for uint256;\n\n enum Status {FUNDED, RELEASED}\n\n enum TransactionType {ETHER, TOKEN}\n\n event Executed(\n bytes32 indexed scriptHash,\n address[] destinations,\n uint256[] amounts\n );\n\n event FundAdded(\n bytes32 indexed scriptHash,\n address indexed from,\n uint256 valueAdded\n );\n\n event Funded(\n bytes32 indexed scriptHash, \n address indexed from, \n uint256 value\n );\n\n struct Transaction {\n uint256 value;\n uint256 lastModified;//Time at which transaction was last modified\n Status status;\n TransactionType transactionType;\n uint8 threshold;\n uint32 timeoutHours;\n address buyer;\n address seller;\n address tokenAddress;//Token address in case of token transfer\n address moderator;\n mapping(address=>bool) isOwner;//to keep track of owners.\n mapping(address=>bool) voted;//to keep track of who all voted\n mapping(address=>bool) beneficiaries;//Benefeciaries of execution\n }\n\n mapping(bytes32 => Transaction) public transactions;\n\n uint256 public transactionCount = 0;\n\n //Contains mapping between each party and all of their transactions\n mapping(address => bytes32[]) public partyVsTransaction;\n\n modifier transactionExist(bytes32 scriptHash) {\n require(\n transactions[scriptHash].value != 0, \"Transaction does not exist\"\n );\n _;\n }\n\n modifier transactionDoesNotExist(bytes32 scriptHash) {\n require(transactions[scriptHash].value == 0, \"Transaction exist\");\n _;\n }\n\n modifier inFundedState(bytes32 scriptHash) {\n require(\n transactions[scriptHash].status == Status.FUNDED, \"Transaction is not in FUNDED state\"\n );\n _;\n }\n\n modifier nonZeroAddress(address addressToCheck) {\n require(addressToCheck != address(0), \"Zero address passed\");\n _;\n }\n\n modifier checkTransactionType(\n bytes32 scriptHash,\n TransactionType transactionType\n )\n {\n require(\n transactions[scriptHash].transactionType == transactionType, \"Transaction type does not match\"\n );\n _;\n }\n\n modifier onlyBuyer(bytes32 scriptHash) {\n require(\n msg.sender == transactions[scriptHash].buyer, \"The initiator of the transaction is not buyer\"\n );\n _;\n }\n\n /**\n *@dev Add new transaction in the contract\n *@param buyer The buyer of the transaction\n *@param seller The seller of the listing associated with the transaction\n *@param moderator Moderator for this transaction\n *@param scriptHash keccak256 hash of the redeem script\n *@param threshold Minimum number of signatures required to released funds\n *@param timeoutHours Hours after which seller can release funds into his favour by signing transaction unilaterally\n *@param uniqueId bytes20 unique id for the transaction, generated by ETH wallet\n *Redeem Script format will be following\n \n *Pass amount of the ethers to be put in escrow\n */\n function addTransaction(\n address buyer,\n address seller,\n address moderator,\n uint8 threshold,\n uint32 timeoutHours,\n bytes32 scriptHash,\n bytes20 uniqueId\n )\n external\n payable\n transactionDoesNotExist(scriptHash)\n nonZeroAddress(buyer)\n nonZeroAddress(seller)\n {\n _addTransaction(\n buyer,\n seller,\n moderator,\n threshold,\n timeoutHours,\n scriptHash,\n msg.value,\n uniqueId,\n TransactionType.ETHER,\n address(0)\n );\n \n emit Funded(scriptHash, msg.sender, msg.value);\n\n }\n\n /**\n *@dev Add new transaction in the contract\n *@param buyer The buyer of the transaction\n *@param seller The seller of the listing associated with the transaction\n *@param moderator Moderator for this transaction\n *@param scriptHash keccak256 hash of the redeem script\n *@param threshold Minimum number of signatures required to released funds\n *@param timeoutHours Hours after which seller can release funds into his favour by signing transaction unilaterally\n *@param value Amount of tokens to be put in escrow\n *@param uniqueId bytes20 unique id for the transaction, generated by ETH wallet\n *@param tokenAddress Address of the token to be used\n *Redeem Script format will be following\n \n *approve escrow contract to spend amount of token on sender's behalf\n */\n function addTokenTransaction(\n address buyer,\n address seller,\n address moderator,\n uint8 threshold,\n uint32 timeoutHours,\n bytes32 scriptHash,\n uint256 value,\n bytes20 uniqueId,\n address tokenAddress\n )\n external\n transactionDoesNotExist(scriptHash)\n nonZeroAddress(buyer)\n nonZeroAddress(seller)\n nonZeroAddress(tokenAddress)\n {\n\n _addTransaction(\n buyer,\n seller,\n moderator,\n threshold,\n timeoutHours,\n scriptHash,\n value,\n uniqueId,\n TransactionType.TOKEN,\n tokenAddress\n );\n\n ITokenContract token = ITokenContract(tokenAddress);\n\n require(\n token.transferFrom(msg.sender, this, value),\n \"Token transfer failed, maybe you did not approve escrow contract to spend on behalf of sender\"\n );\n emit Funded(scriptHash, msg.sender, value);\n }\n\n /**\n * @dev This method will check whether given address was a beneficiary of transaction execution or not\n * @param scriptHash script hash of the transaction\n * @param beneficiary Beneficiary address to be checked\n */\n function checkBeneficiary(\n bytes32 scriptHash,\n address beneficiary\n )\n external\n view\n returns (bool)\n {\n return transactions[scriptHash].beneficiaries[beneficiary];\n }\n\n /**\n * @dev This method will check whether given party has voted or not\n * @param scriptHash script hash of the transaction\n * @param party Address of the party whose vote has to be checked\n * @return bool vote\n */\n function checkVote(\n bytes32 scriptHash,\n address party\n )\n external\n view\n returns (bool)\n {\n return transactions[scriptHash].voted[party];\n }\n\n /**\n * @dev Allows buyer of the transaction to add more funds(ether) in the transaction. \n * This will help to cater scenarios wherein initially buyer missed to fund transaction as required\n * @param scriptHash script hash of the transaction\n * Only buyer of the transaction can invoke this method\n */\n function addFundsToTransaction(\n bytes32 scriptHash\n )\n external\n payable\n transactionExist(scriptHash)\n inFundedState(scriptHash)\n checkTransactionType(scriptHash, TransactionType.ETHER)\n onlyBuyer(scriptHash)\n \n {\n uint256 _value = msg.value;\n\n require(_value > 0, \"Value must be greater than zero.\");\n\n transactions[scriptHash].value = transactions[scriptHash].value\n .add(_value);\n transactions[scriptHash].lastModified = block.timestamp;\n\n emit FundAdded(scriptHash, msg.sender, _value);\n }\n\n /**\n * @dev Allows buyer of the transaction to add more funds(Tokens) in the transaction. \n * This will help to cater scenarios wherein initially buyer missed to fund transaction as required\n * @param scriptHash script hash of the transaction\n * Only buyer of the transaction can invoke this method\n */\n function addTokensToTransaction(\n bytes32 scriptHash,\n uint256 value\n )\n external\n transactionExist(scriptHash)\n inFundedState(scriptHash)\n checkTransactionType(scriptHash, TransactionType.TOKEN)\n onlyBuyer(scriptHash)\n {\n uint256 _value = value;\n\n require(_value > 0, \"Value must be greater than zero.\");\n\n ITokenContract token = ITokenContract(\n transactions[scriptHash].tokenAddress\n );\n\n require(\n token.transferFrom(transactions[scriptHash].buyer, this, value),\n \"Token transfer failed, maybe you did not approve escrow contract to spend on behalf of buyer\"\n );\n\n transactions[scriptHash].value = transactions[scriptHash].value\n .add(_value);\n transactions[scriptHash].lastModified = block.timestamp;\n\n emit FundAdded(scriptHash, msg.sender, _value);\n }\n\n /**\n *@dev Returns all transaction ids for a party\n *@param partyAddress Address of the party\n */\n function getAllTransactionsForParty(\n address partyAddress\n ) \n external \n view \n returns (bytes32[]) \n {\n return partyVsTransaction[partyAddress];\n }\n\n /**\n *@dev This method will be used to release funds associated with the transaction\n * Please see specs https://github.com/OpenBazaar/smart-contracts/blob/master/contracts/escrow/EscrowSpec.md\n *@param sigV Array containing V component of all the signatures\n *@param sigR Array containing R component of all the signatures\n *@param signS Array containing S component of all the signatures\n *@param scriptHash script hash of the transaction\n *@param destinations List of addresses who will receive funds\n *@param amounts amount released to each destination\n */\n function execute(\n uint8[] sigV,\n bytes32[] sigR,\n bytes32[] sigS,\n bytes32 scriptHash,\n address[] destinations,\n uint256[] amounts\n )\n external\n transactionExist(scriptHash)\n inFundedState(scriptHash)\n {\n require(\n destinations.length>0 && destinations.length == amounts.length, \"Length of destinations is incorrect.\"\n );\n\n verifyTransaction(\n sigV,\n sigR,\n sigS,\n scriptHash,\n destinations,\n amounts\n );\n\n transactions[scriptHash].status = Status.RELEASED;\n //Last modified timestamp modified, which will be used by rewards\n transactions[scriptHash].lastModified = block.timestamp;\n require(\n transferFunds(scriptHash, destinations, amounts) == transactions[scriptHash].value,\n \"Total value to be released must be equal to the transaction escrow value\"\n );\n \n emit Executed(scriptHash, destinations, amounts);\n }\n\n\n /**\n *@dev Method for calculating script hash. Calculation will depend upon the type of transaction\n * ETHER Type transaction-:\n * Script Hash- keccak256(uniqueId, threshold, timeoutHours, buyer, seller, moderator)\n * TOKEN Type transaction\n * Script Hash- keccak256(uniqueId, threshold, timeoutHours, buyer, seller, moderator, tokenAddress)\n * Client can use this method to verify whether it has calculated correct script hash or not\n */\n function calculateRedeemScriptHash(\n bytes20 uniqueId,\n uint8 threshold,\n uint32 timeoutHours,\n address buyer,\n address seller,\n address moderator,\n address tokenAddress\n )\n public\n view\n returns (bytes32)\n {\n if (tokenAddress == address(0)) {\n return keccak256(\n abi.encodePacked(\n uniqueId,\n threshold,\n timeoutHours,\n buyer,\n seller,\n moderator,\n this\n )\n );\n } else {\n return keccak256(\n abi.encodePacked(\n uniqueId,\n threshold,\n timeoutHours,\n buyer,\n seller,\n moderator,\n this,\n tokenAddress\n )\n );\n }\n }\n\n /**\n * @dev This methods checks validity of transaction\n * 1. Verify Signatures\n * 2. Check if minimum number of signatures has been acquired\n * 3. If above condition is false, check if time lock is expired and the execution is signed by seller\n */\n function verifyTransaction(\n uint8[] sigV,\n bytes32[] sigR,\n bytes32[] sigS,\n bytes32 scriptHash,\n address[] destinations,\n uint256[] amounts\n )\n private\n {\n address lastRecovered = verifySignatures(\n sigV,\n sigR,\n sigS,\n scriptHash,\n destinations,\n amounts\n );\n\n bool timeLockExpired = isTimeLockExpired(\n transactions[scriptHash].timeoutHours,\n transactions[scriptHash].lastModified\n );\n\n //if Minimum number of signatures are not gathered and timelock has not expired or transaction was not signed by seller then revert\n if (\n sigV.length < transactions[scriptHash].threshold && (!timeLockExpired || lastRecovered != transactions[scriptHash].seller)\n )\n {\n revert(\"Minimum number of signatures are not collected and time lock expiry conditions not met!!\");\n }\n\n }\n\n /**\n *@dev Private method to transfer funds to the destination addresses on the basis of transaction type\n */\n function transferFunds(\n bytes32 scriptHash,\n address[]destinations,\n uint256[]amounts\n )\n private\n returns (uint256)\n {\n Transaction storage t = transactions[scriptHash];\n\n uint256 valueTransferred = 0;\n\n if (t.transactionType == TransactionType.ETHER) {\n for (uint256 i = 0; i < destinations.length; i++) {\n\n require(destinations[i] != address(0) && t.isOwner[destinations[i]], \"Not a valid destination\");\n require(amounts[i] > 0, \"Amount to be sent should be greater than 0\");\n\n valueTransferred = valueTransferred.add(amounts[i]);\n\n t.beneficiaries[destinations[i]] = true;//add receiver as beneficiary\n destinations[i].transfer(amounts[i]);\n }\n\n } else if (t.transactionType == TransactionType.TOKEN) {\n\n ITokenContract token = ITokenContract(t.tokenAddress);\n\n for (uint256 j = 0; j 0, \"Amount to be sent should be greater than 0\");\n\n valueTransferred = valueTransferred.add(amounts[j]);\n t.beneficiaries[destinations[j]] = true;//add receiver as beneficiary\n\n require(token.transfer(destinations[j], amounts[j]), \"Token transfer failed.\");\n }\n } \n return valueTransferred;\n }\n\n //to check whether the signatures are valid or not and if consensus was reached\n //returns the last address recovered, in case of timeout this must be the sender's address\n function verifySignatures(\n uint8[] sigV,\n bytes32[] sigR,\n bytes32[] sigS,\n bytes32 scriptHash,\n address[] destinations,\n uint256[]amounts\n )\n private\n returns (address)\n {\n\n require(\n sigR.length == sigS.length && sigR.length == sigV.length, \n \"R,S,V length mismatch.\"\n );\n\n address lastAddress;\n\n // Follows ERC191 signature scheme: https://github.com/ethereum/EIPs/issues/191\n bytes32 txHash = keccak256(\n abi.encodePacked(\n \"\\x19Ethereum Signed Message:\\n32\",\n keccak256(\n abi.encodePacked(\n byte(0x19),\n byte(0),\n this,\n destinations,\n amounts,\n scriptHash\n )\n )\n )\n );\n\n for (uint i = 0; i < sigR.length; i++) {\n\n address recovered = ecrecover(\n txHash,\n sigV[i],\n sigR[i],\n sigS[i]\n );\n\n require(\n transactions[scriptHash].isOwner[recovered], \n \"Invalid signature\"\n );\n require(\n !transactions[scriptHash].voted[recovered], \n \"Same signature sent twice\"\n );\n transactions[scriptHash].voted[recovered] = true;\n lastAddress = recovered;\n }\n\n return lastAddress;\n }\n\n function isTimeLockExpired(\n uint32 timeoutHours,\n uint256 lastModified\n )\n private\n view\n returns (bool)\n {\n uint256 timeSince = now.sub(lastModified);\n return (\n timeoutHours == 0 ? false:timeSince > uint256(timeoutHours).mul(3600)\n );\n }\n\n /**\n * Private method to add transaction to reduce code redundancy\n */\n function _addTransaction(\n address buyer,\n address seller,\n address moderator,\n uint8 threshold,\n uint32 timeoutHours,\n bytes32 scriptHash,\n uint256 value,\n bytes20 uniqueId,\n TransactionType transactionType,\n address tokenAddress\n )\n private\n { \n require(buyer != seller, \"Buyer and seller are same\");\n\n //value passed should be greater than 0\n require(value > 0, \"Value passed is 0\");\n\n // For now allowing 0 moderator to support 1-2 multisig wallet\n require(\n threshold > 0 && threshold <= 3, \n \"Threshold cannot be greater than 3 and must be greater than 0\"\n );\n\n //if threshold is 1 then moderator can be passed as zero address or any other address\n //(it won't matter apart from scripthash since we wont add moderator as one of the owner),\n //otherwise moderator should be a valid address\n require(\n threshold == 1 || moderator != address(0),\n \"Either threshold should be 1 or valid moderator address should be passed\"\n );\n\n require(\n scriptHash == calculateRedeemScriptHash(\n uniqueId,\n threshold,\n timeoutHours,\n buyer,\n seller,\n moderator,\n tokenAddress\n ), \n \"Calculated script hash does not match passed script hash.\"\n );\n\n transactions[scriptHash] = Transaction({\n buyer: buyer,\n seller: seller,\n moderator: moderator,\n value: value,\n status: Status.FUNDED,\n lastModified: block.timestamp,\n threshold: threshold,\n timeoutHours: timeoutHours,\n transactionType:transactionType,\n tokenAddress:tokenAddress\n });\n\n transactions[scriptHash].isOwner[seller] = true;\n transactions[scriptHash].isOwner[buyer] = true; \n\n //Check if buyer or seller are not passed as moderator\n require(\n !transactions[scriptHash].isOwner[moderator], \n \"Either buyer or seller is passed as moderator\"\n );\n\n //set moderator as one of the owners only if threshold is greater than 1 otherwise only buyer and seller should be able to release funds\n if (threshold > 1) {\n transactions[scriptHash].isOwner[moderator] = true;\n }\n \n\n transactionCount++;\n\n partyVsTransaction[buyer].push(scriptHash);\n partyVsTransaction[seller].push(scriptHash);\n }\n}\n", "sourcePath": "/home/sameep/freelancing-projects/toptal/open baazar/publicRepo/smart-contracts/contracts/escrow/Escrow_v1_0.sol", "ast": { "absolutePath": "/home/sameep/freelancing-projects/toptal/open baazar/publicRepo/smart-contracts/contracts/escrow/Escrow_v1_0.sol", @@ -561,11 +561,11 @@ { "constant": false, "id": 14, - "indexed": false, + "indexed": true, "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 22, - "src": "622:18:0", + "src": "622:26:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -592,7 +592,7 @@ "name": "destinations", "nodeType": "VariableDeclaration", "scope": 22, - "src": "650:22:0", + "src": "658:22:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -604,7 +604,7 @@ "id": 15, "name": "address", "nodeType": "ElementaryTypeName", - "src": "650:7:0", + "src": "658:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -613,7 +613,7 @@ "id": 16, "length": null, "nodeType": "ArrayTypeName", - "src": "650:9:0", + "src": "658:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", "typeString": "address[]" @@ -629,7 +629,7 @@ "name": "amounts", "nodeType": "VariableDeclaration", "scope": 22, - "src": "682:17:0", + "src": "690:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -641,7 +641,7 @@ "id": 18, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "682:7:0", + "src": "690:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -650,7 +650,7 @@ "id": 19, "length": null, "nodeType": "ArrayTypeName", - "src": "682:9:0", + "src": "690:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -660,9 +660,9 @@ "visibility": "internal" } ], - "src": "612:93:0" + "src": "612:101:0" }, - "src": "598:108:0" + "src": "598:116:0" }, { "anonymous": false, @@ -677,11 +677,11 @@ { "constant": false, "id": 24, - "indexed": false, + "indexed": true, "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 30, - "src": "737:18:0", + "src": "745:26:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -692,7 +692,7 @@ "id": 23, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "737:7:0", + "src": "745:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -708,7 +708,7 @@ "name": "from", "nodeType": "VariableDeclaration", "scope": 30, - "src": "765:20:0", + "src": "781:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -719,7 +719,7 @@ "id": 25, "name": "address", "nodeType": "ElementaryTypeName", - "src": "765:7:0", + "src": "781:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -735,7 +735,7 @@ "name": "valueAdded", "nodeType": "VariableDeclaration", "scope": 30, - "src": "795:18:0", + "src": "811:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -746,7 +746,7 @@ "id": 27, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "795:7:0", + "src": "811:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -756,9 +756,9 @@ "visibility": "internal" } ], - "src": "727:92:0" + "src": "735:100:0" }, - "src": "712:108:0" + "src": "720:116:0" }, { "anonymous": false, @@ -773,11 +773,11 @@ { "constant": false, "id": 32, - "indexed": false, + "indexed": true, "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 38, - "src": "848:18:0", + "src": "864:26:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -788,7 +788,7 @@ "id": 31, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "848:7:0", + "src": "864:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -804,7 +804,7 @@ "name": "from", "nodeType": "VariableDeclaration", "scope": 38, - "src": "877:20:0", + "src": "901:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -815,7 +815,7 @@ "id": 33, "name": "address", "nodeType": "ElementaryTypeName", - "src": "877:7:0", + "src": "901:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -831,7 +831,7 @@ "name": "value", "nodeType": "VariableDeclaration", "scope": 38, - "src": "908:13:0", + "src": "932:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -842,7 +842,7 @@ "id": 35, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "908:7:0", + "src": "932:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -852,9 +852,9 @@ "visibility": "internal" } ], - "src": "838:89:0" + "src": "854:97:0" }, - "src": "826:102:0" + "src": "842:110:0" }, { "canonicalName": "Escrow_v1_0.Transaction", @@ -866,7 +866,7 @@ "name": "value", "nodeType": "VariableDeclaration", "scope": 71, - "src": "963:13:0", + "src": "987:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -877,7 +877,7 @@ "id": 39, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "963:7:0", + "src": "987:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -892,7 +892,7 @@ "name": "lastModified", "nodeType": "VariableDeclaration", "scope": 71, - "src": "986:20:0", + "src": "1010:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -903,7 +903,7 @@ "id": 41, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "986:7:0", + "src": "1010:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -918,7 +918,7 @@ "name": "status", "nodeType": "VariableDeclaration", "scope": 71, - "src": "1061:13:0", + "src": "1085:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -931,7 +931,7 @@ "name": "Status", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 9, - "src": "1061:6:0", + "src": "1085:6:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$9", "typeString": "enum Escrow_v1_0.Status" @@ -946,7 +946,7 @@ "name": "transactionType", "nodeType": "VariableDeclaration", "scope": 71, - "src": "1084:31:0", + "src": "1108:31:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -959,7 +959,7 @@ "name": "TransactionType", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 12, - "src": "1084:15:0", + "src": "1108:15:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -974,7 +974,7 @@ "name": "threshold", "nodeType": "VariableDeclaration", "scope": 71, - "src": "1125:15:0", + "src": "1149:15:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -985,7 +985,7 @@ "id": 47, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "1125:5:0", + "src": "1149:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -1000,7 +1000,7 @@ "name": "timeoutHours", "nodeType": "VariableDeclaration", "scope": 71, - "src": "1150:19:0", + "src": "1174:19:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1011,7 +1011,7 @@ "id": 49, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "1150:6:0", + "src": "1174:6:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -1026,7 +1026,7 @@ "name": "buyer", "nodeType": "VariableDeclaration", "scope": 71, - "src": "1179:13:0", + "src": "1203:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1037,7 +1037,7 @@ "id": 51, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1179:7:0", + "src": "1203:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1052,7 +1052,7 @@ "name": "seller", "nodeType": "VariableDeclaration", "scope": 71, - "src": "1202:14:0", + "src": "1226:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1063,7 +1063,7 @@ "id": 53, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1202:7:0", + "src": "1226:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1078,7 +1078,7 @@ "name": "tokenAddress", "nodeType": "VariableDeclaration", "scope": 71, - "src": "1226:20:0", + "src": "1250:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1089,7 +1089,7 @@ "id": 55, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1226:7:0", + "src": "1250:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1104,7 +1104,7 @@ "name": "moderator", "nodeType": "VariableDeclaration", "scope": 71, - "src": "1297:17:0", + "src": "1321:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1115,7 +1115,7 @@ "id": 57, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1297:7:0", + "src": "1321:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1130,7 +1130,7 @@ "name": "isOwner", "nodeType": "VariableDeclaration", "scope": 71, - "src": "1324:30:0", + "src": "1348:30:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1143,14 +1143,14 @@ "id": 59, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1332:7:0", + "src": "1356:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "Mapping", - "src": "1324:22:0", + "src": "1348:22:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -1159,7 +1159,7 @@ "id": 60, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "1341:4:0", + "src": "1365:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1175,7 +1175,7 @@ "name": "voted", "nodeType": "VariableDeclaration", "scope": 71, - "src": "1390:28:0", + "src": "1414:28:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1188,14 +1188,14 @@ "id": 63, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1398:7:0", + "src": "1422:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "Mapping", - "src": "1390:22:0", + "src": "1414:22:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -1204,7 +1204,7 @@ "id": 64, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "1407:4:0", + "src": "1431:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1220,7 +1220,7 @@ "name": "beneficiaries", "nodeType": "VariableDeclaration", "scope": 71, - "src": "1460:36:0", + "src": "1484:36:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1233,14 +1233,14 @@ "id": 67, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1468:7:0", + "src": "1492:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "Mapping", - "src": "1460:22:0", + "src": "1484:22:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -1249,7 +1249,7 @@ "id": 68, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "1477:4:0", + "src": "1501:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1263,7 +1263,7 @@ "name": "Transaction", "nodeType": "StructDefinition", "scope": 1211, - "src": "934:597:0", + "src": "958:597:0", "visibility": "public" }, { @@ -1272,7 +1272,7 @@ "name": "transactions", "nodeType": "VariableDeclaration", "scope": 1211, - "src": "1537:51:0", + "src": "1561:51:0", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -1285,14 +1285,14 @@ "id": 72, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "1545:7:0", + "src": "1569:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "nodeType": "Mapping", - "src": "1537:31:0", + "src": "1561:31:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction)" @@ -1303,7 +1303,7 @@ "name": "Transaction", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 71, - "src": "1556:11:0", + "src": "1580:11:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction" @@ -1319,7 +1319,7 @@ "name": "transactionCount", "nodeType": "VariableDeclaration", "scope": 1211, - "src": "1595:35:0", + "src": "1619:35:0", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -1330,7 +1330,7 @@ "id": 76, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1595:7:0", + "src": "1619:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1346,7 +1346,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1629:1:0", + "src": "1653:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -1362,7 +1362,7 @@ "name": "partyVsTransaction", "nodeType": "VariableDeclaration", "scope": 1211, - "src": "1709:55:0", + "src": "1733:55:0", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -1375,14 +1375,14 @@ "id": 79, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1717:7:0", + "src": "1741:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "Mapping", - "src": "1709:29:0", + "src": "1733:29:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_bytes32_$dyn_storage_$", "typeString": "mapping(address => bytes32[])" @@ -1392,7 +1392,7 @@ "id": 80, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "1728:7:0", + "src": "1752:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -1401,7 +1401,7 @@ "id": 81, "length": null, "nodeType": "ArrayTypeName", - "src": "1728:9:0", + "src": "1752:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -1415,7 +1415,7 @@ "body": { "id": 98, "nodeType": "Block", - "src": "1817:124:0", + "src": "1841:124:0", "statements": [ { "expression": { @@ -1443,7 +1443,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "1848:12:0", + "src": "1872:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -1457,7 +1457,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 85, - "src": "1861:10:0", + "src": "1885:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -1468,7 +1468,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "1848:24:0", + "src": "1872:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -1482,7 +1482,7 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": 40, - "src": "1848:30:0", + "src": "1872:30:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1500,7 +1500,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1882:1:0", + "src": "1906:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -1508,7 +1508,7 @@ }, "value": "0" }, - "src": "1848:35:0", + "src": "1872:35:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1524,7 +1524,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "1885:28:0", + "src": "1909:28:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_cb323e46bbcca91e157c2b50ad4ce2acbe1153338b838c84372d5723b8995ef0", @@ -1552,7 +1552,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "1827:7:0", + "src": "1851:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -1566,7 +1566,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1827:96:0", + "src": "1851:96:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -1574,12 +1574,12 @@ }, "id": 96, "nodeType": "ExpressionStatement", - "src": "1827:96:0" + "src": "1851:96:0" }, { "id": 97, "nodeType": "PlaceholderStatement", - "src": "1933:1:0" + "src": "1957:1:0" } ] }, @@ -1597,7 +1597,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 99, - "src": "1797:18:0", + "src": "1821:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1608,7 +1608,7 @@ "id": 84, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "1797:7:0", + "src": "1821:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -1618,16 +1618,16 @@ "visibility": "internal" } ], - "src": "1796:20:0" + "src": "1820:20:0" }, - "src": "1771:170:0", + "src": "1795:170:0", "visibility": "internal" }, { "body": { "id": 114, "nodeType": "Block", - "src": "2000:93:0", + "src": "2024:93:0", "statements": [ { "expression": { @@ -1655,7 +1655,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "2018:12:0", + "src": "2042:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -1669,7 +1669,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 101, - "src": "2031:10:0", + "src": "2055:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -1680,7 +1680,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "2018:24:0", + "src": "2042:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -1694,7 +1694,7 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": 40, - "src": "2018:30:0", + "src": "2042:30:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1712,7 +1712,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2052:1:0", + "src": "2076:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -1720,7 +1720,7 @@ }, "value": "0" }, - "src": "2018:35:0", + "src": "2042:35:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1736,7 +1736,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "2055:19:0", + "src": "2079:19:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_4f41f109da323167d042f4559ebd6e2dc42fdbc2be1a2cea9ff6130572900782", @@ -1764,7 +1764,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "2010:7:0", + "src": "2034:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -1778,7 +1778,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2010:65:0", + "src": "2034:65:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -1786,12 +1786,12 @@ }, "id": 112, "nodeType": "ExpressionStatement", - "src": "2010:65:0" + "src": "2034:65:0" }, { "id": 113, "nodeType": "PlaceholderStatement", - "src": "2085:1:0" + "src": "2109:1:0" } ] }, @@ -1809,7 +1809,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 115, - "src": "1980:18:0", + "src": "2004:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1820,7 +1820,7 @@ "id": 100, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "1980:7:0", + "src": "2004:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -1830,16 +1830,16 @@ "visibility": "internal" } ], - "src": "1979:20:0" + "src": "2003:20:0" }, - "src": "1947:146:0", + "src": "1971:146:0", "visibility": "internal" }, { "body": { "id": 131, "nodeType": "Block", - "src": "2142:145:0", + "src": "2166:145:0", "statements": [ { "expression": { @@ -1867,7 +1867,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "2173:12:0", + "src": "2197:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -1881,7 +1881,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 117, - "src": "2186:10:0", + "src": "2210:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -1892,7 +1892,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "2173:24:0", + "src": "2197:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -1906,7 +1906,7 @@ "memberName": "status", "nodeType": "MemberAccess", "referencedDeclaration": 44, - "src": "2173:31:0", + "src": "2197:31:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$9", "typeString": "enum Escrow_v1_0.Status" @@ -1923,7 +1923,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9, - "src": "2208:6:0", + "src": "2232:6:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_Status_$9_$", "typeString": "type(enum Escrow_v1_0.Status)" @@ -1937,13 +1937,13 @@ "memberName": "FUNDED", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "2208:13:0", + "src": "2232:13:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$9", "typeString": "enum Escrow_v1_0.Status" } }, - "src": "2173:48:0", + "src": "2197:48:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1959,7 +1959,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "2223:36:0", + "src": "2247:36:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_5244efce1630cfae7257c0817c921ae75135c1043344a4cf9a1988c03337f39d", @@ -1987,7 +1987,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "2152:7:0", + "src": "2176:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -2001,7 +2001,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2152:117:0", + "src": "2176:117:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -2009,12 +2009,12 @@ }, "id": 129, "nodeType": "ExpressionStatement", - "src": "2152:117:0" + "src": "2176:117:0" }, { "id": 130, "nodeType": "PlaceholderStatement", - "src": "2279:1:0" + "src": "2303:1:0" } ] }, @@ -2032,7 +2032,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 132, - "src": "2122:18:0", + "src": "2146:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2043,7 +2043,7 @@ "id": 116, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "2122:7:0", + "src": "2146:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -2053,16 +2053,16 @@ "visibility": "internal" } ], - "src": "2121:20:0" + "src": "2145:20:0" }, - "src": "2099:188:0", + "src": "2123:188:0", "visibility": "internal" }, { "body": { "id": 146, "nodeType": "Block", - "src": "2341:88:0", + "src": "2365:88:0", "statements": [ { "expression": { @@ -2086,7 +2086,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 134, - "src": "2359:14:0", + "src": "2383:14:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2107,7 +2107,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2385:1:0", + "src": "2409:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -2129,7 +2129,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "2377:7:0", + "src": "2401:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" @@ -2144,13 +2144,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2377:10:0", + "src": "2401:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "2359:28:0", + "src": "2383:28:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -2166,7 +2166,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "2389:21:0", + "src": "2413:21:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_93e85f37f73cf8e1b855512ab7e00aab2b791117712ecb476daeb6c2c0a27a67", @@ -2194,7 +2194,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "2351:7:0", + "src": "2375:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -2208,7 +2208,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2351:60:0", + "src": "2375:60:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -2216,12 +2216,12 @@ }, "id": 144, "nodeType": "ExpressionStatement", - "src": "2351:60:0" + "src": "2375:60:0" }, { "id": 145, "nodeType": "PlaceholderStatement", - "src": "2421:1:0" + "src": "2445:1:0" } ] }, @@ -2239,7 +2239,7 @@ "name": "addressToCheck", "nodeType": "VariableDeclaration", "scope": 147, - "src": "2317:22:0", + "src": "2341:22:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2250,7 +2250,7 @@ "id": 133, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2317:7:0", + "src": "2341:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2260,16 +2260,16 @@ "visibility": "internal" } ], - "src": "2316:24:0" + "src": "2340:24:0" }, - "src": "2293:136:0", + "src": "2317:136:0", "visibility": "internal" }, { "body": { "id": 164, "nodeType": "Block", - "src": "2544:153:0", + "src": "2568:153:0", "statements": [ { "expression": { @@ -2297,7 +2297,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "2575:12:0", + "src": "2599:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -2311,7 +2311,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 149, - "src": "2588:10:0", + "src": "2612:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -2322,7 +2322,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "2575:24:0", + "src": "2599:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -2336,7 +2336,7 @@ "memberName": "transactionType", "nodeType": "MemberAccess", "referencedDeclaration": 46, - "src": "2575:40:0", + "src": "2599:40:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -2351,13 +2351,13 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 151, - "src": "2619:15:0", + "src": "2643:15:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" } }, - "src": "2575:59:0", + "src": "2599:59:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -2373,7 +2373,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "2636:33:0", + "src": "2660:33:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_c798eb33a8bd5d4c22212d5c8611219bb87da2d82aefe8e88b1f970a0f133cc3", @@ -2401,7 +2401,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "2554:7:0", + "src": "2578:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -2415,7 +2415,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2554:125:0", + "src": "2578:125:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -2423,12 +2423,12 @@ }, "id": 162, "nodeType": "ExpressionStatement", - "src": "2554:125:0" + "src": "2578:125:0" }, { "id": 163, "nodeType": "PlaceholderStatement", - "src": "2689:1:0" + "src": "2713:1:0" } ] }, @@ -2446,7 +2446,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 165, - "src": "2474:18:0", + "src": "2498:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2457,7 +2457,7 @@ "id": 148, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "2474:7:0", + "src": "2498:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -2472,7 +2472,7 @@ "name": "transactionType", "nodeType": "VariableDeclaration", "scope": 165, - "src": "2502:31:0", + "src": "2526:31:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2485,7 +2485,7 @@ "name": "TransactionType", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 12, - "src": "2502:15:0", + "src": "2526:15:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -2495,16 +2495,16 @@ "visibility": "internal" } ], - "src": "2464:75:0" + "src": "2488:75:0" }, - "src": "2435:262:0", + "src": "2459:262:0", "visibility": "internal" }, { "body": { "id": 181, "nodeType": "Block", - "src": "2742:152:0", + "src": "2766:152:0", "statements": [ { "expression": { @@ -2530,7 +2530,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1384, - "src": "2773:3:0", + "src": "2797:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -2544,7 +2544,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "2773:10:0", + "src": "2797:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2563,7 +2563,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "2787:12:0", + "src": "2811:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -2577,7 +2577,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 167, - "src": "2800:10:0", + "src": "2824:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -2588,7 +2588,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "2787:24:0", + "src": "2811:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -2602,13 +2602,13 @@ "memberName": "buyer", "nodeType": "MemberAccess", "referencedDeclaration": 52, - "src": "2787:30:0", + "src": "2811:30:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "2773:44:0", + "src": "2797:44:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -2624,7 +2624,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "2819:47:0", + "src": "2843:47:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_b4fc72d2373e6fc668b2bc10a6c84713d84de5f4dc58bb69053e1a18ae67c2f9", @@ -2652,7 +2652,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "2752:7:0", + "src": "2776:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -2666,7 +2666,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2752:124:0", + "src": "2776:124:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -2674,12 +2674,12 @@ }, "id": 179, "nodeType": "ExpressionStatement", - "src": "2752:124:0" + "src": "2776:124:0" }, { "id": 180, "nodeType": "PlaceholderStatement", - "src": "2886:1:0" + "src": "2910:1:0" } ] }, @@ -2697,7 +2697,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 182, - "src": "2722:18:0", + "src": "2746:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2708,7 +2708,7 @@ "id": 166, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "2722:7:0", + "src": "2746:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -2718,16 +2718,16 @@ "visibility": "internal" } ], - "src": "2721:20:0" + "src": "2745:20:0" }, - "src": "2703:191:0", + "src": "2727:191:0", "visibility": "internal" }, { "body": { "id": 233, "nodeType": "Block", - "src": "4031:347:0", + "src": "4055:347:0", "statements": [ { "expression": { @@ -2740,7 +2740,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 184, - "src": "4070:5:0", + "src": "4094:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2753,7 +2753,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 186, - "src": "4089:6:0", + "src": "4113:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2766,7 +2766,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 188, - "src": "4109:9:0", + "src": "4133:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2779,7 +2779,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 190, - "src": "4132:9:0", + "src": "4156:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -2792,7 +2792,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 192, - "src": "4155:12:0", + "src": "4179:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -2805,7 +2805,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 194, - "src": "4181:10:0", + "src": "4205:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -2820,7 +2820,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1384, - "src": "4205:3:0", + "src": "4229:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -2834,7 +2834,7 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "4205:9:0", + "src": "4229:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2847,7 +2847,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 196, - "src": "4228:8:0", + "src": "4252:8:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -2862,7 +2862,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12, - "src": "4250:15:0", + "src": "4274:15:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_TransactionType_$12_$", "typeString": "type(enum Escrow_v1_0.TransactionType)" @@ -2876,7 +2876,7 @@ "memberName": "ETHER", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "4250:21:0", + "src": "4274:21:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -2895,7 +2895,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "4293:1:0", + "src": "4317:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -2917,7 +2917,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "4285:7:0", + "src": "4309:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" @@ -2932,7 +2932,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4285:10:0", + "src": "4309:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2987,7 +2987,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1210, - "src": "4041:15:0", + "src": "4065:15:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_address_$_t_uint8_$_t_uint32_$_t_bytes32_$_t_uint256_$_t_bytes20_$_t_enum$_TransactionType_$12_$_t_address_$returns$__$", "typeString": "function (address,address,address,uint8,uint32,bytes32,uint256,bytes20,enum Escrow_v1_0.TransactionType,address)" @@ -3001,7 +3001,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4041:264:0", + "src": "4065:264:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -3009,7 +3009,7 @@ }, "id": 224, "nodeType": "ExpressionStatement", - "src": "4041:264:0" + "src": "4065:264:0" }, { "eventCall": { @@ -3022,7 +3022,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 194, - "src": "4336:10:0", + "src": "4360:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -3037,7 +3037,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1384, - "src": "4348:3:0", + "src": "4372:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -3051,7 +3051,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "4348:10:0", + "src": "4372:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3066,7 +3066,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1384, - "src": "4360:3:0", + "src": "4384:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -3080,7 +3080,7 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "4360:9:0", + "src": "4384:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3107,7 +3107,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 38, - "src": "4329:6:0", + "src": "4353:6:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (bytes32,address,uint256)" @@ -3121,7 +3121,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4329:41:0", + "src": "4353:41:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -3129,7 +3129,7 @@ }, "id": 232, "nodeType": "EmitStatement", - "src": "4324:46:0" + "src": "4348:46:0" } ] }, @@ -3148,7 +3148,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 194, - "src": "3954:10:0", + "src": "3978:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -3163,14 +3163,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 115, - "src": "3930:23:0", + "src": "3954:23:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "3930:35:0" + "src": "3954:35:0" }, { "arguments": [ @@ -3181,7 +3181,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 184, - "src": "3989:5:0", + "src": "4013:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3196,14 +3196,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 147, - "src": "3974:14:0", + "src": "3998:14:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_address_$", "typeString": "modifier (address)" } }, "nodeType": "ModifierInvocation", - "src": "3974:21:0" + "src": "3998:21:0" }, { "arguments": [ @@ -3214,7 +3214,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 186, - "src": "4019:6:0", + "src": "4043:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3229,14 +3229,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 147, - "src": "4004:14:0", + "src": "4028:14:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_address_$", "typeString": "modifier (address)" } }, "nodeType": "ModifierInvocation", - "src": "4004:22:0" + "src": "4028:22:0" } ], "name": "addTransaction", @@ -3251,7 +3251,7 @@ "name": "buyer", "nodeType": "VariableDeclaration", "scope": 234, - "src": "3710:13:0", + "src": "3734:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3262,7 +3262,7 @@ "id": 183, "name": "address", "nodeType": "ElementaryTypeName", - "src": "3710:7:0", + "src": "3734:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3277,7 +3277,7 @@ "name": "seller", "nodeType": "VariableDeclaration", "scope": 234, - "src": "3733:14:0", + "src": "3757:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3288,7 +3288,7 @@ "id": 185, "name": "address", "nodeType": "ElementaryTypeName", - "src": "3733:7:0", + "src": "3757:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3303,7 +3303,7 @@ "name": "moderator", "nodeType": "VariableDeclaration", "scope": 234, - "src": "3757:17:0", + "src": "3781:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3314,7 +3314,7 @@ "id": 187, "name": "address", "nodeType": "ElementaryTypeName", - "src": "3757:7:0", + "src": "3781:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3329,7 +3329,7 @@ "name": "threshold", "nodeType": "VariableDeclaration", "scope": 234, - "src": "3784:15:0", + "src": "3808:15:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3340,7 +3340,7 @@ "id": 189, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "3784:5:0", + "src": "3808:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -3355,7 +3355,7 @@ "name": "timeoutHours", "nodeType": "VariableDeclaration", "scope": 234, - "src": "3809:19:0", + "src": "3833:19:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3366,7 +3366,7 @@ "id": 191, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "3809:6:0", + "src": "3833:6:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -3381,7 +3381,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 234, - "src": "3838:18:0", + "src": "3862:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3392,7 +3392,7 @@ "id": 193, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "3838:7:0", + "src": "3862:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -3407,7 +3407,7 @@ "name": "uniqueId", "nodeType": "VariableDeclaration", "scope": 234, - "src": "3866:16:0", + "src": "3890:16:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3418,7 +3418,7 @@ "id": 195, "name": "bytes20", "nodeType": "ElementaryTypeName", - "src": "3866:7:0", + "src": "3890:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -3428,17 +3428,17 @@ "visibility": "internal" } ], - "src": "3700:188:0" + "src": "3724:188:0" }, "payable": true, "returnParameters": { "id": 207, "nodeType": "ParameterList", "parameters": [], - "src": "4031:0:0" + "src": "4055:0:0" }, "scope": 1211, - "src": "3677:701:0", + "src": "3701:701:0", "stateMutability": "payable", "superFunction": null, "visibility": "external" @@ -3447,7 +3447,7 @@ "body": { "id": 305, "nodeType": "Block", - "src": "5745:588:0", + "src": "5769:588:0", "statements": [ { "expression": { @@ -3460,7 +3460,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 236, - "src": "5785:5:0", + "src": "5809:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3473,7 +3473,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 238, - "src": "5804:6:0", + "src": "5828:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3486,7 +3486,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 240, - "src": "5824:9:0", + "src": "5848:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3499,7 +3499,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 242, - "src": "5847:9:0", + "src": "5871:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -3512,7 +3512,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 244, - "src": "5870:12:0", + "src": "5894:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -3525,7 +3525,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 246, - "src": "5896:10:0", + "src": "5920:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -3538,7 +3538,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 248, - "src": "5920:5:0", + "src": "5944:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3551,7 +3551,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 250, - "src": "5939:8:0", + "src": "5963:8:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -3566,7 +3566,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12, - "src": "5961:15:0", + "src": "5985:15:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_TransactionType_$12_$", "typeString": "type(enum Escrow_v1_0.TransactionType)" @@ -3580,7 +3580,7 @@ "memberName": "TOKEN", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "5961:21:0", + "src": "5985:21:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -3593,7 +3593,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 252, - "src": "5996:12:0", + "src": "6020:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3648,7 +3648,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1210, - "src": "5756:15:0", + "src": "5780:15:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_address_$_t_uint8_$_t_uint32_$_t_bytes32_$_t_uint256_$_t_bytes20_$_t_enum$_TransactionType_$12_$_t_address_$returns$__$", "typeString": "function (address,address,address,uint8,uint32,bytes32,uint256,bytes20,enum Escrow_v1_0.TransactionType,address)" @@ -3662,7 +3662,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5756:262:0", + "src": "5780:262:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -3670,7 +3670,7 @@ }, "id": 280, "nodeType": "ExpressionStatement", - "src": "5756:262:0" + "src": "5780:262:0" }, { "assignments": [ @@ -3683,7 +3683,7 @@ "name": "token", "nodeType": "VariableDeclaration", "scope": 306, - "src": "6029:20:0", + "src": "6053:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3696,7 +3696,7 @@ "name": "ITokenContract", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 1241, - "src": "6029:14:0", + "src": "6053:14:0", "typeDescriptions": { "typeIdentifier": "t_contract$_ITokenContract_$1241", "typeString": "contract ITokenContract" @@ -3717,7 +3717,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 252, - "src": "6067:12:0", + "src": "6091:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3736,7 +3736,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1241, - "src": "6052:14:0", + "src": "6076:14:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_ITokenContract_$1241_$", "typeString": "type(contract ITokenContract)" @@ -3750,14 +3750,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6052:28:0", + "src": "6076:28:0", "typeDescriptions": { "typeIdentifier": "t_contract$_ITokenContract_$1241", "typeString": "contract ITokenContract" } }, "nodeType": "VariableDeclarationStatement", - "src": "6029:51:0" + "src": "6053:51:0" }, { "expression": { @@ -3775,7 +3775,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1384, - "src": "6131:3:0", + "src": "6155:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -3789,7 +3789,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "6131:10:0", + "src": "6155:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3802,7 +3802,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1401, - "src": "6143:4:0", + "src": "6167:4:0", "typeDescriptions": { "typeIdentifier": "t_contract$_Escrow_v1_0_$1211", "typeString": "contract Escrow_v1_0" @@ -3815,7 +3815,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 248, - "src": "6149:5:0", + "src": "6173:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3844,7 +3844,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 282, - "src": "6112:5:0", + "src": "6136:5:0", "typeDescriptions": { "typeIdentifier": "t_contract$_ITokenContract_$1241", "typeString": "contract ITokenContract" @@ -3858,7 +3858,7 @@ "memberName": "transferFrom", "nodeType": "MemberAccess", "referencedDeclaration": 1240, - "src": "6112:18:0", + "src": "6136:18:0", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", "typeString": "function (address,address,uint256) external returns (bool)" @@ -3872,7 +3872,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6112:43:0", + "src": "6136:43:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -3888,7 +3888,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "6169:95:0", + "src": "6193:95:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_d81b627ac67759234197a5bdf4d9f7d33298e824ce7bd47e08ce9919cd96c696", @@ -3916,7 +3916,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "6091:7:0", + "src": "6115:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -3930,7 +3930,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6091:183:0", + "src": "6115:183:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -3938,7 +3938,7 @@ }, "id": 297, "nodeType": "ExpressionStatement", - "src": "6091:183:0" + "src": "6115:183:0" }, { "eventCall": { @@ -3951,7 +3951,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 246, - "src": "6296:10:0", + "src": "6320:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -3966,7 +3966,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1384, - "src": "6308:3:0", + "src": "6332:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -3980,7 +3980,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "6308:10:0", + "src": "6332:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3993,7 +3993,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 248, - "src": "6320:5:0", + "src": "6344:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4020,7 +4020,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 38, - "src": "6289:6:0", + "src": "6313:6:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (bytes32,address,uint256)" @@ -4034,7 +4034,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6289:37:0", + "src": "6313:37:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -4042,7 +4042,7 @@ }, "id": 304, "nodeType": "EmitStatement", - "src": "6284:42:0" + "src": "6308:42:0" } ] }, @@ -4061,7 +4061,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 246, - "src": "5631:10:0", + "src": "5655:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -4076,14 +4076,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 115, - "src": "5607:23:0", + "src": "5631:23:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "5607:35:0" + "src": "5631:35:0" }, { "arguments": [ @@ -4094,7 +4094,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 236, - "src": "5666:5:0", + "src": "5690:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4109,14 +4109,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 147, - "src": "5651:14:0", + "src": "5675:14:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_address_$", "typeString": "modifier (address)" } }, "nodeType": "ModifierInvocation", - "src": "5651:21:0" + "src": "5675:21:0" }, { "arguments": [ @@ -4127,7 +4127,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 238, - "src": "5696:6:0", + "src": "5720:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4142,14 +4142,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 147, - "src": "5681:14:0", + "src": "5705:14:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_address_$", "typeString": "modifier (address)" } }, "nodeType": "ModifierInvocation", - "src": "5681:22:0" + "src": "5705:22:0" }, { "arguments": [ @@ -4160,7 +4160,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 252, - "src": "5727:12:0", + "src": "5751:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4175,14 +4175,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 147, - "src": "5712:14:0", + "src": "5736:14:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_address_$", "typeString": "modifier (address)" } }, "nodeType": "ModifierInvocation", - "src": "5712:28:0" + "src": "5736:28:0" } ], "name": "addTokenTransaction", @@ -4197,7 +4197,7 @@ "name": "buyer", "nodeType": "VariableDeclaration", "scope": 306, - "src": "5350:13:0", + "src": "5374:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4208,7 +4208,7 @@ "id": 235, "name": "address", "nodeType": "ElementaryTypeName", - "src": "5350:7:0", + "src": "5374:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4223,7 +4223,7 @@ "name": "seller", "nodeType": "VariableDeclaration", "scope": 306, - "src": "5373:14:0", + "src": "5397:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4234,7 +4234,7 @@ "id": 237, "name": "address", "nodeType": "ElementaryTypeName", - "src": "5373:7:0", + "src": "5397:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4249,7 +4249,7 @@ "name": "moderator", "nodeType": "VariableDeclaration", "scope": 306, - "src": "5397:17:0", + "src": "5421:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4260,7 +4260,7 @@ "id": 239, "name": "address", "nodeType": "ElementaryTypeName", - "src": "5397:7:0", + "src": "5421:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4275,7 +4275,7 @@ "name": "threshold", "nodeType": "VariableDeclaration", "scope": 306, - "src": "5424:15:0", + "src": "5448:15:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4286,7 +4286,7 @@ "id": 241, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "5424:5:0", + "src": "5448:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -4301,7 +4301,7 @@ "name": "timeoutHours", "nodeType": "VariableDeclaration", "scope": 306, - "src": "5449:19:0", + "src": "5473:19:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4312,7 +4312,7 @@ "id": 243, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "5449:6:0", + "src": "5473:6:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -4327,7 +4327,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 306, - "src": "5478:18:0", + "src": "5502:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4338,7 +4338,7 @@ "id": 245, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "5478:7:0", + "src": "5502:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -4353,7 +4353,7 @@ "name": "value", "nodeType": "VariableDeclaration", "scope": 306, - "src": "5506:13:0", + "src": "5530:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4364,7 +4364,7 @@ "id": 247, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "5506:7:0", + "src": "5530:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4379,7 +4379,7 @@ "name": "uniqueId", "nodeType": "VariableDeclaration", "scope": 306, - "src": "5529:16:0", + "src": "5553:16:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4390,7 +4390,7 @@ "id": 249, "name": "bytes20", "nodeType": "ElementaryTypeName", - "src": "5529:7:0", + "src": "5553:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -4405,7 +4405,7 @@ "name": "tokenAddress", "nodeType": "VariableDeclaration", "scope": 306, - "src": "5555:20:0", + "src": "5579:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4416,7 +4416,7 @@ "id": 251, "name": "address", "nodeType": "ElementaryTypeName", - "src": "5555:7:0", + "src": "5579:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4426,17 +4426,17 @@ "visibility": "internal" } ], - "src": "5340:241:0" + "src": "5364:241:0" }, "payable": false, "returnParameters": { "id": 266, "nodeType": "ParameterList", "parameters": [], - "src": "5745:0:0" + "src": "5769:0:0" }, "scope": 1211, - "src": "5312:1021:0", + "src": "5336:1021:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" @@ -4445,7 +4445,7 @@ "body": { "id": 322, "nodeType": "Block", - "src": "6720:75:0", + "src": "6744:75:0", "statements": [ { "expression": { @@ -4461,7 +4461,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "6737:12:0", + "src": "6761:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -4475,7 +4475,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 308, - "src": "6750:10:0", + "src": "6774:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -4486,7 +4486,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "6737:24:0", + "src": "6761:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -4500,7 +4500,7 @@ "memberName": "beneficiaries", "nodeType": "MemberAccess", "referencedDeclaration": 70, - "src": "6737:38:0", + "src": "6761:38:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -4514,7 +4514,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 310, - "src": "6776:11:0", + "src": "6800:11:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4525,7 +4525,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "6737:51:0", + "src": "6761:51:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -4534,7 +4534,7 @@ "functionReturnParameters": 314, "id": 321, "nodeType": "Return", - "src": "6730:58:0" + "src": "6754:58:0" } ] }, @@ -4556,7 +4556,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 323, - "src": "6609:18:0", + "src": "6633:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4567,7 +4567,7 @@ "id": 307, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "6609:7:0", + "src": "6633:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -4582,7 +4582,7 @@ "name": "beneficiary", "nodeType": "VariableDeclaration", "scope": 323, - "src": "6637:19:0", + "src": "6661:19:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4593,7 +4593,7 @@ "id": 309, "name": "address", "nodeType": "ElementaryTypeName", - "src": "6637:7:0", + "src": "6661:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4603,7 +4603,7 @@ "visibility": "internal" } ], - "src": "6599:63:0" + "src": "6623:63:0" }, "payable": false, "returnParameters": { @@ -4616,7 +4616,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 323, - "src": "6710:4:0", + "src": "6734:4:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4627,7 +4627,7 @@ "id": 312, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "6710:4:0", + "src": "6734:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -4637,10 +4637,10 @@ "visibility": "internal" } ], - "src": "6709:6:0" + "src": "6733:6:0" }, "scope": 1211, - "src": "6574:221:0", + "src": "6598:221:0", "stateMutability": "view", "superFunction": null, "visibility": "external" @@ -4649,7 +4649,7 @@ "body": { "id": 339, "nodeType": "Block", - "src": "7168:61:0", + "src": "7192:61:0", "statements": [ { "expression": { @@ -4665,7 +4665,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "7185:12:0", + "src": "7209:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -4679,7 +4679,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 325, - "src": "7198:10:0", + "src": "7222:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -4690,7 +4690,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "7185:24:0", + "src": "7209:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -4704,7 +4704,7 @@ "memberName": "voted", "nodeType": "MemberAccess", "referencedDeclaration": 66, - "src": "7185:30:0", + "src": "7209:30:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -4718,7 +4718,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 327, - "src": "7216:5:0", + "src": "7240:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4729,7 +4729,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "7185:37:0", + "src": "7209:37:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -4738,7 +4738,7 @@ "functionReturnParameters": 331, "id": 338, "nodeType": "Return", - "src": "7178:44:0" + "src": "7202:44:0" } ] }, @@ -4760,7 +4760,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 340, - "src": "7063:18:0", + "src": "7087:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4771,7 +4771,7 @@ "id": 324, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "7063:7:0", + "src": "7087:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -4786,7 +4786,7 @@ "name": "party", "nodeType": "VariableDeclaration", "scope": 340, - "src": "7091:13:0", + "src": "7115:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4797,7 +4797,7 @@ "id": 326, "name": "address", "nodeType": "ElementaryTypeName", - "src": "7091:7:0", + "src": "7115:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4807,7 +4807,7 @@ "visibility": "internal" } ], - "src": "7053:57:0" + "src": "7077:57:0" }, "payable": false, "returnParameters": { @@ -4820,7 +4820,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 340, - "src": "7158:4:0", + "src": "7182:4:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4831,7 +4831,7 @@ "id": 329, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "7158:4:0", + "src": "7182:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -4841,10 +4841,10 @@ "visibility": "internal" } ], - "src": "7157:6:0" + "src": "7181:6:0" }, "scope": 1211, - "src": "7035:194:0", + "src": "7059:194:0", "stateMutability": "view", "superFunction": null, "visibility": "external" @@ -4853,7 +4853,7 @@ "body": { "id": 399, "nodeType": "Block", - "src": "7832:330:0", + "src": "7856:330:0", "statements": [ { "assignments": [ @@ -4866,7 +4866,7 @@ "name": "_value", "nodeType": "VariableDeclaration", "scope": 400, - "src": "7842:14:0", + "src": "7866:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4877,7 +4877,7 @@ "id": 359, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "7842:7:0", + "src": "7866:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4897,7 +4897,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1384, - "src": "7859:3:0", + "src": "7883:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -4911,14 +4911,14 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "7859:9:0", + "src": "7883:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "7842:26:0" + "src": "7866:26:0" }, { "expression": { @@ -4942,7 +4942,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 360, - "src": "7887:6:0", + "src": "7911:6:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4960,7 +4960,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "7896:1:0", + "src": "7920:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -4968,7 +4968,7 @@ }, "value": "0" }, - "src": "7887:10:0", + "src": "7911:10:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -4984,7 +4984,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "7899:34:0", + "src": "7923:34:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_21fbec2be6560b9ccffc4980d43c0d147770168e7aaf24999b418b9010085622", @@ -5012,7 +5012,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "7879:7:0", + "src": "7903:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -5026,7 +5026,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7879:55:0", + "src": "7903:55:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -5034,7 +5034,7 @@ }, "id": 370, "nodeType": "ExpressionStatement", - "src": "7879:55:0" + "src": "7903:55:0" }, { "expression": { @@ -5055,7 +5055,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "7945:12:0", + "src": "7969:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -5069,7 +5069,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 342, - "src": "7958:10:0", + "src": "7982:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -5080,7 +5080,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "7945:24:0", + "src": "7969:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -5094,7 +5094,7 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": 40, - "src": "7945:30:0", + "src": "7969:30:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5112,7 +5112,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 360, - "src": "8026:6:0", + "src": "8050:6:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5137,7 +5137,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "7978:12:0", + "src": "8002:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -5151,7 +5151,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 342, - "src": "7991:10:0", + "src": "8015:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -5162,7 +5162,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "7978:24:0", + "src": "8002:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -5176,7 +5176,7 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": 40, - "src": "7978:30:0", + "src": "8002:30:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5190,7 +5190,7 @@ "memberName": "add", "nodeType": "MemberAccess", "referencedDeclaration": 1348, - "src": "7978:47:0", + "src": "8002:47:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" @@ -5204,13 +5204,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7978:55:0", + "src": "8002:55:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "7945:88:0", + "src": "7969:88:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5218,7 +5218,7 @@ }, "id": 383, "nodeType": "ExpressionStatement", - "src": "7945:88:0" + "src": "7969:88:0" }, { "expression": { @@ -5239,7 +5239,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "8043:12:0", + "src": "8067:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -5253,7 +5253,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 342, - "src": "8056:10:0", + "src": "8080:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -5264,7 +5264,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "8043:24:0", + "src": "8067:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -5278,7 +5278,7 @@ "memberName": "lastModified", "nodeType": "MemberAccess", "referencedDeclaration": 42, - "src": "8043:37:0", + "src": "8067:37:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5295,7 +5295,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1374, - "src": "8083:5:0", + "src": "8107:5:0", "typeDescriptions": { "typeIdentifier": "t_magic_block", "typeString": "block" @@ -5309,13 +5309,13 @@ "memberName": "timestamp", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "8083:15:0", + "src": "8107:15:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "8043:55:0", + "src": "8067:55:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5323,7 +5323,7 @@ }, "id": 391, "nodeType": "ExpressionStatement", - "src": "8043:55:0" + "src": "8067:55:0" }, { "eventCall": { @@ -5336,7 +5336,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 342, - "src": "8124:10:0", + "src": "8148:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -5351,7 +5351,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1384, - "src": "8136:3:0", + "src": "8160:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -5365,7 +5365,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "8136:10:0", + "src": "8160:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -5378,7 +5378,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 360, - "src": "8148:6:0", + "src": "8172:6:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5405,7 +5405,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 30, - "src": "8114:9:0", + "src": "8138:9:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (bytes32,address,uint256)" @@ -5419,7 +5419,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8114:41:0", + "src": "8138:41:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -5427,7 +5427,7 @@ }, "id": 398, "nodeType": "EmitStatement", - "src": "8109:46:0" + "src": "8133:46:0" } ] }, @@ -5446,7 +5446,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 342, - "src": "7679:10:0", + "src": "7703:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -5461,14 +5461,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 99, - "src": "7662:16:0", + "src": "7686:16:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "7662:28:0" + "src": "7686:28:0" }, { "arguments": [ @@ -5479,7 +5479,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 342, - "src": "7713:10:0", + "src": "7737:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -5494,14 +5494,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 132, - "src": "7699:13:0", + "src": "7723:13:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "7699:25:0" + "src": "7723:25:0" }, { "arguments": [ @@ -5512,7 +5512,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 342, - "src": "7754:10:0", + "src": "7778:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -5527,7 +5527,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12, - "src": "7766:15:0", + "src": "7790:15:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_TransactionType_$12_$", "typeString": "type(enum Escrow_v1_0.TransactionType)" @@ -5541,7 +5541,7 @@ "memberName": "ETHER", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "7766:21:0", + "src": "7790:21:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -5556,14 +5556,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 165, - "src": "7733:20:0", + "src": "7757:20:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$_t_enum$_TransactionType_$12_$", "typeString": "modifier (bytes32,enum Escrow_v1_0.TransactionType)" } }, "nodeType": "ModifierInvocation", - "src": "7733:55:0" + "src": "7757:55:0" }, { "arguments": [ @@ -5574,7 +5574,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 342, - "src": "7807:10:0", + "src": "7831:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -5589,14 +5589,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 182, - "src": "7797:9:0", + "src": "7821:9:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "7797:21:0" + "src": "7821:21:0" } ], "name": "addFundsToTransaction", @@ -5611,7 +5611,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 400, - "src": "7596:18:0", + "src": "7620:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5622,7 +5622,7 @@ "id": 341, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "7596:7:0", + "src": "7620:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -5632,17 +5632,17 @@ "visibility": "internal" } ], - "src": "7586:34:0" + "src": "7610:34:0" }, "payable": true, "returnParameters": { "id": 358, "nodeType": "ParameterList", "parameters": [], - "src": "7832:0:0" + "src": "7856:0:0" }, "scope": 1211, - "src": "7556:606:0", + "src": "7580:606:0", "stateMutability": "payable", "superFunction": null, "visibility": "external" @@ -5651,7 +5651,7 @@ "body": { "id": 482, "nodeType": "Block", - "src": "8765:648:0", + "src": "8789:648:0", "statements": [ { "assignments": [ @@ -5664,7 +5664,7 @@ "name": "_value", "nodeType": "VariableDeclaration", "scope": 483, - "src": "8775:14:0", + "src": "8799:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5675,7 +5675,7 @@ "id": 421, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "8775:7:0", + "src": "8799:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5693,14 +5693,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 404, - "src": "8792:5:0", + "src": "8816:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "8775:22:0" + "src": "8799:22:0" }, { "expression": { @@ -5724,7 +5724,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 422, - "src": "8816:6:0", + "src": "8840:6:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5742,7 +5742,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "8825:1:0", + "src": "8849:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -5750,7 +5750,7 @@ }, "value": "0" }, - "src": "8816:10:0", + "src": "8840:10:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -5766,7 +5766,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "8828:34:0", + "src": "8852:34:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_21fbec2be6560b9ccffc4980d43c0d147770168e7aaf24999b418b9010085622", @@ -5794,7 +5794,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "8808:7:0", + "src": "8832:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -5808,7 +5808,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8808:55:0", + "src": "8832:55:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -5816,7 +5816,7 @@ }, "id": 431, "nodeType": "ExpressionStatement", - "src": "8808:55:0" + "src": "8832:55:0" }, { "assignments": [ @@ -5829,7 +5829,7 @@ "name": "token", "nodeType": "VariableDeclaration", "scope": 483, - "src": "8874:20:0", + "src": "8898:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5842,7 +5842,7 @@ "name": "ITokenContract", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 1241, - "src": "8874:14:0", + "src": "8898:14:0", "typeDescriptions": { "typeIdentifier": "t_contract$_ITokenContract_$1241", "typeString": "contract ITokenContract" @@ -5867,7 +5867,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "8925:12:0", + "src": "8949:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -5881,7 +5881,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 402, - "src": "8938:10:0", + "src": "8962:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -5892,7 +5892,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "8925:24:0", + "src": "8949:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -5906,7 +5906,7 @@ "memberName": "tokenAddress", "nodeType": "MemberAccess", "referencedDeclaration": 56, - "src": "8925:37:0", + "src": "8949:37:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -5925,7 +5925,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1241, - "src": "8897:14:0", + "src": "8921:14:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_ITokenContract_$1241_$", "typeString": "type(contract ITokenContract)" @@ -5939,14 +5939,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8897:75:0", + "src": "8921:75:0", "typeDescriptions": { "typeIdentifier": "t_contract$_ITokenContract_$1241", "typeString": "contract ITokenContract" } }, "nodeType": "VariableDeclarationStatement", - "src": "8874:98:0" + "src": "8898:98:0" }, { "expression": { @@ -5966,7 +5966,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "9023:12:0", + "src": "9047:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -5980,7 +5980,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 402, - "src": "9036:10:0", + "src": "9060:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -5991,7 +5991,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "9023:24:0", + "src": "9047:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -6005,7 +6005,7 @@ "memberName": "buyer", "nodeType": "MemberAccess", "referencedDeclaration": 52, - "src": "9023:30:0", + "src": "9047:30:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -6018,7 +6018,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1401, - "src": "9055:4:0", + "src": "9079:4:0", "typeDescriptions": { "typeIdentifier": "t_contract$_Escrow_v1_0_$1211", "typeString": "contract Escrow_v1_0" @@ -6031,7 +6031,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 404, - "src": "9061:5:0", + "src": "9085:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6060,7 +6060,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 433, - "src": "9004:5:0", + "src": "9028:5:0", "typeDescriptions": { "typeIdentifier": "t_contract$_ITokenContract_$1241", "typeString": "contract ITokenContract" @@ -6074,7 +6074,7 @@ "memberName": "transferFrom", "nodeType": "MemberAccess", "referencedDeclaration": 1240, - "src": "9004:18:0", + "src": "9028:18:0", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", "typeString": "function (address,address,uint256) external returns (bool)" @@ -6088,7 +6088,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "9004:63:0", + "src": "9028:63:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -6104,7 +6104,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "9081:94:0", + "src": "9105:94:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_d9d07068d589bc4adc53018a3c57c159ec128fdfb62732a5fa9410e76cf03318", @@ -6132,7 +6132,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "8983:7:0", + "src": "9007:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -6146,7 +6146,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8983:202:0", + "src": "9007:202:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -6154,7 +6154,7 @@ }, "id": 453, "nodeType": "ExpressionStatement", - "src": "8983:202:0" + "src": "9007:202:0" }, { "expression": { @@ -6175,7 +6175,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "9196:12:0", + "src": "9220:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -6189,7 +6189,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 402, - "src": "9209:10:0", + "src": "9233:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -6200,7 +6200,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "9196:24:0", + "src": "9220:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -6214,7 +6214,7 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": 40, - "src": "9196:30:0", + "src": "9220:30:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6232,7 +6232,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 422, - "src": "9277:6:0", + "src": "9301:6:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6257,7 +6257,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "9229:12:0", + "src": "9253:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -6271,7 +6271,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 402, - "src": "9242:10:0", + "src": "9266:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -6282,7 +6282,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "9229:24:0", + "src": "9253:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -6296,7 +6296,7 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": 40, - "src": "9229:30:0", + "src": "9253:30:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6310,7 +6310,7 @@ "memberName": "add", "nodeType": "MemberAccess", "referencedDeclaration": 1348, - "src": "9229:47:0", + "src": "9253:47:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" @@ -6324,13 +6324,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "9229:55:0", + "src": "9253:55:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "9196:88:0", + "src": "9220:88:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6338,7 +6338,7 @@ }, "id": 466, "nodeType": "ExpressionStatement", - "src": "9196:88:0" + "src": "9220:88:0" }, { "expression": { @@ -6359,7 +6359,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "9294:12:0", + "src": "9318:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -6373,7 +6373,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 402, - "src": "9307:10:0", + "src": "9331:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -6384,7 +6384,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "9294:24:0", + "src": "9318:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -6398,7 +6398,7 @@ "memberName": "lastModified", "nodeType": "MemberAccess", "referencedDeclaration": 42, - "src": "9294:37:0", + "src": "9318:37:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6415,7 +6415,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1374, - "src": "9334:5:0", + "src": "9358:5:0", "typeDescriptions": { "typeIdentifier": "t_magic_block", "typeString": "block" @@ -6429,13 +6429,13 @@ "memberName": "timestamp", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "9334:15:0", + "src": "9358:15:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "9294:55:0", + "src": "9318:55:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6443,7 +6443,7 @@ }, "id": 474, "nodeType": "ExpressionStatement", - "src": "9294:55:0" + "src": "9318:55:0" }, { "eventCall": { @@ -6456,7 +6456,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 402, - "src": "9375:10:0", + "src": "9399:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -6471,7 +6471,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1384, - "src": "9387:3:0", + "src": "9411:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -6485,7 +6485,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "9387:10:0", + "src": "9411:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -6498,7 +6498,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 422, - "src": "9399:6:0", + "src": "9423:6:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6525,7 +6525,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 30, - "src": "9365:9:0", + "src": "9389:9:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (bytes32,address,uint256)" @@ -6539,7 +6539,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "9365:41:0", + "src": "9389:41:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -6547,7 +6547,7 @@ }, "id": 481, "nodeType": "EmitStatement", - "src": "9360:46:0" + "src": "9384:46:0" } ] }, @@ -6566,7 +6566,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 402, - "src": "8621:10:0", + "src": "8645:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -6581,14 +6581,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 99, - "src": "8604:16:0", + "src": "8628:16:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "8604:28:0" + "src": "8628:28:0" }, { "arguments": [ @@ -6599,7 +6599,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 402, - "src": "8655:10:0", + "src": "8679:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -6614,14 +6614,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 132, - "src": "8641:13:0", + "src": "8665:13:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "8641:25:0" + "src": "8665:25:0" }, { "arguments": [ @@ -6632,7 +6632,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 402, - "src": "8696:10:0", + "src": "8720:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -6647,7 +6647,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12, - "src": "8708:15:0", + "src": "8732:15:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_TransactionType_$12_$", "typeString": "type(enum Escrow_v1_0.TransactionType)" @@ -6661,7 +6661,7 @@ "memberName": "TOKEN", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "8708:21:0", + "src": "8732:21:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -6676,14 +6676,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 165, - "src": "8675:20:0", + "src": "8699:20:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$_t_enum$_TransactionType_$12_$", "typeString": "modifier (bytes32,enum Escrow_v1_0.TransactionType)" } }, "nodeType": "ModifierInvocation", - "src": "8675:55:0" + "src": "8699:55:0" }, { "arguments": [ @@ -6694,7 +6694,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 402, - "src": "8749:10:0", + "src": "8773:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -6709,14 +6709,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 182, - "src": "8739:9:0", + "src": "8763:9:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "8739:21:0" + "src": "8763:21:0" } ], "name": "addTokensToTransaction", @@ -6731,7 +6731,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 483, - "src": "8531:18:0", + "src": "8555:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6742,7 +6742,7 @@ "id": 401, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "8531:7:0", + "src": "8555:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -6757,7 +6757,7 @@ "name": "value", "nodeType": "VariableDeclaration", "scope": 483, - "src": "8559:13:0", + "src": "8583:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6768,7 +6768,7 @@ "id": 403, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "8559:7:0", + "src": "8583:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6778,17 +6778,17 @@ "visibility": "internal" } ], - "src": "8521:57:0" + "src": "8545:57:0" }, "payable": false, "returnParameters": { "id": 420, "nodeType": "ParameterList", "parameters": [], - "src": "8765:0:0" + "src": "8789:0:0" }, "scope": 1211, - "src": "8490:923:0", + "src": "8514:923:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" @@ -6797,7 +6797,7 @@ "body": { "id": 495, "nodeType": "Block", - "src": "9668:56:0", + "src": "9692:56:0", "statements": [ { "expression": { @@ -6809,7 +6809,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 83, - "src": "9685:18:0", + "src": "9709:18:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_bytes32_$dyn_storage_$", "typeString": "mapping(address => bytes32[] storage ref)" @@ -6823,7 +6823,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 485, - "src": "9704:12:0", + "src": "9728:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -6834,7 +6834,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "9685:32:0", + "src": "9709:32:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage", "typeString": "bytes32[] storage ref" @@ -6843,7 +6843,7 @@ "functionReturnParameters": 490, "id": 494, "nodeType": "Return", - "src": "9678:39:0" + "src": "9702:39:0" } ] }, @@ -6865,7 +6865,7 @@ "name": "partyAddress", "nodeType": "VariableDeclaration", "scope": 496, - "src": "9575:20:0", + "src": "9599:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6876,7 +6876,7 @@ "id": 484, "name": "address", "nodeType": "ElementaryTypeName", - "src": "9575:7:0", + "src": "9599:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -6886,7 +6886,7 @@ "visibility": "internal" } ], - "src": "9565:36:0" + "src": "9589:36:0" }, "payable": false, "returnParameters": { @@ -6899,7 +6899,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 496, - "src": "9652:9:0", + "src": "9676:9:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6911,7 +6911,7 @@ "id": 487, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "9652:7:0", + "src": "9676:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -6920,7 +6920,7 @@ "id": 488, "length": null, "nodeType": "ArrayTypeName", - "src": "9652:9:0", + "src": "9676:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -6930,10 +6930,10 @@ "visibility": "internal" } ], - "src": "9651:11:0" + "src": "9675:11:0" }, "scope": 1211, - "src": "9530:194:0", + "src": "9554:194:0", "stateMutability": "view", "superFunction": null, "visibility": "external" @@ -6942,7 +6942,7 @@ "body": { "id": 581, "nodeType": "Block", - "src": "10594:790:0", + "src": "10618:790:0", "statements": [ { "expression": { @@ -6979,7 +6979,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 510, - "src": "10625:12:0", + "src": "10649:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" @@ -6993,7 +6993,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "10625:19:0", + "src": "10649:19:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7011,7 +7011,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "10645:1:0", + "src": "10669:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -7019,7 +7019,7 @@ }, "value": "0" }, - "src": "10625:21:0", + "src": "10649:21:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -7047,7 +7047,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 510, - "src": "10650:12:0", + "src": "10674:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" @@ -7061,7 +7061,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "10650:19:0", + "src": "10674:19:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7078,7 +7078,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 513, - "src": "10673:7:0", + "src": "10697:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", "typeString": "uint256[] calldata" @@ -7092,19 +7092,19 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "10673:14:0", + "src": "10697:14:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "10650:37:0", + "src": "10674:37:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "10625:62:0", + "src": "10649:62:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -7120,7 +7120,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "10689:38:0", + "src": "10713:38:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_53e979b0c355ea1eeda44a80ca73370fdb2abe922711b459aa4ee43d1558782b", @@ -7148,7 +7148,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "10604:7:0", + "src": "10628:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -7162,7 +7162,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "10604:133:0", + "src": "10628:133:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -7170,7 +7170,7 @@ }, "id": 535, "nodeType": "ExpressionStatement", - "src": "10604:133:0" + "src": "10628:133:0" }, { "expression": { @@ -7183,7 +7183,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 499, - "src": "10779:4:0", + "src": "10803:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_calldata_ptr", "typeString": "uint8[] calldata" @@ -7196,7 +7196,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 502, - "src": "10797:4:0", + "src": "10821:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", "typeString": "bytes32[] calldata" @@ -7209,7 +7209,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 505, - "src": "10815:4:0", + "src": "10839:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", "typeString": "bytes32[] calldata" @@ -7222,7 +7222,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 507, - "src": "10833:10:0", + "src": "10857:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -7235,7 +7235,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 510, - "src": "10857:12:0", + "src": "10881:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" @@ -7248,7 +7248,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 513, - "src": "10883:7:0", + "src": "10907:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", "typeString": "uint256[] calldata" @@ -7287,7 +7287,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 706, - "src": "10748:17:0", + "src": "10772:17:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_array$_t_uint8_$dyn_memory_ptr_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_bytes32_$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$__$", "typeString": "function (uint8[] memory,bytes32[] memory,bytes32[] memory,bytes32,address[] memory,uint256[] memory)" @@ -7301,7 +7301,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "10748:152:0", + "src": "10772:152:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -7309,7 +7309,7 @@ }, "id": 544, "nodeType": "ExpressionStatement", - "src": "10748:152:0" + "src": "10772:152:0" }, { "expression": { @@ -7330,7 +7330,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "10911:12:0", + "src": "10935:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -7344,7 +7344,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 507, - "src": "10924:10:0", + "src": "10948:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -7355,7 +7355,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "10911:24:0", + "src": "10935:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -7369,7 +7369,7 @@ "memberName": "status", "nodeType": "MemberAccess", "referencedDeclaration": 44, - "src": "10911:31:0", + "src": "10935:31:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$9", "typeString": "enum Escrow_v1_0.Status" @@ -7386,7 +7386,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9, - "src": "10945:6:0", + "src": "10969:6:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_Status_$9_$", "typeString": "type(enum Escrow_v1_0.Status)" @@ -7400,13 +7400,13 @@ "memberName": "RELEASED", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "10945:15:0", + "src": "10969:15:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$9", "typeString": "enum Escrow_v1_0.Status" } }, - "src": "10911:49:0", + "src": "10935:49:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$9", "typeString": "enum Escrow_v1_0.Status" @@ -7414,7 +7414,7 @@ }, "id": 552, "nodeType": "ExpressionStatement", - "src": "10911:49:0" + "src": "10935:49:0" }, { "expression": { @@ -7435,7 +7435,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "11044:12:0", + "src": "11068:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -7449,7 +7449,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 507, - "src": "11057:10:0", + "src": "11081:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -7460,7 +7460,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "11044:24:0", + "src": "11068:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -7474,7 +7474,7 @@ "memberName": "lastModified", "nodeType": "MemberAccess", "referencedDeclaration": 42, - "src": "11044:37:0", + "src": "11068:37:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7491,7 +7491,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1374, - "src": "11084:5:0", + "src": "11108:5:0", "typeDescriptions": { "typeIdentifier": "t_magic_block", "typeString": "block" @@ -7505,13 +7505,13 @@ "memberName": "timestamp", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "11084:15:0", + "src": "11108:15:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "11044:55:0", + "src": "11068:55:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7519,7 +7519,7 @@ }, "id": 560, "nodeType": "ExpressionStatement", - "src": "11044:55:0" + "src": "11068:55:0" }, { "expression": { @@ -7546,7 +7546,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 507, - "src": "11144:10:0", + "src": "11168:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -7559,7 +7559,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 510, - "src": "11156:12:0", + "src": "11180:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" @@ -7572,7 +7572,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 513, - "src": "11170:7:0", + "src": "11194:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", "typeString": "uint256[] calldata" @@ -7599,7 +7599,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 893, - "src": "11130:13:0", + "src": "11154:13:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$_t_uint256_$", "typeString": "function (bytes32,address[] memory,uint256[] memory) returns (uint256)" @@ -7613,7 +7613,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "11130:48:0", + "src": "11154:48:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7632,7 +7632,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "11182:12:0", + "src": "11206:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -7646,7 +7646,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 507, - "src": "11195:10:0", + "src": "11219:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -7657,7 +7657,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "11182:24:0", + "src": "11206:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -7671,13 +7671,13 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": 40, - "src": "11182:30:0", + "src": "11206:30:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "11130:82:0", + "src": "11154:82:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -7693,7 +7693,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "11226:74:0", + "src": "11250:74:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_9e0bdb14e2e0d5e118fd1f547268c6a1fdb5e8facacd614066d4b60bc2c9941d", @@ -7721,7 +7721,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "11109:7:0", + "src": "11133:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -7735,7 +7735,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "11109:201:0", + "src": "11133:201:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -7743,7 +7743,7 @@ }, "id": 574, "nodeType": "ExpressionStatement", - "src": "11109:201:0" + "src": "11133:201:0" }, { "eventCall": { @@ -7756,7 +7756,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 507, - "src": "11343:10:0", + "src": "11367:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -7769,7 +7769,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 510, - "src": "11355:12:0", + "src": "11379:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" @@ -7782,7 +7782,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 513, - "src": "11369:7:0", + "src": "11393:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", "typeString": "uint256[] calldata" @@ -7809,7 +7809,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 22, - "src": "11334:8:0", + "src": "11358:8:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$__$", "typeString": "function (bytes32,address[] memory,uint256[] memory)" @@ -7823,7 +7823,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "11334:43:0", + "src": "11358:43:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -7831,7 +7831,7 @@ }, "id": 580, "nodeType": "EmitStatement", - "src": "11329:48:0" + "src": "11353:48:0" } ] }, @@ -7850,7 +7850,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 507, - "src": "10544:10:0", + "src": "10568:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -7865,14 +7865,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 99, - "src": "10527:16:0", + "src": "10551:16:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "10527:28:0" + "src": "10551:28:0" }, { "arguments": [ @@ -7883,7 +7883,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 507, - "src": "10578:10:0", + "src": "10602:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -7898,14 +7898,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 132, - "src": "10564:13:0", + "src": "10588:13:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "10564:25:0" + "src": "10588:25:0" } ], "name": "execute", @@ -7920,7 +7920,7 @@ "name": "sigV", "nodeType": "VariableDeclaration", "scope": 582, - "src": "10348:12:0", + "src": "10372:12:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -7932,7 +7932,7 @@ "id": 497, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "10348:5:0", + "src": "10372:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -7941,7 +7941,7 @@ "id": 498, "length": null, "nodeType": "ArrayTypeName", - "src": "10348:7:0", + "src": "10372:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_storage_ptr", "typeString": "uint8[]" @@ -7956,7 +7956,7 @@ "name": "sigR", "nodeType": "VariableDeclaration", "scope": 582, - "src": "10370:14:0", + "src": "10394:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -7968,7 +7968,7 @@ "id": 500, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "10370:7:0", + "src": "10394:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -7977,7 +7977,7 @@ "id": 501, "length": null, "nodeType": "ArrayTypeName", - "src": "10370:9:0", + "src": "10394:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -7992,7 +7992,7 @@ "name": "sigS", "nodeType": "VariableDeclaration", "scope": 582, - "src": "10394:14:0", + "src": "10418:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8004,7 +8004,7 @@ "id": 503, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "10394:7:0", + "src": "10418:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -8013,7 +8013,7 @@ "id": 504, "length": null, "nodeType": "ArrayTypeName", - "src": "10394:9:0", + "src": "10418:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -8028,7 +8028,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 582, - "src": "10418:18:0", + "src": "10442:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8039,7 +8039,7 @@ "id": 506, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "10418:7:0", + "src": "10442:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -8054,7 +8054,7 @@ "name": "destinations", "nodeType": "VariableDeclaration", "scope": 582, - "src": "10446:22:0", + "src": "10470:22:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8066,7 +8066,7 @@ "id": 508, "name": "address", "nodeType": "ElementaryTypeName", - "src": "10446:7:0", + "src": "10470:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8075,7 +8075,7 @@ "id": 509, "length": null, "nodeType": "ArrayTypeName", - "src": "10446:9:0", + "src": "10470:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", "typeString": "address[]" @@ -8090,7 +8090,7 @@ "name": "amounts", "nodeType": "VariableDeclaration", "scope": 582, - "src": "10478:17:0", + "src": "10502:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8102,7 +8102,7 @@ "id": 511, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "10478:7:0", + "src": "10502:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8111,7 +8111,7 @@ "id": 512, "length": null, "nodeType": "ArrayTypeName", - "src": "10478:9:0", + "src": "10502:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -8121,17 +8121,17 @@ "visibility": "internal" } ], - "src": "10338:163:0" + "src": "10362:163:0" }, "payable": false, "returnParameters": { "id": 521, "nodeType": "ParameterList", "parameters": [], - "src": "10594:0:0" + "src": "10618:0:0" }, "scope": 1211, - "src": "10322:1062:0", + "src": "10346:1062:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" @@ -8140,7 +8140,7 @@ "body": { "id": 636, "nodeType": "Block", - "src": "12138:716:0", + "src": "12162:716:0", "statements": [ { "condition": { @@ -8161,7 +8161,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 596, - "src": "12152:12:0", + "src": "12176:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8182,7 +8182,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "12176:1:0", + "src": "12200:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -8204,7 +8204,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "12168:7:0", + "src": "12192:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" @@ -8219,13 +8219,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "12168:10:0", + "src": "12192:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "12152:26:0", + "src": "12176:26:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -8234,7 +8234,7 @@ "falseBody": { "id": 634, "nodeType": "Block", - "src": "12500:348:0", + "src": "12524:348:0", "statements": [ { "expression": { @@ -8250,7 +8250,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 584, - "src": "12586:8:0", + "src": "12610:8:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -8263,7 +8263,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 586, - "src": "12616:9:0", + "src": "12640:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -8276,7 +8276,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 588, - "src": "12647:12:0", + "src": "12671:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -8289,7 +8289,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 590, - "src": "12681:5:0", + "src": "12705:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8302,7 +8302,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 592, - "src": "12708:6:0", + "src": "12732:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8315,7 +8315,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 594, - "src": "12736:9:0", + "src": "12760:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8328,7 +8328,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1401, - "src": "12767:4:0", + "src": "12791:4:0", "typeDescriptions": { "typeIdentifier": "t_contract$_Escrow_v1_0_$1211", "typeString": "contract Escrow_v1_0" @@ -8341,7 +8341,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 596, - "src": "12793:12:0", + "src": "12817:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8390,7 +8390,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1371, - "src": "12548:3:0", + "src": "12572:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" @@ -8404,7 +8404,7 @@ "memberName": "encodePacked", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "12548:16:0", + "src": "12572:16:0", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" @@ -8418,7 +8418,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "12548:275:0", + "src": "12572:275:0", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -8437,7 +8437,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1378, - "src": "12521:9:0", + "src": "12545:9:0", "typeDescriptions": { "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", "typeString": "function () pure returns (bytes32)" @@ -8451,7 +8451,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "12521:316:0", + "src": "12545:316:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -8460,17 +8460,17 @@ "functionReturnParameters": 600, "id": 633, "nodeType": "Return", - "src": "12514:323:0" + "src": "12538:323:0" } ] }, "id": 635, "nodeType": "IfStatement", - "src": "12148:700:0", + "src": "12172:700:0", "trueBody": { "id": 619, "nodeType": "Block", - "src": "12180:314:0", + "src": "12204:314:0", "statements": [ { "expression": { @@ -8486,7 +8486,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 584, - "src": "12266:8:0", + "src": "12290:8:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -8499,7 +8499,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 586, - "src": "12296:9:0", + "src": "12320:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -8512,7 +8512,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 588, - "src": "12327:12:0", + "src": "12351:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -8525,7 +8525,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 590, - "src": "12361:5:0", + "src": "12385:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8538,7 +8538,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 592, - "src": "12388:6:0", + "src": "12412:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8551,7 +8551,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 594, - "src": "12416:9:0", + "src": "12440:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8564,7 +8564,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1401, - "src": "12447:4:0", + "src": "12471:4:0", "typeDescriptions": { "typeIdentifier": "t_contract$_Escrow_v1_0_$1211", "typeString": "contract Escrow_v1_0" @@ -8609,7 +8609,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1371, - "src": "12228:3:0", + "src": "12252:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" @@ -8623,7 +8623,7 @@ "memberName": "encodePacked", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "12228:16:0", + "src": "12252:16:0", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" @@ -8637,7 +8637,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "12228:241:0", + "src": "12252:241:0", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -8656,7 +8656,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1378, - "src": "12201:9:0", + "src": "12225:9:0", "typeDescriptions": { "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", "typeString": "function () pure returns (bytes32)" @@ -8670,7 +8670,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "12201:282:0", + "src": "12225:282:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -8679,7 +8679,7 @@ "functionReturnParameters": 600, "id": 618, "nodeType": "Return", - "src": "12194:289:0" + "src": "12218:289:0" } ] } @@ -8704,7 +8704,7 @@ "name": "uniqueId", "nodeType": "VariableDeclaration", "scope": 637, - "src": "11899:16:0", + "src": "11923:16:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8715,7 +8715,7 @@ "id": 583, "name": "bytes20", "nodeType": "ElementaryTypeName", - "src": "11899:7:0", + "src": "11923:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -8730,7 +8730,7 @@ "name": "threshold", "nodeType": "VariableDeclaration", "scope": 637, - "src": "11925:15:0", + "src": "11949:15:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8741,7 +8741,7 @@ "id": 585, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "11925:5:0", + "src": "11949:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -8756,7 +8756,7 @@ "name": "timeoutHours", "nodeType": "VariableDeclaration", "scope": 637, - "src": "11950:19:0", + "src": "11974:19:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8767,7 +8767,7 @@ "id": 587, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "11950:6:0", + "src": "11974:6:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -8782,7 +8782,7 @@ "name": "buyer", "nodeType": "VariableDeclaration", "scope": 637, - "src": "11979:13:0", + "src": "12003:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8793,7 +8793,7 @@ "id": 589, "name": "address", "nodeType": "ElementaryTypeName", - "src": "11979:7:0", + "src": "12003:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8808,7 +8808,7 @@ "name": "seller", "nodeType": "VariableDeclaration", "scope": 637, - "src": "12002:14:0", + "src": "12026:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8819,7 +8819,7 @@ "id": 591, "name": "address", "nodeType": "ElementaryTypeName", - "src": "12002:7:0", + "src": "12026:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8834,7 +8834,7 @@ "name": "moderator", "nodeType": "VariableDeclaration", "scope": 637, - "src": "12026:17:0", + "src": "12050:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8845,7 +8845,7 @@ "id": 593, "name": "address", "nodeType": "ElementaryTypeName", - "src": "12026:7:0", + "src": "12050:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8860,7 +8860,7 @@ "name": "tokenAddress", "nodeType": "VariableDeclaration", "scope": 637, - "src": "12053:20:0", + "src": "12077:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8871,7 +8871,7 @@ "id": 595, "name": "address", "nodeType": "ElementaryTypeName", - "src": "12053:7:0", + "src": "12077:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8881,7 +8881,7 @@ "visibility": "internal" } ], - "src": "11889:190:0" + "src": "11913:190:0" }, "payable": false, "returnParameters": { @@ -8894,7 +8894,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 637, - "src": "12125:7:0", + "src": "12149:7:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8905,7 +8905,7 @@ "id": 598, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "12125:7:0", + "src": "12149:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -8915,10 +8915,10 @@ "visibility": "internal" } ], - "src": "12124:9:0" + "src": "12148:9:0" }, "scope": 1211, - "src": "11855:999:0", + "src": "11879:999:0", "stateMutability": "view", "superFunction": null, "visibility": "public" @@ -8927,7 +8927,7 @@ "body": { "id": 705, "nodeType": "Block", - "src": "13338:795:0", + "src": "13362:795:0", "statements": [ { "assignments": [ @@ -8940,7 +8940,7 @@ "name": "lastRecovered", "nodeType": "VariableDeclaration", "scope": 706, - "src": "13348:21:0", + "src": "13372:21:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8951,7 +8951,7 @@ "id": 657, "name": "address", "nodeType": "ElementaryTypeName", - "src": "13348:7:0", + "src": "13372:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8972,7 +8972,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 640, - "src": "13402:4:0", + "src": "13426:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr", "typeString": "uint8[] memory" @@ -8985,7 +8985,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 643, - "src": "13420:4:0", + "src": "13444:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" @@ -8998,7 +8998,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 646, - "src": "13438:4:0", + "src": "13462:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" @@ -9011,7 +9011,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 648, - "src": "13456:10:0", + "src": "13480:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -9024,7 +9024,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 651, - "src": "13480:12:0", + "src": "13504:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -9037,7 +9037,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 654, - "src": "13506:7:0", + "src": "13530:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" @@ -9076,7 +9076,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1022, - "src": "13372:16:0", + "src": "13396:16:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_array$_t_uint8_$dyn_memory_ptr_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_bytes32_$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$_t_address_$", "typeString": "function (uint8[] memory,bytes32[] memory,bytes32[] memory,bytes32,address[] memory,uint256[] memory) returns (address)" @@ -9090,14 +9090,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "13372:151:0", + "src": "13396:151:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "VariableDeclarationStatement", - "src": "13348:175:0" + "src": "13372:175:0" }, { "assignments": [ @@ -9110,7 +9110,7 @@ "name": "timeLockExpired", "nodeType": "VariableDeclaration", "scope": 706, - "src": "13534:20:0", + "src": "13558:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9121,7 +9121,7 @@ "id": 668, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "13534:4:0", + "src": "13558:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -9146,7 +9146,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "13588:12:0", + "src": "13612:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -9160,7 +9160,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 648, - "src": "13601:10:0", + "src": "13625:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -9171,7 +9171,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "13588:24:0", + "src": "13612:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -9185,7 +9185,7 @@ "memberName": "timeoutHours", "nodeType": "MemberAccess", "referencedDeclaration": 50, - "src": "13588:37:0", + "src": "13612:37:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -9202,7 +9202,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "13639:12:0", + "src": "13663:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -9216,7 +9216,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 648, - "src": "13652:10:0", + "src": "13676:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -9227,7 +9227,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "13639:24:0", + "src": "13663:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -9241,7 +9241,7 @@ "memberName": "lastModified", "nodeType": "MemberAccess", "referencedDeclaration": 42, - "src": "13639:37:0", + "src": "13663:37:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9264,7 +9264,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1054, - "src": "13557:17:0", + "src": "13581:17:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_uint32_$_t_uint256_$returns$_t_bool_$", "typeString": "function (uint32,uint256) view returns (bool)" @@ -9278,14 +9278,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "13557:129:0", + "src": "13581:129:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "nodeType": "VariableDeclarationStatement", - "src": "13534:152:0" + "src": "13558:152:0" }, { "condition": { @@ -9319,7 +9319,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 640, - "src": "13858:4:0", + "src": "13882:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr", "typeString": "uint8[] memory" @@ -9333,7 +9333,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "13858:11:0", + "src": "13882:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9352,7 +9352,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "13872:12:0", + "src": "13896:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -9366,7 +9366,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 648, - "src": "13885:10:0", + "src": "13909:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -9377,7 +9377,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "13872:24:0", + "src": "13896:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -9391,13 +9391,13 @@ "memberName": "threshold", "nodeType": "MemberAccess", "referencedDeclaration": 48, - "src": "13872:34:0", + "src": "13896:34:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, - "src": "13858:48:0", + "src": "13882:48:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -9429,7 +9429,7 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "13911:16:0", + "src": "13935:16:0", "subExpression": { "argumentTypes": null, "id": 688, @@ -9437,7 +9437,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 669, - "src": "13912:15:0", + "src": "13936:15:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -9468,7 +9468,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 658, - "src": "13931:13:0", + "src": "13955:13:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -9487,7 +9487,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "13948:12:0", + "src": "13972:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -9501,7 +9501,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 648, - "src": "13961:10:0", + "src": "13985:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -9512,7 +9512,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "13948:24:0", + "src": "13972:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -9526,19 +9526,19 @@ "memberName": "seller", "nodeType": "MemberAccess", "referencedDeclaration": 54, - "src": "13948:31:0", + "src": "13972:31:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "13931:48:0", + "src": "13955:48:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "13911:68:0", + "src": "13935:68:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -9552,13 +9552,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "13910:70:0", + "src": "13934:70:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "13858:122:0", + "src": "13882:122:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -9567,11 +9567,11 @@ "falseBody": null, "id": 704, "nodeType": "IfStatement", - "src": "13837:289:0", + "src": "13861:289:0", "trueBody": { "id": 703, "nodeType": "Block", - "src": "14003:123:0", + "src": "14027:123:0", "statements": [ { "expression": { @@ -9587,7 +9587,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "14024:90:0", + "src": "14048:90:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_e454643f61f81e3a3dc8dabaafde295fea592e232abeb03abbb1835bdc3d20d0", @@ -9611,7 +9611,7 @@ 1390 ], "referencedDeclaration": 1390, - "src": "14017:6:0", + "src": "14041:6:0", "typeDescriptions": { "typeIdentifier": "t_function_revert_pure$_t_string_memory_ptr_$returns$__$", "typeString": "function (string memory) pure" @@ -9625,7 +9625,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "14017:98:0", + "src": "14041:98:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -9633,7 +9633,7 @@ }, "id": 702, "nodeType": "ExpressionStatement", - "src": "14017:98:0" + "src": "14041:98:0" } ] } @@ -9658,7 +9658,7 @@ "name": "sigV", "nodeType": "VariableDeclaration", "scope": 706, - "src": "13164:12:0", + "src": "13188:12:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9670,7 +9670,7 @@ "id": 638, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "13164:5:0", + "src": "13188:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -9679,7 +9679,7 @@ "id": 639, "length": null, "nodeType": "ArrayTypeName", - "src": "13164:7:0", + "src": "13188:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_storage_ptr", "typeString": "uint8[]" @@ -9694,7 +9694,7 @@ "name": "sigR", "nodeType": "VariableDeclaration", "scope": 706, - "src": "13186:14:0", + "src": "13210:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9706,7 +9706,7 @@ "id": 641, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "13186:7:0", + "src": "13210:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -9715,7 +9715,7 @@ "id": 642, "length": null, "nodeType": "ArrayTypeName", - "src": "13186:9:0", + "src": "13210:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -9730,7 +9730,7 @@ "name": "sigS", "nodeType": "VariableDeclaration", "scope": 706, - "src": "13210:14:0", + "src": "13234:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9742,7 +9742,7 @@ "id": 644, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "13210:7:0", + "src": "13234:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -9751,7 +9751,7 @@ "id": 645, "length": null, "nodeType": "ArrayTypeName", - "src": "13210:9:0", + "src": "13234:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -9766,7 +9766,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 706, - "src": "13234:18:0", + "src": "13258:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9777,7 +9777,7 @@ "id": 647, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "13234:7:0", + "src": "13258:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -9792,7 +9792,7 @@ "name": "destinations", "nodeType": "VariableDeclaration", "scope": 706, - "src": "13262:22:0", + "src": "13286:22:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9804,7 +9804,7 @@ "id": 649, "name": "address", "nodeType": "ElementaryTypeName", - "src": "13262:7:0", + "src": "13286:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -9813,7 +9813,7 @@ "id": 650, "length": null, "nodeType": "ArrayTypeName", - "src": "13262:9:0", + "src": "13286:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", "typeString": "address[]" @@ -9828,7 +9828,7 @@ "name": "amounts", "nodeType": "VariableDeclaration", "scope": 706, - "src": "13294:17:0", + "src": "13318:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9840,7 +9840,7 @@ "id": 652, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "13294:7:0", + "src": "13318:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9849,7 +9849,7 @@ "id": 653, "length": null, "nodeType": "ArrayTypeName", - "src": "13294:9:0", + "src": "13318:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -9859,17 +9859,17 @@ "visibility": "internal" } ], - "src": "13154:163:0" + "src": "13178:163:0" }, "payable": false, "returnParameters": { "id": 656, "nodeType": "ParameterList", "parameters": [], - "src": "13338:0:0" + "src": "13362:0:0" }, "scope": 1211, - "src": "13128:1005:0", + "src": "13152:1005:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "private" @@ -9878,7 +9878,7 @@ "body": { "id": 892, "nodeType": "Block", - "src": "14419:1362:0", + "src": "14443:1362:0", "statements": [ { "assignments": [ @@ -9891,7 +9891,7 @@ "name": "t", "nodeType": "VariableDeclaration", "scope": 893, - "src": "14429:21:0", + "src": "14453:21:0", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { @@ -9904,7 +9904,7 @@ "name": "Transaction", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 71, - "src": "14429:11:0", + "src": "14453:11:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction" @@ -9924,7 +9924,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "14453:12:0", + "src": "14477:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -9938,7 +9938,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 708, - "src": "14466:10:0", + "src": "14490:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -9949,14 +9949,14 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "14453:24:0", + "src": "14477:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "14429:48:0" + "src": "14453:48:0" }, { "assignments": [ @@ -9969,7 +9969,7 @@ "name": "valueTransferred", "nodeType": "VariableDeclaration", "scope": 893, - "src": "14488:24:0", + "src": "14512:24:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9980,7 +9980,7 @@ "id": 725, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "14488:7:0", + "src": "14512:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10001,7 +10001,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "14515:1:0", + "src": "14539:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -10010,7 +10010,7 @@ "value": "0" }, "nodeType": "VariableDeclarationStatement", - "src": "14488:28:0" + "src": "14512:28:0" }, { "condition": { @@ -10033,7 +10033,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 720, - "src": "14531:1:0", + "src": "14555:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" @@ -10047,7 +10047,7 @@ "memberName": "transactionType", "nodeType": "MemberAccess", "referencedDeclaration": 46, - "src": "14531:17:0", + "src": "14555:17:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -10064,7 +10064,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12, - "src": "14552:15:0", + "src": "14576:15:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_TransactionType_$12_$", "typeString": "type(enum Escrow_v1_0.TransactionType)" @@ -10078,13 +10078,13 @@ "memberName": "ETHER", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "14552:21:0", + "src": "14576:21:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" } }, - "src": "14531:42:0", + "src": "14555:42:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -10111,7 +10111,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 720, - "src": "15087:1:0", + "src": "15111:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" @@ -10125,7 +10125,7 @@ "memberName": "transactionType", "nodeType": "MemberAccess", "referencedDeclaration": 46, - "src": "15087:17:0", + "src": "15111:17:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -10142,7 +10142,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12, - "src": "15108:15:0", + "src": "15132:15:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_TransactionType_$12_$", "typeString": "type(enum Escrow_v1_0.TransactionType)" @@ -10156,13 +10156,13 @@ "memberName": "TOKEN", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "15108:21:0", + "src": "15132:21:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" } }, - "src": "15087:42:0", + "src": "15111:42:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -10171,11 +10171,11 @@ "falseBody": null, "id": 888, "nodeType": "IfStatement", - "src": "15083:658:0", + "src": "15107:658:0", "trueBody": { "id": 887, "nodeType": "Block", - "src": "15131:610:0", + "src": "15155:610:0", "statements": [ { "assignments": [ @@ -10188,7 +10188,7 @@ "name": "token", "nodeType": "VariableDeclaration", "scope": 893, - "src": "15146:20:0", + "src": "15170:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -10201,7 +10201,7 @@ "name": "ITokenContract", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 1241, - "src": "15146:14:0", + "src": "15170:14:0", "typeDescriptions": { "typeIdentifier": "t_contract$_ITokenContract_$1241", "typeString": "contract ITokenContract" @@ -10224,7 +10224,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 720, - "src": "15184:1:0", + "src": "15208:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" @@ -10238,7 +10238,7 @@ "memberName": "tokenAddress", "nodeType": "MemberAccess", "referencedDeclaration": 56, - "src": "15184:14:0", + "src": "15208:14:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -10257,7 +10257,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1241, - "src": "15169:14:0", + "src": "15193:14:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_ITokenContract_$1241_$", "typeString": "type(contract ITokenContract)" @@ -10271,20 +10271,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15169:30:0", + "src": "15193:30:0", "typeDescriptions": { "typeIdentifier": "t_contract$_ITokenContract_$1241", "typeString": "contract ITokenContract" } }, "nodeType": "VariableDeclarationStatement", - "src": "15146:53:0" + "src": "15170:53:0" }, { "body": { "id": 885, "nodeType": "Block", - "src": "15262:469:0", + "src": "15286:469:0", "statements": [ { "expression": { @@ -10321,7 +10321,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 711, - "src": "15289:12:0", + "src": "15313:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -10335,7 +10335,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 816, - "src": "15302:1:0", + "src": "15326:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10346,7 +10346,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15289:15:0", + "src": "15313:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -10367,7 +10367,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "15316:1:0", + "src": "15340:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -10389,7 +10389,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "15308:7:0", + "src": "15332:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" @@ -10404,13 +10404,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15308:10:0", + "src": "15332:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "15289:29:0", + "src": "15313:29:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -10429,7 +10429,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 720, - "src": "15322:1:0", + "src": "15346:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" @@ -10443,7 +10443,7 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "15322:9:0", + "src": "15346:9:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -10459,7 +10459,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 711, - "src": "15332:12:0", + "src": "15356:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -10473,7 +10473,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 816, - "src": "15345:1:0", + "src": "15369:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10484,7 +10484,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15332:15:0", + "src": "15356:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -10495,13 +10495,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15322:26:0", + "src": "15346:26:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "15289:59:0", + "src": "15313:59:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -10517,7 +10517,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "15350:25:0", + "src": "15374:25:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_4b4c116dbf18274831a2b569c567d9fd9a0e9828a6c86ee9f93e80400fb6c49f", @@ -10545,7 +10545,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "15281:7:0", + "src": "15305:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -10559,7 +10559,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15281:95:0", + "src": "15305:95:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -10567,7 +10567,7 @@ }, "id": 843, "nodeType": "ExpressionStatement", - "src": "15281:95:0" + "src": "15305:95:0" }, { "expression": { @@ -10593,7 +10593,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 714, - "src": "15402:7:0", + "src": "15426:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" @@ -10607,7 +10607,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 816, - "src": "15410:1:0", + "src": "15434:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10618,7 +10618,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15402:10:0", + "src": "15426:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10636,7 +10636,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "15415:1:0", + "src": "15439:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -10644,7 +10644,7 @@ }, "value": "0" }, - "src": "15402:14:0", + "src": "15426:14:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -10660,7 +10660,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "15418:44:0", + "src": "15442:44:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_5e1271a09dbb64ae031de288deb0ad8d707df7db51d6e827931dc8fa6642a71e", @@ -10688,7 +10688,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "15394:7:0", + "src": "15418:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -10702,7 +10702,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15394:69:0", + "src": "15418:69:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -10710,7 +10710,7 @@ }, "id": 852, "nodeType": "ExpressionStatement", - "src": "15394:69:0" + "src": "15418:69:0" }, { "expression": { @@ -10727,7 +10727,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 726, - "src": "15482:16:0", + "src": "15506:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10747,7 +10747,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 714, - "src": "15522:7:0", + "src": "15546:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" @@ -10761,7 +10761,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 816, - "src": "15530:1:0", + "src": "15554:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10772,7 +10772,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15522:10:0", + "src": "15546:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10793,7 +10793,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 726, - "src": "15501:16:0", + "src": "15525:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10807,7 +10807,7 @@ "memberName": "add", "nodeType": "MemberAccess", "referencedDeclaration": 1348, - "src": "15501:20:0", + "src": "15525:20:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" @@ -10821,13 +10821,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15501:32:0", + "src": "15525:32:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "15482:51:0", + "src": "15506:51:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10835,7 +10835,7 @@ }, "id": 861, "nodeType": "ExpressionStatement", - "src": "15482:51:0" + "src": "15506:51:0" }, { "expression": { @@ -10856,7 +10856,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 720, - "src": "15551:1:0", + "src": "15575:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" @@ -10870,7 +10870,7 @@ "memberName": "beneficiaries", "nodeType": "MemberAccess", "referencedDeclaration": 70, - "src": "15551:15:0", + "src": "15575:15:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -10886,7 +10886,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 711, - "src": "15567:12:0", + "src": "15591:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -10900,7 +10900,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 816, - "src": "15580:1:0", + "src": "15604:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10911,7 +10911,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15567:15:0", + "src": "15591:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -10922,7 +10922,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "15551:32:0", + "src": "15575:32:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -10940,7 +10940,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "15586:4:0", + "src": "15610:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -10948,7 +10948,7 @@ }, "value": "true" }, - "src": "15551:39:0", + "src": "15575:39:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -10956,7 +10956,7 @@ }, "id": 871, "nodeType": "ExpressionStatement", - "src": "15551:39:0" + "src": "15575:39:0" }, { "expression": { @@ -10974,7 +10974,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 711, - "src": "15661:12:0", + "src": "15685:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -10988,7 +10988,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 816, - "src": "15674:1:0", + "src": "15698:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10999,7 +10999,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15661:15:0", + "src": "15685:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -11014,7 +11014,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 714, - "src": "15678:7:0", + "src": "15702:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" @@ -11028,7 +11028,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 816, - "src": "15686:1:0", + "src": "15710:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11039,7 +11039,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15678:10:0", + "src": "15702:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11064,7 +11064,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 809, - "src": "15646:5:0", + "src": "15670:5:0", "typeDescriptions": { "typeIdentifier": "t_contract$_ITokenContract_$1241", "typeString": "contract ITokenContract" @@ -11078,7 +11078,7 @@ "memberName": "transfer", "nodeType": "MemberAccess", "referencedDeclaration": 1229, - "src": "15646:14:0", + "src": "15670:14:0", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", "typeString": "function (address,uint256) external returns (bool)" @@ -11092,7 +11092,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15646:43:0", + "src": "15670:43:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -11108,7 +11108,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "15691:24:0", + "src": "15715:24:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_e545223bb79d8456d66fa5a98897abb42bb4807111f004a120200da3b7e292c5", @@ -11136,7 +11136,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "15638:7:0", + "src": "15662:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -11150,7 +11150,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15638:78:0", + "src": "15662:78:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -11158,7 +11158,7 @@ }, "id": 884, "nodeType": "ExpressionStatement", - "src": "15638:78:0" + "src": "15662:78:0" } ] }, @@ -11180,7 +11180,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 816, - "src": "15234:1:0", + "src": "15258:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11197,7 +11197,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 711, - "src": "15236:12:0", + "src": "15260:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -11211,13 +11211,13 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "15236:19:0", + "src": "15260:19:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "15234:21:0", + "src": "15258:21:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -11235,7 +11235,7 @@ "name": "j", "nodeType": "VariableDeclaration", "scope": 893, - "src": "15219:9:0", + "src": "15243:9:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -11246,7 +11246,7 @@ "id": 815, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "15219:7:0", + "src": "15243:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11267,7 +11267,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "15231:1:0", + "src": "15255:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -11276,7 +11276,7 @@ "value": "0" }, "nodeType": "VariableDeclarationStatement", - "src": "15219:13:0" + "src": "15243:13:0" }, "loopExpression": { "expression": { @@ -11289,7 +11289,7 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "15257:3:0", + "src": "15281:3:0", "subExpression": { "argumentTypes": null, "id": 823, @@ -11297,7 +11297,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 816, - "src": "15257:1:0", + "src": "15281:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11310,27 +11310,27 @@ }, "id": 825, "nodeType": "ExpressionStatement", - "src": "15257:3:0" + "src": "15281:3:0" }, "nodeType": "ForStatement", - "src": "15214:517:0" + "src": "15238:517:0" } ] } }, "id": 889, "nodeType": "IfStatement", - "src": "14527:1214:0", + "src": "14551:1214:0", "trueBody": { "id": 802, "nodeType": "Block", - "src": "14575:502:0", + "src": "14599:502:0", "statements": [ { "body": { "id": 800, "nodeType": "Block", - "src": "14639:427:0", + "src": "14663:427:0", "statements": [ { "expression": { @@ -11367,7 +11367,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 711, - "src": "14666:12:0", + "src": "14690:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -11381,7 +11381,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 735, - "src": "14679:1:0", + "src": "14703:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11392,7 +11392,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "14666:15:0", + "src": "14690:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -11413,7 +11413,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "14693:1:0", + "src": "14717:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -11435,7 +11435,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "14685:7:0", + "src": "14709:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" @@ -11450,13 +11450,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "14685:10:0", + "src": "14709:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "14666:29:0", + "src": "14690:29:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -11475,7 +11475,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 720, - "src": "14699:1:0", + "src": "14723:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" @@ -11489,7 +11489,7 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "14699:9:0", + "src": "14723:9:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -11505,7 +11505,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 711, - "src": "14709:12:0", + "src": "14733:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -11519,7 +11519,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 735, - "src": "14722:1:0", + "src": "14746:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11530,7 +11530,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "14709:15:0", + "src": "14733:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -11541,13 +11541,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "14699:26:0", + "src": "14723:26:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "14666:59:0", + "src": "14690:59:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -11563,7 +11563,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "14727:25:0", + "src": "14751:25:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_4b4c116dbf18274831a2b569c567d9fd9a0e9828a6c86ee9f93e80400fb6c49f", @@ -11591,7 +11591,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "14658:7:0", + "src": "14682:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -11605,7 +11605,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "14658:95:0", + "src": "14682:95:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -11613,7 +11613,7 @@ }, "id": 762, "nodeType": "ExpressionStatement", - "src": "14658:95:0" + "src": "14682:95:0" }, { "expression": { @@ -11639,7 +11639,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 714, - "src": "14779:7:0", + "src": "14803:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" @@ -11653,7 +11653,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 735, - "src": "14787:1:0", + "src": "14811:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11664,7 +11664,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "14779:10:0", + "src": "14803:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11682,7 +11682,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "14792:1:0", + "src": "14816:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -11690,7 +11690,7 @@ }, "value": "0" }, - "src": "14779:14:0", + "src": "14803:14:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -11706,7 +11706,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "14795:44:0", + "src": "14819:44:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_5e1271a09dbb64ae031de288deb0ad8d707df7db51d6e827931dc8fa6642a71e", @@ -11734,7 +11734,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "14771:7:0", + "src": "14795:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -11748,7 +11748,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "14771:69:0", + "src": "14795:69:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -11756,7 +11756,7 @@ }, "id": 771, "nodeType": "ExpressionStatement", - "src": "14771:69:0" + "src": "14795:69:0" }, { "expression": { @@ -11773,7 +11773,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 726, - "src": "14859:16:0", + "src": "14883:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11793,7 +11793,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 714, - "src": "14899:7:0", + "src": "14923:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" @@ -11807,7 +11807,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 735, - "src": "14907:1:0", + "src": "14931:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11818,7 +11818,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "14899:10:0", + "src": "14923:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11839,7 +11839,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 726, - "src": "14878:16:0", + "src": "14902:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11853,7 +11853,7 @@ "memberName": "add", "nodeType": "MemberAccess", "referencedDeclaration": 1348, - "src": "14878:20:0", + "src": "14902:20:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" @@ -11867,13 +11867,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "14878:32:0", + "src": "14902:32:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "14859:51:0", + "src": "14883:51:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11881,7 +11881,7 @@ }, "id": 780, "nodeType": "ExpressionStatement", - "src": "14859:51:0" + "src": "14883:51:0" }, { "expression": { @@ -11902,7 +11902,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 720, - "src": "14929:1:0", + "src": "14953:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" @@ -11916,7 +11916,7 @@ "memberName": "beneficiaries", "nodeType": "MemberAccess", "referencedDeclaration": 70, - "src": "14929:15:0", + "src": "14953:15:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -11932,7 +11932,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 711, - "src": "14945:12:0", + "src": "14969:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -11946,7 +11946,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 735, - "src": "14958:1:0", + "src": "14982:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11957,7 +11957,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "14945:15:0", + "src": "14969:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -11968,7 +11968,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "14929:32:0", + "src": "14953:32:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -11986,7 +11986,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "14964:4:0", + "src": "14988:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -11994,7 +11994,7 @@ }, "value": "true" }, - "src": "14929:39:0", + "src": "14953:39:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -12002,7 +12002,7 @@ }, "id": 790, "nodeType": "ExpressionStatement", - "src": "14929:39:0" + "src": "14953:39:0" }, { "expression": { @@ -12017,7 +12017,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 714, - "src": "15040:7:0", + "src": "15064:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" @@ -12031,7 +12031,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 735, - "src": "15048:1:0", + "src": "15072:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12042,7 +12042,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15040:10:0", + "src": "15064:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12065,7 +12065,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 711, - "src": "15015:12:0", + "src": "15039:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -12079,7 +12079,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 735, - "src": "15028:1:0", + "src": "15052:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12090,7 +12090,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15015:15:0", + "src": "15039:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -12104,7 +12104,7 @@ "memberName": "transfer", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "15015:24:0", + "src": "15039:24:0", "typeDescriptions": { "typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$", "typeString": "function (uint256)" @@ -12118,7 +12118,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15015:36:0", + "src": "15039:36:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -12126,7 +12126,7 @@ }, "id": 799, "nodeType": "ExpressionStatement", - "src": "15015:36:0" + "src": "15039:36:0" } ] }, @@ -12148,7 +12148,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 735, - "src": "14609:1:0", + "src": "14633:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12165,7 +12165,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 711, - "src": "14613:12:0", + "src": "14637:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -12179,13 +12179,13 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "14613:19:0", + "src": "14637:19:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "14609:23:0", + "src": "14633:23:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -12203,7 +12203,7 @@ "name": "i", "nodeType": "VariableDeclaration", "scope": 893, - "src": "14594:9:0", + "src": "14618:9:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12214,7 +12214,7 @@ "id": 734, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "14594:7:0", + "src": "14618:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12235,7 +12235,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "14606:1:0", + "src": "14630:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -12244,7 +12244,7 @@ "value": "0" }, "nodeType": "VariableDeclarationStatement", - "src": "14594:13:0" + "src": "14618:13:0" }, "loopExpression": { "expression": { @@ -12257,7 +12257,7 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "14634:3:0", + "src": "14658:3:0", "subExpression": { "argumentTypes": null, "id": 742, @@ -12265,7 +12265,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 735, - "src": "14634:1:0", + "src": "14658:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12278,10 +12278,10 @@ }, "id": 744, "nodeType": "ExpressionStatement", - "src": "14634:3:0" + "src": "14658:3:0" }, "nodeType": "ForStatement", - "src": "14589:477:0" + "src": "14613:477:0" } ] } @@ -12294,7 +12294,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 726, - "src": "15758:16:0", + "src": "15782:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12303,7 +12303,7 @@ "functionReturnParameters": 718, "id": 891, "nodeType": "Return", - "src": "15751:23:0" + "src": "15775:23:0" } ] }, @@ -12325,7 +12325,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 893, - "src": "14291:18:0", + "src": "14315:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12336,7 +12336,7 @@ "id": 707, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "14291:7:0", + "src": "14315:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -12351,7 +12351,7 @@ "name": "destinations", "nodeType": "VariableDeclaration", "scope": 893, - "src": "14319:21:0", + "src": "14343:21:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12363,7 +12363,7 @@ "id": 709, "name": "address", "nodeType": "ElementaryTypeName", - "src": "14319:7:0", + "src": "14343:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -12372,7 +12372,7 @@ "id": 710, "length": null, "nodeType": "ArrayTypeName", - "src": "14319:9:0", + "src": "14343:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", "typeString": "address[]" @@ -12387,7 +12387,7 @@ "name": "amounts", "nodeType": "VariableDeclaration", "scope": 893, - "src": "14350:16:0", + "src": "14374:16:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12399,7 +12399,7 @@ "id": 712, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "14350:7:0", + "src": "14374:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12408,7 +12408,7 @@ "id": 713, "length": null, "nodeType": "ArrayTypeName", - "src": "14350:9:0", + "src": "14374:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -12418,7 +12418,7 @@ "visibility": "internal" } ], - "src": "14281:91:0" + "src": "14305:91:0" }, "payable": false, "returnParameters": { @@ -12431,7 +12431,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 893, - "src": "14406:7:0", + "src": "14430:7:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12442,7 +12442,7 @@ "id": 716, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "14406:7:0", + "src": "14430:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12452,10 +12452,10 @@ "visibility": "internal" } ], - "src": "14405:9:0" + "src": "14429:9:0" }, "scope": 1211, - "src": "14259:1522:0", + "src": "14283:1522:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "private" @@ -12464,7 +12464,7 @@ "body": { "id": 1021, "nodeType": "Block", - "src": "16200:1337:0", + "src": "16224:1337:0", "statements": [ { "expression": { @@ -12501,7 +12501,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 899, - "src": "16232:4:0", + "src": "16256:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" @@ -12515,7 +12515,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "16232:11:0", + "src": "16256:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12532,7 +12532,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 902, - "src": "16247:4:0", + "src": "16271:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" @@ -12546,13 +12546,13 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "16247:11:0", + "src": "16271:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "16232:26:0", + "src": "16256:26:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -12580,7 +12580,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 899, - "src": "16262:4:0", + "src": "16286:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" @@ -12594,7 +12594,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "16262:11:0", + "src": "16286:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12611,7 +12611,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 896, - "src": "16277:4:0", + "src": "16301:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr", "typeString": "uint8[] memory" @@ -12625,19 +12625,19 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "16277:11:0", + "src": "16301:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "16262:26:0", + "src": "16286:26:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "16232:56:0", + "src": "16256:56:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -12653,7 +12653,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "16303:24:0", + "src": "16327:24:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_f85073c8befb65baed58ca1ee563e5da0bdbdce8abd4d29ef22a8329c7c97506", @@ -12681,7 +12681,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "16211:7:0", + "src": "16235:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -12695,7 +12695,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16211:126:0", + "src": "16235:126:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -12703,7 +12703,7 @@ }, "id": 929, "nodeType": "ExpressionStatement", - "src": "16211:126:0" + "src": "16235:126:0" }, { "assignments": [], @@ -12714,7 +12714,7 @@ "name": "lastAddress", "nodeType": "VariableDeclaration", "scope": 1022, - "src": "16348:19:0", + "src": "16372:19:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12725,7 +12725,7 @@ "id": 930, "name": "address", "nodeType": "ElementaryTypeName", - "src": "16348:7:0", + "src": "16372:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -12738,7 +12738,7 @@ "id": 932, "initialValue": null, "nodeType": "VariableDeclarationStatement", - "src": "16348:19:0" + "src": "16372:19:0" }, { "assignments": [ @@ -12751,7 +12751,7 @@ "name": "txHash", "nodeType": "VariableDeclaration", "scope": 1022, - "src": "16466:14:0", + "src": "16490:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12762,7 +12762,7 @@ "id": 933, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "16466:7:0", + "src": "16490:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -12789,7 +12789,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "16540:34:0", + "src": "16564:34:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_178a2411ab6fbc1ba11064408972259c558d0e82fd48b0aba3ad81d14f065e73", @@ -12816,7 +12816,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "16670:4:0", + "src": "16694:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_25_by_1", @@ -12838,7 +12838,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "16665:4:0", + "src": "16689:4:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes1_$", "typeString": "type(bytes1)" @@ -12853,7 +12853,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16665:10:0", + "src": "16689:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes1", "typeString": "bytes1" @@ -12872,7 +12872,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "16706:1:0", + "src": "16730:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -12894,7 +12894,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "16701:4:0", + "src": "16725:4:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes1_$", "typeString": "type(bytes1)" @@ -12909,7 +12909,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16701:7:0", + "src": "16725:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes1", "typeString": "bytes1" @@ -12922,7 +12922,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1401, - "src": "16734:4:0", + "src": "16758:4:0", "typeDescriptions": { "typeIdentifier": "t_contract$_Escrow_v1_0_$1211", "typeString": "contract Escrow_v1_0" @@ -12935,7 +12935,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 907, - "src": "16764:12:0", + "src": "16788:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -12948,7 +12948,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 910, - "src": "16802:7:0", + "src": "16826:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" @@ -12961,7 +12961,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 904, - "src": "16835:10:0", + "src": "16859:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -13002,7 +13002,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1371, - "src": "16623:3:0", + "src": "16647:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" @@ -13016,7 +13016,7 @@ "memberName": "encodePacked", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "16623:16:0", + "src": "16647:16:0", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" @@ -13030,7 +13030,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16623:244:0", + "src": "16647:244:0", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -13049,7 +13049,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1378, - "src": "16592:9:0", + "src": "16616:9:0", "typeDescriptions": { "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", "typeString": "function () pure returns (bytes32)" @@ -13063,7 +13063,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16592:293:0", + "src": "16616:293:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -13088,7 +13088,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1371, - "src": "16506:3:0", + "src": "16530:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" @@ -13102,7 +13102,7 @@ "memberName": "encodePacked", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "16506:16:0", + "src": "16530:16:0", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" @@ -13116,7 +13116,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16506:393:0", + "src": "16530:393:0", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -13135,7 +13135,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1378, - "src": "16483:9:0", + "src": "16507:9:0", "typeDescriptions": { "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", "typeString": "function () pure returns (bytes32)" @@ -13149,20 +13149,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16483:426:0", + "src": "16507:426:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "nodeType": "VariableDeclarationStatement", - "src": "16466:443:0" + "src": "16490:443:0" }, { "body": { "id": 1017, "nodeType": "Block", - "src": "16959:543:0", + "src": "16983:543:0", "statements": [ { "assignments": [ @@ -13175,7 +13175,7 @@ "name": "recovered", "nodeType": "VariableDeclaration", "scope": 1022, - "src": "16974:17:0", + "src": "16998:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -13186,7 +13186,7 @@ "id": 968, "name": "address", "nodeType": "ElementaryTypeName", - "src": "16974:7:0", + "src": "16998:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -13207,7 +13207,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 934, - "src": "17021:6:0", + "src": "17045:6:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -13222,7 +13222,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 896, - "src": "17045:4:0", + "src": "17069:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr", "typeString": "uint8[] memory" @@ -13236,7 +13236,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 958, - "src": "17050:1:0", + "src": "17074:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13247,7 +13247,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17045:7:0", + "src": "17069:7:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -13262,7 +13262,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 899, - "src": "17070:4:0", + "src": "17094:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" @@ -13276,7 +13276,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 958, - "src": "17075:1:0", + "src": "17099:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13287,7 +13287,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17070:7:0", + "src": "17094:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -13302,7 +13302,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 902, - "src": "17095:4:0", + "src": "17119:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" @@ -13316,7 +13316,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 958, - "src": "17100:1:0", + "src": "17124:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13327,7 +13327,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17095:7:0", + "src": "17119:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -13358,7 +13358,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1376, - "src": "16994:9:0", + "src": "17018:9:0", "typeDescriptions": { "typeIdentifier": "t_function_ecrecover_pure$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$_t_address_$", "typeString": "function (bytes32,uint8,bytes32,bytes32) pure returns (address)" @@ -13372,14 +13372,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16994:122:0", + "src": "17018:122:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "VariableDeclarationStatement", - "src": "16974:142:0" + "src": "16998:142:0" }, { "expression": { @@ -13398,7 +13398,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "17156:12:0", + "src": "17180:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -13412,7 +13412,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 904, - "src": "17169:10:0", + "src": "17193:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -13423,7 +13423,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17156:24:0", + "src": "17180:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -13437,7 +13437,7 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "17156:32:0", + "src": "17180:32:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -13451,7 +13451,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 969, - "src": "17189:9:0", + "src": "17213:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -13462,7 +13462,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17156:43:0", + "src": "17180:43:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -13478,7 +13478,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "17218:19:0", + "src": "17242:19:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_4f2d7dfcb27c0aafa13ae8c400de482c7832204d194018b6e45bd2bf244c74e7", @@ -13506,7 +13506,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "17131:7:0", + "src": "17155:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -13520,7 +13520,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17131:120:0", + "src": "17155:120:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -13528,7 +13528,7 @@ }, "id": 992, "nodeType": "ExpressionStatement", - "src": "17131:120:0" + "src": "17155:120:0" }, { "expression": { @@ -13544,7 +13544,7 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "17290:42:0", + "src": "17314:42:0", "subExpression": { "argumentTypes": null, "baseExpression": { @@ -13558,7 +13558,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "17291:12:0", + "src": "17315:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -13572,7 +13572,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 904, - "src": "17304:10:0", + "src": "17328:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -13583,7 +13583,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17291:24:0", + "src": "17315:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -13597,7 +13597,7 @@ "memberName": "voted", "nodeType": "MemberAccess", "referencedDeclaration": 66, - "src": "17291:30:0", + "src": "17315:30:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -13611,7 +13611,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 969, - "src": "17322:9:0", + "src": "17346:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -13622,7 +13622,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17291:41:0", + "src": "17315:41:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -13643,7 +13643,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "17351:27:0", + "src": "17375:27:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_fb2c7e49d5ec7ce36fa812cf15ee7fa946942f931d04fe3ae970516007b2a543", @@ -13671,7 +13671,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "17265:7:0", + "src": "17289:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -13685,7 +13685,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17265:127:0", + "src": "17289:127:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -13693,7 +13693,7 @@ }, "id": 1003, "nodeType": "ExpressionStatement", - "src": "17265:127:0" + "src": "17289:127:0" }, { "expression": { @@ -13716,7 +13716,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "17406:12:0", + "src": "17430:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -13730,7 +13730,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 904, - "src": "17419:10:0", + "src": "17443:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -13741,7 +13741,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17406:24:0", + "src": "17430:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -13755,7 +13755,7 @@ "memberName": "voted", "nodeType": "MemberAccess", "referencedDeclaration": 66, - "src": "17406:30:0", + "src": "17430:30:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -13769,7 +13769,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 969, - "src": "17437:9:0", + "src": "17461:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -13780,7 +13780,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "17406:41:0", + "src": "17430:41:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -13798,7 +13798,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "17450:4:0", + "src": "17474:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -13806,7 +13806,7 @@ }, "value": "true" }, - "src": "17406:48:0", + "src": "17430:48:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -13814,7 +13814,7 @@ }, "id": 1012, "nodeType": "ExpressionStatement", - "src": "17406:48:0" + "src": "17430:48:0" }, { "expression": { @@ -13831,7 +13831,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 931, - "src": "17468:11:0", + "src": "17492:11:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -13846,13 +13846,13 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 969, - "src": "17482:9:0", + "src": "17506:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "17468:23:0", + "src": "17492:23:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -13860,7 +13860,7 @@ }, "id": 1016, "nodeType": "ExpressionStatement", - "src": "17468:23:0" + "src": "17492:23:0" } ] }, @@ -13882,7 +13882,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 958, - "src": "16937:1:0", + "src": "16961:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13899,7 +13899,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 899, - "src": "16941:4:0", + "src": "16965:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" @@ -13913,13 +13913,13 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "16941:11:0", + "src": "16965:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "16937:15:0", + "src": "16961:15:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -13937,7 +13937,7 @@ "name": "i", "nodeType": "VariableDeclaration", "scope": 1022, - "src": "16925:6:0", + "src": "16949:6:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -13948,7 +13948,7 @@ "id": 957, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "16925:4:0", + "src": "16949:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13969,7 +13969,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "16934:1:0", + "src": "16958:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -13978,7 +13978,7 @@ "value": "0" }, "nodeType": "VariableDeclarationStatement", - "src": "16925:10:0" + "src": "16949:10:0" }, "loopExpression": { "expression": { @@ -13991,7 +13991,7 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "16954:3:0", + "src": "16978:3:0", "subExpression": { "argumentTypes": null, "id": 965, @@ -13999,7 +13999,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 958, - "src": "16954:1:0", + "src": "16978:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14012,10 +14012,10 @@ }, "id": 967, "nodeType": "ExpressionStatement", - "src": "16954:3:0" + "src": "16978:3:0" }, "nodeType": "ForStatement", - "src": "16920:582:0" + "src": "16944:582:0" }, { "expression": { @@ -14025,7 +14025,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 931, - "src": "17519:11:0", + "src": "17543:11:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -14034,7 +14034,7 @@ "functionReturnParameters": 914, "id": 1020, "nodeType": "Return", - "src": "17512:18:0" + "src": "17536:18:0" } ] }, @@ -14056,7 +14056,7 @@ "name": "sigV", "nodeType": "VariableDeclaration", "scope": 1022, - "src": "16001:12:0", + "src": "16025:12:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14068,7 +14068,7 @@ "id": 894, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "16001:5:0", + "src": "16025:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -14077,7 +14077,7 @@ "id": 895, "length": null, "nodeType": "ArrayTypeName", - "src": "16001:7:0", + "src": "16025:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_storage_ptr", "typeString": "uint8[]" @@ -14092,7 +14092,7 @@ "name": "sigR", "nodeType": "VariableDeclaration", "scope": 1022, - "src": "16023:14:0", + "src": "16047:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14104,7 +14104,7 @@ "id": 897, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "16023:7:0", + "src": "16047:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -14113,7 +14113,7 @@ "id": 898, "length": null, "nodeType": "ArrayTypeName", - "src": "16023:9:0", + "src": "16047:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -14128,7 +14128,7 @@ "name": "sigS", "nodeType": "VariableDeclaration", "scope": 1022, - "src": "16047:14:0", + "src": "16071:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14140,7 +14140,7 @@ "id": 900, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "16047:7:0", + "src": "16071:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -14149,7 +14149,7 @@ "id": 901, "length": null, "nodeType": "ArrayTypeName", - "src": "16047:9:0", + "src": "16071:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -14164,7 +14164,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 1022, - "src": "16071:18:0", + "src": "16095:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14175,7 +14175,7 @@ "id": 903, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "16071:7:0", + "src": "16095:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -14190,7 +14190,7 @@ "name": "destinations", "nodeType": "VariableDeclaration", "scope": 1022, - "src": "16099:22:0", + "src": "16123:22:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14202,7 +14202,7 @@ "id": 905, "name": "address", "nodeType": "ElementaryTypeName", - "src": "16099:7:0", + "src": "16123:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -14211,7 +14211,7 @@ "id": 906, "length": null, "nodeType": "ArrayTypeName", - "src": "16099:9:0", + "src": "16123:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", "typeString": "address[]" @@ -14226,7 +14226,7 @@ "name": "amounts", "nodeType": "VariableDeclaration", "scope": 1022, - "src": "16131:16:0", + "src": "16155:16:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14238,7 +14238,7 @@ "id": 908, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "16131:7:0", + "src": "16155:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14247,7 +14247,7 @@ "id": 909, "length": null, "nodeType": "ArrayTypeName", - "src": "16131:9:0", + "src": "16155:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -14257,7 +14257,7 @@ "visibility": "internal" } ], - "src": "15991:162:0" + "src": "16015:162:0" }, "payable": false, "returnParameters": { @@ -14270,7 +14270,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 1022, - "src": "16187:7:0", + "src": "16211:7:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14281,7 +14281,7 @@ "id": 912, "name": "address", "nodeType": "ElementaryTypeName", - "src": "16187:7:0", + "src": "16211:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -14291,10 +14291,10 @@ "visibility": "internal" } ], - "src": "16186:9:0" + "src": "16210:9:0" }, "scope": 1211, - "src": "15966:1571:0", + "src": "15990:1571:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "private" @@ -14303,7 +14303,7 @@ "body": { "id": 1053, "nodeType": "Block", - "src": "17691:168:0", + "src": "17715:168:0", "statements": [ { "assignments": [ @@ -14316,7 +14316,7 @@ "name": "timeSince", "nodeType": "VariableDeclaration", "scope": 1054, - "src": "17701:17:0", + "src": "17725:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14327,7 +14327,7 @@ "id": 1031, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "17701:7:0", + "src": "17725:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14348,7 +14348,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1026, - "src": "17729:12:0", + "src": "17753:12:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14369,7 +14369,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1386, - "src": "17721:3:0", + "src": "17745:3:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14383,7 +14383,7 @@ "memberName": "sub", "nodeType": "MemberAccess", "referencedDeclaration": 1324, - "src": "17721:7:0", + "src": "17745:7:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" @@ -14397,14 +14397,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17721:21:0", + "src": "17745:21:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "17701:41:0" + "src": "17725:41:0" }, { "expression": { @@ -14430,7 +14430,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1024, - "src": "17773:12:0", + "src": "17797:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -14448,7 +14448,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "17789:1:0", + "src": "17813:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -14456,7 +14456,7 @@ }, "value": "0" }, - "src": "17773:17:0", + "src": "17797:17:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -14480,7 +14480,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1032, - "src": "17799:9:0", + "src": "17823:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14501,7 +14501,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "17837:4:0", + "src": "17861:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_3600_by_1", @@ -14527,7 +14527,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1024, - "src": "17819:12:0", + "src": "17843:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -14547,7 +14547,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "17811:7:0", + "src": "17835:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint256_$", "typeString": "type(uint256)" @@ -14562,7 +14562,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17811:21:0", + "src": "17835:21:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14576,7 +14576,7 @@ "memberName": "mul", "nodeType": "MemberAccess", "referencedDeclaration": 1276, - "src": "17811:25:0", + "src": "17835:25:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" @@ -14590,13 +14590,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17811:31:0", + "src": "17835:31:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "17799:43:0", + "src": "17823:43:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -14608,7 +14608,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "Conditional", - "src": "17773:69:0", + "src": "17797:69:0", "trueExpression": { "argumentTypes": null, "hexValue": "66616c7365", @@ -14619,7 +14619,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "17793:5:0", + "src": "17817:5:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -14640,7 +14640,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "17759:93:0", + "src": "17783:93:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -14649,7 +14649,7 @@ "functionReturnParameters": 1030, "id": 1052, "nodeType": "Return", - "src": "17752:100:0" + "src": "17776:100:0" } ] }, @@ -14671,7 +14671,7 @@ "name": "timeoutHours", "nodeType": "VariableDeclaration", "scope": 1054, - "src": "17579:19:0", + "src": "17603:19:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14682,7 +14682,7 @@ "id": 1023, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "17579:6:0", + "src": "17603:6:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -14697,7 +14697,7 @@ "name": "lastModified", "nodeType": "VariableDeclaration", "scope": 1054, - "src": "17608:20:0", + "src": "17632:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14708,7 +14708,7 @@ "id": 1025, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "17608:7:0", + "src": "17632:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14718,7 +14718,7 @@ "visibility": "internal" } ], - "src": "17569:65:0" + "src": "17593:65:0" }, "payable": false, "returnParameters": { @@ -14731,7 +14731,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 1054, - "src": "17681:4:0", + "src": "17705:4:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14742,7 +14742,7 @@ "id": 1028, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "17681:4:0", + "src": "17705:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -14752,10 +14752,10 @@ "visibility": "internal" } ], - "src": "17680:6:0" + "src": "17704:6:0" }, "scope": 1211, - "src": "17543:316:0", + "src": "17567:316:0", "stateMutability": "view", "superFunction": null, "visibility": "private" @@ -14764,7 +14764,7 @@ "body": { "id": 1209, "nodeType": "Block", - "src": "18273:2314:0", + "src": "18297:2314:0", "statements": [ { "expression": { @@ -14788,7 +14788,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1056, - "src": "18299:5:0", + "src": "18323:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -14803,13 +14803,13 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1058, - "src": "18308:6:0", + "src": "18332:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "18299:15:0", + "src": "18323:15:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -14825,7 +14825,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "18316:27:0", + "src": "18340:27:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_6141441751234d42e9a73d96317794195c7ff57b8f16ac15725a10f10763f824", @@ -14853,7 +14853,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "18291:7:0", + "src": "18315:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -14867,7 +14867,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18291:53:0", + "src": "18315:53:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -14875,7 +14875,7 @@ }, "id": 1083, "nodeType": "ExpressionStatement", - "src": "18291:53:0" + "src": "18315:53:0" }, { "expression": { @@ -14899,7 +14899,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1068, - "src": "18411:5:0", + "src": "18435:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14917,7 +14917,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "18419:1:0", + "src": "18443:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -14925,7 +14925,7 @@ }, "value": "0" }, - "src": "18411:9:0", + "src": "18435:9:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -14941,7 +14941,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "18422:19:0", + "src": "18446:19:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_3686f87c4804517ea83323ccf1a3b5b5ff52ed144b19e6fc56abe8fcd182e747", @@ -14969,7 +14969,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "18403:7:0", + "src": "18427:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -14983,7 +14983,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18403:39:0", + "src": "18427:39:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -14991,7 +14991,7 @@ }, "id": 1090, "nodeType": "ExpressionStatement", - "src": "18403:39:0" + "src": "18427:39:0" }, { "expression": { @@ -15026,7 +15026,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1062, - "src": "18545:9:0", + "src": "18569:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -15044,7 +15044,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "18557:1:0", + "src": "18581:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -15052,7 +15052,7 @@ }, "value": "0" }, - "src": "18545:13:0", + "src": "18569:13:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -15078,7 +15078,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1062, - "src": "18562:9:0", + "src": "18586:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -15096,7 +15096,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "18575:1:0", + "src": "18599:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_3_by_1", @@ -15104,13 +15104,13 @@ }, "value": "3" }, - "src": "18562:14:0", + "src": "18586:14:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "18545:31:0", + "src": "18569:31:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -15126,7 +15126,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "18591:63:0", + "src": "18615:63:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_351c1d5dfdc4a2b4c61d6f4dbb41a0d2ae70a9c094d3c0add87af24b5dd19c13", @@ -15154,7 +15154,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "18524:7:0", + "src": "18548:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -15168,7 +15168,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18524:140:0", + "src": "18548:140:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -15176,7 +15176,7 @@ }, "id": 1101, "nodeType": "ExpressionStatement", - "src": "18524:140:0" + "src": "18548:140:0" }, { "expression": { @@ -15211,7 +15211,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1062, - "src": "18945:9:0", + "src": "18969:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -15229,7 +15229,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "18958:1:0", + "src": "18982:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -15237,7 +15237,7 @@ }, "value": "1" }, - "src": "18945:14:0", + "src": "18969:14:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -15263,7 +15263,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1060, - "src": "18963:9:0", + "src": "18987:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15284,7 +15284,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "18984:1:0", + "src": "19008:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -15306,7 +15306,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "18976:7:0", + "src": "19000:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" @@ -15321,19 +15321,19 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18976:10:0", + "src": "19000:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "18963:23:0", + "src": "18987:23:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "18945:41:0", + "src": "18969:41:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -15349,7 +15349,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "19000:74:0", + "src": "19024:74:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_2056db168725d2fabb8aaf14efad7a3fc12ef6bc7132f0596ea09b041b71cb25", @@ -15377,7 +15377,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "18924:7:0", + "src": "18948:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -15391,7 +15391,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18924:160:0", + "src": "18948:160:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -15399,7 +15399,7 @@ }, "id": 1114, "nodeType": "ExpressionStatement", - "src": "18924:160:0" + "src": "18948:160:0" }, { "expression": { @@ -15423,7 +15423,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1066, - "src": "19116:10:0", + "src": "19140:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -15441,7 +15441,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1070, - "src": "19173:8:0", + "src": "19197:8:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -15454,7 +15454,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1062, - "src": "19199:9:0", + "src": "19223:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -15467,7 +15467,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1064, - "src": "19226:12:0", + "src": "19250:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -15480,7 +15480,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1056, - "src": "19256:5:0", + "src": "19280:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15493,7 +15493,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1058, - "src": "19279:6:0", + "src": "19303:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15506,7 +15506,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1060, - "src": "19303:9:0", + "src": "19327:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15519,7 +15519,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1074, - "src": "19330:12:0", + "src": "19354:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15562,7 +15562,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 637, - "src": "19130:25:0", + "src": "19154:25:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_bytes20_$_t_uint8_$_t_uint32_$_t_address_$_t_address_$_t_address_$_t_address_$returns$_t_bytes32_$", "typeString": "function (bytes20,uint8,uint32,address,address,address,address) view returns (bytes32)" @@ -15576,13 +15576,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "19130:226:0", + "src": "19154:226:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "src": "19116:240:0", + "src": "19140:240:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -15598,7 +15598,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "19371:59:0", + "src": "19395:59:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_0c041e0c58e6b0e01d338d852a5abb639065eabeb0aee05e0ce3e5f0e52b4f51", @@ -15626,7 +15626,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "19095:7:0", + "src": "19119:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -15640,7 +15640,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "19095:345:0", + "src": "19119:345:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -15648,7 +15648,7 @@ }, "id": 1129, "nodeType": "ExpressionStatement", - "src": "19095:345:0" + "src": "19119:345:0" }, { "expression": { @@ -15667,7 +15667,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "19451:12:0", + "src": "19475:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -15681,7 +15681,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1066, - "src": "19464:10:0", + "src": "19488:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -15692,7 +15692,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "19451:24:0", + "src": "19475:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -15710,7 +15710,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1056, - "src": "19511:5:0", + "src": "19535:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15723,7 +15723,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1058, - "src": "19538:6:0", + "src": "19562:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15736,7 +15736,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1060, - "src": "19569:9:0", + "src": "19593:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15749,7 +15749,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1068, - "src": "19599:5:0", + "src": "19623:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -15764,7 +15764,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9, - "src": "19626:6:0", + "src": "19650:6:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_Status_$9_$", "typeString": "type(enum Escrow_v1_0.Status)" @@ -15778,7 +15778,7 @@ "memberName": "FUNDED", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "19626:13:0", + "src": "19650:13:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$9", "typeString": "enum Escrow_v1_0.Status" @@ -15793,7 +15793,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1374, - "src": "19667:5:0", + "src": "19691:5:0", "typeDescriptions": { "typeIdentifier": "t_magic_block", "typeString": "block" @@ -15807,7 +15807,7 @@ "memberName": "timestamp", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "19667:15:0", + "src": "19691:15:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -15820,7 +15820,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1062, - "src": "19707:9:0", + "src": "19731:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -15833,7 +15833,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1064, - "src": "19744:12:0", + "src": "19768:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -15846,7 +15846,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1072, - "src": "19786:15:0", + "src": "19810:15:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -15859,7 +15859,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1074, - "src": "19828:12:0", + "src": "19852:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15873,7 +15873,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 71, - "src": "19478:11:0", + "src": "19502:11:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_struct$_Transaction_$71_storage_ptr_$", "typeString": "type(struct Escrow_v1_0.Transaction storage pointer)" @@ -15898,13 +15898,13 @@ "tokenAddress" ], "nodeType": "FunctionCall", - "src": "19478:373:0", + "src": "19502:373:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_memory", "typeString": "struct Escrow_v1_0.Transaction memory" } }, - "src": "19451:400:0", + "src": "19475:400:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -15912,7 +15912,7 @@ }, "id": 1148, "nodeType": "ExpressionStatement", - "src": "19451:400:0" + "src": "19475:400:0" }, { "expression": { @@ -15935,7 +15935,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "19862:12:0", + "src": "19886:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -15949,7 +15949,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1066, - "src": "19875:10:0", + "src": "19899:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -15960,7 +15960,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "19862:24:0", + "src": "19886:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -15974,7 +15974,7 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "19862:32:0", + "src": "19886:32:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -15988,7 +15988,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1058, - "src": "19895:6:0", + "src": "19919:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15999,7 +15999,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "19862:40:0", + "src": "19886:40:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -16017,7 +16017,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "19905:4:0", + "src": "19929:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -16025,7 +16025,7 @@ }, "value": "true" }, - "src": "19862:47:0", + "src": "19886:47:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -16033,7 +16033,7 @@ }, "id": 1157, "nodeType": "ExpressionStatement", - "src": "19862:47:0" + "src": "19886:47:0" }, { "expression": { @@ -16056,7 +16056,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "19919:12:0", + "src": "19943:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -16070,7 +16070,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1066, - "src": "19932:10:0", + "src": "19956:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -16081,7 +16081,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "19919:24:0", + "src": "19943:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -16095,7 +16095,7 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "19919:32:0", + "src": "19943:32:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -16109,7 +16109,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1056, - "src": "19952:5:0", + "src": "19976:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -16120,7 +16120,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "19919:39:0", + "src": "19943:39:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -16138,7 +16138,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "19961:4:0", + "src": "19985:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -16146,7 +16146,7 @@ }, "value": "true" }, - "src": "19919:46:0", + "src": "19943:46:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -16154,7 +16154,7 @@ }, "id": 1166, "nodeType": "ExpressionStatement", - "src": "19919:46:0" + "src": "19943:46:0" }, { "expression": { @@ -16170,7 +16170,7 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "20072:44:0", + "src": "20096:44:0", "subExpression": { "argumentTypes": null, "baseExpression": { @@ -16184,7 +16184,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "20073:12:0", + "src": "20097:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -16198,7 +16198,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1066, - "src": "20086:10:0", + "src": "20110:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -16209,7 +16209,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20073:24:0", + "src": "20097:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -16223,7 +16223,7 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "20073:32:0", + "src": "20097:32:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -16237,7 +16237,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1060, - "src": "20106:9:0", + "src": "20130:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -16248,7 +16248,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20073:43:0", + "src": "20097:43:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -16269,7 +16269,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "20131:47:0", + "src": "20155:47:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_313b391557427937e7bdb85c7561d47c5b9c985755a448dd33a92026ffb38f8d", @@ -16297,7 +16297,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "20051:7:0", + "src": "20075:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -16311,7 +16311,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "20051:137:0", + "src": "20075:137:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -16319,7 +16319,7 @@ }, "id": 1177, "nodeType": "ExpressionStatement", - "src": "20051:137:0" + "src": "20075:137:0" }, { "condition": { @@ -16340,7 +16340,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1062, - "src": "20348:9:0", + "src": "20372:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -16358,7 +16358,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "20360:1:0", + "src": "20384:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -16366,7 +16366,7 @@ }, "value": "1" }, - "src": "20348:13:0", + "src": "20372:13:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -16375,11 +16375,11 @@ "falseBody": null, "id": 1191, "nodeType": "IfStatement", - "src": "20344:94:0", + "src": "20368:94:0", "trueBody": { "id": 1190, "nodeType": "Block", - "src": "20363:75:0", + "src": "20387:75:0", "statements": [ { "expression": { @@ -16402,7 +16402,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "20377:12:0", + "src": "20401:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -16416,7 +16416,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1066, - "src": "20390:10:0", + "src": "20414:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -16427,7 +16427,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20377:24:0", + "src": "20401:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -16441,7 +16441,7 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "20377:32:0", + "src": "20401:32:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -16455,7 +16455,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1060, - "src": "20410:9:0", + "src": "20434:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -16466,7 +16466,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "20377:43:0", + "src": "20401:43:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -16484,7 +16484,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "20423:4:0", + "src": "20447:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -16492,7 +16492,7 @@ }, "value": "true" }, - "src": "20377:50:0", + "src": "20401:50:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -16500,7 +16500,7 @@ }, "id": 1189, "nodeType": "ExpressionStatement", - "src": "20377:50:0" + "src": "20401:50:0" } ] } @@ -16516,7 +16516,7 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "20456:18:0", + "src": "20480:18:0", "subExpression": { "argumentTypes": null, "id": 1192, @@ -16524,7 +16524,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 78, - "src": "20456:16:0", + "src": "20480:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -16537,7 +16537,7 @@ }, "id": 1194, "nodeType": "ExpressionStatement", - "src": "20456:18:0" + "src": "20480:18:0" }, { "expression": { @@ -16550,7 +16550,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1066, - "src": "20516:10:0", + "src": "20540:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -16573,7 +16573,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 83, - "src": "20485:18:0", + "src": "20509:18:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_bytes32_$dyn_storage_$", "typeString": "mapping(address => bytes32[] storage ref)" @@ -16587,7 +16587,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1056, - "src": "20504:5:0", + "src": "20528:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -16598,7 +16598,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20485:25:0", + "src": "20509:25:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage", "typeString": "bytes32[] storage ref" @@ -16612,7 +16612,7 @@ "memberName": "push", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "20485:30:0", + "src": "20509:30:0", "typeDescriptions": { "typeIdentifier": "t_function_arraypush_nonpayable$_t_bytes32_$returns$_t_uint256_$", "typeString": "function (bytes32) returns (uint256)" @@ -16626,7 +16626,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "20485:42:0", + "src": "20509:42:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -16634,7 +16634,7 @@ }, "id": 1201, "nodeType": "ExpressionStatement", - "src": "20485:42:0" + "src": "20509:42:0" }, { "expression": { @@ -16647,7 +16647,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1066, - "src": "20569:10:0", + "src": "20593:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -16670,7 +16670,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 83, - "src": "20537:18:0", + "src": "20561:18:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_bytes32_$dyn_storage_$", "typeString": "mapping(address => bytes32[] storage ref)" @@ -16684,7 +16684,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1058, - "src": "20556:6:0", + "src": "20580:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -16695,7 +16695,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20537:26:0", + "src": "20561:26:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage", "typeString": "bytes32[] storage ref" @@ -16709,7 +16709,7 @@ "memberName": "push", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "20537:31:0", + "src": "20561:31:0", "typeDescriptions": { "typeIdentifier": "t_function_arraypush_nonpayable$_t_bytes32_$returns$_t_uint256_$", "typeString": "function (bytes32) returns (uint256)" @@ -16723,7 +16723,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "20537:43:0", + "src": "20561:43:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -16731,7 +16731,7 @@ }, "id": 1208, "nodeType": "ExpressionStatement", - "src": "20537:43:0" + "src": "20561:43:0" } ] }, @@ -16753,7 +16753,7 @@ "name": "buyer", "nodeType": "VariableDeclaration", "scope": 1210, - "src": "17980:13:0", + "src": "18004:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -16764,7 +16764,7 @@ "id": 1055, "name": "address", "nodeType": "ElementaryTypeName", - "src": "17980:7:0", + "src": "18004:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -16779,7 +16779,7 @@ "name": "seller", "nodeType": "VariableDeclaration", "scope": 1210, - "src": "18003:14:0", + "src": "18027:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -16790,7 +16790,7 @@ "id": 1057, "name": "address", "nodeType": "ElementaryTypeName", - "src": "18003:7:0", + "src": "18027:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -16805,7 +16805,7 @@ "name": "moderator", "nodeType": "VariableDeclaration", "scope": 1210, - "src": "18027:17:0", + "src": "18051:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -16816,7 +16816,7 @@ "id": 1059, "name": "address", "nodeType": "ElementaryTypeName", - "src": "18027:7:0", + "src": "18051:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -16831,7 +16831,7 @@ "name": "threshold", "nodeType": "VariableDeclaration", "scope": 1210, - "src": "18054:15:0", + "src": "18078:15:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -16842,7 +16842,7 @@ "id": 1061, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "18054:5:0", + "src": "18078:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -16857,7 +16857,7 @@ "name": "timeoutHours", "nodeType": "VariableDeclaration", "scope": 1210, - "src": "18079:19:0", + "src": "18103:19:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -16868,7 +16868,7 @@ "id": 1063, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "18079:6:0", + "src": "18103:6:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -16883,7 +16883,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 1210, - "src": "18108:18:0", + "src": "18132:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -16894,7 +16894,7 @@ "id": 1065, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "18108:7:0", + "src": "18132:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -16909,7 +16909,7 @@ "name": "value", "nodeType": "VariableDeclaration", "scope": 1210, - "src": "18136:13:0", + "src": "18160:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -16920,7 +16920,7 @@ "id": 1067, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "18136:7:0", + "src": "18160:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -16935,7 +16935,7 @@ "name": "uniqueId", "nodeType": "VariableDeclaration", "scope": 1210, - "src": "18159:16:0", + "src": "18183:16:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -16946,7 +16946,7 @@ "id": 1069, "name": "bytes20", "nodeType": "ElementaryTypeName", - "src": "18159:7:0", + "src": "18183:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -16961,7 +16961,7 @@ "name": "transactionType", "nodeType": "VariableDeclaration", "scope": 1210, - "src": "18185:31:0", + "src": "18209:31:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -16974,7 +16974,7 @@ "name": "TransactionType", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 12, - "src": "18185:15:0", + "src": "18209:15:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -16989,7 +16989,7 @@ "name": "tokenAddress", "nodeType": "VariableDeclaration", "scope": 1210, - "src": "18226:20:0", + "src": "18250:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -17000,7 +17000,7 @@ "id": 1073, "name": "address", "nodeType": "ElementaryTypeName", - "src": "18226:7:0", + "src": "18250:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -17010,27 +17010,27 @@ "visibility": "internal" } ], - "src": "17970:282:0" + "src": "17994:282:0" }, "payable": false, "returnParameters": { "id": 1076, "nodeType": "ParameterList", "parameters": [], - "src": "18273:0:0" + "src": "18297:0:0" }, "scope": 1211, - "src": "17946:2641:0", + "src": "17970:2641:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "private" } ], "scope": 1212, - "src": "460:20129:0" + "src": "460:20153:0" } ], - "src": "0:20590:0" + "src": "0:20614:0" }, "legacyAST": { "absolutePath": "/home/sameep/freelancing-projects/toptal/open baazar/publicRepo/smart-contracts/contracts/escrow/Escrow_v1_0.sol", @@ -17169,11 +17169,11 @@ { "constant": false, "id": 14, - "indexed": false, + "indexed": true, "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 22, - "src": "622:18:0", + "src": "622:26:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -17200,7 +17200,7 @@ "name": "destinations", "nodeType": "VariableDeclaration", "scope": 22, - "src": "650:22:0", + "src": "658:22:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -17212,7 +17212,7 @@ "id": 15, "name": "address", "nodeType": "ElementaryTypeName", - "src": "650:7:0", + "src": "658:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -17221,7 +17221,7 @@ "id": 16, "length": null, "nodeType": "ArrayTypeName", - "src": "650:9:0", + "src": "658:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", "typeString": "address[]" @@ -17237,7 +17237,7 @@ "name": "amounts", "nodeType": "VariableDeclaration", "scope": 22, - "src": "682:17:0", + "src": "690:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -17249,7 +17249,7 @@ "id": 18, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "682:7:0", + "src": "690:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -17258,7 +17258,7 @@ "id": 19, "length": null, "nodeType": "ArrayTypeName", - "src": "682:9:0", + "src": "690:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -17268,9 +17268,9 @@ "visibility": "internal" } ], - "src": "612:93:0" + "src": "612:101:0" }, - "src": "598:108:0" + "src": "598:116:0" }, { "anonymous": false, @@ -17285,11 +17285,11 @@ { "constant": false, "id": 24, - "indexed": false, + "indexed": true, "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 30, - "src": "737:18:0", + "src": "745:26:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -17300,7 +17300,7 @@ "id": 23, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "737:7:0", + "src": "745:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -17316,7 +17316,7 @@ "name": "from", "nodeType": "VariableDeclaration", "scope": 30, - "src": "765:20:0", + "src": "781:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -17327,7 +17327,7 @@ "id": 25, "name": "address", "nodeType": "ElementaryTypeName", - "src": "765:7:0", + "src": "781:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -17343,7 +17343,7 @@ "name": "valueAdded", "nodeType": "VariableDeclaration", "scope": 30, - "src": "795:18:0", + "src": "811:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -17354,7 +17354,7 @@ "id": 27, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "795:7:0", + "src": "811:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -17364,9 +17364,9 @@ "visibility": "internal" } ], - "src": "727:92:0" + "src": "735:100:0" }, - "src": "712:108:0" + "src": "720:116:0" }, { "anonymous": false, @@ -17381,11 +17381,11 @@ { "constant": false, "id": 32, - "indexed": false, + "indexed": true, "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 38, - "src": "848:18:0", + "src": "864:26:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -17396,7 +17396,7 @@ "id": 31, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "848:7:0", + "src": "864:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -17412,7 +17412,7 @@ "name": "from", "nodeType": "VariableDeclaration", "scope": 38, - "src": "877:20:0", + "src": "901:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -17423,7 +17423,7 @@ "id": 33, "name": "address", "nodeType": "ElementaryTypeName", - "src": "877:7:0", + "src": "901:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -17439,7 +17439,7 @@ "name": "value", "nodeType": "VariableDeclaration", "scope": 38, - "src": "908:13:0", + "src": "932:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -17450,7 +17450,7 @@ "id": 35, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "908:7:0", + "src": "932:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -17460,9 +17460,9 @@ "visibility": "internal" } ], - "src": "838:89:0" + "src": "854:97:0" }, - "src": "826:102:0" + "src": "842:110:0" }, { "canonicalName": "Escrow_v1_0.Transaction", @@ -17474,7 +17474,7 @@ "name": "value", "nodeType": "VariableDeclaration", "scope": 71, - "src": "963:13:0", + "src": "987:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -17485,7 +17485,7 @@ "id": 39, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "963:7:0", + "src": "987:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -17500,7 +17500,7 @@ "name": "lastModified", "nodeType": "VariableDeclaration", "scope": 71, - "src": "986:20:0", + "src": "1010:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -17511,7 +17511,7 @@ "id": 41, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "986:7:0", + "src": "1010:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -17526,7 +17526,7 @@ "name": "status", "nodeType": "VariableDeclaration", "scope": 71, - "src": "1061:13:0", + "src": "1085:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -17539,7 +17539,7 @@ "name": "Status", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 9, - "src": "1061:6:0", + "src": "1085:6:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$9", "typeString": "enum Escrow_v1_0.Status" @@ -17554,7 +17554,7 @@ "name": "transactionType", "nodeType": "VariableDeclaration", "scope": 71, - "src": "1084:31:0", + "src": "1108:31:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -17567,7 +17567,7 @@ "name": "TransactionType", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 12, - "src": "1084:15:0", + "src": "1108:15:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -17582,7 +17582,7 @@ "name": "threshold", "nodeType": "VariableDeclaration", "scope": 71, - "src": "1125:15:0", + "src": "1149:15:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -17593,7 +17593,7 @@ "id": 47, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "1125:5:0", + "src": "1149:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -17608,7 +17608,7 @@ "name": "timeoutHours", "nodeType": "VariableDeclaration", "scope": 71, - "src": "1150:19:0", + "src": "1174:19:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -17619,7 +17619,7 @@ "id": 49, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "1150:6:0", + "src": "1174:6:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -17634,7 +17634,7 @@ "name": "buyer", "nodeType": "VariableDeclaration", "scope": 71, - "src": "1179:13:0", + "src": "1203:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -17645,7 +17645,7 @@ "id": 51, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1179:7:0", + "src": "1203:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -17660,7 +17660,7 @@ "name": "seller", "nodeType": "VariableDeclaration", "scope": 71, - "src": "1202:14:0", + "src": "1226:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -17671,7 +17671,7 @@ "id": 53, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1202:7:0", + "src": "1226:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -17686,7 +17686,7 @@ "name": "tokenAddress", "nodeType": "VariableDeclaration", "scope": 71, - "src": "1226:20:0", + "src": "1250:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -17697,7 +17697,7 @@ "id": 55, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1226:7:0", + "src": "1250:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -17712,7 +17712,7 @@ "name": "moderator", "nodeType": "VariableDeclaration", "scope": 71, - "src": "1297:17:0", + "src": "1321:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -17723,7 +17723,7 @@ "id": 57, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1297:7:0", + "src": "1321:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -17738,7 +17738,7 @@ "name": "isOwner", "nodeType": "VariableDeclaration", "scope": 71, - "src": "1324:30:0", + "src": "1348:30:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -17751,14 +17751,14 @@ "id": 59, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1332:7:0", + "src": "1356:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "Mapping", - "src": "1324:22:0", + "src": "1348:22:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -17767,7 +17767,7 @@ "id": 60, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "1341:4:0", + "src": "1365:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -17783,7 +17783,7 @@ "name": "voted", "nodeType": "VariableDeclaration", "scope": 71, - "src": "1390:28:0", + "src": "1414:28:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -17796,14 +17796,14 @@ "id": 63, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1398:7:0", + "src": "1422:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "Mapping", - "src": "1390:22:0", + "src": "1414:22:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -17812,7 +17812,7 @@ "id": 64, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "1407:4:0", + "src": "1431:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -17828,7 +17828,7 @@ "name": "beneficiaries", "nodeType": "VariableDeclaration", "scope": 71, - "src": "1460:36:0", + "src": "1484:36:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -17841,14 +17841,14 @@ "id": 67, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1468:7:0", + "src": "1492:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "Mapping", - "src": "1460:22:0", + "src": "1484:22:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -17857,7 +17857,7 @@ "id": 68, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "1477:4:0", + "src": "1501:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -17871,7 +17871,7 @@ "name": "Transaction", "nodeType": "StructDefinition", "scope": 1211, - "src": "934:597:0", + "src": "958:597:0", "visibility": "public" }, { @@ -17880,7 +17880,7 @@ "name": "transactions", "nodeType": "VariableDeclaration", "scope": 1211, - "src": "1537:51:0", + "src": "1561:51:0", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -17893,14 +17893,14 @@ "id": 72, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "1545:7:0", + "src": "1569:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "nodeType": "Mapping", - "src": "1537:31:0", + "src": "1561:31:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction)" @@ -17911,7 +17911,7 @@ "name": "Transaction", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 71, - "src": "1556:11:0", + "src": "1580:11:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction" @@ -17927,7 +17927,7 @@ "name": "transactionCount", "nodeType": "VariableDeclaration", "scope": 1211, - "src": "1595:35:0", + "src": "1619:35:0", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -17938,7 +17938,7 @@ "id": 76, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1595:7:0", + "src": "1619:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -17954,7 +17954,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1629:1:0", + "src": "1653:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -17970,7 +17970,7 @@ "name": "partyVsTransaction", "nodeType": "VariableDeclaration", "scope": 1211, - "src": "1709:55:0", + "src": "1733:55:0", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -17983,14 +17983,14 @@ "id": 79, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1717:7:0", + "src": "1741:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "Mapping", - "src": "1709:29:0", + "src": "1733:29:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_bytes32_$dyn_storage_$", "typeString": "mapping(address => bytes32[])" @@ -18000,7 +18000,7 @@ "id": 80, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "1728:7:0", + "src": "1752:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -18009,7 +18009,7 @@ "id": 81, "length": null, "nodeType": "ArrayTypeName", - "src": "1728:9:0", + "src": "1752:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -18023,7 +18023,7 @@ "body": { "id": 98, "nodeType": "Block", - "src": "1817:124:0", + "src": "1841:124:0", "statements": [ { "expression": { @@ -18051,7 +18051,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "1848:12:0", + "src": "1872:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -18065,7 +18065,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 85, - "src": "1861:10:0", + "src": "1885:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -18076,7 +18076,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "1848:24:0", + "src": "1872:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -18090,7 +18090,7 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": 40, - "src": "1848:30:0", + "src": "1872:30:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -18108,7 +18108,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1882:1:0", + "src": "1906:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -18116,7 +18116,7 @@ }, "value": "0" }, - "src": "1848:35:0", + "src": "1872:35:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -18132,7 +18132,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "1885:28:0", + "src": "1909:28:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_cb323e46bbcca91e157c2b50ad4ce2acbe1153338b838c84372d5723b8995ef0", @@ -18160,7 +18160,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "1827:7:0", + "src": "1851:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -18174,7 +18174,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1827:96:0", + "src": "1851:96:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -18182,12 +18182,12 @@ }, "id": 96, "nodeType": "ExpressionStatement", - "src": "1827:96:0" + "src": "1851:96:0" }, { "id": 97, "nodeType": "PlaceholderStatement", - "src": "1933:1:0" + "src": "1957:1:0" } ] }, @@ -18205,7 +18205,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 99, - "src": "1797:18:0", + "src": "1821:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -18216,7 +18216,7 @@ "id": 84, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "1797:7:0", + "src": "1821:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -18226,16 +18226,16 @@ "visibility": "internal" } ], - "src": "1796:20:0" + "src": "1820:20:0" }, - "src": "1771:170:0", + "src": "1795:170:0", "visibility": "internal" }, { "body": { "id": 114, "nodeType": "Block", - "src": "2000:93:0", + "src": "2024:93:0", "statements": [ { "expression": { @@ -18263,7 +18263,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "2018:12:0", + "src": "2042:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -18277,7 +18277,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 101, - "src": "2031:10:0", + "src": "2055:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -18288,7 +18288,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "2018:24:0", + "src": "2042:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -18302,7 +18302,7 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": 40, - "src": "2018:30:0", + "src": "2042:30:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -18320,7 +18320,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2052:1:0", + "src": "2076:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -18328,7 +18328,7 @@ }, "value": "0" }, - "src": "2018:35:0", + "src": "2042:35:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -18344,7 +18344,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "2055:19:0", + "src": "2079:19:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_4f41f109da323167d042f4559ebd6e2dc42fdbc2be1a2cea9ff6130572900782", @@ -18372,7 +18372,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "2010:7:0", + "src": "2034:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -18386,7 +18386,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2010:65:0", + "src": "2034:65:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -18394,12 +18394,12 @@ }, "id": 112, "nodeType": "ExpressionStatement", - "src": "2010:65:0" + "src": "2034:65:0" }, { "id": 113, "nodeType": "PlaceholderStatement", - "src": "2085:1:0" + "src": "2109:1:0" } ] }, @@ -18417,7 +18417,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 115, - "src": "1980:18:0", + "src": "2004:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -18428,7 +18428,7 @@ "id": 100, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "1980:7:0", + "src": "2004:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -18438,16 +18438,16 @@ "visibility": "internal" } ], - "src": "1979:20:0" + "src": "2003:20:0" }, - "src": "1947:146:0", + "src": "1971:146:0", "visibility": "internal" }, { "body": { "id": 131, "nodeType": "Block", - "src": "2142:145:0", + "src": "2166:145:0", "statements": [ { "expression": { @@ -18475,7 +18475,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "2173:12:0", + "src": "2197:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -18489,7 +18489,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 117, - "src": "2186:10:0", + "src": "2210:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -18500,7 +18500,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "2173:24:0", + "src": "2197:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -18514,7 +18514,7 @@ "memberName": "status", "nodeType": "MemberAccess", "referencedDeclaration": 44, - "src": "2173:31:0", + "src": "2197:31:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$9", "typeString": "enum Escrow_v1_0.Status" @@ -18531,7 +18531,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9, - "src": "2208:6:0", + "src": "2232:6:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_Status_$9_$", "typeString": "type(enum Escrow_v1_0.Status)" @@ -18545,13 +18545,13 @@ "memberName": "FUNDED", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "2208:13:0", + "src": "2232:13:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$9", "typeString": "enum Escrow_v1_0.Status" } }, - "src": "2173:48:0", + "src": "2197:48:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -18567,7 +18567,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "2223:36:0", + "src": "2247:36:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_5244efce1630cfae7257c0817c921ae75135c1043344a4cf9a1988c03337f39d", @@ -18595,7 +18595,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "2152:7:0", + "src": "2176:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -18609,7 +18609,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2152:117:0", + "src": "2176:117:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -18617,12 +18617,12 @@ }, "id": 129, "nodeType": "ExpressionStatement", - "src": "2152:117:0" + "src": "2176:117:0" }, { "id": 130, "nodeType": "PlaceholderStatement", - "src": "2279:1:0" + "src": "2303:1:0" } ] }, @@ -18640,7 +18640,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 132, - "src": "2122:18:0", + "src": "2146:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -18651,7 +18651,7 @@ "id": 116, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "2122:7:0", + "src": "2146:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -18661,16 +18661,16 @@ "visibility": "internal" } ], - "src": "2121:20:0" + "src": "2145:20:0" }, - "src": "2099:188:0", + "src": "2123:188:0", "visibility": "internal" }, { "body": { "id": 146, "nodeType": "Block", - "src": "2341:88:0", + "src": "2365:88:0", "statements": [ { "expression": { @@ -18694,7 +18694,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 134, - "src": "2359:14:0", + "src": "2383:14:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -18715,7 +18715,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2385:1:0", + "src": "2409:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -18737,7 +18737,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "2377:7:0", + "src": "2401:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" @@ -18752,13 +18752,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2377:10:0", + "src": "2401:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "2359:28:0", + "src": "2383:28:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -18774,7 +18774,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "2389:21:0", + "src": "2413:21:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_93e85f37f73cf8e1b855512ab7e00aab2b791117712ecb476daeb6c2c0a27a67", @@ -18802,7 +18802,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "2351:7:0", + "src": "2375:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -18816,7 +18816,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2351:60:0", + "src": "2375:60:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -18824,12 +18824,12 @@ }, "id": 144, "nodeType": "ExpressionStatement", - "src": "2351:60:0" + "src": "2375:60:0" }, { "id": 145, "nodeType": "PlaceholderStatement", - "src": "2421:1:0" + "src": "2445:1:0" } ] }, @@ -18847,7 +18847,7 @@ "name": "addressToCheck", "nodeType": "VariableDeclaration", "scope": 147, - "src": "2317:22:0", + "src": "2341:22:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -18858,7 +18858,7 @@ "id": 133, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2317:7:0", + "src": "2341:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -18868,16 +18868,16 @@ "visibility": "internal" } ], - "src": "2316:24:0" + "src": "2340:24:0" }, - "src": "2293:136:0", + "src": "2317:136:0", "visibility": "internal" }, { "body": { "id": 164, "nodeType": "Block", - "src": "2544:153:0", + "src": "2568:153:0", "statements": [ { "expression": { @@ -18905,7 +18905,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "2575:12:0", + "src": "2599:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -18919,7 +18919,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 149, - "src": "2588:10:0", + "src": "2612:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -18930,7 +18930,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "2575:24:0", + "src": "2599:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -18944,7 +18944,7 @@ "memberName": "transactionType", "nodeType": "MemberAccess", "referencedDeclaration": 46, - "src": "2575:40:0", + "src": "2599:40:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -18959,13 +18959,13 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 151, - "src": "2619:15:0", + "src": "2643:15:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" } }, - "src": "2575:59:0", + "src": "2599:59:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -18981,7 +18981,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "2636:33:0", + "src": "2660:33:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_c798eb33a8bd5d4c22212d5c8611219bb87da2d82aefe8e88b1f970a0f133cc3", @@ -19009,7 +19009,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "2554:7:0", + "src": "2578:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -19023,7 +19023,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2554:125:0", + "src": "2578:125:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -19031,12 +19031,12 @@ }, "id": 162, "nodeType": "ExpressionStatement", - "src": "2554:125:0" + "src": "2578:125:0" }, { "id": 163, "nodeType": "PlaceholderStatement", - "src": "2689:1:0" + "src": "2713:1:0" } ] }, @@ -19054,7 +19054,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 165, - "src": "2474:18:0", + "src": "2498:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -19065,7 +19065,7 @@ "id": 148, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "2474:7:0", + "src": "2498:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -19080,7 +19080,7 @@ "name": "transactionType", "nodeType": "VariableDeclaration", "scope": 165, - "src": "2502:31:0", + "src": "2526:31:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -19093,7 +19093,7 @@ "name": "TransactionType", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 12, - "src": "2502:15:0", + "src": "2526:15:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -19103,16 +19103,16 @@ "visibility": "internal" } ], - "src": "2464:75:0" + "src": "2488:75:0" }, - "src": "2435:262:0", + "src": "2459:262:0", "visibility": "internal" }, { "body": { "id": 181, "nodeType": "Block", - "src": "2742:152:0", + "src": "2766:152:0", "statements": [ { "expression": { @@ -19138,7 +19138,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1384, - "src": "2773:3:0", + "src": "2797:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -19152,7 +19152,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "2773:10:0", + "src": "2797:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -19171,7 +19171,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "2787:12:0", + "src": "2811:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -19185,7 +19185,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 167, - "src": "2800:10:0", + "src": "2824:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -19196,7 +19196,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "2787:24:0", + "src": "2811:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -19210,13 +19210,13 @@ "memberName": "buyer", "nodeType": "MemberAccess", "referencedDeclaration": 52, - "src": "2787:30:0", + "src": "2811:30:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "2773:44:0", + "src": "2797:44:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -19232,7 +19232,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "2819:47:0", + "src": "2843:47:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_b4fc72d2373e6fc668b2bc10a6c84713d84de5f4dc58bb69053e1a18ae67c2f9", @@ -19260,7 +19260,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "2752:7:0", + "src": "2776:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -19274,7 +19274,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2752:124:0", + "src": "2776:124:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -19282,12 +19282,12 @@ }, "id": 179, "nodeType": "ExpressionStatement", - "src": "2752:124:0" + "src": "2776:124:0" }, { "id": 180, "nodeType": "PlaceholderStatement", - "src": "2886:1:0" + "src": "2910:1:0" } ] }, @@ -19305,7 +19305,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 182, - "src": "2722:18:0", + "src": "2746:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -19316,7 +19316,7 @@ "id": 166, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "2722:7:0", + "src": "2746:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -19326,16 +19326,16 @@ "visibility": "internal" } ], - "src": "2721:20:0" + "src": "2745:20:0" }, - "src": "2703:191:0", + "src": "2727:191:0", "visibility": "internal" }, { "body": { "id": 233, "nodeType": "Block", - "src": "4031:347:0", + "src": "4055:347:0", "statements": [ { "expression": { @@ -19348,7 +19348,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 184, - "src": "4070:5:0", + "src": "4094:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -19361,7 +19361,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 186, - "src": "4089:6:0", + "src": "4113:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -19374,7 +19374,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 188, - "src": "4109:9:0", + "src": "4133:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -19387,7 +19387,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 190, - "src": "4132:9:0", + "src": "4156:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -19400,7 +19400,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 192, - "src": "4155:12:0", + "src": "4179:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -19413,7 +19413,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 194, - "src": "4181:10:0", + "src": "4205:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -19428,7 +19428,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1384, - "src": "4205:3:0", + "src": "4229:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -19442,7 +19442,7 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "4205:9:0", + "src": "4229:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -19455,7 +19455,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 196, - "src": "4228:8:0", + "src": "4252:8:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -19470,7 +19470,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12, - "src": "4250:15:0", + "src": "4274:15:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_TransactionType_$12_$", "typeString": "type(enum Escrow_v1_0.TransactionType)" @@ -19484,7 +19484,7 @@ "memberName": "ETHER", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "4250:21:0", + "src": "4274:21:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -19503,7 +19503,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "4293:1:0", + "src": "4317:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -19525,7 +19525,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "4285:7:0", + "src": "4309:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" @@ -19540,7 +19540,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4285:10:0", + "src": "4309:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -19595,7 +19595,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1210, - "src": "4041:15:0", + "src": "4065:15:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_address_$_t_uint8_$_t_uint32_$_t_bytes32_$_t_uint256_$_t_bytes20_$_t_enum$_TransactionType_$12_$_t_address_$returns$__$", "typeString": "function (address,address,address,uint8,uint32,bytes32,uint256,bytes20,enum Escrow_v1_0.TransactionType,address)" @@ -19609,7 +19609,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4041:264:0", + "src": "4065:264:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -19617,7 +19617,7 @@ }, "id": 224, "nodeType": "ExpressionStatement", - "src": "4041:264:0" + "src": "4065:264:0" }, { "eventCall": { @@ -19630,7 +19630,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 194, - "src": "4336:10:0", + "src": "4360:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -19645,7 +19645,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1384, - "src": "4348:3:0", + "src": "4372:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -19659,7 +19659,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "4348:10:0", + "src": "4372:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -19674,7 +19674,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1384, - "src": "4360:3:0", + "src": "4384:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -19688,7 +19688,7 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "4360:9:0", + "src": "4384:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -19715,7 +19715,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 38, - "src": "4329:6:0", + "src": "4353:6:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (bytes32,address,uint256)" @@ -19729,7 +19729,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4329:41:0", + "src": "4353:41:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -19737,7 +19737,7 @@ }, "id": 232, "nodeType": "EmitStatement", - "src": "4324:46:0" + "src": "4348:46:0" } ] }, @@ -19756,7 +19756,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 194, - "src": "3954:10:0", + "src": "3978:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -19771,14 +19771,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 115, - "src": "3930:23:0", + "src": "3954:23:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "3930:35:0" + "src": "3954:35:0" }, { "arguments": [ @@ -19789,7 +19789,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 184, - "src": "3989:5:0", + "src": "4013:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -19804,14 +19804,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 147, - "src": "3974:14:0", + "src": "3998:14:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_address_$", "typeString": "modifier (address)" } }, "nodeType": "ModifierInvocation", - "src": "3974:21:0" + "src": "3998:21:0" }, { "arguments": [ @@ -19822,7 +19822,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 186, - "src": "4019:6:0", + "src": "4043:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -19837,14 +19837,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 147, - "src": "4004:14:0", + "src": "4028:14:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_address_$", "typeString": "modifier (address)" } }, "nodeType": "ModifierInvocation", - "src": "4004:22:0" + "src": "4028:22:0" } ], "name": "addTransaction", @@ -19859,7 +19859,7 @@ "name": "buyer", "nodeType": "VariableDeclaration", "scope": 234, - "src": "3710:13:0", + "src": "3734:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -19870,7 +19870,7 @@ "id": 183, "name": "address", "nodeType": "ElementaryTypeName", - "src": "3710:7:0", + "src": "3734:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -19885,7 +19885,7 @@ "name": "seller", "nodeType": "VariableDeclaration", "scope": 234, - "src": "3733:14:0", + "src": "3757:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -19896,7 +19896,7 @@ "id": 185, "name": "address", "nodeType": "ElementaryTypeName", - "src": "3733:7:0", + "src": "3757:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -19911,7 +19911,7 @@ "name": "moderator", "nodeType": "VariableDeclaration", "scope": 234, - "src": "3757:17:0", + "src": "3781:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -19922,7 +19922,7 @@ "id": 187, "name": "address", "nodeType": "ElementaryTypeName", - "src": "3757:7:0", + "src": "3781:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -19937,7 +19937,7 @@ "name": "threshold", "nodeType": "VariableDeclaration", "scope": 234, - "src": "3784:15:0", + "src": "3808:15:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -19948,7 +19948,7 @@ "id": 189, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "3784:5:0", + "src": "3808:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -19963,7 +19963,7 @@ "name": "timeoutHours", "nodeType": "VariableDeclaration", "scope": 234, - "src": "3809:19:0", + "src": "3833:19:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -19974,7 +19974,7 @@ "id": 191, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "3809:6:0", + "src": "3833:6:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -19989,7 +19989,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 234, - "src": "3838:18:0", + "src": "3862:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -20000,7 +20000,7 @@ "id": 193, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "3838:7:0", + "src": "3862:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -20015,7 +20015,7 @@ "name": "uniqueId", "nodeType": "VariableDeclaration", "scope": 234, - "src": "3866:16:0", + "src": "3890:16:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -20026,7 +20026,7 @@ "id": 195, "name": "bytes20", "nodeType": "ElementaryTypeName", - "src": "3866:7:0", + "src": "3890:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -20036,17 +20036,17 @@ "visibility": "internal" } ], - "src": "3700:188:0" + "src": "3724:188:0" }, "payable": true, "returnParameters": { "id": 207, "nodeType": "ParameterList", "parameters": [], - "src": "4031:0:0" + "src": "4055:0:0" }, "scope": 1211, - "src": "3677:701:0", + "src": "3701:701:0", "stateMutability": "payable", "superFunction": null, "visibility": "external" @@ -20055,7 +20055,7 @@ "body": { "id": 305, "nodeType": "Block", - "src": "5745:588:0", + "src": "5769:588:0", "statements": [ { "expression": { @@ -20068,7 +20068,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 236, - "src": "5785:5:0", + "src": "5809:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -20081,7 +20081,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 238, - "src": "5804:6:0", + "src": "5828:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -20094,7 +20094,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 240, - "src": "5824:9:0", + "src": "5848:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -20107,7 +20107,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 242, - "src": "5847:9:0", + "src": "5871:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -20120,7 +20120,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 244, - "src": "5870:12:0", + "src": "5894:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -20133,7 +20133,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 246, - "src": "5896:10:0", + "src": "5920:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -20146,7 +20146,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 248, - "src": "5920:5:0", + "src": "5944:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -20159,7 +20159,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 250, - "src": "5939:8:0", + "src": "5963:8:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -20174,7 +20174,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12, - "src": "5961:15:0", + "src": "5985:15:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_TransactionType_$12_$", "typeString": "type(enum Escrow_v1_0.TransactionType)" @@ -20188,7 +20188,7 @@ "memberName": "TOKEN", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "5961:21:0", + "src": "5985:21:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -20201,7 +20201,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 252, - "src": "5996:12:0", + "src": "6020:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -20256,7 +20256,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1210, - "src": "5756:15:0", + "src": "5780:15:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_address_$_t_uint8_$_t_uint32_$_t_bytes32_$_t_uint256_$_t_bytes20_$_t_enum$_TransactionType_$12_$_t_address_$returns$__$", "typeString": "function (address,address,address,uint8,uint32,bytes32,uint256,bytes20,enum Escrow_v1_0.TransactionType,address)" @@ -20270,7 +20270,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5756:262:0", + "src": "5780:262:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -20278,7 +20278,7 @@ }, "id": 280, "nodeType": "ExpressionStatement", - "src": "5756:262:0" + "src": "5780:262:0" }, { "assignments": [ @@ -20291,7 +20291,7 @@ "name": "token", "nodeType": "VariableDeclaration", "scope": 306, - "src": "6029:20:0", + "src": "6053:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -20304,7 +20304,7 @@ "name": "ITokenContract", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 1241, - "src": "6029:14:0", + "src": "6053:14:0", "typeDescriptions": { "typeIdentifier": "t_contract$_ITokenContract_$1241", "typeString": "contract ITokenContract" @@ -20325,7 +20325,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 252, - "src": "6067:12:0", + "src": "6091:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -20344,7 +20344,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1241, - "src": "6052:14:0", + "src": "6076:14:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_ITokenContract_$1241_$", "typeString": "type(contract ITokenContract)" @@ -20358,14 +20358,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6052:28:0", + "src": "6076:28:0", "typeDescriptions": { "typeIdentifier": "t_contract$_ITokenContract_$1241", "typeString": "contract ITokenContract" } }, "nodeType": "VariableDeclarationStatement", - "src": "6029:51:0" + "src": "6053:51:0" }, { "expression": { @@ -20383,7 +20383,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1384, - "src": "6131:3:0", + "src": "6155:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -20397,7 +20397,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "6131:10:0", + "src": "6155:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -20410,7 +20410,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1401, - "src": "6143:4:0", + "src": "6167:4:0", "typeDescriptions": { "typeIdentifier": "t_contract$_Escrow_v1_0_$1211", "typeString": "contract Escrow_v1_0" @@ -20423,7 +20423,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 248, - "src": "6149:5:0", + "src": "6173:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -20452,7 +20452,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 282, - "src": "6112:5:0", + "src": "6136:5:0", "typeDescriptions": { "typeIdentifier": "t_contract$_ITokenContract_$1241", "typeString": "contract ITokenContract" @@ -20466,7 +20466,7 @@ "memberName": "transferFrom", "nodeType": "MemberAccess", "referencedDeclaration": 1240, - "src": "6112:18:0", + "src": "6136:18:0", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", "typeString": "function (address,address,uint256) external returns (bool)" @@ -20480,7 +20480,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6112:43:0", + "src": "6136:43:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -20496,7 +20496,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "6169:95:0", + "src": "6193:95:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_d81b627ac67759234197a5bdf4d9f7d33298e824ce7bd47e08ce9919cd96c696", @@ -20524,7 +20524,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "6091:7:0", + "src": "6115:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -20538,7 +20538,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6091:183:0", + "src": "6115:183:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -20546,7 +20546,7 @@ }, "id": 297, "nodeType": "ExpressionStatement", - "src": "6091:183:0" + "src": "6115:183:0" }, { "eventCall": { @@ -20559,7 +20559,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 246, - "src": "6296:10:0", + "src": "6320:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -20574,7 +20574,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1384, - "src": "6308:3:0", + "src": "6332:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -20588,7 +20588,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "6308:10:0", + "src": "6332:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -20601,7 +20601,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 248, - "src": "6320:5:0", + "src": "6344:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -20628,7 +20628,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 38, - "src": "6289:6:0", + "src": "6313:6:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (bytes32,address,uint256)" @@ -20642,7 +20642,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6289:37:0", + "src": "6313:37:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -20650,7 +20650,7 @@ }, "id": 304, "nodeType": "EmitStatement", - "src": "6284:42:0" + "src": "6308:42:0" } ] }, @@ -20669,7 +20669,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 246, - "src": "5631:10:0", + "src": "5655:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -20684,14 +20684,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 115, - "src": "5607:23:0", + "src": "5631:23:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "5607:35:0" + "src": "5631:35:0" }, { "arguments": [ @@ -20702,7 +20702,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 236, - "src": "5666:5:0", + "src": "5690:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -20717,14 +20717,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 147, - "src": "5651:14:0", + "src": "5675:14:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_address_$", "typeString": "modifier (address)" } }, "nodeType": "ModifierInvocation", - "src": "5651:21:0" + "src": "5675:21:0" }, { "arguments": [ @@ -20735,7 +20735,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 238, - "src": "5696:6:0", + "src": "5720:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -20750,14 +20750,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 147, - "src": "5681:14:0", + "src": "5705:14:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_address_$", "typeString": "modifier (address)" } }, "nodeType": "ModifierInvocation", - "src": "5681:22:0" + "src": "5705:22:0" }, { "arguments": [ @@ -20768,7 +20768,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 252, - "src": "5727:12:0", + "src": "5751:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -20783,14 +20783,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 147, - "src": "5712:14:0", + "src": "5736:14:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_address_$", "typeString": "modifier (address)" } }, "nodeType": "ModifierInvocation", - "src": "5712:28:0" + "src": "5736:28:0" } ], "name": "addTokenTransaction", @@ -20805,7 +20805,7 @@ "name": "buyer", "nodeType": "VariableDeclaration", "scope": 306, - "src": "5350:13:0", + "src": "5374:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -20816,7 +20816,7 @@ "id": 235, "name": "address", "nodeType": "ElementaryTypeName", - "src": "5350:7:0", + "src": "5374:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -20831,7 +20831,7 @@ "name": "seller", "nodeType": "VariableDeclaration", "scope": 306, - "src": "5373:14:0", + "src": "5397:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -20842,7 +20842,7 @@ "id": 237, "name": "address", "nodeType": "ElementaryTypeName", - "src": "5373:7:0", + "src": "5397:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -20857,7 +20857,7 @@ "name": "moderator", "nodeType": "VariableDeclaration", "scope": 306, - "src": "5397:17:0", + "src": "5421:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -20868,7 +20868,7 @@ "id": 239, "name": "address", "nodeType": "ElementaryTypeName", - "src": "5397:7:0", + "src": "5421:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -20883,7 +20883,7 @@ "name": "threshold", "nodeType": "VariableDeclaration", "scope": 306, - "src": "5424:15:0", + "src": "5448:15:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -20894,7 +20894,7 @@ "id": 241, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "5424:5:0", + "src": "5448:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -20909,7 +20909,7 @@ "name": "timeoutHours", "nodeType": "VariableDeclaration", "scope": 306, - "src": "5449:19:0", + "src": "5473:19:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -20920,7 +20920,7 @@ "id": 243, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "5449:6:0", + "src": "5473:6:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -20935,7 +20935,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 306, - "src": "5478:18:0", + "src": "5502:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -20946,7 +20946,7 @@ "id": 245, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "5478:7:0", + "src": "5502:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -20961,7 +20961,7 @@ "name": "value", "nodeType": "VariableDeclaration", "scope": 306, - "src": "5506:13:0", + "src": "5530:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -20972,7 +20972,7 @@ "id": 247, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "5506:7:0", + "src": "5530:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -20987,7 +20987,7 @@ "name": "uniqueId", "nodeType": "VariableDeclaration", "scope": 306, - "src": "5529:16:0", + "src": "5553:16:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -20998,7 +20998,7 @@ "id": 249, "name": "bytes20", "nodeType": "ElementaryTypeName", - "src": "5529:7:0", + "src": "5553:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -21013,7 +21013,7 @@ "name": "tokenAddress", "nodeType": "VariableDeclaration", "scope": 306, - "src": "5555:20:0", + "src": "5579:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -21024,7 +21024,7 @@ "id": 251, "name": "address", "nodeType": "ElementaryTypeName", - "src": "5555:7:0", + "src": "5579:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -21034,17 +21034,17 @@ "visibility": "internal" } ], - "src": "5340:241:0" + "src": "5364:241:0" }, "payable": false, "returnParameters": { "id": 266, "nodeType": "ParameterList", "parameters": [], - "src": "5745:0:0" + "src": "5769:0:0" }, "scope": 1211, - "src": "5312:1021:0", + "src": "5336:1021:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" @@ -21053,7 +21053,7 @@ "body": { "id": 322, "nodeType": "Block", - "src": "6720:75:0", + "src": "6744:75:0", "statements": [ { "expression": { @@ -21069,7 +21069,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "6737:12:0", + "src": "6761:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -21083,7 +21083,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 308, - "src": "6750:10:0", + "src": "6774:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -21094,7 +21094,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "6737:24:0", + "src": "6761:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -21108,7 +21108,7 @@ "memberName": "beneficiaries", "nodeType": "MemberAccess", "referencedDeclaration": 70, - "src": "6737:38:0", + "src": "6761:38:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -21122,7 +21122,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 310, - "src": "6776:11:0", + "src": "6800:11:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -21133,7 +21133,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "6737:51:0", + "src": "6761:51:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -21142,7 +21142,7 @@ "functionReturnParameters": 314, "id": 321, "nodeType": "Return", - "src": "6730:58:0" + "src": "6754:58:0" } ] }, @@ -21164,7 +21164,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 323, - "src": "6609:18:0", + "src": "6633:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -21175,7 +21175,7 @@ "id": 307, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "6609:7:0", + "src": "6633:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -21190,7 +21190,7 @@ "name": "beneficiary", "nodeType": "VariableDeclaration", "scope": 323, - "src": "6637:19:0", + "src": "6661:19:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -21201,7 +21201,7 @@ "id": 309, "name": "address", "nodeType": "ElementaryTypeName", - "src": "6637:7:0", + "src": "6661:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -21211,7 +21211,7 @@ "visibility": "internal" } ], - "src": "6599:63:0" + "src": "6623:63:0" }, "payable": false, "returnParameters": { @@ -21224,7 +21224,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 323, - "src": "6710:4:0", + "src": "6734:4:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -21235,7 +21235,7 @@ "id": 312, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "6710:4:0", + "src": "6734:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -21245,10 +21245,10 @@ "visibility": "internal" } ], - "src": "6709:6:0" + "src": "6733:6:0" }, "scope": 1211, - "src": "6574:221:0", + "src": "6598:221:0", "stateMutability": "view", "superFunction": null, "visibility": "external" @@ -21257,7 +21257,7 @@ "body": { "id": 339, "nodeType": "Block", - "src": "7168:61:0", + "src": "7192:61:0", "statements": [ { "expression": { @@ -21273,7 +21273,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "7185:12:0", + "src": "7209:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -21287,7 +21287,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 325, - "src": "7198:10:0", + "src": "7222:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -21298,7 +21298,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "7185:24:0", + "src": "7209:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -21312,7 +21312,7 @@ "memberName": "voted", "nodeType": "MemberAccess", "referencedDeclaration": 66, - "src": "7185:30:0", + "src": "7209:30:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -21326,7 +21326,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 327, - "src": "7216:5:0", + "src": "7240:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -21337,7 +21337,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "7185:37:0", + "src": "7209:37:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -21346,7 +21346,7 @@ "functionReturnParameters": 331, "id": 338, "nodeType": "Return", - "src": "7178:44:0" + "src": "7202:44:0" } ] }, @@ -21368,7 +21368,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 340, - "src": "7063:18:0", + "src": "7087:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -21379,7 +21379,7 @@ "id": 324, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "7063:7:0", + "src": "7087:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -21394,7 +21394,7 @@ "name": "party", "nodeType": "VariableDeclaration", "scope": 340, - "src": "7091:13:0", + "src": "7115:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -21405,7 +21405,7 @@ "id": 326, "name": "address", "nodeType": "ElementaryTypeName", - "src": "7091:7:0", + "src": "7115:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -21415,7 +21415,7 @@ "visibility": "internal" } ], - "src": "7053:57:0" + "src": "7077:57:0" }, "payable": false, "returnParameters": { @@ -21428,7 +21428,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 340, - "src": "7158:4:0", + "src": "7182:4:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -21439,7 +21439,7 @@ "id": 329, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "7158:4:0", + "src": "7182:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -21449,10 +21449,10 @@ "visibility": "internal" } ], - "src": "7157:6:0" + "src": "7181:6:0" }, "scope": 1211, - "src": "7035:194:0", + "src": "7059:194:0", "stateMutability": "view", "superFunction": null, "visibility": "external" @@ -21461,7 +21461,7 @@ "body": { "id": 399, "nodeType": "Block", - "src": "7832:330:0", + "src": "7856:330:0", "statements": [ { "assignments": [ @@ -21474,7 +21474,7 @@ "name": "_value", "nodeType": "VariableDeclaration", "scope": 400, - "src": "7842:14:0", + "src": "7866:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -21485,7 +21485,7 @@ "id": 359, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "7842:7:0", + "src": "7866:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -21505,7 +21505,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1384, - "src": "7859:3:0", + "src": "7883:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -21519,14 +21519,14 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "7859:9:0", + "src": "7883:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "7842:26:0" + "src": "7866:26:0" }, { "expression": { @@ -21550,7 +21550,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 360, - "src": "7887:6:0", + "src": "7911:6:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -21568,7 +21568,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "7896:1:0", + "src": "7920:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -21576,7 +21576,7 @@ }, "value": "0" }, - "src": "7887:10:0", + "src": "7911:10:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -21592,7 +21592,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "7899:34:0", + "src": "7923:34:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_21fbec2be6560b9ccffc4980d43c0d147770168e7aaf24999b418b9010085622", @@ -21620,7 +21620,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "7879:7:0", + "src": "7903:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -21634,7 +21634,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7879:55:0", + "src": "7903:55:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -21642,7 +21642,7 @@ }, "id": 370, "nodeType": "ExpressionStatement", - "src": "7879:55:0" + "src": "7903:55:0" }, { "expression": { @@ -21663,7 +21663,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "7945:12:0", + "src": "7969:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -21677,7 +21677,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 342, - "src": "7958:10:0", + "src": "7982:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -21688,7 +21688,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "7945:24:0", + "src": "7969:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -21702,7 +21702,7 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": 40, - "src": "7945:30:0", + "src": "7969:30:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -21720,7 +21720,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 360, - "src": "8026:6:0", + "src": "8050:6:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -21745,7 +21745,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "7978:12:0", + "src": "8002:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -21759,7 +21759,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 342, - "src": "7991:10:0", + "src": "8015:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -21770,7 +21770,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "7978:24:0", + "src": "8002:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -21784,7 +21784,7 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": 40, - "src": "7978:30:0", + "src": "8002:30:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -21798,7 +21798,7 @@ "memberName": "add", "nodeType": "MemberAccess", "referencedDeclaration": 1348, - "src": "7978:47:0", + "src": "8002:47:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" @@ -21812,13 +21812,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7978:55:0", + "src": "8002:55:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "7945:88:0", + "src": "7969:88:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -21826,7 +21826,7 @@ }, "id": 383, "nodeType": "ExpressionStatement", - "src": "7945:88:0" + "src": "7969:88:0" }, { "expression": { @@ -21847,7 +21847,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "8043:12:0", + "src": "8067:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -21861,7 +21861,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 342, - "src": "8056:10:0", + "src": "8080:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -21872,7 +21872,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "8043:24:0", + "src": "8067:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -21886,7 +21886,7 @@ "memberName": "lastModified", "nodeType": "MemberAccess", "referencedDeclaration": 42, - "src": "8043:37:0", + "src": "8067:37:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -21903,7 +21903,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1374, - "src": "8083:5:0", + "src": "8107:5:0", "typeDescriptions": { "typeIdentifier": "t_magic_block", "typeString": "block" @@ -21917,13 +21917,13 @@ "memberName": "timestamp", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "8083:15:0", + "src": "8107:15:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "8043:55:0", + "src": "8067:55:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -21931,7 +21931,7 @@ }, "id": 391, "nodeType": "ExpressionStatement", - "src": "8043:55:0" + "src": "8067:55:0" }, { "eventCall": { @@ -21944,7 +21944,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 342, - "src": "8124:10:0", + "src": "8148:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -21959,7 +21959,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1384, - "src": "8136:3:0", + "src": "8160:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -21973,7 +21973,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "8136:10:0", + "src": "8160:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -21986,7 +21986,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 360, - "src": "8148:6:0", + "src": "8172:6:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -22013,7 +22013,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 30, - "src": "8114:9:0", + "src": "8138:9:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (bytes32,address,uint256)" @@ -22027,7 +22027,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8114:41:0", + "src": "8138:41:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -22035,7 +22035,7 @@ }, "id": 398, "nodeType": "EmitStatement", - "src": "8109:46:0" + "src": "8133:46:0" } ] }, @@ -22054,7 +22054,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 342, - "src": "7679:10:0", + "src": "7703:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -22069,14 +22069,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 99, - "src": "7662:16:0", + "src": "7686:16:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "7662:28:0" + "src": "7686:28:0" }, { "arguments": [ @@ -22087,7 +22087,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 342, - "src": "7713:10:0", + "src": "7737:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -22102,14 +22102,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 132, - "src": "7699:13:0", + "src": "7723:13:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "7699:25:0" + "src": "7723:25:0" }, { "arguments": [ @@ -22120,7 +22120,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 342, - "src": "7754:10:0", + "src": "7778:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -22135,7 +22135,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12, - "src": "7766:15:0", + "src": "7790:15:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_TransactionType_$12_$", "typeString": "type(enum Escrow_v1_0.TransactionType)" @@ -22149,7 +22149,7 @@ "memberName": "ETHER", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "7766:21:0", + "src": "7790:21:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -22164,14 +22164,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 165, - "src": "7733:20:0", + "src": "7757:20:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$_t_enum$_TransactionType_$12_$", "typeString": "modifier (bytes32,enum Escrow_v1_0.TransactionType)" } }, "nodeType": "ModifierInvocation", - "src": "7733:55:0" + "src": "7757:55:0" }, { "arguments": [ @@ -22182,7 +22182,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 342, - "src": "7807:10:0", + "src": "7831:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -22197,14 +22197,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 182, - "src": "7797:9:0", + "src": "7821:9:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "7797:21:0" + "src": "7821:21:0" } ], "name": "addFundsToTransaction", @@ -22219,7 +22219,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 400, - "src": "7596:18:0", + "src": "7620:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -22230,7 +22230,7 @@ "id": 341, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "7596:7:0", + "src": "7620:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -22240,17 +22240,17 @@ "visibility": "internal" } ], - "src": "7586:34:0" + "src": "7610:34:0" }, "payable": true, "returnParameters": { "id": 358, "nodeType": "ParameterList", "parameters": [], - "src": "7832:0:0" + "src": "7856:0:0" }, "scope": 1211, - "src": "7556:606:0", + "src": "7580:606:0", "stateMutability": "payable", "superFunction": null, "visibility": "external" @@ -22259,7 +22259,7 @@ "body": { "id": 482, "nodeType": "Block", - "src": "8765:648:0", + "src": "8789:648:0", "statements": [ { "assignments": [ @@ -22272,7 +22272,7 @@ "name": "_value", "nodeType": "VariableDeclaration", "scope": 483, - "src": "8775:14:0", + "src": "8799:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -22283,7 +22283,7 @@ "id": 421, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "8775:7:0", + "src": "8799:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -22301,14 +22301,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 404, - "src": "8792:5:0", + "src": "8816:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "8775:22:0" + "src": "8799:22:0" }, { "expression": { @@ -22332,7 +22332,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 422, - "src": "8816:6:0", + "src": "8840:6:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -22350,7 +22350,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "8825:1:0", + "src": "8849:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -22358,7 +22358,7 @@ }, "value": "0" }, - "src": "8816:10:0", + "src": "8840:10:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -22374,7 +22374,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "8828:34:0", + "src": "8852:34:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_21fbec2be6560b9ccffc4980d43c0d147770168e7aaf24999b418b9010085622", @@ -22402,7 +22402,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "8808:7:0", + "src": "8832:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -22416,7 +22416,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8808:55:0", + "src": "8832:55:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -22424,7 +22424,7 @@ }, "id": 431, "nodeType": "ExpressionStatement", - "src": "8808:55:0" + "src": "8832:55:0" }, { "assignments": [ @@ -22437,7 +22437,7 @@ "name": "token", "nodeType": "VariableDeclaration", "scope": 483, - "src": "8874:20:0", + "src": "8898:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -22450,7 +22450,7 @@ "name": "ITokenContract", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 1241, - "src": "8874:14:0", + "src": "8898:14:0", "typeDescriptions": { "typeIdentifier": "t_contract$_ITokenContract_$1241", "typeString": "contract ITokenContract" @@ -22475,7 +22475,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "8925:12:0", + "src": "8949:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -22489,7 +22489,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 402, - "src": "8938:10:0", + "src": "8962:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -22500,7 +22500,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "8925:24:0", + "src": "8949:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -22514,7 +22514,7 @@ "memberName": "tokenAddress", "nodeType": "MemberAccess", "referencedDeclaration": 56, - "src": "8925:37:0", + "src": "8949:37:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -22533,7 +22533,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1241, - "src": "8897:14:0", + "src": "8921:14:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_ITokenContract_$1241_$", "typeString": "type(contract ITokenContract)" @@ -22547,14 +22547,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8897:75:0", + "src": "8921:75:0", "typeDescriptions": { "typeIdentifier": "t_contract$_ITokenContract_$1241", "typeString": "contract ITokenContract" } }, "nodeType": "VariableDeclarationStatement", - "src": "8874:98:0" + "src": "8898:98:0" }, { "expression": { @@ -22574,7 +22574,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "9023:12:0", + "src": "9047:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -22588,7 +22588,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 402, - "src": "9036:10:0", + "src": "9060:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -22599,7 +22599,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "9023:24:0", + "src": "9047:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -22613,7 +22613,7 @@ "memberName": "buyer", "nodeType": "MemberAccess", "referencedDeclaration": 52, - "src": "9023:30:0", + "src": "9047:30:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -22626,7 +22626,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1401, - "src": "9055:4:0", + "src": "9079:4:0", "typeDescriptions": { "typeIdentifier": "t_contract$_Escrow_v1_0_$1211", "typeString": "contract Escrow_v1_0" @@ -22639,7 +22639,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 404, - "src": "9061:5:0", + "src": "9085:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -22668,7 +22668,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 433, - "src": "9004:5:0", + "src": "9028:5:0", "typeDescriptions": { "typeIdentifier": "t_contract$_ITokenContract_$1241", "typeString": "contract ITokenContract" @@ -22682,7 +22682,7 @@ "memberName": "transferFrom", "nodeType": "MemberAccess", "referencedDeclaration": 1240, - "src": "9004:18:0", + "src": "9028:18:0", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", "typeString": "function (address,address,uint256) external returns (bool)" @@ -22696,7 +22696,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "9004:63:0", + "src": "9028:63:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -22712,7 +22712,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "9081:94:0", + "src": "9105:94:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_d9d07068d589bc4adc53018a3c57c159ec128fdfb62732a5fa9410e76cf03318", @@ -22740,7 +22740,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "8983:7:0", + "src": "9007:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -22754,7 +22754,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8983:202:0", + "src": "9007:202:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -22762,7 +22762,7 @@ }, "id": 453, "nodeType": "ExpressionStatement", - "src": "8983:202:0" + "src": "9007:202:0" }, { "expression": { @@ -22783,7 +22783,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "9196:12:0", + "src": "9220:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -22797,7 +22797,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 402, - "src": "9209:10:0", + "src": "9233:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -22808,7 +22808,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "9196:24:0", + "src": "9220:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -22822,7 +22822,7 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": 40, - "src": "9196:30:0", + "src": "9220:30:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -22840,7 +22840,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 422, - "src": "9277:6:0", + "src": "9301:6:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -22865,7 +22865,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "9229:12:0", + "src": "9253:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -22879,7 +22879,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 402, - "src": "9242:10:0", + "src": "9266:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -22890,7 +22890,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "9229:24:0", + "src": "9253:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -22904,7 +22904,7 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": 40, - "src": "9229:30:0", + "src": "9253:30:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -22918,7 +22918,7 @@ "memberName": "add", "nodeType": "MemberAccess", "referencedDeclaration": 1348, - "src": "9229:47:0", + "src": "9253:47:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" @@ -22932,13 +22932,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "9229:55:0", + "src": "9253:55:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "9196:88:0", + "src": "9220:88:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -22946,7 +22946,7 @@ }, "id": 466, "nodeType": "ExpressionStatement", - "src": "9196:88:0" + "src": "9220:88:0" }, { "expression": { @@ -22967,7 +22967,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "9294:12:0", + "src": "9318:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -22981,7 +22981,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 402, - "src": "9307:10:0", + "src": "9331:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -22992,7 +22992,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "9294:24:0", + "src": "9318:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -23006,7 +23006,7 @@ "memberName": "lastModified", "nodeType": "MemberAccess", "referencedDeclaration": 42, - "src": "9294:37:0", + "src": "9318:37:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -23023,7 +23023,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1374, - "src": "9334:5:0", + "src": "9358:5:0", "typeDescriptions": { "typeIdentifier": "t_magic_block", "typeString": "block" @@ -23037,13 +23037,13 @@ "memberName": "timestamp", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "9334:15:0", + "src": "9358:15:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "9294:55:0", + "src": "9318:55:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -23051,7 +23051,7 @@ }, "id": 474, "nodeType": "ExpressionStatement", - "src": "9294:55:0" + "src": "9318:55:0" }, { "eventCall": { @@ -23064,7 +23064,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 402, - "src": "9375:10:0", + "src": "9399:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -23079,7 +23079,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1384, - "src": "9387:3:0", + "src": "9411:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -23093,7 +23093,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "9387:10:0", + "src": "9411:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -23106,7 +23106,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 422, - "src": "9399:6:0", + "src": "9423:6:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -23133,7 +23133,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 30, - "src": "9365:9:0", + "src": "9389:9:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (bytes32,address,uint256)" @@ -23147,7 +23147,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "9365:41:0", + "src": "9389:41:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -23155,7 +23155,7 @@ }, "id": 481, "nodeType": "EmitStatement", - "src": "9360:46:0" + "src": "9384:46:0" } ] }, @@ -23174,7 +23174,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 402, - "src": "8621:10:0", + "src": "8645:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -23189,14 +23189,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 99, - "src": "8604:16:0", + "src": "8628:16:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "8604:28:0" + "src": "8628:28:0" }, { "arguments": [ @@ -23207,7 +23207,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 402, - "src": "8655:10:0", + "src": "8679:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -23222,14 +23222,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 132, - "src": "8641:13:0", + "src": "8665:13:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "8641:25:0" + "src": "8665:25:0" }, { "arguments": [ @@ -23240,7 +23240,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 402, - "src": "8696:10:0", + "src": "8720:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -23255,7 +23255,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12, - "src": "8708:15:0", + "src": "8732:15:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_TransactionType_$12_$", "typeString": "type(enum Escrow_v1_0.TransactionType)" @@ -23269,7 +23269,7 @@ "memberName": "TOKEN", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "8708:21:0", + "src": "8732:21:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -23284,14 +23284,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 165, - "src": "8675:20:0", + "src": "8699:20:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$_t_enum$_TransactionType_$12_$", "typeString": "modifier (bytes32,enum Escrow_v1_0.TransactionType)" } }, "nodeType": "ModifierInvocation", - "src": "8675:55:0" + "src": "8699:55:0" }, { "arguments": [ @@ -23302,7 +23302,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 402, - "src": "8749:10:0", + "src": "8773:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -23317,14 +23317,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 182, - "src": "8739:9:0", + "src": "8763:9:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "8739:21:0" + "src": "8763:21:0" } ], "name": "addTokensToTransaction", @@ -23339,7 +23339,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 483, - "src": "8531:18:0", + "src": "8555:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -23350,7 +23350,7 @@ "id": 401, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "8531:7:0", + "src": "8555:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -23365,7 +23365,7 @@ "name": "value", "nodeType": "VariableDeclaration", "scope": 483, - "src": "8559:13:0", + "src": "8583:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -23376,7 +23376,7 @@ "id": 403, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "8559:7:0", + "src": "8583:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -23386,17 +23386,17 @@ "visibility": "internal" } ], - "src": "8521:57:0" + "src": "8545:57:0" }, "payable": false, "returnParameters": { "id": 420, "nodeType": "ParameterList", "parameters": [], - "src": "8765:0:0" + "src": "8789:0:0" }, "scope": 1211, - "src": "8490:923:0", + "src": "8514:923:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" @@ -23405,7 +23405,7 @@ "body": { "id": 495, "nodeType": "Block", - "src": "9668:56:0", + "src": "9692:56:0", "statements": [ { "expression": { @@ -23417,7 +23417,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 83, - "src": "9685:18:0", + "src": "9709:18:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_bytes32_$dyn_storage_$", "typeString": "mapping(address => bytes32[] storage ref)" @@ -23431,7 +23431,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 485, - "src": "9704:12:0", + "src": "9728:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -23442,7 +23442,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "9685:32:0", + "src": "9709:32:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage", "typeString": "bytes32[] storage ref" @@ -23451,7 +23451,7 @@ "functionReturnParameters": 490, "id": 494, "nodeType": "Return", - "src": "9678:39:0" + "src": "9702:39:0" } ] }, @@ -23473,7 +23473,7 @@ "name": "partyAddress", "nodeType": "VariableDeclaration", "scope": 496, - "src": "9575:20:0", + "src": "9599:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -23484,7 +23484,7 @@ "id": 484, "name": "address", "nodeType": "ElementaryTypeName", - "src": "9575:7:0", + "src": "9599:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -23494,7 +23494,7 @@ "visibility": "internal" } ], - "src": "9565:36:0" + "src": "9589:36:0" }, "payable": false, "returnParameters": { @@ -23507,7 +23507,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 496, - "src": "9652:9:0", + "src": "9676:9:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -23519,7 +23519,7 @@ "id": 487, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "9652:7:0", + "src": "9676:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -23528,7 +23528,7 @@ "id": 488, "length": null, "nodeType": "ArrayTypeName", - "src": "9652:9:0", + "src": "9676:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -23538,10 +23538,10 @@ "visibility": "internal" } ], - "src": "9651:11:0" + "src": "9675:11:0" }, "scope": 1211, - "src": "9530:194:0", + "src": "9554:194:0", "stateMutability": "view", "superFunction": null, "visibility": "external" @@ -23550,7 +23550,7 @@ "body": { "id": 581, "nodeType": "Block", - "src": "10594:790:0", + "src": "10618:790:0", "statements": [ { "expression": { @@ -23587,7 +23587,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 510, - "src": "10625:12:0", + "src": "10649:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" @@ -23601,7 +23601,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "10625:19:0", + "src": "10649:19:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -23619,7 +23619,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "10645:1:0", + "src": "10669:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -23627,7 +23627,7 @@ }, "value": "0" }, - "src": "10625:21:0", + "src": "10649:21:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -23655,7 +23655,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 510, - "src": "10650:12:0", + "src": "10674:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" @@ -23669,7 +23669,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "10650:19:0", + "src": "10674:19:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -23686,7 +23686,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 513, - "src": "10673:7:0", + "src": "10697:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", "typeString": "uint256[] calldata" @@ -23700,19 +23700,19 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "10673:14:0", + "src": "10697:14:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "10650:37:0", + "src": "10674:37:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "10625:62:0", + "src": "10649:62:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -23728,7 +23728,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "10689:38:0", + "src": "10713:38:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_53e979b0c355ea1eeda44a80ca73370fdb2abe922711b459aa4ee43d1558782b", @@ -23756,7 +23756,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "10604:7:0", + "src": "10628:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -23770,7 +23770,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "10604:133:0", + "src": "10628:133:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -23778,7 +23778,7 @@ }, "id": 535, "nodeType": "ExpressionStatement", - "src": "10604:133:0" + "src": "10628:133:0" }, { "expression": { @@ -23791,7 +23791,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 499, - "src": "10779:4:0", + "src": "10803:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_calldata_ptr", "typeString": "uint8[] calldata" @@ -23804,7 +23804,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 502, - "src": "10797:4:0", + "src": "10821:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", "typeString": "bytes32[] calldata" @@ -23817,7 +23817,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 505, - "src": "10815:4:0", + "src": "10839:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", "typeString": "bytes32[] calldata" @@ -23830,7 +23830,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 507, - "src": "10833:10:0", + "src": "10857:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -23843,7 +23843,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 510, - "src": "10857:12:0", + "src": "10881:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" @@ -23856,7 +23856,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 513, - "src": "10883:7:0", + "src": "10907:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", "typeString": "uint256[] calldata" @@ -23895,7 +23895,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 706, - "src": "10748:17:0", + "src": "10772:17:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_array$_t_uint8_$dyn_memory_ptr_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_bytes32_$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$__$", "typeString": "function (uint8[] memory,bytes32[] memory,bytes32[] memory,bytes32,address[] memory,uint256[] memory)" @@ -23909,7 +23909,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "10748:152:0", + "src": "10772:152:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -23917,7 +23917,7 @@ }, "id": 544, "nodeType": "ExpressionStatement", - "src": "10748:152:0" + "src": "10772:152:0" }, { "expression": { @@ -23938,7 +23938,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "10911:12:0", + "src": "10935:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -23952,7 +23952,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 507, - "src": "10924:10:0", + "src": "10948:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -23963,7 +23963,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "10911:24:0", + "src": "10935:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -23977,7 +23977,7 @@ "memberName": "status", "nodeType": "MemberAccess", "referencedDeclaration": 44, - "src": "10911:31:0", + "src": "10935:31:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$9", "typeString": "enum Escrow_v1_0.Status" @@ -23994,7 +23994,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9, - "src": "10945:6:0", + "src": "10969:6:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_Status_$9_$", "typeString": "type(enum Escrow_v1_0.Status)" @@ -24008,13 +24008,13 @@ "memberName": "RELEASED", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "10945:15:0", + "src": "10969:15:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$9", "typeString": "enum Escrow_v1_0.Status" } }, - "src": "10911:49:0", + "src": "10935:49:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$9", "typeString": "enum Escrow_v1_0.Status" @@ -24022,7 +24022,7 @@ }, "id": 552, "nodeType": "ExpressionStatement", - "src": "10911:49:0" + "src": "10935:49:0" }, { "expression": { @@ -24043,7 +24043,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "11044:12:0", + "src": "11068:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -24057,7 +24057,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 507, - "src": "11057:10:0", + "src": "11081:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -24068,7 +24068,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "11044:24:0", + "src": "11068:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -24082,7 +24082,7 @@ "memberName": "lastModified", "nodeType": "MemberAccess", "referencedDeclaration": 42, - "src": "11044:37:0", + "src": "11068:37:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -24099,7 +24099,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1374, - "src": "11084:5:0", + "src": "11108:5:0", "typeDescriptions": { "typeIdentifier": "t_magic_block", "typeString": "block" @@ -24113,13 +24113,13 @@ "memberName": "timestamp", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "11084:15:0", + "src": "11108:15:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "11044:55:0", + "src": "11068:55:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -24127,7 +24127,7 @@ }, "id": 560, "nodeType": "ExpressionStatement", - "src": "11044:55:0" + "src": "11068:55:0" }, { "expression": { @@ -24154,7 +24154,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 507, - "src": "11144:10:0", + "src": "11168:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -24167,7 +24167,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 510, - "src": "11156:12:0", + "src": "11180:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" @@ -24180,7 +24180,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 513, - "src": "11170:7:0", + "src": "11194:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", "typeString": "uint256[] calldata" @@ -24207,7 +24207,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 893, - "src": "11130:13:0", + "src": "11154:13:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$_t_uint256_$", "typeString": "function (bytes32,address[] memory,uint256[] memory) returns (uint256)" @@ -24221,7 +24221,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "11130:48:0", + "src": "11154:48:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -24240,7 +24240,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "11182:12:0", + "src": "11206:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -24254,7 +24254,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 507, - "src": "11195:10:0", + "src": "11219:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -24265,7 +24265,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "11182:24:0", + "src": "11206:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -24279,13 +24279,13 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": 40, - "src": "11182:30:0", + "src": "11206:30:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "11130:82:0", + "src": "11154:82:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -24301,7 +24301,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "11226:74:0", + "src": "11250:74:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_9e0bdb14e2e0d5e118fd1f547268c6a1fdb5e8facacd614066d4b60bc2c9941d", @@ -24329,7 +24329,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "11109:7:0", + "src": "11133:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -24343,7 +24343,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "11109:201:0", + "src": "11133:201:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -24351,7 +24351,7 @@ }, "id": 574, "nodeType": "ExpressionStatement", - "src": "11109:201:0" + "src": "11133:201:0" }, { "eventCall": { @@ -24364,7 +24364,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 507, - "src": "11343:10:0", + "src": "11367:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -24377,7 +24377,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 510, - "src": "11355:12:0", + "src": "11379:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" @@ -24390,7 +24390,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 513, - "src": "11369:7:0", + "src": "11393:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", "typeString": "uint256[] calldata" @@ -24417,7 +24417,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 22, - "src": "11334:8:0", + "src": "11358:8:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$__$", "typeString": "function (bytes32,address[] memory,uint256[] memory)" @@ -24431,7 +24431,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "11334:43:0", + "src": "11358:43:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -24439,7 +24439,7 @@ }, "id": 580, "nodeType": "EmitStatement", - "src": "11329:48:0" + "src": "11353:48:0" } ] }, @@ -24458,7 +24458,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 507, - "src": "10544:10:0", + "src": "10568:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -24473,14 +24473,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 99, - "src": "10527:16:0", + "src": "10551:16:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "10527:28:0" + "src": "10551:28:0" }, { "arguments": [ @@ -24491,7 +24491,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 507, - "src": "10578:10:0", + "src": "10602:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -24506,14 +24506,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 132, - "src": "10564:13:0", + "src": "10588:13:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "10564:25:0" + "src": "10588:25:0" } ], "name": "execute", @@ -24528,7 +24528,7 @@ "name": "sigV", "nodeType": "VariableDeclaration", "scope": 582, - "src": "10348:12:0", + "src": "10372:12:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -24540,7 +24540,7 @@ "id": 497, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "10348:5:0", + "src": "10372:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -24549,7 +24549,7 @@ "id": 498, "length": null, "nodeType": "ArrayTypeName", - "src": "10348:7:0", + "src": "10372:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_storage_ptr", "typeString": "uint8[]" @@ -24564,7 +24564,7 @@ "name": "sigR", "nodeType": "VariableDeclaration", "scope": 582, - "src": "10370:14:0", + "src": "10394:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -24576,7 +24576,7 @@ "id": 500, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "10370:7:0", + "src": "10394:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -24585,7 +24585,7 @@ "id": 501, "length": null, "nodeType": "ArrayTypeName", - "src": "10370:9:0", + "src": "10394:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -24600,7 +24600,7 @@ "name": "sigS", "nodeType": "VariableDeclaration", "scope": 582, - "src": "10394:14:0", + "src": "10418:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -24612,7 +24612,7 @@ "id": 503, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "10394:7:0", + "src": "10418:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -24621,7 +24621,7 @@ "id": 504, "length": null, "nodeType": "ArrayTypeName", - "src": "10394:9:0", + "src": "10418:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -24636,7 +24636,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 582, - "src": "10418:18:0", + "src": "10442:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -24647,7 +24647,7 @@ "id": 506, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "10418:7:0", + "src": "10442:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -24662,7 +24662,7 @@ "name": "destinations", "nodeType": "VariableDeclaration", "scope": 582, - "src": "10446:22:0", + "src": "10470:22:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -24674,7 +24674,7 @@ "id": 508, "name": "address", "nodeType": "ElementaryTypeName", - "src": "10446:7:0", + "src": "10470:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -24683,7 +24683,7 @@ "id": 509, "length": null, "nodeType": "ArrayTypeName", - "src": "10446:9:0", + "src": "10470:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", "typeString": "address[]" @@ -24698,7 +24698,7 @@ "name": "amounts", "nodeType": "VariableDeclaration", "scope": 582, - "src": "10478:17:0", + "src": "10502:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -24710,7 +24710,7 @@ "id": 511, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "10478:7:0", + "src": "10502:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -24719,7 +24719,7 @@ "id": 512, "length": null, "nodeType": "ArrayTypeName", - "src": "10478:9:0", + "src": "10502:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -24729,17 +24729,17 @@ "visibility": "internal" } ], - "src": "10338:163:0" + "src": "10362:163:0" }, "payable": false, "returnParameters": { "id": 521, "nodeType": "ParameterList", "parameters": [], - "src": "10594:0:0" + "src": "10618:0:0" }, "scope": 1211, - "src": "10322:1062:0", + "src": "10346:1062:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" @@ -24748,7 +24748,7 @@ "body": { "id": 636, "nodeType": "Block", - "src": "12138:716:0", + "src": "12162:716:0", "statements": [ { "condition": { @@ -24769,7 +24769,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 596, - "src": "12152:12:0", + "src": "12176:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -24790,7 +24790,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "12176:1:0", + "src": "12200:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -24812,7 +24812,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "12168:7:0", + "src": "12192:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" @@ -24827,13 +24827,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "12168:10:0", + "src": "12192:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "12152:26:0", + "src": "12176:26:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -24842,7 +24842,7 @@ "falseBody": { "id": 634, "nodeType": "Block", - "src": "12500:348:0", + "src": "12524:348:0", "statements": [ { "expression": { @@ -24858,7 +24858,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 584, - "src": "12586:8:0", + "src": "12610:8:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -24871,7 +24871,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 586, - "src": "12616:9:0", + "src": "12640:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -24884,7 +24884,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 588, - "src": "12647:12:0", + "src": "12671:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -24897,7 +24897,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 590, - "src": "12681:5:0", + "src": "12705:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -24910,7 +24910,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 592, - "src": "12708:6:0", + "src": "12732:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -24923,7 +24923,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 594, - "src": "12736:9:0", + "src": "12760:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -24936,7 +24936,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1401, - "src": "12767:4:0", + "src": "12791:4:0", "typeDescriptions": { "typeIdentifier": "t_contract$_Escrow_v1_0_$1211", "typeString": "contract Escrow_v1_0" @@ -24949,7 +24949,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 596, - "src": "12793:12:0", + "src": "12817:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -24998,7 +24998,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1371, - "src": "12548:3:0", + "src": "12572:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" @@ -25012,7 +25012,7 @@ "memberName": "encodePacked", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "12548:16:0", + "src": "12572:16:0", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" @@ -25026,7 +25026,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "12548:275:0", + "src": "12572:275:0", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -25045,7 +25045,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1378, - "src": "12521:9:0", + "src": "12545:9:0", "typeDescriptions": { "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", "typeString": "function () pure returns (bytes32)" @@ -25059,7 +25059,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "12521:316:0", + "src": "12545:316:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -25068,17 +25068,17 @@ "functionReturnParameters": 600, "id": 633, "nodeType": "Return", - "src": "12514:323:0" + "src": "12538:323:0" } ] }, "id": 635, "nodeType": "IfStatement", - "src": "12148:700:0", + "src": "12172:700:0", "trueBody": { "id": 619, "nodeType": "Block", - "src": "12180:314:0", + "src": "12204:314:0", "statements": [ { "expression": { @@ -25094,7 +25094,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 584, - "src": "12266:8:0", + "src": "12290:8:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -25107,7 +25107,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 586, - "src": "12296:9:0", + "src": "12320:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -25120,7 +25120,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 588, - "src": "12327:12:0", + "src": "12351:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -25133,7 +25133,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 590, - "src": "12361:5:0", + "src": "12385:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -25146,7 +25146,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 592, - "src": "12388:6:0", + "src": "12412:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -25159,7 +25159,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 594, - "src": "12416:9:0", + "src": "12440:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -25172,7 +25172,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1401, - "src": "12447:4:0", + "src": "12471:4:0", "typeDescriptions": { "typeIdentifier": "t_contract$_Escrow_v1_0_$1211", "typeString": "contract Escrow_v1_0" @@ -25217,7 +25217,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1371, - "src": "12228:3:0", + "src": "12252:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" @@ -25231,7 +25231,7 @@ "memberName": "encodePacked", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "12228:16:0", + "src": "12252:16:0", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" @@ -25245,7 +25245,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "12228:241:0", + "src": "12252:241:0", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -25264,7 +25264,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1378, - "src": "12201:9:0", + "src": "12225:9:0", "typeDescriptions": { "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", "typeString": "function () pure returns (bytes32)" @@ -25278,7 +25278,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "12201:282:0", + "src": "12225:282:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -25287,7 +25287,7 @@ "functionReturnParameters": 600, "id": 618, "nodeType": "Return", - "src": "12194:289:0" + "src": "12218:289:0" } ] } @@ -25312,7 +25312,7 @@ "name": "uniqueId", "nodeType": "VariableDeclaration", "scope": 637, - "src": "11899:16:0", + "src": "11923:16:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -25323,7 +25323,7 @@ "id": 583, "name": "bytes20", "nodeType": "ElementaryTypeName", - "src": "11899:7:0", + "src": "11923:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -25338,7 +25338,7 @@ "name": "threshold", "nodeType": "VariableDeclaration", "scope": 637, - "src": "11925:15:0", + "src": "11949:15:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -25349,7 +25349,7 @@ "id": 585, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "11925:5:0", + "src": "11949:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -25364,7 +25364,7 @@ "name": "timeoutHours", "nodeType": "VariableDeclaration", "scope": 637, - "src": "11950:19:0", + "src": "11974:19:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -25375,7 +25375,7 @@ "id": 587, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "11950:6:0", + "src": "11974:6:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -25390,7 +25390,7 @@ "name": "buyer", "nodeType": "VariableDeclaration", "scope": 637, - "src": "11979:13:0", + "src": "12003:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -25401,7 +25401,7 @@ "id": 589, "name": "address", "nodeType": "ElementaryTypeName", - "src": "11979:7:0", + "src": "12003:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -25416,7 +25416,7 @@ "name": "seller", "nodeType": "VariableDeclaration", "scope": 637, - "src": "12002:14:0", + "src": "12026:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -25427,7 +25427,7 @@ "id": 591, "name": "address", "nodeType": "ElementaryTypeName", - "src": "12002:7:0", + "src": "12026:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -25442,7 +25442,7 @@ "name": "moderator", "nodeType": "VariableDeclaration", "scope": 637, - "src": "12026:17:0", + "src": "12050:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -25453,7 +25453,7 @@ "id": 593, "name": "address", "nodeType": "ElementaryTypeName", - "src": "12026:7:0", + "src": "12050:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -25468,7 +25468,7 @@ "name": "tokenAddress", "nodeType": "VariableDeclaration", "scope": 637, - "src": "12053:20:0", + "src": "12077:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -25479,7 +25479,7 @@ "id": 595, "name": "address", "nodeType": "ElementaryTypeName", - "src": "12053:7:0", + "src": "12077:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -25489,7 +25489,7 @@ "visibility": "internal" } ], - "src": "11889:190:0" + "src": "11913:190:0" }, "payable": false, "returnParameters": { @@ -25502,7 +25502,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 637, - "src": "12125:7:0", + "src": "12149:7:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -25513,7 +25513,7 @@ "id": 598, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "12125:7:0", + "src": "12149:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -25523,10 +25523,10 @@ "visibility": "internal" } ], - "src": "12124:9:0" + "src": "12148:9:0" }, "scope": 1211, - "src": "11855:999:0", + "src": "11879:999:0", "stateMutability": "view", "superFunction": null, "visibility": "public" @@ -25535,7 +25535,7 @@ "body": { "id": 705, "nodeType": "Block", - "src": "13338:795:0", + "src": "13362:795:0", "statements": [ { "assignments": [ @@ -25548,7 +25548,7 @@ "name": "lastRecovered", "nodeType": "VariableDeclaration", "scope": 706, - "src": "13348:21:0", + "src": "13372:21:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -25559,7 +25559,7 @@ "id": 657, "name": "address", "nodeType": "ElementaryTypeName", - "src": "13348:7:0", + "src": "13372:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -25580,7 +25580,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 640, - "src": "13402:4:0", + "src": "13426:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr", "typeString": "uint8[] memory" @@ -25593,7 +25593,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 643, - "src": "13420:4:0", + "src": "13444:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" @@ -25606,7 +25606,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 646, - "src": "13438:4:0", + "src": "13462:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" @@ -25619,7 +25619,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 648, - "src": "13456:10:0", + "src": "13480:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -25632,7 +25632,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 651, - "src": "13480:12:0", + "src": "13504:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -25645,7 +25645,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 654, - "src": "13506:7:0", + "src": "13530:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" @@ -25684,7 +25684,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1022, - "src": "13372:16:0", + "src": "13396:16:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_array$_t_uint8_$dyn_memory_ptr_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_bytes32_$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$_t_address_$", "typeString": "function (uint8[] memory,bytes32[] memory,bytes32[] memory,bytes32,address[] memory,uint256[] memory) returns (address)" @@ -25698,14 +25698,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "13372:151:0", + "src": "13396:151:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "VariableDeclarationStatement", - "src": "13348:175:0" + "src": "13372:175:0" }, { "assignments": [ @@ -25718,7 +25718,7 @@ "name": "timeLockExpired", "nodeType": "VariableDeclaration", "scope": 706, - "src": "13534:20:0", + "src": "13558:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -25729,7 +25729,7 @@ "id": 668, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "13534:4:0", + "src": "13558:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -25754,7 +25754,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "13588:12:0", + "src": "13612:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -25768,7 +25768,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 648, - "src": "13601:10:0", + "src": "13625:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -25779,7 +25779,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "13588:24:0", + "src": "13612:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -25793,7 +25793,7 @@ "memberName": "timeoutHours", "nodeType": "MemberAccess", "referencedDeclaration": 50, - "src": "13588:37:0", + "src": "13612:37:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -25810,7 +25810,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "13639:12:0", + "src": "13663:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -25824,7 +25824,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 648, - "src": "13652:10:0", + "src": "13676:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -25835,7 +25835,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "13639:24:0", + "src": "13663:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -25849,7 +25849,7 @@ "memberName": "lastModified", "nodeType": "MemberAccess", "referencedDeclaration": 42, - "src": "13639:37:0", + "src": "13663:37:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -25872,7 +25872,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1054, - "src": "13557:17:0", + "src": "13581:17:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_uint32_$_t_uint256_$returns$_t_bool_$", "typeString": "function (uint32,uint256) view returns (bool)" @@ -25886,14 +25886,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "13557:129:0", + "src": "13581:129:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "nodeType": "VariableDeclarationStatement", - "src": "13534:152:0" + "src": "13558:152:0" }, { "condition": { @@ -25927,7 +25927,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 640, - "src": "13858:4:0", + "src": "13882:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr", "typeString": "uint8[] memory" @@ -25941,7 +25941,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "13858:11:0", + "src": "13882:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -25960,7 +25960,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "13872:12:0", + "src": "13896:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -25974,7 +25974,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 648, - "src": "13885:10:0", + "src": "13909:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -25985,7 +25985,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "13872:24:0", + "src": "13896:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -25999,13 +25999,13 @@ "memberName": "threshold", "nodeType": "MemberAccess", "referencedDeclaration": 48, - "src": "13872:34:0", + "src": "13896:34:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, - "src": "13858:48:0", + "src": "13882:48:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -26037,7 +26037,7 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "13911:16:0", + "src": "13935:16:0", "subExpression": { "argumentTypes": null, "id": 688, @@ -26045,7 +26045,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 669, - "src": "13912:15:0", + "src": "13936:15:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -26076,7 +26076,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 658, - "src": "13931:13:0", + "src": "13955:13:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -26095,7 +26095,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "13948:12:0", + "src": "13972:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -26109,7 +26109,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 648, - "src": "13961:10:0", + "src": "13985:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -26120,7 +26120,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "13948:24:0", + "src": "13972:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -26134,19 +26134,19 @@ "memberName": "seller", "nodeType": "MemberAccess", "referencedDeclaration": 54, - "src": "13948:31:0", + "src": "13972:31:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "13931:48:0", + "src": "13955:48:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "13911:68:0", + "src": "13935:68:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -26160,13 +26160,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "13910:70:0", + "src": "13934:70:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "13858:122:0", + "src": "13882:122:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -26175,11 +26175,11 @@ "falseBody": null, "id": 704, "nodeType": "IfStatement", - "src": "13837:289:0", + "src": "13861:289:0", "trueBody": { "id": 703, "nodeType": "Block", - "src": "14003:123:0", + "src": "14027:123:0", "statements": [ { "expression": { @@ -26195,7 +26195,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "14024:90:0", + "src": "14048:90:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_e454643f61f81e3a3dc8dabaafde295fea592e232abeb03abbb1835bdc3d20d0", @@ -26219,7 +26219,7 @@ 1390 ], "referencedDeclaration": 1390, - "src": "14017:6:0", + "src": "14041:6:0", "typeDescriptions": { "typeIdentifier": "t_function_revert_pure$_t_string_memory_ptr_$returns$__$", "typeString": "function (string memory) pure" @@ -26233,7 +26233,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "14017:98:0", + "src": "14041:98:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -26241,7 +26241,7 @@ }, "id": 702, "nodeType": "ExpressionStatement", - "src": "14017:98:0" + "src": "14041:98:0" } ] } @@ -26266,7 +26266,7 @@ "name": "sigV", "nodeType": "VariableDeclaration", "scope": 706, - "src": "13164:12:0", + "src": "13188:12:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -26278,7 +26278,7 @@ "id": 638, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "13164:5:0", + "src": "13188:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -26287,7 +26287,7 @@ "id": 639, "length": null, "nodeType": "ArrayTypeName", - "src": "13164:7:0", + "src": "13188:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_storage_ptr", "typeString": "uint8[]" @@ -26302,7 +26302,7 @@ "name": "sigR", "nodeType": "VariableDeclaration", "scope": 706, - "src": "13186:14:0", + "src": "13210:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -26314,7 +26314,7 @@ "id": 641, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "13186:7:0", + "src": "13210:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -26323,7 +26323,7 @@ "id": 642, "length": null, "nodeType": "ArrayTypeName", - "src": "13186:9:0", + "src": "13210:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -26338,7 +26338,7 @@ "name": "sigS", "nodeType": "VariableDeclaration", "scope": 706, - "src": "13210:14:0", + "src": "13234:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -26350,7 +26350,7 @@ "id": 644, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "13210:7:0", + "src": "13234:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -26359,7 +26359,7 @@ "id": 645, "length": null, "nodeType": "ArrayTypeName", - "src": "13210:9:0", + "src": "13234:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -26374,7 +26374,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 706, - "src": "13234:18:0", + "src": "13258:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -26385,7 +26385,7 @@ "id": 647, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "13234:7:0", + "src": "13258:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -26400,7 +26400,7 @@ "name": "destinations", "nodeType": "VariableDeclaration", "scope": 706, - "src": "13262:22:0", + "src": "13286:22:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -26412,7 +26412,7 @@ "id": 649, "name": "address", "nodeType": "ElementaryTypeName", - "src": "13262:7:0", + "src": "13286:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -26421,7 +26421,7 @@ "id": 650, "length": null, "nodeType": "ArrayTypeName", - "src": "13262:9:0", + "src": "13286:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", "typeString": "address[]" @@ -26436,7 +26436,7 @@ "name": "amounts", "nodeType": "VariableDeclaration", "scope": 706, - "src": "13294:17:0", + "src": "13318:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -26448,7 +26448,7 @@ "id": 652, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "13294:7:0", + "src": "13318:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -26457,7 +26457,7 @@ "id": 653, "length": null, "nodeType": "ArrayTypeName", - "src": "13294:9:0", + "src": "13318:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -26467,17 +26467,17 @@ "visibility": "internal" } ], - "src": "13154:163:0" + "src": "13178:163:0" }, "payable": false, "returnParameters": { "id": 656, "nodeType": "ParameterList", "parameters": [], - "src": "13338:0:0" + "src": "13362:0:0" }, "scope": 1211, - "src": "13128:1005:0", + "src": "13152:1005:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "private" @@ -26486,7 +26486,7 @@ "body": { "id": 892, "nodeType": "Block", - "src": "14419:1362:0", + "src": "14443:1362:0", "statements": [ { "assignments": [ @@ -26499,7 +26499,7 @@ "name": "t", "nodeType": "VariableDeclaration", "scope": 893, - "src": "14429:21:0", + "src": "14453:21:0", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { @@ -26512,7 +26512,7 @@ "name": "Transaction", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 71, - "src": "14429:11:0", + "src": "14453:11:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction" @@ -26532,7 +26532,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "14453:12:0", + "src": "14477:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -26546,7 +26546,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 708, - "src": "14466:10:0", + "src": "14490:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -26557,14 +26557,14 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "14453:24:0", + "src": "14477:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "14429:48:0" + "src": "14453:48:0" }, { "assignments": [ @@ -26577,7 +26577,7 @@ "name": "valueTransferred", "nodeType": "VariableDeclaration", "scope": 893, - "src": "14488:24:0", + "src": "14512:24:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -26588,7 +26588,7 @@ "id": 725, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "14488:7:0", + "src": "14512:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -26609,7 +26609,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "14515:1:0", + "src": "14539:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -26618,7 +26618,7 @@ "value": "0" }, "nodeType": "VariableDeclarationStatement", - "src": "14488:28:0" + "src": "14512:28:0" }, { "condition": { @@ -26641,7 +26641,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 720, - "src": "14531:1:0", + "src": "14555:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" @@ -26655,7 +26655,7 @@ "memberName": "transactionType", "nodeType": "MemberAccess", "referencedDeclaration": 46, - "src": "14531:17:0", + "src": "14555:17:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -26672,7 +26672,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12, - "src": "14552:15:0", + "src": "14576:15:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_TransactionType_$12_$", "typeString": "type(enum Escrow_v1_0.TransactionType)" @@ -26686,13 +26686,13 @@ "memberName": "ETHER", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "14552:21:0", + "src": "14576:21:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" } }, - "src": "14531:42:0", + "src": "14555:42:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -26719,7 +26719,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 720, - "src": "15087:1:0", + "src": "15111:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" @@ -26733,7 +26733,7 @@ "memberName": "transactionType", "nodeType": "MemberAccess", "referencedDeclaration": 46, - "src": "15087:17:0", + "src": "15111:17:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -26750,7 +26750,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12, - "src": "15108:15:0", + "src": "15132:15:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_TransactionType_$12_$", "typeString": "type(enum Escrow_v1_0.TransactionType)" @@ -26764,13 +26764,13 @@ "memberName": "TOKEN", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "15108:21:0", + "src": "15132:21:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" } }, - "src": "15087:42:0", + "src": "15111:42:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -26779,11 +26779,11 @@ "falseBody": null, "id": 888, "nodeType": "IfStatement", - "src": "15083:658:0", + "src": "15107:658:0", "trueBody": { "id": 887, "nodeType": "Block", - "src": "15131:610:0", + "src": "15155:610:0", "statements": [ { "assignments": [ @@ -26796,7 +26796,7 @@ "name": "token", "nodeType": "VariableDeclaration", "scope": 893, - "src": "15146:20:0", + "src": "15170:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -26809,7 +26809,7 @@ "name": "ITokenContract", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 1241, - "src": "15146:14:0", + "src": "15170:14:0", "typeDescriptions": { "typeIdentifier": "t_contract$_ITokenContract_$1241", "typeString": "contract ITokenContract" @@ -26832,7 +26832,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 720, - "src": "15184:1:0", + "src": "15208:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" @@ -26846,7 +26846,7 @@ "memberName": "tokenAddress", "nodeType": "MemberAccess", "referencedDeclaration": 56, - "src": "15184:14:0", + "src": "15208:14:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -26865,7 +26865,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1241, - "src": "15169:14:0", + "src": "15193:14:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_ITokenContract_$1241_$", "typeString": "type(contract ITokenContract)" @@ -26879,20 +26879,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15169:30:0", + "src": "15193:30:0", "typeDescriptions": { "typeIdentifier": "t_contract$_ITokenContract_$1241", "typeString": "contract ITokenContract" } }, "nodeType": "VariableDeclarationStatement", - "src": "15146:53:0" + "src": "15170:53:0" }, { "body": { "id": 885, "nodeType": "Block", - "src": "15262:469:0", + "src": "15286:469:0", "statements": [ { "expression": { @@ -26929,7 +26929,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 711, - "src": "15289:12:0", + "src": "15313:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -26943,7 +26943,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 816, - "src": "15302:1:0", + "src": "15326:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -26954,7 +26954,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15289:15:0", + "src": "15313:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -26975,7 +26975,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "15316:1:0", + "src": "15340:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -26997,7 +26997,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "15308:7:0", + "src": "15332:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" @@ -27012,13 +27012,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15308:10:0", + "src": "15332:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "15289:29:0", + "src": "15313:29:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -27037,7 +27037,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 720, - "src": "15322:1:0", + "src": "15346:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" @@ -27051,7 +27051,7 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "15322:9:0", + "src": "15346:9:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -27067,7 +27067,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 711, - "src": "15332:12:0", + "src": "15356:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -27081,7 +27081,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 816, - "src": "15345:1:0", + "src": "15369:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27092,7 +27092,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15332:15:0", + "src": "15356:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -27103,13 +27103,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15322:26:0", + "src": "15346:26:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "15289:59:0", + "src": "15313:59:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -27125,7 +27125,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "15350:25:0", + "src": "15374:25:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_4b4c116dbf18274831a2b569c567d9fd9a0e9828a6c86ee9f93e80400fb6c49f", @@ -27153,7 +27153,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "15281:7:0", + "src": "15305:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -27167,7 +27167,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15281:95:0", + "src": "15305:95:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -27175,7 +27175,7 @@ }, "id": 843, "nodeType": "ExpressionStatement", - "src": "15281:95:0" + "src": "15305:95:0" }, { "expression": { @@ -27201,7 +27201,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 714, - "src": "15402:7:0", + "src": "15426:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" @@ -27215,7 +27215,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 816, - "src": "15410:1:0", + "src": "15434:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27226,7 +27226,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15402:10:0", + "src": "15426:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27244,7 +27244,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "15415:1:0", + "src": "15439:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -27252,7 +27252,7 @@ }, "value": "0" }, - "src": "15402:14:0", + "src": "15426:14:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -27268,7 +27268,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "15418:44:0", + "src": "15442:44:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_5e1271a09dbb64ae031de288deb0ad8d707df7db51d6e827931dc8fa6642a71e", @@ -27296,7 +27296,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "15394:7:0", + "src": "15418:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -27310,7 +27310,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15394:69:0", + "src": "15418:69:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -27318,7 +27318,7 @@ }, "id": 852, "nodeType": "ExpressionStatement", - "src": "15394:69:0" + "src": "15418:69:0" }, { "expression": { @@ -27335,7 +27335,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 726, - "src": "15482:16:0", + "src": "15506:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27355,7 +27355,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 714, - "src": "15522:7:0", + "src": "15546:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" @@ -27369,7 +27369,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 816, - "src": "15530:1:0", + "src": "15554:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27380,7 +27380,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15522:10:0", + "src": "15546:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27401,7 +27401,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 726, - "src": "15501:16:0", + "src": "15525:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27415,7 +27415,7 @@ "memberName": "add", "nodeType": "MemberAccess", "referencedDeclaration": 1348, - "src": "15501:20:0", + "src": "15525:20:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" @@ -27429,13 +27429,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15501:32:0", + "src": "15525:32:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "15482:51:0", + "src": "15506:51:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27443,7 +27443,7 @@ }, "id": 861, "nodeType": "ExpressionStatement", - "src": "15482:51:0" + "src": "15506:51:0" }, { "expression": { @@ -27464,7 +27464,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 720, - "src": "15551:1:0", + "src": "15575:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" @@ -27478,7 +27478,7 @@ "memberName": "beneficiaries", "nodeType": "MemberAccess", "referencedDeclaration": 70, - "src": "15551:15:0", + "src": "15575:15:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -27494,7 +27494,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 711, - "src": "15567:12:0", + "src": "15591:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -27508,7 +27508,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 816, - "src": "15580:1:0", + "src": "15604:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27519,7 +27519,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15567:15:0", + "src": "15591:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -27530,7 +27530,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "15551:32:0", + "src": "15575:32:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -27548,7 +27548,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "15586:4:0", + "src": "15610:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -27556,7 +27556,7 @@ }, "value": "true" }, - "src": "15551:39:0", + "src": "15575:39:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -27564,7 +27564,7 @@ }, "id": 871, "nodeType": "ExpressionStatement", - "src": "15551:39:0" + "src": "15575:39:0" }, { "expression": { @@ -27582,7 +27582,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 711, - "src": "15661:12:0", + "src": "15685:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -27596,7 +27596,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 816, - "src": "15674:1:0", + "src": "15698:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27607,7 +27607,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15661:15:0", + "src": "15685:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -27622,7 +27622,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 714, - "src": "15678:7:0", + "src": "15702:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" @@ -27636,7 +27636,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 816, - "src": "15686:1:0", + "src": "15710:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27647,7 +27647,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15678:10:0", + "src": "15702:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27672,7 +27672,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 809, - "src": "15646:5:0", + "src": "15670:5:0", "typeDescriptions": { "typeIdentifier": "t_contract$_ITokenContract_$1241", "typeString": "contract ITokenContract" @@ -27686,7 +27686,7 @@ "memberName": "transfer", "nodeType": "MemberAccess", "referencedDeclaration": 1229, - "src": "15646:14:0", + "src": "15670:14:0", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", "typeString": "function (address,uint256) external returns (bool)" @@ -27700,7 +27700,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15646:43:0", + "src": "15670:43:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -27716,7 +27716,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "15691:24:0", + "src": "15715:24:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_e545223bb79d8456d66fa5a98897abb42bb4807111f004a120200da3b7e292c5", @@ -27744,7 +27744,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "15638:7:0", + "src": "15662:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -27758,7 +27758,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15638:78:0", + "src": "15662:78:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -27766,7 +27766,7 @@ }, "id": 884, "nodeType": "ExpressionStatement", - "src": "15638:78:0" + "src": "15662:78:0" } ] }, @@ -27788,7 +27788,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 816, - "src": "15234:1:0", + "src": "15258:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27805,7 +27805,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 711, - "src": "15236:12:0", + "src": "15260:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -27819,13 +27819,13 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "15236:19:0", + "src": "15260:19:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "15234:21:0", + "src": "15258:21:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -27843,7 +27843,7 @@ "name": "j", "nodeType": "VariableDeclaration", "scope": 893, - "src": "15219:9:0", + "src": "15243:9:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -27854,7 +27854,7 @@ "id": 815, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "15219:7:0", + "src": "15243:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27875,7 +27875,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "15231:1:0", + "src": "15255:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -27884,7 +27884,7 @@ "value": "0" }, "nodeType": "VariableDeclarationStatement", - "src": "15219:13:0" + "src": "15243:13:0" }, "loopExpression": { "expression": { @@ -27897,7 +27897,7 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "15257:3:0", + "src": "15281:3:0", "subExpression": { "argumentTypes": null, "id": 823, @@ -27905,7 +27905,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 816, - "src": "15257:1:0", + "src": "15281:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27918,27 +27918,27 @@ }, "id": 825, "nodeType": "ExpressionStatement", - "src": "15257:3:0" + "src": "15281:3:0" }, "nodeType": "ForStatement", - "src": "15214:517:0" + "src": "15238:517:0" } ] } }, "id": 889, "nodeType": "IfStatement", - "src": "14527:1214:0", + "src": "14551:1214:0", "trueBody": { "id": 802, "nodeType": "Block", - "src": "14575:502:0", + "src": "14599:502:0", "statements": [ { "body": { "id": 800, "nodeType": "Block", - "src": "14639:427:0", + "src": "14663:427:0", "statements": [ { "expression": { @@ -27975,7 +27975,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 711, - "src": "14666:12:0", + "src": "14690:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -27989,7 +27989,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 735, - "src": "14679:1:0", + "src": "14703:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28000,7 +28000,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "14666:15:0", + "src": "14690:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -28021,7 +28021,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "14693:1:0", + "src": "14717:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -28043,7 +28043,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "14685:7:0", + "src": "14709:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" @@ -28058,13 +28058,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "14685:10:0", + "src": "14709:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "14666:29:0", + "src": "14690:29:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -28083,7 +28083,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 720, - "src": "14699:1:0", + "src": "14723:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" @@ -28097,7 +28097,7 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "14699:9:0", + "src": "14723:9:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -28113,7 +28113,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 711, - "src": "14709:12:0", + "src": "14733:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -28127,7 +28127,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 735, - "src": "14722:1:0", + "src": "14746:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28138,7 +28138,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "14709:15:0", + "src": "14733:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -28149,13 +28149,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "14699:26:0", + "src": "14723:26:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "14666:59:0", + "src": "14690:59:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -28171,7 +28171,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "14727:25:0", + "src": "14751:25:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_4b4c116dbf18274831a2b569c567d9fd9a0e9828a6c86ee9f93e80400fb6c49f", @@ -28199,7 +28199,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "14658:7:0", + "src": "14682:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -28213,7 +28213,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "14658:95:0", + "src": "14682:95:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -28221,7 +28221,7 @@ }, "id": 762, "nodeType": "ExpressionStatement", - "src": "14658:95:0" + "src": "14682:95:0" }, { "expression": { @@ -28247,7 +28247,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 714, - "src": "14779:7:0", + "src": "14803:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" @@ -28261,7 +28261,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 735, - "src": "14787:1:0", + "src": "14811:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28272,7 +28272,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "14779:10:0", + "src": "14803:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28290,7 +28290,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "14792:1:0", + "src": "14816:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -28298,7 +28298,7 @@ }, "value": "0" }, - "src": "14779:14:0", + "src": "14803:14:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -28314,7 +28314,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "14795:44:0", + "src": "14819:44:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_5e1271a09dbb64ae031de288deb0ad8d707df7db51d6e827931dc8fa6642a71e", @@ -28342,7 +28342,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "14771:7:0", + "src": "14795:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -28356,7 +28356,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "14771:69:0", + "src": "14795:69:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -28364,7 +28364,7 @@ }, "id": 771, "nodeType": "ExpressionStatement", - "src": "14771:69:0" + "src": "14795:69:0" }, { "expression": { @@ -28381,7 +28381,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 726, - "src": "14859:16:0", + "src": "14883:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28401,7 +28401,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 714, - "src": "14899:7:0", + "src": "14923:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" @@ -28415,7 +28415,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 735, - "src": "14907:1:0", + "src": "14931:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28426,7 +28426,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "14899:10:0", + "src": "14923:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28447,7 +28447,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 726, - "src": "14878:16:0", + "src": "14902:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28461,7 +28461,7 @@ "memberName": "add", "nodeType": "MemberAccess", "referencedDeclaration": 1348, - "src": "14878:20:0", + "src": "14902:20:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" @@ -28475,13 +28475,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "14878:32:0", + "src": "14902:32:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "14859:51:0", + "src": "14883:51:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28489,7 +28489,7 @@ }, "id": 780, "nodeType": "ExpressionStatement", - "src": "14859:51:0" + "src": "14883:51:0" }, { "expression": { @@ -28510,7 +28510,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 720, - "src": "14929:1:0", + "src": "14953:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" @@ -28524,7 +28524,7 @@ "memberName": "beneficiaries", "nodeType": "MemberAccess", "referencedDeclaration": 70, - "src": "14929:15:0", + "src": "14953:15:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -28540,7 +28540,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 711, - "src": "14945:12:0", + "src": "14969:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -28554,7 +28554,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 735, - "src": "14958:1:0", + "src": "14982:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28565,7 +28565,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "14945:15:0", + "src": "14969:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -28576,7 +28576,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "14929:32:0", + "src": "14953:32:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -28594,7 +28594,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "14964:4:0", + "src": "14988:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -28602,7 +28602,7 @@ }, "value": "true" }, - "src": "14929:39:0", + "src": "14953:39:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -28610,7 +28610,7 @@ }, "id": 790, "nodeType": "ExpressionStatement", - "src": "14929:39:0" + "src": "14953:39:0" }, { "expression": { @@ -28625,7 +28625,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 714, - "src": "15040:7:0", + "src": "15064:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" @@ -28639,7 +28639,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 735, - "src": "15048:1:0", + "src": "15072:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28650,7 +28650,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15040:10:0", + "src": "15064:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28673,7 +28673,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 711, - "src": "15015:12:0", + "src": "15039:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -28687,7 +28687,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 735, - "src": "15028:1:0", + "src": "15052:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28698,7 +28698,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15015:15:0", + "src": "15039:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -28712,7 +28712,7 @@ "memberName": "transfer", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "15015:24:0", + "src": "15039:24:0", "typeDescriptions": { "typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$", "typeString": "function (uint256)" @@ -28726,7 +28726,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15015:36:0", + "src": "15039:36:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -28734,7 +28734,7 @@ }, "id": 799, "nodeType": "ExpressionStatement", - "src": "15015:36:0" + "src": "15039:36:0" } ] }, @@ -28756,7 +28756,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 735, - "src": "14609:1:0", + "src": "14633:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28773,7 +28773,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 711, - "src": "14613:12:0", + "src": "14637:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -28787,13 +28787,13 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "14613:19:0", + "src": "14637:19:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "14609:23:0", + "src": "14633:23:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -28811,7 +28811,7 @@ "name": "i", "nodeType": "VariableDeclaration", "scope": 893, - "src": "14594:9:0", + "src": "14618:9:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -28822,7 +28822,7 @@ "id": 734, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "14594:7:0", + "src": "14618:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28843,7 +28843,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "14606:1:0", + "src": "14630:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -28852,7 +28852,7 @@ "value": "0" }, "nodeType": "VariableDeclarationStatement", - "src": "14594:13:0" + "src": "14618:13:0" }, "loopExpression": { "expression": { @@ -28865,7 +28865,7 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "14634:3:0", + "src": "14658:3:0", "subExpression": { "argumentTypes": null, "id": 742, @@ -28873,7 +28873,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 735, - "src": "14634:1:0", + "src": "14658:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28886,10 +28886,10 @@ }, "id": 744, "nodeType": "ExpressionStatement", - "src": "14634:3:0" + "src": "14658:3:0" }, "nodeType": "ForStatement", - "src": "14589:477:0" + "src": "14613:477:0" } ] } @@ -28902,7 +28902,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 726, - "src": "15758:16:0", + "src": "15782:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28911,7 +28911,7 @@ "functionReturnParameters": 718, "id": 891, "nodeType": "Return", - "src": "15751:23:0" + "src": "15775:23:0" } ] }, @@ -28933,7 +28933,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 893, - "src": "14291:18:0", + "src": "14315:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -28944,7 +28944,7 @@ "id": 707, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "14291:7:0", + "src": "14315:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -28959,7 +28959,7 @@ "name": "destinations", "nodeType": "VariableDeclaration", "scope": 893, - "src": "14319:21:0", + "src": "14343:21:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -28971,7 +28971,7 @@ "id": 709, "name": "address", "nodeType": "ElementaryTypeName", - "src": "14319:7:0", + "src": "14343:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -28980,7 +28980,7 @@ "id": 710, "length": null, "nodeType": "ArrayTypeName", - "src": "14319:9:0", + "src": "14343:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", "typeString": "address[]" @@ -28995,7 +28995,7 @@ "name": "amounts", "nodeType": "VariableDeclaration", "scope": 893, - "src": "14350:16:0", + "src": "14374:16:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -29007,7 +29007,7 @@ "id": 712, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "14350:7:0", + "src": "14374:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29016,7 +29016,7 @@ "id": 713, "length": null, "nodeType": "ArrayTypeName", - "src": "14350:9:0", + "src": "14374:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -29026,7 +29026,7 @@ "visibility": "internal" } ], - "src": "14281:91:0" + "src": "14305:91:0" }, "payable": false, "returnParameters": { @@ -29039,7 +29039,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 893, - "src": "14406:7:0", + "src": "14430:7:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -29050,7 +29050,7 @@ "id": 716, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "14406:7:0", + "src": "14430:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29060,10 +29060,10 @@ "visibility": "internal" } ], - "src": "14405:9:0" + "src": "14429:9:0" }, "scope": 1211, - "src": "14259:1522:0", + "src": "14283:1522:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "private" @@ -29072,7 +29072,7 @@ "body": { "id": 1021, "nodeType": "Block", - "src": "16200:1337:0", + "src": "16224:1337:0", "statements": [ { "expression": { @@ -29109,7 +29109,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 899, - "src": "16232:4:0", + "src": "16256:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" @@ -29123,7 +29123,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "16232:11:0", + "src": "16256:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29140,7 +29140,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 902, - "src": "16247:4:0", + "src": "16271:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" @@ -29154,13 +29154,13 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "16247:11:0", + "src": "16271:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "16232:26:0", + "src": "16256:26:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -29188,7 +29188,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 899, - "src": "16262:4:0", + "src": "16286:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" @@ -29202,7 +29202,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "16262:11:0", + "src": "16286:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29219,7 +29219,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 896, - "src": "16277:4:0", + "src": "16301:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr", "typeString": "uint8[] memory" @@ -29233,19 +29233,19 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "16277:11:0", + "src": "16301:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "16262:26:0", + "src": "16286:26:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "16232:56:0", + "src": "16256:56:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -29261,7 +29261,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "16303:24:0", + "src": "16327:24:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_f85073c8befb65baed58ca1ee563e5da0bdbdce8abd4d29ef22a8329c7c97506", @@ -29289,7 +29289,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "16211:7:0", + "src": "16235:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -29303,7 +29303,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16211:126:0", + "src": "16235:126:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -29311,7 +29311,7 @@ }, "id": 929, "nodeType": "ExpressionStatement", - "src": "16211:126:0" + "src": "16235:126:0" }, { "assignments": [], @@ -29322,7 +29322,7 @@ "name": "lastAddress", "nodeType": "VariableDeclaration", "scope": 1022, - "src": "16348:19:0", + "src": "16372:19:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -29333,7 +29333,7 @@ "id": 930, "name": "address", "nodeType": "ElementaryTypeName", - "src": "16348:7:0", + "src": "16372:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -29346,7 +29346,7 @@ "id": 932, "initialValue": null, "nodeType": "VariableDeclarationStatement", - "src": "16348:19:0" + "src": "16372:19:0" }, { "assignments": [ @@ -29359,7 +29359,7 @@ "name": "txHash", "nodeType": "VariableDeclaration", "scope": 1022, - "src": "16466:14:0", + "src": "16490:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -29370,7 +29370,7 @@ "id": 933, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "16466:7:0", + "src": "16490:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -29397,7 +29397,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "16540:34:0", + "src": "16564:34:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_178a2411ab6fbc1ba11064408972259c558d0e82fd48b0aba3ad81d14f065e73", @@ -29424,7 +29424,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "16670:4:0", + "src": "16694:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_25_by_1", @@ -29446,7 +29446,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "16665:4:0", + "src": "16689:4:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes1_$", "typeString": "type(bytes1)" @@ -29461,7 +29461,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16665:10:0", + "src": "16689:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes1", "typeString": "bytes1" @@ -29480,7 +29480,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "16706:1:0", + "src": "16730:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -29502,7 +29502,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "16701:4:0", + "src": "16725:4:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes1_$", "typeString": "type(bytes1)" @@ -29517,7 +29517,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16701:7:0", + "src": "16725:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes1", "typeString": "bytes1" @@ -29530,7 +29530,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1401, - "src": "16734:4:0", + "src": "16758:4:0", "typeDescriptions": { "typeIdentifier": "t_contract$_Escrow_v1_0_$1211", "typeString": "contract Escrow_v1_0" @@ -29543,7 +29543,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 907, - "src": "16764:12:0", + "src": "16788:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -29556,7 +29556,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 910, - "src": "16802:7:0", + "src": "16826:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" @@ -29569,7 +29569,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 904, - "src": "16835:10:0", + "src": "16859:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -29610,7 +29610,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1371, - "src": "16623:3:0", + "src": "16647:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" @@ -29624,7 +29624,7 @@ "memberName": "encodePacked", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "16623:16:0", + "src": "16647:16:0", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" @@ -29638,7 +29638,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16623:244:0", + "src": "16647:244:0", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -29657,7 +29657,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1378, - "src": "16592:9:0", + "src": "16616:9:0", "typeDescriptions": { "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", "typeString": "function () pure returns (bytes32)" @@ -29671,7 +29671,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16592:293:0", + "src": "16616:293:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -29696,7 +29696,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1371, - "src": "16506:3:0", + "src": "16530:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" @@ -29710,7 +29710,7 @@ "memberName": "encodePacked", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "16506:16:0", + "src": "16530:16:0", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" @@ -29724,7 +29724,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16506:393:0", + "src": "16530:393:0", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -29743,7 +29743,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1378, - "src": "16483:9:0", + "src": "16507:9:0", "typeDescriptions": { "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", "typeString": "function () pure returns (bytes32)" @@ -29757,20 +29757,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16483:426:0", + "src": "16507:426:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "nodeType": "VariableDeclarationStatement", - "src": "16466:443:0" + "src": "16490:443:0" }, { "body": { "id": 1017, "nodeType": "Block", - "src": "16959:543:0", + "src": "16983:543:0", "statements": [ { "assignments": [ @@ -29783,7 +29783,7 @@ "name": "recovered", "nodeType": "VariableDeclaration", "scope": 1022, - "src": "16974:17:0", + "src": "16998:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -29794,7 +29794,7 @@ "id": 968, "name": "address", "nodeType": "ElementaryTypeName", - "src": "16974:7:0", + "src": "16998:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -29815,7 +29815,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 934, - "src": "17021:6:0", + "src": "17045:6:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -29830,7 +29830,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 896, - "src": "17045:4:0", + "src": "17069:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr", "typeString": "uint8[] memory" @@ -29844,7 +29844,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 958, - "src": "17050:1:0", + "src": "17074:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29855,7 +29855,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17045:7:0", + "src": "17069:7:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -29870,7 +29870,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 899, - "src": "17070:4:0", + "src": "17094:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" @@ -29884,7 +29884,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 958, - "src": "17075:1:0", + "src": "17099:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29895,7 +29895,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17070:7:0", + "src": "17094:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -29910,7 +29910,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 902, - "src": "17095:4:0", + "src": "17119:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" @@ -29924,7 +29924,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 958, - "src": "17100:1:0", + "src": "17124:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29935,7 +29935,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17095:7:0", + "src": "17119:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -29966,7 +29966,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1376, - "src": "16994:9:0", + "src": "17018:9:0", "typeDescriptions": { "typeIdentifier": "t_function_ecrecover_pure$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$_t_address_$", "typeString": "function (bytes32,uint8,bytes32,bytes32) pure returns (address)" @@ -29980,14 +29980,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16994:122:0", + "src": "17018:122:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "VariableDeclarationStatement", - "src": "16974:142:0" + "src": "16998:142:0" }, { "expression": { @@ -30006,7 +30006,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "17156:12:0", + "src": "17180:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -30020,7 +30020,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 904, - "src": "17169:10:0", + "src": "17193:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -30031,7 +30031,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17156:24:0", + "src": "17180:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -30045,7 +30045,7 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "17156:32:0", + "src": "17180:32:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -30059,7 +30059,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 969, - "src": "17189:9:0", + "src": "17213:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -30070,7 +30070,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17156:43:0", + "src": "17180:43:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -30086,7 +30086,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "17218:19:0", + "src": "17242:19:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_4f2d7dfcb27c0aafa13ae8c400de482c7832204d194018b6e45bd2bf244c74e7", @@ -30114,7 +30114,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "17131:7:0", + "src": "17155:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -30128,7 +30128,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17131:120:0", + "src": "17155:120:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -30136,7 +30136,7 @@ }, "id": 992, "nodeType": "ExpressionStatement", - "src": "17131:120:0" + "src": "17155:120:0" }, { "expression": { @@ -30152,7 +30152,7 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "17290:42:0", + "src": "17314:42:0", "subExpression": { "argumentTypes": null, "baseExpression": { @@ -30166,7 +30166,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "17291:12:0", + "src": "17315:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -30180,7 +30180,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 904, - "src": "17304:10:0", + "src": "17328:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -30191,7 +30191,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17291:24:0", + "src": "17315:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -30205,7 +30205,7 @@ "memberName": "voted", "nodeType": "MemberAccess", "referencedDeclaration": 66, - "src": "17291:30:0", + "src": "17315:30:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -30219,7 +30219,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 969, - "src": "17322:9:0", + "src": "17346:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -30230,7 +30230,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17291:41:0", + "src": "17315:41:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -30251,7 +30251,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "17351:27:0", + "src": "17375:27:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_fb2c7e49d5ec7ce36fa812cf15ee7fa946942f931d04fe3ae970516007b2a543", @@ -30279,7 +30279,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "17265:7:0", + "src": "17289:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -30293,7 +30293,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17265:127:0", + "src": "17289:127:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -30301,7 +30301,7 @@ }, "id": 1003, "nodeType": "ExpressionStatement", - "src": "17265:127:0" + "src": "17289:127:0" }, { "expression": { @@ -30324,7 +30324,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "17406:12:0", + "src": "17430:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -30338,7 +30338,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 904, - "src": "17419:10:0", + "src": "17443:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -30349,7 +30349,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17406:24:0", + "src": "17430:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -30363,7 +30363,7 @@ "memberName": "voted", "nodeType": "MemberAccess", "referencedDeclaration": 66, - "src": "17406:30:0", + "src": "17430:30:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -30377,7 +30377,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 969, - "src": "17437:9:0", + "src": "17461:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -30388,7 +30388,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "17406:41:0", + "src": "17430:41:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -30406,7 +30406,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "17450:4:0", + "src": "17474:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -30414,7 +30414,7 @@ }, "value": "true" }, - "src": "17406:48:0", + "src": "17430:48:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -30422,7 +30422,7 @@ }, "id": 1012, "nodeType": "ExpressionStatement", - "src": "17406:48:0" + "src": "17430:48:0" }, { "expression": { @@ -30439,7 +30439,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 931, - "src": "17468:11:0", + "src": "17492:11:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -30454,13 +30454,13 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 969, - "src": "17482:9:0", + "src": "17506:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "17468:23:0", + "src": "17492:23:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -30468,7 +30468,7 @@ }, "id": 1016, "nodeType": "ExpressionStatement", - "src": "17468:23:0" + "src": "17492:23:0" } ] }, @@ -30490,7 +30490,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 958, - "src": "16937:1:0", + "src": "16961:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -30507,7 +30507,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 899, - "src": "16941:4:0", + "src": "16965:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" @@ -30521,13 +30521,13 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "16941:11:0", + "src": "16965:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "16937:15:0", + "src": "16961:15:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -30545,7 +30545,7 @@ "name": "i", "nodeType": "VariableDeclaration", "scope": 1022, - "src": "16925:6:0", + "src": "16949:6:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -30556,7 +30556,7 @@ "id": 957, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "16925:4:0", + "src": "16949:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -30577,7 +30577,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "16934:1:0", + "src": "16958:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -30586,7 +30586,7 @@ "value": "0" }, "nodeType": "VariableDeclarationStatement", - "src": "16925:10:0" + "src": "16949:10:0" }, "loopExpression": { "expression": { @@ -30599,7 +30599,7 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "16954:3:0", + "src": "16978:3:0", "subExpression": { "argumentTypes": null, "id": 965, @@ -30607,7 +30607,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 958, - "src": "16954:1:0", + "src": "16978:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -30620,10 +30620,10 @@ }, "id": 967, "nodeType": "ExpressionStatement", - "src": "16954:3:0" + "src": "16978:3:0" }, "nodeType": "ForStatement", - "src": "16920:582:0" + "src": "16944:582:0" }, { "expression": { @@ -30633,7 +30633,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 931, - "src": "17519:11:0", + "src": "17543:11:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -30642,7 +30642,7 @@ "functionReturnParameters": 914, "id": 1020, "nodeType": "Return", - "src": "17512:18:0" + "src": "17536:18:0" } ] }, @@ -30664,7 +30664,7 @@ "name": "sigV", "nodeType": "VariableDeclaration", "scope": 1022, - "src": "16001:12:0", + "src": "16025:12:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -30676,7 +30676,7 @@ "id": 894, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "16001:5:0", + "src": "16025:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -30685,7 +30685,7 @@ "id": 895, "length": null, "nodeType": "ArrayTypeName", - "src": "16001:7:0", + "src": "16025:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_storage_ptr", "typeString": "uint8[]" @@ -30700,7 +30700,7 @@ "name": "sigR", "nodeType": "VariableDeclaration", "scope": 1022, - "src": "16023:14:0", + "src": "16047:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -30712,7 +30712,7 @@ "id": 897, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "16023:7:0", + "src": "16047:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -30721,7 +30721,7 @@ "id": 898, "length": null, "nodeType": "ArrayTypeName", - "src": "16023:9:0", + "src": "16047:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -30736,7 +30736,7 @@ "name": "sigS", "nodeType": "VariableDeclaration", "scope": 1022, - "src": "16047:14:0", + "src": "16071:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -30748,7 +30748,7 @@ "id": 900, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "16047:7:0", + "src": "16071:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -30757,7 +30757,7 @@ "id": 901, "length": null, "nodeType": "ArrayTypeName", - "src": "16047:9:0", + "src": "16071:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -30772,7 +30772,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 1022, - "src": "16071:18:0", + "src": "16095:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -30783,7 +30783,7 @@ "id": 903, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "16071:7:0", + "src": "16095:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -30798,7 +30798,7 @@ "name": "destinations", "nodeType": "VariableDeclaration", "scope": 1022, - "src": "16099:22:0", + "src": "16123:22:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -30810,7 +30810,7 @@ "id": 905, "name": "address", "nodeType": "ElementaryTypeName", - "src": "16099:7:0", + "src": "16123:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -30819,7 +30819,7 @@ "id": 906, "length": null, "nodeType": "ArrayTypeName", - "src": "16099:9:0", + "src": "16123:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", "typeString": "address[]" @@ -30834,7 +30834,7 @@ "name": "amounts", "nodeType": "VariableDeclaration", "scope": 1022, - "src": "16131:16:0", + "src": "16155:16:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -30846,7 +30846,7 @@ "id": 908, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "16131:7:0", + "src": "16155:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -30855,7 +30855,7 @@ "id": 909, "length": null, "nodeType": "ArrayTypeName", - "src": "16131:9:0", + "src": "16155:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -30865,7 +30865,7 @@ "visibility": "internal" } ], - "src": "15991:162:0" + "src": "16015:162:0" }, "payable": false, "returnParameters": { @@ -30878,7 +30878,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 1022, - "src": "16187:7:0", + "src": "16211:7:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -30889,7 +30889,7 @@ "id": 912, "name": "address", "nodeType": "ElementaryTypeName", - "src": "16187:7:0", + "src": "16211:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -30899,10 +30899,10 @@ "visibility": "internal" } ], - "src": "16186:9:0" + "src": "16210:9:0" }, "scope": 1211, - "src": "15966:1571:0", + "src": "15990:1571:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "private" @@ -30911,7 +30911,7 @@ "body": { "id": 1053, "nodeType": "Block", - "src": "17691:168:0", + "src": "17715:168:0", "statements": [ { "assignments": [ @@ -30924,7 +30924,7 @@ "name": "timeSince", "nodeType": "VariableDeclaration", "scope": 1054, - "src": "17701:17:0", + "src": "17725:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -30935,7 +30935,7 @@ "id": 1031, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "17701:7:0", + "src": "17725:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -30956,7 +30956,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1026, - "src": "17729:12:0", + "src": "17753:12:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -30977,7 +30977,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1386, - "src": "17721:3:0", + "src": "17745:3:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -30991,7 +30991,7 @@ "memberName": "sub", "nodeType": "MemberAccess", "referencedDeclaration": 1324, - "src": "17721:7:0", + "src": "17745:7:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" @@ -31005,14 +31005,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17721:21:0", + "src": "17745:21:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "17701:41:0" + "src": "17725:41:0" }, { "expression": { @@ -31038,7 +31038,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1024, - "src": "17773:12:0", + "src": "17797:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -31056,7 +31056,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "17789:1:0", + "src": "17813:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -31064,7 +31064,7 @@ }, "value": "0" }, - "src": "17773:17:0", + "src": "17797:17:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -31088,7 +31088,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1032, - "src": "17799:9:0", + "src": "17823:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -31109,7 +31109,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "17837:4:0", + "src": "17861:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_3600_by_1", @@ -31135,7 +31135,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1024, - "src": "17819:12:0", + "src": "17843:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -31155,7 +31155,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "17811:7:0", + "src": "17835:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint256_$", "typeString": "type(uint256)" @@ -31170,7 +31170,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17811:21:0", + "src": "17835:21:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -31184,7 +31184,7 @@ "memberName": "mul", "nodeType": "MemberAccess", "referencedDeclaration": 1276, - "src": "17811:25:0", + "src": "17835:25:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" @@ -31198,13 +31198,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17811:31:0", + "src": "17835:31:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "17799:43:0", + "src": "17823:43:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -31216,7 +31216,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "Conditional", - "src": "17773:69:0", + "src": "17797:69:0", "trueExpression": { "argumentTypes": null, "hexValue": "66616c7365", @@ -31227,7 +31227,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "17793:5:0", + "src": "17817:5:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -31248,7 +31248,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "17759:93:0", + "src": "17783:93:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -31257,7 +31257,7 @@ "functionReturnParameters": 1030, "id": 1052, "nodeType": "Return", - "src": "17752:100:0" + "src": "17776:100:0" } ] }, @@ -31279,7 +31279,7 @@ "name": "timeoutHours", "nodeType": "VariableDeclaration", "scope": 1054, - "src": "17579:19:0", + "src": "17603:19:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -31290,7 +31290,7 @@ "id": 1023, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "17579:6:0", + "src": "17603:6:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -31305,7 +31305,7 @@ "name": "lastModified", "nodeType": "VariableDeclaration", "scope": 1054, - "src": "17608:20:0", + "src": "17632:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -31316,7 +31316,7 @@ "id": 1025, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "17608:7:0", + "src": "17632:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -31326,7 +31326,7 @@ "visibility": "internal" } ], - "src": "17569:65:0" + "src": "17593:65:0" }, "payable": false, "returnParameters": { @@ -31339,7 +31339,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 1054, - "src": "17681:4:0", + "src": "17705:4:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -31350,7 +31350,7 @@ "id": 1028, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "17681:4:0", + "src": "17705:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -31360,10 +31360,10 @@ "visibility": "internal" } ], - "src": "17680:6:0" + "src": "17704:6:0" }, "scope": 1211, - "src": "17543:316:0", + "src": "17567:316:0", "stateMutability": "view", "superFunction": null, "visibility": "private" @@ -31372,7 +31372,7 @@ "body": { "id": 1209, "nodeType": "Block", - "src": "18273:2314:0", + "src": "18297:2314:0", "statements": [ { "expression": { @@ -31396,7 +31396,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1056, - "src": "18299:5:0", + "src": "18323:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -31411,13 +31411,13 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1058, - "src": "18308:6:0", + "src": "18332:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "18299:15:0", + "src": "18323:15:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -31433,7 +31433,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "18316:27:0", + "src": "18340:27:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_6141441751234d42e9a73d96317794195c7ff57b8f16ac15725a10f10763f824", @@ -31461,7 +31461,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "18291:7:0", + "src": "18315:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -31475,7 +31475,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18291:53:0", + "src": "18315:53:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -31483,7 +31483,7 @@ }, "id": 1083, "nodeType": "ExpressionStatement", - "src": "18291:53:0" + "src": "18315:53:0" }, { "expression": { @@ -31507,7 +31507,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1068, - "src": "18411:5:0", + "src": "18435:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -31525,7 +31525,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "18419:1:0", + "src": "18443:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -31533,7 +31533,7 @@ }, "value": "0" }, - "src": "18411:9:0", + "src": "18435:9:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -31549,7 +31549,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "18422:19:0", + "src": "18446:19:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_3686f87c4804517ea83323ccf1a3b5b5ff52ed144b19e6fc56abe8fcd182e747", @@ -31577,7 +31577,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "18403:7:0", + "src": "18427:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -31591,7 +31591,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18403:39:0", + "src": "18427:39:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -31599,7 +31599,7 @@ }, "id": 1090, "nodeType": "ExpressionStatement", - "src": "18403:39:0" + "src": "18427:39:0" }, { "expression": { @@ -31634,7 +31634,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1062, - "src": "18545:9:0", + "src": "18569:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -31652,7 +31652,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "18557:1:0", + "src": "18581:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -31660,7 +31660,7 @@ }, "value": "0" }, - "src": "18545:13:0", + "src": "18569:13:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -31686,7 +31686,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1062, - "src": "18562:9:0", + "src": "18586:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -31704,7 +31704,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "18575:1:0", + "src": "18599:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_3_by_1", @@ -31712,13 +31712,13 @@ }, "value": "3" }, - "src": "18562:14:0", + "src": "18586:14:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "18545:31:0", + "src": "18569:31:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -31734,7 +31734,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "18591:63:0", + "src": "18615:63:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_351c1d5dfdc4a2b4c61d6f4dbb41a0d2ae70a9c094d3c0add87af24b5dd19c13", @@ -31762,7 +31762,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "18524:7:0", + "src": "18548:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -31776,7 +31776,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18524:140:0", + "src": "18548:140:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -31784,7 +31784,7 @@ }, "id": 1101, "nodeType": "ExpressionStatement", - "src": "18524:140:0" + "src": "18548:140:0" }, { "expression": { @@ -31819,7 +31819,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1062, - "src": "18945:9:0", + "src": "18969:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -31837,7 +31837,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "18958:1:0", + "src": "18982:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -31845,7 +31845,7 @@ }, "value": "1" }, - "src": "18945:14:0", + "src": "18969:14:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -31871,7 +31871,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1060, - "src": "18963:9:0", + "src": "18987:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -31892,7 +31892,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "18984:1:0", + "src": "19008:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -31914,7 +31914,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "18976:7:0", + "src": "19000:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" @@ -31929,19 +31929,19 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18976:10:0", + "src": "19000:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "18963:23:0", + "src": "18987:23:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "18945:41:0", + "src": "18969:41:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -31957,7 +31957,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "19000:74:0", + "src": "19024:74:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_2056db168725d2fabb8aaf14efad7a3fc12ef6bc7132f0596ea09b041b71cb25", @@ -31985,7 +31985,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "18924:7:0", + "src": "18948:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -31999,7 +31999,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18924:160:0", + "src": "18948:160:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -32007,7 +32007,7 @@ }, "id": 1114, "nodeType": "ExpressionStatement", - "src": "18924:160:0" + "src": "18948:160:0" }, { "expression": { @@ -32031,7 +32031,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1066, - "src": "19116:10:0", + "src": "19140:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -32049,7 +32049,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1070, - "src": "19173:8:0", + "src": "19197:8:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -32062,7 +32062,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1062, - "src": "19199:9:0", + "src": "19223:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -32075,7 +32075,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1064, - "src": "19226:12:0", + "src": "19250:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -32088,7 +32088,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1056, - "src": "19256:5:0", + "src": "19280:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -32101,7 +32101,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1058, - "src": "19279:6:0", + "src": "19303:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -32114,7 +32114,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1060, - "src": "19303:9:0", + "src": "19327:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -32127,7 +32127,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1074, - "src": "19330:12:0", + "src": "19354:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -32170,7 +32170,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 637, - "src": "19130:25:0", + "src": "19154:25:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_bytes20_$_t_uint8_$_t_uint32_$_t_address_$_t_address_$_t_address_$_t_address_$returns$_t_bytes32_$", "typeString": "function (bytes20,uint8,uint32,address,address,address,address) view returns (bytes32)" @@ -32184,13 +32184,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "19130:226:0", + "src": "19154:226:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "src": "19116:240:0", + "src": "19140:240:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -32206,7 +32206,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "19371:59:0", + "src": "19395:59:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_0c041e0c58e6b0e01d338d852a5abb639065eabeb0aee05e0ce3e5f0e52b4f51", @@ -32234,7 +32234,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "19095:7:0", + "src": "19119:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -32248,7 +32248,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "19095:345:0", + "src": "19119:345:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -32256,7 +32256,7 @@ }, "id": 1129, "nodeType": "ExpressionStatement", - "src": "19095:345:0" + "src": "19119:345:0" }, { "expression": { @@ -32275,7 +32275,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "19451:12:0", + "src": "19475:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -32289,7 +32289,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1066, - "src": "19464:10:0", + "src": "19488:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -32300,7 +32300,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "19451:24:0", + "src": "19475:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -32318,7 +32318,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1056, - "src": "19511:5:0", + "src": "19535:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -32331,7 +32331,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1058, - "src": "19538:6:0", + "src": "19562:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -32344,7 +32344,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1060, - "src": "19569:9:0", + "src": "19593:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -32357,7 +32357,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1068, - "src": "19599:5:0", + "src": "19623:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -32372,7 +32372,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9, - "src": "19626:6:0", + "src": "19650:6:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_Status_$9_$", "typeString": "type(enum Escrow_v1_0.Status)" @@ -32386,7 +32386,7 @@ "memberName": "FUNDED", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "19626:13:0", + "src": "19650:13:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$9", "typeString": "enum Escrow_v1_0.Status" @@ -32401,7 +32401,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1374, - "src": "19667:5:0", + "src": "19691:5:0", "typeDescriptions": { "typeIdentifier": "t_magic_block", "typeString": "block" @@ -32415,7 +32415,7 @@ "memberName": "timestamp", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "19667:15:0", + "src": "19691:15:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -32428,7 +32428,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1062, - "src": "19707:9:0", + "src": "19731:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -32441,7 +32441,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1064, - "src": "19744:12:0", + "src": "19768:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -32454,7 +32454,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1072, - "src": "19786:15:0", + "src": "19810:15:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -32467,7 +32467,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1074, - "src": "19828:12:0", + "src": "19852:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -32481,7 +32481,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 71, - "src": "19478:11:0", + "src": "19502:11:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_struct$_Transaction_$71_storage_ptr_$", "typeString": "type(struct Escrow_v1_0.Transaction storage pointer)" @@ -32506,13 +32506,13 @@ "tokenAddress" ], "nodeType": "FunctionCall", - "src": "19478:373:0", + "src": "19502:373:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_memory", "typeString": "struct Escrow_v1_0.Transaction memory" } }, - "src": "19451:400:0", + "src": "19475:400:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -32520,7 +32520,7 @@ }, "id": 1148, "nodeType": "ExpressionStatement", - "src": "19451:400:0" + "src": "19475:400:0" }, { "expression": { @@ -32543,7 +32543,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "19862:12:0", + "src": "19886:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -32557,7 +32557,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1066, - "src": "19875:10:0", + "src": "19899:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -32568,7 +32568,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "19862:24:0", + "src": "19886:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -32582,7 +32582,7 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "19862:32:0", + "src": "19886:32:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -32596,7 +32596,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1058, - "src": "19895:6:0", + "src": "19919:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -32607,7 +32607,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "19862:40:0", + "src": "19886:40:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -32625,7 +32625,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "19905:4:0", + "src": "19929:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -32633,7 +32633,7 @@ }, "value": "true" }, - "src": "19862:47:0", + "src": "19886:47:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -32641,7 +32641,7 @@ }, "id": 1157, "nodeType": "ExpressionStatement", - "src": "19862:47:0" + "src": "19886:47:0" }, { "expression": { @@ -32664,7 +32664,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "19919:12:0", + "src": "19943:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -32678,7 +32678,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1066, - "src": "19932:10:0", + "src": "19956:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -32689,7 +32689,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "19919:24:0", + "src": "19943:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -32703,7 +32703,7 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "19919:32:0", + "src": "19943:32:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -32717,7 +32717,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1056, - "src": "19952:5:0", + "src": "19976:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -32728,7 +32728,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "19919:39:0", + "src": "19943:39:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -32746,7 +32746,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "19961:4:0", + "src": "19985:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -32754,7 +32754,7 @@ }, "value": "true" }, - "src": "19919:46:0", + "src": "19943:46:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -32762,7 +32762,7 @@ }, "id": 1166, "nodeType": "ExpressionStatement", - "src": "19919:46:0" + "src": "19943:46:0" }, { "expression": { @@ -32778,7 +32778,7 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "20072:44:0", + "src": "20096:44:0", "subExpression": { "argumentTypes": null, "baseExpression": { @@ -32792,7 +32792,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "20073:12:0", + "src": "20097:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -32806,7 +32806,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1066, - "src": "20086:10:0", + "src": "20110:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -32817,7 +32817,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20073:24:0", + "src": "20097:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -32831,7 +32831,7 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "20073:32:0", + "src": "20097:32:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -32845,7 +32845,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1060, - "src": "20106:9:0", + "src": "20130:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -32856,7 +32856,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20073:43:0", + "src": "20097:43:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -32877,7 +32877,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "20131:47:0", + "src": "20155:47:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_313b391557427937e7bdb85c7561d47c5b9c985755a448dd33a92026ffb38f8d", @@ -32905,7 +32905,7 @@ 1388 ], "referencedDeclaration": 1388, - "src": "20051:7:0", + "src": "20075:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -32919,7 +32919,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "20051:137:0", + "src": "20075:137:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -32927,7 +32927,7 @@ }, "id": 1177, "nodeType": "ExpressionStatement", - "src": "20051:137:0" + "src": "20075:137:0" }, { "condition": { @@ -32948,7 +32948,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1062, - "src": "20348:9:0", + "src": "20372:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -32966,7 +32966,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "20360:1:0", + "src": "20384:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -32974,7 +32974,7 @@ }, "value": "1" }, - "src": "20348:13:0", + "src": "20372:13:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -32983,11 +32983,11 @@ "falseBody": null, "id": 1191, "nodeType": "IfStatement", - "src": "20344:94:0", + "src": "20368:94:0", "trueBody": { "id": 1190, "nodeType": "Block", - "src": "20363:75:0", + "src": "20387:75:0", "statements": [ { "expression": { @@ -33010,7 +33010,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "20377:12:0", + "src": "20401:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -33024,7 +33024,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1066, - "src": "20390:10:0", + "src": "20414:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -33035,7 +33035,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20377:24:0", + "src": "20401:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -33049,7 +33049,7 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "20377:32:0", + "src": "20401:32:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -33063,7 +33063,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1060, - "src": "20410:9:0", + "src": "20434:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -33074,7 +33074,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "20377:43:0", + "src": "20401:43:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -33092,7 +33092,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "20423:4:0", + "src": "20447:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -33100,7 +33100,7 @@ }, "value": "true" }, - "src": "20377:50:0", + "src": "20401:50:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -33108,7 +33108,7 @@ }, "id": 1189, "nodeType": "ExpressionStatement", - "src": "20377:50:0" + "src": "20401:50:0" } ] } @@ -33124,7 +33124,7 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "20456:18:0", + "src": "20480:18:0", "subExpression": { "argumentTypes": null, "id": 1192, @@ -33132,7 +33132,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 78, - "src": "20456:16:0", + "src": "20480:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -33145,7 +33145,7 @@ }, "id": 1194, "nodeType": "ExpressionStatement", - "src": "20456:18:0" + "src": "20480:18:0" }, { "expression": { @@ -33158,7 +33158,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1066, - "src": "20516:10:0", + "src": "20540:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -33181,7 +33181,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 83, - "src": "20485:18:0", + "src": "20509:18:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_bytes32_$dyn_storage_$", "typeString": "mapping(address => bytes32[] storage ref)" @@ -33195,7 +33195,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1056, - "src": "20504:5:0", + "src": "20528:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -33206,7 +33206,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20485:25:0", + "src": "20509:25:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage", "typeString": "bytes32[] storage ref" @@ -33220,7 +33220,7 @@ "memberName": "push", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "20485:30:0", + "src": "20509:30:0", "typeDescriptions": { "typeIdentifier": "t_function_arraypush_nonpayable$_t_bytes32_$returns$_t_uint256_$", "typeString": "function (bytes32) returns (uint256)" @@ -33234,7 +33234,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "20485:42:0", + "src": "20509:42:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -33242,7 +33242,7 @@ }, "id": 1201, "nodeType": "ExpressionStatement", - "src": "20485:42:0" + "src": "20509:42:0" }, { "expression": { @@ -33255,7 +33255,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1066, - "src": "20569:10:0", + "src": "20593:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -33278,7 +33278,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 83, - "src": "20537:18:0", + "src": "20561:18:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_bytes32_$dyn_storage_$", "typeString": "mapping(address => bytes32[] storage ref)" @@ -33292,7 +33292,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1058, - "src": "20556:6:0", + "src": "20580:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -33303,7 +33303,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20537:26:0", + "src": "20561:26:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage", "typeString": "bytes32[] storage ref" @@ -33317,7 +33317,7 @@ "memberName": "push", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "20537:31:0", + "src": "20561:31:0", "typeDescriptions": { "typeIdentifier": "t_function_arraypush_nonpayable$_t_bytes32_$returns$_t_uint256_$", "typeString": "function (bytes32) returns (uint256)" @@ -33331,7 +33331,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "20537:43:0", + "src": "20561:43:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -33339,7 +33339,7 @@ }, "id": 1208, "nodeType": "ExpressionStatement", - "src": "20537:43:0" + "src": "20561:43:0" } ] }, @@ -33361,7 +33361,7 @@ "name": "buyer", "nodeType": "VariableDeclaration", "scope": 1210, - "src": "17980:13:0", + "src": "18004:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -33372,7 +33372,7 @@ "id": 1055, "name": "address", "nodeType": "ElementaryTypeName", - "src": "17980:7:0", + "src": "18004:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -33387,7 +33387,7 @@ "name": "seller", "nodeType": "VariableDeclaration", "scope": 1210, - "src": "18003:14:0", + "src": "18027:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -33398,7 +33398,7 @@ "id": 1057, "name": "address", "nodeType": "ElementaryTypeName", - "src": "18003:7:0", + "src": "18027:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -33413,7 +33413,7 @@ "name": "moderator", "nodeType": "VariableDeclaration", "scope": 1210, - "src": "18027:17:0", + "src": "18051:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -33424,7 +33424,7 @@ "id": 1059, "name": "address", "nodeType": "ElementaryTypeName", - "src": "18027:7:0", + "src": "18051:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -33439,7 +33439,7 @@ "name": "threshold", "nodeType": "VariableDeclaration", "scope": 1210, - "src": "18054:15:0", + "src": "18078:15:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -33450,7 +33450,7 @@ "id": 1061, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "18054:5:0", + "src": "18078:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -33465,7 +33465,7 @@ "name": "timeoutHours", "nodeType": "VariableDeclaration", "scope": 1210, - "src": "18079:19:0", + "src": "18103:19:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -33476,7 +33476,7 @@ "id": 1063, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "18079:6:0", + "src": "18103:6:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -33491,7 +33491,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 1210, - "src": "18108:18:0", + "src": "18132:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -33502,7 +33502,7 @@ "id": 1065, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "18108:7:0", + "src": "18132:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -33517,7 +33517,7 @@ "name": "value", "nodeType": "VariableDeclaration", "scope": 1210, - "src": "18136:13:0", + "src": "18160:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -33528,7 +33528,7 @@ "id": 1067, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "18136:7:0", + "src": "18160:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -33543,7 +33543,7 @@ "name": "uniqueId", "nodeType": "VariableDeclaration", "scope": 1210, - "src": "18159:16:0", + "src": "18183:16:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -33554,7 +33554,7 @@ "id": 1069, "name": "bytes20", "nodeType": "ElementaryTypeName", - "src": "18159:7:0", + "src": "18183:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -33569,7 +33569,7 @@ "name": "transactionType", "nodeType": "VariableDeclaration", "scope": 1210, - "src": "18185:31:0", + "src": "18209:31:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -33582,7 +33582,7 @@ "name": "TransactionType", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 12, - "src": "18185:15:0", + "src": "18209:15:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -33597,7 +33597,7 @@ "name": "tokenAddress", "nodeType": "VariableDeclaration", "scope": 1210, - "src": "18226:20:0", + "src": "18250:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -33608,7 +33608,7 @@ "id": 1073, "name": "address", "nodeType": "ElementaryTypeName", - "src": "18226:7:0", + "src": "18250:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -33618,27 +33618,27 @@ "visibility": "internal" } ], - "src": "17970:282:0" + "src": "17994:282:0" }, "payable": false, "returnParameters": { "id": 1076, "nodeType": "ParameterList", "parameters": [], - "src": "18273:0:0" + "src": "18297:0:0" }, "scope": 1211, - "src": "17946:2641:0", + "src": "17970:2641:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "private" } ], "scope": 1212, - "src": "460:20129:0" + "src": "460:20153:0" } ], - "src": "0:20590:0" + "src": "0:20614:0" }, "compiler": { "name": "solc", @@ -33646,5 +33646,5 @@ }, "networks": {}, "schemaVersion": "2.0.1", - "updatedAt": "2018-11-19T13:24:37.686Z" + "updatedAt": "2018-11-19T13:26:50.200Z" } \ No newline at end of file diff --git a/build/contracts/ITokenContract.json b/build/contracts/ITokenContract.json index 61146ff..9a88ec9 100644 --- a/build/contracts/ITokenContract.json +++ b/build/contracts/ITokenContract.json @@ -817,5 +817,5 @@ }, "networks": {}, "schemaVersion": "2.0.1", - "updatedAt": "2018-11-19T13:24:37.667Z" + "updatedAt": "2018-11-19T13:26:50.191Z" } \ No newline at end of file diff --git a/build/contracts/SafeMath.json b/build/contracts/SafeMath.json index bfa2523..cc7e3c5 100644 --- a/build/contracts/SafeMath.json +++ b/build/contracts/SafeMath.json @@ -3295,5 +3295,5 @@ }, "networks": {}, "schemaVersion": "2.0.1", - "updatedAt": "2018-11-19T13:24:37.669Z" + "updatedAt": "2018-11-19T13:26:50.193Z" } \ No newline at end of file diff --git a/contracts/escrow/Escrow_v1_0.sol b/contracts/escrow/Escrow_v1_0.sol index d5a7825..e221ea7 100644 --- a/contracts/escrow/Escrow_v1_0.sol +++ b/contracts/escrow/Escrow_v1_0.sol @@ -253,15 +253,14 @@ contract Escrow_v1_0 { onlyBuyer(scriptHash) { - uint256 _value = msg.value; - require(_value > 0, "Value must be greater than zero."); + require(msg.value > 0, "Value must be greater than zero."); transactions[scriptHash].value = transactions[scriptHash].value - .add(_value); + .add(msg.value); transactions[scriptHash].lastModified = block.timestamp; - emit FundAdded(scriptHash, msg.sender, _value); + emit FundAdded(scriptHash, msg.sender, msg.value); } /** @@ -280,9 +279,8 @@ contract Escrow_v1_0 { checkTransactionType(scriptHash, TransactionType.TOKEN) onlyBuyer(scriptHash) { - uint256 _value = value; - require(_value > 0, "Value must be greater than zero."); + require(value > 0, "Value must be greater than zero."); ITokenContract token = ITokenContract( transactions[scriptHash].tokenAddress @@ -294,10 +292,10 @@ contract Escrow_v1_0 { ); transactions[scriptHash].value = transactions[scriptHash].value - .add(_value); + .add(value); transactions[scriptHash].lastModified = block.timestamp; - emit FundAdded(scriptHash, msg.sender, _value); + emit FundAdded(scriptHash, msg.sender, value); } /** From 93f540540e0e9b536e8a7030f64b11454fd9fa68 Mon Sep 17 00:00:00 2001 From: Sameep Singhania Date: Mon, 19 Nov 2018 19:03:24 +0530 Subject: [PATCH 11/19] Added _ before each private and internal method and declared partyVsTransaction storage variable as public --- build/contracts/Escrow_v1_0.json | 8900 +++++++++++++-------------- build/contracts/ITokenContract.json | 182 +- build/contracts/SafeMath.json | 818 +-- contracts/escrow/Escrow_v1_0.sol | 18 +- 4 files changed, 4893 insertions(+), 5025 deletions(-) diff --git a/build/contracts/Escrow_v1_0.json b/build/contracts/Escrow_v1_0.json index 947e19f..49c2ea6 100644 --- a/build/contracts/Escrow_v1_0.json +++ b/build/contracts/Escrow_v1_0.json @@ -418,20 +418,20 @@ "type": "function" } ], - "bytecode": "0x6080604052600060015534801561001557600080fd5b506141d9806100256000396000f3006080604052600436106100ba576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806323b6fd3f146100bf5780632d9ef96e1461017957806346fbcdeb1461019d57806357bced7614610292578063642f2eaf14610383578063b0550c66146104e5578063b719e2801461054e578063b77bf60014610589578063be84ceaf146105b4578063e4ec8b001461064c578063f0786562146106f5578063f5dbe09c1461075e575b600080fd5b610177600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff169060200190929190803563ffffffff169060200190929190803560001916906020019092919080356bffffffffffffffffffffffff191690602001909291905050506107c7565b005b61019b6004803603810190808035600019169060200190929190505050610a1b565b005b3480156101a957600080fd5b5061027460048036038101908080356bffffffffffffffffffffffff19169060200190929190803560ff169060200190929190803563ffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610e9e565b60405180826000191660001916815260200191505060405180910390f35b34801561029e57600080fd5b50610381600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff169060200190929190803563ffffffff16906020019092919080356000191690602001909291908035906020019092919080356bffffffffffffffffffffffff19169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061134a565b005b34801561038f57600080fd5b506103b2600480360381019080803560001916906020019092919050505061181f565b604051808b81526020018a81526020018960018111156103ce57fe5b60ff1681526020018860018111156103e257fe5b60ff1681526020018760ff1660ff1681526020018663ffffffff1663ffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019a505050505050505050505060405180910390f35b3480156104f157600080fd5b506105346004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061192a565b604051808215151515815260200191505060405180910390f35b34801561055a57600080fd5b5061058760048036038101908080356000191690602001909291908035906020019092919050505061199c565b005b34801561059557600080fd5b5061059e612071565b6040518082815260200191505060405180910390f35b3480156105c057600080fd5b506105f5600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612077565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b8381101561063857808201518184015260208101905061061d565b505050509050019250505060405180910390f35b34801561065857600080fd5b506106f36004803603810190808035906020019082018035906020019190919293919293908035906020019082018035906020019190919293919293908035906020019082018035906020019190919293919293908035600019169060200190929190803590602001908201803590602001919091929391929390803590602001908201803590602001919091929391929390505050612112565b005b34801561070157600080fd5b506107446004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612669565b604051808215151515815260200191505060405180910390f35b34801561076a57600080fd5b506107a9600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506126db565b60405180826000191660001916815260200191505060405180910390f35b81600080600083600019166000191681526020019081526020016000206000015414151561085d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f5472616e73616374696f6e20657869737400000000000000000000000000000081525060200191505060405180910390fd5b87600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610903576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b87600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156109a9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b6109bc8a8a8a8a8a8a348b60008061270b565b3373ffffffffffffffffffffffffffffffffffffffff1685600019167fce7089d0668849fb9ca29778c0cbf1e764d9efb048d81fd71fb34c94f26db368346040518082815260200191505060405180910390a350505050505050505050565b600081600080600083600019166000191681526020019081526020016000206000015414151515610ab4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737400000000000081525060200191505060405180910390fd5b8260006001811115610ac257fe5b600080836000191660001916815260200190815260200160002060020160009054906101000a900460ff166001811115610af857fe5b141515610b93576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001807f5472616e73616374696f6e206973206e6f7420696e2046554e4445442073746181526020017f746500000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b836000806001811115610ba257fe5b600080846000191660001916815260200190815260200160002060020160019054906101000a900460ff166001811115610bd857fe5b141515610c4d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5472616e73616374696f6e207479706520646f6573206e6f74206d617463680081525060200191505060405180910390fd5b85600080826000191660001916815260200190815260200160002060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610d54576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f54686520696e69746961746f72206f6620746865207472616e73616374696f6e81526020017f206973206e6f742062757965720000000000000000000000000000000000000081525060400191505060405180910390fd5b349550600086111515610dcf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f56616c7565206d7573742062652067726561746572207468616e207a65726f2e81525060200191505060405180910390fd5b610dff866000808a600019166000191681526020019081526020016000206000015461309790919063ffffffff16565b600080896000191660001916815260200190815260200160002060000181905550426000808960001916600019168152602001908152602001600020600101819055503373ffffffffffffffffffffffffffffffffffffffff1687600019167ff66fd2ae9e24a6a24b02e1b5b7512ffde5149a4176085fc0298ae228c9b9d729886040518082815260200191505060405180910390a350505050505050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156110ea578787878787873060405160200180886bffffffffffffffffffffffff19166bffffffffffffffffffffffff191681526014018760ff1660ff167f01000000000000000000000000000000000000000000000000000000000000000281526001018663ffffffff1663ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014019750505050505050506040516020818303038152906040526040518082805190602001908083835b6020831015156110b65780518252602082019150602081019050602083039250611091565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040518091039020905061133f565b878787878787308860405160200180896bffffffffffffffffffffffff19166bffffffffffffffffffffffff191681526014018860ff1660ff167f01000000000000000000000000000000000000000000000000000000000000000281526001018763ffffffff1663ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401985050505050505050506040516020818303038152906040526040518082805190602001908083835b60208310151561130f57805182526020820191506020810190506020830392506112ea565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902090505b979650505050505050565b60008460008060008360001916600019168152602001908152602001600020600001541415156113e2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f5472616e73616374696f6e20657869737400000000000000000000000000000081525060200191505060405180910390fd5b8a600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515611488576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b8a600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561152e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b84600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156115d4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b6115e78e8e8e8e8e8e8e8e60018f61270b565b8594508473ffffffffffffffffffffffffffffffffffffffff166323b872dd33308b6040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b1580156116c157600080fd5b505af11580156116d5573d6000803e3d6000fd5b505050506040513d60208110156116eb57600080fd5b810190808051906020019092919050505015156117bc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252605d8152602001807f546f6b656e207472616e73666572206661696c65642c206d6179626520796f7581526020017f20646964206e6f7420617070726f766520657363726f7720636f6e747261637481526020017f20746f207370656e64206f6e20626568616c66206f662073656e64657200000081525060600191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff1689600019167fce7089d0668849fb9ca29778c0cbf1e764d9efb048d81fd71fb34c94f26db3688a6040518082815260200191505060405180910390a35050505050505050505050505050565b60006020528060005260406000206000915090508060000154908060010154908060020160009054906101000a900460ff16908060020160019054906101000a900460ff16908060020160029054906101000a900460ff16908060020160039054906101000a900463ffffffff16908060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060050160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508a565b6000806000846000191660001916815260200190815260200160002060080160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b60008083600080600083600019166000191681526020019081526020016000206000015414151515611a36576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737400000000000081525060200191505060405180910390fd5b8460006001811115611a4457fe5b600080836000191660001916815260200190815260200160002060020160009054906101000a900460ff166001811115611a7a57fe5b141515611b15576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001807f5472616e73616374696f6e206973206e6f7420696e2046554e4445442073746181526020017f746500000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b856001806001811115611b2457fe5b600080846000191660001916815260200190815260200160002060020160019054906101000a900460ff166001811115611b5a57fe5b141515611bcf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5472616e73616374696f6e207479706520646f6573206e6f74206d617463680081525060200191505060405180910390fd5b87600080826000191660001916815260200190815260200160002060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611cd6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f54686520696e69746961746f72206f6620746865207472616e73616374696f6e81526020017f206973206e6f742062757965720000000000000000000000000000000000000081525060400191505060405180910390fd5b879650600087111515611d51576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f56616c7565206d7573742062652067726561746572207468616e207a65726f2e81525060200191505060405180910390fd5b6000808a6000191660001916815260200190815260200160002060040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1695508573ffffffffffffffffffffffffffffffffffffffff166323b872dd6000808c6000191660001916815260200190815260200160002060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff16308b6040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b158015611ea557600080fd5b505af1158015611eb9573d6000803e3d6000fd5b505050506040513d6020811015611ecf57600080fd5b81019080805190602001909291905050501515611fa0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252605c8152602001807f546f6b656e207472616e73666572206661696c65642c206d6179626520796f7581526020017f20646964206e6f7420617070726f766520657363726f7720636f6e747261637481526020017f20746f207370656e64206f6e20626568616c66206f662062757965720000000081525060600191505060405180910390fd5b611fd0876000808c600019166000191681526020019081526020016000206000015461309790919063ffffffff16565b6000808b6000191660001916815260200190815260200160002060000181905550426000808b60001916600019168152602001908152602001600020600101819055503373ffffffffffffffffffffffffffffffffffffffff1689600019167ff66fd2ae9e24a6a24b02e1b5b7512ffde5149a4176085fc0298ae228c9b9d729896040518082815260200191505060405180910390a3505050505050505050565b60015481565b6060600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080548060200260200160405190810160405280929190818152602001828054801561210657602002820191906000526020600020905b815460001916815260200190600101908083116120ee575b50505050509050919050565b846000806000836000191660001916815260200190815260200160002060000154141515156121a9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737400000000000081525060200191505060405180910390fd5b85600060018111156121b757fe5b600080836000191660001916815260200190815260200160002060020160009054906101000a900460ff1660018111156121ed57fe5b141515612288576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001807f5472616e73616374696f6e206973206e6f7420696e2046554e4445442073746181526020017f746500000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b6000868690501180156122a057508383905086869050145b151561233a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001807f4c656e677468206f662064657374696e6174696f6e7320697320696e636f727281526020017f6563742e0000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b6124338d8d808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508c8c808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508b8b808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508a8a8a808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508989808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050506130b8565b6001600080896000191660001916815260200190815260200160002060020160006101000a81548160ff0219169083600181111561246d57fe5b02179055504260008089600019166000191681526020019081526020016000206001018190555060008088600019166000191681526020019081526020016000206000015461251b88888880806020026020016040519081016040528093929190818152602001838360200280828437820191505050505050878780806020026020016040519081016040528093929190818152602001838360200280828437820191505050505050613299565b1415156125dc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260488152602001807f546f74616c2076616c756520746f2062652072656c6561736564206d7573742081526020017f626520657175616c20746f20746865207472616e73616374696f6e206573637281526020017f6f772076616c756500000000000000000000000000000000000000000000000081525060600191505060405180910390fd5b86600019167f688e2a1b34445bcd47b0e11ba2a9c8c4d850a1831b64199b59d1c70e29701545878787876040518080602001806020018381038352878782818152602001925060200280828437820191505083810382528585828181526020019250602002808284378201915050965050505050505060405180910390a250505050505050505050505050565b6000806000846000191660001916815260200190815260200160002060070160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6002602052816000526040600020818154811015156126f657fe5b90600052602060002001600091509150505481565b8873ffffffffffffffffffffffffffffffffffffffff168a73ffffffffffffffffffffffffffffffffffffffff16141515156127af576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f427579657220616e642073656c6c6572206172652073616d650000000000000081525060200191505060405180910390fd5b600084111515612827576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f56616c756520706173736564206973203000000000000000000000000000000081525060200191505060405180910390fd5b60008760ff1611801561283e575060038760ff1611155b15156128d8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603d8152602001807f5468726573686f6c642063616e6e6f742062652067726561746572207468616e81526020017f203320616e64206d7573742062652067726561746572207468616e203000000081525060400191505060405180910390fd5b60018760ff1614806129175750600073ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff1614155b15156129d7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260488152602001807f456974686572207468726573686f6c642073686f756c642062652031206f722081526020017f76616c6964206d6f64657261746f7220616464726573732073686f756c64206281526020017f652070617373656400000000000000000000000000000000000000000000000081525060600191505060405180910390fd5b6129e68388888d8d8d87610e9e565b600019168560001916141515612a8a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260398152602001807f43616c63756c6174656420736372697074206861736820646f6573206e6f742081526020017f6d61746368207061737365642073637269707420686173682e0000000000000081525060400191505060405180910390fd5b6101406040519081016040528085815260200142815260200160006001811115612ab057fe5b8152602001836001811115612ac157fe5b81526020018860ff1681526020018763ffffffff1681526020018b73ffffffffffffffffffffffffffffffffffffffff1681526020018a73ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020018973ffffffffffffffffffffffffffffffffffffffff168152506000808760001916600019168152602001908152602001600020600082015181600001556020820151816001015560408201518160020160006101000a81548160ff02191690836001811115612b9b57fe5b021790555060608201518160020160016101000a81548160ff02191690836001811115612bc457fe5b021790555060808201518160020160026101000a81548160ff021916908360ff16021790555060a08201518160020160036101000a81548163ffffffff021916908363ffffffff16021790555060c08201518160020160076101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060e08201518160030160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506101008201518160040160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506101208201518160050160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055509050506001600080876000191660001916815260200190815260200160002060060160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600080876000191660001916815260200190815260200160002060060160008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600080866000191660001916815260200190815260200160002060060160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151515612f1b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f456974686572206275796572206f722073656c6c65722069732070617373656481526020017f206173206d6f64657261746f720000000000000000000000000000000000000081525060400191505060405180910390fd5b60018760ff161115612f9b576001600080876000191660001916815260200190815260200160002060060160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b600160008154809291906001019190505550600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020859080600181540180825580915050906001820390600052602060002001600090919290919091509060001916905550600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002085908060018154018082558091505090600182039060005260206000200160009091929091909150906000191690555050505050505050505050565b60008082840190508381101515156130ae57600080fd5b8091505092915050565b6000806130c9888888888888613a81565b915061311f600080876000191660001916815260200190815260200160002060020160039054906101000a900463ffffffff166000808860001916600019168152602001908152602001600020600101546140fa565b9050600080866000191660001916815260200190815260200160002060020160029054906101000a900460ff1660ff1688511080156131d057508015806131cf5750600080866000191660001916815260200190815260200160002060030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b5b1561328f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260588152602001807f4d696e696d756d206e756d626572206f66207369676e6174757265732061726581526020017f206e6f7420636f6c6c656374656420616e642074696d65206c6f636b2065787081526020017f69727920636f6e646974696f6e73206e6f74206d65742121000000000000000081525060600191505060405180910390fd5b5050505050505050565b6000806000806000806000808a60001916600019168152602001908152602001600020945060009350600060018111156132cf57fe5b8560020160019054906101000a900460ff1660018111156132ec57fe5b141561360357600092505b87518310156135fe57600073ffffffffffffffffffffffffffffffffffffffff16888481518110151561332657fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff16141580156133b65750846006016000898581518110151561336357fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b151561342a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f4e6f7420612076616c69642064657374696e6174696f6e00000000000000000081525060200191505060405180910390fd5b6000878481518110151561343a57fe5b906020019060200201511115156134df576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001807f416d6f756e7420746f2062652073656e742073686f756c64206265206772656181526020017f746572207468616e20300000000000000000000000000000000000000000000081525060400191505060405180910390fd5b61350987848151811015156134f057fe5b906020019060200201518561309790919063ffffffff16565b935060018560080160008a8681518110151561352157fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550878381518110151561358a57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff166108fc88858151811015156135bb57fe5b906020019060200201519081150290604051600060405180830381858888f193505050501580156135f0573d6000803e3d6000fd5b5082806001019350506132f7565b613a72565b60018081111561360f57fe5b8560020160019054906101000a900460ff16600181111561362c57fe5b1415613a71578460040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169150600090505b8751811015613a7057600073ffffffffffffffffffffffffffffffffffffffff16888281518110151561368d57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff161415801561371d575084600601600089838151811015156136ca57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1515613791576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f4e6f7420612076616c69642064657374696e6174696f6e00000000000000000081525060200191505060405180910390fd5b600087828151811015156137a157fe5b90602001906020020151111515613846576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001807f416d6f756e7420746f2062652073656e742073686f756c64206265206772656181526020017f746572207468616e20300000000000000000000000000000000000000000000081525060400191505060405180910390fd5b613870878281518110151561385757fe5b906020019060200201518561309790919063ffffffff16565b935060018560080160008a8481518110151561388857fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb898381518110151561390d57fe5b90602001906020020151898481518110151561392557fe5b906020019060200201516040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1580156139b457600080fd5b505af11580156139c8573d6000803e3d6000fd5b505050506040513d60208110156139de57600080fd5b81019080805190602001909291905050501515613a63576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f546f6b656e207472616e73666572206661696c65642e0000000000000000000081525060200191505060405180910390fd5b808060010191505061365e565b5b5b83955050505050509392505050565b600080600080600088518a51148015613a9b57508a518a51145b1515613b0f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f522c532c56206c656e677468206d69736d617463682e0000000000000000000081525060200191505060405180910390fd5b60197f01000000000000000000000000000000000000000000000000000000000000000260007f0100000000000000000000000000000000000000000000000000000000000000023089898c60405160200180877effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168152600101867effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526001018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401848051906020019060200280838360005b83811015613c63578082015181840152602081019050613c48565b50505050905001838051906020019060200280838360005b83811015613c96578082015181840152602081019050613c7b565b50505050905001826000191660001916815260200196505050505050506040516020818303038152906040526040518082805190602001908083835b602083101515613cf75780518252602082019150602081019050602083039250613cd2565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902060405160200180807f19457468657265756d205369676e6564204d6573736167653a0a333200000000815250601c0182600019166000191681526020019150506040516020818303038152906040526040518082805190602001908083835b602083101515613da85780518252602082019150602081019050602083039250613d83565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390209250600091505b89518210156140e9576001838c84815181101515613df657fe5b906020019060200201518c85815181101515613e0e57fe5b906020019060200201518c86815181101515613e2657fe5b90602001906020020151604051600081526020016040526040518085600019166000191681526020018460ff1660ff1681526020018360001916600019168152602001826000191660001916815260200194505050505060206040516020810390808403906000865af1158015613ea1573d6000803e3d6000fd5b505050602060405103519050600080896000191660001916815260200190815260200160002060060160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515613f89576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f496e76616c6964207369676e617475726500000000000000000000000000000081525060200191505060405180910390fd5b600080896000191660001916815260200190815260200160002060070160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151515614066576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f53616d65207369676e61747572652073656e742074776963650000000000000081525060200191505060405180910390fd5b60016000808a6000191660001916815260200190815260200160002060070160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508093508180600101925050613ddc565b839450505050509695505050505050565b600080614110834261414e90919063ffffffff16565b905060008463ffffffff16146141425761413b610e108563ffffffff1661416f90919063ffffffff16565b8111614145565b60005b91505092915050565b60008083831115151561416057600080fd5b82840390508091505092915050565b600080600084141561418457600091506141a6565b828402905082848281151561419557fe5b041415156141a257600080fd5b8091505b50929150505600a165627a7a72305820b92d0aa182b7ae10953296f9afa56756daa1dbba5360ede1e6c25da28881280c0029", - "deployedBytecode": "0x6080604052600436106100ba576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806323b6fd3f146100bf5780632d9ef96e1461017957806346fbcdeb1461019d57806357bced7614610292578063642f2eaf14610383578063b0550c66146104e5578063b719e2801461054e578063b77bf60014610589578063be84ceaf146105b4578063e4ec8b001461064c578063f0786562146106f5578063f5dbe09c1461075e575b600080fd5b610177600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff169060200190929190803563ffffffff169060200190929190803560001916906020019092919080356bffffffffffffffffffffffff191690602001909291905050506107c7565b005b61019b6004803603810190808035600019169060200190929190505050610a1b565b005b3480156101a957600080fd5b5061027460048036038101908080356bffffffffffffffffffffffff19169060200190929190803560ff169060200190929190803563ffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610e9e565b60405180826000191660001916815260200191505060405180910390f35b34801561029e57600080fd5b50610381600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff169060200190929190803563ffffffff16906020019092919080356000191690602001909291908035906020019092919080356bffffffffffffffffffffffff19169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061134a565b005b34801561038f57600080fd5b506103b2600480360381019080803560001916906020019092919050505061181f565b604051808b81526020018a81526020018960018111156103ce57fe5b60ff1681526020018860018111156103e257fe5b60ff1681526020018760ff1660ff1681526020018663ffffffff1663ffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019a505050505050505050505060405180910390f35b3480156104f157600080fd5b506105346004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061192a565b604051808215151515815260200191505060405180910390f35b34801561055a57600080fd5b5061058760048036038101908080356000191690602001909291908035906020019092919050505061199c565b005b34801561059557600080fd5b5061059e612071565b6040518082815260200191505060405180910390f35b3480156105c057600080fd5b506105f5600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612077565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b8381101561063857808201518184015260208101905061061d565b505050509050019250505060405180910390f35b34801561065857600080fd5b506106f36004803603810190808035906020019082018035906020019190919293919293908035906020019082018035906020019190919293919293908035906020019082018035906020019190919293919293908035600019169060200190929190803590602001908201803590602001919091929391929390803590602001908201803590602001919091929391929390505050612112565b005b34801561070157600080fd5b506107446004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612669565b604051808215151515815260200191505060405180910390f35b34801561076a57600080fd5b506107a9600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506126db565b60405180826000191660001916815260200191505060405180910390f35b81600080600083600019166000191681526020019081526020016000206000015414151561085d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f5472616e73616374696f6e20657869737400000000000000000000000000000081525060200191505060405180910390fd5b87600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610903576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b87600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156109a9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b6109bc8a8a8a8a8a8a348b60008061270b565b3373ffffffffffffffffffffffffffffffffffffffff1685600019167fce7089d0668849fb9ca29778c0cbf1e764d9efb048d81fd71fb34c94f26db368346040518082815260200191505060405180910390a350505050505050505050565b600081600080600083600019166000191681526020019081526020016000206000015414151515610ab4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737400000000000081525060200191505060405180910390fd5b8260006001811115610ac257fe5b600080836000191660001916815260200190815260200160002060020160009054906101000a900460ff166001811115610af857fe5b141515610b93576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001807f5472616e73616374696f6e206973206e6f7420696e2046554e4445442073746181526020017f746500000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b836000806001811115610ba257fe5b600080846000191660001916815260200190815260200160002060020160019054906101000a900460ff166001811115610bd857fe5b141515610c4d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5472616e73616374696f6e207479706520646f6573206e6f74206d617463680081525060200191505060405180910390fd5b85600080826000191660001916815260200190815260200160002060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610d54576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f54686520696e69746961746f72206f6620746865207472616e73616374696f6e81526020017f206973206e6f742062757965720000000000000000000000000000000000000081525060400191505060405180910390fd5b349550600086111515610dcf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f56616c7565206d7573742062652067726561746572207468616e207a65726f2e81525060200191505060405180910390fd5b610dff866000808a600019166000191681526020019081526020016000206000015461309790919063ffffffff16565b600080896000191660001916815260200190815260200160002060000181905550426000808960001916600019168152602001908152602001600020600101819055503373ffffffffffffffffffffffffffffffffffffffff1687600019167ff66fd2ae9e24a6a24b02e1b5b7512ffde5149a4176085fc0298ae228c9b9d729886040518082815260200191505060405180910390a350505050505050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156110ea578787878787873060405160200180886bffffffffffffffffffffffff19166bffffffffffffffffffffffff191681526014018760ff1660ff167f01000000000000000000000000000000000000000000000000000000000000000281526001018663ffffffff1663ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014019750505050505050506040516020818303038152906040526040518082805190602001908083835b6020831015156110b65780518252602082019150602081019050602083039250611091565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040518091039020905061133f565b878787878787308860405160200180896bffffffffffffffffffffffff19166bffffffffffffffffffffffff191681526014018860ff1660ff167f01000000000000000000000000000000000000000000000000000000000000000281526001018763ffffffff1663ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401985050505050505050506040516020818303038152906040526040518082805190602001908083835b60208310151561130f57805182526020820191506020810190506020830392506112ea565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902090505b979650505050505050565b60008460008060008360001916600019168152602001908152602001600020600001541415156113e2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f5472616e73616374696f6e20657869737400000000000000000000000000000081525060200191505060405180910390fd5b8a600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515611488576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b8a600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561152e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b84600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156115d4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b6115e78e8e8e8e8e8e8e8e60018f61270b565b8594508473ffffffffffffffffffffffffffffffffffffffff166323b872dd33308b6040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b1580156116c157600080fd5b505af11580156116d5573d6000803e3d6000fd5b505050506040513d60208110156116eb57600080fd5b810190808051906020019092919050505015156117bc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252605d8152602001807f546f6b656e207472616e73666572206661696c65642c206d6179626520796f7581526020017f20646964206e6f7420617070726f766520657363726f7720636f6e747261637481526020017f20746f207370656e64206f6e20626568616c66206f662073656e64657200000081525060600191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff1689600019167fce7089d0668849fb9ca29778c0cbf1e764d9efb048d81fd71fb34c94f26db3688a6040518082815260200191505060405180910390a35050505050505050505050505050565b60006020528060005260406000206000915090508060000154908060010154908060020160009054906101000a900460ff16908060020160019054906101000a900460ff16908060020160029054906101000a900460ff16908060020160039054906101000a900463ffffffff16908060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060050160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508a565b6000806000846000191660001916815260200190815260200160002060080160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b60008083600080600083600019166000191681526020019081526020016000206000015414151515611a36576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737400000000000081525060200191505060405180910390fd5b8460006001811115611a4457fe5b600080836000191660001916815260200190815260200160002060020160009054906101000a900460ff166001811115611a7a57fe5b141515611b15576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001807f5472616e73616374696f6e206973206e6f7420696e2046554e4445442073746181526020017f746500000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b856001806001811115611b2457fe5b600080846000191660001916815260200190815260200160002060020160019054906101000a900460ff166001811115611b5a57fe5b141515611bcf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5472616e73616374696f6e207479706520646f6573206e6f74206d617463680081525060200191505060405180910390fd5b87600080826000191660001916815260200190815260200160002060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611cd6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f54686520696e69746961746f72206f6620746865207472616e73616374696f6e81526020017f206973206e6f742062757965720000000000000000000000000000000000000081525060400191505060405180910390fd5b879650600087111515611d51576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f56616c7565206d7573742062652067726561746572207468616e207a65726f2e81525060200191505060405180910390fd5b6000808a6000191660001916815260200190815260200160002060040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1695508573ffffffffffffffffffffffffffffffffffffffff166323b872dd6000808c6000191660001916815260200190815260200160002060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff16308b6040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b158015611ea557600080fd5b505af1158015611eb9573d6000803e3d6000fd5b505050506040513d6020811015611ecf57600080fd5b81019080805190602001909291905050501515611fa0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252605c8152602001807f546f6b656e207472616e73666572206661696c65642c206d6179626520796f7581526020017f20646964206e6f7420617070726f766520657363726f7720636f6e747261637481526020017f20746f207370656e64206f6e20626568616c66206f662062757965720000000081525060600191505060405180910390fd5b611fd0876000808c600019166000191681526020019081526020016000206000015461309790919063ffffffff16565b6000808b6000191660001916815260200190815260200160002060000181905550426000808b60001916600019168152602001908152602001600020600101819055503373ffffffffffffffffffffffffffffffffffffffff1689600019167ff66fd2ae9e24a6a24b02e1b5b7512ffde5149a4176085fc0298ae228c9b9d729896040518082815260200191505060405180910390a3505050505050505050565b60015481565b6060600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080548060200260200160405190810160405280929190818152602001828054801561210657602002820191906000526020600020905b815460001916815260200190600101908083116120ee575b50505050509050919050565b846000806000836000191660001916815260200190815260200160002060000154141515156121a9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737400000000000081525060200191505060405180910390fd5b85600060018111156121b757fe5b600080836000191660001916815260200190815260200160002060020160009054906101000a900460ff1660018111156121ed57fe5b141515612288576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001807f5472616e73616374696f6e206973206e6f7420696e2046554e4445442073746181526020017f746500000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b6000868690501180156122a057508383905086869050145b151561233a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001807f4c656e677468206f662064657374696e6174696f6e7320697320696e636f727281526020017f6563742e0000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b6124338d8d808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508c8c808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508b8b808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508a8a8a808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508989808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050506130b8565b6001600080896000191660001916815260200190815260200160002060020160006101000a81548160ff0219169083600181111561246d57fe5b02179055504260008089600019166000191681526020019081526020016000206001018190555060008088600019166000191681526020019081526020016000206000015461251b88888880806020026020016040519081016040528093929190818152602001838360200280828437820191505050505050878780806020026020016040519081016040528093929190818152602001838360200280828437820191505050505050613299565b1415156125dc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260488152602001807f546f74616c2076616c756520746f2062652072656c6561736564206d7573742081526020017f626520657175616c20746f20746865207472616e73616374696f6e206573637281526020017f6f772076616c756500000000000000000000000000000000000000000000000081525060600191505060405180910390fd5b86600019167f688e2a1b34445bcd47b0e11ba2a9c8c4d850a1831b64199b59d1c70e29701545878787876040518080602001806020018381038352878782818152602001925060200280828437820191505083810382528585828181526020019250602002808284378201915050965050505050505060405180910390a250505050505050505050505050565b6000806000846000191660001916815260200190815260200160002060070160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6002602052816000526040600020818154811015156126f657fe5b90600052602060002001600091509150505481565b8873ffffffffffffffffffffffffffffffffffffffff168a73ffffffffffffffffffffffffffffffffffffffff16141515156127af576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f427579657220616e642073656c6c6572206172652073616d650000000000000081525060200191505060405180910390fd5b600084111515612827576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f56616c756520706173736564206973203000000000000000000000000000000081525060200191505060405180910390fd5b60008760ff1611801561283e575060038760ff1611155b15156128d8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603d8152602001807f5468726573686f6c642063616e6e6f742062652067726561746572207468616e81526020017f203320616e64206d7573742062652067726561746572207468616e203000000081525060400191505060405180910390fd5b60018760ff1614806129175750600073ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff1614155b15156129d7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260488152602001807f456974686572207468726573686f6c642073686f756c642062652031206f722081526020017f76616c6964206d6f64657261746f7220616464726573732073686f756c64206281526020017f652070617373656400000000000000000000000000000000000000000000000081525060600191505060405180910390fd5b6129e68388888d8d8d87610e9e565b600019168560001916141515612a8a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260398152602001807f43616c63756c6174656420736372697074206861736820646f6573206e6f742081526020017f6d61746368207061737365642073637269707420686173682e0000000000000081525060400191505060405180910390fd5b6101406040519081016040528085815260200142815260200160006001811115612ab057fe5b8152602001836001811115612ac157fe5b81526020018860ff1681526020018763ffffffff1681526020018b73ffffffffffffffffffffffffffffffffffffffff1681526020018a73ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020018973ffffffffffffffffffffffffffffffffffffffff168152506000808760001916600019168152602001908152602001600020600082015181600001556020820151816001015560408201518160020160006101000a81548160ff02191690836001811115612b9b57fe5b021790555060608201518160020160016101000a81548160ff02191690836001811115612bc457fe5b021790555060808201518160020160026101000a81548160ff021916908360ff16021790555060a08201518160020160036101000a81548163ffffffff021916908363ffffffff16021790555060c08201518160020160076101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060e08201518160030160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506101008201518160040160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506101208201518160050160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055509050506001600080876000191660001916815260200190815260200160002060060160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600080876000191660001916815260200190815260200160002060060160008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600080866000191660001916815260200190815260200160002060060160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151515612f1b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f456974686572206275796572206f722073656c6c65722069732070617373656481526020017f206173206d6f64657261746f720000000000000000000000000000000000000081525060400191505060405180910390fd5b60018760ff161115612f9b576001600080876000191660001916815260200190815260200160002060060160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b600160008154809291906001019190505550600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020859080600181540180825580915050906001820390600052602060002001600090919290919091509060001916905550600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002085908060018154018082558091505090600182039060005260206000200160009091929091909150906000191690555050505050505050505050565b60008082840190508381101515156130ae57600080fd5b8091505092915050565b6000806130c9888888888888613a81565b915061311f600080876000191660001916815260200190815260200160002060020160039054906101000a900463ffffffff166000808860001916600019168152602001908152602001600020600101546140fa565b9050600080866000191660001916815260200190815260200160002060020160029054906101000a900460ff1660ff1688511080156131d057508015806131cf5750600080866000191660001916815260200190815260200160002060030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b5b1561328f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260588152602001807f4d696e696d756d206e756d626572206f66207369676e6174757265732061726581526020017f206e6f7420636f6c6c656374656420616e642074696d65206c6f636b2065787081526020017f69727920636f6e646974696f6e73206e6f74206d65742121000000000000000081525060600191505060405180910390fd5b5050505050505050565b6000806000806000806000808a60001916600019168152602001908152602001600020945060009350600060018111156132cf57fe5b8560020160019054906101000a900460ff1660018111156132ec57fe5b141561360357600092505b87518310156135fe57600073ffffffffffffffffffffffffffffffffffffffff16888481518110151561332657fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff16141580156133b65750846006016000898581518110151561336357fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b151561342a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f4e6f7420612076616c69642064657374696e6174696f6e00000000000000000081525060200191505060405180910390fd5b6000878481518110151561343a57fe5b906020019060200201511115156134df576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001807f416d6f756e7420746f2062652073656e742073686f756c64206265206772656181526020017f746572207468616e20300000000000000000000000000000000000000000000081525060400191505060405180910390fd5b61350987848151811015156134f057fe5b906020019060200201518561309790919063ffffffff16565b935060018560080160008a8681518110151561352157fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550878381518110151561358a57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff166108fc88858151811015156135bb57fe5b906020019060200201519081150290604051600060405180830381858888f193505050501580156135f0573d6000803e3d6000fd5b5082806001019350506132f7565b613a72565b60018081111561360f57fe5b8560020160019054906101000a900460ff16600181111561362c57fe5b1415613a71578460040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169150600090505b8751811015613a7057600073ffffffffffffffffffffffffffffffffffffffff16888281518110151561368d57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff161415801561371d575084600601600089838151811015156136ca57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1515613791576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f4e6f7420612076616c69642064657374696e6174696f6e00000000000000000081525060200191505060405180910390fd5b600087828151811015156137a157fe5b90602001906020020151111515613846576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001807f416d6f756e7420746f2062652073656e742073686f756c64206265206772656181526020017f746572207468616e20300000000000000000000000000000000000000000000081525060400191505060405180910390fd5b613870878281518110151561385757fe5b906020019060200201518561309790919063ffffffff16565b935060018560080160008a8481518110151561388857fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb898381518110151561390d57fe5b90602001906020020151898481518110151561392557fe5b906020019060200201516040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1580156139b457600080fd5b505af11580156139c8573d6000803e3d6000fd5b505050506040513d60208110156139de57600080fd5b81019080805190602001909291905050501515613a63576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f546f6b656e207472616e73666572206661696c65642e0000000000000000000081525060200191505060405180910390fd5b808060010191505061365e565b5b5b83955050505050509392505050565b600080600080600088518a51148015613a9b57508a518a51145b1515613b0f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f522c532c56206c656e677468206d69736d617463682e0000000000000000000081525060200191505060405180910390fd5b60197f01000000000000000000000000000000000000000000000000000000000000000260007f0100000000000000000000000000000000000000000000000000000000000000023089898c60405160200180877effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168152600101867effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526001018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401848051906020019060200280838360005b83811015613c63578082015181840152602081019050613c48565b50505050905001838051906020019060200280838360005b83811015613c96578082015181840152602081019050613c7b565b50505050905001826000191660001916815260200196505050505050506040516020818303038152906040526040518082805190602001908083835b602083101515613cf75780518252602082019150602081019050602083039250613cd2565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902060405160200180807f19457468657265756d205369676e6564204d6573736167653a0a333200000000815250601c0182600019166000191681526020019150506040516020818303038152906040526040518082805190602001908083835b602083101515613da85780518252602082019150602081019050602083039250613d83565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390209250600091505b89518210156140e9576001838c84815181101515613df657fe5b906020019060200201518c85815181101515613e0e57fe5b906020019060200201518c86815181101515613e2657fe5b90602001906020020151604051600081526020016040526040518085600019166000191681526020018460ff1660ff1681526020018360001916600019168152602001826000191660001916815260200194505050505060206040516020810390808403906000865af1158015613ea1573d6000803e3d6000fd5b505050602060405103519050600080896000191660001916815260200190815260200160002060060160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515613f89576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f496e76616c6964207369676e617475726500000000000000000000000000000081525060200191505060405180910390fd5b600080896000191660001916815260200190815260200160002060070160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151515614066576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f53616d65207369676e61747572652073656e742074776963650000000000000081525060200191505060405180910390fd5b60016000808a6000191660001916815260200190815260200160002060070160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508093508180600101925050613ddc565b839450505050509695505050505050565b600080614110834261414e90919063ffffffff16565b905060008463ffffffff16146141425761413b610e108563ffffffff1661416f90919063ffffffff16565b8111614145565b60005b91505092915050565b60008083831115151561416057600080fd5b82840390508091505092915050565b600080600084141561418457600091506141a6565b828402905082848281151561419557fe5b041415156141a257600080fd5b8091505b50929150505600a165627a7a72305820b92d0aa182b7ae10953296f9afa56756daa1dbba5360ede1e6c25da28881280c0029", - "sourceMap": "460:20153:0:-;;;1653:1;1619:35;;460:20153;8:9:-1;5:2;;;30:1;27;20:12;5:2;460:20153:0;;;;;;;", - "deployedSourceMap": "460:20153:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3701:701;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7580:606;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11879:999;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11879:999:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5336:1021;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5336:1021:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1561:51;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1561:51:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6598:221;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6598:221:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8514:923;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8514:923:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1619:35;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1619:35:0;;;;;;;;;;;;;;;;;;;;;;;9554:194;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9554:194:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;9554:194:0;;;;;;;;;;;;;;;;;10346:1062;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10346:1062:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7059:194;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7059:194:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1733:55;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1733:55:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3701:701;3978:10;2076:1;2042:12;:24;2055:10;2042:24;;;;;;;;;;;;;;;;;:30;;;:35;2034:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4013:5;2409:1;2383:28;;:14;:28;;;;2375:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4043:6;2409:1;2383:28;;:14;:28;;;;2375:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4065:264;4094:5;4113:6;4133:9;4156;4179:12;4205:10;4229:9;4252:8;4274:21;4317:1;4065:15;:264::i;:::-;4372:10;4353:41;;4360:10;4353:41;;;;4384:9;4353:41;;;;;;;;;;;;;;;;;;2445:1;2109;3701:701;;;;;;;;:::o;7580:606::-;7866:14;7703:10;1906:1;1872:12;:24;1885:10;1872:24;;;;;;;;;;;;;;;;;:30;;;:35;;1851:96;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7737:10;2232:13;2197:48;;;;;;;;:12;:24;2210:10;2197:24;;;;;;;;;;;;;;;;;:31;;;;;;;;;;;;:48;;;;;;;;;2176:117;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7778:10;7790:21;2643:15;2599:59;;;;;;;;:12;:24;2612:10;2599:24;;;;;;;;;;;;;;;;;:40;;;;;;;;;;;;:59;;;;;;;;;2578:125;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7831:10;2811:12;:24;2824:10;2811:24;;;;;;;;;;;;;;;;;:30;;;;;;;;;;;;2797:44;;:10;:44;;;2776:124;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7883:9;7866:26;;7920:1;7911:6;:10;7903:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8002;8050:6;8002:12;:24;8015:10;8002:24;;;;;;;;;;;;;;;;;:30;;;:47;;:55;;;;:::i;:::-;7969:12;:24;7982:10;7969:24;;;;;;;;;;;;;;;;;:30;;:88;;;;8107:15;8067:12;:24;8080:10;8067:24;;;;;;;;;;;;;;;;;:37;;:55;;;;8160:10;8138:41;;8148:10;8138:41;;;;8172:6;8138:41;;;;;;;;;;;;;;;;;;2713:1;2303;;1957;7580:606;;;:::o;11879:999::-;12149:7;12200:1;12176:26;;:12;:26;;;12172:700;;;12290:8;12320:9;12351:12;12385:5;12412:6;12440:9;12471:4;12252:241;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;12252:241:0;;;12225:282;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;12225:282:0;;;;;;;;;;;;;;;;12218:289;;;;12172:700;12610:8;12640:9;12671:12;12705:5;12732:6;12760:9;12791:4;12817:12;12572:275;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;12572:275:0;;;12545:316;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;12545:316:0;;;;;;;;;;;;;;;;12538:323;;11879:999;;;;;;;;;;:::o;5336:1021::-;6053:20;5655:10;2076:1;2042:12;:24;2055:10;2042:24;;;;;;;;;;;;;;;;;:30;;;:35;2034:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5690:5;2409:1;2383:28;;:14;:28;;;;2375:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5720:6;2409:1;2383:28;;:14;:28;;;;2375:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5751:12;2409:1;2383:28;;:14;:28;;;;2375:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5780:262;5809:5;5828:6;5848:9;5871;5894:12;5920:10;5944:5;5963:8;5985:21;6020:12;5780:15;:262::i;:::-;6091:12;6053:51;;6136:5;:18;;;6155:10;6167:4;6173:5;6136:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6136:43:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6136:43:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6136:43:0;;;;;;;;;;;;;;;;6115:183;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6332:10;6313:37;;6320:10;6313:37;;;;6344:5;6313:37;;;;;;;;;;;;;;;;;;2445:1;;2109;5336:1021;;;;;;;;;;;:::o;1561:51::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;6598:221::-;6734:4;6761:12;:24;6774:10;6761:24;;;;;;;;;;;;;;;;;:38;;:51;6800:11;6761:51;;;;;;;;;;;;;;;;;;;;;;;;;6754:58;;6598:221;;;;:::o;8514:923::-;8799:14;8898:20;8645:10;1906:1;1872:12;:24;1885:10;1872:24;;;;;;;;;;;;;;;;;:30;;;:35;;1851:96;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8679:10;2232:13;2197:48;;;;;;;;:12;:24;2210:10;2197:24;;;;;;;;;;;;;;;;;:31;;;;;;;;;;;;:48;;;;;;;;;2176:117;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8720:10;8732:21;2643:15;2599:59;;;;;;;;:12;:24;2612:10;2599:24;;;;;;;;;;;;;;;;;:40;;;;;;;;;;;;:59;;;;;;;;;2578:125;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8773:10;2811:12;:24;2824:10;2811:24;;;;;;;;;;;;;;;;;:30;;;;;;;;;;;;2797:44;;:10;:44;;;2776:124;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8816:5;8799:22;;8849:1;8840:6;:10;8832:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8949:12;:24;8962:10;8949:24;;;;;;;;;;;;;;;;;:37;;;;;;;;;;;;8898:98;;9028:5;:18;;;9047:12;:24;9060:10;9047:24;;;;;;;;;;;;;;;;;:30;;;;;;;;;;;;9079:4;9085:5;9028:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9028:63:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9028:63:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;9028:63:0;;;;;;;;;;;;;;;;9007:202;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9253:55;9301:6;9253:12;:24;9266:10;9253:24;;;;;;;;;;;;;;;;;:30;;;:47;;:55;;;;:::i;:::-;9220:12;:24;9233:10;9220:24;;;;;;;;;;;;;;;;;:30;;:88;;;;9358:15;9318:12;:24;9331:10;9318:24;;;;;;;;;;;;;;;;;:37;;:55;;;;9411:10;9389:41;;9399:10;9389:41;;;;9423:6;9389:41;;;;;;;;;;;;;;;;;;2713:1;2303;;1957;8514:923;;;;;:::o;1619:35::-;;;;:::o;9554:194::-;9676:9;9709:18;:32;9728:12;9709:32;;;;;;;;;;;;;;;9702:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9554:194;;;:::o;10346:1062::-;10568:10;1906:1;1872:12;:24;1885:10;1872:24;;;;;;;;;;;;;;;;;:30;;;:35;;1851:96;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10602:10;2232:13;2197:48;;;;;;;;:12;:24;2210:10;2197:24;;;;;;;;;;;;;;;;;:31;;;;;;;;;;;;:48;;;;;;;;;2176:117;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10669:1;10649:12;;:19;;:21;:62;;;;;10697:7;;:14;;10674:12;;:19;;:37;10649:62;10628:133;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10772:152;10803:4;;10772:152;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10821:4;;10772:152;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10839:4;;10772:152;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10857:10;10881:12;;10772:152;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10907:7;;10772:152;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:17;:152::i;:::-;10969:15;10935:12;:24;10948:10;10935:24;;;;;;;;;;;;;;;;;:31;;;:49;;;;;;;;;;;;;;;;;;;;;;;;11108:15;11068:12;:24;11081:10;11068:24;;;;;;;;;;;;;;;;;:37;;:55;;;;11206:12;:24;11219:10;11206:24;;;;;;;;;;;;;;;;;:30;;;11154:48;11168:10;11180:12;;11154:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11194:7;;11154:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:13;:48::i;:::-;:82;11133:201;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11367:10;11358:43;;;;11379:12;;11393:7;;11358:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1957:1;10346:1062;;;;;;;;;;;;:::o;7059:194::-;7182:4;7209:12;:24;7222:10;7209:24;;;;;;;;;;;;;;;;;:30;;:37;7240:5;7209:37;;;;;;;;;;;;;;;;;;;;;;;;;7202:44;;7059:194;;;;:::o;1733:55::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;17970:2641::-;18332:6;18323:15;;:5;:15;;;;18315:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18443:1;18435:5;:9;18427:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18581:1;18569:9;:13;;;:31;;;;;18599:1;18586:9;:14;;;;18569:31;18548:140;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18982:1;18969:9;:14;;;:41;;;;19008:1;18987:23;;:9;:23;;;;18969:41;18948:160;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19154:226;19197:8;19223:9;19250:12;19280:5;19303:6;19327:9;19354:12;19154:25;:226::i;:::-;19140:240;;;:10;:240;;;;19119:345;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19502:373;;;;;;;;;19623:5;19502:373;;;;19691:15;19502:373;;;;19650:13;19502:373;;;;;;;;;;;;19810:15;19502:373;;;;;;;;;;;;19731:9;19502:373;;;;;;19768:12;19502:373;;;;;;19535:5;19502:373;;;;;;19562:6;19502:373;;;;;;19852:12;19502:373;;;;;;19593:9;19502:373;;;;;19475:12;:24;19488:10;19475:24;;;;;;;;;;;;;;;;;:400;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19929:4;19886:12;:24;19899:10;19886:24;;;;;;;;;;;;;;;;;:32;;:40;19919:6;19886:40;;;;;;;;;;;;;;;;:47;;;;;;;;;;;;;;;;;;19985:4;19943:12;:24;19956:10;19943:24;;;;;;;;;;;;;;;;;:32;;:39;19976:5;19943:39;;;;;;;;;;;;;;;;:46;;;;;;;;;;;;;;;;;;20097:12;:24;20110:10;20097:24;;;;;;;;;;;;;;;;;:32;;:43;20130:9;20097:43;;;;;;;;;;;;;;;;;;;;;;;;;20096:44;20075:137;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20384:1;20372:9;:13;;;20368:94;;;20447:4;20401:12;:24;20414:10;20401:24;;;;;;;;;;;;;;;;;:32;;:43;20434:9;20401:43;;;;;;;;;;;;;;;;:50;;;;;;;;;;;;;;;;;;20368:94;20480:16;;:18;;;;;;;;;;;;;20509;:25;20528:5;20509:25;;;;;;;;;;;;;;;20540:10;20509:42;;39:1:-1;33:3;27:10;23:18;57:10;52:3;45:23;79:10;72:17;;0:93;20509:42:0;;;;;;;;;;;;;;;;;;;;;;;;;;;20561:18;:26;20580:6;20561:26;;;;;;;;;;;;;;;20593:10;20561:43;;39:1:-1;33:3;27:10;23:18;57:10;52:3;45:23;79:10;72:17;;0:93;20561:43:0;;;;;;;;;;;;;;;;;;;;;;;;;;;17970:2641;;;;;;;;;;:::o;1272:131:2:-;1330:7;1345:9;1361:1;1357;:5;1345:17;;1381:1;1376;:6;;1368:15;;;;;;;;1397:1;1390:8;;1272:131;;;;;:::o;13152:1005:0:-;13372:21;13558:20;13396:151;13426:4;13444;13462;13480:10;13504:12;13530:7;13396:16;:151::i;:::-;13372:175;;13581:129;13612:12;:24;13625:10;13612:24;;;;;;;;;;;;;;;;;:37;;;;;;;;;;;;13663:12;:24;13676:10;13663:24;;;;;;;;;;;;;;;;;:37;;;13581:17;:129::i;:::-;13558:152;;13896:12;:24;13909:10;13896:24;;;;;;;;;;;;;;;;;:34;;;;;;;;;;;;13882:48;;:4;:11;:48;:122;;;;;13936:15;13935:16;:68;;;;13972:12;:24;13985:10;13972:24;;;;;;;;;;;;;;;;;:31;;;;;;;;;;;;13955:48;;:13;:48;;;;13935:68;13882:122;13861:289;;;14041:98;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13861:289;13152:1005;;;;;;;;:::o;14283:1522::-;14430:7;14453:21;14512:24;14618:9;15170:20;15243:9;14477:12;:24;14490:10;14477:24;;;;;;;;;;;;;;;;;14453:48;;14539:1;14512:28;;14576:21;14555:42;;;;;;;;:1;:17;;;;;;;;;;;;:42;;;;;;;;;14551:1214;;;14630:1;14618:13;;14613:477;14637:12;:19;14633:1;:23;14613:477;;;14717:1;14690:29;;:12;14703:1;14690:15;;;;;;;;;;;;;;;;;;:29;;;;:59;;;;;14723:1;:9;;:26;14733:12;14746:1;14733:15;;;;;;;;;;;;;;;;;;14723:26;;;;;;;;;;;;;;;;;;;;;;;;;14690:59;14682:95;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14816:1;14803:7;14811:1;14803:10;;;;;;;;;;;;;;;;;;:14;14795:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14902:32;14923:7;14931:1;14923:10;;;;;;;;;;;;;;;;;;14902:16;:20;;:32;;;;:::i;:::-;14883:51;;14988:4;14953:1;:15;;:32;14969:12;14982:1;14969:15;;;;;;;;;;;;;;;;;;14953:32;;;;;;;;;;;;;;;;:39;;;;;;;;;;;;;;;;;;15039:12;15052:1;15039:15;;;;;;;;;;;;;;;;;;:24;;:36;15064:7;15072:1;15064:10;;;;;;;;;;;;;;;;;;15039:36;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;15039:36:0;14658:3;;;;;;;14613:477;;;14551:1214;;;15132:21;15111:42;;;;;;;;:1;:17;;;;;;;;;;;;:42;;;;;;;;;15107:658;;;15208:1;:14;;;;;;;;;;;;15170:53;;15255:1;15243:13;;15238:517;15260:12;:19;15258:1;:21;15238:517;;;15340:1;15313:29;;:12;15326:1;15313:15;;;;;;;;;;;;;;;;;;:29;;;;:59;;;;;15346:1;:9;;:26;15356:12;15369:1;15356:15;;;;;;;;;;;;;;;;;;15346:26;;;;;;;;;;;;;;;;;;;;;;;;;15313:59;15305:95;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15439:1;15426:7;15434:1;15426:10;;;;;;;;;;;;;;;;;;:14;15418:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15525:32;15546:7;15554:1;15546:10;;;;;;;;;;;;;;;;;;15525:16;:20;;:32;;;;:::i;:::-;15506:51;;15610:4;15575:1;:15;;:32;15591:12;15604:1;15591:15;;;;;;;;;;;;;;;;;;15575:32;;;;;;;;;;;;;;;;:39;;;;;;;;;;;;;;;;;;15670:5;:14;;;15685:12;15698:1;15685:15;;;;;;;;;;;;;;;;;;15702:7;15710:1;15702:10;;;;;;;;;;;;;;;;;;15670:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;15670:43:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;15670:43:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;15670:43:0;;;;;;;;;;;;;;;;15662:78;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15281:3;;;;;;;15238:517;;;15107:658;14551:1214;15782:16;15775:23;;14283:1522;;;;;;;;;;:::o;15990:1571::-;16211:7;16372:19;16490:14;16949:6;16998:17;16271:4;:11;16256:4;:11;:26;:56;;;;;16301:4;:11;16286:4;:11;:26;16256:56;16235:126;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16694:4;16689:10;;16730:1;16725:7;;16758:4;16788:12;16826:7;16859:10;16647:244;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;16647:244:0;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;16647:244:0;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;16647:244:0;;;16616:293;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;16616:293:0;;;;;;;;;;;;;;;;16530:393;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;16530:393:0;;;16507:426;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;16507:426:0;;;;;;;;;;;;;;;;16490:443;;16958:1;16949:10;;16944:582;16965:4;:11;16961:1;:15;16944:582;;;17018:122;17045:6;17069:4;17074:1;17069:7;;;;;;;;;;;;;;;;;;17094:4;17099:1;17094:7;;;;;;;;;;;;;;;;;;17119:4;17124:1;17119:7;;;;;;;;;;;;;;;;;;17018:122;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;17018:122:0;;;;;;;;16998:142;;17180:12;:24;17193:10;17180:24;;;;;;;;;;;;;;;;;:32;;:43;17213:9;17180:43;;;;;;;;;;;;;;;;;;;;;;;;;17155:120;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17315:12;:24;17328:10;17315:24;;;;;;;;;;;;;;;;;:30;;:41;17346:9;17315:41;;;;;;;;;;;;;;;;;;;;;;;;;17314:42;17289:127;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17474:4;17430:12;:24;17443:10;17430:24;;;;;;;;;;;;;;;;;:30;;:41;17461:9;17430:41;;;;;;;;;;;;;;;;:48;;;;;;;;;;;;;;;;;;17506:9;17492:23;;16978:3;;;;;;;16944:582;;;17543:11;17536:18;;15990:1571;;;;;;;;;;;;:::o;17567:316::-;17705:4;17725:17;17745:21;17753:12;17745:3;:7;;:21;;;;:::i;:::-;17725:41;;17813:1;17797:12;:17;;;:69;;17835:31;17861:4;17843:12;17835:21;;:25;;:31;;;;:::i;:::-;17823:9;:43;17797:69;;;17817:5;17797:69;17776:100;;17567:316;;;;;:::o;1078:131:2:-;1136:7;1172:9;1164:1;1159;:6;;1151:15;;;;;;;;1188:1;1184;:5;1172:17;;1203:1;1196:8;;1078:131;;;;;:::o;204:381::-;262:7;523:9;491:1;486;:6;482:35;;;509:1;502:8;;;;482:35;539:1;535;:5;523:17;;563:1;558;554;:5;;;;;;;;:10;546:19;;;;;;;;579:1;572:8;;204:381;;;;;;:::o", - "source": "pragma solidity 0.4.24;\n\nimport \"openzeppelin-solidity/contracts/math/SafeMath.sol\";\n\nimport \"../token/ITokenContract.sol\";\n\n\n/**\n* @dev Supports ERC20 tokens\n* The escrow smart contract for the open bazaar trades in Ethereum\n* The smart contract is designed keeping in mind the current wallet interface of the OB-core\n* https://github.com/OpenBazaar/wallet-interface/blob/master/wallet.go\n* Current wallet interface strictly adheres to UTXO(bitcoin) model\n*/\ncontract Escrow_v1_0 {\n\n using SafeMath for uint256;\n\n enum Status {FUNDED, RELEASED}\n\n enum TransactionType {ETHER, TOKEN}\n\n event Executed(\n bytes32 indexed scriptHash,\n address[] destinations,\n uint256[] amounts\n );\n\n event FundAdded(\n bytes32 indexed scriptHash,\n address indexed from,\n uint256 valueAdded\n );\n\n event Funded(\n bytes32 indexed scriptHash, \n address indexed from, \n uint256 value\n );\n\n struct Transaction {\n uint256 value;\n uint256 lastModified;//Time at which transaction was last modified\n Status status;\n TransactionType transactionType;\n uint8 threshold;\n uint32 timeoutHours;\n address buyer;\n address seller;\n address tokenAddress;//Token address in case of token transfer\n address moderator;\n mapping(address=>bool) isOwner;//to keep track of owners.\n mapping(address=>bool) voted;//to keep track of who all voted\n mapping(address=>bool) beneficiaries;//Benefeciaries of execution\n }\n\n mapping(bytes32 => Transaction) public transactions;\n\n uint256 public transactionCount = 0;\n\n //Contains mapping between each party and all of their transactions\n mapping(address => bytes32[]) public partyVsTransaction;\n\n modifier transactionExist(bytes32 scriptHash) {\n require(\n transactions[scriptHash].value != 0, \"Transaction does not exist\"\n );\n _;\n }\n\n modifier transactionDoesNotExist(bytes32 scriptHash) {\n require(transactions[scriptHash].value == 0, \"Transaction exist\");\n _;\n }\n\n modifier inFundedState(bytes32 scriptHash) {\n require(\n transactions[scriptHash].status == Status.FUNDED, \"Transaction is not in FUNDED state\"\n );\n _;\n }\n\n modifier nonZeroAddress(address addressToCheck) {\n require(addressToCheck != address(0), \"Zero address passed\");\n _;\n }\n\n modifier checkTransactionType(\n bytes32 scriptHash,\n TransactionType transactionType\n )\n {\n require(\n transactions[scriptHash].transactionType == transactionType, \"Transaction type does not match\"\n );\n _;\n }\n\n modifier onlyBuyer(bytes32 scriptHash) {\n require(\n msg.sender == transactions[scriptHash].buyer, \"The initiator of the transaction is not buyer\"\n );\n _;\n }\n\n /**\n *@dev Add new transaction in the contract\n *@param buyer The buyer of the transaction\n *@param seller The seller of the listing associated with the transaction\n *@param moderator Moderator for this transaction\n *@param scriptHash keccak256 hash of the redeem script\n *@param threshold Minimum number of signatures required to released funds\n *@param timeoutHours Hours after which seller can release funds into his favour by signing transaction unilaterally\n *@param uniqueId bytes20 unique id for the transaction, generated by ETH wallet\n *Redeem Script format will be following\n \n *Pass amount of the ethers to be put in escrow\n */\n function addTransaction(\n address buyer,\n address seller,\n address moderator,\n uint8 threshold,\n uint32 timeoutHours,\n bytes32 scriptHash,\n bytes20 uniqueId\n )\n external\n payable\n transactionDoesNotExist(scriptHash)\n nonZeroAddress(buyer)\n nonZeroAddress(seller)\n {\n _addTransaction(\n buyer,\n seller,\n moderator,\n threshold,\n timeoutHours,\n scriptHash,\n msg.value,\n uniqueId,\n TransactionType.ETHER,\n address(0)\n );\n \n emit Funded(scriptHash, msg.sender, msg.value);\n\n }\n\n /**\n *@dev Add new transaction in the contract\n *@param buyer The buyer of the transaction\n *@param seller The seller of the listing associated with the transaction\n *@param moderator Moderator for this transaction\n *@param scriptHash keccak256 hash of the redeem script\n *@param threshold Minimum number of signatures required to released funds\n *@param timeoutHours Hours after which seller can release funds into his favour by signing transaction unilaterally\n *@param value Amount of tokens to be put in escrow\n *@param uniqueId bytes20 unique id for the transaction, generated by ETH wallet\n *@param tokenAddress Address of the token to be used\n *Redeem Script format will be following\n \n *approve escrow contract to spend amount of token on sender's behalf\n */\n function addTokenTransaction(\n address buyer,\n address seller,\n address moderator,\n uint8 threshold,\n uint32 timeoutHours,\n bytes32 scriptHash,\n uint256 value,\n bytes20 uniqueId,\n address tokenAddress\n )\n external\n transactionDoesNotExist(scriptHash)\n nonZeroAddress(buyer)\n nonZeroAddress(seller)\n nonZeroAddress(tokenAddress)\n {\n\n _addTransaction(\n buyer,\n seller,\n moderator,\n threshold,\n timeoutHours,\n scriptHash,\n value,\n uniqueId,\n TransactionType.TOKEN,\n tokenAddress\n );\n\n ITokenContract token = ITokenContract(tokenAddress);\n\n require(\n token.transferFrom(msg.sender, this, value),\n \"Token transfer failed, maybe you did not approve escrow contract to spend on behalf of sender\"\n );\n emit Funded(scriptHash, msg.sender, value);\n }\n\n /**\n * @dev This method will check whether given address was a beneficiary of transaction execution or not\n * @param scriptHash script hash of the transaction\n * @param beneficiary Beneficiary address to be checked\n */\n function checkBeneficiary(\n bytes32 scriptHash,\n address beneficiary\n )\n external\n view\n returns (bool)\n {\n return transactions[scriptHash].beneficiaries[beneficiary];\n }\n\n /**\n * @dev This method will check whether given party has voted or not\n * @param scriptHash script hash of the transaction\n * @param party Address of the party whose vote has to be checked\n * @return bool vote\n */\n function checkVote(\n bytes32 scriptHash,\n address party\n )\n external\n view\n returns (bool)\n {\n return transactions[scriptHash].voted[party];\n }\n\n /**\n * @dev Allows buyer of the transaction to add more funds(ether) in the transaction. \n * This will help to cater scenarios wherein initially buyer missed to fund transaction as required\n * @param scriptHash script hash of the transaction\n * Only buyer of the transaction can invoke this method\n */\n function addFundsToTransaction(\n bytes32 scriptHash\n )\n external\n payable\n transactionExist(scriptHash)\n inFundedState(scriptHash)\n checkTransactionType(scriptHash, TransactionType.ETHER)\n onlyBuyer(scriptHash)\n \n {\n uint256 _value = msg.value;\n\n require(_value > 0, \"Value must be greater than zero.\");\n\n transactions[scriptHash].value = transactions[scriptHash].value\n .add(_value);\n transactions[scriptHash].lastModified = block.timestamp;\n\n emit FundAdded(scriptHash, msg.sender, _value);\n }\n\n /**\n * @dev Allows buyer of the transaction to add more funds(Tokens) in the transaction. \n * This will help to cater scenarios wherein initially buyer missed to fund transaction as required\n * @param scriptHash script hash of the transaction\n * Only buyer of the transaction can invoke this method\n */\n function addTokensToTransaction(\n bytes32 scriptHash,\n uint256 value\n )\n external\n transactionExist(scriptHash)\n inFundedState(scriptHash)\n checkTransactionType(scriptHash, TransactionType.TOKEN)\n onlyBuyer(scriptHash)\n {\n uint256 _value = value;\n\n require(_value > 0, \"Value must be greater than zero.\");\n\n ITokenContract token = ITokenContract(\n transactions[scriptHash].tokenAddress\n );\n\n require(\n token.transferFrom(transactions[scriptHash].buyer, this, value),\n \"Token transfer failed, maybe you did not approve escrow contract to spend on behalf of buyer\"\n );\n\n transactions[scriptHash].value = transactions[scriptHash].value\n .add(_value);\n transactions[scriptHash].lastModified = block.timestamp;\n\n emit FundAdded(scriptHash, msg.sender, _value);\n }\n\n /**\n *@dev Returns all transaction ids for a party\n *@param partyAddress Address of the party\n */\n function getAllTransactionsForParty(\n address partyAddress\n ) \n external \n view \n returns (bytes32[]) \n {\n return partyVsTransaction[partyAddress];\n }\n\n /**\n *@dev This method will be used to release funds associated with the transaction\n * Please see specs https://github.com/OpenBazaar/smart-contracts/blob/master/contracts/escrow/EscrowSpec.md\n *@param sigV Array containing V component of all the signatures\n *@param sigR Array containing R component of all the signatures\n *@param signS Array containing S component of all the signatures\n *@param scriptHash script hash of the transaction\n *@param destinations List of addresses who will receive funds\n *@param amounts amount released to each destination\n */\n function execute(\n uint8[] sigV,\n bytes32[] sigR,\n bytes32[] sigS,\n bytes32 scriptHash,\n address[] destinations,\n uint256[] amounts\n )\n external\n transactionExist(scriptHash)\n inFundedState(scriptHash)\n {\n require(\n destinations.length>0 && destinations.length == amounts.length, \"Length of destinations is incorrect.\"\n );\n\n verifyTransaction(\n sigV,\n sigR,\n sigS,\n scriptHash,\n destinations,\n amounts\n );\n\n transactions[scriptHash].status = Status.RELEASED;\n //Last modified timestamp modified, which will be used by rewards\n transactions[scriptHash].lastModified = block.timestamp;\n require(\n transferFunds(scriptHash, destinations, amounts) == transactions[scriptHash].value,\n \"Total value to be released must be equal to the transaction escrow value\"\n );\n \n emit Executed(scriptHash, destinations, amounts);\n }\n\n\n /**\n *@dev Method for calculating script hash. Calculation will depend upon the type of transaction\n * ETHER Type transaction-:\n * Script Hash- keccak256(uniqueId, threshold, timeoutHours, buyer, seller, moderator)\n * TOKEN Type transaction\n * Script Hash- keccak256(uniqueId, threshold, timeoutHours, buyer, seller, moderator, tokenAddress)\n * Client can use this method to verify whether it has calculated correct script hash or not\n */\n function calculateRedeemScriptHash(\n bytes20 uniqueId,\n uint8 threshold,\n uint32 timeoutHours,\n address buyer,\n address seller,\n address moderator,\n address tokenAddress\n )\n public\n view\n returns (bytes32)\n {\n if (tokenAddress == address(0)) {\n return keccak256(\n abi.encodePacked(\n uniqueId,\n threshold,\n timeoutHours,\n buyer,\n seller,\n moderator,\n this\n )\n );\n } else {\n return keccak256(\n abi.encodePacked(\n uniqueId,\n threshold,\n timeoutHours,\n buyer,\n seller,\n moderator,\n this,\n tokenAddress\n )\n );\n }\n }\n\n /**\n * @dev This methods checks validity of transaction\n * 1. Verify Signatures\n * 2. Check if minimum number of signatures has been acquired\n * 3. If above condition is false, check if time lock is expired and the execution is signed by seller\n */\n function verifyTransaction(\n uint8[] sigV,\n bytes32[] sigR,\n bytes32[] sigS,\n bytes32 scriptHash,\n address[] destinations,\n uint256[] amounts\n )\n private\n {\n address lastRecovered = verifySignatures(\n sigV,\n sigR,\n sigS,\n scriptHash,\n destinations,\n amounts\n );\n\n bool timeLockExpired = isTimeLockExpired(\n transactions[scriptHash].timeoutHours,\n transactions[scriptHash].lastModified\n );\n\n //if Minimum number of signatures are not gathered and timelock has not expired or transaction was not signed by seller then revert\n if (\n sigV.length < transactions[scriptHash].threshold && (!timeLockExpired || lastRecovered != transactions[scriptHash].seller)\n )\n {\n revert(\"Minimum number of signatures are not collected and time lock expiry conditions not met!!\");\n }\n\n }\n\n /**\n *@dev Private method to transfer funds to the destination addresses on the basis of transaction type\n */\n function transferFunds(\n bytes32 scriptHash,\n address[]destinations,\n uint256[]amounts\n )\n private\n returns (uint256)\n {\n Transaction storage t = transactions[scriptHash];\n\n uint256 valueTransferred = 0;\n\n if (t.transactionType == TransactionType.ETHER) {\n for (uint256 i = 0; i < destinations.length; i++) {\n\n require(destinations[i] != address(0) && t.isOwner[destinations[i]], \"Not a valid destination\");\n require(amounts[i] > 0, \"Amount to be sent should be greater than 0\");\n\n valueTransferred = valueTransferred.add(amounts[i]);\n\n t.beneficiaries[destinations[i]] = true;//add receiver as beneficiary\n destinations[i].transfer(amounts[i]);\n }\n\n } else if (t.transactionType == TransactionType.TOKEN) {\n\n ITokenContract token = ITokenContract(t.tokenAddress);\n\n for (uint256 j = 0; j 0, \"Amount to be sent should be greater than 0\");\n\n valueTransferred = valueTransferred.add(amounts[j]);\n t.beneficiaries[destinations[j]] = true;//add receiver as beneficiary\n\n require(token.transfer(destinations[j], amounts[j]), \"Token transfer failed.\");\n }\n } \n return valueTransferred;\n }\n\n //to check whether the signatures are valid or not and if consensus was reached\n //returns the last address recovered, in case of timeout this must be the sender's address\n function verifySignatures(\n uint8[] sigV,\n bytes32[] sigR,\n bytes32[] sigS,\n bytes32 scriptHash,\n address[] destinations,\n uint256[]amounts\n )\n private\n returns (address)\n {\n\n require(\n sigR.length == sigS.length && sigR.length == sigV.length, \n \"R,S,V length mismatch.\"\n );\n\n address lastAddress;\n\n // Follows ERC191 signature scheme: https://github.com/ethereum/EIPs/issues/191\n bytes32 txHash = keccak256(\n abi.encodePacked(\n \"\\x19Ethereum Signed Message:\\n32\",\n keccak256(\n abi.encodePacked(\n byte(0x19),\n byte(0),\n this,\n destinations,\n amounts,\n scriptHash\n )\n )\n )\n );\n\n for (uint i = 0; i < sigR.length; i++) {\n\n address recovered = ecrecover(\n txHash,\n sigV[i],\n sigR[i],\n sigS[i]\n );\n\n require(\n transactions[scriptHash].isOwner[recovered], \n \"Invalid signature\"\n );\n require(\n !transactions[scriptHash].voted[recovered], \n \"Same signature sent twice\"\n );\n transactions[scriptHash].voted[recovered] = true;\n lastAddress = recovered;\n }\n\n return lastAddress;\n }\n\n function isTimeLockExpired(\n uint32 timeoutHours,\n uint256 lastModified\n )\n private\n view\n returns (bool)\n {\n uint256 timeSince = now.sub(lastModified);\n return (\n timeoutHours == 0 ? false:timeSince > uint256(timeoutHours).mul(3600)\n );\n }\n\n /**\n * Private method to add transaction to reduce code redundancy\n */\n function _addTransaction(\n address buyer,\n address seller,\n address moderator,\n uint8 threshold,\n uint32 timeoutHours,\n bytes32 scriptHash,\n uint256 value,\n bytes20 uniqueId,\n TransactionType transactionType,\n address tokenAddress\n )\n private\n { \n require(buyer != seller, \"Buyer and seller are same\");\n\n //value passed should be greater than 0\n require(value > 0, \"Value passed is 0\");\n\n // For now allowing 0 moderator to support 1-2 multisig wallet\n require(\n threshold > 0 && threshold <= 3, \n \"Threshold cannot be greater than 3 and must be greater than 0\"\n );\n\n //if threshold is 1 then moderator can be passed as zero address or any other address\n //(it won't matter apart from scripthash since we wont add moderator as one of the owner),\n //otherwise moderator should be a valid address\n require(\n threshold == 1 || moderator != address(0),\n \"Either threshold should be 1 or valid moderator address should be passed\"\n );\n\n require(\n scriptHash == calculateRedeemScriptHash(\n uniqueId,\n threshold,\n timeoutHours,\n buyer,\n seller,\n moderator,\n tokenAddress\n ), \n \"Calculated script hash does not match passed script hash.\"\n );\n\n transactions[scriptHash] = Transaction({\n buyer: buyer,\n seller: seller,\n moderator: moderator,\n value: value,\n status: Status.FUNDED,\n lastModified: block.timestamp,\n threshold: threshold,\n timeoutHours: timeoutHours,\n transactionType:transactionType,\n tokenAddress:tokenAddress\n });\n\n transactions[scriptHash].isOwner[seller] = true;\n transactions[scriptHash].isOwner[buyer] = true; \n\n //Check if buyer or seller are not passed as moderator\n require(\n !transactions[scriptHash].isOwner[moderator], \n \"Either buyer or seller is passed as moderator\"\n );\n\n //set moderator as one of the owners only if threshold is greater than 1 otherwise only buyer and seller should be able to release funds\n if (threshold > 1) {\n transactions[scriptHash].isOwner[moderator] = true;\n }\n \n\n transactionCount++;\n\n partyVsTransaction[buyer].push(scriptHash);\n partyVsTransaction[seller].push(scriptHash);\n }\n}\n", + "bytecode": "0x6080604052600060015534801561001557600080fd5b506141ce806100256000396000f3006080604052600436106100ba576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806323b6fd3f146100bf5780632d9ef96e1461017957806346fbcdeb1461019d57806357bced7614610292578063642f2eaf14610383578063b0550c66146104e5578063b719e2801461054e578063b77bf60014610589578063be84ceaf146105b4578063e4ec8b001461064c578063f0786562146106f5578063f5dbe09c1461075e575b600080fd5b610177600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff169060200190929190803563ffffffff169060200190929190803560001916906020019092919080356bffffffffffffffffffffffff191690602001909291905050506107c7565b005b61019b6004803603810190808035600019169060200190929190505050610a1b565b005b3480156101a957600080fd5b5061027460048036038101908080356bffffffffffffffffffffffff19169060200190929190803560ff169060200190929190803563ffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610e98565b60405180826000191660001916815260200191505060405180910390f35b34801561029e57600080fd5b50610381600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff169060200190929190803563ffffffff16906020019092919080356000191690602001909291908035906020019092919080356bffffffffffffffffffffffff19169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611344565b005b34801561038f57600080fd5b506103b26004803603810190808035600019169060200190929190505050611819565b604051808b81526020018a81526020018960018111156103ce57fe5b60ff1681526020018860018111156103e257fe5b60ff1681526020018760ff1660ff1681526020018663ffffffff1663ffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019a505050505050505050505060405180910390f35b3480156104f157600080fd5b506105346004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611924565b604051808215151515815260200191505060405180910390f35b34801561055a57600080fd5b50610587600480360381019080803560001916906020019092919080359060200190929190505050611996565b005b34801561059557600080fd5b5061059e612066565b6040518082815260200191505060405180910390f35b3480156105c057600080fd5b506105f5600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061206c565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b8381101561063857808201518184015260208101905061061d565b505050509050019250505060405180910390f35b34801561065857600080fd5b506106f36004803603810190808035906020019082018035906020019190919293919293908035906020019082018035906020019190919293919293908035906020019082018035906020019190919293919293908035600019169060200190929190803590602001908201803590602001919091929391929390803590602001908201803590602001919091929391929390505050612107565b005b34801561070157600080fd5b506107446004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061265e565b604051808215151515815260200191505060405180910390f35b34801561076a57600080fd5b506107a9600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506126d0565b60405180826000191660001916815260200191505060405180910390f35b81600080600083600019166000191681526020019081526020016000206000015414151561085d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f5472616e73616374696f6e20657869737400000000000000000000000000000081525060200191505060405180910390fd5b87600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610903576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b87600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156109a9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b6109bc8a8a8a8a8a8a348b600080612700565b3373ffffffffffffffffffffffffffffffffffffffff1685600019167fce7089d0668849fb9ca29778c0cbf1e764d9efb048d81fd71fb34c94f26db368346040518082815260200191505060405180910390a350505050505050505050565b80600080600083600019166000191681526020019081526020016000206000015414151515610ab2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737400000000000081525060200191505060405180910390fd5b8160006001811115610ac057fe5b600080836000191660001916815260200190815260200160002060020160009054906101000a900460ff166001811115610af657fe5b141515610b91576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001807f5472616e73616374696f6e206973206e6f7420696e2046554e4445442073746181526020017f746500000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b826000806001811115610ba057fe5b600080846000191660001916815260200190815260200160002060020160019054906101000a900460ff166001811115610bd657fe5b141515610c4b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5472616e73616374696f6e207479706520646f6573206e6f74206d617463680081525060200191505060405180910390fd5b84600080826000191660001916815260200190815260200160002060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610d52576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f54686520696e69746961746f72206f6620746865207472616e73616374696f6e81526020017f206973206e6f742062757965720000000000000000000000000000000000000081525060400191505060405180910390fd5b600034111515610dca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f56616c7565206d7573742062652067726561746572207468616e207a65726f2e81525060200191505060405180910390fd5b610dfa3460008089600019166000191681526020019081526020016000206000015461308c90919063ffffffff16565b600080886000191660001916815260200190815260200160002060000181905550426000808860001916600019168152602001908152602001600020600101819055503373ffffffffffffffffffffffffffffffffffffffff1686600019167ff66fd2ae9e24a6a24b02e1b5b7512ffde5149a4176085fc0298ae228c9b9d729346040518082815260200191505060405180910390a3505050505050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156110e4578787878787873060405160200180886bffffffffffffffffffffffff19166bffffffffffffffffffffffff191681526014018760ff1660ff167f01000000000000000000000000000000000000000000000000000000000000000281526001018663ffffffff1663ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014019750505050505050506040516020818303038152906040526040518082805190602001908083835b6020831015156110b0578051825260208201915060208101905060208303925061108b565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390209050611339565b878787878787308860405160200180896bffffffffffffffffffffffff19166bffffffffffffffffffffffff191681526014018860ff1660ff167f01000000000000000000000000000000000000000000000000000000000000000281526001018763ffffffff1663ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401985050505050505050506040516020818303038152906040526040518082805190602001908083835b60208310151561130957805182526020820191506020810190506020830392506112e4565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902090505b979650505050505050565b60008460008060008360001916600019168152602001908152602001600020600001541415156113dc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f5472616e73616374696f6e20657869737400000000000000000000000000000081525060200191505060405180910390fd5b8a600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515611482576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b8a600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515611528576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b84600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156115ce576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b6115e18e8e8e8e8e8e8e8e60018f612700565b8594508473ffffffffffffffffffffffffffffffffffffffff166323b872dd33308b6040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b1580156116bb57600080fd5b505af11580156116cf573d6000803e3d6000fd5b505050506040513d60208110156116e557600080fd5b810190808051906020019092919050505015156117b6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252605d8152602001807f546f6b656e207472616e73666572206661696c65642c206d6179626520796f7581526020017f20646964206e6f7420617070726f766520657363726f7720636f6e747261637481526020017f20746f207370656e64206f6e20626568616c66206f662073656e64657200000081525060600191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff1689600019167fce7089d0668849fb9ca29778c0cbf1e764d9efb048d81fd71fb34c94f26db3688a6040518082815260200191505060405180910390a35050505050505050505050505050565b60006020528060005260406000206000915090508060000154908060010154908060020160009054906101000a900460ff16908060020160019054906101000a900460ff16908060020160029054906101000a900460ff16908060020160039054906101000a900463ffffffff16908060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060050160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508a565b6000806000846000191660001916815260200190815260200160002060080160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b600082600080600083600019166000191681526020019081526020016000206000015414151515611a2f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737400000000000081525060200191505060405180910390fd5b8360006001811115611a3d57fe5b600080836000191660001916815260200190815260200160002060020160009054906101000a900460ff166001811115611a7357fe5b141515611b0e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001807f5472616e73616374696f6e206973206e6f7420696e2046554e4445442073746181526020017f746500000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b846001806001811115611b1d57fe5b600080846000191660001916815260200190815260200160002060020160019054906101000a900460ff166001811115611b5357fe5b141515611bc8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5472616e73616374696f6e207479706520646f6573206e6f74206d617463680081525060200191505060405180910390fd5b86600080826000191660001916815260200190815260200160002060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611ccf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f54686520696e69746961746f72206f6620746865207472616e73616374696f6e81526020017f206973206e6f742062757965720000000000000000000000000000000000000081525060400191505060405180910390fd5b600087111515611d47576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f56616c7565206d7573742062652067726561746572207468616e207a65726f2e81525060200191505060405180910390fd5b600080896000191660001916815260200190815260200160002060040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1695508573ffffffffffffffffffffffffffffffffffffffff166323b872dd6000808b6000191660001916815260200190815260200160002060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff16308a6040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b158015611e9b57600080fd5b505af1158015611eaf573d6000803e3d6000fd5b505050506040513d6020811015611ec557600080fd5b81019080805190602001909291905050501515611f96576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252605c8152602001807f546f6b656e207472616e73666572206661696c65642c206d6179626520796f7581526020017f20646964206e6f7420617070726f766520657363726f7720636f6e747261637481526020017f20746f207370656e64206f6e20626568616c66206f662062757965720000000081525060600191505060405180910390fd5b611fc6876000808b600019166000191681526020019081526020016000206000015461308c90919063ffffffff16565b6000808a6000191660001916815260200190815260200160002060000181905550426000808a60001916600019168152602001908152602001600020600101819055503373ffffffffffffffffffffffffffffffffffffffff1688600019167ff66fd2ae9e24a6a24b02e1b5b7512ffde5149a4176085fc0298ae228c9b9d729896040518082815260200191505060405180910390a35050505050505050565b60015481565b6060600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208054806020026020016040519081016040528092919081815260200182805480156120fb57602002820191906000526020600020905b815460001916815260200190600101908083116120e3575b50505050509050919050565b8460008060008360001916600019168152602001908152602001600020600001541415151561219e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737400000000000081525060200191505060405180910390fd5b85600060018111156121ac57fe5b600080836000191660001916815260200190815260200160002060020160009054906101000a900460ff1660018111156121e257fe5b14151561227d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001807f5472616e73616374696f6e206973206e6f7420696e2046554e4445442073746181526020017f746500000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b60008686905011801561229557508383905086869050145b151561232f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001807f4c656e677468206f662064657374696e6174696f6e7320697320696e636f727281526020017f6563742e0000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b6124288d8d808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508c8c808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508b8b808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508a8a8a808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508989808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050506130ad565b6001600080896000191660001916815260200190815260200160002060020160006101000a81548160ff0219169083600181111561246257fe5b0217905550426000808960001916600019168152602001908152602001600020600101819055506000808860001916600019168152602001908152602001600020600001546125108888888080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505087878080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505061328e565b1415156125d1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260488152602001807f546f74616c2076616c756520746f2062652072656c6561736564206d7573742081526020017f626520657175616c20746f20746865207472616e73616374696f6e206573637281526020017f6f772076616c756500000000000000000000000000000000000000000000000081525060600191505060405180910390fd5b86600019167f688e2a1b34445bcd47b0e11ba2a9c8c4d850a1831b64199b59d1c70e29701545878787876040518080602001806020018381038352878782818152602001925060200280828437820191505083810382528585828181526020019250602002808284378201915050965050505050505060405180910390a250505050505050505050505050565b6000806000846000191660001916815260200190815260200160002060070160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6002602052816000526040600020818154811015156126eb57fe5b90600052602060002001600091509150505481565b8873ffffffffffffffffffffffffffffffffffffffff168a73ffffffffffffffffffffffffffffffffffffffff16141515156127a4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f427579657220616e642073656c6c6572206172652073616d650000000000000081525060200191505060405180910390fd5b60008411151561281c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f56616c756520706173736564206973203000000000000000000000000000000081525060200191505060405180910390fd5b60008760ff16118015612833575060038760ff1611155b15156128cd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603d8152602001807f5468726573686f6c642063616e6e6f742062652067726561746572207468616e81526020017f203320616e64206d7573742062652067726561746572207468616e203000000081525060400191505060405180910390fd5b60018760ff16148061290c5750600073ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff1614155b15156129cc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260488152602001807f456974686572207468726573686f6c642073686f756c642062652031206f722081526020017f76616c6964206d6f64657261746f7220616464726573732073686f756c64206281526020017f652070617373656400000000000000000000000000000000000000000000000081525060600191505060405180910390fd5b6129db8388888d8d8d87610e98565b600019168560001916141515612a7f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260398152602001807f43616c63756c6174656420736372697074206861736820646f6573206e6f742081526020017f6d61746368207061737365642073637269707420686173682e0000000000000081525060400191505060405180910390fd5b6101406040519081016040528085815260200142815260200160006001811115612aa557fe5b8152602001836001811115612ab657fe5b81526020018860ff1681526020018763ffffffff1681526020018b73ffffffffffffffffffffffffffffffffffffffff1681526020018a73ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020018973ffffffffffffffffffffffffffffffffffffffff168152506000808760001916600019168152602001908152602001600020600082015181600001556020820151816001015560408201518160020160006101000a81548160ff02191690836001811115612b9057fe5b021790555060608201518160020160016101000a81548160ff02191690836001811115612bb957fe5b021790555060808201518160020160026101000a81548160ff021916908360ff16021790555060a08201518160020160036101000a81548163ffffffff021916908363ffffffff16021790555060c08201518160020160076101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060e08201518160030160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506101008201518160040160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506101208201518160050160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055509050506001600080876000191660001916815260200190815260200160002060060160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600080876000191660001916815260200190815260200160002060060160008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600080866000191660001916815260200190815260200160002060060160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151515612f10576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f456974686572206275796572206f722073656c6c65722069732070617373656481526020017f206173206d6f64657261746f720000000000000000000000000000000000000081525060400191505060405180910390fd5b60018760ff161115612f90576001600080876000191660001916815260200190815260200160002060060160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b600160008154809291906001019190505550600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020859080600181540180825580915050906001820390600052602060002001600090919290919091509060001916905550600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002085908060018154018082558091505090600182039060005260206000200160009091929091909150906000191690555050505050505050505050565b60008082840190508381101515156130a357600080fd5b8091505092915050565b6000806130be888888888888613a76565b9150613114600080876000191660001916815260200190815260200160002060020160039054906101000a900463ffffffff166000808860001916600019168152602001908152602001600020600101546140ef565b9050600080866000191660001916815260200190815260200160002060020160029054906101000a900460ff1660ff1688511080156131c557508015806131c45750600080866000191660001916815260200190815260200160002060030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b5b15613284576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260588152602001807f4d696e696d756d206e756d626572206f66207369676e6174757265732061726581526020017f206e6f7420636f6c6c656374656420616e642074696d65206c6f636b2065787081526020017f69727920636f6e646974696f6e73206e6f74206d65742121000000000000000081525060600191505060405180910390fd5b5050505050505050565b6000806000806000806000808a60001916600019168152602001908152602001600020945060009350600060018111156132c457fe5b8560020160019054906101000a900460ff1660018111156132e157fe5b14156135f857600092505b87518310156135f357600073ffffffffffffffffffffffffffffffffffffffff16888481518110151561331b57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff16141580156133ab5750846006016000898581518110151561335857fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b151561341f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f4e6f7420612076616c69642064657374696e6174696f6e00000000000000000081525060200191505060405180910390fd5b6000878481518110151561342f57fe5b906020019060200201511115156134d4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001807f416d6f756e7420746f2062652073656e742073686f756c64206265206772656181526020017f746572207468616e20300000000000000000000000000000000000000000000081525060400191505060405180910390fd5b6134fe87848151811015156134e557fe5b906020019060200201518561308c90919063ffffffff16565b935060018560080160008a8681518110151561351657fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550878381518110151561357f57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff166108fc88858151811015156135b057fe5b906020019060200201519081150290604051600060405180830381858888f193505050501580156135e5573d6000803e3d6000fd5b5082806001019350506132ec565b613a67565b60018081111561360457fe5b8560020160019054906101000a900460ff16600181111561362157fe5b1415613a66578460040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169150600090505b8751811015613a6557600073ffffffffffffffffffffffffffffffffffffffff16888281518110151561368257fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1614158015613712575084600601600089838151811015156136bf57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1515613786576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f4e6f7420612076616c69642064657374696e6174696f6e00000000000000000081525060200191505060405180910390fd5b6000878281518110151561379657fe5b9060200190602002015111151561383b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001807f416d6f756e7420746f2062652073656e742073686f756c64206265206772656181526020017f746572207468616e20300000000000000000000000000000000000000000000081525060400191505060405180910390fd5b613865878281518110151561384c57fe5b906020019060200201518561308c90919063ffffffff16565b935060018560080160008a8481518110151561387d57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb898381518110151561390257fe5b90602001906020020151898481518110151561391a57fe5b906020019060200201516040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1580156139a957600080fd5b505af11580156139bd573d6000803e3d6000fd5b505050506040513d60208110156139d357600080fd5b81019080805190602001909291905050501515613a58576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f546f6b656e207472616e73666572206661696c65642e0000000000000000000081525060200191505060405180910390fd5b8080600101915050613653565b5b5b83955050505050509392505050565b600080600080600088518a51148015613a9057508a518a51145b1515613b04576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f522c532c56206c656e677468206d69736d617463682e0000000000000000000081525060200191505060405180910390fd5b60197f01000000000000000000000000000000000000000000000000000000000000000260007f0100000000000000000000000000000000000000000000000000000000000000023089898c60405160200180877effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168152600101867effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526001018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401848051906020019060200280838360005b83811015613c58578082015181840152602081019050613c3d565b50505050905001838051906020019060200280838360005b83811015613c8b578082015181840152602081019050613c70565b50505050905001826000191660001916815260200196505050505050506040516020818303038152906040526040518082805190602001908083835b602083101515613cec5780518252602082019150602081019050602083039250613cc7565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902060405160200180807f19457468657265756d205369676e6564204d6573736167653a0a333200000000815250601c0182600019166000191681526020019150506040516020818303038152906040526040518082805190602001908083835b602083101515613d9d5780518252602082019150602081019050602083039250613d78565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390209250600091505b89518210156140de576001838c84815181101515613deb57fe5b906020019060200201518c85815181101515613e0357fe5b906020019060200201518c86815181101515613e1b57fe5b90602001906020020151604051600081526020016040526040518085600019166000191681526020018460ff1660ff1681526020018360001916600019168152602001826000191660001916815260200194505050505060206040516020810390808403906000865af1158015613e96573d6000803e3d6000fd5b505050602060405103519050600080896000191660001916815260200190815260200160002060060160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515613f7e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f496e76616c6964207369676e617475726500000000000000000000000000000081525060200191505060405180910390fd5b600080896000191660001916815260200190815260200160002060070160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151561405b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f53616d65207369676e61747572652073656e742074776963650000000000000081525060200191505060405180910390fd5b60016000808a6000191660001916815260200190815260200160002060070160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508093508180600101925050613dd1565b839450505050509695505050505050565b600080614105834261414390919063ffffffff16565b905060008463ffffffff161461413757614130610e108563ffffffff1661416490919063ffffffff16565b811161413a565b60005b91505092915050565b60008083831115151561415557600080fd5b82840390508091505092915050565b6000806000841415614179576000915061419b565b828402905082848281151561418a57fe5b0414151561419757600080fd5b8091505b50929150505600a165627a7a72305820ff1643e47dc947640c2fe10064b4b907aa7ba4242c6f3438700f9e2eb37cc7e30029", + "deployedBytecode": "0x6080604052600436106100ba576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806323b6fd3f146100bf5780632d9ef96e1461017957806346fbcdeb1461019d57806357bced7614610292578063642f2eaf14610383578063b0550c66146104e5578063b719e2801461054e578063b77bf60014610589578063be84ceaf146105b4578063e4ec8b001461064c578063f0786562146106f5578063f5dbe09c1461075e575b600080fd5b610177600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff169060200190929190803563ffffffff169060200190929190803560001916906020019092919080356bffffffffffffffffffffffff191690602001909291905050506107c7565b005b61019b6004803603810190808035600019169060200190929190505050610a1b565b005b3480156101a957600080fd5b5061027460048036038101908080356bffffffffffffffffffffffff19169060200190929190803560ff169060200190929190803563ffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610e98565b60405180826000191660001916815260200191505060405180910390f35b34801561029e57600080fd5b50610381600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff169060200190929190803563ffffffff16906020019092919080356000191690602001909291908035906020019092919080356bffffffffffffffffffffffff19169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611344565b005b34801561038f57600080fd5b506103b26004803603810190808035600019169060200190929190505050611819565b604051808b81526020018a81526020018960018111156103ce57fe5b60ff1681526020018860018111156103e257fe5b60ff1681526020018760ff1660ff1681526020018663ffffffff1663ffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019a505050505050505050505060405180910390f35b3480156104f157600080fd5b506105346004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611924565b604051808215151515815260200191505060405180910390f35b34801561055a57600080fd5b50610587600480360381019080803560001916906020019092919080359060200190929190505050611996565b005b34801561059557600080fd5b5061059e612066565b6040518082815260200191505060405180910390f35b3480156105c057600080fd5b506105f5600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061206c565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b8381101561063857808201518184015260208101905061061d565b505050509050019250505060405180910390f35b34801561065857600080fd5b506106f36004803603810190808035906020019082018035906020019190919293919293908035906020019082018035906020019190919293919293908035906020019082018035906020019190919293919293908035600019169060200190929190803590602001908201803590602001919091929391929390803590602001908201803590602001919091929391929390505050612107565b005b34801561070157600080fd5b506107446004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061265e565b604051808215151515815260200191505060405180910390f35b34801561076a57600080fd5b506107a9600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506126d0565b60405180826000191660001916815260200191505060405180910390f35b81600080600083600019166000191681526020019081526020016000206000015414151561085d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f5472616e73616374696f6e20657869737400000000000000000000000000000081525060200191505060405180910390fd5b87600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610903576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b87600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156109a9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b6109bc8a8a8a8a8a8a348b600080612700565b3373ffffffffffffffffffffffffffffffffffffffff1685600019167fce7089d0668849fb9ca29778c0cbf1e764d9efb048d81fd71fb34c94f26db368346040518082815260200191505060405180910390a350505050505050505050565b80600080600083600019166000191681526020019081526020016000206000015414151515610ab2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737400000000000081525060200191505060405180910390fd5b8160006001811115610ac057fe5b600080836000191660001916815260200190815260200160002060020160009054906101000a900460ff166001811115610af657fe5b141515610b91576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001807f5472616e73616374696f6e206973206e6f7420696e2046554e4445442073746181526020017f746500000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b826000806001811115610ba057fe5b600080846000191660001916815260200190815260200160002060020160019054906101000a900460ff166001811115610bd657fe5b141515610c4b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5472616e73616374696f6e207479706520646f6573206e6f74206d617463680081525060200191505060405180910390fd5b84600080826000191660001916815260200190815260200160002060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610d52576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f54686520696e69746961746f72206f6620746865207472616e73616374696f6e81526020017f206973206e6f742062757965720000000000000000000000000000000000000081525060400191505060405180910390fd5b600034111515610dca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f56616c7565206d7573742062652067726561746572207468616e207a65726f2e81525060200191505060405180910390fd5b610dfa3460008089600019166000191681526020019081526020016000206000015461308c90919063ffffffff16565b600080886000191660001916815260200190815260200160002060000181905550426000808860001916600019168152602001908152602001600020600101819055503373ffffffffffffffffffffffffffffffffffffffff1686600019167ff66fd2ae9e24a6a24b02e1b5b7512ffde5149a4176085fc0298ae228c9b9d729346040518082815260200191505060405180910390a3505050505050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156110e4578787878787873060405160200180886bffffffffffffffffffffffff19166bffffffffffffffffffffffff191681526014018760ff1660ff167f01000000000000000000000000000000000000000000000000000000000000000281526001018663ffffffff1663ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014019750505050505050506040516020818303038152906040526040518082805190602001908083835b6020831015156110b0578051825260208201915060208101905060208303925061108b565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390209050611339565b878787878787308860405160200180896bffffffffffffffffffffffff19166bffffffffffffffffffffffff191681526014018860ff1660ff167f01000000000000000000000000000000000000000000000000000000000000000281526001018763ffffffff1663ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401985050505050505050506040516020818303038152906040526040518082805190602001908083835b60208310151561130957805182526020820191506020810190506020830392506112e4565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902090505b979650505050505050565b60008460008060008360001916600019168152602001908152602001600020600001541415156113dc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f5472616e73616374696f6e20657869737400000000000000000000000000000081525060200191505060405180910390fd5b8a600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515611482576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b8a600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515611528576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b84600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156115ce576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b6115e18e8e8e8e8e8e8e8e60018f612700565b8594508473ffffffffffffffffffffffffffffffffffffffff166323b872dd33308b6040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b1580156116bb57600080fd5b505af11580156116cf573d6000803e3d6000fd5b505050506040513d60208110156116e557600080fd5b810190808051906020019092919050505015156117b6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252605d8152602001807f546f6b656e207472616e73666572206661696c65642c206d6179626520796f7581526020017f20646964206e6f7420617070726f766520657363726f7720636f6e747261637481526020017f20746f207370656e64206f6e20626568616c66206f662073656e64657200000081525060600191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff1689600019167fce7089d0668849fb9ca29778c0cbf1e764d9efb048d81fd71fb34c94f26db3688a6040518082815260200191505060405180910390a35050505050505050505050505050565b60006020528060005260406000206000915090508060000154908060010154908060020160009054906101000a900460ff16908060020160019054906101000a900460ff16908060020160029054906101000a900460ff16908060020160039054906101000a900463ffffffff16908060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060050160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508a565b6000806000846000191660001916815260200190815260200160002060080160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b600082600080600083600019166000191681526020019081526020016000206000015414151515611a2f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737400000000000081525060200191505060405180910390fd5b8360006001811115611a3d57fe5b600080836000191660001916815260200190815260200160002060020160009054906101000a900460ff166001811115611a7357fe5b141515611b0e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001807f5472616e73616374696f6e206973206e6f7420696e2046554e4445442073746181526020017f746500000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b846001806001811115611b1d57fe5b600080846000191660001916815260200190815260200160002060020160019054906101000a900460ff166001811115611b5357fe5b141515611bc8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5472616e73616374696f6e207479706520646f6573206e6f74206d617463680081525060200191505060405180910390fd5b86600080826000191660001916815260200190815260200160002060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611ccf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f54686520696e69746961746f72206f6620746865207472616e73616374696f6e81526020017f206973206e6f742062757965720000000000000000000000000000000000000081525060400191505060405180910390fd5b600087111515611d47576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f56616c7565206d7573742062652067726561746572207468616e207a65726f2e81525060200191505060405180910390fd5b600080896000191660001916815260200190815260200160002060040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1695508573ffffffffffffffffffffffffffffffffffffffff166323b872dd6000808b6000191660001916815260200190815260200160002060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff16308a6040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b158015611e9b57600080fd5b505af1158015611eaf573d6000803e3d6000fd5b505050506040513d6020811015611ec557600080fd5b81019080805190602001909291905050501515611f96576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252605c8152602001807f546f6b656e207472616e73666572206661696c65642c206d6179626520796f7581526020017f20646964206e6f7420617070726f766520657363726f7720636f6e747261637481526020017f20746f207370656e64206f6e20626568616c66206f662062757965720000000081525060600191505060405180910390fd5b611fc6876000808b600019166000191681526020019081526020016000206000015461308c90919063ffffffff16565b6000808a6000191660001916815260200190815260200160002060000181905550426000808a60001916600019168152602001908152602001600020600101819055503373ffffffffffffffffffffffffffffffffffffffff1688600019167ff66fd2ae9e24a6a24b02e1b5b7512ffde5149a4176085fc0298ae228c9b9d729896040518082815260200191505060405180910390a35050505050505050565b60015481565b6060600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208054806020026020016040519081016040528092919081815260200182805480156120fb57602002820191906000526020600020905b815460001916815260200190600101908083116120e3575b50505050509050919050565b8460008060008360001916600019168152602001908152602001600020600001541415151561219e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737400000000000081525060200191505060405180910390fd5b85600060018111156121ac57fe5b600080836000191660001916815260200190815260200160002060020160009054906101000a900460ff1660018111156121e257fe5b14151561227d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001807f5472616e73616374696f6e206973206e6f7420696e2046554e4445442073746181526020017f746500000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b60008686905011801561229557508383905086869050145b151561232f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001807f4c656e677468206f662064657374696e6174696f6e7320697320696e636f727281526020017f6563742e0000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b6124288d8d808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508c8c808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508b8b808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508a8a8a808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508989808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050506130ad565b6001600080896000191660001916815260200190815260200160002060020160006101000a81548160ff0219169083600181111561246257fe5b0217905550426000808960001916600019168152602001908152602001600020600101819055506000808860001916600019168152602001908152602001600020600001546125108888888080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505087878080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505061328e565b1415156125d1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260488152602001807f546f74616c2076616c756520746f2062652072656c6561736564206d7573742081526020017f626520657175616c20746f20746865207472616e73616374696f6e206573637281526020017f6f772076616c756500000000000000000000000000000000000000000000000081525060600191505060405180910390fd5b86600019167f688e2a1b34445bcd47b0e11ba2a9c8c4d850a1831b64199b59d1c70e29701545878787876040518080602001806020018381038352878782818152602001925060200280828437820191505083810382528585828181526020019250602002808284378201915050965050505050505060405180910390a250505050505050505050505050565b6000806000846000191660001916815260200190815260200160002060070160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6002602052816000526040600020818154811015156126eb57fe5b90600052602060002001600091509150505481565b8873ffffffffffffffffffffffffffffffffffffffff168a73ffffffffffffffffffffffffffffffffffffffff16141515156127a4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f427579657220616e642073656c6c6572206172652073616d650000000000000081525060200191505060405180910390fd5b60008411151561281c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f56616c756520706173736564206973203000000000000000000000000000000081525060200191505060405180910390fd5b60008760ff16118015612833575060038760ff1611155b15156128cd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603d8152602001807f5468726573686f6c642063616e6e6f742062652067726561746572207468616e81526020017f203320616e64206d7573742062652067726561746572207468616e203000000081525060400191505060405180910390fd5b60018760ff16148061290c5750600073ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff1614155b15156129cc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260488152602001807f456974686572207468726573686f6c642073686f756c642062652031206f722081526020017f76616c6964206d6f64657261746f7220616464726573732073686f756c64206281526020017f652070617373656400000000000000000000000000000000000000000000000081525060600191505060405180910390fd5b6129db8388888d8d8d87610e98565b600019168560001916141515612a7f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260398152602001807f43616c63756c6174656420736372697074206861736820646f6573206e6f742081526020017f6d61746368207061737365642073637269707420686173682e0000000000000081525060400191505060405180910390fd5b6101406040519081016040528085815260200142815260200160006001811115612aa557fe5b8152602001836001811115612ab657fe5b81526020018860ff1681526020018763ffffffff1681526020018b73ffffffffffffffffffffffffffffffffffffffff1681526020018a73ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020018973ffffffffffffffffffffffffffffffffffffffff168152506000808760001916600019168152602001908152602001600020600082015181600001556020820151816001015560408201518160020160006101000a81548160ff02191690836001811115612b9057fe5b021790555060608201518160020160016101000a81548160ff02191690836001811115612bb957fe5b021790555060808201518160020160026101000a81548160ff021916908360ff16021790555060a08201518160020160036101000a81548163ffffffff021916908363ffffffff16021790555060c08201518160020160076101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060e08201518160030160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506101008201518160040160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506101208201518160050160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055509050506001600080876000191660001916815260200190815260200160002060060160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600080876000191660001916815260200190815260200160002060060160008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600080866000191660001916815260200190815260200160002060060160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151515612f10576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f456974686572206275796572206f722073656c6c65722069732070617373656481526020017f206173206d6f64657261746f720000000000000000000000000000000000000081525060400191505060405180910390fd5b60018760ff161115612f90576001600080876000191660001916815260200190815260200160002060060160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b600160008154809291906001019190505550600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020859080600181540180825580915050906001820390600052602060002001600090919290919091509060001916905550600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002085908060018154018082558091505090600182039060005260206000200160009091929091909150906000191690555050505050505050505050565b60008082840190508381101515156130a357600080fd5b8091505092915050565b6000806130be888888888888613a76565b9150613114600080876000191660001916815260200190815260200160002060020160039054906101000a900463ffffffff166000808860001916600019168152602001908152602001600020600101546140ef565b9050600080866000191660001916815260200190815260200160002060020160029054906101000a900460ff1660ff1688511080156131c557508015806131c45750600080866000191660001916815260200190815260200160002060030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b5b15613284576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260588152602001807f4d696e696d756d206e756d626572206f66207369676e6174757265732061726581526020017f206e6f7420636f6c6c656374656420616e642074696d65206c6f636b2065787081526020017f69727920636f6e646974696f6e73206e6f74206d65742121000000000000000081525060600191505060405180910390fd5b5050505050505050565b6000806000806000806000808a60001916600019168152602001908152602001600020945060009350600060018111156132c457fe5b8560020160019054906101000a900460ff1660018111156132e157fe5b14156135f857600092505b87518310156135f357600073ffffffffffffffffffffffffffffffffffffffff16888481518110151561331b57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff16141580156133ab5750846006016000898581518110151561335857fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b151561341f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f4e6f7420612076616c69642064657374696e6174696f6e00000000000000000081525060200191505060405180910390fd5b6000878481518110151561342f57fe5b906020019060200201511115156134d4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001807f416d6f756e7420746f2062652073656e742073686f756c64206265206772656181526020017f746572207468616e20300000000000000000000000000000000000000000000081525060400191505060405180910390fd5b6134fe87848151811015156134e557fe5b906020019060200201518561308c90919063ffffffff16565b935060018560080160008a8681518110151561351657fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550878381518110151561357f57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff166108fc88858151811015156135b057fe5b906020019060200201519081150290604051600060405180830381858888f193505050501580156135e5573d6000803e3d6000fd5b5082806001019350506132ec565b613a67565b60018081111561360457fe5b8560020160019054906101000a900460ff16600181111561362157fe5b1415613a66578460040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169150600090505b8751811015613a6557600073ffffffffffffffffffffffffffffffffffffffff16888281518110151561368257fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1614158015613712575084600601600089838151811015156136bf57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1515613786576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f4e6f7420612076616c69642064657374696e6174696f6e00000000000000000081525060200191505060405180910390fd5b6000878281518110151561379657fe5b9060200190602002015111151561383b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001807f416d6f756e7420746f2062652073656e742073686f756c64206265206772656181526020017f746572207468616e20300000000000000000000000000000000000000000000081525060400191505060405180910390fd5b613865878281518110151561384c57fe5b906020019060200201518561308c90919063ffffffff16565b935060018560080160008a8481518110151561387d57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb898381518110151561390257fe5b90602001906020020151898481518110151561391a57fe5b906020019060200201516040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1580156139a957600080fd5b505af11580156139bd573d6000803e3d6000fd5b505050506040513d60208110156139d357600080fd5b81019080805190602001909291905050501515613a58576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f546f6b656e207472616e73666572206661696c65642e0000000000000000000081525060200191505060405180910390fd5b8080600101915050613653565b5b5b83955050505050509392505050565b600080600080600088518a51148015613a9057508a518a51145b1515613b04576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f522c532c56206c656e677468206d69736d617463682e0000000000000000000081525060200191505060405180910390fd5b60197f01000000000000000000000000000000000000000000000000000000000000000260007f0100000000000000000000000000000000000000000000000000000000000000023089898c60405160200180877effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168152600101867effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526001018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401848051906020019060200280838360005b83811015613c58578082015181840152602081019050613c3d565b50505050905001838051906020019060200280838360005b83811015613c8b578082015181840152602081019050613c70565b50505050905001826000191660001916815260200196505050505050506040516020818303038152906040526040518082805190602001908083835b602083101515613cec5780518252602082019150602081019050602083039250613cc7565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902060405160200180807f19457468657265756d205369676e6564204d6573736167653a0a333200000000815250601c0182600019166000191681526020019150506040516020818303038152906040526040518082805190602001908083835b602083101515613d9d5780518252602082019150602081019050602083039250613d78565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390209250600091505b89518210156140de576001838c84815181101515613deb57fe5b906020019060200201518c85815181101515613e0357fe5b906020019060200201518c86815181101515613e1b57fe5b90602001906020020151604051600081526020016040526040518085600019166000191681526020018460ff1660ff1681526020018360001916600019168152602001826000191660001916815260200194505050505060206040516020810390808403906000865af1158015613e96573d6000803e3d6000fd5b505050602060405103519050600080896000191660001916815260200190815260200160002060060160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515613f7e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f496e76616c6964207369676e617475726500000000000000000000000000000081525060200191505060405180910390fd5b600080896000191660001916815260200190815260200160002060070160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151561405b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f53616d65207369676e61747572652073656e742074776963650000000000000081525060200191505060405180910390fd5b60016000808a6000191660001916815260200190815260200160002060070160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508093508180600101925050613dd1565b839450505050509695505050505050565b600080614105834261414390919063ffffffff16565b905060008463ffffffff161461413757614130610e108563ffffffff1661416490919063ffffffff16565b811161413a565b60005b91505092915050565b60008083831115151561415557600080fd5b82840390508091505092915050565b6000806000841415614179576000915061419b565b828402905082848281151561418a57fe5b0414151561419757600080fd5b8091505b50929150505600a165627a7a72305820ff1643e47dc947640c2fe10064b4b907aa7ba4242c6f3438700f9e2eb37cc7e30029", + "sourceMap": "460:20091:0:-;;;1653:1;1619:35;;460:20091;8:9:-1;5:2;;;30:1;27;20:12;5:2;460:20091:0;;;;;;;", + "deployedSourceMap": "460:20091:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3701:701;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7580:579;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11817:999;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11817:999:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5336:1021;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5336:1021:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1561:51;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1561:51:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6598:221;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6598:221:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8487:888;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8487:888:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1619:35;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1619:35:0;;;;;;;;;;;;;;;;;;;;;;;9492:194;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9492:194:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;9492:194:0;;;;;;;;;;;;;;;;;10284:1062;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10284:1062:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7059:194;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7059:194:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1733:55;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1733:55:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3701:701;3978:10;2076:1;2042:12;:24;2055:10;2042:24;;;;;;;;;;;;;;;;;:30;;;:35;2034:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4013:5;2409:1;2383:28;;:14;:28;;;;2375:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4043:6;2409:1;2383:28;;:14;:28;;;;2375:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4065:264;4094:5;4113:6;4133:9;4156;4179:12;4205:10;4229:9;4252:8;4274:21;4317:1;4065:15;:264::i;:::-;4372:10;4353:41;;4360:10;4353:41;;;;4384:9;4353:41;;;;;;;;;;;;;;;;;;2445:1;2109;3701:701;;;;;;;;:::o;7580:579::-;7703:10;1906:1;1872:12;:24;1885:10;1872:24;;;;;;;;;;;;;;;;;:30;;;:35;;1851:96;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7737:10;2232:13;2197:48;;;;;;;;:12;:24;2210:10;2197:24;;;;;;;;;;;;;;;;;:31;;;;;;;;;;;;:48;;;;;;;;;2176:117;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7778:10;7790:21;2643:15;2599:59;;;;;;;;:12;:24;2612:10;2599:24;;;;;;;;;;;;;;;;;:40;;;;;;;;;;;;:59;;;;;;;;;2578:125;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7831:10;2811:12;:24;2824:10;2811:24;;;;;;;;;;;;;;;;;:30;;;;;;;;;;;;2797:44;;:10;:44;;;2776:124;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7887:1;7875:9;:13;7867:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7969;8017:9;7969:12;:24;7982:10;7969:24;;;;;;;;;;;;;;;;;:30;;;:47;;:58;;;;:::i;:::-;7936:12;:24;7949:10;7936:24;;;;;;;;;;;;;;;;;:30;;:91;;;;8077:15;8037:12;:24;8050:10;8037:24;;;;;;;;;;;;;;;;;:37;;:55;;;;8130:10;8108:44;;8118:10;8108:44;;;;8142:9;8108:44;;;;;;;;;;;;;;;;;;2713:1;2303;;1957;7580:579;;:::o;11817:999::-;12087:7;12138:1;12114:26;;:12;:26;;;12110:700;;;12228:8;12258:9;12289:12;12323:5;12350:6;12378:9;12409:4;12190:241;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;12190:241:0;;;12163:282;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;12163:282:0;;;;;;;;;;;;;;;;12156:289;;;;12110:700;12548:8;12578:9;12609:12;12643:5;12670:6;12698:9;12729:4;12755:12;12510:275;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;12510:275:0;;;12483:316;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;12483:316:0;;;;;;;;;;;;;;;;12476:323;;11817:999;;;;;;;;;;:::o;5336:1021::-;6053:20;5655:10;2076:1;2042:12;:24;2055:10;2042:24;;;;;;;;;;;;;;;;;:30;;;:35;2034:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5690:5;2409:1;2383:28;;:14;:28;;;;2375:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5720:6;2409:1;2383:28;;:14;:28;;;;2375:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5751:12;2409:1;2383:28;;:14;:28;;;;2375:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5780:262;5809:5;5828:6;5848:9;5871;5894:12;5920:10;5944:5;5963:8;5985:21;6020:12;5780:15;:262::i;:::-;6091:12;6053:51;;6136:5;:18;;;6155:10;6167:4;6173:5;6136:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6136:43:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6136:43:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6136:43:0;;;;;;;;;;;;;;;;6115:183;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6332:10;6313:37;;6320:10;6313:37;;;;6344:5;6313:37;;;;;;;;;;;;;;;;;;2445:1;;2109;5336:1021;;;;;;;;;;;:::o;1561:51::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;6598:221::-;6734:4;6761:12;:24;6774:10;6761:24;;;;;;;;;;;;;;;;;:38;;:51;6800:11;6761:51;;;;;;;;;;;;;;;;;;;;;;;;;6754:58;;6598:221;;;;:::o;8487:888::-;8838:20;8618:10;1906:1;1872:12;:24;1885:10;1872:24;;;;;;;;;;;;;;;;;:30;;;:35;;1851:96;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8652:10;2232:13;2197:48;;;;;;;;:12;:24;2210:10;2197:24;;;;;;;;;;;;;;;;;:31;;;;;;;;;;;;:48;;;;;;;;;2176:117;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8693:10;8705:21;2643:15;2599:59;;;;;;;;:12;:24;2612:10;2599:24;;;;;;;;;;;;;;;;;:40;;;;;;;;;;;;:59;;;;;;;;;2578:125;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8746:10;2811:12;:24;2824:10;2811:24;;;;;;;;;;;;;;;;;:30;;;;;;;;;;;;2797:44;;:10;:44;;;2776:124;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8789:1;8781:5;:9;8773:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8889:12;:24;8902:10;8889:24;;;;;;;;;;;;;;;;;:37;;;;;;;;;;;;8838:98;;8968:5;:18;;;8987:12;:24;9000:10;8987:24;;;;;;;;;;;;;;;;;:30;;;;;;;;;;;;9019:4;9025:5;8968:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8968:63:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;8968:63:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;8968:63:0;;;;;;;;;;;;;;;;8947:202;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9193:54;9241:5;9193:12;:24;9206:10;9193:24;;;;;;;;;;;;;;;;;:30;;;:47;;:54;;;;:::i;:::-;9160:12;:24;9173:10;9160:24;;;;;;;;;;;;;;;;;:30;;:87;;;;9297:15;9257:12;:24;9270:10;9257:24;;;;;;;;;;;;;;;;;:37;;:55;;;;9350:10;9328:40;;9338:10;9328:40;;;;9362:5;9328:40;;;;;;;;;;;;;;;;;;2713:1;2303;;1957;8487:888;;;;:::o;1619:35::-;;;;:::o;9492:194::-;9614:9;9647:18;:32;9666:12;9647:32;;;;;;;;;;;;;;;9640:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9492:194;;;:::o;10284:1062::-;10506:10;1906:1;1872:12;:24;1885:10;1872:24;;;;;;;;;;;;;;;;;:30;;;:35;;1851:96;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10540:10;2232:13;2197:48;;;;;;;;:12;:24;2210:10;2197:24;;;;;;;;;;;;;;;;;:31;;;;;;;;;;;;:48;;;;;;;;;2176:117;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10607:1;10587:12;;:19;;:21;:62;;;;;10635:7;;:14;;10612:12;;:19;;:37;10587:62;10566:133;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10710:152;10741:4;;10710:152;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10759:4;;10710:152;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10777:4;;10710:152;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10795:10;10819:12;;10710:152;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10845:7;;10710:152;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:17;:152::i;:::-;10907:15;10873:12;:24;10886:10;10873:24;;;;;;;;;;;;;;;;;:31;;;:49;;;;;;;;;;;;;;;;;;;;;;;;11046:15;11006:12;:24;11019:10;11006:24;;;;;;;;;;;;;;;;;:37;;:55;;;;11144:12;:24;11157:10;11144:24;;;;;;;;;;;;;;;;;:30;;;11092:48;11106:10;11118:12;;11092:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11132:7;;11092:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:13;:48::i;:::-;:82;11071:201;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11305:10;11296:43;;;;11317:12;;11331:7;;11296:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1957:1;10284:1062;;;;;;;;;;;;:::o;7059:194::-;7182:4;7209:12;:24;7222:10;7209:24;;;;;;;;;;;;;;;;;:30;;:37;7240:5;7209:37;;;;;;;;;;;;;;;;;;;;;;;;;7202:44;;7059:194;;;;:::o;1733:55::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;17908:2641::-;18270:6;18261:15;;:5;:15;;;;18253:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18381:1;18373:5;:9;18365:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18519:1;18507:9;:13;;;:31;;;;;18537:1;18524:9;:14;;;;18507:31;18486:140;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18920:1;18907:9;:14;;;:41;;;;18946:1;18925:23;;:9;:23;;;;18907:41;18886:160;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19092:226;19135:8;19161:9;19188:12;19218:5;19241:6;19265:9;19292:12;19092:25;:226::i;:::-;19078:240;;;:10;:240;;;;19057:345;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19440:373;;;;;;;;;19561:5;19440:373;;;;19629:15;19440:373;;;;19588:13;19440:373;;;;;;;;;;;;19748:15;19440:373;;;;;;;;;;;;19669:9;19440:373;;;;;;19706:12;19440:373;;;;;;19473:5;19440:373;;;;;;19500:6;19440:373;;;;;;19790:12;19440:373;;;;;;19531:9;19440:373;;;;;19413:12;:24;19426:10;19413:24;;;;;;;;;;;;;;;;;:400;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19867:4;19824:12;:24;19837:10;19824:24;;;;;;;;;;;;;;;;;:32;;:40;19857:6;19824:40;;;;;;;;;;;;;;;;:47;;;;;;;;;;;;;;;;;;19923:4;19881:12;:24;19894:10;19881:24;;;;;;;;;;;;;;;;;:32;;:39;19914:5;19881:39;;;;;;;;;;;;;;;;:46;;;;;;;;;;;;;;;;;;20035:12;:24;20048:10;20035:24;;;;;;;;;;;;;;;;;:32;;:43;20068:9;20035:43;;;;;;;;;;;;;;;;;;;;;;;;;20034:44;20013:137;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20322:1;20310:9;:13;;;20306:94;;;20385:4;20339:12;:24;20352:10;20339:24;;;;;;;;;;;;;;;;;:32;;:43;20372:9;20339:43;;;;;;;;;;;;;;;;:50;;;;;;;;;;;;;;;;;;20306:94;20418:16;;:18;;;;;;;;;;;;;20447;:25;20466:5;20447:25;;;;;;;;;;;;;;;20478:10;20447:42;;39:1:-1;33:3;27:10;23:18;57:10;52:3;45:23;79:10;72:17;;0:93;20447:42:0;;;;;;;;;;;;;;;;;;;;;;;;;;;20499:18;:26;20518:6;20499:26;;;;;;;;;;;;;;;20531:10;20499:43;;39:1:-1;33:3;27:10;23:18;57:10;52:3;45:23;79:10;72:17;;0:93;20499:43:0;;;;;;;;;;;;;;;;;;;;;;;;;;;17908:2641;;;;;;;;;;:::o;1272:131:2:-;1330:7;1345:9;1361:1;1357;:5;1345:17;;1381:1;1376;:6;;1368:15;;;;;;;;1397:1;1390:8;;1272:131;;;;;:::o;13090:1005:0:-;13310:21;13496:20;13334:151;13364:4;13382;13400;13418:10;13442:12;13468:7;13334:16;:151::i;:::-;13310:175;;13519:129;13550:12;:24;13563:10;13550:24;;;;;;;;;;;;;;;;;:37;;;;;;;;;;;;13601:12;:24;13614:10;13601:24;;;;;;;;;;;;;;;;;:37;;;13519:17;:129::i;:::-;13496:152;;13834:12;:24;13847:10;13834:24;;;;;;;;;;;;;;;;;:34;;;;;;;;;;;;13820:48;;:4;:11;:48;:122;;;;;13874:15;13873:16;:68;;;;13910:12;:24;13923:10;13910:24;;;;;;;;;;;;;;;;;:31;;;;;;;;;;;;13893:48;;:13;:48;;;;13873:68;13820:122;13799:289;;;13979:98;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13799:289;13090:1005;;;;;;;;:::o;14221:1522::-;14368:7;14391:21;14450:24;14556:9;15108:20;15181:9;14415:12;:24;14428:10;14415:24;;;;;;;;;;;;;;;;;14391:48;;14477:1;14450:28;;14514:21;14493:42;;;;;;;;:1;:17;;;;;;;;;;;;:42;;;;;;;;;14489:1214;;;14568:1;14556:13;;14551:477;14575:12;:19;14571:1;:23;14551:477;;;14655:1;14628:29;;:12;14641:1;14628:15;;;;;;;;;;;;;;;;;;:29;;;;:59;;;;;14661:1;:9;;:26;14671:12;14684:1;14671:15;;;;;;;;;;;;;;;;;;14661:26;;;;;;;;;;;;;;;;;;;;;;;;;14628:59;14620:95;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14754:1;14741:7;14749:1;14741:10;;;;;;;;;;;;;;;;;;:14;14733:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14840:32;14861:7;14869:1;14861:10;;;;;;;;;;;;;;;;;;14840:16;:20;;:32;;;;:::i;:::-;14821:51;;14926:4;14891:1;:15;;:32;14907:12;14920:1;14907:15;;;;;;;;;;;;;;;;;;14891:32;;;;;;;;;;;;;;;;:39;;;;;;;;;;;;;;;;;;14977:12;14990:1;14977:15;;;;;;;;;;;;;;;;;;:24;;:36;15002:7;15010:1;15002:10;;;;;;;;;;;;;;;;;;14977:36;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;14977:36:0;14596:3;;;;;;;14551:477;;;14489:1214;;;15070:21;15049:42;;;;;;;;:1;:17;;;;;;;;;;;;:42;;;;;;;;;15045:658;;;15146:1;:14;;;;;;;;;;;;15108:53;;15193:1;15181:13;;15176:517;15198:12;:19;15196:1;:21;15176:517;;;15278:1;15251:29;;:12;15264:1;15251:15;;;;;;;;;;;;;;;;;;:29;;;;:59;;;;;15284:1;:9;;:26;15294:12;15307:1;15294:15;;;;;;;;;;;;;;;;;;15284:26;;;;;;;;;;;;;;;;;;;;;;;;;15251:59;15243:95;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15377:1;15364:7;15372:1;15364:10;;;;;;;;;;;;;;;;;;:14;15356:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15463:32;15484:7;15492:1;15484:10;;;;;;;;;;;;;;;;;;15463:16;:20;;:32;;;;:::i;:::-;15444:51;;15548:4;15513:1;:15;;:32;15529:12;15542:1;15529:15;;;;;;;;;;;;;;;;;;15513:32;;;;;;;;;;;;;;;;:39;;;;;;;;;;;;;;;;;;15608:5;:14;;;15623:12;15636:1;15623:15;;;;;;;;;;;;;;;;;;15640:7;15648:1;15640:10;;;;;;;;;;;;;;;;;;15608:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;15608:43:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;15608:43:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;15608:43:0;;;;;;;;;;;;;;;;15600:78;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15219:3;;;;;;;15176:517;;;15045:658;14489:1214;15720:16;15713:23;;14221:1522;;;;;;;;;;:::o;15928:1571::-;16149:7;16310:19;16428:14;16887:6;16936:17;16209:4;:11;16194:4;:11;:26;:56;;;;;16239:4;:11;16224:4;:11;:26;16194:56;16173:126;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16632:4;16627:10;;16668:1;16663:7;;16696:4;16726:12;16764:7;16797:10;16585:244;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;16585:244:0;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;16585:244:0;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;16585:244:0;;;16554:293;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;16554:293:0;;;;;;;;;;;;;;;;16468:393;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;16468:393:0;;;16445:426;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;16445:426:0;;;;;;;;;;;;;;;;16428:443;;16896:1;16887:10;;16882:582;16903:4;:11;16899:1;:15;16882:582;;;16956:122;16983:6;17007:4;17012:1;17007:7;;;;;;;;;;;;;;;;;;17032:4;17037:1;17032:7;;;;;;;;;;;;;;;;;;17057:4;17062:1;17057:7;;;;;;;;;;;;;;;;;;16956:122;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;16956:122:0;;;;;;;;16936:142;;17118:12;:24;17131:10;17118:24;;;;;;;;;;;;;;;;;:32;;:43;17151:9;17118:43;;;;;;;;;;;;;;;;;;;;;;;;;17093:120;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17253:12;:24;17266:10;17253:24;;;;;;;;;;;;;;;;;:30;;:41;17284:9;17253:41;;;;;;;;;;;;;;;;;;;;;;;;;17252:42;17227:127;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17412:4;17368:12;:24;17381:10;17368:24;;;;;;;;;;;;;;;;;:30;;:41;17399:9;17368:41;;;;;;;;;;;;;;;;:48;;;;;;;;;;;;;;;;;;17444:9;17430:23;;16916:3;;;;;;;16882:582;;;17481:11;17474:18;;15928:1571;;;;;;;;;;;;:::o;17505:316::-;17643:4;17663:17;17683:21;17691:12;17683:3;:7;;:21;;;;:::i;:::-;17663:41;;17751:1;17735:12;:17;;;:69;;17773:31;17799:4;17781:12;17773:21;;:25;;:31;;;;:::i;:::-;17761:9;:43;17735:69;;;17755:5;17735:69;17714:100;;17505:316;;;;;:::o;1078:131:2:-;1136:7;1172:9;1164:1;1159;:6;;1151:15;;;;;;;;1188:1;1184;:5;1172:17;;1203:1;1196:8;;1078:131;;;;;:::o;204:381::-;262:7;523:9;491:1;486;:6;482:35;;;509:1;502:8;;;;482:35;539:1;535;:5;523:17;;563:1;558;554;:5;;;;;;;;:10;546:19;;;;;;;;579:1;572:8;;204:381;;;;;;:::o", + "source": "pragma solidity 0.4.24;\n\nimport \"openzeppelin-solidity/contracts/math/SafeMath.sol\";\n\nimport \"../token/ITokenContract.sol\";\n\n\n/**\n* @dev Supports ERC20 tokens\n* The escrow smart contract for the open bazaar trades in Ethereum\n* The smart contract is designed keeping in mind the current wallet interface of the OB-core\n* https://github.com/OpenBazaar/wallet-interface/blob/master/wallet.go\n* Current wallet interface strictly adheres to UTXO(bitcoin) model\n*/\ncontract Escrow_v1_0 {\n\n using SafeMath for uint256;\n\n enum Status {FUNDED, RELEASED}\n\n enum TransactionType {ETHER, TOKEN}\n\n event Executed(\n bytes32 indexed scriptHash,\n address[] destinations,\n uint256[] amounts\n );\n\n event FundAdded(\n bytes32 indexed scriptHash,\n address indexed from,\n uint256 valueAdded\n );\n\n event Funded(\n bytes32 indexed scriptHash, \n address indexed from, \n uint256 value\n );\n\n struct Transaction {\n uint256 value;\n uint256 lastModified;//Time at which transaction was last modified\n Status status;\n TransactionType transactionType;\n uint8 threshold;\n uint32 timeoutHours;\n address buyer;\n address seller;\n address tokenAddress;//Token address in case of token transfer\n address moderator;\n mapping(address=>bool) isOwner;//to keep track of owners.\n mapping(address=>bool) voted;//to keep track of who all voted\n mapping(address=>bool) beneficiaries;//Benefeciaries of execution\n }\n\n mapping(bytes32 => Transaction) public transactions;\n\n uint256 public transactionCount = 0;\n\n //Contains mapping between each party and all of their transactions\n mapping(address => bytes32[]) public partyVsTransaction;\n\n modifier transactionExist(bytes32 scriptHash) {\n require(\n transactions[scriptHash].value != 0, \"Transaction does not exist\"\n );\n _;\n }\n\n modifier transactionDoesNotExist(bytes32 scriptHash) {\n require(transactions[scriptHash].value == 0, \"Transaction exist\");\n _;\n }\n\n modifier inFundedState(bytes32 scriptHash) {\n require(\n transactions[scriptHash].status == Status.FUNDED, \"Transaction is not in FUNDED state\"\n );\n _;\n }\n\n modifier nonZeroAddress(address addressToCheck) {\n require(addressToCheck != address(0), \"Zero address passed\");\n _;\n }\n\n modifier checkTransactionType(\n bytes32 scriptHash,\n TransactionType transactionType\n )\n {\n require(\n transactions[scriptHash].transactionType == transactionType, \"Transaction type does not match\"\n );\n _;\n }\n\n modifier onlyBuyer(bytes32 scriptHash) {\n require(\n msg.sender == transactions[scriptHash].buyer, \"The initiator of the transaction is not buyer\"\n );\n _;\n }\n\n /**\n *@dev Add new transaction in the contract\n *@param buyer The buyer of the transaction\n *@param seller The seller of the listing associated with the transaction\n *@param moderator Moderator for this transaction\n *@param scriptHash keccak256 hash of the redeem script\n *@param threshold Minimum number of signatures required to released funds\n *@param timeoutHours Hours after which seller can release funds into his favour by signing transaction unilaterally\n *@param uniqueId bytes20 unique id for the transaction, generated by ETH wallet\n *Redeem Script format will be following\n \n *Pass amount of the ethers to be put in escrow\n */\n function addTransaction(\n address buyer,\n address seller,\n address moderator,\n uint8 threshold,\n uint32 timeoutHours,\n bytes32 scriptHash,\n bytes20 uniqueId\n )\n external\n payable\n transactionDoesNotExist(scriptHash)\n nonZeroAddress(buyer)\n nonZeroAddress(seller)\n {\n _addTransaction(\n buyer,\n seller,\n moderator,\n threshold,\n timeoutHours,\n scriptHash,\n msg.value,\n uniqueId,\n TransactionType.ETHER,\n address(0)\n );\n \n emit Funded(scriptHash, msg.sender, msg.value);\n\n }\n\n /**\n *@dev Add new transaction in the contract\n *@param buyer The buyer of the transaction\n *@param seller The seller of the listing associated with the transaction\n *@param moderator Moderator for this transaction\n *@param scriptHash keccak256 hash of the redeem script\n *@param threshold Minimum number of signatures required to released funds\n *@param timeoutHours Hours after which seller can release funds into his favour by signing transaction unilaterally\n *@param value Amount of tokens to be put in escrow\n *@param uniqueId bytes20 unique id for the transaction, generated by ETH wallet\n *@param tokenAddress Address of the token to be used\n *Redeem Script format will be following\n \n *approve escrow contract to spend amount of token on sender's behalf\n */\n function addTokenTransaction(\n address buyer,\n address seller,\n address moderator,\n uint8 threshold,\n uint32 timeoutHours,\n bytes32 scriptHash,\n uint256 value,\n bytes20 uniqueId,\n address tokenAddress\n )\n external\n transactionDoesNotExist(scriptHash)\n nonZeroAddress(buyer)\n nonZeroAddress(seller)\n nonZeroAddress(tokenAddress)\n {\n\n _addTransaction(\n buyer,\n seller,\n moderator,\n threshold,\n timeoutHours,\n scriptHash,\n value,\n uniqueId,\n TransactionType.TOKEN,\n tokenAddress\n );\n\n ITokenContract token = ITokenContract(tokenAddress);\n\n require(\n token.transferFrom(msg.sender, this, value),\n \"Token transfer failed, maybe you did not approve escrow contract to spend on behalf of sender\"\n );\n emit Funded(scriptHash, msg.sender, value);\n }\n\n /**\n * @dev This method will check whether given address was a beneficiary of transaction execution or not\n * @param scriptHash script hash of the transaction\n * @param beneficiary Beneficiary address to be checked\n */\n function checkBeneficiary(\n bytes32 scriptHash,\n address beneficiary\n )\n external\n view\n returns (bool)\n {\n return transactions[scriptHash].beneficiaries[beneficiary];\n }\n\n /**\n * @dev This method will check whether given party has voted or not\n * @param scriptHash script hash of the transaction\n * @param party Address of the party whose vote has to be checked\n * @return bool vote\n */\n function checkVote(\n bytes32 scriptHash,\n address party\n )\n external\n view\n returns (bool)\n {\n return transactions[scriptHash].voted[party];\n }\n\n /**\n * @dev Allows buyer of the transaction to add more funds(ether) in the transaction. \n * This will help to cater scenarios wherein initially buyer missed to fund transaction as required\n * @param scriptHash script hash of the transaction\n * Only buyer of the transaction can invoke this method\n */\n function addFundsToTransaction(\n bytes32 scriptHash\n )\n external\n payable\n transactionExist(scriptHash)\n inFundedState(scriptHash)\n checkTransactionType(scriptHash, TransactionType.ETHER)\n onlyBuyer(scriptHash)\n \n {\n\n require(msg.value > 0, \"Value must be greater than zero.\");\n\n transactions[scriptHash].value = transactions[scriptHash].value\n .add(msg.value);\n transactions[scriptHash].lastModified = block.timestamp;\n\n emit FundAdded(scriptHash, msg.sender, msg.value);\n }\n\n /**\n * @dev Allows buyer of the transaction to add more funds(Tokens) in the transaction. \n * This will help to cater scenarios wherein initially buyer missed to fund transaction as required\n * @param scriptHash script hash of the transaction\n * Only buyer of the transaction can invoke this method\n */\n function addTokensToTransaction(\n bytes32 scriptHash,\n uint256 value\n )\n external\n transactionExist(scriptHash)\n inFundedState(scriptHash)\n checkTransactionType(scriptHash, TransactionType.TOKEN)\n onlyBuyer(scriptHash)\n {\n\n require(value > 0, \"Value must be greater than zero.\");\n\n ITokenContract token = ITokenContract(\n transactions[scriptHash].tokenAddress\n );\n\n require(\n token.transferFrom(transactions[scriptHash].buyer, this, value),\n \"Token transfer failed, maybe you did not approve escrow contract to spend on behalf of buyer\"\n );\n\n transactions[scriptHash].value = transactions[scriptHash].value\n .add(value);\n transactions[scriptHash].lastModified = block.timestamp;\n\n emit FundAdded(scriptHash, msg.sender, value);\n }\n\n /**\n *@dev Returns all transaction ids for a party\n *@param partyAddress Address of the party\n */\n function getAllTransactionsForParty(\n address partyAddress\n ) \n external \n view \n returns (bytes32[]) \n {\n return partyVsTransaction[partyAddress];\n }\n\n /**\n *@dev This method will be used to release funds associated with the transaction\n * Please see specs https://github.com/OpenBazaar/smart-contracts/blob/master/contracts/escrow/EscrowSpec.md\n *@param sigV Array containing V component of all the signatures\n *@param sigR Array containing R component of all the signatures\n *@param signS Array containing S component of all the signatures\n *@param scriptHash script hash of the transaction\n *@param destinations List of addresses who will receive funds\n *@param amounts amount released to each destination\n */\n function execute(\n uint8[] sigV,\n bytes32[] sigR,\n bytes32[] sigS,\n bytes32 scriptHash,\n address[] destinations,\n uint256[] amounts\n )\n external\n transactionExist(scriptHash)\n inFundedState(scriptHash)\n {\n require(\n destinations.length>0 && destinations.length == amounts.length, \"Length of destinations is incorrect.\"\n );\n\n verifyTransaction(\n sigV,\n sigR,\n sigS,\n scriptHash,\n destinations,\n amounts\n );\n\n transactions[scriptHash].status = Status.RELEASED;\n //Last modified timestamp modified, which will be used by rewards\n transactions[scriptHash].lastModified = block.timestamp;\n require(\n transferFunds(scriptHash, destinations, amounts) == transactions[scriptHash].value,\n \"Total value to be released must be equal to the transaction escrow value\"\n );\n \n emit Executed(scriptHash, destinations, amounts);\n }\n\n\n /**\n *@dev Method for calculating script hash. Calculation will depend upon the type of transaction\n * ETHER Type transaction-:\n * Script Hash- keccak256(uniqueId, threshold, timeoutHours, buyer, seller, moderator)\n * TOKEN Type transaction\n * Script Hash- keccak256(uniqueId, threshold, timeoutHours, buyer, seller, moderator, tokenAddress)\n * Client can use this method to verify whether it has calculated correct script hash or not\n */\n function calculateRedeemScriptHash(\n bytes20 uniqueId,\n uint8 threshold,\n uint32 timeoutHours,\n address buyer,\n address seller,\n address moderator,\n address tokenAddress\n )\n public\n view\n returns (bytes32)\n {\n if (tokenAddress == address(0)) {\n return keccak256(\n abi.encodePacked(\n uniqueId,\n threshold,\n timeoutHours,\n buyer,\n seller,\n moderator,\n this\n )\n );\n } else {\n return keccak256(\n abi.encodePacked(\n uniqueId,\n threshold,\n timeoutHours,\n buyer,\n seller,\n moderator,\n this,\n tokenAddress\n )\n );\n }\n }\n\n /**\n * @dev This methods checks validity of transaction\n * 1. Verify Signatures\n * 2. Check if minimum number of signatures has been acquired\n * 3. If above condition is false, check if time lock is expired and the execution is signed by seller\n */\n function verifyTransaction(\n uint8[] sigV,\n bytes32[] sigR,\n bytes32[] sigS,\n bytes32 scriptHash,\n address[] destinations,\n uint256[] amounts\n )\n private\n {\n address lastRecovered = verifySignatures(\n sigV,\n sigR,\n sigS,\n scriptHash,\n destinations,\n amounts\n );\n\n bool timeLockExpired = isTimeLockExpired(\n transactions[scriptHash].timeoutHours,\n transactions[scriptHash].lastModified\n );\n\n //if Minimum number of signatures are not gathered and timelock has not expired or transaction was not signed by seller then revert\n if (\n sigV.length < transactions[scriptHash].threshold && (!timeLockExpired || lastRecovered != transactions[scriptHash].seller)\n )\n {\n revert(\"Minimum number of signatures are not collected and time lock expiry conditions not met!!\");\n }\n\n }\n\n /**\n *@dev Private method to transfer funds to the destination addresses on the basis of transaction type\n */\n function transferFunds(\n bytes32 scriptHash,\n address[]destinations,\n uint256[]amounts\n )\n private\n returns (uint256)\n {\n Transaction storage t = transactions[scriptHash];\n\n uint256 valueTransferred = 0;\n\n if (t.transactionType == TransactionType.ETHER) {\n for (uint256 i = 0; i < destinations.length; i++) {\n\n require(destinations[i] != address(0) && t.isOwner[destinations[i]], \"Not a valid destination\");\n require(amounts[i] > 0, \"Amount to be sent should be greater than 0\");\n\n valueTransferred = valueTransferred.add(amounts[i]);\n\n t.beneficiaries[destinations[i]] = true;//add receiver as beneficiary\n destinations[i].transfer(amounts[i]);\n }\n\n } else if (t.transactionType == TransactionType.TOKEN) {\n\n ITokenContract token = ITokenContract(t.tokenAddress);\n\n for (uint256 j = 0; j 0, \"Amount to be sent should be greater than 0\");\n\n valueTransferred = valueTransferred.add(amounts[j]);\n t.beneficiaries[destinations[j]] = true;//add receiver as beneficiary\n\n require(token.transfer(destinations[j], amounts[j]), \"Token transfer failed.\");\n }\n } \n return valueTransferred;\n }\n\n //to check whether the signatures are valid or not and if consensus was reached\n //returns the last address recovered, in case of timeout this must be the sender's address\n function verifySignatures(\n uint8[] sigV,\n bytes32[] sigR,\n bytes32[] sigS,\n bytes32 scriptHash,\n address[] destinations,\n uint256[]amounts\n )\n private\n returns (address)\n {\n\n require(\n sigR.length == sigS.length && sigR.length == sigV.length, \n \"R,S,V length mismatch.\"\n );\n\n address lastAddress;\n\n // Follows ERC191 signature scheme: https://github.com/ethereum/EIPs/issues/191\n bytes32 txHash = keccak256(\n abi.encodePacked(\n \"\\x19Ethereum Signed Message:\\n32\",\n keccak256(\n abi.encodePacked(\n byte(0x19),\n byte(0),\n this,\n destinations,\n amounts,\n scriptHash\n )\n )\n )\n );\n\n for (uint i = 0; i < sigR.length; i++) {\n\n address recovered = ecrecover(\n txHash,\n sigV[i],\n sigR[i],\n sigS[i]\n );\n\n require(\n transactions[scriptHash].isOwner[recovered], \n \"Invalid signature\"\n );\n require(\n !transactions[scriptHash].voted[recovered], \n \"Same signature sent twice\"\n );\n transactions[scriptHash].voted[recovered] = true;\n lastAddress = recovered;\n }\n\n return lastAddress;\n }\n\n function isTimeLockExpired(\n uint32 timeoutHours,\n uint256 lastModified\n )\n private\n view\n returns (bool)\n {\n uint256 timeSince = now.sub(lastModified);\n return (\n timeoutHours == 0 ? false:timeSince > uint256(timeoutHours).mul(3600)\n );\n }\n\n /**\n * Private method to add transaction to reduce code redundancy\n */\n function _addTransaction(\n address buyer,\n address seller,\n address moderator,\n uint8 threshold,\n uint32 timeoutHours,\n bytes32 scriptHash,\n uint256 value,\n bytes20 uniqueId,\n TransactionType transactionType,\n address tokenAddress\n )\n private\n { \n require(buyer != seller, \"Buyer and seller are same\");\n\n //value passed should be greater than 0\n require(value > 0, \"Value passed is 0\");\n\n // For now allowing 0 moderator to support 1-2 multisig wallet\n require(\n threshold > 0 && threshold <= 3, \n \"Threshold cannot be greater than 3 and must be greater than 0\"\n );\n\n //if threshold is 1 then moderator can be passed as zero address or any other address\n //(it won't matter apart from scripthash since we wont add moderator as one of the owner),\n //otherwise moderator should be a valid address\n require(\n threshold == 1 || moderator != address(0),\n \"Either threshold should be 1 or valid moderator address should be passed\"\n );\n\n require(\n scriptHash == calculateRedeemScriptHash(\n uniqueId,\n threshold,\n timeoutHours,\n buyer,\n seller,\n moderator,\n tokenAddress\n ), \n \"Calculated script hash does not match passed script hash.\"\n );\n\n transactions[scriptHash] = Transaction({\n buyer: buyer,\n seller: seller,\n moderator: moderator,\n value: value,\n status: Status.FUNDED,\n lastModified: block.timestamp,\n threshold: threshold,\n timeoutHours: timeoutHours,\n transactionType:transactionType,\n tokenAddress:tokenAddress\n });\n\n transactions[scriptHash].isOwner[seller] = true;\n transactions[scriptHash].isOwner[buyer] = true; \n\n //Check if buyer or seller are not passed as moderator\n require(\n !transactions[scriptHash].isOwner[moderator], \n \"Either buyer or seller is passed as moderator\"\n );\n\n //set moderator as one of the owners only if threshold is greater than 1 otherwise only buyer and seller should be able to release funds\n if (threshold > 1) {\n transactions[scriptHash].isOwner[moderator] = true;\n }\n \n\n transactionCount++;\n\n partyVsTransaction[buyer].push(scriptHash);\n partyVsTransaction[seller].push(scriptHash);\n }\n}\n", "sourcePath": "/home/sameep/freelancing-projects/toptal/open baazar/publicRepo/smart-contracts/contracts/escrow/Escrow_v1_0.sol", "ast": { "absolutePath": "/home/sameep/freelancing-projects/toptal/open baazar/publicRepo/smart-contracts/contracts/escrow/Escrow_v1_0.sol", "exportedSymbols": { "Escrow_v1_0": [ - 1211 + 1205 ] }, - "id": 1212, + "id": 1206, "nodeType": "SourceUnit", "nodes": [ { @@ -449,8 +449,8 @@ "file": "openzeppelin-solidity/contracts/math/SafeMath.sol", "id": 2, "nodeType": "ImportDirective", - "scope": 1212, - "sourceUnit": 1370, + "scope": 1206, + "sourceUnit": 1364, "src": "25:59:0", "symbolAliases": [], "unitAlias": "" @@ -460,8 +460,8 @@ "file": "../token/ITokenContract.sol", "id": 3, "nodeType": "ImportDirective", - "scope": 1212, - "sourceUnit": 1242, + "scope": 1206, + "sourceUnit": 1236, "src": "86:37:0", "symbolAliases": [], "unitAlias": "" @@ -472,9 +472,9 @@ "contractKind": "contract", "documentation": "@dev Supports ERC20 tokens\nThe escrow smart contract for the open bazaar trades in Ethereum\nThe smart contract is designed keeping in mind the current wallet interface of the OB-core\nhttps://github.com/OpenBazaar/wallet-interface/blob/master/wallet.go\nCurrent wallet interface strictly adheres to UTXO(bitcoin) model", "fullyImplemented": true, - "id": 1211, + "id": 1205, "linearizedBaseContracts": [ - 1211 + 1205 ], "name": "Escrow_v1_0", "nodeType": "ContractDefinition", @@ -486,10 +486,10 @@ "id": 4, "name": "SafeMath", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1369, + "referencedDeclaration": 1363, "src": "494:8:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$1369", + "typeIdentifier": "t_contract$_SafeMath_$1363", "typeString": "library SafeMath" } }, @@ -1262,7 +1262,7 @@ ], "name": "Transaction", "nodeType": "StructDefinition", - "scope": 1211, + "scope": 1205, "src": "958:597:0", "visibility": "public" }, @@ -1271,7 +1271,7 @@ "id": 75, "name": "transactions", "nodeType": "VariableDeclaration", - "scope": 1211, + "scope": 1205, "src": "1561:51:0", "stateVariable": true, "storageLocation": "default", @@ -1318,7 +1318,7 @@ "id": 78, "name": "transactionCount", "nodeType": "VariableDeclaration", - "scope": 1211, + "scope": 1205, "src": "1619:35:0", "stateVariable": true, "storageLocation": "default", @@ -1361,7 +1361,7 @@ "id": 83, "name": "partyVsTransaction", "nodeType": "VariableDeclaration", - "scope": 1211, + "scope": 1205, "src": "1733:55:0", "stateVariable": true, "storageLocation": "default", @@ -1548,10 +1548,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1387, - 1388 + 1381, + 1382 ], - "referencedDeclaration": 1388, + "referencedDeclaration": 1382, "src": "1851:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -1760,10 +1760,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1387, - 1388 + 1381, + 1382 ], - "referencedDeclaration": 1388, + "referencedDeclaration": 1382, "src": "2034:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -1983,10 +1983,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1387, - 1388 + 1381, + 1382 ], - "referencedDeclaration": 1388, + "referencedDeclaration": 1382, "src": "2176:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -2190,10 +2190,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1387, - 1388 + 1381, + 1382 ], - "referencedDeclaration": 1388, + "referencedDeclaration": 1382, "src": "2375:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -2397,10 +2397,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1387, - 1388 + 1381, + 1382 ], - "referencedDeclaration": 1388, + "referencedDeclaration": 1382, "src": "2578:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -2529,7 +2529,7 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1384, + "referencedDeclaration": 1378, "src": "2797:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", @@ -2648,10 +2648,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1387, - 1388 + 1381, + 1382 ], - "referencedDeclaration": 1388, + "referencedDeclaration": 1382, "src": "2776:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -2819,7 +2819,7 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1384, + "referencedDeclaration": 1378, "src": "4229:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", @@ -2986,7 +2986,7 @@ "name": "_addTransaction", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1210, + "referencedDeclaration": 1204, "src": "4065:15:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_address_$_t_uint8_$_t_uint32_$_t_bytes32_$_t_uint256_$_t_bytes20_$_t_enum$_TransactionType_$12_$_t_address_$returns$__$", @@ -3036,7 +3036,7 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1384, + "referencedDeclaration": 1378, "src": "4372:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", @@ -3065,7 +3065,7 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1384, + "referencedDeclaration": 1378, "src": "4384:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", @@ -3437,7 +3437,7 @@ "parameters": [], "src": "4055:0:0" }, - "scope": 1211, + "scope": 1205, "src": "3701:701:0", "stateMutability": "payable", "superFunction": null, @@ -3647,7 +3647,7 @@ "name": "_addTransaction", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1210, + "referencedDeclaration": 1204, "src": "5780:15:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_address_$_t_uint8_$_t_uint32_$_t_bytes32_$_t_uint256_$_t_bytes20_$_t_enum$_TransactionType_$12_$_t_address_$returns$__$", @@ -3687,7 +3687,7 @@ "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenContract_$1241", + "typeIdentifier": "t_contract$_ITokenContract_$1235", "typeString": "contract ITokenContract" }, "typeName": { @@ -3695,10 +3695,10 @@ "id": 281, "name": "ITokenContract", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1241, + "referencedDeclaration": 1235, "src": "6053:14:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenContract_$1241", + "typeIdentifier": "t_contract$_ITokenContract_$1235", "typeString": "contract ITokenContract" } }, @@ -3735,10 +3735,10 @@ "name": "ITokenContract", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1241, + "referencedDeclaration": 1235, "src": "6076:14:0", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ITokenContract_$1241_$", + "typeIdentifier": "t_type$_t_contract$_ITokenContract_$1235_$", "typeString": "type(contract ITokenContract)" } }, @@ -3752,7 +3752,7 @@ "nodeType": "FunctionCall", "src": "6076:28:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenContract_$1241", + "typeIdentifier": "t_contract$_ITokenContract_$1235", "typeString": "contract ITokenContract" } }, @@ -3774,7 +3774,7 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1384, + "referencedDeclaration": 1378, "src": "6155:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", @@ -3801,10 +3801,10 @@ "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1401, + "referencedDeclaration": 1395, "src": "6167:4:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_Escrow_v1_0_$1211", + "typeIdentifier": "t_contract$_Escrow_v1_0_$1205", "typeString": "contract Escrow_v1_0" } }, @@ -3829,7 +3829,7 @@ "typeString": "address" }, { - "typeIdentifier": "t_contract$_Escrow_v1_0_$1211", + "typeIdentifier": "t_contract$_Escrow_v1_0_$1205", "typeString": "contract Escrow_v1_0" }, { @@ -3846,7 +3846,7 @@ "referencedDeclaration": 282, "src": "6136:5:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenContract_$1241", + "typeIdentifier": "t_contract$_ITokenContract_$1235", "typeString": "contract ITokenContract" } }, @@ -3857,7 +3857,7 @@ "lValueRequested": false, "memberName": "transferFrom", "nodeType": "MemberAccess", - "referencedDeclaration": 1240, + "referencedDeclaration": 1234, "src": "6136:18:0", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", @@ -3912,10 +3912,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1387, - 1388 + 1381, + 1382 ], - "referencedDeclaration": 1388, + "referencedDeclaration": 1382, "src": "6115:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -3965,7 +3965,7 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1384, + "referencedDeclaration": 1378, "src": "6332:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", @@ -4435,7 +4435,7 @@ "parameters": [], "src": "5769:0:0" }, - "scope": 1211, + "scope": 1205, "src": "5336:1021:0", "stateMutability": "nonpayable", "superFunction": null, @@ -4639,7 +4639,7 @@ ], "src": "6733:6:0" }, - "scope": 1211, + "scope": 1205, "src": "6598:221:0", "stateMutability": "view", "superFunction": null, @@ -4843,7 +4843,7 @@ ], "src": "7181:6:0" }, - "scope": 1211, + "scope": 1205, "src": "7059:194:0", "stateMutability": "view", "superFunction": null, @@ -4851,75 +4851,10 @@ }, { "body": { - "id": 399, + "id": 397, "nodeType": "Block", - "src": "7856:330:0", + "src": "7856:303:0", "statements": [ - { - "assignments": [ - 360 - ], - "declarations": [ - { - "constant": false, - "id": 360, - "name": "_value", - "nodeType": "VariableDeclaration", - "scope": 400, - "src": "7866:14:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 359, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7866:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 363, - "initialValue": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 361, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1384, - "src": "7883:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 362, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "value", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7883:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "7866:26:0" - }, { "expression": { "argumentTypes": null, @@ -4930,19 +4865,35 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 367, + "id": 363, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 365, - "name": "_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 360, - "src": "7911:6:0", + "expression": { + "argumentTypes": null, + "id": 360, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1378, + "src": "7875:3:0", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 361, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "value", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "7875:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4953,14 +4904,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 366, + "id": 362, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "7920:1:0", + "src": "7887:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -4968,7 +4919,7 @@ }, "value": "0" }, - "src": "7911:10:0", + "src": "7875:13:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -4977,14 +4928,14 @@ { "argumentTypes": null, "hexValue": "56616c7565206d7573742062652067726561746572207468616e207a65726f2e", - "id": 368, + "id": 364, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "7923:34:0", + "src": "7890:34:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_21fbec2be6560b9ccffc4980d43c0d147770168e7aaf24999b418b9010085622", @@ -5004,21 +4955,21 @@ "typeString": "literal_string \"Value must be greater than zero.\"" } ], - "id": 364, + "id": 359, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1387, - 1388 + 1381, + 1382 ], - "referencedDeclaration": 1388, - "src": "7903:7:0", + "referencedDeclaration": 1382, + "src": "7867:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 369, + "id": 365, "isConstant": false, "isLValue": false, "isPure": false, @@ -5026,20 +4977,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7903:55:0", + "src": "7867:58:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 370, + "id": 366, "nodeType": "ExpressionStatement", - "src": "7903:55:0" + "src": "7867:58:0" }, { "expression": { "argumentTypes": null, - "id": 382, + "id": 379, "isConstant": false, "isLValue": false, "isPure": false, @@ -5050,26 +5001,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 371, + "id": 367, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "7969:12:0", + "src": "7936:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 373, + "id": 369, "indexExpression": { "argumentTypes": null, - "id": 372, + "id": 368, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 342, - "src": "7982:10:0", + "src": "7949:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -5080,13 +5031,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "7969:24:0", + "src": "7936:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 374, + "id": 370, "isConstant": false, "isLValue": true, "isPure": false, @@ -5094,7 +5045,7 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": 40, - "src": "7969:30:0", + "src": "7936:30:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5107,12 +5058,28 @@ "arguments": [ { "argumentTypes": null, - "id": 380, - "name": "_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 360, - "src": "8050:6:0", + "expression": { + "argumentTypes": null, + "id": 376, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1378, + "src": "8017:3:0", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 377, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "value", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "8017:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5132,26 +5099,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 375, + "id": 371, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "8002:12:0", + "src": "7969:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 377, + "id": 373, "indexExpression": { "argumentTypes": null, - "id": 376, + "id": 372, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 342, - "src": "8015:10:0", + "src": "7982:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -5162,13 +5129,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "8002:24:0", + "src": "7969:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 378, + "id": 374, "isConstant": false, "isLValue": true, "isPure": false, @@ -5176,27 +5143,27 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": 40, - "src": "8002:30:0", + "src": "7969:30:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 379, + "id": 375, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 1348, - "src": "8002:47:0", + "referencedDeclaration": 1342, + "src": "7969:47:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 381, + "id": 378, "isConstant": false, "isLValue": false, "isPure": false, @@ -5204,26 +5171,26 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8002:55:0", + "src": "7969:58:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "7969:88:0", + "src": "7936:91:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 383, + "id": 380, "nodeType": "ExpressionStatement", - "src": "7969:88:0" + "src": "7936:91:0" }, { "expression": { "argumentTypes": null, - "id": 390, + "id": 387, "isConstant": false, "isLValue": false, "isPure": false, @@ -5234,26 +5201,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 384, + "id": 381, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "8067:12:0", + "src": "8037:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 386, + "id": 383, "indexExpression": { "argumentTypes": null, - "id": 385, + "id": 382, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 342, - "src": "8080:10:0", + "src": "8050:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -5264,13 +5231,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "8067:24:0", + "src": "8037:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 387, + "id": 384, "isConstant": false, "isLValue": true, "isPure": false, @@ -5278,7 +5245,7 @@ "memberName": "lastModified", "nodeType": "MemberAccess", "referencedDeclaration": 42, - "src": "8067:37:0", + "src": "8037:37:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5290,18 +5257,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 388, + "id": 385, "name": "block", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1374, - "src": "8107:5:0", + "referencedDeclaration": 1368, + "src": "8077:5:0", "typeDescriptions": { "typeIdentifier": "t_magic_block", "typeString": "block" } }, - "id": 389, + "id": 386, "isConstant": false, "isLValue": false, "isPure": false, @@ -5309,21 +5276,21 @@ "memberName": "timestamp", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "8107:15:0", + "src": "8077:15:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "8067:55:0", + "src": "8037:55:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 391, + "id": 388, "nodeType": "ExpressionStatement", - "src": "8067:55:0" + "src": "8037:55:0" }, { "eventCall": { @@ -5331,12 +5298,12 @@ "arguments": [ { "argumentTypes": null, - "id": 393, + "id": 390, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 342, - "src": "8148:10:0", + "src": "8118:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -5346,18 +5313,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 394, + "id": 391, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1384, - "src": "8160:3:0", + "referencedDeclaration": 1378, + "src": "8130:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 395, + "id": 392, "isConstant": false, "isLValue": false, "isPure": false, @@ -5365,7 +5332,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "8160:10:0", + "src": "8130:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -5373,12 +5340,28 @@ }, { "argumentTypes": null, - "id": 396, - "name": "_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 360, - "src": "8172:6:0", + "expression": { + "argumentTypes": null, + "id": 393, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1378, + "src": "8142:3:0", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 394, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "value", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "8142:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5400,18 +5383,18 @@ "typeString": "uint256" } ], - "id": 392, + "id": 389, "name": "FundAdded", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 30, - "src": "8138:9:0", + "src": "8108:9:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (bytes32,address,uint256)" } }, - "id": 397, + "id": 395, "isConstant": false, "isLValue": false, "isPure": false, @@ -5419,20 +5402,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8138:41:0", + "src": "8108:44:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 398, + "id": 396, "nodeType": "EmitStatement", - "src": "8133:46:0" + "src": "8103:49:0" } ] }, "documentation": "@dev Allows buyer of the transaction to add more funds(ether) in the transaction. \nThis will help to cater scenarios wherein initially buyer missed to fund transaction as required\n@param scriptHash script hash of the transaction\nOnly buyer of the transaction can invoke this method", - "id": 400, + "id": 398, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -5610,7 +5593,7 @@ "id": 342, "name": "scriptHash", "nodeType": "VariableDeclaration", - "scope": 400, + "scope": 398, "src": "7620:18:0", "stateVariable": false, "storageLocation": "default", @@ -5641,67 +5624,18 @@ "parameters": [], "src": "7856:0:0" }, - "scope": 1211, - "src": "7580:606:0", + "scope": 1205, + "src": "7580:579:0", "stateMutability": "payable", "superFunction": null, "visibility": "external" }, { "body": { - "id": 482, + "id": 476, "nodeType": "Block", - "src": "8789:648:0", + "src": "8762:613:0", "statements": [ - { - "assignments": [ - 422 - ], - "declarations": [ - { - "constant": false, - "id": 422, - "name": "_value", - "nodeType": "VariableDeclaration", - "scope": 483, - "src": "8799:14:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 421, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8799:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 424, - "initialValue": { - "argumentTypes": null, - "id": 423, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 404, - "src": "8816:5:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "8799:22:0" - }, { "expression": { "argumentTypes": null, @@ -5712,19 +5646,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 428, + "id": 422, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 426, - "name": "_value", + "id": 420, + "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 422, - "src": "8840:6:0", + "referencedDeclaration": 402, + "src": "8781:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5735,14 +5669,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 427, + "id": 421, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "8849:1:0", + "src": "8789:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -5750,7 +5684,7 @@ }, "value": "0" }, - "src": "8840:10:0", + "src": "8781:9:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -5759,14 +5693,14 @@ { "argumentTypes": null, "hexValue": "56616c7565206d7573742062652067726561746572207468616e207a65726f2e", - "id": 429, + "id": 423, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "8852:34:0", + "src": "8792:34:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_21fbec2be6560b9ccffc4980d43c0d147770168e7aaf24999b418b9010085622", @@ -5786,21 +5720,21 @@ "typeString": "literal_string \"Value must be greater than zero.\"" } ], - "id": 425, + "id": 419, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1387, - 1388 + 1381, + 1382 ], - "referencedDeclaration": 1388, - "src": "8832:7:0", + "referencedDeclaration": 1382, + "src": "8773:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 430, + "id": 424, "isConstant": false, "isLValue": false, "isPure": false, @@ -5808,43 +5742,43 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8832:55:0", + "src": "8773:54:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 431, + "id": 425, "nodeType": "ExpressionStatement", - "src": "8832:55:0" + "src": "8773:54:0" }, { "assignments": [ - 433 + 427 ], "declarations": [ { "constant": false, - "id": 433, + "id": 427, "name": "token", "nodeType": "VariableDeclaration", - "scope": 483, - "src": "8898:20:0", + "scope": 477, + "src": "8838:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenContract_$1241", + "typeIdentifier": "t_contract$_ITokenContract_$1235", "typeString": "contract ITokenContract" }, "typeName": { "contractScope": null, - "id": 432, + "id": 426, "name": "ITokenContract", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1241, - "src": "8898:14:0", + "referencedDeclaration": 1235, + "src": "8838:14:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenContract_$1241", + "typeIdentifier": "t_contract$_ITokenContract_$1235", "typeString": "contract ITokenContract" } }, @@ -5852,7 +5786,7 @@ "visibility": "internal" } ], - "id": 440, + "id": 434, "initialValue": { "argumentTypes": null, "arguments": [ @@ -5862,26 +5796,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 435, + "id": 429, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "8949:12:0", + "src": "8889:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 437, + "id": 431, "indexExpression": { "argumentTypes": null, - "id": 436, + "id": 430, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 402, - "src": "8962:10:0", + "referencedDeclaration": 400, + "src": "8902:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -5892,13 +5826,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "8949:24:0", + "src": "8889:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 438, + "id": 432, "isConstant": false, "isLValue": true, "isPure": false, @@ -5906,7 +5840,7 @@ "memberName": "tokenAddress", "nodeType": "MemberAccess", "referencedDeclaration": 56, - "src": "8949:37:0", + "src": "8889:37:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -5920,18 +5854,18 @@ "typeString": "address" } ], - "id": 434, + "id": 428, "name": "ITokenContract", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1241, - "src": "8921:14:0", + "referencedDeclaration": 1235, + "src": "8861:14:0", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ITokenContract_$1241_$", + "typeIdentifier": "t_type$_t_contract$_ITokenContract_$1235_$", "typeString": "type(contract ITokenContract)" } }, - "id": 439, + "id": 433, "isConstant": false, "isLValue": false, "isPure": false, @@ -5939,14 +5873,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8921:75:0", + "src": "8861:75:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenContract_$1241", + "typeIdentifier": "t_contract$_ITokenContract_$1235", "typeString": "contract ITokenContract" } }, "nodeType": "VariableDeclarationStatement", - "src": "8898:98:0" + "src": "8838:98:0" }, { "expression": { @@ -5961,26 +5895,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 444, + "id": 438, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "9047:12:0", + "src": "8987:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 446, + "id": 440, "indexExpression": { "argumentTypes": null, - "id": 445, + "id": 439, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 402, - "src": "9060:10:0", + "referencedDeclaration": 400, + "src": "9000:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -5991,13 +5925,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "9047:24:0", + "src": "8987:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 447, + "id": 441, "isConstant": false, "isLValue": true, "isPure": false, @@ -6005,7 +5939,7 @@ "memberName": "buyer", "nodeType": "MemberAccess", "referencedDeclaration": 52, - "src": "9047:30:0", + "src": "8987:30:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -6013,25 +5947,25 @@ }, { "argumentTypes": null, - "id": 448, + "id": 442, "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1401, - "src": "9079:4:0", + "referencedDeclaration": 1395, + "src": "9019:4:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_Escrow_v1_0_$1211", + "typeIdentifier": "t_contract$_Escrow_v1_0_$1205", "typeString": "contract Escrow_v1_0" } }, { "argumentTypes": null, - "id": 449, + "id": 443, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 404, - "src": "9085:5:0", + "referencedDeclaration": 402, + "src": "9025:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6045,7 +5979,7 @@ "typeString": "address" }, { - "typeIdentifier": "t_contract$_Escrow_v1_0_$1211", + "typeIdentifier": "t_contract$_Escrow_v1_0_$1205", "typeString": "contract Escrow_v1_0" }, { @@ -6055,32 +5989,32 @@ ], "expression": { "argumentTypes": null, - "id": 442, + "id": 436, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 433, - "src": "9028:5:0", + "referencedDeclaration": 427, + "src": "8968:5:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenContract_$1241", + "typeIdentifier": "t_contract$_ITokenContract_$1235", "typeString": "contract ITokenContract" } }, - "id": 443, + "id": 437, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "transferFrom", "nodeType": "MemberAccess", - "referencedDeclaration": 1240, - "src": "9028:18:0", + "referencedDeclaration": 1234, + "src": "8968:18:0", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", "typeString": "function (address,address,uint256) external returns (bool)" } }, - "id": 450, + "id": 444, "isConstant": false, "isLValue": false, "isPure": false, @@ -6088,7 +6022,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "9028:63:0", + "src": "8968:63:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -6097,14 +6031,14 @@ { "argumentTypes": null, "hexValue": "546f6b656e207472616e73666572206661696c65642c206d6179626520796f7520646964206e6f7420617070726f766520657363726f7720636f6e747261637420746f207370656e64206f6e20626568616c66206f66206275796572", - "id": 451, + "id": 445, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "9105:94:0", + "src": "9045:94:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_d9d07068d589bc4adc53018a3c57c159ec128fdfb62732a5fa9410e76cf03318", @@ -6124,21 +6058,21 @@ "typeString": "literal_string \"Token transfer failed, maybe you did not approve escrow contract to spend on behalf of buyer\"" } ], - "id": 441, + "id": 435, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1387, - 1388 + 1381, + 1382 ], - "referencedDeclaration": 1388, - "src": "9007:7:0", + "referencedDeclaration": 1382, + "src": "8947:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 452, + "id": 446, "isConstant": false, "isLValue": false, "isPure": false, @@ -6146,20 +6080,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "9007:202:0", + "src": "8947:202:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 453, + "id": 447, "nodeType": "ExpressionStatement", - "src": "9007:202:0" + "src": "8947:202:0" }, { "expression": { "argumentTypes": null, - "id": 465, + "id": 459, "isConstant": false, "isLValue": false, "isPure": false, @@ -6170,26 +6104,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 454, + "id": 448, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "9220:12:0", + "src": "9160:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 456, + "id": 450, "indexExpression": { "argumentTypes": null, - "id": 455, + "id": 449, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 402, - "src": "9233:10:0", + "referencedDeclaration": 400, + "src": "9173:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -6200,13 +6134,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "9220:24:0", + "src": "9160:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 457, + "id": 451, "isConstant": false, "isLValue": true, "isPure": false, @@ -6214,7 +6148,7 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": 40, - "src": "9220:30:0", + "src": "9160:30:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6227,12 +6161,12 @@ "arguments": [ { "argumentTypes": null, - "id": 463, - "name": "_value", + "id": 457, + "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 422, - "src": "9301:6:0", + "referencedDeclaration": 402, + "src": "9241:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6252,26 +6186,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 458, + "id": 452, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "9253:12:0", + "src": "9193:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 460, + "id": 454, "indexExpression": { "argumentTypes": null, - "id": 459, + "id": 453, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 402, - "src": "9266:10:0", + "referencedDeclaration": 400, + "src": "9206:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -6282,13 +6216,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "9253:24:0", + "src": "9193:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 461, + "id": 455, "isConstant": false, "isLValue": true, "isPure": false, @@ -6296,27 +6230,27 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": 40, - "src": "9253:30:0", + "src": "9193:30:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 462, + "id": 456, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 1348, - "src": "9253:47:0", + "referencedDeclaration": 1342, + "src": "9193:47:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 464, + "id": 458, "isConstant": false, "isLValue": false, "isPure": false, @@ -6324,26 +6258,26 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "9253:55:0", + "src": "9193:54:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "9220:88:0", + "src": "9160:87:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 466, + "id": 460, "nodeType": "ExpressionStatement", - "src": "9220:88:0" + "src": "9160:87:0" }, { "expression": { "argumentTypes": null, - "id": 473, + "id": 467, "isConstant": false, "isLValue": false, "isPure": false, @@ -6354,26 +6288,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 467, + "id": 461, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "9318:12:0", + "src": "9257:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 469, + "id": 463, "indexExpression": { "argumentTypes": null, - "id": 468, + "id": 462, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 402, - "src": "9331:10:0", + "referencedDeclaration": 400, + "src": "9270:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -6384,13 +6318,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "9318:24:0", + "src": "9257:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 470, + "id": 464, "isConstant": false, "isLValue": true, "isPure": false, @@ -6398,7 +6332,7 @@ "memberName": "lastModified", "nodeType": "MemberAccess", "referencedDeclaration": 42, - "src": "9318:37:0", + "src": "9257:37:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6410,18 +6344,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 471, + "id": 465, "name": "block", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1374, - "src": "9358:5:0", + "referencedDeclaration": 1368, + "src": "9297:5:0", "typeDescriptions": { "typeIdentifier": "t_magic_block", "typeString": "block" } }, - "id": 472, + "id": 466, "isConstant": false, "isLValue": false, "isPure": false, @@ -6429,21 +6363,21 @@ "memberName": "timestamp", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "9358:15:0", + "src": "9297:15:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "9318:55:0", + "src": "9257:55:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 474, + "id": 468, "nodeType": "ExpressionStatement", - "src": "9318:55:0" + "src": "9257:55:0" }, { "eventCall": { @@ -6451,12 +6385,12 @@ "arguments": [ { "argumentTypes": null, - "id": 476, + "id": 470, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 402, - "src": "9399:10:0", + "referencedDeclaration": 400, + "src": "9338:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -6466,18 +6400,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 477, + "id": 471, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1384, - "src": "9411:3:0", + "referencedDeclaration": 1378, + "src": "9350:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 478, + "id": 472, "isConstant": false, "isLValue": false, "isPure": false, @@ -6485,7 +6419,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "9411:10:0", + "src": "9350:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -6493,12 +6427,12 @@ }, { "argumentTypes": null, - "id": 479, - "name": "_value", + "id": 473, + "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 422, - "src": "9423:6:0", + "referencedDeclaration": 402, + "src": "9362:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6520,18 +6454,18 @@ "typeString": "uint256" } ], - "id": 475, + "id": 469, "name": "FundAdded", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 30, - "src": "9389:9:0", + "src": "9328:9:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (bytes32,address,uint256)" } }, - "id": 480, + "id": 474, "isConstant": false, "isLValue": false, "isPure": false, @@ -6539,20 +6473,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "9389:41:0", + "src": "9328:40:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 481, + "id": 475, "nodeType": "EmitStatement", - "src": "9384:46:0" + "src": "9323:45:0" } ] }, "documentation": "@dev Allows buyer of the transaction to add more funds(Tokens) in the transaction. \nThis will help to cater scenarios wherein initially buyer missed to fund transaction as required\n@param scriptHash script hash of the transaction\nOnly buyer of the transaction can invoke this method", - "id": 483, + "id": 477, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -6561,78 +6495,78 @@ "arguments": [ { "argumentTypes": null, - "id": 407, + "id": 405, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 402, - "src": "8645:10:0", + "referencedDeclaration": 400, + "src": "8618:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } } ], - "id": 408, + "id": 406, "modifierName": { "argumentTypes": null, - "id": 406, + "id": 404, "name": "transactionExist", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 99, - "src": "8628:16:0", + "src": "8601:16:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "8628:28:0" + "src": "8601:28:0" }, { "arguments": [ { "argumentTypes": null, - "id": 410, + "id": 408, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 402, - "src": "8679:10:0", + "referencedDeclaration": 400, + "src": "8652:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } } ], - "id": 411, + "id": 409, "modifierName": { "argumentTypes": null, - "id": 409, + "id": 407, "name": "inFundedState", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 132, - "src": "8665:13:0", + "src": "8638:13:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "8665:25:0" + "src": "8638:25:0" }, { "arguments": [ { "argumentTypes": null, - "id": 413, + "id": 411, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 402, - "src": "8720:10:0", + "referencedDeclaration": 400, + "src": "8693:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -6642,18 +6576,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 414, + "id": 412, "name": "TransactionType", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12, - "src": "8732:15:0", + "src": "8705:15:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_TransactionType_$12_$", "typeString": "type(enum Escrow_v1_0.TransactionType)" } }, - "id": 415, + "id": 413, "isConstant": false, "isLValue": false, "isPure": true, @@ -6661,77 +6595,77 @@ "memberName": "TOKEN", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "8732:21:0", + "src": "8705:21:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" } } ], - "id": 416, + "id": 414, "modifierName": { "argumentTypes": null, - "id": 412, + "id": 410, "name": "checkTransactionType", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 165, - "src": "8699:20:0", + "src": "8672:20:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$_t_enum$_TransactionType_$12_$", "typeString": "modifier (bytes32,enum Escrow_v1_0.TransactionType)" } }, "nodeType": "ModifierInvocation", - "src": "8699:55:0" + "src": "8672:55:0" }, { "arguments": [ { "argumentTypes": null, - "id": 418, + "id": 416, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 402, - "src": "8773:10:0", + "referencedDeclaration": 400, + "src": "8746:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } } ], - "id": 419, + "id": 417, "modifierName": { "argumentTypes": null, - "id": 417, + "id": 415, "name": "onlyBuyer", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 182, - "src": "8763:9:0", + "src": "8736:9:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "8763:21:0" + "src": "8736:21:0" } ], "name": "addTokensToTransaction", "nodeType": "FunctionDefinition", "parameters": { - "id": 405, + "id": 403, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 402, + "id": 400, "name": "scriptHash", "nodeType": "VariableDeclaration", - "scope": 483, - "src": "8555:18:0", + "scope": 477, + "src": "8528:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6739,10 +6673,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 401, + "id": 399, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "8555:7:0", + "src": "8528:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -6753,11 +6687,11 @@ }, { "constant": false, - "id": 404, + "id": 402, "name": "value", "nodeType": "VariableDeclaration", - "scope": 483, - "src": "8583:13:0", + "scope": 477, + "src": "8556:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6765,10 +6699,10 @@ "typeString": "uint256" }, "typeName": { - "id": 403, + "id": 401, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "8583:7:0", + "src": "8556:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6778,52 +6712,52 @@ "visibility": "internal" } ], - "src": "8545:57:0" + "src": "8518:57:0" }, "payable": false, "returnParameters": { - "id": 420, + "id": 418, "nodeType": "ParameterList", "parameters": [], - "src": "8789:0:0" + "src": "8762:0:0" }, - "scope": 1211, - "src": "8514:923:0", + "scope": 1205, + "src": "8487:888:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" }, { "body": { - "id": 495, + "id": 489, "nodeType": "Block", - "src": "9692:56:0", + "src": "9630:56:0", "statements": [ { "expression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 491, + "id": 485, "name": "partyVsTransaction", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 83, - "src": "9709:18:0", + "src": "9647:18:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_bytes32_$dyn_storage_$", "typeString": "mapping(address => bytes32[] storage ref)" } }, - "id": 493, + "id": 487, "indexExpression": { "argumentTypes": null, - "id": 492, + "id": 486, "name": "partyAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 485, - "src": "9728:12:0", + "referencedDeclaration": 479, + "src": "9666:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -6834,21 +6768,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "9709:32:0", + "src": "9647:32:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage", "typeString": "bytes32[] storage ref" } }, - "functionReturnParameters": 490, - "id": 494, + "functionReturnParameters": 484, + "id": 488, "nodeType": "Return", - "src": "9702:39:0" + "src": "9640:39:0" } ] }, "documentation": "dev Returns all transaction ids for a party\nparam partyAddress Address of the party", - "id": 496, + "id": 490, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -6856,16 +6790,16 @@ "name": "getAllTransactionsForParty", "nodeType": "FunctionDefinition", "parameters": { - "id": 486, + "id": 480, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 485, + "id": 479, "name": "partyAddress", "nodeType": "VariableDeclaration", - "scope": 496, - "src": "9599:20:0", + "scope": 490, + "src": "9537:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6873,10 +6807,10 @@ "typeString": "address" }, "typeName": { - "id": 484, + "id": 478, "name": "address", "nodeType": "ElementaryTypeName", - "src": "9599:7:0", + "src": "9537:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -6886,20 +6820,20 @@ "visibility": "internal" } ], - "src": "9589:36:0" + "src": "9527:36:0" }, "payable": false, "returnParameters": { - "id": 490, + "id": 484, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 489, + "id": 483, "name": "", "nodeType": "VariableDeclaration", - "scope": 496, - "src": "9676:9:0", + "scope": 490, + "src": "9614:9:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6908,19 +6842,19 @@ }, "typeName": { "baseType": { - "id": 487, + "id": 481, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "9676:7:0", + "src": "9614:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "id": 488, + "id": 482, "length": null, "nodeType": "ArrayTypeName", - "src": "9676:9:0", + "src": "9614:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -6930,19 +6864,19 @@ "visibility": "internal" } ], - "src": "9675:11:0" + "src": "9613:11:0" }, - "scope": 1211, - "src": "9554:194:0", + "scope": 1205, + "src": "9492:194:0", "stateMutability": "view", "superFunction": null, "visibility": "external" }, { "body": { - "id": 581, + "id": 575, "nodeType": "Block", - "src": "10618:790:0", + "src": "10556:790:0", "statements": [ { "expression": { @@ -6954,7 +6888,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 532, + "id": 526, "isConstant": false, "isLValue": false, "isPure": false, @@ -6965,7 +6899,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 526, + "id": 520, "isConstant": false, "isLValue": false, "isPure": false, @@ -6974,18 +6908,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 523, + "id": 517, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 510, - "src": "10649:12:0", + "referencedDeclaration": 504, + "src": "10587:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" } }, - "id": 524, + "id": 518, "isConstant": false, "isLValue": false, "isPure": false, @@ -6993,7 +6927,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "10649:19:0", + "src": "10587:19:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7004,14 +6938,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 525, + "id": 519, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "10669:1:0", + "src": "10607:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -7019,7 +6953,7 @@ }, "value": "0" }, - "src": "10649:21:0", + "src": "10587:21:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -7033,7 +6967,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 531, + "id": 525, "isConstant": false, "isLValue": false, "isPure": false, @@ -7042,18 +6976,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 527, + "id": 521, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 510, - "src": "10674:12:0", + "referencedDeclaration": 504, + "src": "10612:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" } }, - "id": 528, + "id": 522, "isConstant": false, "isLValue": false, "isPure": false, @@ -7061,7 +6995,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "10674:19:0", + "src": "10612:19:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7073,18 +7007,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 529, + "id": 523, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 513, - "src": "10697:7:0", + "referencedDeclaration": 507, + "src": "10635:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", "typeString": "uint256[] calldata" } }, - "id": 530, + "id": 524, "isConstant": false, "isLValue": false, "isPure": false, @@ -7092,19 +7026,19 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "10697:14:0", + "src": "10635:14:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "10674:37:0", + "src": "10612:37:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "10649:62:0", + "src": "10587:62:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -7113,14 +7047,14 @@ { "argumentTypes": null, "hexValue": "4c656e677468206f662064657374696e6174696f6e7320697320696e636f72726563742e", - "id": 533, + "id": 527, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "10713:38:0", + "src": "10651:38:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_53e979b0c355ea1eeda44a80ca73370fdb2abe922711b459aa4ee43d1558782b", @@ -7140,21 +7074,21 @@ "typeString": "literal_string \"Length of destinations is incorrect.\"" } ], - "id": 522, + "id": 516, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1387, - 1388 + 1381, + 1382 ], - "referencedDeclaration": 1388, - "src": "10628:7:0", + "referencedDeclaration": 1382, + "src": "10566:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 534, + "id": 528, "isConstant": false, "isLValue": false, "isPure": false, @@ -7162,15 +7096,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "10628:133:0", + "src": "10566:133:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 535, + "id": 529, "nodeType": "ExpressionStatement", - "src": "10628:133:0" + "src": "10566:133:0" }, { "expression": { @@ -7178,12 +7112,12 @@ "arguments": [ { "argumentTypes": null, - "id": 537, + "id": 531, "name": "sigV", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 499, - "src": "10803:4:0", + "referencedDeclaration": 493, + "src": "10741:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_calldata_ptr", "typeString": "uint8[] calldata" @@ -7191,12 +7125,12 @@ }, { "argumentTypes": null, - "id": 538, + "id": 532, "name": "sigR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 502, - "src": "10821:4:0", + "referencedDeclaration": 496, + "src": "10759:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", "typeString": "bytes32[] calldata" @@ -7204,12 +7138,12 @@ }, { "argumentTypes": null, - "id": 539, + "id": 533, "name": "sigS", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 505, - "src": "10839:4:0", + "referencedDeclaration": 499, + "src": "10777:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", "typeString": "bytes32[] calldata" @@ -7217,12 +7151,12 @@ }, { "argumentTypes": null, - "id": 540, + "id": 534, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 507, - "src": "10857:10:0", + "referencedDeclaration": 501, + "src": "10795:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -7230,12 +7164,12 @@ }, { "argumentTypes": null, - "id": 541, + "id": 535, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 510, - "src": "10881:12:0", + "referencedDeclaration": 504, + "src": "10819:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" @@ -7243,12 +7177,12 @@ }, { "argumentTypes": null, - "id": 542, + "id": 536, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 513, - "src": "10907:7:0", + "referencedDeclaration": 507, + "src": "10845:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", "typeString": "uint256[] calldata" @@ -7282,18 +7216,18 @@ "typeString": "uint256[] calldata" } ], - "id": 536, + "id": 530, "name": "verifyTransaction", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 706, - "src": "10772:17:0", + "referencedDeclaration": 700, + "src": "10710:17:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_array$_t_uint8_$dyn_memory_ptr_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_bytes32_$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$__$", "typeString": "function (uint8[] memory,bytes32[] memory,bytes32[] memory,bytes32,address[] memory,uint256[] memory)" } }, - "id": 543, + "id": 537, "isConstant": false, "isLValue": false, "isPure": false, @@ -7301,20 +7235,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "10772:152:0", + "src": "10710:152:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 544, + "id": 538, "nodeType": "ExpressionStatement", - "src": "10772:152:0" + "src": "10710:152:0" }, { "expression": { "argumentTypes": null, - "id": 551, + "id": 545, "isConstant": false, "isLValue": false, "isPure": false, @@ -7325,26 +7259,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 545, + "id": 539, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "10935:12:0", + "src": "10873:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 547, + "id": 541, "indexExpression": { "argumentTypes": null, - "id": 546, + "id": 540, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 507, - "src": "10948:10:0", + "referencedDeclaration": 501, + "src": "10886:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -7355,13 +7289,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "10935:24:0", + "src": "10873:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 548, + "id": 542, "isConstant": false, "isLValue": true, "isPure": false, @@ -7369,7 +7303,7 @@ "memberName": "status", "nodeType": "MemberAccess", "referencedDeclaration": 44, - "src": "10935:31:0", + "src": "10873:31:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$9", "typeString": "enum Escrow_v1_0.Status" @@ -7381,18 +7315,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 549, + "id": 543, "name": "Status", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9, - "src": "10969:6:0", + "src": "10907:6:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_Status_$9_$", "typeString": "type(enum Escrow_v1_0.Status)" } }, - "id": 550, + "id": 544, "isConstant": false, "isLValue": false, "isPure": true, @@ -7400,26 +7334,26 @@ "memberName": "RELEASED", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "10969:15:0", + "src": "10907:15:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$9", "typeString": "enum Escrow_v1_0.Status" } }, - "src": "10935:49:0", + "src": "10873:49:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$9", "typeString": "enum Escrow_v1_0.Status" } }, - "id": 552, + "id": 546, "nodeType": "ExpressionStatement", - "src": "10935:49:0" + "src": "10873:49:0" }, { "expression": { "argumentTypes": null, - "id": 559, + "id": 553, "isConstant": false, "isLValue": false, "isPure": false, @@ -7430,26 +7364,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 553, + "id": 547, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "11068:12:0", + "src": "11006:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 555, + "id": 549, "indexExpression": { "argumentTypes": null, - "id": 554, + "id": 548, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 507, - "src": "11081:10:0", + "referencedDeclaration": 501, + "src": "11019:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -7460,13 +7394,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "11068:24:0", + "src": "11006:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 556, + "id": 550, "isConstant": false, "isLValue": true, "isPure": false, @@ -7474,7 +7408,7 @@ "memberName": "lastModified", "nodeType": "MemberAccess", "referencedDeclaration": 42, - "src": "11068:37:0", + "src": "11006:37:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7486,18 +7420,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 557, + "id": 551, "name": "block", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1374, - "src": "11108:5:0", + "referencedDeclaration": 1368, + "src": "11046:5:0", "typeDescriptions": { "typeIdentifier": "t_magic_block", "typeString": "block" } }, - "id": 558, + "id": 552, "isConstant": false, "isLValue": false, "isPure": false, @@ -7505,21 +7439,21 @@ "memberName": "timestamp", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "11108:15:0", + "src": "11046:15:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "11068:55:0", + "src": "11006:55:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 560, + "id": 554, "nodeType": "ExpressionStatement", - "src": "11068:55:0" + "src": "11006:55:0" }, { "expression": { @@ -7531,7 +7465,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 571, + "id": 565, "isConstant": false, "isLValue": false, "isPure": false, @@ -7541,12 +7475,12 @@ "arguments": [ { "argumentTypes": null, - "id": 563, + "id": 557, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 507, - "src": "11168:10:0", + "referencedDeclaration": 501, + "src": "11106:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -7554,12 +7488,12 @@ }, { "argumentTypes": null, - "id": 564, + "id": 558, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 510, - "src": "11180:12:0", + "referencedDeclaration": 504, + "src": "11118:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" @@ -7567,12 +7501,12 @@ }, { "argumentTypes": null, - "id": 565, + "id": 559, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 513, - "src": "11194:7:0", + "referencedDeclaration": 507, + "src": "11132:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", "typeString": "uint256[] calldata" @@ -7594,18 +7528,18 @@ "typeString": "uint256[] calldata" } ], - "id": 562, + "id": 556, "name": "transferFunds", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 893, - "src": "11154:13:0", + "referencedDeclaration": 887, + "src": "11092:13:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$_t_uint256_$", "typeString": "function (bytes32,address[] memory,uint256[] memory) returns (uint256)" } }, - "id": 566, + "id": 560, "isConstant": false, "isLValue": false, "isPure": false, @@ -7613,7 +7547,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "11154:48:0", + "src": "11092:48:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7627,26 +7561,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 567, + "id": 561, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "11206:12:0", + "src": "11144:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 569, + "id": 563, "indexExpression": { "argumentTypes": null, - "id": 568, + "id": 562, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 507, - "src": "11219:10:0", + "referencedDeclaration": 501, + "src": "11157:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -7657,13 +7591,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "11206:24:0", + "src": "11144:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 570, + "id": 564, "isConstant": false, "isLValue": true, "isPure": false, @@ -7671,13 +7605,13 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": 40, - "src": "11206:30:0", + "src": "11144:30:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "11154:82:0", + "src": "11092:82:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -7686,14 +7620,14 @@ { "argumentTypes": null, "hexValue": "546f74616c2076616c756520746f2062652072656c6561736564206d75737420626520657175616c20746f20746865207472616e73616374696f6e20657363726f772076616c7565", - "id": 572, + "id": 566, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "11250:74:0", + "src": "11188:74:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_9e0bdb14e2e0d5e118fd1f547268c6a1fdb5e8facacd614066d4b60bc2c9941d", @@ -7713,21 +7647,21 @@ "typeString": "literal_string \"Total value to be released must be equal to the transaction escrow value\"" } ], - "id": 561, + "id": 555, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1387, - 1388 + 1381, + 1382 ], - "referencedDeclaration": 1388, - "src": "11133:7:0", + "referencedDeclaration": 1382, + "src": "11071:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 573, + "id": 567, "isConstant": false, "isLValue": false, "isPure": false, @@ -7735,15 +7669,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "11133:201:0", + "src": "11071:201:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 574, + "id": 568, "nodeType": "ExpressionStatement", - "src": "11133:201:0" + "src": "11071:201:0" }, { "eventCall": { @@ -7751,12 +7685,12 @@ "arguments": [ { "argumentTypes": null, - "id": 576, + "id": 570, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 507, - "src": "11367:10:0", + "referencedDeclaration": 501, + "src": "11305:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -7764,12 +7698,12 @@ }, { "argumentTypes": null, - "id": 577, + "id": 571, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 510, - "src": "11379:12:0", + "referencedDeclaration": 504, + "src": "11317:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" @@ -7777,12 +7711,12 @@ }, { "argumentTypes": null, - "id": 578, + "id": 572, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 513, - "src": "11393:7:0", + "referencedDeclaration": 507, + "src": "11331:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", "typeString": "uint256[] calldata" @@ -7804,18 +7738,18 @@ "typeString": "uint256[] calldata" } ], - "id": 575, + "id": 569, "name": "Executed", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 22, - "src": "11358:8:0", + "src": "11296:8:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$__$", "typeString": "function (bytes32,address[] memory,uint256[] memory)" } }, - "id": 579, + "id": 573, "isConstant": false, "isLValue": false, "isPure": false, @@ -7823,20 +7757,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "11358:43:0", + "src": "11296:43:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 580, + "id": 574, "nodeType": "EmitStatement", - "src": "11353:48:0" + "src": "11291:48:0" } ] }, "documentation": "dev This method will be used to release funds associated with the transaction\nPlease see specs https://github.com/OpenBazaar/smart-contracts/blob/master/contracts/escrow/EscrowSpec.md\nparam sigV Array containing V component of all the signatures\nparam sigR Array containing R component of all the signatures\nparam signS Array containing S component of all the signatures\nparam scriptHash script hash of the transaction\nparam destinations List of addresses who will receive funds\nparam amounts amount released to each destination", - "id": 582, + "id": 576, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -7845,82 +7779,82 @@ "arguments": [ { "argumentTypes": null, - "id": 516, + "id": 510, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 507, - "src": "10568:10:0", + "referencedDeclaration": 501, + "src": "10506:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } } ], - "id": 517, + "id": 511, "modifierName": { "argumentTypes": null, - "id": 515, + "id": 509, "name": "transactionExist", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 99, - "src": "10551:16:0", + "src": "10489:16:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "10551:28:0" + "src": "10489:28:0" }, { "arguments": [ { "argumentTypes": null, - "id": 519, + "id": 513, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 507, - "src": "10602:10:0", + "referencedDeclaration": 501, + "src": "10540:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } } ], - "id": 520, + "id": 514, "modifierName": { "argumentTypes": null, - "id": 518, + "id": 512, "name": "inFundedState", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 132, - "src": "10588:13:0", + "src": "10526:13:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "10588:25:0" + "src": "10526:25:0" } ], "name": "execute", "nodeType": "FunctionDefinition", "parameters": { - "id": 514, + "id": 508, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 499, + "id": 493, "name": "sigV", "nodeType": "VariableDeclaration", - "scope": 582, - "src": "10372:12:0", + "scope": 576, + "src": "10310:12:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -7929,19 +7863,19 @@ }, "typeName": { "baseType": { - "id": 497, + "id": 491, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "10372:5:0", + "src": "10310:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, - "id": 498, + "id": 492, "length": null, "nodeType": "ArrayTypeName", - "src": "10372:7:0", + "src": "10310:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_storage_ptr", "typeString": "uint8[]" @@ -7952,11 +7886,11 @@ }, { "constant": false, - "id": 502, + "id": 496, "name": "sigR", "nodeType": "VariableDeclaration", - "scope": 582, - "src": "10394:14:0", + "scope": 576, + "src": "10332:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -7965,19 +7899,19 @@ }, "typeName": { "baseType": { - "id": 500, + "id": 494, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "10394:7:0", + "src": "10332:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "id": 501, + "id": 495, "length": null, "nodeType": "ArrayTypeName", - "src": "10394:9:0", + "src": "10332:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -7988,11 +7922,11 @@ }, { "constant": false, - "id": 505, + "id": 499, "name": "sigS", "nodeType": "VariableDeclaration", - "scope": 582, - "src": "10418:14:0", + "scope": 576, + "src": "10356:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8001,19 +7935,19 @@ }, "typeName": { "baseType": { - "id": 503, + "id": 497, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "10418:7:0", + "src": "10356:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "id": 504, + "id": 498, "length": null, "nodeType": "ArrayTypeName", - "src": "10418:9:0", + "src": "10356:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -8024,11 +7958,11 @@ }, { "constant": false, - "id": 507, + "id": 501, "name": "scriptHash", "nodeType": "VariableDeclaration", - "scope": 582, - "src": "10442:18:0", + "scope": 576, + "src": "10380:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8036,10 +7970,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 506, + "id": 500, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "10442:7:0", + "src": "10380:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -8050,11 +7984,11 @@ }, { "constant": false, - "id": 510, + "id": 504, "name": "destinations", "nodeType": "VariableDeclaration", - "scope": 582, - "src": "10470:22:0", + "scope": 576, + "src": "10408:22:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8063,19 +7997,19 @@ }, "typeName": { "baseType": { - "id": 508, + "id": 502, "name": "address", "nodeType": "ElementaryTypeName", - "src": "10470:7:0", + "src": "10408:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 509, + "id": 503, "length": null, "nodeType": "ArrayTypeName", - "src": "10470:9:0", + "src": "10408:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", "typeString": "address[]" @@ -8086,11 +8020,11 @@ }, { "constant": false, - "id": 513, + "id": 507, "name": "amounts", "nodeType": "VariableDeclaration", - "scope": 582, - "src": "10502:17:0", + "scope": 576, + "src": "10440:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8099,19 +8033,19 @@ }, "typeName": { "baseType": { - "id": 511, + "id": 505, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "10502:7:0", + "src": "10440:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 512, + "id": 506, "length": null, "nodeType": "ArrayTypeName", - "src": "10502:9:0", + "src": "10440:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -8121,26 +8055,26 @@ "visibility": "internal" } ], - "src": "10362:163:0" + "src": "10300:163:0" }, "payable": false, "returnParameters": { - "id": 521, + "id": 515, "nodeType": "ParameterList", "parameters": [], - "src": "10618:0:0" + "src": "10556:0:0" }, - "scope": 1211, - "src": "10346:1062:0", + "scope": 1205, + "src": "10284:1062:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" }, { "body": { - "id": 636, + "id": 630, "nodeType": "Block", - "src": "12162:716:0", + "src": "12100:716:0", "statements": [ { "condition": { @@ -8149,19 +8083,19 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 605, + "id": 599, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 601, + "id": 595, "name": "tokenAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 596, - "src": "12176:12:0", + "referencedDeclaration": 590, + "src": "12114:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8175,14 +8109,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 603, + "id": 597, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "12200:1:0", + "src": "12138:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -8198,20 +8132,20 @@ "typeString": "int_const 0" } ], - "id": 602, + "id": 596, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "12192:7:0", + "src": "12130:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, - "id": 604, + "id": 598, "isConstant": false, "isLValue": false, "isPure": true, @@ -8219,22 +8153,22 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "12192:10:0", + "src": "12130:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "12176:26:0", + "src": "12114:26:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": { - "id": 634, + "id": 628, "nodeType": "Block", - "src": "12524:348:0", + "src": "12462:348:0", "statements": [ { "expression": { @@ -8245,12 +8179,12 @@ "arguments": [ { "argumentTypes": null, - "id": 623, + "id": 617, "name": "uniqueId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 584, - "src": "12610:8:0", + "referencedDeclaration": 578, + "src": "12548:8:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -8258,12 +8192,12 @@ }, { "argumentTypes": null, - "id": 624, + "id": 618, "name": "threshold", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 586, - "src": "12640:9:0", + "referencedDeclaration": 580, + "src": "12578:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -8271,12 +8205,12 @@ }, { "argumentTypes": null, - "id": 625, + "id": 619, "name": "timeoutHours", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 588, - "src": "12671:12:0", + "referencedDeclaration": 582, + "src": "12609:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -8284,12 +8218,12 @@ }, { "argumentTypes": null, - "id": 626, + "id": 620, "name": "buyer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 590, - "src": "12705:5:0", + "referencedDeclaration": 584, + "src": "12643:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8297,12 +8231,12 @@ }, { "argumentTypes": null, - "id": 627, + "id": 621, "name": "seller", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 592, - "src": "12732:6:0", + "referencedDeclaration": 586, + "src": "12670:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8310,12 +8244,12 @@ }, { "argumentTypes": null, - "id": 628, + "id": 622, "name": "moderator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 594, - "src": "12760:9:0", + "referencedDeclaration": 588, + "src": "12698:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8323,25 +8257,25 @@ }, { "argumentTypes": null, - "id": 629, + "id": 623, "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1401, - "src": "12791:4:0", + "referencedDeclaration": 1395, + "src": "12729:4:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_Escrow_v1_0_$1211", + "typeIdentifier": "t_contract$_Escrow_v1_0_$1205", "typeString": "contract Escrow_v1_0" } }, { "argumentTypes": null, - "id": 630, + "id": 624, "name": "tokenAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 596, - "src": "12817:12:0", + "referencedDeclaration": 590, + "src": "12755:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8375,7 +8309,7 @@ "typeString": "address" }, { - "typeIdentifier": "t_contract$_Escrow_v1_0_$1211", + "typeIdentifier": "t_contract$_Escrow_v1_0_$1205", "typeString": "contract Escrow_v1_0" }, { @@ -8385,18 +8319,18 @@ ], "expression": { "argumentTypes": null, - "id": 621, + "id": 615, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1371, - "src": "12572:3:0", + "referencedDeclaration": 1365, + "src": "12510:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, - "id": 622, + "id": 616, "isConstant": false, "isLValue": false, "isPure": true, @@ -8404,13 +8338,13 @@ "memberName": "encodePacked", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "12572:16:0", + "src": "12510:16:0", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, - "id": 631, + "id": 625, "isConstant": false, "isLValue": false, "isPure": false, @@ -8418,7 +8352,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "12572:275:0", + "src": "12510:275:0", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -8432,18 +8366,18 @@ "typeString": "bytes memory" } ], - "id": 620, + "id": 614, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1378, - "src": "12545:9:0", + "referencedDeclaration": 1372, + "src": "12483:9:0", "typeDescriptions": { "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", "typeString": "function () pure returns (bytes32)" } }, - "id": 632, + "id": 626, "isConstant": false, "isLValue": false, "isPure": false, @@ -8451,26 +8385,26 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "12545:316:0", + "src": "12483:316:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "functionReturnParameters": 600, - "id": 633, + "functionReturnParameters": 594, + "id": 627, "nodeType": "Return", - "src": "12538:323:0" + "src": "12476:323:0" } ] }, - "id": 635, + "id": 629, "nodeType": "IfStatement", - "src": "12172:700:0", + "src": "12110:700:0", "trueBody": { - "id": 619, + "id": 613, "nodeType": "Block", - "src": "12204:314:0", + "src": "12142:314:0", "statements": [ { "expression": { @@ -8481,12 +8415,12 @@ "arguments": [ { "argumentTypes": null, - "id": 609, + "id": 603, "name": "uniqueId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 584, - "src": "12290:8:0", + "referencedDeclaration": 578, + "src": "12228:8:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -8494,12 +8428,12 @@ }, { "argumentTypes": null, - "id": 610, + "id": 604, "name": "threshold", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 586, - "src": "12320:9:0", + "referencedDeclaration": 580, + "src": "12258:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -8507,12 +8441,12 @@ }, { "argumentTypes": null, - "id": 611, + "id": 605, "name": "timeoutHours", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 588, - "src": "12351:12:0", + "referencedDeclaration": 582, + "src": "12289:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -8520,12 +8454,12 @@ }, { "argumentTypes": null, - "id": 612, + "id": 606, "name": "buyer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 590, - "src": "12385:5:0", + "referencedDeclaration": 584, + "src": "12323:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8533,12 +8467,12 @@ }, { "argumentTypes": null, - "id": 613, + "id": 607, "name": "seller", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 592, - "src": "12412:6:0", + "referencedDeclaration": 586, + "src": "12350:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8546,12 +8480,12 @@ }, { "argumentTypes": null, - "id": 614, + "id": 608, "name": "moderator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 594, - "src": "12440:9:0", + "referencedDeclaration": 588, + "src": "12378:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8559,14 +8493,14 @@ }, { "argumentTypes": null, - "id": 615, + "id": 609, "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1401, - "src": "12471:4:0", + "referencedDeclaration": 1395, + "src": "12409:4:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_Escrow_v1_0_$1211", + "typeIdentifier": "t_contract$_Escrow_v1_0_$1205", "typeString": "contract Escrow_v1_0" } } @@ -8598,24 +8532,24 @@ "typeString": "address" }, { - "typeIdentifier": "t_contract$_Escrow_v1_0_$1211", + "typeIdentifier": "t_contract$_Escrow_v1_0_$1205", "typeString": "contract Escrow_v1_0" } ], "expression": { "argumentTypes": null, - "id": 607, + "id": 601, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1371, - "src": "12252:3:0", + "referencedDeclaration": 1365, + "src": "12190:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, - "id": 608, + "id": 602, "isConstant": false, "isLValue": false, "isPure": true, @@ -8623,13 +8557,13 @@ "memberName": "encodePacked", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "12252:16:0", + "src": "12190:16:0", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, - "id": 616, + "id": 610, "isConstant": false, "isLValue": false, "isPure": false, @@ -8637,7 +8571,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "12252:241:0", + "src": "12190:241:0", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -8651,18 +8585,18 @@ "typeString": "bytes memory" } ], - "id": 606, + "id": 600, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1378, - "src": "12225:9:0", + "referencedDeclaration": 1372, + "src": "12163:9:0", "typeDescriptions": { "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", "typeString": "function () pure returns (bytes32)" } }, - "id": 617, + "id": 611, "isConstant": false, "isLValue": false, "isPure": false, @@ -8670,16 +8604,16 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "12225:282:0", + "src": "12163:282:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "functionReturnParameters": 600, - "id": 618, + "functionReturnParameters": 594, + "id": 612, "nodeType": "Return", - "src": "12218:289:0" + "src": "12156:289:0" } ] } @@ -8687,7 +8621,7 @@ ] }, "documentation": "dev Method for calculating script hash. Calculation will depend upon the type of transaction\nETHER Type transaction-:\nScript Hash- keccak256(uniqueId, threshold, timeoutHours, buyer, seller, moderator)\nTOKEN Type transaction\nScript Hash- keccak256(uniqueId, threshold, timeoutHours, buyer, seller, moderator, tokenAddress)\nClient can use this method to verify whether it has calculated correct script hash or not", - "id": 637, + "id": 631, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -8695,16 +8629,16 @@ "name": "calculateRedeemScriptHash", "nodeType": "FunctionDefinition", "parameters": { - "id": 597, + "id": 591, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 584, + "id": 578, "name": "uniqueId", "nodeType": "VariableDeclaration", - "scope": 637, - "src": "11923:16:0", + "scope": 631, + "src": "11861:16:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8712,10 +8646,10 @@ "typeString": "bytes20" }, "typeName": { - "id": 583, + "id": 577, "name": "bytes20", "nodeType": "ElementaryTypeName", - "src": "11923:7:0", + "src": "11861:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -8726,11 +8660,11 @@ }, { "constant": false, - "id": 586, + "id": 580, "name": "threshold", "nodeType": "VariableDeclaration", - "scope": 637, - "src": "11949:15:0", + "scope": 631, + "src": "11887:15:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8738,10 +8672,10 @@ "typeString": "uint8" }, "typeName": { - "id": 585, + "id": 579, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "11949:5:0", + "src": "11887:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -8752,11 +8686,11 @@ }, { "constant": false, - "id": 588, + "id": 582, "name": "timeoutHours", "nodeType": "VariableDeclaration", - "scope": 637, - "src": "11974:19:0", + "scope": 631, + "src": "11912:19:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8764,10 +8698,10 @@ "typeString": "uint32" }, "typeName": { - "id": 587, + "id": 581, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "11974:6:0", + "src": "11912:6:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -8778,11 +8712,11 @@ }, { "constant": false, - "id": 590, + "id": 584, "name": "buyer", "nodeType": "VariableDeclaration", - "scope": 637, - "src": "12003:13:0", + "scope": 631, + "src": "11941:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8790,10 +8724,10 @@ "typeString": "address" }, "typeName": { - "id": 589, + "id": 583, "name": "address", "nodeType": "ElementaryTypeName", - "src": "12003:7:0", + "src": "11941:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8804,11 +8738,11 @@ }, { "constant": false, - "id": 592, + "id": 586, "name": "seller", "nodeType": "VariableDeclaration", - "scope": 637, - "src": "12026:14:0", + "scope": 631, + "src": "11964:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8816,10 +8750,10 @@ "typeString": "address" }, "typeName": { - "id": 591, + "id": 585, "name": "address", "nodeType": "ElementaryTypeName", - "src": "12026:7:0", + "src": "11964:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8830,11 +8764,11 @@ }, { "constant": false, - "id": 594, + "id": 588, "name": "moderator", "nodeType": "VariableDeclaration", - "scope": 637, - "src": "12050:17:0", + "scope": 631, + "src": "11988:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8842,10 +8776,10 @@ "typeString": "address" }, "typeName": { - "id": 593, + "id": 587, "name": "address", "nodeType": "ElementaryTypeName", - "src": "12050:7:0", + "src": "11988:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8856,11 +8790,11 @@ }, { "constant": false, - "id": 596, + "id": 590, "name": "tokenAddress", "nodeType": "VariableDeclaration", - "scope": 637, - "src": "12077:20:0", + "scope": 631, + "src": "12015:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8868,10 +8802,10 @@ "typeString": "address" }, "typeName": { - "id": 595, + "id": 589, "name": "address", "nodeType": "ElementaryTypeName", - "src": "12077:7:0", + "src": "12015:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8881,20 +8815,20 @@ "visibility": "internal" } ], - "src": "11913:190:0" + "src": "11851:190:0" }, "payable": false, "returnParameters": { - "id": 600, + "id": 594, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 599, + "id": 593, "name": "", "nodeType": "VariableDeclaration", - "scope": 637, - "src": "12149:7:0", + "scope": 631, + "src": "12087:7:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8902,10 +8836,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 598, + "id": 592, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "12149:7:0", + "src": "12087:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -8915,32 +8849,32 @@ "visibility": "internal" } ], - "src": "12148:9:0" + "src": "12086:9:0" }, - "scope": 1211, - "src": "11879:999:0", + "scope": 1205, + "src": "11817:999:0", "stateMutability": "view", "superFunction": null, "visibility": "public" }, { "body": { - "id": 705, + "id": 699, "nodeType": "Block", - "src": "13362:795:0", + "src": "13300:795:0", "statements": [ { "assignments": [ - 658 + 652 ], "declarations": [ { "constant": false, - "id": 658, + "id": 652, "name": "lastRecovered", "nodeType": "VariableDeclaration", - "scope": 706, - "src": "13372:21:0", + "scope": 700, + "src": "13310:21:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8948,10 +8882,10 @@ "typeString": "address" }, "typeName": { - "id": 657, + "id": 651, "name": "address", "nodeType": "ElementaryTypeName", - "src": "13372:7:0", + "src": "13310:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8961,18 +8895,18 @@ "visibility": "internal" } ], - "id": 667, + "id": 661, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 660, + "id": 654, "name": "sigV", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 640, - "src": "13426:4:0", + "referencedDeclaration": 634, + "src": "13364:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr", "typeString": "uint8[] memory" @@ -8980,12 +8914,12 @@ }, { "argumentTypes": null, - "id": 661, + "id": 655, "name": "sigR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 643, - "src": "13444:4:0", + "referencedDeclaration": 637, + "src": "13382:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" @@ -8993,12 +8927,12 @@ }, { "argumentTypes": null, - "id": 662, + "id": 656, "name": "sigS", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 646, - "src": "13462:4:0", + "referencedDeclaration": 640, + "src": "13400:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" @@ -9006,12 +8940,12 @@ }, { "argumentTypes": null, - "id": 663, + "id": 657, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 648, - "src": "13480:10:0", + "referencedDeclaration": 642, + "src": "13418:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -9019,12 +8953,12 @@ }, { "argumentTypes": null, - "id": 664, + "id": 658, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 651, - "src": "13504:12:0", + "referencedDeclaration": 645, + "src": "13442:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -9032,12 +8966,12 @@ }, { "argumentTypes": null, - "id": 665, + "id": 659, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 654, - "src": "13530:7:0", + "referencedDeclaration": 648, + "src": "13468:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" @@ -9071,18 +9005,18 @@ "typeString": "uint256[] memory" } ], - "id": 659, + "id": 653, "name": "verifySignatures", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1022, - "src": "13396:16:0", + "referencedDeclaration": 1016, + "src": "13334:16:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_array$_t_uint8_$dyn_memory_ptr_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_bytes32_$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$_t_address_$", "typeString": "function (uint8[] memory,bytes32[] memory,bytes32[] memory,bytes32,address[] memory,uint256[] memory) returns (address)" } }, - "id": 666, + "id": 660, "isConstant": false, "isLValue": false, "isPure": false, @@ -9090,27 +9024,27 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "13396:151:0", + "src": "13334:151:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "VariableDeclarationStatement", - "src": "13372:175:0" + "src": "13310:175:0" }, { "assignments": [ - 669 + 663 ], "declarations": [ { "constant": false, - "id": 669, + "id": 663, "name": "timeLockExpired", "nodeType": "VariableDeclaration", - "scope": 706, - "src": "13558:20:0", + "scope": 700, + "src": "13496:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9118,10 +9052,10 @@ "typeString": "bool" }, "typeName": { - "id": 668, + "id": 662, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "13558:4:0", + "src": "13496:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -9131,7 +9065,7 @@ "visibility": "internal" } ], - "id": 680, + "id": 674, "initialValue": { "argumentTypes": null, "arguments": [ @@ -9141,26 +9075,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 671, + "id": 665, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "13612:12:0", + "src": "13550:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 673, + "id": 667, "indexExpression": { "argumentTypes": null, - "id": 672, + "id": 666, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 648, - "src": "13625:10:0", + "referencedDeclaration": 642, + "src": "13563:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -9171,13 +9105,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "13612:24:0", + "src": "13550:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 674, + "id": 668, "isConstant": false, "isLValue": true, "isPure": false, @@ -9185,7 +9119,7 @@ "memberName": "timeoutHours", "nodeType": "MemberAccess", "referencedDeclaration": 50, - "src": "13612:37:0", + "src": "13550:37:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -9197,26 +9131,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 675, + "id": 669, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "13663:12:0", + "src": "13601:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 677, + "id": 671, "indexExpression": { "argumentTypes": null, - "id": 676, + "id": 670, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 648, - "src": "13676:10:0", + "referencedDeclaration": 642, + "src": "13614:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -9227,13 +9161,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "13663:24:0", + "src": "13601:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 678, + "id": 672, "isConstant": false, "isLValue": true, "isPure": false, @@ -9241,7 +9175,7 @@ "memberName": "lastModified", "nodeType": "MemberAccess", "referencedDeclaration": 42, - "src": "13663:37:0", + "src": "13601:37:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9259,18 +9193,18 @@ "typeString": "uint256" } ], - "id": 670, + "id": 664, "name": "isTimeLockExpired", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1054, - "src": "13581:17:0", + "referencedDeclaration": 1048, + "src": "13519:17:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_uint32_$_t_uint256_$returns$_t_bool_$", "typeString": "function (uint32,uint256) view returns (bool)" } }, - "id": 679, + "id": 673, "isConstant": false, "isLValue": false, "isPure": false, @@ -9278,14 +9212,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "13581:129:0", + "src": "13519:129:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "nodeType": "VariableDeclarationStatement", - "src": "13558:152:0" + "src": "13496:152:0" }, { "condition": { @@ -9294,7 +9228,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 698, + "id": 692, "isConstant": false, "isLValue": false, "isPure": false, @@ -9305,7 +9239,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 687, + "id": 681, "isConstant": false, "isLValue": false, "isPure": false, @@ -9314,18 +9248,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 681, + "id": 675, "name": "sigV", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 640, - "src": "13882:4:0", + "referencedDeclaration": 634, + "src": "13820:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr", "typeString": "uint8[] memory" } }, - "id": 682, + "id": 676, "isConstant": false, "isLValue": false, "isPure": false, @@ -9333,7 +9267,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "13882:11:0", + "src": "13820:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9347,26 +9281,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 683, + "id": 677, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "13896:12:0", + "src": "13834:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 685, + "id": 679, "indexExpression": { "argumentTypes": null, - "id": 684, + "id": 678, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 648, - "src": "13909:10:0", + "referencedDeclaration": 642, + "src": "13847:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -9377,13 +9311,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "13896:24:0", + "src": "13834:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 686, + "id": 680, "isConstant": false, "isLValue": true, "isPure": false, @@ -9391,13 +9325,13 @@ "memberName": "threshold", "nodeType": "MemberAccess", "referencedDeclaration": 48, - "src": "13896:34:0", + "src": "13834:34:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, - "src": "13882:48:0", + "src": "13820:48:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -9414,14 +9348,14 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 696, + "id": 690, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 689, + "id": 683, "isConstant": false, "isLValue": false, "isPure": false, @@ -9429,15 +9363,15 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "13935:16:0", + "src": "13873:16:0", "subExpression": { "argumentTypes": null, - "id": 688, + "id": 682, "name": "timeLockExpired", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 669, - "src": "13936:15:0", + "referencedDeclaration": 663, + "src": "13874:15:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -9456,19 +9390,19 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 695, + "id": 689, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 690, + "id": 684, "name": "lastRecovered", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 658, - "src": "13955:13:0", + "referencedDeclaration": 652, + "src": "13893:13:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -9482,26 +9416,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 691, + "id": 685, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "13972:12:0", + "src": "13910:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 693, + "id": 687, "indexExpression": { "argumentTypes": null, - "id": 692, + "id": 686, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 648, - "src": "13985:10:0", + "referencedDeclaration": 642, + "src": "13923:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -9512,13 +9446,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "13972:24:0", + "src": "13910:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 694, + "id": 688, "isConstant": false, "isLValue": true, "isPure": false, @@ -9526,52 +9460,52 @@ "memberName": "seller", "nodeType": "MemberAccess", "referencedDeclaration": 54, - "src": "13972:31:0", + "src": "13910:31:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "13955:48:0", + "src": "13893:48:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "13935:68:0", + "src": "13873:68:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } } ], - "id": 697, + "id": 691, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "13934:70:0", + "src": "13872:70:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "13882:122:0", + "src": "13820:122:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, - "id": 704, + "id": 698, "nodeType": "IfStatement", - "src": "13861:289:0", + "src": "13799:289:0", "trueBody": { - "id": 703, + "id": 697, "nodeType": "Block", - "src": "14027:123:0", + "src": "13965:123:0", "statements": [ { "expression": { @@ -9580,14 +9514,14 @@ { "argumentTypes": null, "hexValue": "4d696e696d756d206e756d626572206f66207369676e61747572657320617265206e6f7420636f6c6c656374656420616e642074696d65206c6f636b2065787069727920636f6e646974696f6e73206e6f74206d65742121", - "id": 700, + "id": 694, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "14048:90:0", + "src": "13986:90:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_e454643f61f81e3a3dc8dabaafde295fea592e232abeb03abbb1835bdc3d20d0", @@ -9603,21 +9537,21 @@ "typeString": "literal_string \"Minimum number of signatures are not collected and time lock expiry conditions not met!!\"" } ], - "id": 699, + "id": 693, "name": "revert", "nodeType": "Identifier", "overloadedDeclarations": [ - 1389, - 1390 + 1383, + 1384 ], - "referencedDeclaration": 1390, - "src": "14041:6:0", + "referencedDeclaration": 1384, + "src": "13979:6:0", "typeDescriptions": { "typeIdentifier": "t_function_revert_pure$_t_string_memory_ptr_$returns$__$", "typeString": "function (string memory) pure" } }, - "id": 701, + "id": 695, "isConstant": false, "isLValue": false, "isPure": false, @@ -9625,15 +9559,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "14041:98:0", + "src": "13979:98:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 702, + "id": 696, "nodeType": "ExpressionStatement", - "src": "14041:98:0" + "src": "13979:98:0" } ] } @@ -9641,7 +9575,7 @@ ] }, "documentation": "@dev This methods checks validity of transaction\n1. Verify Signatures\n2. Check if minimum number of signatures has been acquired\n3. If above condition is false, check if time lock is expired and the execution is signed by seller", - "id": 706, + "id": 700, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -9649,16 +9583,16 @@ "name": "verifyTransaction", "nodeType": "FunctionDefinition", "parameters": { - "id": 655, + "id": 649, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 640, + "id": 634, "name": "sigV", "nodeType": "VariableDeclaration", - "scope": 706, - "src": "13188:12:0", + "scope": 700, + "src": "13126:12:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9667,19 +9601,19 @@ }, "typeName": { "baseType": { - "id": 638, + "id": 632, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "13188:5:0", + "src": "13126:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, - "id": 639, + "id": 633, "length": null, "nodeType": "ArrayTypeName", - "src": "13188:7:0", + "src": "13126:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_storage_ptr", "typeString": "uint8[]" @@ -9690,11 +9624,11 @@ }, { "constant": false, - "id": 643, + "id": 637, "name": "sigR", "nodeType": "VariableDeclaration", - "scope": 706, - "src": "13210:14:0", + "scope": 700, + "src": "13148:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9703,19 +9637,19 @@ }, "typeName": { "baseType": { - "id": 641, + "id": 635, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "13210:7:0", + "src": "13148:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "id": 642, + "id": 636, "length": null, "nodeType": "ArrayTypeName", - "src": "13210:9:0", + "src": "13148:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -9726,11 +9660,11 @@ }, { "constant": false, - "id": 646, + "id": 640, "name": "sigS", "nodeType": "VariableDeclaration", - "scope": 706, - "src": "13234:14:0", + "scope": 700, + "src": "13172:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9739,19 +9673,19 @@ }, "typeName": { "baseType": { - "id": 644, + "id": 638, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "13234:7:0", + "src": "13172:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "id": 645, + "id": 639, "length": null, "nodeType": "ArrayTypeName", - "src": "13234:9:0", + "src": "13172:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -9762,11 +9696,11 @@ }, { "constant": false, - "id": 648, + "id": 642, "name": "scriptHash", "nodeType": "VariableDeclaration", - "scope": 706, - "src": "13258:18:0", + "scope": 700, + "src": "13196:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9774,10 +9708,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 647, + "id": 641, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "13258:7:0", + "src": "13196:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -9788,11 +9722,11 @@ }, { "constant": false, - "id": 651, + "id": 645, "name": "destinations", "nodeType": "VariableDeclaration", - "scope": 706, - "src": "13286:22:0", + "scope": 700, + "src": "13224:22:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9801,19 +9735,19 @@ }, "typeName": { "baseType": { - "id": 649, + "id": 643, "name": "address", "nodeType": "ElementaryTypeName", - "src": "13286:7:0", + "src": "13224:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 650, + "id": 644, "length": null, "nodeType": "ArrayTypeName", - "src": "13286:9:0", + "src": "13224:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", "typeString": "address[]" @@ -9824,11 +9758,11 @@ }, { "constant": false, - "id": 654, + "id": 648, "name": "amounts", "nodeType": "VariableDeclaration", - "scope": 706, - "src": "13318:17:0", + "scope": 700, + "src": "13256:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9837,19 +9771,19 @@ }, "typeName": { "baseType": { - "id": 652, + "id": 646, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "13318:7:0", + "src": "13256:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 653, + "id": 647, "length": null, "nodeType": "ArrayTypeName", - "src": "13318:9:0", + "src": "13256:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -9859,39 +9793,39 @@ "visibility": "internal" } ], - "src": "13178:163:0" + "src": "13116:163:0" }, "payable": false, "returnParameters": { - "id": 656, + "id": 650, "nodeType": "ParameterList", "parameters": [], - "src": "13362:0:0" + "src": "13300:0:0" }, - "scope": 1211, - "src": "13152:1005:0", + "scope": 1205, + "src": "13090:1005:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "private" }, { "body": { - "id": 892, + "id": 886, "nodeType": "Block", - "src": "14443:1362:0", + "src": "14381:1362:0", "statements": [ { "assignments": [ - 720 + 714 ], "declarations": [ { "constant": false, - "id": 720, + "id": 714, "name": "t", "nodeType": "VariableDeclaration", - "scope": 893, - "src": "14453:21:0", + "scope": 887, + "src": "14391:21:0", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { @@ -9900,11 +9834,11 @@ }, "typeName": { "contractScope": null, - "id": 719, + "id": 713, "name": "Transaction", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 71, - "src": "14453:11:0", + "src": "14391:11:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction" @@ -9914,31 +9848,31 @@ "visibility": "internal" } ], - "id": 724, + "id": 718, "initialValue": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 721, + "id": 715, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "14477:12:0", + "src": "14415:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 723, + "id": 717, "indexExpression": { "argumentTypes": null, - "id": 722, + "id": 716, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 708, - "src": "14490:10:0", + "referencedDeclaration": 702, + "src": "14428:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -9949,27 +9883,27 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "14477:24:0", + "src": "14415:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "14453:48:0" + "src": "14391:48:0" }, { "assignments": [ - 726 + 720 ], "declarations": [ { "constant": false, - "id": 726, + "id": 720, "name": "valueTransferred", "nodeType": "VariableDeclaration", - "scope": 893, - "src": "14512:24:0", + "scope": 887, + "src": "14450:24:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9977,10 +9911,10 @@ "typeString": "uint256" }, "typeName": { - "id": 725, + "id": 719, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "14512:7:0", + "src": "14450:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9990,18 +9924,18 @@ "visibility": "internal" } ], - "id": 728, + "id": 722, "initialValue": { "argumentTypes": null, "hexValue": "30", - "id": 727, + "id": 721, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "14539:1:0", + "src": "14477:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -10010,7 +9944,7 @@ "value": "0" }, "nodeType": "VariableDeclarationStatement", - "src": "14512:28:0" + "src": "14450:28:0" }, { "condition": { @@ -10019,7 +9953,7 @@ "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" }, - "id": 733, + "id": 727, "isConstant": false, "isLValue": false, "isPure": false, @@ -10028,18 +9962,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 729, + "id": 723, "name": "t", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 720, - "src": "14555:1:0", + "referencedDeclaration": 714, + "src": "14493:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" } }, - "id": 730, + "id": 724, "isConstant": false, "isLValue": true, "isPure": false, @@ -10047,7 +9981,7 @@ "memberName": "transactionType", "nodeType": "MemberAccess", "referencedDeclaration": 46, - "src": "14555:17:0", + "src": "14493:17:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -10059,18 +9993,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 731, + "id": 725, "name": "TransactionType", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12, - "src": "14576:15:0", + "src": "14514:15:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_TransactionType_$12_$", "typeString": "type(enum Escrow_v1_0.TransactionType)" } }, - "id": 732, + "id": 726, "isConstant": false, "isLValue": false, "isPure": true, @@ -10078,13 +10012,13 @@ "memberName": "ETHER", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "14576:21:0", + "src": "14514:21:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" } }, - "src": "14555:42:0", + "src": "14493:42:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -10097,7 +10031,7 @@ "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" }, - "id": 807, + "id": 801, "isConstant": false, "isLValue": false, "isPure": false, @@ -10106,18 +10040,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 803, + "id": 797, "name": "t", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 720, - "src": "15111:1:0", + "referencedDeclaration": 714, + "src": "15049:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" } }, - "id": 804, + "id": 798, "isConstant": false, "isLValue": true, "isPure": false, @@ -10125,7 +10059,7 @@ "memberName": "transactionType", "nodeType": "MemberAccess", "referencedDeclaration": 46, - "src": "15111:17:0", + "src": "15049:17:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -10137,18 +10071,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 805, + "id": 799, "name": "TransactionType", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12, - "src": "15132:15:0", + "src": "15070:15:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_TransactionType_$12_$", "typeString": "type(enum Escrow_v1_0.TransactionType)" } }, - "id": 806, + "id": 800, "isConstant": false, "isLValue": false, "isPure": true, @@ -10156,54 +10090,54 @@ "memberName": "TOKEN", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "15132:21:0", + "src": "15070:21:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" } }, - "src": "15111:42:0", + "src": "15049:42:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, - "id": 888, + "id": 882, "nodeType": "IfStatement", - "src": "15107:658:0", + "src": "15045:658:0", "trueBody": { - "id": 887, + "id": 881, "nodeType": "Block", - "src": "15155:610:0", + "src": "15093:610:0", "statements": [ { "assignments": [ - 809 + 803 ], "declarations": [ { "constant": false, - "id": 809, + "id": 803, "name": "token", "nodeType": "VariableDeclaration", - "scope": 893, - "src": "15170:20:0", + "scope": 887, + "src": "15108:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenContract_$1241", + "typeIdentifier": "t_contract$_ITokenContract_$1235", "typeString": "contract ITokenContract" }, "typeName": { "contractScope": null, - "id": 808, + "id": 802, "name": "ITokenContract", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1241, - "src": "15170:14:0", + "referencedDeclaration": 1235, + "src": "15108:14:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenContract_$1241", + "typeIdentifier": "t_contract$_ITokenContract_$1235", "typeString": "contract ITokenContract" } }, @@ -10211,7 +10145,7 @@ "visibility": "internal" } ], - "id": 814, + "id": 808, "initialValue": { "argumentTypes": null, "arguments": [ @@ -10219,18 +10153,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 811, + "id": 805, "name": "t", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 720, - "src": "15208:1:0", + "referencedDeclaration": 714, + "src": "15146:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" } }, - "id": 812, + "id": 806, "isConstant": false, "isLValue": true, "isPure": false, @@ -10238,7 +10172,7 @@ "memberName": "tokenAddress", "nodeType": "MemberAccess", "referencedDeclaration": 56, - "src": "15208:14:0", + "src": "15146:14:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -10252,18 +10186,18 @@ "typeString": "address" } ], - "id": 810, + "id": 804, "name": "ITokenContract", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1241, - "src": "15193:14:0", + "referencedDeclaration": 1235, + "src": "15131:14:0", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ITokenContract_$1241_$", + "typeIdentifier": "t_type$_t_contract$_ITokenContract_$1235_$", "typeString": "type(contract ITokenContract)" } }, - "id": 813, + "id": 807, "isConstant": false, "isLValue": false, "isPure": false, @@ -10271,20 +10205,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15193:30:0", + "src": "15131:30:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenContract_$1241", + "typeIdentifier": "t_contract$_ITokenContract_$1235", "typeString": "contract ITokenContract" } }, "nodeType": "VariableDeclarationStatement", - "src": "15170:53:0" + "src": "15108:53:0" }, { "body": { - "id": 885, + "id": 879, "nodeType": "Block", - "src": "15286:469:0", + "src": "15224:469:0", "statements": [ { "expression": { @@ -10296,7 +10230,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 840, + "id": 834, "isConstant": false, "isLValue": false, "isPure": false, @@ -10307,7 +10241,7 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 833, + "id": 827, "isConstant": false, "isLValue": false, "isPure": false, @@ -10316,26 +10250,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 827, + "id": 821, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 711, - "src": "15313:12:0", + "referencedDeclaration": 705, + "src": "15251:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" } }, - "id": 829, + "id": 823, "indexExpression": { "argumentTypes": null, - "id": 828, + "id": 822, "name": "j", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 816, - "src": "15326:1:0", + "referencedDeclaration": 810, + "src": "15264:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10346,7 +10280,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15313:15:0", + "src": "15251:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -10360,14 +10294,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 831, + "id": 825, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "15340:1:0", + "src": "15278:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -10383,20 +10317,20 @@ "typeString": "int_const 0" } ], - "id": 830, + "id": 824, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "15332:7:0", + "src": "15270:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, - "id": 832, + "id": 826, "isConstant": false, "isLValue": false, "isPure": true, @@ -10404,13 +10338,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15332:10:0", + "src": "15270:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "15313:29:0", + "src": "15251:29:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -10424,18 +10358,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 834, + "id": 828, "name": "t", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 720, - "src": "15346:1:0", + "referencedDeclaration": 714, + "src": "15284:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" } }, - "id": 835, + "id": 829, "isConstant": false, "isLValue": true, "isPure": false, @@ -10443,37 +10377,37 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "15346:9:0", + "src": "15284:9:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 839, + "id": 833, "indexExpression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 836, + "id": 830, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 711, - "src": "15356:12:0", + "referencedDeclaration": 705, + "src": "15294:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" } }, - "id": 838, + "id": 832, "indexExpression": { "argumentTypes": null, - "id": 837, + "id": 831, "name": "j", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 816, - "src": "15369:1:0", + "referencedDeclaration": 810, + "src": "15307:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10484,7 +10418,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15356:15:0", + "src": "15294:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -10495,13 +10429,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15346:26:0", + "src": "15284:26:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "15313:59:0", + "src": "15251:59:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -10510,14 +10444,14 @@ { "argumentTypes": null, "hexValue": "4e6f7420612076616c69642064657374696e6174696f6e", - "id": 841, + "id": 835, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "15374:25:0", + "src": "15312:25:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_4b4c116dbf18274831a2b569c567d9fd9a0e9828a6c86ee9f93e80400fb6c49f", @@ -10537,21 +10471,21 @@ "typeString": "literal_string \"Not a valid destination\"" } ], - "id": 826, + "id": 820, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1387, - 1388 + 1381, + 1382 ], - "referencedDeclaration": 1388, - "src": "15305:7:0", + "referencedDeclaration": 1382, + "src": "15243:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 842, + "id": 836, "isConstant": false, "isLValue": false, "isPure": false, @@ -10559,15 +10493,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15305:95:0", + "src": "15243:95:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 843, + "id": 837, "nodeType": "ExpressionStatement", - "src": "15305:95:0" + "src": "15243:95:0" }, { "expression": { @@ -10579,7 +10513,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 849, + "id": 843, "isConstant": false, "isLValue": false, "isPure": false, @@ -10588,26 +10522,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 845, + "id": 839, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 714, - "src": "15426:7:0", + "referencedDeclaration": 708, + "src": "15364:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 847, + "id": 841, "indexExpression": { "argumentTypes": null, - "id": 846, + "id": 840, "name": "j", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 816, - "src": "15434:1:0", + "referencedDeclaration": 810, + "src": "15372:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10618,7 +10552,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15426:10:0", + "src": "15364:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10629,14 +10563,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 848, + "id": 842, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "15439:1:0", + "src": "15377:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -10644,7 +10578,7 @@ }, "value": "0" }, - "src": "15426:14:0", + "src": "15364:14:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -10653,14 +10587,14 @@ { "argumentTypes": null, "hexValue": "416d6f756e7420746f2062652073656e742073686f756c642062652067726561746572207468616e2030", - "id": 850, + "id": 844, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "15442:44:0", + "src": "15380:44:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_5e1271a09dbb64ae031de288deb0ad8d707df7db51d6e827931dc8fa6642a71e", @@ -10680,21 +10614,21 @@ "typeString": "literal_string \"Amount to be sent should be greater than 0\"" } ], - "id": 844, + "id": 838, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1387, - 1388 + 1381, + 1382 ], - "referencedDeclaration": 1388, - "src": "15418:7:0", + "referencedDeclaration": 1382, + "src": "15356:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 851, + "id": 845, "isConstant": false, "isLValue": false, "isPure": false, @@ -10702,32 +10636,32 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15418:69:0", + "src": "15356:69:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 852, + "id": 846, "nodeType": "ExpressionStatement", - "src": "15418:69:0" + "src": "15356:69:0" }, { "expression": { "argumentTypes": null, - "id": 860, + "id": 854, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 853, + "id": 847, "name": "valueTransferred", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 726, - "src": "15506:16:0", + "referencedDeclaration": 720, + "src": "15444:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10742,26 +10676,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 856, + "id": 850, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 714, - "src": "15546:7:0", + "referencedDeclaration": 708, + "src": "15484:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 858, + "id": 852, "indexExpression": { "argumentTypes": null, - "id": 857, + "id": 851, "name": "j", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 816, - "src": "15554:1:0", + "referencedDeclaration": 810, + "src": "15492:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10772,7 +10706,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15546:10:0", + "src": "15484:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10788,32 +10722,32 @@ ], "expression": { "argumentTypes": null, - "id": 854, + "id": 848, "name": "valueTransferred", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 726, - "src": "15525:16:0", + "referencedDeclaration": 720, + "src": "15463:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 855, + "id": 849, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 1348, - "src": "15525:20:0", + "referencedDeclaration": 1342, + "src": "15463:20:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 859, + "id": 853, "isConstant": false, "isLValue": false, "isPure": false, @@ -10821,26 +10755,26 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15525:32:0", + "src": "15463:32:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "15506:51:0", + "src": "15444:51:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 861, + "id": 855, "nodeType": "ExpressionStatement", - "src": "15506:51:0" + "src": "15444:51:0" }, { "expression": { "argumentTypes": null, - "id": 870, + "id": 864, "isConstant": false, "isLValue": false, "isPure": false, @@ -10851,18 +10785,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 862, + "id": 856, "name": "t", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 720, - "src": "15575:1:0", + "referencedDeclaration": 714, + "src": "15513:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" } }, - "id": 867, + "id": 861, "isConstant": false, "isLValue": true, "isPure": false, @@ -10870,37 +10804,37 @@ "memberName": "beneficiaries", "nodeType": "MemberAccess", "referencedDeclaration": 70, - "src": "15575:15:0", + "src": "15513:15:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 868, + "id": 862, "indexExpression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 864, + "id": 858, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 711, - "src": "15591:12:0", + "referencedDeclaration": 705, + "src": "15529:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" } }, - "id": 866, + "id": 860, "indexExpression": { "argumentTypes": null, - "id": 865, + "id": 859, "name": "j", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 816, - "src": "15604:1:0", + "referencedDeclaration": 810, + "src": "15542:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10911,7 +10845,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15591:15:0", + "src": "15529:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -10922,7 +10856,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "15575:32:0", + "src": "15513:32:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -10933,14 +10867,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "74727565", - "id": 869, + "id": 863, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "15610:4:0", + "src": "15548:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -10948,15 +10882,15 @@ }, "value": "true" }, - "src": "15575:39:0", + "src": "15513:39:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 871, + "id": 865, "nodeType": "ExpressionStatement", - "src": "15575:39:0" + "src": "15513:39:0" }, { "expression": { @@ -10969,26 +10903,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 875, + "id": 869, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 711, - "src": "15685:12:0", + "referencedDeclaration": 705, + "src": "15623:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" } }, - "id": 877, + "id": 871, "indexExpression": { "argumentTypes": null, - "id": 876, + "id": 870, "name": "j", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 816, - "src": "15698:1:0", + "referencedDeclaration": 810, + "src": "15636:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10999,7 +10933,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15685:15:0", + "src": "15623:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -11009,26 +10943,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 878, + "id": 872, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 714, - "src": "15702:7:0", + "referencedDeclaration": 708, + "src": "15640:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 880, + "id": 874, "indexExpression": { "argumentTypes": null, - "id": 879, + "id": 873, "name": "j", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 816, - "src": "15710:1:0", + "referencedDeclaration": 810, + "src": "15648:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11039,7 +10973,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15702:10:0", + "src": "15640:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11059,32 +10993,32 @@ ], "expression": { "argumentTypes": null, - "id": 873, + "id": 867, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 809, - "src": "15670:5:0", + "referencedDeclaration": 803, + "src": "15608:5:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenContract_$1241", + "typeIdentifier": "t_contract$_ITokenContract_$1235", "typeString": "contract ITokenContract" } }, - "id": 874, + "id": 868, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "transfer", "nodeType": "MemberAccess", - "referencedDeclaration": 1229, - "src": "15670:14:0", + "referencedDeclaration": 1223, + "src": "15608:14:0", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", "typeString": "function (address,uint256) external returns (bool)" } }, - "id": 881, + "id": 875, "isConstant": false, "isLValue": false, "isPure": false, @@ -11092,7 +11026,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15670:43:0", + "src": "15608:43:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -11101,14 +11035,14 @@ { "argumentTypes": null, "hexValue": "546f6b656e207472616e73666572206661696c65642e", - "id": 882, + "id": 876, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "15715:24:0", + "src": "15653:24:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_e545223bb79d8456d66fa5a98897abb42bb4807111f004a120200da3b7e292c5", @@ -11128,21 +11062,21 @@ "typeString": "literal_string \"Token transfer failed.\"" } ], - "id": 872, + "id": 866, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1387, - 1388 + 1381, + 1382 ], - "referencedDeclaration": 1388, - "src": "15662:7:0", + "referencedDeclaration": 1382, + "src": "15600:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 883, + "id": 877, "isConstant": false, "isLValue": false, "isPure": false, @@ -11150,15 +11084,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15662:78:0", + "src": "15600:78:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 884, + "id": 878, "nodeType": "ExpressionStatement", - "src": "15662:78:0" + "src": "15600:78:0" } ] }, @@ -11168,19 +11102,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 822, + "id": 816, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 819, + "id": 813, "name": "j", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 816, - "src": "15258:1:0", + "referencedDeclaration": 810, + "src": "15196:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11192,18 +11126,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 820, + "id": 814, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 711, - "src": "15260:12:0", + "referencedDeclaration": 705, + "src": "15198:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" } }, - "id": 821, + "id": 815, "isConstant": false, "isLValue": false, "isPure": false, @@ -11211,31 +11145,31 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "15260:19:0", + "src": "15198:19:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "15258:21:0", + "src": "15196:21:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 886, + "id": 880, "initializationExpression": { "assignments": [ - 816 + 810 ], "declarations": [ { "constant": false, - "id": 816, + "id": 810, "name": "j", "nodeType": "VariableDeclaration", - "scope": 893, - "src": "15243:9:0", + "scope": 887, + "src": "15181:9:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -11243,10 +11177,10 @@ "typeString": "uint256" }, "typeName": { - "id": 815, + "id": 809, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "15243:7:0", + "src": "15181:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11256,18 +11190,18 @@ "visibility": "internal" } ], - "id": 818, + "id": 812, "initialValue": { "argumentTypes": null, "hexValue": "30", - "id": 817, + "id": 811, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "15255:1:0", + "src": "15193:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -11276,12 +11210,12 @@ "value": "0" }, "nodeType": "VariableDeclarationStatement", - "src": "15243:13:0" + "src": "15181:13:0" }, "loopExpression": { "expression": { "argumentTypes": null, - "id": 824, + "id": 818, "isConstant": false, "isLValue": false, "isPure": false, @@ -11289,15 +11223,15 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "15281:3:0", + "src": "15219:3:0", "subExpression": { "argumentTypes": null, - "id": 823, + "id": 817, "name": "j", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 816, - "src": "15281:1:0", + "referencedDeclaration": 810, + "src": "15219:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11308,29 +11242,29 @@ "typeString": "uint256" } }, - "id": 825, + "id": 819, "nodeType": "ExpressionStatement", - "src": "15281:3:0" + "src": "15219:3:0" }, "nodeType": "ForStatement", - "src": "15238:517:0" + "src": "15176:517:0" } ] } }, - "id": 889, + "id": 883, "nodeType": "IfStatement", - "src": "14551:1214:0", + "src": "14489:1214:0", "trueBody": { - "id": 802, + "id": 796, "nodeType": "Block", - "src": "14599:502:0", + "src": "14537:502:0", "statements": [ { "body": { - "id": 800, + "id": 794, "nodeType": "Block", - "src": "14663:427:0", + "src": "14601:427:0", "statements": [ { "expression": { @@ -11342,7 +11276,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 759, + "id": 753, "isConstant": false, "isLValue": false, "isPure": false, @@ -11353,7 +11287,7 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 752, + "id": 746, "isConstant": false, "isLValue": false, "isPure": false, @@ -11362,26 +11296,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 746, + "id": 740, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 711, - "src": "14690:12:0", + "referencedDeclaration": 705, + "src": "14628:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" } }, - "id": 748, + "id": 742, "indexExpression": { "argumentTypes": null, - "id": 747, + "id": 741, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 735, - "src": "14703:1:0", + "referencedDeclaration": 729, + "src": "14641:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11392,7 +11326,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "14690:15:0", + "src": "14628:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -11406,14 +11340,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 750, + "id": 744, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "14717:1:0", + "src": "14655:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -11429,20 +11363,20 @@ "typeString": "int_const 0" } ], - "id": 749, + "id": 743, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "14709:7:0", + "src": "14647:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, - "id": 751, + "id": 745, "isConstant": false, "isLValue": false, "isPure": true, @@ -11450,13 +11384,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "14709:10:0", + "src": "14647:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "14690:29:0", + "src": "14628:29:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -11470,18 +11404,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 753, + "id": 747, "name": "t", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 720, - "src": "14723:1:0", + "referencedDeclaration": 714, + "src": "14661:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" } }, - "id": 754, + "id": 748, "isConstant": false, "isLValue": true, "isPure": false, @@ -11489,37 +11423,37 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "14723:9:0", + "src": "14661:9:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 758, + "id": 752, "indexExpression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 755, + "id": 749, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 711, - "src": "14733:12:0", + "referencedDeclaration": 705, + "src": "14671:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" } }, - "id": 757, + "id": 751, "indexExpression": { "argumentTypes": null, - "id": 756, + "id": 750, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 735, - "src": "14746:1:0", + "referencedDeclaration": 729, + "src": "14684:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11530,7 +11464,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "14733:15:0", + "src": "14671:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -11541,13 +11475,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "14723:26:0", + "src": "14661:26:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "14690:59:0", + "src": "14628:59:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -11556,14 +11490,14 @@ { "argumentTypes": null, "hexValue": "4e6f7420612076616c69642064657374696e6174696f6e", - "id": 760, + "id": 754, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "14751:25:0", + "src": "14689:25:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_4b4c116dbf18274831a2b569c567d9fd9a0e9828a6c86ee9f93e80400fb6c49f", @@ -11583,21 +11517,21 @@ "typeString": "literal_string \"Not a valid destination\"" } ], - "id": 745, + "id": 739, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1387, - 1388 + 1381, + 1382 ], - "referencedDeclaration": 1388, - "src": "14682:7:0", + "referencedDeclaration": 1382, + "src": "14620:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 761, + "id": 755, "isConstant": false, "isLValue": false, "isPure": false, @@ -11605,15 +11539,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "14682:95:0", + "src": "14620:95:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 762, + "id": 756, "nodeType": "ExpressionStatement", - "src": "14682:95:0" + "src": "14620:95:0" }, { "expression": { @@ -11625,7 +11559,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 768, + "id": 762, "isConstant": false, "isLValue": false, "isPure": false, @@ -11634,26 +11568,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 764, + "id": 758, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 714, - "src": "14803:7:0", + "referencedDeclaration": 708, + "src": "14741:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 766, + "id": 760, "indexExpression": { "argumentTypes": null, - "id": 765, + "id": 759, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 735, - "src": "14811:1:0", + "referencedDeclaration": 729, + "src": "14749:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11664,7 +11598,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "14803:10:0", + "src": "14741:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11675,14 +11609,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 767, + "id": 761, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "14816:1:0", + "src": "14754:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -11690,7 +11624,7 @@ }, "value": "0" }, - "src": "14803:14:0", + "src": "14741:14:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -11699,14 +11633,14 @@ { "argumentTypes": null, "hexValue": "416d6f756e7420746f2062652073656e742073686f756c642062652067726561746572207468616e2030", - "id": 769, + "id": 763, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "14819:44:0", + "src": "14757:44:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_5e1271a09dbb64ae031de288deb0ad8d707df7db51d6e827931dc8fa6642a71e", @@ -11726,21 +11660,21 @@ "typeString": "literal_string \"Amount to be sent should be greater than 0\"" } ], - "id": 763, + "id": 757, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1387, - 1388 + 1381, + 1382 ], - "referencedDeclaration": 1388, - "src": "14795:7:0", + "referencedDeclaration": 1382, + "src": "14733:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 770, + "id": 764, "isConstant": false, "isLValue": false, "isPure": false, @@ -11748,32 +11682,32 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "14795:69:0", + "src": "14733:69:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 771, + "id": 765, "nodeType": "ExpressionStatement", - "src": "14795:69:0" + "src": "14733:69:0" }, { "expression": { "argumentTypes": null, - "id": 779, + "id": 773, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 772, + "id": 766, "name": "valueTransferred", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 726, - "src": "14883:16:0", + "referencedDeclaration": 720, + "src": "14821:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11788,26 +11722,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 775, + "id": 769, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 714, - "src": "14923:7:0", + "referencedDeclaration": 708, + "src": "14861:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 777, + "id": 771, "indexExpression": { "argumentTypes": null, - "id": 776, + "id": 770, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 735, - "src": "14931:1:0", + "referencedDeclaration": 729, + "src": "14869:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11818,7 +11752,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "14923:10:0", + "src": "14861:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11834,32 +11768,32 @@ ], "expression": { "argumentTypes": null, - "id": 773, + "id": 767, "name": "valueTransferred", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 726, - "src": "14902:16:0", + "referencedDeclaration": 720, + "src": "14840:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 774, + "id": 768, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 1348, - "src": "14902:20:0", + "referencedDeclaration": 1342, + "src": "14840:20:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 778, + "id": 772, "isConstant": false, "isLValue": false, "isPure": false, @@ -11867,26 +11801,26 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "14902:32:0", + "src": "14840:32:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "14883:51:0", + "src": "14821:51:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 780, + "id": 774, "nodeType": "ExpressionStatement", - "src": "14883:51:0" + "src": "14821:51:0" }, { "expression": { "argumentTypes": null, - "id": 789, + "id": 783, "isConstant": false, "isLValue": false, "isPure": false, @@ -11897,18 +11831,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 781, + "id": 775, "name": "t", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 720, - "src": "14953:1:0", + "referencedDeclaration": 714, + "src": "14891:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" } }, - "id": 786, + "id": 780, "isConstant": false, "isLValue": true, "isPure": false, @@ -11916,37 +11850,37 @@ "memberName": "beneficiaries", "nodeType": "MemberAccess", "referencedDeclaration": 70, - "src": "14953:15:0", + "src": "14891:15:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 787, + "id": 781, "indexExpression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 783, + "id": 777, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 711, - "src": "14969:12:0", + "referencedDeclaration": 705, + "src": "14907:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" } }, - "id": 785, + "id": 779, "indexExpression": { "argumentTypes": null, - "id": 784, + "id": 778, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 735, - "src": "14982:1:0", + "referencedDeclaration": 729, + "src": "14920:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11957,7 +11891,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "14969:15:0", + "src": "14907:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -11968,7 +11902,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "14953:32:0", + "src": "14891:32:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -11979,14 +11913,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "74727565", - "id": 788, + "id": 782, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "14988:4:0", + "src": "14926:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -11994,15 +11928,15 @@ }, "value": "true" }, - "src": "14953:39:0", + "src": "14891:39:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 790, + "id": 784, "nodeType": "ExpressionStatement", - "src": "14953:39:0" + "src": "14891:39:0" }, { "expression": { @@ -12012,26 +11946,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 795, + "id": 789, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 714, - "src": "15064:7:0", + "referencedDeclaration": 708, + "src": "15002:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 797, + "id": 791, "indexExpression": { "argumentTypes": null, - "id": 796, + "id": 790, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 735, - "src": "15072:1:0", + "referencedDeclaration": 729, + "src": "15010:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12042,7 +11976,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15064:10:0", + "src": "15002:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12060,26 +11994,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 791, + "id": 785, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 711, - "src": "15039:12:0", + "referencedDeclaration": 705, + "src": "14977:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" } }, - "id": 793, + "id": 787, "indexExpression": { "argumentTypes": null, - "id": 792, + "id": 786, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 735, - "src": "15052:1:0", + "referencedDeclaration": 729, + "src": "14990:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12090,13 +12024,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15039:15:0", + "src": "14977:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 794, + "id": 788, "isConstant": false, "isLValue": false, "isPure": false, @@ -12104,13 +12038,13 @@ "memberName": "transfer", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "15039:24:0", + "src": "14977:24:0", "typeDescriptions": { "typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$", "typeString": "function (uint256)" } }, - "id": 798, + "id": 792, "isConstant": false, "isLValue": false, "isPure": false, @@ -12118,15 +12052,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15039:36:0", + "src": "14977:36:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 799, + "id": 793, "nodeType": "ExpressionStatement", - "src": "15039:36:0" + "src": "14977:36:0" } ] }, @@ -12136,19 +12070,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 741, + "id": 735, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 738, + "id": 732, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 735, - "src": "14633:1:0", + "referencedDeclaration": 729, + "src": "14571:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12160,18 +12094,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 739, + "id": 733, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 711, - "src": "14637:12:0", + "referencedDeclaration": 705, + "src": "14575:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" } }, - "id": 740, + "id": 734, "isConstant": false, "isLValue": false, "isPure": false, @@ -12179,31 +12113,31 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "14637:19:0", + "src": "14575:19:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "14633:23:0", + "src": "14571:23:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 801, + "id": 795, "initializationExpression": { "assignments": [ - 735 + 729 ], "declarations": [ { "constant": false, - "id": 735, + "id": 729, "name": "i", "nodeType": "VariableDeclaration", - "scope": 893, - "src": "14618:9:0", + "scope": 887, + "src": "14556:9:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12211,10 +12145,10 @@ "typeString": "uint256" }, "typeName": { - "id": 734, + "id": 728, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "14618:7:0", + "src": "14556:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12224,18 +12158,18 @@ "visibility": "internal" } ], - "id": 737, + "id": 731, "initialValue": { "argumentTypes": null, "hexValue": "30", - "id": 736, + "id": 730, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "14630:1:0", + "src": "14568:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -12244,12 +12178,12 @@ "value": "0" }, "nodeType": "VariableDeclarationStatement", - "src": "14618:13:0" + "src": "14556:13:0" }, "loopExpression": { "expression": { "argumentTypes": null, - "id": 743, + "id": 737, "isConstant": false, "isLValue": false, "isPure": false, @@ -12257,15 +12191,15 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "14658:3:0", + "src": "14596:3:0", "subExpression": { "argumentTypes": null, - "id": 742, + "id": 736, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 735, - "src": "14658:1:0", + "referencedDeclaration": 729, + "src": "14596:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12276,12 +12210,12 @@ "typeString": "uint256" } }, - "id": 744, + "id": 738, "nodeType": "ExpressionStatement", - "src": "14658:3:0" + "src": "14596:3:0" }, "nodeType": "ForStatement", - "src": "14613:477:0" + "src": "14551:477:0" } ] } @@ -12289,26 +12223,26 @@ { "expression": { "argumentTypes": null, - "id": 890, + "id": 884, "name": "valueTransferred", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 726, - "src": "15782:16:0", + "referencedDeclaration": 720, + "src": "15720:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 718, - "id": 891, + "functionReturnParameters": 712, + "id": 885, "nodeType": "Return", - "src": "15775:23:0" + "src": "15713:23:0" } ] }, "documentation": "dev Private method to transfer funds to the destination addresses on the basis of transaction type", - "id": 893, + "id": 887, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -12316,16 +12250,16 @@ "name": "transferFunds", "nodeType": "FunctionDefinition", "parameters": { - "id": 715, + "id": 709, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 708, + "id": 702, "name": "scriptHash", "nodeType": "VariableDeclaration", - "scope": 893, - "src": "14315:18:0", + "scope": 887, + "src": "14253:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12333,10 +12267,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 707, + "id": 701, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "14315:7:0", + "src": "14253:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -12347,11 +12281,11 @@ }, { "constant": false, - "id": 711, + "id": 705, "name": "destinations", "nodeType": "VariableDeclaration", - "scope": 893, - "src": "14343:21:0", + "scope": 887, + "src": "14281:21:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12360,19 +12294,19 @@ }, "typeName": { "baseType": { - "id": 709, + "id": 703, "name": "address", "nodeType": "ElementaryTypeName", - "src": "14343:7:0", + "src": "14281:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 710, + "id": 704, "length": null, "nodeType": "ArrayTypeName", - "src": "14343:9:0", + "src": "14281:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", "typeString": "address[]" @@ -12383,11 +12317,11 @@ }, { "constant": false, - "id": 714, + "id": 708, "name": "amounts", "nodeType": "VariableDeclaration", - "scope": 893, - "src": "14374:16:0", + "scope": 887, + "src": "14312:16:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12396,19 +12330,19 @@ }, "typeName": { "baseType": { - "id": 712, + "id": 706, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "14374:7:0", + "src": "14312:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 713, + "id": 707, "length": null, "nodeType": "ArrayTypeName", - "src": "14374:9:0", + "src": "14312:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -12418,20 +12352,20 @@ "visibility": "internal" } ], - "src": "14305:91:0" + "src": "14243:91:0" }, "payable": false, "returnParameters": { - "id": 718, + "id": 712, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 717, + "id": 711, "name": "", "nodeType": "VariableDeclaration", - "scope": 893, - "src": "14430:7:0", + "scope": 887, + "src": "14368:7:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12439,10 +12373,10 @@ "typeString": "uint256" }, "typeName": { - "id": 716, + "id": 710, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "14430:7:0", + "src": "14368:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12452,19 +12386,19 @@ "visibility": "internal" } ], - "src": "14429:9:0" + "src": "14367:9:0" }, - "scope": 1211, - "src": "14283:1522:0", + "scope": 1205, + "src": "14221:1522:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "private" }, { "body": { - "id": 1021, + "id": 1015, "nodeType": "Block", - "src": "16224:1337:0", + "src": "16162:1337:0", "statements": [ { "expression": { @@ -12476,7 +12410,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 926, + "id": 920, "isConstant": false, "isLValue": false, "isPure": false, @@ -12487,7 +12421,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 920, + "id": 914, "isConstant": false, "isLValue": false, "isPure": false, @@ -12496,18 +12430,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 916, + "id": 910, "name": "sigR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 899, - "src": "16256:4:0", + "referencedDeclaration": 893, + "src": "16194:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" } }, - "id": 917, + "id": 911, "isConstant": false, "isLValue": false, "isPure": false, @@ -12515,7 +12449,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "16256:11:0", + "src": "16194:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12527,18 +12461,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 918, + "id": 912, "name": "sigS", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 902, - "src": "16271:4:0", + "referencedDeclaration": 896, + "src": "16209:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" } }, - "id": 919, + "id": 913, "isConstant": false, "isLValue": false, "isPure": false, @@ -12546,13 +12480,13 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "16271:11:0", + "src": "16209:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "16256:26:0", + "src": "16194:26:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -12566,7 +12500,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 925, + "id": 919, "isConstant": false, "isLValue": false, "isPure": false, @@ -12575,18 +12509,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 921, + "id": 915, "name": "sigR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 899, - "src": "16286:4:0", + "referencedDeclaration": 893, + "src": "16224:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" } }, - "id": 922, + "id": 916, "isConstant": false, "isLValue": false, "isPure": false, @@ -12594,7 +12528,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "16286:11:0", + "src": "16224:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12606,18 +12540,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 923, + "id": 917, "name": "sigV", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 896, - "src": "16301:4:0", + "referencedDeclaration": 890, + "src": "16239:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr", "typeString": "uint8[] memory" } }, - "id": 924, + "id": 918, "isConstant": false, "isLValue": false, "isPure": false, @@ -12625,19 +12559,19 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "16301:11:0", + "src": "16239:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "16286:26:0", + "src": "16224:26:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "16256:56:0", + "src": "16194:56:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -12646,14 +12580,14 @@ { "argumentTypes": null, "hexValue": "522c532c56206c656e677468206d69736d617463682e", - "id": 927, + "id": 921, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "16327:24:0", + "src": "16265:24:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_f85073c8befb65baed58ca1ee563e5da0bdbdce8abd4d29ef22a8329c7c97506", @@ -12673,21 +12607,21 @@ "typeString": "literal_string \"R,S,V length mismatch.\"" } ], - "id": 915, + "id": 909, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1387, - 1388 + 1381, + 1382 ], - "referencedDeclaration": 1388, - "src": "16235:7:0", + "referencedDeclaration": 1382, + "src": "16173:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 928, + "id": 922, "isConstant": false, "isLValue": false, "isPure": false, @@ -12695,26 +12629,26 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16235:126:0", + "src": "16173:126:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 929, + "id": 923, "nodeType": "ExpressionStatement", - "src": "16235:126:0" + "src": "16173:126:0" }, { "assignments": [], "declarations": [ { "constant": false, - "id": 931, + "id": 925, "name": "lastAddress", "nodeType": "VariableDeclaration", - "scope": 1022, - "src": "16372:19:0", + "scope": 1016, + "src": "16310:19:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12722,10 +12656,10 @@ "typeString": "address" }, "typeName": { - "id": 930, + "id": 924, "name": "address", "nodeType": "ElementaryTypeName", - "src": "16372:7:0", + "src": "16310:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -12735,23 +12669,23 @@ "visibility": "internal" } ], - "id": 932, + "id": 926, "initialValue": null, "nodeType": "VariableDeclarationStatement", - "src": "16372:19:0" + "src": "16310:19:0" }, { "assignments": [ - 934 + 928 ], "declarations": [ { "constant": false, - "id": 934, + "id": 928, "name": "txHash", "nodeType": "VariableDeclaration", - "scope": 1022, - "src": "16490:14:0", + "scope": 1016, + "src": "16428:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12759,10 +12693,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 933, + "id": 927, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "16490:7:0", + "src": "16428:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -12772,7 +12706,7 @@ "visibility": "internal" } ], - "id": 956, + "id": 950, "initialValue": { "argumentTypes": null, "arguments": [ @@ -12782,14 +12716,14 @@ { "argumentTypes": null, "hexValue": "19457468657265756d205369676e6564204d6573736167653a0a3332", - "id": 938, + "id": 932, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "16564:34:0", + "src": "16502:34:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_178a2411ab6fbc1ba11064408972259c558d0e82fd48b0aba3ad81d14f065e73", @@ -12809,14 +12743,14 @@ { "argumentTypes": null, "hexValue": "30783139", - "id": 943, + "id": 937, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "16694:4:0", + "src": "16632:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_25_by_1", @@ -12832,20 +12766,20 @@ "typeString": "int_const 25" } ], - "id": 942, + "id": 936, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "16689:4:0", + "src": "16627:4:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes1_$", "typeString": "type(bytes1)" }, "typeName": "byte" }, - "id": 944, + "id": 938, "isConstant": false, "isLValue": false, "isPure": true, @@ -12853,7 +12787,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16689:10:0", + "src": "16627:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes1", "typeString": "bytes1" @@ -12865,14 +12799,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 946, + "id": 940, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "16730:1:0", + "src": "16668:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -12888,20 +12822,20 @@ "typeString": "int_const 0" } ], - "id": 945, + "id": 939, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "16725:4:0", + "src": "16663:4:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes1_$", "typeString": "type(bytes1)" }, "typeName": "byte" }, - "id": 947, + "id": 941, "isConstant": false, "isLValue": false, "isPure": true, @@ -12909,7 +12843,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16725:7:0", + "src": "16663:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes1", "typeString": "bytes1" @@ -12917,25 +12851,25 @@ }, { "argumentTypes": null, - "id": 948, + "id": 942, "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1401, - "src": "16758:4:0", + "referencedDeclaration": 1395, + "src": "16696:4:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_Escrow_v1_0_$1211", + "typeIdentifier": "t_contract$_Escrow_v1_0_$1205", "typeString": "contract Escrow_v1_0" } }, { "argumentTypes": null, - "id": 949, + "id": 943, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 907, - "src": "16788:12:0", + "referencedDeclaration": 901, + "src": "16726:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -12943,12 +12877,12 @@ }, { "argumentTypes": null, - "id": 950, + "id": 944, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 910, - "src": "16826:7:0", + "referencedDeclaration": 904, + "src": "16764:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" @@ -12956,12 +12890,12 @@ }, { "argumentTypes": null, - "id": 951, + "id": 945, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 904, - "src": "16859:10:0", + "referencedDeclaration": 898, + "src": "16797:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -12979,7 +12913,7 @@ "typeString": "bytes1" }, { - "typeIdentifier": "t_contract$_Escrow_v1_0_$1211", + "typeIdentifier": "t_contract$_Escrow_v1_0_$1205", "typeString": "contract Escrow_v1_0" }, { @@ -12997,18 +12931,18 @@ ], "expression": { "argumentTypes": null, - "id": 940, + "id": 934, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1371, - "src": "16647:3:0", + "referencedDeclaration": 1365, + "src": "16585:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, - "id": 941, + "id": 935, "isConstant": false, "isLValue": false, "isPure": true, @@ -13016,13 +12950,13 @@ "memberName": "encodePacked", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "16647:16:0", + "src": "16585:16:0", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, - "id": 952, + "id": 946, "isConstant": false, "isLValue": false, "isPure": false, @@ -13030,7 +12964,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16647:244:0", + "src": "16585:244:0", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -13044,18 +12978,18 @@ "typeString": "bytes memory" } ], - "id": 939, + "id": 933, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1378, - "src": "16616:9:0", + "referencedDeclaration": 1372, + "src": "16554:9:0", "typeDescriptions": { "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", "typeString": "function () pure returns (bytes32)" } }, - "id": 953, + "id": 947, "isConstant": false, "isLValue": false, "isPure": false, @@ -13063,7 +12997,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16616:293:0", + "src": "16554:293:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -13083,18 +13017,18 @@ ], "expression": { "argumentTypes": null, - "id": 936, + "id": 930, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1371, - "src": "16530:3:0", + "referencedDeclaration": 1365, + "src": "16468:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, - "id": 937, + "id": 931, "isConstant": false, "isLValue": false, "isPure": true, @@ -13102,13 +13036,13 @@ "memberName": "encodePacked", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "16530:16:0", + "src": "16468:16:0", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, - "id": 954, + "id": 948, "isConstant": false, "isLValue": false, "isPure": false, @@ -13116,7 +13050,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16530:393:0", + "src": "16468:393:0", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -13130,18 +13064,18 @@ "typeString": "bytes memory" } ], - "id": 935, + "id": 929, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1378, - "src": "16507:9:0", + "referencedDeclaration": 1372, + "src": "16445:9:0", "typeDescriptions": { "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", "typeString": "function () pure returns (bytes32)" } }, - "id": 955, + "id": 949, "isConstant": false, "isLValue": false, "isPure": false, @@ -13149,33 +13083,33 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16507:426:0", + "src": "16445:426:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "nodeType": "VariableDeclarationStatement", - "src": "16490:443:0" + "src": "16428:443:0" }, { "body": { - "id": 1017, + "id": 1011, "nodeType": "Block", - "src": "16983:543:0", + "src": "16921:543:0", "statements": [ { "assignments": [ - 969 + 963 ], "declarations": [ { "constant": false, - "id": 969, + "id": 963, "name": "recovered", "nodeType": "VariableDeclaration", - "scope": 1022, - "src": "16998:17:0", + "scope": 1016, + "src": "16936:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -13183,10 +13117,10 @@ "typeString": "address" }, "typeName": { - "id": 968, + "id": 962, "name": "address", "nodeType": "ElementaryTypeName", - "src": "16998:7:0", + "src": "16936:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -13196,18 +13130,18 @@ "visibility": "internal" } ], - "id": 982, + "id": 976, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 971, + "id": 965, "name": "txHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 934, - "src": "17045:6:0", + "referencedDeclaration": 928, + "src": "16983:6:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -13217,26 +13151,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 972, + "id": 966, "name": "sigV", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 896, - "src": "17069:4:0", + "referencedDeclaration": 890, + "src": "17007:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr", "typeString": "uint8[] memory" } }, - "id": 974, + "id": 968, "indexExpression": { "argumentTypes": null, - "id": 973, + "id": 967, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 958, - "src": "17074:1:0", + "referencedDeclaration": 952, + "src": "17012:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13247,7 +13181,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17069:7:0", + "src": "17007:7:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -13257,26 +13191,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 975, + "id": 969, "name": "sigR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 899, - "src": "17094:4:0", + "referencedDeclaration": 893, + "src": "17032:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" } }, - "id": 977, + "id": 971, "indexExpression": { "argumentTypes": null, - "id": 976, + "id": 970, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 958, - "src": "17099:1:0", + "referencedDeclaration": 952, + "src": "17037:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13287,7 +13221,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17094:7:0", + "src": "17032:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -13297,26 +13231,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 978, + "id": 972, "name": "sigS", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 902, - "src": "17119:4:0", + "referencedDeclaration": 896, + "src": "17057:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" } }, - "id": 980, + "id": 974, "indexExpression": { "argumentTypes": null, - "id": 979, + "id": 973, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 958, - "src": "17124:1:0", + "referencedDeclaration": 952, + "src": "17062:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13327,7 +13261,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17119:7:0", + "src": "17057:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -13353,18 +13287,18 @@ "typeString": "bytes32" } ], - "id": 970, + "id": 964, "name": "ecrecover", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1376, - "src": "17018:9:0", + "referencedDeclaration": 1370, + "src": "16956:9:0", "typeDescriptions": { "typeIdentifier": "t_function_ecrecover_pure$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$_t_address_$", "typeString": "function (bytes32,uint8,bytes32,bytes32) pure returns (address)" } }, - "id": 981, + "id": 975, "isConstant": false, "isLValue": false, "isPure": false, @@ -13372,14 +13306,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17018:122:0", + "src": "16956:122:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "VariableDeclarationStatement", - "src": "16998:142:0" + "src": "16936:142:0" }, { "expression": { @@ -13393,26 +13327,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 984, + "id": 978, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "17180:12:0", + "src": "17118:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 986, + "id": 980, "indexExpression": { "argumentTypes": null, - "id": 985, + "id": 979, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 904, - "src": "17193:10:0", + "referencedDeclaration": 898, + "src": "17131:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -13423,13 +13357,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17180:24:0", + "src": "17118:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 987, + "id": 981, "isConstant": false, "isLValue": true, "isPure": false, @@ -13437,21 +13371,21 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "17180:32:0", + "src": "17118:32:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 989, + "id": 983, "indexExpression": { "argumentTypes": null, - "id": 988, + "id": 982, "name": "recovered", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 969, - "src": "17213:9:0", + "referencedDeclaration": 963, + "src": "17151:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -13462,7 +13396,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17180:43:0", + "src": "17118:43:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -13471,14 +13405,14 @@ { "argumentTypes": null, "hexValue": "496e76616c6964207369676e6174757265", - "id": 990, + "id": 984, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "17242:19:0", + "src": "17180:19:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_4f2d7dfcb27c0aafa13ae8c400de482c7832204d194018b6e45bd2bf244c74e7", @@ -13498,21 +13432,21 @@ "typeString": "literal_string \"Invalid signature\"" } ], - "id": 983, + "id": 977, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1387, - 1388 + 1381, + 1382 ], - "referencedDeclaration": 1388, - "src": "17155:7:0", + "referencedDeclaration": 1382, + "src": "17093:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 991, + "id": 985, "isConstant": false, "isLValue": false, "isPure": false, @@ -13520,15 +13454,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17155:120:0", + "src": "17093:120:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 992, + "id": 986, "nodeType": "ExpressionStatement", - "src": "17155:120:0" + "src": "17093:120:0" }, { "expression": { @@ -13536,7 +13470,7 @@ "arguments": [ { "argumentTypes": null, - "id": 1000, + "id": 994, "isConstant": false, "isLValue": false, "isPure": false, @@ -13544,7 +13478,7 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "17314:42:0", + "src": "17252:42:0", "subExpression": { "argumentTypes": null, "baseExpression": { @@ -13553,26 +13487,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 994, + "id": 988, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "17315:12:0", + "src": "17253:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 996, + "id": 990, "indexExpression": { "argumentTypes": null, - "id": 995, + "id": 989, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 904, - "src": "17328:10:0", + "referencedDeclaration": 898, + "src": "17266:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -13583,13 +13517,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17315:24:0", + "src": "17253:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 997, + "id": 991, "isConstant": false, "isLValue": true, "isPure": false, @@ -13597,21 +13531,21 @@ "memberName": "voted", "nodeType": "MemberAccess", "referencedDeclaration": 66, - "src": "17315:30:0", + "src": "17253:30:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 999, + "id": 993, "indexExpression": { "argumentTypes": null, - "id": 998, + "id": 992, "name": "recovered", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 969, - "src": "17346:9:0", + "referencedDeclaration": 963, + "src": "17284:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -13622,7 +13556,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17315:41:0", + "src": "17253:41:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -13636,14 +13570,14 @@ { "argumentTypes": null, "hexValue": "53616d65207369676e61747572652073656e74207477696365", - "id": 1001, + "id": 995, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "17375:27:0", + "src": "17313:27:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_fb2c7e49d5ec7ce36fa812cf15ee7fa946942f931d04fe3ae970516007b2a543", @@ -13663,21 +13597,21 @@ "typeString": "literal_string \"Same signature sent twice\"" } ], - "id": 993, + "id": 987, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1387, - 1388 + 1381, + 1382 ], - "referencedDeclaration": 1388, - "src": "17289:7:0", + "referencedDeclaration": 1382, + "src": "17227:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 1002, + "id": 996, "isConstant": false, "isLValue": false, "isPure": false, @@ -13685,20 +13619,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17289:127:0", + "src": "17227:127:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1003, + "id": 997, "nodeType": "ExpressionStatement", - "src": "17289:127:0" + "src": "17227:127:0" }, { "expression": { "argumentTypes": null, - "id": 1011, + "id": 1005, "isConstant": false, "isLValue": false, "isPure": false, @@ -13711,26 +13645,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1004, + "id": 998, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "17430:12:0", + "src": "17368:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 1006, + "id": 1000, "indexExpression": { "argumentTypes": null, - "id": 1005, + "id": 999, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 904, - "src": "17443:10:0", + "referencedDeclaration": 898, + "src": "17381:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -13741,13 +13675,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17430:24:0", + "src": "17368:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 1007, + "id": 1001, "isConstant": false, "isLValue": true, "isPure": false, @@ -13755,21 +13689,21 @@ "memberName": "voted", "nodeType": "MemberAccess", "referencedDeclaration": 66, - "src": "17430:30:0", + "src": "17368:30:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 1009, + "id": 1003, "indexExpression": { "argumentTypes": null, - "id": 1008, + "id": 1002, "name": "recovered", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 969, - "src": "17461:9:0", + "referencedDeclaration": 963, + "src": "17399:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -13780,7 +13714,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "17430:41:0", + "src": "17368:41:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -13791,14 +13725,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "74727565", - "id": 1010, + "id": 1004, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "17474:4:0", + "src": "17412:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -13806,32 +13740,32 @@ }, "value": "true" }, - "src": "17430:48:0", + "src": "17368:48:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 1012, + "id": 1006, "nodeType": "ExpressionStatement", - "src": "17430:48:0" + "src": "17368:48:0" }, { "expression": { "argumentTypes": null, - "id": 1015, + "id": 1009, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 1013, + "id": 1007, "name": "lastAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 931, - "src": "17492:11:0", + "referencedDeclaration": 925, + "src": "17430:11:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -13841,26 +13775,26 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 1014, + "id": 1008, "name": "recovered", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 969, - "src": "17506:9:0", + "referencedDeclaration": 963, + "src": "17444:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "17492:23:0", + "src": "17430:23:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 1016, + "id": 1010, "nodeType": "ExpressionStatement", - "src": "17492:23:0" + "src": "17430:23:0" } ] }, @@ -13870,19 +13804,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 964, + "id": 958, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 961, + "id": 955, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 958, - "src": "16961:1:0", + "referencedDeclaration": 952, + "src": "16899:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13894,18 +13828,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 962, + "id": 956, "name": "sigR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 899, - "src": "16965:4:0", + "referencedDeclaration": 893, + "src": "16903:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" } }, - "id": 963, + "id": 957, "isConstant": false, "isLValue": false, "isPure": false, @@ -13913,31 +13847,31 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "16965:11:0", + "src": "16903:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "16961:15:0", + "src": "16899:15:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 1018, + "id": 1012, "initializationExpression": { "assignments": [ - 958 + 952 ], "declarations": [ { "constant": false, - "id": 958, + "id": 952, "name": "i", "nodeType": "VariableDeclaration", - "scope": 1022, - "src": "16949:6:0", + "scope": 1016, + "src": "16887:6:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -13945,10 +13879,10 @@ "typeString": "uint256" }, "typeName": { - "id": 957, + "id": 951, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "16949:4:0", + "src": "16887:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13958,18 +13892,18 @@ "visibility": "internal" } ], - "id": 960, + "id": 954, "initialValue": { "argumentTypes": null, "hexValue": "30", - "id": 959, + "id": 953, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "16958:1:0", + "src": "16896:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -13978,12 +13912,12 @@ "value": "0" }, "nodeType": "VariableDeclarationStatement", - "src": "16949:10:0" + "src": "16887:10:0" }, "loopExpression": { "expression": { "argumentTypes": null, - "id": 966, + "id": 960, "isConstant": false, "isLValue": false, "isPure": false, @@ -13991,15 +13925,15 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "16978:3:0", + "src": "16916:3:0", "subExpression": { "argumentTypes": null, - "id": 965, + "id": 959, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 958, - "src": "16978:1:0", + "referencedDeclaration": 952, + "src": "16916:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14010,36 +13944,36 @@ "typeString": "uint256" } }, - "id": 967, + "id": 961, "nodeType": "ExpressionStatement", - "src": "16978:3:0" + "src": "16916:3:0" }, "nodeType": "ForStatement", - "src": "16944:582:0" + "src": "16882:582:0" }, { "expression": { "argumentTypes": null, - "id": 1019, + "id": 1013, "name": "lastAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 931, - "src": "17543:11:0", + "referencedDeclaration": 925, + "src": "17481:11:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "functionReturnParameters": 914, - "id": 1020, + "functionReturnParameters": 908, + "id": 1014, "nodeType": "Return", - "src": "17536:18:0" + "src": "17474:18:0" } ] }, "documentation": null, - "id": 1022, + "id": 1016, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -14047,16 +13981,16 @@ "name": "verifySignatures", "nodeType": "FunctionDefinition", "parameters": { - "id": 911, + "id": 905, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 896, + "id": 890, "name": "sigV", "nodeType": "VariableDeclaration", - "scope": 1022, - "src": "16025:12:0", + "scope": 1016, + "src": "15963:12:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14065,19 +13999,19 @@ }, "typeName": { "baseType": { - "id": 894, + "id": 888, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "16025:5:0", + "src": "15963:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, - "id": 895, + "id": 889, "length": null, "nodeType": "ArrayTypeName", - "src": "16025:7:0", + "src": "15963:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_storage_ptr", "typeString": "uint8[]" @@ -14088,11 +14022,11 @@ }, { "constant": false, - "id": 899, + "id": 893, "name": "sigR", "nodeType": "VariableDeclaration", - "scope": 1022, - "src": "16047:14:0", + "scope": 1016, + "src": "15985:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14101,19 +14035,19 @@ }, "typeName": { "baseType": { - "id": 897, + "id": 891, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "16047:7:0", + "src": "15985:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "id": 898, + "id": 892, "length": null, "nodeType": "ArrayTypeName", - "src": "16047:9:0", + "src": "15985:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -14124,11 +14058,11 @@ }, { "constant": false, - "id": 902, + "id": 896, "name": "sigS", "nodeType": "VariableDeclaration", - "scope": 1022, - "src": "16071:14:0", + "scope": 1016, + "src": "16009:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14137,19 +14071,19 @@ }, "typeName": { "baseType": { - "id": 900, + "id": 894, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "16071:7:0", + "src": "16009:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "id": 901, + "id": 895, "length": null, "nodeType": "ArrayTypeName", - "src": "16071:9:0", + "src": "16009:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -14160,11 +14094,11 @@ }, { "constant": false, - "id": 904, + "id": 898, "name": "scriptHash", "nodeType": "VariableDeclaration", - "scope": 1022, - "src": "16095:18:0", + "scope": 1016, + "src": "16033:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14172,10 +14106,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 903, + "id": 897, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "16095:7:0", + "src": "16033:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -14186,11 +14120,11 @@ }, { "constant": false, - "id": 907, + "id": 901, "name": "destinations", "nodeType": "VariableDeclaration", - "scope": 1022, - "src": "16123:22:0", + "scope": 1016, + "src": "16061:22:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14199,19 +14133,19 @@ }, "typeName": { "baseType": { - "id": 905, + "id": 899, "name": "address", "nodeType": "ElementaryTypeName", - "src": "16123:7:0", + "src": "16061:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 906, + "id": 900, "length": null, "nodeType": "ArrayTypeName", - "src": "16123:9:0", + "src": "16061:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", "typeString": "address[]" @@ -14222,11 +14156,11 @@ }, { "constant": false, - "id": 910, + "id": 904, "name": "amounts", "nodeType": "VariableDeclaration", - "scope": 1022, - "src": "16155:16:0", + "scope": 1016, + "src": "16093:16:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14235,19 +14169,19 @@ }, "typeName": { "baseType": { - "id": 908, + "id": 902, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "16155:7:0", + "src": "16093:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 909, + "id": 903, "length": null, "nodeType": "ArrayTypeName", - "src": "16155:9:0", + "src": "16093:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -14257,20 +14191,20 @@ "visibility": "internal" } ], - "src": "16015:162:0" + "src": "15953:162:0" }, "payable": false, "returnParameters": { - "id": 914, + "id": 908, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 913, + "id": 907, "name": "", "nodeType": "VariableDeclaration", - "scope": 1022, - "src": "16211:7:0", + "scope": 1016, + "src": "16149:7:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14278,10 +14212,10 @@ "typeString": "address" }, "typeName": { - "id": 912, + "id": 906, "name": "address", "nodeType": "ElementaryTypeName", - "src": "16211:7:0", + "src": "16149:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -14291,32 +14225,32 @@ "visibility": "internal" } ], - "src": "16210:9:0" + "src": "16148:9:0" }, - "scope": 1211, - "src": "15990:1571:0", + "scope": 1205, + "src": "15928:1571:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "private" }, { "body": { - "id": 1053, + "id": 1047, "nodeType": "Block", - "src": "17715:168:0", + "src": "17653:168:0", "statements": [ { "assignments": [ - 1032 + 1026 ], "declarations": [ { "constant": false, - "id": 1032, + "id": 1026, "name": "timeSince", "nodeType": "VariableDeclaration", - "scope": 1054, - "src": "17725:17:0", + "scope": 1048, + "src": "17663:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14324,10 +14258,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1031, + "id": 1025, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "17725:7:0", + "src": "17663:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14337,18 +14271,18 @@ "visibility": "internal" } ], - "id": 1037, + "id": 1031, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 1035, + "id": 1029, "name": "lastModified", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1026, - "src": "17753:12:0", + "referencedDeclaration": 1020, + "src": "17691:12:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14364,32 +14298,32 @@ ], "expression": { "argumentTypes": null, - "id": 1033, + "id": 1027, "name": "now", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1386, - "src": "17745:3:0", + "referencedDeclaration": 1380, + "src": "17683:3:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1034, + "id": 1028, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sub", "nodeType": "MemberAccess", - "referencedDeclaration": 1324, - "src": "17745:7:0", + "referencedDeclaration": 1318, + "src": "17683:7:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 1036, + "id": 1030, "isConstant": false, "isLValue": false, "isPure": false, @@ -14397,14 +14331,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17745:21:0", + "src": "17683:21:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "17725:41:0" + "src": "17663:41:0" }, { "expression": { @@ -14418,19 +14352,19 @@ "typeIdentifier": "t_uint32", "typeString": "uint32" }, - "id": 1040, + "id": 1034, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1038, + "id": 1032, "name": "timeoutHours", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1024, - "src": "17797:12:0", + "referencedDeclaration": 1018, + "src": "17735:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -14441,14 +14375,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 1039, + "id": 1033, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "17813:1:0", + "src": "17751:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -14456,7 +14390,7 @@ }, "value": "0" }, - "src": "17797:17:0", + "src": "17735:17:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -14468,19 +14402,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1049, + "id": 1043, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1042, + "id": 1036, "name": "timeSince", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1032, - "src": "17823:9:0", + "referencedDeclaration": 1026, + "src": "17761:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14494,14 +14428,14 @@ { "argumentTypes": null, "hexValue": "33363030", - "id": 1047, + "id": 1041, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "17861:4:0", + "src": "17799:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_3600_by_1", @@ -14522,12 +14456,12 @@ "arguments": [ { "argumentTypes": null, - "id": 1044, + "id": 1038, "name": "timeoutHours", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1024, - "src": "17843:12:0", + "referencedDeclaration": 1018, + "src": "17781:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -14541,20 +14475,20 @@ "typeString": "uint32" } ], - "id": 1043, + "id": 1037, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "17835:7:0", + "src": "17773:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint256_$", "typeString": "type(uint256)" }, "typeName": "uint256" }, - "id": 1045, + "id": 1039, "isConstant": false, "isLValue": false, "isPure": false, @@ -14562,27 +14496,27 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17835:21:0", + "src": "17773:21:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1046, + "id": 1040, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "mul", "nodeType": "MemberAccess", - "referencedDeclaration": 1276, - "src": "17835:25:0", + "referencedDeclaration": 1270, + "src": "17773:25:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 1048, + "id": 1042, "isConstant": false, "isLValue": false, "isPure": false, @@ -14590,36 +14524,36 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17835:31:0", + "src": "17773:31:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "17823:43:0", + "src": "17761:43:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 1050, + "id": 1044, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "Conditional", - "src": "17797:69:0", + "src": "17735:69:0", "trueExpression": { "argumentTypes": null, "hexValue": "66616c7365", - "id": 1041, + "id": 1035, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "17817:5:0", + "src": "17755:5:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -14633,28 +14567,28 @@ } } ], - "id": 1051, + "id": 1045, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "17783:93:0", + "src": "17721:93:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "functionReturnParameters": 1030, - "id": 1052, + "functionReturnParameters": 1024, + "id": 1046, "nodeType": "Return", - "src": "17776:100:0" + "src": "17714:100:0" } ] }, "documentation": null, - "id": 1054, + "id": 1048, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -14662,16 +14596,16 @@ "name": "isTimeLockExpired", "nodeType": "FunctionDefinition", "parameters": { - "id": 1027, + "id": 1021, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1024, + "id": 1018, "name": "timeoutHours", "nodeType": "VariableDeclaration", - "scope": 1054, - "src": "17603:19:0", + "scope": 1048, + "src": "17541:19:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14679,10 +14613,10 @@ "typeString": "uint32" }, "typeName": { - "id": 1023, + "id": 1017, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "17603:6:0", + "src": "17541:6:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -14693,11 +14627,11 @@ }, { "constant": false, - "id": 1026, + "id": 1020, "name": "lastModified", "nodeType": "VariableDeclaration", - "scope": 1054, - "src": "17632:20:0", + "scope": 1048, + "src": "17570:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14705,10 +14639,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1025, + "id": 1019, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "17632:7:0", + "src": "17570:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14718,20 +14652,20 @@ "visibility": "internal" } ], - "src": "17593:65:0" + "src": "17531:65:0" }, "payable": false, "returnParameters": { - "id": 1030, + "id": 1024, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1029, + "id": 1023, "name": "", "nodeType": "VariableDeclaration", - "scope": 1054, - "src": "17705:4:0", + "scope": 1048, + "src": "17643:4:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14739,10 +14673,10 @@ "typeString": "bool" }, "typeName": { - "id": 1028, + "id": 1022, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "17705:4:0", + "src": "17643:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -14752,19 +14686,19 @@ "visibility": "internal" } ], - "src": "17704:6:0" + "src": "17642:6:0" }, - "scope": 1211, - "src": "17567:316:0", + "scope": 1205, + "src": "17505:316:0", "stateMutability": "view", "superFunction": null, "visibility": "private" }, { "body": { - "id": 1209, + "id": 1203, "nodeType": "Block", - "src": "18297:2314:0", + "src": "18235:2314:0", "statements": [ { "expression": { @@ -14776,19 +14710,19 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 1080, + "id": 1074, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1078, + "id": 1072, "name": "buyer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1056, - "src": "18323:5:0", + "referencedDeclaration": 1050, + "src": "18261:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -14798,18 +14732,18 @@ "operator": "!=", "rightExpression": { "argumentTypes": null, - "id": 1079, + "id": 1073, "name": "seller", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1058, - "src": "18332:6:0", + "referencedDeclaration": 1052, + "src": "18270:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "18323:15:0", + "src": "18261:15:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -14818,14 +14752,14 @@ { "argumentTypes": null, "hexValue": "427579657220616e642073656c6c6572206172652073616d65", - "id": 1081, + "id": 1075, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "18340:27:0", + "src": "18278:27:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_6141441751234d42e9a73d96317794195c7ff57b8f16ac15725a10f10763f824", @@ -14845,21 +14779,21 @@ "typeString": "literal_string \"Buyer and seller are same\"" } ], - "id": 1077, + "id": 1071, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1387, - 1388 + 1381, + 1382 ], - "referencedDeclaration": 1388, - "src": "18315:7:0", + "referencedDeclaration": 1382, + "src": "18253:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 1082, + "id": 1076, "isConstant": false, "isLValue": false, "isPure": false, @@ -14867,15 +14801,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18315:53:0", + "src": "18253:53:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1083, + "id": 1077, "nodeType": "ExpressionStatement", - "src": "18315:53:0" + "src": "18253:53:0" }, { "expression": { @@ -14887,19 +14821,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1087, + "id": 1081, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1085, + "id": 1079, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1068, - "src": "18435:5:0", + "referencedDeclaration": 1062, + "src": "18373:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14910,14 +14844,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 1086, + "id": 1080, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "18443:1:0", + "src": "18381:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -14925,7 +14859,7 @@ }, "value": "0" }, - "src": "18435:9:0", + "src": "18373:9:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -14934,14 +14868,14 @@ { "argumentTypes": null, "hexValue": "56616c7565207061737365642069732030", - "id": 1088, + "id": 1082, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "18446:19:0", + "src": "18384:19:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_3686f87c4804517ea83323ccf1a3b5b5ff52ed144b19e6fc56abe8fcd182e747", @@ -14961,21 +14895,21 @@ "typeString": "literal_string \"Value passed is 0\"" } ], - "id": 1084, + "id": 1078, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1387, - 1388 + 1381, + 1382 ], - "referencedDeclaration": 1388, - "src": "18427:7:0", + "referencedDeclaration": 1382, + "src": "18365:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 1089, + "id": 1083, "isConstant": false, "isLValue": false, "isPure": false, @@ -14983,15 +14917,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18427:39:0", + "src": "18365:39:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1090, + "id": 1084, "nodeType": "ExpressionStatement", - "src": "18427:39:0" + "src": "18365:39:0" }, { "expression": { @@ -15003,7 +14937,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 1098, + "id": 1092, "isConstant": false, "isLValue": false, "isPure": false, @@ -15014,19 +14948,19 @@ "typeIdentifier": "t_uint8", "typeString": "uint8" }, - "id": 1094, + "id": 1088, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1092, + "id": 1086, "name": "threshold", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1062, - "src": "18569:9:0", + "referencedDeclaration": 1056, + "src": "18507:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -15037,14 +14971,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 1093, + "id": 1087, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "18581:1:0", + "src": "18519:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -15052,7 +14986,7 @@ }, "value": "0" }, - "src": "18569:13:0", + "src": "18507:13:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -15066,19 +15000,19 @@ "typeIdentifier": "t_uint8", "typeString": "uint8" }, - "id": 1097, + "id": 1091, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1095, + "id": 1089, "name": "threshold", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1062, - "src": "18586:9:0", + "referencedDeclaration": 1056, + "src": "18524:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -15089,14 +15023,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "33", - "id": 1096, + "id": 1090, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "18599:1:0", + "src": "18537:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_3_by_1", @@ -15104,13 +15038,13 @@ }, "value": "3" }, - "src": "18586:14:0", + "src": "18524:14:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "18569:31:0", + "src": "18507:31:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -15119,14 +15053,14 @@ { "argumentTypes": null, "hexValue": "5468726573686f6c642063616e6e6f742062652067726561746572207468616e203320616e64206d7573742062652067726561746572207468616e2030", - "id": 1099, + "id": 1093, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "18615:63:0", + "src": "18553:63:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_351c1d5dfdc4a2b4c61d6f4dbb41a0d2ae70a9c094d3c0add87af24b5dd19c13", @@ -15146,21 +15080,21 @@ "typeString": "literal_string \"Threshold cannot be greater than 3 and must be greater than 0\"" } ], - "id": 1091, + "id": 1085, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1387, - 1388 + 1381, + 1382 ], - "referencedDeclaration": 1388, - "src": "18548:7:0", + "referencedDeclaration": 1382, + "src": "18486:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 1100, + "id": 1094, "isConstant": false, "isLValue": false, "isPure": false, @@ -15168,15 +15102,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18548:140:0", + "src": "18486:140:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1101, + "id": 1095, "nodeType": "ExpressionStatement", - "src": "18548:140:0" + "src": "18486:140:0" }, { "expression": { @@ -15188,7 +15122,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 1111, + "id": 1105, "isConstant": false, "isLValue": false, "isPure": false, @@ -15199,19 +15133,19 @@ "typeIdentifier": "t_uint8", "typeString": "uint8" }, - "id": 1105, + "id": 1099, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1103, + "id": 1097, "name": "threshold", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1062, - "src": "18969:9:0", + "referencedDeclaration": 1056, + "src": "18907:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -15222,14 +15156,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "31", - "id": 1104, + "id": 1098, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "18982:1:0", + "src": "18920:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -15237,7 +15171,7 @@ }, "value": "1" }, - "src": "18969:14:0", + "src": "18907:14:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -15251,19 +15185,19 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 1110, + "id": 1104, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1106, + "id": 1100, "name": "moderator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1060, - "src": "18987:9:0", + "referencedDeclaration": 1054, + "src": "18925:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15277,14 +15211,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 1108, + "id": 1102, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "19008:1:0", + "src": "18946:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -15300,20 +15234,20 @@ "typeString": "int_const 0" } ], - "id": 1107, + "id": 1101, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "19000:7:0", + "src": "18938:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, - "id": 1109, + "id": 1103, "isConstant": false, "isLValue": false, "isPure": true, @@ -15321,19 +15255,19 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "19000:10:0", + "src": "18938:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "18987:23:0", + "src": "18925:23:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "18969:41:0", + "src": "18907:41:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -15342,14 +15276,14 @@ { "argumentTypes": null, "hexValue": "456974686572207468726573686f6c642073686f756c642062652031206f722076616c6964206d6f64657261746f7220616464726573732073686f756c6420626520706173736564", - "id": 1112, + "id": 1106, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "19024:74:0", + "src": "18962:74:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_2056db168725d2fabb8aaf14efad7a3fc12ef6bc7132f0596ea09b041b71cb25", @@ -15369,21 +15303,21 @@ "typeString": "literal_string \"Either threshold should be 1 or valid moderator address should be passed\"" } ], - "id": 1102, + "id": 1096, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1387, - 1388 + 1381, + 1382 ], - "referencedDeclaration": 1388, - "src": "18948:7:0", + "referencedDeclaration": 1382, + "src": "18886:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 1113, + "id": 1107, "isConstant": false, "isLValue": false, "isPure": false, @@ -15391,15 +15325,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18948:160:0", + "src": "18886:160:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1114, + "id": 1108, "nodeType": "ExpressionStatement", - "src": "18948:160:0" + "src": "18886:160:0" }, { "expression": { @@ -15411,19 +15345,19 @@ "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, - "id": 1126, + "id": 1120, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1116, + "id": 1110, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1066, - "src": "19140:10:0", + "referencedDeclaration": 1060, + "src": "19078:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -15436,12 +15370,12 @@ "arguments": [ { "argumentTypes": null, - "id": 1118, + "id": 1112, "name": "uniqueId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1070, - "src": "19197:8:0", + "referencedDeclaration": 1064, + "src": "19135:8:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -15449,12 +15383,12 @@ }, { "argumentTypes": null, - "id": 1119, + "id": 1113, "name": "threshold", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1062, - "src": "19223:9:0", + "referencedDeclaration": 1056, + "src": "19161:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -15462,12 +15396,12 @@ }, { "argumentTypes": null, - "id": 1120, + "id": 1114, "name": "timeoutHours", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1064, - "src": "19250:12:0", + "referencedDeclaration": 1058, + "src": "19188:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -15475,12 +15409,12 @@ }, { "argumentTypes": null, - "id": 1121, + "id": 1115, "name": "buyer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1056, - "src": "19280:5:0", + "referencedDeclaration": 1050, + "src": "19218:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15488,12 +15422,12 @@ }, { "argumentTypes": null, - "id": 1122, + "id": 1116, "name": "seller", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1058, - "src": "19303:6:0", + "referencedDeclaration": 1052, + "src": "19241:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15501,12 +15435,12 @@ }, { "argumentTypes": null, - "id": 1123, + "id": 1117, "name": "moderator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1060, - "src": "19327:9:0", + "referencedDeclaration": 1054, + "src": "19265:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15514,12 +15448,12 @@ }, { "argumentTypes": null, - "id": 1124, + "id": 1118, "name": "tokenAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1074, - "src": "19354:12:0", + "referencedDeclaration": 1068, + "src": "19292:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15557,18 +15491,18 @@ "typeString": "address" } ], - "id": 1117, + "id": 1111, "name": "calculateRedeemScriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 637, - "src": "19154:25:0", + "referencedDeclaration": 631, + "src": "19092:25:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_bytes20_$_t_uint8_$_t_uint32_$_t_address_$_t_address_$_t_address_$_t_address_$returns$_t_bytes32_$", "typeString": "function (bytes20,uint8,uint32,address,address,address,address) view returns (bytes32)" } }, - "id": 1125, + "id": 1119, "isConstant": false, "isLValue": false, "isPure": false, @@ -15576,13 +15510,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "19154:226:0", + "src": "19092:226:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "src": "19140:240:0", + "src": "19078:240:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -15591,14 +15525,14 @@ { "argumentTypes": null, "hexValue": "43616c63756c6174656420736372697074206861736820646f6573206e6f74206d61746368207061737365642073637269707420686173682e", - "id": 1127, + "id": 1121, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "19395:59:0", + "src": "19333:59:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_0c041e0c58e6b0e01d338d852a5abb639065eabeb0aee05e0ce3e5f0e52b4f51", @@ -15618,21 +15552,21 @@ "typeString": "literal_string \"Calculated script hash does not match passed script hash.\"" } ], - "id": 1115, + "id": 1109, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1387, - 1388 + 1381, + 1382 ], - "referencedDeclaration": 1388, - "src": "19119:7:0", + "referencedDeclaration": 1382, + "src": "19057:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 1128, + "id": 1122, "isConstant": false, "isLValue": false, "isPure": false, @@ -15640,20 +15574,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "19119:345:0", + "src": "19057:345:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1129, + "id": 1123, "nodeType": "ExpressionStatement", - "src": "19119:345:0" + "src": "19057:345:0" }, { "expression": { "argumentTypes": null, - "id": 1147, + "id": 1141, "isConstant": false, "isLValue": false, "isPure": false, @@ -15662,26 +15596,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1130, + "id": 1124, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "19475:12:0", + "src": "19413:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 1132, + "id": 1126, "indexExpression": { "argumentTypes": null, - "id": 1131, + "id": 1125, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1066, - "src": "19488:10:0", + "referencedDeclaration": 1060, + "src": "19426:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -15692,7 +15626,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "19475:24:0", + "src": "19413:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -15705,12 +15639,12 @@ "arguments": [ { "argumentTypes": null, - "id": 1134, + "id": 1128, "name": "buyer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1056, - "src": "19535:5:0", + "referencedDeclaration": 1050, + "src": "19473:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15718,12 +15652,12 @@ }, { "argumentTypes": null, - "id": 1135, + "id": 1129, "name": "seller", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1058, - "src": "19562:6:0", + "referencedDeclaration": 1052, + "src": "19500:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15731,12 +15665,12 @@ }, { "argumentTypes": null, - "id": 1136, + "id": 1130, "name": "moderator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1060, - "src": "19593:9:0", + "referencedDeclaration": 1054, + "src": "19531:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15744,12 +15678,12 @@ }, { "argumentTypes": null, - "id": 1137, + "id": 1131, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1068, - "src": "19623:5:0", + "referencedDeclaration": 1062, + "src": "19561:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -15759,18 +15693,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1138, + "id": 1132, "name": "Status", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9, - "src": "19650:6:0", + "src": "19588:6:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_Status_$9_$", "typeString": "type(enum Escrow_v1_0.Status)" } }, - "id": 1139, + "id": 1133, "isConstant": false, "isLValue": false, "isPure": true, @@ -15778,7 +15712,7 @@ "memberName": "FUNDED", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "19650:13:0", + "src": "19588:13:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$9", "typeString": "enum Escrow_v1_0.Status" @@ -15788,18 +15722,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1140, + "id": 1134, "name": "block", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1374, - "src": "19691:5:0", + "referencedDeclaration": 1368, + "src": "19629:5:0", "typeDescriptions": { "typeIdentifier": "t_magic_block", "typeString": "block" } }, - "id": 1141, + "id": 1135, "isConstant": false, "isLValue": false, "isPure": false, @@ -15807,7 +15741,7 @@ "memberName": "timestamp", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "19691:15:0", + "src": "19629:15:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -15815,12 +15749,12 @@ }, { "argumentTypes": null, - "id": 1142, + "id": 1136, "name": "threshold", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1062, - "src": "19731:9:0", + "referencedDeclaration": 1056, + "src": "19669:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -15828,12 +15762,12 @@ }, { "argumentTypes": null, - "id": 1143, + "id": 1137, "name": "timeoutHours", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1064, - "src": "19768:12:0", + "referencedDeclaration": 1058, + "src": "19706:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -15841,12 +15775,12 @@ }, { "argumentTypes": null, - "id": 1144, + "id": 1138, "name": "transactionType", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1072, - "src": "19810:15:0", + "referencedDeclaration": 1066, + "src": "19748:15:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -15854,12 +15788,12 @@ }, { "argumentTypes": null, - "id": 1145, + "id": 1139, "name": "tokenAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1074, - "src": "19852:12:0", + "referencedDeclaration": 1068, + "src": "19790:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15868,18 +15802,18 @@ ], "expression": { "argumentTypes": null, - "id": 1133, + "id": 1127, "name": "Transaction", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 71, - "src": "19502:11:0", + "src": "19440:11:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_struct$_Transaction_$71_storage_ptr_$", "typeString": "type(struct Escrow_v1_0.Transaction storage pointer)" } }, - "id": 1146, + "id": 1140, "isConstant": false, "isLValue": false, "isPure": false, @@ -15898,26 +15832,26 @@ "tokenAddress" ], "nodeType": "FunctionCall", - "src": "19502:373:0", + "src": "19440:373:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_memory", "typeString": "struct Escrow_v1_0.Transaction memory" } }, - "src": "19475:400:0", + "src": "19413:400:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 1148, + "id": 1142, "nodeType": "ExpressionStatement", - "src": "19475:400:0" + "src": "19413:400:0" }, { "expression": { "argumentTypes": null, - "id": 1156, + "id": 1150, "isConstant": false, "isLValue": false, "isPure": false, @@ -15930,26 +15864,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1149, + "id": 1143, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "19886:12:0", + "src": "19824:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 1151, + "id": 1145, "indexExpression": { "argumentTypes": null, - "id": 1150, + "id": 1144, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1066, - "src": "19899:10:0", + "referencedDeclaration": 1060, + "src": "19837:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -15960,13 +15894,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "19886:24:0", + "src": "19824:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 1152, + "id": 1146, "isConstant": false, "isLValue": true, "isPure": false, @@ -15974,21 +15908,21 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "19886:32:0", + "src": "19824:32:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 1154, + "id": 1148, "indexExpression": { "argumentTypes": null, - "id": 1153, + "id": 1147, "name": "seller", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1058, - "src": "19919:6:0", + "referencedDeclaration": 1052, + "src": "19857:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15999,7 +15933,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "19886:40:0", + "src": "19824:40:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -16010,14 +15944,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "74727565", - "id": 1155, + "id": 1149, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "19929:4:0", + "src": "19867:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -16025,20 +15959,20 @@ }, "value": "true" }, - "src": "19886:47:0", + "src": "19824:47:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 1157, + "id": 1151, "nodeType": "ExpressionStatement", - "src": "19886:47:0" + "src": "19824:47:0" }, { "expression": { "argumentTypes": null, - "id": 1165, + "id": 1159, "isConstant": false, "isLValue": false, "isPure": false, @@ -16051,26 +15985,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1158, + "id": 1152, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "19943:12:0", + "src": "19881:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 1160, + "id": 1154, "indexExpression": { "argumentTypes": null, - "id": 1159, + "id": 1153, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1066, - "src": "19956:10:0", + "referencedDeclaration": 1060, + "src": "19894:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -16081,13 +16015,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "19943:24:0", + "src": "19881:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 1161, + "id": 1155, "isConstant": false, "isLValue": true, "isPure": false, @@ -16095,21 +16029,21 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "19943:32:0", + "src": "19881:32:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 1163, + "id": 1157, "indexExpression": { "argumentTypes": null, - "id": 1162, + "id": 1156, "name": "buyer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1056, - "src": "19976:5:0", + "referencedDeclaration": 1050, + "src": "19914:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -16120,7 +16054,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "19943:39:0", + "src": "19881:39:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -16131,14 +16065,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "74727565", - "id": 1164, + "id": 1158, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "19985:4:0", + "src": "19923:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -16146,15 +16080,15 @@ }, "value": "true" }, - "src": "19943:46:0", + "src": "19881:46:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 1166, + "id": 1160, "nodeType": "ExpressionStatement", - "src": "19943:46:0" + "src": "19881:46:0" }, { "expression": { @@ -16162,7 +16096,7 @@ "arguments": [ { "argumentTypes": null, - "id": 1174, + "id": 1168, "isConstant": false, "isLValue": false, "isPure": false, @@ -16170,7 +16104,7 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "20096:44:0", + "src": "20034:44:0", "subExpression": { "argumentTypes": null, "baseExpression": { @@ -16179,26 +16113,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1168, + "id": 1162, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "20097:12:0", + "src": "20035:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 1170, + "id": 1164, "indexExpression": { "argumentTypes": null, - "id": 1169, + "id": 1163, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1066, - "src": "20110:10:0", + "referencedDeclaration": 1060, + "src": "20048:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -16209,13 +16143,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20097:24:0", + "src": "20035:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 1171, + "id": 1165, "isConstant": false, "isLValue": true, "isPure": false, @@ -16223,21 +16157,21 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "20097:32:0", + "src": "20035:32:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 1173, + "id": 1167, "indexExpression": { "argumentTypes": null, - "id": 1172, + "id": 1166, "name": "moderator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1060, - "src": "20130:9:0", + "referencedDeclaration": 1054, + "src": "20068:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -16248,7 +16182,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20097:43:0", + "src": "20035:43:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -16262,14 +16196,14 @@ { "argumentTypes": null, "hexValue": "456974686572206275796572206f722073656c6c657220697320706173736564206173206d6f64657261746f72", - "id": 1175, + "id": 1169, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "20155:47:0", + "src": "20093:47:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_313b391557427937e7bdb85c7561d47c5b9c985755a448dd33a92026ffb38f8d", @@ -16289,21 +16223,21 @@ "typeString": "literal_string \"Either buyer or seller is passed as moderator\"" } ], - "id": 1167, + "id": 1161, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1387, - 1388 + 1381, + 1382 ], - "referencedDeclaration": 1388, - "src": "20075:7:0", + "referencedDeclaration": 1382, + "src": "20013:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 1176, + "id": 1170, "isConstant": false, "isLValue": false, "isPure": false, @@ -16311,15 +16245,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "20075:137:0", + "src": "20013:137:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1177, + "id": 1171, "nodeType": "ExpressionStatement", - "src": "20075:137:0" + "src": "20013:137:0" }, { "condition": { @@ -16328,19 +16262,19 @@ "typeIdentifier": "t_uint8", "typeString": "uint8" }, - "id": 1180, + "id": 1174, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1178, + "id": 1172, "name": "threshold", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1062, - "src": "20372:9:0", + "referencedDeclaration": 1056, + "src": "20310:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -16351,14 +16285,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "31", - "id": 1179, + "id": 1173, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "20384:1:0", + "src": "20322:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -16366,25 +16300,25 @@ }, "value": "1" }, - "src": "20372:13:0", + "src": "20310:13:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, - "id": 1191, + "id": 1185, "nodeType": "IfStatement", - "src": "20368:94:0", + "src": "20306:94:0", "trueBody": { - "id": 1190, + "id": 1184, "nodeType": "Block", - "src": "20387:75:0", + "src": "20325:75:0", "statements": [ { "expression": { "argumentTypes": null, - "id": 1188, + "id": 1182, "isConstant": false, "isLValue": false, "isPure": false, @@ -16397,26 +16331,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1181, + "id": 1175, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "20401:12:0", + "src": "20339:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 1183, + "id": 1177, "indexExpression": { "argumentTypes": null, - "id": 1182, + "id": 1176, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1066, - "src": "20414:10:0", + "referencedDeclaration": 1060, + "src": "20352:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -16427,13 +16361,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20401:24:0", + "src": "20339:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 1184, + "id": 1178, "isConstant": false, "isLValue": true, "isPure": false, @@ -16441,21 +16375,21 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "20401:32:0", + "src": "20339:32:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 1186, + "id": 1180, "indexExpression": { "argumentTypes": null, - "id": 1185, + "id": 1179, "name": "moderator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1060, - "src": "20434:9:0", + "referencedDeclaration": 1054, + "src": "20372:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -16466,7 +16400,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "20401:43:0", + "src": "20339:43:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -16477,14 +16411,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "74727565", - "id": 1187, + "id": 1181, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "20447:4:0", + "src": "20385:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -16492,15 +16426,15 @@ }, "value": "true" }, - "src": "20401:50:0", + "src": "20339:50:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 1189, + "id": 1183, "nodeType": "ExpressionStatement", - "src": "20401:50:0" + "src": "20339:50:0" } ] } @@ -16508,7 +16442,7 @@ { "expression": { "argumentTypes": null, - "id": 1193, + "id": 1187, "isConstant": false, "isLValue": false, "isPure": false, @@ -16516,15 +16450,15 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "20480:18:0", + "src": "20418:18:0", "subExpression": { "argumentTypes": null, - "id": 1192, + "id": 1186, "name": "transactionCount", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 78, - "src": "20480:16:0", + "src": "20418:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -16535,9 +16469,9 @@ "typeString": "uint256" } }, - "id": 1194, + "id": 1188, "nodeType": "ExpressionStatement", - "src": "20480:18:0" + "src": "20418:18:0" }, { "expression": { @@ -16545,12 +16479,12 @@ "arguments": [ { "argumentTypes": null, - "id": 1199, + "id": 1193, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1066, - "src": "20540:10:0", + "referencedDeclaration": 1060, + "src": "20478:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -16568,26 +16502,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1195, + "id": 1189, "name": "partyVsTransaction", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 83, - "src": "20509:18:0", + "src": "20447:18:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_bytes32_$dyn_storage_$", "typeString": "mapping(address => bytes32[] storage ref)" } }, - "id": 1197, + "id": 1191, "indexExpression": { "argumentTypes": null, - "id": 1196, + "id": 1190, "name": "buyer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1056, - "src": "20528:5:0", + "referencedDeclaration": 1050, + "src": "20466:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -16598,13 +16532,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20509:25:0", + "src": "20447:25:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage", "typeString": "bytes32[] storage ref" } }, - "id": 1198, + "id": 1192, "isConstant": false, "isLValue": false, "isPure": false, @@ -16612,13 +16546,13 @@ "memberName": "push", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "20509:30:0", + "src": "20447:30:0", "typeDescriptions": { "typeIdentifier": "t_function_arraypush_nonpayable$_t_bytes32_$returns$_t_uint256_$", "typeString": "function (bytes32) returns (uint256)" } }, - "id": 1200, + "id": 1194, "isConstant": false, "isLValue": false, "isPure": false, @@ -16626,15 +16560,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "20509:42:0", + "src": "20447:42:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1201, + "id": 1195, "nodeType": "ExpressionStatement", - "src": "20509:42:0" + "src": "20447:42:0" }, { "expression": { @@ -16642,12 +16576,12 @@ "arguments": [ { "argumentTypes": null, - "id": 1206, + "id": 1200, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1066, - "src": "20593:10:0", + "referencedDeclaration": 1060, + "src": "20531:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -16665,26 +16599,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1202, + "id": 1196, "name": "partyVsTransaction", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 83, - "src": "20561:18:0", + "src": "20499:18:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_bytes32_$dyn_storage_$", "typeString": "mapping(address => bytes32[] storage ref)" } }, - "id": 1204, + "id": 1198, "indexExpression": { "argumentTypes": null, - "id": 1203, + "id": 1197, "name": "seller", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1058, - "src": "20580:6:0", + "referencedDeclaration": 1052, + "src": "20518:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -16695,13 +16629,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20561:26:0", + "src": "20499:26:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage", "typeString": "bytes32[] storage ref" } }, - "id": 1205, + "id": 1199, "isConstant": false, "isLValue": false, "isPure": false, @@ -16709,13 +16643,13 @@ "memberName": "push", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "20561:31:0", + "src": "20499:31:0", "typeDescriptions": { "typeIdentifier": "t_function_arraypush_nonpayable$_t_bytes32_$returns$_t_uint256_$", "typeString": "function (bytes32) returns (uint256)" } }, - "id": 1207, + "id": 1201, "isConstant": false, "isLValue": false, "isPure": false, @@ -16723,20 +16657,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "20561:43:0", + "src": "20499:43:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1208, + "id": 1202, "nodeType": "ExpressionStatement", - "src": "20561:43:0" + "src": "20499:43:0" } ] }, "documentation": "Private method to add transaction to reduce code redundancy", - "id": 1210, + "id": 1204, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -16744,16 +16678,16 @@ "name": "_addTransaction", "nodeType": "FunctionDefinition", "parameters": { - "id": 1075, + "id": 1069, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1056, + "id": 1050, "name": "buyer", "nodeType": "VariableDeclaration", - "scope": 1210, - "src": "18004:13:0", + "scope": 1204, + "src": "17942:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -16761,10 +16695,10 @@ "typeString": "address" }, "typeName": { - "id": 1055, + "id": 1049, "name": "address", "nodeType": "ElementaryTypeName", - "src": "18004:7:0", + "src": "17942:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -16775,11 +16709,11 @@ }, { "constant": false, - "id": 1058, + "id": 1052, "name": "seller", "nodeType": "VariableDeclaration", - "scope": 1210, - "src": "18027:14:0", + "scope": 1204, + "src": "17965:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -16787,10 +16721,10 @@ "typeString": "address" }, "typeName": { - "id": 1057, + "id": 1051, "name": "address", "nodeType": "ElementaryTypeName", - "src": "18027:7:0", + "src": "17965:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -16801,11 +16735,11 @@ }, { "constant": false, - "id": 1060, + "id": 1054, "name": "moderator", "nodeType": "VariableDeclaration", - "scope": 1210, - "src": "18051:17:0", + "scope": 1204, + "src": "17989:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -16813,10 +16747,10 @@ "typeString": "address" }, "typeName": { - "id": 1059, + "id": 1053, "name": "address", "nodeType": "ElementaryTypeName", - "src": "18051:7:0", + "src": "17989:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -16827,11 +16761,11 @@ }, { "constant": false, - "id": 1062, + "id": 1056, "name": "threshold", "nodeType": "VariableDeclaration", - "scope": 1210, - "src": "18078:15:0", + "scope": 1204, + "src": "18016:15:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -16839,10 +16773,10 @@ "typeString": "uint8" }, "typeName": { - "id": 1061, + "id": 1055, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "18078:5:0", + "src": "18016:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -16853,11 +16787,11 @@ }, { "constant": false, - "id": 1064, + "id": 1058, "name": "timeoutHours", "nodeType": "VariableDeclaration", - "scope": 1210, - "src": "18103:19:0", + "scope": 1204, + "src": "18041:19:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -16865,10 +16799,10 @@ "typeString": "uint32" }, "typeName": { - "id": 1063, + "id": 1057, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "18103:6:0", + "src": "18041:6:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -16879,11 +16813,11 @@ }, { "constant": false, - "id": 1066, + "id": 1060, "name": "scriptHash", "nodeType": "VariableDeclaration", - "scope": 1210, - "src": "18132:18:0", + "scope": 1204, + "src": "18070:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -16891,10 +16825,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 1065, + "id": 1059, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "18132:7:0", + "src": "18070:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -16905,11 +16839,11 @@ }, { "constant": false, - "id": 1068, + "id": 1062, "name": "value", "nodeType": "VariableDeclaration", - "scope": 1210, - "src": "18160:13:0", + "scope": 1204, + "src": "18098:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -16917,10 +16851,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1067, + "id": 1061, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "18160:7:0", + "src": "18098:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -16931,11 +16865,11 @@ }, { "constant": false, - "id": 1070, + "id": 1064, "name": "uniqueId", "nodeType": "VariableDeclaration", - "scope": 1210, - "src": "18183:16:0", + "scope": 1204, + "src": "18121:16:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -16943,10 +16877,10 @@ "typeString": "bytes20" }, "typeName": { - "id": 1069, + "id": 1063, "name": "bytes20", "nodeType": "ElementaryTypeName", - "src": "18183:7:0", + "src": "18121:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -16957,11 +16891,11 @@ }, { "constant": false, - "id": 1072, + "id": 1066, "name": "transactionType", "nodeType": "VariableDeclaration", - "scope": 1210, - "src": "18209:31:0", + "scope": 1204, + "src": "18147:31:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -16970,11 +16904,11 @@ }, "typeName": { "contractScope": null, - "id": 1071, + "id": 1065, "name": "TransactionType", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 12, - "src": "18209:15:0", + "src": "18147:15:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -16985,11 +16919,11 @@ }, { "constant": false, - "id": 1074, + "id": 1068, "name": "tokenAddress", "nodeType": "VariableDeclaration", - "scope": 1210, - "src": "18250:20:0", + "scope": 1204, + "src": "18188:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -16997,10 +16931,10 @@ "typeString": "address" }, "typeName": { - "id": 1073, + "id": 1067, "name": "address", "nodeType": "ElementaryTypeName", - "src": "18250:7:0", + "src": "18188:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -17010,36 +16944,36 @@ "visibility": "internal" } ], - "src": "17994:282:0" + "src": "17932:282:0" }, "payable": false, "returnParameters": { - "id": 1076, + "id": 1070, "nodeType": "ParameterList", "parameters": [], - "src": "18297:0:0" + "src": "18235:0:0" }, - "scope": 1211, - "src": "17970:2641:0", + "scope": 1205, + "src": "17908:2641:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "private" } ], - "scope": 1212, - "src": "460:20153:0" + "scope": 1206, + "src": "460:20091:0" } ], - "src": "0:20614:0" + "src": "0:20552:0" }, "legacyAST": { "absolutePath": "/home/sameep/freelancing-projects/toptal/open baazar/publicRepo/smart-contracts/contracts/escrow/Escrow_v1_0.sol", "exportedSymbols": { "Escrow_v1_0": [ - 1211 + 1205 ] }, - "id": 1212, + "id": 1206, "nodeType": "SourceUnit", "nodes": [ { @@ -17057,8 +16991,8 @@ "file": "openzeppelin-solidity/contracts/math/SafeMath.sol", "id": 2, "nodeType": "ImportDirective", - "scope": 1212, - "sourceUnit": 1370, + "scope": 1206, + "sourceUnit": 1364, "src": "25:59:0", "symbolAliases": [], "unitAlias": "" @@ -17068,8 +17002,8 @@ "file": "../token/ITokenContract.sol", "id": 3, "nodeType": "ImportDirective", - "scope": 1212, - "sourceUnit": 1242, + "scope": 1206, + "sourceUnit": 1236, "src": "86:37:0", "symbolAliases": [], "unitAlias": "" @@ -17080,9 +17014,9 @@ "contractKind": "contract", "documentation": "@dev Supports ERC20 tokens\nThe escrow smart contract for the open bazaar trades in Ethereum\nThe smart contract is designed keeping in mind the current wallet interface of the OB-core\nhttps://github.com/OpenBazaar/wallet-interface/blob/master/wallet.go\nCurrent wallet interface strictly adheres to UTXO(bitcoin) model", "fullyImplemented": true, - "id": 1211, + "id": 1205, "linearizedBaseContracts": [ - 1211 + 1205 ], "name": "Escrow_v1_0", "nodeType": "ContractDefinition", @@ -17094,10 +17028,10 @@ "id": 4, "name": "SafeMath", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1369, + "referencedDeclaration": 1363, "src": "494:8:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$1369", + "typeIdentifier": "t_contract$_SafeMath_$1363", "typeString": "library SafeMath" } }, @@ -17870,7 +17804,7 @@ ], "name": "Transaction", "nodeType": "StructDefinition", - "scope": 1211, + "scope": 1205, "src": "958:597:0", "visibility": "public" }, @@ -17879,7 +17813,7 @@ "id": 75, "name": "transactions", "nodeType": "VariableDeclaration", - "scope": 1211, + "scope": 1205, "src": "1561:51:0", "stateVariable": true, "storageLocation": "default", @@ -17926,7 +17860,7 @@ "id": 78, "name": "transactionCount", "nodeType": "VariableDeclaration", - "scope": 1211, + "scope": 1205, "src": "1619:35:0", "stateVariable": true, "storageLocation": "default", @@ -17969,7 +17903,7 @@ "id": 83, "name": "partyVsTransaction", "nodeType": "VariableDeclaration", - "scope": 1211, + "scope": 1205, "src": "1733:55:0", "stateVariable": true, "storageLocation": "default", @@ -18156,10 +18090,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1387, - 1388 + 1381, + 1382 ], - "referencedDeclaration": 1388, + "referencedDeclaration": 1382, "src": "1851:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -18368,10 +18302,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1387, - 1388 + 1381, + 1382 ], - "referencedDeclaration": 1388, + "referencedDeclaration": 1382, "src": "2034:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -18591,10 +18525,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1387, - 1388 + 1381, + 1382 ], - "referencedDeclaration": 1388, + "referencedDeclaration": 1382, "src": "2176:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -18798,10 +18732,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1387, - 1388 + 1381, + 1382 ], - "referencedDeclaration": 1388, + "referencedDeclaration": 1382, "src": "2375:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -19005,10 +18939,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1387, - 1388 + 1381, + 1382 ], - "referencedDeclaration": 1388, + "referencedDeclaration": 1382, "src": "2578:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -19137,7 +19071,7 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1384, + "referencedDeclaration": 1378, "src": "2797:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", @@ -19256,10 +19190,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1387, - 1388 + 1381, + 1382 ], - "referencedDeclaration": 1388, + "referencedDeclaration": 1382, "src": "2776:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -19427,7 +19361,7 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1384, + "referencedDeclaration": 1378, "src": "4229:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", @@ -19594,7 +19528,7 @@ "name": "_addTransaction", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1210, + "referencedDeclaration": 1204, "src": "4065:15:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_address_$_t_uint8_$_t_uint32_$_t_bytes32_$_t_uint256_$_t_bytes20_$_t_enum$_TransactionType_$12_$_t_address_$returns$__$", @@ -19644,7 +19578,7 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1384, + "referencedDeclaration": 1378, "src": "4372:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", @@ -19673,7 +19607,7 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1384, + "referencedDeclaration": 1378, "src": "4384:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", @@ -20045,7 +19979,7 @@ "parameters": [], "src": "4055:0:0" }, - "scope": 1211, + "scope": 1205, "src": "3701:701:0", "stateMutability": "payable", "superFunction": null, @@ -20255,7 +20189,7 @@ "name": "_addTransaction", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1210, + "referencedDeclaration": 1204, "src": "5780:15:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_address_$_t_uint8_$_t_uint32_$_t_bytes32_$_t_uint256_$_t_bytes20_$_t_enum$_TransactionType_$12_$_t_address_$returns$__$", @@ -20295,7 +20229,7 @@ "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenContract_$1241", + "typeIdentifier": "t_contract$_ITokenContract_$1235", "typeString": "contract ITokenContract" }, "typeName": { @@ -20303,10 +20237,10 @@ "id": 281, "name": "ITokenContract", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1241, + "referencedDeclaration": 1235, "src": "6053:14:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenContract_$1241", + "typeIdentifier": "t_contract$_ITokenContract_$1235", "typeString": "contract ITokenContract" } }, @@ -20343,10 +20277,10 @@ "name": "ITokenContract", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1241, + "referencedDeclaration": 1235, "src": "6076:14:0", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ITokenContract_$1241_$", + "typeIdentifier": "t_type$_t_contract$_ITokenContract_$1235_$", "typeString": "type(contract ITokenContract)" } }, @@ -20360,7 +20294,7 @@ "nodeType": "FunctionCall", "src": "6076:28:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenContract_$1241", + "typeIdentifier": "t_contract$_ITokenContract_$1235", "typeString": "contract ITokenContract" } }, @@ -20382,7 +20316,7 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1384, + "referencedDeclaration": 1378, "src": "6155:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", @@ -20409,10 +20343,10 @@ "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1401, + "referencedDeclaration": 1395, "src": "6167:4:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_Escrow_v1_0_$1211", + "typeIdentifier": "t_contract$_Escrow_v1_0_$1205", "typeString": "contract Escrow_v1_0" } }, @@ -20437,7 +20371,7 @@ "typeString": "address" }, { - "typeIdentifier": "t_contract$_Escrow_v1_0_$1211", + "typeIdentifier": "t_contract$_Escrow_v1_0_$1205", "typeString": "contract Escrow_v1_0" }, { @@ -20454,7 +20388,7 @@ "referencedDeclaration": 282, "src": "6136:5:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenContract_$1241", + "typeIdentifier": "t_contract$_ITokenContract_$1235", "typeString": "contract ITokenContract" } }, @@ -20465,7 +20399,7 @@ "lValueRequested": false, "memberName": "transferFrom", "nodeType": "MemberAccess", - "referencedDeclaration": 1240, + "referencedDeclaration": 1234, "src": "6136:18:0", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", @@ -20520,10 +20454,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1387, - 1388 + 1381, + 1382 ], - "referencedDeclaration": 1388, + "referencedDeclaration": 1382, "src": "6115:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -20573,7 +20507,7 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1384, + "referencedDeclaration": 1378, "src": "6332:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", @@ -21043,7 +20977,7 @@ "parameters": [], "src": "5769:0:0" }, - "scope": 1211, + "scope": 1205, "src": "5336:1021:0", "stateMutability": "nonpayable", "superFunction": null, @@ -21247,7 +21181,7 @@ ], "src": "6733:6:0" }, - "scope": 1211, + "scope": 1205, "src": "6598:221:0", "stateMutability": "view", "superFunction": null, @@ -21451,7 +21385,7 @@ ], "src": "7181:6:0" }, - "scope": 1211, + "scope": 1205, "src": "7059:194:0", "stateMutability": "view", "superFunction": null, @@ -21459,75 +21393,10 @@ }, { "body": { - "id": 399, + "id": 397, "nodeType": "Block", - "src": "7856:330:0", + "src": "7856:303:0", "statements": [ - { - "assignments": [ - 360 - ], - "declarations": [ - { - "constant": false, - "id": 360, - "name": "_value", - "nodeType": "VariableDeclaration", - "scope": 400, - "src": "7866:14:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 359, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7866:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 363, - "initialValue": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 361, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1384, - "src": "7883:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 362, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "value", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7883:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "7866:26:0" - }, { "expression": { "argumentTypes": null, @@ -21538,19 +21407,35 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 367, + "id": 363, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 365, - "name": "_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 360, - "src": "7911:6:0", + "expression": { + "argumentTypes": null, + "id": 360, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1378, + "src": "7875:3:0", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 361, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "value", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "7875:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -21561,14 +21446,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 366, + "id": 362, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "7920:1:0", + "src": "7887:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -21576,7 +21461,7 @@ }, "value": "0" }, - "src": "7911:10:0", + "src": "7875:13:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -21585,14 +21470,14 @@ { "argumentTypes": null, "hexValue": "56616c7565206d7573742062652067726561746572207468616e207a65726f2e", - "id": 368, + "id": 364, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "7923:34:0", + "src": "7890:34:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_21fbec2be6560b9ccffc4980d43c0d147770168e7aaf24999b418b9010085622", @@ -21612,21 +21497,21 @@ "typeString": "literal_string \"Value must be greater than zero.\"" } ], - "id": 364, + "id": 359, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1387, - 1388 + 1381, + 1382 ], - "referencedDeclaration": 1388, - "src": "7903:7:0", + "referencedDeclaration": 1382, + "src": "7867:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 369, + "id": 365, "isConstant": false, "isLValue": false, "isPure": false, @@ -21634,20 +21519,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7903:55:0", + "src": "7867:58:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 370, + "id": 366, "nodeType": "ExpressionStatement", - "src": "7903:55:0" + "src": "7867:58:0" }, { "expression": { "argumentTypes": null, - "id": 382, + "id": 379, "isConstant": false, "isLValue": false, "isPure": false, @@ -21658,26 +21543,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 371, + "id": 367, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "7969:12:0", + "src": "7936:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 373, + "id": 369, "indexExpression": { "argumentTypes": null, - "id": 372, + "id": 368, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 342, - "src": "7982:10:0", + "src": "7949:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -21688,13 +21573,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "7969:24:0", + "src": "7936:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 374, + "id": 370, "isConstant": false, "isLValue": true, "isPure": false, @@ -21702,7 +21587,7 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": 40, - "src": "7969:30:0", + "src": "7936:30:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -21715,12 +21600,28 @@ "arguments": [ { "argumentTypes": null, - "id": 380, - "name": "_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 360, - "src": "8050:6:0", + "expression": { + "argumentTypes": null, + "id": 376, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1378, + "src": "8017:3:0", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 377, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "value", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "8017:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -21740,26 +21641,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 375, + "id": 371, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "8002:12:0", + "src": "7969:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 377, + "id": 373, "indexExpression": { "argumentTypes": null, - "id": 376, + "id": 372, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 342, - "src": "8015:10:0", + "src": "7982:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -21770,13 +21671,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "8002:24:0", + "src": "7969:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 378, + "id": 374, "isConstant": false, "isLValue": true, "isPure": false, @@ -21784,27 +21685,27 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": 40, - "src": "8002:30:0", + "src": "7969:30:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 379, + "id": 375, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 1348, - "src": "8002:47:0", + "referencedDeclaration": 1342, + "src": "7969:47:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 381, + "id": 378, "isConstant": false, "isLValue": false, "isPure": false, @@ -21812,26 +21713,26 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8002:55:0", + "src": "7969:58:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "7969:88:0", + "src": "7936:91:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 383, + "id": 380, "nodeType": "ExpressionStatement", - "src": "7969:88:0" + "src": "7936:91:0" }, { "expression": { "argumentTypes": null, - "id": 390, + "id": 387, "isConstant": false, "isLValue": false, "isPure": false, @@ -21842,26 +21743,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 384, + "id": 381, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "8067:12:0", + "src": "8037:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 386, + "id": 383, "indexExpression": { "argumentTypes": null, - "id": 385, + "id": 382, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 342, - "src": "8080:10:0", + "src": "8050:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -21872,13 +21773,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "8067:24:0", + "src": "8037:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 387, + "id": 384, "isConstant": false, "isLValue": true, "isPure": false, @@ -21886,7 +21787,7 @@ "memberName": "lastModified", "nodeType": "MemberAccess", "referencedDeclaration": 42, - "src": "8067:37:0", + "src": "8037:37:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -21898,18 +21799,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 388, + "id": 385, "name": "block", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1374, - "src": "8107:5:0", + "referencedDeclaration": 1368, + "src": "8077:5:0", "typeDescriptions": { "typeIdentifier": "t_magic_block", "typeString": "block" } }, - "id": 389, + "id": 386, "isConstant": false, "isLValue": false, "isPure": false, @@ -21917,21 +21818,21 @@ "memberName": "timestamp", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "8107:15:0", + "src": "8077:15:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "8067:55:0", + "src": "8037:55:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 391, + "id": 388, "nodeType": "ExpressionStatement", - "src": "8067:55:0" + "src": "8037:55:0" }, { "eventCall": { @@ -21939,12 +21840,12 @@ "arguments": [ { "argumentTypes": null, - "id": 393, + "id": 390, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 342, - "src": "8148:10:0", + "src": "8118:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -21954,18 +21855,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 394, + "id": 391, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1384, - "src": "8160:3:0", + "referencedDeclaration": 1378, + "src": "8130:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 395, + "id": 392, "isConstant": false, "isLValue": false, "isPure": false, @@ -21973,7 +21874,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "8160:10:0", + "src": "8130:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -21981,12 +21882,28 @@ }, { "argumentTypes": null, - "id": 396, - "name": "_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 360, - "src": "8172:6:0", + "expression": { + "argumentTypes": null, + "id": 393, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1378, + "src": "8142:3:0", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 394, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "value", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "8142:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -22008,18 +21925,18 @@ "typeString": "uint256" } ], - "id": 392, + "id": 389, "name": "FundAdded", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 30, - "src": "8138:9:0", + "src": "8108:9:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (bytes32,address,uint256)" } }, - "id": 397, + "id": 395, "isConstant": false, "isLValue": false, "isPure": false, @@ -22027,20 +21944,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8138:41:0", + "src": "8108:44:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 398, + "id": 396, "nodeType": "EmitStatement", - "src": "8133:46:0" + "src": "8103:49:0" } ] }, "documentation": "@dev Allows buyer of the transaction to add more funds(ether) in the transaction. \nThis will help to cater scenarios wherein initially buyer missed to fund transaction as required\n@param scriptHash script hash of the transaction\nOnly buyer of the transaction can invoke this method", - "id": 400, + "id": 398, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -22218,7 +22135,7 @@ "id": 342, "name": "scriptHash", "nodeType": "VariableDeclaration", - "scope": 400, + "scope": 398, "src": "7620:18:0", "stateVariable": false, "storageLocation": "default", @@ -22249,67 +22166,18 @@ "parameters": [], "src": "7856:0:0" }, - "scope": 1211, - "src": "7580:606:0", + "scope": 1205, + "src": "7580:579:0", "stateMutability": "payable", "superFunction": null, "visibility": "external" }, { "body": { - "id": 482, + "id": 476, "nodeType": "Block", - "src": "8789:648:0", + "src": "8762:613:0", "statements": [ - { - "assignments": [ - 422 - ], - "declarations": [ - { - "constant": false, - "id": 422, - "name": "_value", - "nodeType": "VariableDeclaration", - "scope": 483, - "src": "8799:14:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 421, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8799:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 424, - "initialValue": { - "argumentTypes": null, - "id": 423, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 404, - "src": "8816:5:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "8799:22:0" - }, { "expression": { "argumentTypes": null, @@ -22320,19 +22188,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 428, + "id": 422, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 426, - "name": "_value", + "id": 420, + "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 422, - "src": "8840:6:0", + "referencedDeclaration": 402, + "src": "8781:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -22343,14 +22211,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 427, + "id": 421, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "8849:1:0", + "src": "8789:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -22358,7 +22226,7 @@ }, "value": "0" }, - "src": "8840:10:0", + "src": "8781:9:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -22367,14 +22235,14 @@ { "argumentTypes": null, "hexValue": "56616c7565206d7573742062652067726561746572207468616e207a65726f2e", - "id": 429, + "id": 423, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "8852:34:0", + "src": "8792:34:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_21fbec2be6560b9ccffc4980d43c0d147770168e7aaf24999b418b9010085622", @@ -22394,21 +22262,21 @@ "typeString": "literal_string \"Value must be greater than zero.\"" } ], - "id": 425, + "id": 419, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1387, - 1388 + 1381, + 1382 ], - "referencedDeclaration": 1388, - "src": "8832:7:0", + "referencedDeclaration": 1382, + "src": "8773:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 430, + "id": 424, "isConstant": false, "isLValue": false, "isPure": false, @@ -22416,43 +22284,43 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8832:55:0", + "src": "8773:54:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 431, + "id": 425, "nodeType": "ExpressionStatement", - "src": "8832:55:0" + "src": "8773:54:0" }, { "assignments": [ - 433 + 427 ], "declarations": [ { "constant": false, - "id": 433, + "id": 427, "name": "token", "nodeType": "VariableDeclaration", - "scope": 483, - "src": "8898:20:0", + "scope": 477, + "src": "8838:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenContract_$1241", + "typeIdentifier": "t_contract$_ITokenContract_$1235", "typeString": "contract ITokenContract" }, "typeName": { "contractScope": null, - "id": 432, + "id": 426, "name": "ITokenContract", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1241, - "src": "8898:14:0", + "referencedDeclaration": 1235, + "src": "8838:14:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenContract_$1241", + "typeIdentifier": "t_contract$_ITokenContract_$1235", "typeString": "contract ITokenContract" } }, @@ -22460,7 +22328,7 @@ "visibility": "internal" } ], - "id": 440, + "id": 434, "initialValue": { "argumentTypes": null, "arguments": [ @@ -22470,26 +22338,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 435, + "id": 429, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "8949:12:0", + "src": "8889:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 437, + "id": 431, "indexExpression": { "argumentTypes": null, - "id": 436, + "id": 430, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 402, - "src": "8962:10:0", + "referencedDeclaration": 400, + "src": "8902:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -22500,13 +22368,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "8949:24:0", + "src": "8889:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 438, + "id": 432, "isConstant": false, "isLValue": true, "isPure": false, @@ -22514,7 +22382,7 @@ "memberName": "tokenAddress", "nodeType": "MemberAccess", "referencedDeclaration": 56, - "src": "8949:37:0", + "src": "8889:37:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -22528,18 +22396,18 @@ "typeString": "address" } ], - "id": 434, + "id": 428, "name": "ITokenContract", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1241, - "src": "8921:14:0", + "referencedDeclaration": 1235, + "src": "8861:14:0", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ITokenContract_$1241_$", + "typeIdentifier": "t_type$_t_contract$_ITokenContract_$1235_$", "typeString": "type(contract ITokenContract)" } }, - "id": 439, + "id": 433, "isConstant": false, "isLValue": false, "isPure": false, @@ -22547,14 +22415,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8921:75:0", + "src": "8861:75:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenContract_$1241", + "typeIdentifier": "t_contract$_ITokenContract_$1235", "typeString": "contract ITokenContract" } }, "nodeType": "VariableDeclarationStatement", - "src": "8898:98:0" + "src": "8838:98:0" }, { "expression": { @@ -22569,26 +22437,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 444, + "id": 438, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "9047:12:0", + "src": "8987:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 446, + "id": 440, "indexExpression": { "argumentTypes": null, - "id": 445, + "id": 439, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 402, - "src": "9060:10:0", + "referencedDeclaration": 400, + "src": "9000:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -22599,13 +22467,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "9047:24:0", + "src": "8987:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 447, + "id": 441, "isConstant": false, "isLValue": true, "isPure": false, @@ -22613,7 +22481,7 @@ "memberName": "buyer", "nodeType": "MemberAccess", "referencedDeclaration": 52, - "src": "9047:30:0", + "src": "8987:30:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -22621,25 +22489,25 @@ }, { "argumentTypes": null, - "id": 448, + "id": 442, "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1401, - "src": "9079:4:0", + "referencedDeclaration": 1395, + "src": "9019:4:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_Escrow_v1_0_$1211", + "typeIdentifier": "t_contract$_Escrow_v1_0_$1205", "typeString": "contract Escrow_v1_0" } }, { "argumentTypes": null, - "id": 449, + "id": 443, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 404, - "src": "9085:5:0", + "referencedDeclaration": 402, + "src": "9025:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -22653,7 +22521,7 @@ "typeString": "address" }, { - "typeIdentifier": "t_contract$_Escrow_v1_0_$1211", + "typeIdentifier": "t_contract$_Escrow_v1_0_$1205", "typeString": "contract Escrow_v1_0" }, { @@ -22663,32 +22531,32 @@ ], "expression": { "argumentTypes": null, - "id": 442, + "id": 436, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 433, - "src": "9028:5:0", + "referencedDeclaration": 427, + "src": "8968:5:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenContract_$1241", + "typeIdentifier": "t_contract$_ITokenContract_$1235", "typeString": "contract ITokenContract" } }, - "id": 443, + "id": 437, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "transferFrom", "nodeType": "MemberAccess", - "referencedDeclaration": 1240, - "src": "9028:18:0", + "referencedDeclaration": 1234, + "src": "8968:18:0", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", "typeString": "function (address,address,uint256) external returns (bool)" } }, - "id": 450, + "id": 444, "isConstant": false, "isLValue": false, "isPure": false, @@ -22696,7 +22564,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "9028:63:0", + "src": "8968:63:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -22705,14 +22573,14 @@ { "argumentTypes": null, "hexValue": "546f6b656e207472616e73666572206661696c65642c206d6179626520796f7520646964206e6f7420617070726f766520657363726f7720636f6e747261637420746f207370656e64206f6e20626568616c66206f66206275796572", - "id": 451, + "id": 445, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "9105:94:0", + "src": "9045:94:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_d9d07068d589bc4adc53018a3c57c159ec128fdfb62732a5fa9410e76cf03318", @@ -22732,21 +22600,21 @@ "typeString": "literal_string \"Token transfer failed, maybe you did not approve escrow contract to spend on behalf of buyer\"" } ], - "id": 441, + "id": 435, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1387, - 1388 + 1381, + 1382 ], - "referencedDeclaration": 1388, - "src": "9007:7:0", + "referencedDeclaration": 1382, + "src": "8947:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 452, + "id": 446, "isConstant": false, "isLValue": false, "isPure": false, @@ -22754,20 +22622,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "9007:202:0", + "src": "8947:202:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 453, + "id": 447, "nodeType": "ExpressionStatement", - "src": "9007:202:0" + "src": "8947:202:0" }, { "expression": { "argumentTypes": null, - "id": 465, + "id": 459, "isConstant": false, "isLValue": false, "isPure": false, @@ -22778,26 +22646,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 454, + "id": 448, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "9220:12:0", + "src": "9160:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 456, + "id": 450, "indexExpression": { "argumentTypes": null, - "id": 455, + "id": 449, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 402, - "src": "9233:10:0", + "referencedDeclaration": 400, + "src": "9173:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -22808,13 +22676,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "9220:24:0", + "src": "9160:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 457, + "id": 451, "isConstant": false, "isLValue": true, "isPure": false, @@ -22822,7 +22690,7 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": 40, - "src": "9220:30:0", + "src": "9160:30:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -22835,12 +22703,12 @@ "arguments": [ { "argumentTypes": null, - "id": 463, - "name": "_value", + "id": 457, + "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 422, - "src": "9301:6:0", + "referencedDeclaration": 402, + "src": "9241:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -22860,26 +22728,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 458, + "id": 452, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "9253:12:0", + "src": "9193:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 460, + "id": 454, "indexExpression": { "argumentTypes": null, - "id": 459, + "id": 453, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 402, - "src": "9266:10:0", + "referencedDeclaration": 400, + "src": "9206:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -22890,13 +22758,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "9253:24:0", + "src": "9193:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 461, + "id": 455, "isConstant": false, "isLValue": true, "isPure": false, @@ -22904,27 +22772,27 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": 40, - "src": "9253:30:0", + "src": "9193:30:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 462, + "id": 456, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 1348, - "src": "9253:47:0", + "referencedDeclaration": 1342, + "src": "9193:47:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 464, + "id": 458, "isConstant": false, "isLValue": false, "isPure": false, @@ -22932,26 +22800,26 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "9253:55:0", + "src": "9193:54:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "9220:88:0", + "src": "9160:87:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 466, + "id": 460, "nodeType": "ExpressionStatement", - "src": "9220:88:0" + "src": "9160:87:0" }, { "expression": { "argumentTypes": null, - "id": 473, + "id": 467, "isConstant": false, "isLValue": false, "isPure": false, @@ -22962,26 +22830,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 467, + "id": 461, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "9318:12:0", + "src": "9257:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 469, + "id": 463, "indexExpression": { "argumentTypes": null, - "id": 468, + "id": 462, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 402, - "src": "9331:10:0", + "referencedDeclaration": 400, + "src": "9270:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -22992,13 +22860,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "9318:24:0", + "src": "9257:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 470, + "id": 464, "isConstant": false, "isLValue": true, "isPure": false, @@ -23006,7 +22874,7 @@ "memberName": "lastModified", "nodeType": "MemberAccess", "referencedDeclaration": 42, - "src": "9318:37:0", + "src": "9257:37:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -23018,18 +22886,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 471, + "id": 465, "name": "block", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1374, - "src": "9358:5:0", + "referencedDeclaration": 1368, + "src": "9297:5:0", "typeDescriptions": { "typeIdentifier": "t_magic_block", "typeString": "block" } }, - "id": 472, + "id": 466, "isConstant": false, "isLValue": false, "isPure": false, @@ -23037,21 +22905,21 @@ "memberName": "timestamp", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "9358:15:0", + "src": "9297:15:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "9318:55:0", + "src": "9257:55:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 474, + "id": 468, "nodeType": "ExpressionStatement", - "src": "9318:55:0" + "src": "9257:55:0" }, { "eventCall": { @@ -23059,12 +22927,12 @@ "arguments": [ { "argumentTypes": null, - "id": 476, + "id": 470, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 402, - "src": "9399:10:0", + "referencedDeclaration": 400, + "src": "9338:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -23074,18 +22942,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 477, + "id": 471, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1384, - "src": "9411:3:0", + "referencedDeclaration": 1378, + "src": "9350:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 478, + "id": 472, "isConstant": false, "isLValue": false, "isPure": false, @@ -23093,7 +22961,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "9411:10:0", + "src": "9350:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -23101,12 +22969,12 @@ }, { "argumentTypes": null, - "id": 479, - "name": "_value", + "id": 473, + "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 422, - "src": "9423:6:0", + "referencedDeclaration": 402, + "src": "9362:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -23128,18 +22996,18 @@ "typeString": "uint256" } ], - "id": 475, + "id": 469, "name": "FundAdded", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 30, - "src": "9389:9:0", + "src": "9328:9:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (bytes32,address,uint256)" } }, - "id": 480, + "id": 474, "isConstant": false, "isLValue": false, "isPure": false, @@ -23147,20 +23015,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "9389:41:0", + "src": "9328:40:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 481, + "id": 475, "nodeType": "EmitStatement", - "src": "9384:46:0" + "src": "9323:45:0" } ] }, "documentation": "@dev Allows buyer of the transaction to add more funds(Tokens) in the transaction. \nThis will help to cater scenarios wherein initially buyer missed to fund transaction as required\n@param scriptHash script hash of the transaction\nOnly buyer of the transaction can invoke this method", - "id": 483, + "id": 477, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -23169,78 +23037,78 @@ "arguments": [ { "argumentTypes": null, - "id": 407, + "id": 405, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 402, - "src": "8645:10:0", + "referencedDeclaration": 400, + "src": "8618:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } } ], - "id": 408, + "id": 406, "modifierName": { "argumentTypes": null, - "id": 406, + "id": 404, "name": "transactionExist", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 99, - "src": "8628:16:0", + "src": "8601:16:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "8628:28:0" + "src": "8601:28:0" }, { "arguments": [ { "argumentTypes": null, - "id": 410, + "id": 408, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 402, - "src": "8679:10:0", + "referencedDeclaration": 400, + "src": "8652:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } } ], - "id": 411, + "id": 409, "modifierName": { "argumentTypes": null, - "id": 409, + "id": 407, "name": "inFundedState", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 132, - "src": "8665:13:0", + "src": "8638:13:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "8665:25:0" + "src": "8638:25:0" }, { "arguments": [ { "argumentTypes": null, - "id": 413, + "id": 411, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 402, - "src": "8720:10:0", + "referencedDeclaration": 400, + "src": "8693:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -23250,18 +23118,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 414, + "id": 412, "name": "TransactionType", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12, - "src": "8732:15:0", + "src": "8705:15:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_TransactionType_$12_$", "typeString": "type(enum Escrow_v1_0.TransactionType)" } }, - "id": 415, + "id": 413, "isConstant": false, "isLValue": false, "isPure": true, @@ -23269,77 +23137,77 @@ "memberName": "TOKEN", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "8732:21:0", + "src": "8705:21:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" } } ], - "id": 416, + "id": 414, "modifierName": { "argumentTypes": null, - "id": 412, + "id": 410, "name": "checkTransactionType", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 165, - "src": "8699:20:0", + "src": "8672:20:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$_t_enum$_TransactionType_$12_$", "typeString": "modifier (bytes32,enum Escrow_v1_0.TransactionType)" } }, "nodeType": "ModifierInvocation", - "src": "8699:55:0" + "src": "8672:55:0" }, { "arguments": [ { "argumentTypes": null, - "id": 418, + "id": 416, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 402, - "src": "8773:10:0", + "referencedDeclaration": 400, + "src": "8746:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } } ], - "id": 419, + "id": 417, "modifierName": { "argumentTypes": null, - "id": 417, + "id": 415, "name": "onlyBuyer", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 182, - "src": "8763:9:0", + "src": "8736:9:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "8763:21:0" + "src": "8736:21:0" } ], "name": "addTokensToTransaction", "nodeType": "FunctionDefinition", "parameters": { - "id": 405, + "id": 403, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 402, + "id": 400, "name": "scriptHash", "nodeType": "VariableDeclaration", - "scope": 483, - "src": "8555:18:0", + "scope": 477, + "src": "8528:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -23347,10 +23215,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 401, + "id": 399, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "8555:7:0", + "src": "8528:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -23361,11 +23229,11 @@ }, { "constant": false, - "id": 404, + "id": 402, "name": "value", "nodeType": "VariableDeclaration", - "scope": 483, - "src": "8583:13:0", + "scope": 477, + "src": "8556:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -23373,10 +23241,10 @@ "typeString": "uint256" }, "typeName": { - "id": 403, + "id": 401, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "8583:7:0", + "src": "8556:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -23386,52 +23254,52 @@ "visibility": "internal" } ], - "src": "8545:57:0" + "src": "8518:57:0" }, "payable": false, "returnParameters": { - "id": 420, + "id": 418, "nodeType": "ParameterList", "parameters": [], - "src": "8789:0:0" + "src": "8762:0:0" }, - "scope": 1211, - "src": "8514:923:0", + "scope": 1205, + "src": "8487:888:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" }, { "body": { - "id": 495, + "id": 489, "nodeType": "Block", - "src": "9692:56:0", + "src": "9630:56:0", "statements": [ { "expression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 491, + "id": 485, "name": "partyVsTransaction", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 83, - "src": "9709:18:0", + "src": "9647:18:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_bytes32_$dyn_storage_$", "typeString": "mapping(address => bytes32[] storage ref)" } }, - "id": 493, + "id": 487, "indexExpression": { "argumentTypes": null, - "id": 492, + "id": 486, "name": "partyAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 485, - "src": "9728:12:0", + "referencedDeclaration": 479, + "src": "9666:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -23442,21 +23310,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "9709:32:0", + "src": "9647:32:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage", "typeString": "bytes32[] storage ref" } }, - "functionReturnParameters": 490, - "id": 494, + "functionReturnParameters": 484, + "id": 488, "nodeType": "Return", - "src": "9702:39:0" + "src": "9640:39:0" } ] }, "documentation": "dev Returns all transaction ids for a party\nparam partyAddress Address of the party", - "id": 496, + "id": 490, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -23464,16 +23332,16 @@ "name": "getAllTransactionsForParty", "nodeType": "FunctionDefinition", "parameters": { - "id": 486, + "id": 480, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 485, + "id": 479, "name": "partyAddress", "nodeType": "VariableDeclaration", - "scope": 496, - "src": "9599:20:0", + "scope": 490, + "src": "9537:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -23481,10 +23349,10 @@ "typeString": "address" }, "typeName": { - "id": 484, + "id": 478, "name": "address", "nodeType": "ElementaryTypeName", - "src": "9599:7:0", + "src": "9537:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -23494,20 +23362,20 @@ "visibility": "internal" } ], - "src": "9589:36:0" + "src": "9527:36:0" }, "payable": false, "returnParameters": { - "id": 490, + "id": 484, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 489, + "id": 483, "name": "", "nodeType": "VariableDeclaration", - "scope": 496, - "src": "9676:9:0", + "scope": 490, + "src": "9614:9:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -23516,19 +23384,19 @@ }, "typeName": { "baseType": { - "id": 487, + "id": 481, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "9676:7:0", + "src": "9614:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "id": 488, + "id": 482, "length": null, "nodeType": "ArrayTypeName", - "src": "9676:9:0", + "src": "9614:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -23538,19 +23406,19 @@ "visibility": "internal" } ], - "src": "9675:11:0" + "src": "9613:11:0" }, - "scope": 1211, - "src": "9554:194:0", + "scope": 1205, + "src": "9492:194:0", "stateMutability": "view", "superFunction": null, "visibility": "external" }, { "body": { - "id": 581, + "id": 575, "nodeType": "Block", - "src": "10618:790:0", + "src": "10556:790:0", "statements": [ { "expression": { @@ -23562,7 +23430,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 532, + "id": 526, "isConstant": false, "isLValue": false, "isPure": false, @@ -23573,7 +23441,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 526, + "id": 520, "isConstant": false, "isLValue": false, "isPure": false, @@ -23582,18 +23450,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 523, + "id": 517, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 510, - "src": "10649:12:0", + "referencedDeclaration": 504, + "src": "10587:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" } }, - "id": 524, + "id": 518, "isConstant": false, "isLValue": false, "isPure": false, @@ -23601,7 +23469,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "10649:19:0", + "src": "10587:19:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -23612,14 +23480,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 525, + "id": 519, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "10669:1:0", + "src": "10607:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -23627,7 +23495,7 @@ }, "value": "0" }, - "src": "10649:21:0", + "src": "10587:21:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -23641,7 +23509,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 531, + "id": 525, "isConstant": false, "isLValue": false, "isPure": false, @@ -23650,18 +23518,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 527, + "id": 521, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 510, - "src": "10674:12:0", + "referencedDeclaration": 504, + "src": "10612:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" } }, - "id": 528, + "id": 522, "isConstant": false, "isLValue": false, "isPure": false, @@ -23669,7 +23537,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "10674:19:0", + "src": "10612:19:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -23681,18 +23549,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 529, + "id": 523, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 513, - "src": "10697:7:0", + "referencedDeclaration": 507, + "src": "10635:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", "typeString": "uint256[] calldata" } }, - "id": 530, + "id": 524, "isConstant": false, "isLValue": false, "isPure": false, @@ -23700,19 +23568,19 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "10697:14:0", + "src": "10635:14:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "10674:37:0", + "src": "10612:37:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "10649:62:0", + "src": "10587:62:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -23721,14 +23589,14 @@ { "argumentTypes": null, "hexValue": "4c656e677468206f662064657374696e6174696f6e7320697320696e636f72726563742e", - "id": 533, + "id": 527, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "10713:38:0", + "src": "10651:38:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_53e979b0c355ea1eeda44a80ca73370fdb2abe922711b459aa4ee43d1558782b", @@ -23748,21 +23616,21 @@ "typeString": "literal_string \"Length of destinations is incorrect.\"" } ], - "id": 522, + "id": 516, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1387, - 1388 + 1381, + 1382 ], - "referencedDeclaration": 1388, - "src": "10628:7:0", + "referencedDeclaration": 1382, + "src": "10566:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 534, + "id": 528, "isConstant": false, "isLValue": false, "isPure": false, @@ -23770,15 +23638,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "10628:133:0", + "src": "10566:133:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 535, + "id": 529, "nodeType": "ExpressionStatement", - "src": "10628:133:0" + "src": "10566:133:0" }, { "expression": { @@ -23786,12 +23654,12 @@ "arguments": [ { "argumentTypes": null, - "id": 537, + "id": 531, "name": "sigV", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 499, - "src": "10803:4:0", + "referencedDeclaration": 493, + "src": "10741:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_calldata_ptr", "typeString": "uint8[] calldata" @@ -23799,12 +23667,12 @@ }, { "argumentTypes": null, - "id": 538, + "id": 532, "name": "sigR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 502, - "src": "10821:4:0", + "referencedDeclaration": 496, + "src": "10759:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", "typeString": "bytes32[] calldata" @@ -23812,12 +23680,12 @@ }, { "argumentTypes": null, - "id": 539, + "id": 533, "name": "sigS", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 505, - "src": "10839:4:0", + "referencedDeclaration": 499, + "src": "10777:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", "typeString": "bytes32[] calldata" @@ -23825,12 +23693,12 @@ }, { "argumentTypes": null, - "id": 540, + "id": 534, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 507, - "src": "10857:10:0", + "referencedDeclaration": 501, + "src": "10795:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -23838,12 +23706,12 @@ }, { "argumentTypes": null, - "id": 541, + "id": 535, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 510, - "src": "10881:12:0", + "referencedDeclaration": 504, + "src": "10819:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" @@ -23851,12 +23719,12 @@ }, { "argumentTypes": null, - "id": 542, + "id": 536, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 513, - "src": "10907:7:0", + "referencedDeclaration": 507, + "src": "10845:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", "typeString": "uint256[] calldata" @@ -23890,18 +23758,18 @@ "typeString": "uint256[] calldata" } ], - "id": 536, + "id": 530, "name": "verifyTransaction", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 706, - "src": "10772:17:0", + "referencedDeclaration": 700, + "src": "10710:17:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_array$_t_uint8_$dyn_memory_ptr_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_bytes32_$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$__$", "typeString": "function (uint8[] memory,bytes32[] memory,bytes32[] memory,bytes32,address[] memory,uint256[] memory)" } }, - "id": 543, + "id": 537, "isConstant": false, "isLValue": false, "isPure": false, @@ -23909,20 +23777,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "10772:152:0", + "src": "10710:152:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 544, + "id": 538, "nodeType": "ExpressionStatement", - "src": "10772:152:0" + "src": "10710:152:0" }, { "expression": { "argumentTypes": null, - "id": 551, + "id": 545, "isConstant": false, "isLValue": false, "isPure": false, @@ -23933,26 +23801,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 545, + "id": 539, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "10935:12:0", + "src": "10873:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 547, + "id": 541, "indexExpression": { "argumentTypes": null, - "id": 546, + "id": 540, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 507, - "src": "10948:10:0", + "referencedDeclaration": 501, + "src": "10886:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -23963,13 +23831,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "10935:24:0", + "src": "10873:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 548, + "id": 542, "isConstant": false, "isLValue": true, "isPure": false, @@ -23977,7 +23845,7 @@ "memberName": "status", "nodeType": "MemberAccess", "referencedDeclaration": 44, - "src": "10935:31:0", + "src": "10873:31:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$9", "typeString": "enum Escrow_v1_0.Status" @@ -23989,18 +23857,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 549, + "id": 543, "name": "Status", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9, - "src": "10969:6:0", + "src": "10907:6:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_Status_$9_$", "typeString": "type(enum Escrow_v1_0.Status)" } }, - "id": 550, + "id": 544, "isConstant": false, "isLValue": false, "isPure": true, @@ -24008,26 +23876,26 @@ "memberName": "RELEASED", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "10969:15:0", + "src": "10907:15:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$9", "typeString": "enum Escrow_v1_0.Status" } }, - "src": "10935:49:0", + "src": "10873:49:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$9", "typeString": "enum Escrow_v1_0.Status" } }, - "id": 552, + "id": 546, "nodeType": "ExpressionStatement", - "src": "10935:49:0" + "src": "10873:49:0" }, { "expression": { "argumentTypes": null, - "id": 559, + "id": 553, "isConstant": false, "isLValue": false, "isPure": false, @@ -24038,26 +23906,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 553, + "id": 547, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "11068:12:0", + "src": "11006:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 555, + "id": 549, "indexExpression": { "argumentTypes": null, - "id": 554, + "id": 548, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 507, - "src": "11081:10:0", + "referencedDeclaration": 501, + "src": "11019:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -24068,13 +23936,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "11068:24:0", + "src": "11006:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 556, + "id": 550, "isConstant": false, "isLValue": true, "isPure": false, @@ -24082,7 +23950,7 @@ "memberName": "lastModified", "nodeType": "MemberAccess", "referencedDeclaration": 42, - "src": "11068:37:0", + "src": "11006:37:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -24094,18 +23962,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 557, + "id": 551, "name": "block", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1374, - "src": "11108:5:0", + "referencedDeclaration": 1368, + "src": "11046:5:0", "typeDescriptions": { "typeIdentifier": "t_magic_block", "typeString": "block" } }, - "id": 558, + "id": 552, "isConstant": false, "isLValue": false, "isPure": false, @@ -24113,21 +23981,21 @@ "memberName": "timestamp", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "11108:15:0", + "src": "11046:15:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "11068:55:0", + "src": "11006:55:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 560, + "id": 554, "nodeType": "ExpressionStatement", - "src": "11068:55:0" + "src": "11006:55:0" }, { "expression": { @@ -24139,7 +24007,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 571, + "id": 565, "isConstant": false, "isLValue": false, "isPure": false, @@ -24149,12 +24017,12 @@ "arguments": [ { "argumentTypes": null, - "id": 563, + "id": 557, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 507, - "src": "11168:10:0", + "referencedDeclaration": 501, + "src": "11106:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -24162,12 +24030,12 @@ }, { "argumentTypes": null, - "id": 564, + "id": 558, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 510, - "src": "11180:12:0", + "referencedDeclaration": 504, + "src": "11118:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" @@ -24175,12 +24043,12 @@ }, { "argumentTypes": null, - "id": 565, + "id": 559, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 513, - "src": "11194:7:0", + "referencedDeclaration": 507, + "src": "11132:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", "typeString": "uint256[] calldata" @@ -24202,18 +24070,18 @@ "typeString": "uint256[] calldata" } ], - "id": 562, + "id": 556, "name": "transferFunds", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 893, - "src": "11154:13:0", + "referencedDeclaration": 887, + "src": "11092:13:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$_t_uint256_$", "typeString": "function (bytes32,address[] memory,uint256[] memory) returns (uint256)" } }, - "id": 566, + "id": 560, "isConstant": false, "isLValue": false, "isPure": false, @@ -24221,7 +24089,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "11154:48:0", + "src": "11092:48:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -24235,26 +24103,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 567, + "id": 561, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "11206:12:0", + "src": "11144:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 569, + "id": 563, "indexExpression": { "argumentTypes": null, - "id": 568, + "id": 562, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 507, - "src": "11219:10:0", + "referencedDeclaration": 501, + "src": "11157:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -24265,13 +24133,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "11206:24:0", + "src": "11144:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 570, + "id": 564, "isConstant": false, "isLValue": true, "isPure": false, @@ -24279,13 +24147,13 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": 40, - "src": "11206:30:0", + "src": "11144:30:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "11154:82:0", + "src": "11092:82:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -24294,14 +24162,14 @@ { "argumentTypes": null, "hexValue": "546f74616c2076616c756520746f2062652072656c6561736564206d75737420626520657175616c20746f20746865207472616e73616374696f6e20657363726f772076616c7565", - "id": 572, + "id": 566, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "11250:74:0", + "src": "11188:74:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_9e0bdb14e2e0d5e118fd1f547268c6a1fdb5e8facacd614066d4b60bc2c9941d", @@ -24321,21 +24189,21 @@ "typeString": "literal_string \"Total value to be released must be equal to the transaction escrow value\"" } ], - "id": 561, + "id": 555, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1387, - 1388 + 1381, + 1382 ], - "referencedDeclaration": 1388, - "src": "11133:7:0", + "referencedDeclaration": 1382, + "src": "11071:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 573, + "id": 567, "isConstant": false, "isLValue": false, "isPure": false, @@ -24343,15 +24211,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "11133:201:0", + "src": "11071:201:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 574, + "id": 568, "nodeType": "ExpressionStatement", - "src": "11133:201:0" + "src": "11071:201:0" }, { "eventCall": { @@ -24359,12 +24227,12 @@ "arguments": [ { "argumentTypes": null, - "id": 576, + "id": 570, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 507, - "src": "11367:10:0", + "referencedDeclaration": 501, + "src": "11305:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -24372,12 +24240,12 @@ }, { "argumentTypes": null, - "id": 577, + "id": 571, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 510, - "src": "11379:12:0", + "referencedDeclaration": 504, + "src": "11317:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" @@ -24385,12 +24253,12 @@ }, { "argumentTypes": null, - "id": 578, + "id": 572, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 513, - "src": "11393:7:0", + "referencedDeclaration": 507, + "src": "11331:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", "typeString": "uint256[] calldata" @@ -24412,18 +24280,18 @@ "typeString": "uint256[] calldata" } ], - "id": 575, + "id": 569, "name": "Executed", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 22, - "src": "11358:8:0", + "src": "11296:8:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$__$", "typeString": "function (bytes32,address[] memory,uint256[] memory)" } }, - "id": 579, + "id": 573, "isConstant": false, "isLValue": false, "isPure": false, @@ -24431,20 +24299,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "11358:43:0", + "src": "11296:43:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 580, + "id": 574, "nodeType": "EmitStatement", - "src": "11353:48:0" + "src": "11291:48:0" } ] }, "documentation": "dev This method will be used to release funds associated with the transaction\nPlease see specs https://github.com/OpenBazaar/smart-contracts/blob/master/contracts/escrow/EscrowSpec.md\nparam sigV Array containing V component of all the signatures\nparam sigR Array containing R component of all the signatures\nparam signS Array containing S component of all the signatures\nparam scriptHash script hash of the transaction\nparam destinations List of addresses who will receive funds\nparam amounts amount released to each destination", - "id": 582, + "id": 576, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -24453,82 +24321,82 @@ "arguments": [ { "argumentTypes": null, - "id": 516, + "id": 510, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 507, - "src": "10568:10:0", + "referencedDeclaration": 501, + "src": "10506:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } } ], - "id": 517, + "id": 511, "modifierName": { "argumentTypes": null, - "id": 515, + "id": 509, "name": "transactionExist", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 99, - "src": "10551:16:0", + "src": "10489:16:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "10551:28:0" + "src": "10489:28:0" }, { "arguments": [ { "argumentTypes": null, - "id": 519, + "id": 513, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 507, - "src": "10602:10:0", + "referencedDeclaration": 501, + "src": "10540:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } } ], - "id": 520, + "id": 514, "modifierName": { "argumentTypes": null, - "id": 518, + "id": 512, "name": "inFundedState", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 132, - "src": "10588:13:0", + "src": "10526:13:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "10588:25:0" + "src": "10526:25:0" } ], "name": "execute", "nodeType": "FunctionDefinition", "parameters": { - "id": 514, + "id": 508, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 499, + "id": 493, "name": "sigV", "nodeType": "VariableDeclaration", - "scope": 582, - "src": "10372:12:0", + "scope": 576, + "src": "10310:12:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -24537,19 +24405,19 @@ }, "typeName": { "baseType": { - "id": 497, + "id": 491, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "10372:5:0", + "src": "10310:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, - "id": 498, + "id": 492, "length": null, "nodeType": "ArrayTypeName", - "src": "10372:7:0", + "src": "10310:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_storage_ptr", "typeString": "uint8[]" @@ -24560,11 +24428,11 @@ }, { "constant": false, - "id": 502, + "id": 496, "name": "sigR", "nodeType": "VariableDeclaration", - "scope": 582, - "src": "10394:14:0", + "scope": 576, + "src": "10332:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -24573,19 +24441,19 @@ }, "typeName": { "baseType": { - "id": 500, + "id": 494, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "10394:7:0", + "src": "10332:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "id": 501, + "id": 495, "length": null, "nodeType": "ArrayTypeName", - "src": "10394:9:0", + "src": "10332:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -24596,11 +24464,11 @@ }, { "constant": false, - "id": 505, + "id": 499, "name": "sigS", "nodeType": "VariableDeclaration", - "scope": 582, - "src": "10418:14:0", + "scope": 576, + "src": "10356:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -24609,19 +24477,19 @@ }, "typeName": { "baseType": { - "id": 503, + "id": 497, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "10418:7:0", + "src": "10356:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "id": 504, + "id": 498, "length": null, "nodeType": "ArrayTypeName", - "src": "10418:9:0", + "src": "10356:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -24632,11 +24500,11 @@ }, { "constant": false, - "id": 507, + "id": 501, "name": "scriptHash", "nodeType": "VariableDeclaration", - "scope": 582, - "src": "10442:18:0", + "scope": 576, + "src": "10380:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -24644,10 +24512,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 506, + "id": 500, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "10442:7:0", + "src": "10380:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -24658,11 +24526,11 @@ }, { "constant": false, - "id": 510, + "id": 504, "name": "destinations", "nodeType": "VariableDeclaration", - "scope": 582, - "src": "10470:22:0", + "scope": 576, + "src": "10408:22:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -24671,19 +24539,19 @@ }, "typeName": { "baseType": { - "id": 508, + "id": 502, "name": "address", "nodeType": "ElementaryTypeName", - "src": "10470:7:0", + "src": "10408:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 509, + "id": 503, "length": null, "nodeType": "ArrayTypeName", - "src": "10470:9:0", + "src": "10408:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", "typeString": "address[]" @@ -24694,11 +24562,11 @@ }, { "constant": false, - "id": 513, + "id": 507, "name": "amounts", "nodeType": "VariableDeclaration", - "scope": 582, - "src": "10502:17:0", + "scope": 576, + "src": "10440:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -24707,19 +24575,19 @@ }, "typeName": { "baseType": { - "id": 511, + "id": 505, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "10502:7:0", + "src": "10440:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 512, + "id": 506, "length": null, "nodeType": "ArrayTypeName", - "src": "10502:9:0", + "src": "10440:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -24729,26 +24597,26 @@ "visibility": "internal" } ], - "src": "10362:163:0" + "src": "10300:163:0" }, "payable": false, "returnParameters": { - "id": 521, + "id": 515, "nodeType": "ParameterList", "parameters": [], - "src": "10618:0:0" + "src": "10556:0:0" }, - "scope": 1211, - "src": "10346:1062:0", + "scope": 1205, + "src": "10284:1062:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" }, { "body": { - "id": 636, + "id": 630, "nodeType": "Block", - "src": "12162:716:0", + "src": "12100:716:0", "statements": [ { "condition": { @@ -24757,19 +24625,19 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 605, + "id": 599, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 601, + "id": 595, "name": "tokenAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 596, - "src": "12176:12:0", + "referencedDeclaration": 590, + "src": "12114:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -24783,14 +24651,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 603, + "id": 597, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "12200:1:0", + "src": "12138:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -24806,20 +24674,20 @@ "typeString": "int_const 0" } ], - "id": 602, + "id": 596, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "12192:7:0", + "src": "12130:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, - "id": 604, + "id": 598, "isConstant": false, "isLValue": false, "isPure": true, @@ -24827,22 +24695,22 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "12192:10:0", + "src": "12130:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "12176:26:0", + "src": "12114:26:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": { - "id": 634, + "id": 628, "nodeType": "Block", - "src": "12524:348:0", + "src": "12462:348:0", "statements": [ { "expression": { @@ -24853,12 +24721,12 @@ "arguments": [ { "argumentTypes": null, - "id": 623, + "id": 617, "name": "uniqueId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 584, - "src": "12610:8:0", + "referencedDeclaration": 578, + "src": "12548:8:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -24866,12 +24734,12 @@ }, { "argumentTypes": null, - "id": 624, + "id": 618, "name": "threshold", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 586, - "src": "12640:9:0", + "referencedDeclaration": 580, + "src": "12578:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -24879,12 +24747,12 @@ }, { "argumentTypes": null, - "id": 625, + "id": 619, "name": "timeoutHours", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 588, - "src": "12671:12:0", + "referencedDeclaration": 582, + "src": "12609:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -24892,12 +24760,12 @@ }, { "argumentTypes": null, - "id": 626, + "id": 620, "name": "buyer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 590, - "src": "12705:5:0", + "referencedDeclaration": 584, + "src": "12643:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -24905,12 +24773,12 @@ }, { "argumentTypes": null, - "id": 627, + "id": 621, "name": "seller", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 592, - "src": "12732:6:0", + "referencedDeclaration": 586, + "src": "12670:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -24918,12 +24786,12 @@ }, { "argumentTypes": null, - "id": 628, + "id": 622, "name": "moderator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 594, - "src": "12760:9:0", + "referencedDeclaration": 588, + "src": "12698:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -24931,25 +24799,25 @@ }, { "argumentTypes": null, - "id": 629, + "id": 623, "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1401, - "src": "12791:4:0", + "referencedDeclaration": 1395, + "src": "12729:4:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_Escrow_v1_0_$1211", + "typeIdentifier": "t_contract$_Escrow_v1_0_$1205", "typeString": "contract Escrow_v1_0" } }, { "argumentTypes": null, - "id": 630, + "id": 624, "name": "tokenAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 596, - "src": "12817:12:0", + "referencedDeclaration": 590, + "src": "12755:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -24983,7 +24851,7 @@ "typeString": "address" }, { - "typeIdentifier": "t_contract$_Escrow_v1_0_$1211", + "typeIdentifier": "t_contract$_Escrow_v1_0_$1205", "typeString": "contract Escrow_v1_0" }, { @@ -24993,18 +24861,18 @@ ], "expression": { "argumentTypes": null, - "id": 621, + "id": 615, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1371, - "src": "12572:3:0", + "referencedDeclaration": 1365, + "src": "12510:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, - "id": 622, + "id": 616, "isConstant": false, "isLValue": false, "isPure": true, @@ -25012,13 +24880,13 @@ "memberName": "encodePacked", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "12572:16:0", + "src": "12510:16:0", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, - "id": 631, + "id": 625, "isConstant": false, "isLValue": false, "isPure": false, @@ -25026,7 +24894,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "12572:275:0", + "src": "12510:275:0", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -25040,18 +24908,18 @@ "typeString": "bytes memory" } ], - "id": 620, + "id": 614, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1378, - "src": "12545:9:0", + "referencedDeclaration": 1372, + "src": "12483:9:0", "typeDescriptions": { "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", "typeString": "function () pure returns (bytes32)" } }, - "id": 632, + "id": 626, "isConstant": false, "isLValue": false, "isPure": false, @@ -25059,26 +24927,26 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "12545:316:0", + "src": "12483:316:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "functionReturnParameters": 600, - "id": 633, + "functionReturnParameters": 594, + "id": 627, "nodeType": "Return", - "src": "12538:323:0" + "src": "12476:323:0" } ] }, - "id": 635, + "id": 629, "nodeType": "IfStatement", - "src": "12172:700:0", + "src": "12110:700:0", "trueBody": { - "id": 619, + "id": 613, "nodeType": "Block", - "src": "12204:314:0", + "src": "12142:314:0", "statements": [ { "expression": { @@ -25089,12 +24957,12 @@ "arguments": [ { "argumentTypes": null, - "id": 609, + "id": 603, "name": "uniqueId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 584, - "src": "12290:8:0", + "referencedDeclaration": 578, + "src": "12228:8:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -25102,12 +24970,12 @@ }, { "argumentTypes": null, - "id": 610, + "id": 604, "name": "threshold", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 586, - "src": "12320:9:0", + "referencedDeclaration": 580, + "src": "12258:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -25115,12 +24983,12 @@ }, { "argumentTypes": null, - "id": 611, + "id": 605, "name": "timeoutHours", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 588, - "src": "12351:12:0", + "referencedDeclaration": 582, + "src": "12289:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -25128,12 +24996,12 @@ }, { "argumentTypes": null, - "id": 612, + "id": 606, "name": "buyer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 590, - "src": "12385:5:0", + "referencedDeclaration": 584, + "src": "12323:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -25141,12 +25009,12 @@ }, { "argumentTypes": null, - "id": 613, + "id": 607, "name": "seller", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 592, - "src": "12412:6:0", + "referencedDeclaration": 586, + "src": "12350:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -25154,12 +25022,12 @@ }, { "argumentTypes": null, - "id": 614, + "id": 608, "name": "moderator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 594, - "src": "12440:9:0", + "referencedDeclaration": 588, + "src": "12378:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -25167,14 +25035,14 @@ }, { "argumentTypes": null, - "id": 615, + "id": 609, "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1401, - "src": "12471:4:0", + "referencedDeclaration": 1395, + "src": "12409:4:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_Escrow_v1_0_$1211", + "typeIdentifier": "t_contract$_Escrow_v1_0_$1205", "typeString": "contract Escrow_v1_0" } } @@ -25206,24 +25074,24 @@ "typeString": "address" }, { - "typeIdentifier": "t_contract$_Escrow_v1_0_$1211", + "typeIdentifier": "t_contract$_Escrow_v1_0_$1205", "typeString": "contract Escrow_v1_0" } ], "expression": { "argumentTypes": null, - "id": 607, + "id": 601, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1371, - "src": "12252:3:0", + "referencedDeclaration": 1365, + "src": "12190:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, - "id": 608, + "id": 602, "isConstant": false, "isLValue": false, "isPure": true, @@ -25231,13 +25099,13 @@ "memberName": "encodePacked", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "12252:16:0", + "src": "12190:16:0", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, - "id": 616, + "id": 610, "isConstant": false, "isLValue": false, "isPure": false, @@ -25245,7 +25113,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "12252:241:0", + "src": "12190:241:0", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -25259,18 +25127,18 @@ "typeString": "bytes memory" } ], - "id": 606, + "id": 600, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1378, - "src": "12225:9:0", + "referencedDeclaration": 1372, + "src": "12163:9:0", "typeDescriptions": { "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", "typeString": "function () pure returns (bytes32)" } }, - "id": 617, + "id": 611, "isConstant": false, "isLValue": false, "isPure": false, @@ -25278,16 +25146,16 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "12225:282:0", + "src": "12163:282:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "functionReturnParameters": 600, - "id": 618, + "functionReturnParameters": 594, + "id": 612, "nodeType": "Return", - "src": "12218:289:0" + "src": "12156:289:0" } ] } @@ -25295,7 +25163,7 @@ ] }, "documentation": "dev Method for calculating script hash. Calculation will depend upon the type of transaction\nETHER Type transaction-:\nScript Hash- keccak256(uniqueId, threshold, timeoutHours, buyer, seller, moderator)\nTOKEN Type transaction\nScript Hash- keccak256(uniqueId, threshold, timeoutHours, buyer, seller, moderator, tokenAddress)\nClient can use this method to verify whether it has calculated correct script hash or not", - "id": 637, + "id": 631, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -25303,16 +25171,16 @@ "name": "calculateRedeemScriptHash", "nodeType": "FunctionDefinition", "parameters": { - "id": 597, + "id": 591, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 584, + "id": 578, "name": "uniqueId", "nodeType": "VariableDeclaration", - "scope": 637, - "src": "11923:16:0", + "scope": 631, + "src": "11861:16:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -25320,10 +25188,10 @@ "typeString": "bytes20" }, "typeName": { - "id": 583, + "id": 577, "name": "bytes20", "nodeType": "ElementaryTypeName", - "src": "11923:7:0", + "src": "11861:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -25334,11 +25202,11 @@ }, { "constant": false, - "id": 586, + "id": 580, "name": "threshold", "nodeType": "VariableDeclaration", - "scope": 637, - "src": "11949:15:0", + "scope": 631, + "src": "11887:15:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -25346,10 +25214,10 @@ "typeString": "uint8" }, "typeName": { - "id": 585, + "id": 579, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "11949:5:0", + "src": "11887:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -25360,11 +25228,11 @@ }, { "constant": false, - "id": 588, + "id": 582, "name": "timeoutHours", "nodeType": "VariableDeclaration", - "scope": 637, - "src": "11974:19:0", + "scope": 631, + "src": "11912:19:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -25372,10 +25240,10 @@ "typeString": "uint32" }, "typeName": { - "id": 587, + "id": 581, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "11974:6:0", + "src": "11912:6:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -25386,11 +25254,11 @@ }, { "constant": false, - "id": 590, + "id": 584, "name": "buyer", "nodeType": "VariableDeclaration", - "scope": 637, - "src": "12003:13:0", + "scope": 631, + "src": "11941:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -25398,10 +25266,10 @@ "typeString": "address" }, "typeName": { - "id": 589, + "id": 583, "name": "address", "nodeType": "ElementaryTypeName", - "src": "12003:7:0", + "src": "11941:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -25412,11 +25280,11 @@ }, { "constant": false, - "id": 592, + "id": 586, "name": "seller", "nodeType": "VariableDeclaration", - "scope": 637, - "src": "12026:14:0", + "scope": 631, + "src": "11964:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -25424,10 +25292,10 @@ "typeString": "address" }, "typeName": { - "id": 591, + "id": 585, "name": "address", "nodeType": "ElementaryTypeName", - "src": "12026:7:0", + "src": "11964:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -25438,11 +25306,11 @@ }, { "constant": false, - "id": 594, + "id": 588, "name": "moderator", "nodeType": "VariableDeclaration", - "scope": 637, - "src": "12050:17:0", + "scope": 631, + "src": "11988:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -25450,10 +25318,10 @@ "typeString": "address" }, "typeName": { - "id": 593, + "id": 587, "name": "address", "nodeType": "ElementaryTypeName", - "src": "12050:7:0", + "src": "11988:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -25464,11 +25332,11 @@ }, { "constant": false, - "id": 596, + "id": 590, "name": "tokenAddress", "nodeType": "VariableDeclaration", - "scope": 637, - "src": "12077:20:0", + "scope": 631, + "src": "12015:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -25476,10 +25344,10 @@ "typeString": "address" }, "typeName": { - "id": 595, + "id": 589, "name": "address", "nodeType": "ElementaryTypeName", - "src": "12077:7:0", + "src": "12015:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -25489,20 +25357,20 @@ "visibility": "internal" } ], - "src": "11913:190:0" + "src": "11851:190:0" }, "payable": false, "returnParameters": { - "id": 600, + "id": 594, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 599, + "id": 593, "name": "", "nodeType": "VariableDeclaration", - "scope": 637, - "src": "12149:7:0", + "scope": 631, + "src": "12087:7:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -25510,10 +25378,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 598, + "id": 592, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "12149:7:0", + "src": "12087:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -25523,32 +25391,32 @@ "visibility": "internal" } ], - "src": "12148:9:0" + "src": "12086:9:0" }, - "scope": 1211, - "src": "11879:999:0", + "scope": 1205, + "src": "11817:999:0", "stateMutability": "view", "superFunction": null, "visibility": "public" }, { "body": { - "id": 705, + "id": 699, "nodeType": "Block", - "src": "13362:795:0", + "src": "13300:795:0", "statements": [ { "assignments": [ - 658 + 652 ], "declarations": [ { "constant": false, - "id": 658, + "id": 652, "name": "lastRecovered", "nodeType": "VariableDeclaration", - "scope": 706, - "src": "13372:21:0", + "scope": 700, + "src": "13310:21:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -25556,10 +25424,10 @@ "typeString": "address" }, "typeName": { - "id": 657, + "id": 651, "name": "address", "nodeType": "ElementaryTypeName", - "src": "13372:7:0", + "src": "13310:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -25569,18 +25437,18 @@ "visibility": "internal" } ], - "id": 667, + "id": 661, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 660, + "id": 654, "name": "sigV", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 640, - "src": "13426:4:0", + "referencedDeclaration": 634, + "src": "13364:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr", "typeString": "uint8[] memory" @@ -25588,12 +25456,12 @@ }, { "argumentTypes": null, - "id": 661, + "id": 655, "name": "sigR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 643, - "src": "13444:4:0", + "referencedDeclaration": 637, + "src": "13382:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" @@ -25601,12 +25469,12 @@ }, { "argumentTypes": null, - "id": 662, + "id": 656, "name": "sigS", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 646, - "src": "13462:4:0", + "referencedDeclaration": 640, + "src": "13400:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" @@ -25614,12 +25482,12 @@ }, { "argumentTypes": null, - "id": 663, + "id": 657, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 648, - "src": "13480:10:0", + "referencedDeclaration": 642, + "src": "13418:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -25627,12 +25495,12 @@ }, { "argumentTypes": null, - "id": 664, + "id": 658, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 651, - "src": "13504:12:0", + "referencedDeclaration": 645, + "src": "13442:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -25640,12 +25508,12 @@ }, { "argumentTypes": null, - "id": 665, + "id": 659, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 654, - "src": "13530:7:0", + "referencedDeclaration": 648, + "src": "13468:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" @@ -25679,18 +25547,18 @@ "typeString": "uint256[] memory" } ], - "id": 659, + "id": 653, "name": "verifySignatures", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1022, - "src": "13396:16:0", + "referencedDeclaration": 1016, + "src": "13334:16:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_array$_t_uint8_$dyn_memory_ptr_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_bytes32_$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$_t_address_$", "typeString": "function (uint8[] memory,bytes32[] memory,bytes32[] memory,bytes32,address[] memory,uint256[] memory) returns (address)" } }, - "id": 666, + "id": 660, "isConstant": false, "isLValue": false, "isPure": false, @@ -25698,27 +25566,27 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "13396:151:0", + "src": "13334:151:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "VariableDeclarationStatement", - "src": "13372:175:0" + "src": "13310:175:0" }, { "assignments": [ - 669 + 663 ], "declarations": [ { "constant": false, - "id": 669, + "id": 663, "name": "timeLockExpired", "nodeType": "VariableDeclaration", - "scope": 706, - "src": "13558:20:0", + "scope": 700, + "src": "13496:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -25726,10 +25594,10 @@ "typeString": "bool" }, "typeName": { - "id": 668, + "id": 662, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "13558:4:0", + "src": "13496:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -25739,7 +25607,7 @@ "visibility": "internal" } ], - "id": 680, + "id": 674, "initialValue": { "argumentTypes": null, "arguments": [ @@ -25749,26 +25617,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 671, + "id": 665, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "13612:12:0", + "src": "13550:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 673, + "id": 667, "indexExpression": { "argumentTypes": null, - "id": 672, + "id": 666, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 648, - "src": "13625:10:0", + "referencedDeclaration": 642, + "src": "13563:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -25779,13 +25647,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "13612:24:0", + "src": "13550:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 674, + "id": 668, "isConstant": false, "isLValue": true, "isPure": false, @@ -25793,7 +25661,7 @@ "memberName": "timeoutHours", "nodeType": "MemberAccess", "referencedDeclaration": 50, - "src": "13612:37:0", + "src": "13550:37:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -25805,26 +25673,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 675, + "id": 669, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "13663:12:0", + "src": "13601:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 677, + "id": 671, "indexExpression": { "argumentTypes": null, - "id": 676, + "id": 670, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 648, - "src": "13676:10:0", + "referencedDeclaration": 642, + "src": "13614:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -25835,13 +25703,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "13663:24:0", + "src": "13601:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 678, + "id": 672, "isConstant": false, "isLValue": true, "isPure": false, @@ -25849,7 +25717,7 @@ "memberName": "lastModified", "nodeType": "MemberAccess", "referencedDeclaration": 42, - "src": "13663:37:0", + "src": "13601:37:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -25867,18 +25735,18 @@ "typeString": "uint256" } ], - "id": 670, + "id": 664, "name": "isTimeLockExpired", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1054, - "src": "13581:17:0", + "referencedDeclaration": 1048, + "src": "13519:17:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_uint32_$_t_uint256_$returns$_t_bool_$", "typeString": "function (uint32,uint256) view returns (bool)" } }, - "id": 679, + "id": 673, "isConstant": false, "isLValue": false, "isPure": false, @@ -25886,14 +25754,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "13581:129:0", + "src": "13519:129:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "nodeType": "VariableDeclarationStatement", - "src": "13558:152:0" + "src": "13496:152:0" }, { "condition": { @@ -25902,7 +25770,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 698, + "id": 692, "isConstant": false, "isLValue": false, "isPure": false, @@ -25913,7 +25781,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 687, + "id": 681, "isConstant": false, "isLValue": false, "isPure": false, @@ -25922,18 +25790,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 681, + "id": 675, "name": "sigV", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 640, - "src": "13882:4:0", + "referencedDeclaration": 634, + "src": "13820:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr", "typeString": "uint8[] memory" } }, - "id": 682, + "id": 676, "isConstant": false, "isLValue": false, "isPure": false, @@ -25941,7 +25809,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "13882:11:0", + "src": "13820:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -25955,26 +25823,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 683, + "id": 677, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "13896:12:0", + "src": "13834:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 685, + "id": 679, "indexExpression": { "argumentTypes": null, - "id": 684, + "id": 678, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 648, - "src": "13909:10:0", + "referencedDeclaration": 642, + "src": "13847:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -25985,13 +25853,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "13896:24:0", + "src": "13834:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 686, + "id": 680, "isConstant": false, "isLValue": true, "isPure": false, @@ -25999,13 +25867,13 @@ "memberName": "threshold", "nodeType": "MemberAccess", "referencedDeclaration": 48, - "src": "13896:34:0", + "src": "13834:34:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, - "src": "13882:48:0", + "src": "13820:48:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -26022,14 +25890,14 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 696, + "id": 690, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 689, + "id": 683, "isConstant": false, "isLValue": false, "isPure": false, @@ -26037,15 +25905,15 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "13935:16:0", + "src": "13873:16:0", "subExpression": { "argumentTypes": null, - "id": 688, + "id": 682, "name": "timeLockExpired", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 669, - "src": "13936:15:0", + "referencedDeclaration": 663, + "src": "13874:15:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -26064,19 +25932,19 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 695, + "id": 689, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 690, + "id": 684, "name": "lastRecovered", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 658, - "src": "13955:13:0", + "referencedDeclaration": 652, + "src": "13893:13:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -26090,26 +25958,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 691, + "id": 685, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "13972:12:0", + "src": "13910:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 693, + "id": 687, "indexExpression": { "argumentTypes": null, - "id": 692, + "id": 686, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 648, - "src": "13985:10:0", + "referencedDeclaration": 642, + "src": "13923:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -26120,13 +25988,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "13972:24:0", + "src": "13910:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 694, + "id": 688, "isConstant": false, "isLValue": true, "isPure": false, @@ -26134,52 +26002,52 @@ "memberName": "seller", "nodeType": "MemberAccess", "referencedDeclaration": 54, - "src": "13972:31:0", + "src": "13910:31:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "13955:48:0", + "src": "13893:48:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "13935:68:0", + "src": "13873:68:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } } ], - "id": 697, + "id": 691, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "13934:70:0", + "src": "13872:70:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "13882:122:0", + "src": "13820:122:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, - "id": 704, + "id": 698, "nodeType": "IfStatement", - "src": "13861:289:0", + "src": "13799:289:0", "trueBody": { - "id": 703, + "id": 697, "nodeType": "Block", - "src": "14027:123:0", + "src": "13965:123:0", "statements": [ { "expression": { @@ -26188,14 +26056,14 @@ { "argumentTypes": null, "hexValue": "4d696e696d756d206e756d626572206f66207369676e61747572657320617265206e6f7420636f6c6c656374656420616e642074696d65206c6f636b2065787069727920636f6e646974696f6e73206e6f74206d65742121", - "id": 700, + "id": 694, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "14048:90:0", + "src": "13986:90:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_e454643f61f81e3a3dc8dabaafde295fea592e232abeb03abbb1835bdc3d20d0", @@ -26211,21 +26079,21 @@ "typeString": "literal_string \"Minimum number of signatures are not collected and time lock expiry conditions not met!!\"" } ], - "id": 699, + "id": 693, "name": "revert", "nodeType": "Identifier", "overloadedDeclarations": [ - 1389, - 1390 + 1383, + 1384 ], - "referencedDeclaration": 1390, - "src": "14041:6:0", + "referencedDeclaration": 1384, + "src": "13979:6:0", "typeDescriptions": { "typeIdentifier": "t_function_revert_pure$_t_string_memory_ptr_$returns$__$", "typeString": "function (string memory) pure" } }, - "id": 701, + "id": 695, "isConstant": false, "isLValue": false, "isPure": false, @@ -26233,15 +26101,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "14041:98:0", + "src": "13979:98:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 702, + "id": 696, "nodeType": "ExpressionStatement", - "src": "14041:98:0" + "src": "13979:98:0" } ] } @@ -26249,7 +26117,7 @@ ] }, "documentation": "@dev This methods checks validity of transaction\n1. Verify Signatures\n2. Check if minimum number of signatures has been acquired\n3. If above condition is false, check if time lock is expired and the execution is signed by seller", - "id": 706, + "id": 700, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -26257,16 +26125,16 @@ "name": "verifyTransaction", "nodeType": "FunctionDefinition", "parameters": { - "id": 655, + "id": 649, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 640, + "id": 634, "name": "sigV", "nodeType": "VariableDeclaration", - "scope": 706, - "src": "13188:12:0", + "scope": 700, + "src": "13126:12:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -26275,19 +26143,19 @@ }, "typeName": { "baseType": { - "id": 638, + "id": 632, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "13188:5:0", + "src": "13126:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, - "id": 639, + "id": 633, "length": null, "nodeType": "ArrayTypeName", - "src": "13188:7:0", + "src": "13126:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_storage_ptr", "typeString": "uint8[]" @@ -26298,11 +26166,11 @@ }, { "constant": false, - "id": 643, + "id": 637, "name": "sigR", "nodeType": "VariableDeclaration", - "scope": 706, - "src": "13210:14:0", + "scope": 700, + "src": "13148:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -26311,19 +26179,19 @@ }, "typeName": { "baseType": { - "id": 641, + "id": 635, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "13210:7:0", + "src": "13148:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "id": 642, + "id": 636, "length": null, "nodeType": "ArrayTypeName", - "src": "13210:9:0", + "src": "13148:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -26334,11 +26202,11 @@ }, { "constant": false, - "id": 646, + "id": 640, "name": "sigS", "nodeType": "VariableDeclaration", - "scope": 706, - "src": "13234:14:0", + "scope": 700, + "src": "13172:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -26347,19 +26215,19 @@ }, "typeName": { "baseType": { - "id": 644, + "id": 638, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "13234:7:0", + "src": "13172:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "id": 645, + "id": 639, "length": null, "nodeType": "ArrayTypeName", - "src": "13234:9:0", + "src": "13172:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -26370,11 +26238,11 @@ }, { "constant": false, - "id": 648, + "id": 642, "name": "scriptHash", "nodeType": "VariableDeclaration", - "scope": 706, - "src": "13258:18:0", + "scope": 700, + "src": "13196:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -26382,10 +26250,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 647, + "id": 641, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "13258:7:0", + "src": "13196:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -26396,11 +26264,11 @@ }, { "constant": false, - "id": 651, + "id": 645, "name": "destinations", "nodeType": "VariableDeclaration", - "scope": 706, - "src": "13286:22:0", + "scope": 700, + "src": "13224:22:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -26409,19 +26277,19 @@ }, "typeName": { "baseType": { - "id": 649, + "id": 643, "name": "address", "nodeType": "ElementaryTypeName", - "src": "13286:7:0", + "src": "13224:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 650, + "id": 644, "length": null, "nodeType": "ArrayTypeName", - "src": "13286:9:0", + "src": "13224:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", "typeString": "address[]" @@ -26432,11 +26300,11 @@ }, { "constant": false, - "id": 654, + "id": 648, "name": "amounts", "nodeType": "VariableDeclaration", - "scope": 706, - "src": "13318:17:0", + "scope": 700, + "src": "13256:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -26445,19 +26313,19 @@ }, "typeName": { "baseType": { - "id": 652, + "id": 646, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "13318:7:0", + "src": "13256:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 653, + "id": 647, "length": null, "nodeType": "ArrayTypeName", - "src": "13318:9:0", + "src": "13256:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -26467,39 +26335,39 @@ "visibility": "internal" } ], - "src": "13178:163:0" + "src": "13116:163:0" }, "payable": false, "returnParameters": { - "id": 656, + "id": 650, "nodeType": "ParameterList", "parameters": [], - "src": "13362:0:0" + "src": "13300:0:0" }, - "scope": 1211, - "src": "13152:1005:0", + "scope": 1205, + "src": "13090:1005:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "private" }, { "body": { - "id": 892, + "id": 886, "nodeType": "Block", - "src": "14443:1362:0", + "src": "14381:1362:0", "statements": [ { "assignments": [ - 720 + 714 ], "declarations": [ { "constant": false, - "id": 720, + "id": 714, "name": "t", "nodeType": "VariableDeclaration", - "scope": 893, - "src": "14453:21:0", + "scope": 887, + "src": "14391:21:0", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { @@ -26508,11 +26376,11 @@ }, "typeName": { "contractScope": null, - "id": 719, + "id": 713, "name": "Transaction", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 71, - "src": "14453:11:0", + "src": "14391:11:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction" @@ -26522,31 +26390,31 @@ "visibility": "internal" } ], - "id": 724, + "id": 718, "initialValue": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 721, + "id": 715, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "14477:12:0", + "src": "14415:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 723, + "id": 717, "indexExpression": { "argumentTypes": null, - "id": 722, + "id": 716, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 708, - "src": "14490:10:0", + "referencedDeclaration": 702, + "src": "14428:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -26557,27 +26425,27 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "14477:24:0", + "src": "14415:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "14453:48:0" + "src": "14391:48:0" }, { "assignments": [ - 726 + 720 ], "declarations": [ { "constant": false, - "id": 726, + "id": 720, "name": "valueTransferred", "nodeType": "VariableDeclaration", - "scope": 893, - "src": "14512:24:0", + "scope": 887, + "src": "14450:24:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -26585,10 +26453,10 @@ "typeString": "uint256" }, "typeName": { - "id": 725, + "id": 719, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "14512:7:0", + "src": "14450:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -26598,18 +26466,18 @@ "visibility": "internal" } ], - "id": 728, + "id": 722, "initialValue": { "argumentTypes": null, "hexValue": "30", - "id": 727, + "id": 721, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "14539:1:0", + "src": "14477:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -26618,7 +26486,7 @@ "value": "0" }, "nodeType": "VariableDeclarationStatement", - "src": "14512:28:0" + "src": "14450:28:0" }, { "condition": { @@ -26627,7 +26495,7 @@ "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" }, - "id": 733, + "id": 727, "isConstant": false, "isLValue": false, "isPure": false, @@ -26636,18 +26504,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 729, + "id": 723, "name": "t", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 720, - "src": "14555:1:0", + "referencedDeclaration": 714, + "src": "14493:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" } }, - "id": 730, + "id": 724, "isConstant": false, "isLValue": true, "isPure": false, @@ -26655,7 +26523,7 @@ "memberName": "transactionType", "nodeType": "MemberAccess", "referencedDeclaration": 46, - "src": "14555:17:0", + "src": "14493:17:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -26667,18 +26535,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 731, + "id": 725, "name": "TransactionType", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12, - "src": "14576:15:0", + "src": "14514:15:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_TransactionType_$12_$", "typeString": "type(enum Escrow_v1_0.TransactionType)" } }, - "id": 732, + "id": 726, "isConstant": false, "isLValue": false, "isPure": true, @@ -26686,13 +26554,13 @@ "memberName": "ETHER", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "14576:21:0", + "src": "14514:21:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" } }, - "src": "14555:42:0", + "src": "14493:42:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -26705,7 +26573,7 @@ "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" }, - "id": 807, + "id": 801, "isConstant": false, "isLValue": false, "isPure": false, @@ -26714,18 +26582,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 803, + "id": 797, "name": "t", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 720, - "src": "15111:1:0", + "referencedDeclaration": 714, + "src": "15049:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" } }, - "id": 804, + "id": 798, "isConstant": false, "isLValue": true, "isPure": false, @@ -26733,7 +26601,7 @@ "memberName": "transactionType", "nodeType": "MemberAccess", "referencedDeclaration": 46, - "src": "15111:17:0", + "src": "15049:17:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -26745,18 +26613,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 805, + "id": 799, "name": "TransactionType", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12, - "src": "15132:15:0", + "src": "15070:15:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_TransactionType_$12_$", "typeString": "type(enum Escrow_v1_0.TransactionType)" } }, - "id": 806, + "id": 800, "isConstant": false, "isLValue": false, "isPure": true, @@ -26764,54 +26632,54 @@ "memberName": "TOKEN", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "15132:21:0", + "src": "15070:21:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" } }, - "src": "15111:42:0", + "src": "15049:42:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, - "id": 888, + "id": 882, "nodeType": "IfStatement", - "src": "15107:658:0", + "src": "15045:658:0", "trueBody": { - "id": 887, + "id": 881, "nodeType": "Block", - "src": "15155:610:0", + "src": "15093:610:0", "statements": [ { "assignments": [ - 809 + 803 ], "declarations": [ { "constant": false, - "id": 809, + "id": 803, "name": "token", "nodeType": "VariableDeclaration", - "scope": 893, - "src": "15170:20:0", + "scope": 887, + "src": "15108:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenContract_$1241", + "typeIdentifier": "t_contract$_ITokenContract_$1235", "typeString": "contract ITokenContract" }, "typeName": { "contractScope": null, - "id": 808, + "id": 802, "name": "ITokenContract", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1241, - "src": "15170:14:0", + "referencedDeclaration": 1235, + "src": "15108:14:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenContract_$1241", + "typeIdentifier": "t_contract$_ITokenContract_$1235", "typeString": "contract ITokenContract" } }, @@ -26819,7 +26687,7 @@ "visibility": "internal" } ], - "id": 814, + "id": 808, "initialValue": { "argumentTypes": null, "arguments": [ @@ -26827,18 +26695,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 811, + "id": 805, "name": "t", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 720, - "src": "15208:1:0", + "referencedDeclaration": 714, + "src": "15146:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" } }, - "id": 812, + "id": 806, "isConstant": false, "isLValue": true, "isPure": false, @@ -26846,7 +26714,7 @@ "memberName": "tokenAddress", "nodeType": "MemberAccess", "referencedDeclaration": 56, - "src": "15208:14:0", + "src": "15146:14:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -26860,18 +26728,18 @@ "typeString": "address" } ], - "id": 810, + "id": 804, "name": "ITokenContract", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1241, - "src": "15193:14:0", + "referencedDeclaration": 1235, + "src": "15131:14:0", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ITokenContract_$1241_$", + "typeIdentifier": "t_type$_t_contract$_ITokenContract_$1235_$", "typeString": "type(contract ITokenContract)" } }, - "id": 813, + "id": 807, "isConstant": false, "isLValue": false, "isPure": false, @@ -26879,20 +26747,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15193:30:0", + "src": "15131:30:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenContract_$1241", + "typeIdentifier": "t_contract$_ITokenContract_$1235", "typeString": "contract ITokenContract" } }, "nodeType": "VariableDeclarationStatement", - "src": "15170:53:0" + "src": "15108:53:0" }, { "body": { - "id": 885, + "id": 879, "nodeType": "Block", - "src": "15286:469:0", + "src": "15224:469:0", "statements": [ { "expression": { @@ -26904,7 +26772,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 840, + "id": 834, "isConstant": false, "isLValue": false, "isPure": false, @@ -26915,7 +26783,7 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 833, + "id": 827, "isConstant": false, "isLValue": false, "isPure": false, @@ -26924,26 +26792,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 827, + "id": 821, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 711, - "src": "15313:12:0", + "referencedDeclaration": 705, + "src": "15251:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" } }, - "id": 829, + "id": 823, "indexExpression": { "argumentTypes": null, - "id": 828, + "id": 822, "name": "j", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 816, - "src": "15326:1:0", + "referencedDeclaration": 810, + "src": "15264:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -26954,7 +26822,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15313:15:0", + "src": "15251:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -26968,14 +26836,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 831, + "id": 825, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "15340:1:0", + "src": "15278:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -26991,20 +26859,20 @@ "typeString": "int_const 0" } ], - "id": 830, + "id": 824, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "15332:7:0", + "src": "15270:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, - "id": 832, + "id": 826, "isConstant": false, "isLValue": false, "isPure": true, @@ -27012,13 +26880,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15332:10:0", + "src": "15270:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "15313:29:0", + "src": "15251:29:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -27032,18 +26900,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 834, + "id": 828, "name": "t", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 720, - "src": "15346:1:0", + "referencedDeclaration": 714, + "src": "15284:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" } }, - "id": 835, + "id": 829, "isConstant": false, "isLValue": true, "isPure": false, @@ -27051,37 +26919,37 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "15346:9:0", + "src": "15284:9:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 839, + "id": 833, "indexExpression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 836, + "id": 830, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 711, - "src": "15356:12:0", + "referencedDeclaration": 705, + "src": "15294:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" } }, - "id": 838, + "id": 832, "indexExpression": { "argumentTypes": null, - "id": 837, + "id": 831, "name": "j", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 816, - "src": "15369:1:0", + "referencedDeclaration": 810, + "src": "15307:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27092,7 +26960,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15356:15:0", + "src": "15294:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -27103,13 +26971,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15346:26:0", + "src": "15284:26:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "15313:59:0", + "src": "15251:59:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -27118,14 +26986,14 @@ { "argumentTypes": null, "hexValue": "4e6f7420612076616c69642064657374696e6174696f6e", - "id": 841, + "id": 835, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "15374:25:0", + "src": "15312:25:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_4b4c116dbf18274831a2b569c567d9fd9a0e9828a6c86ee9f93e80400fb6c49f", @@ -27145,21 +27013,21 @@ "typeString": "literal_string \"Not a valid destination\"" } ], - "id": 826, + "id": 820, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1387, - 1388 + 1381, + 1382 ], - "referencedDeclaration": 1388, - "src": "15305:7:0", + "referencedDeclaration": 1382, + "src": "15243:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 842, + "id": 836, "isConstant": false, "isLValue": false, "isPure": false, @@ -27167,15 +27035,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15305:95:0", + "src": "15243:95:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 843, + "id": 837, "nodeType": "ExpressionStatement", - "src": "15305:95:0" + "src": "15243:95:0" }, { "expression": { @@ -27187,7 +27055,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 849, + "id": 843, "isConstant": false, "isLValue": false, "isPure": false, @@ -27196,26 +27064,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 845, + "id": 839, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 714, - "src": "15426:7:0", + "referencedDeclaration": 708, + "src": "15364:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 847, + "id": 841, "indexExpression": { "argumentTypes": null, - "id": 846, + "id": 840, "name": "j", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 816, - "src": "15434:1:0", + "referencedDeclaration": 810, + "src": "15372:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27226,7 +27094,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15426:10:0", + "src": "15364:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27237,14 +27105,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 848, + "id": 842, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "15439:1:0", + "src": "15377:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -27252,7 +27120,7 @@ }, "value": "0" }, - "src": "15426:14:0", + "src": "15364:14:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -27261,14 +27129,14 @@ { "argumentTypes": null, "hexValue": "416d6f756e7420746f2062652073656e742073686f756c642062652067726561746572207468616e2030", - "id": 850, + "id": 844, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "15442:44:0", + "src": "15380:44:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_5e1271a09dbb64ae031de288deb0ad8d707df7db51d6e827931dc8fa6642a71e", @@ -27288,21 +27156,21 @@ "typeString": "literal_string \"Amount to be sent should be greater than 0\"" } ], - "id": 844, + "id": 838, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1387, - 1388 + 1381, + 1382 ], - "referencedDeclaration": 1388, - "src": "15418:7:0", + "referencedDeclaration": 1382, + "src": "15356:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 851, + "id": 845, "isConstant": false, "isLValue": false, "isPure": false, @@ -27310,32 +27178,32 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15418:69:0", + "src": "15356:69:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 852, + "id": 846, "nodeType": "ExpressionStatement", - "src": "15418:69:0" + "src": "15356:69:0" }, { "expression": { "argumentTypes": null, - "id": 860, + "id": 854, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 853, + "id": 847, "name": "valueTransferred", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 726, - "src": "15506:16:0", + "referencedDeclaration": 720, + "src": "15444:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27350,26 +27218,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 856, + "id": 850, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 714, - "src": "15546:7:0", + "referencedDeclaration": 708, + "src": "15484:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 858, + "id": 852, "indexExpression": { "argumentTypes": null, - "id": 857, + "id": 851, "name": "j", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 816, - "src": "15554:1:0", + "referencedDeclaration": 810, + "src": "15492:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27380,7 +27248,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15546:10:0", + "src": "15484:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27396,32 +27264,32 @@ ], "expression": { "argumentTypes": null, - "id": 854, + "id": 848, "name": "valueTransferred", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 726, - "src": "15525:16:0", + "referencedDeclaration": 720, + "src": "15463:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 855, + "id": 849, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 1348, - "src": "15525:20:0", + "referencedDeclaration": 1342, + "src": "15463:20:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 859, + "id": 853, "isConstant": false, "isLValue": false, "isPure": false, @@ -27429,26 +27297,26 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15525:32:0", + "src": "15463:32:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "15506:51:0", + "src": "15444:51:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 861, + "id": 855, "nodeType": "ExpressionStatement", - "src": "15506:51:0" + "src": "15444:51:0" }, { "expression": { "argumentTypes": null, - "id": 870, + "id": 864, "isConstant": false, "isLValue": false, "isPure": false, @@ -27459,18 +27327,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 862, + "id": 856, "name": "t", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 720, - "src": "15575:1:0", + "referencedDeclaration": 714, + "src": "15513:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" } }, - "id": 867, + "id": 861, "isConstant": false, "isLValue": true, "isPure": false, @@ -27478,37 +27346,37 @@ "memberName": "beneficiaries", "nodeType": "MemberAccess", "referencedDeclaration": 70, - "src": "15575:15:0", + "src": "15513:15:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 868, + "id": 862, "indexExpression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 864, + "id": 858, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 711, - "src": "15591:12:0", + "referencedDeclaration": 705, + "src": "15529:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" } }, - "id": 866, + "id": 860, "indexExpression": { "argumentTypes": null, - "id": 865, + "id": 859, "name": "j", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 816, - "src": "15604:1:0", + "referencedDeclaration": 810, + "src": "15542:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27519,7 +27387,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15591:15:0", + "src": "15529:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -27530,7 +27398,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "15575:32:0", + "src": "15513:32:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -27541,14 +27409,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "74727565", - "id": 869, + "id": 863, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "15610:4:0", + "src": "15548:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -27556,15 +27424,15 @@ }, "value": "true" }, - "src": "15575:39:0", + "src": "15513:39:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 871, + "id": 865, "nodeType": "ExpressionStatement", - "src": "15575:39:0" + "src": "15513:39:0" }, { "expression": { @@ -27577,26 +27445,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 875, + "id": 869, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 711, - "src": "15685:12:0", + "referencedDeclaration": 705, + "src": "15623:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" } }, - "id": 877, + "id": 871, "indexExpression": { "argumentTypes": null, - "id": 876, + "id": 870, "name": "j", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 816, - "src": "15698:1:0", + "referencedDeclaration": 810, + "src": "15636:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27607,7 +27475,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15685:15:0", + "src": "15623:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -27617,26 +27485,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 878, + "id": 872, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 714, - "src": "15702:7:0", + "referencedDeclaration": 708, + "src": "15640:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 880, + "id": 874, "indexExpression": { "argumentTypes": null, - "id": 879, + "id": 873, "name": "j", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 816, - "src": "15710:1:0", + "referencedDeclaration": 810, + "src": "15648:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27647,7 +27515,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15702:10:0", + "src": "15640:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27667,32 +27535,32 @@ ], "expression": { "argumentTypes": null, - "id": 873, + "id": 867, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 809, - "src": "15670:5:0", + "referencedDeclaration": 803, + "src": "15608:5:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenContract_$1241", + "typeIdentifier": "t_contract$_ITokenContract_$1235", "typeString": "contract ITokenContract" } }, - "id": 874, + "id": 868, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "transfer", "nodeType": "MemberAccess", - "referencedDeclaration": 1229, - "src": "15670:14:0", + "referencedDeclaration": 1223, + "src": "15608:14:0", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", "typeString": "function (address,uint256) external returns (bool)" } }, - "id": 881, + "id": 875, "isConstant": false, "isLValue": false, "isPure": false, @@ -27700,7 +27568,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15670:43:0", + "src": "15608:43:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -27709,14 +27577,14 @@ { "argumentTypes": null, "hexValue": "546f6b656e207472616e73666572206661696c65642e", - "id": 882, + "id": 876, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "15715:24:0", + "src": "15653:24:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_e545223bb79d8456d66fa5a98897abb42bb4807111f004a120200da3b7e292c5", @@ -27736,21 +27604,21 @@ "typeString": "literal_string \"Token transfer failed.\"" } ], - "id": 872, + "id": 866, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1387, - 1388 + 1381, + 1382 ], - "referencedDeclaration": 1388, - "src": "15662:7:0", + "referencedDeclaration": 1382, + "src": "15600:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 883, + "id": 877, "isConstant": false, "isLValue": false, "isPure": false, @@ -27758,15 +27626,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15662:78:0", + "src": "15600:78:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 884, + "id": 878, "nodeType": "ExpressionStatement", - "src": "15662:78:0" + "src": "15600:78:0" } ] }, @@ -27776,19 +27644,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 822, + "id": 816, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 819, + "id": 813, "name": "j", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 816, - "src": "15258:1:0", + "referencedDeclaration": 810, + "src": "15196:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27800,18 +27668,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 820, + "id": 814, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 711, - "src": "15260:12:0", + "referencedDeclaration": 705, + "src": "15198:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" } }, - "id": 821, + "id": 815, "isConstant": false, "isLValue": false, "isPure": false, @@ -27819,31 +27687,31 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "15260:19:0", + "src": "15198:19:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "15258:21:0", + "src": "15196:21:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 886, + "id": 880, "initializationExpression": { "assignments": [ - 816 + 810 ], "declarations": [ { "constant": false, - "id": 816, + "id": 810, "name": "j", "nodeType": "VariableDeclaration", - "scope": 893, - "src": "15243:9:0", + "scope": 887, + "src": "15181:9:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -27851,10 +27719,10 @@ "typeString": "uint256" }, "typeName": { - "id": 815, + "id": 809, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "15243:7:0", + "src": "15181:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27864,18 +27732,18 @@ "visibility": "internal" } ], - "id": 818, + "id": 812, "initialValue": { "argumentTypes": null, "hexValue": "30", - "id": 817, + "id": 811, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "15255:1:0", + "src": "15193:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -27884,12 +27752,12 @@ "value": "0" }, "nodeType": "VariableDeclarationStatement", - "src": "15243:13:0" + "src": "15181:13:0" }, "loopExpression": { "expression": { "argumentTypes": null, - "id": 824, + "id": 818, "isConstant": false, "isLValue": false, "isPure": false, @@ -27897,15 +27765,15 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "15281:3:0", + "src": "15219:3:0", "subExpression": { "argumentTypes": null, - "id": 823, + "id": 817, "name": "j", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 816, - "src": "15281:1:0", + "referencedDeclaration": 810, + "src": "15219:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27916,29 +27784,29 @@ "typeString": "uint256" } }, - "id": 825, + "id": 819, "nodeType": "ExpressionStatement", - "src": "15281:3:0" + "src": "15219:3:0" }, "nodeType": "ForStatement", - "src": "15238:517:0" + "src": "15176:517:0" } ] } }, - "id": 889, + "id": 883, "nodeType": "IfStatement", - "src": "14551:1214:0", + "src": "14489:1214:0", "trueBody": { - "id": 802, + "id": 796, "nodeType": "Block", - "src": "14599:502:0", + "src": "14537:502:0", "statements": [ { "body": { - "id": 800, + "id": 794, "nodeType": "Block", - "src": "14663:427:0", + "src": "14601:427:0", "statements": [ { "expression": { @@ -27950,7 +27818,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 759, + "id": 753, "isConstant": false, "isLValue": false, "isPure": false, @@ -27961,7 +27829,7 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 752, + "id": 746, "isConstant": false, "isLValue": false, "isPure": false, @@ -27970,26 +27838,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 746, + "id": 740, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 711, - "src": "14690:12:0", + "referencedDeclaration": 705, + "src": "14628:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" } }, - "id": 748, + "id": 742, "indexExpression": { "argumentTypes": null, - "id": 747, + "id": 741, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 735, - "src": "14703:1:0", + "referencedDeclaration": 729, + "src": "14641:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28000,7 +27868,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "14690:15:0", + "src": "14628:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -28014,14 +27882,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 750, + "id": 744, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "14717:1:0", + "src": "14655:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -28037,20 +27905,20 @@ "typeString": "int_const 0" } ], - "id": 749, + "id": 743, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "14709:7:0", + "src": "14647:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, - "id": 751, + "id": 745, "isConstant": false, "isLValue": false, "isPure": true, @@ -28058,13 +27926,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "14709:10:0", + "src": "14647:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "14690:29:0", + "src": "14628:29:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -28078,18 +27946,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 753, + "id": 747, "name": "t", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 720, - "src": "14723:1:0", + "referencedDeclaration": 714, + "src": "14661:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" } }, - "id": 754, + "id": 748, "isConstant": false, "isLValue": true, "isPure": false, @@ -28097,37 +27965,37 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "14723:9:0", + "src": "14661:9:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 758, + "id": 752, "indexExpression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 755, + "id": 749, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 711, - "src": "14733:12:0", + "referencedDeclaration": 705, + "src": "14671:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" } }, - "id": 757, + "id": 751, "indexExpression": { "argumentTypes": null, - "id": 756, + "id": 750, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 735, - "src": "14746:1:0", + "referencedDeclaration": 729, + "src": "14684:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28138,7 +28006,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "14733:15:0", + "src": "14671:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -28149,13 +28017,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "14723:26:0", + "src": "14661:26:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "14690:59:0", + "src": "14628:59:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -28164,14 +28032,14 @@ { "argumentTypes": null, "hexValue": "4e6f7420612076616c69642064657374696e6174696f6e", - "id": 760, + "id": 754, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "14751:25:0", + "src": "14689:25:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_4b4c116dbf18274831a2b569c567d9fd9a0e9828a6c86ee9f93e80400fb6c49f", @@ -28191,21 +28059,21 @@ "typeString": "literal_string \"Not a valid destination\"" } ], - "id": 745, + "id": 739, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1387, - 1388 + 1381, + 1382 ], - "referencedDeclaration": 1388, - "src": "14682:7:0", + "referencedDeclaration": 1382, + "src": "14620:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 761, + "id": 755, "isConstant": false, "isLValue": false, "isPure": false, @@ -28213,15 +28081,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "14682:95:0", + "src": "14620:95:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 762, + "id": 756, "nodeType": "ExpressionStatement", - "src": "14682:95:0" + "src": "14620:95:0" }, { "expression": { @@ -28233,7 +28101,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 768, + "id": 762, "isConstant": false, "isLValue": false, "isPure": false, @@ -28242,26 +28110,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 764, + "id": 758, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 714, - "src": "14803:7:0", + "referencedDeclaration": 708, + "src": "14741:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 766, + "id": 760, "indexExpression": { "argumentTypes": null, - "id": 765, + "id": 759, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 735, - "src": "14811:1:0", + "referencedDeclaration": 729, + "src": "14749:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28272,7 +28140,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "14803:10:0", + "src": "14741:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28283,14 +28151,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 767, + "id": 761, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "14816:1:0", + "src": "14754:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -28298,7 +28166,7 @@ }, "value": "0" }, - "src": "14803:14:0", + "src": "14741:14:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -28307,14 +28175,14 @@ { "argumentTypes": null, "hexValue": "416d6f756e7420746f2062652073656e742073686f756c642062652067726561746572207468616e2030", - "id": 769, + "id": 763, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "14819:44:0", + "src": "14757:44:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_5e1271a09dbb64ae031de288deb0ad8d707df7db51d6e827931dc8fa6642a71e", @@ -28334,21 +28202,21 @@ "typeString": "literal_string \"Amount to be sent should be greater than 0\"" } ], - "id": 763, + "id": 757, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1387, - 1388 + 1381, + 1382 ], - "referencedDeclaration": 1388, - "src": "14795:7:0", + "referencedDeclaration": 1382, + "src": "14733:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 770, + "id": 764, "isConstant": false, "isLValue": false, "isPure": false, @@ -28356,32 +28224,32 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "14795:69:0", + "src": "14733:69:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 771, + "id": 765, "nodeType": "ExpressionStatement", - "src": "14795:69:0" + "src": "14733:69:0" }, { "expression": { "argumentTypes": null, - "id": 779, + "id": 773, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 772, + "id": 766, "name": "valueTransferred", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 726, - "src": "14883:16:0", + "referencedDeclaration": 720, + "src": "14821:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28396,26 +28264,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 775, + "id": 769, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 714, - "src": "14923:7:0", + "referencedDeclaration": 708, + "src": "14861:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 777, + "id": 771, "indexExpression": { "argumentTypes": null, - "id": 776, + "id": 770, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 735, - "src": "14931:1:0", + "referencedDeclaration": 729, + "src": "14869:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28426,7 +28294,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "14923:10:0", + "src": "14861:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28442,32 +28310,32 @@ ], "expression": { "argumentTypes": null, - "id": 773, + "id": 767, "name": "valueTransferred", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 726, - "src": "14902:16:0", + "referencedDeclaration": 720, + "src": "14840:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 774, + "id": 768, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 1348, - "src": "14902:20:0", + "referencedDeclaration": 1342, + "src": "14840:20:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 778, + "id": 772, "isConstant": false, "isLValue": false, "isPure": false, @@ -28475,26 +28343,26 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "14902:32:0", + "src": "14840:32:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "14883:51:0", + "src": "14821:51:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 780, + "id": 774, "nodeType": "ExpressionStatement", - "src": "14883:51:0" + "src": "14821:51:0" }, { "expression": { "argumentTypes": null, - "id": 789, + "id": 783, "isConstant": false, "isLValue": false, "isPure": false, @@ -28505,18 +28373,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 781, + "id": 775, "name": "t", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 720, - "src": "14953:1:0", + "referencedDeclaration": 714, + "src": "14891:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" } }, - "id": 786, + "id": 780, "isConstant": false, "isLValue": true, "isPure": false, @@ -28524,37 +28392,37 @@ "memberName": "beneficiaries", "nodeType": "MemberAccess", "referencedDeclaration": 70, - "src": "14953:15:0", + "src": "14891:15:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 787, + "id": 781, "indexExpression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 783, + "id": 777, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 711, - "src": "14969:12:0", + "referencedDeclaration": 705, + "src": "14907:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" } }, - "id": 785, + "id": 779, "indexExpression": { "argumentTypes": null, - "id": 784, + "id": 778, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 735, - "src": "14982:1:0", + "referencedDeclaration": 729, + "src": "14920:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28565,7 +28433,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "14969:15:0", + "src": "14907:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -28576,7 +28444,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "14953:32:0", + "src": "14891:32:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -28587,14 +28455,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "74727565", - "id": 788, + "id": 782, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "14988:4:0", + "src": "14926:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -28602,15 +28470,15 @@ }, "value": "true" }, - "src": "14953:39:0", + "src": "14891:39:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 790, + "id": 784, "nodeType": "ExpressionStatement", - "src": "14953:39:0" + "src": "14891:39:0" }, { "expression": { @@ -28620,26 +28488,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 795, + "id": 789, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 714, - "src": "15064:7:0", + "referencedDeclaration": 708, + "src": "15002:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 797, + "id": 791, "indexExpression": { "argumentTypes": null, - "id": 796, + "id": 790, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 735, - "src": "15072:1:0", + "referencedDeclaration": 729, + "src": "15010:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28650,7 +28518,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15064:10:0", + "src": "15002:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28668,26 +28536,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 791, + "id": 785, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 711, - "src": "15039:12:0", + "referencedDeclaration": 705, + "src": "14977:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" } }, - "id": 793, + "id": 787, "indexExpression": { "argumentTypes": null, - "id": 792, + "id": 786, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 735, - "src": "15052:1:0", + "referencedDeclaration": 729, + "src": "14990:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28698,13 +28566,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15039:15:0", + "src": "14977:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 794, + "id": 788, "isConstant": false, "isLValue": false, "isPure": false, @@ -28712,13 +28580,13 @@ "memberName": "transfer", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "15039:24:0", + "src": "14977:24:0", "typeDescriptions": { "typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$", "typeString": "function (uint256)" } }, - "id": 798, + "id": 792, "isConstant": false, "isLValue": false, "isPure": false, @@ -28726,15 +28594,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15039:36:0", + "src": "14977:36:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 799, + "id": 793, "nodeType": "ExpressionStatement", - "src": "15039:36:0" + "src": "14977:36:0" } ] }, @@ -28744,19 +28612,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 741, + "id": 735, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 738, + "id": 732, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 735, - "src": "14633:1:0", + "referencedDeclaration": 729, + "src": "14571:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28768,18 +28636,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 739, + "id": 733, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 711, - "src": "14637:12:0", + "referencedDeclaration": 705, + "src": "14575:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" } }, - "id": 740, + "id": 734, "isConstant": false, "isLValue": false, "isPure": false, @@ -28787,31 +28655,31 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "14637:19:0", + "src": "14575:19:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "14633:23:0", + "src": "14571:23:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 801, + "id": 795, "initializationExpression": { "assignments": [ - 735 + 729 ], "declarations": [ { "constant": false, - "id": 735, + "id": 729, "name": "i", "nodeType": "VariableDeclaration", - "scope": 893, - "src": "14618:9:0", + "scope": 887, + "src": "14556:9:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -28819,10 +28687,10 @@ "typeString": "uint256" }, "typeName": { - "id": 734, + "id": 728, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "14618:7:0", + "src": "14556:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28832,18 +28700,18 @@ "visibility": "internal" } ], - "id": 737, + "id": 731, "initialValue": { "argumentTypes": null, "hexValue": "30", - "id": 736, + "id": 730, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "14630:1:0", + "src": "14568:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -28852,12 +28720,12 @@ "value": "0" }, "nodeType": "VariableDeclarationStatement", - "src": "14618:13:0" + "src": "14556:13:0" }, "loopExpression": { "expression": { "argumentTypes": null, - "id": 743, + "id": 737, "isConstant": false, "isLValue": false, "isPure": false, @@ -28865,15 +28733,15 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "14658:3:0", + "src": "14596:3:0", "subExpression": { "argumentTypes": null, - "id": 742, + "id": 736, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 735, - "src": "14658:1:0", + "referencedDeclaration": 729, + "src": "14596:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28884,12 +28752,12 @@ "typeString": "uint256" } }, - "id": 744, + "id": 738, "nodeType": "ExpressionStatement", - "src": "14658:3:0" + "src": "14596:3:0" }, "nodeType": "ForStatement", - "src": "14613:477:0" + "src": "14551:477:0" } ] } @@ -28897,26 +28765,26 @@ { "expression": { "argumentTypes": null, - "id": 890, + "id": 884, "name": "valueTransferred", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 726, - "src": "15782:16:0", + "referencedDeclaration": 720, + "src": "15720:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 718, - "id": 891, + "functionReturnParameters": 712, + "id": 885, "nodeType": "Return", - "src": "15775:23:0" + "src": "15713:23:0" } ] }, "documentation": "dev Private method to transfer funds to the destination addresses on the basis of transaction type", - "id": 893, + "id": 887, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -28924,16 +28792,16 @@ "name": "transferFunds", "nodeType": "FunctionDefinition", "parameters": { - "id": 715, + "id": 709, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 708, + "id": 702, "name": "scriptHash", "nodeType": "VariableDeclaration", - "scope": 893, - "src": "14315:18:0", + "scope": 887, + "src": "14253:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -28941,10 +28809,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 707, + "id": 701, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "14315:7:0", + "src": "14253:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -28955,11 +28823,11 @@ }, { "constant": false, - "id": 711, + "id": 705, "name": "destinations", "nodeType": "VariableDeclaration", - "scope": 893, - "src": "14343:21:0", + "scope": 887, + "src": "14281:21:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -28968,19 +28836,19 @@ }, "typeName": { "baseType": { - "id": 709, + "id": 703, "name": "address", "nodeType": "ElementaryTypeName", - "src": "14343:7:0", + "src": "14281:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 710, + "id": 704, "length": null, "nodeType": "ArrayTypeName", - "src": "14343:9:0", + "src": "14281:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", "typeString": "address[]" @@ -28991,11 +28859,11 @@ }, { "constant": false, - "id": 714, + "id": 708, "name": "amounts", "nodeType": "VariableDeclaration", - "scope": 893, - "src": "14374:16:0", + "scope": 887, + "src": "14312:16:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -29004,19 +28872,19 @@ }, "typeName": { "baseType": { - "id": 712, + "id": 706, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "14374:7:0", + "src": "14312:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 713, + "id": 707, "length": null, "nodeType": "ArrayTypeName", - "src": "14374:9:0", + "src": "14312:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -29026,20 +28894,20 @@ "visibility": "internal" } ], - "src": "14305:91:0" + "src": "14243:91:0" }, "payable": false, "returnParameters": { - "id": 718, + "id": 712, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 717, + "id": 711, "name": "", "nodeType": "VariableDeclaration", - "scope": 893, - "src": "14430:7:0", + "scope": 887, + "src": "14368:7:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -29047,10 +28915,10 @@ "typeString": "uint256" }, "typeName": { - "id": 716, + "id": 710, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "14430:7:0", + "src": "14368:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29060,19 +28928,19 @@ "visibility": "internal" } ], - "src": "14429:9:0" + "src": "14367:9:0" }, - "scope": 1211, - "src": "14283:1522:0", + "scope": 1205, + "src": "14221:1522:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "private" }, { "body": { - "id": 1021, + "id": 1015, "nodeType": "Block", - "src": "16224:1337:0", + "src": "16162:1337:0", "statements": [ { "expression": { @@ -29084,7 +28952,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 926, + "id": 920, "isConstant": false, "isLValue": false, "isPure": false, @@ -29095,7 +28963,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 920, + "id": 914, "isConstant": false, "isLValue": false, "isPure": false, @@ -29104,18 +28972,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 916, + "id": 910, "name": "sigR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 899, - "src": "16256:4:0", + "referencedDeclaration": 893, + "src": "16194:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" } }, - "id": 917, + "id": 911, "isConstant": false, "isLValue": false, "isPure": false, @@ -29123,7 +28991,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "16256:11:0", + "src": "16194:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29135,18 +29003,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 918, + "id": 912, "name": "sigS", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 902, - "src": "16271:4:0", + "referencedDeclaration": 896, + "src": "16209:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" } }, - "id": 919, + "id": 913, "isConstant": false, "isLValue": false, "isPure": false, @@ -29154,13 +29022,13 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "16271:11:0", + "src": "16209:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "16256:26:0", + "src": "16194:26:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -29174,7 +29042,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 925, + "id": 919, "isConstant": false, "isLValue": false, "isPure": false, @@ -29183,18 +29051,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 921, + "id": 915, "name": "sigR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 899, - "src": "16286:4:0", + "referencedDeclaration": 893, + "src": "16224:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" } }, - "id": 922, + "id": 916, "isConstant": false, "isLValue": false, "isPure": false, @@ -29202,7 +29070,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "16286:11:0", + "src": "16224:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29214,18 +29082,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 923, + "id": 917, "name": "sigV", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 896, - "src": "16301:4:0", + "referencedDeclaration": 890, + "src": "16239:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr", "typeString": "uint8[] memory" } }, - "id": 924, + "id": 918, "isConstant": false, "isLValue": false, "isPure": false, @@ -29233,19 +29101,19 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "16301:11:0", + "src": "16239:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "16286:26:0", + "src": "16224:26:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "16256:56:0", + "src": "16194:56:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -29254,14 +29122,14 @@ { "argumentTypes": null, "hexValue": "522c532c56206c656e677468206d69736d617463682e", - "id": 927, + "id": 921, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "16327:24:0", + "src": "16265:24:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_f85073c8befb65baed58ca1ee563e5da0bdbdce8abd4d29ef22a8329c7c97506", @@ -29281,21 +29149,21 @@ "typeString": "literal_string \"R,S,V length mismatch.\"" } ], - "id": 915, + "id": 909, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1387, - 1388 + 1381, + 1382 ], - "referencedDeclaration": 1388, - "src": "16235:7:0", + "referencedDeclaration": 1382, + "src": "16173:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 928, + "id": 922, "isConstant": false, "isLValue": false, "isPure": false, @@ -29303,26 +29171,26 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16235:126:0", + "src": "16173:126:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 929, + "id": 923, "nodeType": "ExpressionStatement", - "src": "16235:126:0" + "src": "16173:126:0" }, { "assignments": [], "declarations": [ { "constant": false, - "id": 931, + "id": 925, "name": "lastAddress", "nodeType": "VariableDeclaration", - "scope": 1022, - "src": "16372:19:0", + "scope": 1016, + "src": "16310:19:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -29330,10 +29198,10 @@ "typeString": "address" }, "typeName": { - "id": 930, + "id": 924, "name": "address", "nodeType": "ElementaryTypeName", - "src": "16372:7:0", + "src": "16310:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -29343,23 +29211,23 @@ "visibility": "internal" } ], - "id": 932, + "id": 926, "initialValue": null, "nodeType": "VariableDeclarationStatement", - "src": "16372:19:0" + "src": "16310:19:0" }, { "assignments": [ - 934 + 928 ], "declarations": [ { "constant": false, - "id": 934, + "id": 928, "name": "txHash", "nodeType": "VariableDeclaration", - "scope": 1022, - "src": "16490:14:0", + "scope": 1016, + "src": "16428:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -29367,10 +29235,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 933, + "id": 927, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "16490:7:0", + "src": "16428:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -29380,7 +29248,7 @@ "visibility": "internal" } ], - "id": 956, + "id": 950, "initialValue": { "argumentTypes": null, "arguments": [ @@ -29390,14 +29258,14 @@ { "argumentTypes": null, "hexValue": "19457468657265756d205369676e6564204d6573736167653a0a3332", - "id": 938, + "id": 932, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "16564:34:0", + "src": "16502:34:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_178a2411ab6fbc1ba11064408972259c558d0e82fd48b0aba3ad81d14f065e73", @@ -29417,14 +29285,14 @@ { "argumentTypes": null, "hexValue": "30783139", - "id": 943, + "id": 937, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "16694:4:0", + "src": "16632:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_25_by_1", @@ -29440,20 +29308,20 @@ "typeString": "int_const 25" } ], - "id": 942, + "id": 936, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "16689:4:0", + "src": "16627:4:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes1_$", "typeString": "type(bytes1)" }, "typeName": "byte" }, - "id": 944, + "id": 938, "isConstant": false, "isLValue": false, "isPure": true, @@ -29461,7 +29329,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16689:10:0", + "src": "16627:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes1", "typeString": "bytes1" @@ -29473,14 +29341,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 946, + "id": 940, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "16730:1:0", + "src": "16668:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -29496,20 +29364,20 @@ "typeString": "int_const 0" } ], - "id": 945, + "id": 939, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "16725:4:0", + "src": "16663:4:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes1_$", "typeString": "type(bytes1)" }, "typeName": "byte" }, - "id": 947, + "id": 941, "isConstant": false, "isLValue": false, "isPure": true, @@ -29517,7 +29385,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16725:7:0", + "src": "16663:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes1", "typeString": "bytes1" @@ -29525,25 +29393,25 @@ }, { "argumentTypes": null, - "id": 948, + "id": 942, "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1401, - "src": "16758:4:0", + "referencedDeclaration": 1395, + "src": "16696:4:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_Escrow_v1_0_$1211", + "typeIdentifier": "t_contract$_Escrow_v1_0_$1205", "typeString": "contract Escrow_v1_0" } }, { "argumentTypes": null, - "id": 949, + "id": 943, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 907, - "src": "16788:12:0", + "referencedDeclaration": 901, + "src": "16726:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -29551,12 +29419,12 @@ }, { "argumentTypes": null, - "id": 950, + "id": 944, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 910, - "src": "16826:7:0", + "referencedDeclaration": 904, + "src": "16764:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" @@ -29564,12 +29432,12 @@ }, { "argumentTypes": null, - "id": 951, + "id": 945, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 904, - "src": "16859:10:0", + "referencedDeclaration": 898, + "src": "16797:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -29587,7 +29455,7 @@ "typeString": "bytes1" }, { - "typeIdentifier": "t_contract$_Escrow_v1_0_$1211", + "typeIdentifier": "t_contract$_Escrow_v1_0_$1205", "typeString": "contract Escrow_v1_0" }, { @@ -29605,18 +29473,18 @@ ], "expression": { "argumentTypes": null, - "id": 940, + "id": 934, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1371, - "src": "16647:3:0", + "referencedDeclaration": 1365, + "src": "16585:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, - "id": 941, + "id": 935, "isConstant": false, "isLValue": false, "isPure": true, @@ -29624,13 +29492,13 @@ "memberName": "encodePacked", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "16647:16:0", + "src": "16585:16:0", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, - "id": 952, + "id": 946, "isConstant": false, "isLValue": false, "isPure": false, @@ -29638,7 +29506,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16647:244:0", + "src": "16585:244:0", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -29652,18 +29520,18 @@ "typeString": "bytes memory" } ], - "id": 939, + "id": 933, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1378, - "src": "16616:9:0", + "referencedDeclaration": 1372, + "src": "16554:9:0", "typeDescriptions": { "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", "typeString": "function () pure returns (bytes32)" } }, - "id": 953, + "id": 947, "isConstant": false, "isLValue": false, "isPure": false, @@ -29671,7 +29539,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16616:293:0", + "src": "16554:293:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -29691,18 +29559,18 @@ ], "expression": { "argumentTypes": null, - "id": 936, + "id": 930, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1371, - "src": "16530:3:0", + "referencedDeclaration": 1365, + "src": "16468:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, - "id": 937, + "id": 931, "isConstant": false, "isLValue": false, "isPure": true, @@ -29710,13 +29578,13 @@ "memberName": "encodePacked", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "16530:16:0", + "src": "16468:16:0", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, - "id": 954, + "id": 948, "isConstant": false, "isLValue": false, "isPure": false, @@ -29724,7 +29592,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16530:393:0", + "src": "16468:393:0", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -29738,18 +29606,18 @@ "typeString": "bytes memory" } ], - "id": 935, + "id": 929, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1378, - "src": "16507:9:0", + "referencedDeclaration": 1372, + "src": "16445:9:0", "typeDescriptions": { "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", "typeString": "function () pure returns (bytes32)" } }, - "id": 955, + "id": 949, "isConstant": false, "isLValue": false, "isPure": false, @@ -29757,33 +29625,33 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16507:426:0", + "src": "16445:426:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "nodeType": "VariableDeclarationStatement", - "src": "16490:443:0" + "src": "16428:443:0" }, { "body": { - "id": 1017, + "id": 1011, "nodeType": "Block", - "src": "16983:543:0", + "src": "16921:543:0", "statements": [ { "assignments": [ - 969 + 963 ], "declarations": [ { "constant": false, - "id": 969, + "id": 963, "name": "recovered", "nodeType": "VariableDeclaration", - "scope": 1022, - "src": "16998:17:0", + "scope": 1016, + "src": "16936:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -29791,10 +29659,10 @@ "typeString": "address" }, "typeName": { - "id": 968, + "id": 962, "name": "address", "nodeType": "ElementaryTypeName", - "src": "16998:7:0", + "src": "16936:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -29804,18 +29672,18 @@ "visibility": "internal" } ], - "id": 982, + "id": 976, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 971, + "id": 965, "name": "txHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 934, - "src": "17045:6:0", + "referencedDeclaration": 928, + "src": "16983:6:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -29825,26 +29693,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 972, + "id": 966, "name": "sigV", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 896, - "src": "17069:4:0", + "referencedDeclaration": 890, + "src": "17007:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr", "typeString": "uint8[] memory" } }, - "id": 974, + "id": 968, "indexExpression": { "argumentTypes": null, - "id": 973, + "id": 967, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 958, - "src": "17074:1:0", + "referencedDeclaration": 952, + "src": "17012:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29855,7 +29723,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17069:7:0", + "src": "17007:7:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -29865,26 +29733,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 975, + "id": 969, "name": "sigR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 899, - "src": "17094:4:0", + "referencedDeclaration": 893, + "src": "17032:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" } }, - "id": 977, + "id": 971, "indexExpression": { "argumentTypes": null, - "id": 976, + "id": 970, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 958, - "src": "17099:1:0", + "referencedDeclaration": 952, + "src": "17037:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29895,7 +29763,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17094:7:0", + "src": "17032:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -29905,26 +29773,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 978, + "id": 972, "name": "sigS", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 902, - "src": "17119:4:0", + "referencedDeclaration": 896, + "src": "17057:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" } }, - "id": 980, + "id": 974, "indexExpression": { "argumentTypes": null, - "id": 979, + "id": 973, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 958, - "src": "17124:1:0", + "referencedDeclaration": 952, + "src": "17062:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29935,7 +29803,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17119:7:0", + "src": "17057:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -29961,18 +29829,18 @@ "typeString": "bytes32" } ], - "id": 970, + "id": 964, "name": "ecrecover", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1376, - "src": "17018:9:0", + "referencedDeclaration": 1370, + "src": "16956:9:0", "typeDescriptions": { "typeIdentifier": "t_function_ecrecover_pure$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$_t_address_$", "typeString": "function (bytes32,uint8,bytes32,bytes32) pure returns (address)" } }, - "id": 981, + "id": 975, "isConstant": false, "isLValue": false, "isPure": false, @@ -29980,14 +29848,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17018:122:0", + "src": "16956:122:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "VariableDeclarationStatement", - "src": "16998:142:0" + "src": "16936:142:0" }, { "expression": { @@ -30001,26 +29869,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 984, + "id": 978, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "17180:12:0", + "src": "17118:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 986, + "id": 980, "indexExpression": { "argumentTypes": null, - "id": 985, + "id": 979, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 904, - "src": "17193:10:0", + "referencedDeclaration": 898, + "src": "17131:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -30031,13 +29899,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17180:24:0", + "src": "17118:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 987, + "id": 981, "isConstant": false, "isLValue": true, "isPure": false, @@ -30045,21 +29913,21 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "17180:32:0", + "src": "17118:32:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 989, + "id": 983, "indexExpression": { "argumentTypes": null, - "id": 988, + "id": 982, "name": "recovered", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 969, - "src": "17213:9:0", + "referencedDeclaration": 963, + "src": "17151:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -30070,7 +29938,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17180:43:0", + "src": "17118:43:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -30079,14 +29947,14 @@ { "argumentTypes": null, "hexValue": "496e76616c6964207369676e6174757265", - "id": 990, + "id": 984, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "17242:19:0", + "src": "17180:19:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_4f2d7dfcb27c0aafa13ae8c400de482c7832204d194018b6e45bd2bf244c74e7", @@ -30106,21 +29974,21 @@ "typeString": "literal_string \"Invalid signature\"" } ], - "id": 983, + "id": 977, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1387, - 1388 + 1381, + 1382 ], - "referencedDeclaration": 1388, - "src": "17155:7:0", + "referencedDeclaration": 1382, + "src": "17093:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 991, + "id": 985, "isConstant": false, "isLValue": false, "isPure": false, @@ -30128,15 +29996,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17155:120:0", + "src": "17093:120:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 992, + "id": 986, "nodeType": "ExpressionStatement", - "src": "17155:120:0" + "src": "17093:120:0" }, { "expression": { @@ -30144,7 +30012,7 @@ "arguments": [ { "argumentTypes": null, - "id": 1000, + "id": 994, "isConstant": false, "isLValue": false, "isPure": false, @@ -30152,7 +30020,7 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "17314:42:0", + "src": "17252:42:0", "subExpression": { "argumentTypes": null, "baseExpression": { @@ -30161,26 +30029,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 994, + "id": 988, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "17315:12:0", + "src": "17253:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 996, + "id": 990, "indexExpression": { "argumentTypes": null, - "id": 995, + "id": 989, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 904, - "src": "17328:10:0", + "referencedDeclaration": 898, + "src": "17266:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -30191,13 +30059,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17315:24:0", + "src": "17253:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 997, + "id": 991, "isConstant": false, "isLValue": true, "isPure": false, @@ -30205,21 +30073,21 @@ "memberName": "voted", "nodeType": "MemberAccess", "referencedDeclaration": 66, - "src": "17315:30:0", + "src": "17253:30:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 999, + "id": 993, "indexExpression": { "argumentTypes": null, - "id": 998, + "id": 992, "name": "recovered", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 969, - "src": "17346:9:0", + "referencedDeclaration": 963, + "src": "17284:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -30230,7 +30098,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17315:41:0", + "src": "17253:41:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -30244,14 +30112,14 @@ { "argumentTypes": null, "hexValue": "53616d65207369676e61747572652073656e74207477696365", - "id": 1001, + "id": 995, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "17375:27:0", + "src": "17313:27:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_fb2c7e49d5ec7ce36fa812cf15ee7fa946942f931d04fe3ae970516007b2a543", @@ -30271,21 +30139,21 @@ "typeString": "literal_string \"Same signature sent twice\"" } ], - "id": 993, + "id": 987, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1387, - 1388 + 1381, + 1382 ], - "referencedDeclaration": 1388, - "src": "17289:7:0", + "referencedDeclaration": 1382, + "src": "17227:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 1002, + "id": 996, "isConstant": false, "isLValue": false, "isPure": false, @@ -30293,20 +30161,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17289:127:0", + "src": "17227:127:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1003, + "id": 997, "nodeType": "ExpressionStatement", - "src": "17289:127:0" + "src": "17227:127:0" }, { "expression": { "argumentTypes": null, - "id": 1011, + "id": 1005, "isConstant": false, "isLValue": false, "isPure": false, @@ -30319,26 +30187,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1004, + "id": 998, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "17430:12:0", + "src": "17368:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 1006, + "id": 1000, "indexExpression": { "argumentTypes": null, - "id": 1005, + "id": 999, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 904, - "src": "17443:10:0", + "referencedDeclaration": 898, + "src": "17381:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -30349,13 +30217,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17430:24:0", + "src": "17368:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 1007, + "id": 1001, "isConstant": false, "isLValue": true, "isPure": false, @@ -30363,21 +30231,21 @@ "memberName": "voted", "nodeType": "MemberAccess", "referencedDeclaration": 66, - "src": "17430:30:0", + "src": "17368:30:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 1009, + "id": 1003, "indexExpression": { "argumentTypes": null, - "id": 1008, + "id": 1002, "name": "recovered", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 969, - "src": "17461:9:0", + "referencedDeclaration": 963, + "src": "17399:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -30388,7 +30256,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "17430:41:0", + "src": "17368:41:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -30399,14 +30267,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "74727565", - "id": 1010, + "id": 1004, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "17474:4:0", + "src": "17412:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -30414,32 +30282,32 @@ }, "value": "true" }, - "src": "17430:48:0", + "src": "17368:48:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 1012, + "id": 1006, "nodeType": "ExpressionStatement", - "src": "17430:48:0" + "src": "17368:48:0" }, { "expression": { "argumentTypes": null, - "id": 1015, + "id": 1009, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 1013, + "id": 1007, "name": "lastAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 931, - "src": "17492:11:0", + "referencedDeclaration": 925, + "src": "17430:11:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -30449,26 +30317,26 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 1014, + "id": 1008, "name": "recovered", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 969, - "src": "17506:9:0", + "referencedDeclaration": 963, + "src": "17444:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "17492:23:0", + "src": "17430:23:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 1016, + "id": 1010, "nodeType": "ExpressionStatement", - "src": "17492:23:0" + "src": "17430:23:0" } ] }, @@ -30478,19 +30346,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 964, + "id": 958, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 961, + "id": 955, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 958, - "src": "16961:1:0", + "referencedDeclaration": 952, + "src": "16899:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -30502,18 +30370,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 962, + "id": 956, "name": "sigR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 899, - "src": "16965:4:0", + "referencedDeclaration": 893, + "src": "16903:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" } }, - "id": 963, + "id": 957, "isConstant": false, "isLValue": false, "isPure": false, @@ -30521,31 +30389,31 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "16965:11:0", + "src": "16903:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "16961:15:0", + "src": "16899:15:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 1018, + "id": 1012, "initializationExpression": { "assignments": [ - 958 + 952 ], "declarations": [ { "constant": false, - "id": 958, + "id": 952, "name": "i", "nodeType": "VariableDeclaration", - "scope": 1022, - "src": "16949:6:0", + "scope": 1016, + "src": "16887:6:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -30553,10 +30421,10 @@ "typeString": "uint256" }, "typeName": { - "id": 957, + "id": 951, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "16949:4:0", + "src": "16887:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -30566,18 +30434,18 @@ "visibility": "internal" } ], - "id": 960, + "id": 954, "initialValue": { "argumentTypes": null, "hexValue": "30", - "id": 959, + "id": 953, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "16958:1:0", + "src": "16896:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -30586,12 +30454,12 @@ "value": "0" }, "nodeType": "VariableDeclarationStatement", - "src": "16949:10:0" + "src": "16887:10:0" }, "loopExpression": { "expression": { "argumentTypes": null, - "id": 966, + "id": 960, "isConstant": false, "isLValue": false, "isPure": false, @@ -30599,15 +30467,15 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "16978:3:0", + "src": "16916:3:0", "subExpression": { "argumentTypes": null, - "id": 965, + "id": 959, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 958, - "src": "16978:1:0", + "referencedDeclaration": 952, + "src": "16916:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -30618,36 +30486,36 @@ "typeString": "uint256" } }, - "id": 967, + "id": 961, "nodeType": "ExpressionStatement", - "src": "16978:3:0" + "src": "16916:3:0" }, "nodeType": "ForStatement", - "src": "16944:582:0" + "src": "16882:582:0" }, { "expression": { "argumentTypes": null, - "id": 1019, + "id": 1013, "name": "lastAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 931, - "src": "17543:11:0", + "referencedDeclaration": 925, + "src": "17481:11:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "functionReturnParameters": 914, - "id": 1020, + "functionReturnParameters": 908, + "id": 1014, "nodeType": "Return", - "src": "17536:18:0" + "src": "17474:18:0" } ] }, "documentation": null, - "id": 1022, + "id": 1016, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -30655,16 +30523,16 @@ "name": "verifySignatures", "nodeType": "FunctionDefinition", "parameters": { - "id": 911, + "id": 905, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 896, + "id": 890, "name": "sigV", "nodeType": "VariableDeclaration", - "scope": 1022, - "src": "16025:12:0", + "scope": 1016, + "src": "15963:12:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -30673,19 +30541,19 @@ }, "typeName": { "baseType": { - "id": 894, + "id": 888, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "16025:5:0", + "src": "15963:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, - "id": 895, + "id": 889, "length": null, "nodeType": "ArrayTypeName", - "src": "16025:7:0", + "src": "15963:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_storage_ptr", "typeString": "uint8[]" @@ -30696,11 +30564,11 @@ }, { "constant": false, - "id": 899, + "id": 893, "name": "sigR", "nodeType": "VariableDeclaration", - "scope": 1022, - "src": "16047:14:0", + "scope": 1016, + "src": "15985:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -30709,19 +30577,19 @@ }, "typeName": { "baseType": { - "id": 897, + "id": 891, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "16047:7:0", + "src": "15985:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "id": 898, + "id": 892, "length": null, "nodeType": "ArrayTypeName", - "src": "16047:9:0", + "src": "15985:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -30732,11 +30600,11 @@ }, { "constant": false, - "id": 902, + "id": 896, "name": "sigS", "nodeType": "VariableDeclaration", - "scope": 1022, - "src": "16071:14:0", + "scope": 1016, + "src": "16009:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -30745,19 +30613,19 @@ }, "typeName": { "baseType": { - "id": 900, + "id": 894, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "16071:7:0", + "src": "16009:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "id": 901, + "id": 895, "length": null, "nodeType": "ArrayTypeName", - "src": "16071:9:0", + "src": "16009:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -30768,11 +30636,11 @@ }, { "constant": false, - "id": 904, + "id": 898, "name": "scriptHash", "nodeType": "VariableDeclaration", - "scope": 1022, - "src": "16095:18:0", + "scope": 1016, + "src": "16033:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -30780,10 +30648,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 903, + "id": 897, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "16095:7:0", + "src": "16033:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -30794,11 +30662,11 @@ }, { "constant": false, - "id": 907, + "id": 901, "name": "destinations", "nodeType": "VariableDeclaration", - "scope": 1022, - "src": "16123:22:0", + "scope": 1016, + "src": "16061:22:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -30807,19 +30675,19 @@ }, "typeName": { "baseType": { - "id": 905, + "id": 899, "name": "address", "nodeType": "ElementaryTypeName", - "src": "16123:7:0", + "src": "16061:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 906, + "id": 900, "length": null, "nodeType": "ArrayTypeName", - "src": "16123:9:0", + "src": "16061:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", "typeString": "address[]" @@ -30830,11 +30698,11 @@ }, { "constant": false, - "id": 910, + "id": 904, "name": "amounts", "nodeType": "VariableDeclaration", - "scope": 1022, - "src": "16155:16:0", + "scope": 1016, + "src": "16093:16:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -30843,19 +30711,19 @@ }, "typeName": { "baseType": { - "id": 908, + "id": 902, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "16155:7:0", + "src": "16093:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 909, + "id": 903, "length": null, "nodeType": "ArrayTypeName", - "src": "16155:9:0", + "src": "16093:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -30865,20 +30733,20 @@ "visibility": "internal" } ], - "src": "16015:162:0" + "src": "15953:162:0" }, "payable": false, "returnParameters": { - "id": 914, + "id": 908, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 913, + "id": 907, "name": "", "nodeType": "VariableDeclaration", - "scope": 1022, - "src": "16211:7:0", + "scope": 1016, + "src": "16149:7:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -30886,10 +30754,10 @@ "typeString": "address" }, "typeName": { - "id": 912, + "id": 906, "name": "address", "nodeType": "ElementaryTypeName", - "src": "16211:7:0", + "src": "16149:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -30899,32 +30767,32 @@ "visibility": "internal" } ], - "src": "16210:9:0" + "src": "16148:9:0" }, - "scope": 1211, - "src": "15990:1571:0", + "scope": 1205, + "src": "15928:1571:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "private" }, { "body": { - "id": 1053, + "id": 1047, "nodeType": "Block", - "src": "17715:168:0", + "src": "17653:168:0", "statements": [ { "assignments": [ - 1032 + 1026 ], "declarations": [ { "constant": false, - "id": 1032, + "id": 1026, "name": "timeSince", "nodeType": "VariableDeclaration", - "scope": 1054, - "src": "17725:17:0", + "scope": 1048, + "src": "17663:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -30932,10 +30800,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1031, + "id": 1025, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "17725:7:0", + "src": "17663:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -30945,18 +30813,18 @@ "visibility": "internal" } ], - "id": 1037, + "id": 1031, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 1035, + "id": 1029, "name": "lastModified", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1026, - "src": "17753:12:0", + "referencedDeclaration": 1020, + "src": "17691:12:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -30972,32 +30840,32 @@ ], "expression": { "argumentTypes": null, - "id": 1033, + "id": 1027, "name": "now", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1386, - "src": "17745:3:0", + "referencedDeclaration": 1380, + "src": "17683:3:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1034, + "id": 1028, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sub", "nodeType": "MemberAccess", - "referencedDeclaration": 1324, - "src": "17745:7:0", + "referencedDeclaration": 1318, + "src": "17683:7:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 1036, + "id": 1030, "isConstant": false, "isLValue": false, "isPure": false, @@ -31005,14 +30873,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17745:21:0", + "src": "17683:21:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "17725:41:0" + "src": "17663:41:0" }, { "expression": { @@ -31026,19 +30894,19 @@ "typeIdentifier": "t_uint32", "typeString": "uint32" }, - "id": 1040, + "id": 1034, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1038, + "id": 1032, "name": "timeoutHours", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1024, - "src": "17797:12:0", + "referencedDeclaration": 1018, + "src": "17735:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -31049,14 +30917,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 1039, + "id": 1033, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "17813:1:0", + "src": "17751:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -31064,7 +30932,7 @@ }, "value": "0" }, - "src": "17797:17:0", + "src": "17735:17:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -31076,19 +30944,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1049, + "id": 1043, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1042, + "id": 1036, "name": "timeSince", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1032, - "src": "17823:9:0", + "referencedDeclaration": 1026, + "src": "17761:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -31102,14 +30970,14 @@ { "argumentTypes": null, "hexValue": "33363030", - "id": 1047, + "id": 1041, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "17861:4:0", + "src": "17799:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_3600_by_1", @@ -31130,12 +30998,12 @@ "arguments": [ { "argumentTypes": null, - "id": 1044, + "id": 1038, "name": "timeoutHours", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1024, - "src": "17843:12:0", + "referencedDeclaration": 1018, + "src": "17781:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -31149,20 +31017,20 @@ "typeString": "uint32" } ], - "id": 1043, + "id": 1037, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "17835:7:0", + "src": "17773:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint256_$", "typeString": "type(uint256)" }, "typeName": "uint256" }, - "id": 1045, + "id": 1039, "isConstant": false, "isLValue": false, "isPure": false, @@ -31170,27 +31038,27 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17835:21:0", + "src": "17773:21:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1046, + "id": 1040, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "mul", "nodeType": "MemberAccess", - "referencedDeclaration": 1276, - "src": "17835:25:0", + "referencedDeclaration": 1270, + "src": "17773:25:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 1048, + "id": 1042, "isConstant": false, "isLValue": false, "isPure": false, @@ -31198,36 +31066,36 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17835:31:0", + "src": "17773:31:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "17823:43:0", + "src": "17761:43:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 1050, + "id": 1044, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "Conditional", - "src": "17797:69:0", + "src": "17735:69:0", "trueExpression": { "argumentTypes": null, "hexValue": "66616c7365", - "id": 1041, + "id": 1035, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "17817:5:0", + "src": "17755:5:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -31241,28 +31109,28 @@ } } ], - "id": 1051, + "id": 1045, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "17783:93:0", + "src": "17721:93:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "functionReturnParameters": 1030, - "id": 1052, + "functionReturnParameters": 1024, + "id": 1046, "nodeType": "Return", - "src": "17776:100:0" + "src": "17714:100:0" } ] }, "documentation": null, - "id": 1054, + "id": 1048, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -31270,16 +31138,16 @@ "name": "isTimeLockExpired", "nodeType": "FunctionDefinition", "parameters": { - "id": 1027, + "id": 1021, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1024, + "id": 1018, "name": "timeoutHours", "nodeType": "VariableDeclaration", - "scope": 1054, - "src": "17603:19:0", + "scope": 1048, + "src": "17541:19:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -31287,10 +31155,10 @@ "typeString": "uint32" }, "typeName": { - "id": 1023, + "id": 1017, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "17603:6:0", + "src": "17541:6:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -31301,11 +31169,11 @@ }, { "constant": false, - "id": 1026, + "id": 1020, "name": "lastModified", "nodeType": "VariableDeclaration", - "scope": 1054, - "src": "17632:20:0", + "scope": 1048, + "src": "17570:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -31313,10 +31181,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1025, + "id": 1019, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "17632:7:0", + "src": "17570:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -31326,20 +31194,20 @@ "visibility": "internal" } ], - "src": "17593:65:0" + "src": "17531:65:0" }, "payable": false, "returnParameters": { - "id": 1030, + "id": 1024, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1029, + "id": 1023, "name": "", "nodeType": "VariableDeclaration", - "scope": 1054, - "src": "17705:4:0", + "scope": 1048, + "src": "17643:4:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -31347,10 +31215,10 @@ "typeString": "bool" }, "typeName": { - "id": 1028, + "id": 1022, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "17705:4:0", + "src": "17643:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -31360,19 +31228,19 @@ "visibility": "internal" } ], - "src": "17704:6:0" + "src": "17642:6:0" }, - "scope": 1211, - "src": "17567:316:0", + "scope": 1205, + "src": "17505:316:0", "stateMutability": "view", "superFunction": null, "visibility": "private" }, { "body": { - "id": 1209, + "id": 1203, "nodeType": "Block", - "src": "18297:2314:0", + "src": "18235:2314:0", "statements": [ { "expression": { @@ -31384,19 +31252,19 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 1080, + "id": 1074, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1078, + "id": 1072, "name": "buyer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1056, - "src": "18323:5:0", + "referencedDeclaration": 1050, + "src": "18261:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -31406,18 +31274,18 @@ "operator": "!=", "rightExpression": { "argumentTypes": null, - "id": 1079, + "id": 1073, "name": "seller", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1058, - "src": "18332:6:0", + "referencedDeclaration": 1052, + "src": "18270:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "18323:15:0", + "src": "18261:15:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -31426,14 +31294,14 @@ { "argumentTypes": null, "hexValue": "427579657220616e642073656c6c6572206172652073616d65", - "id": 1081, + "id": 1075, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "18340:27:0", + "src": "18278:27:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_6141441751234d42e9a73d96317794195c7ff57b8f16ac15725a10f10763f824", @@ -31453,21 +31321,21 @@ "typeString": "literal_string \"Buyer and seller are same\"" } ], - "id": 1077, + "id": 1071, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1387, - 1388 + 1381, + 1382 ], - "referencedDeclaration": 1388, - "src": "18315:7:0", + "referencedDeclaration": 1382, + "src": "18253:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 1082, + "id": 1076, "isConstant": false, "isLValue": false, "isPure": false, @@ -31475,15 +31343,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18315:53:0", + "src": "18253:53:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1083, + "id": 1077, "nodeType": "ExpressionStatement", - "src": "18315:53:0" + "src": "18253:53:0" }, { "expression": { @@ -31495,19 +31363,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1087, + "id": 1081, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1085, + "id": 1079, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1068, - "src": "18435:5:0", + "referencedDeclaration": 1062, + "src": "18373:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -31518,14 +31386,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 1086, + "id": 1080, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "18443:1:0", + "src": "18381:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -31533,7 +31401,7 @@ }, "value": "0" }, - "src": "18435:9:0", + "src": "18373:9:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -31542,14 +31410,14 @@ { "argumentTypes": null, "hexValue": "56616c7565207061737365642069732030", - "id": 1088, + "id": 1082, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "18446:19:0", + "src": "18384:19:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_3686f87c4804517ea83323ccf1a3b5b5ff52ed144b19e6fc56abe8fcd182e747", @@ -31569,21 +31437,21 @@ "typeString": "literal_string \"Value passed is 0\"" } ], - "id": 1084, + "id": 1078, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1387, - 1388 + 1381, + 1382 ], - "referencedDeclaration": 1388, - "src": "18427:7:0", + "referencedDeclaration": 1382, + "src": "18365:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 1089, + "id": 1083, "isConstant": false, "isLValue": false, "isPure": false, @@ -31591,15 +31459,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18427:39:0", + "src": "18365:39:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1090, + "id": 1084, "nodeType": "ExpressionStatement", - "src": "18427:39:0" + "src": "18365:39:0" }, { "expression": { @@ -31611,7 +31479,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 1098, + "id": 1092, "isConstant": false, "isLValue": false, "isPure": false, @@ -31622,19 +31490,19 @@ "typeIdentifier": "t_uint8", "typeString": "uint8" }, - "id": 1094, + "id": 1088, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1092, + "id": 1086, "name": "threshold", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1062, - "src": "18569:9:0", + "referencedDeclaration": 1056, + "src": "18507:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -31645,14 +31513,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 1093, + "id": 1087, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "18581:1:0", + "src": "18519:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -31660,7 +31528,7 @@ }, "value": "0" }, - "src": "18569:13:0", + "src": "18507:13:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -31674,19 +31542,19 @@ "typeIdentifier": "t_uint8", "typeString": "uint8" }, - "id": 1097, + "id": 1091, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1095, + "id": 1089, "name": "threshold", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1062, - "src": "18586:9:0", + "referencedDeclaration": 1056, + "src": "18524:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -31697,14 +31565,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "33", - "id": 1096, + "id": 1090, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "18599:1:0", + "src": "18537:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_3_by_1", @@ -31712,13 +31580,13 @@ }, "value": "3" }, - "src": "18586:14:0", + "src": "18524:14:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "18569:31:0", + "src": "18507:31:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -31727,14 +31595,14 @@ { "argumentTypes": null, "hexValue": "5468726573686f6c642063616e6e6f742062652067726561746572207468616e203320616e64206d7573742062652067726561746572207468616e2030", - "id": 1099, + "id": 1093, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "18615:63:0", + "src": "18553:63:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_351c1d5dfdc4a2b4c61d6f4dbb41a0d2ae70a9c094d3c0add87af24b5dd19c13", @@ -31754,21 +31622,21 @@ "typeString": "literal_string \"Threshold cannot be greater than 3 and must be greater than 0\"" } ], - "id": 1091, + "id": 1085, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1387, - 1388 + 1381, + 1382 ], - "referencedDeclaration": 1388, - "src": "18548:7:0", + "referencedDeclaration": 1382, + "src": "18486:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 1100, + "id": 1094, "isConstant": false, "isLValue": false, "isPure": false, @@ -31776,15 +31644,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18548:140:0", + "src": "18486:140:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1101, + "id": 1095, "nodeType": "ExpressionStatement", - "src": "18548:140:0" + "src": "18486:140:0" }, { "expression": { @@ -31796,7 +31664,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 1111, + "id": 1105, "isConstant": false, "isLValue": false, "isPure": false, @@ -31807,19 +31675,19 @@ "typeIdentifier": "t_uint8", "typeString": "uint8" }, - "id": 1105, + "id": 1099, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1103, + "id": 1097, "name": "threshold", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1062, - "src": "18969:9:0", + "referencedDeclaration": 1056, + "src": "18907:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -31830,14 +31698,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "31", - "id": 1104, + "id": 1098, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "18982:1:0", + "src": "18920:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -31845,7 +31713,7 @@ }, "value": "1" }, - "src": "18969:14:0", + "src": "18907:14:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -31859,19 +31727,19 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 1110, + "id": 1104, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1106, + "id": 1100, "name": "moderator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1060, - "src": "18987:9:0", + "referencedDeclaration": 1054, + "src": "18925:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -31885,14 +31753,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 1108, + "id": 1102, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "19008:1:0", + "src": "18946:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -31908,20 +31776,20 @@ "typeString": "int_const 0" } ], - "id": 1107, + "id": 1101, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "19000:7:0", + "src": "18938:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, - "id": 1109, + "id": 1103, "isConstant": false, "isLValue": false, "isPure": true, @@ -31929,19 +31797,19 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "19000:10:0", + "src": "18938:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "18987:23:0", + "src": "18925:23:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "18969:41:0", + "src": "18907:41:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -31950,14 +31818,14 @@ { "argumentTypes": null, "hexValue": "456974686572207468726573686f6c642073686f756c642062652031206f722076616c6964206d6f64657261746f7220616464726573732073686f756c6420626520706173736564", - "id": 1112, + "id": 1106, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "19024:74:0", + "src": "18962:74:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_2056db168725d2fabb8aaf14efad7a3fc12ef6bc7132f0596ea09b041b71cb25", @@ -31977,21 +31845,21 @@ "typeString": "literal_string \"Either threshold should be 1 or valid moderator address should be passed\"" } ], - "id": 1102, + "id": 1096, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1387, - 1388 + 1381, + 1382 ], - "referencedDeclaration": 1388, - "src": "18948:7:0", + "referencedDeclaration": 1382, + "src": "18886:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 1113, + "id": 1107, "isConstant": false, "isLValue": false, "isPure": false, @@ -31999,15 +31867,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18948:160:0", + "src": "18886:160:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1114, + "id": 1108, "nodeType": "ExpressionStatement", - "src": "18948:160:0" + "src": "18886:160:0" }, { "expression": { @@ -32019,19 +31887,19 @@ "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, - "id": 1126, + "id": 1120, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1116, + "id": 1110, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1066, - "src": "19140:10:0", + "referencedDeclaration": 1060, + "src": "19078:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -32044,12 +31912,12 @@ "arguments": [ { "argumentTypes": null, - "id": 1118, + "id": 1112, "name": "uniqueId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1070, - "src": "19197:8:0", + "referencedDeclaration": 1064, + "src": "19135:8:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -32057,12 +31925,12 @@ }, { "argumentTypes": null, - "id": 1119, + "id": 1113, "name": "threshold", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1062, - "src": "19223:9:0", + "referencedDeclaration": 1056, + "src": "19161:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -32070,12 +31938,12 @@ }, { "argumentTypes": null, - "id": 1120, + "id": 1114, "name": "timeoutHours", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1064, - "src": "19250:12:0", + "referencedDeclaration": 1058, + "src": "19188:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -32083,12 +31951,12 @@ }, { "argumentTypes": null, - "id": 1121, + "id": 1115, "name": "buyer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1056, - "src": "19280:5:0", + "referencedDeclaration": 1050, + "src": "19218:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -32096,12 +31964,12 @@ }, { "argumentTypes": null, - "id": 1122, + "id": 1116, "name": "seller", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1058, - "src": "19303:6:0", + "referencedDeclaration": 1052, + "src": "19241:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -32109,12 +31977,12 @@ }, { "argumentTypes": null, - "id": 1123, + "id": 1117, "name": "moderator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1060, - "src": "19327:9:0", + "referencedDeclaration": 1054, + "src": "19265:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -32122,12 +31990,12 @@ }, { "argumentTypes": null, - "id": 1124, + "id": 1118, "name": "tokenAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1074, - "src": "19354:12:0", + "referencedDeclaration": 1068, + "src": "19292:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -32165,18 +32033,18 @@ "typeString": "address" } ], - "id": 1117, + "id": 1111, "name": "calculateRedeemScriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 637, - "src": "19154:25:0", + "referencedDeclaration": 631, + "src": "19092:25:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_bytes20_$_t_uint8_$_t_uint32_$_t_address_$_t_address_$_t_address_$_t_address_$returns$_t_bytes32_$", "typeString": "function (bytes20,uint8,uint32,address,address,address,address) view returns (bytes32)" } }, - "id": 1125, + "id": 1119, "isConstant": false, "isLValue": false, "isPure": false, @@ -32184,13 +32052,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "19154:226:0", + "src": "19092:226:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "src": "19140:240:0", + "src": "19078:240:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -32199,14 +32067,14 @@ { "argumentTypes": null, "hexValue": "43616c63756c6174656420736372697074206861736820646f6573206e6f74206d61746368207061737365642073637269707420686173682e", - "id": 1127, + "id": 1121, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "19395:59:0", + "src": "19333:59:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_0c041e0c58e6b0e01d338d852a5abb639065eabeb0aee05e0ce3e5f0e52b4f51", @@ -32226,21 +32094,21 @@ "typeString": "literal_string \"Calculated script hash does not match passed script hash.\"" } ], - "id": 1115, + "id": 1109, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1387, - 1388 + 1381, + 1382 ], - "referencedDeclaration": 1388, - "src": "19119:7:0", + "referencedDeclaration": 1382, + "src": "19057:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 1128, + "id": 1122, "isConstant": false, "isLValue": false, "isPure": false, @@ -32248,20 +32116,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "19119:345:0", + "src": "19057:345:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1129, + "id": 1123, "nodeType": "ExpressionStatement", - "src": "19119:345:0" + "src": "19057:345:0" }, { "expression": { "argumentTypes": null, - "id": 1147, + "id": 1141, "isConstant": false, "isLValue": false, "isPure": false, @@ -32270,26 +32138,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1130, + "id": 1124, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "19475:12:0", + "src": "19413:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 1132, + "id": 1126, "indexExpression": { "argumentTypes": null, - "id": 1131, + "id": 1125, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1066, - "src": "19488:10:0", + "referencedDeclaration": 1060, + "src": "19426:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -32300,7 +32168,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "19475:24:0", + "src": "19413:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -32313,12 +32181,12 @@ "arguments": [ { "argumentTypes": null, - "id": 1134, + "id": 1128, "name": "buyer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1056, - "src": "19535:5:0", + "referencedDeclaration": 1050, + "src": "19473:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -32326,12 +32194,12 @@ }, { "argumentTypes": null, - "id": 1135, + "id": 1129, "name": "seller", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1058, - "src": "19562:6:0", + "referencedDeclaration": 1052, + "src": "19500:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -32339,12 +32207,12 @@ }, { "argumentTypes": null, - "id": 1136, + "id": 1130, "name": "moderator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1060, - "src": "19593:9:0", + "referencedDeclaration": 1054, + "src": "19531:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -32352,12 +32220,12 @@ }, { "argumentTypes": null, - "id": 1137, + "id": 1131, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1068, - "src": "19623:5:0", + "referencedDeclaration": 1062, + "src": "19561:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -32367,18 +32235,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1138, + "id": 1132, "name": "Status", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9, - "src": "19650:6:0", + "src": "19588:6:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_Status_$9_$", "typeString": "type(enum Escrow_v1_0.Status)" } }, - "id": 1139, + "id": 1133, "isConstant": false, "isLValue": false, "isPure": true, @@ -32386,7 +32254,7 @@ "memberName": "FUNDED", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "19650:13:0", + "src": "19588:13:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$9", "typeString": "enum Escrow_v1_0.Status" @@ -32396,18 +32264,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1140, + "id": 1134, "name": "block", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1374, - "src": "19691:5:0", + "referencedDeclaration": 1368, + "src": "19629:5:0", "typeDescriptions": { "typeIdentifier": "t_magic_block", "typeString": "block" } }, - "id": 1141, + "id": 1135, "isConstant": false, "isLValue": false, "isPure": false, @@ -32415,7 +32283,7 @@ "memberName": "timestamp", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "19691:15:0", + "src": "19629:15:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -32423,12 +32291,12 @@ }, { "argumentTypes": null, - "id": 1142, + "id": 1136, "name": "threshold", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1062, - "src": "19731:9:0", + "referencedDeclaration": 1056, + "src": "19669:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -32436,12 +32304,12 @@ }, { "argumentTypes": null, - "id": 1143, + "id": 1137, "name": "timeoutHours", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1064, - "src": "19768:12:0", + "referencedDeclaration": 1058, + "src": "19706:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -32449,12 +32317,12 @@ }, { "argumentTypes": null, - "id": 1144, + "id": 1138, "name": "transactionType", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1072, - "src": "19810:15:0", + "referencedDeclaration": 1066, + "src": "19748:15:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -32462,12 +32330,12 @@ }, { "argumentTypes": null, - "id": 1145, + "id": 1139, "name": "tokenAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1074, - "src": "19852:12:0", + "referencedDeclaration": 1068, + "src": "19790:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -32476,18 +32344,18 @@ ], "expression": { "argumentTypes": null, - "id": 1133, + "id": 1127, "name": "Transaction", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 71, - "src": "19502:11:0", + "src": "19440:11:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_struct$_Transaction_$71_storage_ptr_$", "typeString": "type(struct Escrow_v1_0.Transaction storage pointer)" } }, - "id": 1146, + "id": 1140, "isConstant": false, "isLValue": false, "isPure": false, @@ -32506,26 +32374,26 @@ "tokenAddress" ], "nodeType": "FunctionCall", - "src": "19502:373:0", + "src": "19440:373:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_memory", "typeString": "struct Escrow_v1_0.Transaction memory" } }, - "src": "19475:400:0", + "src": "19413:400:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 1148, + "id": 1142, "nodeType": "ExpressionStatement", - "src": "19475:400:0" + "src": "19413:400:0" }, { "expression": { "argumentTypes": null, - "id": 1156, + "id": 1150, "isConstant": false, "isLValue": false, "isPure": false, @@ -32538,26 +32406,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1149, + "id": 1143, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "19886:12:0", + "src": "19824:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 1151, + "id": 1145, "indexExpression": { "argumentTypes": null, - "id": 1150, + "id": 1144, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1066, - "src": "19899:10:0", + "referencedDeclaration": 1060, + "src": "19837:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -32568,13 +32436,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "19886:24:0", + "src": "19824:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 1152, + "id": 1146, "isConstant": false, "isLValue": true, "isPure": false, @@ -32582,21 +32450,21 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "19886:32:0", + "src": "19824:32:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 1154, + "id": 1148, "indexExpression": { "argumentTypes": null, - "id": 1153, + "id": 1147, "name": "seller", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1058, - "src": "19919:6:0", + "referencedDeclaration": 1052, + "src": "19857:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -32607,7 +32475,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "19886:40:0", + "src": "19824:40:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -32618,14 +32486,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "74727565", - "id": 1155, + "id": 1149, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "19929:4:0", + "src": "19867:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -32633,20 +32501,20 @@ }, "value": "true" }, - "src": "19886:47:0", + "src": "19824:47:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 1157, + "id": 1151, "nodeType": "ExpressionStatement", - "src": "19886:47:0" + "src": "19824:47:0" }, { "expression": { "argumentTypes": null, - "id": 1165, + "id": 1159, "isConstant": false, "isLValue": false, "isPure": false, @@ -32659,26 +32527,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1158, + "id": 1152, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "19943:12:0", + "src": "19881:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 1160, + "id": 1154, "indexExpression": { "argumentTypes": null, - "id": 1159, + "id": 1153, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1066, - "src": "19956:10:0", + "referencedDeclaration": 1060, + "src": "19894:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -32689,13 +32557,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "19943:24:0", + "src": "19881:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 1161, + "id": 1155, "isConstant": false, "isLValue": true, "isPure": false, @@ -32703,21 +32571,21 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "19943:32:0", + "src": "19881:32:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 1163, + "id": 1157, "indexExpression": { "argumentTypes": null, - "id": 1162, + "id": 1156, "name": "buyer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1056, - "src": "19976:5:0", + "referencedDeclaration": 1050, + "src": "19914:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -32728,7 +32596,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "19943:39:0", + "src": "19881:39:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -32739,14 +32607,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "74727565", - "id": 1164, + "id": 1158, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "19985:4:0", + "src": "19923:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -32754,15 +32622,15 @@ }, "value": "true" }, - "src": "19943:46:0", + "src": "19881:46:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 1166, + "id": 1160, "nodeType": "ExpressionStatement", - "src": "19943:46:0" + "src": "19881:46:0" }, { "expression": { @@ -32770,7 +32638,7 @@ "arguments": [ { "argumentTypes": null, - "id": 1174, + "id": 1168, "isConstant": false, "isLValue": false, "isPure": false, @@ -32778,7 +32646,7 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "20096:44:0", + "src": "20034:44:0", "subExpression": { "argumentTypes": null, "baseExpression": { @@ -32787,26 +32655,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1168, + "id": 1162, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "20097:12:0", + "src": "20035:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 1170, + "id": 1164, "indexExpression": { "argumentTypes": null, - "id": 1169, + "id": 1163, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1066, - "src": "20110:10:0", + "referencedDeclaration": 1060, + "src": "20048:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -32817,13 +32685,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20097:24:0", + "src": "20035:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 1171, + "id": 1165, "isConstant": false, "isLValue": true, "isPure": false, @@ -32831,21 +32699,21 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "20097:32:0", + "src": "20035:32:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 1173, + "id": 1167, "indexExpression": { "argumentTypes": null, - "id": 1172, + "id": 1166, "name": "moderator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1060, - "src": "20130:9:0", + "referencedDeclaration": 1054, + "src": "20068:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -32856,7 +32724,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20097:43:0", + "src": "20035:43:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -32870,14 +32738,14 @@ { "argumentTypes": null, "hexValue": "456974686572206275796572206f722073656c6c657220697320706173736564206173206d6f64657261746f72", - "id": 1175, + "id": 1169, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "20155:47:0", + "src": "20093:47:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_313b391557427937e7bdb85c7561d47c5b9c985755a448dd33a92026ffb38f8d", @@ -32897,21 +32765,21 @@ "typeString": "literal_string \"Either buyer or seller is passed as moderator\"" } ], - "id": 1167, + "id": 1161, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1387, - 1388 + 1381, + 1382 ], - "referencedDeclaration": 1388, - "src": "20075:7:0", + "referencedDeclaration": 1382, + "src": "20013:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 1176, + "id": 1170, "isConstant": false, "isLValue": false, "isPure": false, @@ -32919,15 +32787,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "20075:137:0", + "src": "20013:137:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1177, + "id": 1171, "nodeType": "ExpressionStatement", - "src": "20075:137:0" + "src": "20013:137:0" }, { "condition": { @@ -32936,19 +32804,19 @@ "typeIdentifier": "t_uint8", "typeString": "uint8" }, - "id": 1180, + "id": 1174, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1178, + "id": 1172, "name": "threshold", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1062, - "src": "20372:9:0", + "referencedDeclaration": 1056, + "src": "20310:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -32959,14 +32827,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "31", - "id": 1179, + "id": 1173, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "20384:1:0", + "src": "20322:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -32974,25 +32842,25 @@ }, "value": "1" }, - "src": "20372:13:0", + "src": "20310:13:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, - "id": 1191, + "id": 1185, "nodeType": "IfStatement", - "src": "20368:94:0", + "src": "20306:94:0", "trueBody": { - "id": 1190, + "id": 1184, "nodeType": "Block", - "src": "20387:75:0", + "src": "20325:75:0", "statements": [ { "expression": { "argumentTypes": null, - "id": 1188, + "id": 1182, "isConstant": false, "isLValue": false, "isPure": false, @@ -33005,26 +32873,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1181, + "id": 1175, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "20401:12:0", + "src": "20339:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 1183, + "id": 1177, "indexExpression": { "argumentTypes": null, - "id": 1182, + "id": 1176, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1066, - "src": "20414:10:0", + "referencedDeclaration": 1060, + "src": "20352:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -33035,13 +32903,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20401:24:0", + "src": "20339:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 1184, + "id": 1178, "isConstant": false, "isLValue": true, "isPure": false, @@ -33049,21 +32917,21 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "20401:32:0", + "src": "20339:32:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 1186, + "id": 1180, "indexExpression": { "argumentTypes": null, - "id": 1185, + "id": 1179, "name": "moderator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1060, - "src": "20434:9:0", + "referencedDeclaration": 1054, + "src": "20372:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -33074,7 +32942,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "20401:43:0", + "src": "20339:43:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -33085,14 +32953,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "74727565", - "id": 1187, + "id": 1181, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "20447:4:0", + "src": "20385:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -33100,15 +32968,15 @@ }, "value": "true" }, - "src": "20401:50:0", + "src": "20339:50:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 1189, + "id": 1183, "nodeType": "ExpressionStatement", - "src": "20401:50:0" + "src": "20339:50:0" } ] } @@ -33116,7 +32984,7 @@ { "expression": { "argumentTypes": null, - "id": 1193, + "id": 1187, "isConstant": false, "isLValue": false, "isPure": false, @@ -33124,15 +32992,15 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "20480:18:0", + "src": "20418:18:0", "subExpression": { "argumentTypes": null, - "id": 1192, + "id": 1186, "name": "transactionCount", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 78, - "src": "20480:16:0", + "src": "20418:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -33143,9 +33011,9 @@ "typeString": "uint256" } }, - "id": 1194, + "id": 1188, "nodeType": "ExpressionStatement", - "src": "20480:18:0" + "src": "20418:18:0" }, { "expression": { @@ -33153,12 +33021,12 @@ "arguments": [ { "argumentTypes": null, - "id": 1199, + "id": 1193, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1066, - "src": "20540:10:0", + "referencedDeclaration": 1060, + "src": "20478:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -33176,26 +33044,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1195, + "id": 1189, "name": "partyVsTransaction", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 83, - "src": "20509:18:0", + "src": "20447:18:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_bytes32_$dyn_storage_$", "typeString": "mapping(address => bytes32[] storage ref)" } }, - "id": 1197, + "id": 1191, "indexExpression": { "argumentTypes": null, - "id": 1196, + "id": 1190, "name": "buyer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1056, - "src": "20528:5:0", + "referencedDeclaration": 1050, + "src": "20466:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -33206,13 +33074,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20509:25:0", + "src": "20447:25:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage", "typeString": "bytes32[] storage ref" } }, - "id": 1198, + "id": 1192, "isConstant": false, "isLValue": false, "isPure": false, @@ -33220,13 +33088,13 @@ "memberName": "push", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "20509:30:0", + "src": "20447:30:0", "typeDescriptions": { "typeIdentifier": "t_function_arraypush_nonpayable$_t_bytes32_$returns$_t_uint256_$", "typeString": "function (bytes32) returns (uint256)" } }, - "id": 1200, + "id": 1194, "isConstant": false, "isLValue": false, "isPure": false, @@ -33234,15 +33102,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "20509:42:0", + "src": "20447:42:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1201, + "id": 1195, "nodeType": "ExpressionStatement", - "src": "20509:42:0" + "src": "20447:42:0" }, { "expression": { @@ -33250,12 +33118,12 @@ "arguments": [ { "argumentTypes": null, - "id": 1206, + "id": 1200, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1066, - "src": "20593:10:0", + "referencedDeclaration": 1060, + "src": "20531:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -33273,26 +33141,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1202, + "id": 1196, "name": "partyVsTransaction", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 83, - "src": "20561:18:0", + "src": "20499:18:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_bytes32_$dyn_storage_$", "typeString": "mapping(address => bytes32[] storage ref)" } }, - "id": 1204, + "id": 1198, "indexExpression": { "argumentTypes": null, - "id": 1203, + "id": 1197, "name": "seller", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1058, - "src": "20580:6:0", + "referencedDeclaration": 1052, + "src": "20518:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -33303,13 +33171,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20561:26:0", + "src": "20499:26:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage", "typeString": "bytes32[] storage ref" } }, - "id": 1205, + "id": 1199, "isConstant": false, "isLValue": false, "isPure": false, @@ -33317,13 +33185,13 @@ "memberName": "push", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "20561:31:0", + "src": "20499:31:0", "typeDescriptions": { "typeIdentifier": "t_function_arraypush_nonpayable$_t_bytes32_$returns$_t_uint256_$", "typeString": "function (bytes32) returns (uint256)" } }, - "id": 1207, + "id": 1201, "isConstant": false, "isLValue": false, "isPure": false, @@ -33331,20 +33199,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "20561:43:0", + "src": "20499:43:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1208, + "id": 1202, "nodeType": "ExpressionStatement", - "src": "20561:43:0" + "src": "20499:43:0" } ] }, "documentation": "Private method to add transaction to reduce code redundancy", - "id": 1210, + "id": 1204, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -33352,16 +33220,16 @@ "name": "_addTransaction", "nodeType": "FunctionDefinition", "parameters": { - "id": 1075, + "id": 1069, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1056, + "id": 1050, "name": "buyer", "nodeType": "VariableDeclaration", - "scope": 1210, - "src": "18004:13:0", + "scope": 1204, + "src": "17942:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -33369,10 +33237,10 @@ "typeString": "address" }, "typeName": { - "id": 1055, + "id": 1049, "name": "address", "nodeType": "ElementaryTypeName", - "src": "18004:7:0", + "src": "17942:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -33383,11 +33251,11 @@ }, { "constant": false, - "id": 1058, + "id": 1052, "name": "seller", "nodeType": "VariableDeclaration", - "scope": 1210, - "src": "18027:14:0", + "scope": 1204, + "src": "17965:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -33395,10 +33263,10 @@ "typeString": "address" }, "typeName": { - "id": 1057, + "id": 1051, "name": "address", "nodeType": "ElementaryTypeName", - "src": "18027:7:0", + "src": "17965:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -33409,11 +33277,11 @@ }, { "constant": false, - "id": 1060, + "id": 1054, "name": "moderator", "nodeType": "VariableDeclaration", - "scope": 1210, - "src": "18051:17:0", + "scope": 1204, + "src": "17989:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -33421,10 +33289,10 @@ "typeString": "address" }, "typeName": { - "id": 1059, + "id": 1053, "name": "address", "nodeType": "ElementaryTypeName", - "src": "18051:7:0", + "src": "17989:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -33435,11 +33303,11 @@ }, { "constant": false, - "id": 1062, + "id": 1056, "name": "threshold", "nodeType": "VariableDeclaration", - "scope": 1210, - "src": "18078:15:0", + "scope": 1204, + "src": "18016:15:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -33447,10 +33315,10 @@ "typeString": "uint8" }, "typeName": { - "id": 1061, + "id": 1055, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "18078:5:0", + "src": "18016:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -33461,11 +33329,11 @@ }, { "constant": false, - "id": 1064, + "id": 1058, "name": "timeoutHours", "nodeType": "VariableDeclaration", - "scope": 1210, - "src": "18103:19:0", + "scope": 1204, + "src": "18041:19:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -33473,10 +33341,10 @@ "typeString": "uint32" }, "typeName": { - "id": 1063, + "id": 1057, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "18103:6:0", + "src": "18041:6:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -33487,11 +33355,11 @@ }, { "constant": false, - "id": 1066, + "id": 1060, "name": "scriptHash", "nodeType": "VariableDeclaration", - "scope": 1210, - "src": "18132:18:0", + "scope": 1204, + "src": "18070:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -33499,10 +33367,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 1065, + "id": 1059, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "18132:7:0", + "src": "18070:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -33513,11 +33381,11 @@ }, { "constant": false, - "id": 1068, + "id": 1062, "name": "value", "nodeType": "VariableDeclaration", - "scope": 1210, - "src": "18160:13:0", + "scope": 1204, + "src": "18098:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -33525,10 +33393,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1067, + "id": 1061, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "18160:7:0", + "src": "18098:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -33539,11 +33407,11 @@ }, { "constant": false, - "id": 1070, + "id": 1064, "name": "uniqueId", "nodeType": "VariableDeclaration", - "scope": 1210, - "src": "18183:16:0", + "scope": 1204, + "src": "18121:16:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -33551,10 +33419,10 @@ "typeString": "bytes20" }, "typeName": { - "id": 1069, + "id": 1063, "name": "bytes20", "nodeType": "ElementaryTypeName", - "src": "18183:7:0", + "src": "18121:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -33565,11 +33433,11 @@ }, { "constant": false, - "id": 1072, + "id": 1066, "name": "transactionType", "nodeType": "VariableDeclaration", - "scope": 1210, - "src": "18209:31:0", + "scope": 1204, + "src": "18147:31:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -33578,11 +33446,11 @@ }, "typeName": { "contractScope": null, - "id": 1071, + "id": 1065, "name": "TransactionType", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 12, - "src": "18209:15:0", + "src": "18147:15:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -33593,11 +33461,11 @@ }, { "constant": false, - "id": 1074, + "id": 1068, "name": "tokenAddress", "nodeType": "VariableDeclaration", - "scope": 1210, - "src": "18250:20:0", + "scope": 1204, + "src": "18188:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -33605,10 +33473,10 @@ "typeString": "address" }, "typeName": { - "id": 1073, + "id": 1067, "name": "address", "nodeType": "ElementaryTypeName", - "src": "18250:7:0", + "src": "18188:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -33618,27 +33486,27 @@ "visibility": "internal" } ], - "src": "17994:282:0" + "src": "17932:282:0" }, "payable": false, "returnParameters": { - "id": 1076, + "id": 1070, "nodeType": "ParameterList", "parameters": [], - "src": "18297:0:0" + "src": "18235:0:0" }, - "scope": 1211, - "src": "17970:2641:0", + "scope": 1205, + "src": "17908:2641:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "private" } ], - "scope": 1212, - "src": "460:20153:0" + "scope": 1206, + "src": "460:20091:0" } ], - "src": "0:20614:0" + "src": "0:20552:0" }, "compiler": { "name": "solc", @@ -33646,5 +33514,5 @@ }, "networks": {}, "schemaVersion": "2.0.1", - "updatedAt": "2018-11-19T13:26:50.200Z" + "updatedAt": "2018-11-19T13:30:18.346Z" } \ No newline at end of file diff --git a/build/contracts/ITokenContract.json b/build/contracts/ITokenContract.json index 9a88ec9..55b5d70 100644 --- a/build/contracts/ITokenContract.json +++ b/build/contracts/ITokenContract.json @@ -81,14 +81,14 @@ "absolutePath": "/home/sameep/freelancing-projects/toptal/open baazar/publicRepo/smart-contracts/contracts/token/ITokenContract.sol", "exportedSymbols": { "ITokenContract": [ - 1241 + 1235 ] }, - "id": 1242, + "id": 1236, "nodeType": "SourceUnit", "nodes": [ { - "id": 1213, + "id": 1207, "literals": [ "solidity", "0.4", @@ -103,9 +103,9 @@ "contractKind": "interface", "documentation": null, "fullyImplemented": false, - "id": 1241, + "id": 1235, "linearizedBaseContracts": [ - 1241 + 1235 ], "name": "ITokenContract", "nodeType": "ContractDefinition", @@ -113,7 +113,7 @@ { "body": null, "documentation": null, - "id": 1220, + "id": 1214, "implemented": false, "isConstructor": false, "isDeclaredConst": true, @@ -121,15 +121,15 @@ "name": "balanceOf", "nodeType": "FunctionDefinition", "parameters": { - "id": 1216, + "id": 1210, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1215, + "id": 1209, "name": "_owner", "nodeType": "VariableDeclaration", - "scope": 1220, + "scope": 1214, "src": "75:14:1", "stateVariable": false, "storageLocation": "default", @@ -138,7 +138,7 @@ "typeString": "address" }, "typeName": { - "id": 1214, + "id": 1208, "name": "address", "nodeType": "ElementaryTypeName", "src": "75:7:1", @@ -155,15 +155,15 @@ }, "payable": false, "returnParameters": { - "id": 1219, + "id": 1213, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1218, + "id": 1212, "name": "balance", "nodeType": "VariableDeclaration", - "scope": 1220, + "scope": 1214, "src": "114:15:1", "stateVariable": false, "storageLocation": "default", @@ -172,7 +172,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1217, + "id": 1211, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "114:7:1", @@ -187,7 +187,7 @@ ], "src": "113:17:1" }, - "scope": 1241, + "scope": 1235, "src": "56:75:1", "stateMutability": "view", "superFunction": null, @@ -196,7 +196,7 @@ { "body": null, "documentation": null, - "id": 1229, + "id": 1223, "implemented": false, "isConstructor": false, "isDeclaredConst": false, @@ -204,15 +204,15 @@ "name": "transfer", "nodeType": "FunctionDefinition", "parameters": { - "id": 1225, + "id": 1219, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1222, + "id": 1216, "name": "_to", "nodeType": "VariableDeclaration", - "scope": 1229, + "scope": 1223, "src": "166:11:1", "stateVariable": false, "storageLocation": "default", @@ -221,7 +221,7 @@ "typeString": "address" }, "typeName": { - "id": 1221, + "id": 1215, "name": "address", "nodeType": "ElementaryTypeName", "src": "166:7:1", @@ -235,10 +235,10 @@ }, { "constant": false, - "id": 1224, + "id": 1218, "name": "_amount", "nodeType": "VariableDeclaration", - "scope": 1229, + "scope": 1223, "src": "188:15:1", "stateVariable": false, "storageLocation": "default", @@ -247,7 +247,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1223, + "id": 1217, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "188:7:1", @@ -264,15 +264,15 @@ }, "payable": false, "returnParameters": { - "id": 1228, + "id": 1222, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1227, + "id": 1221, "name": "success", "nodeType": "VariableDeclaration", - "scope": 1229, + "scope": 1223, "src": "245:12:1", "stateVariable": false, "storageLocation": "default", @@ -281,7 +281,7 @@ "typeString": "bool" }, "typeName": { - "id": 1226, + "id": 1220, "name": "bool", "nodeType": "ElementaryTypeName", "src": "245:4:1", @@ -296,7 +296,7 @@ ], "src": "244:14:1" }, - "scope": 1241, + "scope": 1235, "src": "139:120:1", "stateMutability": "nonpayable", "superFunction": null, @@ -305,7 +305,7 @@ { "body": null, "documentation": null, - "id": 1240, + "id": 1234, "implemented": false, "isConstructor": false, "isDeclaredConst": false, @@ -313,15 +313,15 @@ "name": "transferFrom", "nodeType": "FunctionDefinition", "parameters": { - "id": 1236, + "id": 1230, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1231, + "id": 1225, "name": "_from", "nodeType": "VariableDeclaration", - "scope": 1240, + "scope": 1234, "src": "296:13:1", "stateVariable": false, "storageLocation": "default", @@ -330,7 +330,7 @@ "typeString": "address" }, "typeName": { - "id": 1230, + "id": 1224, "name": "address", "nodeType": "ElementaryTypeName", "src": "296:7:1", @@ -344,10 +344,10 @@ }, { "constant": false, - "id": 1233, + "id": 1227, "name": "_to", "nodeType": "VariableDeclaration", - "scope": 1240, + "scope": 1234, "src": "320:11:1", "stateVariable": false, "storageLocation": "default", @@ -356,7 +356,7 @@ "typeString": "address" }, "typeName": { - "id": 1232, + "id": 1226, "name": "address", "nodeType": "ElementaryTypeName", "src": "320:7:1", @@ -370,10 +370,10 @@ }, { "constant": false, - "id": 1235, + "id": 1229, "name": "_amount", "nodeType": "VariableDeclaration", - "scope": 1240, + "scope": 1234, "src": "342:15:1", "stateVariable": false, "storageLocation": "default", @@ -382,7 +382,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1234, + "id": 1228, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "342:7:1", @@ -399,15 +399,15 @@ }, "payable": false, "returnParameters": { - "id": 1239, + "id": 1233, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1238, + "id": 1232, "name": "success", "nodeType": "VariableDeclaration", - "scope": 1240, + "scope": 1234, "src": "400:12:1", "stateVariable": false, "storageLocation": "default", @@ -416,7 +416,7 @@ "typeString": "bool" }, "typeName": { - "id": 1237, + "id": 1231, "name": "bool", "nodeType": "ElementaryTypeName", "src": "400:4:1", @@ -431,14 +431,14 @@ ], "src": "399:14:1" }, - "scope": 1241, + "scope": 1235, "src": "265:149:1", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" } ], - "scope": 1242, + "scope": 1236, "src": "25:391:1" } ], @@ -448,14 +448,14 @@ "absolutePath": "/home/sameep/freelancing-projects/toptal/open baazar/publicRepo/smart-contracts/contracts/token/ITokenContract.sol", "exportedSymbols": { "ITokenContract": [ - 1241 + 1235 ] }, - "id": 1242, + "id": 1236, "nodeType": "SourceUnit", "nodes": [ { - "id": 1213, + "id": 1207, "literals": [ "solidity", "0.4", @@ -470,9 +470,9 @@ "contractKind": "interface", "documentation": null, "fullyImplemented": false, - "id": 1241, + "id": 1235, "linearizedBaseContracts": [ - 1241 + 1235 ], "name": "ITokenContract", "nodeType": "ContractDefinition", @@ -480,7 +480,7 @@ { "body": null, "documentation": null, - "id": 1220, + "id": 1214, "implemented": false, "isConstructor": false, "isDeclaredConst": true, @@ -488,15 +488,15 @@ "name": "balanceOf", "nodeType": "FunctionDefinition", "parameters": { - "id": 1216, + "id": 1210, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1215, + "id": 1209, "name": "_owner", "nodeType": "VariableDeclaration", - "scope": 1220, + "scope": 1214, "src": "75:14:1", "stateVariable": false, "storageLocation": "default", @@ -505,7 +505,7 @@ "typeString": "address" }, "typeName": { - "id": 1214, + "id": 1208, "name": "address", "nodeType": "ElementaryTypeName", "src": "75:7:1", @@ -522,15 +522,15 @@ }, "payable": false, "returnParameters": { - "id": 1219, + "id": 1213, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1218, + "id": 1212, "name": "balance", "nodeType": "VariableDeclaration", - "scope": 1220, + "scope": 1214, "src": "114:15:1", "stateVariable": false, "storageLocation": "default", @@ -539,7 +539,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1217, + "id": 1211, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "114:7:1", @@ -554,7 +554,7 @@ ], "src": "113:17:1" }, - "scope": 1241, + "scope": 1235, "src": "56:75:1", "stateMutability": "view", "superFunction": null, @@ -563,7 +563,7 @@ { "body": null, "documentation": null, - "id": 1229, + "id": 1223, "implemented": false, "isConstructor": false, "isDeclaredConst": false, @@ -571,15 +571,15 @@ "name": "transfer", "nodeType": "FunctionDefinition", "parameters": { - "id": 1225, + "id": 1219, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1222, + "id": 1216, "name": "_to", "nodeType": "VariableDeclaration", - "scope": 1229, + "scope": 1223, "src": "166:11:1", "stateVariable": false, "storageLocation": "default", @@ -588,7 +588,7 @@ "typeString": "address" }, "typeName": { - "id": 1221, + "id": 1215, "name": "address", "nodeType": "ElementaryTypeName", "src": "166:7:1", @@ -602,10 +602,10 @@ }, { "constant": false, - "id": 1224, + "id": 1218, "name": "_amount", "nodeType": "VariableDeclaration", - "scope": 1229, + "scope": 1223, "src": "188:15:1", "stateVariable": false, "storageLocation": "default", @@ -614,7 +614,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1223, + "id": 1217, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "188:7:1", @@ -631,15 +631,15 @@ }, "payable": false, "returnParameters": { - "id": 1228, + "id": 1222, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1227, + "id": 1221, "name": "success", "nodeType": "VariableDeclaration", - "scope": 1229, + "scope": 1223, "src": "245:12:1", "stateVariable": false, "storageLocation": "default", @@ -648,7 +648,7 @@ "typeString": "bool" }, "typeName": { - "id": 1226, + "id": 1220, "name": "bool", "nodeType": "ElementaryTypeName", "src": "245:4:1", @@ -663,7 +663,7 @@ ], "src": "244:14:1" }, - "scope": 1241, + "scope": 1235, "src": "139:120:1", "stateMutability": "nonpayable", "superFunction": null, @@ -672,7 +672,7 @@ { "body": null, "documentation": null, - "id": 1240, + "id": 1234, "implemented": false, "isConstructor": false, "isDeclaredConst": false, @@ -680,15 +680,15 @@ "name": "transferFrom", "nodeType": "FunctionDefinition", "parameters": { - "id": 1236, + "id": 1230, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1231, + "id": 1225, "name": "_from", "nodeType": "VariableDeclaration", - "scope": 1240, + "scope": 1234, "src": "296:13:1", "stateVariable": false, "storageLocation": "default", @@ -697,7 +697,7 @@ "typeString": "address" }, "typeName": { - "id": 1230, + "id": 1224, "name": "address", "nodeType": "ElementaryTypeName", "src": "296:7:1", @@ -711,10 +711,10 @@ }, { "constant": false, - "id": 1233, + "id": 1227, "name": "_to", "nodeType": "VariableDeclaration", - "scope": 1240, + "scope": 1234, "src": "320:11:1", "stateVariable": false, "storageLocation": "default", @@ -723,7 +723,7 @@ "typeString": "address" }, "typeName": { - "id": 1232, + "id": 1226, "name": "address", "nodeType": "ElementaryTypeName", "src": "320:7:1", @@ -737,10 +737,10 @@ }, { "constant": false, - "id": 1235, + "id": 1229, "name": "_amount", "nodeType": "VariableDeclaration", - "scope": 1240, + "scope": 1234, "src": "342:15:1", "stateVariable": false, "storageLocation": "default", @@ -749,7 +749,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1234, + "id": 1228, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "342:7:1", @@ -766,15 +766,15 @@ }, "payable": false, "returnParameters": { - "id": 1239, + "id": 1233, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1238, + "id": 1232, "name": "success", "nodeType": "VariableDeclaration", - "scope": 1240, + "scope": 1234, "src": "400:12:1", "stateVariable": false, "storageLocation": "default", @@ -783,7 +783,7 @@ "typeString": "bool" }, "typeName": { - "id": 1237, + "id": 1231, "name": "bool", "nodeType": "ElementaryTypeName", "src": "400:4:1", @@ -798,14 +798,14 @@ ], "src": "399:14:1" }, - "scope": 1241, + "scope": 1235, "src": "265:149:1", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" } ], - "scope": 1242, + "scope": 1236, "src": "25:391:1" } ], @@ -817,5 +817,5 @@ }, "networks": {}, "schemaVersion": "2.0.1", - "updatedAt": "2018-11-19T13:26:50.191Z" + "updatedAt": "2018-11-19T13:30:18.336Z" } \ No newline at end of file diff --git a/build/contracts/SafeMath.json b/build/contracts/SafeMath.json index cc7e3c5..b0ce11a 100644 --- a/build/contracts/SafeMath.json +++ b/build/contracts/SafeMath.json @@ -11,14 +11,14 @@ "absolutePath": "openzeppelin-solidity/contracts/math/SafeMath.sol", "exportedSymbols": { "SafeMath": [ - 1369 + 1363 ] }, - "id": 1370, + "id": 1364, "nodeType": "SourceUnit", "nodes": [ { - "id": 1243, + "id": 1237, "literals": [ "solidity", "^", @@ -34,16 +34,16 @@ "contractKind": "library", "documentation": "@title SafeMath\n@dev Math operations with safety checks that revert on error", "fullyImplemented": true, - "id": 1369, + "id": 1363, "linearizedBaseContracts": [ - 1369 + 1363 ], "name": "SafeMath", "nodeType": "ContractDefinition", "nodes": [ { "body": { - "id": 1275, + "id": 1269, "nodeType": "Block", "src": "271:314:2", "statements": [ @@ -54,18 +54,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1254, + "id": 1248, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1252, + "id": 1246, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1245, + "referencedDeclaration": 1239, "src": "486:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -77,7 +77,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 1253, + "id": 1247, "isConstant": false, "isLValue": false, "isPure": true, @@ -99,11 +99,11 @@ } }, "falseBody": null, - "id": 1258, + "id": 1252, "nodeType": "IfStatement", "src": "482:35:2", "trueBody": { - "id": 1257, + "id": 1251, "nodeType": "Block", "src": "494:23:2", "statements": [ @@ -111,7 +111,7 @@ "expression": { "argumentTypes": null, "hexValue": "30", - "id": 1255, + "id": 1249, "isConstant": false, "isLValue": false, "isPure": true, @@ -126,8 +126,8 @@ }, "value": "0" }, - "functionReturnParameters": 1251, - "id": 1256, + "functionReturnParameters": 1245, + "id": 1250, "nodeType": "Return", "src": "502:8:2" } @@ -136,15 +136,15 @@ }, { "assignments": [ - 1260 + 1254 ], "declarations": [ { "constant": false, - "id": 1260, + "id": 1254, "name": "c", "nodeType": "VariableDeclaration", - "scope": 1276, + "scope": 1270, "src": "523:9:2", "stateVariable": false, "storageLocation": "default", @@ -153,7 +153,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1259, + "id": 1253, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "523:7:2", @@ -166,25 +166,25 @@ "visibility": "internal" } ], - "id": 1264, + "id": 1258, "initialValue": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1263, + "id": 1257, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1261, + "id": 1255, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1245, + "referencedDeclaration": 1239, "src": "535:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -195,11 +195,11 @@ "operator": "*", "rightExpression": { "argumentTypes": null, - "id": 1262, + "id": 1256, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1247, + "referencedDeclaration": 1241, "src": "539:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -225,7 +225,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1270, + "id": 1264, "isConstant": false, "isLValue": false, "isPure": false, @@ -236,18 +236,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1268, + "id": 1262, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1266, + "id": 1260, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1260, + "referencedDeclaration": 1254, "src": "554:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -258,11 +258,11 @@ "operator": "/", "rightExpression": { "argumentTypes": null, - "id": 1267, + "id": 1261, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1245, + "referencedDeclaration": 1239, "src": "558:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -279,11 +279,11 @@ "operator": "==", "rightExpression": { "argumentTypes": null, - "id": 1269, + "id": 1263, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1247, + "referencedDeclaration": 1241, "src": "563:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -304,21 +304,21 @@ "typeString": "bool" } ], - "id": 1265, + "id": 1259, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1387, - 1388 + 1381, + 1382 ], - "referencedDeclaration": 1387, + "referencedDeclaration": 1381, "src": "546:7:2", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 1271, + "id": 1265, "isConstant": false, "isLValue": false, "isPure": false, @@ -332,33 +332,33 @@ "typeString": "tuple()" } }, - "id": 1272, + "id": 1266, "nodeType": "ExpressionStatement", "src": "546:19:2" }, { "expression": { "argumentTypes": null, - "id": 1273, + "id": 1267, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1260, + "referencedDeclaration": 1254, "src": "579:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 1251, - "id": 1274, + "functionReturnParameters": 1245, + "id": 1268, "nodeType": "Return", "src": "572:8:2" } ] }, "documentation": "@dev Multiplies two numbers, reverts on overflow.", - "id": 1276, + "id": 1270, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -366,15 +366,15 @@ "name": "mul", "nodeType": "FunctionDefinition", "parameters": { - "id": 1248, + "id": 1242, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1245, + "id": 1239, "name": "a", "nodeType": "VariableDeclaration", - "scope": 1276, + "scope": 1270, "src": "217:9:2", "stateVariable": false, "storageLocation": "default", @@ -383,7 +383,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1244, + "id": 1238, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "217:7:2", @@ -397,10 +397,10 @@ }, { "constant": false, - "id": 1247, + "id": 1241, "name": "b", "nodeType": "VariableDeclaration", - "scope": 1276, + "scope": 1270, "src": "228:9:2", "stateVariable": false, "storageLocation": "default", @@ -409,7 +409,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1246, + "id": 1240, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "228:7:2", @@ -426,15 +426,15 @@ }, "payable": false, "returnParameters": { - "id": 1251, + "id": 1245, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1250, + "id": 1244, "name": "", "nodeType": "VariableDeclaration", - "scope": 1276, + "scope": 1270, "src": "262:7:2", "stateVariable": false, "storageLocation": "default", @@ -443,7 +443,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1249, + "id": 1243, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "262:7:2", @@ -458,7 +458,7 @@ ], "src": "261:9:2" }, - "scope": 1369, + "scope": 1363, "src": "204:381:2", "stateMutability": "pure", "superFunction": null, @@ -466,7 +466,7 @@ }, { "body": { - "id": 1299, + "id": 1293, "nodeType": "Block", "src": "762:203:2", "statements": [ @@ -480,18 +480,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1288, + "id": 1282, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1286, + "id": 1280, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1280, + "referencedDeclaration": 1274, "src": "776:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -503,7 +503,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 1287, + "id": 1281, "isConstant": false, "isLValue": false, "isPure": true, @@ -532,21 +532,21 @@ "typeString": "bool" } ], - "id": 1285, + "id": 1279, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1387, - 1388 + 1381, + 1382 ], - "referencedDeclaration": 1387, + "referencedDeclaration": 1381, "src": "768:7:2", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 1289, + "id": 1283, "isConstant": false, "isLValue": false, "isPure": false, @@ -560,21 +560,21 @@ "typeString": "tuple()" } }, - "id": 1290, + "id": 1284, "nodeType": "ExpressionStatement", "src": "768:14:2" }, { "assignments": [ - 1292 + 1286 ], "declarations": [ { "constant": false, - "id": 1292, + "id": 1286, "name": "c", "nodeType": "VariableDeclaration", - "scope": 1300, + "scope": 1294, "src": "846:9:2", "stateVariable": false, "storageLocation": "default", @@ -583,7 +583,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1291, + "id": 1285, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "846:7:2", @@ -596,25 +596,25 @@ "visibility": "internal" } ], - "id": 1296, + "id": 1290, "initialValue": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1295, + "id": 1289, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1293, + "id": 1287, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1278, + "referencedDeclaration": 1272, "src": "858:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -625,11 +625,11 @@ "operator": "/", "rightExpression": { "argumentTypes": null, - "id": 1294, + "id": 1288, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1280, + "referencedDeclaration": 1274, "src": "862:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -648,26 +648,26 @@ { "expression": { "argumentTypes": null, - "id": 1297, + "id": 1291, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1292, + "referencedDeclaration": 1286, "src": "959:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 1284, - "id": 1298, + "functionReturnParameters": 1278, + "id": 1292, "nodeType": "Return", "src": "952:8:2" } ] }, "documentation": "@dev Integer division of two numbers truncating the quotient, reverts on division by zero.", - "id": 1300, + "id": 1294, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -675,15 +675,15 @@ "name": "div", "nodeType": "FunctionDefinition", "parameters": { - "id": 1281, + "id": 1275, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1278, + "id": 1272, "name": "a", "nodeType": "VariableDeclaration", - "scope": 1300, + "scope": 1294, "src": "708:9:2", "stateVariable": false, "storageLocation": "default", @@ -692,7 +692,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1277, + "id": 1271, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "708:7:2", @@ -706,10 +706,10 @@ }, { "constant": false, - "id": 1280, + "id": 1274, "name": "b", "nodeType": "VariableDeclaration", - "scope": 1300, + "scope": 1294, "src": "719:9:2", "stateVariable": false, "storageLocation": "default", @@ -718,7 +718,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1279, + "id": 1273, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "719:7:2", @@ -735,15 +735,15 @@ }, "payable": false, "returnParameters": { - "id": 1284, + "id": 1278, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1283, + "id": 1277, "name": "", "nodeType": "VariableDeclaration", - "scope": 1300, + "scope": 1294, "src": "753:7:2", "stateVariable": false, "storageLocation": "default", @@ -752,7 +752,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1282, + "id": 1276, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "753:7:2", @@ -767,7 +767,7 @@ ], "src": "752:9:2" }, - "scope": 1369, + "scope": 1363, "src": "695:270:2", "stateMutability": "pure", "superFunction": null, @@ -775,7 +775,7 @@ }, { "body": { - "id": 1323, + "id": 1317, "nodeType": "Block", "src": "1145:64:2", "statements": [ @@ -789,18 +789,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1312, + "id": 1306, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1310, + "id": 1304, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1304, + "referencedDeclaration": 1298, "src": "1159:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -811,11 +811,11 @@ "operator": "<=", "rightExpression": { "argumentTypes": null, - "id": 1311, + "id": 1305, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1302, + "referencedDeclaration": 1296, "src": "1164:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -836,21 +836,21 @@ "typeString": "bool" } ], - "id": 1309, + "id": 1303, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1387, - 1388 + 1381, + 1382 ], - "referencedDeclaration": 1387, + "referencedDeclaration": 1381, "src": "1151:7:2", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 1313, + "id": 1307, "isConstant": false, "isLValue": false, "isPure": false, @@ -864,21 +864,21 @@ "typeString": "tuple()" } }, - "id": 1314, + "id": 1308, "nodeType": "ExpressionStatement", "src": "1151:15:2" }, { "assignments": [ - 1316 + 1310 ], "declarations": [ { "constant": false, - "id": 1316, + "id": 1310, "name": "c", "nodeType": "VariableDeclaration", - "scope": 1324, + "scope": 1318, "src": "1172:9:2", "stateVariable": false, "storageLocation": "default", @@ -887,7 +887,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1315, + "id": 1309, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1172:7:2", @@ -900,25 +900,25 @@ "visibility": "internal" } ], - "id": 1320, + "id": 1314, "initialValue": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1319, + "id": 1313, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1317, + "id": 1311, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1302, + "referencedDeclaration": 1296, "src": "1184:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -929,11 +929,11 @@ "operator": "-", "rightExpression": { "argumentTypes": null, - "id": 1318, + "id": 1312, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1304, + "referencedDeclaration": 1298, "src": "1188:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -952,26 +952,26 @@ { "expression": { "argumentTypes": null, - "id": 1321, + "id": 1315, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1316, + "referencedDeclaration": 1310, "src": "1203:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 1308, - "id": 1322, + "functionReturnParameters": 1302, + "id": 1316, "nodeType": "Return", "src": "1196:8:2" } ] }, "documentation": "@dev Subtracts two numbers, reverts on overflow (i.e. if subtrahend is greater than minuend).", - "id": 1324, + "id": 1318, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -979,15 +979,15 @@ "name": "sub", "nodeType": "FunctionDefinition", "parameters": { - "id": 1305, + "id": 1299, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1302, + "id": 1296, "name": "a", "nodeType": "VariableDeclaration", - "scope": 1324, + "scope": 1318, "src": "1091:9:2", "stateVariable": false, "storageLocation": "default", @@ -996,7 +996,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1301, + "id": 1295, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1091:7:2", @@ -1010,10 +1010,10 @@ }, { "constant": false, - "id": 1304, + "id": 1298, "name": "b", "nodeType": "VariableDeclaration", - "scope": 1324, + "scope": 1318, "src": "1102:9:2", "stateVariable": false, "storageLocation": "default", @@ -1022,7 +1022,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1303, + "id": 1297, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1102:7:2", @@ -1039,15 +1039,15 @@ }, "payable": false, "returnParameters": { - "id": 1308, + "id": 1302, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1307, + "id": 1301, "name": "", "nodeType": "VariableDeclaration", - "scope": 1324, + "scope": 1318, "src": "1136:7:2", "stateVariable": false, "storageLocation": "default", @@ -1056,7 +1056,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1306, + "id": 1300, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1136:7:2", @@ -1071,7 +1071,7 @@ ], "src": "1135:9:2" }, - "scope": 1369, + "scope": 1363, "src": "1078:131:2", "stateMutability": "pure", "superFunction": null, @@ -1079,21 +1079,21 @@ }, { "body": { - "id": 1347, + "id": 1341, "nodeType": "Block", "src": "1339:64:2", "statements": [ { "assignments": [ - 1334 + 1328 ], "declarations": [ { "constant": false, - "id": 1334, + "id": 1328, "name": "c", "nodeType": "VariableDeclaration", - "scope": 1348, + "scope": 1342, "src": "1345:9:2", "stateVariable": false, "storageLocation": "default", @@ -1102,7 +1102,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1333, + "id": 1327, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1345:7:2", @@ -1115,25 +1115,25 @@ "visibility": "internal" } ], - "id": 1338, + "id": 1332, "initialValue": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1337, + "id": 1331, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1335, + "id": 1329, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1326, + "referencedDeclaration": 1320, "src": "1357:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1144,11 +1144,11 @@ "operator": "+", "rightExpression": { "argumentTypes": null, - "id": 1336, + "id": 1330, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1328, + "referencedDeclaration": 1322, "src": "1361:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1174,18 +1174,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1342, + "id": 1336, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1340, + "id": 1334, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1334, + "referencedDeclaration": 1328, "src": "1376:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1196,11 +1196,11 @@ "operator": ">=", "rightExpression": { "argumentTypes": null, - "id": 1341, + "id": 1335, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1326, + "referencedDeclaration": 1320, "src": "1381:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1221,21 +1221,21 @@ "typeString": "bool" } ], - "id": 1339, + "id": 1333, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1387, - 1388 + 1381, + 1382 ], - "referencedDeclaration": 1387, + "referencedDeclaration": 1381, "src": "1368:7:2", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 1343, + "id": 1337, "isConstant": false, "isLValue": false, "isPure": false, @@ -1249,33 +1249,33 @@ "typeString": "tuple()" } }, - "id": 1344, + "id": 1338, "nodeType": "ExpressionStatement", "src": "1368:15:2" }, { "expression": { "argumentTypes": null, - "id": 1345, + "id": 1339, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1334, + "referencedDeclaration": 1328, "src": "1397:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 1332, - "id": 1346, + "functionReturnParameters": 1326, + "id": 1340, "nodeType": "Return", "src": "1390:8:2" } ] }, "documentation": "@dev Adds two numbers, reverts on overflow.", - "id": 1348, + "id": 1342, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -1283,15 +1283,15 @@ "name": "add", "nodeType": "FunctionDefinition", "parameters": { - "id": 1329, + "id": 1323, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1326, + "id": 1320, "name": "a", "nodeType": "VariableDeclaration", - "scope": 1348, + "scope": 1342, "src": "1285:9:2", "stateVariable": false, "storageLocation": "default", @@ -1300,7 +1300,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1325, + "id": 1319, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1285:7:2", @@ -1314,10 +1314,10 @@ }, { "constant": false, - "id": 1328, + "id": 1322, "name": "b", "nodeType": "VariableDeclaration", - "scope": 1348, + "scope": 1342, "src": "1296:9:2", "stateVariable": false, "storageLocation": "default", @@ -1326,7 +1326,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1327, + "id": 1321, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1296:7:2", @@ -1343,15 +1343,15 @@ }, "payable": false, "returnParameters": { - "id": 1332, + "id": 1326, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1331, + "id": 1325, "name": "", "nodeType": "VariableDeclaration", - "scope": 1348, + "scope": 1342, "src": "1330:7:2", "stateVariable": false, "storageLocation": "default", @@ -1360,7 +1360,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1330, + "id": 1324, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1330:7:2", @@ -1375,7 +1375,7 @@ ], "src": "1329:9:2" }, - "scope": 1369, + "scope": 1363, "src": "1272:131:2", "stateMutability": "pure", "superFunction": null, @@ -1383,7 +1383,7 @@ }, { "body": { - "id": 1367, + "id": 1361, "nodeType": "Block", "src": "1602:44:2", "statements": [ @@ -1397,18 +1397,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1360, + "id": 1354, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1358, + "id": 1352, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1352, + "referencedDeclaration": 1346, "src": "1616:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1420,7 +1420,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 1359, + "id": 1353, "isConstant": false, "isLValue": false, "isPure": true, @@ -1449,21 +1449,21 @@ "typeString": "bool" } ], - "id": 1357, + "id": 1351, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1387, - 1388 + 1381, + 1382 ], - "referencedDeclaration": 1387, + "referencedDeclaration": 1381, "src": "1608:7:2", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 1361, + "id": 1355, "isConstant": false, "isLValue": false, "isPure": false, @@ -1477,7 +1477,7 @@ "typeString": "tuple()" } }, - "id": 1362, + "id": 1356, "nodeType": "ExpressionStatement", "src": "1608:15:2" }, @@ -1488,18 +1488,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1365, + "id": 1359, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1363, + "id": 1357, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1350, + "referencedDeclaration": 1344, "src": "1636:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1510,11 +1510,11 @@ "operator": "%", "rightExpression": { "argumentTypes": null, - "id": 1364, + "id": 1358, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1352, + "referencedDeclaration": 1346, "src": "1640:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1527,15 +1527,15 @@ "typeString": "uint256" } }, - "functionReturnParameters": 1356, - "id": 1366, + "functionReturnParameters": 1350, + "id": 1360, "nodeType": "Return", "src": "1629:12:2" } ] }, "documentation": "@dev Divides two numbers and returns the remainder (unsigned integer modulo),\nreverts when dividing by zero.", - "id": 1368, + "id": 1362, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -1543,15 +1543,15 @@ "name": "mod", "nodeType": "FunctionDefinition", "parameters": { - "id": 1353, + "id": 1347, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1350, + "id": 1344, "name": "a", "nodeType": "VariableDeclaration", - "scope": 1368, + "scope": 1362, "src": "1548:9:2", "stateVariable": false, "storageLocation": "default", @@ -1560,7 +1560,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1349, + "id": 1343, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1548:7:2", @@ -1574,10 +1574,10 @@ }, { "constant": false, - "id": 1352, + "id": 1346, "name": "b", "nodeType": "VariableDeclaration", - "scope": 1368, + "scope": 1362, "src": "1559:9:2", "stateVariable": false, "storageLocation": "default", @@ -1586,7 +1586,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1351, + "id": 1345, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1559:7:2", @@ -1603,15 +1603,15 @@ }, "payable": false, "returnParameters": { - "id": 1356, + "id": 1350, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1355, + "id": 1349, "name": "", "nodeType": "VariableDeclaration", - "scope": 1368, + "scope": 1362, "src": "1593:7:2", "stateVariable": false, "storageLocation": "default", @@ -1620,7 +1620,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1354, + "id": 1348, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1593:7:2", @@ -1635,14 +1635,14 @@ ], "src": "1592:9:2" }, - "scope": 1369, + "scope": 1363, "src": "1535:111:2", "stateMutability": "pure", "superFunction": null, "visibility": "internal" } ], - "scope": 1370, + "scope": 1364, "src": "117:1531:2" } ], @@ -1652,14 +1652,14 @@ "absolutePath": "openzeppelin-solidity/contracts/math/SafeMath.sol", "exportedSymbols": { "SafeMath": [ - 1369 + 1363 ] }, - "id": 1370, + "id": 1364, "nodeType": "SourceUnit", "nodes": [ { - "id": 1243, + "id": 1237, "literals": [ "solidity", "^", @@ -1675,16 +1675,16 @@ "contractKind": "library", "documentation": "@title SafeMath\n@dev Math operations with safety checks that revert on error", "fullyImplemented": true, - "id": 1369, + "id": 1363, "linearizedBaseContracts": [ - 1369 + 1363 ], "name": "SafeMath", "nodeType": "ContractDefinition", "nodes": [ { "body": { - "id": 1275, + "id": 1269, "nodeType": "Block", "src": "271:314:2", "statements": [ @@ -1695,18 +1695,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1254, + "id": 1248, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1252, + "id": 1246, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1245, + "referencedDeclaration": 1239, "src": "486:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1718,7 +1718,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 1253, + "id": 1247, "isConstant": false, "isLValue": false, "isPure": true, @@ -1740,11 +1740,11 @@ } }, "falseBody": null, - "id": 1258, + "id": 1252, "nodeType": "IfStatement", "src": "482:35:2", "trueBody": { - "id": 1257, + "id": 1251, "nodeType": "Block", "src": "494:23:2", "statements": [ @@ -1752,7 +1752,7 @@ "expression": { "argumentTypes": null, "hexValue": "30", - "id": 1255, + "id": 1249, "isConstant": false, "isLValue": false, "isPure": true, @@ -1767,8 +1767,8 @@ }, "value": "0" }, - "functionReturnParameters": 1251, - "id": 1256, + "functionReturnParameters": 1245, + "id": 1250, "nodeType": "Return", "src": "502:8:2" } @@ -1777,15 +1777,15 @@ }, { "assignments": [ - 1260 + 1254 ], "declarations": [ { "constant": false, - "id": 1260, + "id": 1254, "name": "c", "nodeType": "VariableDeclaration", - "scope": 1276, + "scope": 1270, "src": "523:9:2", "stateVariable": false, "storageLocation": "default", @@ -1794,7 +1794,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1259, + "id": 1253, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "523:7:2", @@ -1807,25 +1807,25 @@ "visibility": "internal" } ], - "id": 1264, + "id": 1258, "initialValue": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1263, + "id": 1257, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1261, + "id": 1255, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1245, + "referencedDeclaration": 1239, "src": "535:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1836,11 +1836,11 @@ "operator": "*", "rightExpression": { "argumentTypes": null, - "id": 1262, + "id": 1256, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1247, + "referencedDeclaration": 1241, "src": "539:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1866,7 +1866,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1270, + "id": 1264, "isConstant": false, "isLValue": false, "isPure": false, @@ -1877,18 +1877,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1268, + "id": 1262, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1266, + "id": 1260, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1260, + "referencedDeclaration": 1254, "src": "554:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1899,11 +1899,11 @@ "operator": "/", "rightExpression": { "argumentTypes": null, - "id": 1267, + "id": 1261, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1245, + "referencedDeclaration": 1239, "src": "558:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1920,11 +1920,11 @@ "operator": "==", "rightExpression": { "argumentTypes": null, - "id": 1269, + "id": 1263, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1247, + "referencedDeclaration": 1241, "src": "563:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1945,21 +1945,21 @@ "typeString": "bool" } ], - "id": 1265, + "id": 1259, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1387, - 1388 + 1381, + 1382 ], - "referencedDeclaration": 1387, + "referencedDeclaration": 1381, "src": "546:7:2", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 1271, + "id": 1265, "isConstant": false, "isLValue": false, "isPure": false, @@ -1973,33 +1973,33 @@ "typeString": "tuple()" } }, - "id": 1272, + "id": 1266, "nodeType": "ExpressionStatement", "src": "546:19:2" }, { "expression": { "argumentTypes": null, - "id": 1273, + "id": 1267, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1260, + "referencedDeclaration": 1254, "src": "579:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 1251, - "id": 1274, + "functionReturnParameters": 1245, + "id": 1268, "nodeType": "Return", "src": "572:8:2" } ] }, "documentation": "@dev Multiplies two numbers, reverts on overflow.", - "id": 1276, + "id": 1270, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -2007,15 +2007,15 @@ "name": "mul", "nodeType": "FunctionDefinition", "parameters": { - "id": 1248, + "id": 1242, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1245, + "id": 1239, "name": "a", "nodeType": "VariableDeclaration", - "scope": 1276, + "scope": 1270, "src": "217:9:2", "stateVariable": false, "storageLocation": "default", @@ -2024,7 +2024,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1244, + "id": 1238, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "217:7:2", @@ -2038,10 +2038,10 @@ }, { "constant": false, - "id": 1247, + "id": 1241, "name": "b", "nodeType": "VariableDeclaration", - "scope": 1276, + "scope": 1270, "src": "228:9:2", "stateVariable": false, "storageLocation": "default", @@ -2050,7 +2050,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1246, + "id": 1240, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "228:7:2", @@ -2067,15 +2067,15 @@ }, "payable": false, "returnParameters": { - "id": 1251, + "id": 1245, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1250, + "id": 1244, "name": "", "nodeType": "VariableDeclaration", - "scope": 1276, + "scope": 1270, "src": "262:7:2", "stateVariable": false, "storageLocation": "default", @@ -2084,7 +2084,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1249, + "id": 1243, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "262:7:2", @@ -2099,7 +2099,7 @@ ], "src": "261:9:2" }, - "scope": 1369, + "scope": 1363, "src": "204:381:2", "stateMutability": "pure", "superFunction": null, @@ -2107,7 +2107,7 @@ }, { "body": { - "id": 1299, + "id": 1293, "nodeType": "Block", "src": "762:203:2", "statements": [ @@ -2121,18 +2121,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1288, + "id": 1282, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1286, + "id": 1280, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1280, + "referencedDeclaration": 1274, "src": "776:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2144,7 +2144,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 1287, + "id": 1281, "isConstant": false, "isLValue": false, "isPure": true, @@ -2173,21 +2173,21 @@ "typeString": "bool" } ], - "id": 1285, + "id": 1279, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1387, - 1388 + 1381, + 1382 ], - "referencedDeclaration": 1387, + "referencedDeclaration": 1381, "src": "768:7:2", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 1289, + "id": 1283, "isConstant": false, "isLValue": false, "isPure": false, @@ -2201,21 +2201,21 @@ "typeString": "tuple()" } }, - "id": 1290, + "id": 1284, "nodeType": "ExpressionStatement", "src": "768:14:2" }, { "assignments": [ - 1292 + 1286 ], "declarations": [ { "constant": false, - "id": 1292, + "id": 1286, "name": "c", "nodeType": "VariableDeclaration", - "scope": 1300, + "scope": 1294, "src": "846:9:2", "stateVariable": false, "storageLocation": "default", @@ -2224,7 +2224,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1291, + "id": 1285, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "846:7:2", @@ -2237,25 +2237,25 @@ "visibility": "internal" } ], - "id": 1296, + "id": 1290, "initialValue": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1295, + "id": 1289, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1293, + "id": 1287, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1278, + "referencedDeclaration": 1272, "src": "858:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2266,11 +2266,11 @@ "operator": "/", "rightExpression": { "argumentTypes": null, - "id": 1294, + "id": 1288, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1280, + "referencedDeclaration": 1274, "src": "862:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2289,26 +2289,26 @@ { "expression": { "argumentTypes": null, - "id": 1297, + "id": 1291, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1292, + "referencedDeclaration": 1286, "src": "959:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 1284, - "id": 1298, + "functionReturnParameters": 1278, + "id": 1292, "nodeType": "Return", "src": "952:8:2" } ] }, "documentation": "@dev Integer division of two numbers truncating the quotient, reverts on division by zero.", - "id": 1300, + "id": 1294, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -2316,15 +2316,15 @@ "name": "div", "nodeType": "FunctionDefinition", "parameters": { - "id": 1281, + "id": 1275, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1278, + "id": 1272, "name": "a", "nodeType": "VariableDeclaration", - "scope": 1300, + "scope": 1294, "src": "708:9:2", "stateVariable": false, "storageLocation": "default", @@ -2333,7 +2333,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1277, + "id": 1271, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "708:7:2", @@ -2347,10 +2347,10 @@ }, { "constant": false, - "id": 1280, + "id": 1274, "name": "b", "nodeType": "VariableDeclaration", - "scope": 1300, + "scope": 1294, "src": "719:9:2", "stateVariable": false, "storageLocation": "default", @@ -2359,7 +2359,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1279, + "id": 1273, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "719:7:2", @@ -2376,15 +2376,15 @@ }, "payable": false, "returnParameters": { - "id": 1284, + "id": 1278, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1283, + "id": 1277, "name": "", "nodeType": "VariableDeclaration", - "scope": 1300, + "scope": 1294, "src": "753:7:2", "stateVariable": false, "storageLocation": "default", @@ -2393,7 +2393,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1282, + "id": 1276, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "753:7:2", @@ -2408,7 +2408,7 @@ ], "src": "752:9:2" }, - "scope": 1369, + "scope": 1363, "src": "695:270:2", "stateMutability": "pure", "superFunction": null, @@ -2416,7 +2416,7 @@ }, { "body": { - "id": 1323, + "id": 1317, "nodeType": "Block", "src": "1145:64:2", "statements": [ @@ -2430,18 +2430,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1312, + "id": 1306, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1310, + "id": 1304, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1304, + "referencedDeclaration": 1298, "src": "1159:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2452,11 +2452,11 @@ "operator": "<=", "rightExpression": { "argumentTypes": null, - "id": 1311, + "id": 1305, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1302, + "referencedDeclaration": 1296, "src": "1164:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2477,21 +2477,21 @@ "typeString": "bool" } ], - "id": 1309, + "id": 1303, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1387, - 1388 + 1381, + 1382 ], - "referencedDeclaration": 1387, + "referencedDeclaration": 1381, "src": "1151:7:2", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 1313, + "id": 1307, "isConstant": false, "isLValue": false, "isPure": false, @@ -2505,21 +2505,21 @@ "typeString": "tuple()" } }, - "id": 1314, + "id": 1308, "nodeType": "ExpressionStatement", "src": "1151:15:2" }, { "assignments": [ - 1316 + 1310 ], "declarations": [ { "constant": false, - "id": 1316, + "id": 1310, "name": "c", "nodeType": "VariableDeclaration", - "scope": 1324, + "scope": 1318, "src": "1172:9:2", "stateVariable": false, "storageLocation": "default", @@ -2528,7 +2528,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1315, + "id": 1309, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1172:7:2", @@ -2541,25 +2541,25 @@ "visibility": "internal" } ], - "id": 1320, + "id": 1314, "initialValue": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1319, + "id": 1313, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1317, + "id": 1311, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1302, + "referencedDeclaration": 1296, "src": "1184:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2570,11 +2570,11 @@ "operator": "-", "rightExpression": { "argumentTypes": null, - "id": 1318, + "id": 1312, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1304, + "referencedDeclaration": 1298, "src": "1188:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2593,26 +2593,26 @@ { "expression": { "argumentTypes": null, - "id": 1321, + "id": 1315, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1316, + "referencedDeclaration": 1310, "src": "1203:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 1308, - "id": 1322, + "functionReturnParameters": 1302, + "id": 1316, "nodeType": "Return", "src": "1196:8:2" } ] }, "documentation": "@dev Subtracts two numbers, reverts on overflow (i.e. if subtrahend is greater than minuend).", - "id": 1324, + "id": 1318, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -2620,15 +2620,15 @@ "name": "sub", "nodeType": "FunctionDefinition", "parameters": { - "id": 1305, + "id": 1299, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1302, + "id": 1296, "name": "a", "nodeType": "VariableDeclaration", - "scope": 1324, + "scope": 1318, "src": "1091:9:2", "stateVariable": false, "storageLocation": "default", @@ -2637,7 +2637,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1301, + "id": 1295, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1091:7:2", @@ -2651,10 +2651,10 @@ }, { "constant": false, - "id": 1304, + "id": 1298, "name": "b", "nodeType": "VariableDeclaration", - "scope": 1324, + "scope": 1318, "src": "1102:9:2", "stateVariable": false, "storageLocation": "default", @@ -2663,7 +2663,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1303, + "id": 1297, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1102:7:2", @@ -2680,15 +2680,15 @@ }, "payable": false, "returnParameters": { - "id": 1308, + "id": 1302, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1307, + "id": 1301, "name": "", "nodeType": "VariableDeclaration", - "scope": 1324, + "scope": 1318, "src": "1136:7:2", "stateVariable": false, "storageLocation": "default", @@ -2697,7 +2697,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1306, + "id": 1300, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1136:7:2", @@ -2712,7 +2712,7 @@ ], "src": "1135:9:2" }, - "scope": 1369, + "scope": 1363, "src": "1078:131:2", "stateMutability": "pure", "superFunction": null, @@ -2720,21 +2720,21 @@ }, { "body": { - "id": 1347, + "id": 1341, "nodeType": "Block", "src": "1339:64:2", "statements": [ { "assignments": [ - 1334 + 1328 ], "declarations": [ { "constant": false, - "id": 1334, + "id": 1328, "name": "c", "nodeType": "VariableDeclaration", - "scope": 1348, + "scope": 1342, "src": "1345:9:2", "stateVariable": false, "storageLocation": "default", @@ -2743,7 +2743,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1333, + "id": 1327, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1345:7:2", @@ -2756,25 +2756,25 @@ "visibility": "internal" } ], - "id": 1338, + "id": 1332, "initialValue": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1337, + "id": 1331, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1335, + "id": 1329, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1326, + "referencedDeclaration": 1320, "src": "1357:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2785,11 +2785,11 @@ "operator": "+", "rightExpression": { "argumentTypes": null, - "id": 1336, + "id": 1330, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1328, + "referencedDeclaration": 1322, "src": "1361:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2815,18 +2815,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1342, + "id": 1336, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1340, + "id": 1334, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1334, + "referencedDeclaration": 1328, "src": "1376:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2837,11 +2837,11 @@ "operator": ">=", "rightExpression": { "argumentTypes": null, - "id": 1341, + "id": 1335, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1326, + "referencedDeclaration": 1320, "src": "1381:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2862,21 +2862,21 @@ "typeString": "bool" } ], - "id": 1339, + "id": 1333, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1387, - 1388 + 1381, + 1382 ], - "referencedDeclaration": 1387, + "referencedDeclaration": 1381, "src": "1368:7:2", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 1343, + "id": 1337, "isConstant": false, "isLValue": false, "isPure": false, @@ -2890,33 +2890,33 @@ "typeString": "tuple()" } }, - "id": 1344, + "id": 1338, "nodeType": "ExpressionStatement", "src": "1368:15:2" }, { "expression": { "argumentTypes": null, - "id": 1345, + "id": 1339, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1334, + "referencedDeclaration": 1328, "src": "1397:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 1332, - "id": 1346, + "functionReturnParameters": 1326, + "id": 1340, "nodeType": "Return", "src": "1390:8:2" } ] }, "documentation": "@dev Adds two numbers, reverts on overflow.", - "id": 1348, + "id": 1342, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -2924,15 +2924,15 @@ "name": "add", "nodeType": "FunctionDefinition", "parameters": { - "id": 1329, + "id": 1323, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1326, + "id": 1320, "name": "a", "nodeType": "VariableDeclaration", - "scope": 1348, + "scope": 1342, "src": "1285:9:2", "stateVariable": false, "storageLocation": "default", @@ -2941,7 +2941,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1325, + "id": 1319, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1285:7:2", @@ -2955,10 +2955,10 @@ }, { "constant": false, - "id": 1328, + "id": 1322, "name": "b", "nodeType": "VariableDeclaration", - "scope": 1348, + "scope": 1342, "src": "1296:9:2", "stateVariable": false, "storageLocation": "default", @@ -2967,7 +2967,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1327, + "id": 1321, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1296:7:2", @@ -2984,15 +2984,15 @@ }, "payable": false, "returnParameters": { - "id": 1332, + "id": 1326, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1331, + "id": 1325, "name": "", "nodeType": "VariableDeclaration", - "scope": 1348, + "scope": 1342, "src": "1330:7:2", "stateVariable": false, "storageLocation": "default", @@ -3001,7 +3001,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1330, + "id": 1324, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1330:7:2", @@ -3016,7 +3016,7 @@ ], "src": "1329:9:2" }, - "scope": 1369, + "scope": 1363, "src": "1272:131:2", "stateMutability": "pure", "superFunction": null, @@ -3024,7 +3024,7 @@ }, { "body": { - "id": 1367, + "id": 1361, "nodeType": "Block", "src": "1602:44:2", "statements": [ @@ -3038,18 +3038,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1360, + "id": 1354, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1358, + "id": 1352, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1352, + "referencedDeclaration": 1346, "src": "1616:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -3061,7 +3061,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 1359, + "id": 1353, "isConstant": false, "isLValue": false, "isPure": true, @@ -3090,21 +3090,21 @@ "typeString": "bool" } ], - "id": 1357, + "id": 1351, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1387, - 1388 + 1381, + 1382 ], - "referencedDeclaration": 1387, + "referencedDeclaration": 1381, "src": "1608:7:2", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 1361, + "id": 1355, "isConstant": false, "isLValue": false, "isPure": false, @@ -3118,7 +3118,7 @@ "typeString": "tuple()" } }, - "id": 1362, + "id": 1356, "nodeType": "ExpressionStatement", "src": "1608:15:2" }, @@ -3129,18 +3129,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1365, + "id": 1359, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1363, + "id": 1357, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1350, + "referencedDeclaration": 1344, "src": "1636:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -3151,11 +3151,11 @@ "operator": "%", "rightExpression": { "argumentTypes": null, - "id": 1364, + "id": 1358, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1352, + "referencedDeclaration": 1346, "src": "1640:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -3168,15 +3168,15 @@ "typeString": "uint256" } }, - "functionReturnParameters": 1356, - "id": 1366, + "functionReturnParameters": 1350, + "id": 1360, "nodeType": "Return", "src": "1629:12:2" } ] }, "documentation": "@dev Divides two numbers and returns the remainder (unsigned integer modulo),\nreverts when dividing by zero.", - "id": 1368, + "id": 1362, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -3184,15 +3184,15 @@ "name": "mod", "nodeType": "FunctionDefinition", "parameters": { - "id": 1353, + "id": 1347, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1350, + "id": 1344, "name": "a", "nodeType": "VariableDeclaration", - "scope": 1368, + "scope": 1362, "src": "1548:9:2", "stateVariable": false, "storageLocation": "default", @@ -3201,7 +3201,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1349, + "id": 1343, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1548:7:2", @@ -3215,10 +3215,10 @@ }, { "constant": false, - "id": 1352, + "id": 1346, "name": "b", "nodeType": "VariableDeclaration", - "scope": 1368, + "scope": 1362, "src": "1559:9:2", "stateVariable": false, "storageLocation": "default", @@ -3227,7 +3227,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1351, + "id": 1345, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1559:7:2", @@ -3244,15 +3244,15 @@ }, "payable": false, "returnParameters": { - "id": 1356, + "id": 1350, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1355, + "id": 1349, "name": "", "nodeType": "VariableDeclaration", - "scope": 1368, + "scope": 1362, "src": "1593:7:2", "stateVariable": false, "storageLocation": "default", @@ -3261,7 +3261,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1354, + "id": 1348, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1593:7:2", @@ -3276,14 +3276,14 @@ ], "src": "1592:9:2" }, - "scope": 1369, + "scope": 1363, "src": "1535:111:2", "stateMutability": "pure", "superFunction": null, "visibility": "internal" } ], - "scope": 1370, + "scope": 1364, "src": "117:1531:2" } ], @@ -3295,5 +3295,5 @@ }, "networks": {}, "schemaVersion": "2.0.1", - "updatedAt": "2018-11-19T13:26:50.193Z" + "updatedAt": "2018-11-19T13:30:18.338Z" } \ No newline at end of file diff --git a/contracts/escrow/Escrow_v1_0.sol b/contracts/escrow/Escrow_v1_0.sol index e221ea7..f220720 100644 --- a/contracts/escrow/Escrow_v1_0.sol +++ b/contracts/escrow/Escrow_v1_0.sol @@ -59,7 +59,7 @@ contract Escrow_v1_0 { uint256 public transactionCount = 0; //Contains mapping between each party and all of their transactions - mapping(address => bytes32[]) public partyVsTransaction; + mapping(address => bytes32[]) private partyVsTransaction; modifier transactionExist(bytes32 scriptHash) { require( @@ -338,7 +338,7 @@ contract Escrow_v1_0 { destinations.length>0 && destinations.length == amounts.length, "Length of destinations is incorrect." ); - verifyTransaction( + _verifyTransaction( sigV, sigR, sigS, @@ -351,7 +351,7 @@ contract Escrow_v1_0 { //Last modified timestamp modified, which will be used by rewards transactions[scriptHash].lastModified = block.timestamp; require( - transferFunds(scriptHash, destinations, amounts) == transactions[scriptHash].value, + _transferFunds(scriptHash, destinations, amounts) == transactions[scriptHash].value, "Total value to be released must be equal to the transaction escrow value" ); @@ -414,7 +414,7 @@ contract Escrow_v1_0 { * 2. Check if minimum number of signatures has been acquired * 3. If above condition is false, check if time lock is expired and the execution is signed by seller */ - function verifyTransaction( + function _verifyTransaction( uint8[] sigV, bytes32[] sigR, bytes32[] sigS, @@ -424,7 +424,7 @@ contract Escrow_v1_0 { ) private { - address lastRecovered = verifySignatures( + address lastRecovered = _verifySignatures( sigV, sigR, sigS, @@ -433,7 +433,7 @@ contract Escrow_v1_0 { amounts ); - bool timeLockExpired = isTimeLockExpired( + bool timeLockExpired = _isTimeLockExpired( transactions[scriptHash].timeoutHours, transactions[scriptHash].lastModified ); @@ -451,7 +451,7 @@ contract Escrow_v1_0 { /** *@dev Private method to transfer funds to the destination addresses on the basis of transaction type */ - function transferFunds( + function _transferFunds( bytes32 scriptHash, address[]destinations, uint256[]amounts @@ -495,7 +495,7 @@ contract Escrow_v1_0 { //to check whether the signatures are valid or not and if consensus was reached //returns the last address recovered, in case of timeout this must be the sender's address - function verifySignatures( + function _verifySignatures( uint8[] sigV, bytes32[] sigR, bytes32[] sigS, @@ -555,7 +555,7 @@ contract Escrow_v1_0 { return lastAddress; } - function isTimeLockExpired( + function _isTimeLockExpired( uint32 timeoutHours, uint256 lastModified ) From 324957203dfe3ab905a3fb069bb67b2f104b3292 Mon Sep 17 00:00:00 2001 From: Sameep Singhania Date: Mon, 19 Nov 2018 19:06:21 +0530 Subject: [PATCH 12/19] Changed this to address(this) to improve code readability --- build/contracts/Escrow_v1_0.json | 4559 +++++++++++++-------------- build/contracts/ITokenContract.json | 2 +- build/contracts/SafeMath.json | 2 +- contracts/escrow/Escrow_v1_0.sol | 10 +- 4 files changed, 2275 insertions(+), 2298 deletions(-) diff --git a/build/contracts/Escrow_v1_0.json b/build/contracts/Escrow_v1_0.json index 49c2ea6..8d5676e 100644 --- a/build/contracts/Escrow_v1_0.json +++ b/build/contracts/Escrow_v1_0.json @@ -70,29 +70,6 @@ "stateMutability": "view", "type": "function" }, - { - "constant": true, - "inputs": [ - { - "name": "", - "type": "address" - }, - { - "name": "", - "type": "uint256" - } - ], - "name": "partyVsTransaction", - "outputs": [ - { - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, { "anonymous": false, "inputs": [ @@ -418,11 +395,11 @@ "type": "function" } ], - "bytecode": "0x6080604052600060015534801561001557600080fd5b506141ce806100256000396000f3006080604052600436106100ba576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806323b6fd3f146100bf5780632d9ef96e1461017957806346fbcdeb1461019d57806357bced7614610292578063642f2eaf14610383578063b0550c66146104e5578063b719e2801461054e578063b77bf60014610589578063be84ceaf146105b4578063e4ec8b001461064c578063f0786562146106f5578063f5dbe09c1461075e575b600080fd5b610177600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff169060200190929190803563ffffffff169060200190929190803560001916906020019092919080356bffffffffffffffffffffffff191690602001909291905050506107c7565b005b61019b6004803603810190808035600019169060200190929190505050610a1b565b005b3480156101a957600080fd5b5061027460048036038101908080356bffffffffffffffffffffffff19169060200190929190803560ff169060200190929190803563ffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610e98565b60405180826000191660001916815260200191505060405180910390f35b34801561029e57600080fd5b50610381600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff169060200190929190803563ffffffff16906020019092919080356000191690602001909291908035906020019092919080356bffffffffffffffffffffffff19169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611344565b005b34801561038f57600080fd5b506103b26004803603810190808035600019169060200190929190505050611819565b604051808b81526020018a81526020018960018111156103ce57fe5b60ff1681526020018860018111156103e257fe5b60ff1681526020018760ff1660ff1681526020018663ffffffff1663ffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019a505050505050505050505060405180910390f35b3480156104f157600080fd5b506105346004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611924565b604051808215151515815260200191505060405180910390f35b34801561055a57600080fd5b50610587600480360381019080803560001916906020019092919080359060200190929190505050611996565b005b34801561059557600080fd5b5061059e612066565b6040518082815260200191505060405180910390f35b3480156105c057600080fd5b506105f5600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061206c565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b8381101561063857808201518184015260208101905061061d565b505050509050019250505060405180910390f35b34801561065857600080fd5b506106f36004803603810190808035906020019082018035906020019190919293919293908035906020019082018035906020019190919293919293908035906020019082018035906020019190919293919293908035600019169060200190929190803590602001908201803590602001919091929391929390803590602001908201803590602001919091929391929390505050612107565b005b34801561070157600080fd5b506107446004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061265e565b604051808215151515815260200191505060405180910390f35b34801561076a57600080fd5b506107a9600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506126d0565b60405180826000191660001916815260200191505060405180910390f35b81600080600083600019166000191681526020019081526020016000206000015414151561085d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f5472616e73616374696f6e20657869737400000000000000000000000000000081525060200191505060405180910390fd5b87600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610903576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b87600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156109a9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b6109bc8a8a8a8a8a8a348b600080612700565b3373ffffffffffffffffffffffffffffffffffffffff1685600019167fce7089d0668849fb9ca29778c0cbf1e764d9efb048d81fd71fb34c94f26db368346040518082815260200191505060405180910390a350505050505050505050565b80600080600083600019166000191681526020019081526020016000206000015414151515610ab2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737400000000000081525060200191505060405180910390fd5b8160006001811115610ac057fe5b600080836000191660001916815260200190815260200160002060020160009054906101000a900460ff166001811115610af657fe5b141515610b91576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001807f5472616e73616374696f6e206973206e6f7420696e2046554e4445442073746181526020017f746500000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b826000806001811115610ba057fe5b600080846000191660001916815260200190815260200160002060020160019054906101000a900460ff166001811115610bd657fe5b141515610c4b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5472616e73616374696f6e207479706520646f6573206e6f74206d617463680081525060200191505060405180910390fd5b84600080826000191660001916815260200190815260200160002060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610d52576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f54686520696e69746961746f72206f6620746865207472616e73616374696f6e81526020017f206973206e6f742062757965720000000000000000000000000000000000000081525060400191505060405180910390fd5b600034111515610dca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f56616c7565206d7573742062652067726561746572207468616e207a65726f2e81525060200191505060405180910390fd5b610dfa3460008089600019166000191681526020019081526020016000206000015461308c90919063ffffffff16565b600080886000191660001916815260200190815260200160002060000181905550426000808860001916600019168152602001908152602001600020600101819055503373ffffffffffffffffffffffffffffffffffffffff1686600019167ff66fd2ae9e24a6a24b02e1b5b7512ffde5149a4176085fc0298ae228c9b9d729346040518082815260200191505060405180910390a3505050505050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156110e4578787878787873060405160200180886bffffffffffffffffffffffff19166bffffffffffffffffffffffff191681526014018760ff1660ff167f01000000000000000000000000000000000000000000000000000000000000000281526001018663ffffffff1663ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014019750505050505050506040516020818303038152906040526040518082805190602001908083835b6020831015156110b0578051825260208201915060208101905060208303925061108b565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390209050611339565b878787878787308860405160200180896bffffffffffffffffffffffff19166bffffffffffffffffffffffff191681526014018860ff1660ff167f01000000000000000000000000000000000000000000000000000000000000000281526001018763ffffffff1663ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401985050505050505050506040516020818303038152906040526040518082805190602001908083835b60208310151561130957805182526020820191506020810190506020830392506112e4565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902090505b979650505050505050565b60008460008060008360001916600019168152602001908152602001600020600001541415156113dc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f5472616e73616374696f6e20657869737400000000000000000000000000000081525060200191505060405180910390fd5b8a600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515611482576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b8a600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515611528576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b84600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156115ce576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b6115e18e8e8e8e8e8e8e8e60018f612700565b8594508473ffffffffffffffffffffffffffffffffffffffff166323b872dd33308b6040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b1580156116bb57600080fd5b505af11580156116cf573d6000803e3d6000fd5b505050506040513d60208110156116e557600080fd5b810190808051906020019092919050505015156117b6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252605d8152602001807f546f6b656e207472616e73666572206661696c65642c206d6179626520796f7581526020017f20646964206e6f7420617070726f766520657363726f7720636f6e747261637481526020017f20746f207370656e64206f6e20626568616c66206f662073656e64657200000081525060600191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff1689600019167fce7089d0668849fb9ca29778c0cbf1e764d9efb048d81fd71fb34c94f26db3688a6040518082815260200191505060405180910390a35050505050505050505050505050565b60006020528060005260406000206000915090508060000154908060010154908060020160009054906101000a900460ff16908060020160019054906101000a900460ff16908060020160029054906101000a900460ff16908060020160039054906101000a900463ffffffff16908060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060050160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508a565b6000806000846000191660001916815260200190815260200160002060080160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b600082600080600083600019166000191681526020019081526020016000206000015414151515611a2f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737400000000000081525060200191505060405180910390fd5b8360006001811115611a3d57fe5b600080836000191660001916815260200190815260200160002060020160009054906101000a900460ff166001811115611a7357fe5b141515611b0e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001807f5472616e73616374696f6e206973206e6f7420696e2046554e4445442073746181526020017f746500000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b846001806001811115611b1d57fe5b600080846000191660001916815260200190815260200160002060020160019054906101000a900460ff166001811115611b5357fe5b141515611bc8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5472616e73616374696f6e207479706520646f6573206e6f74206d617463680081525060200191505060405180910390fd5b86600080826000191660001916815260200190815260200160002060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611ccf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f54686520696e69746961746f72206f6620746865207472616e73616374696f6e81526020017f206973206e6f742062757965720000000000000000000000000000000000000081525060400191505060405180910390fd5b600087111515611d47576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f56616c7565206d7573742062652067726561746572207468616e207a65726f2e81525060200191505060405180910390fd5b600080896000191660001916815260200190815260200160002060040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1695508573ffffffffffffffffffffffffffffffffffffffff166323b872dd6000808b6000191660001916815260200190815260200160002060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff16308a6040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b158015611e9b57600080fd5b505af1158015611eaf573d6000803e3d6000fd5b505050506040513d6020811015611ec557600080fd5b81019080805190602001909291905050501515611f96576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252605c8152602001807f546f6b656e207472616e73666572206661696c65642c206d6179626520796f7581526020017f20646964206e6f7420617070726f766520657363726f7720636f6e747261637481526020017f20746f207370656e64206f6e20626568616c66206f662062757965720000000081525060600191505060405180910390fd5b611fc6876000808b600019166000191681526020019081526020016000206000015461308c90919063ffffffff16565b6000808a6000191660001916815260200190815260200160002060000181905550426000808a60001916600019168152602001908152602001600020600101819055503373ffffffffffffffffffffffffffffffffffffffff1688600019167ff66fd2ae9e24a6a24b02e1b5b7512ffde5149a4176085fc0298ae228c9b9d729896040518082815260200191505060405180910390a35050505050505050565b60015481565b6060600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208054806020026020016040519081016040528092919081815260200182805480156120fb57602002820191906000526020600020905b815460001916815260200190600101908083116120e3575b50505050509050919050565b8460008060008360001916600019168152602001908152602001600020600001541415151561219e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737400000000000081525060200191505060405180910390fd5b85600060018111156121ac57fe5b600080836000191660001916815260200190815260200160002060020160009054906101000a900460ff1660018111156121e257fe5b14151561227d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001807f5472616e73616374696f6e206973206e6f7420696e2046554e4445442073746181526020017f746500000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b60008686905011801561229557508383905086869050145b151561232f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001807f4c656e677468206f662064657374696e6174696f6e7320697320696e636f727281526020017f6563742e0000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b6124288d8d808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508c8c808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508b8b808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508a8a8a808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508989808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050506130ad565b6001600080896000191660001916815260200190815260200160002060020160006101000a81548160ff0219169083600181111561246257fe5b0217905550426000808960001916600019168152602001908152602001600020600101819055506000808860001916600019168152602001908152602001600020600001546125108888888080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505087878080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505061328e565b1415156125d1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260488152602001807f546f74616c2076616c756520746f2062652072656c6561736564206d7573742081526020017f626520657175616c20746f20746865207472616e73616374696f6e206573637281526020017f6f772076616c756500000000000000000000000000000000000000000000000081525060600191505060405180910390fd5b86600019167f688e2a1b34445bcd47b0e11ba2a9c8c4d850a1831b64199b59d1c70e29701545878787876040518080602001806020018381038352878782818152602001925060200280828437820191505083810382528585828181526020019250602002808284378201915050965050505050505060405180910390a250505050505050505050505050565b6000806000846000191660001916815260200190815260200160002060070160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6002602052816000526040600020818154811015156126eb57fe5b90600052602060002001600091509150505481565b8873ffffffffffffffffffffffffffffffffffffffff168a73ffffffffffffffffffffffffffffffffffffffff16141515156127a4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f427579657220616e642073656c6c6572206172652073616d650000000000000081525060200191505060405180910390fd5b60008411151561281c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f56616c756520706173736564206973203000000000000000000000000000000081525060200191505060405180910390fd5b60008760ff16118015612833575060038760ff1611155b15156128cd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603d8152602001807f5468726573686f6c642063616e6e6f742062652067726561746572207468616e81526020017f203320616e64206d7573742062652067726561746572207468616e203000000081525060400191505060405180910390fd5b60018760ff16148061290c5750600073ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff1614155b15156129cc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260488152602001807f456974686572207468726573686f6c642073686f756c642062652031206f722081526020017f76616c6964206d6f64657261746f7220616464726573732073686f756c64206281526020017f652070617373656400000000000000000000000000000000000000000000000081525060600191505060405180910390fd5b6129db8388888d8d8d87610e98565b600019168560001916141515612a7f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260398152602001807f43616c63756c6174656420736372697074206861736820646f6573206e6f742081526020017f6d61746368207061737365642073637269707420686173682e0000000000000081525060400191505060405180910390fd5b6101406040519081016040528085815260200142815260200160006001811115612aa557fe5b8152602001836001811115612ab657fe5b81526020018860ff1681526020018763ffffffff1681526020018b73ffffffffffffffffffffffffffffffffffffffff1681526020018a73ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020018973ffffffffffffffffffffffffffffffffffffffff168152506000808760001916600019168152602001908152602001600020600082015181600001556020820151816001015560408201518160020160006101000a81548160ff02191690836001811115612b9057fe5b021790555060608201518160020160016101000a81548160ff02191690836001811115612bb957fe5b021790555060808201518160020160026101000a81548160ff021916908360ff16021790555060a08201518160020160036101000a81548163ffffffff021916908363ffffffff16021790555060c08201518160020160076101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060e08201518160030160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506101008201518160040160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506101208201518160050160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055509050506001600080876000191660001916815260200190815260200160002060060160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600080876000191660001916815260200190815260200160002060060160008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600080866000191660001916815260200190815260200160002060060160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151515612f10576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f456974686572206275796572206f722073656c6c65722069732070617373656481526020017f206173206d6f64657261746f720000000000000000000000000000000000000081525060400191505060405180910390fd5b60018760ff161115612f90576001600080876000191660001916815260200190815260200160002060060160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b600160008154809291906001019190505550600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020859080600181540180825580915050906001820390600052602060002001600090919290919091509060001916905550600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002085908060018154018082558091505090600182039060005260206000200160009091929091909150906000191690555050505050505050505050565b60008082840190508381101515156130a357600080fd5b8091505092915050565b6000806130be888888888888613a76565b9150613114600080876000191660001916815260200190815260200160002060020160039054906101000a900463ffffffff166000808860001916600019168152602001908152602001600020600101546140ef565b9050600080866000191660001916815260200190815260200160002060020160029054906101000a900460ff1660ff1688511080156131c557508015806131c45750600080866000191660001916815260200190815260200160002060030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b5b15613284576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260588152602001807f4d696e696d756d206e756d626572206f66207369676e6174757265732061726581526020017f206e6f7420636f6c6c656374656420616e642074696d65206c6f636b2065787081526020017f69727920636f6e646974696f6e73206e6f74206d65742121000000000000000081525060600191505060405180910390fd5b5050505050505050565b6000806000806000806000808a60001916600019168152602001908152602001600020945060009350600060018111156132c457fe5b8560020160019054906101000a900460ff1660018111156132e157fe5b14156135f857600092505b87518310156135f357600073ffffffffffffffffffffffffffffffffffffffff16888481518110151561331b57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff16141580156133ab5750846006016000898581518110151561335857fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b151561341f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f4e6f7420612076616c69642064657374696e6174696f6e00000000000000000081525060200191505060405180910390fd5b6000878481518110151561342f57fe5b906020019060200201511115156134d4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001807f416d6f756e7420746f2062652073656e742073686f756c64206265206772656181526020017f746572207468616e20300000000000000000000000000000000000000000000081525060400191505060405180910390fd5b6134fe87848151811015156134e557fe5b906020019060200201518561308c90919063ffffffff16565b935060018560080160008a8681518110151561351657fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550878381518110151561357f57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff166108fc88858151811015156135b057fe5b906020019060200201519081150290604051600060405180830381858888f193505050501580156135e5573d6000803e3d6000fd5b5082806001019350506132ec565b613a67565b60018081111561360457fe5b8560020160019054906101000a900460ff16600181111561362157fe5b1415613a66578460040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169150600090505b8751811015613a6557600073ffffffffffffffffffffffffffffffffffffffff16888281518110151561368257fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1614158015613712575084600601600089838151811015156136bf57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1515613786576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f4e6f7420612076616c69642064657374696e6174696f6e00000000000000000081525060200191505060405180910390fd5b6000878281518110151561379657fe5b9060200190602002015111151561383b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001807f416d6f756e7420746f2062652073656e742073686f756c64206265206772656181526020017f746572207468616e20300000000000000000000000000000000000000000000081525060400191505060405180910390fd5b613865878281518110151561384c57fe5b906020019060200201518561308c90919063ffffffff16565b935060018560080160008a8481518110151561387d57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb898381518110151561390257fe5b90602001906020020151898481518110151561391a57fe5b906020019060200201516040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1580156139a957600080fd5b505af11580156139bd573d6000803e3d6000fd5b505050506040513d60208110156139d357600080fd5b81019080805190602001909291905050501515613a58576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f546f6b656e207472616e73666572206661696c65642e0000000000000000000081525060200191505060405180910390fd5b8080600101915050613653565b5b5b83955050505050509392505050565b600080600080600088518a51148015613a9057508a518a51145b1515613b04576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f522c532c56206c656e677468206d69736d617463682e0000000000000000000081525060200191505060405180910390fd5b60197f01000000000000000000000000000000000000000000000000000000000000000260007f0100000000000000000000000000000000000000000000000000000000000000023089898c60405160200180877effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168152600101867effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526001018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401848051906020019060200280838360005b83811015613c58578082015181840152602081019050613c3d565b50505050905001838051906020019060200280838360005b83811015613c8b578082015181840152602081019050613c70565b50505050905001826000191660001916815260200196505050505050506040516020818303038152906040526040518082805190602001908083835b602083101515613cec5780518252602082019150602081019050602083039250613cc7565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902060405160200180807f19457468657265756d205369676e6564204d6573736167653a0a333200000000815250601c0182600019166000191681526020019150506040516020818303038152906040526040518082805190602001908083835b602083101515613d9d5780518252602082019150602081019050602083039250613d78565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390209250600091505b89518210156140de576001838c84815181101515613deb57fe5b906020019060200201518c85815181101515613e0357fe5b906020019060200201518c86815181101515613e1b57fe5b90602001906020020151604051600081526020016040526040518085600019166000191681526020018460ff1660ff1681526020018360001916600019168152602001826000191660001916815260200194505050505060206040516020810390808403906000865af1158015613e96573d6000803e3d6000fd5b505050602060405103519050600080896000191660001916815260200190815260200160002060060160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515613f7e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f496e76616c6964207369676e617475726500000000000000000000000000000081525060200191505060405180910390fd5b600080896000191660001916815260200190815260200160002060070160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151561405b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f53616d65207369676e61747572652073656e742074776963650000000000000081525060200191505060405180910390fd5b60016000808a6000191660001916815260200190815260200160002060070160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508093508180600101925050613dd1565b839450505050509695505050505050565b600080614105834261414390919063ffffffff16565b905060008463ffffffff161461413757614130610e108563ffffffff1661416490919063ffffffff16565b811161413a565b60005b91505092915050565b60008083831115151561415557600080fd5b82840390508091505092915050565b6000806000841415614179576000915061419b565b828402905082848281151561418a57fe5b0414151561419757600080fd5b8091505b50929150505600a165627a7a72305820ff1643e47dc947640c2fe10064b4b907aa7ba4242c6f3438700f9e2eb37cc7e30029", - "deployedBytecode": "0x6080604052600436106100ba576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806323b6fd3f146100bf5780632d9ef96e1461017957806346fbcdeb1461019d57806357bced7614610292578063642f2eaf14610383578063b0550c66146104e5578063b719e2801461054e578063b77bf60014610589578063be84ceaf146105b4578063e4ec8b001461064c578063f0786562146106f5578063f5dbe09c1461075e575b600080fd5b610177600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff169060200190929190803563ffffffff169060200190929190803560001916906020019092919080356bffffffffffffffffffffffff191690602001909291905050506107c7565b005b61019b6004803603810190808035600019169060200190929190505050610a1b565b005b3480156101a957600080fd5b5061027460048036038101908080356bffffffffffffffffffffffff19169060200190929190803560ff169060200190929190803563ffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610e98565b60405180826000191660001916815260200191505060405180910390f35b34801561029e57600080fd5b50610381600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff169060200190929190803563ffffffff16906020019092919080356000191690602001909291908035906020019092919080356bffffffffffffffffffffffff19169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611344565b005b34801561038f57600080fd5b506103b26004803603810190808035600019169060200190929190505050611819565b604051808b81526020018a81526020018960018111156103ce57fe5b60ff1681526020018860018111156103e257fe5b60ff1681526020018760ff1660ff1681526020018663ffffffff1663ffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019a505050505050505050505060405180910390f35b3480156104f157600080fd5b506105346004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611924565b604051808215151515815260200191505060405180910390f35b34801561055a57600080fd5b50610587600480360381019080803560001916906020019092919080359060200190929190505050611996565b005b34801561059557600080fd5b5061059e612066565b6040518082815260200191505060405180910390f35b3480156105c057600080fd5b506105f5600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061206c565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b8381101561063857808201518184015260208101905061061d565b505050509050019250505060405180910390f35b34801561065857600080fd5b506106f36004803603810190808035906020019082018035906020019190919293919293908035906020019082018035906020019190919293919293908035906020019082018035906020019190919293919293908035600019169060200190929190803590602001908201803590602001919091929391929390803590602001908201803590602001919091929391929390505050612107565b005b34801561070157600080fd5b506107446004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061265e565b604051808215151515815260200191505060405180910390f35b34801561076a57600080fd5b506107a9600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506126d0565b60405180826000191660001916815260200191505060405180910390f35b81600080600083600019166000191681526020019081526020016000206000015414151561085d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f5472616e73616374696f6e20657869737400000000000000000000000000000081525060200191505060405180910390fd5b87600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610903576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b87600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156109a9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b6109bc8a8a8a8a8a8a348b600080612700565b3373ffffffffffffffffffffffffffffffffffffffff1685600019167fce7089d0668849fb9ca29778c0cbf1e764d9efb048d81fd71fb34c94f26db368346040518082815260200191505060405180910390a350505050505050505050565b80600080600083600019166000191681526020019081526020016000206000015414151515610ab2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737400000000000081525060200191505060405180910390fd5b8160006001811115610ac057fe5b600080836000191660001916815260200190815260200160002060020160009054906101000a900460ff166001811115610af657fe5b141515610b91576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001807f5472616e73616374696f6e206973206e6f7420696e2046554e4445442073746181526020017f746500000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b826000806001811115610ba057fe5b600080846000191660001916815260200190815260200160002060020160019054906101000a900460ff166001811115610bd657fe5b141515610c4b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5472616e73616374696f6e207479706520646f6573206e6f74206d617463680081525060200191505060405180910390fd5b84600080826000191660001916815260200190815260200160002060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610d52576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f54686520696e69746961746f72206f6620746865207472616e73616374696f6e81526020017f206973206e6f742062757965720000000000000000000000000000000000000081525060400191505060405180910390fd5b600034111515610dca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f56616c7565206d7573742062652067726561746572207468616e207a65726f2e81525060200191505060405180910390fd5b610dfa3460008089600019166000191681526020019081526020016000206000015461308c90919063ffffffff16565b600080886000191660001916815260200190815260200160002060000181905550426000808860001916600019168152602001908152602001600020600101819055503373ffffffffffffffffffffffffffffffffffffffff1686600019167ff66fd2ae9e24a6a24b02e1b5b7512ffde5149a4176085fc0298ae228c9b9d729346040518082815260200191505060405180910390a3505050505050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156110e4578787878787873060405160200180886bffffffffffffffffffffffff19166bffffffffffffffffffffffff191681526014018760ff1660ff167f01000000000000000000000000000000000000000000000000000000000000000281526001018663ffffffff1663ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014019750505050505050506040516020818303038152906040526040518082805190602001908083835b6020831015156110b0578051825260208201915060208101905060208303925061108b565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390209050611339565b878787878787308860405160200180896bffffffffffffffffffffffff19166bffffffffffffffffffffffff191681526014018860ff1660ff167f01000000000000000000000000000000000000000000000000000000000000000281526001018763ffffffff1663ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401985050505050505050506040516020818303038152906040526040518082805190602001908083835b60208310151561130957805182526020820191506020810190506020830392506112e4565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902090505b979650505050505050565b60008460008060008360001916600019168152602001908152602001600020600001541415156113dc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f5472616e73616374696f6e20657869737400000000000000000000000000000081525060200191505060405180910390fd5b8a600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515611482576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b8a600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515611528576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b84600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156115ce576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b6115e18e8e8e8e8e8e8e8e60018f612700565b8594508473ffffffffffffffffffffffffffffffffffffffff166323b872dd33308b6040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b1580156116bb57600080fd5b505af11580156116cf573d6000803e3d6000fd5b505050506040513d60208110156116e557600080fd5b810190808051906020019092919050505015156117b6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252605d8152602001807f546f6b656e207472616e73666572206661696c65642c206d6179626520796f7581526020017f20646964206e6f7420617070726f766520657363726f7720636f6e747261637481526020017f20746f207370656e64206f6e20626568616c66206f662073656e64657200000081525060600191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff1689600019167fce7089d0668849fb9ca29778c0cbf1e764d9efb048d81fd71fb34c94f26db3688a6040518082815260200191505060405180910390a35050505050505050505050505050565b60006020528060005260406000206000915090508060000154908060010154908060020160009054906101000a900460ff16908060020160019054906101000a900460ff16908060020160029054906101000a900460ff16908060020160039054906101000a900463ffffffff16908060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060050160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508a565b6000806000846000191660001916815260200190815260200160002060080160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b600082600080600083600019166000191681526020019081526020016000206000015414151515611a2f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737400000000000081525060200191505060405180910390fd5b8360006001811115611a3d57fe5b600080836000191660001916815260200190815260200160002060020160009054906101000a900460ff166001811115611a7357fe5b141515611b0e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001807f5472616e73616374696f6e206973206e6f7420696e2046554e4445442073746181526020017f746500000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b846001806001811115611b1d57fe5b600080846000191660001916815260200190815260200160002060020160019054906101000a900460ff166001811115611b5357fe5b141515611bc8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5472616e73616374696f6e207479706520646f6573206e6f74206d617463680081525060200191505060405180910390fd5b86600080826000191660001916815260200190815260200160002060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611ccf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f54686520696e69746961746f72206f6620746865207472616e73616374696f6e81526020017f206973206e6f742062757965720000000000000000000000000000000000000081525060400191505060405180910390fd5b600087111515611d47576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f56616c7565206d7573742062652067726561746572207468616e207a65726f2e81525060200191505060405180910390fd5b600080896000191660001916815260200190815260200160002060040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1695508573ffffffffffffffffffffffffffffffffffffffff166323b872dd6000808b6000191660001916815260200190815260200160002060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff16308a6040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b158015611e9b57600080fd5b505af1158015611eaf573d6000803e3d6000fd5b505050506040513d6020811015611ec557600080fd5b81019080805190602001909291905050501515611f96576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252605c8152602001807f546f6b656e207472616e73666572206661696c65642c206d6179626520796f7581526020017f20646964206e6f7420617070726f766520657363726f7720636f6e747261637481526020017f20746f207370656e64206f6e20626568616c66206f662062757965720000000081525060600191505060405180910390fd5b611fc6876000808b600019166000191681526020019081526020016000206000015461308c90919063ffffffff16565b6000808a6000191660001916815260200190815260200160002060000181905550426000808a60001916600019168152602001908152602001600020600101819055503373ffffffffffffffffffffffffffffffffffffffff1688600019167ff66fd2ae9e24a6a24b02e1b5b7512ffde5149a4176085fc0298ae228c9b9d729896040518082815260200191505060405180910390a35050505050505050565b60015481565b6060600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208054806020026020016040519081016040528092919081815260200182805480156120fb57602002820191906000526020600020905b815460001916815260200190600101908083116120e3575b50505050509050919050565b8460008060008360001916600019168152602001908152602001600020600001541415151561219e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737400000000000081525060200191505060405180910390fd5b85600060018111156121ac57fe5b600080836000191660001916815260200190815260200160002060020160009054906101000a900460ff1660018111156121e257fe5b14151561227d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001807f5472616e73616374696f6e206973206e6f7420696e2046554e4445442073746181526020017f746500000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b60008686905011801561229557508383905086869050145b151561232f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001807f4c656e677468206f662064657374696e6174696f6e7320697320696e636f727281526020017f6563742e0000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b6124288d8d808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508c8c808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508b8b808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508a8a8a808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508989808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050506130ad565b6001600080896000191660001916815260200190815260200160002060020160006101000a81548160ff0219169083600181111561246257fe5b0217905550426000808960001916600019168152602001908152602001600020600101819055506000808860001916600019168152602001908152602001600020600001546125108888888080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505087878080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505061328e565b1415156125d1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260488152602001807f546f74616c2076616c756520746f2062652072656c6561736564206d7573742081526020017f626520657175616c20746f20746865207472616e73616374696f6e206573637281526020017f6f772076616c756500000000000000000000000000000000000000000000000081525060600191505060405180910390fd5b86600019167f688e2a1b34445bcd47b0e11ba2a9c8c4d850a1831b64199b59d1c70e29701545878787876040518080602001806020018381038352878782818152602001925060200280828437820191505083810382528585828181526020019250602002808284378201915050965050505050505060405180910390a250505050505050505050505050565b6000806000846000191660001916815260200190815260200160002060070160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6002602052816000526040600020818154811015156126eb57fe5b90600052602060002001600091509150505481565b8873ffffffffffffffffffffffffffffffffffffffff168a73ffffffffffffffffffffffffffffffffffffffff16141515156127a4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f427579657220616e642073656c6c6572206172652073616d650000000000000081525060200191505060405180910390fd5b60008411151561281c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f56616c756520706173736564206973203000000000000000000000000000000081525060200191505060405180910390fd5b60008760ff16118015612833575060038760ff1611155b15156128cd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603d8152602001807f5468726573686f6c642063616e6e6f742062652067726561746572207468616e81526020017f203320616e64206d7573742062652067726561746572207468616e203000000081525060400191505060405180910390fd5b60018760ff16148061290c5750600073ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff1614155b15156129cc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260488152602001807f456974686572207468726573686f6c642073686f756c642062652031206f722081526020017f76616c6964206d6f64657261746f7220616464726573732073686f756c64206281526020017f652070617373656400000000000000000000000000000000000000000000000081525060600191505060405180910390fd5b6129db8388888d8d8d87610e98565b600019168560001916141515612a7f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260398152602001807f43616c63756c6174656420736372697074206861736820646f6573206e6f742081526020017f6d61746368207061737365642073637269707420686173682e0000000000000081525060400191505060405180910390fd5b6101406040519081016040528085815260200142815260200160006001811115612aa557fe5b8152602001836001811115612ab657fe5b81526020018860ff1681526020018763ffffffff1681526020018b73ffffffffffffffffffffffffffffffffffffffff1681526020018a73ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020018973ffffffffffffffffffffffffffffffffffffffff168152506000808760001916600019168152602001908152602001600020600082015181600001556020820151816001015560408201518160020160006101000a81548160ff02191690836001811115612b9057fe5b021790555060608201518160020160016101000a81548160ff02191690836001811115612bb957fe5b021790555060808201518160020160026101000a81548160ff021916908360ff16021790555060a08201518160020160036101000a81548163ffffffff021916908363ffffffff16021790555060c08201518160020160076101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060e08201518160030160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506101008201518160040160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506101208201518160050160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055509050506001600080876000191660001916815260200190815260200160002060060160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600080876000191660001916815260200190815260200160002060060160008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600080866000191660001916815260200190815260200160002060060160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151515612f10576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f456974686572206275796572206f722073656c6c65722069732070617373656481526020017f206173206d6f64657261746f720000000000000000000000000000000000000081525060400191505060405180910390fd5b60018760ff161115612f90576001600080876000191660001916815260200190815260200160002060060160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b600160008154809291906001019190505550600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020859080600181540180825580915050906001820390600052602060002001600090919290919091509060001916905550600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002085908060018154018082558091505090600182039060005260206000200160009091929091909150906000191690555050505050505050505050565b60008082840190508381101515156130a357600080fd5b8091505092915050565b6000806130be888888888888613a76565b9150613114600080876000191660001916815260200190815260200160002060020160039054906101000a900463ffffffff166000808860001916600019168152602001908152602001600020600101546140ef565b9050600080866000191660001916815260200190815260200160002060020160029054906101000a900460ff1660ff1688511080156131c557508015806131c45750600080866000191660001916815260200190815260200160002060030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b5b15613284576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260588152602001807f4d696e696d756d206e756d626572206f66207369676e6174757265732061726581526020017f206e6f7420636f6c6c656374656420616e642074696d65206c6f636b2065787081526020017f69727920636f6e646974696f6e73206e6f74206d65742121000000000000000081525060600191505060405180910390fd5b5050505050505050565b6000806000806000806000808a60001916600019168152602001908152602001600020945060009350600060018111156132c457fe5b8560020160019054906101000a900460ff1660018111156132e157fe5b14156135f857600092505b87518310156135f357600073ffffffffffffffffffffffffffffffffffffffff16888481518110151561331b57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff16141580156133ab5750846006016000898581518110151561335857fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b151561341f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f4e6f7420612076616c69642064657374696e6174696f6e00000000000000000081525060200191505060405180910390fd5b6000878481518110151561342f57fe5b906020019060200201511115156134d4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001807f416d6f756e7420746f2062652073656e742073686f756c64206265206772656181526020017f746572207468616e20300000000000000000000000000000000000000000000081525060400191505060405180910390fd5b6134fe87848151811015156134e557fe5b906020019060200201518561308c90919063ffffffff16565b935060018560080160008a8681518110151561351657fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550878381518110151561357f57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff166108fc88858151811015156135b057fe5b906020019060200201519081150290604051600060405180830381858888f193505050501580156135e5573d6000803e3d6000fd5b5082806001019350506132ec565b613a67565b60018081111561360457fe5b8560020160019054906101000a900460ff16600181111561362157fe5b1415613a66578460040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169150600090505b8751811015613a6557600073ffffffffffffffffffffffffffffffffffffffff16888281518110151561368257fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1614158015613712575084600601600089838151811015156136bf57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1515613786576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f4e6f7420612076616c69642064657374696e6174696f6e00000000000000000081525060200191505060405180910390fd5b6000878281518110151561379657fe5b9060200190602002015111151561383b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001807f416d6f756e7420746f2062652073656e742073686f756c64206265206772656181526020017f746572207468616e20300000000000000000000000000000000000000000000081525060400191505060405180910390fd5b613865878281518110151561384c57fe5b906020019060200201518561308c90919063ffffffff16565b935060018560080160008a8481518110151561387d57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb898381518110151561390257fe5b90602001906020020151898481518110151561391a57fe5b906020019060200201516040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1580156139a957600080fd5b505af11580156139bd573d6000803e3d6000fd5b505050506040513d60208110156139d357600080fd5b81019080805190602001909291905050501515613a58576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f546f6b656e207472616e73666572206661696c65642e0000000000000000000081525060200191505060405180910390fd5b8080600101915050613653565b5b5b83955050505050509392505050565b600080600080600088518a51148015613a9057508a518a51145b1515613b04576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f522c532c56206c656e677468206d69736d617463682e0000000000000000000081525060200191505060405180910390fd5b60197f01000000000000000000000000000000000000000000000000000000000000000260007f0100000000000000000000000000000000000000000000000000000000000000023089898c60405160200180877effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168152600101867effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526001018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401848051906020019060200280838360005b83811015613c58578082015181840152602081019050613c3d565b50505050905001838051906020019060200280838360005b83811015613c8b578082015181840152602081019050613c70565b50505050905001826000191660001916815260200196505050505050506040516020818303038152906040526040518082805190602001908083835b602083101515613cec5780518252602082019150602081019050602083039250613cc7565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902060405160200180807f19457468657265756d205369676e6564204d6573736167653a0a333200000000815250601c0182600019166000191681526020019150506040516020818303038152906040526040518082805190602001908083835b602083101515613d9d5780518252602082019150602081019050602083039250613d78565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390209250600091505b89518210156140de576001838c84815181101515613deb57fe5b906020019060200201518c85815181101515613e0357fe5b906020019060200201518c86815181101515613e1b57fe5b90602001906020020151604051600081526020016040526040518085600019166000191681526020018460ff1660ff1681526020018360001916600019168152602001826000191660001916815260200194505050505060206040516020810390808403906000865af1158015613e96573d6000803e3d6000fd5b505050602060405103519050600080896000191660001916815260200190815260200160002060060160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515613f7e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f496e76616c6964207369676e617475726500000000000000000000000000000081525060200191505060405180910390fd5b600080896000191660001916815260200190815260200160002060070160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151561405b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f53616d65207369676e61747572652073656e742074776963650000000000000081525060200191505060405180910390fd5b60016000808a6000191660001916815260200190815260200160002060070160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508093508180600101925050613dd1565b839450505050509695505050505050565b600080614105834261414390919063ffffffff16565b905060008463ffffffff161461413757614130610e108563ffffffff1661416490919063ffffffff16565b811161413a565b60005b91505092915050565b60008083831115151561415557600080fd5b82840390508091505092915050565b6000806000841415614179576000915061419b565b828402905082848281151561418a57fe5b0414151561419757600080fd5b8091505b50929150505600a165627a7a72305820ff1643e47dc947640c2fe10064b4b907aa7ba4242c6f3438700f9e2eb37cc7e30029", - "sourceMap": "460:20091:0:-;;;1653:1;1619:35;;460:20091;8:9:-1;5:2;;;30:1;27;20:12;5:2;460:20091:0;;;;;;;", - "deployedSourceMap": "460:20091:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3701:701;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7580:579;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11817:999;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11817:999:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5336:1021;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5336:1021:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1561:51;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1561:51:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6598:221;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6598:221:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8487:888;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8487:888:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1619:35;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1619:35:0;;;;;;;;;;;;;;;;;;;;;;;9492:194;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9492:194:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;9492:194:0;;;;;;;;;;;;;;;;;10284:1062;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10284:1062:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7059:194;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7059:194:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1733:55;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1733:55:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3701:701;3978:10;2076:1;2042:12;:24;2055:10;2042:24;;;;;;;;;;;;;;;;;:30;;;:35;2034:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4013:5;2409:1;2383:28;;:14;:28;;;;2375:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4043:6;2409:1;2383:28;;:14;:28;;;;2375:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4065:264;4094:5;4113:6;4133:9;4156;4179:12;4205:10;4229:9;4252:8;4274:21;4317:1;4065:15;:264::i;:::-;4372:10;4353:41;;4360:10;4353:41;;;;4384:9;4353:41;;;;;;;;;;;;;;;;;;2445:1;2109;3701:701;;;;;;;;:::o;7580:579::-;7703:10;1906:1;1872:12;:24;1885:10;1872:24;;;;;;;;;;;;;;;;;:30;;;:35;;1851:96;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7737:10;2232:13;2197:48;;;;;;;;:12;:24;2210:10;2197:24;;;;;;;;;;;;;;;;;:31;;;;;;;;;;;;:48;;;;;;;;;2176:117;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7778:10;7790:21;2643:15;2599:59;;;;;;;;:12;:24;2612:10;2599:24;;;;;;;;;;;;;;;;;:40;;;;;;;;;;;;:59;;;;;;;;;2578:125;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7831:10;2811:12;:24;2824:10;2811:24;;;;;;;;;;;;;;;;;:30;;;;;;;;;;;;2797:44;;:10;:44;;;2776:124;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7887:1;7875:9;:13;7867:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7969;8017:9;7969:12;:24;7982:10;7969:24;;;;;;;;;;;;;;;;;:30;;;:47;;:58;;;;:::i;:::-;7936:12;:24;7949:10;7936:24;;;;;;;;;;;;;;;;;:30;;:91;;;;8077:15;8037:12;:24;8050:10;8037:24;;;;;;;;;;;;;;;;;:37;;:55;;;;8130:10;8108:44;;8118:10;8108:44;;;;8142:9;8108:44;;;;;;;;;;;;;;;;;;2713:1;2303;;1957;7580:579;;:::o;11817:999::-;12087:7;12138:1;12114:26;;:12;:26;;;12110:700;;;12228:8;12258:9;12289:12;12323:5;12350:6;12378:9;12409:4;12190:241;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;12190:241:0;;;12163:282;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;12163:282:0;;;;;;;;;;;;;;;;12156:289;;;;12110:700;12548:8;12578:9;12609:12;12643:5;12670:6;12698:9;12729:4;12755:12;12510:275;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;12510:275:0;;;12483:316;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;12483:316:0;;;;;;;;;;;;;;;;12476:323;;11817:999;;;;;;;;;;:::o;5336:1021::-;6053:20;5655:10;2076:1;2042:12;:24;2055:10;2042:24;;;;;;;;;;;;;;;;;:30;;;:35;2034:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5690:5;2409:1;2383:28;;:14;:28;;;;2375:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5720:6;2409:1;2383:28;;:14;:28;;;;2375:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5751:12;2409:1;2383:28;;:14;:28;;;;2375:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5780:262;5809:5;5828:6;5848:9;5871;5894:12;5920:10;5944:5;5963:8;5985:21;6020:12;5780:15;:262::i;:::-;6091:12;6053:51;;6136:5;:18;;;6155:10;6167:4;6173:5;6136:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6136:43:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6136:43:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6136:43:0;;;;;;;;;;;;;;;;6115:183;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6332:10;6313:37;;6320:10;6313:37;;;;6344:5;6313:37;;;;;;;;;;;;;;;;;;2445:1;;2109;5336:1021;;;;;;;;;;;:::o;1561:51::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;6598:221::-;6734:4;6761:12;:24;6774:10;6761:24;;;;;;;;;;;;;;;;;:38;;:51;6800:11;6761:51;;;;;;;;;;;;;;;;;;;;;;;;;6754:58;;6598:221;;;;:::o;8487:888::-;8838:20;8618:10;1906:1;1872:12;:24;1885:10;1872:24;;;;;;;;;;;;;;;;;:30;;;:35;;1851:96;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8652:10;2232:13;2197:48;;;;;;;;:12;:24;2210:10;2197:24;;;;;;;;;;;;;;;;;:31;;;;;;;;;;;;:48;;;;;;;;;2176:117;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8693:10;8705:21;2643:15;2599:59;;;;;;;;:12;:24;2612:10;2599:24;;;;;;;;;;;;;;;;;:40;;;;;;;;;;;;:59;;;;;;;;;2578:125;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8746:10;2811:12;:24;2824:10;2811:24;;;;;;;;;;;;;;;;;:30;;;;;;;;;;;;2797:44;;:10;:44;;;2776:124;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8789:1;8781:5;:9;8773:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8889:12;:24;8902:10;8889:24;;;;;;;;;;;;;;;;;:37;;;;;;;;;;;;8838:98;;8968:5;:18;;;8987:12;:24;9000:10;8987:24;;;;;;;;;;;;;;;;;:30;;;;;;;;;;;;9019:4;9025:5;8968:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8968:63:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;8968:63:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;8968:63:0;;;;;;;;;;;;;;;;8947:202;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9193:54;9241:5;9193:12;:24;9206:10;9193:24;;;;;;;;;;;;;;;;;:30;;;:47;;:54;;;;:::i;:::-;9160:12;:24;9173:10;9160:24;;;;;;;;;;;;;;;;;:30;;:87;;;;9297:15;9257:12;:24;9270:10;9257:24;;;;;;;;;;;;;;;;;:37;;:55;;;;9350:10;9328:40;;9338:10;9328:40;;;;9362:5;9328:40;;;;;;;;;;;;;;;;;;2713:1;2303;;1957;8487:888;;;;:::o;1619:35::-;;;;:::o;9492:194::-;9614:9;9647:18;:32;9666:12;9647:32;;;;;;;;;;;;;;;9640:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9492:194;;;:::o;10284:1062::-;10506:10;1906:1;1872:12;:24;1885:10;1872:24;;;;;;;;;;;;;;;;;:30;;;:35;;1851:96;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10540:10;2232:13;2197:48;;;;;;;;:12;:24;2210:10;2197:24;;;;;;;;;;;;;;;;;:31;;;;;;;;;;;;:48;;;;;;;;;2176:117;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10607:1;10587:12;;:19;;:21;:62;;;;;10635:7;;:14;;10612:12;;:19;;:37;10587:62;10566:133;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10710:152;10741:4;;10710:152;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10759:4;;10710:152;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10777:4;;10710:152;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10795:10;10819:12;;10710:152;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10845:7;;10710:152;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:17;:152::i;:::-;10907:15;10873:12;:24;10886:10;10873:24;;;;;;;;;;;;;;;;;:31;;;:49;;;;;;;;;;;;;;;;;;;;;;;;11046:15;11006:12;:24;11019:10;11006:24;;;;;;;;;;;;;;;;;:37;;:55;;;;11144:12;:24;11157:10;11144:24;;;;;;;;;;;;;;;;;:30;;;11092:48;11106:10;11118:12;;11092:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11132:7;;11092:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:13;:48::i;:::-;:82;11071:201;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11305:10;11296:43;;;;11317:12;;11331:7;;11296:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1957:1;10284:1062;;;;;;;;;;;;:::o;7059:194::-;7182:4;7209:12;:24;7222:10;7209:24;;;;;;;;;;;;;;;;;:30;;:37;7240:5;7209:37;;;;;;;;;;;;;;;;;;;;;;;;;7202:44;;7059:194;;;;:::o;1733:55::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;17908:2641::-;18270:6;18261:15;;:5;:15;;;;18253:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18381:1;18373:5;:9;18365:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18519:1;18507:9;:13;;;:31;;;;;18537:1;18524:9;:14;;;;18507:31;18486:140;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18920:1;18907:9;:14;;;:41;;;;18946:1;18925:23;;:9;:23;;;;18907:41;18886:160;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19092:226;19135:8;19161:9;19188:12;19218:5;19241:6;19265:9;19292:12;19092:25;:226::i;:::-;19078:240;;;:10;:240;;;;19057:345;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19440:373;;;;;;;;;19561:5;19440:373;;;;19629:15;19440:373;;;;19588:13;19440:373;;;;;;;;;;;;19748:15;19440:373;;;;;;;;;;;;19669:9;19440:373;;;;;;19706:12;19440:373;;;;;;19473:5;19440:373;;;;;;19500:6;19440:373;;;;;;19790:12;19440:373;;;;;;19531:9;19440:373;;;;;19413:12;:24;19426:10;19413:24;;;;;;;;;;;;;;;;;:400;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19867:4;19824:12;:24;19837:10;19824:24;;;;;;;;;;;;;;;;;:32;;:40;19857:6;19824:40;;;;;;;;;;;;;;;;:47;;;;;;;;;;;;;;;;;;19923:4;19881:12;:24;19894:10;19881:24;;;;;;;;;;;;;;;;;:32;;:39;19914:5;19881:39;;;;;;;;;;;;;;;;:46;;;;;;;;;;;;;;;;;;20035:12;:24;20048:10;20035:24;;;;;;;;;;;;;;;;;:32;;:43;20068:9;20035:43;;;;;;;;;;;;;;;;;;;;;;;;;20034:44;20013:137;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20322:1;20310:9;:13;;;20306:94;;;20385:4;20339:12;:24;20352:10;20339:24;;;;;;;;;;;;;;;;;:32;;:43;20372:9;20339:43;;;;;;;;;;;;;;;;:50;;;;;;;;;;;;;;;;;;20306:94;20418:16;;:18;;;;;;;;;;;;;20447;:25;20466:5;20447:25;;;;;;;;;;;;;;;20478:10;20447:42;;39:1:-1;33:3;27:10;23:18;57:10;52:3;45:23;79:10;72:17;;0:93;20447:42:0;;;;;;;;;;;;;;;;;;;;;;;;;;;20499:18;:26;20518:6;20499:26;;;;;;;;;;;;;;;20531:10;20499:43;;39:1:-1;33:3;27:10;23:18;57:10;52:3;45:23;79:10;72:17;;0:93;20499:43:0;;;;;;;;;;;;;;;;;;;;;;;;;;;17908:2641;;;;;;;;;;:::o;1272:131:2:-;1330:7;1345:9;1361:1;1357;:5;1345:17;;1381:1;1376;:6;;1368:15;;;;;;;;1397:1;1390:8;;1272:131;;;;;:::o;13090:1005:0:-;13310:21;13496:20;13334:151;13364:4;13382;13400;13418:10;13442:12;13468:7;13334:16;:151::i;:::-;13310:175;;13519:129;13550:12;:24;13563:10;13550:24;;;;;;;;;;;;;;;;;:37;;;;;;;;;;;;13601:12;:24;13614:10;13601:24;;;;;;;;;;;;;;;;;:37;;;13519:17;:129::i;:::-;13496:152;;13834:12;:24;13847:10;13834:24;;;;;;;;;;;;;;;;;:34;;;;;;;;;;;;13820:48;;:4;:11;:48;:122;;;;;13874:15;13873:16;:68;;;;13910:12;:24;13923:10;13910:24;;;;;;;;;;;;;;;;;:31;;;;;;;;;;;;13893:48;;:13;:48;;;;13873:68;13820:122;13799:289;;;13979:98;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13799:289;13090:1005;;;;;;;;:::o;14221:1522::-;14368:7;14391:21;14450:24;14556:9;15108:20;15181:9;14415:12;:24;14428:10;14415:24;;;;;;;;;;;;;;;;;14391:48;;14477:1;14450:28;;14514:21;14493:42;;;;;;;;:1;:17;;;;;;;;;;;;:42;;;;;;;;;14489:1214;;;14568:1;14556:13;;14551:477;14575:12;:19;14571:1;:23;14551:477;;;14655:1;14628:29;;:12;14641:1;14628:15;;;;;;;;;;;;;;;;;;:29;;;;:59;;;;;14661:1;:9;;:26;14671:12;14684:1;14671:15;;;;;;;;;;;;;;;;;;14661:26;;;;;;;;;;;;;;;;;;;;;;;;;14628:59;14620:95;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14754:1;14741:7;14749:1;14741:10;;;;;;;;;;;;;;;;;;:14;14733:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14840:32;14861:7;14869:1;14861:10;;;;;;;;;;;;;;;;;;14840:16;:20;;:32;;;;:::i;:::-;14821:51;;14926:4;14891:1;:15;;:32;14907:12;14920:1;14907:15;;;;;;;;;;;;;;;;;;14891:32;;;;;;;;;;;;;;;;:39;;;;;;;;;;;;;;;;;;14977:12;14990:1;14977:15;;;;;;;;;;;;;;;;;;:24;;:36;15002:7;15010:1;15002:10;;;;;;;;;;;;;;;;;;14977:36;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;14977:36:0;14596:3;;;;;;;14551:477;;;14489:1214;;;15070:21;15049:42;;;;;;;;:1;:17;;;;;;;;;;;;:42;;;;;;;;;15045:658;;;15146:1;:14;;;;;;;;;;;;15108:53;;15193:1;15181:13;;15176:517;15198:12;:19;15196:1;:21;15176:517;;;15278:1;15251:29;;:12;15264:1;15251:15;;;;;;;;;;;;;;;;;;:29;;;;:59;;;;;15284:1;:9;;:26;15294:12;15307:1;15294:15;;;;;;;;;;;;;;;;;;15284:26;;;;;;;;;;;;;;;;;;;;;;;;;15251:59;15243:95;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15377:1;15364:7;15372:1;15364:10;;;;;;;;;;;;;;;;;;:14;15356:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15463:32;15484:7;15492:1;15484:10;;;;;;;;;;;;;;;;;;15463:16;:20;;:32;;;;:::i;:::-;15444:51;;15548:4;15513:1;:15;;:32;15529:12;15542:1;15529:15;;;;;;;;;;;;;;;;;;15513:32;;;;;;;;;;;;;;;;:39;;;;;;;;;;;;;;;;;;15608:5;:14;;;15623:12;15636:1;15623:15;;;;;;;;;;;;;;;;;;15640:7;15648:1;15640:10;;;;;;;;;;;;;;;;;;15608:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;15608:43:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;15608:43:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;15608:43:0;;;;;;;;;;;;;;;;15600:78;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15219:3;;;;;;;15176:517;;;15045:658;14489:1214;15720:16;15713:23;;14221:1522;;;;;;;;;;:::o;15928:1571::-;16149:7;16310:19;16428:14;16887:6;16936:17;16209:4;:11;16194:4;:11;:26;:56;;;;;16239:4;:11;16224:4;:11;:26;16194:56;16173:126;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16632:4;16627:10;;16668:1;16663:7;;16696:4;16726:12;16764:7;16797:10;16585:244;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;16585:244:0;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;16585:244:0;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;16585:244:0;;;16554:293;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;16554:293:0;;;;;;;;;;;;;;;;16468:393;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;16468:393:0;;;16445:426;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;16445:426:0;;;;;;;;;;;;;;;;16428:443;;16896:1;16887:10;;16882:582;16903:4;:11;16899:1;:15;16882:582;;;16956:122;16983:6;17007:4;17012:1;17007:7;;;;;;;;;;;;;;;;;;17032:4;17037:1;17032:7;;;;;;;;;;;;;;;;;;17057:4;17062:1;17057:7;;;;;;;;;;;;;;;;;;16956:122;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;16956:122:0;;;;;;;;16936:142;;17118:12;:24;17131:10;17118:24;;;;;;;;;;;;;;;;;:32;;:43;17151:9;17118:43;;;;;;;;;;;;;;;;;;;;;;;;;17093:120;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17253:12;:24;17266:10;17253:24;;;;;;;;;;;;;;;;;:30;;:41;17284:9;17253:41;;;;;;;;;;;;;;;;;;;;;;;;;17252:42;17227:127;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17412:4;17368:12;:24;17381:10;17368:24;;;;;;;;;;;;;;;;;:30;;:41;17399:9;17368:41;;;;;;;;;;;;;;;;:48;;;;;;;;;;;;;;;;;;17444:9;17430:23;;16916:3;;;;;;;16882:582;;;17481:11;17474:18;;15928:1571;;;;;;;;;;;;:::o;17505:316::-;17643:4;17663:17;17683:21;17691:12;17683:3;:7;;:21;;;;:::i;:::-;17663:41;;17751:1;17735:12;:17;;;:69;;17773:31;17799:4;17781:12;17773:21;;:25;;:31;;;;:::i;:::-;17761:9;:43;17735:69;;;17755:5;17735:69;17714:100;;17505:316;;;;;:::o;1078:131:2:-;1136:7;1172:9;1164:1;1159;:6;;1151:15;;;;;;;;1188:1;1184;:5;1172:17;;1203:1;1196:8;;1078:131;;;;;:::o;204:381::-;262:7;523:9;491:1;486;:6;482:35;;;509:1;502:8;;;;482:35;539:1;535;:5;523:17;;563:1;558;554;:5;;;;;;;;:10;546:19;;;;;;;;579:1;572:8;;204:381;;;;;;:::o", - "source": "pragma solidity 0.4.24;\n\nimport \"openzeppelin-solidity/contracts/math/SafeMath.sol\";\n\nimport \"../token/ITokenContract.sol\";\n\n\n/**\n* @dev Supports ERC20 tokens\n* The escrow smart contract for the open bazaar trades in Ethereum\n* The smart contract is designed keeping in mind the current wallet interface of the OB-core\n* https://github.com/OpenBazaar/wallet-interface/blob/master/wallet.go\n* Current wallet interface strictly adheres to UTXO(bitcoin) model\n*/\ncontract Escrow_v1_0 {\n\n using SafeMath for uint256;\n\n enum Status {FUNDED, RELEASED}\n\n enum TransactionType {ETHER, TOKEN}\n\n event Executed(\n bytes32 indexed scriptHash,\n address[] destinations,\n uint256[] amounts\n );\n\n event FundAdded(\n bytes32 indexed scriptHash,\n address indexed from,\n uint256 valueAdded\n );\n\n event Funded(\n bytes32 indexed scriptHash, \n address indexed from, \n uint256 value\n );\n\n struct Transaction {\n uint256 value;\n uint256 lastModified;//Time at which transaction was last modified\n Status status;\n TransactionType transactionType;\n uint8 threshold;\n uint32 timeoutHours;\n address buyer;\n address seller;\n address tokenAddress;//Token address in case of token transfer\n address moderator;\n mapping(address=>bool) isOwner;//to keep track of owners.\n mapping(address=>bool) voted;//to keep track of who all voted\n mapping(address=>bool) beneficiaries;//Benefeciaries of execution\n }\n\n mapping(bytes32 => Transaction) public transactions;\n\n uint256 public transactionCount = 0;\n\n //Contains mapping between each party and all of their transactions\n mapping(address => bytes32[]) public partyVsTransaction;\n\n modifier transactionExist(bytes32 scriptHash) {\n require(\n transactions[scriptHash].value != 0, \"Transaction does not exist\"\n );\n _;\n }\n\n modifier transactionDoesNotExist(bytes32 scriptHash) {\n require(transactions[scriptHash].value == 0, \"Transaction exist\");\n _;\n }\n\n modifier inFundedState(bytes32 scriptHash) {\n require(\n transactions[scriptHash].status == Status.FUNDED, \"Transaction is not in FUNDED state\"\n );\n _;\n }\n\n modifier nonZeroAddress(address addressToCheck) {\n require(addressToCheck != address(0), \"Zero address passed\");\n _;\n }\n\n modifier checkTransactionType(\n bytes32 scriptHash,\n TransactionType transactionType\n )\n {\n require(\n transactions[scriptHash].transactionType == transactionType, \"Transaction type does not match\"\n );\n _;\n }\n\n modifier onlyBuyer(bytes32 scriptHash) {\n require(\n msg.sender == transactions[scriptHash].buyer, \"The initiator of the transaction is not buyer\"\n );\n _;\n }\n\n /**\n *@dev Add new transaction in the contract\n *@param buyer The buyer of the transaction\n *@param seller The seller of the listing associated with the transaction\n *@param moderator Moderator for this transaction\n *@param scriptHash keccak256 hash of the redeem script\n *@param threshold Minimum number of signatures required to released funds\n *@param timeoutHours Hours after which seller can release funds into his favour by signing transaction unilaterally\n *@param uniqueId bytes20 unique id for the transaction, generated by ETH wallet\n *Redeem Script format will be following\n \n *Pass amount of the ethers to be put in escrow\n */\n function addTransaction(\n address buyer,\n address seller,\n address moderator,\n uint8 threshold,\n uint32 timeoutHours,\n bytes32 scriptHash,\n bytes20 uniqueId\n )\n external\n payable\n transactionDoesNotExist(scriptHash)\n nonZeroAddress(buyer)\n nonZeroAddress(seller)\n {\n _addTransaction(\n buyer,\n seller,\n moderator,\n threshold,\n timeoutHours,\n scriptHash,\n msg.value,\n uniqueId,\n TransactionType.ETHER,\n address(0)\n );\n \n emit Funded(scriptHash, msg.sender, msg.value);\n\n }\n\n /**\n *@dev Add new transaction in the contract\n *@param buyer The buyer of the transaction\n *@param seller The seller of the listing associated with the transaction\n *@param moderator Moderator for this transaction\n *@param scriptHash keccak256 hash of the redeem script\n *@param threshold Minimum number of signatures required to released funds\n *@param timeoutHours Hours after which seller can release funds into his favour by signing transaction unilaterally\n *@param value Amount of tokens to be put in escrow\n *@param uniqueId bytes20 unique id for the transaction, generated by ETH wallet\n *@param tokenAddress Address of the token to be used\n *Redeem Script format will be following\n \n *approve escrow contract to spend amount of token on sender's behalf\n */\n function addTokenTransaction(\n address buyer,\n address seller,\n address moderator,\n uint8 threshold,\n uint32 timeoutHours,\n bytes32 scriptHash,\n uint256 value,\n bytes20 uniqueId,\n address tokenAddress\n )\n external\n transactionDoesNotExist(scriptHash)\n nonZeroAddress(buyer)\n nonZeroAddress(seller)\n nonZeroAddress(tokenAddress)\n {\n\n _addTransaction(\n buyer,\n seller,\n moderator,\n threshold,\n timeoutHours,\n scriptHash,\n value,\n uniqueId,\n TransactionType.TOKEN,\n tokenAddress\n );\n\n ITokenContract token = ITokenContract(tokenAddress);\n\n require(\n token.transferFrom(msg.sender, this, value),\n \"Token transfer failed, maybe you did not approve escrow contract to spend on behalf of sender\"\n );\n emit Funded(scriptHash, msg.sender, value);\n }\n\n /**\n * @dev This method will check whether given address was a beneficiary of transaction execution or not\n * @param scriptHash script hash of the transaction\n * @param beneficiary Beneficiary address to be checked\n */\n function checkBeneficiary(\n bytes32 scriptHash,\n address beneficiary\n )\n external\n view\n returns (bool)\n {\n return transactions[scriptHash].beneficiaries[beneficiary];\n }\n\n /**\n * @dev This method will check whether given party has voted or not\n * @param scriptHash script hash of the transaction\n * @param party Address of the party whose vote has to be checked\n * @return bool vote\n */\n function checkVote(\n bytes32 scriptHash,\n address party\n )\n external\n view\n returns (bool)\n {\n return transactions[scriptHash].voted[party];\n }\n\n /**\n * @dev Allows buyer of the transaction to add more funds(ether) in the transaction. \n * This will help to cater scenarios wherein initially buyer missed to fund transaction as required\n * @param scriptHash script hash of the transaction\n * Only buyer of the transaction can invoke this method\n */\n function addFundsToTransaction(\n bytes32 scriptHash\n )\n external\n payable\n transactionExist(scriptHash)\n inFundedState(scriptHash)\n checkTransactionType(scriptHash, TransactionType.ETHER)\n onlyBuyer(scriptHash)\n \n {\n\n require(msg.value > 0, \"Value must be greater than zero.\");\n\n transactions[scriptHash].value = transactions[scriptHash].value\n .add(msg.value);\n transactions[scriptHash].lastModified = block.timestamp;\n\n emit FundAdded(scriptHash, msg.sender, msg.value);\n }\n\n /**\n * @dev Allows buyer of the transaction to add more funds(Tokens) in the transaction. \n * This will help to cater scenarios wherein initially buyer missed to fund transaction as required\n * @param scriptHash script hash of the transaction\n * Only buyer of the transaction can invoke this method\n */\n function addTokensToTransaction(\n bytes32 scriptHash,\n uint256 value\n )\n external\n transactionExist(scriptHash)\n inFundedState(scriptHash)\n checkTransactionType(scriptHash, TransactionType.TOKEN)\n onlyBuyer(scriptHash)\n {\n\n require(value > 0, \"Value must be greater than zero.\");\n\n ITokenContract token = ITokenContract(\n transactions[scriptHash].tokenAddress\n );\n\n require(\n token.transferFrom(transactions[scriptHash].buyer, this, value),\n \"Token transfer failed, maybe you did not approve escrow contract to spend on behalf of buyer\"\n );\n\n transactions[scriptHash].value = transactions[scriptHash].value\n .add(value);\n transactions[scriptHash].lastModified = block.timestamp;\n\n emit FundAdded(scriptHash, msg.sender, value);\n }\n\n /**\n *@dev Returns all transaction ids for a party\n *@param partyAddress Address of the party\n */\n function getAllTransactionsForParty(\n address partyAddress\n ) \n external \n view \n returns (bytes32[]) \n {\n return partyVsTransaction[partyAddress];\n }\n\n /**\n *@dev This method will be used to release funds associated with the transaction\n * Please see specs https://github.com/OpenBazaar/smart-contracts/blob/master/contracts/escrow/EscrowSpec.md\n *@param sigV Array containing V component of all the signatures\n *@param sigR Array containing R component of all the signatures\n *@param signS Array containing S component of all the signatures\n *@param scriptHash script hash of the transaction\n *@param destinations List of addresses who will receive funds\n *@param amounts amount released to each destination\n */\n function execute(\n uint8[] sigV,\n bytes32[] sigR,\n bytes32[] sigS,\n bytes32 scriptHash,\n address[] destinations,\n uint256[] amounts\n )\n external\n transactionExist(scriptHash)\n inFundedState(scriptHash)\n {\n require(\n destinations.length>0 && destinations.length == amounts.length, \"Length of destinations is incorrect.\"\n );\n\n verifyTransaction(\n sigV,\n sigR,\n sigS,\n scriptHash,\n destinations,\n amounts\n );\n\n transactions[scriptHash].status = Status.RELEASED;\n //Last modified timestamp modified, which will be used by rewards\n transactions[scriptHash].lastModified = block.timestamp;\n require(\n transferFunds(scriptHash, destinations, amounts) == transactions[scriptHash].value,\n \"Total value to be released must be equal to the transaction escrow value\"\n );\n \n emit Executed(scriptHash, destinations, amounts);\n }\n\n\n /**\n *@dev Method for calculating script hash. Calculation will depend upon the type of transaction\n * ETHER Type transaction-:\n * Script Hash- keccak256(uniqueId, threshold, timeoutHours, buyer, seller, moderator)\n * TOKEN Type transaction\n * Script Hash- keccak256(uniqueId, threshold, timeoutHours, buyer, seller, moderator, tokenAddress)\n * Client can use this method to verify whether it has calculated correct script hash or not\n */\n function calculateRedeemScriptHash(\n bytes20 uniqueId,\n uint8 threshold,\n uint32 timeoutHours,\n address buyer,\n address seller,\n address moderator,\n address tokenAddress\n )\n public\n view\n returns (bytes32)\n {\n if (tokenAddress == address(0)) {\n return keccak256(\n abi.encodePacked(\n uniqueId,\n threshold,\n timeoutHours,\n buyer,\n seller,\n moderator,\n this\n )\n );\n } else {\n return keccak256(\n abi.encodePacked(\n uniqueId,\n threshold,\n timeoutHours,\n buyer,\n seller,\n moderator,\n this,\n tokenAddress\n )\n );\n }\n }\n\n /**\n * @dev This methods checks validity of transaction\n * 1. Verify Signatures\n * 2. Check if minimum number of signatures has been acquired\n * 3. If above condition is false, check if time lock is expired and the execution is signed by seller\n */\n function verifyTransaction(\n uint8[] sigV,\n bytes32[] sigR,\n bytes32[] sigS,\n bytes32 scriptHash,\n address[] destinations,\n uint256[] amounts\n )\n private\n {\n address lastRecovered = verifySignatures(\n sigV,\n sigR,\n sigS,\n scriptHash,\n destinations,\n amounts\n );\n\n bool timeLockExpired = isTimeLockExpired(\n transactions[scriptHash].timeoutHours,\n transactions[scriptHash].lastModified\n );\n\n //if Minimum number of signatures are not gathered and timelock has not expired or transaction was not signed by seller then revert\n if (\n sigV.length < transactions[scriptHash].threshold && (!timeLockExpired || lastRecovered != transactions[scriptHash].seller)\n )\n {\n revert(\"Minimum number of signatures are not collected and time lock expiry conditions not met!!\");\n }\n\n }\n\n /**\n *@dev Private method to transfer funds to the destination addresses on the basis of transaction type\n */\n function transferFunds(\n bytes32 scriptHash,\n address[]destinations,\n uint256[]amounts\n )\n private\n returns (uint256)\n {\n Transaction storage t = transactions[scriptHash];\n\n uint256 valueTransferred = 0;\n\n if (t.transactionType == TransactionType.ETHER) {\n for (uint256 i = 0; i < destinations.length; i++) {\n\n require(destinations[i] != address(0) && t.isOwner[destinations[i]], \"Not a valid destination\");\n require(amounts[i] > 0, \"Amount to be sent should be greater than 0\");\n\n valueTransferred = valueTransferred.add(amounts[i]);\n\n t.beneficiaries[destinations[i]] = true;//add receiver as beneficiary\n destinations[i].transfer(amounts[i]);\n }\n\n } else if (t.transactionType == TransactionType.TOKEN) {\n\n ITokenContract token = ITokenContract(t.tokenAddress);\n\n for (uint256 j = 0; j 0, \"Amount to be sent should be greater than 0\");\n\n valueTransferred = valueTransferred.add(amounts[j]);\n t.beneficiaries[destinations[j]] = true;//add receiver as beneficiary\n\n require(token.transfer(destinations[j], amounts[j]), \"Token transfer failed.\");\n }\n } \n return valueTransferred;\n }\n\n //to check whether the signatures are valid or not and if consensus was reached\n //returns the last address recovered, in case of timeout this must be the sender's address\n function verifySignatures(\n uint8[] sigV,\n bytes32[] sigR,\n bytes32[] sigS,\n bytes32 scriptHash,\n address[] destinations,\n uint256[]amounts\n )\n private\n returns (address)\n {\n\n require(\n sigR.length == sigS.length && sigR.length == sigV.length, \n \"R,S,V length mismatch.\"\n );\n\n address lastAddress;\n\n // Follows ERC191 signature scheme: https://github.com/ethereum/EIPs/issues/191\n bytes32 txHash = keccak256(\n abi.encodePacked(\n \"\\x19Ethereum Signed Message:\\n32\",\n keccak256(\n abi.encodePacked(\n byte(0x19),\n byte(0),\n this,\n destinations,\n amounts,\n scriptHash\n )\n )\n )\n );\n\n for (uint i = 0; i < sigR.length; i++) {\n\n address recovered = ecrecover(\n txHash,\n sigV[i],\n sigR[i],\n sigS[i]\n );\n\n require(\n transactions[scriptHash].isOwner[recovered], \n \"Invalid signature\"\n );\n require(\n !transactions[scriptHash].voted[recovered], \n \"Same signature sent twice\"\n );\n transactions[scriptHash].voted[recovered] = true;\n lastAddress = recovered;\n }\n\n return lastAddress;\n }\n\n function isTimeLockExpired(\n uint32 timeoutHours,\n uint256 lastModified\n )\n private\n view\n returns (bool)\n {\n uint256 timeSince = now.sub(lastModified);\n return (\n timeoutHours == 0 ? false:timeSince > uint256(timeoutHours).mul(3600)\n );\n }\n\n /**\n * Private method to add transaction to reduce code redundancy\n */\n function _addTransaction(\n address buyer,\n address seller,\n address moderator,\n uint8 threshold,\n uint32 timeoutHours,\n bytes32 scriptHash,\n uint256 value,\n bytes20 uniqueId,\n TransactionType transactionType,\n address tokenAddress\n )\n private\n { \n require(buyer != seller, \"Buyer and seller are same\");\n\n //value passed should be greater than 0\n require(value > 0, \"Value passed is 0\");\n\n // For now allowing 0 moderator to support 1-2 multisig wallet\n require(\n threshold > 0 && threshold <= 3, \n \"Threshold cannot be greater than 3 and must be greater than 0\"\n );\n\n //if threshold is 1 then moderator can be passed as zero address or any other address\n //(it won't matter apart from scripthash since we wont add moderator as one of the owner),\n //otherwise moderator should be a valid address\n require(\n threshold == 1 || moderator != address(0),\n \"Either threshold should be 1 or valid moderator address should be passed\"\n );\n\n require(\n scriptHash == calculateRedeemScriptHash(\n uniqueId,\n threshold,\n timeoutHours,\n buyer,\n seller,\n moderator,\n tokenAddress\n ), \n \"Calculated script hash does not match passed script hash.\"\n );\n\n transactions[scriptHash] = Transaction({\n buyer: buyer,\n seller: seller,\n moderator: moderator,\n value: value,\n status: Status.FUNDED,\n lastModified: block.timestamp,\n threshold: threshold,\n timeoutHours: timeoutHours,\n transactionType:transactionType,\n tokenAddress:tokenAddress\n });\n\n transactions[scriptHash].isOwner[seller] = true;\n transactions[scriptHash].isOwner[buyer] = true; \n\n //Check if buyer or seller are not passed as moderator\n require(\n !transactions[scriptHash].isOwner[moderator], \n \"Either buyer or seller is passed as moderator\"\n );\n\n //set moderator as one of the owners only if threshold is greater than 1 otherwise only buyer and seller should be able to release funds\n if (threshold > 1) {\n transactions[scriptHash].isOwner[moderator] = true;\n }\n \n\n transactionCount++;\n\n partyVsTransaction[buyer].push(scriptHash);\n partyVsTransaction[seller].push(scriptHash);\n }\n}\n", + "bytecode": "0x6080604052600060015534801561001557600080fd5b5061412a806100256000396000f3006080604052600436106100af576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806323b6fd3f146100b45780632d9ef96e1461016e57806346fbcdeb1461019257806357bced7614610287578063642f2eaf14610378578063b0550c66146104da578063b719e28014610543578063b77bf6001461057e578063be84ceaf146105a9578063e4ec8b0014610641578063f0786562146106ea575b600080fd5b61016c600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff169060200190929190803563ffffffff169060200190929190803560001916906020019092919080356bffffffffffffffffffffffff19169060200190929190505050610753565b005b61019060048036038101908080356000191690602001909291905050506109a7565b005b34801561019e57600080fd5b5061026960048036038101908080356bffffffffffffffffffffffff19169060200190929190803560ff169060200190929190803563ffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610e24565b60405180826000191660001916815260200191505060405180910390f35b34801561029357600080fd5b50610376600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff169060200190929190803563ffffffff16906020019092919080356000191690602001909291908035906020019092919080356bffffffffffffffffffffffff19169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506112d0565b005b34801561038457600080fd5b506103a760048036038101908080356000191690602001909291905050506117a5565b604051808b81526020018a81526020018960018111156103c357fe5b60ff1681526020018860018111156103d757fe5b60ff1681526020018760ff1660ff1681526020018663ffffffff1663ffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019a505050505050505050505060405180910390f35b3480156104e657600080fd5b506105296004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506118b0565b604051808215151515815260200191505060405180910390f35b34801561054f57600080fd5b5061057c600480360381019080803560001916906020019092919080359060200190929190505050611922565b005b34801561058a57600080fd5b50610593611ff2565b6040518082815260200191505060405180910390f35b3480156105b557600080fd5b506105ea600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611ff8565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b8381101561062d578082015181840152602081019050610612565b505050509050019250505060405180910390f35b34801561064d57600080fd5b506106e86004803603810190808035906020019082018035906020019190919293919293908035906020019082018035906020019190919293919293908035906020019082018035906020019190919293919293908035600019169060200190929190803590602001908201803590602001919091929391929390803590602001908201803590602001919091929391929390505050612093565b005b3480156106f657600080fd5b506107396004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506125ea565b604051808215151515815260200191505060405180910390f35b8160008060008360001916600019168152602001908152602001600020600001541415156107e9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f5472616e73616374696f6e20657869737400000000000000000000000000000081525060200191505060405180910390fd5b87600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561088f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b87600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610935576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b6109488a8a8a8a8a8a348b60008061265c565b3373ffffffffffffffffffffffffffffffffffffffff1685600019167fce7089d0668849fb9ca29778c0cbf1e764d9efb048d81fd71fb34c94f26db368346040518082815260200191505060405180910390a350505050505050505050565b80600080600083600019166000191681526020019081526020016000206000015414151515610a3e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737400000000000081525060200191505060405180910390fd5b8160006001811115610a4c57fe5b600080836000191660001916815260200190815260200160002060020160009054906101000a900460ff166001811115610a8257fe5b141515610b1d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001807f5472616e73616374696f6e206973206e6f7420696e2046554e4445442073746181526020017f746500000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b826000806001811115610b2c57fe5b600080846000191660001916815260200190815260200160002060020160019054906101000a900460ff166001811115610b6257fe5b141515610bd7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5472616e73616374696f6e207479706520646f6573206e6f74206d617463680081525060200191505060405180910390fd5b84600080826000191660001916815260200190815260200160002060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610cde576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f54686520696e69746961746f72206f6620746865207472616e73616374696f6e81526020017f206973206e6f742062757965720000000000000000000000000000000000000081525060400191505060405180910390fd5b600034111515610d56576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f56616c7565206d7573742062652067726561746572207468616e207a65726f2e81525060200191505060405180910390fd5b610d8634600080896000191660001916815260200190815260200160002060000154612fe890919063ffffffff16565b600080886000191660001916815260200190815260200160002060000181905550426000808860001916600019168152602001908152602001600020600101819055503373ffffffffffffffffffffffffffffffffffffffff1686600019167ff66fd2ae9e24a6a24b02e1b5b7512ffde5149a4176085fc0298ae228c9b9d729346040518082815260200191505060405180910390a3505050505050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611070578787878787873060405160200180886bffffffffffffffffffffffff19166bffffffffffffffffffffffff191681526014018760ff1660ff167f01000000000000000000000000000000000000000000000000000000000000000281526001018663ffffffff1663ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014019750505050505050506040516020818303038152906040526040518082805190602001908083835b60208310151561103c5780518252602082019150602081019050602083039250611017565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902090506112c5565b878787878787308860405160200180896bffffffffffffffffffffffff19166bffffffffffffffffffffffff191681526014018860ff1660ff167f01000000000000000000000000000000000000000000000000000000000000000281526001018763ffffffff1663ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401985050505050505050506040516020818303038152906040526040518082805190602001908083835b6020831015156112955780518252602082019150602081019050602083039250611270565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902090505b979650505050505050565b6000846000806000836000191660001916815260200190815260200160002060000154141515611368576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f5472616e73616374696f6e20657869737400000000000000000000000000000081525060200191505060405180910390fd5b8a600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561140e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b8a600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156114b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b84600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561155a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b61156d8e8e8e8e8e8e8e8e60018f61265c565b8594508473ffffffffffffffffffffffffffffffffffffffff166323b872dd33308b6040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b15801561164757600080fd5b505af115801561165b573d6000803e3d6000fd5b505050506040513d602081101561167157600080fd5b81019080805190602001909291905050501515611742576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252605d8152602001807f546f6b656e207472616e73666572206661696c65642c206d6179626520796f7581526020017f20646964206e6f7420617070726f766520657363726f7720636f6e747261637481526020017f20746f207370656e64206f6e20626568616c66206f662073656e64657200000081525060600191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff1689600019167fce7089d0668849fb9ca29778c0cbf1e764d9efb048d81fd71fb34c94f26db3688a6040518082815260200191505060405180910390a35050505050505050505050505050565b60006020528060005260406000206000915090508060000154908060010154908060020160009054906101000a900460ff16908060020160019054906101000a900460ff16908060020160029054906101000a900460ff16908060020160039054906101000a900463ffffffff16908060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060050160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508a565b6000806000846000191660001916815260200190815260200160002060080160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6000826000806000836000191660001916815260200190815260200160002060000154141515156119bb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737400000000000081525060200191505060405180910390fd5b83600060018111156119c957fe5b600080836000191660001916815260200190815260200160002060020160009054906101000a900460ff1660018111156119ff57fe5b141515611a9a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001807f5472616e73616374696f6e206973206e6f7420696e2046554e4445442073746181526020017f746500000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b846001806001811115611aa957fe5b600080846000191660001916815260200190815260200160002060020160019054906101000a900460ff166001811115611adf57fe5b141515611b54576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5472616e73616374696f6e207479706520646f6573206e6f74206d617463680081525060200191505060405180910390fd5b86600080826000191660001916815260200190815260200160002060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611c5b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f54686520696e69746961746f72206f6620746865207472616e73616374696f6e81526020017f206973206e6f742062757965720000000000000000000000000000000000000081525060400191505060405180910390fd5b600087111515611cd3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f56616c7565206d7573742062652067726561746572207468616e207a65726f2e81525060200191505060405180910390fd5b600080896000191660001916815260200190815260200160002060040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1695508573ffffffffffffffffffffffffffffffffffffffff166323b872dd6000808b6000191660001916815260200190815260200160002060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff16308a6040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b158015611e2757600080fd5b505af1158015611e3b573d6000803e3d6000fd5b505050506040513d6020811015611e5157600080fd5b81019080805190602001909291905050501515611f22576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252605c8152602001807f546f6b656e207472616e73666572206661696c65642c206d6179626520796f7581526020017f20646964206e6f7420617070726f766520657363726f7720636f6e747261637481526020017f20746f207370656e64206f6e20626568616c66206f662062757965720000000081525060600191505060405180910390fd5b611f52876000808b6000191660001916815260200190815260200160002060000154612fe890919063ffffffff16565b6000808a6000191660001916815260200190815260200160002060000181905550426000808a60001916600019168152602001908152602001600020600101819055503373ffffffffffffffffffffffffffffffffffffffff1688600019167ff66fd2ae9e24a6a24b02e1b5b7512ffde5149a4176085fc0298ae228c9b9d729896040518082815260200191505060405180910390a35050505050505050565b60015481565b6060600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080548060200260200160405190810160405280929190818152602001828054801561208757602002820191906000526020600020905b8154600019168152602001906001019080831161206f575b50505050509050919050565b8460008060008360001916600019168152602001908152602001600020600001541415151561212a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737400000000000081525060200191505060405180910390fd5b856000600181111561213857fe5b600080836000191660001916815260200190815260200160002060020160009054906101000a900460ff16600181111561216e57fe5b141515612209576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001807f5472616e73616374696f6e206973206e6f7420696e2046554e4445442073746181526020017f746500000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b60008686905011801561222157508383905086869050145b15156122bb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001807f4c656e677468206f662064657374696e6174696f6e7320697320696e636f727281526020017f6563742e0000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b6123b48d8d808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508c8c808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508b8b808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508a8a8a80806020026020016040519081016040528093929190818152602001838360200280828437820191505050505050898980806020026020016040519081016040528093929190818152602001838360200280828437820191505050505050613009565b6001600080896000191660001916815260200190815260200160002060020160006101000a81548160ff021916908360018111156123ee57fe5b02179055504260008089600019166000191681526020019081526020016000206001018190555060008088600019166000191681526020019081526020016000206000015461249c888888808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508787808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050506131ea565b14151561255d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260488152602001807f546f74616c2076616c756520746f2062652072656c6561736564206d7573742081526020017f626520657175616c20746f20746865207472616e73616374696f6e206573637281526020017f6f772076616c756500000000000000000000000000000000000000000000000081525060600191505060405180910390fd5b86600019167f688e2a1b34445bcd47b0e11ba2a9c8c4d850a1831b64199b59d1c70e29701545878787876040518080602001806020018381038352878782818152602001925060200280828437820191505083810382528585828181526020019250602002808284378201915050965050505050505060405180910390a250505050505050505050505050565b6000806000846000191660001916815260200190815260200160002060070160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b8873ffffffffffffffffffffffffffffffffffffffff168a73ffffffffffffffffffffffffffffffffffffffff1614151515612700576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f427579657220616e642073656c6c6572206172652073616d650000000000000081525060200191505060405180910390fd5b600084111515612778576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f56616c756520706173736564206973203000000000000000000000000000000081525060200191505060405180910390fd5b60008760ff1611801561278f575060038760ff1611155b1515612829576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603d8152602001807f5468726573686f6c642063616e6e6f742062652067726561746572207468616e81526020017f203320616e64206d7573742062652067726561746572207468616e203000000081525060400191505060405180910390fd5b60018760ff1614806128685750600073ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff1614155b1515612928576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260488152602001807f456974686572207468726573686f6c642073686f756c642062652031206f722081526020017f76616c6964206d6f64657261746f7220616464726573732073686f756c64206281526020017f652070617373656400000000000000000000000000000000000000000000000081525060600191505060405180910390fd5b6129378388888d8d8d87610e24565b6000191685600019161415156129db576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260398152602001807f43616c63756c6174656420736372697074206861736820646f6573206e6f742081526020017f6d61746368207061737365642073637269707420686173682e0000000000000081525060400191505060405180910390fd5b6101406040519081016040528085815260200142815260200160006001811115612a0157fe5b8152602001836001811115612a1257fe5b81526020018860ff1681526020018763ffffffff1681526020018b73ffffffffffffffffffffffffffffffffffffffff1681526020018a73ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020018973ffffffffffffffffffffffffffffffffffffffff168152506000808760001916600019168152602001908152602001600020600082015181600001556020820151816001015560408201518160020160006101000a81548160ff02191690836001811115612aec57fe5b021790555060608201518160020160016101000a81548160ff02191690836001811115612b1557fe5b021790555060808201518160020160026101000a81548160ff021916908360ff16021790555060a08201518160020160036101000a81548163ffffffff021916908363ffffffff16021790555060c08201518160020160076101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060e08201518160030160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506101008201518160040160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506101208201518160050160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055509050506001600080876000191660001916815260200190815260200160002060060160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600080876000191660001916815260200190815260200160002060060160008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600080866000191660001916815260200190815260200160002060060160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151515612e6c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f456974686572206275796572206f722073656c6c65722069732070617373656481526020017f206173206d6f64657261746f720000000000000000000000000000000000000081525060400191505060405180910390fd5b60018760ff161115612eec576001600080876000191660001916815260200190815260200160002060060160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b600160008154809291906001019190505550600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020859080600181540180825580915050906001820390600052602060002001600090919290919091509060001916905550600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002085908060018154018082558091505090600182039060005260206000200160009091929091909150906000191690555050505050505050505050565b6000808284019050838110151515612fff57600080fd5b8091505092915050565b60008061301a8888888888886139d2565b9150613070600080876000191660001916815260200190815260200160002060020160039054906101000a900463ffffffff1660008088600019166000191681526020019081526020016000206001015461404b565b9050600080866000191660001916815260200190815260200160002060020160029054906101000a900460ff1660ff16885110801561312157508015806131205750600080866000191660001916815260200190815260200160002060030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b5b156131e0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260588152602001807f4d696e696d756d206e756d626572206f66207369676e6174757265732061726581526020017f206e6f7420636f6c6c656374656420616e642074696d65206c6f636b2065787081526020017f69727920636f6e646974696f6e73206e6f74206d65742121000000000000000081525060600191505060405180910390fd5b5050505050505050565b6000806000806000806000808a600019166000191681526020019081526020016000209450600093506000600181111561322057fe5b8560020160019054906101000a900460ff16600181111561323d57fe5b141561355457600092505b875183101561354f57600073ffffffffffffffffffffffffffffffffffffffff16888481518110151561327757fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1614158015613307575084600601600089858151811015156132b457fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b151561337b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f4e6f7420612076616c69642064657374696e6174696f6e00000000000000000081525060200191505060405180910390fd5b6000878481518110151561338b57fe5b90602001906020020151111515613430576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001807f416d6f756e7420746f2062652073656e742073686f756c64206265206772656181526020017f746572207468616e20300000000000000000000000000000000000000000000081525060400191505060405180910390fd5b61345a878481518110151561344157fe5b9060200190602002015185612fe890919063ffffffff16565b935060018560080160008a8681518110151561347257fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555087838151811015156134db57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff166108fc888581518110151561350c57fe5b906020019060200201519081150290604051600060405180830381858888f19350505050158015613541573d6000803e3d6000fd5b508280600101935050613248565b6139c3565b60018081111561356057fe5b8560020160019054906101000a900460ff16600181111561357d57fe5b14156139c2578460040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169150600090505b87518110156139c157600073ffffffffffffffffffffffffffffffffffffffff1688828151811015156135de57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff161415801561366e5750846006016000898381518110151561361b57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15156136e2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f4e6f7420612076616c69642064657374696e6174696f6e00000000000000000081525060200191505060405180910390fd5b600087828151811015156136f257fe5b90602001906020020151111515613797576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001807f416d6f756e7420746f2062652073656e742073686f756c64206265206772656181526020017f746572207468616e20300000000000000000000000000000000000000000000081525060400191505060405180910390fd5b6137c187828151811015156137a857fe5b9060200190602002015185612fe890919063ffffffff16565b935060018560080160008a848151811015156137d957fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb898381518110151561385e57fe5b90602001906020020151898481518110151561387657fe5b906020019060200201516040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15801561390557600080fd5b505af1158015613919573d6000803e3d6000fd5b505050506040513d602081101561392f57600080fd5b810190808051906020019092919050505015156139b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f546f6b656e207472616e73666572206661696c65642e0000000000000000000081525060200191505060405180910390fd5b80806001019150506135af565b5b5b83955050505050509392505050565b600080600080600088518a511480156139ec57508a518a51145b1515613a60576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f522c532c56206c656e677468206d69736d617463682e0000000000000000000081525060200191505060405180910390fd5b60197f01000000000000000000000000000000000000000000000000000000000000000260007f0100000000000000000000000000000000000000000000000000000000000000023089898c60405160200180877effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168152600101867effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526001018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401848051906020019060200280838360005b83811015613bb4578082015181840152602081019050613b99565b50505050905001838051906020019060200280838360005b83811015613be7578082015181840152602081019050613bcc565b50505050905001826000191660001916815260200196505050505050506040516020818303038152906040526040518082805190602001908083835b602083101515613c485780518252602082019150602081019050602083039250613c23565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902060405160200180807f19457468657265756d205369676e6564204d6573736167653a0a333200000000815250601c0182600019166000191681526020019150506040516020818303038152906040526040518082805190602001908083835b602083101515613cf95780518252602082019150602081019050602083039250613cd4565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390209250600091505b895182101561403a576001838c84815181101515613d4757fe5b906020019060200201518c85815181101515613d5f57fe5b906020019060200201518c86815181101515613d7757fe5b90602001906020020151604051600081526020016040526040518085600019166000191681526020018460ff1660ff1681526020018360001916600019168152602001826000191660001916815260200194505050505060206040516020810390808403906000865af1158015613df2573d6000803e3d6000fd5b505050602060405103519050600080896000191660001916815260200190815260200160002060060160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515613eda576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f496e76616c6964207369676e617475726500000000000000000000000000000081525060200191505060405180910390fd5b600080896000191660001916815260200190815260200160002060070160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151515613fb7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f53616d65207369676e61747572652073656e742074776963650000000000000081525060200191505060405180910390fd5b60016000808a6000191660001916815260200190815260200160002060070160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508093508180600101925050613d2d565b839450505050509695505050505050565b600080614061834261409f90919063ffffffff16565b905060008463ffffffff16146140935761408c610e108563ffffffff166140c090919063ffffffff16565b8111614096565b60005b91505092915050565b6000808383111515156140b157600080fd5b82840390508091505092915050565b60008060008414156140d557600091506140f7565b82840290508284828115156140e657fe5b041415156140f357600080fd5b8091505b50929150505600a165627a7a7230582033b813557bb5fa9684290196cb5c522bdfd57ca955963794c2cbeb547a7e62dc0029", + "deployedBytecode": "0x6080604052600436106100af576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806323b6fd3f146100b45780632d9ef96e1461016e57806346fbcdeb1461019257806357bced7614610287578063642f2eaf14610378578063b0550c66146104da578063b719e28014610543578063b77bf6001461057e578063be84ceaf146105a9578063e4ec8b0014610641578063f0786562146106ea575b600080fd5b61016c600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff169060200190929190803563ffffffff169060200190929190803560001916906020019092919080356bffffffffffffffffffffffff19169060200190929190505050610753565b005b61019060048036038101908080356000191690602001909291905050506109a7565b005b34801561019e57600080fd5b5061026960048036038101908080356bffffffffffffffffffffffff19169060200190929190803560ff169060200190929190803563ffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610e24565b60405180826000191660001916815260200191505060405180910390f35b34801561029357600080fd5b50610376600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff169060200190929190803563ffffffff16906020019092919080356000191690602001909291908035906020019092919080356bffffffffffffffffffffffff19169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506112d0565b005b34801561038457600080fd5b506103a760048036038101908080356000191690602001909291905050506117a5565b604051808b81526020018a81526020018960018111156103c357fe5b60ff1681526020018860018111156103d757fe5b60ff1681526020018760ff1660ff1681526020018663ffffffff1663ffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019a505050505050505050505060405180910390f35b3480156104e657600080fd5b506105296004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506118b0565b604051808215151515815260200191505060405180910390f35b34801561054f57600080fd5b5061057c600480360381019080803560001916906020019092919080359060200190929190505050611922565b005b34801561058a57600080fd5b50610593611ff2565b6040518082815260200191505060405180910390f35b3480156105b557600080fd5b506105ea600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611ff8565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b8381101561062d578082015181840152602081019050610612565b505050509050019250505060405180910390f35b34801561064d57600080fd5b506106e86004803603810190808035906020019082018035906020019190919293919293908035906020019082018035906020019190919293919293908035906020019082018035906020019190919293919293908035600019169060200190929190803590602001908201803590602001919091929391929390803590602001908201803590602001919091929391929390505050612093565b005b3480156106f657600080fd5b506107396004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506125ea565b604051808215151515815260200191505060405180910390f35b8160008060008360001916600019168152602001908152602001600020600001541415156107e9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f5472616e73616374696f6e20657869737400000000000000000000000000000081525060200191505060405180910390fd5b87600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561088f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b87600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610935576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b6109488a8a8a8a8a8a348b60008061265c565b3373ffffffffffffffffffffffffffffffffffffffff1685600019167fce7089d0668849fb9ca29778c0cbf1e764d9efb048d81fd71fb34c94f26db368346040518082815260200191505060405180910390a350505050505050505050565b80600080600083600019166000191681526020019081526020016000206000015414151515610a3e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737400000000000081525060200191505060405180910390fd5b8160006001811115610a4c57fe5b600080836000191660001916815260200190815260200160002060020160009054906101000a900460ff166001811115610a8257fe5b141515610b1d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001807f5472616e73616374696f6e206973206e6f7420696e2046554e4445442073746181526020017f746500000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b826000806001811115610b2c57fe5b600080846000191660001916815260200190815260200160002060020160019054906101000a900460ff166001811115610b6257fe5b141515610bd7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5472616e73616374696f6e207479706520646f6573206e6f74206d617463680081525060200191505060405180910390fd5b84600080826000191660001916815260200190815260200160002060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610cde576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f54686520696e69746961746f72206f6620746865207472616e73616374696f6e81526020017f206973206e6f742062757965720000000000000000000000000000000000000081525060400191505060405180910390fd5b600034111515610d56576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f56616c7565206d7573742062652067726561746572207468616e207a65726f2e81525060200191505060405180910390fd5b610d8634600080896000191660001916815260200190815260200160002060000154612fe890919063ffffffff16565b600080886000191660001916815260200190815260200160002060000181905550426000808860001916600019168152602001908152602001600020600101819055503373ffffffffffffffffffffffffffffffffffffffff1686600019167ff66fd2ae9e24a6a24b02e1b5b7512ffde5149a4176085fc0298ae228c9b9d729346040518082815260200191505060405180910390a3505050505050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611070578787878787873060405160200180886bffffffffffffffffffffffff19166bffffffffffffffffffffffff191681526014018760ff1660ff167f01000000000000000000000000000000000000000000000000000000000000000281526001018663ffffffff1663ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014019750505050505050506040516020818303038152906040526040518082805190602001908083835b60208310151561103c5780518252602082019150602081019050602083039250611017565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902090506112c5565b878787878787308860405160200180896bffffffffffffffffffffffff19166bffffffffffffffffffffffff191681526014018860ff1660ff167f01000000000000000000000000000000000000000000000000000000000000000281526001018763ffffffff1663ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401985050505050505050506040516020818303038152906040526040518082805190602001908083835b6020831015156112955780518252602082019150602081019050602083039250611270565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902090505b979650505050505050565b6000846000806000836000191660001916815260200190815260200160002060000154141515611368576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f5472616e73616374696f6e20657869737400000000000000000000000000000081525060200191505060405180910390fd5b8a600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561140e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b8a600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156114b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b84600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561155a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b61156d8e8e8e8e8e8e8e8e60018f61265c565b8594508473ffffffffffffffffffffffffffffffffffffffff166323b872dd33308b6040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b15801561164757600080fd5b505af115801561165b573d6000803e3d6000fd5b505050506040513d602081101561167157600080fd5b81019080805190602001909291905050501515611742576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252605d8152602001807f546f6b656e207472616e73666572206661696c65642c206d6179626520796f7581526020017f20646964206e6f7420617070726f766520657363726f7720636f6e747261637481526020017f20746f207370656e64206f6e20626568616c66206f662073656e64657200000081525060600191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff1689600019167fce7089d0668849fb9ca29778c0cbf1e764d9efb048d81fd71fb34c94f26db3688a6040518082815260200191505060405180910390a35050505050505050505050505050565b60006020528060005260406000206000915090508060000154908060010154908060020160009054906101000a900460ff16908060020160019054906101000a900460ff16908060020160029054906101000a900460ff16908060020160039054906101000a900463ffffffff16908060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060050160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508a565b6000806000846000191660001916815260200190815260200160002060080160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6000826000806000836000191660001916815260200190815260200160002060000154141515156119bb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737400000000000081525060200191505060405180910390fd5b83600060018111156119c957fe5b600080836000191660001916815260200190815260200160002060020160009054906101000a900460ff1660018111156119ff57fe5b141515611a9a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001807f5472616e73616374696f6e206973206e6f7420696e2046554e4445442073746181526020017f746500000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b846001806001811115611aa957fe5b600080846000191660001916815260200190815260200160002060020160019054906101000a900460ff166001811115611adf57fe5b141515611b54576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5472616e73616374696f6e207479706520646f6573206e6f74206d617463680081525060200191505060405180910390fd5b86600080826000191660001916815260200190815260200160002060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611c5b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f54686520696e69746961746f72206f6620746865207472616e73616374696f6e81526020017f206973206e6f742062757965720000000000000000000000000000000000000081525060400191505060405180910390fd5b600087111515611cd3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f56616c7565206d7573742062652067726561746572207468616e207a65726f2e81525060200191505060405180910390fd5b600080896000191660001916815260200190815260200160002060040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1695508573ffffffffffffffffffffffffffffffffffffffff166323b872dd6000808b6000191660001916815260200190815260200160002060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff16308a6040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b158015611e2757600080fd5b505af1158015611e3b573d6000803e3d6000fd5b505050506040513d6020811015611e5157600080fd5b81019080805190602001909291905050501515611f22576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252605c8152602001807f546f6b656e207472616e73666572206661696c65642c206d6179626520796f7581526020017f20646964206e6f7420617070726f766520657363726f7720636f6e747261637481526020017f20746f207370656e64206f6e20626568616c66206f662062757965720000000081525060600191505060405180910390fd5b611f52876000808b6000191660001916815260200190815260200160002060000154612fe890919063ffffffff16565b6000808a6000191660001916815260200190815260200160002060000181905550426000808a60001916600019168152602001908152602001600020600101819055503373ffffffffffffffffffffffffffffffffffffffff1688600019167ff66fd2ae9e24a6a24b02e1b5b7512ffde5149a4176085fc0298ae228c9b9d729896040518082815260200191505060405180910390a35050505050505050565b60015481565b6060600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080548060200260200160405190810160405280929190818152602001828054801561208757602002820191906000526020600020905b8154600019168152602001906001019080831161206f575b50505050509050919050565b8460008060008360001916600019168152602001908152602001600020600001541415151561212a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737400000000000081525060200191505060405180910390fd5b856000600181111561213857fe5b600080836000191660001916815260200190815260200160002060020160009054906101000a900460ff16600181111561216e57fe5b141515612209576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001807f5472616e73616374696f6e206973206e6f7420696e2046554e4445442073746181526020017f746500000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b60008686905011801561222157508383905086869050145b15156122bb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001807f4c656e677468206f662064657374696e6174696f6e7320697320696e636f727281526020017f6563742e0000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b6123b48d8d808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508c8c808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508b8b808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508a8a8a80806020026020016040519081016040528093929190818152602001838360200280828437820191505050505050898980806020026020016040519081016040528093929190818152602001838360200280828437820191505050505050613009565b6001600080896000191660001916815260200190815260200160002060020160006101000a81548160ff021916908360018111156123ee57fe5b02179055504260008089600019166000191681526020019081526020016000206001018190555060008088600019166000191681526020019081526020016000206000015461249c888888808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508787808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050506131ea565b14151561255d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260488152602001807f546f74616c2076616c756520746f2062652072656c6561736564206d7573742081526020017f626520657175616c20746f20746865207472616e73616374696f6e206573637281526020017f6f772076616c756500000000000000000000000000000000000000000000000081525060600191505060405180910390fd5b86600019167f688e2a1b34445bcd47b0e11ba2a9c8c4d850a1831b64199b59d1c70e29701545878787876040518080602001806020018381038352878782818152602001925060200280828437820191505083810382528585828181526020019250602002808284378201915050965050505050505060405180910390a250505050505050505050505050565b6000806000846000191660001916815260200190815260200160002060070160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b8873ffffffffffffffffffffffffffffffffffffffff168a73ffffffffffffffffffffffffffffffffffffffff1614151515612700576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f427579657220616e642073656c6c6572206172652073616d650000000000000081525060200191505060405180910390fd5b600084111515612778576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f56616c756520706173736564206973203000000000000000000000000000000081525060200191505060405180910390fd5b60008760ff1611801561278f575060038760ff1611155b1515612829576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603d8152602001807f5468726573686f6c642063616e6e6f742062652067726561746572207468616e81526020017f203320616e64206d7573742062652067726561746572207468616e203000000081525060400191505060405180910390fd5b60018760ff1614806128685750600073ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff1614155b1515612928576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260488152602001807f456974686572207468726573686f6c642073686f756c642062652031206f722081526020017f76616c6964206d6f64657261746f7220616464726573732073686f756c64206281526020017f652070617373656400000000000000000000000000000000000000000000000081525060600191505060405180910390fd5b6129378388888d8d8d87610e24565b6000191685600019161415156129db576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260398152602001807f43616c63756c6174656420736372697074206861736820646f6573206e6f742081526020017f6d61746368207061737365642073637269707420686173682e0000000000000081525060400191505060405180910390fd5b6101406040519081016040528085815260200142815260200160006001811115612a0157fe5b8152602001836001811115612a1257fe5b81526020018860ff1681526020018763ffffffff1681526020018b73ffffffffffffffffffffffffffffffffffffffff1681526020018a73ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020018973ffffffffffffffffffffffffffffffffffffffff168152506000808760001916600019168152602001908152602001600020600082015181600001556020820151816001015560408201518160020160006101000a81548160ff02191690836001811115612aec57fe5b021790555060608201518160020160016101000a81548160ff02191690836001811115612b1557fe5b021790555060808201518160020160026101000a81548160ff021916908360ff16021790555060a08201518160020160036101000a81548163ffffffff021916908363ffffffff16021790555060c08201518160020160076101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060e08201518160030160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506101008201518160040160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506101208201518160050160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055509050506001600080876000191660001916815260200190815260200160002060060160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600080876000191660001916815260200190815260200160002060060160008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600080866000191660001916815260200190815260200160002060060160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151515612e6c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f456974686572206275796572206f722073656c6c65722069732070617373656481526020017f206173206d6f64657261746f720000000000000000000000000000000000000081525060400191505060405180910390fd5b60018760ff161115612eec576001600080876000191660001916815260200190815260200160002060060160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b600160008154809291906001019190505550600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020859080600181540180825580915050906001820390600052602060002001600090919290919091509060001916905550600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002085908060018154018082558091505090600182039060005260206000200160009091929091909150906000191690555050505050505050505050565b6000808284019050838110151515612fff57600080fd5b8091505092915050565b60008061301a8888888888886139d2565b9150613070600080876000191660001916815260200190815260200160002060020160039054906101000a900463ffffffff1660008088600019166000191681526020019081526020016000206001015461404b565b9050600080866000191660001916815260200190815260200160002060020160029054906101000a900460ff1660ff16885110801561312157508015806131205750600080866000191660001916815260200190815260200160002060030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b5b156131e0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260588152602001807f4d696e696d756d206e756d626572206f66207369676e6174757265732061726581526020017f206e6f7420636f6c6c656374656420616e642074696d65206c6f636b2065787081526020017f69727920636f6e646974696f6e73206e6f74206d65742121000000000000000081525060600191505060405180910390fd5b5050505050505050565b6000806000806000806000808a600019166000191681526020019081526020016000209450600093506000600181111561322057fe5b8560020160019054906101000a900460ff16600181111561323d57fe5b141561355457600092505b875183101561354f57600073ffffffffffffffffffffffffffffffffffffffff16888481518110151561327757fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1614158015613307575084600601600089858151811015156132b457fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b151561337b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f4e6f7420612076616c69642064657374696e6174696f6e00000000000000000081525060200191505060405180910390fd5b6000878481518110151561338b57fe5b90602001906020020151111515613430576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001807f416d6f756e7420746f2062652073656e742073686f756c64206265206772656181526020017f746572207468616e20300000000000000000000000000000000000000000000081525060400191505060405180910390fd5b61345a878481518110151561344157fe5b9060200190602002015185612fe890919063ffffffff16565b935060018560080160008a8681518110151561347257fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555087838151811015156134db57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff166108fc888581518110151561350c57fe5b906020019060200201519081150290604051600060405180830381858888f19350505050158015613541573d6000803e3d6000fd5b508280600101935050613248565b6139c3565b60018081111561356057fe5b8560020160019054906101000a900460ff16600181111561357d57fe5b14156139c2578460040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169150600090505b87518110156139c157600073ffffffffffffffffffffffffffffffffffffffff1688828151811015156135de57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff161415801561366e5750846006016000898381518110151561361b57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15156136e2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f4e6f7420612076616c69642064657374696e6174696f6e00000000000000000081525060200191505060405180910390fd5b600087828151811015156136f257fe5b90602001906020020151111515613797576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001807f416d6f756e7420746f2062652073656e742073686f756c64206265206772656181526020017f746572207468616e20300000000000000000000000000000000000000000000081525060400191505060405180910390fd5b6137c187828151811015156137a857fe5b9060200190602002015185612fe890919063ffffffff16565b935060018560080160008a848151811015156137d957fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb898381518110151561385e57fe5b90602001906020020151898481518110151561387657fe5b906020019060200201516040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15801561390557600080fd5b505af1158015613919573d6000803e3d6000fd5b505050506040513d602081101561392f57600080fd5b810190808051906020019092919050505015156139b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f546f6b656e207472616e73666572206661696c65642e0000000000000000000081525060200191505060405180910390fd5b80806001019150506135af565b5b5b83955050505050509392505050565b600080600080600088518a511480156139ec57508a518a51145b1515613a60576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f522c532c56206c656e677468206d69736d617463682e0000000000000000000081525060200191505060405180910390fd5b60197f01000000000000000000000000000000000000000000000000000000000000000260007f0100000000000000000000000000000000000000000000000000000000000000023089898c60405160200180877effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168152600101867effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526001018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401848051906020019060200280838360005b83811015613bb4578082015181840152602081019050613b99565b50505050905001838051906020019060200280838360005b83811015613be7578082015181840152602081019050613bcc565b50505050905001826000191660001916815260200196505050505050506040516020818303038152906040526040518082805190602001908083835b602083101515613c485780518252602082019150602081019050602083039250613c23565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902060405160200180807f19457468657265756d205369676e6564204d6573736167653a0a333200000000815250601c0182600019166000191681526020019150506040516020818303038152906040526040518082805190602001908083835b602083101515613cf95780518252602082019150602081019050602083039250613cd4565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390209250600091505b895182101561403a576001838c84815181101515613d4757fe5b906020019060200201518c85815181101515613d5f57fe5b906020019060200201518c86815181101515613d7757fe5b90602001906020020151604051600081526020016040526040518085600019166000191681526020018460ff1660ff1681526020018360001916600019168152602001826000191660001916815260200194505050505060206040516020810390808403906000865af1158015613df2573d6000803e3d6000fd5b505050602060405103519050600080896000191660001916815260200190815260200160002060060160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515613eda576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f496e76616c6964207369676e617475726500000000000000000000000000000081525060200191505060405180910390fd5b600080896000191660001916815260200190815260200160002060070160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151515613fb7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f53616d65207369676e61747572652073656e742074776963650000000000000081525060200191505060405180910390fd5b60016000808a6000191660001916815260200190815260200160002060070160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508093508180600101925050613d2d565b839450505050509695505050505050565b600080614061834261409f90919063ffffffff16565b905060008463ffffffff16146140935761408c610e108563ffffffff166140c090919063ffffffff16565b8111614096565b60005b91505092915050565b6000808383111515156140b157600080fd5b82840390508091505092915050565b60008060008414156140d557600091506140f7565b82840290508284828115156140e657fe5b041415156140f357600080fd5b8091505b50929150505600a165627a7a7230582033b813557bb5fa9684290196cb5c522bdfd57ca955963794c2cbeb547a7e62dc0029", + "sourceMap": "460:20100:0:-;;;1653:1;1619:35;;460:20100;8:9:-1;5:2;;;30:1;27;20:12;5:2;460:20100:0;;;;;;;", + "deployedSourceMap": "460:20100:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3702:701;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7581:579;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11820:999;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11820:999:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5337:1021;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5337:1021:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1561:51;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1561:51:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6599:221;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6599:221:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8488:888;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8488:888:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1619:35;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1619:35:0;;;;;;;;;;;;;;;;;;;;;;;9493:194;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9493:194:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;9493:194:0;;;;;;;;;;;;;;;;;10285:1064;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10285:1064:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7060:194;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7060:194:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3702:701;3979:10;2077:1;2043:12;:24;2056:10;2043:24;;;;;;;;;;;;;;;;;:30;;;:35;2035:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4014:5;2410:1;2384:28;;:14;:28;;;;2376:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4044:6;2410:1;2384:28;;:14;:28;;;;2376:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4066:264;4095:5;4114:6;4134:9;4157;4180:12;4206:10;4230:9;4253:8;4275:21;4318:1;4066:15;:264::i;:::-;4373:10;4354:41;;4361:10;4354:41;;;;4385:9;4354:41;;;;;;;;;;;;;;;;;;2446:1;2110;3702:701;;;;;;;;:::o;7581:579::-;7704:10;1907:1;1873:12;:24;1886:10;1873:24;;;;;;;;;;;;;;;;;:30;;;:35;;1852:96;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7738:10;2233:13;2198:48;;;;;;;;:12;:24;2211:10;2198:24;;;;;;;;;;;;;;;;;:31;;;;;;;;;;;;:48;;;;;;;;;2177:117;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7779:10;7791:21;2644:15;2600:59;;;;;;;;:12;:24;2613:10;2600:24;;;;;;;;;;;;;;;;;:40;;;;;;;;;;;;:59;;;;;;;;;2579:125;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7832:10;2812:12;:24;2825:10;2812:24;;;;;;;;;;;;;;;;;:30;;;;;;;;;;;;2798:44;;:10;:44;;;2777:124;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7888:1;7876:9;:13;7868:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7970;8018:9;7970:12;:24;7983:10;7970:24;;;;;;;;;;;;;;;;;:30;;;:47;;:58;;;;:::i;:::-;7937:12;:24;7950:10;7937:24;;;;;;;;;;;;;;;;;:30;;:91;;;;8078:15;8038:12;:24;8051:10;8038:24;;;;;;;;;;;;;;;;;:37;;:55;;;;8131:10;8109:44;;8119:10;8109:44;;;;8143:9;8109:44;;;;;;;;;;;;;;;;;;2714:1;2304;;1958;7581:579;;:::o;11820:999::-;12090:7;12141:1;12117:26;;:12;:26;;;12113:700;;;12231:8;12261:9;12292:12;12326:5;12353:6;12381:9;12412:4;12193:241;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;12193:241:0;;;12166:282;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;12166:282:0;;;;;;;;;;;;;;;;12159:289;;;;12113:700;12551:8;12581:9;12612:12;12646:5;12673:6;12701:9;12732:4;12758:12;12513:275;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;12513:275:0;;;12486:316;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;12486:316:0;;;;;;;;;;;;;;;;12479:323;;11820:999;;;;;;;;;;:::o;5337:1021::-;6054:20;5656:10;2077:1;2043:12;:24;2056:10;2043:24;;;;;;;;;;;;;;;;;:30;;;:35;2035:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5691:5;2410:1;2384:28;;:14;:28;;;;2376:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5721:6;2410:1;2384:28;;:14;:28;;;;2376:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5752:12;2410:1;2384:28;;:14;:28;;;;2376:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5781:262;5810:5;5829:6;5849:9;5872;5895:12;5921:10;5945:5;5964:8;5986:21;6021:12;5781:15;:262::i;:::-;6092:12;6054:51;;6137:5;:18;;;6156:10;6168:4;6174:5;6137:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6137:43:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6137:43:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6137:43:0;;;;;;;;;;;;;;;;6116:183;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6333:10;6314:37;;6321:10;6314:37;;;;6345:5;6314:37;;;;;;;;;;;;;;;;;;2446:1;;2110;5337:1021;;;;;;;;;;;:::o;1561:51::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;6599:221::-;6735:4;6762:12;:24;6775:10;6762:24;;;;;;;;;;;;;;;;;:38;;:51;6801:11;6762:51;;;;;;;;;;;;;;;;;;;;;;;;;6755:58;;6599:221;;;;:::o;8488:888::-;8839:20;8619:10;1907:1;1873:12;:24;1886:10;1873:24;;;;;;;;;;;;;;;;;:30;;;:35;;1852:96;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8653:10;2233:13;2198:48;;;;;;;;:12;:24;2211:10;2198:24;;;;;;;;;;;;;;;;;:31;;;;;;;;;;;;:48;;;;;;;;;2177:117;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8694:10;8706:21;2644:15;2600:59;;;;;;;;:12;:24;2613:10;2600:24;;;;;;;;;;;;;;;;;:40;;;;;;;;;;;;:59;;;;;;;;;2579:125;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8747:10;2812:12;:24;2825:10;2812:24;;;;;;;;;;;;;;;;;:30;;;;;;;;;;;;2798:44;;:10;:44;;;2777:124;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8790:1;8782:5;:9;8774:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8890:12;:24;8903:10;8890:24;;;;;;;;;;;;;;;;;:37;;;;;;;;;;;;8839:98;;8969:5;:18;;;8988:12;:24;9001:10;8988:24;;;;;;;;;;;;;;;;;:30;;;;;;;;;;;;9020:4;9026:5;8969:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8969:63:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;8969:63:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;8969:63:0;;;;;;;;;;;;;;;;8948:202;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9194:54;9242:5;9194:12;:24;9207:10;9194:24;;;;;;;;;;;;;;;;;:30;;;:47;;:54;;;;:::i;:::-;9161:12;:24;9174:10;9161:24;;;;;;;;;;;;;;;;;:30;;:87;;;;9298:15;9258:12;:24;9271:10;9258:24;;;;;;;;;;;;;;;;;:37;;:55;;;;9351:10;9329:40;;9339:10;9329:40;;;;9363:5;9329:40;;;;;;;;;;;;;;;;;;2714:1;2304;;1958;8488:888;;;;:::o;1619:35::-;;;;:::o;9493:194::-;9615:9;9648:18;:32;9667:12;9648:32;;;;;;;;;;;;;;;9641:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9493:194;;;:::o;10285:1064::-;10507:10;1907:1;1873:12;:24;1886:10;1873:24;;;;;;;;;;;;;;;;;:30;;;:35;;1852:96;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10541:10;2233:13;2198:48;;;;;;;;:12;:24;2211:10;2198:24;;;;;;;;;;;;;;;;;:31;;;;;;;;;;;;:48;;;;;;;;;2177:117;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10608:1;10588:12;;:19;;:21;:62;;;;;10636:7;;:14;;10613:12;;:19;;:37;10588:62;10567:133;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10711:153;10743:4;;10711:153;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10761:4;;10711:153;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10779:4;;10711:153;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10797:10;10821:12;;10711:153;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10847:7;;10711:153;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:18;:153::i;:::-;10909:15;10875:12;:24;10888:10;10875:24;;;;;;;;;;;;;;;;;:31;;;:49;;;;;;;;;;;;;;;;;;;;;;;;11048:15;11008:12;:24;11021:10;11008:24;;;;;;;;;;;;;;;;;:37;;:55;;;;11147:12;:24;11160:10;11147:24;;;;;;;;;;;;;;;;;:30;;;11094:49;11109:10;11121:12;;11094:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11135:7;;11094:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:14;:49::i;:::-;:83;11073:202;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11308:10;11299:43;;;;11320:12;;11334:7;;11299:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1958:1;10285:1064;;;;;;;;;;;;:::o;7060:194::-;7183:4;7210:12;:24;7223:10;7210:24;;;;;;;;;;;;;;;;;:30;;:37;7241:5;7210:37;;;;;;;;;;;;;;;;;;;;;;;;;7203:44;;7060:194;;;;:::o;17917:2641::-;18279:6;18270:15;;:5;:15;;;;18262:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18390:1;18382:5;:9;18374:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18528:1;18516:9;:13;;;:31;;;;;18546:1;18533:9;:14;;;;18516:31;18495:140;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18929:1;18916:9;:14;;;:41;;;;18955:1;18934:23;;:9;:23;;;;18916:41;18895:160;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19101:226;19144:8;19170:9;19197:12;19227:5;19250:6;19274:9;19301:12;19101:25;:226::i;:::-;19087:240;;;:10;:240;;;;19066:345;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19449:373;;;;;;;;;19570:5;19449:373;;;;19638:15;19449:373;;;;19597:13;19449:373;;;;;;;;;;;;19757:15;19449:373;;;;;;;;;;;;19678:9;19449:373;;;;;;19715:12;19449:373;;;;;;19482:5;19449:373;;;;;;19509:6;19449:373;;;;;;19799:12;19449:373;;;;;;19540:9;19449:373;;;;;19422:12;:24;19435:10;19422:24;;;;;;;;;;;;;;;;;:400;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19876:4;19833:12;:24;19846:10;19833:24;;;;;;;;;;;;;;;;;:32;;:40;19866:6;19833:40;;;;;;;;;;;;;;;;:47;;;;;;;;;;;;;;;;;;19932:4;19890:12;:24;19903:10;19890:24;;;;;;;;;;;;;;;;;:32;;:39;19923:5;19890:39;;;;;;;;;;;;;;;;:46;;;;;;;;;;;;;;;;;;20044:12;:24;20057:10;20044:24;;;;;;;;;;;;;;;;;:32;;:43;20077:9;20044:43;;;;;;;;;;;;;;;;;;;;;;;;;20043:44;20022:137;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20331:1;20319:9;:13;;;20315:94;;;20394:4;20348:12;:24;20361:10;20348:24;;;;;;;;;;;;;;;;;:32;;:43;20381:9;20348:43;;;;;;;;;;;;;;;;:50;;;;;;;;;;;;;;;;;;20315:94;20427:16;;:18;;;;;;;;;;;;;20456;:25;20475:5;20456:25;;;;;;;;;;;;;;;20487:10;20456:42;;39:1:-1;33:3;27:10;23:18;57:10;52:3;45:23;79:10;72:17;;0:93;20456:42:0;;;;;;;;;;;;;;;;;;;;;;;;;;;20508:18;:26;20527:6;20508:26;;;;;;;;;;;;;;;20540:10;20508:43;;39:1:-1;33:3;27:10;23:18;57:10;52:3;45:23;79:10;72:17;;0:93;20508:43:0;;;;;;;;;;;;;;;;;;;;;;;;;;;17917:2641;;;;;;;;;;:::o;1272:131:2:-;1330:7;1345:9;1361:1;1357;:5;1345:17;;1381:1;1376;:6;;1368:15;;;;;;;;1397:1;1390:8;;1272:131;;;;;:::o;13093:1008:0:-;13314:21;13501:20;13338:152;13369:4;13387;13405;13423:10;13447:12;13473:7;13338:17;:152::i;:::-;13314:176;;13524:130;13556:12;:24;13569:10;13556:24;;;;;;;;;;;;;;;;;:37;;;;;;;;;;;;13607:12;:24;13620:10;13607:24;;;;;;;;;;;;;;;;;:37;;;13524:18;:130::i;:::-;13501:153;;13840:12;:24;13853:10;13840:24;;;;;;;;;;;;;;;;;:34;;;;;;;;;;;;13826:48;;:4;:11;:48;:122;;;;;13880:15;13879:16;:68;;;;13916:12;:24;13929:10;13916:24;;;;;;;;;;;;;;;;;:31;;;;;;;;;;;;13899:48;;:13;:48;;;;13879:68;13826:122;13805:289;;;13985:98;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13805:289;13093:1008;;;;;;;;:::o;14227:1523::-;14375:7;14398:21;14457:24;14563:9;15115:20;15188:9;14422:12;:24;14435:10;14422:24;;;;;;;;;;;;;;;;;14398:48;;14484:1;14457:28;;14521:21;14500:42;;;;;;;;:1;:17;;;;;;;;;;;;:42;;;;;;;;;14496:1214;;;14575:1;14563:13;;14558:477;14582:12;:19;14578:1;:23;14558:477;;;14662:1;14635:29;;:12;14648:1;14635:15;;;;;;;;;;;;;;;;;;:29;;;;:59;;;;;14668:1;:9;;:26;14678:12;14691:1;14678:15;;;;;;;;;;;;;;;;;;14668:26;;;;;;;;;;;;;;;;;;;;;;;;;14635:59;14627:95;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14761:1;14748:7;14756:1;14748:10;;;;;;;;;;;;;;;;;;:14;14740:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14847:32;14868:7;14876:1;14868:10;;;;;;;;;;;;;;;;;;14847:16;:20;;:32;;;;:::i;:::-;14828:51;;14933:4;14898:1;:15;;:32;14914:12;14927:1;14914:15;;;;;;;;;;;;;;;;;;14898:32;;;;;;;;;;;;;;;;:39;;;;;;;;;;;;;;;;;;14984:12;14997:1;14984:15;;;;;;;;;;;;;;;;;;:24;;:36;15009:7;15017:1;15009:10;;;;;;;;;;;;;;;;;;14984:36;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;14984:36:0;14603:3;;;;;;;14558:477;;;14496:1214;;;15077:21;15056:42;;;;;;;;:1;:17;;;;;;;;;;;;:42;;;;;;;;;15052:658;;;15153:1;:14;;;;;;;;;;;;15115:53;;15200:1;15188:13;;15183:517;15205:12;:19;15203:1;:21;15183:517;;;15285:1;15258:29;;:12;15271:1;15258:15;;;;;;;;;;;;;;;;;;:29;;;;:59;;;;;15291:1;:9;;:26;15301:12;15314:1;15301:15;;;;;;;;;;;;;;;;;;15291:26;;;;;;;;;;;;;;;;;;;;;;;;;15258:59;15250:95;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15384:1;15371:7;15379:1;15371:10;;;;;;;;;;;;;;;;;;:14;15363:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15470:32;15491:7;15499:1;15491:10;;;;;;;;;;;;;;;;;;15470:16;:20;;:32;;;;:::i;:::-;15451:51;;15555:4;15520:1;:15;;:32;15536:12;15549:1;15536:15;;;;;;;;;;;;;;;;;;15520:32;;;;;;;;;;;;;;;;:39;;;;;;;;;;;;;;;;;;15615:5;:14;;;15630:12;15643:1;15630:15;;;;;;;;;;;;;;;;;;15647:7;15655:1;15647:10;;;;;;;;;;;;;;;;;;15615:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;15615:43:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;15615:43:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;15615:43:0;;;;;;;;;;;;;;;;15607:78;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15226:3;;;;;;;15183:517;;;15052:658;14496:1214;15727:16;15720:23;;14227:1523;;;;;;;;;;:::o;15935:1572::-;16157:7;16318:19;16436:14;16895:6;16944:17;16217:4;:11;16202:4;:11;:26;:56;;;;;16247:4;:11;16232:4;:11;:26;16202:56;16181:126;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16640:4;16635:10;;16676:1;16671:7;;16704:4;16734:12;16772:7;16805:10;16593:244;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;16593:244:0;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;16593:244:0;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;16593:244:0;;;16562:293;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;16562:293:0;;;;;;;;;;;;;;;;16476:393;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;16476:393:0;;;16453:426;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;16453:426:0;;;;;;;;;;;;;;;;16436:443;;16904:1;16895:10;;16890:582;16911:4;:11;16907:1;:15;16890:582;;;16964:122;16991:6;17015:4;17020:1;17015:7;;;;;;;;;;;;;;;;;;17040:4;17045:1;17040:7;;;;;;;;;;;;;;;;;;17065:4;17070:1;17065:7;;;;;;;;;;;;;;;;;;16964:122;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;16964:122:0;;;;;;;;16944:142;;17126:12;:24;17139:10;17126:24;;;;;;;;;;;;;;;;;:32;;:43;17159:9;17126:43;;;;;;;;;;;;;;;;;;;;;;;;;17101:120;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17261:12;:24;17274:10;17261:24;;;;;;;;;;;;;;;;;:30;;:41;17292:9;17261:41;;;;;;;;;;;;;;;;;;;;;;;;;17260:42;17235:127;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17420:4;17376:12;:24;17389:10;17376:24;;;;;;;;;;;;;;;;;:30;;:41;17407:9;17376:41;;;;;;;;;;;;;;;;:48;;;;;;;;;;;;;;;;;;17452:9;17438:23;;16924:3;;;;;;;16890:582;;;17489:11;17482:18;;15935:1572;;;;;;;;;;;;:::o;17513:317::-;17652:4;17672:17;17692:21;17700:12;17692:3;:7;;:21;;;;:::i;:::-;17672:41;;17760:1;17744:12;:17;;;:69;;17782:31;17808:4;17790:12;17782:21;;:25;;:31;;;;:::i;:::-;17770:9;:43;17744:69;;;17764:5;17744:69;17723:100;;17513:317;;;;;:::o;1078:131:2:-;1136:7;1172:9;1164:1;1159;:6;;1151:15;;;;;;;;1188:1;1184;:5;1172:17;;1203:1;1196:8;;1078:131;;;;;:::o;204:381::-;262:7;523:9;491:1;486;:6;482:35;;;509:1;502:8;;;;482:35;539:1;535;:5;523:17;;563:1;558;554;:5;;;;;;;;:10;546:19;;;;;;;;579:1;572:8;;204:381;;;;;;:::o", + "source": "pragma solidity 0.4.24;\n\nimport \"openzeppelin-solidity/contracts/math/SafeMath.sol\";\n\nimport \"../token/ITokenContract.sol\";\n\n\n/**\n* @dev Supports ERC20 tokens\n* The escrow smart contract for the open bazaar trades in Ethereum\n* The smart contract is designed keeping in mind the current wallet interface of the OB-core\n* https://github.com/OpenBazaar/wallet-interface/blob/master/wallet.go\n* Current wallet interface strictly adheres to UTXO(bitcoin) model\n*/\ncontract Escrow_v1_0 {\n\n using SafeMath for uint256;\n\n enum Status {FUNDED, RELEASED}\n\n enum TransactionType {ETHER, TOKEN}\n\n event Executed(\n bytes32 indexed scriptHash,\n address[] destinations,\n uint256[] amounts\n );\n\n event FundAdded(\n bytes32 indexed scriptHash,\n address indexed from,\n uint256 valueAdded\n );\n\n event Funded(\n bytes32 indexed scriptHash, \n address indexed from, \n uint256 value\n );\n\n struct Transaction {\n uint256 value;\n uint256 lastModified;//Time at which transaction was last modified\n Status status;\n TransactionType transactionType;\n uint8 threshold;\n uint32 timeoutHours;\n address buyer;\n address seller;\n address tokenAddress;//Token address in case of token transfer\n address moderator;\n mapping(address=>bool) isOwner;//to keep track of owners.\n mapping(address=>bool) voted;//to keep track of who all voted\n mapping(address=>bool) beneficiaries;//Benefeciaries of execution\n }\n\n mapping(bytes32 => Transaction) public transactions;\n\n uint256 public transactionCount = 0;\n\n //Contains mapping between each party and all of their transactions\n mapping(address => bytes32[]) private partyVsTransaction;\n\n modifier transactionExist(bytes32 scriptHash) {\n require(\n transactions[scriptHash].value != 0, \"Transaction does not exist\"\n );\n _;\n }\n\n modifier transactionDoesNotExist(bytes32 scriptHash) {\n require(transactions[scriptHash].value == 0, \"Transaction exist\");\n _;\n }\n\n modifier inFundedState(bytes32 scriptHash) {\n require(\n transactions[scriptHash].status == Status.FUNDED, \"Transaction is not in FUNDED state\"\n );\n _;\n }\n\n modifier nonZeroAddress(address addressToCheck) {\n require(addressToCheck != address(0), \"Zero address passed\");\n _;\n }\n\n modifier checkTransactionType(\n bytes32 scriptHash,\n TransactionType transactionType\n )\n {\n require(\n transactions[scriptHash].transactionType == transactionType, \"Transaction type does not match\"\n );\n _;\n }\n\n modifier onlyBuyer(bytes32 scriptHash) {\n require(\n msg.sender == transactions[scriptHash].buyer, \"The initiator of the transaction is not buyer\"\n );\n _;\n }\n\n /**\n *@dev Add new transaction in the contract\n *@param buyer The buyer of the transaction\n *@param seller The seller of the listing associated with the transaction\n *@param moderator Moderator for this transaction\n *@param scriptHash keccak256 hash of the redeem script\n *@param threshold Minimum number of signatures required to released funds\n *@param timeoutHours Hours after which seller can release funds into his favour by signing transaction unilaterally\n *@param uniqueId bytes20 unique id for the transaction, generated by ETH wallet\n *Redeem Script format will be following\n \n *Pass amount of the ethers to be put in escrow\n */\n function addTransaction(\n address buyer,\n address seller,\n address moderator,\n uint8 threshold,\n uint32 timeoutHours,\n bytes32 scriptHash,\n bytes20 uniqueId\n )\n external\n payable\n transactionDoesNotExist(scriptHash)\n nonZeroAddress(buyer)\n nonZeroAddress(seller)\n {\n _addTransaction(\n buyer,\n seller,\n moderator,\n threshold,\n timeoutHours,\n scriptHash,\n msg.value,\n uniqueId,\n TransactionType.ETHER,\n address(0)\n );\n \n emit Funded(scriptHash, msg.sender, msg.value);\n\n }\n\n /**\n *@dev Add new transaction in the contract\n *@param buyer The buyer of the transaction\n *@param seller The seller of the listing associated with the transaction\n *@param moderator Moderator for this transaction\n *@param scriptHash keccak256 hash of the redeem script\n *@param threshold Minimum number of signatures required to released funds\n *@param timeoutHours Hours after which seller can release funds into his favour by signing transaction unilaterally\n *@param value Amount of tokens to be put in escrow\n *@param uniqueId bytes20 unique id for the transaction, generated by ETH wallet\n *@param tokenAddress Address of the token to be used\n *Redeem Script format will be following\n \n *approve escrow contract to spend amount of token on sender's behalf\n */\n function addTokenTransaction(\n address buyer,\n address seller,\n address moderator,\n uint8 threshold,\n uint32 timeoutHours,\n bytes32 scriptHash,\n uint256 value,\n bytes20 uniqueId,\n address tokenAddress\n )\n external\n transactionDoesNotExist(scriptHash)\n nonZeroAddress(buyer)\n nonZeroAddress(seller)\n nonZeroAddress(tokenAddress)\n {\n\n _addTransaction(\n buyer,\n seller,\n moderator,\n threshold,\n timeoutHours,\n scriptHash,\n value,\n uniqueId,\n TransactionType.TOKEN,\n tokenAddress\n );\n\n ITokenContract token = ITokenContract(tokenAddress);\n\n require(\n token.transferFrom(msg.sender, this, value),\n \"Token transfer failed, maybe you did not approve escrow contract to spend on behalf of sender\"\n );\n emit Funded(scriptHash, msg.sender, value);\n }\n\n /**\n * @dev This method will check whether given address was a beneficiary of transaction execution or not\n * @param scriptHash script hash of the transaction\n * @param beneficiary Beneficiary address to be checked\n */\n function checkBeneficiary(\n bytes32 scriptHash,\n address beneficiary\n )\n external\n view\n returns (bool)\n {\n return transactions[scriptHash].beneficiaries[beneficiary];\n }\n\n /**\n * @dev This method will check whether given party has voted or not\n * @param scriptHash script hash of the transaction\n * @param party Address of the party whose vote has to be checked\n * @return bool vote\n */\n function checkVote(\n bytes32 scriptHash,\n address party\n )\n external\n view\n returns (bool)\n {\n return transactions[scriptHash].voted[party];\n }\n\n /**\n * @dev Allows buyer of the transaction to add more funds(ether) in the transaction. \n * This will help to cater scenarios wherein initially buyer missed to fund transaction as required\n * @param scriptHash script hash of the transaction\n * Only buyer of the transaction can invoke this method\n */\n function addFundsToTransaction(\n bytes32 scriptHash\n )\n external\n payable\n transactionExist(scriptHash)\n inFundedState(scriptHash)\n checkTransactionType(scriptHash, TransactionType.ETHER)\n onlyBuyer(scriptHash)\n \n {\n\n require(msg.value > 0, \"Value must be greater than zero.\");\n\n transactions[scriptHash].value = transactions[scriptHash].value\n .add(msg.value);\n transactions[scriptHash].lastModified = block.timestamp;\n\n emit FundAdded(scriptHash, msg.sender, msg.value);\n }\n\n /**\n * @dev Allows buyer of the transaction to add more funds(Tokens) in the transaction. \n * This will help to cater scenarios wherein initially buyer missed to fund transaction as required\n * @param scriptHash script hash of the transaction\n * Only buyer of the transaction can invoke this method\n */\n function addTokensToTransaction(\n bytes32 scriptHash,\n uint256 value\n )\n external\n transactionExist(scriptHash)\n inFundedState(scriptHash)\n checkTransactionType(scriptHash, TransactionType.TOKEN)\n onlyBuyer(scriptHash)\n {\n\n require(value > 0, \"Value must be greater than zero.\");\n\n ITokenContract token = ITokenContract(\n transactions[scriptHash].tokenAddress\n );\n\n require(\n token.transferFrom(transactions[scriptHash].buyer, this, value),\n \"Token transfer failed, maybe you did not approve escrow contract to spend on behalf of buyer\"\n );\n\n transactions[scriptHash].value = transactions[scriptHash].value\n .add(value);\n transactions[scriptHash].lastModified = block.timestamp;\n\n emit FundAdded(scriptHash, msg.sender, value);\n }\n\n /**\n *@dev Returns all transaction ids for a party\n *@param partyAddress Address of the party\n */\n function getAllTransactionsForParty(\n address partyAddress\n ) \n external \n view \n returns (bytes32[]) \n {\n return partyVsTransaction[partyAddress];\n }\n\n /**\n *@dev This method will be used to release funds associated with the transaction\n * Please see specs https://github.com/OpenBazaar/smart-contracts/blob/master/contracts/escrow/EscrowSpec.md\n *@param sigV Array containing V component of all the signatures\n *@param sigR Array containing R component of all the signatures\n *@param signS Array containing S component of all the signatures\n *@param scriptHash script hash of the transaction\n *@param destinations List of addresses who will receive funds\n *@param amounts amount released to each destination\n */\n function execute(\n uint8[] sigV,\n bytes32[] sigR,\n bytes32[] sigS,\n bytes32 scriptHash,\n address[] destinations,\n uint256[] amounts\n )\n external\n transactionExist(scriptHash)\n inFundedState(scriptHash)\n {\n require(\n destinations.length>0 && destinations.length == amounts.length, \"Length of destinations is incorrect.\"\n );\n\n _verifyTransaction(\n sigV,\n sigR,\n sigS,\n scriptHash,\n destinations,\n amounts\n );\n\n transactions[scriptHash].status = Status.RELEASED;\n //Last modified timestamp modified, which will be used by rewards\n transactions[scriptHash].lastModified = block.timestamp;\n require(\n _transferFunds(scriptHash, destinations, amounts) == transactions[scriptHash].value,\n \"Total value to be released must be equal to the transaction escrow value\"\n );\n \n emit Executed(scriptHash, destinations, amounts);\n }\n\n\n /**\n *@dev Method for calculating script hash. Calculation will depend upon the type of transaction\n * ETHER Type transaction-:\n * Script Hash- keccak256(uniqueId, threshold, timeoutHours, buyer, seller, moderator)\n * TOKEN Type transaction\n * Script Hash- keccak256(uniqueId, threshold, timeoutHours, buyer, seller, moderator, tokenAddress)\n * Client can use this method to verify whether it has calculated correct script hash or not\n */\n function calculateRedeemScriptHash(\n bytes20 uniqueId,\n uint8 threshold,\n uint32 timeoutHours,\n address buyer,\n address seller,\n address moderator,\n address tokenAddress\n )\n public\n view\n returns (bytes32)\n {\n if (tokenAddress == address(0)) {\n return keccak256(\n abi.encodePacked(\n uniqueId,\n threshold,\n timeoutHours,\n buyer,\n seller,\n moderator,\n this\n )\n );\n } else {\n return keccak256(\n abi.encodePacked(\n uniqueId,\n threshold,\n timeoutHours,\n buyer,\n seller,\n moderator,\n this,\n tokenAddress\n )\n );\n }\n }\n\n /**\n * @dev This methods checks validity of transaction\n * 1. Verify Signatures\n * 2. Check if minimum number of signatures has been acquired\n * 3. If above condition is false, check if time lock is expired and the execution is signed by seller\n */\n function _verifyTransaction(\n uint8[] sigV,\n bytes32[] sigR,\n bytes32[] sigS,\n bytes32 scriptHash,\n address[] destinations,\n uint256[] amounts\n )\n private\n {\n address lastRecovered = _verifySignatures(\n sigV,\n sigR,\n sigS,\n scriptHash,\n destinations,\n amounts\n );\n\n bool timeLockExpired = _isTimeLockExpired(\n transactions[scriptHash].timeoutHours,\n transactions[scriptHash].lastModified\n );\n\n //if Minimum number of signatures are not gathered and timelock has not expired or transaction was not signed by seller then revert\n if (\n sigV.length < transactions[scriptHash].threshold && (!timeLockExpired || lastRecovered != transactions[scriptHash].seller)\n )\n {\n revert(\"Minimum number of signatures are not collected and time lock expiry conditions not met!!\");\n }\n\n }\n\n /**\n *@dev Private method to transfer funds to the destination addresses on the basis of transaction type\n */\n function _transferFunds(\n bytes32 scriptHash,\n address[]destinations,\n uint256[]amounts\n )\n private\n returns (uint256)\n {\n Transaction storage t = transactions[scriptHash];\n\n uint256 valueTransferred = 0;\n\n if (t.transactionType == TransactionType.ETHER) {\n for (uint256 i = 0; i < destinations.length; i++) {\n\n require(destinations[i] != address(0) && t.isOwner[destinations[i]], \"Not a valid destination\");\n require(amounts[i] > 0, \"Amount to be sent should be greater than 0\");\n\n valueTransferred = valueTransferred.add(amounts[i]);\n\n t.beneficiaries[destinations[i]] = true;//add receiver as beneficiary\n destinations[i].transfer(amounts[i]);\n }\n\n } else if (t.transactionType == TransactionType.TOKEN) {\n\n ITokenContract token = ITokenContract(t.tokenAddress);\n\n for (uint256 j = 0; j 0, \"Amount to be sent should be greater than 0\");\n\n valueTransferred = valueTransferred.add(amounts[j]);\n t.beneficiaries[destinations[j]] = true;//add receiver as beneficiary\n\n require(token.transfer(destinations[j], amounts[j]), \"Token transfer failed.\");\n }\n } \n return valueTransferred;\n }\n\n //to check whether the signatures are valid or not and if consensus was reached\n //returns the last address recovered, in case of timeout this must be the sender's address\n function _verifySignatures(\n uint8[] sigV,\n bytes32[] sigR,\n bytes32[] sigS,\n bytes32 scriptHash,\n address[] destinations,\n uint256[]amounts\n )\n private\n returns (address)\n {\n\n require(\n sigR.length == sigS.length && sigR.length == sigV.length, \n \"R,S,V length mismatch.\"\n );\n\n address lastAddress;\n\n // Follows ERC191 signature scheme: https://github.com/ethereum/EIPs/issues/191\n bytes32 txHash = keccak256(\n abi.encodePacked(\n \"\\x19Ethereum Signed Message:\\n32\",\n keccak256(\n abi.encodePacked(\n byte(0x19),\n byte(0),\n this,\n destinations,\n amounts,\n scriptHash\n )\n )\n )\n );\n\n for (uint i = 0; i < sigR.length; i++) {\n\n address recovered = ecrecover(\n txHash,\n sigV[i],\n sigR[i],\n sigS[i]\n );\n\n require(\n transactions[scriptHash].isOwner[recovered], \n \"Invalid signature\"\n );\n require(\n !transactions[scriptHash].voted[recovered], \n \"Same signature sent twice\"\n );\n transactions[scriptHash].voted[recovered] = true;\n lastAddress = recovered;\n }\n\n return lastAddress;\n }\n\n function _isTimeLockExpired(\n uint32 timeoutHours,\n uint256 lastModified\n )\n private\n view\n returns (bool)\n {\n uint256 timeSince = now.sub(lastModified);\n return (\n timeoutHours == 0 ? false:timeSince > uint256(timeoutHours).mul(3600)\n );\n }\n\n /**\n * Private method to add transaction to reduce code redundancy\n */\n function _addTransaction(\n address buyer,\n address seller,\n address moderator,\n uint8 threshold,\n uint32 timeoutHours,\n bytes32 scriptHash,\n uint256 value,\n bytes20 uniqueId,\n TransactionType transactionType,\n address tokenAddress\n )\n private\n { \n require(buyer != seller, \"Buyer and seller are same\");\n\n //value passed should be greater than 0\n require(value > 0, \"Value passed is 0\");\n\n // For now allowing 0 moderator to support 1-2 multisig wallet\n require(\n threshold > 0 && threshold <= 3, \n \"Threshold cannot be greater than 3 and must be greater than 0\"\n );\n\n //if threshold is 1 then moderator can be passed as zero address or any other address\n //(it won't matter apart from scripthash since we wont add moderator as one of the owner),\n //otherwise moderator should be a valid address\n require(\n threshold == 1 || moderator != address(0),\n \"Either threshold should be 1 or valid moderator address should be passed\"\n );\n\n require(\n scriptHash == calculateRedeemScriptHash(\n uniqueId,\n threshold,\n timeoutHours,\n buyer,\n seller,\n moderator,\n tokenAddress\n ), \n \"Calculated script hash does not match passed script hash.\"\n );\n\n transactions[scriptHash] = Transaction({\n buyer: buyer,\n seller: seller,\n moderator: moderator,\n value: value,\n status: Status.FUNDED,\n lastModified: block.timestamp,\n threshold: threshold,\n timeoutHours: timeoutHours,\n transactionType:transactionType,\n tokenAddress:tokenAddress\n });\n\n transactions[scriptHash].isOwner[seller] = true;\n transactions[scriptHash].isOwner[buyer] = true; \n\n //Check if buyer or seller are not passed as moderator\n require(\n !transactions[scriptHash].isOwner[moderator], \n \"Either buyer or seller is passed as moderator\"\n );\n\n //set moderator as one of the owners only if threshold is greater than 1 otherwise only buyer and seller should be able to release funds\n if (threshold > 1) {\n transactions[scriptHash].isOwner[moderator] = true;\n }\n \n\n transactionCount++;\n\n partyVsTransaction[buyer].push(scriptHash);\n partyVsTransaction[seller].push(scriptHash);\n }\n}\n", "sourcePath": "/home/sameep/freelancing-projects/toptal/open baazar/publicRepo/smart-contracts/contracts/escrow/Escrow_v1_0.sol", "ast": { "absolutePath": "/home/sameep/freelancing-projects/toptal/open baazar/publicRepo/smart-contracts/contracts/escrow/Escrow_v1_0.sol", @@ -1362,7 +1339,7 @@ "name": "partyVsTransaction", "nodeType": "VariableDeclaration", "scope": 1205, - "src": "1733:55:0", + "src": "1733:56:0", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -1409,13 +1386,13 @@ } }, "value": null, - "visibility": "public" + "visibility": "private" }, { "body": { "id": 98, "nodeType": "Block", - "src": "1841:124:0", + "src": "1842:124:0", "statements": [ { "expression": { @@ -1443,7 +1420,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "1872:12:0", + "src": "1873:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -1457,7 +1434,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 85, - "src": "1885:10:0", + "src": "1886:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -1468,7 +1445,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "1872:24:0", + "src": "1873:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -1482,7 +1459,7 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": 40, - "src": "1872:30:0", + "src": "1873:30:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1500,7 +1477,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1906:1:0", + "src": "1907:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -1508,7 +1485,7 @@ }, "value": "0" }, - "src": "1872:35:0", + "src": "1873:35:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1524,7 +1501,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "1909:28:0", + "src": "1910:28:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_cb323e46bbcca91e157c2b50ad4ce2acbe1153338b838c84372d5723b8995ef0", @@ -1552,7 +1529,7 @@ 1382 ], "referencedDeclaration": 1382, - "src": "1851:7:0", + "src": "1852:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -1566,7 +1543,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1851:96:0", + "src": "1852:96:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -1574,12 +1551,12 @@ }, "id": 96, "nodeType": "ExpressionStatement", - "src": "1851:96:0" + "src": "1852:96:0" }, { "id": 97, "nodeType": "PlaceholderStatement", - "src": "1957:1:0" + "src": "1958:1:0" } ] }, @@ -1597,7 +1574,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 99, - "src": "1821:18:0", + "src": "1822:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1608,7 +1585,7 @@ "id": 84, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "1821:7:0", + "src": "1822:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -1618,16 +1595,16 @@ "visibility": "internal" } ], - "src": "1820:20:0" + "src": "1821:20:0" }, - "src": "1795:170:0", + "src": "1796:170:0", "visibility": "internal" }, { "body": { "id": 114, "nodeType": "Block", - "src": "2024:93:0", + "src": "2025:93:0", "statements": [ { "expression": { @@ -1655,7 +1632,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "2042:12:0", + "src": "2043:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -1669,7 +1646,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 101, - "src": "2055:10:0", + "src": "2056:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -1680,7 +1657,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "2042:24:0", + "src": "2043:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -1694,7 +1671,7 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": 40, - "src": "2042:30:0", + "src": "2043:30:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1712,7 +1689,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2076:1:0", + "src": "2077:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -1720,7 +1697,7 @@ }, "value": "0" }, - "src": "2042:35:0", + "src": "2043:35:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1736,7 +1713,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "2079:19:0", + "src": "2080:19:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_4f41f109da323167d042f4559ebd6e2dc42fdbc2be1a2cea9ff6130572900782", @@ -1764,7 +1741,7 @@ 1382 ], "referencedDeclaration": 1382, - "src": "2034:7:0", + "src": "2035:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -1778,7 +1755,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2034:65:0", + "src": "2035:65:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -1786,12 +1763,12 @@ }, "id": 112, "nodeType": "ExpressionStatement", - "src": "2034:65:0" + "src": "2035:65:0" }, { "id": 113, "nodeType": "PlaceholderStatement", - "src": "2109:1:0" + "src": "2110:1:0" } ] }, @@ -1809,7 +1786,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 115, - "src": "2004:18:0", + "src": "2005:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1820,7 +1797,7 @@ "id": 100, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "2004:7:0", + "src": "2005:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -1830,16 +1807,16 @@ "visibility": "internal" } ], - "src": "2003:20:0" + "src": "2004:20:0" }, - "src": "1971:146:0", + "src": "1972:146:0", "visibility": "internal" }, { "body": { "id": 131, "nodeType": "Block", - "src": "2166:145:0", + "src": "2167:145:0", "statements": [ { "expression": { @@ -1867,7 +1844,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "2197:12:0", + "src": "2198:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -1881,7 +1858,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 117, - "src": "2210:10:0", + "src": "2211:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -1892,7 +1869,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "2197:24:0", + "src": "2198:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -1906,7 +1883,7 @@ "memberName": "status", "nodeType": "MemberAccess", "referencedDeclaration": 44, - "src": "2197:31:0", + "src": "2198:31:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$9", "typeString": "enum Escrow_v1_0.Status" @@ -1923,7 +1900,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9, - "src": "2232:6:0", + "src": "2233:6:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_Status_$9_$", "typeString": "type(enum Escrow_v1_0.Status)" @@ -1937,13 +1914,13 @@ "memberName": "FUNDED", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "2232:13:0", + "src": "2233:13:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$9", "typeString": "enum Escrow_v1_0.Status" } }, - "src": "2197:48:0", + "src": "2198:48:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1959,7 +1936,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "2247:36:0", + "src": "2248:36:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_5244efce1630cfae7257c0817c921ae75135c1043344a4cf9a1988c03337f39d", @@ -1987,7 +1964,7 @@ 1382 ], "referencedDeclaration": 1382, - "src": "2176:7:0", + "src": "2177:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -2001,7 +1978,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2176:117:0", + "src": "2177:117:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -2009,12 +1986,12 @@ }, "id": 129, "nodeType": "ExpressionStatement", - "src": "2176:117:0" + "src": "2177:117:0" }, { "id": 130, "nodeType": "PlaceholderStatement", - "src": "2303:1:0" + "src": "2304:1:0" } ] }, @@ -2032,7 +2009,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 132, - "src": "2146:18:0", + "src": "2147:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2043,7 +2020,7 @@ "id": 116, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "2146:7:0", + "src": "2147:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -2053,16 +2030,16 @@ "visibility": "internal" } ], - "src": "2145:20:0" + "src": "2146:20:0" }, - "src": "2123:188:0", + "src": "2124:188:0", "visibility": "internal" }, { "body": { "id": 146, "nodeType": "Block", - "src": "2365:88:0", + "src": "2366:88:0", "statements": [ { "expression": { @@ -2086,7 +2063,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 134, - "src": "2383:14:0", + "src": "2384:14:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2107,7 +2084,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2409:1:0", + "src": "2410:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -2129,7 +2106,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "2401:7:0", + "src": "2402:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" @@ -2144,13 +2121,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2401:10:0", + "src": "2402:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "2383:28:0", + "src": "2384:28:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -2166,7 +2143,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "2413:21:0", + "src": "2414:21:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_93e85f37f73cf8e1b855512ab7e00aab2b791117712ecb476daeb6c2c0a27a67", @@ -2194,7 +2171,7 @@ 1382 ], "referencedDeclaration": 1382, - "src": "2375:7:0", + "src": "2376:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -2208,7 +2185,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2375:60:0", + "src": "2376:60:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -2216,12 +2193,12 @@ }, "id": 144, "nodeType": "ExpressionStatement", - "src": "2375:60:0" + "src": "2376:60:0" }, { "id": 145, "nodeType": "PlaceholderStatement", - "src": "2445:1:0" + "src": "2446:1:0" } ] }, @@ -2239,7 +2216,7 @@ "name": "addressToCheck", "nodeType": "VariableDeclaration", "scope": 147, - "src": "2341:22:0", + "src": "2342:22:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2250,7 +2227,7 @@ "id": 133, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2341:7:0", + "src": "2342:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2260,16 +2237,16 @@ "visibility": "internal" } ], - "src": "2340:24:0" + "src": "2341:24:0" }, - "src": "2317:136:0", + "src": "2318:136:0", "visibility": "internal" }, { "body": { "id": 164, "nodeType": "Block", - "src": "2568:153:0", + "src": "2569:153:0", "statements": [ { "expression": { @@ -2297,7 +2274,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "2599:12:0", + "src": "2600:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -2311,7 +2288,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 149, - "src": "2612:10:0", + "src": "2613:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -2322,7 +2299,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "2599:24:0", + "src": "2600:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -2336,7 +2313,7 @@ "memberName": "transactionType", "nodeType": "MemberAccess", "referencedDeclaration": 46, - "src": "2599:40:0", + "src": "2600:40:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -2351,13 +2328,13 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 151, - "src": "2643:15:0", + "src": "2644:15:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" } }, - "src": "2599:59:0", + "src": "2600:59:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -2373,7 +2350,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "2660:33:0", + "src": "2661:33:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_c798eb33a8bd5d4c22212d5c8611219bb87da2d82aefe8e88b1f970a0f133cc3", @@ -2401,7 +2378,7 @@ 1382 ], "referencedDeclaration": 1382, - "src": "2578:7:0", + "src": "2579:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -2415,7 +2392,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2578:125:0", + "src": "2579:125:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -2423,12 +2400,12 @@ }, "id": 162, "nodeType": "ExpressionStatement", - "src": "2578:125:0" + "src": "2579:125:0" }, { "id": 163, "nodeType": "PlaceholderStatement", - "src": "2713:1:0" + "src": "2714:1:0" } ] }, @@ -2446,7 +2423,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 165, - "src": "2498:18:0", + "src": "2499:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2457,7 +2434,7 @@ "id": 148, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "2498:7:0", + "src": "2499:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -2472,7 +2449,7 @@ "name": "transactionType", "nodeType": "VariableDeclaration", "scope": 165, - "src": "2526:31:0", + "src": "2527:31:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2485,7 +2462,7 @@ "name": "TransactionType", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 12, - "src": "2526:15:0", + "src": "2527:15:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -2495,16 +2472,16 @@ "visibility": "internal" } ], - "src": "2488:75:0" + "src": "2489:75:0" }, - "src": "2459:262:0", + "src": "2460:262:0", "visibility": "internal" }, { "body": { "id": 181, "nodeType": "Block", - "src": "2766:152:0", + "src": "2767:152:0", "statements": [ { "expression": { @@ -2530,7 +2507,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1378, - "src": "2797:3:0", + "src": "2798:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -2544,7 +2521,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "2797:10:0", + "src": "2798:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2563,7 +2540,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "2811:12:0", + "src": "2812:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -2577,7 +2554,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 167, - "src": "2824:10:0", + "src": "2825:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -2588,7 +2565,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "2811:24:0", + "src": "2812:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -2602,13 +2579,13 @@ "memberName": "buyer", "nodeType": "MemberAccess", "referencedDeclaration": 52, - "src": "2811:30:0", + "src": "2812:30:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "2797:44:0", + "src": "2798:44:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -2624,7 +2601,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "2843:47:0", + "src": "2844:47:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_b4fc72d2373e6fc668b2bc10a6c84713d84de5f4dc58bb69053e1a18ae67c2f9", @@ -2652,7 +2629,7 @@ 1382 ], "referencedDeclaration": 1382, - "src": "2776:7:0", + "src": "2777:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -2666,7 +2643,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2776:124:0", + "src": "2777:124:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -2674,12 +2651,12 @@ }, "id": 179, "nodeType": "ExpressionStatement", - "src": "2776:124:0" + "src": "2777:124:0" }, { "id": 180, "nodeType": "PlaceholderStatement", - "src": "2910:1:0" + "src": "2911:1:0" } ] }, @@ -2697,7 +2674,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 182, - "src": "2746:18:0", + "src": "2747:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2708,7 +2685,7 @@ "id": 166, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "2746:7:0", + "src": "2747:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -2718,16 +2695,16 @@ "visibility": "internal" } ], - "src": "2745:20:0" + "src": "2746:20:0" }, - "src": "2727:191:0", + "src": "2728:191:0", "visibility": "internal" }, { "body": { "id": 233, "nodeType": "Block", - "src": "4055:347:0", + "src": "4056:347:0", "statements": [ { "expression": { @@ -2740,7 +2717,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 184, - "src": "4094:5:0", + "src": "4095:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2753,7 +2730,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 186, - "src": "4113:6:0", + "src": "4114:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2766,7 +2743,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 188, - "src": "4133:9:0", + "src": "4134:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2779,7 +2756,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 190, - "src": "4156:9:0", + "src": "4157:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -2792,7 +2769,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 192, - "src": "4179:12:0", + "src": "4180:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -2805,7 +2782,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 194, - "src": "4205:10:0", + "src": "4206:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -2820,7 +2797,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1378, - "src": "4229:3:0", + "src": "4230:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -2834,7 +2811,7 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "4229:9:0", + "src": "4230:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2847,7 +2824,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 196, - "src": "4252:8:0", + "src": "4253:8:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -2862,7 +2839,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12, - "src": "4274:15:0", + "src": "4275:15:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_TransactionType_$12_$", "typeString": "type(enum Escrow_v1_0.TransactionType)" @@ -2876,7 +2853,7 @@ "memberName": "ETHER", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "4274:21:0", + "src": "4275:21:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -2895,7 +2872,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "4317:1:0", + "src": "4318:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -2917,7 +2894,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "4309:7:0", + "src": "4310:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" @@ -2932,7 +2909,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4309:10:0", + "src": "4310:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2987,7 +2964,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1204, - "src": "4065:15:0", + "src": "4066:15:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_address_$_t_uint8_$_t_uint32_$_t_bytes32_$_t_uint256_$_t_bytes20_$_t_enum$_TransactionType_$12_$_t_address_$returns$__$", "typeString": "function (address,address,address,uint8,uint32,bytes32,uint256,bytes20,enum Escrow_v1_0.TransactionType,address)" @@ -3001,7 +2978,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4065:264:0", + "src": "4066:264:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -3009,7 +2986,7 @@ }, "id": 224, "nodeType": "ExpressionStatement", - "src": "4065:264:0" + "src": "4066:264:0" }, { "eventCall": { @@ -3022,7 +2999,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 194, - "src": "4360:10:0", + "src": "4361:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -3037,7 +3014,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1378, - "src": "4372:3:0", + "src": "4373:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -3051,7 +3028,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "4372:10:0", + "src": "4373:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3066,7 +3043,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1378, - "src": "4384:3:0", + "src": "4385:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -3080,7 +3057,7 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "4384:9:0", + "src": "4385:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3107,7 +3084,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 38, - "src": "4353:6:0", + "src": "4354:6:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (bytes32,address,uint256)" @@ -3121,7 +3098,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4353:41:0", + "src": "4354:41:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -3129,7 +3106,7 @@ }, "id": 232, "nodeType": "EmitStatement", - "src": "4348:46:0" + "src": "4349:46:0" } ] }, @@ -3148,7 +3125,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 194, - "src": "3978:10:0", + "src": "3979:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -3163,14 +3140,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 115, - "src": "3954:23:0", + "src": "3955:23:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "3954:35:0" + "src": "3955:35:0" }, { "arguments": [ @@ -3181,7 +3158,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 184, - "src": "4013:5:0", + "src": "4014:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3196,14 +3173,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 147, - "src": "3998:14:0", + "src": "3999:14:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_address_$", "typeString": "modifier (address)" } }, "nodeType": "ModifierInvocation", - "src": "3998:21:0" + "src": "3999:21:0" }, { "arguments": [ @@ -3214,7 +3191,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 186, - "src": "4043:6:0", + "src": "4044:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3229,14 +3206,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 147, - "src": "4028:14:0", + "src": "4029:14:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_address_$", "typeString": "modifier (address)" } }, "nodeType": "ModifierInvocation", - "src": "4028:22:0" + "src": "4029:22:0" } ], "name": "addTransaction", @@ -3251,7 +3228,7 @@ "name": "buyer", "nodeType": "VariableDeclaration", "scope": 234, - "src": "3734:13:0", + "src": "3735:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3262,7 +3239,7 @@ "id": 183, "name": "address", "nodeType": "ElementaryTypeName", - "src": "3734:7:0", + "src": "3735:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3277,7 +3254,7 @@ "name": "seller", "nodeType": "VariableDeclaration", "scope": 234, - "src": "3757:14:0", + "src": "3758:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3288,7 +3265,7 @@ "id": 185, "name": "address", "nodeType": "ElementaryTypeName", - "src": "3757:7:0", + "src": "3758:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3303,7 +3280,7 @@ "name": "moderator", "nodeType": "VariableDeclaration", "scope": 234, - "src": "3781:17:0", + "src": "3782:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3314,7 +3291,7 @@ "id": 187, "name": "address", "nodeType": "ElementaryTypeName", - "src": "3781:7:0", + "src": "3782:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3329,7 +3306,7 @@ "name": "threshold", "nodeType": "VariableDeclaration", "scope": 234, - "src": "3808:15:0", + "src": "3809:15:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3340,7 +3317,7 @@ "id": 189, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "3808:5:0", + "src": "3809:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -3355,7 +3332,7 @@ "name": "timeoutHours", "nodeType": "VariableDeclaration", "scope": 234, - "src": "3833:19:0", + "src": "3834:19:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3366,7 +3343,7 @@ "id": 191, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "3833:6:0", + "src": "3834:6:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -3381,7 +3358,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 234, - "src": "3862:18:0", + "src": "3863:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3392,7 +3369,7 @@ "id": 193, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "3862:7:0", + "src": "3863:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -3407,7 +3384,7 @@ "name": "uniqueId", "nodeType": "VariableDeclaration", "scope": 234, - "src": "3890:16:0", + "src": "3891:16:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3418,7 +3395,7 @@ "id": 195, "name": "bytes20", "nodeType": "ElementaryTypeName", - "src": "3890:7:0", + "src": "3891:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -3428,17 +3405,17 @@ "visibility": "internal" } ], - "src": "3724:188:0" + "src": "3725:188:0" }, "payable": true, "returnParameters": { "id": 207, "nodeType": "ParameterList", "parameters": [], - "src": "4055:0:0" + "src": "4056:0:0" }, "scope": 1205, - "src": "3701:701:0", + "src": "3702:701:0", "stateMutability": "payable", "superFunction": null, "visibility": "external" @@ -3447,7 +3424,7 @@ "body": { "id": 305, "nodeType": "Block", - "src": "5769:588:0", + "src": "5770:588:0", "statements": [ { "expression": { @@ -3460,7 +3437,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 236, - "src": "5809:5:0", + "src": "5810:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3473,7 +3450,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 238, - "src": "5828:6:0", + "src": "5829:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3486,7 +3463,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 240, - "src": "5848:9:0", + "src": "5849:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3499,7 +3476,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 242, - "src": "5871:9:0", + "src": "5872:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -3512,7 +3489,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 244, - "src": "5894:12:0", + "src": "5895:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -3525,7 +3502,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 246, - "src": "5920:10:0", + "src": "5921:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -3538,7 +3515,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 248, - "src": "5944:5:0", + "src": "5945:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3551,7 +3528,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 250, - "src": "5963:8:0", + "src": "5964:8:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -3566,7 +3543,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12, - "src": "5985:15:0", + "src": "5986:15:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_TransactionType_$12_$", "typeString": "type(enum Escrow_v1_0.TransactionType)" @@ -3580,7 +3557,7 @@ "memberName": "TOKEN", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "5985:21:0", + "src": "5986:21:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -3593,7 +3570,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 252, - "src": "6020:12:0", + "src": "6021:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3648,7 +3625,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1204, - "src": "5780:15:0", + "src": "5781:15:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_address_$_t_uint8_$_t_uint32_$_t_bytes32_$_t_uint256_$_t_bytes20_$_t_enum$_TransactionType_$12_$_t_address_$returns$__$", "typeString": "function (address,address,address,uint8,uint32,bytes32,uint256,bytes20,enum Escrow_v1_0.TransactionType,address)" @@ -3662,7 +3639,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5780:262:0", + "src": "5781:262:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -3670,7 +3647,7 @@ }, "id": 280, "nodeType": "ExpressionStatement", - "src": "5780:262:0" + "src": "5781:262:0" }, { "assignments": [ @@ -3683,7 +3660,7 @@ "name": "token", "nodeType": "VariableDeclaration", "scope": 306, - "src": "6053:20:0", + "src": "6054:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3696,7 +3673,7 @@ "name": "ITokenContract", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 1235, - "src": "6053:14:0", + "src": "6054:14:0", "typeDescriptions": { "typeIdentifier": "t_contract$_ITokenContract_$1235", "typeString": "contract ITokenContract" @@ -3717,7 +3694,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 252, - "src": "6091:12:0", + "src": "6092:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3736,7 +3713,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1235, - "src": "6076:14:0", + "src": "6077:14:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_ITokenContract_$1235_$", "typeString": "type(contract ITokenContract)" @@ -3750,14 +3727,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6076:28:0", + "src": "6077:28:0", "typeDescriptions": { "typeIdentifier": "t_contract$_ITokenContract_$1235", "typeString": "contract ITokenContract" } }, "nodeType": "VariableDeclarationStatement", - "src": "6053:51:0" + "src": "6054:51:0" }, { "expression": { @@ -3775,7 +3752,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1378, - "src": "6155:3:0", + "src": "6156:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -3789,7 +3766,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "6155:10:0", + "src": "6156:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3802,7 +3779,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1395, - "src": "6167:4:0", + "src": "6168:4:0", "typeDescriptions": { "typeIdentifier": "t_contract$_Escrow_v1_0_$1205", "typeString": "contract Escrow_v1_0" @@ -3815,7 +3792,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 248, - "src": "6173:5:0", + "src": "6174:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3844,7 +3821,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 282, - "src": "6136:5:0", + "src": "6137:5:0", "typeDescriptions": { "typeIdentifier": "t_contract$_ITokenContract_$1235", "typeString": "contract ITokenContract" @@ -3858,7 +3835,7 @@ "memberName": "transferFrom", "nodeType": "MemberAccess", "referencedDeclaration": 1234, - "src": "6136:18:0", + "src": "6137:18:0", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", "typeString": "function (address,address,uint256) external returns (bool)" @@ -3872,7 +3849,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6136:43:0", + "src": "6137:43:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -3888,7 +3865,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "6193:95:0", + "src": "6194:95:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_d81b627ac67759234197a5bdf4d9f7d33298e824ce7bd47e08ce9919cd96c696", @@ -3916,7 +3893,7 @@ 1382 ], "referencedDeclaration": 1382, - "src": "6115:7:0", + "src": "6116:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -3930,7 +3907,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6115:183:0", + "src": "6116:183:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -3938,7 +3915,7 @@ }, "id": 297, "nodeType": "ExpressionStatement", - "src": "6115:183:0" + "src": "6116:183:0" }, { "eventCall": { @@ -3951,7 +3928,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 246, - "src": "6320:10:0", + "src": "6321:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -3966,7 +3943,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1378, - "src": "6332:3:0", + "src": "6333:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -3980,7 +3957,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "6332:10:0", + "src": "6333:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3993,7 +3970,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 248, - "src": "6344:5:0", + "src": "6345:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4020,7 +3997,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 38, - "src": "6313:6:0", + "src": "6314:6:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (bytes32,address,uint256)" @@ -4034,7 +4011,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6313:37:0", + "src": "6314:37:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -4042,7 +4019,7 @@ }, "id": 304, "nodeType": "EmitStatement", - "src": "6308:42:0" + "src": "6309:42:0" } ] }, @@ -4061,7 +4038,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 246, - "src": "5655:10:0", + "src": "5656:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -4076,14 +4053,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 115, - "src": "5631:23:0", + "src": "5632:23:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "5631:35:0" + "src": "5632:35:0" }, { "arguments": [ @@ -4094,7 +4071,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 236, - "src": "5690:5:0", + "src": "5691:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4109,14 +4086,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 147, - "src": "5675:14:0", + "src": "5676:14:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_address_$", "typeString": "modifier (address)" } }, "nodeType": "ModifierInvocation", - "src": "5675:21:0" + "src": "5676:21:0" }, { "arguments": [ @@ -4127,7 +4104,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 238, - "src": "5720:6:0", + "src": "5721:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4142,14 +4119,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 147, - "src": "5705:14:0", + "src": "5706:14:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_address_$", "typeString": "modifier (address)" } }, "nodeType": "ModifierInvocation", - "src": "5705:22:0" + "src": "5706:22:0" }, { "arguments": [ @@ -4160,7 +4137,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 252, - "src": "5751:12:0", + "src": "5752:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4175,14 +4152,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 147, - "src": "5736:14:0", + "src": "5737:14:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_address_$", "typeString": "modifier (address)" } }, "nodeType": "ModifierInvocation", - "src": "5736:28:0" + "src": "5737:28:0" } ], "name": "addTokenTransaction", @@ -4197,7 +4174,7 @@ "name": "buyer", "nodeType": "VariableDeclaration", "scope": 306, - "src": "5374:13:0", + "src": "5375:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4208,7 +4185,7 @@ "id": 235, "name": "address", "nodeType": "ElementaryTypeName", - "src": "5374:7:0", + "src": "5375:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4223,7 +4200,7 @@ "name": "seller", "nodeType": "VariableDeclaration", "scope": 306, - "src": "5397:14:0", + "src": "5398:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4234,7 +4211,7 @@ "id": 237, "name": "address", "nodeType": "ElementaryTypeName", - "src": "5397:7:0", + "src": "5398:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4249,7 +4226,7 @@ "name": "moderator", "nodeType": "VariableDeclaration", "scope": 306, - "src": "5421:17:0", + "src": "5422:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4260,7 +4237,7 @@ "id": 239, "name": "address", "nodeType": "ElementaryTypeName", - "src": "5421:7:0", + "src": "5422:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4275,7 +4252,7 @@ "name": "threshold", "nodeType": "VariableDeclaration", "scope": 306, - "src": "5448:15:0", + "src": "5449:15:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4286,7 +4263,7 @@ "id": 241, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "5448:5:0", + "src": "5449:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -4301,7 +4278,7 @@ "name": "timeoutHours", "nodeType": "VariableDeclaration", "scope": 306, - "src": "5473:19:0", + "src": "5474:19:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4312,7 +4289,7 @@ "id": 243, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "5473:6:0", + "src": "5474:6:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -4327,7 +4304,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 306, - "src": "5502:18:0", + "src": "5503:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4338,7 +4315,7 @@ "id": 245, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "5502:7:0", + "src": "5503:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -4353,7 +4330,7 @@ "name": "value", "nodeType": "VariableDeclaration", "scope": 306, - "src": "5530:13:0", + "src": "5531:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4364,7 +4341,7 @@ "id": 247, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "5530:7:0", + "src": "5531:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4379,7 +4356,7 @@ "name": "uniqueId", "nodeType": "VariableDeclaration", "scope": 306, - "src": "5553:16:0", + "src": "5554:16:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4390,7 +4367,7 @@ "id": 249, "name": "bytes20", "nodeType": "ElementaryTypeName", - "src": "5553:7:0", + "src": "5554:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -4405,7 +4382,7 @@ "name": "tokenAddress", "nodeType": "VariableDeclaration", "scope": 306, - "src": "5579:20:0", + "src": "5580:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4416,7 +4393,7 @@ "id": 251, "name": "address", "nodeType": "ElementaryTypeName", - "src": "5579:7:0", + "src": "5580:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4426,17 +4403,17 @@ "visibility": "internal" } ], - "src": "5364:241:0" + "src": "5365:241:0" }, "payable": false, "returnParameters": { "id": 266, "nodeType": "ParameterList", "parameters": [], - "src": "5769:0:0" + "src": "5770:0:0" }, "scope": 1205, - "src": "5336:1021:0", + "src": "5337:1021:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" @@ -4445,7 +4422,7 @@ "body": { "id": 322, "nodeType": "Block", - "src": "6744:75:0", + "src": "6745:75:0", "statements": [ { "expression": { @@ -4461,7 +4438,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "6761:12:0", + "src": "6762:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -4475,7 +4452,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 308, - "src": "6774:10:0", + "src": "6775:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -4486,7 +4463,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "6761:24:0", + "src": "6762:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -4500,7 +4477,7 @@ "memberName": "beneficiaries", "nodeType": "MemberAccess", "referencedDeclaration": 70, - "src": "6761:38:0", + "src": "6762:38:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -4514,7 +4491,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 310, - "src": "6800:11:0", + "src": "6801:11:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4525,7 +4502,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "6761:51:0", + "src": "6762:51:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -4534,7 +4511,7 @@ "functionReturnParameters": 314, "id": 321, "nodeType": "Return", - "src": "6754:58:0" + "src": "6755:58:0" } ] }, @@ -4556,7 +4533,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 323, - "src": "6633:18:0", + "src": "6634:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4567,7 +4544,7 @@ "id": 307, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "6633:7:0", + "src": "6634:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -4582,7 +4559,7 @@ "name": "beneficiary", "nodeType": "VariableDeclaration", "scope": 323, - "src": "6661:19:0", + "src": "6662:19:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4593,7 +4570,7 @@ "id": 309, "name": "address", "nodeType": "ElementaryTypeName", - "src": "6661:7:0", + "src": "6662:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4603,7 +4580,7 @@ "visibility": "internal" } ], - "src": "6623:63:0" + "src": "6624:63:0" }, "payable": false, "returnParameters": { @@ -4616,7 +4593,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 323, - "src": "6734:4:0", + "src": "6735:4:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4627,7 +4604,7 @@ "id": 312, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "6734:4:0", + "src": "6735:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -4637,10 +4614,10 @@ "visibility": "internal" } ], - "src": "6733:6:0" + "src": "6734:6:0" }, "scope": 1205, - "src": "6598:221:0", + "src": "6599:221:0", "stateMutability": "view", "superFunction": null, "visibility": "external" @@ -4649,7 +4626,7 @@ "body": { "id": 339, "nodeType": "Block", - "src": "7192:61:0", + "src": "7193:61:0", "statements": [ { "expression": { @@ -4665,7 +4642,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "7209:12:0", + "src": "7210:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -4679,7 +4656,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 325, - "src": "7222:10:0", + "src": "7223:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -4690,7 +4667,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "7209:24:0", + "src": "7210:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -4704,7 +4681,7 @@ "memberName": "voted", "nodeType": "MemberAccess", "referencedDeclaration": 66, - "src": "7209:30:0", + "src": "7210:30:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -4718,7 +4695,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 327, - "src": "7240:5:0", + "src": "7241:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4729,7 +4706,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "7209:37:0", + "src": "7210:37:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -4738,7 +4715,7 @@ "functionReturnParameters": 331, "id": 338, "nodeType": "Return", - "src": "7202:44:0" + "src": "7203:44:0" } ] }, @@ -4760,7 +4737,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 340, - "src": "7087:18:0", + "src": "7088:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4771,7 +4748,7 @@ "id": 324, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "7087:7:0", + "src": "7088:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -4786,7 +4763,7 @@ "name": "party", "nodeType": "VariableDeclaration", "scope": 340, - "src": "7115:13:0", + "src": "7116:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4797,7 +4774,7 @@ "id": 326, "name": "address", "nodeType": "ElementaryTypeName", - "src": "7115:7:0", + "src": "7116:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4807,7 +4784,7 @@ "visibility": "internal" } ], - "src": "7077:57:0" + "src": "7078:57:0" }, "payable": false, "returnParameters": { @@ -4820,7 +4797,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 340, - "src": "7182:4:0", + "src": "7183:4:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4831,7 +4808,7 @@ "id": 329, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "7182:4:0", + "src": "7183:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -4841,10 +4818,10 @@ "visibility": "internal" } ], - "src": "7181:6:0" + "src": "7182:6:0" }, "scope": 1205, - "src": "7059:194:0", + "src": "7060:194:0", "stateMutability": "view", "superFunction": null, "visibility": "external" @@ -4853,7 +4830,7 @@ "body": { "id": 397, "nodeType": "Block", - "src": "7856:303:0", + "src": "7857:303:0", "statements": [ { "expression": { @@ -4879,7 +4856,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1378, - "src": "7875:3:0", + "src": "7876:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -4893,7 +4870,7 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "7875:9:0", + "src": "7876:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4911,7 +4888,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "7887:1:0", + "src": "7888:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -4919,7 +4896,7 @@ }, "value": "0" }, - "src": "7875:13:0", + "src": "7876:13:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -4935,7 +4912,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "7890:34:0", + "src": "7891:34:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_21fbec2be6560b9ccffc4980d43c0d147770168e7aaf24999b418b9010085622", @@ -4963,7 +4940,7 @@ 1382 ], "referencedDeclaration": 1382, - "src": "7867:7:0", + "src": "7868:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -4977,7 +4954,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7867:58:0", + "src": "7868:58:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -4985,7 +4962,7 @@ }, "id": 366, "nodeType": "ExpressionStatement", - "src": "7867:58:0" + "src": "7868:58:0" }, { "expression": { @@ -5006,7 +4983,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "7936:12:0", + "src": "7937:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -5020,7 +4997,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 342, - "src": "7949:10:0", + "src": "7950:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -5031,7 +5008,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "7936:24:0", + "src": "7937:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -5045,7 +5022,7 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": 40, - "src": "7936:30:0", + "src": "7937:30:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5065,7 +5042,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1378, - "src": "8017:3:0", + "src": "8018:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -5079,7 +5056,7 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "8017:9:0", + "src": "8018:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5104,7 +5081,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "7969:12:0", + "src": "7970:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -5118,7 +5095,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 342, - "src": "7982:10:0", + "src": "7983:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -5129,7 +5106,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "7969:24:0", + "src": "7970:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -5143,7 +5120,7 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": 40, - "src": "7969:30:0", + "src": "7970:30:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5157,7 +5134,7 @@ "memberName": "add", "nodeType": "MemberAccess", "referencedDeclaration": 1342, - "src": "7969:47:0", + "src": "7970:47:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" @@ -5171,13 +5148,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7969:58:0", + "src": "7970:58:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "7936:91:0", + "src": "7937:91:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5185,7 +5162,7 @@ }, "id": 380, "nodeType": "ExpressionStatement", - "src": "7936:91:0" + "src": "7937:91:0" }, { "expression": { @@ -5206,7 +5183,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "8037:12:0", + "src": "8038:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -5220,7 +5197,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 342, - "src": "8050:10:0", + "src": "8051:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -5231,7 +5208,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "8037:24:0", + "src": "8038:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -5245,7 +5222,7 @@ "memberName": "lastModified", "nodeType": "MemberAccess", "referencedDeclaration": 42, - "src": "8037:37:0", + "src": "8038:37:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5262,7 +5239,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1368, - "src": "8077:5:0", + "src": "8078:5:0", "typeDescriptions": { "typeIdentifier": "t_magic_block", "typeString": "block" @@ -5276,13 +5253,13 @@ "memberName": "timestamp", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "8077:15:0", + "src": "8078:15:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "8037:55:0", + "src": "8038:55:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5290,7 +5267,7 @@ }, "id": 388, "nodeType": "ExpressionStatement", - "src": "8037:55:0" + "src": "8038:55:0" }, { "eventCall": { @@ -5303,7 +5280,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 342, - "src": "8118:10:0", + "src": "8119:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -5318,7 +5295,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1378, - "src": "8130:3:0", + "src": "8131:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -5332,7 +5309,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "8130:10:0", + "src": "8131:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -5347,7 +5324,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1378, - "src": "8142:3:0", + "src": "8143:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -5361,7 +5338,7 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "8142:9:0", + "src": "8143:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5388,7 +5365,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 30, - "src": "8108:9:0", + "src": "8109:9:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (bytes32,address,uint256)" @@ -5402,7 +5379,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8108:44:0", + "src": "8109:44:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -5410,7 +5387,7 @@ }, "id": 396, "nodeType": "EmitStatement", - "src": "8103:49:0" + "src": "8104:49:0" } ] }, @@ -5429,7 +5406,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 342, - "src": "7703:10:0", + "src": "7704:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -5444,14 +5421,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 99, - "src": "7686:16:0", + "src": "7687:16:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "7686:28:0" + "src": "7687:28:0" }, { "arguments": [ @@ -5462,7 +5439,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 342, - "src": "7737:10:0", + "src": "7738:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -5477,14 +5454,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 132, - "src": "7723:13:0", + "src": "7724:13:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "7723:25:0" + "src": "7724:25:0" }, { "arguments": [ @@ -5495,7 +5472,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 342, - "src": "7778:10:0", + "src": "7779:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -5510,7 +5487,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12, - "src": "7790:15:0", + "src": "7791:15:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_TransactionType_$12_$", "typeString": "type(enum Escrow_v1_0.TransactionType)" @@ -5524,7 +5501,7 @@ "memberName": "ETHER", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "7790:21:0", + "src": "7791:21:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -5539,14 +5516,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 165, - "src": "7757:20:0", + "src": "7758:20:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$_t_enum$_TransactionType_$12_$", "typeString": "modifier (bytes32,enum Escrow_v1_0.TransactionType)" } }, "nodeType": "ModifierInvocation", - "src": "7757:55:0" + "src": "7758:55:0" }, { "arguments": [ @@ -5557,7 +5534,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 342, - "src": "7831:10:0", + "src": "7832:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -5572,14 +5549,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 182, - "src": "7821:9:0", + "src": "7822:9:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "7821:21:0" + "src": "7822:21:0" } ], "name": "addFundsToTransaction", @@ -5594,7 +5571,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 398, - "src": "7620:18:0", + "src": "7621:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5605,7 +5582,7 @@ "id": 341, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "7620:7:0", + "src": "7621:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -5615,17 +5592,17 @@ "visibility": "internal" } ], - "src": "7610:34:0" + "src": "7611:34:0" }, "payable": true, "returnParameters": { "id": 358, "nodeType": "ParameterList", "parameters": [], - "src": "7856:0:0" + "src": "7857:0:0" }, "scope": 1205, - "src": "7580:579:0", + "src": "7581:579:0", "stateMutability": "payable", "superFunction": null, "visibility": "external" @@ -5634,7 +5611,7 @@ "body": { "id": 476, "nodeType": "Block", - "src": "8762:613:0", + "src": "8763:613:0", "statements": [ { "expression": { @@ -5658,7 +5635,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 402, - "src": "8781:5:0", + "src": "8782:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5676,7 +5653,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "8789:1:0", + "src": "8790:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -5684,7 +5661,7 @@ }, "value": "0" }, - "src": "8781:9:0", + "src": "8782:9:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -5700,7 +5677,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "8792:34:0", + "src": "8793:34:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_21fbec2be6560b9ccffc4980d43c0d147770168e7aaf24999b418b9010085622", @@ -5728,7 +5705,7 @@ 1382 ], "referencedDeclaration": 1382, - "src": "8773:7:0", + "src": "8774:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -5742,7 +5719,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8773:54:0", + "src": "8774:54:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -5750,7 +5727,7 @@ }, "id": 425, "nodeType": "ExpressionStatement", - "src": "8773:54:0" + "src": "8774:54:0" }, { "assignments": [ @@ -5763,7 +5740,7 @@ "name": "token", "nodeType": "VariableDeclaration", "scope": 477, - "src": "8838:20:0", + "src": "8839:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5776,7 +5753,7 @@ "name": "ITokenContract", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 1235, - "src": "8838:14:0", + "src": "8839:14:0", "typeDescriptions": { "typeIdentifier": "t_contract$_ITokenContract_$1235", "typeString": "contract ITokenContract" @@ -5801,7 +5778,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "8889:12:0", + "src": "8890:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -5815,7 +5792,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 400, - "src": "8902:10:0", + "src": "8903:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -5826,7 +5803,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "8889:24:0", + "src": "8890:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -5840,7 +5817,7 @@ "memberName": "tokenAddress", "nodeType": "MemberAccess", "referencedDeclaration": 56, - "src": "8889:37:0", + "src": "8890:37:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -5859,7 +5836,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1235, - "src": "8861:14:0", + "src": "8862:14:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_ITokenContract_$1235_$", "typeString": "type(contract ITokenContract)" @@ -5873,14 +5850,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8861:75:0", + "src": "8862:75:0", "typeDescriptions": { "typeIdentifier": "t_contract$_ITokenContract_$1235", "typeString": "contract ITokenContract" } }, "nodeType": "VariableDeclarationStatement", - "src": "8838:98:0" + "src": "8839:98:0" }, { "expression": { @@ -5900,7 +5877,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "8987:12:0", + "src": "8988:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -5914,7 +5891,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 400, - "src": "9000:10:0", + "src": "9001:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -5925,7 +5902,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "8987:24:0", + "src": "8988:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -5939,7 +5916,7 @@ "memberName": "buyer", "nodeType": "MemberAccess", "referencedDeclaration": 52, - "src": "8987:30:0", + "src": "8988:30:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -5952,7 +5929,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1395, - "src": "9019:4:0", + "src": "9020:4:0", "typeDescriptions": { "typeIdentifier": "t_contract$_Escrow_v1_0_$1205", "typeString": "contract Escrow_v1_0" @@ -5965,7 +5942,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 402, - "src": "9025:5:0", + "src": "9026:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5994,7 +5971,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 427, - "src": "8968:5:0", + "src": "8969:5:0", "typeDescriptions": { "typeIdentifier": "t_contract$_ITokenContract_$1235", "typeString": "contract ITokenContract" @@ -6008,7 +5985,7 @@ "memberName": "transferFrom", "nodeType": "MemberAccess", "referencedDeclaration": 1234, - "src": "8968:18:0", + "src": "8969:18:0", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", "typeString": "function (address,address,uint256) external returns (bool)" @@ -6022,7 +5999,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8968:63:0", + "src": "8969:63:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -6038,7 +6015,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "9045:94:0", + "src": "9046:94:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_d9d07068d589bc4adc53018a3c57c159ec128fdfb62732a5fa9410e76cf03318", @@ -6066,7 +6043,7 @@ 1382 ], "referencedDeclaration": 1382, - "src": "8947:7:0", + "src": "8948:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -6080,7 +6057,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8947:202:0", + "src": "8948:202:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -6088,7 +6065,7 @@ }, "id": 447, "nodeType": "ExpressionStatement", - "src": "8947:202:0" + "src": "8948:202:0" }, { "expression": { @@ -6109,7 +6086,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "9160:12:0", + "src": "9161:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -6123,7 +6100,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 400, - "src": "9173:10:0", + "src": "9174:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -6134,7 +6111,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "9160:24:0", + "src": "9161:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -6148,7 +6125,7 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": 40, - "src": "9160:30:0", + "src": "9161:30:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6166,7 +6143,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 402, - "src": "9241:5:0", + "src": "9242:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6191,7 +6168,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "9193:12:0", + "src": "9194:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -6205,7 +6182,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 400, - "src": "9206:10:0", + "src": "9207:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -6216,7 +6193,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "9193:24:0", + "src": "9194:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -6230,7 +6207,7 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": 40, - "src": "9193:30:0", + "src": "9194:30:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6244,7 +6221,7 @@ "memberName": "add", "nodeType": "MemberAccess", "referencedDeclaration": 1342, - "src": "9193:47:0", + "src": "9194:47:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" @@ -6258,13 +6235,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "9193:54:0", + "src": "9194:54:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "9160:87:0", + "src": "9161:87:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6272,7 +6249,7 @@ }, "id": 460, "nodeType": "ExpressionStatement", - "src": "9160:87:0" + "src": "9161:87:0" }, { "expression": { @@ -6293,7 +6270,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "9257:12:0", + "src": "9258:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -6307,7 +6284,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 400, - "src": "9270:10:0", + "src": "9271:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -6318,7 +6295,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "9257:24:0", + "src": "9258:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -6332,7 +6309,7 @@ "memberName": "lastModified", "nodeType": "MemberAccess", "referencedDeclaration": 42, - "src": "9257:37:0", + "src": "9258:37:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6349,7 +6326,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1368, - "src": "9297:5:0", + "src": "9298:5:0", "typeDescriptions": { "typeIdentifier": "t_magic_block", "typeString": "block" @@ -6363,13 +6340,13 @@ "memberName": "timestamp", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "9297:15:0", + "src": "9298:15:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "9257:55:0", + "src": "9258:55:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6377,7 +6354,7 @@ }, "id": 468, "nodeType": "ExpressionStatement", - "src": "9257:55:0" + "src": "9258:55:0" }, { "eventCall": { @@ -6390,7 +6367,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 400, - "src": "9338:10:0", + "src": "9339:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -6405,7 +6382,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1378, - "src": "9350:3:0", + "src": "9351:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -6419,7 +6396,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "9350:10:0", + "src": "9351:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -6432,7 +6409,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 402, - "src": "9362:5:0", + "src": "9363:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6459,7 +6436,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 30, - "src": "9328:9:0", + "src": "9329:9:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (bytes32,address,uint256)" @@ -6473,7 +6450,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "9328:40:0", + "src": "9329:40:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -6481,7 +6458,7 @@ }, "id": 475, "nodeType": "EmitStatement", - "src": "9323:45:0" + "src": "9324:45:0" } ] }, @@ -6500,7 +6477,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 400, - "src": "8618:10:0", + "src": "8619:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -6515,14 +6492,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 99, - "src": "8601:16:0", + "src": "8602:16:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "8601:28:0" + "src": "8602:28:0" }, { "arguments": [ @@ -6533,7 +6510,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 400, - "src": "8652:10:0", + "src": "8653:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -6548,14 +6525,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 132, - "src": "8638:13:0", + "src": "8639:13:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "8638:25:0" + "src": "8639:25:0" }, { "arguments": [ @@ -6566,7 +6543,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 400, - "src": "8693:10:0", + "src": "8694:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -6581,7 +6558,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12, - "src": "8705:15:0", + "src": "8706:15:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_TransactionType_$12_$", "typeString": "type(enum Escrow_v1_0.TransactionType)" @@ -6595,7 +6572,7 @@ "memberName": "TOKEN", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "8705:21:0", + "src": "8706:21:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -6610,14 +6587,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 165, - "src": "8672:20:0", + "src": "8673:20:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$_t_enum$_TransactionType_$12_$", "typeString": "modifier (bytes32,enum Escrow_v1_0.TransactionType)" } }, "nodeType": "ModifierInvocation", - "src": "8672:55:0" + "src": "8673:55:0" }, { "arguments": [ @@ -6628,7 +6605,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 400, - "src": "8746:10:0", + "src": "8747:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -6643,14 +6620,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 182, - "src": "8736:9:0", + "src": "8737:9:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "8736:21:0" + "src": "8737:21:0" } ], "name": "addTokensToTransaction", @@ -6665,7 +6642,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 477, - "src": "8528:18:0", + "src": "8529:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6676,7 +6653,7 @@ "id": 399, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "8528:7:0", + "src": "8529:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -6691,7 +6668,7 @@ "name": "value", "nodeType": "VariableDeclaration", "scope": 477, - "src": "8556:13:0", + "src": "8557:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6702,7 +6679,7 @@ "id": 401, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "8556:7:0", + "src": "8557:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6712,17 +6689,17 @@ "visibility": "internal" } ], - "src": "8518:57:0" + "src": "8519:57:0" }, "payable": false, "returnParameters": { "id": 418, "nodeType": "ParameterList", "parameters": [], - "src": "8762:0:0" + "src": "8763:0:0" }, "scope": 1205, - "src": "8487:888:0", + "src": "8488:888:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" @@ -6731,7 +6708,7 @@ "body": { "id": 489, "nodeType": "Block", - "src": "9630:56:0", + "src": "9631:56:0", "statements": [ { "expression": { @@ -6743,7 +6720,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 83, - "src": "9647:18:0", + "src": "9648:18:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_bytes32_$dyn_storage_$", "typeString": "mapping(address => bytes32[] storage ref)" @@ -6757,7 +6734,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 479, - "src": "9666:12:0", + "src": "9667:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -6768,7 +6745,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "9647:32:0", + "src": "9648:32:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage", "typeString": "bytes32[] storage ref" @@ -6777,7 +6754,7 @@ "functionReturnParameters": 484, "id": 488, "nodeType": "Return", - "src": "9640:39:0" + "src": "9641:39:0" } ] }, @@ -6799,7 +6776,7 @@ "name": "partyAddress", "nodeType": "VariableDeclaration", "scope": 490, - "src": "9537:20:0", + "src": "9538:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6810,7 +6787,7 @@ "id": 478, "name": "address", "nodeType": "ElementaryTypeName", - "src": "9537:7:0", + "src": "9538:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -6820,7 +6797,7 @@ "visibility": "internal" } ], - "src": "9527:36:0" + "src": "9528:36:0" }, "payable": false, "returnParameters": { @@ -6833,7 +6810,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 490, - "src": "9614:9:0", + "src": "9615:9:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6845,7 +6822,7 @@ "id": 481, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "9614:7:0", + "src": "9615:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -6854,7 +6831,7 @@ "id": 482, "length": null, "nodeType": "ArrayTypeName", - "src": "9614:9:0", + "src": "9615:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -6864,10 +6841,10 @@ "visibility": "internal" } ], - "src": "9613:11:0" + "src": "9614:11:0" }, "scope": 1205, - "src": "9492:194:0", + "src": "9493:194:0", "stateMutability": "view", "superFunction": null, "visibility": "external" @@ -6876,7 +6853,7 @@ "body": { "id": 575, "nodeType": "Block", - "src": "10556:790:0", + "src": "10557:792:0", "statements": [ { "expression": { @@ -6913,7 +6890,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 504, - "src": "10587:12:0", + "src": "10588:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" @@ -6927,7 +6904,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "10587:19:0", + "src": "10588:19:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6945,7 +6922,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "10607:1:0", + "src": "10608:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -6953,7 +6930,7 @@ }, "value": "0" }, - "src": "10587:21:0", + "src": "10588:21:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -6981,7 +6958,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 504, - "src": "10612:12:0", + "src": "10613:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" @@ -6995,7 +6972,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "10612:19:0", + "src": "10613:19:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7012,7 +6989,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 507, - "src": "10635:7:0", + "src": "10636:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", "typeString": "uint256[] calldata" @@ -7026,19 +7003,19 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "10635:14:0", + "src": "10636:14:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "10612:37:0", + "src": "10613:37:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "10587:62:0", + "src": "10588:62:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -7054,7 +7031,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "10651:38:0", + "src": "10652:38:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_53e979b0c355ea1eeda44a80ca73370fdb2abe922711b459aa4ee43d1558782b", @@ -7082,7 +7059,7 @@ 1382 ], "referencedDeclaration": 1382, - "src": "10566:7:0", + "src": "10567:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -7096,7 +7073,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "10566:133:0", + "src": "10567:133:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -7104,7 +7081,7 @@ }, "id": 529, "nodeType": "ExpressionStatement", - "src": "10566:133:0" + "src": "10567:133:0" }, { "expression": { @@ -7117,7 +7094,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 493, - "src": "10741:4:0", + "src": "10743:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_calldata_ptr", "typeString": "uint8[] calldata" @@ -7130,7 +7107,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 496, - "src": "10759:4:0", + "src": "10761:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", "typeString": "bytes32[] calldata" @@ -7143,7 +7120,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 499, - "src": "10777:4:0", + "src": "10779:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", "typeString": "bytes32[] calldata" @@ -7156,7 +7133,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 501, - "src": "10795:10:0", + "src": "10797:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -7169,7 +7146,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 504, - "src": "10819:12:0", + "src": "10821:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" @@ -7182,7 +7159,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 507, - "src": "10845:7:0", + "src": "10847:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", "typeString": "uint256[] calldata" @@ -7217,11 +7194,11 @@ } ], "id": 530, - "name": "verifyTransaction", + "name": "_verifyTransaction", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 700, - "src": "10710:17:0", + "src": "10711:18:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_array$_t_uint8_$dyn_memory_ptr_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_bytes32_$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$__$", "typeString": "function (uint8[] memory,bytes32[] memory,bytes32[] memory,bytes32,address[] memory,uint256[] memory)" @@ -7235,7 +7212,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "10710:152:0", + "src": "10711:153:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -7243,7 +7220,7 @@ }, "id": 538, "nodeType": "ExpressionStatement", - "src": "10710:152:0" + "src": "10711:153:0" }, { "expression": { @@ -7264,7 +7241,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "10873:12:0", + "src": "10875:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -7278,7 +7255,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 501, - "src": "10886:10:0", + "src": "10888:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -7289,7 +7266,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "10873:24:0", + "src": "10875:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -7303,7 +7280,7 @@ "memberName": "status", "nodeType": "MemberAccess", "referencedDeclaration": 44, - "src": "10873:31:0", + "src": "10875:31:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$9", "typeString": "enum Escrow_v1_0.Status" @@ -7320,7 +7297,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9, - "src": "10907:6:0", + "src": "10909:6:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_Status_$9_$", "typeString": "type(enum Escrow_v1_0.Status)" @@ -7334,13 +7311,13 @@ "memberName": "RELEASED", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "10907:15:0", + "src": "10909:15:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$9", "typeString": "enum Escrow_v1_0.Status" } }, - "src": "10873:49:0", + "src": "10875:49:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$9", "typeString": "enum Escrow_v1_0.Status" @@ -7348,7 +7325,7 @@ }, "id": 546, "nodeType": "ExpressionStatement", - "src": "10873:49:0" + "src": "10875:49:0" }, { "expression": { @@ -7369,7 +7346,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "11006:12:0", + "src": "11008:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -7383,7 +7360,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 501, - "src": "11019:10:0", + "src": "11021:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -7394,7 +7371,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "11006:24:0", + "src": "11008:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -7408,7 +7385,7 @@ "memberName": "lastModified", "nodeType": "MemberAccess", "referencedDeclaration": 42, - "src": "11006:37:0", + "src": "11008:37:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7425,7 +7402,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1368, - "src": "11046:5:0", + "src": "11048:5:0", "typeDescriptions": { "typeIdentifier": "t_magic_block", "typeString": "block" @@ -7439,13 +7416,13 @@ "memberName": "timestamp", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "11046:15:0", + "src": "11048:15:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "11006:55:0", + "src": "11008:55:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7453,7 +7430,7 @@ }, "id": 554, "nodeType": "ExpressionStatement", - "src": "11006:55:0" + "src": "11008:55:0" }, { "expression": { @@ -7480,7 +7457,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 501, - "src": "11106:10:0", + "src": "11109:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -7493,7 +7470,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 504, - "src": "11118:12:0", + "src": "11121:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" @@ -7506,7 +7483,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 507, - "src": "11132:7:0", + "src": "11135:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", "typeString": "uint256[] calldata" @@ -7529,11 +7506,11 @@ } ], "id": 556, - "name": "transferFunds", + "name": "_transferFunds", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 887, - "src": "11092:13:0", + "src": "11094:14:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$_t_uint256_$", "typeString": "function (bytes32,address[] memory,uint256[] memory) returns (uint256)" @@ -7547,7 +7524,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "11092:48:0", + "src": "11094:49:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7566,7 +7543,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "11144:12:0", + "src": "11147:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -7580,7 +7557,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 501, - "src": "11157:10:0", + "src": "11160:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -7591,7 +7568,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "11144:24:0", + "src": "11147:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -7605,13 +7582,13 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": 40, - "src": "11144:30:0", + "src": "11147:30:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "11092:82:0", + "src": "11094:83:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -7627,7 +7604,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "11188:74:0", + "src": "11191:74:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_9e0bdb14e2e0d5e118fd1f547268c6a1fdb5e8facacd614066d4b60bc2c9941d", @@ -7655,7 +7632,7 @@ 1382 ], "referencedDeclaration": 1382, - "src": "11071:7:0", + "src": "11073:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -7669,7 +7646,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "11071:201:0", + "src": "11073:202:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -7677,7 +7654,7 @@ }, "id": 568, "nodeType": "ExpressionStatement", - "src": "11071:201:0" + "src": "11073:202:0" }, { "eventCall": { @@ -7690,7 +7667,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 501, - "src": "11305:10:0", + "src": "11308:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -7703,7 +7680,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 504, - "src": "11317:12:0", + "src": "11320:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" @@ -7716,7 +7693,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 507, - "src": "11331:7:0", + "src": "11334:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", "typeString": "uint256[] calldata" @@ -7743,7 +7720,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 22, - "src": "11296:8:0", + "src": "11299:8:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$__$", "typeString": "function (bytes32,address[] memory,uint256[] memory)" @@ -7757,7 +7734,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "11296:43:0", + "src": "11299:43:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -7765,7 +7742,7 @@ }, "id": 574, "nodeType": "EmitStatement", - "src": "11291:48:0" + "src": "11294:48:0" } ] }, @@ -7784,7 +7761,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 501, - "src": "10506:10:0", + "src": "10507:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -7799,14 +7776,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 99, - "src": "10489:16:0", + "src": "10490:16:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "10489:28:0" + "src": "10490:28:0" }, { "arguments": [ @@ -7817,7 +7794,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 501, - "src": "10540:10:0", + "src": "10541:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -7832,14 +7809,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 132, - "src": "10526:13:0", + "src": "10527:13:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "10526:25:0" + "src": "10527:25:0" } ], "name": "execute", @@ -7854,7 +7831,7 @@ "name": "sigV", "nodeType": "VariableDeclaration", "scope": 576, - "src": "10310:12:0", + "src": "10311:12:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -7866,7 +7843,7 @@ "id": 491, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "10310:5:0", + "src": "10311:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -7875,7 +7852,7 @@ "id": 492, "length": null, "nodeType": "ArrayTypeName", - "src": "10310:7:0", + "src": "10311:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_storage_ptr", "typeString": "uint8[]" @@ -7890,7 +7867,7 @@ "name": "sigR", "nodeType": "VariableDeclaration", "scope": 576, - "src": "10332:14:0", + "src": "10333:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -7902,7 +7879,7 @@ "id": 494, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "10332:7:0", + "src": "10333:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -7911,7 +7888,7 @@ "id": 495, "length": null, "nodeType": "ArrayTypeName", - "src": "10332:9:0", + "src": "10333:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -7926,7 +7903,7 @@ "name": "sigS", "nodeType": "VariableDeclaration", "scope": 576, - "src": "10356:14:0", + "src": "10357:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -7938,7 +7915,7 @@ "id": 497, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "10356:7:0", + "src": "10357:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -7947,7 +7924,7 @@ "id": 498, "length": null, "nodeType": "ArrayTypeName", - "src": "10356:9:0", + "src": "10357:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -7962,7 +7939,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 576, - "src": "10380:18:0", + "src": "10381:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -7973,7 +7950,7 @@ "id": 500, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "10380:7:0", + "src": "10381:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -7988,7 +7965,7 @@ "name": "destinations", "nodeType": "VariableDeclaration", "scope": 576, - "src": "10408:22:0", + "src": "10409:22:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8000,7 +7977,7 @@ "id": 502, "name": "address", "nodeType": "ElementaryTypeName", - "src": "10408:7:0", + "src": "10409:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8009,7 +7986,7 @@ "id": 503, "length": null, "nodeType": "ArrayTypeName", - "src": "10408:9:0", + "src": "10409:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", "typeString": "address[]" @@ -8024,7 +8001,7 @@ "name": "amounts", "nodeType": "VariableDeclaration", "scope": 576, - "src": "10440:17:0", + "src": "10441:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8036,7 +8013,7 @@ "id": 505, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "10440:7:0", + "src": "10441:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8045,7 +8022,7 @@ "id": 506, "length": null, "nodeType": "ArrayTypeName", - "src": "10440:9:0", + "src": "10441:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -8055,17 +8032,17 @@ "visibility": "internal" } ], - "src": "10300:163:0" + "src": "10301:163:0" }, "payable": false, "returnParameters": { "id": 515, "nodeType": "ParameterList", "parameters": [], - "src": "10556:0:0" + "src": "10557:0:0" }, "scope": 1205, - "src": "10284:1062:0", + "src": "10285:1064:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" @@ -8074,7 +8051,7 @@ "body": { "id": 630, "nodeType": "Block", - "src": "12100:716:0", + "src": "12103:716:0", "statements": [ { "condition": { @@ -8095,7 +8072,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 590, - "src": "12114:12:0", + "src": "12117:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8116,7 +8093,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "12138:1:0", + "src": "12141:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -8138,7 +8115,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "12130:7:0", + "src": "12133:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" @@ -8153,13 +8130,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "12130:10:0", + "src": "12133:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "12114:26:0", + "src": "12117:26:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -8168,7 +8145,7 @@ "falseBody": { "id": 628, "nodeType": "Block", - "src": "12462:348:0", + "src": "12465:348:0", "statements": [ { "expression": { @@ -8184,7 +8161,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 578, - "src": "12548:8:0", + "src": "12551:8:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -8197,7 +8174,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 580, - "src": "12578:9:0", + "src": "12581:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -8210,7 +8187,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 582, - "src": "12609:12:0", + "src": "12612:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -8223,7 +8200,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 584, - "src": "12643:5:0", + "src": "12646:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8236,7 +8213,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 586, - "src": "12670:6:0", + "src": "12673:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8249,7 +8226,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 588, - "src": "12698:9:0", + "src": "12701:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8262,7 +8239,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1395, - "src": "12729:4:0", + "src": "12732:4:0", "typeDescriptions": { "typeIdentifier": "t_contract$_Escrow_v1_0_$1205", "typeString": "contract Escrow_v1_0" @@ -8275,7 +8252,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 590, - "src": "12755:12:0", + "src": "12758:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8324,7 +8301,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1365, - "src": "12510:3:0", + "src": "12513:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" @@ -8338,7 +8315,7 @@ "memberName": "encodePacked", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "12510:16:0", + "src": "12513:16:0", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" @@ -8352,7 +8329,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "12510:275:0", + "src": "12513:275:0", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -8371,7 +8348,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1372, - "src": "12483:9:0", + "src": "12486:9:0", "typeDescriptions": { "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", "typeString": "function () pure returns (bytes32)" @@ -8385,7 +8362,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "12483:316:0", + "src": "12486:316:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -8394,17 +8371,17 @@ "functionReturnParameters": 594, "id": 627, "nodeType": "Return", - "src": "12476:323:0" + "src": "12479:323:0" } ] }, "id": 629, "nodeType": "IfStatement", - "src": "12110:700:0", + "src": "12113:700:0", "trueBody": { "id": 613, "nodeType": "Block", - "src": "12142:314:0", + "src": "12145:314:0", "statements": [ { "expression": { @@ -8420,7 +8397,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 578, - "src": "12228:8:0", + "src": "12231:8:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -8433,7 +8410,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 580, - "src": "12258:9:0", + "src": "12261:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -8446,7 +8423,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 582, - "src": "12289:12:0", + "src": "12292:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -8459,7 +8436,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 584, - "src": "12323:5:0", + "src": "12326:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8472,7 +8449,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 586, - "src": "12350:6:0", + "src": "12353:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8485,7 +8462,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 588, - "src": "12378:9:0", + "src": "12381:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8498,7 +8475,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1395, - "src": "12409:4:0", + "src": "12412:4:0", "typeDescriptions": { "typeIdentifier": "t_contract$_Escrow_v1_0_$1205", "typeString": "contract Escrow_v1_0" @@ -8543,7 +8520,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1365, - "src": "12190:3:0", + "src": "12193:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" @@ -8557,7 +8534,7 @@ "memberName": "encodePacked", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "12190:16:0", + "src": "12193:16:0", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" @@ -8571,7 +8548,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "12190:241:0", + "src": "12193:241:0", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -8590,7 +8567,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1372, - "src": "12163:9:0", + "src": "12166:9:0", "typeDescriptions": { "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", "typeString": "function () pure returns (bytes32)" @@ -8604,7 +8581,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "12163:282:0", + "src": "12166:282:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -8613,7 +8590,7 @@ "functionReturnParameters": 594, "id": 612, "nodeType": "Return", - "src": "12156:289:0" + "src": "12159:289:0" } ] } @@ -8638,7 +8615,7 @@ "name": "uniqueId", "nodeType": "VariableDeclaration", "scope": 631, - "src": "11861:16:0", + "src": "11864:16:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8649,7 +8626,7 @@ "id": 577, "name": "bytes20", "nodeType": "ElementaryTypeName", - "src": "11861:7:0", + "src": "11864:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -8664,7 +8641,7 @@ "name": "threshold", "nodeType": "VariableDeclaration", "scope": 631, - "src": "11887:15:0", + "src": "11890:15:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8675,7 +8652,7 @@ "id": 579, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "11887:5:0", + "src": "11890:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -8690,7 +8667,7 @@ "name": "timeoutHours", "nodeType": "VariableDeclaration", "scope": 631, - "src": "11912:19:0", + "src": "11915:19:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8701,7 +8678,7 @@ "id": 581, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "11912:6:0", + "src": "11915:6:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -8716,7 +8693,7 @@ "name": "buyer", "nodeType": "VariableDeclaration", "scope": 631, - "src": "11941:13:0", + "src": "11944:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8727,7 +8704,7 @@ "id": 583, "name": "address", "nodeType": "ElementaryTypeName", - "src": "11941:7:0", + "src": "11944:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8742,7 +8719,7 @@ "name": "seller", "nodeType": "VariableDeclaration", "scope": 631, - "src": "11964:14:0", + "src": "11967:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8753,7 +8730,7 @@ "id": 585, "name": "address", "nodeType": "ElementaryTypeName", - "src": "11964:7:0", + "src": "11967:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8768,7 +8745,7 @@ "name": "moderator", "nodeType": "VariableDeclaration", "scope": 631, - "src": "11988:17:0", + "src": "11991:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8779,7 +8756,7 @@ "id": 587, "name": "address", "nodeType": "ElementaryTypeName", - "src": "11988:7:0", + "src": "11991:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8794,7 +8771,7 @@ "name": "tokenAddress", "nodeType": "VariableDeclaration", "scope": 631, - "src": "12015:20:0", + "src": "12018:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8805,7 +8782,7 @@ "id": 589, "name": "address", "nodeType": "ElementaryTypeName", - "src": "12015:7:0", + "src": "12018:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8815,7 +8792,7 @@ "visibility": "internal" } ], - "src": "11851:190:0" + "src": "11854:190:0" }, "payable": false, "returnParameters": { @@ -8828,7 +8805,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 631, - "src": "12087:7:0", + "src": "12090:7:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8839,7 +8816,7 @@ "id": 592, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "12087:7:0", + "src": "12090:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -8849,10 +8826,10 @@ "visibility": "internal" } ], - "src": "12086:9:0" + "src": "12089:9:0" }, "scope": 1205, - "src": "11817:999:0", + "src": "11820:999:0", "stateMutability": "view", "superFunction": null, "visibility": "public" @@ -8861,7 +8838,7 @@ "body": { "id": 699, "nodeType": "Block", - "src": "13300:795:0", + "src": "13304:797:0", "statements": [ { "assignments": [ @@ -8874,7 +8851,7 @@ "name": "lastRecovered", "nodeType": "VariableDeclaration", "scope": 700, - "src": "13310:21:0", + "src": "13314:21:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8885,7 +8862,7 @@ "id": 651, "name": "address", "nodeType": "ElementaryTypeName", - "src": "13310:7:0", + "src": "13314:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8906,7 +8883,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 634, - "src": "13364:4:0", + "src": "13369:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr", "typeString": "uint8[] memory" @@ -8919,7 +8896,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 637, - "src": "13382:4:0", + "src": "13387:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" @@ -8932,7 +8909,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 640, - "src": "13400:4:0", + "src": "13405:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" @@ -8945,7 +8922,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 642, - "src": "13418:10:0", + "src": "13423:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -8958,7 +8935,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 645, - "src": "13442:12:0", + "src": "13447:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -8971,7 +8948,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 648, - "src": "13468:7:0", + "src": "13473:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" @@ -9006,11 +8983,11 @@ } ], "id": 653, - "name": "verifySignatures", + "name": "_verifySignatures", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1016, - "src": "13334:16:0", + "src": "13338:17:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_array$_t_uint8_$dyn_memory_ptr_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_bytes32_$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$_t_address_$", "typeString": "function (uint8[] memory,bytes32[] memory,bytes32[] memory,bytes32,address[] memory,uint256[] memory) returns (address)" @@ -9024,14 +9001,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "13334:151:0", + "src": "13338:152:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "VariableDeclarationStatement", - "src": "13310:175:0" + "src": "13314:176:0" }, { "assignments": [ @@ -9044,7 +9021,7 @@ "name": "timeLockExpired", "nodeType": "VariableDeclaration", "scope": 700, - "src": "13496:20:0", + "src": "13501:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9055,7 +9032,7 @@ "id": 662, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "13496:4:0", + "src": "13501:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -9080,7 +9057,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "13550:12:0", + "src": "13556:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -9094,7 +9071,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 642, - "src": "13563:10:0", + "src": "13569:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -9105,7 +9082,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "13550:24:0", + "src": "13556:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -9119,7 +9096,7 @@ "memberName": "timeoutHours", "nodeType": "MemberAccess", "referencedDeclaration": 50, - "src": "13550:37:0", + "src": "13556:37:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -9136,7 +9113,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "13601:12:0", + "src": "13607:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -9150,7 +9127,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 642, - "src": "13614:10:0", + "src": "13620:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -9161,7 +9138,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "13601:24:0", + "src": "13607:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -9175,7 +9152,7 @@ "memberName": "lastModified", "nodeType": "MemberAccess", "referencedDeclaration": 42, - "src": "13601:37:0", + "src": "13607:37:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9194,11 +9171,11 @@ } ], "id": 664, - "name": "isTimeLockExpired", + "name": "_isTimeLockExpired", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1048, - "src": "13519:17:0", + "src": "13524:18:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_uint32_$_t_uint256_$returns$_t_bool_$", "typeString": "function (uint32,uint256) view returns (bool)" @@ -9212,14 +9189,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "13519:129:0", + "src": "13524:130:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "nodeType": "VariableDeclarationStatement", - "src": "13496:152:0" + "src": "13501:153:0" }, { "condition": { @@ -9253,7 +9230,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 634, - "src": "13820:4:0", + "src": "13826:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr", "typeString": "uint8[] memory" @@ -9267,7 +9244,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "13820:11:0", + "src": "13826:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9286,7 +9263,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "13834:12:0", + "src": "13840:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -9300,7 +9277,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 642, - "src": "13847:10:0", + "src": "13853:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -9311,7 +9288,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "13834:24:0", + "src": "13840:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -9325,13 +9302,13 @@ "memberName": "threshold", "nodeType": "MemberAccess", "referencedDeclaration": 48, - "src": "13834:34:0", + "src": "13840:34:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, - "src": "13820:48:0", + "src": "13826:48:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -9363,7 +9340,7 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "13873:16:0", + "src": "13879:16:0", "subExpression": { "argumentTypes": null, "id": 682, @@ -9371,7 +9348,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 663, - "src": "13874:15:0", + "src": "13880:15:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -9402,7 +9379,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 652, - "src": "13893:13:0", + "src": "13899:13:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -9421,7 +9398,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "13910:12:0", + "src": "13916:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -9435,7 +9412,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 642, - "src": "13923:10:0", + "src": "13929:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -9446,7 +9423,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "13910:24:0", + "src": "13916:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -9460,19 +9437,19 @@ "memberName": "seller", "nodeType": "MemberAccess", "referencedDeclaration": 54, - "src": "13910:31:0", + "src": "13916:31:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "13893:48:0", + "src": "13899:48:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "13873:68:0", + "src": "13879:68:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -9486,13 +9463,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "13872:70:0", + "src": "13878:70:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "13820:122:0", + "src": "13826:122:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -9501,11 +9478,11 @@ "falseBody": null, "id": 698, "nodeType": "IfStatement", - "src": "13799:289:0", + "src": "13805:289:0", "trueBody": { "id": 697, "nodeType": "Block", - "src": "13965:123:0", + "src": "13971:123:0", "statements": [ { "expression": { @@ -9521,7 +9498,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "13986:90:0", + "src": "13992:90:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_e454643f61f81e3a3dc8dabaafde295fea592e232abeb03abbb1835bdc3d20d0", @@ -9545,7 +9522,7 @@ 1384 ], "referencedDeclaration": 1384, - "src": "13979:6:0", + "src": "13985:6:0", "typeDescriptions": { "typeIdentifier": "t_function_revert_pure$_t_string_memory_ptr_$returns$__$", "typeString": "function (string memory) pure" @@ -9559,7 +9536,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "13979:98:0", + "src": "13985:98:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -9567,7 +9544,7 @@ }, "id": 696, "nodeType": "ExpressionStatement", - "src": "13979:98:0" + "src": "13985:98:0" } ] } @@ -9580,7 +9557,7 @@ "isConstructor": false, "isDeclaredConst": false, "modifiers": [], - "name": "verifyTransaction", + "name": "_verifyTransaction", "nodeType": "FunctionDefinition", "parameters": { "id": 649, @@ -9592,7 +9569,7 @@ "name": "sigV", "nodeType": "VariableDeclaration", "scope": 700, - "src": "13126:12:0", + "src": "13130:12:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9604,7 +9581,7 @@ "id": 632, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "13126:5:0", + "src": "13130:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -9613,7 +9590,7 @@ "id": 633, "length": null, "nodeType": "ArrayTypeName", - "src": "13126:7:0", + "src": "13130:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_storage_ptr", "typeString": "uint8[]" @@ -9628,7 +9605,7 @@ "name": "sigR", "nodeType": "VariableDeclaration", "scope": 700, - "src": "13148:14:0", + "src": "13152:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9640,7 +9617,7 @@ "id": 635, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "13148:7:0", + "src": "13152:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -9649,7 +9626,7 @@ "id": 636, "length": null, "nodeType": "ArrayTypeName", - "src": "13148:9:0", + "src": "13152:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -9664,7 +9641,7 @@ "name": "sigS", "nodeType": "VariableDeclaration", "scope": 700, - "src": "13172:14:0", + "src": "13176:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9676,7 +9653,7 @@ "id": 638, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "13172:7:0", + "src": "13176:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -9685,7 +9662,7 @@ "id": 639, "length": null, "nodeType": "ArrayTypeName", - "src": "13172:9:0", + "src": "13176:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -9700,7 +9677,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 700, - "src": "13196:18:0", + "src": "13200:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9711,7 +9688,7 @@ "id": 641, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "13196:7:0", + "src": "13200:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -9726,7 +9703,7 @@ "name": "destinations", "nodeType": "VariableDeclaration", "scope": 700, - "src": "13224:22:0", + "src": "13228:22:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9738,7 +9715,7 @@ "id": 643, "name": "address", "nodeType": "ElementaryTypeName", - "src": "13224:7:0", + "src": "13228:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -9747,7 +9724,7 @@ "id": 644, "length": null, "nodeType": "ArrayTypeName", - "src": "13224:9:0", + "src": "13228:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", "typeString": "address[]" @@ -9762,7 +9739,7 @@ "name": "amounts", "nodeType": "VariableDeclaration", "scope": 700, - "src": "13256:17:0", + "src": "13260:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9774,7 +9751,7 @@ "id": 646, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "13256:7:0", + "src": "13260:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9783,7 +9760,7 @@ "id": 647, "length": null, "nodeType": "ArrayTypeName", - "src": "13256:9:0", + "src": "13260:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -9793,17 +9770,17 @@ "visibility": "internal" } ], - "src": "13116:163:0" + "src": "13120:163:0" }, "payable": false, "returnParameters": { "id": 650, "nodeType": "ParameterList", "parameters": [], - "src": "13300:0:0" + "src": "13304:0:0" }, "scope": 1205, - "src": "13090:1005:0", + "src": "13093:1008:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "private" @@ -9812,7 +9789,7 @@ "body": { "id": 886, "nodeType": "Block", - "src": "14381:1362:0", + "src": "14388:1362:0", "statements": [ { "assignments": [ @@ -9825,7 +9802,7 @@ "name": "t", "nodeType": "VariableDeclaration", "scope": 887, - "src": "14391:21:0", + "src": "14398:21:0", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { @@ -9838,7 +9815,7 @@ "name": "Transaction", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 71, - "src": "14391:11:0", + "src": "14398:11:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction" @@ -9858,7 +9835,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "14415:12:0", + "src": "14422:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -9872,7 +9849,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 702, - "src": "14428:10:0", + "src": "14435:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -9883,14 +9860,14 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "14415:24:0", + "src": "14422:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "14391:48:0" + "src": "14398:48:0" }, { "assignments": [ @@ -9903,7 +9880,7 @@ "name": "valueTransferred", "nodeType": "VariableDeclaration", "scope": 887, - "src": "14450:24:0", + "src": "14457:24:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9914,7 +9891,7 @@ "id": 719, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "14450:7:0", + "src": "14457:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9935,7 +9912,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "14477:1:0", + "src": "14484:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -9944,7 +9921,7 @@ "value": "0" }, "nodeType": "VariableDeclarationStatement", - "src": "14450:28:0" + "src": "14457:28:0" }, { "condition": { @@ -9967,7 +9944,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 714, - "src": "14493:1:0", + "src": "14500:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" @@ -9981,7 +9958,7 @@ "memberName": "transactionType", "nodeType": "MemberAccess", "referencedDeclaration": 46, - "src": "14493:17:0", + "src": "14500:17:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -9998,7 +9975,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12, - "src": "14514:15:0", + "src": "14521:15:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_TransactionType_$12_$", "typeString": "type(enum Escrow_v1_0.TransactionType)" @@ -10012,13 +9989,13 @@ "memberName": "ETHER", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "14514:21:0", + "src": "14521:21:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" } }, - "src": "14493:42:0", + "src": "14500:42:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -10045,7 +10022,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 714, - "src": "15049:1:0", + "src": "15056:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" @@ -10059,7 +10036,7 @@ "memberName": "transactionType", "nodeType": "MemberAccess", "referencedDeclaration": 46, - "src": "15049:17:0", + "src": "15056:17:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -10076,7 +10053,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12, - "src": "15070:15:0", + "src": "15077:15:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_TransactionType_$12_$", "typeString": "type(enum Escrow_v1_0.TransactionType)" @@ -10090,13 +10067,13 @@ "memberName": "TOKEN", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "15070:21:0", + "src": "15077:21:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" } }, - "src": "15049:42:0", + "src": "15056:42:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -10105,11 +10082,11 @@ "falseBody": null, "id": 882, "nodeType": "IfStatement", - "src": "15045:658:0", + "src": "15052:658:0", "trueBody": { "id": 881, "nodeType": "Block", - "src": "15093:610:0", + "src": "15100:610:0", "statements": [ { "assignments": [ @@ -10122,7 +10099,7 @@ "name": "token", "nodeType": "VariableDeclaration", "scope": 887, - "src": "15108:20:0", + "src": "15115:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -10135,7 +10112,7 @@ "name": "ITokenContract", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 1235, - "src": "15108:14:0", + "src": "15115:14:0", "typeDescriptions": { "typeIdentifier": "t_contract$_ITokenContract_$1235", "typeString": "contract ITokenContract" @@ -10158,7 +10135,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 714, - "src": "15146:1:0", + "src": "15153:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" @@ -10172,7 +10149,7 @@ "memberName": "tokenAddress", "nodeType": "MemberAccess", "referencedDeclaration": 56, - "src": "15146:14:0", + "src": "15153:14:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -10191,7 +10168,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1235, - "src": "15131:14:0", + "src": "15138:14:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_ITokenContract_$1235_$", "typeString": "type(contract ITokenContract)" @@ -10205,20 +10182,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15131:30:0", + "src": "15138:30:0", "typeDescriptions": { "typeIdentifier": "t_contract$_ITokenContract_$1235", "typeString": "contract ITokenContract" } }, "nodeType": "VariableDeclarationStatement", - "src": "15108:53:0" + "src": "15115:53:0" }, { "body": { "id": 879, "nodeType": "Block", - "src": "15224:469:0", + "src": "15231:469:0", "statements": [ { "expression": { @@ -10255,7 +10232,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 705, - "src": "15251:12:0", + "src": "15258:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -10269,7 +10246,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 810, - "src": "15264:1:0", + "src": "15271:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10280,7 +10257,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15251:15:0", + "src": "15258:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -10301,7 +10278,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "15278:1:0", + "src": "15285:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -10323,7 +10300,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "15270:7:0", + "src": "15277:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" @@ -10338,13 +10315,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15270:10:0", + "src": "15277:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "15251:29:0", + "src": "15258:29:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -10363,7 +10340,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 714, - "src": "15284:1:0", + "src": "15291:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" @@ -10377,7 +10354,7 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "15284:9:0", + "src": "15291:9:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -10393,7 +10370,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 705, - "src": "15294:12:0", + "src": "15301:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -10407,7 +10384,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 810, - "src": "15307:1:0", + "src": "15314:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10418,7 +10395,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15294:15:0", + "src": "15301:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -10429,13 +10406,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15284:26:0", + "src": "15291:26:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "15251:59:0", + "src": "15258:59:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -10451,7 +10428,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "15312:25:0", + "src": "15319:25:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_4b4c116dbf18274831a2b569c567d9fd9a0e9828a6c86ee9f93e80400fb6c49f", @@ -10479,7 +10456,7 @@ 1382 ], "referencedDeclaration": 1382, - "src": "15243:7:0", + "src": "15250:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -10493,7 +10470,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15243:95:0", + "src": "15250:95:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -10501,7 +10478,7 @@ }, "id": 837, "nodeType": "ExpressionStatement", - "src": "15243:95:0" + "src": "15250:95:0" }, { "expression": { @@ -10527,7 +10504,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 708, - "src": "15364:7:0", + "src": "15371:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" @@ -10541,7 +10518,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 810, - "src": "15372:1:0", + "src": "15379:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10552,7 +10529,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15364:10:0", + "src": "15371:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10570,7 +10547,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "15377:1:0", + "src": "15384:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -10578,7 +10555,7 @@ }, "value": "0" }, - "src": "15364:14:0", + "src": "15371:14:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -10594,7 +10571,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "15380:44:0", + "src": "15387:44:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_5e1271a09dbb64ae031de288deb0ad8d707df7db51d6e827931dc8fa6642a71e", @@ -10622,7 +10599,7 @@ 1382 ], "referencedDeclaration": 1382, - "src": "15356:7:0", + "src": "15363:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -10636,7 +10613,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15356:69:0", + "src": "15363:69:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -10644,7 +10621,7 @@ }, "id": 846, "nodeType": "ExpressionStatement", - "src": "15356:69:0" + "src": "15363:69:0" }, { "expression": { @@ -10661,7 +10638,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 720, - "src": "15444:16:0", + "src": "15451:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10681,7 +10658,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 708, - "src": "15484:7:0", + "src": "15491:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" @@ -10695,7 +10672,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 810, - "src": "15492:1:0", + "src": "15499:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10706,7 +10683,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15484:10:0", + "src": "15491:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10727,7 +10704,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 720, - "src": "15463:16:0", + "src": "15470:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10741,7 +10718,7 @@ "memberName": "add", "nodeType": "MemberAccess", "referencedDeclaration": 1342, - "src": "15463:20:0", + "src": "15470:20:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" @@ -10755,13 +10732,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15463:32:0", + "src": "15470:32:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "15444:51:0", + "src": "15451:51:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10769,7 +10746,7 @@ }, "id": 855, "nodeType": "ExpressionStatement", - "src": "15444:51:0" + "src": "15451:51:0" }, { "expression": { @@ -10790,7 +10767,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 714, - "src": "15513:1:0", + "src": "15520:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" @@ -10804,7 +10781,7 @@ "memberName": "beneficiaries", "nodeType": "MemberAccess", "referencedDeclaration": 70, - "src": "15513:15:0", + "src": "15520:15:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -10820,7 +10797,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 705, - "src": "15529:12:0", + "src": "15536:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -10834,7 +10811,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 810, - "src": "15542:1:0", + "src": "15549:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10845,7 +10822,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15529:15:0", + "src": "15536:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -10856,7 +10833,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "15513:32:0", + "src": "15520:32:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -10874,7 +10851,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "15548:4:0", + "src": "15555:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -10882,7 +10859,7 @@ }, "value": "true" }, - "src": "15513:39:0", + "src": "15520:39:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -10890,7 +10867,7 @@ }, "id": 865, "nodeType": "ExpressionStatement", - "src": "15513:39:0" + "src": "15520:39:0" }, { "expression": { @@ -10908,7 +10885,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 705, - "src": "15623:12:0", + "src": "15630:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -10922,7 +10899,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 810, - "src": "15636:1:0", + "src": "15643:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10933,7 +10910,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15623:15:0", + "src": "15630:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -10948,7 +10925,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 708, - "src": "15640:7:0", + "src": "15647:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" @@ -10962,7 +10939,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 810, - "src": "15648:1:0", + "src": "15655:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10973,7 +10950,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15640:10:0", + "src": "15647:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10998,7 +10975,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 803, - "src": "15608:5:0", + "src": "15615:5:0", "typeDescriptions": { "typeIdentifier": "t_contract$_ITokenContract_$1235", "typeString": "contract ITokenContract" @@ -11012,7 +10989,7 @@ "memberName": "transfer", "nodeType": "MemberAccess", "referencedDeclaration": 1223, - "src": "15608:14:0", + "src": "15615:14:0", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", "typeString": "function (address,uint256) external returns (bool)" @@ -11026,7 +11003,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15608:43:0", + "src": "15615:43:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -11042,7 +11019,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "15653:24:0", + "src": "15660:24:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_e545223bb79d8456d66fa5a98897abb42bb4807111f004a120200da3b7e292c5", @@ -11070,7 +11047,7 @@ 1382 ], "referencedDeclaration": 1382, - "src": "15600:7:0", + "src": "15607:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -11084,7 +11061,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15600:78:0", + "src": "15607:78:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -11092,7 +11069,7 @@ }, "id": 878, "nodeType": "ExpressionStatement", - "src": "15600:78:0" + "src": "15607:78:0" } ] }, @@ -11114,7 +11091,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 810, - "src": "15196:1:0", + "src": "15203:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11131,7 +11108,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 705, - "src": "15198:12:0", + "src": "15205:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -11145,13 +11122,13 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "15198:19:0", + "src": "15205:19:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "15196:21:0", + "src": "15203:21:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -11169,7 +11146,7 @@ "name": "j", "nodeType": "VariableDeclaration", "scope": 887, - "src": "15181:9:0", + "src": "15188:9:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -11180,7 +11157,7 @@ "id": 809, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "15181:7:0", + "src": "15188:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11201,7 +11178,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "15193:1:0", + "src": "15200:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -11210,7 +11187,7 @@ "value": "0" }, "nodeType": "VariableDeclarationStatement", - "src": "15181:13:0" + "src": "15188:13:0" }, "loopExpression": { "expression": { @@ -11223,7 +11200,7 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "15219:3:0", + "src": "15226:3:0", "subExpression": { "argumentTypes": null, "id": 817, @@ -11231,7 +11208,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 810, - "src": "15219:1:0", + "src": "15226:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11244,27 +11221,27 @@ }, "id": 819, "nodeType": "ExpressionStatement", - "src": "15219:3:0" + "src": "15226:3:0" }, "nodeType": "ForStatement", - "src": "15176:517:0" + "src": "15183:517:0" } ] } }, "id": 883, "nodeType": "IfStatement", - "src": "14489:1214:0", + "src": "14496:1214:0", "trueBody": { "id": 796, "nodeType": "Block", - "src": "14537:502:0", + "src": "14544:502:0", "statements": [ { "body": { "id": 794, "nodeType": "Block", - "src": "14601:427:0", + "src": "14608:427:0", "statements": [ { "expression": { @@ -11301,7 +11278,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 705, - "src": "14628:12:0", + "src": "14635:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -11315,7 +11292,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 729, - "src": "14641:1:0", + "src": "14648:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11326,7 +11303,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "14628:15:0", + "src": "14635:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -11347,7 +11324,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "14655:1:0", + "src": "14662:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -11369,7 +11346,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "14647:7:0", + "src": "14654:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" @@ -11384,13 +11361,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "14647:10:0", + "src": "14654:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "14628:29:0", + "src": "14635:29:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -11409,7 +11386,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 714, - "src": "14661:1:0", + "src": "14668:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" @@ -11423,7 +11400,7 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "14661:9:0", + "src": "14668:9:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -11439,7 +11416,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 705, - "src": "14671:12:0", + "src": "14678:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -11453,7 +11430,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 729, - "src": "14684:1:0", + "src": "14691:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11464,7 +11441,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "14671:15:0", + "src": "14678:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -11475,13 +11452,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "14661:26:0", + "src": "14668:26:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "14628:59:0", + "src": "14635:59:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -11497,7 +11474,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "14689:25:0", + "src": "14696:25:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_4b4c116dbf18274831a2b569c567d9fd9a0e9828a6c86ee9f93e80400fb6c49f", @@ -11525,7 +11502,7 @@ 1382 ], "referencedDeclaration": 1382, - "src": "14620:7:0", + "src": "14627:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -11539,7 +11516,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "14620:95:0", + "src": "14627:95:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -11547,7 +11524,7 @@ }, "id": 756, "nodeType": "ExpressionStatement", - "src": "14620:95:0" + "src": "14627:95:0" }, { "expression": { @@ -11573,7 +11550,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 708, - "src": "14741:7:0", + "src": "14748:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" @@ -11587,7 +11564,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 729, - "src": "14749:1:0", + "src": "14756:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11598,7 +11575,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "14741:10:0", + "src": "14748:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11616,7 +11593,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "14754:1:0", + "src": "14761:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -11624,7 +11601,7 @@ }, "value": "0" }, - "src": "14741:14:0", + "src": "14748:14:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -11640,7 +11617,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "14757:44:0", + "src": "14764:44:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_5e1271a09dbb64ae031de288deb0ad8d707df7db51d6e827931dc8fa6642a71e", @@ -11668,7 +11645,7 @@ 1382 ], "referencedDeclaration": 1382, - "src": "14733:7:0", + "src": "14740:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -11682,7 +11659,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "14733:69:0", + "src": "14740:69:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -11690,7 +11667,7 @@ }, "id": 765, "nodeType": "ExpressionStatement", - "src": "14733:69:0" + "src": "14740:69:0" }, { "expression": { @@ -11707,7 +11684,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 720, - "src": "14821:16:0", + "src": "14828:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11727,7 +11704,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 708, - "src": "14861:7:0", + "src": "14868:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" @@ -11741,7 +11718,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 729, - "src": "14869:1:0", + "src": "14876:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11752,7 +11729,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "14861:10:0", + "src": "14868:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11773,7 +11750,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 720, - "src": "14840:16:0", + "src": "14847:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11787,7 +11764,7 @@ "memberName": "add", "nodeType": "MemberAccess", "referencedDeclaration": 1342, - "src": "14840:20:0", + "src": "14847:20:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" @@ -11801,13 +11778,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "14840:32:0", + "src": "14847:32:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "14821:51:0", + "src": "14828:51:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11815,7 +11792,7 @@ }, "id": 774, "nodeType": "ExpressionStatement", - "src": "14821:51:0" + "src": "14828:51:0" }, { "expression": { @@ -11836,7 +11813,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 714, - "src": "14891:1:0", + "src": "14898:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" @@ -11850,7 +11827,7 @@ "memberName": "beneficiaries", "nodeType": "MemberAccess", "referencedDeclaration": 70, - "src": "14891:15:0", + "src": "14898:15:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -11866,7 +11843,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 705, - "src": "14907:12:0", + "src": "14914:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -11880,7 +11857,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 729, - "src": "14920:1:0", + "src": "14927:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11891,7 +11868,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "14907:15:0", + "src": "14914:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -11902,7 +11879,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "14891:32:0", + "src": "14898:32:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -11920,7 +11897,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "14926:4:0", + "src": "14933:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -11928,7 +11905,7 @@ }, "value": "true" }, - "src": "14891:39:0", + "src": "14898:39:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -11936,7 +11913,7 @@ }, "id": 784, "nodeType": "ExpressionStatement", - "src": "14891:39:0" + "src": "14898:39:0" }, { "expression": { @@ -11951,7 +11928,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 708, - "src": "15002:7:0", + "src": "15009:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" @@ -11965,7 +11942,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 729, - "src": "15010:1:0", + "src": "15017:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11976,7 +11953,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15002:10:0", + "src": "15009:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11999,7 +11976,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 705, - "src": "14977:12:0", + "src": "14984:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -12013,7 +11990,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 729, - "src": "14990:1:0", + "src": "14997:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12024,7 +12001,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "14977:15:0", + "src": "14984:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -12038,7 +12015,7 @@ "memberName": "transfer", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "14977:24:0", + "src": "14984:24:0", "typeDescriptions": { "typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$", "typeString": "function (uint256)" @@ -12052,7 +12029,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "14977:36:0", + "src": "14984:36:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -12060,7 +12037,7 @@ }, "id": 793, "nodeType": "ExpressionStatement", - "src": "14977:36:0" + "src": "14984:36:0" } ] }, @@ -12082,7 +12059,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 729, - "src": "14571:1:0", + "src": "14578:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12099,7 +12076,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 705, - "src": "14575:12:0", + "src": "14582:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -12113,13 +12090,13 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "14575:19:0", + "src": "14582:19:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "14571:23:0", + "src": "14578:23:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -12137,7 +12114,7 @@ "name": "i", "nodeType": "VariableDeclaration", "scope": 887, - "src": "14556:9:0", + "src": "14563:9:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12148,7 +12125,7 @@ "id": 728, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "14556:7:0", + "src": "14563:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12169,7 +12146,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "14568:1:0", + "src": "14575:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -12178,7 +12155,7 @@ "value": "0" }, "nodeType": "VariableDeclarationStatement", - "src": "14556:13:0" + "src": "14563:13:0" }, "loopExpression": { "expression": { @@ -12191,7 +12168,7 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "14596:3:0", + "src": "14603:3:0", "subExpression": { "argumentTypes": null, "id": 736, @@ -12199,7 +12176,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 729, - "src": "14596:1:0", + "src": "14603:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12212,10 +12189,10 @@ }, "id": 738, "nodeType": "ExpressionStatement", - "src": "14596:3:0" + "src": "14603:3:0" }, "nodeType": "ForStatement", - "src": "14551:477:0" + "src": "14558:477:0" } ] } @@ -12228,7 +12205,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 720, - "src": "15720:16:0", + "src": "15727:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12237,7 +12214,7 @@ "functionReturnParameters": 712, "id": 885, "nodeType": "Return", - "src": "15713:23:0" + "src": "15720:23:0" } ] }, @@ -12247,7 +12224,7 @@ "isConstructor": false, "isDeclaredConst": false, "modifiers": [], - "name": "transferFunds", + "name": "_transferFunds", "nodeType": "FunctionDefinition", "parameters": { "id": 709, @@ -12259,7 +12236,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 887, - "src": "14253:18:0", + "src": "14260:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12270,7 +12247,7 @@ "id": 701, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "14253:7:0", + "src": "14260:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -12285,7 +12262,7 @@ "name": "destinations", "nodeType": "VariableDeclaration", "scope": 887, - "src": "14281:21:0", + "src": "14288:21:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12297,7 +12274,7 @@ "id": 703, "name": "address", "nodeType": "ElementaryTypeName", - "src": "14281:7:0", + "src": "14288:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -12306,7 +12283,7 @@ "id": 704, "length": null, "nodeType": "ArrayTypeName", - "src": "14281:9:0", + "src": "14288:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", "typeString": "address[]" @@ -12321,7 +12298,7 @@ "name": "amounts", "nodeType": "VariableDeclaration", "scope": 887, - "src": "14312:16:0", + "src": "14319:16:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12333,7 +12310,7 @@ "id": 706, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "14312:7:0", + "src": "14319:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12342,7 +12319,7 @@ "id": 707, "length": null, "nodeType": "ArrayTypeName", - "src": "14312:9:0", + "src": "14319:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -12352,7 +12329,7 @@ "visibility": "internal" } ], - "src": "14243:91:0" + "src": "14250:91:0" }, "payable": false, "returnParameters": { @@ -12365,7 +12342,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 887, - "src": "14368:7:0", + "src": "14375:7:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12376,7 +12353,7 @@ "id": 710, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "14368:7:0", + "src": "14375:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12386,10 +12363,10 @@ "visibility": "internal" } ], - "src": "14367:9:0" + "src": "14374:9:0" }, "scope": 1205, - "src": "14221:1522:0", + "src": "14227:1523:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "private" @@ -12398,7 +12375,7 @@ "body": { "id": 1015, "nodeType": "Block", - "src": "16162:1337:0", + "src": "16170:1337:0", "statements": [ { "expression": { @@ -12435,7 +12412,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 893, - "src": "16194:4:0", + "src": "16202:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" @@ -12449,7 +12426,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "16194:11:0", + "src": "16202:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12466,7 +12443,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 896, - "src": "16209:4:0", + "src": "16217:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" @@ -12480,13 +12457,13 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "16209:11:0", + "src": "16217:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "16194:26:0", + "src": "16202:26:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -12514,7 +12491,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 893, - "src": "16224:4:0", + "src": "16232:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" @@ -12528,7 +12505,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "16224:11:0", + "src": "16232:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12545,7 +12522,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 890, - "src": "16239:4:0", + "src": "16247:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr", "typeString": "uint8[] memory" @@ -12559,19 +12536,19 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "16239:11:0", + "src": "16247:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "16224:26:0", + "src": "16232:26:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "16194:56:0", + "src": "16202:56:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -12587,7 +12564,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "16265:24:0", + "src": "16273:24:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_f85073c8befb65baed58ca1ee563e5da0bdbdce8abd4d29ef22a8329c7c97506", @@ -12615,7 +12592,7 @@ 1382 ], "referencedDeclaration": 1382, - "src": "16173:7:0", + "src": "16181:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -12629,7 +12606,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16173:126:0", + "src": "16181:126:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -12637,7 +12614,7 @@ }, "id": 923, "nodeType": "ExpressionStatement", - "src": "16173:126:0" + "src": "16181:126:0" }, { "assignments": [], @@ -12648,7 +12625,7 @@ "name": "lastAddress", "nodeType": "VariableDeclaration", "scope": 1016, - "src": "16310:19:0", + "src": "16318:19:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12659,7 +12636,7 @@ "id": 924, "name": "address", "nodeType": "ElementaryTypeName", - "src": "16310:7:0", + "src": "16318:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -12672,7 +12649,7 @@ "id": 926, "initialValue": null, "nodeType": "VariableDeclarationStatement", - "src": "16310:19:0" + "src": "16318:19:0" }, { "assignments": [ @@ -12685,7 +12662,7 @@ "name": "txHash", "nodeType": "VariableDeclaration", "scope": 1016, - "src": "16428:14:0", + "src": "16436:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12696,7 +12673,7 @@ "id": 927, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "16428:7:0", + "src": "16436:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -12723,7 +12700,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "16502:34:0", + "src": "16510:34:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_178a2411ab6fbc1ba11064408972259c558d0e82fd48b0aba3ad81d14f065e73", @@ -12750,7 +12727,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "16632:4:0", + "src": "16640:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_25_by_1", @@ -12772,7 +12749,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "16627:4:0", + "src": "16635:4:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes1_$", "typeString": "type(bytes1)" @@ -12787,7 +12764,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16627:10:0", + "src": "16635:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes1", "typeString": "bytes1" @@ -12806,7 +12783,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "16668:1:0", + "src": "16676:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -12828,7 +12805,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "16663:4:0", + "src": "16671:4:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes1_$", "typeString": "type(bytes1)" @@ -12843,7 +12820,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16663:7:0", + "src": "16671:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes1", "typeString": "bytes1" @@ -12856,7 +12833,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1395, - "src": "16696:4:0", + "src": "16704:4:0", "typeDescriptions": { "typeIdentifier": "t_contract$_Escrow_v1_0_$1205", "typeString": "contract Escrow_v1_0" @@ -12869,7 +12846,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 901, - "src": "16726:12:0", + "src": "16734:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -12882,7 +12859,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 904, - "src": "16764:7:0", + "src": "16772:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" @@ -12895,7 +12872,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 898, - "src": "16797:10:0", + "src": "16805:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -12936,7 +12913,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1365, - "src": "16585:3:0", + "src": "16593:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" @@ -12950,7 +12927,7 @@ "memberName": "encodePacked", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "16585:16:0", + "src": "16593:16:0", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" @@ -12964,7 +12941,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16585:244:0", + "src": "16593:244:0", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -12983,7 +12960,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1372, - "src": "16554:9:0", + "src": "16562:9:0", "typeDescriptions": { "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", "typeString": "function () pure returns (bytes32)" @@ -12997,7 +12974,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16554:293:0", + "src": "16562:293:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -13022,7 +12999,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1365, - "src": "16468:3:0", + "src": "16476:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" @@ -13036,7 +13013,7 @@ "memberName": "encodePacked", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "16468:16:0", + "src": "16476:16:0", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" @@ -13050,7 +13027,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16468:393:0", + "src": "16476:393:0", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -13069,7 +13046,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1372, - "src": "16445:9:0", + "src": "16453:9:0", "typeDescriptions": { "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", "typeString": "function () pure returns (bytes32)" @@ -13083,20 +13060,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16445:426:0", + "src": "16453:426:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "nodeType": "VariableDeclarationStatement", - "src": "16428:443:0" + "src": "16436:443:0" }, { "body": { "id": 1011, "nodeType": "Block", - "src": "16921:543:0", + "src": "16929:543:0", "statements": [ { "assignments": [ @@ -13109,7 +13086,7 @@ "name": "recovered", "nodeType": "VariableDeclaration", "scope": 1016, - "src": "16936:17:0", + "src": "16944:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -13120,7 +13097,7 @@ "id": 962, "name": "address", "nodeType": "ElementaryTypeName", - "src": "16936:7:0", + "src": "16944:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -13141,7 +13118,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 928, - "src": "16983:6:0", + "src": "16991:6:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -13156,7 +13133,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 890, - "src": "17007:4:0", + "src": "17015:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr", "typeString": "uint8[] memory" @@ -13170,7 +13147,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 952, - "src": "17012:1:0", + "src": "17020:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13181,7 +13158,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17007:7:0", + "src": "17015:7:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -13196,7 +13173,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 893, - "src": "17032:4:0", + "src": "17040:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" @@ -13210,7 +13187,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 952, - "src": "17037:1:0", + "src": "17045:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13221,7 +13198,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17032:7:0", + "src": "17040:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -13236,7 +13213,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 896, - "src": "17057:4:0", + "src": "17065:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" @@ -13250,7 +13227,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 952, - "src": "17062:1:0", + "src": "17070:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13261,7 +13238,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17057:7:0", + "src": "17065:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -13292,7 +13269,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1370, - "src": "16956:9:0", + "src": "16964:9:0", "typeDescriptions": { "typeIdentifier": "t_function_ecrecover_pure$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$_t_address_$", "typeString": "function (bytes32,uint8,bytes32,bytes32) pure returns (address)" @@ -13306,14 +13283,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16956:122:0", + "src": "16964:122:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "VariableDeclarationStatement", - "src": "16936:142:0" + "src": "16944:142:0" }, { "expression": { @@ -13332,7 +13309,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "17118:12:0", + "src": "17126:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -13346,7 +13323,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 898, - "src": "17131:10:0", + "src": "17139:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -13357,7 +13334,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17118:24:0", + "src": "17126:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -13371,7 +13348,7 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "17118:32:0", + "src": "17126:32:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -13385,7 +13362,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 963, - "src": "17151:9:0", + "src": "17159:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -13396,7 +13373,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17118:43:0", + "src": "17126:43:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -13412,7 +13389,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "17180:19:0", + "src": "17188:19:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_4f2d7dfcb27c0aafa13ae8c400de482c7832204d194018b6e45bd2bf244c74e7", @@ -13440,7 +13417,7 @@ 1382 ], "referencedDeclaration": 1382, - "src": "17093:7:0", + "src": "17101:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -13454,7 +13431,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17093:120:0", + "src": "17101:120:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -13462,7 +13439,7 @@ }, "id": 986, "nodeType": "ExpressionStatement", - "src": "17093:120:0" + "src": "17101:120:0" }, { "expression": { @@ -13478,7 +13455,7 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "17252:42:0", + "src": "17260:42:0", "subExpression": { "argumentTypes": null, "baseExpression": { @@ -13492,7 +13469,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "17253:12:0", + "src": "17261:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -13506,7 +13483,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 898, - "src": "17266:10:0", + "src": "17274:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -13517,7 +13494,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17253:24:0", + "src": "17261:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -13531,7 +13508,7 @@ "memberName": "voted", "nodeType": "MemberAccess", "referencedDeclaration": 66, - "src": "17253:30:0", + "src": "17261:30:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -13545,7 +13522,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 963, - "src": "17284:9:0", + "src": "17292:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -13556,7 +13533,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17253:41:0", + "src": "17261:41:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -13577,7 +13554,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "17313:27:0", + "src": "17321:27:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_fb2c7e49d5ec7ce36fa812cf15ee7fa946942f931d04fe3ae970516007b2a543", @@ -13605,7 +13582,7 @@ 1382 ], "referencedDeclaration": 1382, - "src": "17227:7:0", + "src": "17235:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -13619,7 +13596,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17227:127:0", + "src": "17235:127:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -13627,7 +13604,7 @@ }, "id": 997, "nodeType": "ExpressionStatement", - "src": "17227:127:0" + "src": "17235:127:0" }, { "expression": { @@ -13650,7 +13627,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "17368:12:0", + "src": "17376:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -13664,7 +13641,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 898, - "src": "17381:10:0", + "src": "17389:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -13675,7 +13652,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17368:24:0", + "src": "17376:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -13689,7 +13666,7 @@ "memberName": "voted", "nodeType": "MemberAccess", "referencedDeclaration": 66, - "src": "17368:30:0", + "src": "17376:30:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -13703,7 +13680,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 963, - "src": "17399:9:0", + "src": "17407:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -13714,7 +13691,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "17368:41:0", + "src": "17376:41:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -13732,7 +13709,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "17412:4:0", + "src": "17420:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -13740,7 +13717,7 @@ }, "value": "true" }, - "src": "17368:48:0", + "src": "17376:48:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -13748,7 +13725,7 @@ }, "id": 1006, "nodeType": "ExpressionStatement", - "src": "17368:48:0" + "src": "17376:48:0" }, { "expression": { @@ -13765,7 +13742,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 925, - "src": "17430:11:0", + "src": "17438:11:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -13780,13 +13757,13 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 963, - "src": "17444:9:0", + "src": "17452:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "17430:23:0", + "src": "17438:23:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -13794,7 +13771,7 @@ }, "id": 1010, "nodeType": "ExpressionStatement", - "src": "17430:23:0" + "src": "17438:23:0" } ] }, @@ -13816,7 +13793,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 952, - "src": "16899:1:0", + "src": "16907:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13833,7 +13810,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 893, - "src": "16903:4:0", + "src": "16911:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" @@ -13847,13 +13824,13 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "16903:11:0", + "src": "16911:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "16899:15:0", + "src": "16907:15:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -13871,7 +13848,7 @@ "name": "i", "nodeType": "VariableDeclaration", "scope": 1016, - "src": "16887:6:0", + "src": "16895:6:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -13882,7 +13859,7 @@ "id": 951, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "16887:4:0", + "src": "16895:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13903,7 +13880,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "16896:1:0", + "src": "16904:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -13912,7 +13889,7 @@ "value": "0" }, "nodeType": "VariableDeclarationStatement", - "src": "16887:10:0" + "src": "16895:10:0" }, "loopExpression": { "expression": { @@ -13925,7 +13902,7 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "16916:3:0", + "src": "16924:3:0", "subExpression": { "argumentTypes": null, "id": 959, @@ -13933,7 +13910,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 952, - "src": "16916:1:0", + "src": "16924:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13946,10 +13923,10 @@ }, "id": 961, "nodeType": "ExpressionStatement", - "src": "16916:3:0" + "src": "16924:3:0" }, "nodeType": "ForStatement", - "src": "16882:582:0" + "src": "16890:582:0" }, { "expression": { @@ -13959,7 +13936,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 925, - "src": "17481:11:0", + "src": "17489:11:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -13968,7 +13945,7 @@ "functionReturnParameters": 908, "id": 1014, "nodeType": "Return", - "src": "17474:18:0" + "src": "17482:18:0" } ] }, @@ -13978,7 +13955,7 @@ "isConstructor": false, "isDeclaredConst": false, "modifiers": [], - "name": "verifySignatures", + "name": "_verifySignatures", "nodeType": "FunctionDefinition", "parameters": { "id": 905, @@ -13990,7 +13967,7 @@ "name": "sigV", "nodeType": "VariableDeclaration", "scope": 1016, - "src": "15963:12:0", + "src": "15971:12:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14002,7 +13979,7 @@ "id": 888, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "15963:5:0", + "src": "15971:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -14011,7 +13988,7 @@ "id": 889, "length": null, "nodeType": "ArrayTypeName", - "src": "15963:7:0", + "src": "15971:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_storage_ptr", "typeString": "uint8[]" @@ -14026,7 +14003,7 @@ "name": "sigR", "nodeType": "VariableDeclaration", "scope": 1016, - "src": "15985:14:0", + "src": "15993:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14038,7 +14015,7 @@ "id": 891, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "15985:7:0", + "src": "15993:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -14047,7 +14024,7 @@ "id": 892, "length": null, "nodeType": "ArrayTypeName", - "src": "15985:9:0", + "src": "15993:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -14062,7 +14039,7 @@ "name": "sigS", "nodeType": "VariableDeclaration", "scope": 1016, - "src": "16009:14:0", + "src": "16017:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14074,7 +14051,7 @@ "id": 894, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "16009:7:0", + "src": "16017:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -14083,7 +14060,7 @@ "id": 895, "length": null, "nodeType": "ArrayTypeName", - "src": "16009:9:0", + "src": "16017:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -14098,7 +14075,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 1016, - "src": "16033:18:0", + "src": "16041:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14109,7 +14086,7 @@ "id": 897, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "16033:7:0", + "src": "16041:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -14124,7 +14101,7 @@ "name": "destinations", "nodeType": "VariableDeclaration", "scope": 1016, - "src": "16061:22:0", + "src": "16069:22:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14136,7 +14113,7 @@ "id": 899, "name": "address", "nodeType": "ElementaryTypeName", - "src": "16061:7:0", + "src": "16069:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -14145,7 +14122,7 @@ "id": 900, "length": null, "nodeType": "ArrayTypeName", - "src": "16061:9:0", + "src": "16069:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", "typeString": "address[]" @@ -14160,7 +14137,7 @@ "name": "amounts", "nodeType": "VariableDeclaration", "scope": 1016, - "src": "16093:16:0", + "src": "16101:16:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14172,7 +14149,7 @@ "id": 902, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "16093:7:0", + "src": "16101:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14181,7 +14158,7 @@ "id": 903, "length": null, "nodeType": "ArrayTypeName", - "src": "16093:9:0", + "src": "16101:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -14191,7 +14168,7 @@ "visibility": "internal" } ], - "src": "15953:162:0" + "src": "15961:162:0" }, "payable": false, "returnParameters": { @@ -14204,7 +14181,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 1016, - "src": "16149:7:0", + "src": "16157:7:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14215,7 +14192,7 @@ "id": 906, "name": "address", "nodeType": "ElementaryTypeName", - "src": "16149:7:0", + "src": "16157:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -14225,10 +14202,10 @@ "visibility": "internal" } ], - "src": "16148:9:0" + "src": "16156:9:0" }, "scope": 1205, - "src": "15928:1571:0", + "src": "15935:1572:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "private" @@ -14237,7 +14214,7 @@ "body": { "id": 1047, "nodeType": "Block", - "src": "17653:168:0", + "src": "17662:168:0", "statements": [ { "assignments": [ @@ -14250,7 +14227,7 @@ "name": "timeSince", "nodeType": "VariableDeclaration", "scope": 1048, - "src": "17663:17:0", + "src": "17672:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14261,7 +14238,7 @@ "id": 1025, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "17663:7:0", + "src": "17672:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14282,7 +14259,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1020, - "src": "17691:12:0", + "src": "17700:12:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14303,7 +14280,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1380, - "src": "17683:3:0", + "src": "17692:3:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14317,7 +14294,7 @@ "memberName": "sub", "nodeType": "MemberAccess", "referencedDeclaration": 1318, - "src": "17683:7:0", + "src": "17692:7:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" @@ -14331,14 +14308,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17683:21:0", + "src": "17692:21:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "17663:41:0" + "src": "17672:41:0" }, { "expression": { @@ -14364,7 +14341,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1018, - "src": "17735:12:0", + "src": "17744:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -14382,7 +14359,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "17751:1:0", + "src": "17760:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -14390,7 +14367,7 @@ }, "value": "0" }, - "src": "17735:17:0", + "src": "17744:17:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -14414,7 +14391,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1026, - "src": "17761:9:0", + "src": "17770:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14435,7 +14412,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "17799:4:0", + "src": "17808:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_3600_by_1", @@ -14461,7 +14438,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1018, - "src": "17781:12:0", + "src": "17790:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -14481,7 +14458,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "17773:7:0", + "src": "17782:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint256_$", "typeString": "type(uint256)" @@ -14496,7 +14473,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17773:21:0", + "src": "17782:21:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14510,7 +14487,7 @@ "memberName": "mul", "nodeType": "MemberAccess", "referencedDeclaration": 1270, - "src": "17773:25:0", + "src": "17782:25:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" @@ -14524,13 +14501,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17773:31:0", + "src": "17782:31:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "17761:43:0", + "src": "17770:43:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -14542,7 +14519,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "Conditional", - "src": "17735:69:0", + "src": "17744:69:0", "trueExpression": { "argumentTypes": null, "hexValue": "66616c7365", @@ -14553,7 +14530,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "17755:5:0", + "src": "17764:5:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -14574,7 +14551,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "17721:93:0", + "src": "17730:93:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -14583,7 +14560,7 @@ "functionReturnParameters": 1024, "id": 1046, "nodeType": "Return", - "src": "17714:100:0" + "src": "17723:100:0" } ] }, @@ -14593,7 +14570,7 @@ "isConstructor": false, "isDeclaredConst": true, "modifiers": [], - "name": "isTimeLockExpired", + "name": "_isTimeLockExpired", "nodeType": "FunctionDefinition", "parameters": { "id": 1021, @@ -14605,7 +14582,7 @@ "name": "timeoutHours", "nodeType": "VariableDeclaration", "scope": 1048, - "src": "17541:19:0", + "src": "17550:19:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14616,7 +14593,7 @@ "id": 1017, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "17541:6:0", + "src": "17550:6:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -14631,7 +14608,7 @@ "name": "lastModified", "nodeType": "VariableDeclaration", "scope": 1048, - "src": "17570:20:0", + "src": "17579:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14642,7 +14619,7 @@ "id": 1019, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "17570:7:0", + "src": "17579:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14652,7 +14629,7 @@ "visibility": "internal" } ], - "src": "17531:65:0" + "src": "17540:65:0" }, "payable": false, "returnParameters": { @@ -14665,7 +14642,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 1048, - "src": "17643:4:0", + "src": "17652:4:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14676,7 +14653,7 @@ "id": 1022, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "17643:4:0", + "src": "17652:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -14686,10 +14663,10 @@ "visibility": "internal" } ], - "src": "17642:6:0" + "src": "17651:6:0" }, "scope": 1205, - "src": "17505:316:0", + "src": "17513:317:0", "stateMutability": "view", "superFunction": null, "visibility": "private" @@ -14698,7 +14675,7 @@ "body": { "id": 1203, "nodeType": "Block", - "src": "18235:2314:0", + "src": "18244:2314:0", "statements": [ { "expression": { @@ -14722,7 +14699,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1050, - "src": "18261:5:0", + "src": "18270:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -14737,13 +14714,13 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1052, - "src": "18270:6:0", + "src": "18279:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "18261:15:0", + "src": "18270:15:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -14759,7 +14736,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "18278:27:0", + "src": "18287:27:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_6141441751234d42e9a73d96317794195c7ff57b8f16ac15725a10f10763f824", @@ -14787,7 +14764,7 @@ 1382 ], "referencedDeclaration": 1382, - "src": "18253:7:0", + "src": "18262:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -14801,7 +14778,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18253:53:0", + "src": "18262:53:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -14809,7 +14786,7 @@ }, "id": 1077, "nodeType": "ExpressionStatement", - "src": "18253:53:0" + "src": "18262:53:0" }, { "expression": { @@ -14833,7 +14810,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1062, - "src": "18373:5:0", + "src": "18382:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14851,7 +14828,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "18381:1:0", + "src": "18390:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -14859,7 +14836,7 @@ }, "value": "0" }, - "src": "18373:9:0", + "src": "18382:9:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -14875,7 +14852,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "18384:19:0", + "src": "18393:19:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_3686f87c4804517ea83323ccf1a3b5b5ff52ed144b19e6fc56abe8fcd182e747", @@ -14903,7 +14880,7 @@ 1382 ], "referencedDeclaration": 1382, - "src": "18365:7:0", + "src": "18374:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -14917,7 +14894,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18365:39:0", + "src": "18374:39:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -14925,7 +14902,7 @@ }, "id": 1084, "nodeType": "ExpressionStatement", - "src": "18365:39:0" + "src": "18374:39:0" }, { "expression": { @@ -14960,7 +14937,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1056, - "src": "18507:9:0", + "src": "18516:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -14978,7 +14955,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "18519:1:0", + "src": "18528:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -14986,7 +14963,7 @@ }, "value": "0" }, - "src": "18507:13:0", + "src": "18516:13:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -15012,7 +14989,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1056, - "src": "18524:9:0", + "src": "18533:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -15030,7 +15007,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "18537:1:0", + "src": "18546:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_3_by_1", @@ -15038,13 +15015,13 @@ }, "value": "3" }, - "src": "18524:14:0", + "src": "18533:14:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "18507:31:0", + "src": "18516:31:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -15060,7 +15037,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "18553:63:0", + "src": "18562:63:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_351c1d5dfdc4a2b4c61d6f4dbb41a0d2ae70a9c094d3c0add87af24b5dd19c13", @@ -15088,7 +15065,7 @@ 1382 ], "referencedDeclaration": 1382, - "src": "18486:7:0", + "src": "18495:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -15102,7 +15079,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18486:140:0", + "src": "18495:140:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -15110,7 +15087,7 @@ }, "id": 1095, "nodeType": "ExpressionStatement", - "src": "18486:140:0" + "src": "18495:140:0" }, { "expression": { @@ -15145,7 +15122,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1056, - "src": "18907:9:0", + "src": "18916:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -15163,7 +15140,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "18920:1:0", + "src": "18929:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -15171,7 +15148,7 @@ }, "value": "1" }, - "src": "18907:14:0", + "src": "18916:14:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -15197,7 +15174,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1054, - "src": "18925:9:0", + "src": "18934:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15218,7 +15195,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "18946:1:0", + "src": "18955:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -15240,7 +15217,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "18938:7:0", + "src": "18947:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" @@ -15255,19 +15232,19 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18938:10:0", + "src": "18947:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "18925:23:0", + "src": "18934:23:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "18907:41:0", + "src": "18916:41:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -15283,7 +15260,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "18962:74:0", + "src": "18971:74:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_2056db168725d2fabb8aaf14efad7a3fc12ef6bc7132f0596ea09b041b71cb25", @@ -15311,7 +15288,7 @@ 1382 ], "referencedDeclaration": 1382, - "src": "18886:7:0", + "src": "18895:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -15325,7 +15302,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18886:160:0", + "src": "18895:160:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -15333,7 +15310,7 @@ }, "id": 1108, "nodeType": "ExpressionStatement", - "src": "18886:160:0" + "src": "18895:160:0" }, { "expression": { @@ -15357,7 +15334,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1060, - "src": "19078:10:0", + "src": "19087:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -15375,7 +15352,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1064, - "src": "19135:8:0", + "src": "19144:8:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -15388,7 +15365,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1056, - "src": "19161:9:0", + "src": "19170:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -15401,7 +15378,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1058, - "src": "19188:12:0", + "src": "19197:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -15414,7 +15391,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1050, - "src": "19218:5:0", + "src": "19227:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15427,7 +15404,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1052, - "src": "19241:6:0", + "src": "19250:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15440,7 +15417,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1054, - "src": "19265:9:0", + "src": "19274:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15453,7 +15430,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1068, - "src": "19292:12:0", + "src": "19301:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15496,7 +15473,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 631, - "src": "19092:25:0", + "src": "19101:25:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_bytes20_$_t_uint8_$_t_uint32_$_t_address_$_t_address_$_t_address_$_t_address_$returns$_t_bytes32_$", "typeString": "function (bytes20,uint8,uint32,address,address,address,address) view returns (bytes32)" @@ -15510,13 +15487,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "19092:226:0", + "src": "19101:226:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "src": "19078:240:0", + "src": "19087:240:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -15532,7 +15509,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "19333:59:0", + "src": "19342:59:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_0c041e0c58e6b0e01d338d852a5abb639065eabeb0aee05e0ce3e5f0e52b4f51", @@ -15560,7 +15537,7 @@ 1382 ], "referencedDeclaration": 1382, - "src": "19057:7:0", + "src": "19066:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -15574,7 +15551,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "19057:345:0", + "src": "19066:345:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -15582,7 +15559,7 @@ }, "id": 1123, "nodeType": "ExpressionStatement", - "src": "19057:345:0" + "src": "19066:345:0" }, { "expression": { @@ -15601,7 +15578,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "19413:12:0", + "src": "19422:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -15615,7 +15592,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1060, - "src": "19426:10:0", + "src": "19435:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -15626,7 +15603,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "19413:24:0", + "src": "19422:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -15644,7 +15621,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1050, - "src": "19473:5:0", + "src": "19482:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15657,7 +15634,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1052, - "src": "19500:6:0", + "src": "19509:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15670,7 +15647,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1054, - "src": "19531:9:0", + "src": "19540:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15683,7 +15660,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1062, - "src": "19561:5:0", + "src": "19570:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -15698,7 +15675,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9, - "src": "19588:6:0", + "src": "19597:6:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_Status_$9_$", "typeString": "type(enum Escrow_v1_0.Status)" @@ -15712,7 +15689,7 @@ "memberName": "FUNDED", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "19588:13:0", + "src": "19597:13:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$9", "typeString": "enum Escrow_v1_0.Status" @@ -15727,7 +15704,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1368, - "src": "19629:5:0", + "src": "19638:5:0", "typeDescriptions": { "typeIdentifier": "t_magic_block", "typeString": "block" @@ -15741,7 +15718,7 @@ "memberName": "timestamp", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "19629:15:0", + "src": "19638:15:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -15754,7 +15731,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1056, - "src": "19669:9:0", + "src": "19678:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -15767,7 +15744,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1058, - "src": "19706:12:0", + "src": "19715:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -15780,7 +15757,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1066, - "src": "19748:15:0", + "src": "19757:15:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -15793,7 +15770,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1068, - "src": "19790:12:0", + "src": "19799:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15807,7 +15784,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 71, - "src": "19440:11:0", + "src": "19449:11:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_struct$_Transaction_$71_storage_ptr_$", "typeString": "type(struct Escrow_v1_0.Transaction storage pointer)" @@ -15832,13 +15809,13 @@ "tokenAddress" ], "nodeType": "FunctionCall", - "src": "19440:373:0", + "src": "19449:373:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_memory", "typeString": "struct Escrow_v1_0.Transaction memory" } }, - "src": "19413:400:0", + "src": "19422:400:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -15846,7 +15823,7 @@ }, "id": 1142, "nodeType": "ExpressionStatement", - "src": "19413:400:0" + "src": "19422:400:0" }, { "expression": { @@ -15869,7 +15846,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "19824:12:0", + "src": "19833:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -15883,7 +15860,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1060, - "src": "19837:10:0", + "src": "19846:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -15894,7 +15871,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "19824:24:0", + "src": "19833:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -15908,7 +15885,7 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "19824:32:0", + "src": "19833:32:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -15922,7 +15899,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1052, - "src": "19857:6:0", + "src": "19866:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15933,7 +15910,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "19824:40:0", + "src": "19833:40:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -15951,7 +15928,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "19867:4:0", + "src": "19876:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -15959,7 +15936,7 @@ }, "value": "true" }, - "src": "19824:47:0", + "src": "19833:47:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -15967,7 +15944,7 @@ }, "id": 1151, "nodeType": "ExpressionStatement", - "src": "19824:47:0" + "src": "19833:47:0" }, { "expression": { @@ -15990,7 +15967,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "19881:12:0", + "src": "19890:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -16004,7 +15981,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1060, - "src": "19894:10:0", + "src": "19903:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -16015,7 +15992,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "19881:24:0", + "src": "19890:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -16029,7 +16006,7 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "19881:32:0", + "src": "19890:32:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -16043,7 +16020,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1050, - "src": "19914:5:0", + "src": "19923:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -16054,7 +16031,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "19881:39:0", + "src": "19890:39:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -16072,7 +16049,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "19923:4:0", + "src": "19932:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -16080,7 +16057,7 @@ }, "value": "true" }, - "src": "19881:46:0", + "src": "19890:46:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -16088,7 +16065,7 @@ }, "id": 1160, "nodeType": "ExpressionStatement", - "src": "19881:46:0" + "src": "19890:46:0" }, { "expression": { @@ -16104,7 +16081,7 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "20034:44:0", + "src": "20043:44:0", "subExpression": { "argumentTypes": null, "baseExpression": { @@ -16118,7 +16095,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "20035:12:0", + "src": "20044:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -16132,7 +16109,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1060, - "src": "20048:10:0", + "src": "20057:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -16143,7 +16120,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20035:24:0", + "src": "20044:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -16157,7 +16134,7 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "20035:32:0", + "src": "20044:32:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -16171,7 +16148,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1054, - "src": "20068:9:0", + "src": "20077:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -16182,7 +16159,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20035:43:0", + "src": "20044:43:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -16203,7 +16180,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "20093:47:0", + "src": "20102:47:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_313b391557427937e7bdb85c7561d47c5b9c985755a448dd33a92026ffb38f8d", @@ -16231,7 +16208,7 @@ 1382 ], "referencedDeclaration": 1382, - "src": "20013:7:0", + "src": "20022:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -16245,7 +16222,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "20013:137:0", + "src": "20022:137:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -16253,7 +16230,7 @@ }, "id": 1171, "nodeType": "ExpressionStatement", - "src": "20013:137:0" + "src": "20022:137:0" }, { "condition": { @@ -16274,7 +16251,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1056, - "src": "20310:9:0", + "src": "20319:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -16292,7 +16269,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "20322:1:0", + "src": "20331:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -16300,7 +16277,7 @@ }, "value": "1" }, - "src": "20310:13:0", + "src": "20319:13:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -16309,11 +16286,11 @@ "falseBody": null, "id": 1185, "nodeType": "IfStatement", - "src": "20306:94:0", + "src": "20315:94:0", "trueBody": { "id": 1184, "nodeType": "Block", - "src": "20325:75:0", + "src": "20334:75:0", "statements": [ { "expression": { @@ -16336,7 +16313,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "20339:12:0", + "src": "20348:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -16350,7 +16327,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1060, - "src": "20352:10:0", + "src": "20361:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -16361,7 +16338,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20339:24:0", + "src": "20348:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -16375,7 +16352,7 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "20339:32:0", + "src": "20348:32:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -16389,7 +16366,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1054, - "src": "20372:9:0", + "src": "20381:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -16400,7 +16377,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "20339:43:0", + "src": "20348:43:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -16418,7 +16395,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "20385:4:0", + "src": "20394:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -16426,7 +16403,7 @@ }, "value": "true" }, - "src": "20339:50:0", + "src": "20348:50:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -16434,7 +16411,7 @@ }, "id": 1183, "nodeType": "ExpressionStatement", - "src": "20339:50:0" + "src": "20348:50:0" } ] } @@ -16450,7 +16427,7 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "20418:18:0", + "src": "20427:18:0", "subExpression": { "argumentTypes": null, "id": 1186, @@ -16458,7 +16435,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 78, - "src": "20418:16:0", + "src": "20427:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -16471,7 +16448,7 @@ }, "id": 1188, "nodeType": "ExpressionStatement", - "src": "20418:18:0" + "src": "20427:18:0" }, { "expression": { @@ -16484,7 +16461,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1060, - "src": "20478:10:0", + "src": "20487:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -16507,7 +16484,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 83, - "src": "20447:18:0", + "src": "20456:18:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_bytes32_$dyn_storage_$", "typeString": "mapping(address => bytes32[] storage ref)" @@ -16521,7 +16498,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1050, - "src": "20466:5:0", + "src": "20475:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -16532,7 +16509,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20447:25:0", + "src": "20456:25:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage", "typeString": "bytes32[] storage ref" @@ -16546,7 +16523,7 @@ "memberName": "push", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "20447:30:0", + "src": "20456:30:0", "typeDescriptions": { "typeIdentifier": "t_function_arraypush_nonpayable$_t_bytes32_$returns$_t_uint256_$", "typeString": "function (bytes32) returns (uint256)" @@ -16560,7 +16537,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "20447:42:0", + "src": "20456:42:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -16568,7 +16545,7 @@ }, "id": 1195, "nodeType": "ExpressionStatement", - "src": "20447:42:0" + "src": "20456:42:0" }, { "expression": { @@ -16581,7 +16558,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1060, - "src": "20531:10:0", + "src": "20540:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -16604,7 +16581,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 83, - "src": "20499:18:0", + "src": "20508:18:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_bytes32_$dyn_storage_$", "typeString": "mapping(address => bytes32[] storage ref)" @@ -16618,7 +16595,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1052, - "src": "20518:6:0", + "src": "20527:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -16629,7 +16606,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20499:26:0", + "src": "20508:26:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage", "typeString": "bytes32[] storage ref" @@ -16643,7 +16620,7 @@ "memberName": "push", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "20499:31:0", + "src": "20508:31:0", "typeDescriptions": { "typeIdentifier": "t_function_arraypush_nonpayable$_t_bytes32_$returns$_t_uint256_$", "typeString": "function (bytes32) returns (uint256)" @@ -16657,7 +16634,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "20499:43:0", + "src": "20508:43:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -16665,7 +16642,7 @@ }, "id": 1202, "nodeType": "ExpressionStatement", - "src": "20499:43:0" + "src": "20508:43:0" } ] }, @@ -16687,7 +16664,7 @@ "name": "buyer", "nodeType": "VariableDeclaration", "scope": 1204, - "src": "17942:13:0", + "src": "17951:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -16698,7 +16675,7 @@ "id": 1049, "name": "address", "nodeType": "ElementaryTypeName", - "src": "17942:7:0", + "src": "17951:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -16713,7 +16690,7 @@ "name": "seller", "nodeType": "VariableDeclaration", "scope": 1204, - "src": "17965:14:0", + "src": "17974:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -16724,7 +16701,7 @@ "id": 1051, "name": "address", "nodeType": "ElementaryTypeName", - "src": "17965:7:0", + "src": "17974:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -16739,7 +16716,7 @@ "name": "moderator", "nodeType": "VariableDeclaration", "scope": 1204, - "src": "17989:17:0", + "src": "17998:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -16750,7 +16727,7 @@ "id": 1053, "name": "address", "nodeType": "ElementaryTypeName", - "src": "17989:7:0", + "src": "17998:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -16765,7 +16742,7 @@ "name": "threshold", "nodeType": "VariableDeclaration", "scope": 1204, - "src": "18016:15:0", + "src": "18025:15:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -16776,7 +16753,7 @@ "id": 1055, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "18016:5:0", + "src": "18025:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -16791,7 +16768,7 @@ "name": "timeoutHours", "nodeType": "VariableDeclaration", "scope": 1204, - "src": "18041:19:0", + "src": "18050:19:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -16802,7 +16779,7 @@ "id": 1057, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "18041:6:0", + "src": "18050:6:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -16817,7 +16794,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 1204, - "src": "18070:18:0", + "src": "18079:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -16828,7 +16805,7 @@ "id": 1059, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "18070:7:0", + "src": "18079:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -16843,7 +16820,7 @@ "name": "value", "nodeType": "VariableDeclaration", "scope": 1204, - "src": "18098:13:0", + "src": "18107:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -16854,7 +16831,7 @@ "id": 1061, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "18098:7:0", + "src": "18107:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -16869,7 +16846,7 @@ "name": "uniqueId", "nodeType": "VariableDeclaration", "scope": 1204, - "src": "18121:16:0", + "src": "18130:16:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -16880,7 +16857,7 @@ "id": 1063, "name": "bytes20", "nodeType": "ElementaryTypeName", - "src": "18121:7:0", + "src": "18130:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -16895,7 +16872,7 @@ "name": "transactionType", "nodeType": "VariableDeclaration", "scope": 1204, - "src": "18147:31:0", + "src": "18156:31:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -16908,7 +16885,7 @@ "name": "TransactionType", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 12, - "src": "18147:15:0", + "src": "18156:15:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -16923,7 +16900,7 @@ "name": "tokenAddress", "nodeType": "VariableDeclaration", "scope": 1204, - "src": "18188:20:0", + "src": "18197:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -16934,7 +16911,7 @@ "id": 1067, "name": "address", "nodeType": "ElementaryTypeName", - "src": "18188:7:0", + "src": "18197:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -16944,27 +16921,27 @@ "visibility": "internal" } ], - "src": "17932:282:0" + "src": "17941:282:0" }, "payable": false, "returnParameters": { "id": 1070, "nodeType": "ParameterList", "parameters": [], - "src": "18235:0:0" + "src": "18244:0:0" }, "scope": 1205, - "src": "17908:2641:0", + "src": "17917:2641:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "private" } ], "scope": 1206, - "src": "460:20091:0" + "src": "460:20100:0" } ], - "src": "0:20552:0" + "src": "0:20561:0" }, "legacyAST": { "absolutePath": "/home/sameep/freelancing-projects/toptal/open baazar/publicRepo/smart-contracts/contracts/escrow/Escrow_v1_0.sol", @@ -17904,7 +17881,7 @@ "name": "partyVsTransaction", "nodeType": "VariableDeclaration", "scope": 1205, - "src": "1733:55:0", + "src": "1733:56:0", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -17951,13 +17928,13 @@ } }, "value": null, - "visibility": "public" + "visibility": "private" }, { "body": { "id": 98, "nodeType": "Block", - "src": "1841:124:0", + "src": "1842:124:0", "statements": [ { "expression": { @@ -17985,7 +17962,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "1872:12:0", + "src": "1873:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -17999,7 +17976,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 85, - "src": "1885:10:0", + "src": "1886:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -18010,7 +17987,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "1872:24:0", + "src": "1873:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -18024,7 +18001,7 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": 40, - "src": "1872:30:0", + "src": "1873:30:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -18042,7 +18019,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1906:1:0", + "src": "1907:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -18050,7 +18027,7 @@ }, "value": "0" }, - "src": "1872:35:0", + "src": "1873:35:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -18066,7 +18043,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "1909:28:0", + "src": "1910:28:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_cb323e46bbcca91e157c2b50ad4ce2acbe1153338b838c84372d5723b8995ef0", @@ -18094,7 +18071,7 @@ 1382 ], "referencedDeclaration": 1382, - "src": "1851:7:0", + "src": "1852:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -18108,7 +18085,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1851:96:0", + "src": "1852:96:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -18116,12 +18093,12 @@ }, "id": 96, "nodeType": "ExpressionStatement", - "src": "1851:96:0" + "src": "1852:96:0" }, { "id": 97, "nodeType": "PlaceholderStatement", - "src": "1957:1:0" + "src": "1958:1:0" } ] }, @@ -18139,7 +18116,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 99, - "src": "1821:18:0", + "src": "1822:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -18150,7 +18127,7 @@ "id": 84, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "1821:7:0", + "src": "1822:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -18160,16 +18137,16 @@ "visibility": "internal" } ], - "src": "1820:20:0" + "src": "1821:20:0" }, - "src": "1795:170:0", + "src": "1796:170:0", "visibility": "internal" }, { "body": { "id": 114, "nodeType": "Block", - "src": "2024:93:0", + "src": "2025:93:0", "statements": [ { "expression": { @@ -18197,7 +18174,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "2042:12:0", + "src": "2043:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -18211,7 +18188,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 101, - "src": "2055:10:0", + "src": "2056:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -18222,7 +18199,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "2042:24:0", + "src": "2043:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -18236,7 +18213,7 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": 40, - "src": "2042:30:0", + "src": "2043:30:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -18254,7 +18231,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2076:1:0", + "src": "2077:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -18262,7 +18239,7 @@ }, "value": "0" }, - "src": "2042:35:0", + "src": "2043:35:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -18278,7 +18255,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "2079:19:0", + "src": "2080:19:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_4f41f109da323167d042f4559ebd6e2dc42fdbc2be1a2cea9ff6130572900782", @@ -18306,7 +18283,7 @@ 1382 ], "referencedDeclaration": 1382, - "src": "2034:7:0", + "src": "2035:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -18320,7 +18297,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2034:65:0", + "src": "2035:65:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -18328,12 +18305,12 @@ }, "id": 112, "nodeType": "ExpressionStatement", - "src": "2034:65:0" + "src": "2035:65:0" }, { "id": 113, "nodeType": "PlaceholderStatement", - "src": "2109:1:0" + "src": "2110:1:0" } ] }, @@ -18351,7 +18328,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 115, - "src": "2004:18:0", + "src": "2005:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -18362,7 +18339,7 @@ "id": 100, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "2004:7:0", + "src": "2005:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -18372,16 +18349,16 @@ "visibility": "internal" } ], - "src": "2003:20:0" + "src": "2004:20:0" }, - "src": "1971:146:0", + "src": "1972:146:0", "visibility": "internal" }, { "body": { "id": 131, "nodeType": "Block", - "src": "2166:145:0", + "src": "2167:145:0", "statements": [ { "expression": { @@ -18409,7 +18386,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "2197:12:0", + "src": "2198:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -18423,7 +18400,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 117, - "src": "2210:10:0", + "src": "2211:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -18434,7 +18411,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "2197:24:0", + "src": "2198:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -18448,7 +18425,7 @@ "memberName": "status", "nodeType": "MemberAccess", "referencedDeclaration": 44, - "src": "2197:31:0", + "src": "2198:31:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$9", "typeString": "enum Escrow_v1_0.Status" @@ -18465,7 +18442,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9, - "src": "2232:6:0", + "src": "2233:6:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_Status_$9_$", "typeString": "type(enum Escrow_v1_0.Status)" @@ -18479,13 +18456,13 @@ "memberName": "FUNDED", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "2232:13:0", + "src": "2233:13:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$9", "typeString": "enum Escrow_v1_0.Status" } }, - "src": "2197:48:0", + "src": "2198:48:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -18501,7 +18478,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "2247:36:0", + "src": "2248:36:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_5244efce1630cfae7257c0817c921ae75135c1043344a4cf9a1988c03337f39d", @@ -18529,7 +18506,7 @@ 1382 ], "referencedDeclaration": 1382, - "src": "2176:7:0", + "src": "2177:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -18543,7 +18520,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2176:117:0", + "src": "2177:117:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -18551,12 +18528,12 @@ }, "id": 129, "nodeType": "ExpressionStatement", - "src": "2176:117:0" + "src": "2177:117:0" }, { "id": 130, "nodeType": "PlaceholderStatement", - "src": "2303:1:0" + "src": "2304:1:0" } ] }, @@ -18574,7 +18551,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 132, - "src": "2146:18:0", + "src": "2147:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -18585,7 +18562,7 @@ "id": 116, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "2146:7:0", + "src": "2147:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -18595,16 +18572,16 @@ "visibility": "internal" } ], - "src": "2145:20:0" + "src": "2146:20:0" }, - "src": "2123:188:0", + "src": "2124:188:0", "visibility": "internal" }, { "body": { "id": 146, "nodeType": "Block", - "src": "2365:88:0", + "src": "2366:88:0", "statements": [ { "expression": { @@ -18628,7 +18605,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 134, - "src": "2383:14:0", + "src": "2384:14:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -18649,7 +18626,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2409:1:0", + "src": "2410:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -18671,7 +18648,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "2401:7:0", + "src": "2402:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" @@ -18686,13 +18663,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2401:10:0", + "src": "2402:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "2383:28:0", + "src": "2384:28:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -18708,7 +18685,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "2413:21:0", + "src": "2414:21:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_93e85f37f73cf8e1b855512ab7e00aab2b791117712ecb476daeb6c2c0a27a67", @@ -18736,7 +18713,7 @@ 1382 ], "referencedDeclaration": 1382, - "src": "2375:7:0", + "src": "2376:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -18750,7 +18727,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2375:60:0", + "src": "2376:60:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -18758,12 +18735,12 @@ }, "id": 144, "nodeType": "ExpressionStatement", - "src": "2375:60:0" + "src": "2376:60:0" }, { "id": 145, "nodeType": "PlaceholderStatement", - "src": "2445:1:0" + "src": "2446:1:0" } ] }, @@ -18781,7 +18758,7 @@ "name": "addressToCheck", "nodeType": "VariableDeclaration", "scope": 147, - "src": "2341:22:0", + "src": "2342:22:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -18792,7 +18769,7 @@ "id": 133, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2341:7:0", + "src": "2342:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -18802,16 +18779,16 @@ "visibility": "internal" } ], - "src": "2340:24:0" + "src": "2341:24:0" }, - "src": "2317:136:0", + "src": "2318:136:0", "visibility": "internal" }, { "body": { "id": 164, "nodeType": "Block", - "src": "2568:153:0", + "src": "2569:153:0", "statements": [ { "expression": { @@ -18839,7 +18816,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "2599:12:0", + "src": "2600:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -18853,7 +18830,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 149, - "src": "2612:10:0", + "src": "2613:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -18864,7 +18841,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "2599:24:0", + "src": "2600:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -18878,7 +18855,7 @@ "memberName": "transactionType", "nodeType": "MemberAccess", "referencedDeclaration": 46, - "src": "2599:40:0", + "src": "2600:40:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -18893,13 +18870,13 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 151, - "src": "2643:15:0", + "src": "2644:15:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" } }, - "src": "2599:59:0", + "src": "2600:59:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -18915,7 +18892,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "2660:33:0", + "src": "2661:33:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_c798eb33a8bd5d4c22212d5c8611219bb87da2d82aefe8e88b1f970a0f133cc3", @@ -18943,7 +18920,7 @@ 1382 ], "referencedDeclaration": 1382, - "src": "2578:7:0", + "src": "2579:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -18957,7 +18934,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2578:125:0", + "src": "2579:125:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -18965,12 +18942,12 @@ }, "id": 162, "nodeType": "ExpressionStatement", - "src": "2578:125:0" + "src": "2579:125:0" }, { "id": 163, "nodeType": "PlaceholderStatement", - "src": "2713:1:0" + "src": "2714:1:0" } ] }, @@ -18988,7 +18965,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 165, - "src": "2498:18:0", + "src": "2499:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -18999,7 +18976,7 @@ "id": 148, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "2498:7:0", + "src": "2499:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -19014,7 +18991,7 @@ "name": "transactionType", "nodeType": "VariableDeclaration", "scope": 165, - "src": "2526:31:0", + "src": "2527:31:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -19027,7 +19004,7 @@ "name": "TransactionType", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 12, - "src": "2526:15:0", + "src": "2527:15:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -19037,16 +19014,16 @@ "visibility": "internal" } ], - "src": "2488:75:0" + "src": "2489:75:0" }, - "src": "2459:262:0", + "src": "2460:262:0", "visibility": "internal" }, { "body": { "id": 181, "nodeType": "Block", - "src": "2766:152:0", + "src": "2767:152:0", "statements": [ { "expression": { @@ -19072,7 +19049,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1378, - "src": "2797:3:0", + "src": "2798:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -19086,7 +19063,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "2797:10:0", + "src": "2798:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -19105,7 +19082,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "2811:12:0", + "src": "2812:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -19119,7 +19096,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 167, - "src": "2824:10:0", + "src": "2825:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -19130,7 +19107,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "2811:24:0", + "src": "2812:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -19144,13 +19121,13 @@ "memberName": "buyer", "nodeType": "MemberAccess", "referencedDeclaration": 52, - "src": "2811:30:0", + "src": "2812:30:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "2797:44:0", + "src": "2798:44:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -19166,7 +19143,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "2843:47:0", + "src": "2844:47:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_b4fc72d2373e6fc668b2bc10a6c84713d84de5f4dc58bb69053e1a18ae67c2f9", @@ -19194,7 +19171,7 @@ 1382 ], "referencedDeclaration": 1382, - "src": "2776:7:0", + "src": "2777:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -19208,7 +19185,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2776:124:0", + "src": "2777:124:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -19216,12 +19193,12 @@ }, "id": 179, "nodeType": "ExpressionStatement", - "src": "2776:124:0" + "src": "2777:124:0" }, { "id": 180, "nodeType": "PlaceholderStatement", - "src": "2910:1:0" + "src": "2911:1:0" } ] }, @@ -19239,7 +19216,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 182, - "src": "2746:18:0", + "src": "2747:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -19250,7 +19227,7 @@ "id": 166, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "2746:7:0", + "src": "2747:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -19260,16 +19237,16 @@ "visibility": "internal" } ], - "src": "2745:20:0" + "src": "2746:20:0" }, - "src": "2727:191:0", + "src": "2728:191:0", "visibility": "internal" }, { "body": { "id": 233, "nodeType": "Block", - "src": "4055:347:0", + "src": "4056:347:0", "statements": [ { "expression": { @@ -19282,7 +19259,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 184, - "src": "4094:5:0", + "src": "4095:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -19295,7 +19272,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 186, - "src": "4113:6:0", + "src": "4114:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -19308,7 +19285,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 188, - "src": "4133:9:0", + "src": "4134:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -19321,7 +19298,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 190, - "src": "4156:9:0", + "src": "4157:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -19334,7 +19311,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 192, - "src": "4179:12:0", + "src": "4180:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -19347,7 +19324,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 194, - "src": "4205:10:0", + "src": "4206:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -19362,7 +19339,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1378, - "src": "4229:3:0", + "src": "4230:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -19376,7 +19353,7 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "4229:9:0", + "src": "4230:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -19389,7 +19366,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 196, - "src": "4252:8:0", + "src": "4253:8:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -19404,7 +19381,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12, - "src": "4274:15:0", + "src": "4275:15:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_TransactionType_$12_$", "typeString": "type(enum Escrow_v1_0.TransactionType)" @@ -19418,7 +19395,7 @@ "memberName": "ETHER", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "4274:21:0", + "src": "4275:21:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -19437,7 +19414,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "4317:1:0", + "src": "4318:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -19459,7 +19436,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "4309:7:0", + "src": "4310:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" @@ -19474,7 +19451,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4309:10:0", + "src": "4310:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -19529,7 +19506,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1204, - "src": "4065:15:0", + "src": "4066:15:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_address_$_t_uint8_$_t_uint32_$_t_bytes32_$_t_uint256_$_t_bytes20_$_t_enum$_TransactionType_$12_$_t_address_$returns$__$", "typeString": "function (address,address,address,uint8,uint32,bytes32,uint256,bytes20,enum Escrow_v1_0.TransactionType,address)" @@ -19543,7 +19520,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4065:264:0", + "src": "4066:264:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -19551,7 +19528,7 @@ }, "id": 224, "nodeType": "ExpressionStatement", - "src": "4065:264:0" + "src": "4066:264:0" }, { "eventCall": { @@ -19564,7 +19541,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 194, - "src": "4360:10:0", + "src": "4361:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -19579,7 +19556,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1378, - "src": "4372:3:0", + "src": "4373:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -19593,7 +19570,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "4372:10:0", + "src": "4373:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -19608,7 +19585,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1378, - "src": "4384:3:0", + "src": "4385:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -19622,7 +19599,7 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "4384:9:0", + "src": "4385:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -19649,7 +19626,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 38, - "src": "4353:6:0", + "src": "4354:6:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (bytes32,address,uint256)" @@ -19663,7 +19640,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4353:41:0", + "src": "4354:41:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -19671,7 +19648,7 @@ }, "id": 232, "nodeType": "EmitStatement", - "src": "4348:46:0" + "src": "4349:46:0" } ] }, @@ -19690,7 +19667,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 194, - "src": "3978:10:0", + "src": "3979:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -19705,14 +19682,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 115, - "src": "3954:23:0", + "src": "3955:23:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "3954:35:0" + "src": "3955:35:0" }, { "arguments": [ @@ -19723,7 +19700,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 184, - "src": "4013:5:0", + "src": "4014:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -19738,14 +19715,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 147, - "src": "3998:14:0", + "src": "3999:14:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_address_$", "typeString": "modifier (address)" } }, "nodeType": "ModifierInvocation", - "src": "3998:21:0" + "src": "3999:21:0" }, { "arguments": [ @@ -19756,7 +19733,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 186, - "src": "4043:6:0", + "src": "4044:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -19771,14 +19748,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 147, - "src": "4028:14:0", + "src": "4029:14:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_address_$", "typeString": "modifier (address)" } }, "nodeType": "ModifierInvocation", - "src": "4028:22:0" + "src": "4029:22:0" } ], "name": "addTransaction", @@ -19793,7 +19770,7 @@ "name": "buyer", "nodeType": "VariableDeclaration", "scope": 234, - "src": "3734:13:0", + "src": "3735:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -19804,7 +19781,7 @@ "id": 183, "name": "address", "nodeType": "ElementaryTypeName", - "src": "3734:7:0", + "src": "3735:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -19819,7 +19796,7 @@ "name": "seller", "nodeType": "VariableDeclaration", "scope": 234, - "src": "3757:14:0", + "src": "3758:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -19830,7 +19807,7 @@ "id": 185, "name": "address", "nodeType": "ElementaryTypeName", - "src": "3757:7:0", + "src": "3758:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -19845,7 +19822,7 @@ "name": "moderator", "nodeType": "VariableDeclaration", "scope": 234, - "src": "3781:17:0", + "src": "3782:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -19856,7 +19833,7 @@ "id": 187, "name": "address", "nodeType": "ElementaryTypeName", - "src": "3781:7:0", + "src": "3782:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -19871,7 +19848,7 @@ "name": "threshold", "nodeType": "VariableDeclaration", "scope": 234, - "src": "3808:15:0", + "src": "3809:15:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -19882,7 +19859,7 @@ "id": 189, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "3808:5:0", + "src": "3809:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -19897,7 +19874,7 @@ "name": "timeoutHours", "nodeType": "VariableDeclaration", "scope": 234, - "src": "3833:19:0", + "src": "3834:19:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -19908,7 +19885,7 @@ "id": 191, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "3833:6:0", + "src": "3834:6:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -19923,7 +19900,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 234, - "src": "3862:18:0", + "src": "3863:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -19934,7 +19911,7 @@ "id": 193, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "3862:7:0", + "src": "3863:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -19949,7 +19926,7 @@ "name": "uniqueId", "nodeType": "VariableDeclaration", "scope": 234, - "src": "3890:16:0", + "src": "3891:16:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -19960,7 +19937,7 @@ "id": 195, "name": "bytes20", "nodeType": "ElementaryTypeName", - "src": "3890:7:0", + "src": "3891:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -19970,17 +19947,17 @@ "visibility": "internal" } ], - "src": "3724:188:0" + "src": "3725:188:0" }, "payable": true, "returnParameters": { "id": 207, "nodeType": "ParameterList", "parameters": [], - "src": "4055:0:0" + "src": "4056:0:0" }, "scope": 1205, - "src": "3701:701:0", + "src": "3702:701:0", "stateMutability": "payable", "superFunction": null, "visibility": "external" @@ -19989,7 +19966,7 @@ "body": { "id": 305, "nodeType": "Block", - "src": "5769:588:0", + "src": "5770:588:0", "statements": [ { "expression": { @@ -20002,7 +19979,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 236, - "src": "5809:5:0", + "src": "5810:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -20015,7 +19992,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 238, - "src": "5828:6:0", + "src": "5829:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -20028,7 +20005,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 240, - "src": "5848:9:0", + "src": "5849:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -20041,7 +20018,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 242, - "src": "5871:9:0", + "src": "5872:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -20054,7 +20031,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 244, - "src": "5894:12:0", + "src": "5895:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -20067,7 +20044,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 246, - "src": "5920:10:0", + "src": "5921:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -20080,7 +20057,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 248, - "src": "5944:5:0", + "src": "5945:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -20093,7 +20070,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 250, - "src": "5963:8:0", + "src": "5964:8:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -20108,7 +20085,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12, - "src": "5985:15:0", + "src": "5986:15:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_TransactionType_$12_$", "typeString": "type(enum Escrow_v1_0.TransactionType)" @@ -20122,7 +20099,7 @@ "memberName": "TOKEN", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "5985:21:0", + "src": "5986:21:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -20135,7 +20112,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 252, - "src": "6020:12:0", + "src": "6021:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -20190,7 +20167,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1204, - "src": "5780:15:0", + "src": "5781:15:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_address_$_t_uint8_$_t_uint32_$_t_bytes32_$_t_uint256_$_t_bytes20_$_t_enum$_TransactionType_$12_$_t_address_$returns$__$", "typeString": "function (address,address,address,uint8,uint32,bytes32,uint256,bytes20,enum Escrow_v1_0.TransactionType,address)" @@ -20204,7 +20181,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5780:262:0", + "src": "5781:262:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -20212,7 +20189,7 @@ }, "id": 280, "nodeType": "ExpressionStatement", - "src": "5780:262:0" + "src": "5781:262:0" }, { "assignments": [ @@ -20225,7 +20202,7 @@ "name": "token", "nodeType": "VariableDeclaration", "scope": 306, - "src": "6053:20:0", + "src": "6054:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -20238,7 +20215,7 @@ "name": "ITokenContract", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 1235, - "src": "6053:14:0", + "src": "6054:14:0", "typeDescriptions": { "typeIdentifier": "t_contract$_ITokenContract_$1235", "typeString": "contract ITokenContract" @@ -20259,7 +20236,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 252, - "src": "6091:12:0", + "src": "6092:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -20278,7 +20255,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1235, - "src": "6076:14:0", + "src": "6077:14:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_ITokenContract_$1235_$", "typeString": "type(contract ITokenContract)" @@ -20292,14 +20269,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6076:28:0", + "src": "6077:28:0", "typeDescriptions": { "typeIdentifier": "t_contract$_ITokenContract_$1235", "typeString": "contract ITokenContract" } }, "nodeType": "VariableDeclarationStatement", - "src": "6053:51:0" + "src": "6054:51:0" }, { "expression": { @@ -20317,7 +20294,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1378, - "src": "6155:3:0", + "src": "6156:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -20331,7 +20308,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "6155:10:0", + "src": "6156:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -20344,7 +20321,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1395, - "src": "6167:4:0", + "src": "6168:4:0", "typeDescriptions": { "typeIdentifier": "t_contract$_Escrow_v1_0_$1205", "typeString": "contract Escrow_v1_0" @@ -20357,7 +20334,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 248, - "src": "6173:5:0", + "src": "6174:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -20386,7 +20363,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 282, - "src": "6136:5:0", + "src": "6137:5:0", "typeDescriptions": { "typeIdentifier": "t_contract$_ITokenContract_$1235", "typeString": "contract ITokenContract" @@ -20400,7 +20377,7 @@ "memberName": "transferFrom", "nodeType": "MemberAccess", "referencedDeclaration": 1234, - "src": "6136:18:0", + "src": "6137:18:0", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", "typeString": "function (address,address,uint256) external returns (bool)" @@ -20414,7 +20391,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6136:43:0", + "src": "6137:43:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -20430,7 +20407,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "6193:95:0", + "src": "6194:95:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_d81b627ac67759234197a5bdf4d9f7d33298e824ce7bd47e08ce9919cd96c696", @@ -20458,7 +20435,7 @@ 1382 ], "referencedDeclaration": 1382, - "src": "6115:7:0", + "src": "6116:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -20472,7 +20449,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6115:183:0", + "src": "6116:183:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -20480,7 +20457,7 @@ }, "id": 297, "nodeType": "ExpressionStatement", - "src": "6115:183:0" + "src": "6116:183:0" }, { "eventCall": { @@ -20493,7 +20470,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 246, - "src": "6320:10:0", + "src": "6321:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -20508,7 +20485,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1378, - "src": "6332:3:0", + "src": "6333:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -20522,7 +20499,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "6332:10:0", + "src": "6333:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -20535,7 +20512,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 248, - "src": "6344:5:0", + "src": "6345:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -20562,7 +20539,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 38, - "src": "6313:6:0", + "src": "6314:6:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (bytes32,address,uint256)" @@ -20576,7 +20553,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6313:37:0", + "src": "6314:37:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -20584,7 +20561,7 @@ }, "id": 304, "nodeType": "EmitStatement", - "src": "6308:42:0" + "src": "6309:42:0" } ] }, @@ -20603,7 +20580,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 246, - "src": "5655:10:0", + "src": "5656:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -20618,14 +20595,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 115, - "src": "5631:23:0", + "src": "5632:23:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "5631:35:0" + "src": "5632:35:0" }, { "arguments": [ @@ -20636,7 +20613,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 236, - "src": "5690:5:0", + "src": "5691:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -20651,14 +20628,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 147, - "src": "5675:14:0", + "src": "5676:14:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_address_$", "typeString": "modifier (address)" } }, "nodeType": "ModifierInvocation", - "src": "5675:21:0" + "src": "5676:21:0" }, { "arguments": [ @@ -20669,7 +20646,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 238, - "src": "5720:6:0", + "src": "5721:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -20684,14 +20661,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 147, - "src": "5705:14:0", + "src": "5706:14:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_address_$", "typeString": "modifier (address)" } }, "nodeType": "ModifierInvocation", - "src": "5705:22:0" + "src": "5706:22:0" }, { "arguments": [ @@ -20702,7 +20679,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 252, - "src": "5751:12:0", + "src": "5752:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -20717,14 +20694,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 147, - "src": "5736:14:0", + "src": "5737:14:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_address_$", "typeString": "modifier (address)" } }, "nodeType": "ModifierInvocation", - "src": "5736:28:0" + "src": "5737:28:0" } ], "name": "addTokenTransaction", @@ -20739,7 +20716,7 @@ "name": "buyer", "nodeType": "VariableDeclaration", "scope": 306, - "src": "5374:13:0", + "src": "5375:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -20750,7 +20727,7 @@ "id": 235, "name": "address", "nodeType": "ElementaryTypeName", - "src": "5374:7:0", + "src": "5375:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -20765,7 +20742,7 @@ "name": "seller", "nodeType": "VariableDeclaration", "scope": 306, - "src": "5397:14:0", + "src": "5398:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -20776,7 +20753,7 @@ "id": 237, "name": "address", "nodeType": "ElementaryTypeName", - "src": "5397:7:0", + "src": "5398:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -20791,7 +20768,7 @@ "name": "moderator", "nodeType": "VariableDeclaration", "scope": 306, - "src": "5421:17:0", + "src": "5422:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -20802,7 +20779,7 @@ "id": 239, "name": "address", "nodeType": "ElementaryTypeName", - "src": "5421:7:0", + "src": "5422:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -20817,7 +20794,7 @@ "name": "threshold", "nodeType": "VariableDeclaration", "scope": 306, - "src": "5448:15:0", + "src": "5449:15:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -20828,7 +20805,7 @@ "id": 241, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "5448:5:0", + "src": "5449:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -20843,7 +20820,7 @@ "name": "timeoutHours", "nodeType": "VariableDeclaration", "scope": 306, - "src": "5473:19:0", + "src": "5474:19:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -20854,7 +20831,7 @@ "id": 243, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "5473:6:0", + "src": "5474:6:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -20869,7 +20846,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 306, - "src": "5502:18:0", + "src": "5503:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -20880,7 +20857,7 @@ "id": 245, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "5502:7:0", + "src": "5503:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -20895,7 +20872,7 @@ "name": "value", "nodeType": "VariableDeclaration", "scope": 306, - "src": "5530:13:0", + "src": "5531:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -20906,7 +20883,7 @@ "id": 247, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "5530:7:0", + "src": "5531:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -20921,7 +20898,7 @@ "name": "uniqueId", "nodeType": "VariableDeclaration", "scope": 306, - "src": "5553:16:0", + "src": "5554:16:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -20932,7 +20909,7 @@ "id": 249, "name": "bytes20", "nodeType": "ElementaryTypeName", - "src": "5553:7:0", + "src": "5554:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -20947,7 +20924,7 @@ "name": "tokenAddress", "nodeType": "VariableDeclaration", "scope": 306, - "src": "5579:20:0", + "src": "5580:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -20958,7 +20935,7 @@ "id": 251, "name": "address", "nodeType": "ElementaryTypeName", - "src": "5579:7:0", + "src": "5580:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -20968,17 +20945,17 @@ "visibility": "internal" } ], - "src": "5364:241:0" + "src": "5365:241:0" }, "payable": false, "returnParameters": { "id": 266, "nodeType": "ParameterList", "parameters": [], - "src": "5769:0:0" + "src": "5770:0:0" }, "scope": 1205, - "src": "5336:1021:0", + "src": "5337:1021:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" @@ -20987,7 +20964,7 @@ "body": { "id": 322, "nodeType": "Block", - "src": "6744:75:0", + "src": "6745:75:0", "statements": [ { "expression": { @@ -21003,7 +20980,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "6761:12:0", + "src": "6762:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -21017,7 +20994,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 308, - "src": "6774:10:0", + "src": "6775:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -21028,7 +21005,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "6761:24:0", + "src": "6762:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -21042,7 +21019,7 @@ "memberName": "beneficiaries", "nodeType": "MemberAccess", "referencedDeclaration": 70, - "src": "6761:38:0", + "src": "6762:38:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -21056,7 +21033,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 310, - "src": "6800:11:0", + "src": "6801:11:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -21067,7 +21044,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "6761:51:0", + "src": "6762:51:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -21076,7 +21053,7 @@ "functionReturnParameters": 314, "id": 321, "nodeType": "Return", - "src": "6754:58:0" + "src": "6755:58:0" } ] }, @@ -21098,7 +21075,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 323, - "src": "6633:18:0", + "src": "6634:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -21109,7 +21086,7 @@ "id": 307, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "6633:7:0", + "src": "6634:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -21124,7 +21101,7 @@ "name": "beneficiary", "nodeType": "VariableDeclaration", "scope": 323, - "src": "6661:19:0", + "src": "6662:19:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -21135,7 +21112,7 @@ "id": 309, "name": "address", "nodeType": "ElementaryTypeName", - "src": "6661:7:0", + "src": "6662:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -21145,7 +21122,7 @@ "visibility": "internal" } ], - "src": "6623:63:0" + "src": "6624:63:0" }, "payable": false, "returnParameters": { @@ -21158,7 +21135,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 323, - "src": "6734:4:0", + "src": "6735:4:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -21169,7 +21146,7 @@ "id": 312, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "6734:4:0", + "src": "6735:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -21179,10 +21156,10 @@ "visibility": "internal" } ], - "src": "6733:6:0" + "src": "6734:6:0" }, "scope": 1205, - "src": "6598:221:0", + "src": "6599:221:0", "stateMutability": "view", "superFunction": null, "visibility": "external" @@ -21191,7 +21168,7 @@ "body": { "id": 339, "nodeType": "Block", - "src": "7192:61:0", + "src": "7193:61:0", "statements": [ { "expression": { @@ -21207,7 +21184,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "7209:12:0", + "src": "7210:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -21221,7 +21198,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 325, - "src": "7222:10:0", + "src": "7223:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -21232,7 +21209,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "7209:24:0", + "src": "7210:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -21246,7 +21223,7 @@ "memberName": "voted", "nodeType": "MemberAccess", "referencedDeclaration": 66, - "src": "7209:30:0", + "src": "7210:30:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -21260,7 +21237,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 327, - "src": "7240:5:0", + "src": "7241:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -21271,7 +21248,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "7209:37:0", + "src": "7210:37:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -21280,7 +21257,7 @@ "functionReturnParameters": 331, "id": 338, "nodeType": "Return", - "src": "7202:44:0" + "src": "7203:44:0" } ] }, @@ -21302,7 +21279,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 340, - "src": "7087:18:0", + "src": "7088:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -21313,7 +21290,7 @@ "id": 324, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "7087:7:0", + "src": "7088:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -21328,7 +21305,7 @@ "name": "party", "nodeType": "VariableDeclaration", "scope": 340, - "src": "7115:13:0", + "src": "7116:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -21339,7 +21316,7 @@ "id": 326, "name": "address", "nodeType": "ElementaryTypeName", - "src": "7115:7:0", + "src": "7116:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -21349,7 +21326,7 @@ "visibility": "internal" } ], - "src": "7077:57:0" + "src": "7078:57:0" }, "payable": false, "returnParameters": { @@ -21362,7 +21339,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 340, - "src": "7182:4:0", + "src": "7183:4:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -21373,7 +21350,7 @@ "id": 329, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "7182:4:0", + "src": "7183:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -21383,10 +21360,10 @@ "visibility": "internal" } ], - "src": "7181:6:0" + "src": "7182:6:0" }, "scope": 1205, - "src": "7059:194:0", + "src": "7060:194:0", "stateMutability": "view", "superFunction": null, "visibility": "external" @@ -21395,7 +21372,7 @@ "body": { "id": 397, "nodeType": "Block", - "src": "7856:303:0", + "src": "7857:303:0", "statements": [ { "expression": { @@ -21421,7 +21398,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1378, - "src": "7875:3:0", + "src": "7876:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -21435,7 +21412,7 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "7875:9:0", + "src": "7876:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -21453,7 +21430,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "7887:1:0", + "src": "7888:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -21461,7 +21438,7 @@ }, "value": "0" }, - "src": "7875:13:0", + "src": "7876:13:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -21477,7 +21454,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "7890:34:0", + "src": "7891:34:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_21fbec2be6560b9ccffc4980d43c0d147770168e7aaf24999b418b9010085622", @@ -21505,7 +21482,7 @@ 1382 ], "referencedDeclaration": 1382, - "src": "7867:7:0", + "src": "7868:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -21519,7 +21496,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7867:58:0", + "src": "7868:58:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -21527,7 +21504,7 @@ }, "id": 366, "nodeType": "ExpressionStatement", - "src": "7867:58:0" + "src": "7868:58:0" }, { "expression": { @@ -21548,7 +21525,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "7936:12:0", + "src": "7937:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -21562,7 +21539,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 342, - "src": "7949:10:0", + "src": "7950:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -21573,7 +21550,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "7936:24:0", + "src": "7937:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -21587,7 +21564,7 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": 40, - "src": "7936:30:0", + "src": "7937:30:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -21607,7 +21584,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1378, - "src": "8017:3:0", + "src": "8018:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -21621,7 +21598,7 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "8017:9:0", + "src": "8018:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -21646,7 +21623,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "7969:12:0", + "src": "7970:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -21660,7 +21637,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 342, - "src": "7982:10:0", + "src": "7983:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -21671,7 +21648,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "7969:24:0", + "src": "7970:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -21685,7 +21662,7 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": 40, - "src": "7969:30:0", + "src": "7970:30:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -21699,7 +21676,7 @@ "memberName": "add", "nodeType": "MemberAccess", "referencedDeclaration": 1342, - "src": "7969:47:0", + "src": "7970:47:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" @@ -21713,13 +21690,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7969:58:0", + "src": "7970:58:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "7936:91:0", + "src": "7937:91:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -21727,7 +21704,7 @@ }, "id": 380, "nodeType": "ExpressionStatement", - "src": "7936:91:0" + "src": "7937:91:0" }, { "expression": { @@ -21748,7 +21725,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "8037:12:0", + "src": "8038:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -21762,7 +21739,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 342, - "src": "8050:10:0", + "src": "8051:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -21773,7 +21750,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "8037:24:0", + "src": "8038:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -21787,7 +21764,7 @@ "memberName": "lastModified", "nodeType": "MemberAccess", "referencedDeclaration": 42, - "src": "8037:37:0", + "src": "8038:37:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -21804,7 +21781,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1368, - "src": "8077:5:0", + "src": "8078:5:0", "typeDescriptions": { "typeIdentifier": "t_magic_block", "typeString": "block" @@ -21818,13 +21795,13 @@ "memberName": "timestamp", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "8077:15:0", + "src": "8078:15:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "8037:55:0", + "src": "8038:55:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -21832,7 +21809,7 @@ }, "id": 388, "nodeType": "ExpressionStatement", - "src": "8037:55:0" + "src": "8038:55:0" }, { "eventCall": { @@ -21845,7 +21822,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 342, - "src": "8118:10:0", + "src": "8119:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -21860,7 +21837,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1378, - "src": "8130:3:0", + "src": "8131:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -21874,7 +21851,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "8130:10:0", + "src": "8131:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -21889,7 +21866,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1378, - "src": "8142:3:0", + "src": "8143:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -21903,7 +21880,7 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "8142:9:0", + "src": "8143:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -21930,7 +21907,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 30, - "src": "8108:9:0", + "src": "8109:9:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (bytes32,address,uint256)" @@ -21944,7 +21921,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8108:44:0", + "src": "8109:44:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -21952,7 +21929,7 @@ }, "id": 396, "nodeType": "EmitStatement", - "src": "8103:49:0" + "src": "8104:49:0" } ] }, @@ -21971,7 +21948,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 342, - "src": "7703:10:0", + "src": "7704:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -21986,14 +21963,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 99, - "src": "7686:16:0", + "src": "7687:16:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "7686:28:0" + "src": "7687:28:0" }, { "arguments": [ @@ -22004,7 +21981,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 342, - "src": "7737:10:0", + "src": "7738:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -22019,14 +21996,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 132, - "src": "7723:13:0", + "src": "7724:13:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "7723:25:0" + "src": "7724:25:0" }, { "arguments": [ @@ -22037,7 +22014,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 342, - "src": "7778:10:0", + "src": "7779:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -22052,7 +22029,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12, - "src": "7790:15:0", + "src": "7791:15:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_TransactionType_$12_$", "typeString": "type(enum Escrow_v1_0.TransactionType)" @@ -22066,7 +22043,7 @@ "memberName": "ETHER", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "7790:21:0", + "src": "7791:21:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -22081,14 +22058,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 165, - "src": "7757:20:0", + "src": "7758:20:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$_t_enum$_TransactionType_$12_$", "typeString": "modifier (bytes32,enum Escrow_v1_0.TransactionType)" } }, "nodeType": "ModifierInvocation", - "src": "7757:55:0" + "src": "7758:55:0" }, { "arguments": [ @@ -22099,7 +22076,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 342, - "src": "7831:10:0", + "src": "7832:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -22114,14 +22091,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 182, - "src": "7821:9:0", + "src": "7822:9:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "7821:21:0" + "src": "7822:21:0" } ], "name": "addFundsToTransaction", @@ -22136,7 +22113,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 398, - "src": "7620:18:0", + "src": "7621:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -22147,7 +22124,7 @@ "id": 341, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "7620:7:0", + "src": "7621:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -22157,17 +22134,17 @@ "visibility": "internal" } ], - "src": "7610:34:0" + "src": "7611:34:0" }, "payable": true, "returnParameters": { "id": 358, "nodeType": "ParameterList", "parameters": [], - "src": "7856:0:0" + "src": "7857:0:0" }, "scope": 1205, - "src": "7580:579:0", + "src": "7581:579:0", "stateMutability": "payable", "superFunction": null, "visibility": "external" @@ -22176,7 +22153,7 @@ "body": { "id": 476, "nodeType": "Block", - "src": "8762:613:0", + "src": "8763:613:0", "statements": [ { "expression": { @@ -22200,7 +22177,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 402, - "src": "8781:5:0", + "src": "8782:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -22218,7 +22195,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "8789:1:0", + "src": "8790:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -22226,7 +22203,7 @@ }, "value": "0" }, - "src": "8781:9:0", + "src": "8782:9:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -22242,7 +22219,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "8792:34:0", + "src": "8793:34:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_21fbec2be6560b9ccffc4980d43c0d147770168e7aaf24999b418b9010085622", @@ -22270,7 +22247,7 @@ 1382 ], "referencedDeclaration": 1382, - "src": "8773:7:0", + "src": "8774:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -22284,7 +22261,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8773:54:0", + "src": "8774:54:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -22292,7 +22269,7 @@ }, "id": 425, "nodeType": "ExpressionStatement", - "src": "8773:54:0" + "src": "8774:54:0" }, { "assignments": [ @@ -22305,7 +22282,7 @@ "name": "token", "nodeType": "VariableDeclaration", "scope": 477, - "src": "8838:20:0", + "src": "8839:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -22318,7 +22295,7 @@ "name": "ITokenContract", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 1235, - "src": "8838:14:0", + "src": "8839:14:0", "typeDescriptions": { "typeIdentifier": "t_contract$_ITokenContract_$1235", "typeString": "contract ITokenContract" @@ -22343,7 +22320,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "8889:12:0", + "src": "8890:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -22357,7 +22334,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 400, - "src": "8902:10:0", + "src": "8903:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -22368,7 +22345,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "8889:24:0", + "src": "8890:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -22382,7 +22359,7 @@ "memberName": "tokenAddress", "nodeType": "MemberAccess", "referencedDeclaration": 56, - "src": "8889:37:0", + "src": "8890:37:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -22401,7 +22378,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1235, - "src": "8861:14:0", + "src": "8862:14:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_ITokenContract_$1235_$", "typeString": "type(contract ITokenContract)" @@ -22415,14 +22392,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8861:75:0", + "src": "8862:75:0", "typeDescriptions": { "typeIdentifier": "t_contract$_ITokenContract_$1235", "typeString": "contract ITokenContract" } }, "nodeType": "VariableDeclarationStatement", - "src": "8838:98:0" + "src": "8839:98:0" }, { "expression": { @@ -22442,7 +22419,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "8987:12:0", + "src": "8988:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -22456,7 +22433,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 400, - "src": "9000:10:0", + "src": "9001:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -22467,7 +22444,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "8987:24:0", + "src": "8988:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -22481,7 +22458,7 @@ "memberName": "buyer", "nodeType": "MemberAccess", "referencedDeclaration": 52, - "src": "8987:30:0", + "src": "8988:30:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -22494,7 +22471,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1395, - "src": "9019:4:0", + "src": "9020:4:0", "typeDescriptions": { "typeIdentifier": "t_contract$_Escrow_v1_0_$1205", "typeString": "contract Escrow_v1_0" @@ -22507,7 +22484,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 402, - "src": "9025:5:0", + "src": "9026:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -22536,7 +22513,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 427, - "src": "8968:5:0", + "src": "8969:5:0", "typeDescriptions": { "typeIdentifier": "t_contract$_ITokenContract_$1235", "typeString": "contract ITokenContract" @@ -22550,7 +22527,7 @@ "memberName": "transferFrom", "nodeType": "MemberAccess", "referencedDeclaration": 1234, - "src": "8968:18:0", + "src": "8969:18:0", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", "typeString": "function (address,address,uint256) external returns (bool)" @@ -22564,7 +22541,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8968:63:0", + "src": "8969:63:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -22580,7 +22557,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "9045:94:0", + "src": "9046:94:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_d9d07068d589bc4adc53018a3c57c159ec128fdfb62732a5fa9410e76cf03318", @@ -22608,7 +22585,7 @@ 1382 ], "referencedDeclaration": 1382, - "src": "8947:7:0", + "src": "8948:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -22622,7 +22599,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8947:202:0", + "src": "8948:202:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -22630,7 +22607,7 @@ }, "id": 447, "nodeType": "ExpressionStatement", - "src": "8947:202:0" + "src": "8948:202:0" }, { "expression": { @@ -22651,7 +22628,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "9160:12:0", + "src": "9161:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -22665,7 +22642,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 400, - "src": "9173:10:0", + "src": "9174:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -22676,7 +22653,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "9160:24:0", + "src": "9161:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -22690,7 +22667,7 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": 40, - "src": "9160:30:0", + "src": "9161:30:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -22708,7 +22685,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 402, - "src": "9241:5:0", + "src": "9242:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -22733,7 +22710,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "9193:12:0", + "src": "9194:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -22747,7 +22724,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 400, - "src": "9206:10:0", + "src": "9207:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -22758,7 +22735,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "9193:24:0", + "src": "9194:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -22772,7 +22749,7 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": 40, - "src": "9193:30:0", + "src": "9194:30:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -22786,7 +22763,7 @@ "memberName": "add", "nodeType": "MemberAccess", "referencedDeclaration": 1342, - "src": "9193:47:0", + "src": "9194:47:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" @@ -22800,13 +22777,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "9193:54:0", + "src": "9194:54:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "9160:87:0", + "src": "9161:87:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -22814,7 +22791,7 @@ }, "id": 460, "nodeType": "ExpressionStatement", - "src": "9160:87:0" + "src": "9161:87:0" }, { "expression": { @@ -22835,7 +22812,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "9257:12:0", + "src": "9258:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -22849,7 +22826,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 400, - "src": "9270:10:0", + "src": "9271:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -22860,7 +22837,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "9257:24:0", + "src": "9258:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -22874,7 +22851,7 @@ "memberName": "lastModified", "nodeType": "MemberAccess", "referencedDeclaration": 42, - "src": "9257:37:0", + "src": "9258:37:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -22891,7 +22868,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1368, - "src": "9297:5:0", + "src": "9298:5:0", "typeDescriptions": { "typeIdentifier": "t_magic_block", "typeString": "block" @@ -22905,13 +22882,13 @@ "memberName": "timestamp", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "9297:15:0", + "src": "9298:15:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "9257:55:0", + "src": "9258:55:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -22919,7 +22896,7 @@ }, "id": 468, "nodeType": "ExpressionStatement", - "src": "9257:55:0" + "src": "9258:55:0" }, { "eventCall": { @@ -22932,7 +22909,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 400, - "src": "9338:10:0", + "src": "9339:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -22947,7 +22924,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1378, - "src": "9350:3:0", + "src": "9351:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -22961,7 +22938,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "9350:10:0", + "src": "9351:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -22974,7 +22951,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 402, - "src": "9362:5:0", + "src": "9363:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -23001,7 +22978,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 30, - "src": "9328:9:0", + "src": "9329:9:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (bytes32,address,uint256)" @@ -23015,7 +22992,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "9328:40:0", + "src": "9329:40:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -23023,7 +23000,7 @@ }, "id": 475, "nodeType": "EmitStatement", - "src": "9323:45:0" + "src": "9324:45:0" } ] }, @@ -23042,7 +23019,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 400, - "src": "8618:10:0", + "src": "8619:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -23057,14 +23034,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 99, - "src": "8601:16:0", + "src": "8602:16:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "8601:28:0" + "src": "8602:28:0" }, { "arguments": [ @@ -23075,7 +23052,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 400, - "src": "8652:10:0", + "src": "8653:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -23090,14 +23067,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 132, - "src": "8638:13:0", + "src": "8639:13:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "8638:25:0" + "src": "8639:25:0" }, { "arguments": [ @@ -23108,7 +23085,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 400, - "src": "8693:10:0", + "src": "8694:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -23123,7 +23100,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12, - "src": "8705:15:0", + "src": "8706:15:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_TransactionType_$12_$", "typeString": "type(enum Escrow_v1_0.TransactionType)" @@ -23137,7 +23114,7 @@ "memberName": "TOKEN", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "8705:21:0", + "src": "8706:21:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -23152,14 +23129,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 165, - "src": "8672:20:0", + "src": "8673:20:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$_t_enum$_TransactionType_$12_$", "typeString": "modifier (bytes32,enum Escrow_v1_0.TransactionType)" } }, "nodeType": "ModifierInvocation", - "src": "8672:55:0" + "src": "8673:55:0" }, { "arguments": [ @@ -23170,7 +23147,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 400, - "src": "8746:10:0", + "src": "8747:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -23185,14 +23162,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 182, - "src": "8736:9:0", + "src": "8737:9:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "8736:21:0" + "src": "8737:21:0" } ], "name": "addTokensToTransaction", @@ -23207,7 +23184,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 477, - "src": "8528:18:0", + "src": "8529:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -23218,7 +23195,7 @@ "id": 399, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "8528:7:0", + "src": "8529:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -23233,7 +23210,7 @@ "name": "value", "nodeType": "VariableDeclaration", "scope": 477, - "src": "8556:13:0", + "src": "8557:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -23244,7 +23221,7 @@ "id": 401, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "8556:7:0", + "src": "8557:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -23254,17 +23231,17 @@ "visibility": "internal" } ], - "src": "8518:57:0" + "src": "8519:57:0" }, "payable": false, "returnParameters": { "id": 418, "nodeType": "ParameterList", "parameters": [], - "src": "8762:0:0" + "src": "8763:0:0" }, "scope": 1205, - "src": "8487:888:0", + "src": "8488:888:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" @@ -23273,7 +23250,7 @@ "body": { "id": 489, "nodeType": "Block", - "src": "9630:56:0", + "src": "9631:56:0", "statements": [ { "expression": { @@ -23285,7 +23262,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 83, - "src": "9647:18:0", + "src": "9648:18:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_bytes32_$dyn_storage_$", "typeString": "mapping(address => bytes32[] storage ref)" @@ -23299,7 +23276,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 479, - "src": "9666:12:0", + "src": "9667:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -23310,7 +23287,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "9647:32:0", + "src": "9648:32:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage", "typeString": "bytes32[] storage ref" @@ -23319,7 +23296,7 @@ "functionReturnParameters": 484, "id": 488, "nodeType": "Return", - "src": "9640:39:0" + "src": "9641:39:0" } ] }, @@ -23341,7 +23318,7 @@ "name": "partyAddress", "nodeType": "VariableDeclaration", "scope": 490, - "src": "9537:20:0", + "src": "9538:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -23352,7 +23329,7 @@ "id": 478, "name": "address", "nodeType": "ElementaryTypeName", - "src": "9537:7:0", + "src": "9538:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -23362,7 +23339,7 @@ "visibility": "internal" } ], - "src": "9527:36:0" + "src": "9528:36:0" }, "payable": false, "returnParameters": { @@ -23375,7 +23352,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 490, - "src": "9614:9:0", + "src": "9615:9:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -23387,7 +23364,7 @@ "id": 481, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "9614:7:0", + "src": "9615:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -23396,7 +23373,7 @@ "id": 482, "length": null, "nodeType": "ArrayTypeName", - "src": "9614:9:0", + "src": "9615:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -23406,10 +23383,10 @@ "visibility": "internal" } ], - "src": "9613:11:0" + "src": "9614:11:0" }, "scope": 1205, - "src": "9492:194:0", + "src": "9493:194:0", "stateMutability": "view", "superFunction": null, "visibility": "external" @@ -23418,7 +23395,7 @@ "body": { "id": 575, "nodeType": "Block", - "src": "10556:790:0", + "src": "10557:792:0", "statements": [ { "expression": { @@ -23455,7 +23432,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 504, - "src": "10587:12:0", + "src": "10588:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" @@ -23469,7 +23446,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "10587:19:0", + "src": "10588:19:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -23487,7 +23464,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "10607:1:0", + "src": "10608:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -23495,7 +23472,7 @@ }, "value": "0" }, - "src": "10587:21:0", + "src": "10588:21:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -23523,7 +23500,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 504, - "src": "10612:12:0", + "src": "10613:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" @@ -23537,7 +23514,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "10612:19:0", + "src": "10613:19:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -23554,7 +23531,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 507, - "src": "10635:7:0", + "src": "10636:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", "typeString": "uint256[] calldata" @@ -23568,19 +23545,19 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "10635:14:0", + "src": "10636:14:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "10612:37:0", + "src": "10613:37:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "10587:62:0", + "src": "10588:62:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -23596,7 +23573,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "10651:38:0", + "src": "10652:38:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_53e979b0c355ea1eeda44a80ca73370fdb2abe922711b459aa4ee43d1558782b", @@ -23624,7 +23601,7 @@ 1382 ], "referencedDeclaration": 1382, - "src": "10566:7:0", + "src": "10567:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -23638,7 +23615,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "10566:133:0", + "src": "10567:133:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -23646,7 +23623,7 @@ }, "id": 529, "nodeType": "ExpressionStatement", - "src": "10566:133:0" + "src": "10567:133:0" }, { "expression": { @@ -23659,7 +23636,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 493, - "src": "10741:4:0", + "src": "10743:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_calldata_ptr", "typeString": "uint8[] calldata" @@ -23672,7 +23649,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 496, - "src": "10759:4:0", + "src": "10761:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", "typeString": "bytes32[] calldata" @@ -23685,7 +23662,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 499, - "src": "10777:4:0", + "src": "10779:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", "typeString": "bytes32[] calldata" @@ -23698,7 +23675,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 501, - "src": "10795:10:0", + "src": "10797:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -23711,7 +23688,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 504, - "src": "10819:12:0", + "src": "10821:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" @@ -23724,7 +23701,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 507, - "src": "10845:7:0", + "src": "10847:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", "typeString": "uint256[] calldata" @@ -23759,11 +23736,11 @@ } ], "id": 530, - "name": "verifyTransaction", + "name": "_verifyTransaction", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 700, - "src": "10710:17:0", + "src": "10711:18:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_array$_t_uint8_$dyn_memory_ptr_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_bytes32_$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$__$", "typeString": "function (uint8[] memory,bytes32[] memory,bytes32[] memory,bytes32,address[] memory,uint256[] memory)" @@ -23777,7 +23754,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "10710:152:0", + "src": "10711:153:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -23785,7 +23762,7 @@ }, "id": 538, "nodeType": "ExpressionStatement", - "src": "10710:152:0" + "src": "10711:153:0" }, { "expression": { @@ -23806,7 +23783,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "10873:12:0", + "src": "10875:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -23820,7 +23797,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 501, - "src": "10886:10:0", + "src": "10888:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -23831,7 +23808,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "10873:24:0", + "src": "10875:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -23845,7 +23822,7 @@ "memberName": "status", "nodeType": "MemberAccess", "referencedDeclaration": 44, - "src": "10873:31:0", + "src": "10875:31:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$9", "typeString": "enum Escrow_v1_0.Status" @@ -23862,7 +23839,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9, - "src": "10907:6:0", + "src": "10909:6:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_Status_$9_$", "typeString": "type(enum Escrow_v1_0.Status)" @@ -23876,13 +23853,13 @@ "memberName": "RELEASED", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "10907:15:0", + "src": "10909:15:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$9", "typeString": "enum Escrow_v1_0.Status" } }, - "src": "10873:49:0", + "src": "10875:49:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$9", "typeString": "enum Escrow_v1_0.Status" @@ -23890,7 +23867,7 @@ }, "id": 546, "nodeType": "ExpressionStatement", - "src": "10873:49:0" + "src": "10875:49:0" }, { "expression": { @@ -23911,7 +23888,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "11006:12:0", + "src": "11008:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -23925,7 +23902,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 501, - "src": "11019:10:0", + "src": "11021:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -23936,7 +23913,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "11006:24:0", + "src": "11008:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -23950,7 +23927,7 @@ "memberName": "lastModified", "nodeType": "MemberAccess", "referencedDeclaration": 42, - "src": "11006:37:0", + "src": "11008:37:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -23967,7 +23944,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1368, - "src": "11046:5:0", + "src": "11048:5:0", "typeDescriptions": { "typeIdentifier": "t_magic_block", "typeString": "block" @@ -23981,13 +23958,13 @@ "memberName": "timestamp", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "11046:15:0", + "src": "11048:15:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "11006:55:0", + "src": "11008:55:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -23995,7 +23972,7 @@ }, "id": 554, "nodeType": "ExpressionStatement", - "src": "11006:55:0" + "src": "11008:55:0" }, { "expression": { @@ -24022,7 +23999,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 501, - "src": "11106:10:0", + "src": "11109:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -24035,7 +24012,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 504, - "src": "11118:12:0", + "src": "11121:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" @@ -24048,7 +24025,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 507, - "src": "11132:7:0", + "src": "11135:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", "typeString": "uint256[] calldata" @@ -24071,11 +24048,11 @@ } ], "id": 556, - "name": "transferFunds", + "name": "_transferFunds", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 887, - "src": "11092:13:0", + "src": "11094:14:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$_t_uint256_$", "typeString": "function (bytes32,address[] memory,uint256[] memory) returns (uint256)" @@ -24089,7 +24066,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "11092:48:0", + "src": "11094:49:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -24108,7 +24085,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "11144:12:0", + "src": "11147:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -24122,7 +24099,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 501, - "src": "11157:10:0", + "src": "11160:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -24133,7 +24110,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "11144:24:0", + "src": "11147:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -24147,13 +24124,13 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": 40, - "src": "11144:30:0", + "src": "11147:30:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "11092:82:0", + "src": "11094:83:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -24169,7 +24146,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "11188:74:0", + "src": "11191:74:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_9e0bdb14e2e0d5e118fd1f547268c6a1fdb5e8facacd614066d4b60bc2c9941d", @@ -24197,7 +24174,7 @@ 1382 ], "referencedDeclaration": 1382, - "src": "11071:7:0", + "src": "11073:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -24211,7 +24188,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "11071:201:0", + "src": "11073:202:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -24219,7 +24196,7 @@ }, "id": 568, "nodeType": "ExpressionStatement", - "src": "11071:201:0" + "src": "11073:202:0" }, { "eventCall": { @@ -24232,7 +24209,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 501, - "src": "11305:10:0", + "src": "11308:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -24245,7 +24222,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 504, - "src": "11317:12:0", + "src": "11320:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" @@ -24258,7 +24235,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 507, - "src": "11331:7:0", + "src": "11334:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", "typeString": "uint256[] calldata" @@ -24285,7 +24262,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 22, - "src": "11296:8:0", + "src": "11299:8:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$__$", "typeString": "function (bytes32,address[] memory,uint256[] memory)" @@ -24299,7 +24276,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "11296:43:0", + "src": "11299:43:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -24307,7 +24284,7 @@ }, "id": 574, "nodeType": "EmitStatement", - "src": "11291:48:0" + "src": "11294:48:0" } ] }, @@ -24326,7 +24303,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 501, - "src": "10506:10:0", + "src": "10507:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -24341,14 +24318,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 99, - "src": "10489:16:0", + "src": "10490:16:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "10489:28:0" + "src": "10490:28:0" }, { "arguments": [ @@ -24359,7 +24336,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 501, - "src": "10540:10:0", + "src": "10541:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -24374,14 +24351,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 132, - "src": "10526:13:0", + "src": "10527:13:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "10526:25:0" + "src": "10527:25:0" } ], "name": "execute", @@ -24396,7 +24373,7 @@ "name": "sigV", "nodeType": "VariableDeclaration", "scope": 576, - "src": "10310:12:0", + "src": "10311:12:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -24408,7 +24385,7 @@ "id": 491, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "10310:5:0", + "src": "10311:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -24417,7 +24394,7 @@ "id": 492, "length": null, "nodeType": "ArrayTypeName", - "src": "10310:7:0", + "src": "10311:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_storage_ptr", "typeString": "uint8[]" @@ -24432,7 +24409,7 @@ "name": "sigR", "nodeType": "VariableDeclaration", "scope": 576, - "src": "10332:14:0", + "src": "10333:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -24444,7 +24421,7 @@ "id": 494, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "10332:7:0", + "src": "10333:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -24453,7 +24430,7 @@ "id": 495, "length": null, "nodeType": "ArrayTypeName", - "src": "10332:9:0", + "src": "10333:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -24468,7 +24445,7 @@ "name": "sigS", "nodeType": "VariableDeclaration", "scope": 576, - "src": "10356:14:0", + "src": "10357:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -24480,7 +24457,7 @@ "id": 497, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "10356:7:0", + "src": "10357:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -24489,7 +24466,7 @@ "id": 498, "length": null, "nodeType": "ArrayTypeName", - "src": "10356:9:0", + "src": "10357:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -24504,7 +24481,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 576, - "src": "10380:18:0", + "src": "10381:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -24515,7 +24492,7 @@ "id": 500, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "10380:7:0", + "src": "10381:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -24530,7 +24507,7 @@ "name": "destinations", "nodeType": "VariableDeclaration", "scope": 576, - "src": "10408:22:0", + "src": "10409:22:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -24542,7 +24519,7 @@ "id": 502, "name": "address", "nodeType": "ElementaryTypeName", - "src": "10408:7:0", + "src": "10409:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -24551,7 +24528,7 @@ "id": 503, "length": null, "nodeType": "ArrayTypeName", - "src": "10408:9:0", + "src": "10409:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", "typeString": "address[]" @@ -24566,7 +24543,7 @@ "name": "amounts", "nodeType": "VariableDeclaration", "scope": 576, - "src": "10440:17:0", + "src": "10441:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -24578,7 +24555,7 @@ "id": 505, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "10440:7:0", + "src": "10441:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -24587,7 +24564,7 @@ "id": 506, "length": null, "nodeType": "ArrayTypeName", - "src": "10440:9:0", + "src": "10441:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -24597,17 +24574,17 @@ "visibility": "internal" } ], - "src": "10300:163:0" + "src": "10301:163:0" }, "payable": false, "returnParameters": { "id": 515, "nodeType": "ParameterList", "parameters": [], - "src": "10556:0:0" + "src": "10557:0:0" }, "scope": 1205, - "src": "10284:1062:0", + "src": "10285:1064:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" @@ -24616,7 +24593,7 @@ "body": { "id": 630, "nodeType": "Block", - "src": "12100:716:0", + "src": "12103:716:0", "statements": [ { "condition": { @@ -24637,7 +24614,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 590, - "src": "12114:12:0", + "src": "12117:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -24658,7 +24635,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "12138:1:0", + "src": "12141:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -24680,7 +24657,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "12130:7:0", + "src": "12133:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" @@ -24695,13 +24672,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "12130:10:0", + "src": "12133:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "12114:26:0", + "src": "12117:26:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -24710,7 +24687,7 @@ "falseBody": { "id": 628, "nodeType": "Block", - "src": "12462:348:0", + "src": "12465:348:0", "statements": [ { "expression": { @@ -24726,7 +24703,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 578, - "src": "12548:8:0", + "src": "12551:8:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -24739,7 +24716,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 580, - "src": "12578:9:0", + "src": "12581:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -24752,7 +24729,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 582, - "src": "12609:12:0", + "src": "12612:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -24765,7 +24742,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 584, - "src": "12643:5:0", + "src": "12646:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -24778,7 +24755,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 586, - "src": "12670:6:0", + "src": "12673:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -24791,7 +24768,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 588, - "src": "12698:9:0", + "src": "12701:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -24804,7 +24781,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1395, - "src": "12729:4:0", + "src": "12732:4:0", "typeDescriptions": { "typeIdentifier": "t_contract$_Escrow_v1_0_$1205", "typeString": "contract Escrow_v1_0" @@ -24817,7 +24794,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 590, - "src": "12755:12:0", + "src": "12758:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -24866,7 +24843,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1365, - "src": "12510:3:0", + "src": "12513:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" @@ -24880,7 +24857,7 @@ "memberName": "encodePacked", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "12510:16:0", + "src": "12513:16:0", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" @@ -24894,7 +24871,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "12510:275:0", + "src": "12513:275:0", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -24913,7 +24890,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1372, - "src": "12483:9:0", + "src": "12486:9:0", "typeDescriptions": { "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", "typeString": "function () pure returns (bytes32)" @@ -24927,7 +24904,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "12483:316:0", + "src": "12486:316:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -24936,17 +24913,17 @@ "functionReturnParameters": 594, "id": 627, "nodeType": "Return", - "src": "12476:323:0" + "src": "12479:323:0" } ] }, "id": 629, "nodeType": "IfStatement", - "src": "12110:700:0", + "src": "12113:700:0", "trueBody": { "id": 613, "nodeType": "Block", - "src": "12142:314:0", + "src": "12145:314:0", "statements": [ { "expression": { @@ -24962,7 +24939,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 578, - "src": "12228:8:0", + "src": "12231:8:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -24975,7 +24952,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 580, - "src": "12258:9:0", + "src": "12261:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -24988,7 +24965,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 582, - "src": "12289:12:0", + "src": "12292:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -25001,7 +24978,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 584, - "src": "12323:5:0", + "src": "12326:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -25014,7 +24991,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 586, - "src": "12350:6:0", + "src": "12353:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -25027,7 +25004,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 588, - "src": "12378:9:0", + "src": "12381:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -25040,7 +25017,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1395, - "src": "12409:4:0", + "src": "12412:4:0", "typeDescriptions": { "typeIdentifier": "t_contract$_Escrow_v1_0_$1205", "typeString": "contract Escrow_v1_0" @@ -25085,7 +25062,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1365, - "src": "12190:3:0", + "src": "12193:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" @@ -25099,7 +25076,7 @@ "memberName": "encodePacked", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "12190:16:0", + "src": "12193:16:0", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" @@ -25113,7 +25090,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "12190:241:0", + "src": "12193:241:0", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -25132,7 +25109,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1372, - "src": "12163:9:0", + "src": "12166:9:0", "typeDescriptions": { "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", "typeString": "function () pure returns (bytes32)" @@ -25146,7 +25123,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "12163:282:0", + "src": "12166:282:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -25155,7 +25132,7 @@ "functionReturnParameters": 594, "id": 612, "nodeType": "Return", - "src": "12156:289:0" + "src": "12159:289:0" } ] } @@ -25180,7 +25157,7 @@ "name": "uniqueId", "nodeType": "VariableDeclaration", "scope": 631, - "src": "11861:16:0", + "src": "11864:16:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -25191,7 +25168,7 @@ "id": 577, "name": "bytes20", "nodeType": "ElementaryTypeName", - "src": "11861:7:0", + "src": "11864:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -25206,7 +25183,7 @@ "name": "threshold", "nodeType": "VariableDeclaration", "scope": 631, - "src": "11887:15:0", + "src": "11890:15:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -25217,7 +25194,7 @@ "id": 579, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "11887:5:0", + "src": "11890:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -25232,7 +25209,7 @@ "name": "timeoutHours", "nodeType": "VariableDeclaration", "scope": 631, - "src": "11912:19:0", + "src": "11915:19:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -25243,7 +25220,7 @@ "id": 581, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "11912:6:0", + "src": "11915:6:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -25258,7 +25235,7 @@ "name": "buyer", "nodeType": "VariableDeclaration", "scope": 631, - "src": "11941:13:0", + "src": "11944:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -25269,7 +25246,7 @@ "id": 583, "name": "address", "nodeType": "ElementaryTypeName", - "src": "11941:7:0", + "src": "11944:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -25284,7 +25261,7 @@ "name": "seller", "nodeType": "VariableDeclaration", "scope": 631, - "src": "11964:14:0", + "src": "11967:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -25295,7 +25272,7 @@ "id": 585, "name": "address", "nodeType": "ElementaryTypeName", - "src": "11964:7:0", + "src": "11967:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -25310,7 +25287,7 @@ "name": "moderator", "nodeType": "VariableDeclaration", "scope": 631, - "src": "11988:17:0", + "src": "11991:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -25321,7 +25298,7 @@ "id": 587, "name": "address", "nodeType": "ElementaryTypeName", - "src": "11988:7:0", + "src": "11991:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -25336,7 +25313,7 @@ "name": "tokenAddress", "nodeType": "VariableDeclaration", "scope": 631, - "src": "12015:20:0", + "src": "12018:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -25347,7 +25324,7 @@ "id": 589, "name": "address", "nodeType": "ElementaryTypeName", - "src": "12015:7:0", + "src": "12018:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -25357,7 +25334,7 @@ "visibility": "internal" } ], - "src": "11851:190:0" + "src": "11854:190:0" }, "payable": false, "returnParameters": { @@ -25370,7 +25347,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 631, - "src": "12087:7:0", + "src": "12090:7:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -25381,7 +25358,7 @@ "id": 592, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "12087:7:0", + "src": "12090:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -25391,10 +25368,10 @@ "visibility": "internal" } ], - "src": "12086:9:0" + "src": "12089:9:0" }, "scope": 1205, - "src": "11817:999:0", + "src": "11820:999:0", "stateMutability": "view", "superFunction": null, "visibility": "public" @@ -25403,7 +25380,7 @@ "body": { "id": 699, "nodeType": "Block", - "src": "13300:795:0", + "src": "13304:797:0", "statements": [ { "assignments": [ @@ -25416,7 +25393,7 @@ "name": "lastRecovered", "nodeType": "VariableDeclaration", "scope": 700, - "src": "13310:21:0", + "src": "13314:21:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -25427,7 +25404,7 @@ "id": 651, "name": "address", "nodeType": "ElementaryTypeName", - "src": "13310:7:0", + "src": "13314:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -25448,7 +25425,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 634, - "src": "13364:4:0", + "src": "13369:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr", "typeString": "uint8[] memory" @@ -25461,7 +25438,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 637, - "src": "13382:4:0", + "src": "13387:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" @@ -25474,7 +25451,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 640, - "src": "13400:4:0", + "src": "13405:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" @@ -25487,7 +25464,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 642, - "src": "13418:10:0", + "src": "13423:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -25500,7 +25477,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 645, - "src": "13442:12:0", + "src": "13447:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -25513,7 +25490,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 648, - "src": "13468:7:0", + "src": "13473:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" @@ -25548,11 +25525,11 @@ } ], "id": 653, - "name": "verifySignatures", + "name": "_verifySignatures", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1016, - "src": "13334:16:0", + "src": "13338:17:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_array$_t_uint8_$dyn_memory_ptr_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_bytes32_$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$_t_address_$", "typeString": "function (uint8[] memory,bytes32[] memory,bytes32[] memory,bytes32,address[] memory,uint256[] memory) returns (address)" @@ -25566,14 +25543,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "13334:151:0", + "src": "13338:152:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "VariableDeclarationStatement", - "src": "13310:175:0" + "src": "13314:176:0" }, { "assignments": [ @@ -25586,7 +25563,7 @@ "name": "timeLockExpired", "nodeType": "VariableDeclaration", "scope": 700, - "src": "13496:20:0", + "src": "13501:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -25597,7 +25574,7 @@ "id": 662, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "13496:4:0", + "src": "13501:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -25622,7 +25599,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "13550:12:0", + "src": "13556:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -25636,7 +25613,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 642, - "src": "13563:10:0", + "src": "13569:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -25647,7 +25624,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "13550:24:0", + "src": "13556:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -25661,7 +25638,7 @@ "memberName": "timeoutHours", "nodeType": "MemberAccess", "referencedDeclaration": 50, - "src": "13550:37:0", + "src": "13556:37:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -25678,7 +25655,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "13601:12:0", + "src": "13607:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -25692,7 +25669,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 642, - "src": "13614:10:0", + "src": "13620:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -25703,7 +25680,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "13601:24:0", + "src": "13607:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -25717,7 +25694,7 @@ "memberName": "lastModified", "nodeType": "MemberAccess", "referencedDeclaration": 42, - "src": "13601:37:0", + "src": "13607:37:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -25736,11 +25713,11 @@ } ], "id": 664, - "name": "isTimeLockExpired", + "name": "_isTimeLockExpired", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1048, - "src": "13519:17:0", + "src": "13524:18:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_uint32_$_t_uint256_$returns$_t_bool_$", "typeString": "function (uint32,uint256) view returns (bool)" @@ -25754,14 +25731,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "13519:129:0", + "src": "13524:130:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "nodeType": "VariableDeclarationStatement", - "src": "13496:152:0" + "src": "13501:153:0" }, { "condition": { @@ -25795,7 +25772,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 634, - "src": "13820:4:0", + "src": "13826:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr", "typeString": "uint8[] memory" @@ -25809,7 +25786,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "13820:11:0", + "src": "13826:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -25828,7 +25805,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "13834:12:0", + "src": "13840:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -25842,7 +25819,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 642, - "src": "13847:10:0", + "src": "13853:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -25853,7 +25830,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "13834:24:0", + "src": "13840:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -25867,13 +25844,13 @@ "memberName": "threshold", "nodeType": "MemberAccess", "referencedDeclaration": 48, - "src": "13834:34:0", + "src": "13840:34:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, - "src": "13820:48:0", + "src": "13826:48:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -25905,7 +25882,7 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "13873:16:0", + "src": "13879:16:0", "subExpression": { "argumentTypes": null, "id": 682, @@ -25913,7 +25890,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 663, - "src": "13874:15:0", + "src": "13880:15:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -25944,7 +25921,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 652, - "src": "13893:13:0", + "src": "13899:13:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -25963,7 +25940,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "13910:12:0", + "src": "13916:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -25977,7 +25954,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 642, - "src": "13923:10:0", + "src": "13929:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -25988,7 +25965,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "13910:24:0", + "src": "13916:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -26002,19 +25979,19 @@ "memberName": "seller", "nodeType": "MemberAccess", "referencedDeclaration": 54, - "src": "13910:31:0", + "src": "13916:31:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "13893:48:0", + "src": "13899:48:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "13873:68:0", + "src": "13879:68:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -26028,13 +26005,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "13872:70:0", + "src": "13878:70:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "13820:122:0", + "src": "13826:122:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -26043,11 +26020,11 @@ "falseBody": null, "id": 698, "nodeType": "IfStatement", - "src": "13799:289:0", + "src": "13805:289:0", "trueBody": { "id": 697, "nodeType": "Block", - "src": "13965:123:0", + "src": "13971:123:0", "statements": [ { "expression": { @@ -26063,7 +26040,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "13986:90:0", + "src": "13992:90:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_e454643f61f81e3a3dc8dabaafde295fea592e232abeb03abbb1835bdc3d20d0", @@ -26087,7 +26064,7 @@ 1384 ], "referencedDeclaration": 1384, - "src": "13979:6:0", + "src": "13985:6:0", "typeDescriptions": { "typeIdentifier": "t_function_revert_pure$_t_string_memory_ptr_$returns$__$", "typeString": "function (string memory) pure" @@ -26101,7 +26078,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "13979:98:0", + "src": "13985:98:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -26109,7 +26086,7 @@ }, "id": 696, "nodeType": "ExpressionStatement", - "src": "13979:98:0" + "src": "13985:98:0" } ] } @@ -26122,7 +26099,7 @@ "isConstructor": false, "isDeclaredConst": false, "modifiers": [], - "name": "verifyTransaction", + "name": "_verifyTransaction", "nodeType": "FunctionDefinition", "parameters": { "id": 649, @@ -26134,7 +26111,7 @@ "name": "sigV", "nodeType": "VariableDeclaration", "scope": 700, - "src": "13126:12:0", + "src": "13130:12:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -26146,7 +26123,7 @@ "id": 632, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "13126:5:0", + "src": "13130:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -26155,7 +26132,7 @@ "id": 633, "length": null, "nodeType": "ArrayTypeName", - "src": "13126:7:0", + "src": "13130:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_storage_ptr", "typeString": "uint8[]" @@ -26170,7 +26147,7 @@ "name": "sigR", "nodeType": "VariableDeclaration", "scope": 700, - "src": "13148:14:0", + "src": "13152:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -26182,7 +26159,7 @@ "id": 635, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "13148:7:0", + "src": "13152:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -26191,7 +26168,7 @@ "id": 636, "length": null, "nodeType": "ArrayTypeName", - "src": "13148:9:0", + "src": "13152:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -26206,7 +26183,7 @@ "name": "sigS", "nodeType": "VariableDeclaration", "scope": 700, - "src": "13172:14:0", + "src": "13176:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -26218,7 +26195,7 @@ "id": 638, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "13172:7:0", + "src": "13176:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -26227,7 +26204,7 @@ "id": 639, "length": null, "nodeType": "ArrayTypeName", - "src": "13172:9:0", + "src": "13176:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -26242,7 +26219,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 700, - "src": "13196:18:0", + "src": "13200:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -26253,7 +26230,7 @@ "id": 641, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "13196:7:0", + "src": "13200:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -26268,7 +26245,7 @@ "name": "destinations", "nodeType": "VariableDeclaration", "scope": 700, - "src": "13224:22:0", + "src": "13228:22:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -26280,7 +26257,7 @@ "id": 643, "name": "address", "nodeType": "ElementaryTypeName", - "src": "13224:7:0", + "src": "13228:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -26289,7 +26266,7 @@ "id": 644, "length": null, "nodeType": "ArrayTypeName", - "src": "13224:9:0", + "src": "13228:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", "typeString": "address[]" @@ -26304,7 +26281,7 @@ "name": "amounts", "nodeType": "VariableDeclaration", "scope": 700, - "src": "13256:17:0", + "src": "13260:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -26316,7 +26293,7 @@ "id": 646, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "13256:7:0", + "src": "13260:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -26325,7 +26302,7 @@ "id": 647, "length": null, "nodeType": "ArrayTypeName", - "src": "13256:9:0", + "src": "13260:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -26335,17 +26312,17 @@ "visibility": "internal" } ], - "src": "13116:163:0" + "src": "13120:163:0" }, "payable": false, "returnParameters": { "id": 650, "nodeType": "ParameterList", "parameters": [], - "src": "13300:0:0" + "src": "13304:0:0" }, "scope": 1205, - "src": "13090:1005:0", + "src": "13093:1008:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "private" @@ -26354,7 +26331,7 @@ "body": { "id": 886, "nodeType": "Block", - "src": "14381:1362:0", + "src": "14388:1362:0", "statements": [ { "assignments": [ @@ -26367,7 +26344,7 @@ "name": "t", "nodeType": "VariableDeclaration", "scope": 887, - "src": "14391:21:0", + "src": "14398:21:0", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { @@ -26380,7 +26357,7 @@ "name": "Transaction", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 71, - "src": "14391:11:0", + "src": "14398:11:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction" @@ -26400,7 +26377,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "14415:12:0", + "src": "14422:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -26414,7 +26391,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 702, - "src": "14428:10:0", + "src": "14435:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -26425,14 +26402,14 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "14415:24:0", + "src": "14422:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "14391:48:0" + "src": "14398:48:0" }, { "assignments": [ @@ -26445,7 +26422,7 @@ "name": "valueTransferred", "nodeType": "VariableDeclaration", "scope": 887, - "src": "14450:24:0", + "src": "14457:24:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -26456,7 +26433,7 @@ "id": 719, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "14450:7:0", + "src": "14457:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -26477,7 +26454,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "14477:1:0", + "src": "14484:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -26486,7 +26463,7 @@ "value": "0" }, "nodeType": "VariableDeclarationStatement", - "src": "14450:28:0" + "src": "14457:28:0" }, { "condition": { @@ -26509,7 +26486,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 714, - "src": "14493:1:0", + "src": "14500:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" @@ -26523,7 +26500,7 @@ "memberName": "transactionType", "nodeType": "MemberAccess", "referencedDeclaration": 46, - "src": "14493:17:0", + "src": "14500:17:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -26540,7 +26517,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12, - "src": "14514:15:0", + "src": "14521:15:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_TransactionType_$12_$", "typeString": "type(enum Escrow_v1_0.TransactionType)" @@ -26554,13 +26531,13 @@ "memberName": "ETHER", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "14514:21:0", + "src": "14521:21:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" } }, - "src": "14493:42:0", + "src": "14500:42:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -26587,7 +26564,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 714, - "src": "15049:1:0", + "src": "15056:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" @@ -26601,7 +26578,7 @@ "memberName": "transactionType", "nodeType": "MemberAccess", "referencedDeclaration": 46, - "src": "15049:17:0", + "src": "15056:17:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -26618,7 +26595,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12, - "src": "15070:15:0", + "src": "15077:15:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_TransactionType_$12_$", "typeString": "type(enum Escrow_v1_0.TransactionType)" @@ -26632,13 +26609,13 @@ "memberName": "TOKEN", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "15070:21:0", + "src": "15077:21:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" } }, - "src": "15049:42:0", + "src": "15056:42:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -26647,11 +26624,11 @@ "falseBody": null, "id": 882, "nodeType": "IfStatement", - "src": "15045:658:0", + "src": "15052:658:0", "trueBody": { "id": 881, "nodeType": "Block", - "src": "15093:610:0", + "src": "15100:610:0", "statements": [ { "assignments": [ @@ -26664,7 +26641,7 @@ "name": "token", "nodeType": "VariableDeclaration", "scope": 887, - "src": "15108:20:0", + "src": "15115:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -26677,7 +26654,7 @@ "name": "ITokenContract", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 1235, - "src": "15108:14:0", + "src": "15115:14:0", "typeDescriptions": { "typeIdentifier": "t_contract$_ITokenContract_$1235", "typeString": "contract ITokenContract" @@ -26700,7 +26677,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 714, - "src": "15146:1:0", + "src": "15153:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" @@ -26714,7 +26691,7 @@ "memberName": "tokenAddress", "nodeType": "MemberAccess", "referencedDeclaration": 56, - "src": "15146:14:0", + "src": "15153:14:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -26733,7 +26710,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1235, - "src": "15131:14:0", + "src": "15138:14:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_ITokenContract_$1235_$", "typeString": "type(contract ITokenContract)" @@ -26747,20 +26724,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15131:30:0", + "src": "15138:30:0", "typeDescriptions": { "typeIdentifier": "t_contract$_ITokenContract_$1235", "typeString": "contract ITokenContract" } }, "nodeType": "VariableDeclarationStatement", - "src": "15108:53:0" + "src": "15115:53:0" }, { "body": { "id": 879, "nodeType": "Block", - "src": "15224:469:0", + "src": "15231:469:0", "statements": [ { "expression": { @@ -26797,7 +26774,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 705, - "src": "15251:12:0", + "src": "15258:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -26811,7 +26788,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 810, - "src": "15264:1:0", + "src": "15271:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -26822,7 +26799,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15251:15:0", + "src": "15258:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -26843,7 +26820,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "15278:1:0", + "src": "15285:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -26865,7 +26842,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "15270:7:0", + "src": "15277:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" @@ -26880,13 +26857,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15270:10:0", + "src": "15277:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "15251:29:0", + "src": "15258:29:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -26905,7 +26882,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 714, - "src": "15284:1:0", + "src": "15291:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" @@ -26919,7 +26896,7 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "15284:9:0", + "src": "15291:9:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -26935,7 +26912,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 705, - "src": "15294:12:0", + "src": "15301:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -26949,7 +26926,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 810, - "src": "15307:1:0", + "src": "15314:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -26960,7 +26937,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15294:15:0", + "src": "15301:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -26971,13 +26948,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15284:26:0", + "src": "15291:26:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "15251:59:0", + "src": "15258:59:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -26993,7 +26970,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "15312:25:0", + "src": "15319:25:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_4b4c116dbf18274831a2b569c567d9fd9a0e9828a6c86ee9f93e80400fb6c49f", @@ -27021,7 +26998,7 @@ 1382 ], "referencedDeclaration": 1382, - "src": "15243:7:0", + "src": "15250:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -27035,7 +27012,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15243:95:0", + "src": "15250:95:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -27043,7 +27020,7 @@ }, "id": 837, "nodeType": "ExpressionStatement", - "src": "15243:95:0" + "src": "15250:95:0" }, { "expression": { @@ -27069,7 +27046,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 708, - "src": "15364:7:0", + "src": "15371:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" @@ -27083,7 +27060,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 810, - "src": "15372:1:0", + "src": "15379:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27094,7 +27071,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15364:10:0", + "src": "15371:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27112,7 +27089,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "15377:1:0", + "src": "15384:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -27120,7 +27097,7 @@ }, "value": "0" }, - "src": "15364:14:0", + "src": "15371:14:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -27136,7 +27113,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "15380:44:0", + "src": "15387:44:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_5e1271a09dbb64ae031de288deb0ad8d707df7db51d6e827931dc8fa6642a71e", @@ -27164,7 +27141,7 @@ 1382 ], "referencedDeclaration": 1382, - "src": "15356:7:0", + "src": "15363:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -27178,7 +27155,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15356:69:0", + "src": "15363:69:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -27186,7 +27163,7 @@ }, "id": 846, "nodeType": "ExpressionStatement", - "src": "15356:69:0" + "src": "15363:69:0" }, { "expression": { @@ -27203,7 +27180,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 720, - "src": "15444:16:0", + "src": "15451:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27223,7 +27200,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 708, - "src": "15484:7:0", + "src": "15491:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" @@ -27237,7 +27214,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 810, - "src": "15492:1:0", + "src": "15499:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27248,7 +27225,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15484:10:0", + "src": "15491:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27269,7 +27246,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 720, - "src": "15463:16:0", + "src": "15470:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27283,7 +27260,7 @@ "memberName": "add", "nodeType": "MemberAccess", "referencedDeclaration": 1342, - "src": "15463:20:0", + "src": "15470:20:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" @@ -27297,13 +27274,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15463:32:0", + "src": "15470:32:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "15444:51:0", + "src": "15451:51:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27311,7 +27288,7 @@ }, "id": 855, "nodeType": "ExpressionStatement", - "src": "15444:51:0" + "src": "15451:51:0" }, { "expression": { @@ -27332,7 +27309,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 714, - "src": "15513:1:0", + "src": "15520:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" @@ -27346,7 +27323,7 @@ "memberName": "beneficiaries", "nodeType": "MemberAccess", "referencedDeclaration": 70, - "src": "15513:15:0", + "src": "15520:15:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -27362,7 +27339,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 705, - "src": "15529:12:0", + "src": "15536:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -27376,7 +27353,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 810, - "src": "15542:1:0", + "src": "15549:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27387,7 +27364,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15529:15:0", + "src": "15536:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -27398,7 +27375,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "15513:32:0", + "src": "15520:32:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -27416,7 +27393,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "15548:4:0", + "src": "15555:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -27424,7 +27401,7 @@ }, "value": "true" }, - "src": "15513:39:0", + "src": "15520:39:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -27432,7 +27409,7 @@ }, "id": 865, "nodeType": "ExpressionStatement", - "src": "15513:39:0" + "src": "15520:39:0" }, { "expression": { @@ -27450,7 +27427,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 705, - "src": "15623:12:0", + "src": "15630:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -27464,7 +27441,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 810, - "src": "15636:1:0", + "src": "15643:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27475,7 +27452,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15623:15:0", + "src": "15630:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -27490,7 +27467,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 708, - "src": "15640:7:0", + "src": "15647:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" @@ -27504,7 +27481,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 810, - "src": "15648:1:0", + "src": "15655:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27515,7 +27492,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15640:10:0", + "src": "15647:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27540,7 +27517,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 803, - "src": "15608:5:0", + "src": "15615:5:0", "typeDescriptions": { "typeIdentifier": "t_contract$_ITokenContract_$1235", "typeString": "contract ITokenContract" @@ -27554,7 +27531,7 @@ "memberName": "transfer", "nodeType": "MemberAccess", "referencedDeclaration": 1223, - "src": "15608:14:0", + "src": "15615:14:0", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", "typeString": "function (address,uint256) external returns (bool)" @@ -27568,7 +27545,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15608:43:0", + "src": "15615:43:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -27584,7 +27561,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "15653:24:0", + "src": "15660:24:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_e545223bb79d8456d66fa5a98897abb42bb4807111f004a120200da3b7e292c5", @@ -27612,7 +27589,7 @@ 1382 ], "referencedDeclaration": 1382, - "src": "15600:7:0", + "src": "15607:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -27626,7 +27603,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15600:78:0", + "src": "15607:78:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -27634,7 +27611,7 @@ }, "id": 878, "nodeType": "ExpressionStatement", - "src": "15600:78:0" + "src": "15607:78:0" } ] }, @@ -27656,7 +27633,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 810, - "src": "15196:1:0", + "src": "15203:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27673,7 +27650,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 705, - "src": "15198:12:0", + "src": "15205:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -27687,13 +27664,13 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "15198:19:0", + "src": "15205:19:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "15196:21:0", + "src": "15203:21:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -27711,7 +27688,7 @@ "name": "j", "nodeType": "VariableDeclaration", "scope": 887, - "src": "15181:9:0", + "src": "15188:9:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -27722,7 +27699,7 @@ "id": 809, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "15181:7:0", + "src": "15188:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27743,7 +27720,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "15193:1:0", + "src": "15200:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -27752,7 +27729,7 @@ "value": "0" }, "nodeType": "VariableDeclarationStatement", - "src": "15181:13:0" + "src": "15188:13:0" }, "loopExpression": { "expression": { @@ -27765,7 +27742,7 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "15219:3:0", + "src": "15226:3:0", "subExpression": { "argumentTypes": null, "id": 817, @@ -27773,7 +27750,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 810, - "src": "15219:1:0", + "src": "15226:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27786,27 +27763,27 @@ }, "id": 819, "nodeType": "ExpressionStatement", - "src": "15219:3:0" + "src": "15226:3:0" }, "nodeType": "ForStatement", - "src": "15176:517:0" + "src": "15183:517:0" } ] } }, "id": 883, "nodeType": "IfStatement", - "src": "14489:1214:0", + "src": "14496:1214:0", "trueBody": { "id": 796, "nodeType": "Block", - "src": "14537:502:0", + "src": "14544:502:0", "statements": [ { "body": { "id": 794, "nodeType": "Block", - "src": "14601:427:0", + "src": "14608:427:0", "statements": [ { "expression": { @@ -27843,7 +27820,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 705, - "src": "14628:12:0", + "src": "14635:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -27857,7 +27834,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 729, - "src": "14641:1:0", + "src": "14648:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27868,7 +27845,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "14628:15:0", + "src": "14635:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -27889,7 +27866,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "14655:1:0", + "src": "14662:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -27911,7 +27888,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "14647:7:0", + "src": "14654:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" @@ -27926,13 +27903,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "14647:10:0", + "src": "14654:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "14628:29:0", + "src": "14635:29:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -27951,7 +27928,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 714, - "src": "14661:1:0", + "src": "14668:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" @@ -27965,7 +27942,7 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "14661:9:0", + "src": "14668:9:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -27981,7 +27958,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 705, - "src": "14671:12:0", + "src": "14678:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -27995,7 +27972,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 729, - "src": "14684:1:0", + "src": "14691:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28006,7 +27983,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "14671:15:0", + "src": "14678:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -28017,13 +27994,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "14661:26:0", + "src": "14668:26:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "14628:59:0", + "src": "14635:59:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -28039,7 +28016,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "14689:25:0", + "src": "14696:25:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_4b4c116dbf18274831a2b569c567d9fd9a0e9828a6c86ee9f93e80400fb6c49f", @@ -28067,7 +28044,7 @@ 1382 ], "referencedDeclaration": 1382, - "src": "14620:7:0", + "src": "14627:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -28081,7 +28058,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "14620:95:0", + "src": "14627:95:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -28089,7 +28066,7 @@ }, "id": 756, "nodeType": "ExpressionStatement", - "src": "14620:95:0" + "src": "14627:95:0" }, { "expression": { @@ -28115,7 +28092,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 708, - "src": "14741:7:0", + "src": "14748:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" @@ -28129,7 +28106,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 729, - "src": "14749:1:0", + "src": "14756:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28140,7 +28117,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "14741:10:0", + "src": "14748:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28158,7 +28135,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "14754:1:0", + "src": "14761:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -28166,7 +28143,7 @@ }, "value": "0" }, - "src": "14741:14:0", + "src": "14748:14:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -28182,7 +28159,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "14757:44:0", + "src": "14764:44:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_5e1271a09dbb64ae031de288deb0ad8d707df7db51d6e827931dc8fa6642a71e", @@ -28210,7 +28187,7 @@ 1382 ], "referencedDeclaration": 1382, - "src": "14733:7:0", + "src": "14740:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -28224,7 +28201,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "14733:69:0", + "src": "14740:69:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -28232,7 +28209,7 @@ }, "id": 765, "nodeType": "ExpressionStatement", - "src": "14733:69:0" + "src": "14740:69:0" }, { "expression": { @@ -28249,7 +28226,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 720, - "src": "14821:16:0", + "src": "14828:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28269,7 +28246,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 708, - "src": "14861:7:0", + "src": "14868:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" @@ -28283,7 +28260,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 729, - "src": "14869:1:0", + "src": "14876:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28294,7 +28271,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "14861:10:0", + "src": "14868:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28315,7 +28292,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 720, - "src": "14840:16:0", + "src": "14847:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28329,7 +28306,7 @@ "memberName": "add", "nodeType": "MemberAccess", "referencedDeclaration": 1342, - "src": "14840:20:0", + "src": "14847:20:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" @@ -28343,13 +28320,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "14840:32:0", + "src": "14847:32:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "14821:51:0", + "src": "14828:51:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28357,7 +28334,7 @@ }, "id": 774, "nodeType": "ExpressionStatement", - "src": "14821:51:0" + "src": "14828:51:0" }, { "expression": { @@ -28378,7 +28355,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 714, - "src": "14891:1:0", + "src": "14898:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" @@ -28392,7 +28369,7 @@ "memberName": "beneficiaries", "nodeType": "MemberAccess", "referencedDeclaration": 70, - "src": "14891:15:0", + "src": "14898:15:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -28408,7 +28385,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 705, - "src": "14907:12:0", + "src": "14914:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -28422,7 +28399,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 729, - "src": "14920:1:0", + "src": "14927:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28433,7 +28410,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "14907:15:0", + "src": "14914:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -28444,7 +28421,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "14891:32:0", + "src": "14898:32:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -28462,7 +28439,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "14926:4:0", + "src": "14933:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -28470,7 +28447,7 @@ }, "value": "true" }, - "src": "14891:39:0", + "src": "14898:39:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -28478,7 +28455,7 @@ }, "id": 784, "nodeType": "ExpressionStatement", - "src": "14891:39:0" + "src": "14898:39:0" }, { "expression": { @@ -28493,7 +28470,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 708, - "src": "15002:7:0", + "src": "15009:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" @@ -28507,7 +28484,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 729, - "src": "15010:1:0", + "src": "15017:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28518,7 +28495,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15002:10:0", + "src": "15009:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28541,7 +28518,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 705, - "src": "14977:12:0", + "src": "14984:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -28555,7 +28532,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 729, - "src": "14990:1:0", + "src": "14997:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28566,7 +28543,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "14977:15:0", + "src": "14984:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -28580,7 +28557,7 @@ "memberName": "transfer", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "14977:24:0", + "src": "14984:24:0", "typeDescriptions": { "typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$", "typeString": "function (uint256)" @@ -28594,7 +28571,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "14977:36:0", + "src": "14984:36:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -28602,7 +28579,7 @@ }, "id": 793, "nodeType": "ExpressionStatement", - "src": "14977:36:0" + "src": "14984:36:0" } ] }, @@ -28624,7 +28601,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 729, - "src": "14571:1:0", + "src": "14578:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28641,7 +28618,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 705, - "src": "14575:12:0", + "src": "14582:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -28655,13 +28632,13 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "14575:19:0", + "src": "14582:19:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "14571:23:0", + "src": "14578:23:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -28679,7 +28656,7 @@ "name": "i", "nodeType": "VariableDeclaration", "scope": 887, - "src": "14556:9:0", + "src": "14563:9:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -28690,7 +28667,7 @@ "id": 728, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "14556:7:0", + "src": "14563:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28711,7 +28688,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "14568:1:0", + "src": "14575:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -28720,7 +28697,7 @@ "value": "0" }, "nodeType": "VariableDeclarationStatement", - "src": "14556:13:0" + "src": "14563:13:0" }, "loopExpression": { "expression": { @@ -28733,7 +28710,7 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "14596:3:0", + "src": "14603:3:0", "subExpression": { "argumentTypes": null, "id": 736, @@ -28741,7 +28718,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 729, - "src": "14596:1:0", + "src": "14603:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28754,10 +28731,10 @@ }, "id": 738, "nodeType": "ExpressionStatement", - "src": "14596:3:0" + "src": "14603:3:0" }, "nodeType": "ForStatement", - "src": "14551:477:0" + "src": "14558:477:0" } ] } @@ -28770,7 +28747,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 720, - "src": "15720:16:0", + "src": "15727:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28779,7 +28756,7 @@ "functionReturnParameters": 712, "id": 885, "nodeType": "Return", - "src": "15713:23:0" + "src": "15720:23:0" } ] }, @@ -28789,7 +28766,7 @@ "isConstructor": false, "isDeclaredConst": false, "modifiers": [], - "name": "transferFunds", + "name": "_transferFunds", "nodeType": "FunctionDefinition", "parameters": { "id": 709, @@ -28801,7 +28778,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 887, - "src": "14253:18:0", + "src": "14260:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -28812,7 +28789,7 @@ "id": 701, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "14253:7:0", + "src": "14260:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -28827,7 +28804,7 @@ "name": "destinations", "nodeType": "VariableDeclaration", "scope": 887, - "src": "14281:21:0", + "src": "14288:21:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -28839,7 +28816,7 @@ "id": 703, "name": "address", "nodeType": "ElementaryTypeName", - "src": "14281:7:0", + "src": "14288:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -28848,7 +28825,7 @@ "id": 704, "length": null, "nodeType": "ArrayTypeName", - "src": "14281:9:0", + "src": "14288:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", "typeString": "address[]" @@ -28863,7 +28840,7 @@ "name": "amounts", "nodeType": "VariableDeclaration", "scope": 887, - "src": "14312:16:0", + "src": "14319:16:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -28875,7 +28852,7 @@ "id": 706, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "14312:7:0", + "src": "14319:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28884,7 +28861,7 @@ "id": 707, "length": null, "nodeType": "ArrayTypeName", - "src": "14312:9:0", + "src": "14319:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -28894,7 +28871,7 @@ "visibility": "internal" } ], - "src": "14243:91:0" + "src": "14250:91:0" }, "payable": false, "returnParameters": { @@ -28907,7 +28884,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 887, - "src": "14368:7:0", + "src": "14375:7:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -28918,7 +28895,7 @@ "id": 710, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "14368:7:0", + "src": "14375:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28928,10 +28905,10 @@ "visibility": "internal" } ], - "src": "14367:9:0" + "src": "14374:9:0" }, "scope": 1205, - "src": "14221:1522:0", + "src": "14227:1523:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "private" @@ -28940,7 +28917,7 @@ "body": { "id": 1015, "nodeType": "Block", - "src": "16162:1337:0", + "src": "16170:1337:0", "statements": [ { "expression": { @@ -28977,7 +28954,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 893, - "src": "16194:4:0", + "src": "16202:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" @@ -28991,7 +28968,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "16194:11:0", + "src": "16202:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29008,7 +28985,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 896, - "src": "16209:4:0", + "src": "16217:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" @@ -29022,13 +28999,13 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "16209:11:0", + "src": "16217:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "16194:26:0", + "src": "16202:26:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -29056,7 +29033,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 893, - "src": "16224:4:0", + "src": "16232:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" @@ -29070,7 +29047,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "16224:11:0", + "src": "16232:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29087,7 +29064,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 890, - "src": "16239:4:0", + "src": "16247:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr", "typeString": "uint8[] memory" @@ -29101,19 +29078,19 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "16239:11:0", + "src": "16247:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "16224:26:0", + "src": "16232:26:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "16194:56:0", + "src": "16202:56:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -29129,7 +29106,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "16265:24:0", + "src": "16273:24:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_f85073c8befb65baed58ca1ee563e5da0bdbdce8abd4d29ef22a8329c7c97506", @@ -29157,7 +29134,7 @@ 1382 ], "referencedDeclaration": 1382, - "src": "16173:7:0", + "src": "16181:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -29171,7 +29148,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16173:126:0", + "src": "16181:126:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -29179,7 +29156,7 @@ }, "id": 923, "nodeType": "ExpressionStatement", - "src": "16173:126:0" + "src": "16181:126:0" }, { "assignments": [], @@ -29190,7 +29167,7 @@ "name": "lastAddress", "nodeType": "VariableDeclaration", "scope": 1016, - "src": "16310:19:0", + "src": "16318:19:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -29201,7 +29178,7 @@ "id": 924, "name": "address", "nodeType": "ElementaryTypeName", - "src": "16310:7:0", + "src": "16318:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -29214,7 +29191,7 @@ "id": 926, "initialValue": null, "nodeType": "VariableDeclarationStatement", - "src": "16310:19:0" + "src": "16318:19:0" }, { "assignments": [ @@ -29227,7 +29204,7 @@ "name": "txHash", "nodeType": "VariableDeclaration", "scope": 1016, - "src": "16428:14:0", + "src": "16436:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -29238,7 +29215,7 @@ "id": 927, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "16428:7:0", + "src": "16436:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -29265,7 +29242,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "16502:34:0", + "src": "16510:34:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_178a2411ab6fbc1ba11064408972259c558d0e82fd48b0aba3ad81d14f065e73", @@ -29292,7 +29269,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "16632:4:0", + "src": "16640:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_25_by_1", @@ -29314,7 +29291,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "16627:4:0", + "src": "16635:4:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes1_$", "typeString": "type(bytes1)" @@ -29329,7 +29306,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16627:10:0", + "src": "16635:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes1", "typeString": "bytes1" @@ -29348,7 +29325,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "16668:1:0", + "src": "16676:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -29370,7 +29347,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "16663:4:0", + "src": "16671:4:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes1_$", "typeString": "type(bytes1)" @@ -29385,7 +29362,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16663:7:0", + "src": "16671:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes1", "typeString": "bytes1" @@ -29398,7 +29375,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1395, - "src": "16696:4:0", + "src": "16704:4:0", "typeDescriptions": { "typeIdentifier": "t_contract$_Escrow_v1_0_$1205", "typeString": "contract Escrow_v1_0" @@ -29411,7 +29388,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 901, - "src": "16726:12:0", + "src": "16734:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -29424,7 +29401,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 904, - "src": "16764:7:0", + "src": "16772:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" @@ -29437,7 +29414,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 898, - "src": "16797:10:0", + "src": "16805:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -29478,7 +29455,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1365, - "src": "16585:3:0", + "src": "16593:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" @@ -29492,7 +29469,7 @@ "memberName": "encodePacked", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "16585:16:0", + "src": "16593:16:0", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" @@ -29506,7 +29483,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16585:244:0", + "src": "16593:244:0", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -29525,7 +29502,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1372, - "src": "16554:9:0", + "src": "16562:9:0", "typeDescriptions": { "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", "typeString": "function () pure returns (bytes32)" @@ -29539,7 +29516,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16554:293:0", + "src": "16562:293:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -29564,7 +29541,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1365, - "src": "16468:3:0", + "src": "16476:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" @@ -29578,7 +29555,7 @@ "memberName": "encodePacked", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "16468:16:0", + "src": "16476:16:0", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" @@ -29592,7 +29569,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16468:393:0", + "src": "16476:393:0", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -29611,7 +29588,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1372, - "src": "16445:9:0", + "src": "16453:9:0", "typeDescriptions": { "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", "typeString": "function () pure returns (bytes32)" @@ -29625,20 +29602,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16445:426:0", + "src": "16453:426:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "nodeType": "VariableDeclarationStatement", - "src": "16428:443:0" + "src": "16436:443:0" }, { "body": { "id": 1011, "nodeType": "Block", - "src": "16921:543:0", + "src": "16929:543:0", "statements": [ { "assignments": [ @@ -29651,7 +29628,7 @@ "name": "recovered", "nodeType": "VariableDeclaration", "scope": 1016, - "src": "16936:17:0", + "src": "16944:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -29662,7 +29639,7 @@ "id": 962, "name": "address", "nodeType": "ElementaryTypeName", - "src": "16936:7:0", + "src": "16944:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -29683,7 +29660,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 928, - "src": "16983:6:0", + "src": "16991:6:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -29698,7 +29675,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 890, - "src": "17007:4:0", + "src": "17015:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr", "typeString": "uint8[] memory" @@ -29712,7 +29689,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 952, - "src": "17012:1:0", + "src": "17020:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29723,7 +29700,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17007:7:0", + "src": "17015:7:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -29738,7 +29715,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 893, - "src": "17032:4:0", + "src": "17040:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" @@ -29752,7 +29729,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 952, - "src": "17037:1:0", + "src": "17045:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29763,7 +29740,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17032:7:0", + "src": "17040:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -29778,7 +29755,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 896, - "src": "17057:4:0", + "src": "17065:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" @@ -29792,7 +29769,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 952, - "src": "17062:1:0", + "src": "17070:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29803,7 +29780,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17057:7:0", + "src": "17065:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -29834,7 +29811,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1370, - "src": "16956:9:0", + "src": "16964:9:0", "typeDescriptions": { "typeIdentifier": "t_function_ecrecover_pure$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$_t_address_$", "typeString": "function (bytes32,uint8,bytes32,bytes32) pure returns (address)" @@ -29848,14 +29825,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16956:122:0", + "src": "16964:122:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "VariableDeclarationStatement", - "src": "16936:142:0" + "src": "16944:142:0" }, { "expression": { @@ -29874,7 +29851,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "17118:12:0", + "src": "17126:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -29888,7 +29865,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 898, - "src": "17131:10:0", + "src": "17139:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -29899,7 +29876,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17118:24:0", + "src": "17126:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -29913,7 +29890,7 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "17118:32:0", + "src": "17126:32:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -29927,7 +29904,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 963, - "src": "17151:9:0", + "src": "17159:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -29938,7 +29915,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17118:43:0", + "src": "17126:43:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -29954,7 +29931,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "17180:19:0", + "src": "17188:19:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_4f2d7dfcb27c0aafa13ae8c400de482c7832204d194018b6e45bd2bf244c74e7", @@ -29982,7 +29959,7 @@ 1382 ], "referencedDeclaration": 1382, - "src": "17093:7:0", + "src": "17101:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -29996,7 +29973,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17093:120:0", + "src": "17101:120:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -30004,7 +29981,7 @@ }, "id": 986, "nodeType": "ExpressionStatement", - "src": "17093:120:0" + "src": "17101:120:0" }, { "expression": { @@ -30020,7 +29997,7 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "17252:42:0", + "src": "17260:42:0", "subExpression": { "argumentTypes": null, "baseExpression": { @@ -30034,7 +30011,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "17253:12:0", + "src": "17261:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -30048,7 +30025,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 898, - "src": "17266:10:0", + "src": "17274:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -30059,7 +30036,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17253:24:0", + "src": "17261:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -30073,7 +30050,7 @@ "memberName": "voted", "nodeType": "MemberAccess", "referencedDeclaration": 66, - "src": "17253:30:0", + "src": "17261:30:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -30087,7 +30064,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 963, - "src": "17284:9:0", + "src": "17292:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -30098,7 +30075,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17253:41:0", + "src": "17261:41:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -30119,7 +30096,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "17313:27:0", + "src": "17321:27:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_fb2c7e49d5ec7ce36fa812cf15ee7fa946942f931d04fe3ae970516007b2a543", @@ -30147,7 +30124,7 @@ 1382 ], "referencedDeclaration": 1382, - "src": "17227:7:0", + "src": "17235:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -30161,7 +30138,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17227:127:0", + "src": "17235:127:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -30169,7 +30146,7 @@ }, "id": 997, "nodeType": "ExpressionStatement", - "src": "17227:127:0" + "src": "17235:127:0" }, { "expression": { @@ -30192,7 +30169,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "17368:12:0", + "src": "17376:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -30206,7 +30183,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 898, - "src": "17381:10:0", + "src": "17389:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -30217,7 +30194,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17368:24:0", + "src": "17376:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -30231,7 +30208,7 @@ "memberName": "voted", "nodeType": "MemberAccess", "referencedDeclaration": 66, - "src": "17368:30:0", + "src": "17376:30:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -30245,7 +30222,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 963, - "src": "17399:9:0", + "src": "17407:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -30256,7 +30233,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "17368:41:0", + "src": "17376:41:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -30274,7 +30251,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "17412:4:0", + "src": "17420:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -30282,7 +30259,7 @@ }, "value": "true" }, - "src": "17368:48:0", + "src": "17376:48:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -30290,7 +30267,7 @@ }, "id": 1006, "nodeType": "ExpressionStatement", - "src": "17368:48:0" + "src": "17376:48:0" }, { "expression": { @@ -30307,7 +30284,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 925, - "src": "17430:11:0", + "src": "17438:11:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -30322,13 +30299,13 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 963, - "src": "17444:9:0", + "src": "17452:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "17430:23:0", + "src": "17438:23:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -30336,7 +30313,7 @@ }, "id": 1010, "nodeType": "ExpressionStatement", - "src": "17430:23:0" + "src": "17438:23:0" } ] }, @@ -30358,7 +30335,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 952, - "src": "16899:1:0", + "src": "16907:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -30375,7 +30352,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 893, - "src": "16903:4:0", + "src": "16911:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" @@ -30389,13 +30366,13 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "16903:11:0", + "src": "16911:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "16899:15:0", + "src": "16907:15:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -30413,7 +30390,7 @@ "name": "i", "nodeType": "VariableDeclaration", "scope": 1016, - "src": "16887:6:0", + "src": "16895:6:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -30424,7 +30401,7 @@ "id": 951, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "16887:4:0", + "src": "16895:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -30445,7 +30422,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "16896:1:0", + "src": "16904:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -30454,7 +30431,7 @@ "value": "0" }, "nodeType": "VariableDeclarationStatement", - "src": "16887:10:0" + "src": "16895:10:0" }, "loopExpression": { "expression": { @@ -30467,7 +30444,7 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "16916:3:0", + "src": "16924:3:0", "subExpression": { "argumentTypes": null, "id": 959, @@ -30475,7 +30452,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 952, - "src": "16916:1:0", + "src": "16924:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -30488,10 +30465,10 @@ }, "id": 961, "nodeType": "ExpressionStatement", - "src": "16916:3:0" + "src": "16924:3:0" }, "nodeType": "ForStatement", - "src": "16882:582:0" + "src": "16890:582:0" }, { "expression": { @@ -30501,7 +30478,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 925, - "src": "17481:11:0", + "src": "17489:11:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -30510,7 +30487,7 @@ "functionReturnParameters": 908, "id": 1014, "nodeType": "Return", - "src": "17474:18:0" + "src": "17482:18:0" } ] }, @@ -30520,7 +30497,7 @@ "isConstructor": false, "isDeclaredConst": false, "modifiers": [], - "name": "verifySignatures", + "name": "_verifySignatures", "nodeType": "FunctionDefinition", "parameters": { "id": 905, @@ -30532,7 +30509,7 @@ "name": "sigV", "nodeType": "VariableDeclaration", "scope": 1016, - "src": "15963:12:0", + "src": "15971:12:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -30544,7 +30521,7 @@ "id": 888, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "15963:5:0", + "src": "15971:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -30553,7 +30530,7 @@ "id": 889, "length": null, "nodeType": "ArrayTypeName", - "src": "15963:7:0", + "src": "15971:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_storage_ptr", "typeString": "uint8[]" @@ -30568,7 +30545,7 @@ "name": "sigR", "nodeType": "VariableDeclaration", "scope": 1016, - "src": "15985:14:0", + "src": "15993:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -30580,7 +30557,7 @@ "id": 891, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "15985:7:0", + "src": "15993:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -30589,7 +30566,7 @@ "id": 892, "length": null, "nodeType": "ArrayTypeName", - "src": "15985:9:0", + "src": "15993:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -30604,7 +30581,7 @@ "name": "sigS", "nodeType": "VariableDeclaration", "scope": 1016, - "src": "16009:14:0", + "src": "16017:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -30616,7 +30593,7 @@ "id": 894, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "16009:7:0", + "src": "16017:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -30625,7 +30602,7 @@ "id": 895, "length": null, "nodeType": "ArrayTypeName", - "src": "16009:9:0", + "src": "16017:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -30640,7 +30617,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 1016, - "src": "16033:18:0", + "src": "16041:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -30651,7 +30628,7 @@ "id": 897, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "16033:7:0", + "src": "16041:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -30666,7 +30643,7 @@ "name": "destinations", "nodeType": "VariableDeclaration", "scope": 1016, - "src": "16061:22:0", + "src": "16069:22:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -30678,7 +30655,7 @@ "id": 899, "name": "address", "nodeType": "ElementaryTypeName", - "src": "16061:7:0", + "src": "16069:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -30687,7 +30664,7 @@ "id": 900, "length": null, "nodeType": "ArrayTypeName", - "src": "16061:9:0", + "src": "16069:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", "typeString": "address[]" @@ -30702,7 +30679,7 @@ "name": "amounts", "nodeType": "VariableDeclaration", "scope": 1016, - "src": "16093:16:0", + "src": "16101:16:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -30714,7 +30691,7 @@ "id": 902, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "16093:7:0", + "src": "16101:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -30723,7 +30700,7 @@ "id": 903, "length": null, "nodeType": "ArrayTypeName", - "src": "16093:9:0", + "src": "16101:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -30733,7 +30710,7 @@ "visibility": "internal" } ], - "src": "15953:162:0" + "src": "15961:162:0" }, "payable": false, "returnParameters": { @@ -30746,7 +30723,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 1016, - "src": "16149:7:0", + "src": "16157:7:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -30757,7 +30734,7 @@ "id": 906, "name": "address", "nodeType": "ElementaryTypeName", - "src": "16149:7:0", + "src": "16157:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -30767,10 +30744,10 @@ "visibility": "internal" } ], - "src": "16148:9:0" + "src": "16156:9:0" }, "scope": 1205, - "src": "15928:1571:0", + "src": "15935:1572:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "private" @@ -30779,7 +30756,7 @@ "body": { "id": 1047, "nodeType": "Block", - "src": "17653:168:0", + "src": "17662:168:0", "statements": [ { "assignments": [ @@ -30792,7 +30769,7 @@ "name": "timeSince", "nodeType": "VariableDeclaration", "scope": 1048, - "src": "17663:17:0", + "src": "17672:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -30803,7 +30780,7 @@ "id": 1025, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "17663:7:0", + "src": "17672:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -30824,7 +30801,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1020, - "src": "17691:12:0", + "src": "17700:12:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -30845,7 +30822,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1380, - "src": "17683:3:0", + "src": "17692:3:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -30859,7 +30836,7 @@ "memberName": "sub", "nodeType": "MemberAccess", "referencedDeclaration": 1318, - "src": "17683:7:0", + "src": "17692:7:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" @@ -30873,14 +30850,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17683:21:0", + "src": "17692:21:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "17663:41:0" + "src": "17672:41:0" }, { "expression": { @@ -30906,7 +30883,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1018, - "src": "17735:12:0", + "src": "17744:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -30924,7 +30901,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "17751:1:0", + "src": "17760:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -30932,7 +30909,7 @@ }, "value": "0" }, - "src": "17735:17:0", + "src": "17744:17:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -30956,7 +30933,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1026, - "src": "17761:9:0", + "src": "17770:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -30977,7 +30954,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "17799:4:0", + "src": "17808:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_3600_by_1", @@ -31003,7 +30980,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1018, - "src": "17781:12:0", + "src": "17790:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -31023,7 +31000,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "17773:7:0", + "src": "17782:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint256_$", "typeString": "type(uint256)" @@ -31038,7 +31015,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17773:21:0", + "src": "17782:21:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -31052,7 +31029,7 @@ "memberName": "mul", "nodeType": "MemberAccess", "referencedDeclaration": 1270, - "src": "17773:25:0", + "src": "17782:25:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" @@ -31066,13 +31043,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17773:31:0", + "src": "17782:31:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "17761:43:0", + "src": "17770:43:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -31084,7 +31061,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "Conditional", - "src": "17735:69:0", + "src": "17744:69:0", "trueExpression": { "argumentTypes": null, "hexValue": "66616c7365", @@ -31095,7 +31072,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "17755:5:0", + "src": "17764:5:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -31116,7 +31093,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "17721:93:0", + "src": "17730:93:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -31125,7 +31102,7 @@ "functionReturnParameters": 1024, "id": 1046, "nodeType": "Return", - "src": "17714:100:0" + "src": "17723:100:0" } ] }, @@ -31135,7 +31112,7 @@ "isConstructor": false, "isDeclaredConst": true, "modifiers": [], - "name": "isTimeLockExpired", + "name": "_isTimeLockExpired", "nodeType": "FunctionDefinition", "parameters": { "id": 1021, @@ -31147,7 +31124,7 @@ "name": "timeoutHours", "nodeType": "VariableDeclaration", "scope": 1048, - "src": "17541:19:0", + "src": "17550:19:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -31158,7 +31135,7 @@ "id": 1017, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "17541:6:0", + "src": "17550:6:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -31173,7 +31150,7 @@ "name": "lastModified", "nodeType": "VariableDeclaration", "scope": 1048, - "src": "17570:20:0", + "src": "17579:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -31184,7 +31161,7 @@ "id": 1019, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "17570:7:0", + "src": "17579:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -31194,7 +31171,7 @@ "visibility": "internal" } ], - "src": "17531:65:0" + "src": "17540:65:0" }, "payable": false, "returnParameters": { @@ -31207,7 +31184,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 1048, - "src": "17643:4:0", + "src": "17652:4:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -31218,7 +31195,7 @@ "id": 1022, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "17643:4:0", + "src": "17652:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -31228,10 +31205,10 @@ "visibility": "internal" } ], - "src": "17642:6:0" + "src": "17651:6:0" }, "scope": 1205, - "src": "17505:316:0", + "src": "17513:317:0", "stateMutability": "view", "superFunction": null, "visibility": "private" @@ -31240,7 +31217,7 @@ "body": { "id": 1203, "nodeType": "Block", - "src": "18235:2314:0", + "src": "18244:2314:0", "statements": [ { "expression": { @@ -31264,7 +31241,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1050, - "src": "18261:5:0", + "src": "18270:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -31279,13 +31256,13 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1052, - "src": "18270:6:0", + "src": "18279:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "18261:15:0", + "src": "18270:15:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -31301,7 +31278,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "18278:27:0", + "src": "18287:27:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_6141441751234d42e9a73d96317794195c7ff57b8f16ac15725a10f10763f824", @@ -31329,7 +31306,7 @@ 1382 ], "referencedDeclaration": 1382, - "src": "18253:7:0", + "src": "18262:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -31343,7 +31320,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18253:53:0", + "src": "18262:53:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -31351,7 +31328,7 @@ }, "id": 1077, "nodeType": "ExpressionStatement", - "src": "18253:53:0" + "src": "18262:53:0" }, { "expression": { @@ -31375,7 +31352,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1062, - "src": "18373:5:0", + "src": "18382:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -31393,7 +31370,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "18381:1:0", + "src": "18390:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -31401,7 +31378,7 @@ }, "value": "0" }, - "src": "18373:9:0", + "src": "18382:9:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -31417,7 +31394,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "18384:19:0", + "src": "18393:19:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_3686f87c4804517ea83323ccf1a3b5b5ff52ed144b19e6fc56abe8fcd182e747", @@ -31445,7 +31422,7 @@ 1382 ], "referencedDeclaration": 1382, - "src": "18365:7:0", + "src": "18374:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -31459,7 +31436,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18365:39:0", + "src": "18374:39:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -31467,7 +31444,7 @@ }, "id": 1084, "nodeType": "ExpressionStatement", - "src": "18365:39:0" + "src": "18374:39:0" }, { "expression": { @@ -31502,7 +31479,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1056, - "src": "18507:9:0", + "src": "18516:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -31520,7 +31497,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "18519:1:0", + "src": "18528:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -31528,7 +31505,7 @@ }, "value": "0" }, - "src": "18507:13:0", + "src": "18516:13:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -31554,7 +31531,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1056, - "src": "18524:9:0", + "src": "18533:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -31572,7 +31549,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "18537:1:0", + "src": "18546:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_3_by_1", @@ -31580,13 +31557,13 @@ }, "value": "3" }, - "src": "18524:14:0", + "src": "18533:14:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "18507:31:0", + "src": "18516:31:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -31602,7 +31579,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "18553:63:0", + "src": "18562:63:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_351c1d5dfdc4a2b4c61d6f4dbb41a0d2ae70a9c094d3c0add87af24b5dd19c13", @@ -31630,7 +31607,7 @@ 1382 ], "referencedDeclaration": 1382, - "src": "18486:7:0", + "src": "18495:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -31644,7 +31621,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18486:140:0", + "src": "18495:140:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -31652,7 +31629,7 @@ }, "id": 1095, "nodeType": "ExpressionStatement", - "src": "18486:140:0" + "src": "18495:140:0" }, { "expression": { @@ -31687,7 +31664,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1056, - "src": "18907:9:0", + "src": "18916:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -31705,7 +31682,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "18920:1:0", + "src": "18929:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -31713,7 +31690,7 @@ }, "value": "1" }, - "src": "18907:14:0", + "src": "18916:14:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -31739,7 +31716,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1054, - "src": "18925:9:0", + "src": "18934:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -31760,7 +31737,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "18946:1:0", + "src": "18955:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -31782,7 +31759,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "18938:7:0", + "src": "18947:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" @@ -31797,19 +31774,19 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18938:10:0", + "src": "18947:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "18925:23:0", + "src": "18934:23:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "18907:41:0", + "src": "18916:41:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -31825,7 +31802,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "18962:74:0", + "src": "18971:74:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_2056db168725d2fabb8aaf14efad7a3fc12ef6bc7132f0596ea09b041b71cb25", @@ -31853,7 +31830,7 @@ 1382 ], "referencedDeclaration": 1382, - "src": "18886:7:0", + "src": "18895:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -31867,7 +31844,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18886:160:0", + "src": "18895:160:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -31875,7 +31852,7 @@ }, "id": 1108, "nodeType": "ExpressionStatement", - "src": "18886:160:0" + "src": "18895:160:0" }, { "expression": { @@ -31899,7 +31876,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1060, - "src": "19078:10:0", + "src": "19087:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -31917,7 +31894,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1064, - "src": "19135:8:0", + "src": "19144:8:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -31930,7 +31907,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1056, - "src": "19161:9:0", + "src": "19170:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -31943,7 +31920,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1058, - "src": "19188:12:0", + "src": "19197:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -31956,7 +31933,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1050, - "src": "19218:5:0", + "src": "19227:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -31969,7 +31946,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1052, - "src": "19241:6:0", + "src": "19250:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -31982,7 +31959,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1054, - "src": "19265:9:0", + "src": "19274:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -31995,7 +31972,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1068, - "src": "19292:12:0", + "src": "19301:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -32038,7 +32015,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 631, - "src": "19092:25:0", + "src": "19101:25:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_bytes20_$_t_uint8_$_t_uint32_$_t_address_$_t_address_$_t_address_$_t_address_$returns$_t_bytes32_$", "typeString": "function (bytes20,uint8,uint32,address,address,address,address) view returns (bytes32)" @@ -32052,13 +32029,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "19092:226:0", + "src": "19101:226:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "src": "19078:240:0", + "src": "19087:240:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -32074,7 +32051,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "19333:59:0", + "src": "19342:59:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_0c041e0c58e6b0e01d338d852a5abb639065eabeb0aee05e0ce3e5f0e52b4f51", @@ -32102,7 +32079,7 @@ 1382 ], "referencedDeclaration": 1382, - "src": "19057:7:0", + "src": "19066:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -32116,7 +32093,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "19057:345:0", + "src": "19066:345:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -32124,7 +32101,7 @@ }, "id": 1123, "nodeType": "ExpressionStatement", - "src": "19057:345:0" + "src": "19066:345:0" }, { "expression": { @@ -32143,7 +32120,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "19413:12:0", + "src": "19422:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -32157,7 +32134,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1060, - "src": "19426:10:0", + "src": "19435:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -32168,7 +32145,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "19413:24:0", + "src": "19422:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -32186,7 +32163,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1050, - "src": "19473:5:0", + "src": "19482:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -32199,7 +32176,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1052, - "src": "19500:6:0", + "src": "19509:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -32212,7 +32189,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1054, - "src": "19531:9:0", + "src": "19540:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -32225,7 +32202,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1062, - "src": "19561:5:0", + "src": "19570:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -32240,7 +32217,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9, - "src": "19588:6:0", + "src": "19597:6:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_Status_$9_$", "typeString": "type(enum Escrow_v1_0.Status)" @@ -32254,7 +32231,7 @@ "memberName": "FUNDED", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "19588:13:0", + "src": "19597:13:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$9", "typeString": "enum Escrow_v1_0.Status" @@ -32269,7 +32246,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1368, - "src": "19629:5:0", + "src": "19638:5:0", "typeDescriptions": { "typeIdentifier": "t_magic_block", "typeString": "block" @@ -32283,7 +32260,7 @@ "memberName": "timestamp", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "19629:15:0", + "src": "19638:15:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -32296,7 +32273,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1056, - "src": "19669:9:0", + "src": "19678:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -32309,7 +32286,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1058, - "src": "19706:12:0", + "src": "19715:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -32322,7 +32299,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1066, - "src": "19748:15:0", + "src": "19757:15:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -32335,7 +32312,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1068, - "src": "19790:12:0", + "src": "19799:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -32349,7 +32326,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 71, - "src": "19440:11:0", + "src": "19449:11:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_struct$_Transaction_$71_storage_ptr_$", "typeString": "type(struct Escrow_v1_0.Transaction storage pointer)" @@ -32374,13 +32351,13 @@ "tokenAddress" ], "nodeType": "FunctionCall", - "src": "19440:373:0", + "src": "19449:373:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_memory", "typeString": "struct Escrow_v1_0.Transaction memory" } }, - "src": "19413:400:0", + "src": "19422:400:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -32388,7 +32365,7 @@ }, "id": 1142, "nodeType": "ExpressionStatement", - "src": "19413:400:0" + "src": "19422:400:0" }, { "expression": { @@ -32411,7 +32388,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "19824:12:0", + "src": "19833:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -32425,7 +32402,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1060, - "src": "19837:10:0", + "src": "19846:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -32436,7 +32413,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "19824:24:0", + "src": "19833:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -32450,7 +32427,7 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "19824:32:0", + "src": "19833:32:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -32464,7 +32441,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1052, - "src": "19857:6:0", + "src": "19866:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -32475,7 +32452,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "19824:40:0", + "src": "19833:40:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -32493,7 +32470,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "19867:4:0", + "src": "19876:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -32501,7 +32478,7 @@ }, "value": "true" }, - "src": "19824:47:0", + "src": "19833:47:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -32509,7 +32486,7 @@ }, "id": 1151, "nodeType": "ExpressionStatement", - "src": "19824:47:0" + "src": "19833:47:0" }, { "expression": { @@ -32532,7 +32509,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "19881:12:0", + "src": "19890:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -32546,7 +32523,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1060, - "src": "19894:10:0", + "src": "19903:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -32557,7 +32534,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "19881:24:0", + "src": "19890:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -32571,7 +32548,7 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "19881:32:0", + "src": "19890:32:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -32585,7 +32562,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1050, - "src": "19914:5:0", + "src": "19923:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -32596,7 +32573,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "19881:39:0", + "src": "19890:39:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -32614,7 +32591,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "19923:4:0", + "src": "19932:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -32622,7 +32599,7 @@ }, "value": "true" }, - "src": "19881:46:0", + "src": "19890:46:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -32630,7 +32607,7 @@ }, "id": 1160, "nodeType": "ExpressionStatement", - "src": "19881:46:0" + "src": "19890:46:0" }, { "expression": { @@ -32646,7 +32623,7 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "20034:44:0", + "src": "20043:44:0", "subExpression": { "argumentTypes": null, "baseExpression": { @@ -32660,7 +32637,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "20035:12:0", + "src": "20044:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -32674,7 +32651,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1060, - "src": "20048:10:0", + "src": "20057:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -32685,7 +32662,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20035:24:0", + "src": "20044:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -32699,7 +32676,7 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "20035:32:0", + "src": "20044:32:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -32713,7 +32690,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1054, - "src": "20068:9:0", + "src": "20077:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -32724,7 +32701,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20035:43:0", + "src": "20044:43:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -32745,7 +32722,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "20093:47:0", + "src": "20102:47:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_313b391557427937e7bdb85c7561d47c5b9c985755a448dd33a92026ffb38f8d", @@ -32773,7 +32750,7 @@ 1382 ], "referencedDeclaration": 1382, - "src": "20013:7:0", + "src": "20022:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -32787,7 +32764,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "20013:137:0", + "src": "20022:137:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -32795,7 +32772,7 @@ }, "id": 1171, "nodeType": "ExpressionStatement", - "src": "20013:137:0" + "src": "20022:137:0" }, { "condition": { @@ -32816,7 +32793,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1056, - "src": "20310:9:0", + "src": "20319:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -32834,7 +32811,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "20322:1:0", + "src": "20331:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -32842,7 +32819,7 @@ }, "value": "1" }, - "src": "20310:13:0", + "src": "20319:13:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -32851,11 +32828,11 @@ "falseBody": null, "id": 1185, "nodeType": "IfStatement", - "src": "20306:94:0", + "src": "20315:94:0", "trueBody": { "id": 1184, "nodeType": "Block", - "src": "20325:75:0", + "src": "20334:75:0", "statements": [ { "expression": { @@ -32878,7 +32855,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "20339:12:0", + "src": "20348:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -32892,7 +32869,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1060, - "src": "20352:10:0", + "src": "20361:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -32903,7 +32880,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20339:24:0", + "src": "20348:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -32917,7 +32894,7 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "20339:32:0", + "src": "20348:32:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -32931,7 +32908,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1054, - "src": "20372:9:0", + "src": "20381:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -32942,7 +32919,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "20339:43:0", + "src": "20348:43:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -32960,7 +32937,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "20385:4:0", + "src": "20394:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -32968,7 +32945,7 @@ }, "value": "true" }, - "src": "20339:50:0", + "src": "20348:50:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -32976,7 +32953,7 @@ }, "id": 1183, "nodeType": "ExpressionStatement", - "src": "20339:50:0" + "src": "20348:50:0" } ] } @@ -32992,7 +32969,7 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "20418:18:0", + "src": "20427:18:0", "subExpression": { "argumentTypes": null, "id": 1186, @@ -33000,7 +32977,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 78, - "src": "20418:16:0", + "src": "20427:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -33013,7 +32990,7 @@ }, "id": 1188, "nodeType": "ExpressionStatement", - "src": "20418:18:0" + "src": "20427:18:0" }, { "expression": { @@ -33026,7 +33003,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1060, - "src": "20478:10:0", + "src": "20487:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -33049,7 +33026,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 83, - "src": "20447:18:0", + "src": "20456:18:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_bytes32_$dyn_storage_$", "typeString": "mapping(address => bytes32[] storage ref)" @@ -33063,7 +33040,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1050, - "src": "20466:5:0", + "src": "20475:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -33074,7 +33051,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20447:25:0", + "src": "20456:25:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage", "typeString": "bytes32[] storage ref" @@ -33088,7 +33065,7 @@ "memberName": "push", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "20447:30:0", + "src": "20456:30:0", "typeDescriptions": { "typeIdentifier": "t_function_arraypush_nonpayable$_t_bytes32_$returns$_t_uint256_$", "typeString": "function (bytes32) returns (uint256)" @@ -33102,7 +33079,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "20447:42:0", + "src": "20456:42:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -33110,7 +33087,7 @@ }, "id": 1195, "nodeType": "ExpressionStatement", - "src": "20447:42:0" + "src": "20456:42:0" }, { "expression": { @@ -33123,7 +33100,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1060, - "src": "20531:10:0", + "src": "20540:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -33146,7 +33123,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 83, - "src": "20499:18:0", + "src": "20508:18:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_bytes32_$dyn_storage_$", "typeString": "mapping(address => bytes32[] storage ref)" @@ -33160,7 +33137,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1052, - "src": "20518:6:0", + "src": "20527:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -33171,7 +33148,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20499:26:0", + "src": "20508:26:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage", "typeString": "bytes32[] storage ref" @@ -33185,7 +33162,7 @@ "memberName": "push", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "20499:31:0", + "src": "20508:31:0", "typeDescriptions": { "typeIdentifier": "t_function_arraypush_nonpayable$_t_bytes32_$returns$_t_uint256_$", "typeString": "function (bytes32) returns (uint256)" @@ -33199,7 +33176,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "20499:43:0", + "src": "20508:43:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -33207,7 +33184,7 @@ }, "id": 1202, "nodeType": "ExpressionStatement", - "src": "20499:43:0" + "src": "20508:43:0" } ] }, @@ -33229,7 +33206,7 @@ "name": "buyer", "nodeType": "VariableDeclaration", "scope": 1204, - "src": "17942:13:0", + "src": "17951:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -33240,7 +33217,7 @@ "id": 1049, "name": "address", "nodeType": "ElementaryTypeName", - "src": "17942:7:0", + "src": "17951:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -33255,7 +33232,7 @@ "name": "seller", "nodeType": "VariableDeclaration", "scope": 1204, - "src": "17965:14:0", + "src": "17974:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -33266,7 +33243,7 @@ "id": 1051, "name": "address", "nodeType": "ElementaryTypeName", - "src": "17965:7:0", + "src": "17974:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -33281,7 +33258,7 @@ "name": "moderator", "nodeType": "VariableDeclaration", "scope": 1204, - "src": "17989:17:0", + "src": "17998:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -33292,7 +33269,7 @@ "id": 1053, "name": "address", "nodeType": "ElementaryTypeName", - "src": "17989:7:0", + "src": "17998:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -33307,7 +33284,7 @@ "name": "threshold", "nodeType": "VariableDeclaration", "scope": 1204, - "src": "18016:15:0", + "src": "18025:15:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -33318,7 +33295,7 @@ "id": 1055, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "18016:5:0", + "src": "18025:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -33333,7 +33310,7 @@ "name": "timeoutHours", "nodeType": "VariableDeclaration", "scope": 1204, - "src": "18041:19:0", + "src": "18050:19:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -33344,7 +33321,7 @@ "id": 1057, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "18041:6:0", + "src": "18050:6:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -33359,7 +33336,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 1204, - "src": "18070:18:0", + "src": "18079:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -33370,7 +33347,7 @@ "id": 1059, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "18070:7:0", + "src": "18079:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -33385,7 +33362,7 @@ "name": "value", "nodeType": "VariableDeclaration", "scope": 1204, - "src": "18098:13:0", + "src": "18107:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -33396,7 +33373,7 @@ "id": 1061, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "18098:7:0", + "src": "18107:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -33411,7 +33388,7 @@ "name": "uniqueId", "nodeType": "VariableDeclaration", "scope": 1204, - "src": "18121:16:0", + "src": "18130:16:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -33422,7 +33399,7 @@ "id": 1063, "name": "bytes20", "nodeType": "ElementaryTypeName", - "src": "18121:7:0", + "src": "18130:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -33437,7 +33414,7 @@ "name": "transactionType", "nodeType": "VariableDeclaration", "scope": 1204, - "src": "18147:31:0", + "src": "18156:31:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -33450,7 +33427,7 @@ "name": "TransactionType", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 12, - "src": "18147:15:0", + "src": "18156:15:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -33465,7 +33442,7 @@ "name": "tokenAddress", "nodeType": "VariableDeclaration", "scope": 1204, - "src": "18188:20:0", + "src": "18197:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -33476,7 +33453,7 @@ "id": 1067, "name": "address", "nodeType": "ElementaryTypeName", - "src": "18188:7:0", + "src": "18197:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -33486,27 +33463,27 @@ "visibility": "internal" } ], - "src": "17932:282:0" + "src": "17941:282:0" }, "payable": false, "returnParameters": { "id": 1070, "nodeType": "ParameterList", "parameters": [], - "src": "18235:0:0" + "src": "18244:0:0" }, "scope": 1205, - "src": "17908:2641:0", + "src": "17917:2641:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "private" } ], "scope": 1206, - "src": "460:20091:0" + "src": "460:20100:0" } ], - "src": "0:20552:0" + "src": "0:20561:0" }, "compiler": { "name": "solc", @@ -33514,5 +33491,5 @@ }, "networks": {}, "schemaVersion": "2.0.1", - "updatedAt": "2018-11-19T13:30:18.346Z" + "updatedAt": "2018-11-19T13:33:32.652Z" } \ No newline at end of file diff --git a/build/contracts/ITokenContract.json b/build/contracts/ITokenContract.json index 55b5d70..fdf259d 100644 --- a/build/contracts/ITokenContract.json +++ b/build/contracts/ITokenContract.json @@ -817,5 +817,5 @@ }, "networks": {}, "schemaVersion": "2.0.1", - "updatedAt": "2018-11-19T13:30:18.336Z" + "updatedAt": "2018-11-19T13:33:32.633Z" } \ No newline at end of file diff --git a/build/contracts/SafeMath.json b/build/contracts/SafeMath.json index b0ce11a..699aea1 100644 --- a/build/contracts/SafeMath.json +++ b/build/contracts/SafeMath.json @@ -3295,5 +3295,5 @@ }, "networks": {}, "schemaVersion": "2.0.1", - "updatedAt": "2018-11-19T13:30:18.338Z" + "updatedAt": "2018-11-19T13:33:32.635Z" } \ No newline at end of file diff --git a/contracts/escrow/Escrow_v1_0.sol b/contracts/escrow/Escrow_v1_0.sol index f220720..af783c2 100644 --- a/contracts/escrow/Escrow_v1_0.sol +++ b/contracts/escrow/Escrow_v1_0.sol @@ -197,7 +197,7 @@ contract Escrow_v1_0 { ITokenContract token = ITokenContract(tokenAddress); require( - token.transferFrom(msg.sender, this, value), + token.transferFrom(msg.sender, address(this), value), "Token transfer failed, maybe you did not approve escrow contract to spend on behalf of sender" ); emit Funded(scriptHash, msg.sender, value); @@ -287,7 +287,7 @@ contract Escrow_v1_0 { ); require( - token.transferFrom(transactions[scriptHash].buyer, this, value), + token.transferFrom(transactions[scriptHash].buyer, address(this), value), "Token transfer failed, maybe you did not approve escrow contract to spend on behalf of buyer" ); @@ -389,7 +389,7 @@ contract Escrow_v1_0 { buyer, seller, moderator, - this + address(this) ) ); } else { @@ -401,7 +401,7 @@ contract Escrow_v1_0 { buyer, seller, moderator, - this, + address(this), tokenAddress ) ); @@ -522,7 +522,7 @@ contract Escrow_v1_0 { abi.encodePacked( byte(0x19), byte(0), - this, + address(this), destinations, amounts, scriptHash From 941ebe7ae11280b0c3cfbae339936fcd2a1fb178 Mon Sep 17 00:00:00 2001 From: Sameep Singhania Date: Mon, 19 Nov 2018 19:11:50 +0530 Subject: [PATCH 13/19] Breaking complex require statements into multiple require statements --- build/contracts/Escrow_v1_0.json | 9708 ++++++++++++++------------- build/contracts/ITokenContract.json | 182 +- build/contracts/SafeMath.json | 818 +-- contracts/escrow/Escrow_v1_0.sol | 21 +- 4 files changed, 5560 insertions(+), 5169 deletions(-) diff --git a/build/contracts/Escrow_v1_0.json b/build/contracts/Escrow_v1_0.json index 8d5676e..0b0f915 100644 --- a/build/contracts/Escrow_v1_0.json +++ b/build/contracts/Escrow_v1_0.json @@ -395,20 +395,20 @@ "type": "function" } ], - "bytecode": "0x6080604052600060015534801561001557600080fd5b5061412a806100256000396000f3006080604052600436106100af576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806323b6fd3f146100b45780632d9ef96e1461016e57806346fbcdeb1461019257806357bced7614610287578063642f2eaf14610378578063b0550c66146104da578063b719e28014610543578063b77bf6001461057e578063be84ceaf146105a9578063e4ec8b0014610641578063f0786562146106ea575b600080fd5b61016c600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff169060200190929190803563ffffffff169060200190929190803560001916906020019092919080356bffffffffffffffffffffffff19169060200190929190505050610753565b005b61019060048036038101908080356000191690602001909291905050506109a7565b005b34801561019e57600080fd5b5061026960048036038101908080356bffffffffffffffffffffffff19169060200190929190803560ff169060200190929190803563ffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610e24565b60405180826000191660001916815260200191505060405180910390f35b34801561029357600080fd5b50610376600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff169060200190929190803563ffffffff16906020019092919080356000191690602001909291908035906020019092919080356bffffffffffffffffffffffff19169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506112d0565b005b34801561038457600080fd5b506103a760048036038101908080356000191690602001909291905050506117a5565b604051808b81526020018a81526020018960018111156103c357fe5b60ff1681526020018860018111156103d757fe5b60ff1681526020018760ff1660ff1681526020018663ffffffff1663ffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019a505050505050505050505060405180910390f35b3480156104e657600080fd5b506105296004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506118b0565b604051808215151515815260200191505060405180910390f35b34801561054f57600080fd5b5061057c600480360381019080803560001916906020019092919080359060200190929190505050611922565b005b34801561058a57600080fd5b50610593611ff2565b6040518082815260200191505060405180910390f35b3480156105b557600080fd5b506105ea600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611ff8565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b8381101561062d578082015181840152602081019050610612565b505050509050019250505060405180910390f35b34801561064d57600080fd5b506106e86004803603810190808035906020019082018035906020019190919293919293908035906020019082018035906020019190919293919293908035906020019082018035906020019190919293919293908035600019169060200190929190803590602001908201803590602001919091929391929390803590602001908201803590602001919091929391929390505050612093565b005b3480156106f657600080fd5b506107396004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506125ea565b604051808215151515815260200191505060405180910390f35b8160008060008360001916600019168152602001908152602001600020600001541415156107e9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f5472616e73616374696f6e20657869737400000000000000000000000000000081525060200191505060405180910390fd5b87600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561088f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b87600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610935576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b6109488a8a8a8a8a8a348b60008061265c565b3373ffffffffffffffffffffffffffffffffffffffff1685600019167fce7089d0668849fb9ca29778c0cbf1e764d9efb048d81fd71fb34c94f26db368346040518082815260200191505060405180910390a350505050505050505050565b80600080600083600019166000191681526020019081526020016000206000015414151515610a3e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737400000000000081525060200191505060405180910390fd5b8160006001811115610a4c57fe5b600080836000191660001916815260200190815260200160002060020160009054906101000a900460ff166001811115610a8257fe5b141515610b1d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001807f5472616e73616374696f6e206973206e6f7420696e2046554e4445442073746181526020017f746500000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b826000806001811115610b2c57fe5b600080846000191660001916815260200190815260200160002060020160019054906101000a900460ff166001811115610b6257fe5b141515610bd7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5472616e73616374696f6e207479706520646f6573206e6f74206d617463680081525060200191505060405180910390fd5b84600080826000191660001916815260200190815260200160002060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610cde576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f54686520696e69746961746f72206f6620746865207472616e73616374696f6e81526020017f206973206e6f742062757965720000000000000000000000000000000000000081525060400191505060405180910390fd5b600034111515610d56576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f56616c7565206d7573742062652067726561746572207468616e207a65726f2e81525060200191505060405180910390fd5b610d8634600080896000191660001916815260200190815260200160002060000154612fe890919063ffffffff16565b600080886000191660001916815260200190815260200160002060000181905550426000808860001916600019168152602001908152602001600020600101819055503373ffffffffffffffffffffffffffffffffffffffff1686600019167ff66fd2ae9e24a6a24b02e1b5b7512ffde5149a4176085fc0298ae228c9b9d729346040518082815260200191505060405180910390a3505050505050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611070578787878787873060405160200180886bffffffffffffffffffffffff19166bffffffffffffffffffffffff191681526014018760ff1660ff167f01000000000000000000000000000000000000000000000000000000000000000281526001018663ffffffff1663ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014019750505050505050506040516020818303038152906040526040518082805190602001908083835b60208310151561103c5780518252602082019150602081019050602083039250611017565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902090506112c5565b878787878787308860405160200180896bffffffffffffffffffffffff19166bffffffffffffffffffffffff191681526014018860ff1660ff167f01000000000000000000000000000000000000000000000000000000000000000281526001018763ffffffff1663ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401985050505050505050506040516020818303038152906040526040518082805190602001908083835b6020831015156112955780518252602082019150602081019050602083039250611270565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902090505b979650505050505050565b6000846000806000836000191660001916815260200190815260200160002060000154141515611368576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f5472616e73616374696f6e20657869737400000000000000000000000000000081525060200191505060405180910390fd5b8a600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561140e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b8a600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156114b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b84600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561155a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b61156d8e8e8e8e8e8e8e8e60018f61265c565b8594508473ffffffffffffffffffffffffffffffffffffffff166323b872dd33308b6040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b15801561164757600080fd5b505af115801561165b573d6000803e3d6000fd5b505050506040513d602081101561167157600080fd5b81019080805190602001909291905050501515611742576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252605d8152602001807f546f6b656e207472616e73666572206661696c65642c206d6179626520796f7581526020017f20646964206e6f7420617070726f766520657363726f7720636f6e747261637481526020017f20746f207370656e64206f6e20626568616c66206f662073656e64657200000081525060600191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff1689600019167fce7089d0668849fb9ca29778c0cbf1e764d9efb048d81fd71fb34c94f26db3688a6040518082815260200191505060405180910390a35050505050505050505050505050565b60006020528060005260406000206000915090508060000154908060010154908060020160009054906101000a900460ff16908060020160019054906101000a900460ff16908060020160029054906101000a900460ff16908060020160039054906101000a900463ffffffff16908060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060050160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508a565b6000806000846000191660001916815260200190815260200160002060080160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6000826000806000836000191660001916815260200190815260200160002060000154141515156119bb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737400000000000081525060200191505060405180910390fd5b83600060018111156119c957fe5b600080836000191660001916815260200190815260200160002060020160009054906101000a900460ff1660018111156119ff57fe5b141515611a9a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001807f5472616e73616374696f6e206973206e6f7420696e2046554e4445442073746181526020017f746500000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b846001806001811115611aa957fe5b600080846000191660001916815260200190815260200160002060020160019054906101000a900460ff166001811115611adf57fe5b141515611b54576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5472616e73616374696f6e207479706520646f6573206e6f74206d617463680081525060200191505060405180910390fd5b86600080826000191660001916815260200190815260200160002060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611c5b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f54686520696e69746961746f72206f6620746865207472616e73616374696f6e81526020017f206973206e6f742062757965720000000000000000000000000000000000000081525060400191505060405180910390fd5b600087111515611cd3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f56616c7565206d7573742062652067726561746572207468616e207a65726f2e81525060200191505060405180910390fd5b600080896000191660001916815260200190815260200160002060040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1695508573ffffffffffffffffffffffffffffffffffffffff166323b872dd6000808b6000191660001916815260200190815260200160002060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff16308a6040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b158015611e2757600080fd5b505af1158015611e3b573d6000803e3d6000fd5b505050506040513d6020811015611e5157600080fd5b81019080805190602001909291905050501515611f22576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252605c8152602001807f546f6b656e207472616e73666572206661696c65642c206d6179626520796f7581526020017f20646964206e6f7420617070726f766520657363726f7720636f6e747261637481526020017f20746f207370656e64206f6e20626568616c66206f662062757965720000000081525060600191505060405180910390fd5b611f52876000808b6000191660001916815260200190815260200160002060000154612fe890919063ffffffff16565b6000808a6000191660001916815260200190815260200160002060000181905550426000808a60001916600019168152602001908152602001600020600101819055503373ffffffffffffffffffffffffffffffffffffffff1688600019167ff66fd2ae9e24a6a24b02e1b5b7512ffde5149a4176085fc0298ae228c9b9d729896040518082815260200191505060405180910390a35050505050505050565b60015481565b6060600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080548060200260200160405190810160405280929190818152602001828054801561208757602002820191906000526020600020905b8154600019168152602001906001019080831161206f575b50505050509050919050565b8460008060008360001916600019168152602001908152602001600020600001541415151561212a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737400000000000081525060200191505060405180910390fd5b856000600181111561213857fe5b600080836000191660001916815260200190815260200160002060020160009054906101000a900460ff16600181111561216e57fe5b141515612209576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001807f5472616e73616374696f6e206973206e6f7420696e2046554e4445442073746181526020017f746500000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b60008686905011801561222157508383905086869050145b15156122bb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001807f4c656e677468206f662064657374696e6174696f6e7320697320696e636f727281526020017f6563742e0000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b6123b48d8d808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508c8c808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508b8b808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508a8a8a80806020026020016040519081016040528093929190818152602001838360200280828437820191505050505050898980806020026020016040519081016040528093929190818152602001838360200280828437820191505050505050613009565b6001600080896000191660001916815260200190815260200160002060020160006101000a81548160ff021916908360018111156123ee57fe5b02179055504260008089600019166000191681526020019081526020016000206001018190555060008088600019166000191681526020019081526020016000206000015461249c888888808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508787808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050506131ea565b14151561255d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260488152602001807f546f74616c2076616c756520746f2062652072656c6561736564206d7573742081526020017f626520657175616c20746f20746865207472616e73616374696f6e206573637281526020017f6f772076616c756500000000000000000000000000000000000000000000000081525060600191505060405180910390fd5b86600019167f688e2a1b34445bcd47b0e11ba2a9c8c4d850a1831b64199b59d1c70e29701545878787876040518080602001806020018381038352878782818152602001925060200280828437820191505083810382528585828181526020019250602002808284378201915050965050505050505060405180910390a250505050505050505050505050565b6000806000846000191660001916815260200190815260200160002060070160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b8873ffffffffffffffffffffffffffffffffffffffff168a73ffffffffffffffffffffffffffffffffffffffff1614151515612700576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f427579657220616e642073656c6c6572206172652073616d650000000000000081525060200191505060405180910390fd5b600084111515612778576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f56616c756520706173736564206973203000000000000000000000000000000081525060200191505060405180910390fd5b60008760ff1611801561278f575060038760ff1611155b1515612829576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603d8152602001807f5468726573686f6c642063616e6e6f742062652067726561746572207468616e81526020017f203320616e64206d7573742062652067726561746572207468616e203000000081525060400191505060405180910390fd5b60018760ff1614806128685750600073ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff1614155b1515612928576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260488152602001807f456974686572207468726573686f6c642073686f756c642062652031206f722081526020017f76616c6964206d6f64657261746f7220616464726573732073686f756c64206281526020017f652070617373656400000000000000000000000000000000000000000000000081525060600191505060405180910390fd5b6129378388888d8d8d87610e24565b6000191685600019161415156129db576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260398152602001807f43616c63756c6174656420736372697074206861736820646f6573206e6f742081526020017f6d61746368207061737365642073637269707420686173682e0000000000000081525060400191505060405180910390fd5b6101406040519081016040528085815260200142815260200160006001811115612a0157fe5b8152602001836001811115612a1257fe5b81526020018860ff1681526020018763ffffffff1681526020018b73ffffffffffffffffffffffffffffffffffffffff1681526020018a73ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020018973ffffffffffffffffffffffffffffffffffffffff168152506000808760001916600019168152602001908152602001600020600082015181600001556020820151816001015560408201518160020160006101000a81548160ff02191690836001811115612aec57fe5b021790555060608201518160020160016101000a81548160ff02191690836001811115612b1557fe5b021790555060808201518160020160026101000a81548160ff021916908360ff16021790555060a08201518160020160036101000a81548163ffffffff021916908363ffffffff16021790555060c08201518160020160076101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060e08201518160030160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506101008201518160040160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506101208201518160050160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055509050506001600080876000191660001916815260200190815260200160002060060160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600080876000191660001916815260200190815260200160002060060160008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600080866000191660001916815260200190815260200160002060060160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151515612e6c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f456974686572206275796572206f722073656c6c65722069732070617373656481526020017f206173206d6f64657261746f720000000000000000000000000000000000000081525060400191505060405180910390fd5b60018760ff161115612eec576001600080876000191660001916815260200190815260200160002060060160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b600160008154809291906001019190505550600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020859080600181540180825580915050906001820390600052602060002001600090919290919091509060001916905550600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002085908060018154018082558091505090600182039060005260206000200160009091929091909150906000191690555050505050505050505050565b6000808284019050838110151515612fff57600080fd5b8091505092915050565b60008061301a8888888888886139d2565b9150613070600080876000191660001916815260200190815260200160002060020160039054906101000a900463ffffffff1660008088600019166000191681526020019081526020016000206001015461404b565b9050600080866000191660001916815260200190815260200160002060020160029054906101000a900460ff1660ff16885110801561312157508015806131205750600080866000191660001916815260200190815260200160002060030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b5b156131e0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260588152602001807f4d696e696d756d206e756d626572206f66207369676e6174757265732061726581526020017f206e6f7420636f6c6c656374656420616e642074696d65206c6f636b2065787081526020017f69727920636f6e646974696f6e73206e6f74206d65742121000000000000000081525060600191505060405180910390fd5b5050505050505050565b6000806000806000806000808a600019166000191681526020019081526020016000209450600093506000600181111561322057fe5b8560020160019054906101000a900460ff16600181111561323d57fe5b141561355457600092505b875183101561354f57600073ffffffffffffffffffffffffffffffffffffffff16888481518110151561327757fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1614158015613307575084600601600089858151811015156132b457fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b151561337b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f4e6f7420612076616c69642064657374696e6174696f6e00000000000000000081525060200191505060405180910390fd5b6000878481518110151561338b57fe5b90602001906020020151111515613430576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001807f416d6f756e7420746f2062652073656e742073686f756c64206265206772656181526020017f746572207468616e20300000000000000000000000000000000000000000000081525060400191505060405180910390fd5b61345a878481518110151561344157fe5b9060200190602002015185612fe890919063ffffffff16565b935060018560080160008a8681518110151561347257fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555087838151811015156134db57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff166108fc888581518110151561350c57fe5b906020019060200201519081150290604051600060405180830381858888f19350505050158015613541573d6000803e3d6000fd5b508280600101935050613248565b6139c3565b60018081111561356057fe5b8560020160019054906101000a900460ff16600181111561357d57fe5b14156139c2578460040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169150600090505b87518110156139c157600073ffffffffffffffffffffffffffffffffffffffff1688828151811015156135de57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff161415801561366e5750846006016000898381518110151561361b57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15156136e2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f4e6f7420612076616c69642064657374696e6174696f6e00000000000000000081525060200191505060405180910390fd5b600087828151811015156136f257fe5b90602001906020020151111515613797576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001807f416d6f756e7420746f2062652073656e742073686f756c64206265206772656181526020017f746572207468616e20300000000000000000000000000000000000000000000081525060400191505060405180910390fd5b6137c187828151811015156137a857fe5b9060200190602002015185612fe890919063ffffffff16565b935060018560080160008a848151811015156137d957fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb898381518110151561385e57fe5b90602001906020020151898481518110151561387657fe5b906020019060200201516040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15801561390557600080fd5b505af1158015613919573d6000803e3d6000fd5b505050506040513d602081101561392f57600080fd5b810190808051906020019092919050505015156139b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f546f6b656e207472616e73666572206661696c65642e0000000000000000000081525060200191505060405180910390fd5b80806001019150506135af565b5b5b83955050505050509392505050565b600080600080600088518a511480156139ec57508a518a51145b1515613a60576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f522c532c56206c656e677468206d69736d617463682e0000000000000000000081525060200191505060405180910390fd5b60197f01000000000000000000000000000000000000000000000000000000000000000260007f0100000000000000000000000000000000000000000000000000000000000000023089898c60405160200180877effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168152600101867effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526001018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401848051906020019060200280838360005b83811015613bb4578082015181840152602081019050613b99565b50505050905001838051906020019060200280838360005b83811015613be7578082015181840152602081019050613bcc565b50505050905001826000191660001916815260200196505050505050506040516020818303038152906040526040518082805190602001908083835b602083101515613c485780518252602082019150602081019050602083039250613c23565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902060405160200180807f19457468657265756d205369676e6564204d6573736167653a0a333200000000815250601c0182600019166000191681526020019150506040516020818303038152906040526040518082805190602001908083835b602083101515613cf95780518252602082019150602081019050602083039250613cd4565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390209250600091505b895182101561403a576001838c84815181101515613d4757fe5b906020019060200201518c85815181101515613d5f57fe5b906020019060200201518c86815181101515613d7757fe5b90602001906020020151604051600081526020016040526040518085600019166000191681526020018460ff1660ff1681526020018360001916600019168152602001826000191660001916815260200194505050505060206040516020810390808403906000865af1158015613df2573d6000803e3d6000fd5b505050602060405103519050600080896000191660001916815260200190815260200160002060060160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515613eda576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f496e76616c6964207369676e617475726500000000000000000000000000000081525060200191505060405180910390fd5b600080896000191660001916815260200190815260200160002060070160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151515613fb7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f53616d65207369676e61747572652073656e742074776963650000000000000081525060200191505060405180910390fd5b60016000808a6000191660001916815260200190815260200160002060070160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508093508180600101925050613d2d565b839450505050509695505050505050565b600080614061834261409f90919063ffffffff16565b905060008463ffffffff16146140935761408c610e108563ffffffff166140c090919063ffffffff16565b8111614096565b60005b91505092915050565b6000808383111515156140b157600080fd5b82840390508091505092915050565b60008060008414156140d557600091506140f7565b82840290508284828115156140e657fe5b041415156140f357600080fd5b8091505b50929150505600a165627a7a7230582033b813557bb5fa9684290196cb5c522bdfd57ca955963794c2cbeb547a7e62dc0029", - "deployedBytecode": "0x6080604052600436106100af576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806323b6fd3f146100b45780632d9ef96e1461016e57806346fbcdeb1461019257806357bced7614610287578063642f2eaf14610378578063b0550c66146104da578063b719e28014610543578063b77bf6001461057e578063be84ceaf146105a9578063e4ec8b0014610641578063f0786562146106ea575b600080fd5b61016c600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff169060200190929190803563ffffffff169060200190929190803560001916906020019092919080356bffffffffffffffffffffffff19169060200190929190505050610753565b005b61019060048036038101908080356000191690602001909291905050506109a7565b005b34801561019e57600080fd5b5061026960048036038101908080356bffffffffffffffffffffffff19169060200190929190803560ff169060200190929190803563ffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610e24565b60405180826000191660001916815260200191505060405180910390f35b34801561029357600080fd5b50610376600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff169060200190929190803563ffffffff16906020019092919080356000191690602001909291908035906020019092919080356bffffffffffffffffffffffff19169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506112d0565b005b34801561038457600080fd5b506103a760048036038101908080356000191690602001909291905050506117a5565b604051808b81526020018a81526020018960018111156103c357fe5b60ff1681526020018860018111156103d757fe5b60ff1681526020018760ff1660ff1681526020018663ffffffff1663ffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019a505050505050505050505060405180910390f35b3480156104e657600080fd5b506105296004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506118b0565b604051808215151515815260200191505060405180910390f35b34801561054f57600080fd5b5061057c600480360381019080803560001916906020019092919080359060200190929190505050611922565b005b34801561058a57600080fd5b50610593611ff2565b6040518082815260200191505060405180910390f35b3480156105b557600080fd5b506105ea600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611ff8565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b8381101561062d578082015181840152602081019050610612565b505050509050019250505060405180910390f35b34801561064d57600080fd5b506106e86004803603810190808035906020019082018035906020019190919293919293908035906020019082018035906020019190919293919293908035906020019082018035906020019190919293919293908035600019169060200190929190803590602001908201803590602001919091929391929390803590602001908201803590602001919091929391929390505050612093565b005b3480156106f657600080fd5b506107396004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506125ea565b604051808215151515815260200191505060405180910390f35b8160008060008360001916600019168152602001908152602001600020600001541415156107e9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f5472616e73616374696f6e20657869737400000000000000000000000000000081525060200191505060405180910390fd5b87600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561088f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b87600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610935576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b6109488a8a8a8a8a8a348b60008061265c565b3373ffffffffffffffffffffffffffffffffffffffff1685600019167fce7089d0668849fb9ca29778c0cbf1e764d9efb048d81fd71fb34c94f26db368346040518082815260200191505060405180910390a350505050505050505050565b80600080600083600019166000191681526020019081526020016000206000015414151515610a3e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737400000000000081525060200191505060405180910390fd5b8160006001811115610a4c57fe5b600080836000191660001916815260200190815260200160002060020160009054906101000a900460ff166001811115610a8257fe5b141515610b1d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001807f5472616e73616374696f6e206973206e6f7420696e2046554e4445442073746181526020017f746500000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b826000806001811115610b2c57fe5b600080846000191660001916815260200190815260200160002060020160019054906101000a900460ff166001811115610b6257fe5b141515610bd7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5472616e73616374696f6e207479706520646f6573206e6f74206d617463680081525060200191505060405180910390fd5b84600080826000191660001916815260200190815260200160002060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610cde576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f54686520696e69746961746f72206f6620746865207472616e73616374696f6e81526020017f206973206e6f742062757965720000000000000000000000000000000000000081525060400191505060405180910390fd5b600034111515610d56576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f56616c7565206d7573742062652067726561746572207468616e207a65726f2e81525060200191505060405180910390fd5b610d8634600080896000191660001916815260200190815260200160002060000154612fe890919063ffffffff16565b600080886000191660001916815260200190815260200160002060000181905550426000808860001916600019168152602001908152602001600020600101819055503373ffffffffffffffffffffffffffffffffffffffff1686600019167ff66fd2ae9e24a6a24b02e1b5b7512ffde5149a4176085fc0298ae228c9b9d729346040518082815260200191505060405180910390a3505050505050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611070578787878787873060405160200180886bffffffffffffffffffffffff19166bffffffffffffffffffffffff191681526014018760ff1660ff167f01000000000000000000000000000000000000000000000000000000000000000281526001018663ffffffff1663ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014019750505050505050506040516020818303038152906040526040518082805190602001908083835b60208310151561103c5780518252602082019150602081019050602083039250611017565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902090506112c5565b878787878787308860405160200180896bffffffffffffffffffffffff19166bffffffffffffffffffffffff191681526014018860ff1660ff167f01000000000000000000000000000000000000000000000000000000000000000281526001018763ffffffff1663ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401985050505050505050506040516020818303038152906040526040518082805190602001908083835b6020831015156112955780518252602082019150602081019050602083039250611270565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902090505b979650505050505050565b6000846000806000836000191660001916815260200190815260200160002060000154141515611368576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f5472616e73616374696f6e20657869737400000000000000000000000000000081525060200191505060405180910390fd5b8a600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561140e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b8a600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156114b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b84600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561155a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b61156d8e8e8e8e8e8e8e8e60018f61265c565b8594508473ffffffffffffffffffffffffffffffffffffffff166323b872dd33308b6040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b15801561164757600080fd5b505af115801561165b573d6000803e3d6000fd5b505050506040513d602081101561167157600080fd5b81019080805190602001909291905050501515611742576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252605d8152602001807f546f6b656e207472616e73666572206661696c65642c206d6179626520796f7581526020017f20646964206e6f7420617070726f766520657363726f7720636f6e747261637481526020017f20746f207370656e64206f6e20626568616c66206f662073656e64657200000081525060600191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff1689600019167fce7089d0668849fb9ca29778c0cbf1e764d9efb048d81fd71fb34c94f26db3688a6040518082815260200191505060405180910390a35050505050505050505050505050565b60006020528060005260406000206000915090508060000154908060010154908060020160009054906101000a900460ff16908060020160019054906101000a900460ff16908060020160029054906101000a900460ff16908060020160039054906101000a900463ffffffff16908060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060050160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508a565b6000806000846000191660001916815260200190815260200160002060080160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6000826000806000836000191660001916815260200190815260200160002060000154141515156119bb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737400000000000081525060200191505060405180910390fd5b83600060018111156119c957fe5b600080836000191660001916815260200190815260200160002060020160009054906101000a900460ff1660018111156119ff57fe5b141515611a9a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001807f5472616e73616374696f6e206973206e6f7420696e2046554e4445442073746181526020017f746500000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b846001806001811115611aa957fe5b600080846000191660001916815260200190815260200160002060020160019054906101000a900460ff166001811115611adf57fe5b141515611b54576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5472616e73616374696f6e207479706520646f6573206e6f74206d617463680081525060200191505060405180910390fd5b86600080826000191660001916815260200190815260200160002060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611c5b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f54686520696e69746961746f72206f6620746865207472616e73616374696f6e81526020017f206973206e6f742062757965720000000000000000000000000000000000000081525060400191505060405180910390fd5b600087111515611cd3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f56616c7565206d7573742062652067726561746572207468616e207a65726f2e81525060200191505060405180910390fd5b600080896000191660001916815260200190815260200160002060040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1695508573ffffffffffffffffffffffffffffffffffffffff166323b872dd6000808b6000191660001916815260200190815260200160002060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff16308a6040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b158015611e2757600080fd5b505af1158015611e3b573d6000803e3d6000fd5b505050506040513d6020811015611e5157600080fd5b81019080805190602001909291905050501515611f22576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252605c8152602001807f546f6b656e207472616e73666572206661696c65642c206d6179626520796f7581526020017f20646964206e6f7420617070726f766520657363726f7720636f6e747261637481526020017f20746f207370656e64206f6e20626568616c66206f662062757965720000000081525060600191505060405180910390fd5b611f52876000808b6000191660001916815260200190815260200160002060000154612fe890919063ffffffff16565b6000808a6000191660001916815260200190815260200160002060000181905550426000808a60001916600019168152602001908152602001600020600101819055503373ffffffffffffffffffffffffffffffffffffffff1688600019167ff66fd2ae9e24a6a24b02e1b5b7512ffde5149a4176085fc0298ae228c9b9d729896040518082815260200191505060405180910390a35050505050505050565b60015481565b6060600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080548060200260200160405190810160405280929190818152602001828054801561208757602002820191906000526020600020905b8154600019168152602001906001019080831161206f575b50505050509050919050565b8460008060008360001916600019168152602001908152602001600020600001541415151561212a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737400000000000081525060200191505060405180910390fd5b856000600181111561213857fe5b600080836000191660001916815260200190815260200160002060020160009054906101000a900460ff16600181111561216e57fe5b141515612209576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001807f5472616e73616374696f6e206973206e6f7420696e2046554e4445442073746181526020017f746500000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b60008686905011801561222157508383905086869050145b15156122bb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001807f4c656e677468206f662064657374696e6174696f6e7320697320696e636f727281526020017f6563742e0000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b6123b48d8d808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508c8c808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508b8b808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508a8a8a80806020026020016040519081016040528093929190818152602001838360200280828437820191505050505050898980806020026020016040519081016040528093929190818152602001838360200280828437820191505050505050613009565b6001600080896000191660001916815260200190815260200160002060020160006101000a81548160ff021916908360018111156123ee57fe5b02179055504260008089600019166000191681526020019081526020016000206001018190555060008088600019166000191681526020019081526020016000206000015461249c888888808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508787808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050506131ea565b14151561255d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260488152602001807f546f74616c2076616c756520746f2062652072656c6561736564206d7573742081526020017f626520657175616c20746f20746865207472616e73616374696f6e206573637281526020017f6f772076616c756500000000000000000000000000000000000000000000000081525060600191505060405180910390fd5b86600019167f688e2a1b34445bcd47b0e11ba2a9c8c4d850a1831b64199b59d1c70e29701545878787876040518080602001806020018381038352878782818152602001925060200280828437820191505083810382528585828181526020019250602002808284378201915050965050505050505060405180910390a250505050505050505050505050565b6000806000846000191660001916815260200190815260200160002060070160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b8873ffffffffffffffffffffffffffffffffffffffff168a73ffffffffffffffffffffffffffffffffffffffff1614151515612700576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f427579657220616e642073656c6c6572206172652073616d650000000000000081525060200191505060405180910390fd5b600084111515612778576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f56616c756520706173736564206973203000000000000000000000000000000081525060200191505060405180910390fd5b60008760ff1611801561278f575060038760ff1611155b1515612829576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603d8152602001807f5468726573686f6c642063616e6e6f742062652067726561746572207468616e81526020017f203320616e64206d7573742062652067726561746572207468616e203000000081525060400191505060405180910390fd5b60018760ff1614806128685750600073ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff1614155b1515612928576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260488152602001807f456974686572207468726573686f6c642073686f756c642062652031206f722081526020017f76616c6964206d6f64657261746f7220616464726573732073686f756c64206281526020017f652070617373656400000000000000000000000000000000000000000000000081525060600191505060405180910390fd5b6129378388888d8d8d87610e24565b6000191685600019161415156129db576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260398152602001807f43616c63756c6174656420736372697074206861736820646f6573206e6f742081526020017f6d61746368207061737365642073637269707420686173682e0000000000000081525060400191505060405180910390fd5b6101406040519081016040528085815260200142815260200160006001811115612a0157fe5b8152602001836001811115612a1257fe5b81526020018860ff1681526020018763ffffffff1681526020018b73ffffffffffffffffffffffffffffffffffffffff1681526020018a73ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020018973ffffffffffffffffffffffffffffffffffffffff168152506000808760001916600019168152602001908152602001600020600082015181600001556020820151816001015560408201518160020160006101000a81548160ff02191690836001811115612aec57fe5b021790555060608201518160020160016101000a81548160ff02191690836001811115612b1557fe5b021790555060808201518160020160026101000a81548160ff021916908360ff16021790555060a08201518160020160036101000a81548163ffffffff021916908363ffffffff16021790555060c08201518160020160076101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060e08201518160030160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506101008201518160040160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506101208201518160050160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055509050506001600080876000191660001916815260200190815260200160002060060160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600080876000191660001916815260200190815260200160002060060160008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600080866000191660001916815260200190815260200160002060060160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151515612e6c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f456974686572206275796572206f722073656c6c65722069732070617373656481526020017f206173206d6f64657261746f720000000000000000000000000000000000000081525060400191505060405180910390fd5b60018760ff161115612eec576001600080876000191660001916815260200190815260200160002060060160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b600160008154809291906001019190505550600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020859080600181540180825580915050906001820390600052602060002001600090919290919091509060001916905550600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002085908060018154018082558091505090600182039060005260206000200160009091929091909150906000191690555050505050505050505050565b6000808284019050838110151515612fff57600080fd5b8091505092915050565b60008061301a8888888888886139d2565b9150613070600080876000191660001916815260200190815260200160002060020160039054906101000a900463ffffffff1660008088600019166000191681526020019081526020016000206001015461404b565b9050600080866000191660001916815260200190815260200160002060020160029054906101000a900460ff1660ff16885110801561312157508015806131205750600080866000191660001916815260200190815260200160002060030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b5b156131e0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260588152602001807f4d696e696d756d206e756d626572206f66207369676e6174757265732061726581526020017f206e6f7420636f6c6c656374656420616e642074696d65206c6f636b2065787081526020017f69727920636f6e646974696f6e73206e6f74206d65742121000000000000000081525060600191505060405180910390fd5b5050505050505050565b6000806000806000806000808a600019166000191681526020019081526020016000209450600093506000600181111561322057fe5b8560020160019054906101000a900460ff16600181111561323d57fe5b141561355457600092505b875183101561354f57600073ffffffffffffffffffffffffffffffffffffffff16888481518110151561327757fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1614158015613307575084600601600089858151811015156132b457fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b151561337b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f4e6f7420612076616c69642064657374696e6174696f6e00000000000000000081525060200191505060405180910390fd5b6000878481518110151561338b57fe5b90602001906020020151111515613430576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001807f416d6f756e7420746f2062652073656e742073686f756c64206265206772656181526020017f746572207468616e20300000000000000000000000000000000000000000000081525060400191505060405180910390fd5b61345a878481518110151561344157fe5b9060200190602002015185612fe890919063ffffffff16565b935060018560080160008a8681518110151561347257fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555087838151811015156134db57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff166108fc888581518110151561350c57fe5b906020019060200201519081150290604051600060405180830381858888f19350505050158015613541573d6000803e3d6000fd5b508280600101935050613248565b6139c3565b60018081111561356057fe5b8560020160019054906101000a900460ff16600181111561357d57fe5b14156139c2578460040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169150600090505b87518110156139c157600073ffffffffffffffffffffffffffffffffffffffff1688828151811015156135de57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff161415801561366e5750846006016000898381518110151561361b57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15156136e2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f4e6f7420612076616c69642064657374696e6174696f6e00000000000000000081525060200191505060405180910390fd5b600087828151811015156136f257fe5b90602001906020020151111515613797576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001807f416d6f756e7420746f2062652073656e742073686f756c64206265206772656181526020017f746572207468616e20300000000000000000000000000000000000000000000081525060400191505060405180910390fd5b6137c187828151811015156137a857fe5b9060200190602002015185612fe890919063ffffffff16565b935060018560080160008a848151811015156137d957fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb898381518110151561385e57fe5b90602001906020020151898481518110151561387657fe5b906020019060200201516040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15801561390557600080fd5b505af1158015613919573d6000803e3d6000fd5b505050506040513d602081101561392f57600080fd5b810190808051906020019092919050505015156139b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f546f6b656e207472616e73666572206661696c65642e0000000000000000000081525060200191505060405180910390fd5b80806001019150506135af565b5b5b83955050505050509392505050565b600080600080600088518a511480156139ec57508a518a51145b1515613a60576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f522c532c56206c656e677468206d69736d617463682e0000000000000000000081525060200191505060405180910390fd5b60197f01000000000000000000000000000000000000000000000000000000000000000260007f0100000000000000000000000000000000000000000000000000000000000000023089898c60405160200180877effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168152600101867effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526001018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401848051906020019060200280838360005b83811015613bb4578082015181840152602081019050613b99565b50505050905001838051906020019060200280838360005b83811015613be7578082015181840152602081019050613bcc565b50505050905001826000191660001916815260200196505050505050506040516020818303038152906040526040518082805190602001908083835b602083101515613c485780518252602082019150602081019050602083039250613c23565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902060405160200180807f19457468657265756d205369676e6564204d6573736167653a0a333200000000815250601c0182600019166000191681526020019150506040516020818303038152906040526040518082805190602001908083835b602083101515613cf95780518252602082019150602081019050602083039250613cd4565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390209250600091505b895182101561403a576001838c84815181101515613d4757fe5b906020019060200201518c85815181101515613d5f57fe5b906020019060200201518c86815181101515613d7757fe5b90602001906020020151604051600081526020016040526040518085600019166000191681526020018460ff1660ff1681526020018360001916600019168152602001826000191660001916815260200194505050505060206040516020810390808403906000865af1158015613df2573d6000803e3d6000fd5b505050602060405103519050600080896000191660001916815260200190815260200160002060060160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515613eda576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f496e76616c6964207369676e617475726500000000000000000000000000000081525060200191505060405180910390fd5b600080896000191660001916815260200190815260200160002060070160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151515613fb7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f53616d65207369676e61747572652073656e742074776963650000000000000081525060200191505060405180910390fd5b60016000808a6000191660001916815260200190815260200160002060070160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508093508180600101925050613d2d565b839450505050509695505050505050565b600080614061834261409f90919063ffffffff16565b905060008463ffffffff16146140935761408c610e108563ffffffff166140c090919063ffffffff16565b8111614096565b60005b91505092915050565b6000808383111515156140b157600080fd5b82840390508091505092915050565b60008060008414156140d557600091506140f7565b82840290508284828115156140e657fe5b041415156140f357600080fd5b8091505b50929150505600a165627a7a7230582033b813557bb5fa9684290196cb5c522bdfd57ca955963794c2cbeb547a7e62dc0029", - "sourceMap": "460:20100:0:-;;;1653:1;1619:35;;460:20100;8:9:-1;5:2;;;30:1;27;20:12;5:2;460:20100:0;;;;;;;", - "deployedSourceMap": "460:20100:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3702:701;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7581:579;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11820:999;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11820:999:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5337:1021;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5337:1021:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1561:51;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1561:51:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6599:221;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6599:221:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8488:888;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8488:888:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1619:35;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1619:35:0;;;;;;;;;;;;;;;;;;;;;;;9493:194;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9493:194:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;9493:194:0;;;;;;;;;;;;;;;;;10285:1064;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10285:1064:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7060:194;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7060:194:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3702:701;3979:10;2077:1;2043:12;:24;2056:10;2043:24;;;;;;;;;;;;;;;;;:30;;;:35;2035:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4014:5;2410:1;2384:28;;:14;:28;;;;2376:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4044:6;2410:1;2384:28;;:14;:28;;;;2376:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4066:264;4095:5;4114:6;4134:9;4157;4180:12;4206:10;4230:9;4253:8;4275:21;4318:1;4066:15;:264::i;:::-;4373:10;4354:41;;4361:10;4354:41;;;;4385:9;4354:41;;;;;;;;;;;;;;;;;;2446:1;2110;3702:701;;;;;;;;:::o;7581:579::-;7704:10;1907:1;1873:12;:24;1886:10;1873:24;;;;;;;;;;;;;;;;;:30;;;:35;;1852:96;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7738:10;2233:13;2198:48;;;;;;;;:12;:24;2211:10;2198:24;;;;;;;;;;;;;;;;;:31;;;;;;;;;;;;:48;;;;;;;;;2177:117;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7779:10;7791:21;2644:15;2600:59;;;;;;;;:12;:24;2613:10;2600:24;;;;;;;;;;;;;;;;;:40;;;;;;;;;;;;:59;;;;;;;;;2579:125;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7832:10;2812:12;:24;2825:10;2812:24;;;;;;;;;;;;;;;;;:30;;;;;;;;;;;;2798:44;;:10;:44;;;2777:124;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7888:1;7876:9;:13;7868:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7970;8018:9;7970:12;:24;7983:10;7970:24;;;;;;;;;;;;;;;;;:30;;;:47;;:58;;;;:::i;:::-;7937:12;:24;7950:10;7937:24;;;;;;;;;;;;;;;;;:30;;:91;;;;8078:15;8038:12;:24;8051:10;8038:24;;;;;;;;;;;;;;;;;:37;;:55;;;;8131:10;8109:44;;8119:10;8109:44;;;;8143:9;8109:44;;;;;;;;;;;;;;;;;;2714:1;2304;;1958;7581:579;;:::o;11820:999::-;12090:7;12141:1;12117:26;;:12;:26;;;12113:700;;;12231:8;12261:9;12292:12;12326:5;12353:6;12381:9;12412:4;12193:241;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;12193:241:0;;;12166:282;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;12166:282:0;;;;;;;;;;;;;;;;12159:289;;;;12113:700;12551:8;12581:9;12612:12;12646:5;12673:6;12701:9;12732:4;12758:12;12513:275;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;12513:275:0;;;12486:316;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;12486:316:0;;;;;;;;;;;;;;;;12479:323;;11820:999;;;;;;;;;;:::o;5337:1021::-;6054:20;5656:10;2077:1;2043:12;:24;2056:10;2043:24;;;;;;;;;;;;;;;;;:30;;;:35;2035:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5691:5;2410:1;2384:28;;:14;:28;;;;2376:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5721:6;2410:1;2384:28;;:14;:28;;;;2376:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5752:12;2410:1;2384:28;;:14;:28;;;;2376:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5781:262;5810:5;5829:6;5849:9;5872;5895:12;5921:10;5945:5;5964:8;5986:21;6021:12;5781:15;:262::i;:::-;6092:12;6054:51;;6137:5;:18;;;6156:10;6168:4;6174:5;6137:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6137:43:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6137:43:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6137:43:0;;;;;;;;;;;;;;;;6116:183;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6333:10;6314:37;;6321:10;6314:37;;;;6345:5;6314:37;;;;;;;;;;;;;;;;;;2446:1;;2110;5337:1021;;;;;;;;;;;:::o;1561:51::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;6599:221::-;6735:4;6762:12;:24;6775:10;6762:24;;;;;;;;;;;;;;;;;:38;;:51;6801:11;6762:51;;;;;;;;;;;;;;;;;;;;;;;;;6755:58;;6599:221;;;;:::o;8488:888::-;8839:20;8619:10;1907:1;1873:12;:24;1886:10;1873:24;;;;;;;;;;;;;;;;;:30;;;:35;;1852:96;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8653:10;2233:13;2198:48;;;;;;;;:12;:24;2211:10;2198:24;;;;;;;;;;;;;;;;;:31;;;;;;;;;;;;:48;;;;;;;;;2177:117;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8694:10;8706:21;2644:15;2600:59;;;;;;;;:12;:24;2613:10;2600:24;;;;;;;;;;;;;;;;;:40;;;;;;;;;;;;:59;;;;;;;;;2579:125;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8747:10;2812:12;:24;2825:10;2812:24;;;;;;;;;;;;;;;;;:30;;;;;;;;;;;;2798:44;;:10;:44;;;2777:124;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8790:1;8782:5;:9;8774:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8890:12;:24;8903:10;8890:24;;;;;;;;;;;;;;;;;:37;;;;;;;;;;;;8839:98;;8969:5;:18;;;8988:12;:24;9001:10;8988:24;;;;;;;;;;;;;;;;;:30;;;;;;;;;;;;9020:4;9026:5;8969:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8969:63:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;8969:63:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;8969:63:0;;;;;;;;;;;;;;;;8948:202;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9194:54;9242:5;9194:12;:24;9207:10;9194:24;;;;;;;;;;;;;;;;;:30;;;:47;;:54;;;;:::i;:::-;9161:12;:24;9174:10;9161:24;;;;;;;;;;;;;;;;;:30;;:87;;;;9298:15;9258:12;:24;9271:10;9258:24;;;;;;;;;;;;;;;;;:37;;:55;;;;9351:10;9329:40;;9339:10;9329:40;;;;9363:5;9329:40;;;;;;;;;;;;;;;;;;2714:1;2304;;1958;8488:888;;;;:::o;1619:35::-;;;;:::o;9493:194::-;9615:9;9648:18;:32;9667:12;9648:32;;;;;;;;;;;;;;;9641:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9493:194;;;:::o;10285:1064::-;10507:10;1907:1;1873:12;:24;1886:10;1873:24;;;;;;;;;;;;;;;;;:30;;;:35;;1852:96;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10541:10;2233:13;2198:48;;;;;;;;:12;:24;2211:10;2198:24;;;;;;;;;;;;;;;;;:31;;;;;;;;;;;;:48;;;;;;;;;2177:117;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10608:1;10588:12;;:19;;:21;:62;;;;;10636:7;;:14;;10613:12;;:19;;:37;10588:62;10567:133;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10711:153;10743:4;;10711:153;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10761:4;;10711:153;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10779:4;;10711:153;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10797:10;10821:12;;10711:153;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10847:7;;10711:153;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:18;:153::i;:::-;10909:15;10875:12;:24;10888:10;10875:24;;;;;;;;;;;;;;;;;:31;;;:49;;;;;;;;;;;;;;;;;;;;;;;;11048:15;11008:12;:24;11021:10;11008:24;;;;;;;;;;;;;;;;;:37;;:55;;;;11147:12;:24;11160:10;11147:24;;;;;;;;;;;;;;;;;:30;;;11094:49;11109:10;11121:12;;11094:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11135:7;;11094:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:14;:49::i;:::-;:83;11073:202;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11308:10;11299:43;;;;11320:12;;11334:7;;11299:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1958:1;10285:1064;;;;;;;;;;;;:::o;7060:194::-;7183:4;7210:12;:24;7223:10;7210:24;;;;;;;;;;;;;;;;;:30;;:37;7241:5;7210:37;;;;;;;;;;;;;;;;;;;;;;;;;7203:44;;7060:194;;;;:::o;17917:2641::-;18279:6;18270:15;;:5;:15;;;;18262:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18390:1;18382:5;:9;18374:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18528:1;18516:9;:13;;;:31;;;;;18546:1;18533:9;:14;;;;18516:31;18495:140;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18929:1;18916:9;:14;;;:41;;;;18955:1;18934:23;;:9;:23;;;;18916:41;18895:160;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19101:226;19144:8;19170:9;19197:12;19227:5;19250:6;19274:9;19301:12;19101:25;:226::i;:::-;19087:240;;;:10;:240;;;;19066:345;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19449:373;;;;;;;;;19570:5;19449:373;;;;19638:15;19449:373;;;;19597:13;19449:373;;;;;;;;;;;;19757:15;19449:373;;;;;;;;;;;;19678:9;19449:373;;;;;;19715:12;19449:373;;;;;;19482:5;19449:373;;;;;;19509:6;19449:373;;;;;;19799:12;19449:373;;;;;;19540:9;19449:373;;;;;19422:12;:24;19435:10;19422:24;;;;;;;;;;;;;;;;;:400;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19876:4;19833:12;:24;19846:10;19833:24;;;;;;;;;;;;;;;;;:32;;:40;19866:6;19833:40;;;;;;;;;;;;;;;;:47;;;;;;;;;;;;;;;;;;19932:4;19890:12;:24;19903:10;19890:24;;;;;;;;;;;;;;;;;:32;;:39;19923:5;19890:39;;;;;;;;;;;;;;;;:46;;;;;;;;;;;;;;;;;;20044:12;:24;20057:10;20044:24;;;;;;;;;;;;;;;;;:32;;:43;20077:9;20044:43;;;;;;;;;;;;;;;;;;;;;;;;;20043:44;20022:137;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20331:1;20319:9;:13;;;20315:94;;;20394:4;20348:12;:24;20361:10;20348:24;;;;;;;;;;;;;;;;;:32;;:43;20381:9;20348:43;;;;;;;;;;;;;;;;:50;;;;;;;;;;;;;;;;;;20315:94;20427:16;;:18;;;;;;;;;;;;;20456;:25;20475:5;20456:25;;;;;;;;;;;;;;;20487:10;20456:42;;39:1:-1;33:3;27:10;23:18;57:10;52:3;45:23;79:10;72:17;;0:93;20456:42:0;;;;;;;;;;;;;;;;;;;;;;;;;;;20508:18;:26;20527:6;20508:26;;;;;;;;;;;;;;;20540:10;20508:43;;39:1:-1;33:3;27:10;23:18;57:10;52:3;45:23;79:10;72:17;;0:93;20508:43:0;;;;;;;;;;;;;;;;;;;;;;;;;;;17917:2641;;;;;;;;;;:::o;1272:131:2:-;1330:7;1345:9;1361:1;1357;:5;1345:17;;1381:1;1376;:6;;1368:15;;;;;;;;1397:1;1390:8;;1272:131;;;;;:::o;13093:1008:0:-;13314:21;13501:20;13338:152;13369:4;13387;13405;13423:10;13447:12;13473:7;13338:17;:152::i;:::-;13314:176;;13524:130;13556:12;:24;13569:10;13556:24;;;;;;;;;;;;;;;;;:37;;;;;;;;;;;;13607:12;:24;13620:10;13607:24;;;;;;;;;;;;;;;;;:37;;;13524:18;:130::i;:::-;13501:153;;13840:12;:24;13853:10;13840:24;;;;;;;;;;;;;;;;;:34;;;;;;;;;;;;13826:48;;:4;:11;:48;:122;;;;;13880:15;13879:16;:68;;;;13916:12;:24;13929:10;13916:24;;;;;;;;;;;;;;;;;:31;;;;;;;;;;;;13899:48;;:13;:48;;;;13879:68;13826:122;13805:289;;;13985:98;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13805:289;13093:1008;;;;;;;;:::o;14227:1523::-;14375:7;14398:21;14457:24;14563:9;15115:20;15188:9;14422:12;:24;14435:10;14422:24;;;;;;;;;;;;;;;;;14398:48;;14484:1;14457:28;;14521:21;14500:42;;;;;;;;:1;:17;;;;;;;;;;;;:42;;;;;;;;;14496:1214;;;14575:1;14563:13;;14558:477;14582:12;:19;14578:1;:23;14558:477;;;14662:1;14635:29;;:12;14648:1;14635:15;;;;;;;;;;;;;;;;;;:29;;;;:59;;;;;14668:1;:9;;:26;14678:12;14691:1;14678:15;;;;;;;;;;;;;;;;;;14668:26;;;;;;;;;;;;;;;;;;;;;;;;;14635:59;14627:95;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14761:1;14748:7;14756:1;14748:10;;;;;;;;;;;;;;;;;;:14;14740:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14847:32;14868:7;14876:1;14868:10;;;;;;;;;;;;;;;;;;14847:16;:20;;:32;;;;:::i;:::-;14828:51;;14933:4;14898:1;:15;;:32;14914:12;14927:1;14914:15;;;;;;;;;;;;;;;;;;14898:32;;;;;;;;;;;;;;;;:39;;;;;;;;;;;;;;;;;;14984:12;14997:1;14984:15;;;;;;;;;;;;;;;;;;:24;;:36;15009:7;15017:1;15009:10;;;;;;;;;;;;;;;;;;14984:36;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;14984:36:0;14603:3;;;;;;;14558:477;;;14496:1214;;;15077:21;15056:42;;;;;;;;:1;:17;;;;;;;;;;;;:42;;;;;;;;;15052:658;;;15153:1;:14;;;;;;;;;;;;15115:53;;15200:1;15188:13;;15183:517;15205:12;:19;15203:1;:21;15183:517;;;15285:1;15258:29;;:12;15271:1;15258:15;;;;;;;;;;;;;;;;;;:29;;;;:59;;;;;15291:1;:9;;:26;15301:12;15314:1;15301:15;;;;;;;;;;;;;;;;;;15291:26;;;;;;;;;;;;;;;;;;;;;;;;;15258:59;15250:95;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15384:1;15371:7;15379:1;15371:10;;;;;;;;;;;;;;;;;;:14;15363:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15470:32;15491:7;15499:1;15491:10;;;;;;;;;;;;;;;;;;15470:16;:20;;:32;;;;:::i;:::-;15451:51;;15555:4;15520:1;:15;;:32;15536:12;15549:1;15536:15;;;;;;;;;;;;;;;;;;15520:32;;;;;;;;;;;;;;;;:39;;;;;;;;;;;;;;;;;;15615:5;:14;;;15630:12;15643:1;15630:15;;;;;;;;;;;;;;;;;;15647:7;15655:1;15647:10;;;;;;;;;;;;;;;;;;15615:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;15615:43:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;15615:43:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;15615:43:0;;;;;;;;;;;;;;;;15607:78;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15226:3;;;;;;;15183:517;;;15052:658;14496:1214;15727:16;15720:23;;14227:1523;;;;;;;;;;:::o;15935:1572::-;16157:7;16318:19;16436:14;16895:6;16944:17;16217:4;:11;16202:4;:11;:26;:56;;;;;16247:4;:11;16232:4;:11;:26;16202:56;16181:126;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16640:4;16635:10;;16676:1;16671:7;;16704:4;16734:12;16772:7;16805:10;16593:244;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;16593:244:0;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;16593:244:0;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;16593:244:0;;;16562:293;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;16562:293:0;;;;;;;;;;;;;;;;16476:393;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;16476:393:0;;;16453:426;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;16453:426:0;;;;;;;;;;;;;;;;16436:443;;16904:1;16895:10;;16890:582;16911:4;:11;16907:1;:15;16890:582;;;16964:122;16991:6;17015:4;17020:1;17015:7;;;;;;;;;;;;;;;;;;17040:4;17045:1;17040:7;;;;;;;;;;;;;;;;;;17065:4;17070:1;17065:7;;;;;;;;;;;;;;;;;;16964:122;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;16964:122:0;;;;;;;;16944:142;;17126:12;:24;17139:10;17126:24;;;;;;;;;;;;;;;;;:32;;:43;17159:9;17126:43;;;;;;;;;;;;;;;;;;;;;;;;;17101:120;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17261:12;:24;17274:10;17261:24;;;;;;;;;;;;;;;;;:30;;:41;17292:9;17261:41;;;;;;;;;;;;;;;;;;;;;;;;;17260:42;17235:127;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17420:4;17376:12;:24;17389:10;17376:24;;;;;;;;;;;;;;;;;:30;;:41;17407:9;17376:41;;;;;;;;;;;;;;;;:48;;;;;;;;;;;;;;;;;;17452:9;17438:23;;16924:3;;;;;;;16890:582;;;17489:11;17482:18;;15935:1572;;;;;;;;;;;;:::o;17513:317::-;17652:4;17672:17;17692:21;17700:12;17692:3;:7;;:21;;;;:::i;:::-;17672:41;;17760:1;17744:12;:17;;;:69;;17782:31;17808:4;17790:12;17782:21;;:25;;:31;;;;:::i;:::-;17770:9;:43;17744:69;;;17764:5;17744:69;17723:100;;17513:317;;;;;:::o;1078:131:2:-;1136:7;1172:9;1164:1;1159;:6;;1151:15;;;;;;;;1188:1;1184;:5;1172:17;;1203:1;1196:8;;1078:131;;;;;:::o;204:381::-;262:7;523:9;491:1;486;:6;482:35;;;509:1;502:8;;;;482:35;539:1;535;:5;523:17;;563:1;558;554;:5;;;;;;;;:10;546:19;;;;;;;;579:1;572:8;;204:381;;;;;;:::o", - "source": "pragma solidity 0.4.24;\n\nimport \"openzeppelin-solidity/contracts/math/SafeMath.sol\";\n\nimport \"../token/ITokenContract.sol\";\n\n\n/**\n* @dev Supports ERC20 tokens\n* The escrow smart contract for the open bazaar trades in Ethereum\n* The smart contract is designed keeping in mind the current wallet interface of the OB-core\n* https://github.com/OpenBazaar/wallet-interface/blob/master/wallet.go\n* Current wallet interface strictly adheres to UTXO(bitcoin) model\n*/\ncontract Escrow_v1_0 {\n\n using SafeMath for uint256;\n\n enum Status {FUNDED, RELEASED}\n\n enum TransactionType {ETHER, TOKEN}\n\n event Executed(\n bytes32 indexed scriptHash,\n address[] destinations,\n uint256[] amounts\n );\n\n event FundAdded(\n bytes32 indexed scriptHash,\n address indexed from,\n uint256 valueAdded\n );\n\n event Funded(\n bytes32 indexed scriptHash, \n address indexed from, \n uint256 value\n );\n\n struct Transaction {\n uint256 value;\n uint256 lastModified;//Time at which transaction was last modified\n Status status;\n TransactionType transactionType;\n uint8 threshold;\n uint32 timeoutHours;\n address buyer;\n address seller;\n address tokenAddress;//Token address in case of token transfer\n address moderator;\n mapping(address=>bool) isOwner;//to keep track of owners.\n mapping(address=>bool) voted;//to keep track of who all voted\n mapping(address=>bool) beneficiaries;//Benefeciaries of execution\n }\n\n mapping(bytes32 => Transaction) public transactions;\n\n uint256 public transactionCount = 0;\n\n //Contains mapping between each party and all of their transactions\n mapping(address => bytes32[]) private partyVsTransaction;\n\n modifier transactionExist(bytes32 scriptHash) {\n require(\n transactions[scriptHash].value != 0, \"Transaction does not exist\"\n );\n _;\n }\n\n modifier transactionDoesNotExist(bytes32 scriptHash) {\n require(transactions[scriptHash].value == 0, \"Transaction exist\");\n _;\n }\n\n modifier inFundedState(bytes32 scriptHash) {\n require(\n transactions[scriptHash].status == Status.FUNDED, \"Transaction is not in FUNDED state\"\n );\n _;\n }\n\n modifier nonZeroAddress(address addressToCheck) {\n require(addressToCheck != address(0), \"Zero address passed\");\n _;\n }\n\n modifier checkTransactionType(\n bytes32 scriptHash,\n TransactionType transactionType\n )\n {\n require(\n transactions[scriptHash].transactionType == transactionType, \"Transaction type does not match\"\n );\n _;\n }\n\n modifier onlyBuyer(bytes32 scriptHash) {\n require(\n msg.sender == transactions[scriptHash].buyer, \"The initiator of the transaction is not buyer\"\n );\n _;\n }\n\n /**\n *@dev Add new transaction in the contract\n *@param buyer The buyer of the transaction\n *@param seller The seller of the listing associated with the transaction\n *@param moderator Moderator for this transaction\n *@param scriptHash keccak256 hash of the redeem script\n *@param threshold Minimum number of signatures required to released funds\n *@param timeoutHours Hours after which seller can release funds into his favour by signing transaction unilaterally\n *@param uniqueId bytes20 unique id for the transaction, generated by ETH wallet\n *Redeem Script format will be following\n \n *Pass amount of the ethers to be put in escrow\n */\n function addTransaction(\n address buyer,\n address seller,\n address moderator,\n uint8 threshold,\n uint32 timeoutHours,\n bytes32 scriptHash,\n bytes20 uniqueId\n )\n external\n payable\n transactionDoesNotExist(scriptHash)\n nonZeroAddress(buyer)\n nonZeroAddress(seller)\n {\n _addTransaction(\n buyer,\n seller,\n moderator,\n threshold,\n timeoutHours,\n scriptHash,\n msg.value,\n uniqueId,\n TransactionType.ETHER,\n address(0)\n );\n \n emit Funded(scriptHash, msg.sender, msg.value);\n\n }\n\n /**\n *@dev Add new transaction in the contract\n *@param buyer The buyer of the transaction\n *@param seller The seller of the listing associated with the transaction\n *@param moderator Moderator for this transaction\n *@param scriptHash keccak256 hash of the redeem script\n *@param threshold Minimum number of signatures required to released funds\n *@param timeoutHours Hours after which seller can release funds into his favour by signing transaction unilaterally\n *@param value Amount of tokens to be put in escrow\n *@param uniqueId bytes20 unique id for the transaction, generated by ETH wallet\n *@param tokenAddress Address of the token to be used\n *Redeem Script format will be following\n \n *approve escrow contract to spend amount of token on sender's behalf\n */\n function addTokenTransaction(\n address buyer,\n address seller,\n address moderator,\n uint8 threshold,\n uint32 timeoutHours,\n bytes32 scriptHash,\n uint256 value,\n bytes20 uniqueId,\n address tokenAddress\n )\n external\n transactionDoesNotExist(scriptHash)\n nonZeroAddress(buyer)\n nonZeroAddress(seller)\n nonZeroAddress(tokenAddress)\n {\n\n _addTransaction(\n buyer,\n seller,\n moderator,\n threshold,\n timeoutHours,\n scriptHash,\n value,\n uniqueId,\n TransactionType.TOKEN,\n tokenAddress\n );\n\n ITokenContract token = ITokenContract(tokenAddress);\n\n require(\n token.transferFrom(msg.sender, this, value),\n \"Token transfer failed, maybe you did not approve escrow contract to spend on behalf of sender\"\n );\n emit Funded(scriptHash, msg.sender, value);\n }\n\n /**\n * @dev This method will check whether given address was a beneficiary of transaction execution or not\n * @param scriptHash script hash of the transaction\n * @param beneficiary Beneficiary address to be checked\n */\n function checkBeneficiary(\n bytes32 scriptHash,\n address beneficiary\n )\n external\n view\n returns (bool)\n {\n return transactions[scriptHash].beneficiaries[beneficiary];\n }\n\n /**\n * @dev This method will check whether given party has voted or not\n * @param scriptHash script hash of the transaction\n * @param party Address of the party whose vote has to be checked\n * @return bool vote\n */\n function checkVote(\n bytes32 scriptHash,\n address party\n )\n external\n view\n returns (bool)\n {\n return transactions[scriptHash].voted[party];\n }\n\n /**\n * @dev Allows buyer of the transaction to add more funds(ether) in the transaction. \n * This will help to cater scenarios wherein initially buyer missed to fund transaction as required\n * @param scriptHash script hash of the transaction\n * Only buyer of the transaction can invoke this method\n */\n function addFundsToTransaction(\n bytes32 scriptHash\n )\n external\n payable\n transactionExist(scriptHash)\n inFundedState(scriptHash)\n checkTransactionType(scriptHash, TransactionType.ETHER)\n onlyBuyer(scriptHash)\n \n {\n\n require(msg.value > 0, \"Value must be greater than zero.\");\n\n transactions[scriptHash].value = transactions[scriptHash].value\n .add(msg.value);\n transactions[scriptHash].lastModified = block.timestamp;\n\n emit FundAdded(scriptHash, msg.sender, msg.value);\n }\n\n /**\n * @dev Allows buyer of the transaction to add more funds(Tokens) in the transaction. \n * This will help to cater scenarios wherein initially buyer missed to fund transaction as required\n * @param scriptHash script hash of the transaction\n * Only buyer of the transaction can invoke this method\n */\n function addTokensToTransaction(\n bytes32 scriptHash,\n uint256 value\n )\n external\n transactionExist(scriptHash)\n inFundedState(scriptHash)\n checkTransactionType(scriptHash, TransactionType.TOKEN)\n onlyBuyer(scriptHash)\n {\n\n require(value > 0, \"Value must be greater than zero.\");\n\n ITokenContract token = ITokenContract(\n transactions[scriptHash].tokenAddress\n );\n\n require(\n token.transferFrom(transactions[scriptHash].buyer, this, value),\n \"Token transfer failed, maybe you did not approve escrow contract to spend on behalf of buyer\"\n );\n\n transactions[scriptHash].value = transactions[scriptHash].value\n .add(value);\n transactions[scriptHash].lastModified = block.timestamp;\n\n emit FundAdded(scriptHash, msg.sender, value);\n }\n\n /**\n *@dev Returns all transaction ids for a party\n *@param partyAddress Address of the party\n */\n function getAllTransactionsForParty(\n address partyAddress\n ) \n external \n view \n returns (bytes32[]) \n {\n return partyVsTransaction[partyAddress];\n }\n\n /**\n *@dev This method will be used to release funds associated with the transaction\n * Please see specs https://github.com/OpenBazaar/smart-contracts/blob/master/contracts/escrow/EscrowSpec.md\n *@param sigV Array containing V component of all the signatures\n *@param sigR Array containing R component of all the signatures\n *@param signS Array containing S component of all the signatures\n *@param scriptHash script hash of the transaction\n *@param destinations List of addresses who will receive funds\n *@param amounts amount released to each destination\n */\n function execute(\n uint8[] sigV,\n bytes32[] sigR,\n bytes32[] sigS,\n bytes32 scriptHash,\n address[] destinations,\n uint256[] amounts\n )\n external\n transactionExist(scriptHash)\n inFundedState(scriptHash)\n {\n require(\n destinations.length>0 && destinations.length == amounts.length, \"Length of destinations is incorrect.\"\n );\n\n _verifyTransaction(\n sigV,\n sigR,\n sigS,\n scriptHash,\n destinations,\n amounts\n );\n\n transactions[scriptHash].status = Status.RELEASED;\n //Last modified timestamp modified, which will be used by rewards\n transactions[scriptHash].lastModified = block.timestamp;\n require(\n _transferFunds(scriptHash, destinations, amounts) == transactions[scriptHash].value,\n \"Total value to be released must be equal to the transaction escrow value\"\n );\n \n emit Executed(scriptHash, destinations, amounts);\n }\n\n\n /**\n *@dev Method for calculating script hash. Calculation will depend upon the type of transaction\n * ETHER Type transaction-:\n * Script Hash- keccak256(uniqueId, threshold, timeoutHours, buyer, seller, moderator)\n * TOKEN Type transaction\n * Script Hash- keccak256(uniqueId, threshold, timeoutHours, buyer, seller, moderator, tokenAddress)\n * Client can use this method to verify whether it has calculated correct script hash or not\n */\n function calculateRedeemScriptHash(\n bytes20 uniqueId,\n uint8 threshold,\n uint32 timeoutHours,\n address buyer,\n address seller,\n address moderator,\n address tokenAddress\n )\n public\n view\n returns (bytes32)\n {\n if (tokenAddress == address(0)) {\n return keccak256(\n abi.encodePacked(\n uniqueId,\n threshold,\n timeoutHours,\n buyer,\n seller,\n moderator,\n this\n )\n );\n } else {\n return keccak256(\n abi.encodePacked(\n uniqueId,\n threshold,\n timeoutHours,\n buyer,\n seller,\n moderator,\n this,\n tokenAddress\n )\n );\n }\n }\n\n /**\n * @dev This methods checks validity of transaction\n * 1. Verify Signatures\n * 2. Check if minimum number of signatures has been acquired\n * 3. If above condition is false, check if time lock is expired and the execution is signed by seller\n */\n function _verifyTransaction(\n uint8[] sigV,\n bytes32[] sigR,\n bytes32[] sigS,\n bytes32 scriptHash,\n address[] destinations,\n uint256[] amounts\n )\n private\n {\n address lastRecovered = _verifySignatures(\n sigV,\n sigR,\n sigS,\n scriptHash,\n destinations,\n amounts\n );\n\n bool timeLockExpired = _isTimeLockExpired(\n transactions[scriptHash].timeoutHours,\n transactions[scriptHash].lastModified\n );\n\n //if Minimum number of signatures are not gathered and timelock has not expired or transaction was not signed by seller then revert\n if (\n sigV.length < transactions[scriptHash].threshold && (!timeLockExpired || lastRecovered != transactions[scriptHash].seller)\n )\n {\n revert(\"Minimum number of signatures are not collected and time lock expiry conditions not met!!\");\n }\n\n }\n\n /**\n *@dev Private method to transfer funds to the destination addresses on the basis of transaction type\n */\n function _transferFunds(\n bytes32 scriptHash,\n address[]destinations,\n uint256[]amounts\n )\n private\n returns (uint256)\n {\n Transaction storage t = transactions[scriptHash];\n\n uint256 valueTransferred = 0;\n\n if (t.transactionType == TransactionType.ETHER) {\n for (uint256 i = 0; i < destinations.length; i++) {\n\n require(destinations[i] != address(0) && t.isOwner[destinations[i]], \"Not a valid destination\");\n require(amounts[i] > 0, \"Amount to be sent should be greater than 0\");\n\n valueTransferred = valueTransferred.add(amounts[i]);\n\n t.beneficiaries[destinations[i]] = true;//add receiver as beneficiary\n destinations[i].transfer(amounts[i]);\n }\n\n } else if (t.transactionType == TransactionType.TOKEN) {\n\n ITokenContract token = ITokenContract(t.tokenAddress);\n\n for (uint256 j = 0; j 0, \"Amount to be sent should be greater than 0\");\n\n valueTransferred = valueTransferred.add(amounts[j]);\n t.beneficiaries[destinations[j]] = true;//add receiver as beneficiary\n\n require(token.transfer(destinations[j], amounts[j]), \"Token transfer failed.\");\n }\n } \n return valueTransferred;\n }\n\n //to check whether the signatures are valid or not and if consensus was reached\n //returns the last address recovered, in case of timeout this must be the sender's address\n function _verifySignatures(\n uint8[] sigV,\n bytes32[] sigR,\n bytes32[] sigS,\n bytes32 scriptHash,\n address[] destinations,\n uint256[]amounts\n )\n private\n returns (address)\n {\n\n require(\n sigR.length == sigS.length && sigR.length == sigV.length, \n \"R,S,V length mismatch.\"\n );\n\n address lastAddress;\n\n // Follows ERC191 signature scheme: https://github.com/ethereum/EIPs/issues/191\n bytes32 txHash = keccak256(\n abi.encodePacked(\n \"\\x19Ethereum Signed Message:\\n32\",\n keccak256(\n abi.encodePacked(\n byte(0x19),\n byte(0),\n this,\n destinations,\n amounts,\n scriptHash\n )\n )\n )\n );\n\n for (uint i = 0; i < sigR.length; i++) {\n\n address recovered = ecrecover(\n txHash,\n sigV[i],\n sigR[i],\n sigS[i]\n );\n\n require(\n transactions[scriptHash].isOwner[recovered], \n \"Invalid signature\"\n );\n require(\n !transactions[scriptHash].voted[recovered], \n \"Same signature sent twice\"\n );\n transactions[scriptHash].voted[recovered] = true;\n lastAddress = recovered;\n }\n\n return lastAddress;\n }\n\n function _isTimeLockExpired(\n uint32 timeoutHours,\n uint256 lastModified\n )\n private\n view\n returns (bool)\n {\n uint256 timeSince = now.sub(lastModified);\n return (\n timeoutHours == 0 ? false:timeSince > uint256(timeoutHours).mul(3600)\n );\n }\n\n /**\n * Private method to add transaction to reduce code redundancy\n */\n function _addTransaction(\n address buyer,\n address seller,\n address moderator,\n uint8 threshold,\n uint32 timeoutHours,\n bytes32 scriptHash,\n uint256 value,\n bytes20 uniqueId,\n TransactionType transactionType,\n address tokenAddress\n )\n private\n { \n require(buyer != seller, \"Buyer and seller are same\");\n\n //value passed should be greater than 0\n require(value > 0, \"Value passed is 0\");\n\n // For now allowing 0 moderator to support 1-2 multisig wallet\n require(\n threshold > 0 && threshold <= 3, \n \"Threshold cannot be greater than 3 and must be greater than 0\"\n );\n\n //if threshold is 1 then moderator can be passed as zero address or any other address\n //(it won't matter apart from scripthash since we wont add moderator as one of the owner),\n //otherwise moderator should be a valid address\n require(\n threshold == 1 || moderator != address(0),\n \"Either threshold should be 1 or valid moderator address should be passed\"\n );\n\n require(\n scriptHash == calculateRedeemScriptHash(\n uniqueId,\n threshold,\n timeoutHours,\n buyer,\n seller,\n moderator,\n tokenAddress\n ), \n \"Calculated script hash does not match passed script hash.\"\n );\n\n transactions[scriptHash] = Transaction({\n buyer: buyer,\n seller: seller,\n moderator: moderator,\n value: value,\n status: Status.FUNDED,\n lastModified: block.timestamp,\n threshold: threshold,\n timeoutHours: timeoutHours,\n transactionType:transactionType,\n tokenAddress:tokenAddress\n });\n\n transactions[scriptHash].isOwner[seller] = true;\n transactions[scriptHash].isOwner[buyer] = true; \n\n //Check if buyer or seller are not passed as moderator\n require(\n !transactions[scriptHash].isOwner[moderator], \n \"Either buyer or seller is passed as moderator\"\n );\n\n //set moderator as one of the owners only if threshold is greater than 1 otherwise only buyer and seller should be able to release funds\n if (threshold > 1) {\n transactions[scriptHash].isOwner[moderator] = true;\n }\n \n\n transactionCount++;\n\n partyVsTransaction[buyer].push(scriptHash);\n partyVsTransaction[seller].push(scriptHash);\n }\n}\n", + "bytecode": "0x6080604052600060015534801561001557600080fd5b5061412a806100256000396000f3006080604052600436106100af576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806323b6fd3f146100b45780632d9ef96e1461016e57806346fbcdeb1461019257806357bced7614610287578063642f2eaf14610378578063b0550c66146104da578063b719e28014610543578063b77bf6001461057e578063be84ceaf146105a9578063e4ec8b0014610641578063f0786562146106ea575b600080fd5b61016c600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff169060200190929190803563ffffffff169060200190929190803560001916906020019092919080356bffffffffffffffffffffffff19169060200190929190505050610753565b005b61019060048036038101908080356000191690602001909291905050506109a7565b005b34801561019e57600080fd5b5061026960048036038101908080356bffffffffffffffffffffffff19169060200190929190803560ff169060200190929190803563ffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610e24565b60405180826000191660001916815260200191505060405180910390f35b34801561029357600080fd5b50610376600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff169060200190929190803563ffffffff16906020019092919080356000191690602001909291908035906020019092919080356bffffffffffffffffffffffff19169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506112d0565b005b34801561038457600080fd5b506103a760048036038101908080356000191690602001909291905050506117a5565b604051808b81526020018a81526020018960018111156103c357fe5b60ff1681526020018860018111156103d757fe5b60ff1681526020018760ff1660ff1681526020018663ffffffff1663ffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019a505050505050505050505060405180910390f35b3480156104e657600080fd5b506105296004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506118b0565b604051808215151515815260200191505060405180910390f35b34801561054f57600080fd5b5061057c600480360381019080803560001916906020019092919080359060200190929190505050611922565b005b34801561058a57600080fd5b50610593611ff2565b6040518082815260200191505060405180910390f35b3480156105b557600080fd5b506105ea600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611ff8565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b8381101561062d578082015181840152602081019050610612565b505050509050019250505060405180910390f35b34801561064d57600080fd5b506106e86004803603810190808035906020019082018035906020019190919293919293908035906020019082018035906020019190919293919293908035906020019082018035906020019190919293919293908035600019169060200190929190803590602001908201803590602001919091929391929390803590602001908201803590602001919091929391929390505050612093565b005b3480156106f657600080fd5b506107396004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506125ea565b604051808215151515815260200191505060405180910390f35b8160008060008360001916600019168152602001908152602001600020600001541415156107e9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f5472616e73616374696f6e20657869737400000000000000000000000000000081525060200191505060405180910390fd5b87600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561088f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b87600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610935576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b6109488a8a8a8a8a8a348b60008061265c565b3373ffffffffffffffffffffffffffffffffffffffff1685600019167fce7089d0668849fb9ca29778c0cbf1e764d9efb048d81fd71fb34c94f26db368346040518082815260200191505060405180910390a350505050505050505050565b80600080600083600019166000191681526020019081526020016000206000015414151515610a3e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737400000000000081525060200191505060405180910390fd5b8160006001811115610a4c57fe5b600080836000191660001916815260200190815260200160002060020160009054906101000a900460ff166001811115610a8257fe5b141515610b1d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001807f5472616e73616374696f6e206973206e6f7420696e2046554e4445442073746181526020017f746500000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b826000806001811115610b2c57fe5b600080846000191660001916815260200190815260200160002060020160019054906101000a900460ff166001811115610b6257fe5b141515610bd7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5472616e73616374696f6e207479706520646f6573206e6f74206d617463680081525060200191505060405180910390fd5b84600080826000191660001916815260200190815260200160002060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610cde576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f54686520696e69746961746f72206f6620746865207472616e73616374696f6e81526020017f206973206e6f742062757965720000000000000000000000000000000000000081525060400191505060405180910390fd5b600034111515610d56576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f56616c7565206d7573742062652067726561746572207468616e207a65726f2e81525060200191505060405180910390fd5b610d8634600080896000191660001916815260200190815260200160002060000154612fe890919063ffffffff16565b600080886000191660001916815260200190815260200160002060000181905550426000808860001916600019168152602001908152602001600020600101819055503373ffffffffffffffffffffffffffffffffffffffff1686600019167ff66fd2ae9e24a6a24b02e1b5b7512ffde5149a4176085fc0298ae228c9b9d729346040518082815260200191505060405180910390a3505050505050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611070578787878787873060405160200180886bffffffffffffffffffffffff19166bffffffffffffffffffffffff191681526014018760ff1660ff167f01000000000000000000000000000000000000000000000000000000000000000281526001018663ffffffff1663ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014019750505050505050506040516020818303038152906040526040518082805190602001908083835b60208310151561103c5780518252602082019150602081019050602083039250611017565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902090506112c5565b878787878787308860405160200180896bffffffffffffffffffffffff19166bffffffffffffffffffffffff191681526014018860ff1660ff167f01000000000000000000000000000000000000000000000000000000000000000281526001018763ffffffff1663ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401985050505050505050506040516020818303038152906040526040518082805190602001908083835b6020831015156112955780518252602082019150602081019050602083039250611270565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902090505b979650505050505050565b6000846000806000836000191660001916815260200190815260200160002060000154141515611368576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f5472616e73616374696f6e20657869737400000000000000000000000000000081525060200191505060405180910390fd5b8a600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561140e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b8a600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156114b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b84600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561155a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b61156d8e8e8e8e8e8e8e8e60018f61265c565b8594508473ffffffffffffffffffffffffffffffffffffffff166323b872dd33308b6040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b15801561164757600080fd5b505af115801561165b573d6000803e3d6000fd5b505050506040513d602081101561167157600080fd5b81019080805190602001909291905050501515611742576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252605d8152602001807f546f6b656e207472616e73666572206661696c65642c206d6179626520796f7581526020017f20646964206e6f7420617070726f766520657363726f7720636f6e747261637481526020017f20746f207370656e64206f6e20626568616c66206f662073656e64657200000081525060600191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff1689600019167fce7089d0668849fb9ca29778c0cbf1e764d9efb048d81fd71fb34c94f26db3688a6040518082815260200191505060405180910390a35050505050505050505050505050565b60006020528060005260406000206000915090508060000154908060010154908060020160009054906101000a900460ff16908060020160019054906101000a900460ff16908060020160029054906101000a900460ff16908060020160039054906101000a900463ffffffff16908060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060050160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508a565b6000806000846000191660001916815260200190815260200160002060080160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6000826000806000836000191660001916815260200190815260200160002060000154141515156119bb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737400000000000081525060200191505060405180910390fd5b83600060018111156119c957fe5b600080836000191660001916815260200190815260200160002060020160009054906101000a900460ff1660018111156119ff57fe5b141515611a9a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001807f5472616e73616374696f6e206973206e6f7420696e2046554e4445442073746181526020017f746500000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b846001806001811115611aa957fe5b600080846000191660001916815260200190815260200160002060020160019054906101000a900460ff166001811115611adf57fe5b141515611b54576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5472616e73616374696f6e207479706520646f6573206e6f74206d617463680081525060200191505060405180910390fd5b86600080826000191660001916815260200190815260200160002060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611c5b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f54686520696e69746961746f72206f6620746865207472616e73616374696f6e81526020017f206973206e6f742062757965720000000000000000000000000000000000000081525060400191505060405180910390fd5b600087111515611cd3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f56616c7565206d7573742062652067726561746572207468616e207a65726f2e81525060200191505060405180910390fd5b600080896000191660001916815260200190815260200160002060040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1695508573ffffffffffffffffffffffffffffffffffffffff166323b872dd6000808b6000191660001916815260200190815260200160002060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff16308a6040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b158015611e2757600080fd5b505af1158015611e3b573d6000803e3d6000fd5b505050506040513d6020811015611e5157600080fd5b81019080805190602001909291905050501515611f22576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252605c8152602001807f546f6b656e207472616e73666572206661696c65642c206d6179626520796f7581526020017f20646964206e6f7420617070726f766520657363726f7720636f6e747261637481526020017f20746f207370656e64206f6e20626568616c66206f662062757965720000000081525060600191505060405180910390fd5b611f52876000808b6000191660001916815260200190815260200160002060000154612fe890919063ffffffff16565b6000808a6000191660001916815260200190815260200160002060000181905550426000808a60001916600019168152602001908152602001600020600101819055503373ffffffffffffffffffffffffffffffffffffffff1688600019167ff66fd2ae9e24a6a24b02e1b5b7512ffde5149a4176085fc0298ae228c9b9d729896040518082815260200191505060405180910390a35050505050505050565b60015481565b6060600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080548060200260200160405190810160405280929190818152602001828054801561208757602002820191906000526020600020905b8154600019168152602001906001019080831161206f575b50505050509050919050565b8460008060008360001916600019168152602001908152602001600020600001541415151561212a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737400000000000081525060200191505060405180910390fd5b856000600181111561213857fe5b600080836000191660001916815260200190815260200160002060020160009054906101000a900460ff16600181111561216e57fe5b141515612209576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001807f5472616e73616374696f6e206973206e6f7420696e2046554e4445442073746181526020017f746500000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b60008686905011801561222157508383905086869050145b15156122bb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001807f4c656e677468206f662064657374696e6174696f6e7320697320696e636f727281526020017f6563742e0000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b6123b48d8d808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508c8c808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508b8b808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508a8a8a80806020026020016040519081016040528093929190818152602001838360200280828437820191505050505050898980806020026020016040519081016040528093929190818152602001838360200280828437820191505050505050613009565b6001600080896000191660001916815260200190815260200160002060020160006101000a81548160ff021916908360018111156123ee57fe5b02179055504260008089600019166000191681526020019081526020016000206001018190555060008088600019166000191681526020019081526020016000206000015461249c888888808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508787808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050506131ea565b14151561255d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260488152602001807f546f74616c2076616c756520746f2062652072656c6561736564206d7573742081526020017f626520657175616c20746f20746865207472616e73616374696f6e206573637281526020017f6f772076616c756500000000000000000000000000000000000000000000000081525060600191505060405180910390fd5b86600019167f688e2a1b34445bcd47b0e11ba2a9c8c4d850a1831b64199b59d1c70e29701545878787876040518080602001806020018381038352878782818152602001925060200280828437820191505083810382528585828181526020019250602002808284378201915050965050505050505060405180910390a250505050505050505050505050565b6000806000846000191660001916815260200190815260200160002060070160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b8873ffffffffffffffffffffffffffffffffffffffff168a73ffffffffffffffffffffffffffffffffffffffff1614151515612700576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f427579657220616e642073656c6c6572206172652073616d650000000000000081525060200191505060405180910390fd5b600084111515612778576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f56616c756520706173736564206973203000000000000000000000000000000081525060200191505060405180910390fd5b60008760ff1611801561278f575060038760ff1611155b1515612829576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603d8152602001807f5468726573686f6c642063616e6e6f742062652067726561746572207468616e81526020017f203320616e64206d7573742062652067726561746572207468616e203000000081525060400191505060405180910390fd5b60018760ff1614806128685750600073ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff1614155b1515612928576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260488152602001807f456974686572207468726573686f6c642073686f756c642062652031206f722081526020017f76616c6964206d6f64657261746f7220616464726573732073686f756c64206281526020017f652070617373656400000000000000000000000000000000000000000000000081525060600191505060405180910390fd5b6129378388888d8d8d87610e24565b6000191685600019161415156129db576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260398152602001807f43616c63756c6174656420736372697074206861736820646f6573206e6f742081526020017f6d61746368207061737365642073637269707420686173682e0000000000000081525060400191505060405180910390fd5b6101406040519081016040528085815260200142815260200160006001811115612a0157fe5b8152602001836001811115612a1257fe5b81526020018860ff1681526020018763ffffffff1681526020018b73ffffffffffffffffffffffffffffffffffffffff1681526020018a73ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020018973ffffffffffffffffffffffffffffffffffffffff168152506000808760001916600019168152602001908152602001600020600082015181600001556020820151816001015560408201518160020160006101000a81548160ff02191690836001811115612aec57fe5b021790555060608201518160020160016101000a81548160ff02191690836001811115612b1557fe5b021790555060808201518160020160026101000a81548160ff021916908360ff16021790555060a08201518160020160036101000a81548163ffffffff021916908363ffffffff16021790555060c08201518160020160076101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060e08201518160030160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506101008201518160040160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506101208201518160050160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055509050506001600080876000191660001916815260200190815260200160002060060160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600080876000191660001916815260200190815260200160002060060160008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600080866000191660001916815260200190815260200160002060060160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151515612e6c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f456974686572206275796572206f722073656c6c65722069732070617373656481526020017f206173206d6f64657261746f720000000000000000000000000000000000000081525060400191505060405180910390fd5b60018760ff161115612eec576001600080876000191660001916815260200190815260200160002060060160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b600160008154809291906001019190505550600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020859080600181540180825580915050906001820390600052602060002001600090919290919091509060001916905550600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002085908060018154018082558091505090600182039060005260206000200160009091929091909150906000191690555050505050505050505050565b6000808284019050838110151515612fff57600080fd5b8091505092915050565b60008061301a8888888888886139d2565b9150613070600080876000191660001916815260200190815260200160002060020160039054906101000a900463ffffffff1660008088600019166000191681526020019081526020016000206001015461404b565b9050600080866000191660001916815260200190815260200160002060020160029054906101000a900460ff1660ff16885110801561312157508015806131205750600080866000191660001916815260200190815260200160002060030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b5b156131e0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260588152602001807f4d696e696d756d206e756d626572206f66207369676e6174757265732061726581526020017f206e6f7420636f6c6c656374656420616e642074696d65206c6f636b2065787081526020017f69727920636f6e646974696f6e73206e6f74206d65742121000000000000000081525060600191505060405180910390fd5b5050505050505050565b6000806000806000806000808a600019166000191681526020019081526020016000209450600093506000600181111561322057fe5b8560020160019054906101000a900460ff16600181111561323d57fe5b141561355457600092505b875183101561354f57600073ffffffffffffffffffffffffffffffffffffffff16888481518110151561327757fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1614158015613307575084600601600089858151811015156132b457fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b151561337b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f4e6f7420612076616c69642064657374696e6174696f6e00000000000000000081525060200191505060405180910390fd5b6000878481518110151561338b57fe5b90602001906020020151111515613430576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001807f416d6f756e7420746f2062652073656e742073686f756c64206265206772656181526020017f746572207468616e20300000000000000000000000000000000000000000000081525060400191505060405180910390fd5b61345a878481518110151561344157fe5b9060200190602002015185612fe890919063ffffffff16565b935060018560080160008a8681518110151561347257fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555087838151811015156134db57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff166108fc888581518110151561350c57fe5b906020019060200201519081150290604051600060405180830381858888f19350505050158015613541573d6000803e3d6000fd5b508280600101935050613248565b6139c3565b60018081111561356057fe5b8560020160019054906101000a900460ff16600181111561357d57fe5b14156139c2578460040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169150600090505b87518110156139c157600073ffffffffffffffffffffffffffffffffffffffff1688828151811015156135de57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff161415801561366e5750846006016000898381518110151561361b57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15156136e2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f4e6f7420612076616c69642064657374696e6174696f6e00000000000000000081525060200191505060405180910390fd5b600087828151811015156136f257fe5b90602001906020020151111515613797576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001807f416d6f756e7420746f2062652073656e742073686f756c64206265206772656181526020017f746572207468616e20300000000000000000000000000000000000000000000081525060400191505060405180910390fd5b6137c187828151811015156137a857fe5b9060200190602002015185612fe890919063ffffffff16565b935060018560080160008a848151811015156137d957fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb898381518110151561385e57fe5b90602001906020020151898481518110151561387657fe5b906020019060200201516040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15801561390557600080fd5b505af1158015613919573d6000803e3d6000fd5b505050506040513d602081101561392f57600080fd5b810190808051906020019092919050505015156139b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f546f6b656e207472616e73666572206661696c65642e0000000000000000000081525060200191505060405180910390fd5b80806001019150506135af565b5b5b83955050505050509392505050565b600080600080600088518a511480156139ec57508a518a51145b1515613a60576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f522c532c56206c656e677468206d69736d617463682e0000000000000000000081525060200191505060405180910390fd5b60197f01000000000000000000000000000000000000000000000000000000000000000260007f0100000000000000000000000000000000000000000000000000000000000000023089898c60405160200180877effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168152600101867effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526001018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401848051906020019060200280838360005b83811015613bb4578082015181840152602081019050613b99565b50505050905001838051906020019060200280838360005b83811015613be7578082015181840152602081019050613bcc565b50505050905001826000191660001916815260200196505050505050506040516020818303038152906040526040518082805190602001908083835b602083101515613c485780518252602082019150602081019050602083039250613c23565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902060405160200180807f19457468657265756d205369676e6564204d6573736167653a0a333200000000815250601c0182600019166000191681526020019150506040516020818303038152906040526040518082805190602001908083835b602083101515613cf95780518252602082019150602081019050602083039250613cd4565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390209250600091505b895182101561403a576001838c84815181101515613d4757fe5b906020019060200201518c85815181101515613d5f57fe5b906020019060200201518c86815181101515613d7757fe5b90602001906020020151604051600081526020016040526040518085600019166000191681526020018460ff1660ff1681526020018360001916600019168152602001826000191660001916815260200194505050505060206040516020810390808403906000865af1158015613df2573d6000803e3d6000fd5b505050602060405103519050600080896000191660001916815260200190815260200160002060060160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515613eda576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f496e76616c6964207369676e617475726500000000000000000000000000000081525060200191505060405180910390fd5b600080896000191660001916815260200190815260200160002060070160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151515613fb7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f53616d65207369676e61747572652073656e742074776963650000000000000081525060200191505060405180910390fd5b60016000808a6000191660001916815260200190815260200160002060070160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508093508180600101925050613d2d565b839450505050509695505050505050565b600080614061834261409f90919063ffffffff16565b905060008463ffffffff16146140935761408c610e108563ffffffff166140c090919063ffffffff16565b8111614096565b60005b91505092915050565b6000808383111515156140b157600080fd5b82840390508091505092915050565b60008060008414156140d557600091506140f7565b82840290508284828115156140e657fe5b041415156140f357600080fd5b8091505b50929150505600a165627a7a7230582056449166ebc9bc6b8305eb676fc45eadbffbc60a0b986d3cddacc99bd099f4b60029", + "deployedBytecode": "0x6080604052600436106100af576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806323b6fd3f146100b45780632d9ef96e1461016e57806346fbcdeb1461019257806357bced7614610287578063642f2eaf14610378578063b0550c66146104da578063b719e28014610543578063b77bf6001461057e578063be84ceaf146105a9578063e4ec8b0014610641578063f0786562146106ea575b600080fd5b61016c600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff169060200190929190803563ffffffff169060200190929190803560001916906020019092919080356bffffffffffffffffffffffff19169060200190929190505050610753565b005b61019060048036038101908080356000191690602001909291905050506109a7565b005b34801561019e57600080fd5b5061026960048036038101908080356bffffffffffffffffffffffff19169060200190929190803560ff169060200190929190803563ffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610e24565b60405180826000191660001916815260200191505060405180910390f35b34801561029357600080fd5b50610376600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff169060200190929190803563ffffffff16906020019092919080356000191690602001909291908035906020019092919080356bffffffffffffffffffffffff19169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506112d0565b005b34801561038457600080fd5b506103a760048036038101908080356000191690602001909291905050506117a5565b604051808b81526020018a81526020018960018111156103c357fe5b60ff1681526020018860018111156103d757fe5b60ff1681526020018760ff1660ff1681526020018663ffffffff1663ffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019a505050505050505050505060405180910390f35b3480156104e657600080fd5b506105296004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506118b0565b604051808215151515815260200191505060405180910390f35b34801561054f57600080fd5b5061057c600480360381019080803560001916906020019092919080359060200190929190505050611922565b005b34801561058a57600080fd5b50610593611ff2565b6040518082815260200191505060405180910390f35b3480156105b557600080fd5b506105ea600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611ff8565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b8381101561062d578082015181840152602081019050610612565b505050509050019250505060405180910390f35b34801561064d57600080fd5b506106e86004803603810190808035906020019082018035906020019190919293919293908035906020019082018035906020019190919293919293908035906020019082018035906020019190919293919293908035600019169060200190929190803590602001908201803590602001919091929391929390803590602001908201803590602001919091929391929390505050612093565b005b3480156106f657600080fd5b506107396004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506125ea565b604051808215151515815260200191505060405180910390f35b8160008060008360001916600019168152602001908152602001600020600001541415156107e9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f5472616e73616374696f6e20657869737400000000000000000000000000000081525060200191505060405180910390fd5b87600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561088f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b87600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610935576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b6109488a8a8a8a8a8a348b60008061265c565b3373ffffffffffffffffffffffffffffffffffffffff1685600019167fce7089d0668849fb9ca29778c0cbf1e764d9efb048d81fd71fb34c94f26db368346040518082815260200191505060405180910390a350505050505050505050565b80600080600083600019166000191681526020019081526020016000206000015414151515610a3e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737400000000000081525060200191505060405180910390fd5b8160006001811115610a4c57fe5b600080836000191660001916815260200190815260200160002060020160009054906101000a900460ff166001811115610a8257fe5b141515610b1d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001807f5472616e73616374696f6e206973206e6f7420696e2046554e4445442073746181526020017f746500000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b826000806001811115610b2c57fe5b600080846000191660001916815260200190815260200160002060020160019054906101000a900460ff166001811115610b6257fe5b141515610bd7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5472616e73616374696f6e207479706520646f6573206e6f74206d617463680081525060200191505060405180910390fd5b84600080826000191660001916815260200190815260200160002060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610cde576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f54686520696e69746961746f72206f6620746865207472616e73616374696f6e81526020017f206973206e6f742062757965720000000000000000000000000000000000000081525060400191505060405180910390fd5b600034111515610d56576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f56616c7565206d7573742062652067726561746572207468616e207a65726f2e81525060200191505060405180910390fd5b610d8634600080896000191660001916815260200190815260200160002060000154612fe890919063ffffffff16565b600080886000191660001916815260200190815260200160002060000181905550426000808860001916600019168152602001908152602001600020600101819055503373ffffffffffffffffffffffffffffffffffffffff1686600019167ff66fd2ae9e24a6a24b02e1b5b7512ffde5149a4176085fc0298ae228c9b9d729346040518082815260200191505060405180910390a3505050505050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611070578787878787873060405160200180886bffffffffffffffffffffffff19166bffffffffffffffffffffffff191681526014018760ff1660ff167f01000000000000000000000000000000000000000000000000000000000000000281526001018663ffffffff1663ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014019750505050505050506040516020818303038152906040526040518082805190602001908083835b60208310151561103c5780518252602082019150602081019050602083039250611017565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902090506112c5565b878787878787308860405160200180896bffffffffffffffffffffffff19166bffffffffffffffffffffffff191681526014018860ff1660ff167f01000000000000000000000000000000000000000000000000000000000000000281526001018763ffffffff1663ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401985050505050505050506040516020818303038152906040526040518082805190602001908083835b6020831015156112955780518252602082019150602081019050602083039250611270565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902090505b979650505050505050565b6000846000806000836000191660001916815260200190815260200160002060000154141515611368576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f5472616e73616374696f6e20657869737400000000000000000000000000000081525060200191505060405180910390fd5b8a600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561140e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b8a600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156114b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b84600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561155a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b61156d8e8e8e8e8e8e8e8e60018f61265c565b8594508473ffffffffffffffffffffffffffffffffffffffff166323b872dd33308b6040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b15801561164757600080fd5b505af115801561165b573d6000803e3d6000fd5b505050506040513d602081101561167157600080fd5b81019080805190602001909291905050501515611742576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252605d8152602001807f546f6b656e207472616e73666572206661696c65642c206d6179626520796f7581526020017f20646964206e6f7420617070726f766520657363726f7720636f6e747261637481526020017f20746f207370656e64206f6e20626568616c66206f662073656e64657200000081525060600191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff1689600019167fce7089d0668849fb9ca29778c0cbf1e764d9efb048d81fd71fb34c94f26db3688a6040518082815260200191505060405180910390a35050505050505050505050505050565b60006020528060005260406000206000915090508060000154908060010154908060020160009054906101000a900460ff16908060020160019054906101000a900460ff16908060020160029054906101000a900460ff16908060020160039054906101000a900463ffffffff16908060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060050160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508a565b6000806000846000191660001916815260200190815260200160002060080160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6000826000806000836000191660001916815260200190815260200160002060000154141515156119bb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737400000000000081525060200191505060405180910390fd5b83600060018111156119c957fe5b600080836000191660001916815260200190815260200160002060020160009054906101000a900460ff1660018111156119ff57fe5b141515611a9a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001807f5472616e73616374696f6e206973206e6f7420696e2046554e4445442073746181526020017f746500000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b846001806001811115611aa957fe5b600080846000191660001916815260200190815260200160002060020160019054906101000a900460ff166001811115611adf57fe5b141515611b54576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5472616e73616374696f6e207479706520646f6573206e6f74206d617463680081525060200191505060405180910390fd5b86600080826000191660001916815260200190815260200160002060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611c5b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f54686520696e69746961746f72206f6620746865207472616e73616374696f6e81526020017f206973206e6f742062757965720000000000000000000000000000000000000081525060400191505060405180910390fd5b600087111515611cd3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f56616c7565206d7573742062652067726561746572207468616e207a65726f2e81525060200191505060405180910390fd5b600080896000191660001916815260200190815260200160002060040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1695508573ffffffffffffffffffffffffffffffffffffffff166323b872dd6000808b6000191660001916815260200190815260200160002060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff16308a6040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b158015611e2757600080fd5b505af1158015611e3b573d6000803e3d6000fd5b505050506040513d6020811015611e5157600080fd5b81019080805190602001909291905050501515611f22576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252605c8152602001807f546f6b656e207472616e73666572206661696c65642c206d6179626520796f7581526020017f20646964206e6f7420617070726f766520657363726f7720636f6e747261637481526020017f20746f207370656e64206f6e20626568616c66206f662062757965720000000081525060600191505060405180910390fd5b611f52876000808b6000191660001916815260200190815260200160002060000154612fe890919063ffffffff16565b6000808a6000191660001916815260200190815260200160002060000181905550426000808a60001916600019168152602001908152602001600020600101819055503373ffffffffffffffffffffffffffffffffffffffff1688600019167ff66fd2ae9e24a6a24b02e1b5b7512ffde5149a4176085fc0298ae228c9b9d729896040518082815260200191505060405180910390a35050505050505050565b60015481565b6060600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080548060200260200160405190810160405280929190818152602001828054801561208757602002820191906000526020600020905b8154600019168152602001906001019080831161206f575b50505050509050919050565b8460008060008360001916600019168152602001908152602001600020600001541415151561212a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737400000000000081525060200191505060405180910390fd5b856000600181111561213857fe5b600080836000191660001916815260200190815260200160002060020160009054906101000a900460ff16600181111561216e57fe5b141515612209576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001807f5472616e73616374696f6e206973206e6f7420696e2046554e4445442073746181526020017f746500000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b60008686905011801561222157508383905086869050145b15156122bb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001807f4c656e677468206f662064657374696e6174696f6e7320697320696e636f727281526020017f6563742e0000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b6123b48d8d808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508c8c808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508b8b808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508a8a8a80806020026020016040519081016040528093929190818152602001838360200280828437820191505050505050898980806020026020016040519081016040528093929190818152602001838360200280828437820191505050505050613009565b6001600080896000191660001916815260200190815260200160002060020160006101000a81548160ff021916908360018111156123ee57fe5b02179055504260008089600019166000191681526020019081526020016000206001018190555060008088600019166000191681526020019081526020016000206000015461249c888888808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508787808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050506131ea565b14151561255d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260488152602001807f546f74616c2076616c756520746f2062652072656c6561736564206d7573742081526020017f626520657175616c20746f20746865207472616e73616374696f6e206573637281526020017f6f772076616c756500000000000000000000000000000000000000000000000081525060600191505060405180910390fd5b86600019167f688e2a1b34445bcd47b0e11ba2a9c8c4d850a1831b64199b59d1c70e29701545878787876040518080602001806020018381038352878782818152602001925060200280828437820191505083810382528585828181526020019250602002808284378201915050965050505050505060405180910390a250505050505050505050505050565b6000806000846000191660001916815260200190815260200160002060070160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b8873ffffffffffffffffffffffffffffffffffffffff168a73ffffffffffffffffffffffffffffffffffffffff1614151515612700576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f427579657220616e642073656c6c6572206172652073616d650000000000000081525060200191505060405180910390fd5b600084111515612778576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f56616c756520706173736564206973203000000000000000000000000000000081525060200191505060405180910390fd5b60008760ff1611801561278f575060038760ff1611155b1515612829576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603d8152602001807f5468726573686f6c642063616e6e6f742062652067726561746572207468616e81526020017f203320616e64206d7573742062652067726561746572207468616e203000000081525060400191505060405180910390fd5b60018760ff1614806128685750600073ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff1614155b1515612928576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260488152602001807f456974686572207468726573686f6c642073686f756c642062652031206f722081526020017f76616c6964206d6f64657261746f7220616464726573732073686f756c64206281526020017f652070617373656400000000000000000000000000000000000000000000000081525060600191505060405180910390fd5b6129378388888d8d8d87610e24565b6000191685600019161415156129db576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260398152602001807f43616c63756c6174656420736372697074206861736820646f6573206e6f742081526020017f6d61746368207061737365642073637269707420686173682e0000000000000081525060400191505060405180910390fd5b6101406040519081016040528085815260200142815260200160006001811115612a0157fe5b8152602001836001811115612a1257fe5b81526020018860ff1681526020018763ffffffff1681526020018b73ffffffffffffffffffffffffffffffffffffffff1681526020018a73ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020018973ffffffffffffffffffffffffffffffffffffffff168152506000808760001916600019168152602001908152602001600020600082015181600001556020820151816001015560408201518160020160006101000a81548160ff02191690836001811115612aec57fe5b021790555060608201518160020160016101000a81548160ff02191690836001811115612b1557fe5b021790555060808201518160020160026101000a81548160ff021916908360ff16021790555060a08201518160020160036101000a81548163ffffffff021916908363ffffffff16021790555060c08201518160020160076101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060e08201518160030160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506101008201518160040160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506101208201518160050160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055509050506001600080876000191660001916815260200190815260200160002060060160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600080876000191660001916815260200190815260200160002060060160008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600080866000191660001916815260200190815260200160002060060160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151515612e6c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f456974686572206275796572206f722073656c6c65722069732070617373656481526020017f206173206d6f64657261746f720000000000000000000000000000000000000081525060400191505060405180910390fd5b60018760ff161115612eec576001600080876000191660001916815260200190815260200160002060060160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b600160008154809291906001019190505550600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020859080600181540180825580915050906001820390600052602060002001600090919290919091509060001916905550600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002085908060018154018082558091505090600182039060005260206000200160009091929091909150906000191690555050505050505050505050565b6000808284019050838110151515612fff57600080fd5b8091505092915050565b60008061301a8888888888886139d2565b9150613070600080876000191660001916815260200190815260200160002060020160039054906101000a900463ffffffff1660008088600019166000191681526020019081526020016000206001015461404b565b9050600080866000191660001916815260200190815260200160002060020160029054906101000a900460ff1660ff16885110801561312157508015806131205750600080866000191660001916815260200190815260200160002060030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b5b156131e0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260588152602001807f4d696e696d756d206e756d626572206f66207369676e6174757265732061726581526020017f206e6f7420636f6c6c656374656420616e642074696d65206c6f636b2065787081526020017f69727920636f6e646974696f6e73206e6f74206d65742121000000000000000081525060600191505060405180910390fd5b5050505050505050565b6000806000806000806000808a600019166000191681526020019081526020016000209450600093506000600181111561322057fe5b8560020160019054906101000a900460ff16600181111561323d57fe5b141561355457600092505b875183101561354f57600073ffffffffffffffffffffffffffffffffffffffff16888481518110151561327757fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1614158015613307575084600601600089858151811015156132b457fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b151561337b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f4e6f7420612076616c69642064657374696e6174696f6e00000000000000000081525060200191505060405180910390fd5b6000878481518110151561338b57fe5b90602001906020020151111515613430576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001807f416d6f756e7420746f2062652073656e742073686f756c64206265206772656181526020017f746572207468616e20300000000000000000000000000000000000000000000081525060400191505060405180910390fd5b61345a878481518110151561344157fe5b9060200190602002015185612fe890919063ffffffff16565b935060018560080160008a8681518110151561347257fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555087838151811015156134db57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff166108fc888581518110151561350c57fe5b906020019060200201519081150290604051600060405180830381858888f19350505050158015613541573d6000803e3d6000fd5b508280600101935050613248565b6139c3565b60018081111561356057fe5b8560020160019054906101000a900460ff16600181111561357d57fe5b14156139c2578460040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169150600090505b87518110156139c157600073ffffffffffffffffffffffffffffffffffffffff1688828151811015156135de57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff161415801561366e5750846006016000898381518110151561361b57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15156136e2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f4e6f7420612076616c69642064657374696e6174696f6e00000000000000000081525060200191505060405180910390fd5b600087828151811015156136f257fe5b90602001906020020151111515613797576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001807f416d6f756e7420746f2062652073656e742073686f756c64206265206772656181526020017f746572207468616e20300000000000000000000000000000000000000000000081525060400191505060405180910390fd5b6137c187828151811015156137a857fe5b9060200190602002015185612fe890919063ffffffff16565b935060018560080160008a848151811015156137d957fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb898381518110151561385e57fe5b90602001906020020151898481518110151561387657fe5b906020019060200201516040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15801561390557600080fd5b505af1158015613919573d6000803e3d6000fd5b505050506040513d602081101561392f57600080fd5b810190808051906020019092919050505015156139b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f546f6b656e207472616e73666572206661696c65642e0000000000000000000081525060200191505060405180910390fd5b80806001019150506135af565b5b5b83955050505050509392505050565b600080600080600088518a511480156139ec57508a518a51145b1515613a60576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f522c532c56206c656e677468206d69736d617463682e0000000000000000000081525060200191505060405180910390fd5b60197f01000000000000000000000000000000000000000000000000000000000000000260007f0100000000000000000000000000000000000000000000000000000000000000023089898c60405160200180877effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168152600101867effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526001018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401848051906020019060200280838360005b83811015613bb4578082015181840152602081019050613b99565b50505050905001838051906020019060200280838360005b83811015613be7578082015181840152602081019050613bcc565b50505050905001826000191660001916815260200196505050505050506040516020818303038152906040526040518082805190602001908083835b602083101515613c485780518252602082019150602081019050602083039250613c23565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902060405160200180807f19457468657265756d205369676e6564204d6573736167653a0a333200000000815250601c0182600019166000191681526020019150506040516020818303038152906040526040518082805190602001908083835b602083101515613cf95780518252602082019150602081019050602083039250613cd4565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390209250600091505b895182101561403a576001838c84815181101515613d4757fe5b906020019060200201518c85815181101515613d5f57fe5b906020019060200201518c86815181101515613d7757fe5b90602001906020020151604051600081526020016040526040518085600019166000191681526020018460ff1660ff1681526020018360001916600019168152602001826000191660001916815260200194505050505060206040516020810390808403906000865af1158015613df2573d6000803e3d6000fd5b505050602060405103519050600080896000191660001916815260200190815260200160002060060160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515613eda576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f496e76616c6964207369676e617475726500000000000000000000000000000081525060200191505060405180910390fd5b600080896000191660001916815260200190815260200160002060070160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151515613fb7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f53616d65207369676e61747572652073656e742074776963650000000000000081525060200191505060405180910390fd5b60016000808a6000191660001916815260200190815260200160002060070160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508093508180600101925050613d2d565b839450505050509695505050505050565b600080614061834261409f90919063ffffffff16565b905060008463ffffffff16146140935761408c610e108563ffffffff166140c090919063ffffffff16565b8111614096565b60005b91505092915050565b6000808383111515156140b157600080fd5b82840390508091505092915050565b60008060008414156140d557600091506140f7565b82840290508284828115156140e657fe5b041415156140f357600080fd5b8091505b50929150505600a165627a7a7230582056449166ebc9bc6b8305eb676fc45eadbffbc60a0b986d3cddacc99bd099f4b60029", + "sourceMap": "460:20145:0:-;;;1653:1;1619:35;;460:20145;8:9:-1;5:2;;;30:1;27;20:12;5:2;460:20145:0;;;;;;;", + "deployedSourceMap": "460:20145:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3702:701;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7590:579;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11838:1017;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11838:1017:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5337:1030;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5337:1030:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1561:51;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1561:51:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6608:221;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6608:221:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8497:897;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8497:897:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1619:35;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1619:35:0;;;;;;;;;;;;;;;;;;;;;;;9511:194;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9511:194:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;9511:194:0;;;;;;;;;;;;;;;;;10303:1064;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10303:1064:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7069:194;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7069:194:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3702:701;3979:10;2077:1;2043:12;:24;2056:10;2043:24;;;;;;;;;;;;;;;;;:30;;;:35;2035:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4014:5;2410:1;2384:28;;:14;:28;;;;2376:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4044:6;2410:1;2384:28;;:14;:28;;;;2376:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4066:264;4095:5;4114:6;4134:9;4157;4180:12;4206:10;4230:9;4253:8;4275:21;4318:1;4066:15;:264::i;:::-;4373:10;4354:41;;4361:10;4354:41;;;;4385:9;4354:41;;;;;;;;;;;;;;;;;;2446:1;2110;3702:701;;;;;;;;:::o;7590:579::-;7713:10;1907:1;1873:12;:24;1886:10;1873:24;;;;;;;;;;;;;;;;;:30;;;:35;;1852:96;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7747:10;2233:13;2198:48;;;;;;;;:12;:24;2211:10;2198:24;;;;;;;;;;;;;;;;;:31;;;;;;;;;;;;:48;;;;;;;;;2177:117;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7788:10;7800:21;2644:15;2600:59;;;;;;;;:12;:24;2613:10;2600:24;;;;;;;;;;;;;;;;;:40;;;;;;;;;;;;:59;;;;;;;;;2579:125;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7841:10;2812:12;:24;2825:10;2812:24;;;;;;;;;;;;;;;;;:30;;;;;;;;;;;;2798:44;;:10;:44;;;2777:124;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7897:1;7885:9;:13;7877:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7979;8027:9;7979:12;:24;7992:10;7979:24;;;;;;;;;;;;;;;;;:30;;;:47;;:58;;;;:::i;:::-;7946:12;:24;7959:10;7946:24;;;;;;;;;;;;;;;;;:30;;:91;;;;8087:15;8047:12;:24;8060:10;8047:24;;;;;;;;;;;;;;;;;:37;;:55;;;;8140:10;8118:44;;8128:10;8118:44;;;;8152:9;8118:44;;;;;;;;;;;;;;;;;;2714:1;2304;;1958;7590:579;;:::o;11838:1017::-;12108:7;12159:1;12135:26;;:12;:26;;;12131:718;;;12249:8;12279:9;12310:12;12344:5;12371:6;12399:9;12438:4;12211:250;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;12211:250:0;;;12184:291;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;12184:291:0;;;;;;;;;;;;;;;;12177:298;;;;12131:718;12578:8;12608:9;12639:12;12673:5;12700:6;12728:9;12767:4;12794:12;12540:284;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;12540:284:0;;;12513:325;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;12513:325:0;;;;;;;;;;;;;;;;12506:332;;11838:1017;;;;;;;;;;:::o;5337:1030::-;6054:20;5656:10;2077:1;2043:12;:24;2056:10;2043:24;;;;;;;;;;;;;;;;;:30;;;:35;2035:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5691:5;2410:1;2384:28;;:14;:28;;;;2376:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5721:6;2410:1;2384:28;;:14;:28;;;;2376:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5752:12;2410:1;2384:28;;:14;:28;;;;2376:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5781:262;5810:5;5829:6;5849:9;5872;5895:12;5921:10;5945:5;5964:8;5986:21;6021:12;5781:15;:262::i;:::-;6092:12;6054:51;;6137:5;:18;;;6156:10;6176:4;6183:5;6137:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6137:52:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6137:52:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6137:52:0;;;;;;;;;;;;;;;;6116:192;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6342:10;6323:37;;6330:10;6323:37;;;;6354:5;6323:37;;;;;;;;;;;;;;;;;;2446:1;;2110;5337:1030;;;;;;;;;;;:::o;1561:51::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;6608:221::-;6744:4;6771:12;:24;6784:10;6771:24;;;;;;;;;;;;;;;;;:38;;:51;6810:11;6771:51;;;;;;;;;;;;;;;;;;;;;;;;;6764:58;;6608:221;;;;:::o;8497:897::-;8848:20;8628:10;1907:1;1873:12;:24;1886:10;1873:24;;;;;;;;;;;;;;;;;:30;;;:35;;1852:96;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8662:10;2233:13;2198:48;;;;;;;;:12;:24;2211:10;2198:24;;;;;;;;;;;;;;;;;:31;;;;;;;;;;;;:48;;;;;;;;;2177:117;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8703:10;8715:21;2644:15;2600:59;;;;;;;;:12;:24;2613:10;2600:24;;;;;;;;;;;;;;;;;:40;;;;;;;;;;;;:59;;;;;;;;;2579:125;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8756:10;2812:12;:24;2825:10;2812:24;;;;;;;;;;;;;;;;;:30;;;;;;;;;;;;2798:44;;:10;:44;;;2777:124;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8799:1;8791:5;:9;8783:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8899:12;:24;8912:10;8899:24;;;;;;;;;;;;;;;;;:37;;;;;;;;;;;;8848:98;;8978:5;:18;;;8997:12;:24;9010:10;8997:24;;;;;;;;;;;;;;;;;:30;;;;;;;;;;;;9037:4;9044:5;8978:72;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8978:72:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;8978:72:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;8978:72:0;;;;;;;;;;;;;;;;8957:211;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9212:54;9260:5;9212:12;:24;9225:10;9212:24;;;;;;;;;;;;;;;;;:30;;;:47;;:54;;;;:::i;:::-;9179:12;:24;9192:10;9179:24;;;;;;;;;;;;;;;;;:30;;:87;;;;9316:15;9276:12;:24;9289:10;9276:24;;;;;;;;;;;;;;;;;:37;;:55;;;;9369:10;9347:40;;9357:10;9347:40;;;;9381:5;9347:40;;;;;;;;;;;;;;;;;;2714:1;2304;;1958;8497:897;;;;:::o;1619:35::-;;;;:::o;9511:194::-;9633:9;9666:18;:32;9685:12;9666:32;;;;;;;;;;;;;;;9659:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9511:194;;;:::o;10303:1064::-;10525:10;1907:1;1873:12;:24;1886:10;1873:24;;;;;;;;;;;;;;;;;:30;;;:35;;1852:96;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10559:10;2233:13;2198:48;;;;;;;;:12;:24;2211:10;2198:24;;;;;;;;;;;;;;;;;:31;;;;;;;;;;;;:48;;;;;;;;;2177:117;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10626:1;10606:12;;:19;;:21;:62;;;;;10654:7;;:14;;10631:12;;:19;;:37;10606:62;10585:133;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10729:153;10761:4;;10729:153;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10779:4;;10729:153;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10797:4;;10729:153;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10815:10;10839:12;;10729:153;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10865:7;;10729:153;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:18;:153::i;:::-;10927:15;10893:12;:24;10906:10;10893:24;;;;;;;;;;;;;;;;;:31;;;:49;;;;;;;;;;;;;;;;;;;;;;;;11066:15;11026:12;:24;11039:10;11026:24;;;;;;;;;;;;;;;;;:37;;:55;;;;11165:12;:24;11178:10;11165:24;;;;;;;;;;;;;;;;;:30;;;11112:49;11127:10;11139:12;;11112:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11153:7;;11112:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:14;:49::i;:::-;:83;11091:202;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11326:10;11317:43;;;;11338:12;;11352:7;;11317:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1958:1;10303:1064;;;;;;;;;;;;:::o;7069:194::-;7192:4;7219:12;:24;7232:10;7219:24;;;;;;;;;;;;;;;;;:30;;:37;7250:5;7219:37;;;;;;;;;;;;;;;;;;;;;;;;;7212:44;;7069:194;;;;:::o;17962:2641::-;18324:6;18315:15;;:5;:15;;;;18307:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18435:1;18427:5;:9;18419:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18573:1;18561:9;:13;;;:31;;;;;18591:1;18578:9;:14;;;;18561:31;18540:140;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18974:1;18961:9;:14;;;:41;;;;19000:1;18979:23;;:9;:23;;;;18961:41;18940:160;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19146:226;19189:8;19215:9;19242:12;19272:5;19295:6;19319:9;19346:12;19146:25;:226::i;:::-;19132:240;;;:10;:240;;;;19111:345;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19494:373;;;;;;;;;19615:5;19494:373;;;;19683:15;19494:373;;;;19642:13;19494:373;;;;;;;;;;;;19802:15;19494:373;;;;;;;;;;;;19723:9;19494:373;;;;;;19760:12;19494:373;;;;;;19527:5;19494:373;;;;;;19554:6;19494:373;;;;;;19844:12;19494:373;;;;;;19585:9;19494:373;;;;;19467:12;:24;19480:10;19467:24;;;;;;;;;;;;;;;;;:400;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19921:4;19878:12;:24;19891:10;19878:24;;;;;;;;;;;;;;;;;:32;;:40;19911:6;19878:40;;;;;;;;;;;;;;;;:47;;;;;;;;;;;;;;;;;;19977:4;19935:12;:24;19948:10;19935:24;;;;;;;;;;;;;;;;;:32;;:39;19968:5;19935:39;;;;;;;;;;;;;;;;:46;;;;;;;;;;;;;;;;;;20089:12;:24;20102:10;20089:24;;;;;;;;;;;;;;;;;:32;;:43;20122:9;20089:43;;;;;;;;;;;;;;;;;;;;;;;;;20088:44;20067:137;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20376:1;20364:9;:13;;;20360:94;;;20439:4;20393:12;:24;20406:10;20393:24;;;;;;;;;;;;;;;;;:32;;:43;20426:9;20393:43;;;;;;;;;;;;;;;;:50;;;;;;;;;;;;;;;;;;20360:94;20472:16;;:18;;;;;;;;;;;;;20501;:25;20520:5;20501:25;;;;;;;;;;;;;;;20532:10;20501:42;;39:1:-1;33:3;27:10;23:18;57:10;52:3;45:23;79:10;72:17;;0:93;20501:42:0;;;;;;;;;;;;;;;;;;;;;;;;;;;20553:18;:26;20572:6;20553:26;;;;;;;;;;;;;;;20585:10;20553:43;;39:1:-1;33:3;27:10;23:18;57:10;52:3;45:23;79:10;72:17;;0:93;20553:43:0;;;;;;;;;;;;;;;;;;;;;;;;;;;17962:2641;;;;;;;;;;:::o;1272:131:2:-;1330:7;1345:9;1361:1;1357;:5;1345:17;;1381:1;1376;:6;;1368:15;;;;;;;;1397:1;1390:8;;1272:131;;;;;:::o;13129:1008:0:-;13350:21;13537:20;13374:152;13405:4;13423;13441;13459:10;13483:12;13509:7;13374:17;:152::i;:::-;13350:176;;13560:130;13592:12;:24;13605:10;13592:24;;;;;;;;;;;;;;;;;:37;;;;;;;;;;;;13643:12;:24;13656:10;13643:24;;;;;;;;;;;;;;;;;:37;;;13560:18;:130::i;:::-;13537:153;;13876:12;:24;13889:10;13876:24;;;;;;;;;;;;;;;;;:34;;;;;;;;;;;;13862:48;;:4;:11;:48;:122;;;;;13916:15;13915:16;:68;;;;13952:12;:24;13965:10;13952:24;;;;;;;;;;;;;;;;;:31;;;;;;;;;;;;13935:48;;:13;:48;;;;13915:68;13862:122;13841:289;;;14021:98;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13841:289;13129:1008;;;;;;;;:::o;14263:1523::-;14411:7;14434:21;14493:24;14599:9;15151:20;15224:9;14458:12;:24;14471:10;14458:24;;;;;;;;;;;;;;;;;14434:48;;14520:1;14493:28;;14557:21;14536:42;;;;;;;;:1;:17;;;;;;;;;;;;:42;;;;;;;;;14532:1214;;;14611:1;14599:13;;14594:477;14618:12;:19;14614:1;:23;14594:477;;;14698:1;14671:29;;:12;14684:1;14671:15;;;;;;;;;;;;;;;;;;:29;;;;:59;;;;;14704:1;:9;;:26;14714:12;14727:1;14714:15;;;;;;;;;;;;;;;;;;14704:26;;;;;;;;;;;;;;;;;;;;;;;;;14671:59;14663:95;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14797:1;14784:7;14792:1;14784:10;;;;;;;;;;;;;;;;;;:14;14776:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14883:32;14904:7;14912:1;14904:10;;;;;;;;;;;;;;;;;;14883:16;:20;;:32;;;;:::i;:::-;14864:51;;14969:4;14934:1;:15;;:32;14950:12;14963:1;14950:15;;;;;;;;;;;;;;;;;;14934:32;;;;;;;;;;;;;;;;:39;;;;;;;;;;;;;;;;;;15020:12;15033:1;15020:15;;;;;;;;;;;;;;;;;;:24;;:36;15045:7;15053:1;15045:10;;;;;;;;;;;;;;;;;;15020:36;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;15020:36:0;14639:3;;;;;;;14594:477;;;14532:1214;;;15113:21;15092:42;;;;;;;;:1;:17;;;;;;;;;;;;:42;;;;;;;;;15088:658;;;15189:1;:14;;;;;;;;;;;;15151:53;;15236:1;15224:13;;15219:517;15241:12;:19;15239:1;:21;15219:517;;;15321:1;15294:29;;:12;15307:1;15294:15;;;;;;;;;;;;;;;;;;:29;;;;:59;;;;;15327:1;:9;;:26;15337:12;15350:1;15337:15;;;;;;;;;;;;;;;;;;15327:26;;;;;;;;;;;;;;;;;;;;;;;;;15294:59;15286:95;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15420:1;15407:7;15415:1;15407:10;;;;;;;;;;;;;;;;;;:14;15399:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15506:32;15527:7;15535:1;15527:10;;;;;;;;;;;;;;;;;;15506:16;:20;;:32;;;;:::i;:::-;15487:51;;15591:4;15556:1;:15;;:32;15572:12;15585:1;15572:15;;;;;;;;;;;;;;;;;;15556:32;;;;;;;;;;;;;;;;:39;;;;;;;;;;;;;;;;;;15651:5;:14;;;15666:12;15679:1;15666:15;;;;;;;;;;;;;;;;;;15683:7;15691:1;15683:10;;;;;;;;;;;;;;;;;;15651:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;15651:43:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;15651:43:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;15651:43:0;;;;;;;;;;;;;;;;15643:78;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15262:3;;;;;;;15219:517;;;15088:658;14532:1214;15763:16;15756:23;;14263:1523;;;;;;;;;;:::o;15971:1581::-;16193:7;16354:19;16472:14;16940:6;16989:17;16253:4;:11;16238:4;:11;:26;:56;;;;;16283:4;:11;16268:4;:11;:26;16238:56;16217:126;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16676:4;16671:10;;16712:1;16707:7;;16748:4;16779:12;16817:7;16850:10;16629:253;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;16629:253:0;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;16629:253:0;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;16629:253:0;;;16598:302;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;16598:302:0;;;;;;;;;;;;;;;;16512:402;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;16512:402:0;;;16489:435;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;16489:435:0;;;;;;;;;;;;;;;;16472:452;;16949:1;16940:10;;16935:582;16956:4;:11;16952:1;:15;16935:582;;;17009:122;17036:6;17060:4;17065:1;17060:7;;;;;;;;;;;;;;;;;;17085:4;17090:1;17085:7;;;;;;;;;;;;;;;;;;17110:4;17115:1;17110:7;;;;;;;;;;;;;;;;;;17009:122;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;17009:122:0;;;;;;;;16989:142;;17171:12;:24;17184:10;17171:24;;;;;;;;;;;;;;;;;:32;;:43;17204:9;17171:43;;;;;;;;;;;;;;;;;;;;;;;;;17146:120;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17306:12;:24;17319:10;17306:24;;;;;;;;;;;;;;;;;:30;;:41;17337:9;17306:41;;;;;;;;;;;;;;;;;;;;;;;;;17305:42;17280:127;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17465:4;17421:12;:24;17434:10;17421:24;;;;;;;;;;;;;;;;;:30;;:41;17452:9;17421:41;;;;;;;;;;;;;;;;:48;;;;;;;;;;;;;;;;;;17497:9;17483:23;;16969:3;;;;;;;16935:582;;;17534:11;17527:18;;15971:1581;;;;;;;;;;;;:::o;17558:317::-;17697:4;17717:17;17737:21;17745:12;17737:3;:7;;:21;;;;:::i;:::-;17717:41;;17805:1;17789:12;:17;;;:69;;17827:31;17853:4;17835:12;17827:21;;:25;;:31;;;;:::i;:::-;17815:9;:43;17789:69;;;17809:5;17789:69;17768:100;;17558:317;;;;;:::o;1078:131:2:-;1136:7;1172:9;1164:1;1159;:6;;1151:15;;;;;;;;1188:1;1184;:5;1172:17;;1203:1;1196:8;;1078:131;;;;;:::o;204:381::-;262:7;523:9;491:1;486;:6;482:35;;;509:1;502:8;;;;482:35;539:1;535;:5;523:17;;563:1;558;554;:5;;;;;;;;:10;546:19;;;;;;;;579:1;572:8;;204:381;;;;;;:::o", + "source": "pragma solidity 0.4.24;\n\nimport \"openzeppelin-solidity/contracts/math/SafeMath.sol\";\n\nimport \"../token/ITokenContract.sol\";\n\n\n/**\n* @dev Supports ERC20 tokens\n* The escrow smart contract for the open bazaar trades in Ethereum\n* The smart contract is designed keeping in mind the current wallet interface of the OB-core\n* https://github.com/OpenBazaar/wallet-interface/blob/master/wallet.go\n* Current wallet interface strictly adheres to UTXO(bitcoin) model\n*/\ncontract Escrow_v1_0 {\n\n using SafeMath for uint256;\n\n enum Status {FUNDED, RELEASED}\n\n enum TransactionType {ETHER, TOKEN}\n\n event Executed(\n bytes32 indexed scriptHash,\n address[] destinations,\n uint256[] amounts\n );\n\n event FundAdded(\n bytes32 indexed scriptHash,\n address indexed from,\n uint256 valueAdded\n );\n\n event Funded(\n bytes32 indexed scriptHash, \n address indexed from, \n uint256 value\n );\n\n struct Transaction {\n uint256 value;\n uint256 lastModified;//Time at which transaction was last modified\n Status status;\n TransactionType transactionType;\n uint8 threshold;\n uint32 timeoutHours;\n address buyer;\n address seller;\n address tokenAddress;//Token address in case of token transfer\n address moderator;\n mapping(address=>bool) isOwner;//to keep track of owners.\n mapping(address=>bool) voted;//to keep track of who all voted\n mapping(address=>bool) beneficiaries;//Benefeciaries of execution\n }\n\n mapping(bytes32 => Transaction) public transactions;\n\n uint256 public transactionCount = 0;\n\n //Contains mapping between each party and all of their transactions\n mapping(address => bytes32[]) private partyVsTransaction;\n\n modifier transactionExist(bytes32 scriptHash) {\n require(\n transactions[scriptHash].value != 0, \"Transaction does not exist\"\n );\n _;\n }\n\n modifier transactionDoesNotExist(bytes32 scriptHash) {\n require(transactions[scriptHash].value == 0, \"Transaction exist\");\n _;\n }\n\n modifier inFundedState(bytes32 scriptHash) {\n require(\n transactions[scriptHash].status == Status.FUNDED, \"Transaction is not in FUNDED state\"\n );\n _;\n }\n\n modifier nonZeroAddress(address addressToCheck) {\n require(addressToCheck != address(0), \"Zero address passed\");\n _;\n }\n\n modifier checkTransactionType(\n bytes32 scriptHash,\n TransactionType transactionType\n )\n {\n require(\n transactions[scriptHash].transactionType == transactionType, \"Transaction type does not match\"\n );\n _;\n }\n\n modifier onlyBuyer(bytes32 scriptHash) {\n require(\n msg.sender == transactions[scriptHash].buyer, \"The initiator of the transaction is not buyer\"\n );\n _;\n }\n\n /**\n *@dev Add new transaction in the contract\n *@param buyer The buyer of the transaction\n *@param seller The seller of the listing associated with the transaction\n *@param moderator Moderator for this transaction\n *@param scriptHash keccak256 hash of the redeem script\n *@param threshold Minimum number of signatures required to released funds\n *@param timeoutHours Hours after which seller can release funds into his favour by signing transaction unilaterally\n *@param uniqueId bytes20 unique id for the transaction, generated by ETH wallet\n *Redeem Script format will be following\n \n *Pass amount of the ethers to be put in escrow\n */\n function addTransaction(\n address buyer,\n address seller,\n address moderator,\n uint8 threshold,\n uint32 timeoutHours,\n bytes32 scriptHash,\n bytes20 uniqueId\n )\n external\n payable\n transactionDoesNotExist(scriptHash)\n nonZeroAddress(buyer)\n nonZeroAddress(seller)\n {\n _addTransaction(\n buyer,\n seller,\n moderator,\n threshold,\n timeoutHours,\n scriptHash,\n msg.value,\n uniqueId,\n TransactionType.ETHER,\n address(0)\n );\n \n emit Funded(scriptHash, msg.sender, msg.value);\n\n }\n\n /**\n *@dev Add new transaction in the contract\n *@param buyer The buyer of the transaction\n *@param seller The seller of the listing associated with the transaction\n *@param moderator Moderator for this transaction\n *@param scriptHash keccak256 hash of the redeem script\n *@param threshold Minimum number of signatures required to released funds\n *@param timeoutHours Hours after which seller can release funds into his favour by signing transaction unilaterally\n *@param value Amount of tokens to be put in escrow\n *@param uniqueId bytes20 unique id for the transaction, generated by ETH wallet\n *@param tokenAddress Address of the token to be used\n *Redeem Script format will be following\n \n *approve escrow contract to spend amount of token on sender's behalf\n */\n function addTokenTransaction(\n address buyer,\n address seller,\n address moderator,\n uint8 threshold,\n uint32 timeoutHours,\n bytes32 scriptHash,\n uint256 value,\n bytes20 uniqueId,\n address tokenAddress\n )\n external\n transactionDoesNotExist(scriptHash)\n nonZeroAddress(buyer)\n nonZeroAddress(seller)\n nonZeroAddress(tokenAddress)\n {\n\n _addTransaction(\n buyer,\n seller,\n moderator,\n threshold,\n timeoutHours,\n scriptHash,\n value,\n uniqueId,\n TransactionType.TOKEN,\n tokenAddress\n );\n\n ITokenContract token = ITokenContract(tokenAddress);\n\n require(\n token.transferFrom(msg.sender, address(this), value),\n \"Token transfer failed, maybe you did not approve escrow contract to spend on behalf of sender\"\n );\n emit Funded(scriptHash, msg.sender, value);\n }\n\n /**\n * @dev This method will check whether given address was a beneficiary of transaction execution or not\n * @param scriptHash script hash of the transaction\n * @param beneficiary Beneficiary address to be checked\n */\n function checkBeneficiary(\n bytes32 scriptHash,\n address beneficiary\n )\n external\n view\n returns (bool)\n {\n return transactions[scriptHash].beneficiaries[beneficiary];\n }\n\n /**\n * @dev This method will check whether given party has voted or not\n * @param scriptHash script hash of the transaction\n * @param party Address of the party whose vote has to be checked\n * @return bool vote\n */\n function checkVote(\n bytes32 scriptHash,\n address party\n )\n external\n view\n returns (bool)\n {\n return transactions[scriptHash].voted[party];\n }\n\n /**\n * @dev Allows buyer of the transaction to add more funds(ether) in the transaction. \n * This will help to cater scenarios wherein initially buyer missed to fund transaction as required\n * @param scriptHash script hash of the transaction\n * Only buyer of the transaction can invoke this method\n */\n function addFundsToTransaction(\n bytes32 scriptHash\n )\n external\n payable\n transactionExist(scriptHash)\n inFundedState(scriptHash)\n checkTransactionType(scriptHash, TransactionType.ETHER)\n onlyBuyer(scriptHash)\n \n {\n\n require(msg.value > 0, \"Value must be greater than zero.\");\n\n transactions[scriptHash].value = transactions[scriptHash].value\n .add(msg.value);\n transactions[scriptHash].lastModified = block.timestamp;\n\n emit FundAdded(scriptHash, msg.sender, msg.value);\n }\n\n /**\n * @dev Allows buyer of the transaction to add more funds(Tokens) in the transaction. \n * This will help to cater scenarios wherein initially buyer missed to fund transaction as required\n * @param scriptHash script hash of the transaction\n * Only buyer of the transaction can invoke this method\n */\n function addTokensToTransaction(\n bytes32 scriptHash,\n uint256 value\n )\n external\n transactionExist(scriptHash)\n inFundedState(scriptHash)\n checkTransactionType(scriptHash, TransactionType.TOKEN)\n onlyBuyer(scriptHash)\n {\n\n require(value > 0, \"Value must be greater than zero.\");\n\n ITokenContract token = ITokenContract(\n transactions[scriptHash].tokenAddress\n );\n\n require(\n token.transferFrom(transactions[scriptHash].buyer, address(this), value),\n \"Token transfer failed, maybe you did not approve escrow contract to spend on behalf of buyer\"\n );\n\n transactions[scriptHash].value = transactions[scriptHash].value\n .add(value);\n transactions[scriptHash].lastModified = block.timestamp;\n\n emit FundAdded(scriptHash, msg.sender, value);\n }\n\n /**\n *@dev Returns all transaction ids for a party\n *@param partyAddress Address of the party\n */\n function getAllTransactionsForParty(\n address partyAddress\n ) \n external \n view \n returns (bytes32[]) \n {\n return partyVsTransaction[partyAddress];\n }\n\n /**\n *@dev This method will be used to release funds associated with the transaction\n * Please see specs https://github.com/OpenBazaar/smart-contracts/blob/master/contracts/escrow/EscrowSpec.md\n *@param sigV Array containing V component of all the signatures\n *@param sigR Array containing R component of all the signatures\n *@param signS Array containing S component of all the signatures\n *@param scriptHash script hash of the transaction\n *@param destinations List of addresses who will receive funds\n *@param amounts amount released to each destination\n */\n function execute(\n uint8[] sigV,\n bytes32[] sigR,\n bytes32[] sigS,\n bytes32 scriptHash,\n address[] destinations,\n uint256[] amounts\n )\n external\n transactionExist(scriptHash)\n inFundedState(scriptHash)\n {\n require(\n destinations.length>0 && destinations.length == amounts.length, \"Length of destinations is incorrect.\"\n );\n\n _verifyTransaction(\n sigV,\n sigR,\n sigS,\n scriptHash,\n destinations,\n amounts\n );\n\n transactions[scriptHash].status = Status.RELEASED;\n //Last modified timestamp modified, which will be used by rewards\n transactions[scriptHash].lastModified = block.timestamp;\n require(\n _transferFunds(scriptHash, destinations, amounts) == transactions[scriptHash].value,\n \"Total value to be released must be equal to the transaction escrow value\"\n );\n \n emit Executed(scriptHash, destinations, amounts);\n }\n\n\n /**\n *@dev Method for calculating script hash. Calculation will depend upon the type of transaction\n * ETHER Type transaction-:\n * Script Hash- keccak256(uniqueId, threshold, timeoutHours, buyer, seller, moderator)\n * TOKEN Type transaction\n * Script Hash- keccak256(uniqueId, threshold, timeoutHours, buyer, seller, moderator, tokenAddress)\n * Client can use this method to verify whether it has calculated correct script hash or not\n */\n function calculateRedeemScriptHash(\n bytes20 uniqueId,\n uint8 threshold,\n uint32 timeoutHours,\n address buyer,\n address seller,\n address moderator,\n address tokenAddress\n )\n public\n view\n returns (bytes32)\n {\n if (tokenAddress == address(0)) {\n return keccak256(\n abi.encodePacked(\n uniqueId,\n threshold,\n timeoutHours,\n buyer,\n seller,\n moderator,\n address(this)\n )\n );\n } else {\n return keccak256(\n abi.encodePacked(\n uniqueId,\n threshold,\n timeoutHours,\n buyer,\n seller,\n moderator,\n address(this),\n tokenAddress\n )\n );\n }\n }\n\n /**\n * @dev This methods checks validity of transaction\n * 1. Verify Signatures\n * 2. Check if minimum number of signatures has been acquired\n * 3. If above condition is false, check if time lock is expired and the execution is signed by seller\n */\n function _verifyTransaction(\n uint8[] sigV,\n bytes32[] sigR,\n bytes32[] sigS,\n bytes32 scriptHash,\n address[] destinations,\n uint256[] amounts\n )\n private\n {\n address lastRecovered = _verifySignatures(\n sigV,\n sigR,\n sigS,\n scriptHash,\n destinations,\n amounts\n );\n\n bool timeLockExpired = _isTimeLockExpired(\n transactions[scriptHash].timeoutHours,\n transactions[scriptHash].lastModified\n );\n\n //if Minimum number of signatures are not gathered and timelock has not expired or transaction was not signed by seller then revert\n if (\n sigV.length < transactions[scriptHash].threshold && (!timeLockExpired || lastRecovered != transactions[scriptHash].seller)\n )\n {\n revert(\"Minimum number of signatures are not collected and time lock expiry conditions not met!!\");\n }\n\n }\n\n /**\n *@dev Private method to transfer funds to the destination addresses on the basis of transaction type\n */\n function _transferFunds(\n bytes32 scriptHash,\n address[]destinations,\n uint256[]amounts\n )\n private\n returns (uint256)\n {\n Transaction storage t = transactions[scriptHash];\n\n uint256 valueTransferred = 0;\n\n if (t.transactionType == TransactionType.ETHER) {\n for (uint256 i = 0; i < destinations.length; i++) {\n\n require(destinations[i] != address(0) && t.isOwner[destinations[i]], \"Not a valid destination\");\n require(amounts[i] > 0, \"Amount to be sent should be greater than 0\");\n\n valueTransferred = valueTransferred.add(amounts[i]);\n\n t.beneficiaries[destinations[i]] = true;//add receiver as beneficiary\n destinations[i].transfer(amounts[i]);\n }\n\n } else if (t.transactionType == TransactionType.TOKEN) {\n\n ITokenContract token = ITokenContract(t.tokenAddress);\n\n for (uint256 j = 0; j 0, \"Amount to be sent should be greater than 0\");\n\n valueTransferred = valueTransferred.add(amounts[j]);\n t.beneficiaries[destinations[j]] = true;//add receiver as beneficiary\n\n require(token.transfer(destinations[j], amounts[j]), \"Token transfer failed.\");\n }\n } \n return valueTransferred;\n }\n\n //to check whether the signatures are valid or not and if consensus was reached\n //returns the last address recovered, in case of timeout this must be the sender's address\n function _verifySignatures(\n uint8[] sigV,\n bytes32[] sigR,\n bytes32[] sigS,\n bytes32 scriptHash,\n address[] destinations,\n uint256[]amounts\n )\n private\n returns (address)\n {\n\n require(\n sigR.length == sigS.length && sigR.length == sigV.length, \n \"R,S,V length mismatch.\"\n );\n\n address lastAddress;\n\n // Follows ERC191 signature scheme: https://github.com/ethereum/EIPs/issues/191\n bytes32 txHash = keccak256(\n abi.encodePacked(\n \"\\x19Ethereum Signed Message:\\n32\",\n keccak256(\n abi.encodePacked(\n byte(0x19),\n byte(0),\n address(this),\n destinations,\n amounts,\n scriptHash\n )\n )\n )\n );\n\n for (uint i = 0; i < sigR.length; i++) {\n\n address recovered = ecrecover(\n txHash,\n sigV[i],\n sigR[i],\n sigS[i]\n );\n\n require(\n transactions[scriptHash].isOwner[recovered], \n \"Invalid signature\"\n );\n require(\n !transactions[scriptHash].voted[recovered], \n \"Same signature sent twice\"\n );\n transactions[scriptHash].voted[recovered] = true;\n lastAddress = recovered;\n }\n\n return lastAddress;\n }\n\n function _isTimeLockExpired(\n uint32 timeoutHours,\n uint256 lastModified\n )\n private\n view\n returns (bool)\n {\n uint256 timeSince = now.sub(lastModified);\n return (\n timeoutHours == 0 ? false:timeSince > uint256(timeoutHours).mul(3600)\n );\n }\n\n /**\n * Private method to add transaction to reduce code redundancy\n */\n function _addTransaction(\n address buyer,\n address seller,\n address moderator,\n uint8 threshold,\n uint32 timeoutHours,\n bytes32 scriptHash,\n uint256 value,\n bytes20 uniqueId,\n TransactionType transactionType,\n address tokenAddress\n )\n private\n { \n require(buyer != seller, \"Buyer and seller are same\");\n\n //value passed should be greater than 0\n require(value > 0, \"Value passed is 0\");\n\n // For now allowing 0 moderator to support 1-2 multisig wallet\n require(\n threshold > 0 && threshold <= 3, \n \"Threshold cannot be greater than 3 and must be greater than 0\"\n );\n\n //if threshold is 1 then moderator can be passed as zero address or any other address\n //(it won't matter apart from scripthash since we wont add moderator as one of the owner),\n //otherwise moderator should be a valid address\n require(\n threshold == 1 || moderator != address(0),\n \"Either threshold should be 1 or valid moderator address should be passed\"\n );\n\n require(\n scriptHash == calculateRedeemScriptHash(\n uniqueId,\n threshold,\n timeoutHours,\n buyer,\n seller,\n moderator,\n tokenAddress\n ), \n \"Calculated script hash does not match passed script hash.\"\n );\n\n transactions[scriptHash] = Transaction({\n buyer: buyer,\n seller: seller,\n moderator: moderator,\n value: value,\n status: Status.FUNDED,\n lastModified: block.timestamp,\n threshold: threshold,\n timeoutHours: timeoutHours,\n transactionType:transactionType,\n tokenAddress:tokenAddress\n });\n\n transactions[scriptHash].isOwner[seller] = true;\n transactions[scriptHash].isOwner[buyer] = true; \n\n //Check if buyer or seller are not passed as moderator\n require(\n !transactions[scriptHash].isOwner[moderator], \n \"Either buyer or seller is passed as moderator\"\n );\n\n //set moderator as one of the owners only if threshold is greater than 1 otherwise only buyer and seller should be able to release funds\n if (threshold > 1) {\n transactions[scriptHash].isOwner[moderator] = true;\n }\n \n\n transactionCount++;\n\n partyVsTransaction[buyer].push(scriptHash);\n partyVsTransaction[seller].push(scriptHash);\n }\n}\n", "sourcePath": "/home/sameep/freelancing-projects/toptal/open baazar/publicRepo/smart-contracts/contracts/escrow/Escrow_v1_0.sol", "ast": { "absolutePath": "/home/sameep/freelancing-projects/toptal/open baazar/publicRepo/smart-contracts/contracts/escrow/Escrow_v1_0.sol", "exportedSymbols": { "Escrow_v1_0": [ - 1205 + 1215 ] }, - "id": 1206, + "id": 1216, "nodeType": "SourceUnit", "nodes": [ { @@ -426,8 +426,8 @@ "file": "openzeppelin-solidity/contracts/math/SafeMath.sol", "id": 2, "nodeType": "ImportDirective", - "scope": 1206, - "sourceUnit": 1364, + "scope": 1216, + "sourceUnit": 1374, "src": "25:59:0", "symbolAliases": [], "unitAlias": "" @@ -437,8 +437,8 @@ "file": "../token/ITokenContract.sol", "id": 3, "nodeType": "ImportDirective", - "scope": 1206, - "sourceUnit": 1236, + "scope": 1216, + "sourceUnit": 1246, "src": "86:37:0", "symbolAliases": [], "unitAlias": "" @@ -449,9 +449,9 @@ "contractKind": "contract", "documentation": "@dev Supports ERC20 tokens\nThe escrow smart contract for the open bazaar trades in Ethereum\nThe smart contract is designed keeping in mind the current wallet interface of the OB-core\nhttps://github.com/OpenBazaar/wallet-interface/blob/master/wallet.go\nCurrent wallet interface strictly adheres to UTXO(bitcoin) model", "fullyImplemented": true, - "id": 1205, + "id": 1215, "linearizedBaseContracts": [ - 1205 + 1215 ], "name": "Escrow_v1_0", "nodeType": "ContractDefinition", @@ -463,10 +463,10 @@ "id": 4, "name": "SafeMath", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1363, + "referencedDeclaration": 1373, "src": "494:8:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$1363", + "typeIdentifier": "t_contract$_SafeMath_$1373", "typeString": "library SafeMath" } }, @@ -1239,7 +1239,7 @@ ], "name": "Transaction", "nodeType": "StructDefinition", - "scope": 1205, + "scope": 1215, "src": "958:597:0", "visibility": "public" }, @@ -1248,7 +1248,7 @@ "id": 75, "name": "transactions", "nodeType": "VariableDeclaration", - "scope": 1205, + "scope": 1215, "src": "1561:51:0", "stateVariable": true, "storageLocation": "default", @@ -1295,7 +1295,7 @@ "id": 78, "name": "transactionCount", "nodeType": "VariableDeclaration", - "scope": 1205, + "scope": 1215, "src": "1619:35:0", "stateVariable": true, "storageLocation": "default", @@ -1338,7 +1338,7 @@ "id": 83, "name": "partyVsTransaction", "nodeType": "VariableDeclaration", - "scope": 1205, + "scope": 1215, "src": "1733:56:0", "stateVariable": true, "storageLocation": "default", @@ -1525,10 +1525,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1381, - 1382 + 1391, + 1392 ], - "referencedDeclaration": 1382, + "referencedDeclaration": 1392, "src": "1852:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -1737,10 +1737,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1381, - 1382 + 1391, + 1392 ], - "referencedDeclaration": 1382, + "referencedDeclaration": 1392, "src": "2035:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -1960,10 +1960,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1381, - 1382 + 1391, + 1392 ], - "referencedDeclaration": 1382, + "referencedDeclaration": 1392, "src": "2177:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -2167,10 +2167,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1381, - 1382 + 1391, + 1392 ], - "referencedDeclaration": 1382, + "referencedDeclaration": 1392, "src": "2376:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -2374,10 +2374,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1381, - 1382 + 1391, + 1392 ], - "referencedDeclaration": 1382, + "referencedDeclaration": 1392, "src": "2579:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -2506,7 +2506,7 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1378, + "referencedDeclaration": 1388, "src": "2798:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", @@ -2625,10 +2625,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1381, - 1382 + 1391, + 1392 ], - "referencedDeclaration": 1382, + "referencedDeclaration": 1392, "src": "2777:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -2796,7 +2796,7 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1378, + "referencedDeclaration": 1388, "src": "4230:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", @@ -2963,7 +2963,7 @@ "name": "_addTransaction", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1204, + "referencedDeclaration": 1214, "src": "4066:15:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_address_$_t_uint8_$_t_uint32_$_t_bytes32_$_t_uint256_$_t_bytes20_$_t_enum$_TransactionType_$12_$_t_address_$returns$__$", @@ -3013,7 +3013,7 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1378, + "referencedDeclaration": 1388, "src": "4373:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", @@ -3042,7 +3042,7 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1378, + "referencedDeclaration": 1388, "src": "4385:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", @@ -3414,7 +3414,7 @@ "parameters": [], "src": "4056:0:0" }, - "scope": 1205, + "scope": 1215, "src": "3702:701:0", "stateMutability": "payable", "superFunction": null, @@ -3422,9 +3422,9 @@ }, { "body": { - "id": 305, + "id": 307, "nodeType": "Block", - "src": "5770:588:0", + "src": "5770:597:0", "statements": [ { "expression": { @@ -3624,7 +3624,7 @@ "name": "_addTransaction", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1204, + "referencedDeclaration": 1214, "src": "5781:15:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_address_$_t_uint8_$_t_uint32_$_t_bytes32_$_t_uint256_$_t_bytes20_$_t_enum$_TransactionType_$12_$_t_address_$returns$__$", @@ -3659,12 +3659,12 @@ "id": 282, "name": "token", "nodeType": "VariableDeclaration", - "scope": 306, + "scope": 308, "src": "6054:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenContract_$1235", + "typeIdentifier": "t_contract$_ITokenContract_$1245", "typeString": "contract ITokenContract" }, "typeName": { @@ -3672,10 +3672,10 @@ "id": 281, "name": "ITokenContract", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1235, + "referencedDeclaration": 1245, "src": "6054:14:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenContract_$1235", + "typeIdentifier": "t_contract$_ITokenContract_$1245", "typeString": "contract ITokenContract" } }, @@ -3712,10 +3712,10 @@ "name": "ITokenContract", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1235, + "referencedDeclaration": 1245, "src": "6077:14:0", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ITokenContract_$1235_$", + "typeIdentifier": "t_type$_t_contract$_ITokenContract_$1245_$", "typeString": "type(contract ITokenContract)" } }, @@ -3729,7 +3729,7 @@ "nodeType": "FunctionCall", "src": "6077:28:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenContract_$1235", + "typeIdentifier": "t_contract$_ITokenContract_$1245", "typeString": "contract ITokenContract" } }, @@ -3751,7 +3751,7 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1378, + "referencedDeclaration": 1388, "src": "6156:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", @@ -3774,25 +3774,63 @@ }, { "argumentTypes": null, - "id": 292, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1395, - "src": "6168:4:0", + "arguments": [ + { + "argumentTypes": null, + "id": 293, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1405, + "src": "6176:4:0", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Escrow_v1_0_$1215", + "typeString": "contract Escrow_v1_0" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_Escrow_v1_0_$1215", + "typeString": "contract Escrow_v1_0" + } + ], + "id": 292, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "6168:7:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 294, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6168:13:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_Escrow_v1_0_$1205", - "typeString": "contract Escrow_v1_0" + "typeIdentifier": "t_address", + "typeString": "address" } }, { "argumentTypes": null, - "id": 293, + "id": 295, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 248, - "src": "6174:5:0", + "src": "6183:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3806,8 +3844,8 @@ "typeString": "address" }, { - "typeIdentifier": "t_contract$_Escrow_v1_0_$1205", - "typeString": "contract Escrow_v1_0" + "typeIdentifier": "t_address", + "typeString": "address" }, { "typeIdentifier": "t_uint256", @@ -3823,7 +3861,7 @@ "referencedDeclaration": 282, "src": "6137:5:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenContract_$1235", + "typeIdentifier": "t_contract$_ITokenContract_$1245", "typeString": "contract ITokenContract" } }, @@ -3834,14 +3872,14 @@ "lValueRequested": false, "memberName": "transferFrom", "nodeType": "MemberAccess", - "referencedDeclaration": 1234, + "referencedDeclaration": 1244, "src": "6137:18:0", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", "typeString": "function (address,address,uint256) external returns (bool)" } }, - "id": 294, + "id": 296, "isConstant": false, "isLValue": false, "isPure": false, @@ -3849,7 +3887,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6137:43:0", + "src": "6137:52:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -3858,14 +3896,14 @@ { "argumentTypes": null, "hexValue": "546f6b656e207472616e73666572206661696c65642c206d6179626520796f7520646964206e6f7420617070726f766520657363726f7720636f6e747261637420746f207370656e64206f6e20626568616c66206f662073656e646572", - "id": 295, + "id": 297, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "6194:95:0", + "src": "6203:95:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_d81b627ac67759234197a5bdf4d9f7d33298e824ce7bd47e08ce9919cd96c696", @@ -3889,17 +3927,17 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1381, - 1382 + 1391, + 1392 ], - "referencedDeclaration": 1382, + "referencedDeclaration": 1392, "src": "6116:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 296, + "id": 298, "isConstant": false, "isLValue": false, "isPure": false, @@ -3907,15 +3945,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6116:183:0", + "src": "6116:192:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 297, + "id": 299, "nodeType": "ExpressionStatement", - "src": "6116:183:0" + "src": "6116:192:0" }, { "eventCall": { @@ -3923,12 +3961,12 @@ "arguments": [ { "argumentTypes": null, - "id": 299, + "id": 301, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 246, - "src": "6321:10:0", + "src": "6330:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -3938,18 +3976,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 300, + "id": 302, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1378, - "src": "6333:3:0", + "referencedDeclaration": 1388, + "src": "6342:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 301, + "id": 303, "isConstant": false, "isLValue": false, "isPure": false, @@ -3957,7 +3995,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "6333:10:0", + "src": "6342:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3965,12 +4003,12 @@ }, { "argumentTypes": null, - "id": 302, + "id": 304, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 248, - "src": "6345:5:0", + "src": "6354:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3992,18 +4030,18 @@ "typeString": "uint256" } ], - "id": 298, + "id": 300, "name": "Funded", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 38, - "src": "6314:6:0", + "src": "6323:6:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (bytes32,address,uint256)" } }, - "id": 303, + "id": 305, "isConstant": false, "isLValue": false, "isPure": false, @@ -4011,20 +4049,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6314:37:0", + "src": "6323:37:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 304, + "id": 306, "nodeType": "EmitStatement", - "src": "6309:42:0" + "src": "6318:42:0" } ] }, "documentation": "dev Add new transaction in the contract\nparam buyer The buyer of the transaction\nparam seller The seller of the listing associated with the transaction\nparam moderator Moderator for this transaction\nparam scriptHash keccak256 hash of the redeem script\nparam threshold Minimum number of signatures required to released funds\nparam timeoutHours Hours after which seller can release funds into his favour by signing transaction unilaterally\nparam value Amount of tokens to be put in escrow\nparam uniqueId bytes20 unique id for the transaction, generated by ETH wallet\nparam tokenAddress Address of the token to be used\nedeem Script format will be following\n\npprove escrow contract to spend amount of token on sender's behalf", - "id": 306, + "id": 308, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -4173,7 +4211,7 @@ "id": 236, "name": "buyer", "nodeType": "VariableDeclaration", - "scope": 306, + "scope": 308, "src": "5375:13:0", "stateVariable": false, "storageLocation": "default", @@ -4199,7 +4237,7 @@ "id": 238, "name": "seller", "nodeType": "VariableDeclaration", - "scope": 306, + "scope": 308, "src": "5398:14:0", "stateVariable": false, "storageLocation": "default", @@ -4225,7 +4263,7 @@ "id": 240, "name": "moderator", "nodeType": "VariableDeclaration", - "scope": 306, + "scope": 308, "src": "5422:17:0", "stateVariable": false, "storageLocation": "default", @@ -4251,7 +4289,7 @@ "id": 242, "name": "threshold", "nodeType": "VariableDeclaration", - "scope": 306, + "scope": 308, "src": "5449:15:0", "stateVariable": false, "storageLocation": "default", @@ -4277,7 +4315,7 @@ "id": 244, "name": "timeoutHours", "nodeType": "VariableDeclaration", - "scope": 306, + "scope": 308, "src": "5474:19:0", "stateVariable": false, "storageLocation": "default", @@ -4303,7 +4341,7 @@ "id": 246, "name": "scriptHash", "nodeType": "VariableDeclaration", - "scope": 306, + "scope": 308, "src": "5503:18:0", "stateVariable": false, "storageLocation": "default", @@ -4329,7 +4367,7 @@ "id": 248, "name": "value", "nodeType": "VariableDeclaration", - "scope": 306, + "scope": 308, "src": "5531:13:0", "stateVariable": false, "storageLocation": "default", @@ -4355,7 +4393,7 @@ "id": 250, "name": "uniqueId", "nodeType": "VariableDeclaration", - "scope": 306, + "scope": 308, "src": "5554:16:0", "stateVariable": false, "storageLocation": "default", @@ -4381,7 +4419,7 @@ "id": 252, "name": "tokenAddress", "nodeType": "VariableDeclaration", - "scope": 306, + "scope": 308, "src": "5580:20:0", "stateVariable": false, "storageLocation": "default", @@ -4412,17 +4450,17 @@ "parameters": [], "src": "5770:0:0" }, - "scope": 1205, - "src": "5337:1021:0", + "scope": 1215, + "src": "5337:1030:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" }, { "body": { - "id": 322, + "id": 324, "nodeType": "Block", - "src": "6745:75:0", + "src": "6754:75:0", "statements": [ { "expression": { @@ -4433,26 +4471,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 315, + "id": 317, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "6762:12:0", + "src": "6771:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 317, + "id": 319, "indexExpression": { "argumentTypes": null, - "id": 316, + "id": 318, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 308, - "src": "6775:10:0", + "referencedDeclaration": 310, + "src": "6784:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -4463,13 +4501,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "6762:24:0", + "src": "6771:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 318, + "id": 320, "isConstant": false, "isLValue": true, "isPure": false, @@ -4477,21 +4515,21 @@ "memberName": "beneficiaries", "nodeType": "MemberAccess", "referencedDeclaration": 70, - "src": "6762:38:0", + "src": "6771:38:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 320, + "id": 322, "indexExpression": { "argumentTypes": null, - "id": 319, + "id": 321, "name": "beneficiary", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 310, - "src": "6801:11:0", + "referencedDeclaration": 312, + "src": "6810:11:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4502,21 +4540,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "6762:51:0", + "src": "6771:51:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "functionReturnParameters": 314, - "id": 321, + "functionReturnParameters": 316, + "id": 323, "nodeType": "Return", - "src": "6755:58:0" + "src": "6764:58:0" } ] }, "documentation": "@dev This method will check whether given address was a beneficiary of transaction execution or not\n@param scriptHash script hash of the transaction\n@param beneficiary Beneficiary address to be checked", - "id": 323, + "id": 325, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -4524,16 +4562,16 @@ "name": "checkBeneficiary", "nodeType": "FunctionDefinition", "parameters": { - "id": 311, + "id": 313, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 308, + "id": 310, "name": "scriptHash", "nodeType": "VariableDeclaration", - "scope": 323, - "src": "6634:18:0", + "scope": 325, + "src": "6643:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4541,10 +4579,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 307, + "id": 309, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "6634:7:0", + "src": "6643:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -4555,11 +4593,11 @@ }, { "constant": false, - "id": 310, + "id": 312, "name": "beneficiary", "nodeType": "VariableDeclaration", - "scope": 323, - "src": "6662:19:0", + "scope": 325, + "src": "6671:19:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4567,10 +4605,10 @@ "typeString": "address" }, "typeName": { - "id": 309, + "id": 311, "name": "address", "nodeType": "ElementaryTypeName", - "src": "6662:7:0", + "src": "6671:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4580,20 +4618,20 @@ "visibility": "internal" } ], - "src": "6624:63:0" + "src": "6633:63:0" }, "payable": false, "returnParameters": { - "id": 314, + "id": 316, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 313, + "id": 315, "name": "", "nodeType": "VariableDeclaration", - "scope": 323, - "src": "6735:4:0", + "scope": 325, + "src": "6744:4:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4601,10 +4639,10 @@ "typeString": "bool" }, "typeName": { - "id": 312, + "id": 314, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "6735:4:0", + "src": "6744:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -4614,19 +4652,19 @@ "visibility": "internal" } ], - "src": "6734:6:0" + "src": "6743:6:0" }, - "scope": 1205, - "src": "6599:221:0", + "scope": 1215, + "src": "6608:221:0", "stateMutability": "view", "superFunction": null, "visibility": "external" }, { "body": { - "id": 339, + "id": 341, "nodeType": "Block", - "src": "7193:61:0", + "src": "7202:61:0", "statements": [ { "expression": { @@ -4637,26 +4675,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 332, + "id": 334, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "7210:12:0", + "src": "7219:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 334, + "id": 336, "indexExpression": { "argumentTypes": null, - "id": 333, + "id": 335, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 325, - "src": "7223:10:0", + "referencedDeclaration": 327, + "src": "7232:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -4667,13 +4705,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "7210:24:0", + "src": "7219:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 335, + "id": 337, "isConstant": false, "isLValue": true, "isPure": false, @@ -4681,21 +4719,21 @@ "memberName": "voted", "nodeType": "MemberAccess", "referencedDeclaration": 66, - "src": "7210:30:0", + "src": "7219:30:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 337, + "id": 339, "indexExpression": { "argumentTypes": null, - "id": 336, + "id": 338, "name": "party", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 327, - "src": "7241:5:0", + "referencedDeclaration": 329, + "src": "7250:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4706,21 +4744,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "7210:37:0", + "src": "7219:37:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "functionReturnParameters": 331, - "id": 338, + "functionReturnParameters": 333, + "id": 340, "nodeType": "Return", - "src": "7203:44:0" + "src": "7212:44:0" } ] }, "documentation": "@dev This method will check whether given party has voted or not\n@param scriptHash script hash of the transaction\n@param party Address of the party whose vote has to be checked\n@return bool vote", - "id": 340, + "id": 342, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -4728,16 +4766,16 @@ "name": "checkVote", "nodeType": "FunctionDefinition", "parameters": { - "id": 328, + "id": 330, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 325, + "id": 327, "name": "scriptHash", "nodeType": "VariableDeclaration", - "scope": 340, - "src": "7088:18:0", + "scope": 342, + "src": "7097:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4745,10 +4783,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 324, + "id": 326, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "7088:7:0", + "src": "7097:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -4759,11 +4797,11 @@ }, { "constant": false, - "id": 327, + "id": 329, "name": "party", "nodeType": "VariableDeclaration", - "scope": 340, - "src": "7116:13:0", + "scope": 342, + "src": "7125:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4771,10 +4809,10 @@ "typeString": "address" }, "typeName": { - "id": 326, + "id": 328, "name": "address", "nodeType": "ElementaryTypeName", - "src": "7116:7:0", + "src": "7125:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4784,20 +4822,20 @@ "visibility": "internal" } ], - "src": "7078:57:0" + "src": "7087:57:0" }, "payable": false, "returnParameters": { - "id": 331, + "id": 333, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 330, + "id": 332, "name": "", "nodeType": "VariableDeclaration", - "scope": 340, - "src": "7183:4:0", + "scope": 342, + "src": "7192:4:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4805,10 +4843,10 @@ "typeString": "bool" }, "typeName": { - "id": 329, + "id": 331, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "7183:4:0", + "src": "7192:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -4818,19 +4856,19 @@ "visibility": "internal" } ], - "src": "7182:6:0" + "src": "7191:6:0" }, - "scope": 1205, - "src": "7060:194:0", + "scope": 1215, + "src": "7069:194:0", "stateMutability": "view", "superFunction": null, "visibility": "external" }, { "body": { - "id": 397, + "id": 399, "nodeType": "Block", - "src": "7857:303:0", + "src": "7866:303:0", "statements": [ { "expression": { @@ -4842,7 +4880,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 363, + "id": 365, "isConstant": false, "isLValue": false, "isPure": false, @@ -4851,18 +4889,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 360, + "id": 362, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1378, - "src": "7876:3:0", + "referencedDeclaration": 1388, + "src": "7885:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 361, + "id": 363, "isConstant": false, "isLValue": false, "isPure": false, @@ -4870,7 +4908,7 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "7876:9:0", + "src": "7885:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4881,14 +4919,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 362, + "id": 364, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "7888:1:0", + "src": "7897:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -4896,7 +4934,7 @@ }, "value": "0" }, - "src": "7876:13:0", + "src": "7885:13:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -4905,14 +4943,14 @@ { "argumentTypes": null, "hexValue": "56616c7565206d7573742062652067726561746572207468616e207a65726f2e", - "id": 364, + "id": 366, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "7891:34:0", + "src": "7900:34:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_21fbec2be6560b9ccffc4980d43c0d147770168e7aaf24999b418b9010085622", @@ -4932,21 +4970,21 @@ "typeString": "literal_string \"Value must be greater than zero.\"" } ], - "id": 359, + "id": 361, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1381, - 1382 + 1391, + 1392 ], - "referencedDeclaration": 1382, - "src": "7868:7:0", + "referencedDeclaration": 1392, + "src": "7877:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 365, + "id": 367, "isConstant": false, "isLValue": false, "isPure": false, @@ -4954,20 +4992,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7868:58:0", + "src": "7877:58:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 366, + "id": 368, "nodeType": "ExpressionStatement", - "src": "7868:58:0" + "src": "7877:58:0" }, { "expression": { "argumentTypes": null, - "id": 379, + "id": 381, "isConstant": false, "isLValue": false, "isPure": false, @@ -4978,26 +5016,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 367, + "id": 369, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "7937:12:0", + "src": "7946:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 369, + "id": 371, "indexExpression": { "argumentTypes": null, - "id": 368, + "id": 370, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 342, - "src": "7950:10:0", + "referencedDeclaration": 344, + "src": "7959:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -5008,13 +5046,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "7937:24:0", + "src": "7946:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 370, + "id": 372, "isConstant": false, "isLValue": true, "isPure": false, @@ -5022,7 +5060,7 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": 40, - "src": "7937:30:0", + "src": "7946:30:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5037,18 +5075,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 376, + "id": 378, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1378, - "src": "8018:3:0", + "referencedDeclaration": 1388, + "src": "8027:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 377, + "id": 379, "isConstant": false, "isLValue": false, "isPure": false, @@ -5056,7 +5094,7 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "8018:9:0", + "src": "8027:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5076,26 +5114,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 371, + "id": 373, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "7970:12:0", + "src": "7979:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 373, + "id": 375, "indexExpression": { "argumentTypes": null, - "id": 372, + "id": 374, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 342, - "src": "7983:10:0", + "referencedDeclaration": 344, + "src": "7992:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -5106,13 +5144,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "7970:24:0", + "src": "7979:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 374, + "id": 376, "isConstant": false, "isLValue": true, "isPure": false, @@ -5120,27 +5158,27 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": 40, - "src": "7970:30:0", + "src": "7979:30:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 375, + "id": 377, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 1342, - "src": "7970:47:0", + "referencedDeclaration": 1352, + "src": "7979:47:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 378, + "id": 380, "isConstant": false, "isLValue": false, "isPure": false, @@ -5148,26 +5186,26 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7970:58:0", + "src": "7979:58:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "7937:91:0", + "src": "7946:91:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 380, + "id": 382, "nodeType": "ExpressionStatement", - "src": "7937:91:0" + "src": "7946:91:0" }, { "expression": { "argumentTypes": null, - "id": 387, + "id": 389, "isConstant": false, "isLValue": false, "isPure": false, @@ -5178,26 +5216,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 381, + "id": 383, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "8038:12:0", + "src": "8047:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 383, + "id": 385, "indexExpression": { "argumentTypes": null, - "id": 382, + "id": 384, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 342, - "src": "8051:10:0", + "referencedDeclaration": 344, + "src": "8060:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -5208,13 +5246,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "8038:24:0", + "src": "8047:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 384, + "id": 386, "isConstant": false, "isLValue": true, "isPure": false, @@ -5222,7 +5260,7 @@ "memberName": "lastModified", "nodeType": "MemberAccess", "referencedDeclaration": 42, - "src": "8038:37:0", + "src": "8047:37:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5234,18 +5272,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 385, + "id": 387, "name": "block", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1368, - "src": "8078:5:0", + "referencedDeclaration": 1378, + "src": "8087:5:0", "typeDescriptions": { "typeIdentifier": "t_magic_block", "typeString": "block" } }, - "id": 386, + "id": 388, "isConstant": false, "isLValue": false, "isPure": false, @@ -5253,21 +5291,21 @@ "memberName": "timestamp", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "8078:15:0", + "src": "8087:15:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "8038:55:0", + "src": "8047:55:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 388, + "id": 390, "nodeType": "ExpressionStatement", - "src": "8038:55:0" + "src": "8047:55:0" }, { "eventCall": { @@ -5275,12 +5313,12 @@ "arguments": [ { "argumentTypes": null, - "id": 390, + "id": 392, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 342, - "src": "8119:10:0", + "referencedDeclaration": 344, + "src": "8128:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -5290,18 +5328,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 391, + "id": 393, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1378, - "src": "8131:3:0", + "referencedDeclaration": 1388, + "src": "8140:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 392, + "id": 394, "isConstant": false, "isLValue": false, "isPure": false, @@ -5309,7 +5347,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "8131:10:0", + "src": "8140:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -5319,18 +5357,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 393, + "id": 395, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1378, - "src": "8143:3:0", + "referencedDeclaration": 1388, + "src": "8152:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 394, + "id": 396, "isConstant": false, "isLValue": false, "isPure": false, @@ -5338,7 +5376,7 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "8143:9:0", + "src": "8152:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5360,18 +5398,18 @@ "typeString": "uint256" } ], - "id": 389, + "id": 391, "name": "FundAdded", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 30, - "src": "8109:9:0", + "src": "8118:9:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (bytes32,address,uint256)" } }, - "id": 395, + "id": 397, "isConstant": false, "isLValue": false, "isPure": false, @@ -5379,20 +5417,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8109:44:0", + "src": "8118:44:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 396, + "id": 398, "nodeType": "EmitStatement", - "src": "8104:49:0" + "src": "8113:49:0" } ] }, "documentation": "@dev Allows buyer of the transaction to add more funds(ether) in the transaction. \nThis will help to cater scenarios wherein initially buyer missed to fund transaction as required\n@param scriptHash script hash of the transaction\nOnly buyer of the transaction can invoke this method", - "id": 398, + "id": 400, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -5401,78 +5439,78 @@ "arguments": [ { "argumentTypes": null, - "id": 345, + "id": 347, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 342, - "src": "7704:10:0", + "referencedDeclaration": 344, + "src": "7713:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } } ], - "id": 346, + "id": 348, "modifierName": { "argumentTypes": null, - "id": 344, + "id": 346, "name": "transactionExist", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 99, - "src": "7687:16:0", + "src": "7696:16:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "7687:28:0" + "src": "7696:28:0" }, { "arguments": [ { "argumentTypes": null, - "id": 348, + "id": 350, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 342, - "src": "7738:10:0", + "referencedDeclaration": 344, + "src": "7747:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } } ], - "id": 349, + "id": 351, "modifierName": { "argumentTypes": null, - "id": 347, + "id": 349, "name": "inFundedState", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 132, - "src": "7724:13:0", + "src": "7733:13:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "7724:25:0" + "src": "7733:25:0" }, { "arguments": [ { "argumentTypes": null, - "id": 351, + "id": 353, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 342, - "src": "7779:10:0", + "referencedDeclaration": 344, + "src": "7788:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -5482,18 +5520,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 352, + "id": 354, "name": "TransactionType", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12, - "src": "7791:15:0", + "src": "7800:15:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_TransactionType_$12_$", "typeString": "type(enum Escrow_v1_0.TransactionType)" } }, - "id": 353, + "id": 355, "isConstant": false, "isLValue": false, "isPure": true, @@ -5501,77 +5539,77 @@ "memberName": "ETHER", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "7791:21:0", + "src": "7800:21:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" } } ], - "id": 354, + "id": 356, "modifierName": { "argumentTypes": null, - "id": 350, + "id": 352, "name": "checkTransactionType", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 165, - "src": "7758:20:0", + "src": "7767:20:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$_t_enum$_TransactionType_$12_$", "typeString": "modifier (bytes32,enum Escrow_v1_0.TransactionType)" } }, "nodeType": "ModifierInvocation", - "src": "7758:55:0" + "src": "7767:55:0" }, { "arguments": [ { "argumentTypes": null, - "id": 356, + "id": 358, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 342, - "src": "7832:10:0", + "referencedDeclaration": 344, + "src": "7841:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } } ], - "id": 357, + "id": 359, "modifierName": { "argumentTypes": null, - "id": 355, + "id": 357, "name": "onlyBuyer", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 182, - "src": "7822:9:0", + "src": "7831:9:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "7822:21:0" + "src": "7831:21:0" } ], "name": "addFundsToTransaction", "nodeType": "FunctionDefinition", "parameters": { - "id": 343, + "id": 345, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 342, + "id": 344, "name": "scriptHash", "nodeType": "VariableDeclaration", - "scope": 398, - "src": "7621:18:0", + "scope": 400, + "src": "7630:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5579,10 +5617,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 341, + "id": 343, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "7621:7:0", + "src": "7630:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -5592,26 +5630,26 @@ "visibility": "internal" } ], - "src": "7611:34:0" + "src": "7620:34:0" }, "payable": true, "returnParameters": { - "id": 358, + "id": 360, "nodeType": "ParameterList", "parameters": [], - "src": "7857:0:0" + "src": "7866:0:0" }, - "scope": 1205, - "src": "7581:579:0", + "scope": 1215, + "src": "7590:579:0", "stateMutability": "payable", "superFunction": null, "visibility": "external" }, { "body": { - "id": 476, + "id": 480, "nodeType": "Block", - "src": "8763:613:0", + "src": "8772:622:0", "statements": [ { "expression": { @@ -5623,19 +5661,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 422, + "id": 424, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 420, + "id": 422, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 402, - "src": "8782:5:0", + "referencedDeclaration": 404, + "src": "8791:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5646,14 +5684,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 421, + "id": 423, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "8790:1:0", + "src": "8799:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -5661,7 +5699,7 @@ }, "value": "0" }, - "src": "8782:9:0", + "src": "8791:9:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -5670,14 +5708,14 @@ { "argumentTypes": null, "hexValue": "56616c7565206d7573742062652067726561746572207468616e207a65726f2e", - "id": 423, + "id": 425, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "8793:34:0", + "src": "8802:34:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_21fbec2be6560b9ccffc4980d43c0d147770168e7aaf24999b418b9010085622", @@ -5697,21 +5735,21 @@ "typeString": "literal_string \"Value must be greater than zero.\"" } ], - "id": 419, + "id": 421, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1381, - 1382 + 1391, + 1392 ], - "referencedDeclaration": 1382, - "src": "8774:7:0", + "referencedDeclaration": 1392, + "src": "8783:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 424, + "id": 426, "isConstant": false, "isLValue": false, "isPure": false, @@ -5719,43 +5757,43 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8774:54:0", + "src": "8783:54:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 425, + "id": 427, "nodeType": "ExpressionStatement", - "src": "8774:54:0" + "src": "8783:54:0" }, { "assignments": [ - 427 + 429 ], "declarations": [ { "constant": false, - "id": 427, + "id": 429, "name": "token", "nodeType": "VariableDeclaration", - "scope": 477, - "src": "8839:20:0", + "scope": 481, + "src": "8848:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenContract_$1235", + "typeIdentifier": "t_contract$_ITokenContract_$1245", "typeString": "contract ITokenContract" }, "typeName": { "contractScope": null, - "id": 426, + "id": 428, "name": "ITokenContract", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1235, - "src": "8839:14:0", + "referencedDeclaration": 1245, + "src": "8848:14:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenContract_$1235", + "typeIdentifier": "t_contract$_ITokenContract_$1245", "typeString": "contract ITokenContract" } }, @@ -5763,7 +5801,7 @@ "visibility": "internal" } ], - "id": 434, + "id": 436, "initialValue": { "argumentTypes": null, "arguments": [ @@ -5773,26 +5811,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 429, + "id": 431, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "8890:12:0", + "src": "8899:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 431, + "id": 433, "indexExpression": { "argumentTypes": null, - "id": 430, + "id": 432, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 400, - "src": "8903:10:0", + "referencedDeclaration": 402, + "src": "8912:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -5803,13 +5841,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "8890:24:0", + "src": "8899:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 432, + "id": 434, "isConstant": false, "isLValue": true, "isPure": false, @@ -5817,7 +5855,7 @@ "memberName": "tokenAddress", "nodeType": "MemberAccess", "referencedDeclaration": 56, - "src": "8890:37:0", + "src": "8899:37:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -5831,18 +5869,18 @@ "typeString": "address" } ], - "id": 428, + "id": 430, "name": "ITokenContract", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1235, - "src": "8862:14:0", + "referencedDeclaration": 1245, + "src": "8871:14:0", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ITokenContract_$1235_$", + "typeIdentifier": "t_type$_t_contract$_ITokenContract_$1245_$", "typeString": "type(contract ITokenContract)" } }, - "id": 433, + "id": 435, "isConstant": false, "isLValue": false, "isPure": false, @@ -5850,14 +5888,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8862:75:0", + "src": "8871:75:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenContract_$1235", + "typeIdentifier": "t_contract$_ITokenContract_$1245", "typeString": "contract ITokenContract" } }, "nodeType": "VariableDeclarationStatement", - "src": "8839:98:0" + "src": "8848:98:0" }, { "expression": { @@ -5872,26 +5910,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 438, + "id": 440, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "8988:12:0", + "src": "8997:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 440, + "id": 442, "indexExpression": { "argumentTypes": null, - "id": 439, + "id": 441, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 400, - "src": "9001:10:0", + "referencedDeclaration": 402, + "src": "9010:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -5902,13 +5940,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "8988:24:0", + "src": "8997:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 441, + "id": 443, "isConstant": false, "isLValue": true, "isPure": false, @@ -5916,7 +5954,7 @@ "memberName": "buyer", "nodeType": "MemberAccess", "referencedDeclaration": 52, - "src": "8988:30:0", + "src": "8997:30:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -5924,25 +5962,63 @@ }, { "argumentTypes": null, - "id": 442, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1395, - "src": "9020:4:0", + "arguments": [ + { + "argumentTypes": null, + "id": 445, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1405, + "src": "9037:4:0", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Escrow_v1_0_$1215", + "typeString": "contract Escrow_v1_0" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_Escrow_v1_0_$1215", + "typeString": "contract Escrow_v1_0" + } + ], + "id": 444, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "9029:7:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 446, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9029:13:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_Escrow_v1_0_$1205", - "typeString": "contract Escrow_v1_0" + "typeIdentifier": "t_address", + "typeString": "address" } }, { "argumentTypes": null, - "id": 443, + "id": 447, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 402, - "src": "9026:5:0", + "referencedDeclaration": 404, + "src": "9044:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5956,8 +6032,8 @@ "typeString": "address" }, { - "typeIdentifier": "t_contract$_Escrow_v1_0_$1205", - "typeString": "contract Escrow_v1_0" + "typeIdentifier": "t_address", + "typeString": "address" }, { "typeIdentifier": "t_uint256", @@ -5966,32 +6042,32 @@ ], "expression": { "argumentTypes": null, - "id": 436, + "id": 438, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 427, - "src": "8969:5:0", + "referencedDeclaration": 429, + "src": "8978:5:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenContract_$1235", + "typeIdentifier": "t_contract$_ITokenContract_$1245", "typeString": "contract ITokenContract" } }, - "id": 437, + "id": 439, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "transferFrom", "nodeType": "MemberAccess", - "referencedDeclaration": 1234, - "src": "8969:18:0", + "referencedDeclaration": 1244, + "src": "8978:18:0", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", "typeString": "function (address,address,uint256) external returns (bool)" } }, - "id": 444, + "id": 448, "isConstant": false, "isLValue": false, "isPure": false, @@ -5999,7 +6075,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8969:63:0", + "src": "8978:72:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -6008,14 +6084,14 @@ { "argumentTypes": null, "hexValue": "546f6b656e207472616e73666572206661696c65642c206d6179626520796f7520646964206e6f7420617070726f766520657363726f7720636f6e747261637420746f207370656e64206f6e20626568616c66206f66206275796572", - "id": 445, + "id": 449, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "9046:94:0", + "src": "9064:94:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_d9d07068d589bc4adc53018a3c57c159ec128fdfb62732a5fa9410e76cf03318", @@ -6035,21 +6111,21 @@ "typeString": "literal_string \"Token transfer failed, maybe you did not approve escrow contract to spend on behalf of buyer\"" } ], - "id": 435, + "id": 437, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1381, - 1382 + 1391, + 1392 ], - "referencedDeclaration": 1382, - "src": "8948:7:0", + "referencedDeclaration": 1392, + "src": "8957:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 446, + "id": 450, "isConstant": false, "isLValue": false, "isPure": false, @@ -6057,20 +6133,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8948:202:0", + "src": "8957:211:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 447, + "id": 451, "nodeType": "ExpressionStatement", - "src": "8948:202:0" + "src": "8957:211:0" }, { "expression": { "argumentTypes": null, - "id": 459, + "id": 463, "isConstant": false, "isLValue": false, "isPure": false, @@ -6081,26 +6157,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 448, + "id": 452, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "9161:12:0", + "src": "9179:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 450, + "id": 454, "indexExpression": { "argumentTypes": null, - "id": 449, + "id": 453, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 400, - "src": "9174:10:0", + "referencedDeclaration": 402, + "src": "9192:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -6111,13 +6187,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "9161:24:0", + "src": "9179:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 451, + "id": 455, "isConstant": false, "isLValue": true, "isPure": false, @@ -6125,7 +6201,7 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": 40, - "src": "9161:30:0", + "src": "9179:30:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6138,12 +6214,12 @@ "arguments": [ { "argumentTypes": null, - "id": 457, + "id": 461, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 402, - "src": "9242:5:0", + "referencedDeclaration": 404, + "src": "9260:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6163,26 +6239,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 452, + "id": 456, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "9194:12:0", + "src": "9212:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 454, + "id": 458, "indexExpression": { "argumentTypes": null, - "id": 453, + "id": 457, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 400, - "src": "9207:10:0", + "referencedDeclaration": 402, + "src": "9225:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -6193,13 +6269,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "9194:24:0", + "src": "9212:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 455, + "id": 459, "isConstant": false, "isLValue": true, "isPure": false, @@ -6207,27 +6283,27 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": 40, - "src": "9194:30:0", + "src": "9212:30:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 456, + "id": 460, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 1342, - "src": "9194:47:0", + "referencedDeclaration": 1352, + "src": "9212:47:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 458, + "id": 462, "isConstant": false, "isLValue": false, "isPure": false, @@ -6235,26 +6311,26 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "9194:54:0", + "src": "9212:54:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "9161:87:0", + "src": "9179:87:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 460, + "id": 464, "nodeType": "ExpressionStatement", - "src": "9161:87:0" + "src": "9179:87:0" }, { "expression": { "argumentTypes": null, - "id": 467, + "id": 471, "isConstant": false, "isLValue": false, "isPure": false, @@ -6265,26 +6341,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 461, + "id": 465, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "9258:12:0", + "src": "9276:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 463, + "id": 467, "indexExpression": { "argumentTypes": null, - "id": 462, + "id": 466, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 400, - "src": "9271:10:0", + "referencedDeclaration": 402, + "src": "9289:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -6295,13 +6371,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "9258:24:0", + "src": "9276:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 464, + "id": 468, "isConstant": false, "isLValue": true, "isPure": false, @@ -6309,7 +6385,7 @@ "memberName": "lastModified", "nodeType": "MemberAccess", "referencedDeclaration": 42, - "src": "9258:37:0", + "src": "9276:37:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6321,18 +6397,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 465, + "id": 469, "name": "block", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1368, - "src": "9298:5:0", + "referencedDeclaration": 1378, + "src": "9316:5:0", "typeDescriptions": { "typeIdentifier": "t_magic_block", "typeString": "block" } }, - "id": 466, + "id": 470, "isConstant": false, "isLValue": false, "isPure": false, @@ -6340,21 +6416,21 @@ "memberName": "timestamp", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "9298:15:0", + "src": "9316:15:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "9258:55:0", + "src": "9276:55:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 468, + "id": 472, "nodeType": "ExpressionStatement", - "src": "9258:55:0" + "src": "9276:55:0" }, { "eventCall": { @@ -6362,12 +6438,12 @@ "arguments": [ { "argumentTypes": null, - "id": 470, + "id": 474, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 400, - "src": "9339:10:0", + "referencedDeclaration": 402, + "src": "9357:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -6377,18 +6453,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 471, + "id": 475, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1378, - "src": "9351:3:0", + "referencedDeclaration": 1388, + "src": "9369:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 472, + "id": 476, "isConstant": false, "isLValue": false, "isPure": false, @@ -6396,7 +6472,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "9351:10:0", + "src": "9369:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -6404,12 +6480,12 @@ }, { "argumentTypes": null, - "id": 473, + "id": 477, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 402, - "src": "9363:5:0", + "referencedDeclaration": 404, + "src": "9381:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6431,18 +6507,18 @@ "typeString": "uint256" } ], - "id": 469, + "id": 473, "name": "FundAdded", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 30, - "src": "9329:9:0", + "src": "9347:9:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (bytes32,address,uint256)" } }, - "id": 474, + "id": 478, "isConstant": false, "isLValue": false, "isPure": false, @@ -6450,20 +6526,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "9329:40:0", + "src": "9347:40:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 475, + "id": 479, "nodeType": "EmitStatement", - "src": "9324:45:0" + "src": "9342:45:0" } ] }, "documentation": "@dev Allows buyer of the transaction to add more funds(Tokens) in the transaction. \nThis will help to cater scenarios wherein initially buyer missed to fund transaction as required\n@param scriptHash script hash of the transaction\nOnly buyer of the transaction can invoke this method", - "id": 477, + "id": 481, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -6472,78 +6548,78 @@ "arguments": [ { "argumentTypes": null, - "id": 405, + "id": 407, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 400, - "src": "8619:10:0", + "referencedDeclaration": 402, + "src": "8628:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } } ], - "id": 406, + "id": 408, "modifierName": { "argumentTypes": null, - "id": 404, + "id": 406, "name": "transactionExist", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 99, - "src": "8602:16:0", + "src": "8611:16:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "8602:28:0" + "src": "8611:28:0" }, { "arguments": [ { "argumentTypes": null, - "id": 408, + "id": 410, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 400, - "src": "8653:10:0", + "referencedDeclaration": 402, + "src": "8662:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } } ], - "id": 409, + "id": 411, "modifierName": { "argumentTypes": null, - "id": 407, + "id": 409, "name": "inFundedState", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 132, - "src": "8639:13:0", + "src": "8648:13:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "8639:25:0" + "src": "8648:25:0" }, { "arguments": [ { "argumentTypes": null, - "id": 411, + "id": 413, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 400, - "src": "8694:10:0", + "referencedDeclaration": 402, + "src": "8703:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -6553,18 +6629,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 412, + "id": 414, "name": "TransactionType", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12, - "src": "8706:15:0", + "src": "8715:15:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_TransactionType_$12_$", "typeString": "type(enum Escrow_v1_0.TransactionType)" } }, - "id": 413, + "id": 415, "isConstant": false, "isLValue": false, "isPure": true, @@ -6572,77 +6648,77 @@ "memberName": "TOKEN", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "8706:21:0", + "src": "8715:21:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" } } ], - "id": 414, + "id": 416, "modifierName": { "argumentTypes": null, - "id": 410, + "id": 412, "name": "checkTransactionType", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 165, - "src": "8673:20:0", + "src": "8682:20:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$_t_enum$_TransactionType_$12_$", "typeString": "modifier (bytes32,enum Escrow_v1_0.TransactionType)" } }, "nodeType": "ModifierInvocation", - "src": "8673:55:0" + "src": "8682:55:0" }, { "arguments": [ { "argumentTypes": null, - "id": 416, + "id": 418, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 400, - "src": "8747:10:0", + "referencedDeclaration": 402, + "src": "8756:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } } ], - "id": 417, + "id": 419, "modifierName": { "argumentTypes": null, - "id": 415, + "id": 417, "name": "onlyBuyer", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 182, - "src": "8737:9:0", + "src": "8746:9:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "8737:21:0" + "src": "8746:21:0" } ], "name": "addTokensToTransaction", "nodeType": "FunctionDefinition", "parameters": { - "id": 403, + "id": 405, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 400, + "id": 402, "name": "scriptHash", "nodeType": "VariableDeclaration", - "scope": 477, - "src": "8529:18:0", + "scope": 481, + "src": "8538:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6650,10 +6726,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 399, + "id": 401, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "8529:7:0", + "src": "8538:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -6664,11 +6740,11 @@ }, { "constant": false, - "id": 402, + "id": 404, "name": "value", "nodeType": "VariableDeclaration", - "scope": 477, - "src": "8557:13:0", + "scope": 481, + "src": "8566:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6676,10 +6752,10 @@ "typeString": "uint256" }, "typeName": { - "id": 401, + "id": 403, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "8557:7:0", + "src": "8566:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6689,52 +6765,52 @@ "visibility": "internal" } ], - "src": "8519:57:0" + "src": "8528:57:0" }, "payable": false, "returnParameters": { - "id": 418, + "id": 420, "nodeType": "ParameterList", "parameters": [], - "src": "8763:0:0" + "src": "8772:0:0" }, - "scope": 1205, - "src": "8488:888:0", + "scope": 1215, + "src": "8497:897:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" }, { "body": { - "id": 489, + "id": 493, "nodeType": "Block", - "src": "9631:56:0", + "src": "9649:56:0", "statements": [ { "expression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 485, + "id": 489, "name": "partyVsTransaction", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 83, - "src": "9648:18:0", + "src": "9666:18:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_bytes32_$dyn_storage_$", "typeString": "mapping(address => bytes32[] storage ref)" } }, - "id": 487, + "id": 491, "indexExpression": { "argumentTypes": null, - "id": 486, + "id": 490, "name": "partyAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 479, - "src": "9667:12:0", + "referencedDeclaration": 483, + "src": "9685:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -6745,21 +6821,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "9648:32:0", + "src": "9666:32:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage", "typeString": "bytes32[] storage ref" } }, - "functionReturnParameters": 484, - "id": 488, + "functionReturnParameters": 488, + "id": 492, "nodeType": "Return", - "src": "9641:39:0" + "src": "9659:39:0" } ] }, "documentation": "dev Returns all transaction ids for a party\nparam partyAddress Address of the party", - "id": 490, + "id": 494, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -6767,16 +6843,16 @@ "name": "getAllTransactionsForParty", "nodeType": "FunctionDefinition", "parameters": { - "id": 480, + "id": 484, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 479, + "id": 483, "name": "partyAddress", "nodeType": "VariableDeclaration", - "scope": 490, - "src": "9538:20:0", + "scope": 494, + "src": "9556:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6784,10 +6860,10 @@ "typeString": "address" }, "typeName": { - "id": 478, + "id": 482, "name": "address", "nodeType": "ElementaryTypeName", - "src": "9538:7:0", + "src": "9556:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -6797,20 +6873,20 @@ "visibility": "internal" } ], - "src": "9528:36:0" + "src": "9546:36:0" }, "payable": false, "returnParameters": { - "id": 484, + "id": 488, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 483, + "id": 487, "name": "", "nodeType": "VariableDeclaration", - "scope": 490, - "src": "9615:9:0", + "scope": 494, + "src": "9633:9:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6819,19 +6895,19 @@ }, "typeName": { "baseType": { - "id": 481, + "id": 485, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "9615:7:0", + "src": "9633:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "id": 482, + "id": 486, "length": null, "nodeType": "ArrayTypeName", - "src": "9615:9:0", + "src": "9633:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -6841,19 +6917,19 @@ "visibility": "internal" } ], - "src": "9614:11:0" + "src": "9632:11:0" }, - "scope": 1205, - "src": "9493:194:0", + "scope": 1215, + "src": "9511:194:0", "stateMutability": "view", "superFunction": null, "visibility": "external" }, { "body": { - "id": 575, + "id": 579, "nodeType": "Block", - "src": "10557:792:0", + "src": "10575:792:0", "statements": [ { "expression": { @@ -6865,7 +6941,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 526, + "id": 530, "isConstant": false, "isLValue": false, "isPure": false, @@ -6876,7 +6952,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 520, + "id": 524, "isConstant": false, "isLValue": false, "isPure": false, @@ -6885,18 +6961,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 517, + "id": 521, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 504, - "src": "10588:12:0", + "referencedDeclaration": 508, + "src": "10606:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" } }, - "id": 518, + "id": 522, "isConstant": false, "isLValue": false, "isPure": false, @@ -6904,7 +6980,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "10588:19:0", + "src": "10606:19:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6915,14 +6991,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 519, + "id": 523, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "10608:1:0", + "src": "10626:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -6930,7 +7006,7 @@ }, "value": "0" }, - "src": "10588:21:0", + "src": "10606:21:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -6944,7 +7020,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 525, + "id": 529, "isConstant": false, "isLValue": false, "isPure": false, @@ -6953,18 +7029,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 521, + "id": 525, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 504, - "src": "10613:12:0", + "referencedDeclaration": 508, + "src": "10631:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" } }, - "id": 522, + "id": 526, "isConstant": false, "isLValue": false, "isPure": false, @@ -6972,7 +7048,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "10613:19:0", + "src": "10631:19:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6984,18 +7060,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 523, + "id": 527, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 507, - "src": "10636:7:0", + "referencedDeclaration": 511, + "src": "10654:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", "typeString": "uint256[] calldata" } }, - "id": 524, + "id": 528, "isConstant": false, "isLValue": false, "isPure": false, @@ -7003,19 +7079,19 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "10636:14:0", + "src": "10654:14:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "10613:37:0", + "src": "10631:37:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "10588:62:0", + "src": "10606:62:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -7024,14 +7100,14 @@ { "argumentTypes": null, "hexValue": "4c656e677468206f662064657374696e6174696f6e7320697320696e636f72726563742e", - "id": 527, + "id": 531, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "10652:38:0", + "src": "10670:38:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_53e979b0c355ea1eeda44a80ca73370fdb2abe922711b459aa4ee43d1558782b", @@ -7051,21 +7127,21 @@ "typeString": "literal_string \"Length of destinations is incorrect.\"" } ], - "id": 516, + "id": 520, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1381, - 1382 + 1391, + 1392 ], - "referencedDeclaration": 1382, - "src": "10567:7:0", + "referencedDeclaration": 1392, + "src": "10585:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 528, + "id": 532, "isConstant": false, "isLValue": false, "isPure": false, @@ -7073,15 +7149,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "10567:133:0", + "src": "10585:133:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 529, + "id": 533, "nodeType": "ExpressionStatement", - "src": "10567:133:0" + "src": "10585:133:0" }, { "expression": { @@ -7089,12 +7165,12 @@ "arguments": [ { "argumentTypes": null, - "id": 531, + "id": 535, "name": "sigV", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 493, - "src": "10743:4:0", + "referencedDeclaration": 497, + "src": "10761:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_calldata_ptr", "typeString": "uint8[] calldata" @@ -7102,12 +7178,12 @@ }, { "argumentTypes": null, - "id": 532, + "id": 536, "name": "sigR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 496, - "src": "10761:4:0", + "referencedDeclaration": 500, + "src": "10779:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", "typeString": "bytes32[] calldata" @@ -7115,12 +7191,12 @@ }, { "argumentTypes": null, - "id": 533, + "id": 537, "name": "sigS", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 499, - "src": "10779:4:0", + "referencedDeclaration": 503, + "src": "10797:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", "typeString": "bytes32[] calldata" @@ -7128,12 +7204,12 @@ }, { "argumentTypes": null, - "id": 534, + "id": 538, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 501, - "src": "10797:10:0", + "referencedDeclaration": 505, + "src": "10815:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -7141,12 +7217,12 @@ }, { "argumentTypes": null, - "id": 535, + "id": 539, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 504, - "src": "10821:12:0", + "referencedDeclaration": 508, + "src": "10839:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" @@ -7154,12 +7230,12 @@ }, { "argumentTypes": null, - "id": 536, + "id": 540, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 507, - "src": "10847:7:0", + "referencedDeclaration": 511, + "src": "10865:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", "typeString": "uint256[] calldata" @@ -7193,18 +7269,18 @@ "typeString": "uint256[] calldata" } ], - "id": 530, + "id": 534, "name": "_verifyTransaction", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 700, - "src": "10711:18:0", + "referencedDeclaration": 708, + "src": "10729:18:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_array$_t_uint8_$dyn_memory_ptr_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_bytes32_$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$__$", "typeString": "function (uint8[] memory,bytes32[] memory,bytes32[] memory,bytes32,address[] memory,uint256[] memory)" } }, - "id": 537, + "id": 541, "isConstant": false, "isLValue": false, "isPure": false, @@ -7212,20 +7288,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "10711:153:0", + "src": "10729:153:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 538, + "id": 542, "nodeType": "ExpressionStatement", - "src": "10711:153:0" + "src": "10729:153:0" }, { "expression": { "argumentTypes": null, - "id": 545, + "id": 549, "isConstant": false, "isLValue": false, "isPure": false, @@ -7236,26 +7312,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 539, + "id": 543, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "10875:12:0", + "src": "10893:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 541, + "id": 545, "indexExpression": { "argumentTypes": null, - "id": 540, + "id": 544, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 501, - "src": "10888:10:0", + "referencedDeclaration": 505, + "src": "10906:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -7266,13 +7342,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "10875:24:0", + "src": "10893:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 542, + "id": 546, "isConstant": false, "isLValue": true, "isPure": false, @@ -7280,7 +7356,7 @@ "memberName": "status", "nodeType": "MemberAccess", "referencedDeclaration": 44, - "src": "10875:31:0", + "src": "10893:31:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$9", "typeString": "enum Escrow_v1_0.Status" @@ -7292,18 +7368,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 543, + "id": 547, "name": "Status", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9, - "src": "10909:6:0", + "src": "10927:6:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_Status_$9_$", "typeString": "type(enum Escrow_v1_0.Status)" } }, - "id": 544, + "id": 548, "isConstant": false, "isLValue": false, "isPure": true, @@ -7311,26 +7387,26 @@ "memberName": "RELEASED", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "10909:15:0", + "src": "10927:15:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$9", "typeString": "enum Escrow_v1_0.Status" } }, - "src": "10875:49:0", + "src": "10893:49:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$9", "typeString": "enum Escrow_v1_0.Status" } }, - "id": 546, + "id": 550, "nodeType": "ExpressionStatement", - "src": "10875:49:0" + "src": "10893:49:0" }, { "expression": { "argumentTypes": null, - "id": 553, + "id": 557, "isConstant": false, "isLValue": false, "isPure": false, @@ -7341,26 +7417,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 547, + "id": 551, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "11008:12:0", + "src": "11026:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 549, + "id": 553, "indexExpression": { "argumentTypes": null, - "id": 548, + "id": 552, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 501, - "src": "11021:10:0", + "referencedDeclaration": 505, + "src": "11039:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -7371,13 +7447,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "11008:24:0", + "src": "11026:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 550, + "id": 554, "isConstant": false, "isLValue": true, "isPure": false, @@ -7385,7 +7461,7 @@ "memberName": "lastModified", "nodeType": "MemberAccess", "referencedDeclaration": 42, - "src": "11008:37:0", + "src": "11026:37:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7397,18 +7473,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 551, + "id": 555, "name": "block", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1368, - "src": "11048:5:0", + "referencedDeclaration": 1378, + "src": "11066:5:0", "typeDescriptions": { "typeIdentifier": "t_magic_block", "typeString": "block" } }, - "id": 552, + "id": 556, "isConstant": false, "isLValue": false, "isPure": false, @@ -7416,21 +7492,21 @@ "memberName": "timestamp", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "11048:15:0", + "src": "11066:15:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "11008:55:0", + "src": "11026:55:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 554, + "id": 558, "nodeType": "ExpressionStatement", - "src": "11008:55:0" + "src": "11026:55:0" }, { "expression": { @@ -7442,7 +7518,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 565, + "id": 569, "isConstant": false, "isLValue": false, "isPure": false, @@ -7452,12 +7528,12 @@ "arguments": [ { "argumentTypes": null, - "id": 557, + "id": 561, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 501, - "src": "11109:10:0", + "referencedDeclaration": 505, + "src": "11127:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -7465,12 +7541,12 @@ }, { "argumentTypes": null, - "id": 558, + "id": 562, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 504, - "src": "11121:12:0", + "referencedDeclaration": 508, + "src": "11139:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" @@ -7478,12 +7554,12 @@ }, { "argumentTypes": null, - "id": 559, + "id": 563, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 507, - "src": "11135:7:0", + "referencedDeclaration": 511, + "src": "11153:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", "typeString": "uint256[] calldata" @@ -7505,18 +7581,18 @@ "typeString": "uint256[] calldata" } ], - "id": 556, + "id": 560, "name": "_transferFunds", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 887, - "src": "11094:14:0", + "referencedDeclaration": 895, + "src": "11112:14:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$_t_uint256_$", "typeString": "function (bytes32,address[] memory,uint256[] memory) returns (uint256)" } }, - "id": 560, + "id": 564, "isConstant": false, "isLValue": false, "isPure": false, @@ -7524,7 +7600,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "11094:49:0", + "src": "11112:49:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7538,26 +7614,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 561, + "id": 565, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "11147:12:0", + "src": "11165:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 563, + "id": 567, "indexExpression": { "argumentTypes": null, - "id": 562, + "id": 566, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 501, - "src": "11160:10:0", + "referencedDeclaration": 505, + "src": "11178:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -7568,13 +7644,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "11147:24:0", + "src": "11165:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 564, + "id": 568, "isConstant": false, "isLValue": true, "isPure": false, @@ -7582,13 +7658,13 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": 40, - "src": "11147:30:0", + "src": "11165:30:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "11094:83:0", + "src": "11112:83:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -7597,14 +7673,14 @@ { "argumentTypes": null, "hexValue": "546f74616c2076616c756520746f2062652072656c6561736564206d75737420626520657175616c20746f20746865207472616e73616374696f6e20657363726f772076616c7565", - "id": 566, + "id": 570, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "11191:74:0", + "src": "11209:74:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_9e0bdb14e2e0d5e118fd1f547268c6a1fdb5e8facacd614066d4b60bc2c9941d", @@ -7624,21 +7700,21 @@ "typeString": "literal_string \"Total value to be released must be equal to the transaction escrow value\"" } ], - "id": 555, + "id": 559, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1381, - 1382 + 1391, + 1392 ], - "referencedDeclaration": 1382, - "src": "11073:7:0", + "referencedDeclaration": 1392, + "src": "11091:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 567, + "id": 571, "isConstant": false, "isLValue": false, "isPure": false, @@ -7646,15 +7722,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "11073:202:0", + "src": "11091:202:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 568, + "id": 572, "nodeType": "ExpressionStatement", - "src": "11073:202:0" + "src": "11091:202:0" }, { "eventCall": { @@ -7662,12 +7738,12 @@ "arguments": [ { "argumentTypes": null, - "id": 570, + "id": 574, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 501, - "src": "11308:10:0", + "referencedDeclaration": 505, + "src": "11326:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -7675,12 +7751,12 @@ }, { "argumentTypes": null, - "id": 571, + "id": 575, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 504, - "src": "11320:12:0", + "referencedDeclaration": 508, + "src": "11338:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" @@ -7688,12 +7764,12 @@ }, { "argumentTypes": null, - "id": 572, + "id": 576, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 507, - "src": "11334:7:0", + "referencedDeclaration": 511, + "src": "11352:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", "typeString": "uint256[] calldata" @@ -7715,18 +7791,18 @@ "typeString": "uint256[] calldata" } ], - "id": 569, + "id": 573, "name": "Executed", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 22, - "src": "11299:8:0", + "src": "11317:8:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$__$", "typeString": "function (bytes32,address[] memory,uint256[] memory)" } }, - "id": 573, + "id": 577, "isConstant": false, "isLValue": false, "isPure": false, @@ -7734,20 +7810,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "11299:43:0", + "src": "11317:43:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 574, + "id": 578, "nodeType": "EmitStatement", - "src": "11294:48:0" + "src": "11312:48:0" } ] }, "documentation": "dev This method will be used to release funds associated with the transaction\nPlease see specs https://github.com/OpenBazaar/smart-contracts/blob/master/contracts/escrow/EscrowSpec.md\nparam sigV Array containing V component of all the signatures\nparam sigR Array containing R component of all the signatures\nparam signS Array containing S component of all the signatures\nparam scriptHash script hash of the transaction\nparam destinations List of addresses who will receive funds\nparam amounts amount released to each destination", - "id": 576, + "id": 580, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -7756,82 +7832,82 @@ "arguments": [ { "argumentTypes": null, - "id": 510, + "id": 514, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 501, - "src": "10507:10:0", + "referencedDeclaration": 505, + "src": "10525:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } } ], - "id": 511, + "id": 515, "modifierName": { "argumentTypes": null, - "id": 509, + "id": 513, "name": "transactionExist", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 99, - "src": "10490:16:0", + "src": "10508:16:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "10490:28:0" + "src": "10508:28:0" }, { "arguments": [ { "argumentTypes": null, - "id": 513, + "id": 517, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 501, - "src": "10541:10:0", + "referencedDeclaration": 505, + "src": "10559:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } } ], - "id": 514, + "id": 518, "modifierName": { "argumentTypes": null, - "id": 512, + "id": 516, "name": "inFundedState", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 132, - "src": "10527:13:0", + "src": "10545:13:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "10527:25:0" + "src": "10545:25:0" } ], "name": "execute", "nodeType": "FunctionDefinition", "parameters": { - "id": 508, + "id": 512, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 493, + "id": 497, "name": "sigV", "nodeType": "VariableDeclaration", - "scope": 576, - "src": "10311:12:0", + "scope": 580, + "src": "10329:12:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -7840,19 +7916,19 @@ }, "typeName": { "baseType": { - "id": 491, + "id": 495, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "10311:5:0", + "src": "10329:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, - "id": 492, + "id": 496, "length": null, "nodeType": "ArrayTypeName", - "src": "10311:7:0", + "src": "10329:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_storage_ptr", "typeString": "uint8[]" @@ -7863,11 +7939,11 @@ }, { "constant": false, - "id": 496, + "id": 500, "name": "sigR", "nodeType": "VariableDeclaration", - "scope": 576, - "src": "10333:14:0", + "scope": 580, + "src": "10351:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -7876,19 +7952,19 @@ }, "typeName": { "baseType": { - "id": 494, + "id": 498, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "10333:7:0", + "src": "10351:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "id": 495, + "id": 499, "length": null, "nodeType": "ArrayTypeName", - "src": "10333:9:0", + "src": "10351:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -7899,11 +7975,11 @@ }, { "constant": false, - "id": 499, + "id": 503, "name": "sigS", "nodeType": "VariableDeclaration", - "scope": 576, - "src": "10357:14:0", + "scope": 580, + "src": "10375:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -7912,19 +7988,19 @@ }, "typeName": { "baseType": { - "id": 497, + "id": 501, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "10357:7:0", + "src": "10375:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "id": 498, + "id": 502, "length": null, "nodeType": "ArrayTypeName", - "src": "10357:9:0", + "src": "10375:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -7935,11 +8011,11 @@ }, { "constant": false, - "id": 501, + "id": 505, "name": "scriptHash", "nodeType": "VariableDeclaration", - "scope": 576, - "src": "10381:18:0", + "scope": 580, + "src": "10399:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -7947,10 +8023,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 500, + "id": 504, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "10381:7:0", + "src": "10399:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -7961,11 +8037,11 @@ }, { "constant": false, - "id": 504, + "id": 508, "name": "destinations", "nodeType": "VariableDeclaration", - "scope": 576, - "src": "10409:22:0", + "scope": 580, + "src": "10427:22:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -7974,19 +8050,19 @@ }, "typeName": { "baseType": { - "id": 502, + "id": 506, "name": "address", "nodeType": "ElementaryTypeName", - "src": "10409:7:0", + "src": "10427:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 503, + "id": 507, "length": null, "nodeType": "ArrayTypeName", - "src": "10409:9:0", + "src": "10427:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", "typeString": "address[]" @@ -7997,11 +8073,11 @@ }, { "constant": false, - "id": 507, + "id": 511, "name": "amounts", "nodeType": "VariableDeclaration", - "scope": 576, - "src": "10441:17:0", + "scope": 580, + "src": "10459:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8010,19 +8086,19 @@ }, "typeName": { "baseType": { - "id": 505, + "id": 509, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "10441:7:0", + "src": "10459:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 506, + "id": 510, "length": null, "nodeType": "ArrayTypeName", - "src": "10441:9:0", + "src": "10459:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -8032,26 +8108,26 @@ "visibility": "internal" } ], - "src": "10301:163:0" + "src": "10319:163:0" }, "payable": false, "returnParameters": { - "id": 515, + "id": 519, "nodeType": "ParameterList", "parameters": [], - "src": "10557:0:0" + "src": "10575:0:0" }, - "scope": 1205, - "src": "10285:1064:0", + "scope": 1215, + "src": "10303:1064:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" }, { "body": { - "id": 630, + "id": 638, "nodeType": "Block", - "src": "12103:716:0", + "src": "12121:734:0", "statements": [ { "condition": { @@ -8060,19 +8136,19 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 599, + "id": 603, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 595, + "id": 599, "name": "tokenAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 590, - "src": "12117:12:0", + "referencedDeclaration": 594, + "src": "12135:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8086,14 +8162,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 597, + "id": 601, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "12141:1:0", + "src": "12159:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -8109,20 +8185,20 @@ "typeString": "int_const 0" } ], - "id": 596, + "id": 600, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "12133:7:0", + "src": "12151:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, - "id": 598, + "id": 602, "isConstant": false, "isLValue": false, "isPure": true, @@ -8130,22 +8206,22 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "12133:10:0", + "src": "12151:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "12117:26:0", + "src": "12135:26:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": { - "id": 628, + "id": 636, "nodeType": "Block", - "src": "12465:348:0", + "src": "12492:357:0", "statements": [ { "expression": { @@ -8156,12 +8232,12 @@ "arguments": [ { "argumentTypes": null, - "id": 617, + "id": 623, "name": "uniqueId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 578, - "src": "12551:8:0", + "referencedDeclaration": 582, + "src": "12578:8:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -8169,12 +8245,12 @@ }, { "argumentTypes": null, - "id": 618, + "id": 624, "name": "threshold", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 580, - "src": "12581:9:0", + "referencedDeclaration": 584, + "src": "12608:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -8182,12 +8258,12 @@ }, { "argumentTypes": null, - "id": 619, + "id": 625, "name": "timeoutHours", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 582, - "src": "12612:12:0", + "referencedDeclaration": 586, + "src": "12639:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -8195,12 +8271,12 @@ }, { "argumentTypes": null, - "id": 620, + "id": 626, "name": "buyer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 584, - "src": "12646:5:0", + "referencedDeclaration": 588, + "src": "12673:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8208,12 +8284,12 @@ }, { "argumentTypes": null, - "id": 621, + "id": 627, "name": "seller", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 586, - "src": "12673:6:0", + "referencedDeclaration": 590, + "src": "12700:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8221,12 +8297,12 @@ }, { "argumentTypes": null, - "id": 622, + "id": 628, "name": "moderator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 588, - "src": "12701:9:0", + "referencedDeclaration": 592, + "src": "12728:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8234,25 +8310,63 @@ }, { "argumentTypes": null, - "id": 623, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1395, - "src": "12732:4:0", + "arguments": [ + { + "argumentTypes": null, + "id": 630, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1405, + "src": "12767:4:0", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Escrow_v1_0_$1215", + "typeString": "contract Escrow_v1_0" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_Escrow_v1_0_$1215", + "typeString": "contract Escrow_v1_0" + } + ], + "id": 629, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "12759:7:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 631, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12759:13:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_Escrow_v1_0_$1205", - "typeString": "contract Escrow_v1_0" + "typeIdentifier": "t_address", + "typeString": "address" } }, { "argumentTypes": null, - "id": 624, + "id": 632, "name": "tokenAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 590, - "src": "12758:12:0", + "referencedDeclaration": 594, + "src": "12794:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8286,8 +8400,8 @@ "typeString": "address" }, { - "typeIdentifier": "t_contract$_Escrow_v1_0_$1205", - "typeString": "contract Escrow_v1_0" + "typeIdentifier": "t_address", + "typeString": "address" }, { "typeIdentifier": "t_address", @@ -8296,18 +8410,18 @@ ], "expression": { "argumentTypes": null, - "id": 615, + "id": 621, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1365, - "src": "12513:3:0", + "referencedDeclaration": 1375, + "src": "12540:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, - "id": 616, + "id": 622, "isConstant": false, "isLValue": false, "isPure": true, @@ -8315,13 +8429,13 @@ "memberName": "encodePacked", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "12513:16:0", + "src": "12540:16:0", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, - "id": 625, + "id": 633, "isConstant": false, "isLValue": false, "isPure": false, @@ -8329,7 +8443,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "12513:275:0", + "src": "12540:284:0", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -8343,18 +8457,18 @@ "typeString": "bytes memory" } ], - "id": 614, + "id": 620, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1372, - "src": "12486:9:0", + "referencedDeclaration": 1382, + "src": "12513:9:0", "typeDescriptions": { "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", "typeString": "function () pure returns (bytes32)" } }, - "id": 626, + "id": 634, "isConstant": false, "isLValue": false, "isPure": false, @@ -8362,26 +8476,26 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "12486:316:0", + "src": "12513:325:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "functionReturnParameters": 594, - "id": 627, + "functionReturnParameters": 598, + "id": 635, "nodeType": "Return", - "src": "12479:323:0" + "src": "12506:332:0" } ] }, - "id": 629, + "id": 637, "nodeType": "IfStatement", - "src": "12113:700:0", + "src": "12131:718:0", "trueBody": { - "id": 613, + "id": 619, "nodeType": "Block", - "src": "12145:314:0", + "src": "12163:323:0", "statements": [ { "expression": { @@ -8392,12 +8506,12 @@ "arguments": [ { "argumentTypes": null, - "id": 603, + "id": 607, "name": "uniqueId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 578, - "src": "12231:8:0", + "referencedDeclaration": 582, + "src": "12249:8:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -8405,12 +8519,12 @@ }, { "argumentTypes": null, - "id": 604, + "id": 608, "name": "threshold", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 580, - "src": "12261:9:0", + "referencedDeclaration": 584, + "src": "12279:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -8418,12 +8532,12 @@ }, { "argumentTypes": null, - "id": 605, + "id": 609, "name": "timeoutHours", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 582, - "src": "12292:12:0", + "referencedDeclaration": 586, + "src": "12310:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -8431,12 +8545,12 @@ }, { "argumentTypes": null, - "id": 606, + "id": 610, "name": "buyer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 584, - "src": "12326:5:0", + "referencedDeclaration": 588, + "src": "12344:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8444,12 +8558,12 @@ }, { "argumentTypes": null, - "id": 607, + "id": 611, "name": "seller", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 586, - "src": "12353:6:0", + "referencedDeclaration": 590, + "src": "12371:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8457,12 +8571,12 @@ }, { "argumentTypes": null, - "id": 608, + "id": 612, "name": "moderator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 588, - "src": "12381:9:0", + "referencedDeclaration": 592, + "src": "12399:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8470,24 +8584,62 @@ }, { "argumentTypes": null, - "id": 609, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1395, - "src": "12412:4:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Escrow_v1_0_$1205", - "typeString": "contract Escrow_v1_0" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes20", - "typeString": "bytes20" - }, + "arguments": [ + { + "argumentTypes": null, + "id": 614, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1405, + "src": "12438:4:0", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Escrow_v1_0_$1215", + "typeString": "contract Escrow_v1_0" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_Escrow_v1_0_$1215", + "typeString": "contract Escrow_v1_0" + } + ], + "id": 613, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "12430:7:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 615, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12430:13:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes20", + "typeString": "bytes20" + }, { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -8509,24 +8661,24 @@ "typeString": "address" }, { - "typeIdentifier": "t_contract$_Escrow_v1_0_$1205", - "typeString": "contract Escrow_v1_0" + "typeIdentifier": "t_address", + "typeString": "address" } ], "expression": { "argumentTypes": null, - "id": 601, + "id": 605, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1365, - "src": "12193:3:0", + "referencedDeclaration": 1375, + "src": "12211:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, - "id": 602, + "id": 606, "isConstant": false, "isLValue": false, "isPure": true, @@ -8534,13 +8686,13 @@ "memberName": "encodePacked", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "12193:16:0", + "src": "12211:16:0", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, - "id": 610, + "id": 616, "isConstant": false, "isLValue": false, "isPure": false, @@ -8548,7 +8700,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "12193:241:0", + "src": "12211:250:0", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -8562,18 +8714,18 @@ "typeString": "bytes memory" } ], - "id": 600, + "id": 604, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1372, - "src": "12166:9:0", + "referencedDeclaration": 1382, + "src": "12184:9:0", "typeDescriptions": { "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", "typeString": "function () pure returns (bytes32)" } }, - "id": 611, + "id": 617, "isConstant": false, "isLValue": false, "isPure": false, @@ -8581,16 +8733,16 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "12166:282:0", + "src": "12184:291:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "functionReturnParameters": 594, - "id": 612, + "functionReturnParameters": 598, + "id": 618, "nodeType": "Return", - "src": "12159:289:0" + "src": "12177:298:0" } ] } @@ -8598,7 +8750,7 @@ ] }, "documentation": "dev Method for calculating script hash. Calculation will depend upon the type of transaction\nETHER Type transaction-:\nScript Hash- keccak256(uniqueId, threshold, timeoutHours, buyer, seller, moderator)\nTOKEN Type transaction\nScript Hash- keccak256(uniqueId, threshold, timeoutHours, buyer, seller, moderator, tokenAddress)\nClient can use this method to verify whether it has calculated correct script hash or not", - "id": 631, + "id": 639, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -8606,16 +8758,16 @@ "name": "calculateRedeemScriptHash", "nodeType": "FunctionDefinition", "parameters": { - "id": 591, + "id": 595, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 578, + "id": 582, "name": "uniqueId", "nodeType": "VariableDeclaration", - "scope": 631, - "src": "11864:16:0", + "scope": 639, + "src": "11882:16:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8623,10 +8775,10 @@ "typeString": "bytes20" }, "typeName": { - "id": 577, + "id": 581, "name": "bytes20", "nodeType": "ElementaryTypeName", - "src": "11864:7:0", + "src": "11882:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -8637,11 +8789,11 @@ }, { "constant": false, - "id": 580, + "id": 584, "name": "threshold", "nodeType": "VariableDeclaration", - "scope": 631, - "src": "11890:15:0", + "scope": 639, + "src": "11908:15:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8649,10 +8801,10 @@ "typeString": "uint8" }, "typeName": { - "id": 579, + "id": 583, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "11890:5:0", + "src": "11908:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -8663,11 +8815,11 @@ }, { "constant": false, - "id": 582, + "id": 586, "name": "timeoutHours", "nodeType": "VariableDeclaration", - "scope": 631, - "src": "11915:19:0", + "scope": 639, + "src": "11933:19:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8675,10 +8827,10 @@ "typeString": "uint32" }, "typeName": { - "id": 581, + "id": 585, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "11915:6:0", + "src": "11933:6:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -8689,11 +8841,11 @@ }, { "constant": false, - "id": 584, + "id": 588, "name": "buyer", "nodeType": "VariableDeclaration", - "scope": 631, - "src": "11944:13:0", + "scope": 639, + "src": "11962:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8701,10 +8853,10 @@ "typeString": "address" }, "typeName": { - "id": 583, + "id": 587, "name": "address", "nodeType": "ElementaryTypeName", - "src": "11944:7:0", + "src": "11962:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8715,11 +8867,11 @@ }, { "constant": false, - "id": 586, + "id": 590, "name": "seller", "nodeType": "VariableDeclaration", - "scope": 631, - "src": "11967:14:0", + "scope": 639, + "src": "11985:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8727,10 +8879,10 @@ "typeString": "address" }, "typeName": { - "id": 585, + "id": 589, "name": "address", "nodeType": "ElementaryTypeName", - "src": "11967:7:0", + "src": "11985:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8741,11 +8893,11 @@ }, { "constant": false, - "id": 588, + "id": 592, "name": "moderator", "nodeType": "VariableDeclaration", - "scope": 631, - "src": "11991:17:0", + "scope": 639, + "src": "12009:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8753,10 +8905,10 @@ "typeString": "address" }, "typeName": { - "id": 587, + "id": 591, "name": "address", "nodeType": "ElementaryTypeName", - "src": "11991:7:0", + "src": "12009:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8767,11 +8919,11 @@ }, { "constant": false, - "id": 590, + "id": 594, "name": "tokenAddress", "nodeType": "VariableDeclaration", - "scope": 631, - "src": "12018:20:0", + "scope": 639, + "src": "12036:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8779,10 +8931,10 @@ "typeString": "address" }, "typeName": { - "id": 589, + "id": 593, "name": "address", "nodeType": "ElementaryTypeName", - "src": "12018:7:0", + "src": "12036:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8792,20 +8944,20 @@ "visibility": "internal" } ], - "src": "11854:190:0" + "src": "11872:190:0" }, "payable": false, "returnParameters": { - "id": 594, + "id": 598, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 593, + "id": 597, "name": "", "nodeType": "VariableDeclaration", - "scope": 631, - "src": "12090:7:0", + "scope": 639, + "src": "12108:7:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8813,10 +8965,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 592, + "id": 596, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "12090:7:0", + "src": "12108:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -8826,32 +8978,32 @@ "visibility": "internal" } ], - "src": "12089:9:0" + "src": "12107:9:0" }, - "scope": 1205, - "src": "11820:999:0", + "scope": 1215, + "src": "11838:1017:0", "stateMutability": "view", "superFunction": null, "visibility": "public" }, { "body": { - "id": 699, + "id": 707, "nodeType": "Block", - "src": "13304:797:0", + "src": "13340:797:0", "statements": [ { "assignments": [ - 652 + 660 ], "declarations": [ { "constant": false, - "id": 652, + "id": 660, "name": "lastRecovered", "nodeType": "VariableDeclaration", - "scope": 700, - "src": "13314:21:0", + "scope": 708, + "src": "13350:21:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8859,10 +9011,10 @@ "typeString": "address" }, "typeName": { - "id": 651, + "id": 659, "name": "address", "nodeType": "ElementaryTypeName", - "src": "13314:7:0", + "src": "13350:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8872,18 +9024,18 @@ "visibility": "internal" } ], - "id": 661, + "id": 669, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 654, + "id": 662, "name": "sigV", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 634, - "src": "13369:4:0", + "referencedDeclaration": 642, + "src": "13405:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr", "typeString": "uint8[] memory" @@ -8891,12 +9043,12 @@ }, { "argumentTypes": null, - "id": 655, + "id": 663, "name": "sigR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 637, - "src": "13387:4:0", + "referencedDeclaration": 645, + "src": "13423:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" @@ -8904,12 +9056,12 @@ }, { "argumentTypes": null, - "id": 656, + "id": 664, "name": "sigS", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 640, - "src": "13405:4:0", + "referencedDeclaration": 648, + "src": "13441:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" @@ -8917,12 +9069,12 @@ }, { "argumentTypes": null, - "id": 657, + "id": 665, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 642, - "src": "13423:10:0", + "referencedDeclaration": 650, + "src": "13459:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -8930,12 +9082,12 @@ }, { "argumentTypes": null, - "id": 658, + "id": 666, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 645, - "src": "13447:12:0", + "referencedDeclaration": 653, + "src": "13483:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -8943,12 +9095,12 @@ }, { "argumentTypes": null, - "id": 659, + "id": 667, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 648, - "src": "13473:7:0", + "referencedDeclaration": 656, + "src": "13509:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" @@ -8982,18 +9134,18 @@ "typeString": "uint256[] memory" } ], - "id": 653, + "id": 661, "name": "_verifySignatures", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1016, - "src": "13338:17:0", + "referencedDeclaration": 1026, + "src": "13374:17:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_array$_t_uint8_$dyn_memory_ptr_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_bytes32_$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$_t_address_$", "typeString": "function (uint8[] memory,bytes32[] memory,bytes32[] memory,bytes32,address[] memory,uint256[] memory) returns (address)" } }, - "id": 660, + "id": 668, "isConstant": false, "isLValue": false, "isPure": false, @@ -9001,27 +9153,27 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "13338:152:0", + "src": "13374:152:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "VariableDeclarationStatement", - "src": "13314:176:0" + "src": "13350:176:0" }, { "assignments": [ - 663 + 671 ], "declarations": [ { "constant": false, - "id": 663, + "id": 671, "name": "timeLockExpired", "nodeType": "VariableDeclaration", - "scope": 700, - "src": "13501:20:0", + "scope": 708, + "src": "13537:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9029,10 +9181,10 @@ "typeString": "bool" }, "typeName": { - "id": 662, + "id": 670, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "13501:4:0", + "src": "13537:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -9042,7 +9194,7 @@ "visibility": "internal" } ], - "id": 674, + "id": 682, "initialValue": { "argumentTypes": null, "arguments": [ @@ -9052,26 +9204,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 665, + "id": 673, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "13556:12:0", + "src": "13592:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 667, + "id": 675, "indexExpression": { "argumentTypes": null, - "id": 666, + "id": 674, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 642, - "src": "13569:10:0", + "referencedDeclaration": 650, + "src": "13605:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -9082,13 +9234,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "13556:24:0", + "src": "13592:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 668, + "id": 676, "isConstant": false, "isLValue": true, "isPure": false, @@ -9096,7 +9248,7 @@ "memberName": "timeoutHours", "nodeType": "MemberAccess", "referencedDeclaration": 50, - "src": "13556:37:0", + "src": "13592:37:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -9108,26 +9260,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 669, + "id": 677, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "13607:12:0", + "src": "13643:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 671, + "id": 679, "indexExpression": { "argumentTypes": null, - "id": 670, + "id": 678, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 642, - "src": "13620:10:0", + "referencedDeclaration": 650, + "src": "13656:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -9138,13 +9290,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "13607:24:0", + "src": "13643:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 672, + "id": 680, "isConstant": false, "isLValue": true, "isPure": false, @@ -9152,7 +9304,7 @@ "memberName": "lastModified", "nodeType": "MemberAccess", "referencedDeclaration": 42, - "src": "13607:37:0", + "src": "13643:37:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9170,18 +9322,18 @@ "typeString": "uint256" } ], - "id": 664, + "id": 672, "name": "_isTimeLockExpired", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1048, - "src": "13524:18:0", + "referencedDeclaration": 1058, + "src": "13560:18:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_uint32_$_t_uint256_$returns$_t_bool_$", "typeString": "function (uint32,uint256) view returns (bool)" } }, - "id": 673, + "id": 681, "isConstant": false, "isLValue": false, "isPure": false, @@ -9189,14 +9341,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "13524:130:0", + "src": "13560:130:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "nodeType": "VariableDeclarationStatement", - "src": "13501:153:0" + "src": "13537:153:0" }, { "condition": { @@ -9205,7 +9357,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 692, + "id": 700, "isConstant": false, "isLValue": false, "isPure": false, @@ -9216,7 +9368,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 681, + "id": 689, "isConstant": false, "isLValue": false, "isPure": false, @@ -9225,18 +9377,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 675, + "id": 683, "name": "sigV", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 634, - "src": "13826:4:0", + "referencedDeclaration": 642, + "src": "13862:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr", "typeString": "uint8[] memory" } }, - "id": 676, + "id": 684, "isConstant": false, "isLValue": false, "isPure": false, @@ -9244,7 +9396,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "13826:11:0", + "src": "13862:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9258,26 +9410,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 677, + "id": 685, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "13840:12:0", + "src": "13876:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 679, + "id": 687, "indexExpression": { "argumentTypes": null, - "id": 678, + "id": 686, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 642, - "src": "13853:10:0", + "referencedDeclaration": 650, + "src": "13889:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -9288,13 +9440,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "13840:24:0", + "src": "13876:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 680, + "id": 688, "isConstant": false, "isLValue": true, "isPure": false, @@ -9302,13 +9454,13 @@ "memberName": "threshold", "nodeType": "MemberAccess", "referencedDeclaration": 48, - "src": "13840:34:0", + "src": "13876:34:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, - "src": "13826:48:0", + "src": "13862:48:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -9325,14 +9477,14 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 690, + "id": 698, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 683, + "id": 691, "isConstant": false, "isLValue": false, "isPure": false, @@ -9340,15 +9492,15 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "13879:16:0", + "src": "13915:16:0", "subExpression": { "argumentTypes": null, - "id": 682, + "id": 690, "name": "timeLockExpired", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 663, - "src": "13880:15:0", + "referencedDeclaration": 671, + "src": "13916:15:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -9367,19 +9519,19 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 689, + "id": 697, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 684, + "id": 692, "name": "lastRecovered", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 652, - "src": "13899:13:0", + "referencedDeclaration": 660, + "src": "13935:13:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -9393,26 +9545,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 685, + "id": 693, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "13916:12:0", + "src": "13952:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 687, + "id": 695, "indexExpression": { "argumentTypes": null, - "id": 686, + "id": 694, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 642, - "src": "13929:10:0", + "referencedDeclaration": 650, + "src": "13965:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -9423,13 +9575,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "13916:24:0", + "src": "13952:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 688, + "id": 696, "isConstant": false, "isLValue": true, "isPure": false, @@ -9437,52 +9589,52 @@ "memberName": "seller", "nodeType": "MemberAccess", "referencedDeclaration": 54, - "src": "13916:31:0", + "src": "13952:31:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "13899:48:0", + "src": "13935:48:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "13879:68:0", + "src": "13915:68:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } } ], - "id": 691, + "id": 699, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "13878:70:0", + "src": "13914:70:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "13826:122:0", + "src": "13862:122:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, - "id": 698, + "id": 706, "nodeType": "IfStatement", - "src": "13805:289:0", + "src": "13841:289:0", "trueBody": { - "id": 697, + "id": 705, "nodeType": "Block", - "src": "13971:123:0", + "src": "14007:123:0", "statements": [ { "expression": { @@ -9491,14 +9643,14 @@ { "argumentTypes": null, "hexValue": "4d696e696d756d206e756d626572206f66207369676e61747572657320617265206e6f7420636f6c6c656374656420616e642074696d65206c6f636b2065787069727920636f6e646974696f6e73206e6f74206d65742121", - "id": 694, + "id": 702, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "13992:90:0", + "src": "14028:90:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_e454643f61f81e3a3dc8dabaafde295fea592e232abeb03abbb1835bdc3d20d0", @@ -9514,21 +9666,21 @@ "typeString": "literal_string \"Minimum number of signatures are not collected and time lock expiry conditions not met!!\"" } ], - "id": 693, + "id": 701, "name": "revert", "nodeType": "Identifier", "overloadedDeclarations": [ - 1383, - 1384 + 1393, + 1394 ], - "referencedDeclaration": 1384, - "src": "13985:6:0", + "referencedDeclaration": 1394, + "src": "14021:6:0", "typeDescriptions": { "typeIdentifier": "t_function_revert_pure$_t_string_memory_ptr_$returns$__$", "typeString": "function (string memory) pure" } }, - "id": 695, + "id": 703, "isConstant": false, "isLValue": false, "isPure": false, @@ -9536,15 +9688,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "13985:98:0", + "src": "14021:98:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 696, + "id": 704, "nodeType": "ExpressionStatement", - "src": "13985:98:0" + "src": "14021:98:0" } ] } @@ -9552,7 +9704,7 @@ ] }, "documentation": "@dev This methods checks validity of transaction\n1. Verify Signatures\n2. Check if minimum number of signatures has been acquired\n3. If above condition is false, check if time lock is expired and the execution is signed by seller", - "id": 700, + "id": 708, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -9560,16 +9712,16 @@ "name": "_verifyTransaction", "nodeType": "FunctionDefinition", "parameters": { - "id": 649, + "id": 657, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 634, + "id": 642, "name": "sigV", "nodeType": "VariableDeclaration", - "scope": 700, - "src": "13130:12:0", + "scope": 708, + "src": "13166:12:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9578,19 +9730,19 @@ }, "typeName": { "baseType": { - "id": 632, + "id": 640, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "13130:5:0", + "src": "13166:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, - "id": 633, + "id": 641, "length": null, "nodeType": "ArrayTypeName", - "src": "13130:7:0", + "src": "13166:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_storage_ptr", "typeString": "uint8[]" @@ -9601,11 +9753,11 @@ }, { "constant": false, - "id": 637, + "id": 645, "name": "sigR", "nodeType": "VariableDeclaration", - "scope": 700, - "src": "13152:14:0", + "scope": 708, + "src": "13188:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9614,19 +9766,19 @@ }, "typeName": { "baseType": { - "id": 635, + "id": 643, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "13152:7:0", + "src": "13188:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "id": 636, + "id": 644, "length": null, "nodeType": "ArrayTypeName", - "src": "13152:9:0", + "src": "13188:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -9637,11 +9789,11 @@ }, { "constant": false, - "id": 640, + "id": 648, "name": "sigS", "nodeType": "VariableDeclaration", - "scope": 700, - "src": "13176:14:0", + "scope": 708, + "src": "13212:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9650,19 +9802,19 @@ }, "typeName": { "baseType": { - "id": 638, + "id": 646, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "13176:7:0", + "src": "13212:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "id": 639, + "id": 647, "length": null, "nodeType": "ArrayTypeName", - "src": "13176:9:0", + "src": "13212:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -9673,11 +9825,11 @@ }, { "constant": false, - "id": 642, + "id": 650, "name": "scriptHash", "nodeType": "VariableDeclaration", - "scope": 700, - "src": "13200:18:0", + "scope": 708, + "src": "13236:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9685,10 +9837,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 641, + "id": 649, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "13200:7:0", + "src": "13236:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -9699,11 +9851,11 @@ }, { "constant": false, - "id": 645, + "id": 653, "name": "destinations", "nodeType": "VariableDeclaration", - "scope": 700, - "src": "13228:22:0", + "scope": 708, + "src": "13264:22:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9712,19 +9864,19 @@ }, "typeName": { "baseType": { - "id": 643, + "id": 651, "name": "address", "nodeType": "ElementaryTypeName", - "src": "13228:7:0", + "src": "13264:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 644, + "id": 652, "length": null, "nodeType": "ArrayTypeName", - "src": "13228:9:0", + "src": "13264:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", "typeString": "address[]" @@ -9735,11 +9887,11 @@ }, { "constant": false, - "id": 648, + "id": 656, "name": "amounts", "nodeType": "VariableDeclaration", - "scope": 700, - "src": "13260:17:0", + "scope": 708, + "src": "13296:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9748,19 +9900,19 @@ }, "typeName": { "baseType": { - "id": 646, + "id": 654, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "13260:7:0", + "src": "13296:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 647, + "id": 655, "length": null, "nodeType": "ArrayTypeName", - "src": "13260:9:0", + "src": "13296:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -9770,39 +9922,39 @@ "visibility": "internal" } ], - "src": "13120:163:0" + "src": "13156:163:0" }, "payable": false, "returnParameters": { - "id": 650, + "id": 658, "nodeType": "ParameterList", "parameters": [], - "src": "13304:0:0" + "src": "13340:0:0" }, - "scope": 1205, - "src": "13093:1008:0", + "scope": 1215, + "src": "13129:1008:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "private" }, { "body": { - "id": 886, + "id": 894, "nodeType": "Block", - "src": "14388:1362:0", + "src": "14424:1362:0", "statements": [ { "assignments": [ - 714 + 722 ], "declarations": [ { "constant": false, - "id": 714, + "id": 722, "name": "t", "nodeType": "VariableDeclaration", - "scope": 887, - "src": "14398:21:0", + "scope": 895, + "src": "14434:21:0", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { @@ -9811,11 +9963,11 @@ }, "typeName": { "contractScope": null, - "id": 713, + "id": 721, "name": "Transaction", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 71, - "src": "14398:11:0", + "src": "14434:11:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction" @@ -9825,31 +9977,31 @@ "visibility": "internal" } ], - "id": 718, + "id": 726, "initialValue": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 715, + "id": 723, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "14422:12:0", + "src": "14458:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 717, + "id": 725, "indexExpression": { "argumentTypes": null, - "id": 716, + "id": 724, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 702, - "src": "14435:10:0", + "referencedDeclaration": 710, + "src": "14471:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -9860,27 +10012,27 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "14422:24:0", + "src": "14458:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "14398:48:0" + "src": "14434:48:0" }, { "assignments": [ - 720 + 728 ], "declarations": [ { "constant": false, - "id": 720, + "id": 728, "name": "valueTransferred", "nodeType": "VariableDeclaration", - "scope": 887, - "src": "14457:24:0", + "scope": 895, + "src": "14493:24:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9888,10 +10040,10 @@ "typeString": "uint256" }, "typeName": { - "id": 719, + "id": 727, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "14457:7:0", + "src": "14493:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9901,18 +10053,18 @@ "visibility": "internal" } ], - "id": 722, + "id": 730, "initialValue": { "argumentTypes": null, "hexValue": "30", - "id": 721, + "id": 729, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "14484:1:0", + "src": "14520:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -9921,7 +10073,7 @@ "value": "0" }, "nodeType": "VariableDeclarationStatement", - "src": "14457:28:0" + "src": "14493:28:0" }, { "condition": { @@ -9930,7 +10082,7 @@ "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" }, - "id": 727, + "id": 735, "isConstant": false, "isLValue": false, "isPure": false, @@ -9939,18 +10091,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 723, + "id": 731, "name": "t", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 714, - "src": "14500:1:0", + "referencedDeclaration": 722, + "src": "14536:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" } }, - "id": 724, + "id": 732, "isConstant": false, "isLValue": true, "isPure": false, @@ -9958,7 +10110,7 @@ "memberName": "transactionType", "nodeType": "MemberAccess", "referencedDeclaration": 46, - "src": "14500:17:0", + "src": "14536:17:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -9970,18 +10122,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 725, + "id": 733, "name": "TransactionType", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12, - "src": "14521:15:0", + "src": "14557:15:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_TransactionType_$12_$", "typeString": "type(enum Escrow_v1_0.TransactionType)" } }, - "id": 726, + "id": 734, "isConstant": false, "isLValue": false, "isPure": true, @@ -9989,13 +10141,13 @@ "memberName": "ETHER", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "14521:21:0", + "src": "14557:21:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" } }, - "src": "14500:42:0", + "src": "14536:42:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -10008,7 +10160,7 @@ "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" }, - "id": 801, + "id": 809, "isConstant": false, "isLValue": false, "isPure": false, @@ -10017,18 +10169,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 797, + "id": 805, "name": "t", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 714, - "src": "15056:1:0", + "referencedDeclaration": 722, + "src": "15092:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" } }, - "id": 798, + "id": 806, "isConstant": false, "isLValue": true, "isPure": false, @@ -10036,7 +10188,7 @@ "memberName": "transactionType", "nodeType": "MemberAccess", "referencedDeclaration": 46, - "src": "15056:17:0", + "src": "15092:17:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -10048,18 +10200,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 799, + "id": 807, "name": "TransactionType", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12, - "src": "15077:15:0", + "src": "15113:15:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_TransactionType_$12_$", "typeString": "type(enum Escrow_v1_0.TransactionType)" } }, - "id": 800, + "id": 808, "isConstant": false, "isLValue": false, "isPure": true, @@ -10067,54 +10219,54 @@ "memberName": "TOKEN", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "15077:21:0", + "src": "15113:21:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" } }, - "src": "15056:42:0", + "src": "15092:42:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, - "id": 882, + "id": 890, "nodeType": "IfStatement", - "src": "15052:658:0", + "src": "15088:658:0", "trueBody": { - "id": 881, + "id": 889, "nodeType": "Block", - "src": "15100:610:0", + "src": "15136:610:0", "statements": [ { "assignments": [ - 803 + 811 ], "declarations": [ { "constant": false, - "id": 803, + "id": 811, "name": "token", "nodeType": "VariableDeclaration", - "scope": 887, - "src": "15115:20:0", + "scope": 895, + "src": "15151:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenContract_$1235", + "typeIdentifier": "t_contract$_ITokenContract_$1245", "typeString": "contract ITokenContract" }, "typeName": { "contractScope": null, - "id": 802, + "id": 810, "name": "ITokenContract", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1235, - "src": "15115:14:0", + "referencedDeclaration": 1245, + "src": "15151:14:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenContract_$1235", + "typeIdentifier": "t_contract$_ITokenContract_$1245", "typeString": "contract ITokenContract" } }, @@ -10122,7 +10274,7 @@ "visibility": "internal" } ], - "id": 808, + "id": 816, "initialValue": { "argumentTypes": null, "arguments": [ @@ -10130,18 +10282,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 805, + "id": 813, "name": "t", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 714, - "src": "15153:1:0", + "referencedDeclaration": 722, + "src": "15189:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" } }, - "id": 806, + "id": 814, "isConstant": false, "isLValue": true, "isPure": false, @@ -10149,7 +10301,7 @@ "memberName": "tokenAddress", "nodeType": "MemberAccess", "referencedDeclaration": 56, - "src": "15153:14:0", + "src": "15189:14:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -10163,18 +10315,18 @@ "typeString": "address" } ], - "id": 804, + "id": 812, "name": "ITokenContract", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1235, - "src": "15138:14:0", + "referencedDeclaration": 1245, + "src": "15174:14:0", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ITokenContract_$1235_$", + "typeIdentifier": "t_type$_t_contract$_ITokenContract_$1245_$", "typeString": "type(contract ITokenContract)" } }, - "id": 807, + "id": 815, "isConstant": false, "isLValue": false, "isPure": false, @@ -10182,20 +10334,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15138:30:0", + "src": "15174:30:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenContract_$1235", + "typeIdentifier": "t_contract$_ITokenContract_$1245", "typeString": "contract ITokenContract" } }, "nodeType": "VariableDeclarationStatement", - "src": "15115:53:0" + "src": "15151:53:0" }, { "body": { - "id": 879, + "id": 887, "nodeType": "Block", - "src": "15231:469:0", + "src": "15267:469:0", "statements": [ { "expression": { @@ -10207,7 +10359,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 834, + "id": 842, "isConstant": false, "isLValue": false, "isPure": false, @@ -10218,7 +10370,7 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 827, + "id": 835, "isConstant": false, "isLValue": false, "isPure": false, @@ -10227,26 +10379,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 821, + "id": 829, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 705, - "src": "15258:12:0", + "referencedDeclaration": 713, + "src": "15294:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" } }, - "id": 823, + "id": 831, "indexExpression": { "argumentTypes": null, - "id": 822, + "id": 830, "name": "j", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 810, - "src": "15271:1:0", + "referencedDeclaration": 818, + "src": "15307:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10257,7 +10409,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15258:15:0", + "src": "15294:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -10271,14 +10423,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 825, + "id": 833, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "15285:1:0", + "src": "15321:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -10294,20 +10446,20 @@ "typeString": "int_const 0" } ], - "id": 824, + "id": 832, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "15277:7:0", + "src": "15313:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, - "id": 826, + "id": 834, "isConstant": false, "isLValue": false, "isPure": true, @@ -10315,13 +10467,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15277:10:0", + "src": "15313:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "15258:29:0", + "src": "15294:29:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -10335,18 +10487,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 828, + "id": 836, "name": "t", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 714, - "src": "15291:1:0", + "referencedDeclaration": 722, + "src": "15327:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" } }, - "id": 829, + "id": 837, "isConstant": false, "isLValue": true, "isPure": false, @@ -10354,37 +10506,37 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "15291:9:0", + "src": "15327:9:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 833, + "id": 841, "indexExpression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 830, + "id": 838, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 705, - "src": "15301:12:0", + "referencedDeclaration": 713, + "src": "15337:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" } }, - "id": 832, + "id": 840, "indexExpression": { "argumentTypes": null, - "id": 831, + "id": 839, "name": "j", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 810, - "src": "15314:1:0", + "referencedDeclaration": 818, + "src": "15350:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10395,7 +10547,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15301:15:0", + "src": "15337:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -10406,13 +10558,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15291:26:0", + "src": "15327:26:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "15258:59:0", + "src": "15294:59:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -10421,14 +10573,14 @@ { "argumentTypes": null, "hexValue": "4e6f7420612076616c69642064657374696e6174696f6e", - "id": 835, + "id": 843, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "15319:25:0", + "src": "15355:25:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_4b4c116dbf18274831a2b569c567d9fd9a0e9828a6c86ee9f93e80400fb6c49f", @@ -10448,21 +10600,21 @@ "typeString": "literal_string \"Not a valid destination\"" } ], - "id": 820, + "id": 828, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1381, - 1382 + 1391, + 1392 ], - "referencedDeclaration": 1382, - "src": "15250:7:0", + "referencedDeclaration": 1392, + "src": "15286:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 836, + "id": 844, "isConstant": false, "isLValue": false, "isPure": false, @@ -10470,15 +10622,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15250:95:0", + "src": "15286:95:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 837, + "id": 845, "nodeType": "ExpressionStatement", - "src": "15250:95:0" + "src": "15286:95:0" }, { "expression": { @@ -10490,7 +10642,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 843, + "id": 851, "isConstant": false, "isLValue": false, "isPure": false, @@ -10499,26 +10651,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 839, + "id": 847, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 708, - "src": "15371:7:0", + "referencedDeclaration": 716, + "src": "15407:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 841, + "id": 849, "indexExpression": { "argumentTypes": null, - "id": 840, + "id": 848, "name": "j", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 810, - "src": "15379:1:0", + "referencedDeclaration": 818, + "src": "15415:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10529,7 +10681,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15371:10:0", + "src": "15407:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10540,14 +10692,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 842, + "id": 850, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "15384:1:0", + "src": "15420:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -10555,7 +10707,7 @@ }, "value": "0" }, - "src": "15371:14:0", + "src": "15407:14:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -10564,14 +10716,14 @@ { "argumentTypes": null, "hexValue": "416d6f756e7420746f2062652073656e742073686f756c642062652067726561746572207468616e2030", - "id": 844, + "id": 852, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "15387:44:0", + "src": "15423:44:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_5e1271a09dbb64ae031de288deb0ad8d707df7db51d6e827931dc8fa6642a71e", @@ -10591,21 +10743,21 @@ "typeString": "literal_string \"Amount to be sent should be greater than 0\"" } ], - "id": 838, + "id": 846, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1381, - 1382 + 1391, + 1392 ], - "referencedDeclaration": 1382, - "src": "15363:7:0", + "referencedDeclaration": 1392, + "src": "15399:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 845, + "id": 853, "isConstant": false, "isLValue": false, "isPure": false, @@ -10613,32 +10765,32 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15363:69:0", + "src": "15399:69:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 846, + "id": 854, "nodeType": "ExpressionStatement", - "src": "15363:69:0" + "src": "15399:69:0" }, { "expression": { "argumentTypes": null, - "id": 854, + "id": 862, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 847, + "id": 855, "name": "valueTransferred", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 720, - "src": "15451:16:0", + "referencedDeclaration": 728, + "src": "15487:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10653,26 +10805,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 850, + "id": 858, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 708, - "src": "15491:7:0", + "referencedDeclaration": 716, + "src": "15527:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 852, + "id": 860, "indexExpression": { "argumentTypes": null, - "id": 851, + "id": 859, "name": "j", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 810, - "src": "15499:1:0", + "referencedDeclaration": 818, + "src": "15535:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10683,7 +10835,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15491:10:0", + "src": "15527:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10699,32 +10851,32 @@ ], "expression": { "argumentTypes": null, - "id": 848, + "id": 856, "name": "valueTransferred", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 720, - "src": "15470:16:0", + "referencedDeclaration": 728, + "src": "15506:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 849, + "id": 857, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 1342, - "src": "15470:20:0", + "referencedDeclaration": 1352, + "src": "15506:20:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 853, + "id": 861, "isConstant": false, "isLValue": false, "isPure": false, @@ -10732,26 +10884,26 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15470:32:0", + "src": "15506:32:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "15451:51:0", + "src": "15487:51:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 855, + "id": 863, "nodeType": "ExpressionStatement", - "src": "15451:51:0" + "src": "15487:51:0" }, { "expression": { "argumentTypes": null, - "id": 864, + "id": 872, "isConstant": false, "isLValue": false, "isPure": false, @@ -10762,18 +10914,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 856, + "id": 864, "name": "t", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 714, - "src": "15520:1:0", + "referencedDeclaration": 722, + "src": "15556:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" } }, - "id": 861, + "id": 869, "isConstant": false, "isLValue": true, "isPure": false, @@ -10781,37 +10933,37 @@ "memberName": "beneficiaries", "nodeType": "MemberAccess", "referencedDeclaration": 70, - "src": "15520:15:0", + "src": "15556:15:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 862, + "id": 870, "indexExpression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 858, + "id": 866, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 705, - "src": "15536:12:0", + "referencedDeclaration": 713, + "src": "15572:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" } }, - "id": 860, + "id": 868, "indexExpression": { "argumentTypes": null, - "id": 859, + "id": 867, "name": "j", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 810, - "src": "15549:1:0", + "referencedDeclaration": 818, + "src": "15585:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10822,7 +10974,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15536:15:0", + "src": "15572:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -10833,7 +10985,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "15520:32:0", + "src": "15556:32:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -10844,14 +10996,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "74727565", - "id": 863, + "id": 871, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "15555:4:0", + "src": "15591:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -10859,15 +11011,15 @@ }, "value": "true" }, - "src": "15520:39:0", + "src": "15556:39:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 865, + "id": 873, "nodeType": "ExpressionStatement", - "src": "15520:39:0" + "src": "15556:39:0" }, { "expression": { @@ -10880,26 +11032,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 869, + "id": 877, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 705, - "src": "15630:12:0", + "referencedDeclaration": 713, + "src": "15666:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" } }, - "id": 871, + "id": 879, "indexExpression": { "argumentTypes": null, - "id": 870, + "id": 878, "name": "j", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 810, - "src": "15643:1:0", + "referencedDeclaration": 818, + "src": "15679:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10910,7 +11062,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15630:15:0", + "src": "15666:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -10920,26 +11072,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 872, + "id": 880, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 708, - "src": "15647:7:0", + "referencedDeclaration": 716, + "src": "15683:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 874, + "id": 882, "indexExpression": { "argumentTypes": null, - "id": 873, + "id": 881, "name": "j", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 810, - "src": "15655:1:0", + "referencedDeclaration": 818, + "src": "15691:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10950,7 +11102,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15647:10:0", + "src": "15683:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10970,32 +11122,32 @@ ], "expression": { "argumentTypes": null, - "id": 867, + "id": 875, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 803, - "src": "15615:5:0", + "referencedDeclaration": 811, + "src": "15651:5:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenContract_$1235", + "typeIdentifier": "t_contract$_ITokenContract_$1245", "typeString": "contract ITokenContract" } }, - "id": 868, + "id": 876, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "transfer", "nodeType": "MemberAccess", - "referencedDeclaration": 1223, - "src": "15615:14:0", + "referencedDeclaration": 1233, + "src": "15651:14:0", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", "typeString": "function (address,uint256) external returns (bool)" } }, - "id": 875, + "id": 883, "isConstant": false, "isLValue": false, "isPure": false, @@ -11003,7 +11155,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15615:43:0", + "src": "15651:43:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -11012,14 +11164,14 @@ { "argumentTypes": null, "hexValue": "546f6b656e207472616e73666572206661696c65642e", - "id": 876, + "id": 884, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "15660:24:0", + "src": "15696:24:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_e545223bb79d8456d66fa5a98897abb42bb4807111f004a120200da3b7e292c5", @@ -11039,21 +11191,21 @@ "typeString": "literal_string \"Token transfer failed.\"" } ], - "id": 866, + "id": 874, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1381, - 1382 + 1391, + 1392 ], - "referencedDeclaration": 1382, - "src": "15607:7:0", + "referencedDeclaration": 1392, + "src": "15643:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 877, + "id": 885, "isConstant": false, "isLValue": false, "isPure": false, @@ -11061,15 +11213,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15607:78:0", + "src": "15643:78:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 878, + "id": 886, "nodeType": "ExpressionStatement", - "src": "15607:78:0" + "src": "15643:78:0" } ] }, @@ -11079,19 +11231,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 816, + "id": 824, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 813, + "id": 821, "name": "j", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 810, - "src": "15203:1:0", + "referencedDeclaration": 818, + "src": "15239:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11103,18 +11255,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 814, + "id": 822, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 705, - "src": "15205:12:0", + "referencedDeclaration": 713, + "src": "15241:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" } }, - "id": 815, + "id": 823, "isConstant": false, "isLValue": false, "isPure": false, @@ -11122,31 +11274,31 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "15205:19:0", + "src": "15241:19:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "15203:21:0", + "src": "15239:21:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 880, + "id": 888, "initializationExpression": { "assignments": [ - 810 + 818 ], "declarations": [ { "constant": false, - "id": 810, + "id": 818, "name": "j", "nodeType": "VariableDeclaration", - "scope": 887, - "src": "15188:9:0", + "scope": 895, + "src": "15224:9:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -11154,10 +11306,10 @@ "typeString": "uint256" }, "typeName": { - "id": 809, + "id": 817, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "15188:7:0", + "src": "15224:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11167,18 +11319,18 @@ "visibility": "internal" } ], - "id": 812, + "id": 820, "initialValue": { "argumentTypes": null, "hexValue": "30", - "id": 811, + "id": 819, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "15200:1:0", + "src": "15236:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -11187,12 +11339,12 @@ "value": "0" }, "nodeType": "VariableDeclarationStatement", - "src": "15188:13:0" + "src": "15224:13:0" }, "loopExpression": { "expression": { "argumentTypes": null, - "id": 818, + "id": 826, "isConstant": false, "isLValue": false, "isPure": false, @@ -11200,15 +11352,15 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "15226:3:0", + "src": "15262:3:0", "subExpression": { "argumentTypes": null, - "id": 817, + "id": 825, "name": "j", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 810, - "src": "15226:1:0", + "referencedDeclaration": 818, + "src": "15262:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11219,29 +11371,29 @@ "typeString": "uint256" } }, - "id": 819, + "id": 827, "nodeType": "ExpressionStatement", - "src": "15226:3:0" + "src": "15262:3:0" }, "nodeType": "ForStatement", - "src": "15183:517:0" + "src": "15219:517:0" } ] } }, - "id": 883, + "id": 891, "nodeType": "IfStatement", - "src": "14496:1214:0", + "src": "14532:1214:0", "trueBody": { - "id": 796, + "id": 804, "nodeType": "Block", - "src": "14544:502:0", + "src": "14580:502:0", "statements": [ { "body": { - "id": 794, + "id": 802, "nodeType": "Block", - "src": "14608:427:0", + "src": "14644:427:0", "statements": [ { "expression": { @@ -11253,7 +11405,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 753, + "id": 761, "isConstant": false, "isLValue": false, "isPure": false, @@ -11264,7 +11416,7 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 746, + "id": 754, "isConstant": false, "isLValue": false, "isPure": false, @@ -11273,26 +11425,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 740, + "id": 748, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 705, - "src": "14635:12:0", + "referencedDeclaration": 713, + "src": "14671:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" } }, - "id": 742, + "id": 750, "indexExpression": { "argumentTypes": null, - "id": 741, + "id": 749, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 729, - "src": "14648:1:0", + "referencedDeclaration": 737, + "src": "14684:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11303,7 +11455,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "14635:15:0", + "src": "14671:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -11317,14 +11469,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 744, + "id": 752, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "14662:1:0", + "src": "14698:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -11340,20 +11492,20 @@ "typeString": "int_const 0" } ], - "id": 743, + "id": 751, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "14654:7:0", + "src": "14690:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, - "id": 745, + "id": 753, "isConstant": false, "isLValue": false, "isPure": true, @@ -11361,13 +11513,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "14654:10:0", + "src": "14690:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "14635:29:0", + "src": "14671:29:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -11381,18 +11533,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 747, + "id": 755, "name": "t", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 714, - "src": "14668:1:0", + "referencedDeclaration": 722, + "src": "14704:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" } }, - "id": 748, + "id": 756, "isConstant": false, "isLValue": true, "isPure": false, @@ -11400,37 +11552,37 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "14668:9:0", + "src": "14704:9:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 752, + "id": 760, "indexExpression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 749, + "id": 757, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 705, - "src": "14678:12:0", + "referencedDeclaration": 713, + "src": "14714:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" } }, - "id": 751, + "id": 759, "indexExpression": { "argumentTypes": null, - "id": 750, + "id": 758, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 729, - "src": "14691:1:0", + "referencedDeclaration": 737, + "src": "14727:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11441,7 +11593,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "14678:15:0", + "src": "14714:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -11452,13 +11604,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "14668:26:0", + "src": "14704:26:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "14635:59:0", + "src": "14671:59:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -11467,14 +11619,14 @@ { "argumentTypes": null, "hexValue": "4e6f7420612076616c69642064657374696e6174696f6e", - "id": 754, + "id": 762, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "14696:25:0", + "src": "14732:25:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_4b4c116dbf18274831a2b569c567d9fd9a0e9828a6c86ee9f93e80400fb6c49f", @@ -11494,21 +11646,21 @@ "typeString": "literal_string \"Not a valid destination\"" } ], - "id": 739, + "id": 747, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1381, - 1382 + 1391, + 1392 ], - "referencedDeclaration": 1382, - "src": "14627:7:0", + "referencedDeclaration": 1392, + "src": "14663:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 755, + "id": 763, "isConstant": false, "isLValue": false, "isPure": false, @@ -11516,15 +11668,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "14627:95:0", + "src": "14663:95:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 756, + "id": 764, "nodeType": "ExpressionStatement", - "src": "14627:95:0" + "src": "14663:95:0" }, { "expression": { @@ -11536,7 +11688,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 762, + "id": 770, "isConstant": false, "isLValue": false, "isPure": false, @@ -11545,26 +11697,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 758, + "id": 766, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 708, - "src": "14748:7:0", + "referencedDeclaration": 716, + "src": "14784:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 760, + "id": 768, "indexExpression": { "argumentTypes": null, - "id": 759, + "id": 767, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 729, - "src": "14756:1:0", + "referencedDeclaration": 737, + "src": "14792:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11575,7 +11727,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "14748:10:0", + "src": "14784:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11586,14 +11738,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 761, + "id": 769, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "14761:1:0", + "src": "14797:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -11601,7 +11753,7 @@ }, "value": "0" }, - "src": "14748:14:0", + "src": "14784:14:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -11610,14 +11762,14 @@ { "argumentTypes": null, "hexValue": "416d6f756e7420746f2062652073656e742073686f756c642062652067726561746572207468616e2030", - "id": 763, + "id": 771, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "14764:44:0", + "src": "14800:44:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_5e1271a09dbb64ae031de288deb0ad8d707df7db51d6e827931dc8fa6642a71e", @@ -11637,21 +11789,21 @@ "typeString": "literal_string \"Amount to be sent should be greater than 0\"" } ], - "id": 757, + "id": 765, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1381, - 1382 + 1391, + 1392 ], - "referencedDeclaration": 1382, - "src": "14740:7:0", + "referencedDeclaration": 1392, + "src": "14776:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 764, + "id": 772, "isConstant": false, "isLValue": false, "isPure": false, @@ -11659,32 +11811,32 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "14740:69:0", + "src": "14776:69:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 765, + "id": 773, "nodeType": "ExpressionStatement", - "src": "14740:69:0" + "src": "14776:69:0" }, { "expression": { "argumentTypes": null, - "id": 773, + "id": 781, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 766, + "id": 774, "name": "valueTransferred", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 720, - "src": "14828:16:0", + "referencedDeclaration": 728, + "src": "14864:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11699,26 +11851,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 769, + "id": 777, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 708, - "src": "14868:7:0", + "referencedDeclaration": 716, + "src": "14904:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 771, + "id": 779, "indexExpression": { "argumentTypes": null, - "id": 770, + "id": 778, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 729, - "src": "14876:1:0", + "referencedDeclaration": 737, + "src": "14912:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11729,7 +11881,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "14868:10:0", + "src": "14904:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11745,32 +11897,32 @@ ], "expression": { "argumentTypes": null, - "id": 767, + "id": 775, "name": "valueTransferred", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 720, - "src": "14847:16:0", + "referencedDeclaration": 728, + "src": "14883:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 768, + "id": 776, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 1342, - "src": "14847:20:0", + "referencedDeclaration": 1352, + "src": "14883:20:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 772, + "id": 780, "isConstant": false, "isLValue": false, "isPure": false, @@ -11778,26 +11930,26 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "14847:32:0", + "src": "14883:32:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "14828:51:0", + "src": "14864:51:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 774, + "id": 782, "nodeType": "ExpressionStatement", - "src": "14828:51:0" + "src": "14864:51:0" }, { "expression": { "argumentTypes": null, - "id": 783, + "id": 791, "isConstant": false, "isLValue": false, "isPure": false, @@ -11808,18 +11960,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 775, + "id": 783, "name": "t", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 714, - "src": "14898:1:0", + "referencedDeclaration": 722, + "src": "14934:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" } }, - "id": 780, + "id": 788, "isConstant": false, "isLValue": true, "isPure": false, @@ -11827,37 +11979,37 @@ "memberName": "beneficiaries", "nodeType": "MemberAccess", "referencedDeclaration": 70, - "src": "14898:15:0", + "src": "14934:15:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 781, + "id": 789, "indexExpression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 777, + "id": 785, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 705, - "src": "14914:12:0", + "referencedDeclaration": 713, + "src": "14950:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" } }, - "id": 779, + "id": 787, "indexExpression": { "argumentTypes": null, - "id": 778, + "id": 786, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 729, - "src": "14927:1:0", + "referencedDeclaration": 737, + "src": "14963:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11868,7 +12020,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "14914:15:0", + "src": "14950:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -11879,7 +12031,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "14898:32:0", + "src": "14934:32:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -11890,14 +12042,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "74727565", - "id": 782, + "id": 790, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "14933:4:0", + "src": "14969:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -11905,15 +12057,15 @@ }, "value": "true" }, - "src": "14898:39:0", + "src": "14934:39:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 784, + "id": 792, "nodeType": "ExpressionStatement", - "src": "14898:39:0" + "src": "14934:39:0" }, { "expression": { @@ -11923,26 +12075,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 789, + "id": 797, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 708, - "src": "15009:7:0", + "referencedDeclaration": 716, + "src": "15045:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 791, + "id": 799, "indexExpression": { "argumentTypes": null, - "id": 790, + "id": 798, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 729, - "src": "15017:1:0", + "referencedDeclaration": 737, + "src": "15053:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11953,7 +12105,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15009:10:0", + "src": "15045:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11971,26 +12123,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 785, + "id": 793, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 705, - "src": "14984:12:0", + "referencedDeclaration": 713, + "src": "15020:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" } }, - "id": 787, + "id": 795, "indexExpression": { "argumentTypes": null, - "id": 786, + "id": 794, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 729, - "src": "14997:1:0", + "referencedDeclaration": 737, + "src": "15033:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12001,13 +12153,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "14984:15:0", + "src": "15020:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 788, + "id": 796, "isConstant": false, "isLValue": false, "isPure": false, @@ -12015,13 +12167,13 @@ "memberName": "transfer", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "14984:24:0", + "src": "15020:24:0", "typeDescriptions": { "typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$", "typeString": "function (uint256)" } }, - "id": 792, + "id": 800, "isConstant": false, "isLValue": false, "isPure": false, @@ -12029,15 +12181,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "14984:36:0", + "src": "15020:36:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 793, + "id": 801, "nodeType": "ExpressionStatement", - "src": "14984:36:0" + "src": "15020:36:0" } ] }, @@ -12047,19 +12199,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 735, + "id": 743, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 732, + "id": 740, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 729, - "src": "14578:1:0", + "referencedDeclaration": 737, + "src": "14614:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12071,18 +12223,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 733, + "id": 741, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 705, - "src": "14582:12:0", + "referencedDeclaration": 713, + "src": "14618:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" } }, - "id": 734, + "id": 742, "isConstant": false, "isLValue": false, "isPure": false, @@ -12090,31 +12242,31 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "14582:19:0", + "src": "14618:19:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "14578:23:0", + "src": "14614:23:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 795, + "id": 803, "initializationExpression": { "assignments": [ - 729 + 737 ], "declarations": [ { "constant": false, - "id": 729, + "id": 737, "name": "i", "nodeType": "VariableDeclaration", - "scope": 887, - "src": "14563:9:0", + "scope": 895, + "src": "14599:9:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12122,10 +12274,10 @@ "typeString": "uint256" }, "typeName": { - "id": 728, + "id": 736, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "14563:7:0", + "src": "14599:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12135,18 +12287,18 @@ "visibility": "internal" } ], - "id": 731, + "id": 739, "initialValue": { "argumentTypes": null, "hexValue": "30", - "id": 730, + "id": 738, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "14575:1:0", + "src": "14611:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -12155,12 +12307,12 @@ "value": "0" }, "nodeType": "VariableDeclarationStatement", - "src": "14563:13:0" + "src": "14599:13:0" }, "loopExpression": { "expression": { "argumentTypes": null, - "id": 737, + "id": 745, "isConstant": false, "isLValue": false, "isPure": false, @@ -12168,15 +12320,15 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "14603:3:0", + "src": "14639:3:0", "subExpression": { "argumentTypes": null, - "id": 736, + "id": 744, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 729, - "src": "14603:1:0", + "referencedDeclaration": 737, + "src": "14639:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12187,12 +12339,12 @@ "typeString": "uint256" } }, - "id": 738, + "id": 746, "nodeType": "ExpressionStatement", - "src": "14603:3:0" + "src": "14639:3:0" }, "nodeType": "ForStatement", - "src": "14558:477:0" + "src": "14594:477:0" } ] } @@ -12200,26 +12352,26 @@ { "expression": { "argumentTypes": null, - "id": 884, + "id": 892, "name": "valueTransferred", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 720, - "src": "15727:16:0", + "referencedDeclaration": 728, + "src": "15763:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 712, - "id": 885, + "functionReturnParameters": 720, + "id": 893, "nodeType": "Return", - "src": "15720:23:0" + "src": "15756:23:0" } ] }, "documentation": "dev Private method to transfer funds to the destination addresses on the basis of transaction type", - "id": 887, + "id": 895, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -12227,16 +12379,16 @@ "name": "_transferFunds", "nodeType": "FunctionDefinition", "parameters": { - "id": 709, + "id": 717, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 702, + "id": 710, "name": "scriptHash", "nodeType": "VariableDeclaration", - "scope": 887, - "src": "14260:18:0", + "scope": 895, + "src": "14296:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12244,10 +12396,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 701, + "id": 709, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "14260:7:0", + "src": "14296:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -12258,11 +12410,11 @@ }, { "constant": false, - "id": 705, + "id": 713, "name": "destinations", "nodeType": "VariableDeclaration", - "scope": 887, - "src": "14288:21:0", + "scope": 895, + "src": "14324:21:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12271,19 +12423,19 @@ }, "typeName": { "baseType": { - "id": 703, + "id": 711, "name": "address", "nodeType": "ElementaryTypeName", - "src": "14288:7:0", + "src": "14324:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 704, + "id": 712, "length": null, "nodeType": "ArrayTypeName", - "src": "14288:9:0", + "src": "14324:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", "typeString": "address[]" @@ -12294,11 +12446,11 @@ }, { "constant": false, - "id": 708, + "id": 716, "name": "amounts", "nodeType": "VariableDeclaration", - "scope": 887, - "src": "14319:16:0", + "scope": 895, + "src": "14355:16:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12307,19 +12459,19 @@ }, "typeName": { "baseType": { - "id": 706, + "id": 714, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "14319:7:0", + "src": "14355:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 707, + "id": 715, "length": null, "nodeType": "ArrayTypeName", - "src": "14319:9:0", + "src": "14355:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -12329,20 +12481,20 @@ "visibility": "internal" } ], - "src": "14250:91:0" + "src": "14286:91:0" }, "payable": false, "returnParameters": { - "id": 712, + "id": 720, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 711, + "id": 719, "name": "", "nodeType": "VariableDeclaration", - "scope": 887, - "src": "14375:7:0", + "scope": 895, + "src": "14411:7:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12350,10 +12502,10 @@ "typeString": "uint256" }, "typeName": { - "id": 710, + "id": 718, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "14375:7:0", + "src": "14411:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12363,19 +12515,19 @@ "visibility": "internal" } ], - "src": "14374:9:0" + "src": "14410:9:0" }, - "scope": 1205, - "src": "14227:1523:0", + "scope": 1215, + "src": "14263:1523:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "private" }, { "body": { - "id": 1015, + "id": 1025, "nodeType": "Block", - "src": "16170:1337:0", + "src": "16206:1346:0", "statements": [ { "expression": { @@ -12387,7 +12539,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 920, + "id": 928, "isConstant": false, "isLValue": false, "isPure": false, @@ -12398,7 +12550,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 914, + "id": 922, "isConstant": false, "isLValue": false, "isPure": false, @@ -12407,18 +12559,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 910, + "id": 918, "name": "sigR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 893, - "src": "16202:4:0", + "referencedDeclaration": 901, + "src": "16238:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" } }, - "id": 911, + "id": 919, "isConstant": false, "isLValue": false, "isPure": false, @@ -12426,7 +12578,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "16202:11:0", + "src": "16238:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12438,18 +12590,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 912, + "id": 920, "name": "sigS", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 896, - "src": "16217:4:0", + "referencedDeclaration": 904, + "src": "16253:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" } }, - "id": 913, + "id": 921, "isConstant": false, "isLValue": false, "isPure": false, @@ -12457,13 +12609,13 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "16217:11:0", + "src": "16253:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "16202:26:0", + "src": "16238:26:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -12477,7 +12629,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 919, + "id": 927, "isConstant": false, "isLValue": false, "isPure": false, @@ -12486,18 +12638,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 915, + "id": 923, "name": "sigR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 893, - "src": "16232:4:0", + "referencedDeclaration": 901, + "src": "16268:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" } }, - "id": 916, + "id": 924, "isConstant": false, "isLValue": false, "isPure": false, @@ -12505,7 +12657,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "16232:11:0", + "src": "16268:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12517,18 +12669,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 917, + "id": 925, "name": "sigV", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 890, - "src": "16247:4:0", + "referencedDeclaration": 898, + "src": "16283:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr", "typeString": "uint8[] memory" } }, - "id": 918, + "id": 926, "isConstant": false, "isLValue": false, "isPure": false, @@ -12536,19 +12688,19 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "16247:11:0", + "src": "16283:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "16232:26:0", + "src": "16268:26:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "16202:56:0", + "src": "16238:56:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -12557,14 +12709,14 @@ { "argumentTypes": null, "hexValue": "522c532c56206c656e677468206d69736d617463682e", - "id": 921, + "id": 929, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "16273:24:0", + "src": "16309:24:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_f85073c8befb65baed58ca1ee563e5da0bdbdce8abd4d29ef22a8329c7c97506", @@ -12584,21 +12736,21 @@ "typeString": "literal_string \"R,S,V length mismatch.\"" } ], - "id": 909, + "id": 917, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1381, - 1382 + 1391, + 1392 ], - "referencedDeclaration": 1382, - "src": "16181:7:0", + "referencedDeclaration": 1392, + "src": "16217:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 922, + "id": 930, "isConstant": false, "isLValue": false, "isPure": false, @@ -12606,26 +12758,26 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16181:126:0", + "src": "16217:126:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 923, + "id": 931, "nodeType": "ExpressionStatement", - "src": "16181:126:0" + "src": "16217:126:0" }, { "assignments": [], "declarations": [ { "constant": false, - "id": 925, + "id": 933, "name": "lastAddress", "nodeType": "VariableDeclaration", - "scope": 1016, - "src": "16318:19:0", + "scope": 1026, + "src": "16354:19:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12633,10 +12785,10 @@ "typeString": "address" }, "typeName": { - "id": 924, + "id": 932, "name": "address", "nodeType": "ElementaryTypeName", - "src": "16318:7:0", + "src": "16354:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -12646,23 +12798,23 @@ "visibility": "internal" } ], - "id": 926, + "id": 934, "initialValue": null, "nodeType": "VariableDeclarationStatement", - "src": "16318:19:0" + "src": "16354:19:0" }, { "assignments": [ - 928 + 936 ], "declarations": [ { "constant": false, - "id": 928, + "id": 936, "name": "txHash", "nodeType": "VariableDeclaration", - "scope": 1016, - "src": "16436:14:0", + "scope": 1026, + "src": "16472:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12670,10 +12822,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 927, + "id": 935, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "16436:7:0", + "src": "16472:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -12683,7 +12835,7 @@ "visibility": "internal" } ], - "id": 950, + "id": 960, "initialValue": { "argumentTypes": null, "arguments": [ @@ -12693,14 +12845,14 @@ { "argumentTypes": null, "hexValue": "19457468657265756d205369676e6564204d6573736167653a0a3332", - "id": 932, + "id": 940, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "16510:34:0", + "src": "16546:34:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_178a2411ab6fbc1ba11064408972259c558d0e82fd48b0aba3ad81d14f065e73", @@ -12720,14 +12872,14 @@ { "argumentTypes": null, "hexValue": "30783139", - "id": 937, + "id": 945, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "16640:4:0", + "src": "16676:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_25_by_1", @@ -12743,20 +12895,20 @@ "typeString": "int_const 25" } ], - "id": 936, + "id": 944, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "16635:4:0", + "src": "16671:4:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes1_$", "typeString": "type(bytes1)" }, "typeName": "byte" }, - "id": 938, + "id": 946, "isConstant": false, "isLValue": false, "isPure": true, @@ -12764,7 +12916,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16635:10:0", + "src": "16671:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes1", "typeString": "bytes1" @@ -12776,14 +12928,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 940, + "id": 948, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "16676:1:0", + "src": "16712:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -12799,20 +12951,20 @@ "typeString": "int_const 0" } ], - "id": 939, + "id": 947, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "16671:4:0", + "src": "16707:4:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes1_$", "typeString": "type(bytes1)" }, "typeName": "byte" }, - "id": 941, + "id": 949, "isConstant": false, "isLValue": false, "isPure": true, @@ -12820,7 +12972,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16671:7:0", + "src": "16707:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes1", "typeString": "bytes1" @@ -12828,25 +12980,63 @@ }, { "argumentTypes": null, - "id": 942, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1395, - "src": "16704:4:0", + "arguments": [ + { + "argumentTypes": null, + "id": 951, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1405, + "src": "16748:4:0", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Escrow_v1_0_$1215", + "typeString": "contract Escrow_v1_0" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_Escrow_v1_0_$1215", + "typeString": "contract Escrow_v1_0" + } + ], + "id": 950, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "16740:7:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 952, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16740:13:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_Escrow_v1_0_$1205", - "typeString": "contract Escrow_v1_0" + "typeIdentifier": "t_address", + "typeString": "address" } }, { "argumentTypes": null, - "id": 943, + "id": 953, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 901, - "src": "16734:12:0", + "referencedDeclaration": 909, + "src": "16779:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -12854,12 +13044,12 @@ }, { "argumentTypes": null, - "id": 944, + "id": 954, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 904, - "src": "16772:7:0", + "referencedDeclaration": 912, + "src": "16817:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" @@ -12867,12 +13057,12 @@ }, { "argumentTypes": null, - "id": 945, + "id": 955, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 898, - "src": "16805:10:0", + "referencedDeclaration": 906, + "src": "16850:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -12890,8 +13080,8 @@ "typeString": "bytes1" }, { - "typeIdentifier": "t_contract$_Escrow_v1_0_$1205", - "typeString": "contract Escrow_v1_0" + "typeIdentifier": "t_address", + "typeString": "address" }, { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", @@ -12908,18 +13098,18 @@ ], "expression": { "argumentTypes": null, - "id": 934, + "id": 942, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1365, - "src": "16593:3:0", + "referencedDeclaration": 1375, + "src": "16629:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, - "id": 935, + "id": 943, "isConstant": false, "isLValue": false, "isPure": true, @@ -12927,13 +13117,13 @@ "memberName": "encodePacked", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "16593:16:0", + "src": "16629:16:0", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, - "id": 946, + "id": 956, "isConstant": false, "isLValue": false, "isPure": false, @@ -12941,7 +13131,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16593:244:0", + "src": "16629:253:0", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -12955,18 +13145,18 @@ "typeString": "bytes memory" } ], - "id": 933, + "id": 941, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1372, - "src": "16562:9:0", + "referencedDeclaration": 1382, + "src": "16598:9:0", "typeDescriptions": { "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", "typeString": "function () pure returns (bytes32)" } }, - "id": 947, + "id": 957, "isConstant": false, "isLValue": false, "isPure": false, @@ -12974,7 +13164,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16562:293:0", + "src": "16598:302:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -12994,18 +13184,18 @@ ], "expression": { "argumentTypes": null, - "id": 930, + "id": 938, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1365, - "src": "16476:3:0", + "referencedDeclaration": 1375, + "src": "16512:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, - "id": 931, + "id": 939, "isConstant": false, "isLValue": false, "isPure": true, @@ -13013,13 +13203,13 @@ "memberName": "encodePacked", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "16476:16:0", + "src": "16512:16:0", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, - "id": 948, + "id": 958, "isConstant": false, "isLValue": false, "isPure": false, @@ -13027,7 +13217,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16476:393:0", + "src": "16512:402:0", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -13041,18 +13231,18 @@ "typeString": "bytes memory" } ], - "id": 929, + "id": 937, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1372, - "src": "16453:9:0", + "referencedDeclaration": 1382, + "src": "16489:9:0", "typeDescriptions": { "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", "typeString": "function () pure returns (bytes32)" } }, - "id": 949, + "id": 959, "isConstant": false, "isLValue": false, "isPure": false, @@ -13060,33 +13250,33 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16453:426:0", + "src": "16489:435:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "nodeType": "VariableDeclarationStatement", - "src": "16436:443:0" + "src": "16472:452:0" }, { "body": { - "id": 1011, + "id": 1021, "nodeType": "Block", - "src": "16929:543:0", + "src": "16974:543:0", "statements": [ { "assignments": [ - 963 + 973 ], "declarations": [ { "constant": false, - "id": 963, + "id": 973, "name": "recovered", "nodeType": "VariableDeclaration", - "scope": 1016, - "src": "16944:17:0", + "scope": 1026, + "src": "16989:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -13094,10 +13284,10 @@ "typeString": "address" }, "typeName": { - "id": 962, + "id": 972, "name": "address", "nodeType": "ElementaryTypeName", - "src": "16944:7:0", + "src": "16989:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -13107,18 +13297,18 @@ "visibility": "internal" } ], - "id": 976, + "id": 986, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 965, + "id": 975, "name": "txHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 928, - "src": "16991:6:0", + "referencedDeclaration": 936, + "src": "17036:6:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -13128,26 +13318,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 966, + "id": 976, "name": "sigV", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 890, - "src": "17015:4:0", + "referencedDeclaration": 898, + "src": "17060:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr", "typeString": "uint8[] memory" } }, - "id": 968, + "id": 978, "indexExpression": { "argumentTypes": null, - "id": 967, + "id": 977, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 952, - "src": "17020:1:0", + "referencedDeclaration": 962, + "src": "17065:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13158,7 +13348,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17015:7:0", + "src": "17060:7:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -13168,26 +13358,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 969, + "id": 979, "name": "sigR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 893, - "src": "17040:4:0", + "referencedDeclaration": 901, + "src": "17085:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" } }, - "id": 971, + "id": 981, "indexExpression": { "argumentTypes": null, - "id": 970, + "id": 980, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 952, - "src": "17045:1:0", + "referencedDeclaration": 962, + "src": "17090:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13198,7 +13388,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17040:7:0", + "src": "17085:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -13208,26 +13398,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 972, + "id": 982, "name": "sigS", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 896, - "src": "17065:4:0", + "referencedDeclaration": 904, + "src": "17110:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" } }, - "id": 974, + "id": 984, "indexExpression": { "argumentTypes": null, - "id": 973, + "id": 983, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 952, - "src": "17070:1:0", + "referencedDeclaration": 962, + "src": "17115:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13238,7 +13428,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17065:7:0", + "src": "17110:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -13264,18 +13454,18 @@ "typeString": "bytes32" } ], - "id": 964, + "id": 974, "name": "ecrecover", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1370, - "src": "16964:9:0", + "referencedDeclaration": 1380, + "src": "17009:9:0", "typeDescriptions": { "typeIdentifier": "t_function_ecrecover_pure$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$_t_address_$", "typeString": "function (bytes32,uint8,bytes32,bytes32) pure returns (address)" } }, - "id": 975, + "id": 985, "isConstant": false, "isLValue": false, "isPure": false, @@ -13283,14 +13473,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16964:122:0", + "src": "17009:122:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "VariableDeclarationStatement", - "src": "16944:142:0" + "src": "16989:142:0" }, { "expression": { @@ -13304,26 +13494,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 978, + "id": 988, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "17126:12:0", + "src": "17171:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 980, + "id": 990, "indexExpression": { "argumentTypes": null, - "id": 979, + "id": 989, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 898, - "src": "17139:10:0", + "referencedDeclaration": 906, + "src": "17184:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -13334,13 +13524,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17126:24:0", + "src": "17171:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 981, + "id": 991, "isConstant": false, "isLValue": true, "isPure": false, @@ -13348,21 +13538,21 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "17126:32:0", + "src": "17171:32:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 983, + "id": 993, "indexExpression": { "argumentTypes": null, - "id": 982, + "id": 992, "name": "recovered", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 963, - "src": "17159:9:0", + "referencedDeclaration": 973, + "src": "17204:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -13373,7 +13563,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17126:43:0", + "src": "17171:43:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -13382,14 +13572,14 @@ { "argumentTypes": null, "hexValue": "496e76616c6964207369676e6174757265", - "id": 984, + "id": 994, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "17188:19:0", + "src": "17233:19:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_4f2d7dfcb27c0aafa13ae8c400de482c7832204d194018b6e45bd2bf244c74e7", @@ -13409,21 +13599,21 @@ "typeString": "literal_string \"Invalid signature\"" } ], - "id": 977, + "id": 987, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1381, - 1382 + 1391, + 1392 ], - "referencedDeclaration": 1382, - "src": "17101:7:0", + "referencedDeclaration": 1392, + "src": "17146:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 985, + "id": 995, "isConstant": false, "isLValue": false, "isPure": false, @@ -13431,15 +13621,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17101:120:0", + "src": "17146:120:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 986, + "id": 996, "nodeType": "ExpressionStatement", - "src": "17101:120:0" + "src": "17146:120:0" }, { "expression": { @@ -13447,7 +13637,7 @@ "arguments": [ { "argumentTypes": null, - "id": 994, + "id": 1004, "isConstant": false, "isLValue": false, "isPure": false, @@ -13455,7 +13645,7 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "17260:42:0", + "src": "17305:42:0", "subExpression": { "argumentTypes": null, "baseExpression": { @@ -13464,26 +13654,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 988, + "id": 998, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "17261:12:0", + "src": "17306:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 990, + "id": 1000, "indexExpression": { "argumentTypes": null, - "id": 989, + "id": 999, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 898, - "src": "17274:10:0", + "referencedDeclaration": 906, + "src": "17319:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -13494,13 +13684,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17261:24:0", + "src": "17306:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 991, + "id": 1001, "isConstant": false, "isLValue": true, "isPure": false, @@ -13508,21 +13698,21 @@ "memberName": "voted", "nodeType": "MemberAccess", "referencedDeclaration": 66, - "src": "17261:30:0", + "src": "17306:30:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 993, + "id": 1003, "indexExpression": { "argumentTypes": null, - "id": 992, + "id": 1002, "name": "recovered", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 963, - "src": "17292:9:0", + "referencedDeclaration": 973, + "src": "17337:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -13533,7 +13723,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17261:41:0", + "src": "17306:41:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -13547,14 +13737,14 @@ { "argumentTypes": null, "hexValue": "53616d65207369676e61747572652073656e74207477696365", - "id": 995, + "id": 1005, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "17321:27:0", + "src": "17366:27:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_fb2c7e49d5ec7ce36fa812cf15ee7fa946942f931d04fe3ae970516007b2a543", @@ -13574,21 +13764,21 @@ "typeString": "literal_string \"Same signature sent twice\"" } ], - "id": 987, + "id": 997, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1381, - 1382 + 1391, + 1392 ], - "referencedDeclaration": 1382, - "src": "17235:7:0", + "referencedDeclaration": 1392, + "src": "17280:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 996, + "id": 1006, "isConstant": false, "isLValue": false, "isPure": false, @@ -13596,20 +13786,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17235:127:0", + "src": "17280:127:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 997, + "id": 1007, "nodeType": "ExpressionStatement", - "src": "17235:127:0" + "src": "17280:127:0" }, { "expression": { "argumentTypes": null, - "id": 1005, + "id": 1015, "isConstant": false, "isLValue": false, "isPure": false, @@ -13622,26 +13812,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 998, + "id": 1008, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "17376:12:0", + "src": "17421:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 1000, + "id": 1010, "indexExpression": { "argumentTypes": null, - "id": 999, + "id": 1009, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 898, - "src": "17389:10:0", + "referencedDeclaration": 906, + "src": "17434:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -13652,13 +13842,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17376:24:0", + "src": "17421:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 1001, + "id": 1011, "isConstant": false, "isLValue": true, "isPure": false, @@ -13666,21 +13856,21 @@ "memberName": "voted", "nodeType": "MemberAccess", "referencedDeclaration": 66, - "src": "17376:30:0", + "src": "17421:30:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 1003, + "id": 1013, "indexExpression": { "argumentTypes": null, - "id": 1002, + "id": 1012, "name": "recovered", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 963, - "src": "17407:9:0", + "referencedDeclaration": 973, + "src": "17452:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -13691,7 +13881,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "17376:41:0", + "src": "17421:41:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -13702,14 +13892,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "74727565", - "id": 1004, + "id": 1014, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "17420:4:0", + "src": "17465:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -13717,32 +13907,32 @@ }, "value": "true" }, - "src": "17376:48:0", + "src": "17421:48:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 1006, + "id": 1016, "nodeType": "ExpressionStatement", - "src": "17376:48:0" + "src": "17421:48:0" }, { "expression": { "argumentTypes": null, - "id": 1009, + "id": 1019, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 1007, + "id": 1017, "name": "lastAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 925, - "src": "17438:11:0", + "referencedDeclaration": 933, + "src": "17483:11:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -13752,26 +13942,26 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 1008, + "id": 1018, "name": "recovered", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 963, - "src": "17452:9:0", + "referencedDeclaration": 973, + "src": "17497:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "17438:23:0", + "src": "17483:23:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 1010, + "id": 1020, "nodeType": "ExpressionStatement", - "src": "17438:23:0" + "src": "17483:23:0" } ] }, @@ -13781,19 +13971,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 958, + "id": 968, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 955, + "id": 965, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 952, - "src": "16907:1:0", + "referencedDeclaration": 962, + "src": "16952:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13805,18 +13995,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 956, + "id": 966, "name": "sigR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 893, - "src": "16911:4:0", + "referencedDeclaration": 901, + "src": "16956:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" } }, - "id": 957, + "id": 967, "isConstant": false, "isLValue": false, "isPure": false, @@ -13824,31 +14014,31 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "16911:11:0", + "src": "16956:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "16907:15:0", + "src": "16952:15:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 1012, + "id": 1022, "initializationExpression": { "assignments": [ - 952 + 962 ], "declarations": [ { "constant": false, - "id": 952, + "id": 962, "name": "i", "nodeType": "VariableDeclaration", - "scope": 1016, - "src": "16895:6:0", + "scope": 1026, + "src": "16940:6:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -13856,10 +14046,10 @@ "typeString": "uint256" }, "typeName": { - "id": 951, + "id": 961, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "16895:4:0", + "src": "16940:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13869,18 +14059,18 @@ "visibility": "internal" } ], - "id": 954, + "id": 964, "initialValue": { "argumentTypes": null, "hexValue": "30", - "id": 953, + "id": 963, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "16904:1:0", + "src": "16949:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -13889,12 +14079,12 @@ "value": "0" }, "nodeType": "VariableDeclarationStatement", - "src": "16895:10:0" + "src": "16940:10:0" }, "loopExpression": { "expression": { "argumentTypes": null, - "id": 960, + "id": 970, "isConstant": false, "isLValue": false, "isPure": false, @@ -13902,15 +14092,15 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "16924:3:0", + "src": "16969:3:0", "subExpression": { "argumentTypes": null, - "id": 959, + "id": 969, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 952, - "src": "16924:1:0", + "referencedDeclaration": 962, + "src": "16969:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13921,36 +14111,36 @@ "typeString": "uint256" } }, - "id": 961, + "id": 971, "nodeType": "ExpressionStatement", - "src": "16924:3:0" + "src": "16969:3:0" }, "nodeType": "ForStatement", - "src": "16890:582:0" + "src": "16935:582:0" }, { "expression": { "argumentTypes": null, - "id": 1013, + "id": 1023, "name": "lastAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 925, - "src": "17489:11:0", + "referencedDeclaration": 933, + "src": "17534:11:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "functionReturnParameters": 908, - "id": 1014, + "functionReturnParameters": 916, + "id": 1024, "nodeType": "Return", - "src": "17482:18:0" + "src": "17527:18:0" } ] }, "documentation": null, - "id": 1016, + "id": 1026, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -13958,16 +14148,16 @@ "name": "_verifySignatures", "nodeType": "FunctionDefinition", "parameters": { - "id": 905, + "id": 913, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 890, + "id": 898, "name": "sigV", "nodeType": "VariableDeclaration", - "scope": 1016, - "src": "15971:12:0", + "scope": 1026, + "src": "16007:12:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -13976,19 +14166,19 @@ }, "typeName": { "baseType": { - "id": 888, + "id": 896, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "15971:5:0", + "src": "16007:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, - "id": 889, + "id": 897, "length": null, "nodeType": "ArrayTypeName", - "src": "15971:7:0", + "src": "16007:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_storage_ptr", "typeString": "uint8[]" @@ -13999,11 +14189,11 @@ }, { "constant": false, - "id": 893, + "id": 901, "name": "sigR", "nodeType": "VariableDeclaration", - "scope": 1016, - "src": "15993:14:0", + "scope": 1026, + "src": "16029:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14012,19 +14202,19 @@ }, "typeName": { "baseType": { - "id": 891, + "id": 899, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "15993:7:0", + "src": "16029:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "id": 892, + "id": 900, "length": null, "nodeType": "ArrayTypeName", - "src": "15993:9:0", + "src": "16029:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -14035,11 +14225,11 @@ }, { "constant": false, - "id": 896, + "id": 904, "name": "sigS", "nodeType": "VariableDeclaration", - "scope": 1016, - "src": "16017:14:0", + "scope": 1026, + "src": "16053:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14048,19 +14238,19 @@ }, "typeName": { "baseType": { - "id": 894, + "id": 902, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "16017:7:0", + "src": "16053:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "id": 895, + "id": 903, "length": null, "nodeType": "ArrayTypeName", - "src": "16017:9:0", + "src": "16053:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -14071,11 +14261,11 @@ }, { "constant": false, - "id": 898, + "id": 906, "name": "scriptHash", "nodeType": "VariableDeclaration", - "scope": 1016, - "src": "16041:18:0", + "scope": 1026, + "src": "16077:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14083,10 +14273,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 897, + "id": 905, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "16041:7:0", + "src": "16077:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -14097,11 +14287,11 @@ }, { "constant": false, - "id": 901, + "id": 909, "name": "destinations", "nodeType": "VariableDeclaration", - "scope": 1016, - "src": "16069:22:0", + "scope": 1026, + "src": "16105:22:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14110,19 +14300,19 @@ }, "typeName": { "baseType": { - "id": 899, + "id": 907, "name": "address", "nodeType": "ElementaryTypeName", - "src": "16069:7:0", + "src": "16105:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 900, + "id": 908, "length": null, "nodeType": "ArrayTypeName", - "src": "16069:9:0", + "src": "16105:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", "typeString": "address[]" @@ -14133,11 +14323,11 @@ }, { "constant": false, - "id": 904, + "id": 912, "name": "amounts", "nodeType": "VariableDeclaration", - "scope": 1016, - "src": "16101:16:0", + "scope": 1026, + "src": "16137:16:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14146,19 +14336,19 @@ }, "typeName": { "baseType": { - "id": 902, + "id": 910, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "16101:7:0", + "src": "16137:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 903, + "id": 911, "length": null, "nodeType": "ArrayTypeName", - "src": "16101:9:0", + "src": "16137:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -14168,20 +14358,20 @@ "visibility": "internal" } ], - "src": "15961:162:0" + "src": "15997:162:0" }, "payable": false, "returnParameters": { - "id": 908, + "id": 916, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 907, + "id": 915, "name": "", "nodeType": "VariableDeclaration", - "scope": 1016, - "src": "16157:7:0", + "scope": 1026, + "src": "16193:7:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14189,10 +14379,10 @@ "typeString": "address" }, "typeName": { - "id": 906, + "id": 914, "name": "address", "nodeType": "ElementaryTypeName", - "src": "16157:7:0", + "src": "16193:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -14202,32 +14392,32 @@ "visibility": "internal" } ], - "src": "16156:9:0" + "src": "16192:9:0" }, - "scope": 1205, - "src": "15935:1572:0", + "scope": 1215, + "src": "15971:1581:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "private" }, { "body": { - "id": 1047, + "id": 1057, "nodeType": "Block", - "src": "17662:168:0", + "src": "17707:168:0", "statements": [ { "assignments": [ - 1026 + 1036 ], "declarations": [ { "constant": false, - "id": 1026, + "id": 1036, "name": "timeSince", "nodeType": "VariableDeclaration", - "scope": 1048, - "src": "17672:17:0", + "scope": 1058, + "src": "17717:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14235,10 +14425,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1025, + "id": 1035, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "17672:7:0", + "src": "17717:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14248,18 +14438,18 @@ "visibility": "internal" } ], - "id": 1031, + "id": 1041, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 1029, + "id": 1039, "name": "lastModified", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1020, - "src": "17700:12:0", + "referencedDeclaration": 1030, + "src": "17745:12:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14275,32 +14465,32 @@ ], "expression": { "argumentTypes": null, - "id": 1027, + "id": 1037, "name": "now", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1380, - "src": "17692:3:0", + "referencedDeclaration": 1390, + "src": "17737:3:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1028, + "id": 1038, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sub", "nodeType": "MemberAccess", - "referencedDeclaration": 1318, - "src": "17692:7:0", + "referencedDeclaration": 1328, + "src": "17737:7:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 1030, + "id": 1040, "isConstant": false, "isLValue": false, "isPure": false, @@ -14308,14 +14498,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17692:21:0", + "src": "17737:21:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "17672:41:0" + "src": "17717:41:0" }, { "expression": { @@ -14329,19 +14519,19 @@ "typeIdentifier": "t_uint32", "typeString": "uint32" }, - "id": 1034, + "id": 1044, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1032, + "id": 1042, "name": "timeoutHours", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1018, - "src": "17744:12:0", + "referencedDeclaration": 1028, + "src": "17789:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -14352,14 +14542,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 1033, + "id": 1043, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "17760:1:0", + "src": "17805:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -14367,7 +14557,7 @@ }, "value": "0" }, - "src": "17744:17:0", + "src": "17789:17:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -14379,19 +14569,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1043, + "id": 1053, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1036, + "id": 1046, "name": "timeSince", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1026, - "src": "17770:9:0", + "referencedDeclaration": 1036, + "src": "17815:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14405,14 +14595,14 @@ { "argumentTypes": null, "hexValue": "33363030", - "id": 1041, + "id": 1051, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "17808:4:0", + "src": "17853:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_3600_by_1", @@ -14433,12 +14623,12 @@ "arguments": [ { "argumentTypes": null, - "id": 1038, + "id": 1048, "name": "timeoutHours", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1018, - "src": "17790:12:0", + "referencedDeclaration": 1028, + "src": "17835:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -14452,20 +14642,20 @@ "typeString": "uint32" } ], - "id": 1037, + "id": 1047, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "17782:7:0", + "src": "17827:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint256_$", "typeString": "type(uint256)" }, "typeName": "uint256" }, - "id": 1039, + "id": 1049, "isConstant": false, "isLValue": false, "isPure": false, @@ -14473,27 +14663,27 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17782:21:0", + "src": "17827:21:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1040, + "id": 1050, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "mul", "nodeType": "MemberAccess", - "referencedDeclaration": 1270, - "src": "17782:25:0", + "referencedDeclaration": 1280, + "src": "17827:25:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 1042, + "id": 1052, "isConstant": false, "isLValue": false, "isPure": false, @@ -14501,36 +14691,36 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17782:31:0", + "src": "17827:31:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "17770:43:0", + "src": "17815:43:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 1044, + "id": 1054, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "Conditional", - "src": "17744:69:0", + "src": "17789:69:0", "trueExpression": { "argumentTypes": null, "hexValue": "66616c7365", - "id": 1035, + "id": 1045, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "17764:5:0", + "src": "17809:5:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -14544,28 +14734,28 @@ } } ], - "id": 1045, + "id": 1055, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "17730:93:0", + "src": "17775:93:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "functionReturnParameters": 1024, - "id": 1046, + "functionReturnParameters": 1034, + "id": 1056, "nodeType": "Return", - "src": "17723:100:0" + "src": "17768:100:0" } ] }, "documentation": null, - "id": 1048, + "id": 1058, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -14573,16 +14763,16 @@ "name": "_isTimeLockExpired", "nodeType": "FunctionDefinition", "parameters": { - "id": 1021, + "id": 1031, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1018, + "id": 1028, "name": "timeoutHours", "nodeType": "VariableDeclaration", - "scope": 1048, - "src": "17550:19:0", + "scope": 1058, + "src": "17595:19:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14590,10 +14780,10 @@ "typeString": "uint32" }, "typeName": { - "id": 1017, + "id": 1027, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "17550:6:0", + "src": "17595:6:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -14604,11 +14794,11 @@ }, { "constant": false, - "id": 1020, + "id": 1030, "name": "lastModified", "nodeType": "VariableDeclaration", - "scope": 1048, - "src": "17579:20:0", + "scope": 1058, + "src": "17624:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14616,10 +14806,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1019, + "id": 1029, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "17579:7:0", + "src": "17624:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14629,20 +14819,20 @@ "visibility": "internal" } ], - "src": "17540:65:0" + "src": "17585:65:0" }, "payable": false, "returnParameters": { - "id": 1024, + "id": 1034, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1023, + "id": 1033, "name": "", "nodeType": "VariableDeclaration", - "scope": 1048, - "src": "17652:4:0", + "scope": 1058, + "src": "17697:4:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14650,10 +14840,10 @@ "typeString": "bool" }, "typeName": { - "id": 1022, + "id": 1032, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "17652:4:0", + "src": "17697:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -14663,19 +14853,19 @@ "visibility": "internal" } ], - "src": "17651:6:0" + "src": "17696:6:0" }, - "scope": 1205, - "src": "17513:317:0", + "scope": 1215, + "src": "17558:317:0", "stateMutability": "view", "superFunction": null, "visibility": "private" }, { "body": { - "id": 1203, + "id": 1213, "nodeType": "Block", - "src": "18244:2314:0", + "src": "18289:2314:0", "statements": [ { "expression": { @@ -14687,19 +14877,19 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 1074, + "id": 1084, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1072, + "id": 1082, "name": "buyer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1050, - "src": "18270:5:0", + "referencedDeclaration": 1060, + "src": "18315:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -14709,18 +14899,18 @@ "operator": "!=", "rightExpression": { "argumentTypes": null, - "id": 1073, + "id": 1083, "name": "seller", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1052, - "src": "18279:6:0", + "referencedDeclaration": 1062, + "src": "18324:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "18270:15:0", + "src": "18315:15:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -14729,14 +14919,14 @@ { "argumentTypes": null, "hexValue": "427579657220616e642073656c6c6572206172652073616d65", - "id": 1075, + "id": 1085, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "18287:27:0", + "src": "18332:27:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_6141441751234d42e9a73d96317794195c7ff57b8f16ac15725a10f10763f824", @@ -14756,21 +14946,21 @@ "typeString": "literal_string \"Buyer and seller are same\"" } ], - "id": 1071, + "id": 1081, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1381, - 1382 + 1391, + 1392 ], - "referencedDeclaration": 1382, - "src": "18262:7:0", + "referencedDeclaration": 1392, + "src": "18307:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 1076, + "id": 1086, "isConstant": false, "isLValue": false, "isPure": false, @@ -14778,15 +14968,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18262:53:0", + "src": "18307:53:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1077, + "id": 1087, "nodeType": "ExpressionStatement", - "src": "18262:53:0" + "src": "18307:53:0" }, { "expression": { @@ -14798,19 +14988,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1081, + "id": 1091, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1079, + "id": 1089, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1062, - "src": "18382:5:0", + "referencedDeclaration": 1072, + "src": "18427:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14821,14 +15011,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 1080, + "id": 1090, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "18390:1:0", + "src": "18435:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -14836,7 +15026,7 @@ }, "value": "0" }, - "src": "18382:9:0", + "src": "18427:9:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -14845,14 +15035,14 @@ { "argumentTypes": null, "hexValue": "56616c7565207061737365642069732030", - "id": 1082, + "id": 1092, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "18393:19:0", + "src": "18438:19:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_3686f87c4804517ea83323ccf1a3b5b5ff52ed144b19e6fc56abe8fcd182e747", @@ -14872,21 +15062,21 @@ "typeString": "literal_string \"Value passed is 0\"" } ], - "id": 1078, + "id": 1088, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1381, - 1382 + 1391, + 1392 ], - "referencedDeclaration": 1382, - "src": "18374:7:0", + "referencedDeclaration": 1392, + "src": "18419:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 1083, + "id": 1093, "isConstant": false, "isLValue": false, "isPure": false, @@ -14894,15 +15084,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18374:39:0", + "src": "18419:39:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1084, + "id": 1094, "nodeType": "ExpressionStatement", - "src": "18374:39:0" + "src": "18419:39:0" }, { "expression": { @@ -14914,7 +15104,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 1092, + "id": 1102, "isConstant": false, "isLValue": false, "isPure": false, @@ -14925,19 +15115,19 @@ "typeIdentifier": "t_uint8", "typeString": "uint8" }, - "id": 1088, + "id": 1098, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1086, + "id": 1096, "name": "threshold", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1056, - "src": "18516:9:0", + "referencedDeclaration": 1066, + "src": "18561:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -14948,14 +15138,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 1087, + "id": 1097, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "18528:1:0", + "src": "18573:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -14963,7 +15153,7 @@ }, "value": "0" }, - "src": "18516:13:0", + "src": "18561:13:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -14977,19 +15167,19 @@ "typeIdentifier": "t_uint8", "typeString": "uint8" }, - "id": 1091, + "id": 1101, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1089, + "id": 1099, "name": "threshold", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1056, - "src": "18533:9:0", + "referencedDeclaration": 1066, + "src": "18578:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -15000,14 +15190,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "33", - "id": 1090, + "id": 1100, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "18546:1:0", + "src": "18591:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_3_by_1", @@ -15015,13 +15205,13 @@ }, "value": "3" }, - "src": "18533:14:0", + "src": "18578:14:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "18516:31:0", + "src": "18561:31:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -15030,14 +15220,14 @@ { "argumentTypes": null, "hexValue": "5468726573686f6c642063616e6e6f742062652067726561746572207468616e203320616e64206d7573742062652067726561746572207468616e2030", - "id": 1093, + "id": 1103, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "18562:63:0", + "src": "18607:63:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_351c1d5dfdc4a2b4c61d6f4dbb41a0d2ae70a9c094d3c0add87af24b5dd19c13", @@ -15057,21 +15247,21 @@ "typeString": "literal_string \"Threshold cannot be greater than 3 and must be greater than 0\"" } ], - "id": 1085, + "id": 1095, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1381, - 1382 + 1391, + 1392 ], - "referencedDeclaration": 1382, - "src": "18495:7:0", + "referencedDeclaration": 1392, + "src": "18540:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 1094, + "id": 1104, "isConstant": false, "isLValue": false, "isPure": false, @@ -15079,15 +15269,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18495:140:0", + "src": "18540:140:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1095, + "id": 1105, "nodeType": "ExpressionStatement", - "src": "18495:140:0" + "src": "18540:140:0" }, { "expression": { @@ -15099,7 +15289,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 1105, + "id": 1115, "isConstant": false, "isLValue": false, "isPure": false, @@ -15110,19 +15300,19 @@ "typeIdentifier": "t_uint8", "typeString": "uint8" }, - "id": 1099, + "id": 1109, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1097, + "id": 1107, "name": "threshold", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1056, - "src": "18916:9:0", + "referencedDeclaration": 1066, + "src": "18961:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -15133,14 +15323,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "31", - "id": 1098, + "id": 1108, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "18929:1:0", + "src": "18974:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -15148,7 +15338,7 @@ }, "value": "1" }, - "src": "18916:14:0", + "src": "18961:14:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -15162,19 +15352,19 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 1104, + "id": 1114, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1100, + "id": 1110, "name": "moderator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1054, - "src": "18934:9:0", + "referencedDeclaration": 1064, + "src": "18979:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15188,14 +15378,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 1102, + "id": 1112, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "18955:1:0", + "src": "19000:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -15211,20 +15401,20 @@ "typeString": "int_const 0" } ], - "id": 1101, + "id": 1111, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "18947:7:0", + "src": "18992:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, - "id": 1103, + "id": 1113, "isConstant": false, "isLValue": false, "isPure": true, @@ -15232,19 +15422,19 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18947:10:0", + "src": "18992:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "18934:23:0", + "src": "18979:23:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "18916:41:0", + "src": "18961:41:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -15253,14 +15443,14 @@ { "argumentTypes": null, "hexValue": "456974686572207468726573686f6c642073686f756c642062652031206f722076616c6964206d6f64657261746f7220616464726573732073686f756c6420626520706173736564", - "id": 1106, + "id": 1116, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "18971:74:0", + "src": "19016:74:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_2056db168725d2fabb8aaf14efad7a3fc12ef6bc7132f0596ea09b041b71cb25", @@ -15280,21 +15470,21 @@ "typeString": "literal_string \"Either threshold should be 1 or valid moderator address should be passed\"" } ], - "id": 1096, + "id": 1106, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1381, - 1382 + 1391, + 1392 ], - "referencedDeclaration": 1382, - "src": "18895:7:0", + "referencedDeclaration": 1392, + "src": "18940:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 1107, + "id": 1117, "isConstant": false, "isLValue": false, "isPure": false, @@ -15302,15 +15492,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18895:160:0", + "src": "18940:160:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1108, + "id": 1118, "nodeType": "ExpressionStatement", - "src": "18895:160:0" + "src": "18940:160:0" }, { "expression": { @@ -15322,19 +15512,19 @@ "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, - "id": 1120, + "id": 1130, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1110, + "id": 1120, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1060, - "src": "19087:10:0", + "referencedDeclaration": 1070, + "src": "19132:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -15347,12 +15537,12 @@ "arguments": [ { "argumentTypes": null, - "id": 1112, + "id": 1122, "name": "uniqueId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1064, - "src": "19144:8:0", + "referencedDeclaration": 1074, + "src": "19189:8:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -15360,12 +15550,12 @@ }, { "argumentTypes": null, - "id": 1113, + "id": 1123, "name": "threshold", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1056, - "src": "19170:9:0", + "referencedDeclaration": 1066, + "src": "19215:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -15373,12 +15563,12 @@ }, { "argumentTypes": null, - "id": 1114, + "id": 1124, "name": "timeoutHours", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1058, - "src": "19197:12:0", + "referencedDeclaration": 1068, + "src": "19242:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -15386,12 +15576,12 @@ }, { "argumentTypes": null, - "id": 1115, + "id": 1125, "name": "buyer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1050, - "src": "19227:5:0", + "referencedDeclaration": 1060, + "src": "19272:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15399,12 +15589,12 @@ }, { "argumentTypes": null, - "id": 1116, + "id": 1126, "name": "seller", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1052, - "src": "19250:6:0", + "referencedDeclaration": 1062, + "src": "19295:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15412,12 +15602,12 @@ }, { "argumentTypes": null, - "id": 1117, + "id": 1127, "name": "moderator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1054, - "src": "19274:9:0", + "referencedDeclaration": 1064, + "src": "19319:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15425,12 +15615,12 @@ }, { "argumentTypes": null, - "id": 1118, + "id": 1128, "name": "tokenAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1068, - "src": "19301:12:0", + "referencedDeclaration": 1078, + "src": "19346:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15468,18 +15658,18 @@ "typeString": "address" } ], - "id": 1111, + "id": 1121, "name": "calculateRedeemScriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 631, - "src": "19101:25:0", + "referencedDeclaration": 639, + "src": "19146:25:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_bytes20_$_t_uint8_$_t_uint32_$_t_address_$_t_address_$_t_address_$_t_address_$returns$_t_bytes32_$", "typeString": "function (bytes20,uint8,uint32,address,address,address,address) view returns (bytes32)" } }, - "id": 1119, + "id": 1129, "isConstant": false, "isLValue": false, "isPure": false, @@ -15487,13 +15677,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "19101:226:0", + "src": "19146:226:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "src": "19087:240:0", + "src": "19132:240:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -15502,14 +15692,14 @@ { "argumentTypes": null, "hexValue": "43616c63756c6174656420736372697074206861736820646f6573206e6f74206d61746368207061737365642073637269707420686173682e", - "id": 1121, + "id": 1131, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "19342:59:0", + "src": "19387:59:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_0c041e0c58e6b0e01d338d852a5abb639065eabeb0aee05e0ce3e5f0e52b4f51", @@ -15529,21 +15719,21 @@ "typeString": "literal_string \"Calculated script hash does not match passed script hash.\"" } ], - "id": 1109, + "id": 1119, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1381, - 1382 + 1391, + 1392 ], - "referencedDeclaration": 1382, - "src": "19066:7:0", + "referencedDeclaration": 1392, + "src": "19111:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 1122, + "id": 1132, "isConstant": false, "isLValue": false, "isPure": false, @@ -15551,20 +15741,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "19066:345:0", + "src": "19111:345:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1123, + "id": 1133, "nodeType": "ExpressionStatement", - "src": "19066:345:0" + "src": "19111:345:0" }, { "expression": { "argumentTypes": null, - "id": 1141, + "id": 1151, "isConstant": false, "isLValue": false, "isPure": false, @@ -15573,26 +15763,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1124, + "id": 1134, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "19422:12:0", + "src": "19467:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 1126, + "id": 1136, "indexExpression": { "argumentTypes": null, - "id": 1125, + "id": 1135, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1060, - "src": "19435:10:0", + "referencedDeclaration": 1070, + "src": "19480:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -15603,7 +15793,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "19422:24:0", + "src": "19467:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -15616,12 +15806,12 @@ "arguments": [ { "argumentTypes": null, - "id": 1128, + "id": 1138, "name": "buyer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1050, - "src": "19482:5:0", + "referencedDeclaration": 1060, + "src": "19527:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15629,12 +15819,12 @@ }, { "argumentTypes": null, - "id": 1129, + "id": 1139, "name": "seller", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1052, - "src": "19509:6:0", + "referencedDeclaration": 1062, + "src": "19554:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15642,12 +15832,12 @@ }, { "argumentTypes": null, - "id": 1130, + "id": 1140, "name": "moderator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1054, - "src": "19540:9:0", + "referencedDeclaration": 1064, + "src": "19585:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15655,12 +15845,12 @@ }, { "argumentTypes": null, - "id": 1131, + "id": 1141, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1062, - "src": "19570:5:0", + "referencedDeclaration": 1072, + "src": "19615:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -15670,18 +15860,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1132, + "id": 1142, "name": "Status", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9, - "src": "19597:6:0", + "src": "19642:6:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_Status_$9_$", "typeString": "type(enum Escrow_v1_0.Status)" } }, - "id": 1133, + "id": 1143, "isConstant": false, "isLValue": false, "isPure": true, @@ -15689,7 +15879,7 @@ "memberName": "FUNDED", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "19597:13:0", + "src": "19642:13:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$9", "typeString": "enum Escrow_v1_0.Status" @@ -15699,18 +15889,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1134, + "id": 1144, "name": "block", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1368, - "src": "19638:5:0", + "referencedDeclaration": 1378, + "src": "19683:5:0", "typeDescriptions": { "typeIdentifier": "t_magic_block", "typeString": "block" } }, - "id": 1135, + "id": 1145, "isConstant": false, "isLValue": false, "isPure": false, @@ -15718,7 +15908,7 @@ "memberName": "timestamp", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "19638:15:0", + "src": "19683:15:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -15726,12 +15916,12 @@ }, { "argumentTypes": null, - "id": 1136, + "id": 1146, "name": "threshold", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1056, - "src": "19678:9:0", + "referencedDeclaration": 1066, + "src": "19723:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -15739,12 +15929,12 @@ }, { "argumentTypes": null, - "id": 1137, + "id": 1147, "name": "timeoutHours", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1058, - "src": "19715:12:0", + "referencedDeclaration": 1068, + "src": "19760:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -15752,12 +15942,12 @@ }, { "argumentTypes": null, - "id": 1138, + "id": 1148, "name": "transactionType", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1066, - "src": "19757:15:0", + "referencedDeclaration": 1076, + "src": "19802:15:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -15765,12 +15955,12 @@ }, { "argumentTypes": null, - "id": 1139, + "id": 1149, "name": "tokenAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1068, - "src": "19799:12:0", + "referencedDeclaration": 1078, + "src": "19844:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15779,18 +15969,18 @@ ], "expression": { "argumentTypes": null, - "id": 1127, + "id": 1137, "name": "Transaction", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 71, - "src": "19449:11:0", + "src": "19494:11:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_struct$_Transaction_$71_storage_ptr_$", "typeString": "type(struct Escrow_v1_0.Transaction storage pointer)" } }, - "id": 1140, + "id": 1150, "isConstant": false, "isLValue": false, "isPure": false, @@ -15809,26 +15999,26 @@ "tokenAddress" ], "nodeType": "FunctionCall", - "src": "19449:373:0", + "src": "19494:373:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_memory", "typeString": "struct Escrow_v1_0.Transaction memory" } }, - "src": "19422:400:0", + "src": "19467:400:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 1142, + "id": 1152, "nodeType": "ExpressionStatement", - "src": "19422:400:0" + "src": "19467:400:0" }, { "expression": { "argumentTypes": null, - "id": 1150, + "id": 1160, "isConstant": false, "isLValue": false, "isPure": false, @@ -15841,26 +16031,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1143, + "id": 1153, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "19833:12:0", + "src": "19878:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 1145, + "id": 1155, "indexExpression": { "argumentTypes": null, - "id": 1144, + "id": 1154, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1060, - "src": "19846:10:0", + "referencedDeclaration": 1070, + "src": "19891:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -15871,13 +16061,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "19833:24:0", + "src": "19878:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 1146, + "id": 1156, "isConstant": false, "isLValue": true, "isPure": false, @@ -15885,21 +16075,21 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "19833:32:0", + "src": "19878:32:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 1148, + "id": 1158, "indexExpression": { "argumentTypes": null, - "id": 1147, + "id": 1157, "name": "seller", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1052, - "src": "19866:6:0", + "referencedDeclaration": 1062, + "src": "19911:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15910,7 +16100,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "19833:40:0", + "src": "19878:40:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -15921,14 +16111,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "74727565", - "id": 1149, + "id": 1159, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "19876:4:0", + "src": "19921:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -15936,20 +16126,20 @@ }, "value": "true" }, - "src": "19833:47:0", + "src": "19878:47:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 1151, + "id": 1161, "nodeType": "ExpressionStatement", - "src": "19833:47:0" + "src": "19878:47:0" }, { "expression": { "argumentTypes": null, - "id": 1159, + "id": 1169, "isConstant": false, "isLValue": false, "isPure": false, @@ -15962,26 +16152,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1152, + "id": 1162, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "19890:12:0", + "src": "19935:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 1154, + "id": 1164, "indexExpression": { "argumentTypes": null, - "id": 1153, + "id": 1163, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1060, - "src": "19903:10:0", + "referencedDeclaration": 1070, + "src": "19948:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -15992,13 +16182,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "19890:24:0", + "src": "19935:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 1155, + "id": 1165, "isConstant": false, "isLValue": true, "isPure": false, @@ -16006,21 +16196,21 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "19890:32:0", + "src": "19935:32:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 1157, + "id": 1167, "indexExpression": { "argumentTypes": null, - "id": 1156, + "id": 1166, "name": "buyer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1050, - "src": "19923:5:0", + "referencedDeclaration": 1060, + "src": "19968:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -16031,7 +16221,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "19890:39:0", + "src": "19935:39:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -16042,14 +16232,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "74727565", - "id": 1158, + "id": 1168, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "19932:4:0", + "src": "19977:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -16057,15 +16247,15 @@ }, "value": "true" }, - "src": "19890:46:0", + "src": "19935:46:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 1160, + "id": 1170, "nodeType": "ExpressionStatement", - "src": "19890:46:0" + "src": "19935:46:0" }, { "expression": { @@ -16073,7 +16263,7 @@ "arguments": [ { "argumentTypes": null, - "id": 1168, + "id": 1178, "isConstant": false, "isLValue": false, "isPure": false, @@ -16081,7 +16271,7 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "20043:44:0", + "src": "20088:44:0", "subExpression": { "argumentTypes": null, "baseExpression": { @@ -16090,26 +16280,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1162, + "id": 1172, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "20044:12:0", + "src": "20089:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 1164, + "id": 1174, "indexExpression": { "argumentTypes": null, - "id": 1163, + "id": 1173, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1060, - "src": "20057:10:0", + "referencedDeclaration": 1070, + "src": "20102:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -16120,13 +16310,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20044:24:0", + "src": "20089:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 1165, + "id": 1175, "isConstant": false, "isLValue": true, "isPure": false, @@ -16134,21 +16324,21 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "20044:32:0", + "src": "20089:32:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 1167, + "id": 1177, "indexExpression": { "argumentTypes": null, - "id": 1166, + "id": 1176, "name": "moderator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1054, - "src": "20077:9:0", + "referencedDeclaration": 1064, + "src": "20122:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -16159,7 +16349,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20044:43:0", + "src": "20089:43:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -16173,14 +16363,14 @@ { "argumentTypes": null, "hexValue": "456974686572206275796572206f722073656c6c657220697320706173736564206173206d6f64657261746f72", - "id": 1169, + "id": 1179, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "20102:47:0", + "src": "20147:47:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_313b391557427937e7bdb85c7561d47c5b9c985755a448dd33a92026ffb38f8d", @@ -16200,21 +16390,21 @@ "typeString": "literal_string \"Either buyer or seller is passed as moderator\"" } ], - "id": 1161, + "id": 1171, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1381, - 1382 + 1391, + 1392 ], - "referencedDeclaration": 1382, - "src": "20022:7:0", + "referencedDeclaration": 1392, + "src": "20067:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 1170, + "id": 1180, "isConstant": false, "isLValue": false, "isPure": false, @@ -16222,15 +16412,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "20022:137:0", + "src": "20067:137:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1171, + "id": 1181, "nodeType": "ExpressionStatement", - "src": "20022:137:0" + "src": "20067:137:0" }, { "condition": { @@ -16239,19 +16429,19 @@ "typeIdentifier": "t_uint8", "typeString": "uint8" }, - "id": 1174, + "id": 1184, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1172, + "id": 1182, "name": "threshold", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1056, - "src": "20319:9:0", + "referencedDeclaration": 1066, + "src": "20364:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -16262,14 +16452,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "31", - "id": 1173, + "id": 1183, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "20331:1:0", + "src": "20376:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -16277,25 +16467,25 @@ }, "value": "1" }, - "src": "20319:13:0", + "src": "20364:13:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, - "id": 1185, + "id": 1195, "nodeType": "IfStatement", - "src": "20315:94:0", + "src": "20360:94:0", "trueBody": { - "id": 1184, + "id": 1194, "nodeType": "Block", - "src": "20334:75:0", + "src": "20379:75:0", "statements": [ { "expression": { "argumentTypes": null, - "id": 1182, + "id": 1192, "isConstant": false, "isLValue": false, "isPure": false, @@ -16308,26 +16498,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1175, + "id": 1185, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "20348:12:0", + "src": "20393:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 1177, + "id": 1187, "indexExpression": { "argumentTypes": null, - "id": 1176, + "id": 1186, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1060, - "src": "20361:10:0", + "referencedDeclaration": 1070, + "src": "20406:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -16338,13 +16528,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20348:24:0", + "src": "20393:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 1178, + "id": 1188, "isConstant": false, "isLValue": true, "isPure": false, @@ -16352,21 +16542,21 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "20348:32:0", + "src": "20393:32:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 1180, + "id": 1190, "indexExpression": { "argumentTypes": null, - "id": 1179, + "id": 1189, "name": "moderator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1054, - "src": "20381:9:0", + "referencedDeclaration": 1064, + "src": "20426:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -16377,7 +16567,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "20348:43:0", + "src": "20393:43:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -16388,14 +16578,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "74727565", - "id": 1181, + "id": 1191, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "20394:4:0", + "src": "20439:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -16403,15 +16593,15 @@ }, "value": "true" }, - "src": "20348:50:0", + "src": "20393:50:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 1183, + "id": 1193, "nodeType": "ExpressionStatement", - "src": "20348:50:0" + "src": "20393:50:0" } ] } @@ -16419,7 +16609,7 @@ { "expression": { "argumentTypes": null, - "id": 1187, + "id": 1197, "isConstant": false, "isLValue": false, "isPure": false, @@ -16427,15 +16617,15 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "20427:18:0", + "src": "20472:18:0", "subExpression": { "argumentTypes": null, - "id": 1186, + "id": 1196, "name": "transactionCount", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 78, - "src": "20427:16:0", + "src": "20472:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -16446,9 +16636,9 @@ "typeString": "uint256" } }, - "id": 1188, + "id": 1198, "nodeType": "ExpressionStatement", - "src": "20427:18:0" + "src": "20472:18:0" }, { "expression": { @@ -16456,12 +16646,12 @@ "arguments": [ { "argumentTypes": null, - "id": 1193, + "id": 1203, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1060, - "src": "20487:10:0", + "referencedDeclaration": 1070, + "src": "20532:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -16479,26 +16669,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1189, + "id": 1199, "name": "partyVsTransaction", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 83, - "src": "20456:18:0", + "src": "20501:18:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_bytes32_$dyn_storage_$", "typeString": "mapping(address => bytes32[] storage ref)" } }, - "id": 1191, + "id": 1201, "indexExpression": { "argumentTypes": null, - "id": 1190, + "id": 1200, "name": "buyer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1050, - "src": "20475:5:0", + "referencedDeclaration": 1060, + "src": "20520:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -16509,13 +16699,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20456:25:0", + "src": "20501:25:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage", "typeString": "bytes32[] storage ref" } }, - "id": 1192, + "id": 1202, "isConstant": false, "isLValue": false, "isPure": false, @@ -16523,13 +16713,13 @@ "memberName": "push", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "20456:30:0", + "src": "20501:30:0", "typeDescriptions": { "typeIdentifier": "t_function_arraypush_nonpayable$_t_bytes32_$returns$_t_uint256_$", "typeString": "function (bytes32) returns (uint256)" } }, - "id": 1194, + "id": 1204, "isConstant": false, "isLValue": false, "isPure": false, @@ -16537,15 +16727,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "20456:42:0", + "src": "20501:42:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1195, + "id": 1205, "nodeType": "ExpressionStatement", - "src": "20456:42:0" + "src": "20501:42:0" }, { "expression": { @@ -16553,12 +16743,12 @@ "arguments": [ { "argumentTypes": null, - "id": 1200, + "id": 1210, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1060, - "src": "20540:10:0", + "referencedDeclaration": 1070, + "src": "20585:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -16576,26 +16766,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1196, + "id": 1206, "name": "partyVsTransaction", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 83, - "src": "20508:18:0", + "src": "20553:18:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_bytes32_$dyn_storage_$", "typeString": "mapping(address => bytes32[] storage ref)" } }, - "id": 1198, + "id": 1208, "indexExpression": { "argumentTypes": null, - "id": 1197, + "id": 1207, "name": "seller", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1052, - "src": "20527:6:0", + "referencedDeclaration": 1062, + "src": "20572:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -16606,13 +16796,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20508:26:0", + "src": "20553:26:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage", "typeString": "bytes32[] storage ref" } }, - "id": 1199, + "id": 1209, "isConstant": false, "isLValue": false, "isPure": false, @@ -16620,13 +16810,13 @@ "memberName": "push", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "20508:31:0", + "src": "20553:31:0", "typeDescriptions": { "typeIdentifier": "t_function_arraypush_nonpayable$_t_bytes32_$returns$_t_uint256_$", "typeString": "function (bytes32) returns (uint256)" } }, - "id": 1201, + "id": 1211, "isConstant": false, "isLValue": false, "isPure": false, @@ -16634,20 +16824,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "20508:43:0", + "src": "20553:43:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1202, + "id": 1212, "nodeType": "ExpressionStatement", - "src": "20508:43:0" + "src": "20553:43:0" } ] }, "documentation": "Private method to add transaction to reduce code redundancy", - "id": 1204, + "id": 1214, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -16655,16 +16845,16 @@ "name": "_addTransaction", "nodeType": "FunctionDefinition", "parameters": { - "id": 1069, + "id": 1079, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1050, + "id": 1060, "name": "buyer", "nodeType": "VariableDeclaration", - "scope": 1204, - "src": "17951:13:0", + "scope": 1214, + "src": "17996:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -16672,10 +16862,10 @@ "typeString": "address" }, "typeName": { - "id": 1049, + "id": 1059, "name": "address", "nodeType": "ElementaryTypeName", - "src": "17951:7:0", + "src": "17996:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -16686,11 +16876,11 @@ }, { "constant": false, - "id": 1052, + "id": 1062, "name": "seller", "nodeType": "VariableDeclaration", - "scope": 1204, - "src": "17974:14:0", + "scope": 1214, + "src": "18019:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -16698,10 +16888,10 @@ "typeString": "address" }, "typeName": { - "id": 1051, + "id": 1061, "name": "address", "nodeType": "ElementaryTypeName", - "src": "17974:7:0", + "src": "18019:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -16712,11 +16902,11 @@ }, { "constant": false, - "id": 1054, + "id": 1064, "name": "moderator", "nodeType": "VariableDeclaration", - "scope": 1204, - "src": "17998:17:0", + "scope": 1214, + "src": "18043:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -16724,10 +16914,10 @@ "typeString": "address" }, "typeName": { - "id": 1053, + "id": 1063, "name": "address", "nodeType": "ElementaryTypeName", - "src": "17998:7:0", + "src": "18043:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -16738,11 +16928,11 @@ }, { "constant": false, - "id": 1056, + "id": 1066, "name": "threshold", "nodeType": "VariableDeclaration", - "scope": 1204, - "src": "18025:15:0", + "scope": 1214, + "src": "18070:15:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -16750,10 +16940,10 @@ "typeString": "uint8" }, "typeName": { - "id": 1055, + "id": 1065, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "18025:5:0", + "src": "18070:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -16764,11 +16954,11 @@ }, { "constant": false, - "id": 1058, + "id": 1068, "name": "timeoutHours", "nodeType": "VariableDeclaration", - "scope": 1204, - "src": "18050:19:0", + "scope": 1214, + "src": "18095:19:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -16776,10 +16966,10 @@ "typeString": "uint32" }, "typeName": { - "id": 1057, + "id": 1067, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "18050:6:0", + "src": "18095:6:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -16790,11 +16980,11 @@ }, { "constant": false, - "id": 1060, + "id": 1070, "name": "scriptHash", "nodeType": "VariableDeclaration", - "scope": 1204, - "src": "18079:18:0", + "scope": 1214, + "src": "18124:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -16802,10 +16992,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 1059, + "id": 1069, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "18079:7:0", + "src": "18124:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -16816,11 +17006,11 @@ }, { "constant": false, - "id": 1062, + "id": 1072, "name": "value", "nodeType": "VariableDeclaration", - "scope": 1204, - "src": "18107:13:0", + "scope": 1214, + "src": "18152:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -16828,10 +17018,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1061, + "id": 1071, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "18107:7:0", + "src": "18152:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -16842,11 +17032,11 @@ }, { "constant": false, - "id": 1064, + "id": 1074, "name": "uniqueId", "nodeType": "VariableDeclaration", - "scope": 1204, - "src": "18130:16:0", + "scope": 1214, + "src": "18175:16:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -16854,10 +17044,10 @@ "typeString": "bytes20" }, "typeName": { - "id": 1063, + "id": 1073, "name": "bytes20", "nodeType": "ElementaryTypeName", - "src": "18130:7:0", + "src": "18175:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -16868,11 +17058,11 @@ }, { "constant": false, - "id": 1066, + "id": 1076, "name": "transactionType", "nodeType": "VariableDeclaration", - "scope": 1204, - "src": "18156:31:0", + "scope": 1214, + "src": "18201:31:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -16881,11 +17071,11 @@ }, "typeName": { "contractScope": null, - "id": 1065, + "id": 1075, "name": "TransactionType", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 12, - "src": "18156:15:0", + "src": "18201:15:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -16896,11 +17086,11 @@ }, { "constant": false, - "id": 1068, + "id": 1078, "name": "tokenAddress", "nodeType": "VariableDeclaration", - "scope": 1204, - "src": "18197:20:0", + "scope": 1214, + "src": "18242:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -16908,10 +17098,10 @@ "typeString": "address" }, "typeName": { - "id": 1067, + "id": 1077, "name": "address", "nodeType": "ElementaryTypeName", - "src": "18197:7:0", + "src": "18242:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -16921,36 +17111,36 @@ "visibility": "internal" } ], - "src": "17941:282:0" + "src": "17986:282:0" }, "payable": false, "returnParameters": { - "id": 1070, + "id": 1080, "nodeType": "ParameterList", "parameters": [], - "src": "18244:0:0" + "src": "18289:0:0" }, - "scope": 1205, - "src": "17917:2641:0", + "scope": 1215, + "src": "17962:2641:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "private" } ], - "scope": 1206, - "src": "460:20100:0" + "scope": 1216, + "src": "460:20145:0" } ], - "src": "0:20561:0" + "src": "0:20606:0" }, "legacyAST": { "absolutePath": "/home/sameep/freelancing-projects/toptal/open baazar/publicRepo/smart-contracts/contracts/escrow/Escrow_v1_0.sol", "exportedSymbols": { "Escrow_v1_0": [ - 1205 + 1215 ] }, - "id": 1206, + "id": 1216, "nodeType": "SourceUnit", "nodes": [ { @@ -16968,8 +17158,8 @@ "file": "openzeppelin-solidity/contracts/math/SafeMath.sol", "id": 2, "nodeType": "ImportDirective", - "scope": 1206, - "sourceUnit": 1364, + "scope": 1216, + "sourceUnit": 1374, "src": "25:59:0", "symbolAliases": [], "unitAlias": "" @@ -16979,8 +17169,8 @@ "file": "../token/ITokenContract.sol", "id": 3, "nodeType": "ImportDirective", - "scope": 1206, - "sourceUnit": 1236, + "scope": 1216, + "sourceUnit": 1246, "src": "86:37:0", "symbolAliases": [], "unitAlias": "" @@ -16991,9 +17181,9 @@ "contractKind": "contract", "documentation": "@dev Supports ERC20 tokens\nThe escrow smart contract for the open bazaar trades in Ethereum\nThe smart contract is designed keeping in mind the current wallet interface of the OB-core\nhttps://github.com/OpenBazaar/wallet-interface/blob/master/wallet.go\nCurrent wallet interface strictly adheres to UTXO(bitcoin) model", "fullyImplemented": true, - "id": 1205, + "id": 1215, "linearizedBaseContracts": [ - 1205 + 1215 ], "name": "Escrow_v1_0", "nodeType": "ContractDefinition", @@ -17005,10 +17195,10 @@ "id": 4, "name": "SafeMath", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1363, + "referencedDeclaration": 1373, "src": "494:8:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$1363", + "typeIdentifier": "t_contract$_SafeMath_$1373", "typeString": "library SafeMath" } }, @@ -17781,7 +17971,7 @@ ], "name": "Transaction", "nodeType": "StructDefinition", - "scope": 1205, + "scope": 1215, "src": "958:597:0", "visibility": "public" }, @@ -17790,7 +17980,7 @@ "id": 75, "name": "transactions", "nodeType": "VariableDeclaration", - "scope": 1205, + "scope": 1215, "src": "1561:51:0", "stateVariable": true, "storageLocation": "default", @@ -17837,7 +18027,7 @@ "id": 78, "name": "transactionCount", "nodeType": "VariableDeclaration", - "scope": 1205, + "scope": 1215, "src": "1619:35:0", "stateVariable": true, "storageLocation": "default", @@ -17880,7 +18070,7 @@ "id": 83, "name": "partyVsTransaction", "nodeType": "VariableDeclaration", - "scope": 1205, + "scope": 1215, "src": "1733:56:0", "stateVariable": true, "storageLocation": "default", @@ -18067,10 +18257,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1381, - 1382 + 1391, + 1392 ], - "referencedDeclaration": 1382, + "referencedDeclaration": 1392, "src": "1852:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -18279,10 +18469,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1381, - 1382 + 1391, + 1392 ], - "referencedDeclaration": 1382, + "referencedDeclaration": 1392, "src": "2035:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -18502,10 +18692,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1381, - 1382 + 1391, + 1392 ], - "referencedDeclaration": 1382, + "referencedDeclaration": 1392, "src": "2177:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -18709,10 +18899,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1381, - 1382 + 1391, + 1392 ], - "referencedDeclaration": 1382, + "referencedDeclaration": 1392, "src": "2376:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -18916,10 +19106,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1381, - 1382 + 1391, + 1392 ], - "referencedDeclaration": 1382, + "referencedDeclaration": 1392, "src": "2579:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -19048,7 +19238,7 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1378, + "referencedDeclaration": 1388, "src": "2798:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", @@ -19167,10 +19357,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1381, - 1382 + 1391, + 1392 ], - "referencedDeclaration": 1382, + "referencedDeclaration": 1392, "src": "2777:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -19338,7 +19528,7 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1378, + "referencedDeclaration": 1388, "src": "4230:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", @@ -19505,7 +19695,7 @@ "name": "_addTransaction", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1204, + "referencedDeclaration": 1214, "src": "4066:15:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_address_$_t_uint8_$_t_uint32_$_t_bytes32_$_t_uint256_$_t_bytes20_$_t_enum$_TransactionType_$12_$_t_address_$returns$__$", @@ -19555,7 +19745,7 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1378, + "referencedDeclaration": 1388, "src": "4373:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", @@ -19584,7 +19774,7 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1378, + "referencedDeclaration": 1388, "src": "4385:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", @@ -19956,7 +20146,7 @@ "parameters": [], "src": "4056:0:0" }, - "scope": 1205, + "scope": 1215, "src": "3702:701:0", "stateMutability": "payable", "superFunction": null, @@ -19964,9 +20154,9 @@ }, { "body": { - "id": 305, + "id": 307, "nodeType": "Block", - "src": "5770:588:0", + "src": "5770:597:0", "statements": [ { "expression": { @@ -20166,7 +20356,7 @@ "name": "_addTransaction", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1204, + "referencedDeclaration": 1214, "src": "5781:15:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_address_$_t_uint8_$_t_uint32_$_t_bytes32_$_t_uint256_$_t_bytes20_$_t_enum$_TransactionType_$12_$_t_address_$returns$__$", @@ -20201,12 +20391,12 @@ "id": 282, "name": "token", "nodeType": "VariableDeclaration", - "scope": 306, + "scope": 308, "src": "6054:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenContract_$1235", + "typeIdentifier": "t_contract$_ITokenContract_$1245", "typeString": "contract ITokenContract" }, "typeName": { @@ -20214,10 +20404,10 @@ "id": 281, "name": "ITokenContract", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1235, + "referencedDeclaration": 1245, "src": "6054:14:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenContract_$1235", + "typeIdentifier": "t_contract$_ITokenContract_$1245", "typeString": "contract ITokenContract" } }, @@ -20254,10 +20444,10 @@ "name": "ITokenContract", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1235, + "referencedDeclaration": 1245, "src": "6077:14:0", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ITokenContract_$1235_$", + "typeIdentifier": "t_type$_t_contract$_ITokenContract_$1245_$", "typeString": "type(contract ITokenContract)" } }, @@ -20271,7 +20461,7 @@ "nodeType": "FunctionCall", "src": "6077:28:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenContract_$1235", + "typeIdentifier": "t_contract$_ITokenContract_$1245", "typeString": "contract ITokenContract" } }, @@ -20293,7 +20483,7 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1378, + "referencedDeclaration": 1388, "src": "6156:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", @@ -20316,25 +20506,63 @@ }, { "argumentTypes": null, - "id": 292, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1395, - "src": "6168:4:0", + "arguments": [ + { + "argumentTypes": null, + "id": 293, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1405, + "src": "6176:4:0", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Escrow_v1_0_$1215", + "typeString": "contract Escrow_v1_0" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_Escrow_v1_0_$1215", + "typeString": "contract Escrow_v1_0" + } + ], + "id": 292, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "6168:7:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 294, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6168:13:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_Escrow_v1_0_$1205", - "typeString": "contract Escrow_v1_0" + "typeIdentifier": "t_address", + "typeString": "address" } }, { "argumentTypes": null, - "id": 293, + "id": 295, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 248, - "src": "6174:5:0", + "src": "6183:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -20348,8 +20576,8 @@ "typeString": "address" }, { - "typeIdentifier": "t_contract$_Escrow_v1_0_$1205", - "typeString": "contract Escrow_v1_0" + "typeIdentifier": "t_address", + "typeString": "address" }, { "typeIdentifier": "t_uint256", @@ -20365,7 +20593,7 @@ "referencedDeclaration": 282, "src": "6137:5:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenContract_$1235", + "typeIdentifier": "t_contract$_ITokenContract_$1245", "typeString": "contract ITokenContract" } }, @@ -20376,14 +20604,14 @@ "lValueRequested": false, "memberName": "transferFrom", "nodeType": "MemberAccess", - "referencedDeclaration": 1234, + "referencedDeclaration": 1244, "src": "6137:18:0", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", "typeString": "function (address,address,uint256) external returns (bool)" } }, - "id": 294, + "id": 296, "isConstant": false, "isLValue": false, "isPure": false, @@ -20391,7 +20619,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6137:43:0", + "src": "6137:52:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -20400,14 +20628,14 @@ { "argumentTypes": null, "hexValue": "546f6b656e207472616e73666572206661696c65642c206d6179626520796f7520646964206e6f7420617070726f766520657363726f7720636f6e747261637420746f207370656e64206f6e20626568616c66206f662073656e646572", - "id": 295, + "id": 297, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "6194:95:0", + "src": "6203:95:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_d81b627ac67759234197a5bdf4d9f7d33298e824ce7bd47e08ce9919cd96c696", @@ -20431,17 +20659,17 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1381, - 1382 + 1391, + 1392 ], - "referencedDeclaration": 1382, + "referencedDeclaration": 1392, "src": "6116:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 296, + "id": 298, "isConstant": false, "isLValue": false, "isPure": false, @@ -20449,15 +20677,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6116:183:0", + "src": "6116:192:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 297, + "id": 299, "nodeType": "ExpressionStatement", - "src": "6116:183:0" + "src": "6116:192:0" }, { "eventCall": { @@ -20465,12 +20693,12 @@ "arguments": [ { "argumentTypes": null, - "id": 299, + "id": 301, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 246, - "src": "6321:10:0", + "src": "6330:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -20480,18 +20708,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 300, + "id": 302, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1378, - "src": "6333:3:0", + "referencedDeclaration": 1388, + "src": "6342:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 301, + "id": 303, "isConstant": false, "isLValue": false, "isPure": false, @@ -20499,7 +20727,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "6333:10:0", + "src": "6342:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -20507,12 +20735,12 @@ }, { "argumentTypes": null, - "id": 302, + "id": 304, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 248, - "src": "6345:5:0", + "src": "6354:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -20534,18 +20762,18 @@ "typeString": "uint256" } ], - "id": 298, + "id": 300, "name": "Funded", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 38, - "src": "6314:6:0", + "src": "6323:6:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (bytes32,address,uint256)" } }, - "id": 303, + "id": 305, "isConstant": false, "isLValue": false, "isPure": false, @@ -20553,20 +20781,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6314:37:0", + "src": "6323:37:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 304, + "id": 306, "nodeType": "EmitStatement", - "src": "6309:42:0" + "src": "6318:42:0" } ] }, "documentation": "dev Add new transaction in the contract\nparam buyer The buyer of the transaction\nparam seller The seller of the listing associated with the transaction\nparam moderator Moderator for this transaction\nparam scriptHash keccak256 hash of the redeem script\nparam threshold Minimum number of signatures required to released funds\nparam timeoutHours Hours after which seller can release funds into his favour by signing transaction unilaterally\nparam value Amount of tokens to be put in escrow\nparam uniqueId bytes20 unique id for the transaction, generated by ETH wallet\nparam tokenAddress Address of the token to be used\nedeem Script format will be following\n\npprove escrow contract to spend amount of token on sender's behalf", - "id": 306, + "id": 308, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -20715,7 +20943,7 @@ "id": 236, "name": "buyer", "nodeType": "VariableDeclaration", - "scope": 306, + "scope": 308, "src": "5375:13:0", "stateVariable": false, "storageLocation": "default", @@ -20741,7 +20969,7 @@ "id": 238, "name": "seller", "nodeType": "VariableDeclaration", - "scope": 306, + "scope": 308, "src": "5398:14:0", "stateVariable": false, "storageLocation": "default", @@ -20767,7 +20995,7 @@ "id": 240, "name": "moderator", "nodeType": "VariableDeclaration", - "scope": 306, + "scope": 308, "src": "5422:17:0", "stateVariable": false, "storageLocation": "default", @@ -20793,7 +21021,7 @@ "id": 242, "name": "threshold", "nodeType": "VariableDeclaration", - "scope": 306, + "scope": 308, "src": "5449:15:0", "stateVariable": false, "storageLocation": "default", @@ -20819,7 +21047,7 @@ "id": 244, "name": "timeoutHours", "nodeType": "VariableDeclaration", - "scope": 306, + "scope": 308, "src": "5474:19:0", "stateVariable": false, "storageLocation": "default", @@ -20845,7 +21073,7 @@ "id": 246, "name": "scriptHash", "nodeType": "VariableDeclaration", - "scope": 306, + "scope": 308, "src": "5503:18:0", "stateVariable": false, "storageLocation": "default", @@ -20871,7 +21099,7 @@ "id": 248, "name": "value", "nodeType": "VariableDeclaration", - "scope": 306, + "scope": 308, "src": "5531:13:0", "stateVariable": false, "storageLocation": "default", @@ -20897,7 +21125,7 @@ "id": 250, "name": "uniqueId", "nodeType": "VariableDeclaration", - "scope": 306, + "scope": 308, "src": "5554:16:0", "stateVariable": false, "storageLocation": "default", @@ -20923,7 +21151,7 @@ "id": 252, "name": "tokenAddress", "nodeType": "VariableDeclaration", - "scope": 306, + "scope": 308, "src": "5580:20:0", "stateVariable": false, "storageLocation": "default", @@ -20954,17 +21182,17 @@ "parameters": [], "src": "5770:0:0" }, - "scope": 1205, - "src": "5337:1021:0", + "scope": 1215, + "src": "5337:1030:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" }, { "body": { - "id": 322, + "id": 324, "nodeType": "Block", - "src": "6745:75:0", + "src": "6754:75:0", "statements": [ { "expression": { @@ -20975,26 +21203,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 315, + "id": 317, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "6762:12:0", + "src": "6771:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 317, + "id": 319, "indexExpression": { "argumentTypes": null, - "id": 316, + "id": 318, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 308, - "src": "6775:10:0", + "referencedDeclaration": 310, + "src": "6784:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -21005,13 +21233,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "6762:24:0", + "src": "6771:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 318, + "id": 320, "isConstant": false, "isLValue": true, "isPure": false, @@ -21019,21 +21247,21 @@ "memberName": "beneficiaries", "nodeType": "MemberAccess", "referencedDeclaration": 70, - "src": "6762:38:0", + "src": "6771:38:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 320, + "id": 322, "indexExpression": { "argumentTypes": null, - "id": 319, + "id": 321, "name": "beneficiary", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 310, - "src": "6801:11:0", + "referencedDeclaration": 312, + "src": "6810:11:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -21044,21 +21272,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "6762:51:0", + "src": "6771:51:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "functionReturnParameters": 314, - "id": 321, + "functionReturnParameters": 316, + "id": 323, "nodeType": "Return", - "src": "6755:58:0" + "src": "6764:58:0" } ] }, "documentation": "@dev This method will check whether given address was a beneficiary of transaction execution or not\n@param scriptHash script hash of the transaction\n@param beneficiary Beneficiary address to be checked", - "id": 323, + "id": 325, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -21066,16 +21294,16 @@ "name": "checkBeneficiary", "nodeType": "FunctionDefinition", "parameters": { - "id": 311, + "id": 313, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 308, + "id": 310, "name": "scriptHash", "nodeType": "VariableDeclaration", - "scope": 323, - "src": "6634:18:0", + "scope": 325, + "src": "6643:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -21083,10 +21311,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 307, + "id": 309, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "6634:7:0", + "src": "6643:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -21097,11 +21325,11 @@ }, { "constant": false, - "id": 310, + "id": 312, "name": "beneficiary", "nodeType": "VariableDeclaration", - "scope": 323, - "src": "6662:19:0", + "scope": 325, + "src": "6671:19:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -21109,10 +21337,10 @@ "typeString": "address" }, "typeName": { - "id": 309, + "id": 311, "name": "address", "nodeType": "ElementaryTypeName", - "src": "6662:7:0", + "src": "6671:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -21122,20 +21350,20 @@ "visibility": "internal" } ], - "src": "6624:63:0" + "src": "6633:63:0" }, "payable": false, "returnParameters": { - "id": 314, + "id": 316, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 313, + "id": 315, "name": "", "nodeType": "VariableDeclaration", - "scope": 323, - "src": "6735:4:0", + "scope": 325, + "src": "6744:4:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -21143,10 +21371,10 @@ "typeString": "bool" }, "typeName": { - "id": 312, + "id": 314, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "6735:4:0", + "src": "6744:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -21156,19 +21384,19 @@ "visibility": "internal" } ], - "src": "6734:6:0" + "src": "6743:6:0" }, - "scope": 1205, - "src": "6599:221:0", + "scope": 1215, + "src": "6608:221:0", "stateMutability": "view", "superFunction": null, "visibility": "external" }, { "body": { - "id": 339, + "id": 341, "nodeType": "Block", - "src": "7193:61:0", + "src": "7202:61:0", "statements": [ { "expression": { @@ -21179,26 +21407,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 332, + "id": 334, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "7210:12:0", + "src": "7219:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 334, + "id": 336, "indexExpression": { "argumentTypes": null, - "id": 333, + "id": 335, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 325, - "src": "7223:10:0", + "referencedDeclaration": 327, + "src": "7232:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -21209,13 +21437,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "7210:24:0", + "src": "7219:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 335, + "id": 337, "isConstant": false, "isLValue": true, "isPure": false, @@ -21223,21 +21451,21 @@ "memberName": "voted", "nodeType": "MemberAccess", "referencedDeclaration": 66, - "src": "7210:30:0", + "src": "7219:30:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 337, + "id": 339, "indexExpression": { "argumentTypes": null, - "id": 336, + "id": 338, "name": "party", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 327, - "src": "7241:5:0", + "referencedDeclaration": 329, + "src": "7250:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -21248,21 +21476,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "7210:37:0", + "src": "7219:37:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "functionReturnParameters": 331, - "id": 338, + "functionReturnParameters": 333, + "id": 340, "nodeType": "Return", - "src": "7203:44:0" + "src": "7212:44:0" } ] }, "documentation": "@dev This method will check whether given party has voted or not\n@param scriptHash script hash of the transaction\n@param party Address of the party whose vote has to be checked\n@return bool vote", - "id": 340, + "id": 342, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -21270,16 +21498,16 @@ "name": "checkVote", "nodeType": "FunctionDefinition", "parameters": { - "id": 328, + "id": 330, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 325, + "id": 327, "name": "scriptHash", "nodeType": "VariableDeclaration", - "scope": 340, - "src": "7088:18:0", + "scope": 342, + "src": "7097:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -21287,10 +21515,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 324, + "id": 326, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "7088:7:0", + "src": "7097:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -21301,11 +21529,11 @@ }, { "constant": false, - "id": 327, + "id": 329, "name": "party", "nodeType": "VariableDeclaration", - "scope": 340, - "src": "7116:13:0", + "scope": 342, + "src": "7125:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -21313,10 +21541,10 @@ "typeString": "address" }, "typeName": { - "id": 326, + "id": 328, "name": "address", "nodeType": "ElementaryTypeName", - "src": "7116:7:0", + "src": "7125:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -21326,20 +21554,20 @@ "visibility": "internal" } ], - "src": "7078:57:0" + "src": "7087:57:0" }, "payable": false, "returnParameters": { - "id": 331, + "id": 333, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 330, + "id": 332, "name": "", "nodeType": "VariableDeclaration", - "scope": 340, - "src": "7183:4:0", + "scope": 342, + "src": "7192:4:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -21347,10 +21575,10 @@ "typeString": "bool" }, "typeName": { - "id": 329, + "id": 331, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "7183:4:0", + "src": "7192:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -21360,19 +21588,19 @@ "visibility": "internal" } ], - "src": "7182:6:0" + "src": "7191:6:0" }, - "scope": 1205, - "src": "7060:194:0", + "scope": 1215, + "src": "7069:194:0", "stateMutability": "view", "superFunction": null, "visibility": "external" }, { "body": { - "id": 397, + "id": 399, "nodeType": "Block", - "src": "7857:303:0", + "src": "7866:303:0", "statements": [ { "expression": { @@ -21384,7 +21612,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 363, + "id": 365, "isConstant": false, "isLValue": false, "isPure": false, @@ -21393,18 +21621,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 360, + "id": 362, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1378, - "src": "7876:3:0", + "referencedDeclaration": 1388, + "src": "7885:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 361, + "id": 363, "isConstant": false, "isLValue": false, "isPure": false, @@ -21412,7 +21640,7 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "7876:9:0", + "src": "7885:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -21423,14 +21651,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 362, + "id": 364, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "7888:1:0", + "src": "7897:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -21438,7 +21666,7 @@ }, "value": "0" }, - "src": "7876:13:0", + "src": "7885:13:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -21447,14 +21675,14 @@ { "argumentTypes": null, "hexValue": "56616c7565206d7573742062652067726561746572207468616e207a65726f2e", - "id": 364, + "id": 366, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "7891:34:0", + "src": "7900:34:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_21fbec2be6560b9ccffc4980d43c0d147770168e7aaf24999b418b9010085622", @@ -21474,21 +21702,21 @@ "typeString": "literal_string \"Value must be greater than zero.\"" } ], - "id": 359, + "id": 361, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1381, - 1382 + 1391, + 1392 ], - "referencedDeclaration": 1382, - "src": "7868:7:0", + "referencedDeclaration": 1392, + "src": "7877:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 365, + "id": 367, "isConstant": false, "isLValue": false, "isPure": false, @@ -21496,20 +21724,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7868:58:0", + "src": "7877:58:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 366, + "id": 368, "nodeType": "ExpressionStatement", - "src": "7868:58:0" + "src": "7877:58:0" }, { "expression": { "argumentTypes": null, - "id": 379, + "id": 381, "isConstant": false, "isLValue": false, "isPure": false, @@ -21520,26 +21748,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 367, + "id": 369, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "7937:12:0", + "src": "7946:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 369, + "id": 371, "indexExpression": { "argumentTypes": null, - "id": 368, + "id": 370, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 342, - "src": "7950:10:0", + "referencedDeclaration": 344, + "src": "7959:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -21550,13 +21778,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "7937:24:0", + "src": "7946:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 370, + "id": 372, "isConstant": false, "isLValue": true, "isPure": false, @@ -21564,7 +21792,7 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": 40, - "src": "7937:30:0", + "src": "7946:30:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -21579,18 +21807,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 376, + "id": 378, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1378, - "src": "8018:3:0", + "referencedDeclaration": 1388, + "src": "8027:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 377, + "id": 379, "isConstant": false, "isLValue": false, "isPure": false, @@ -21598,7 +21826,7 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "8018:9:0", + "src": "8027:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -21618,26 +21846,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 371, + "id": 373, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "7970:12:0", + "src": "7979:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 373, + "id": 375, "indexExpression": { "argumentTypes": null, - "id": 372, + "id": 374, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 342, - "src": "7983:10:0", + "referencedDeclaration": 344, + "src": "7992:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -21648,13 +21876,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "7970:24:0", + "src": "7979:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 374, + "id": 376, "isConstant": false, "isLValue": true, "isPure": false, @@ -21662,27 +21890,27 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": 40, - "src": "7970:30:0", + "src": "7979:30:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 375, + "id": 377, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 1342, - "src": "7970:47:0", + "referencedDeclaration": 1352, + "src": "7979:47:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 378, + "id": 380, "isConstant": false, "isLValue": false, "isPure": false, @@ -21690,26 +21918,26 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7970:58:0", + "src": "7979:58:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "7937:91:0", + "src": "7946:91:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 380, + "id": 382, "nodeType": "ExpressionStatement", - "src": "7937:91:0" + "src": "7946:91:0" }, { "expression": { "argumentTypes": null, - "id": 387, + "id": 389, "isConstant": false, "isLValue": false, "isPure": false, @@ -21720,26 +21948,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 381, + "id": 383, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "8038:12:0", + "src": "8047:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 383, + "id": 385, "indexExpression": { "argumentTypes": null, - "id": 382, + "id": 384, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 342, - "src": "8051:10:0", + "referencedDeclaration": 344, + "src": "8060:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -21750,13 +21978,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "8038:24:0", + "src": "8047:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 384, + "id": 386, "isConstant": false, "isLValue": true, "isPure": false, @@ -21764,7 +21992,7 @@ "memberName": "lastModified", "nodeType": "MemberAccess", "referencedDeclaration": 42, - "src": "8038:37:0", + "src": "8047:37:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -21776,18 +22004,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 385, + "id": 387, "name": "block", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1368, - "src": "8078:5:0", + "referencedDeclaration": 1378, + "src": "8087:5:0", "typeDescriptions": { "typeIdentifier": "t_magic_block", "typeString": "block" } }, - "id": 386, + "id": 388, "isConstant": false, "isLValue": false, "isPure": false, @@ -21795,21 +22023,21 @@ "memberName": "timestamp", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "8078:15:0", + "src": "8087:15:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "8038:55:0", + "src": "8047:55:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 388, + "id": 390, "nodeType": "ExpressionStatement", - "src": "8038:55:0" + "src": "8047:55:0" }, { "eventCall": { @@ -21817,12 +22045,12 @@ "arguments": [ { "argumentTypes": null, - "id": 390, + "id": 392, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 342, - "src": "8119:10:0", + "referencedDeclaration": 344, + "src": "8128:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -21832,18 +22060,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 391, + "id": 393, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1378, - "src": "8131:3:0", + "referencedDeclaration": 1388, + "src": "8140:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 392, + "id": 394, "isConstant": false, "isLValue": false, "isPure": false, @@ -21851,7 +22079,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "8131:10:0", + "src": "8140:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -21861,18 +22089,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 393, + "id": 395, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1378, - "src": "8143:3:0", + "referencedDeclaration": 1388, + "src": "8152:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 394, + "id": 396, "isConstant": false, "isLValue": false, "isPure": false, @@ -21880,7 +22108,7 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "8143:9:0", + "src": "8152:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -21902,18 +22130,18 @@ "typeString": "uint256" } ], - "id": 389, + "id": 391, "name": "FundAdded", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 30, - "src": "8109:9:0", + "src": "8118:9:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (bytes32,address,uint256)" } }, - "id": 395, + "id": 397, "isConstant": false, "isLValue": false, "isPure": false, @@ -21921,20 +22149,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8109:44:0", + "src": "8118:44:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 396, + "id": 398, "nodeType": "EmitStatement", - "src": "8104:49:0" + "src": "8113:49:0" } ] }, "documentation": "@dev Allows buyer of the transaction to add more funds(ether) in the transaction. \nThis will help to cater scenarios wherein initially buyer missed to fund transaction as required\n@param scriptHash script hash of the transaction\nOnly buyer of the transaction can invoke this method", - "id": 398, + "id": 400, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -21943,78 +22171,78 @@ "arguments": [ { "argumentTypes": null, - "id": 345, + "id": 347, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 342, - "src": "7704:10:0", + "referencedDeclaration": 344, + "src": "7713:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } } ], - "id": 346, + "id": 348, "modifierName": { "argumentTypes": null, - "id": 344, + "id": 346, "name": "transactionExist", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 99, - "src": "7687:16:0", + "src": "7696:16:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "7687:28:0" + "src": "7696:28:0" }, { "arguments": [ { "argumentTypes": null, - "id": 348, + "id": 350, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 342, - "src": "7738:10:0", + "referencedDeclaration": 344, + "src": "7747:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } } ], - "id": 349, + "id": 351, "modifierName": { "argumentTypes": null, - "id": 347, + "id": 349, "name": "inFundedState", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 132, - "src": "7724:13:0", + "src": "7733:13:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "7724:25:0" + "src": "7733:25:0" }, { "arguments": [ { "argumentTypes": null, - "id": 351, + "id": 353, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 342, - "src": "7779:10:0", + "referencedDeclaration": 344, + "src": "7788:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -22024,18 +22252,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 352, + "id": 354, "name": "TransactionType", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12, - "src": "7791:15:0", + "src": "7800:15:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_TransactionType_$12_$", "typeString": "type(enum Escrow_v1_0.TransactionType)" } }, - "id": 353, + "id": 355, "isConstant": false, "isLValue": false, "isPure": true, @@ -22043,77 +22271,77 @@ "memberName": "ETHER", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "7791:21:0", + "src": "7800:21:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" } } ], - "id": 354, + "id": 356, "modifierName": { "argumentTypes": null, - "id": 350, + "id": 352, "name": "checkTransactionType", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 165, - "src": "7758:20:0", + "src": "7767:20:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$_t_enum$_TransactionType_$12_$", "typeString": "modifier (bytes32,enum Escrow_v1_0.TransactionType)" } }, "nodeType": "ModifierInvocation", - "src": "7758:55:0" + "src": "7767:55:0" }, { "arguments": [ { "argumentTypes": null, - "id": 356, + "id": 358, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 342, - "src": "7832:10:0", + "referencedDeclaration": 344, + "src": "7841:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } } ], - "id": 357, + "id": 359, "modifierName": { "argumentTypes": null, - "id": 355, + "id": 357, "name": "onlyBuyer", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 182, - "src": "7822:9:0", + "src": "7831:9:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "7822:21:0" + "src": "7831:21:0" } ], "name": "addFundsToTransaction", "nodeType": "FunctionDefinition", "parameters": { - "id": 343, + "id": 345, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 342, + "id": 344, "name": "scriptHash", "nodeType": "VariableDeclaration", - "scope": 398, - "src": "7621:18:0", + "scope": 400, + "src": "7630:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -22121,10 +22349,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 341, + "id": 343, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "7621:7:0", + "src": "7630:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -22134,26 +22362,26 @@ "visibility": "internal" } ], - "src": "7611:34:0" + "src": "7620:34:0" }, "payable": true, "returnParameters": { - "id": 358, + "id": 360, "nodeType": "ParameterList", "parameters": [], - "src": "7857:0:0" + "src": "7866:0:0" }, - "scope": 1205, - "src": "7581:579:0", + "scope": 1215, + "src": "7590:579:0", "stateMutability": "payable", "superFunction": null, "visibility": "external" }, { "body": { - "id": 476, + "id": 480, "nodeType": "Block", - "src": "8763:613:0", + "src": "8772:622:0", "statements": [ { "expression": { @@ -22165,19 +22393,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 422, + "id": 424, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 420, + "id": 422, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 402, - "src": "8782:5:0", + "referencedDeclaration": 404, + "src": "8791:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -22188,14 +22416,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 421, + "id": 423, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "8790:1:0", + "src": "8799:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -22203,7 +22431,7 @@ }, "value": "0" }, - "src": "8782:9:0", + "src": "8791:9:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -22212,14 +22440,14 @@ { "argumentTypes": null, "hexValue": "56616c7565206d7573742062652067726561746572207468616e207a65726f2e", - "id": 423, + "id": 425, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "8793:34:0", + "src": "8802:34:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_21fbec2be6560b9ccffc4980d43c0d147770168e7aaf24999b418b9010085622", @@ -22239,21 +22467,21 @@ "typeString": "literal_string \"Value must be greater than zero.\"" } ], - "id": 419, + "id": 421, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1381, - 1382 + 1391, + 1392 ], - "referencedDeclaration": 1382, - "src": "8774:7:0", + "referencedDeclaration": 1392, + "src": "8783:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 424, + "id": 426, "isConstant": false, "isLValue": false, "isPure": false, @@ -22261,43 +22489,43 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8774:54:0", + "src": "8783:54:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 425, + "id": 427, "nodeType": "ExpressionStatement", - "src": "8774:54:0" + "src": "8783:54:0" }, { "assignments": [ - 427 + 429 ], "declarations": [ { "constant": false, - "id": 427, + "id": 429, "name": "token", "nodeType": "VariableDeclaration", - "scope": 477, - "src": "8839:20:0", + "scope": 481, + "src": "8848:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenContract_$1235", + "typeIdentifier": "t_contract$_ITokenContract_$1245", "typeString": "contract ITokenContract" }, "typeName": { "contractScope": null, - "id": 426, + "id": 428, "name": "ITokenContract", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1235, - "src": "8839:14:0", + "referencedDeclaration": 1245, + "src": "8848:14:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenContract_$1235", + "typeIdentifier": "t_contract$_ITokenContract_$1245", "typeString": "contract ITokenContract" } }, @@ -22305,7 +22533,7 @@ "visibility": "internal" } ], - "id": 434, + "id": 436, "initialValue": { "argumentTypes": null, "arguments": [ @@ -22315,26 +22543,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 429, + "id": 431, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "8890:12:0", + "src": "8899:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 431, + "id": 433, "indexExpression": { "argumentTypes": null, - "id": 430, + "id": 432, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 400, - "src": "8903:10:0", + "referencedDeclaration": 402, + "src": "8912:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -22345,13 +22573,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "8890:24:0", + "src": "8899:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 432, + "id": 434, "isConstant": false, "isLValue": true, "isPure": false, @@ -22359,7 +22587,7 @@ "memberName": "tokenAddress", "nodeType": "MemberAccess", "referencedDeclaration": 56, - "src": "8890:37:0", + "src": "8899:37:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -22373,18 +22601,18 @@ "typeString": "address" } ], - "id": 428, + "id": 430, "name": "ITokenContract", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1235, - "src": "8862:14:0", + "referencedDeclaration": 1245, + "src": "8871:14:0", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ITokenContract_$1235_$", + "typeIdentifier": "t_type$_t_contract$_ITokenContract_$1245_$", "typeString": "type(contract ITokenContract)" } }, - "id": 433, + "id": 435, "isConstant": false, "isLValue": false, "isPure": false, @@ -22392,14 +22620,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8862:75:0", + "src": "8871:75:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenContract_$1235", + "typeIdentifier": "t_contract$_ITokenContract_$1245", "typeString": "contract ITokenContract" } }, "nodeType": "VariableDeclarationStatement", - "src": "8839:98:0" + "src": "8848:98:0" }, { "expression": { @@ -22414,26 +22642,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 438, + "id": 440, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "8988:12:0", + "src": "8997:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 440, + "id": 442, "indexExpression": { "argumentTypes": null, - "id": 439, + "id": 441, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 400, - "src": "9001:10:0", + "referencedDeclaration": 402, + "src": "9010:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -22444,13 +22672,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "8988:24:0", + "src": "8997:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 441, + "id": 443, "isConstant": false, "isLValue": true, "isPure": false, @@ -22458,7 +22686,7 @@ "memberName": "buyer", "nodeType": "MemberAccess", "referencedDeclaration": 52, - "src": "8988:30:0", + "src": "8997:30:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -22466,25 +22694,63 @@ }, { "argumentTypes": null, - "id": 442, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1395, - "src": "9020:4:0", + "arguments": [ + { + "argumentTypes": null, + "id": 445, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1405, + "src": "9037:4:0", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Escrow_v1_0_$1215", + "typeString": "contract Escrow_v1_0" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_Escrow_v1_0_$1215", + "typeString": "contract Escrow_v1_0" + } + ], + "id": 444, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "9029:7:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 446, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9029:13:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_Escrow_v1_0_$1205", - "typeString": "contract Escrow_v1_0" + "typeIdentifier": "t_address", + "typeString": "address" } }, { "argumentTypes": null, - "id": 443, + "id": 447, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 402, - "src": "9026:5:0", + "referencedDeclaration": 404, + "src": "9044:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -22498,8 +22764,8 @@ "typeString": "address" }, { - "typeIdentifier": "t_contract$_Escrow_v1_0_$1205", - "typeString": "contract Escrow_v1_0" + "typeIdentifier": "t_address", + "typeString": "address" }, { "typeIdentifier": "t_uint256", @@ -22508,32 +22774,32 @@ ], "expression": { "argumentTypes": null, - "id": 436, + "id": 438, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 427, - "src": "8969:5:0", + "referencedDeclaration": 429, + "src": "8978:5:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenContract_$1235", + "typeIdentifier": "t_contract$_ITokenContract_$1245", "typeString": "contract ITokenContract" } }, - "id": 437, + "id": 439, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "transferFrom", "nodeType": "MemberAccess", - "referencedDeclaration": 1234, - "src": "8969:18:0", + "referencedDeclaration": 1244, + "src": "8978:18:0", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", "typeString": "function (address,address,uint256) external returns (bool)" } }, - "id": 444, + "id": 448, "isConstant": false, "isLValue": false, "isPure": false, @@ -22541,7 +22807,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8969:63:0", + "src": "8978:72:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -22550,14 +22816,14 @@ { "argumentTypes": null, "hexValue": "546f6b656e207472616e73666572206661696c65642c206d6179626520796f7520646964206e6f7420617070726f766520657363726f7720636f6e747261637420746f207370656e64206f6e20626568616c66206f66206275796572", - "id": 445, + "id": 449, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "9046:94:0", + "src": "9064:94:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_d9d07068d589bc4adc53018a3c57c159ec128fdfb62732a5fa9410e76cf03318", @@ -22577,21 +22843,21 @@ "typeString": "literal_string \"Token transfer failed, maybe you did not approve escrow contract to spend on behalf of buyer\"" } ], - "id": 435, + "id": 437, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1381, - 1382 + 1391, + 1392 ], - "referencedDeclaration": 1382, - "src": "8948:7:0", + "referencedDeclaration": 1392, + "src": "8957:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 446, + "id": 450, "isConstant": false, "isLValue": false, "isPure": false, @@ -22599,20 +22865,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8948:202:0", + "src": "8957:211:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 447, + "id": 451, "nodeType": "ExpressionStatement", - "src": "8948:202:0" + "src": "8957:211:0" }, { "expression": { "argumentTypes": null, - "id": 459, + "id": 463, "isConstant": false, "isLValue": false, "isPure": false, @@ -22623,26 +22889,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 448, + "id": 452, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "9161:12:0", + "src": "9179:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 450, + "id": 454, "indexExpression": { "argumentTypes": null, - "id": 449, + "id": 453, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 400, - "src": "9174:10:0", + "referencedDeclaration": 402, + "src": "9192:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -22653,13 +22919,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "9161:24:0", + "src": "9179:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 451, + "id": 455, "isConstant": false, "isLValue": true, "isPure": false, @@ -22667,7 +22933,7 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": 40, - "src": "9161:30:0", + "src": "9179:30:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -22680,12 +22946,12 @@ "arguments": [ { "argumentTypes": null, - "id": 457, + "id": 461, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 402, - "src": "9242:5:0", + "referencedDeclaration": 404, + "src": "9260:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -22705,26 +22971,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 452, + "id": 456, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "9194:12:0", + "src": "9212:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 454, + "id": 458, "indexExpression": { "argumentTypes": null, - "id": 453, + "id": 457, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 400, - "src": "9207:10:0", + "referencedDeclaration": 402, + "src": "9225:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -22735,13 +23001,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "9194:24:0", + "src": "9212:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 455, + "id": 459, "isConstant": false, "isLValue": true, "isPure": false, @@ -22749,27 +23015,27 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": 40, - "src": "9194:30:0", + "src": "9212:30:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 456, + "id": 460, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 1342, - "src": "9194:47:0", + "referencedDeclaration": 1352, + "src": "9212:47:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 458, + "id": 462, "isConstant": false, "isLValue": false, "isPure": false, @@ -22777,26 +23043,26 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "9194:54:0", + "src": "9212:54:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "9161:87:0", + "src": "9179:87:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 460, + "id": 464, "nodeType": "ExpressionStatement", - "src": "9161:87:0" + "src": "9179:87:0" }, { "expression": { "argumentTypes": null, - "id": 467, + "id": 471, "isConstant": false, "isLValue": false, "isPure": false, @@ -22807,26 +23073,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 461, + "id": 465, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "9258:12:0", + "src": "9276:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 463, + "id": 467, "indexExpression": { "argumentTypes": null, - "id": 462, + "id": 466, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 400, - "src": "9271:10:0", + "referencedDeclaration": 402, + "src": "9289:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -22837,13 +23103,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "9258:24:0", + "src": "9276:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 464, + "id": 468, "isConstant": false, "isLValue": true, "isPure": false, @@ -22851,7 +23117,7 @@ "memberName": "lastModified", "nodeType": "MemberAccess", "referencedDeclaration": 42, - "src": "9258:37:0", + "src": "9276:37:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -22863,18 +23129,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 465, + "id": 469, "name": "block", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1368, - "src": "9298:5:0", + "referencedDeclaration": 1378, + "src": "9316:5:0", "typeDescriptions": { "typeIdentifier": "t_magic_block", "typeString": "block" } }, - "id": 466, + "id": 470, "isConstant": false, "isLValue": false, "isPure": false, @@ -22882,21 +23148,21 @@ "memberName": "timestamp", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "9298:15:0", + "src": "9316:15:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "9258:55:0", + "src": "9276:55:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 468, + "id": 472, "nodeType": "ExpressionStatement", - "src": "9258:55:0" + "src": "9276:55:0" }, { "eventCall": { @@ -22904,12 +23170,12 @@ "arguments": [ { "argumentTypes": null, - "id": 470, + "id": 474, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 400, - "src": "9339:10:0", + "referencedDeclaration": 402, + "src": "9357:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -22919,18 +23185,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 471, + "id": 475, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1378, - "src": "9351:3:0", + "referencedDeclaration": 1388, + "src": "9369:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 472, + "id": 476, "isConstant": false, "isLValue": false, "isPure": false, @@ -22938,7 +23204,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "9351:10:0", + "src": "9369:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -22946,12 +23212,12 @@ }, { "argumentTypes": null, - "id": 473, + "id": 477, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 402, - "src": "9363:5:0", + "referencedDeclaration": 404, + "src": "9381:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -22973,18 +23239,18 @@ "typeString": "uint256" } ], - "id": 469, + "id": 473, "name": "FundAdded", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 30, - "src": "9329:9:0", + "src": "9347:9:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (bytes32,address,uint256)" } }, - "id": 474, + "id": 478, "isConstant": false, "isLValue": false, "isPure": false, @@ -22992,20 +23258,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "9329:40:0", + "src": "9347:40:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 475, + "id": 479, "nodeType": "EmitStatement", - "src": "9324:45:0" + "src": "9342:45:0" } ] }, "documentation": "@dev Allows buyer of the transaction to add more funds(Tokens) in the transaction. \nThis will help to cater scenarios wherein initially buyer missed to fund transaction as required\n@param scriptHash script hash of the transaction\nOnly buyer of the transaction can invoke this method", - "id": 477, + "id": 481, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -23014,78 +23280,78 @@ "arguments": [ { "argumentTypes": null, - "id": 405, + "id": 407, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 400, - "src": "8619:10:0", + "referencedDeclaration": 402, + "src": "8628:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } } ], - "id": 406, + "id": 408, "modifierName": { "argumentTypes": null, - "id": 404, + "id": 406, "name": "transactionExist", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 99, - "src": "8602:16:0", + "src": "8611:16:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "8602:28:0" + "src": "8611:28:0" }, { "arguments": [ { "argumentTypes": null, - "id": 408, + "id": 410, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 400, - "src": "8653:10:0", + "referencedDeclaration": 402, + "src": "8662:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } } ], - "id": 409, + "id": 411, "modifierName": { "argumentTypes": null, - "id": 407, + "id": 409, "name": "inFundedState", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 132, - "src": "8639:13:0", + "src": "8648:13:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "8639:25:0" + "src": "8648:25:0" }, { "arguments": [ { "argumentTypes": null, - "id": 411, + "id": 413, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 400, - "src": "8694:10:0", + "referencedDeclaration": 402, + "src": "8703:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -23095,18 +23361,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 412, + "id": 414, "name": "TransactionType", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12, - "src": "8706:15:0", + "src": "8715:15:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_TransactionType_$12_$", "typeString": "type(enum Escrow_v1_0.TransactionType)" } }, - "id": 413, + "id": 415, "isConstant": false, "isLValue": false, "isPure": true, @@ -23114,77 +23380,77 @@ "memberName": "TOKEN", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "8706:21:0", + "src": "8715:21:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" } } ], - "id": 414, + "id": 416, "modifierName": { "argumentTypes": null, - "id": 410, + "id": 412, "name": "checkTransactionType", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 165, - "src": "8673:20:0", + "src": "8682:20:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$_t_enum$_TransactionType_$12_$", "typeString": "modifier (bytes32,enum Escrow_v1_0.TransactionType)" } }, "nodeType": "ModifierInvocation", - "src": "8673:55:0" + "src": "8682:55:0" }, { "arguments": [ { "argumentTypes": null, - "id": 416, + "id": 418, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 400, - "src": "8747:10:0", + "referencedDeclaration": 402, + "src": "8756:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } } ], - "id": 417, + "id": 419, "modifierName": { "argumentTypes": null, - "id": 415, + "id": 417, "name": "onlyBuyer", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 182, - "src": "8737:9:0", + "src": "8746:9:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "8737:21:0" + "src": "8746:21:0" } ], "name": "addTokensToTransaction", "nodeType": "FunctionDefinition", "parameters": { - "id": 403, + "id": 405, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 400, + "id": 402, "name": "scriptHash", "nodeType": "VariableDeclaration", - "scope": 477, - "src": "8529:18:0", + "scope": 481, + "src": "8538:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -23192,10 +23458,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 399, + "id": 401, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "8529:7:0", + "src": "8538:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -23206,11 +23472,11 @@ }, { "constant": false, - "id": 402, + "id": 404, "name": "value", "nodeType": "VariableDeclaration", - "scope": 477, - "src": "8557:13:0", + "scope": 481, + "src": "8566:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -23218,10 +23484,10 @@ "typeString": "uint256" }, "typeName": { - "id": 401, + "id": 403, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "8557:7:0", + "src": "8566:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -23231,52 +23497,52 @@ "visibility": "internal" } ], - "src": "8519:57:0" + "src": "8528:57:0" }, "payable": false, "returnParameters": { - "id": 418, + "id": 420, "nodeType": "ParameterList", "parameters": [], - "src": "8763:0:0" + "src": "8772:0:0" }, - "scope": 1205, - "src": "8488:888:0", + "scope": 1215, + "src": "8497:897:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" }, { "body": { - "id": 489, + "id": 493, "nodeType": "Block", - "src": "9631:56:0", + "src": "9649:56:0", "statements": [ { "expression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 485, + "id": 489, "name": "partyVsTransaction", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 83, - "src": "9648:18:0", + "src": "9666:18:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_bytes32_$dyn_storage_$", "typeString": "mapping(address => bytes32[] storage ref)" } }, - "id": 487, + "id": 491, "indexExpression": { "argumentTypes": null, - "id": 486, + "id": 490, "name": "partyAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 479, - "src": "9667:12:0", + "referencedDeclaration": 483, + "src": "9685:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -23287,21 +23553,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "9648:32:0", + "src": "9666:32:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage", "typeString": "bytes32[] storage ref" } }, - "functionReturnParameters": 484, - "id": 488, + "functionReturnParameters": 488, + "id": 492, "nodeType": "Return", - "src": "9641:39:0" + "src": "9659:39:0" } ] }, "documentation": "dev Returns all transaction ids for a party\nparam partyAddress Address of the party", - "id": 490, + "id": 494, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -23309,16 +23575,16 @@ "name": "getAllTransactionsForParty", "nodeType": "FunctionDefinition", "parameters": { - "id": 480, + "id": 484, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 479, + "id": 483, "name": "partyAddress", "nodeType": "VariableDeclaration", - "scope": 490, - "src": "9538:20:0", + "scope": 494, + "src": "9556:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -23326,10 +23592,10 @@ "typeString": "address" }, "typeName": { - "id": 478, + "id": 482, "name": "address", "nodeType": "ElementaryTypeName", - "src": "9538:7:0", + "src": "9556:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -23339,20 +23605,20 @@ "visibility": "internal" } ], - "src": "9528:36:0" + "src": "9546:36:0" }, "payable": false, "returnParameters": { - "id": 484, + "id": 488, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 483, + "id": 487, "name": "", "nodeType": "VariableDeclaration", - "scope": 490, - "src": "9615:9:0", + "scope": 494, + "src": "9633:9:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -23361,19 +23627,19 @@ }, "typeName": { "baseType": { - "id": 481, + "id": 485, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "9615:7:0", + "src": "9633:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "id": 482, + "id": 486, "length": null, "nodeType": "ArrayTypeName", - "src": "9615:9:0", + "src": "9633:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -23383,19 +23649,19 @@ "visibility": "internal" } ], - "src": "9614:11:0" + "src": "9632:11:0" }, - "scope": 1205, - "src": "9493:194:0", + "scope": 1215, + "src": "9511:194:0", "stateMutability": "view", "superFunction": null, "visibility": "external" }, { "body": { - "id": 575, + "id": 579, "nodeType": "Block", - "src": "10557:792:0", + "src": "10575:792:0", "statements": [ { "expression": { @@ -23407,7 +23673,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 526, + "id": 530, "isConstant": false, "isLValue": false, "isPure": false, @@ -23418,7 +23684,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 520, + "id": 524, "isConstant": false, "isLValue": false, "isPure": false, @@ -23427,18 +23693,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 517, + "id": 521, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 504, - "src": "10588:12:0", + "referencedDeclaration": 508, + "src": "10606:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" } }, - "id": 518, + "id": 522, "isConstant": false, "isLValue": false, "isPure": false, @@ -23446,7 +23712,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "10588:19:0", + "src": "10606:19:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -23457,14 +23723,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 519, + "id": 523, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "10608:1:0", + "src": "10626:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -23472,7 +23738,7 @@ }, "value": "0" }, - "src": "10588:21:0", + "src": "10606:21:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -23486,7 +23752,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 525, + "id": 529, "isConstant": false, "isLValue": false, "isPure": false, @@ -23495,18 +23761,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 521, + "id": 525, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 504, - "src": "10613:12:0", + "referencedDeclaration": 508, + "src": "10631:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" } }, - "id": 522, + "id": 526, "isConstant": false, "isLValue": false, "isPure": false, @@ -23514,7 +23780,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "10613:19:0", + "src": "10631:19:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -23526,18 +23792,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 523, + "id": 527, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 507, - "src": "10636:7:0", + "referencedDeclaration": 511, + "src": "10654:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", "typeString": "uint256[] calldata" } }, - "id": 524, + "id": 528, "isConstant": false, "isLValue": false, "isPure": false, @@ -23545,19 +23811,19 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "10636:14:0", + "src": "10654:14:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "10613:37:0", + "src": "10631:37:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "10588:62:0", + "src": "10606:62:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -23566,14 +23832,14 @@ { "argumentTypes": null, "hexValue": "4c656e677468206f662064657374696e6174696f6e7320697320696e636f72726563742e", - "id": 527, + "id": 531, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "10652:38:0", + "src": "10670:38:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_53e979b0c355ea1eeda44a80ca73370fdb2abe922711b459aa4ee43d1558782b", @@ -23593,21 +23859,21 @@ "typeString": "literal_string \"Length of destinations is incorrect.\"" } ], - "id": 516, + "id": 520, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1381, - 1382 + 1391, + 1392 ], - "referencedDeclaration": 1382, - "src": "10567:7:0", + "referencedDeclaration": 1392, + "src": "10585:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 528, + "id": 532, "isConstant": false, "isLValue": false, "isPure": false, @@ -23615,15 +23881,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "10567:133:0", + "src": "10585:133:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 529, + "id": 533, "nodeType": "ExpressionStatement", - "src": "10567:133:0" + "src": "10585:133:0" }, { "expression": { @@ -23631,12 +23897,12 @@ "arguments": [ { "argumentTypes": null, - "id": 531, + "id": 535, "name": "sigV", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 493, - "src": "10743:4:0", + "referencedDeclaration": 497, + "src": "10761:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_calldata_ptr", "typeString": "uint8[] calldata" @@ -23644,12 +23910,12 @@ }, { "argumentTypes": null, - "id": 532, + "id": 536, "name": "sigR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 496, - "src": "10761:4:0", + "referencedDeclaration": 500, + "src": "10779:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", "typeString": "bytes32[] calldata" @@ -23657,12 +23923,12 @@ }, { "argumentTypes": null, - "id": 533, + "id": 537, "name": "sigS", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 499, - "src": "10779:4:0", + "referencedDeclaration": 503, + "src": "10797:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", "typeString": "bytes32[] calldata" @@ -23670,12 +23936,12 @@ }, { "argumentTypes": null, - "id": 534, + "id": 538, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 501, - "src": "10797:10:0", + "referencedDeclaration": 505, + "src": "10815:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -23683,12 +23949,12 @@ }, { "argumentTypes": null, - "id": 535, + "id": 539, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 504, - "src": "10821:12:0", + "referencedDeclaration": 508, + "src": "10839:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" @@ -23696,12 +23962,12 @@ }, { "argumentTypes": null, - "id": 536, + "id": 540, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 507, - "src": "10847:7:0", + "referencedDeclaration": 511, + "src": "10865:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", "typeString": "uint256[] calldata" @@ -23735,18 +24001,18 @@ "typeString": "uint256[] calldata" } ], - "id": 530, + "id": 534, "name": "_verifyTransaction", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 700, - "src": "10711:18:0", + "referencedDeclaration": 708, + "src": "10729:18:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_array$_t_uint8_$dyn_memory_ptr_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_bytes32_$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$__$", "typeString": "function (uint8[] memory,bytes32[] memory,bytes32[] memory,bytes32,address[] memory,uint256[] memory)" } }, - "id": 537, + "id": 541, "isConstant": false, "isLValue": false, "isPure": false, @@ -23754,20 +24020,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "10711:153:0", + "src": "10729:153:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 538, + "id": 542, "nodeType": "ExpressionStatement", - "src": "10711:153:0" + "src": "10729:153:0" }, { "expression": { "argumentTypes": null, - "id": 545, + "id": 549, "isConstant": false, "isLValue": false, "isPure": false, @@ -23778,26 +24044,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 539, + "id": 543, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "10875:12:0", + "src": "10893:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 541, + "id": 545, "indexExpression": { "argumentTypes": null, - "id": 540, + "id": 544, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 501, - "src": "10888:10:0", + "referencedDeclaration": 505, + "src": "10906:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -23808,13 +24074,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "10875:24:0", + "src": "10893:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 542, + "id": 546, "isConstant": false, "isLValue": true, "isPure": false, @@ -23822,7 +24088,7 @@ "memberName": "status", "nodeType": "MemberAccess", "referencedDeclaration": 44, - "src": "10875:31:0", + "src": "10893:31:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$9", "typeString": "enum Escrow_v1_0.Status" @@ -23834,18 +24100,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 543, + "id": 547, "name": "Status", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9, - "src": "10909:6:0", + "src": "10927:6:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_Status_$9_$", "typeString": "type(enum Escrow_v1_0.Status)" } }, - "id": 544, + "id": 548, "isConstant": false, "isLValue": false, "isPure": true, @@ -23853,26 +24119,26 @@ "memberName": "RELEASED", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "10909:15:0", + "src": "10927:15:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$9", "typeString": "enum Escrow_v1_0.Status" } }, - "src": "10875:49:0", + "src": "10893:49:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$9", "typeString": "enum Escrow_v1_0.Status" } }, - "id": 546, + "id": 550, "nodeType": "ExpressionStatement", - "src": "10875:49:0" + "src": "10893:49:0" }, { "expression": { "argumentTypes": null, - "id": 553, + "id": 557, "isConstant": false, "isLValue": false, "isPure": false, @@ -23883,26 +24149,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 547, + "id": 551, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "11008:12:0", + "src": "11026:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 549, + "id": 553, "indexExpression": { "argumentTypes": null, - "id": 548, + "id": 552, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 501, - "src": "11021:10:0", + "referencedDeclaration": 505, + "src": "11039:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -23913,13 +24179,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "11008:24:0", + "src": "11026:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 550, + "id": 554, "isConstant": false, "isLValue": true, "isPure": false, @@ -23927,7 +24193,7 @@ "memberName": "lastModified", "nodeType": "MemberAccess", "referencedDeclaration": 42, - "src": "11008:37:0", + "src": "11026:37:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -23939,18 +24205,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 551, + "id": 555, "name": "block", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1368, - "src": "11048:5:0", + "referencedDeclaration": 1378, + "src": "11066:5:0", "typeDescriptions": { "typeIdentifier": "t_magic_block", "typeString": "block" } }, - "id": 552, + "id": 556, "isConstant": false, "isLValue": false, "isPure": false, @@ -23958,21 +24224,21 @@ "memberName": "timestamp", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "11048:15:0", + "src": "11066:15:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "11008:55:0", + "src": "11026:55:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 554, + "id": 558, "nodeType": "ExpressionStatement", - "src": "11008:55:0" + "src": "11026:55:0" }, { "expression": { @@ -23984,7 +24250,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 565, + "id": 569, "isConstant": false, "isLValue": false, "isPure": false, @@ -23994,12 +24260,12 @@ "arguments": [ { "argumentTypes": null, - "id": 557, + "id": 561, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 501, - "src": "11109:10:0", + "referencedDeclaration": 505, + "src": "11127:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -24007,12 +24273,12 @@ }, { "argumentTypes": null, - "id": 558, + "id": 562, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 504, - "src": "11121:12:0", + "referencedDeclaration": 508, + "src": "11139:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" @@ -24020,12 +24286,12 @@ }, { "argumentTypes": null, - "id": 559, + "id": 563, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 507, - "src": "11135:7:0", + "referencedDeclaration": 511, + "src": "11153:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", "typeString": "uint256[] calldata" @@ -24047,18 +24313,18 @@ "typeString": "uint256[] calldata" } ], - "id": 556, + "id": 560, "name": "_transferFunds", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 887, - "src": "11094:14:0", + "referencedDeclaration": 895, + "src": "11112:14:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$_t_uint256_$", "typeString": "function (bytes32,address[] memory,uint256[] memory) returns (uint256)" } }, - "id": 560, + "id": 564, "isConstant": false, "isLValue": false, "isPure": false, @@ -24066,7 +24332,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "11094:49:0", + "src": "11112:49:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -24080,26 +24346,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 561, + "id": 565, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "11147:12:0", + "src": "11165:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 563, + "id": 567, "indexExpression": { "argumentTypes": null, - "id": 562, + "id": 566, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 501, - "src": "11160:10:0", + "referencedDeclaration": 505, + "src": "11178:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -24110,13 +24376,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "11147:24:0", + "src": "11165:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 564, + "id": 568, "isConstant": false, "isLValue": true, "isPure": false, @@ -24124,13 +24390,13 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": 40, - "src": "11147:30:0", + "src": "11165:30:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "11094:83:0", + "src": "11112:83:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -24139,14 +24405,14 @@ { "argumentTypes": null, "hexValue": "546f74616c2076616c756520746f2062652072656c6561736564206d75737420626520657175616c20746f20746865207472616e73616374696f6e20657363726f772076616c7565", - "id": 566, + "id": 570, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "11191:74:0", + "src": "11209:74:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_9e0bdb14e2e0d5e118fd1f547268c6a1fdb5e8facacd614066d4b60bc2c9941d", @@ -24166,21 +24432,21 @@ "typeString": "literal_string \"Total value to be released must be equal to the transaction escrow value\"" } ], - "id": 555, + "id": 559, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1381, - 1382 + 1391, + 1392 ], - "referencedDeclaration": 1382, - "src": "11073:7:0", + "referencedDeclaration": 1392, + "src": "11091:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 567, + "id": 571, "isConstant": false, "isLValue": false, "isPure": false, @@ -24188,15 +24454,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "11073:202:0", + "src": "11091:202:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 568, + "id": 572, "nodeType": "ExpressionStatement", - "src": "11073:202:0" + "src": "11091:202:0" }, { "eventCall": { @@ -24204,12 +24470,12 @@ "arguments": [ { "argumentTypes": null, - "id": 570, + "id": 574, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 501, - "src": "11308:10:0", + "referencedDeclaration": 505, + "src": "11326:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -24217,12 +24483,12 @@ }, { "argumentTypes": null, - "id": 571, + "id": 575, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 504, - "src": "11320:12:0", + "referencedDeclaration": 508, + "src": "11338:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" @@ -24230,12 +24496,12 @@ }, { "argumentTypes": null, - "id": 572, + "id": 576, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 507, - "src": "11334:7:0", + "referencedDeclaration": 511, + "src": "11352:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", "typeString": "uint256[] calldata" @@ -24257,18 +24523,18 @@ "typeString": "uint256[] calldata" } ], - "id": 569, + "id": 573, "name": "Executed", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 22, - "src": "11299:8:0", + "src": "11317:8:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$__$", "typeString": "function (bytes32,address[] memory,uint256[] memory)" } }, - "id": 573, + "id": 577, "isConstant": false, "isLValue": false, "isPure": false, @@ -24276,20 +24542,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "11299:43:0", + "src": "11317:43:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 574, + "id": 578, "nodeType": "EmitStatement", - "src": "11294:48:0" + "src": "11312:48:0" } ] }, "documentation": "dev This method will be used to release funds associated with the transaction\nPlease see specs https://github.com/OpenBazaar/smart-contracts/blob/master/contracts/escrow/EscrowSpec.md\nparam sigV Array containing V component of all the signatures\nparam sigR Array containing R component of all the signatures\nparam signS Array containing S component of all the signatures\nparam scriptHash script hash of the transaction\nparam destinations List of addresses who will receive funds\nparam amounts amount released to each destination", - "id": 576, + "id": 580, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -24298,82 +24564,82 @@ "arguments": [ { "argumentTypes": null, - "id": 510, + "id": 514, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 501, - "src": "10507:10:0", + "referencedDeclaration": 505, + "src": "10525:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } } ], - "id": 511, + "id": 515, "modifierName": { "argumentTypes": null, - "id": 509, + "id": 513, "name": "transactionExist", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 99, - "src": "10490:16:0", + "src": "10508:16:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "10490:28:0" + "src": "10508:28:0" }, { "arguments": [ { "argumentTypes": null, - "id": 513, + "id": 517, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 501, - "src": "10541:10:0", + "referencedDeclaration": 505, + "src": "10559:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } } ], - "id": 514, + "id": 518, "modifierName": { "argumentTypes": null, - "id": 512, + "id": 516, "name": "inFundedState", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 132, - "src": "10527:13:0", + "src": "10545:13:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "10527:25:0" + "src": "10545:25:0" } ], "name": "execute", "nodeType": "FunctionDefinition", "parameters": { - "id": 508, + "id": 512, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 493, + "id": 497, "name": "sigV", "nodeType": "VariableDeclaration", - "scope": 576, - "src": "10311:12:0", + "scope": 580, + "src": "10329:12:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -24382,19 +24648,19 @@ }, "typeName": { "baseType": { - "id": 491, + "id": 495, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "10311:5:0", + "src": "10329:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, - "id": 492, + "id": 496, "length": null, "nodeType": "ArrayTypeName", - "src": "10311:7:0", + "src": "10329:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_storage_ptr", "typeString": "uint8[]" @@ -24405,11 +24671,11 @@ }, { "constant": false, - "id": 496, + "id": 500, "name": "sigR", "nodeType": "VariableDeclaration", - "scope": 576, - "src": "10333:14:0", + "scope": 580, + "src": "10351:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -24418,19 +24684,19 @@ }, "typeName": { "baseType": { - "id": 494, + "id": 498, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "10333:7:0", + "src": "10351:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "id": 495, + "id": 499, "length": null, "nodeType": "ArrayTypeName", - "src": "10333:9:0", + "src": "10351:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -24441,11 +24707,11 @@ }, { "constant": false, - "id": 499, + "id": 503, "name": "sigS", "nodeType": "VariableDeclaration", - "scope": 576, - "src": "10357:14:0", + "scope": 580, + "src": "10375:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -24454,19 +24720,19 @@ }, "typeName": { "baseType": { - "id": 497, + "id": 501, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "10357:7:0", + "src": "10375:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "id": 498, + "id": 502, "length": null, "nodeType": "ArrayTypeName", - "src": "10357:9:0", + "src": "10375:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -24477,11 +24743,11 @@ }, { "constant": false, - "id": 501, + "id": 505, "name": "scriptHash", "nodeType": "VariableDeclaration", - "scope": 576, - "src": "10381:18:0", + "scope": 580, + "src": "10399:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -24489,10 +24755,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 500, + "id": 504, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "10381:7:0", + "src": "10399:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -24503,11 +24769,11 @@ }, { "constant": false, - "id": 504, + "id": 508, "name": "destinations", "nodeType": "VariableDeclaration", - "scope": 576, - "src": "10409:22:0", + "scope": 580, + "src": "10427:22:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -24516,19 +24782,19 @@ }, "typeName": { "baseType": { - "id": 502, + "id": 506, "name": "address", "nodeType": "ElementaryTypeName", - "src": "10409:7:0", + "src": "10427:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 503, + "id": 507, "length": null, "nodeType": "ArrayTypeName", - "src": "10409:9:0", + "src": "10427:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", "typeString": "address[]" @@ -24539,11 +24805,11 @@ }, { "constant": false, - "id": 507, + "id": 511, "name": "amounts", "nodeType": "VariableDeclaration", - "scope": 576, - "src": "10441:17:0", + "scope": 580, + "src": "10459:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -24552,19 +24818,19 @@ }, "typeName": { "baseType": { - "id": 505, + "id": 509, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "10441:7:0", + "src": "10459:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 506, + "id": 510, "length": null, "nodeType": "ArrayTypeName", - "src": "10441:9:0", + "src": "10459:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -24574,26 +24840,26 @@ "visibility": "internal" } ], - "src": "10301:163:0" + "src": "10319:163:0" }, "payable": false, "returnParameters": { - "id": 515, + "id": 519, "nodeType": "ParameterList", "parameters": [], - "src": "10557:0:0" + "src": "10575:0:0" }, - "scope": 1205, - "src": "10285:1064:0", + "scope": 1215, + "src": "10303:1064:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" }, { "body": { - "id": 630, + "id": 638, "nodeType": "Block", - "src": "12103:716:0", + "src": "12121:734:0", "statements": [ { "condition": { @@ -24602,19 +24868,19 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 599, + "id": 603, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 595, + "id": 599, "name": "tokenAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 590, - "src": "12117:12:0", + "referencedDeclaration": 594, + "src": "12135:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -24628,14 +24894,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 597, + "id": 601, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "12141:1:0", + "src": "12159:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -24651,20 +24917,20 @@ "typeString": "int_const 0" } ], - "id": 596, + "id": 600, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "12133:7:0", + "src": "12151:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, - "id": 598, + "id": 602, "isConstant": false, "isLValue": false, "isPure": true, @@ -24672,22 +24938,22 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "12133:10:0", + "src": "12151:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "12117:26:0", + "src": "12135:26:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": { - "id": 628, + "id": 636, "nodeType": "Block", - "src": "12465:348:0", + "src": "12492:357:0", "statements": [ { "expression": { @@ -24698,12 +24964,12 @@ "arguments": [ { "argumentTypes": null, - "id": 617, + "id": 623, "name": "uniqueId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 578, - "src": "12551:8:0", + "referencedDeclaration": 582, + "src": "12578:8:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -24711,12 +24977,12 @@ }, { "argumentTypes": null, - "id": 618, + "id": 624, "name": "threshold", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 580, - "src": "12581:9:0", + "referencedDeclaration": 584, + "src": "12608:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -24724,12 +24990,12 @@ }, { "argumentTypes": null, - "id": 619, + "id": 625, "name": "timeoutHours", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 582, - "src": "12612:12:0", + "referencedDeclaration": 586, + "src": "12639:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -24737,12 +25003,12 @@ }, { "argumentTypes": null, - "id": 620, + "id": 626, "name": "buyer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 584, - "src": "12646:5:0", + "referencedDeclaration": 588, + "src": "12673:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -24750,12 +25016,12 @@ }, { "argumentTypes": null, - "id": 621, + "id": 627, "name": "seller", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 586, - "src": "12673:6:0", + "referencedDeclaration": 590, + "src": "12700:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -24763,12 +25029,12 @@ }, { "argumentTypes": null, - "id": 622, + "id": 628, "name": "moderator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 588, - "src": "12701:9:0", + "referencedDeclaration": 592, + "src": "12728:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -24776,25 +25042,63 @@ }, { "argumentTypes": null, - "id": 623, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1395, - "src": "12732:4:0", + "arguments": [ + { + "argumentTypes": null, + "id": 630, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1405, + "src": "12767:4:0", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Escrow_v1_0_$1215", + "typeString": "contract Escrow_v1_0" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_Escrow_v1_0_$1215", + "typeString": "contract Escrow_v1_0" + } + ], + "id": 629, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "12759:7:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 631, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12759:13:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_Escrow_v1_0_$1205", - "typeString": "contract Escrow_v1_0" + "typeIdentifier": "t_address", + "typeString": "address" } }, { "argumentTypes": null, - "id": 624, + "id": 632, "name": "tokenAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 590, - "src": "12758:12:0", + "referencedDeclaration": 594, + "src": "12794:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -24828,8 +25132,8 @@ "typeString": "address" }, { - "typeIdentifier": "t_contract$_Escrow_v1_0_$1205", - "typeString": "contract Escrow_v1_0" + "typeIdentifier": "t_address", + "typeString": "address" }, { "typeIdentifier": "t_address", @@ -24838,18 +25142,18 @@ ], "expression": { "argumentTypes": null, - "id": 615, + "id": 621, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1365, - "src": "12513:3:0", + "referencedDeclaration": 1375, + "src": "12540:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, - "id": 616, + "id": 622, "isConstant": false, "isLValue": false, "isPure": true, @@ -24857,13 +25161,13 @@ "memberName": "encodePacked", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "12513:16:0", + "src": "12540:16:0", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, - "id": 625, + "id": 633, "isConstant": false, "isLValue": false, "isPure": false, @@ -24871,7 +25175,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "12513:275:0", + "src": "12540:284:0", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -24885,18 +25189,18 @@ "typeString": "bytes memory" } ], - "id": 614, + "id": 620, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1372, - "src": "12486:9:0", + "referencedDeclaration": 1382, + "src": "12513:9:0", "typeDescriptions": { "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", "typeString": "function () pure returns (bytes32)" } }, - "id": 626, + "id": 634, "isConstant": false, "isLValue": false, "isPure": false, @@ -24904,26 +25208,26 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "12486:316:0", + "src": "12513:325:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "functionReturnParameters": 594, - "id": 627, + "functionReturnParameters": 598, + "id": 635, "nodeType": "Return", - "src": "12479:323:0" + "src": "12506:332:0" } ] }, - "id": 629, + "id": 637, "nodeType": "IfStatement", - "src": "12113:700:0", + "src": "12131:718:0", "trueBody": { - "id": 613, + "id": 619, "nodeType": "Block", - "src": "12145:314:0", + "src": "12163:323:0", "statements": [ { "expression": { @@ -24934,12 +25238,12 @@ "arguments": [ { "argumentTypes": null, - "id": 603, + "id": 607, "name": "uniqueId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 578, - "src": "12231:8:0", + "referencedDeclaration": 582, + "src": "12249:8:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -24947,12 +25251,12 @@ }, { "argumentTypes": null, - "id": 604, + "id": 608, "name": "threshold", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 580, - "src": "12261:9:0", + "referencedDeclaration": 584, + "src": "12279:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -24960,12 +25264,12 @@ }, { "argumentTypes": null, - "id": 605, + "id": 609, "name": "timeoutHours", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 582, - "src": "12292:12:0", + "referencedDeclaration": 586, + "src": "12310:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -24973,12 +25277,12 @@ }, { "argumentTypes": null, - "id": 606, + "id": 610, "name": "buyer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 584, - "src": "12326:5:0", + "referencedDeclaration": 588, + "src": "12344:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -24986,12 +25290,12 @@ }, { "argumentTypes": null, - "id": 607, + "id": 611, "name": "seller", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 586, - "src": "12353:6:0", + "referencedDeclaration": 590, + "src": "12371:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -24999,12 +25303,12 @@ }, { "argumentTypes": null, - "id": 608, + "id": 612, "name": "moderator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 588, - "src": "12381:9:0", + "referencedDeclaration": 592, + "src": "12399:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -25012,15 +25316,53 @@ }, { "argumentTypes": null, - "id": 609, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1395, - "src": "12412:4:0", + "arguments": [ + { + "argumentTypes": null, + "id": 614, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1405, + "src": "12438:4:0", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Escrow_v1_0_$1215", + "typeString": "contract Escrow_v1_0" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_Escrow_v1_0_$1215", + "typeString": "contract Escrow_v1_0" + } + ], + "id": 613, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "12430:7:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 615, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12430:13:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_Escrow_v1_0_$1205", - "typeString": "contract Escrow_v1_0" + "typeIdentifier": "t_address", + "typeString": "address" } } ], @@ -25051,24 +25393,24 @@ "typeString": "address" }, { - "typeIdentifier": "t_contract$_Escrow_v1_0_$1205", - "typeString": "contract Escrow_v1_0" + "typeIdentifier": "t_address", + "typeString": "address" } ], "expression": { "argumentTypes": null, - "id": 601, + "id": 605, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1365, - "src": "12193:3:0", + "referencedDeclaration": 1375, + "src": "12211:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, - "id": 602, + "id": 606, "isConstant": false, "isLValue": false, "isPure": true, @@ -25076,13 +25418,13 @@ "memberName": "encodePacked", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "12193:16:0", + "src": "12211:16:0", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, - "id": 610, + "id": 616, "isConstant": false, "isLValue": false, "isPure": false, @@ -25090,7 +25432,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "12193:241:0", + "src": "12211:250:0", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -25104,18 +25446,18 @@ "typeString": "bytes memory" } ], - "id": 600, + "id": 604, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1372, - "src": "12166:9:0", + "referencedDeclaration": 1382, + "src": "12184:9:0", "typeDescriptions": { "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", "typeString": "function () pure returns (bytes32)" } }, - "id": 611, + "id": 617, "isConstant": false, "isLValue": false, "isPure": false, @@ -25123,16 +25465,16 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "12166:282:0", + "src": "12184:291:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "functionReturnParameters": 594, - "id": 612, + "functionReturnParameters": 598, + "id": 618, "nodeType": "Return", - "src": "12159:289:0" + "src": "12177:298:0" } ] } @@ -25140,7 +25482,7 @@ ] }, "documentation": "dev Method for calculating script hash. Calculation will depend upon the type of transaction\nETHER Type transaction-:\nScript Hash- keccak256(uniqueId, threshold, timeoutHours, buyer, seller, moderator)\nTOKEN Type transaction\nScript Hash- keccak256(uniqueId, threshold, timeoutHours, buyer, seller, moderator, tokenAddress)\nClient can use this method to verify whether it has calculated correct script hash or not", - "id": 631, + "id": 639, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -25148,16 +25490,16 @@ "name": "calculateRedeemScriptHash", "nodeType": "FunctionDefinition", "parameters": { - "id": 591, + "id": 595, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 578, + "id": 582, "name": "uniqueId", "nodeType": "VariableDeclaration", - "scope": 631, - "src": "11864:16:0", + "scope": 639, + "src": "11882:16:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -25165,10 +25507,10 @@ "typeString": "bytes20" }, "typeName": { - "id": 577, + "id": 581, "name": "bytes20", "nodeType": "ElementaryTypeName", - "src": "11864:7:0", + "src": "11882:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -25179,11 +25521,11 @@ }, { "constant": false, - "id": 580, + "id": 584, "name": "threshold", "nodeType": "VariableDeclaration", - "scope": 631, - "src": "11890:15:0", + "scope": 639, + "src": "11908:15:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -25191,10 +25533,10 @@ "typeString": "uint8" }, "typeName": { - "id": 579, + "id": 583, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "11890:5:0", + "src": "11908:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -25205,11 +25547,11 @@ }, { "constant": false, - "id": 582, + "id": 586, "name": "timeoutHours", "nodeType": "VariableDeclaration", - "scope": 631, - "src": "11915:19:0", + "scope": 639, + "src": "11933:19:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -25217,10 +25559,10 @@ "typeString": "uint32" }, "typeName": { - "id": 581, + "id": 585, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "11915:6:0", + "src": "11933:6:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -25231,11 +25573,11 @@ }, { "constant": false, - "id": 584, + "id": 588, "name": "buyer", "nodeType": "VariableDeclaration", - "scope": 631, - "src": "11944:13:0", + "scope": 639, + "src": "11962:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -25243,10 +25585,10 @@ "typeString": "address" }, "typeName": { - "id": 583, + "id": 587, "name": "address", "nodeType": "ElementaryTypeName", - "src": "11944:7:0", + "src": "11962:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -25257,11 +25599,11 @@ }, { "constant": false, - "id": 586, + "id": 590, "name": "seller", "nodeType": "VariableDeclaration", - "scope": 631, - "src": "11967:14:0", + "scope": 639, + "src": "11985:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -25269,10 +25611,10 @@ "typeString": "address" }, "typeName": { - "id": 585, + "id": 589, "name": "address", "nodeType": "ElementaryTypeName", - "src": "11967:7:0", + "src": "11985:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -25283,11 +25625,11 @@ }, { "constant": false, - "id": 588, + "id": 592, "name": "moderator", "nodeType": "VariableDeclaration", - "scope": 631, - "src": "11991:17:0", + "scope": 639, + "src": "12009:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -25295,10 +25637,10 @@ "typeString": "address" }, "typeName": { - "id": 587, + "id": 591, "name": "address", "nodeType": "ElementaryTypeName", - "src": "11991:7:0", + "src": "12009:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -25309,11 +25651,11 @@ }, { "constant": false, - "id": 590, + "id": 594, "name": "tokenAddress", "nodeType": "VariableDeclaration", - "scope": 631, - "src": "12018:20:0", + "scope": 639, + "src": "12036:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -25321,10 +25663,10 @@ "typeString": "address" }, "typeName": { - "id": 589, + "id": 593, "name": "address", "nodeType": "ElementaryTypeName", - "src": "12018:7:0", + "src": "12036:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -25334,20 +25676,20 @@ "visibility": "internal" } ], - "src": "11854:190:0" + "src": "11872:190:0" }, "payable": false, "returnParameters": { - "id": 594, + "id": 598, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 593, + "id": 597, "name": "", "nodeType": "VariableDeclaration", - "scope": 631, - "src": "12090:7:0", + "scope": 639, + "src": "12108:7:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -25355,10 +25697,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 592, + "id": 596, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "12090:7:0", + "src": "12108:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -25368,32 +25710,32 @@ "visibility": "internal" } ], - "src": "12089:9:0" + "src": "12107:9:0" }, - "scope": 1205, - "src": "11820:999:0", + "scope": 1215, + "src": "11838:1017:0", "stateMutability": "view", "superFunction": null, "visibility": "public" }, { "body": { - "id": 699, + "id": 707, "nodeType": "Block", - "src": "13304:797:0", + "src": "13340:797:0", "statements": [ { "assignments": [ - 652 + 660 ], "declarations": [ { "constant": false, - "id": 652, + "id": 660, "name": "lastRecovered", "nodeType": "VariableDeclaration", - "scope": 700, - "src": "13314:21:0", + "scope": 708, + "src": "13350:21:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -25401,10 +25743,10 @@ "typeString": "address" }, "typeName": { - "id": 651, + "id": 659, "name": "address", "nodeType": "ElementaryTypeName", - "src": "13314:7:0", + "src": "13350:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -25414,18 +25756,18 @@ "visibility": "internal" } ], - "id": 661, + "id": 669, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 654, + "id": 662, "name": "sigV", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 634, - "src": "13369:4:0", + "referencedDeclaration": 642, + "src": "13405:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr", "typeString": "uint8[] memory" @@ -25433,12 +25775,12 @@ }, { "argumentTypes": null, - "id": 655, + "id": 663, "name": "sigR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 637, - "src": "13387:4:0", + "referencedDeclaration": 645, + "src": "13423:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" @@ -25446,12 +25788,12 @@ }, { "argumentTypes": null, - "id": 656, + "id": 664, "name": "sigS", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 640, - "src": "13405:4:0", + "referencedDeclaration": 648, + "src": "13441:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" @@ -25459,12 +25801,12 @@ }, { "argumentTypes": null, - "id": 657, + "id": 665, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 642, - "src": "13423:10:0", + "referencedDeclaration": 650, + "src": "13459:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -25472,12 +25814,12 @@ }, { "argumentTypes": null, - "id": 658, + "id": 666, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 645, - "src": "13447:12:0", + "referencedDeclaration": 653, + "src": "13483:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -25485,12 +25827,12 @@ }, { "argumentTypes": null, - "id": 659, + "id": 667, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 648, - "src": "13473:7:0", + "referencedDeclaration": 656, + "src": "13509:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" @@ -25524,18 +25866,18 @@ "typeString": "uint256[] memory" } ], - "id": 653, + "id": 661, "name": "_verifySignatures", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1016, - "src": "13338:17:0", + "referencedDeclaration": 1026, + "src": "13374:17:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_array$_t_uint8_$dyn_memory_ptr_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_bytes32_$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$_t_address_$", "typeString": "function (uint8[] memory,bytes32[] memory,bytes32[] memory,bytes32,address[] memory,uint256[] memory) returns (address)" } }, - "id": 660, + "id": 668, "isConstant": false, "isLValue": false, "isPure": false, @@ -25543,27 +25885,27 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "13338:152:0", + "src": "13374:152:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "VariableDeclarationStatement", - "src": "13314:176:0" + "src": "13350:176:0" }, { "assignments": [ - 663 + 671 ], "declarations": [ { "constant": false, - "id": 663, + "id": 671, "name": "timeLockExpired", "nodeType": "VariableDeclaration", - "scope": 700, - "src": "13501:20:0", + "scope": 708, + "src": "13537:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -25571,10 +25913,10 @@ "typeString": "bool" }, "typeName": { - "id": 662, + "id": 670, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "13501:4:0", + "src": "13537:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -25584,7 +25926,7 @@ "visibility": "internal" } ], - "id": 674, + "id": 682, "initialValue": { "argumentTypes": null, "arguments": [ @@ -25594,26 +25936,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 665, + "id": 673, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "13556:12:0", + "src": "13592:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 667, + "id": 675, "indexExpression": { "argumentTypes": null, - "id": 666, + "id": 674, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 642, - "src": "13569:10:0", + "referencedDeclaration": 650, + "src": "13605:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -25624,13 +25966,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "13556:24:0", + "src": "13592:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 668, + "id": 676, "isConstant": false, "isLValue": true, "isPure": false, @@ -25638,7 +25980,7 @@ "memberName": "timeoutHours", "nodeType": "MemberAccess", "referencedDeclaration": 50, - "src": "13556:37:0", + "src": "13592:37:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -25650,26 +25992,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 669, + "id": 677, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "13607:12:0", + "src": "13643:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 671, + "id": 679, "indexExpression": { "argumentTypes": null, - "id": 670, + "id": 678, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 642, - "src": "13620:10:0", + "referencedDeclaration": 650, + "src": "13656:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -25680,13 +26022,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "13607:24:0", + "src": "13643:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 672, + "id": 680, "isConstant": false, "isLValue": true, "isPure": false, @@ -25694,7 +26036,7 @@ "memberName": "lastModified", "nodeType": "MemberAccess", "referencedDeclaration": 42, - "src": "13607:37:0", + "src": "13643:37:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -25712,18 +26054,18 @@ "typeString": "uint256" } ], - "id": 664, + "id": 672, "name": "_isTimeLockExpired", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1048, - "src": "13524:18:0", + "referencedDeclaration": 1058, + "src": "13560:18:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_uint32_$_t_uint256_$returns$_t_bool_$", "typeString": "function (uint32,uint256) view returns (bool)" } }, - "id": 673, + "id": 681, "isConstant": false, "isLValue": false, "isPure": false, @@ -25731,14 +26073,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "13524:130:0", + "src": "13560:130:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "nodeType": "VariableDeclarationStatement", - "src": "13501:153:0" + "src": "13537:153:0" }, { "condition": { @@ -25747,7 +26089,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 692, + "id": 700, "isConstant": false, "isLValue": false, "isPure": false, @@ -25758,7 +26100,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 681, + "id": 689, "isConstant": false, "isLValue": false, "isPure": false, @@ -25767,18 +26109,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 675, + "id": 683, "name": "sigV", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 634, - "src": "13826:4:0", + "referencedDeclaration": 642, + "src": "13862:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr", "typeString": "uint8[] memory" } }, - "id": 676, + "id": 684, "isConstant": false, "isLValue": false, "isPure": false, @@ -25786,7 +26128,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "13826:11:0", + "src": "13862:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -25800,26 +26142,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 677, + "id": 685, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "13840:12:0", + "src": "13876:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 679, + "id": 687, "indexExpression": { "argumentTypes": null, - "id": 678, + "id": 686, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 642, - "src": "13853:10:0", + "referencedDeclaration": 650, + "src": "13889:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -25830,13 +26172,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "13840:24:0", + "src": "13876:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 680, + "id": 688, "isConstant": false, "isLValue": true, "isPure": false, @@ -25844,13 +26186,13 @@ "memberName": "threshold", "nodeType": "MemberAccess", "referencedDeclaration": 48, - "src": "13840:34:0", + "src": "13876:34:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, - "src": "13826:48:0", + "src": "13862:48:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -25867,14 +26209,14 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 690, + "id": 698, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 683, + "id": 691, "isConstant": false, "isLValue": false, "isPure": false, @@ -25882,15 +26224,15 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "13879:16:0", + "src": "13915:16:0", "subExpression": { "argumentTypes": null, - "id": 682, + "id": 690, "name": "timeLockExpired", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 663, - "src": "13880:15:0", + "referencedDeclaration": 671, + "src": "13916:15:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -25909,19 +26251,19 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 689, + "id": 697, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 684, + "id": 692, "name": "lastRecovered", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 652, - "src": "13899:13:0", + "referencedDeclaration": 660, + "src": "13935:13:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -25935,26 +26277,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 685, + "id": 693, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "13916:12:0", + "src": "13952:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 687, + "id": 695, "indexExpression": { "argumentTypes": null, - "id": 686, + "id": 694, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 642, - "src": "13929:10:0", + "referencedDeclaration": 650, + "src": "13965:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -25965,13 +26307,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "13916:24:0", + "src": "13952:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 688, + "id": 696, "isConstant": false, "isLValue": true, "isPure": false, @@ -25979,52 +26321,52 @@ "memberName": "seller", "nodeType": "MemberAccess", "referencedDeclaration": 54, - "src": "13916:31:0", + "src": "13952:31:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "13899:48:0", + "src": "13935:48:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "13879:68:0", + "src": "13915:68:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } } ], - "id": 691, + "id": 699, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "13878:70:0", + "src": "13914:70:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "13826:122:0", + "src": "13862:122:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, - "id": 698, + "id": 706, "nodeType": "IfStatement", - "src": "13805:289:0", + "src": "13841:289:0", "trueBody": { - "id": 697, + "id": 705, "nodeType": "Block", - "src": "13971:123:0", + "src": "14007:123:0", "statements": [ { "expression": { @@ -26033,14 +26375,14 @@ { "argumentTypes": null, "hexValue": "4d696e696d756d206e756d626572206f66207369676e61747572657320617265206e6f7420636f6c6c656374656420616e642074696d65206c6f636b2065787069727920636f6e646974696f6e73206e6f74206d65742121", - "id": 694, + "id": 702, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "13992:90:0", + "src": "14028:90:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_e454643f61f81e3a3dc8dabaafde295fea592e232abeb03abbb1835bdc3d20d0", @@ -26056,21 +26398,21 @@ "typeString": "literal_string \"Minimum number of signatures are not collected and time lock expiry conditions not met!!\"" } ], - "id": 693, + "id": 701, "name": "revert", "nodeType": "Identifier", "overloadedDeclarations": [ - 1383, - 1384 + 1393, + 1394 ], - "referencedDeclaration": 1384, - "src": "13985:6:0", + "referencedDeclaration": 1394, + "src": "14021:6:0", "typeDescriptions": { "typeIdentifier": "t_function_revert_pure$_t_string_memory_ptr_$returns$__$", "typeString": "function (string memory) pure" } }, - "id": 695, + "id": 703, "isConstant": false, "isLValue": false, "isPure": false, @@ -26078,15 +26420,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "13985:98:0", + "src": "14021:98:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 696, + "id": 704, "nodeType": "ExpressionStatement", - "src": "13985:98:0" + "src": "14021:98:0" } ] } @@ -26094,7 +26436,7 @@ ] }, "documentation": "@dev This methods checks validity of transaction\n1. Verify Signatures\n2. Check if minimum number of signatures has been acquired\n3. If above condition is false, check if time lock is expired and the execution is signed by seller", - "id": 700, + "id": 708, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -26102,16 +26444,16 @@ "name": "_verifyTransaction", "nodeType": "FunctionDefinition", "parameters": { - "id": 649, + "id": 657, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 634, + "id": 642, "name": "sigV", "nodeType": "VariableDeclaration", - "scope": 700, - "src": "13130:12:0", + "scope": 708, + "src": "13166:12:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -26120,19 +26462,19 @@ }, "typeName": { "baseType": { - "id": 632, + "id": 640, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "13130:5:0", + "src": "13166:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, - "id": 633, + "id": 641, "length": null, "nodeType": "ArrayTypeName", - "src": "13130:7:0", + "src": "13166:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_storage_ptr", "typeString": "uint8[]" @@ -26143,11 +26485,11 @@ }, { "constant": false, - "id": 637, + "id": 645, "name": "sigR", "nodeType": "VariableDeclaration", - "scope": 700, - "src": "13152:14:0", + "scope": 708, + "src": "13188:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -26156,19 +26498,19 @@ }, "typeName": { "baseType": { - "id": 635, + "id": 643, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "13152:7:0", + "src": "13188:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "id": 636, + "id": 644, "length": null, "nodeType": "ArrayTypeName", - "src": "13152:9:0", + "src": "13188:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -26179,11 +26521,11 @@ }, { "constant": false, - "id": 640, + "id": 648, "name": "sigS", "nodeType": "VariableDeclaration", - "scope": 700, - "src": "13176:14:0", + "scope": 708, + "src": "13212:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -26192,19 +26534,19 @@ }, "typeName": { "baseType": { - "id": 638, + "id": 646, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "13176:7:0", + "src": "13212:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "id": 639, + "id": 647, "length": null, "nodeType": "ArrayTypeName", - "src": "13176:9:0", + "src": "13212:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -26215,11 +26557,11 @@ }, { "constant": false, - "id": 642, + "id": 650, "name": "scriptHash", "nodeType": "VariableDeclaration", - "scope": 700, - "src": "13200:18:0", + "scope": 708, + "src": "13236:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -26227,10 +26569,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 641, + "id": 649, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "13200:7:0", + "src": "13236:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -26241,11 +26583,11 @@ }, { "constant": false, - "id": 645, + "id": 653, "name": "destinations", "nodeType": "VariableDeclaration", - "scope": 700, - "src": "13228:22:0", + "scope": 708, + "src": "13264:22:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -26254,19 +26596,19 @@ }, "typeName": { "baseType": { - "id": 643, + "id": 651, "name": "address", "nodeType": "ElementaryTypeName", - "src": "13228:7:0", + "src": "13264:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 644, + "id": 652, "length": null, "nodeType": "ArrayTypeName", - "src": "13228:9:0", + "src": "13264:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", "typeString": "address[]" @@ -26277,11 +26619,11 @@ }, { "constant": false, - "id": 648, + "id": 656, "name": "amounts", "nodeType": "VariableDeclaration", - "scope": 700, - "src": "13260:17:0", + "scope": 708, + "src": "13296:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -26290,19 +26632,19 @@ }, "typeName": { "baseType": { - "id": 646, + "id": 654, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "13260:7:0", + "src": "13296:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 647, + "id": 655, "length": null, "nodeType": "ArrayTypeName", - "src": "13260:9:0", + "src": "13296:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -26312,39 +26654,39 @@ "visibility": "internal" } ], - "src": "13120:163:0" + "src": "13156:163:0" }, "payable": false, "returnParameters": { - "id": 650, + "id": 658, "nodeType": "ParameterList", "parameters": [], - "src": "13304:0:0" + "src": "13340:0:0" }, - "scope": 1205, - "src": "13093:1008:0", + "scope": 1215, + "src": "13129:1008:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "private" }, { "body": { - "id": 886, + "id": 894, "nodeType": "Block", - "src": "14388:1362:0", + "src": "14424:1362:0", "statements": [ { "assignments": [ - 714 + 722 ], "declarations": [ { "constant": false, - "id": 714, + "id": 722, "name": "t", "nodeType": "VariableDeclaration", - "scope": 887, - "src": "14398:21:0", + "scope": 895, + "src": "14434:21:0", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { @@ -26353,11 +26695,11 @@ }, "typeName": { "contractScope": null, - "id": 713, + "id": 721, "name": "Transaction", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 71, - "src": "14398:11:0", + "src": "14434:11:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction" @@ -26367,31 +26709,31 @@ "visibility": "internal" } ], - "id": 718, + "id": 726, "initialValue": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 715, + "id": 723, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "14422:12:0", + "src": "14458:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 717, + "id": 725, "indexExpression": { "argumentTypes": null, - "id": 716, + "id": 724, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 702, - "src": "14435:10:0", + "referencedDeclaration": 710, + "src": "14471:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -26402,27 +26744,27 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "14422:24:0", + "src": "14458:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "14398:48:0" + "src": "14434:48:0" }, { "assignments": [ - 720 + 728 ], "declarations": [ { "constant": false, - "id": 720, + "id": 728, "name": "valueTransferred", "nodeType": "VariableDeclaration", - "scope": 887, - "src": "14457:24:0", + "scope": 895, + "src": "14493:24:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -26430,10 +26772,10 @@ "typeString": "uint256" }, "typeName": { - "id": 719, + "id": 727, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "14457:7:0", + "src": "14493:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -26443,18 +26785,18 @@ "visibility": "internal" } ], - "id": 722, + "id": 730, "initialValue": { "argumentTypes": null, "hexValue": "30", - "id": 721, + "id": 729, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "14484:1:0", + "src": "14520:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -26463,7 +26805,7 @@ "value": "0" }, "nodeType": "VariableDeclarationStatement", - "src": "14457:28:0" + "src": "14493:28:0" }, { "condition": { @@ -26472,7 +26814,7 @@ "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" }, - "id": 727, + "id": 735, "isConstant": false, "isLValue": false, "isPure": false, @@ -26481,18 +26823,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 723, + "id": 731, "name": "t", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 714, - "src": "14500:1:0", + "referencedDeclaration": 722, + "src": "14536:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" } }, - "id": 724, + "id": 732, "isConstant": false, "isLValue": true, "isPure": false, @@ -26500,7 +26842,7 @@ "memberName": "transactionType", "nodeType": "MemberAccess", "referencedDeclaration": 46, - "src": "14500:17:0", + "src": "14536:17:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -26512,18 +26854,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 725, + "id": 733, "name": "TransactionType", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12, - "src": "14521:15:0", + "src": "14557:15:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_TransactionType_$12_$", "typeString": "type(enum Escrow_v1_0.TransactionType)" } }, - "id": 726, + "id": 734, "isConstant": false, "isLValue": false, "isPure": true, @@ -26531,13 +26873,13 @@ "memberName": "ETHER", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "14521:21:0", + "src": "14557:21:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" } }, - "src": "14500:42:0", + "src": "14536:42:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -26550,7 +26892,7 @@ "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" }, - "id": 801, + "id": 809, "isConstant": false, "isLValue": false, "isPure": false, @@ -26559,18 +26901,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 797, + "id": 805, "name": "t", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 714, - "src": "15056:1:0", + "referencedDeclaration": 722, + "src": "15092:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" } }, - "id": 798, + "id": 806, "isConstant": false, "isLValue": true, "isPure": false, @@ -26578,7 +26920,7 @@ "memberName": "transactionType", "nodeType": "MemberAccess", "referencedDeclaration": 46, - "src": "15056:17:0", + "src": "15092:17:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -26590,18 +26932,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 799, + "id": 807, "name": "TransactionType", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12, - "src": "15077:15:0", + "src": "15113:15:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_TransactionType_$12_$", "typeString": "type(enum Escrow_v1_0.TransactionType)" } }, - "id": 800, + "id": 808, "isConstant": false, "isLValue": false, "isPure": true, @@ -26609,54 +26951,54 @@ "memberName": "TOKEN", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "15077:21:0", + "src": "15113:21:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" } }, - "src": "15056:42:0", + "src": "15092:42:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, - "id": 882, + "id": 890, "nodeType": "IfStatement", - "src": "15052:658:0", + "src": "15088:658:0", "trueBody": { - "id": 881, + "id": 889, "nodeType": "Block", - "src": "15100:610:0", + "src": "15136:610:0", "statements": [ { "assignments": [ - 803 + 811 ], "declarations": [ { "constant": false, - "id": 803, + "id": 811, "name": "token", "nodeType": "VariableDeclaration", - "scope": 887, - "src": "15115:20:0", + "scope": 895, + "src": "15151:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenContract_$1235", + "typeIdentifier": "t_contract$_ITokenContract_$1245", "typeString": "contract ITokenContract" }, "typeName": { "contractScope": null, - "id": 802, + "id": 810, "name": "ITokenContract", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1235, - "src": "15115:14:0", + "referencedDeclaration": 1245, + "src": "15151:14:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenContract_$1235", + "typeIdentifier": "t_contract$_ITokenContract_$1245", "typeString": "contract ITokenContract" } }, @@ -26664,7 +27006,7 @@ "visibility": "internal" } ], - "id": 808, + "id": 816, "initialValue": { "argumentTypes": null, "arguments": [ @@ -26672,18 +27014,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 805, + "id": 813, "name": "t", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 714, - "src": "15153:1:0", + "referencedDeclaration": 722, + "src": "15189:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" } }, - "id": 806, + "id": 814, "isConstant": false, "isLValue": true, "isPure": false, @@ -26691,7 +27033,7 @@ "memberName": "tokenAddress", "nodeType": "MemberAccess", "referencedDeclaration": 56, - "src": "15153:14:0", + "src": "15189:14:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -26705,18 +27047,18 @@ "typeString": "address" } ], - "id": 804, + "id": 812, "name": "ITokenContract", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1235, - "src": "15138:14:0", + "referencedDeclaration": 1245, + "src": "15174:14:0", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ITokenContract_$1235_$", + "typeIdentifier": "t_type$_t_contract$_ITokenContract_$1245_$", "typeString": "type(contract ITokenContract)" } }, - "id": 807, + "id": 815, "isConstant": false, "isLValue": false, "isPure": false, @@ -26724,20 +27066,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15138:30:0", + "src": "15174:30:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenContract_$1235", + "typeIdentifier": "t_contract$_ITokenContract_$1245", "typeString": "contract ITokenContract" } }, "nodeType": "VariableDeclarationStatement", - "src": "15115:53:0" + "src": "15151:53:0" }, { "body": { - "id": 879, + "id": 887, "nodeType": "Block", - "src": "15231:469:0", + "src": "15267:469:0", "statements": [ { "expression": { @@ -26749,7 +27091,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 834, + "id": 842, "isConstant": false, "isLValue": false, "isPure": false, @@ -26760,7 +27102,7 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 827, + "id": 835, "isConstant": false, "isLValue": false, "isPure": false, @@ -26769,26 +27111,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 821, + "id": 829, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 705, - "src": "15258:12:0", + "referencedDeclaration": 713, + "src": "15294:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" } }, - "id": 823, + "id": 831, "indexExpression": { "argumentTypes": null, - "id": 822, + "id": 830, "name": "j", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 810, - "src": "15271:1:0", + "referencedDeclaration": 818, + "src": "15307:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -26799,7 +27141,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15258:15:0", + "src": "15294:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -26813,14 +27155,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 825, + "id": 833, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "15285:1:0", + "src": "15321:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -26836,20 +27178,20 @@ "typeString": "int_const 0" } ], - "id": 824, + "id": 832, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "15277:7:0", + "src": "15313:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, - "id": 826, + "id": 834, "isConstant": false, "isLValue": false, "isPure": true, @@ -26857,13 +27199,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15277:10:0", + "src": "15313:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "15258:29:0", + "src": "15294:29:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -26877,18 +27219,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 828, + "id": 836, "name": "t", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 714, - "src": "15291:1:0", + "referencedDeclaration": 722, + "src": "15327:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" } }, - "id": 829, + "id": 837, "isConstant": false, "isLValue": true, "isPure": false, @@ -26896,37 +27238,37 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "15291:9:0", + "src": "15327:9:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 833, + "id": 841, "indexExpression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 830, + "id": 838, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 705, - "src": "15301:12:0", + "referencedDeclaration": 713, + "src": "15337:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" } }, - "id": 832, + "id": 840, "indexExpression": { "argumentTypes": null, - "id": 831, + "id": 839, "name": "j", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 810, - "src": "15314:1:0", + "referencedDeclaration": 818, + "src": "15350:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -26937,7 +27279,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15301:15:0", + "src": "15337:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -26948,13 +27290,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15291:26:0", + "src": "15327:26:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "15258:59:0", + "src": "15294:59:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -26963,14 +27305,14 @@ { "argumentTypes": null, "hexValue": "4e6f7420612076616c69642064657374696e6174696f6e", - "id": 835, + "id": 843, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "15319:25:0", + "src": "15355:25:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_4b4c116dbf18274831a2b569c567d9fd9a0e9828a6c86ee9f93e80400fb6c49f", @@ -26990,21 +27332,21 @@ "typeString": "literal_string \"Not a valid destination\"" } ], - "id": 820, + "id": 828, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1381, - 1382 + 1391, + 1392 ], - "referencedDeclaration": 1382, - "src": "15250:7:0", + "referencedDeclaration": 1392, + "src": "15286:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 836, + "id": 844, "isConstant": false, "isLValue": false, "isPure": false, @@ -27012,15 +27354,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15250:95:0", + "src": "15286:95:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 837, + "id": 845, "nodeType": "ExpressionStatement", - "src": "15250:95:0" + "src": "15286:95:0" }, { "expression": { @@ -27032,7 +27374,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 843, + "id": 851, "isConstant": false, "isLValue": false, "isPure": false, @@ -27041,26 +27383,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 839, + "id": 847, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 708, - "src": "15371:7:0", + "referencedDeclaration": 716, + "src": "15407:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 841, + "id": 849, "indexExpression": { "argumentTypes": null, - "id": 840, + "id": 848, "name": "j", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 810, - "src": "15379:1:0", + "referencedDeclaration": 818, + "src": "15415:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27071,7 +27413,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15371:10:0", + "src": "15407:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27082,14 +27424,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 842, + "id": 850, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "15384:1:0", + "src": "15420:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -27097,7 +27439,7 @@ }, "value": "0" }, - "src": "15371:14:0", + "src": "15407:14:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -27106,14 +27448,14 @@ { "argumentTypes": null, "hexValue": "416d6f756e7420746f2062652073656e742073686f756c642062652067726561746572207468616e2030", - "id": 844, + "id": 852, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "15387:44:0", + "src": "15423:44:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_5e1271a09dbb64ae031de288deb0ad8d707df7db51d6e827931dc8fa6642a71e", @@ -27133,21 +27475,21 @@ "typeString": "literal_string \"Amount to be sent should be greater than 0\"" } ], - "id": 838, + "id": 846, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1381, - 1382 + 1391, + 1392 ], - "referencedDeclaration": 1382, - "src": "15363:7:0", + "referencedDeclaration": 1392, + "src": "15399:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 845, + "id": 853, "isConstant": false, "isLValue": false, "isPure": false, @@ -27155,32 +27497,32 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15363:69:0", + "src": "15399:69:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 846, + "id": 854, "nodeType": "ExpressionStatement", - "src": "15363:69:0" + "src": "15399:69:0" }, { "expression": { "argumentTypes": null, - "id": 854, + "id": 862, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 847, + "id": 855, "name": "valueTransferred", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 720, - "src": "15451:16:0", + "referencedDeclaration": 728, + "src": "15487:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27195,26 +27537,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 850, + "id": 858, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 708, - "src": "15491:7:0", + "referencedDeclaration": 716, + "src": "15527:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 852, + "id": 860, "indexExpression": { "argumentTypes": null, - "id": 851, + "id": 859, "name": "j", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 810, - "src": "15499:1:0", + "referencedDeclaration": 818, + "src": "15535:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27225,7 +27567,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15491:10:0", + "src": "15527:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27241,32 +27583,32 @@ ], "expression": { "argumentTypes": null, - "id": 848, + "id": 856, "name": "valueTransferred", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 720, - "src": "15470:16:0", + "referencedDeclaration": 728, + "src": "15506:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 849, + "id": 857, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 1342, - "src": "15470:20:0", + "referencedDeclaration": 1352, + "src": "15506:20:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 853, + "id": 861, "isConstant": false, "isLValue": false, "isPure": false, @@ -27274,26 +27616,26 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15470:32:0", + "src": "15506:32:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "15451:51:0", + "src": "15487:51:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 855, + "id": 863, "nodeType": "ExpressionStatement", - "src": "15451:51:0" + "src": "15487:51:0" }, { "expression": { "argumentTypes": null, - "id": 864, + "id": 872, "isConstant": false, "isLValue": false, "isPure": false, @@ -27304,18 +27646,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 856, + "id": 864, "name": "t", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 714, - "src": "15520:1:0", + "referencedDeclaration": 722, + "src": "15556:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" } }, - "id": 861, + "id": 869, "isConstant": false, "isLValue": true, "isPure": false, @@ -27323,37 +27665,37 @@ "memberName": "beneficiaries", "nodeType": "MemberAccess", "referencedDeclaration": 70, - "src": "15520:15:0", + "src": "15556:15:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 862, + "id": 870, "indexExpression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 858, + "id": 866, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 705, - "src": "15536:12:0", + "referencedDeclaration": 713, + "src": "15572:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" } }, - "id": 860, + "id": 868, "indexExpression": { "argumentTypes": null, - "id": 859, + "id": 867, "name": "j", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 810, - "src": "15549:1:0", + "referencedDeclaration": 818, + "src": "15585:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27364,7 +27706,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15536:15:0", + "src": "15572:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -27375,7 +27717,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "15520:32:0", + "src": "15556:32:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -27386,14 +27728,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "74727565", - "id": 863, + "id": 871, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "15555:4:0", + "src": "15591:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -27401,15 +27743,15 @@ }, "value": "true" }, - "src": "15520:39:0", + "src": "15556:39:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 865, + "id": 873, "nodeType": "ExpressionStatement", - "src": "15520:39:0" + "src": "15556:39:0" }, { "expression": { @@ -27422,26 +27764,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 869, + "id": 877, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 705, - "src": "15630:12:0", + "referencedDeclaration": 713, + "src": "15666:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" } }, - "id": 871, + "id": 879, "indexExpression": { "argumentTypes": null, - "id": 870, + "id": 878, "name": "j", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 810, - "src": "15643:1:0", + "referencedDeclaration": 818, + "src": "15679:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27452,7 +27794,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15630:15:0", + "src": "15666:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -27462,26 +27804,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 872, + "id": 880, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 708, - "src": "15647:7:0", + "referencedDeclaration": 716, + "src": "15683:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 874, + "id": 882, "indexExpression": { "argumentTypes": null, - "id": 873, + "id": 881, "name": "j", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 810, - "src": "15655:1:0", + "referencedDeclaration": 818, + "src": "15691:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27492,7 +27834,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15647:10:0", + "src": "15683:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27512,32 +27854,32 @@ ], "expression": { "argumentTypes": null, - "id": 867, + "id": 875, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 803, - "src": "15615:5:0", + "referencedDeclaration": 811, + "src": "15651:5:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenContract_$1235", + "typeIdentifier": "t_contract$_ITokenContract_$1245", "typeString": "contract ITokenContract" } }, - "id": 868, + "id": 876, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "transfer", "nodeType": "MemberAccess", - "referencedDeclaration": 1223, - "src": "15615:14:0", + "referencedDeclaration": 1233, + "src": "15651:14:0", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", "typeString": "function (address,uint256) external returns (bool)" } }, - "id": 875, + "id": 883, "isConstant": false, "isLValue": false, "isPure": false, @@ -27545,7 +27887,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15615:43:0", + "src": "15651:43:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -27554,14 +27896,14 @@ { "argumentTypes": null, "hexValue": "546f6b656e207472616e73666572206661696c65642e", - "id": 876, + "id": 884, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "15660:24:0", + "src": "15696:24:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_e545223bb79d8456d66fa5a98897abb42bb4807111f004a120200da3b7e292c5", @@ -27581,21 +27923,21 @@ "typeString": "literal_string \"Token transfer failed.\"" } ], - "id": 866, + "id": 874, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1381, - 1382 + 1391, + 1392 ], - "referencedDeclaration": 1382, - "src": "15607:7:0", + "referencedDeclaration": 1392, + "src": "15643:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 877, + "id": 885, "isConstant": false, "isLValue": false, "isPure": false, @@ -27603,15 +27945,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15607:78:0", + "src": "15643:78:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 878, + "id": 886, "nodeType": "ExpressionStatement", - "src": "15607:78:0" + "src": "15643:78:0" } ] }, @@ -27621,19 +27963,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 816, + "id": 824, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 813, + "id": 821, "name": "j", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 810, - "src": "15203:1:0", + "referencedDeclaration": 818, + "src": "15239:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27645,18 +27987,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 814, + "id": 822, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 705, - "src": "15205:12:0", + "referencedDeclaration": 713, + "src": "15241:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" } }, - "id": 815, + "id": 823, "isConstant": false, "isLValue": false, "isPure": false, @@ -27664,31 +28006,31 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "15205:19:0", + "src": "15241:19:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "15203:21:0", + "src": "15239:21:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 880, + "id": 888, "initializationExpression": { "assignments": [ - 810 + 818 ], "declarations": [ { "constant": false, - "id": 810, + "id": 818, "name": "j", "nodeType": "VariableDeclaration", - "scope": 887, - "src": "15188:9:0", + "scope": 895, + "src": "15224:9:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -27696,10 +28038,10 @@ "typeString": "uint256" }, "typeName": { - "id": 809, + "id": 817, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "15188:7:0", + "src": "15224:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27709,18 +28051,18 @@ "visibility": "internal" } ], - "id": 812, + "id": 820, "initialValue": { "argumentTypes": null, "hexValue": "30", - "id": 811, + "id": 819, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "15200:1:0", + "src": "15236:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -27729,12 +28071,12 @@ "value": "0" }, "nodeType": "VariableDeclarationStatement", - "src": "15188:13:0" + "src": "15224:13:0" }, "loopExpression": { "expression": { "argumentTypes": null, - "id": 818, + "id": 826, "isConstant": false, "isLValue": false, "isPure": false, @@ -27742,15 +28084,15 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "15226:3:0", + "src": "15262:3:0", "subExpression": { "argumentTypes": null, - "id": 817, + "id": 825, "name": "j", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 810, - "src": "15226:1:0", + "referencedDeclaration": 818, + "src": "15262:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27761,29 +28103,29 @@ "typeString": "uint256" } }, - "id": 819, + "id": 827, "nodeType": "ExpressionStatement", - "src": "15226:3:0" + "src": "15262:3:0" }, "nodeType": "ForStatement", - "src": "15183:517:0" + "src": "15219:517:0" } ] } }, - "id": 883, + "id": 891, "nodeType": "IfStatement", - "src": "14496:1214:0", + "src": "14532:1214:0", "trueBody": { - "id": 796, + "id": 804, "nodeType": "Block", - "src": "14544:502:0", + "src": "14580:502:0", "statements": [ { "body": { - "id": 794, + "id": 802, "nodeType": "Block", - "src": "14608:427:0", + "src": "14644:427:0", "statements": [ { "expression": { @@ -27795,7 +28137,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 753, + "id": 761, "isConstant": false, "isLValue": false, "isPure": false, @@ -27806,7 +28148,7 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 746, + "id": 754, "isConstant": false, "isLValue": false, "isPure": false, @@ -27815,26 +28157,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 740, + "id": 748, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 705, - "src": "14635:12:0", + "referencedDeclaration": 713, + "src": "14671:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" } }, - "id": 742, + "id": 750, "indexExpression": { "argumentTypes": null, - "id": 741, + "id": 749, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 729, - "src": "14648:1:0", + "referencedDeclaration": 737, + "src": "14684:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27845,7 +28187,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "14635:15:0", + "src": "14671:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -27859,14 +28201,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 744, + "id": 752, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "14662:1:0", + "src": "14698:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -27882,20 +28224,20 @@ "typeString": "int_const 0" } ], - "id": 743, + "id": 751, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "14654:7:0", + "src": "14690:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, - "id": 745, + "id": 753, "isConstant": false, "isLValue": false, "isPure": true, @@ -27903,13 +28245,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "14654:10:0", + "src": "14690:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "14635:29:0", + "src": "14671:29:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -27923,18 +28265,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 747, + "id": 755, "name": "t", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 714, - "src": "14668:1:0", + "referencedDeclaration": 722, + "src": "14704:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" } }, - "id": 748, + "id": 756, "isConstant": false, "isLValue": true, "isPure": false, @@ -27942,37 +28284,37 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "14668:9:0", + "src": "14704:9:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 752, + "id": 760, "indexExpression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 749, + "id": 757, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 705, - "src": "14678:12:0", + "referencedDeclaration": 713, + "src": "14714:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" } }, - "id": 751, + "id": 759, "indexExpression": { "argumentTypes": null, - "id": 750, + "id": 758, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 729, - "src": "14691:1:0", + "referencedDeclaration": 737, + "src": "14727:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27983,7 +28325,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "14678:15:0", + "src": "14714:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -27994,13 +28336,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "14668:26:0", + "src": "14704:26:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "14635:59:0", + "src": "14671:59:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -28009,14 +28351,14 @@ { "argumentTypes": null, "hexValue": "4e6f7420612076616c69642064657374696e6174696f6e", - "id": 754, + "id": 762, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "14696:25:0", + "src": "14732:25:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_4b4c116dbf18274831a2b569c567d9fd9a0e9828a6c86ee9f93e80400fb6c49f", @@ -28036,21 +28378,21 @@ "typeString": "literal_string \"Not a valid destination\"" } ], - "id": 739, + "id": 747, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1381, - 1382 + 1391, + 1392 ], - "referencedDeclaration": 1382, - "src": "14627:7:0", + "referencedDeclaration": 1392, + "src": "14663:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 755, + "id": 763, "isConstant": false, "isLValue": false, "isPure": false, @@ -28058,15 +28400,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "14627:95:0", + "src": "14663:95:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 756, + "id": 764, "nodeType": "ExpressionStatement", - "src": "14627:95:0" + "src": "14663:95:0" }, { "expression": { @@ -28078,7 +28420,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 762, + "id": 770, "isConstant": false, "isLValue": false, "isPure": false, @@ -28087,26 +28429,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 758, + "id": 766, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 708, - "src": "14748:7:0", + "referencedDeclaration": 716, + "src": "14784:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 760, + "id": 768, "indexExpression": { "argumentTypes": null, - "id": 759, + "id": 767, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 729, - "src": "14756:1:0", + "referencedDeclaration": 737, + "src": "14792:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28117,7 +28459,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "14748:10:0", + "src": "14784:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28128,14 +28470,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 761, + "id": 769, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "14761:1:0", + "src": "14797:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -28143,7 +28485,7 @@ }, "value": "0" }, - "src": "14748:14:0", + "src": "14784:14:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -28152,14 +28494,14 @@ { "argumentTypes": null, "hexValue": "416d6f756e7420746f2062652073656e742073686f756c642062652067726561746572207468616e2030", - "id": 763, + "id": 771, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "14764:44:0", + "src": "14800:44:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_5e1271a09dbb64ae031de288deb0ad8d707df7db51d6e827931dc8fa6642a71e", @@ -28179,21 +28521,21 @@ "typeString": "literal_string \"Amount to be sent should be greater than 0\"" } ], - "id": 757, + "id": 765, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1381, - 1382 + 1391, + 1392 ], - "referencedDeclaration": 1382, - "src": "14740:7:0", + "referencedDeclaration": 1392, + "src": "14776:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 764, + "id": 772, "isConstant": false, "isLValue": false, "isPure": false, @@ -28201,32 +28543,32 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "14740:69:0", + "src": "14776:69:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 765, + "id": 773, "nodeType": "ExpressionStatement", - "src": "14740:69:0" + "src": "14776:69:0" }, { "expression": { "argumentTypes": null, - "id": 773, + "id": 781, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 766, + "id": 774, "name": "valueTransferred", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 720, - "src": "14828:16:0", + "referencedDeclaration": 728, + "src": "14864:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28241,26 +28583,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 769, + "id": 777, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 708, - "src": "14868:7:0", + "referencedDeclaration": 716, + "src": "14904:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 771, + "id": 779, "indexExpression": { "argumentTypes": null, - "id": 770, + "id": 778, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 729, - "src": "14876:1:0", + "referencedDeclaration": 737, + "src": "14912:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28271,7 +28613,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "14868:10:0", + "src": "14904:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28287,32 +28629,32 @@ ], "expression": { "argumentTypes": null, - "id": 767, + "id": 775, "name": "valueTransferred", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 720, - "src": "14847:16:0", + "referencedDeclaration": 728, + "src": "14883:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 768, + "id": 776, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 1342, - "src": "14847:20:0", + "referencedDeclaration": 1352, + "src": "14883:20:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 772, + "id": 780, "isConstant": false, "isLValue": false, "isPure": false, @@ -28320,26 +28662,26 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "14847:32:0", + "src": "14883:32:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "14828:51:0", + "src": "14864:51:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 774, + "id": 782, "nodeType": "ExpressionStatement", - "src": "14828:51:0" + "src": "14864:51:0" }, { "expression": { "argumentTypes": null, - "id": 783, + "id": 791, "isConstant": false, "isLValue": false, "isPure": false, @@ -28350,18 +28692,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 775, + "id": 783, "name": "t", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 714, - "src": "14898:1:0", + "referencedDeclaration": 722, + "src": "14934:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" } }, - "id": 780, + "id": 788, "isConstant": false, "isLValue": true, "isPure": false, @@ -28369,37 +28711,37 @@ "memberName": "beneficiaries", "nodeType": "MemberAccess", "referencedDeclaration": 70, - "src": "14898:15:0", + "src": "14934:15:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 781, + "id": 789, "indexExpression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 777, + "id": 785, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 705, - "src": "14914:12:0", + "referencedDeclaration": 713, + "src": "14950:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" } }, - "id": 779, + "id": 787, "indexExpression": { "argumentTypes": null, - "id": 778, + "id": 786, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 729, - "src": "14927:1:0", + "referencedDeclaration": 737, + "src": "14963:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28410,7 +28752,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "14914:15:0", + "src": "14950:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -28421,7 +28763,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "14898:32:0", + "src": "14934:32:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -28432,14 +28774,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "74727565", - "id": 782, + "id": 790, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "14933:4:0", + "src": "14969:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -28447,15 +28789,15 @@ }, "value": "true" }, - "src": "14898:39:0", + "src": "14934:39:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 784, + "id": 792, "nodeType": "ExpressionStatement", - "src": "14898:39:0" + "src": "14934:39:0" }, { "expression": { @@ -28465,26 +28807,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 789, + "id": 797, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 708, - "src": "15009:7:0", + "referencedDeclaration": 716, + "src": "15045:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 791, + "id": 799, "indexExpression": { "argumentTypes": null, - "id": 790, + "id": 798, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 729, - "src": "15017:1:0", + "referencedDeclaration": 737, + "src": "15053:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28495,7 +28837,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15009:10:0", + "src": "15045:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28513,26 +28855,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 785, + "id": 793, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 705, - "src": "14984:12:0", + "referencedDeclaration": 713, + "src": "15020:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" } }, - "id": 787, + "id": 795, "indexExpression": { "argumentTypes": null, - "id": 786, + "id": 794, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 729, - "src": "14997:1:0", + "referencedDeclaration": 737, + "src": "15033:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28543,13 +28885,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "14984:15:0", + "src": "15020:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 788, + "id": 796, "isConstant": false, "isLValue": false, "isPure": false, @@ -28557,13 +28899,13 @@ "memberName": "transfer", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "14984:24:0", + "src": "15020:24:0", "typeDescriptions": { "typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$", "typeString": "function (uint256)" } }, - "id": 792, + "id": 800, "isConstant": false, "isLValue": false, "isPure": false, @@ -28571,15 +28913,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "14984:36:0", + "src": "15020:36:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 793, + "id": 801, "nodeType": "ExpressionStatement", - "src": "14984:36:0" + "src": "15020:36:0" } ] }, @@ -28589,19 +28931,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 735, + "id": 743, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 732, + "id": 740, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 729, - "src": "14578:1:0", + "referencedDeclaration": 737, + "src": "14614:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28613,18 +28955,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 733, + "id": 741, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 705, - "src": "14582:12:0", + "referencedDeclaration": 713, + "src": "14618:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" } }, - "id": 734, + "id": 742, "isConstant": false, "isLValue": false, "isPure": false, @@ -28632,31 +28974,31 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "14582:19:0", + "src": "14618:19:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "14578:23:0", + "src": "14614:23:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 795, + "id": 803, "initializationExpression": { "assignments": [ - 729 + 737 ], "declarations": [ { "constant": false, - "id": 729, + "id": 737, "name": "i", "nodeType": "VariableDeclaration", - "scope": 887, - "src": "14563:9:0", + "scope": 895, + "src": "14599:9:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -28664,10 +29006,10 @@ "typeString": "uint256" }, "typeName": { - "id": 728, + "id": 736, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "14563:7:0", + "src": "14599:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28677,18 +29019,18 @@ "visibility": "internal" } ], - "id": 731, + "id": 739, "initialValue": { "argumentTypes": null, "hexValue": "30", - "id": 730, + "id": 738, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "14575:1:0", + "src": "14611:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -28697,12 +29039,12 @@ "value": "0" }, "nodeType": "VariableDeclarationStatement", - "src": "14563:13:0" + "src": "14599:13:0" }, "loopExpression": { "expression": { "argumentTypes": null, - "id": 737, + "id": 745, "isConstant": false, "isLValue": false, "isPure": false, @@ -28710,15 +29052,15 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "14603:3:0", + "src": "14639:3:0", "subExpression": { "argumentTypes": null, - "id": 736, + "id": 744, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 729, - "src": "14603:1:0", + "referencedDeclaration": 737, + "src": "14639:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28729,12 +29071,12 @@ "typeString": "uint256" } }, - "id": 738, + "id": 746, "nodeType": "ExpressionStatement", - "src": "14603:3:0" + "src": "14639:3:0" }, "nodeType": "ForStatement", - "src": "14558:477:0" + "src": "14594:477:0" } ] } @@ -28742,26 +29084,26 @@ { "expression": { "argumentTypes": null, - "id": 884, + "id": 892, "name": "valueTransferred", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 720, - "src": "15727:16:0", + "referencedDeclaration": 728, + "src": "15763:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 712, - "id": 885, + "functionReturnParameters": 720, + "id": 893, "nodeType": "Return", - "src": "15720:23:0" + "src": "15756:23:0" } ] }, "documentation": "dev Private method to transfer funds to the destination addresses on the basis of transaction type", - "id": 887, + "id": 895, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -28769,16 +29111,16 @@ "name": "_transferFunds", "nodeType": "FunctionDefinition", "parameters": { - "id": 709, + "id": 717, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 702, + "id": 710, "name": "scriptHash", "nodeType": "VariableDeclaration", - "scope": 887, - "src": "14260:18:0", + "scope": 895, + "src": "14296:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -28786,10 +29128,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 701, + "id": 709, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "14260:7:0", + "src": "14296:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -28800,11 +29142,11 @@ }, { "constant": false, - "id": 705, + "id": 713, "name": "destinations", "nodeType": "VariableDeclaration", - "scope": 887, - "src": "14288:21:0", + "scope": 895, + "src": "14324:21:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -28813,19 +29155,19 @@ }, "typeName": { "baseType": { - "id": 703, + "id": 711, "name": "address", "nodeType": "ElementaryTypeName", - "src": "14288:7:0", + "src": "14324:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 704, + "id": 712, "length": null, "nodeType": "ArrayTypeName", - "src": "14288:9:0", + "src": "14324:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", "typeString": "address[]" @@ -28836,11 +29178,11 @@ }, { "constant": false, - "id": 708, + "id": 716, "name": "amounts", "nodeType": "VariableDeclaration", - "scope": 887, - "src": "14319:16:0", + "scope": 895, + "src": "14355:16:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -28849,19 +29191,19 @@ }, "typeName": { "baseType": { - "id": 706, + "id": 714, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "14319:7:0", + "src": "14355:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 707, + "id": 715, "length": null, "nodeType": "ArrayTypeName", - "src": "14319:9:0", + "src": "14355:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -28871,20 +29213,20 @@ "visibility": "internal" } ], - "src": "14250:91:0" + "src": "14286:91:0" }, "payable": false, "returnParameters": { - "id": 712, + "id": 720, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 711, + "id": 719, "name": "", "nodeType": "VariableDeclaration", - "scope": 887, - "src": "14375:7:0", + "scope": 895, + "src": "14411:7:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -28892,10 +29234,10 @@ "typeString": "uint256" }, "typeName": { - "id": 710, + "id": 718, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "14375:7:0", + "src": "14411:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28905,19 +29247,19 @@ "visibility": "internal" } ], - "src": "14374:9:0" + "src": "14410:9:0" }, - "scope": 1205, - "src": "14227:1523:0", + "scope": 1215, + "src": "14263:1523:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "private" }, { "body": { - "id": 1015, + "id": 1025, "nodeType": "Block", - "src": "16170:1337:0", + "src": "16206:1346:0", "statements": [ { "expression": { @@ -28929,7 +29271,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 920, + "id": 928, "isConstant": false, "isLValue": false, "isPure": false, @@ -28940,7 +29282,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 914, + "id": 922, "isConstant": false, "isLValue": false, "isPure": false, @@ -28949,18 +29291,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 910, + "id": 918, "name": "sigR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 893, - "src": "16202:4:0", + "referencedDeclaration": 901, + "src": "16238:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" } }, - "id": 911, + "id": 919, "isConstant": false, "isLValue": false, "isPure": false, @@ -28968,7 +29310,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "16202:11:0", + "src": "16238:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28980,18 +29322,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 912, + "id": 920, "name": "sigS", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 896, - "src": "16217:4:0", + "referencedDeclaration": 904, + "src": "16253:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" } }, - "id": 913, + "id": 921, "isConstant": false, "isLValue": false, "isPure": false, @@ -28999,13 +29341,13 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "16217:11:0", + "src": "16253:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "16202:26:0", + "src": "16238:26:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -29019,7 +29361,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 919, + "id": 927, "isConstant": false, "isLValue": false, "isPure": false, @@ -29028,18 +29370,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 915, + "id": 923, "name": "sigR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 893, - "src": "16232:4:0", + "referencedDeclaration": 901, + "src": "16268:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" } }, - "id": 916, + "id": 924, "isConstant": false, "isLValue": false, "isPure": false, @@ -29047,7 +29389,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "16232:11:0", + "src": "16268:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29059,18 +29401,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 917, + "id": 925, "name": "sigV", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 890, - "src": "16247:4:0", + "referencedDeclaration": 898, + "src": "16283:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr", "typeString": "uint8[] memory" } }, - "id": 918, + "id": 926, "isConstant": false, "isLValue": false, "isPure": false, @@ -29078,19 +29420,19 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "16247:11:0", + "src": "16283:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "16232:26:0", + "src": "16268:26:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "16202:56:0", + "src": "16238:56:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -29099,14 +29441,14 @@ { "argumentTypes": null, "hexValue": "522c532c56206c656e677468206d69736d617463682e", - "id": 921, + "id": 929, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "16273:24:0", + "src": "16309:24:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_f85073c8befb65baed58ca1ee563e5da0bdbdce8abd4d29ef22a8329c7c97506", @@ -29126,21 +29468,21 @@ "typeString": "literal_string \"R,S,V length mismatch.\"" } ], - "id": 909, + "id": 917, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1381, - 1382 + 1391, + 1392 ], - "referencedDeclaration": 1382, - "src": "16181:7:0", + "referencedDeclaration": 1392, + "src": "16217:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 922, + "id": 930, "isConstant": false, "isLValue": false, "isPure": false, @@ -29148,26 +29490,26 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16181:126:0", + "src": "16217:126:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 923, + "id": 931, "nodeType": "ExpressionStatement", - "src": "16181:126:0" + "src": "16217:126:0" }, { "assignments": [], "declarations": [ { "constant": false, - "id": 925, + "id": 933, "name": "lastAddress", "nodeType": "VariableDeclaration", - "scope": 1016, - "src": "16318:19:0", + "scope": 1026, + "src": "16354:19:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -29175,10 +29517,10 @@ "typeString": "address" }, "typeName": { - "id": 924, + "id": 932, "name": "address", "nodeType": "ElementaryTypeName", - "src": "16318:7:0", + "src": "16354:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -29188,23 +29530,23 @@ "visibility": "internal" } ], - "id": 926, + "id": 934, "initialValue": null, "nodeType": "VariableDeclarationStatement", - "src": "16318:19:0" + "src": "16354:19:0" }, { "assignments": [ - 928 + 936 ], "declarations": [ { "constant": false, - "id": 928, + "id": 936, "name": "txHash", "nodeType": "VariableDeclaration", - "scope": 1016, - "src": "16436:14:0", + "scope": 1026, + "src": "16472:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -29212,10 +29554,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 927, + "id": 935, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "16436:7:0", + "src": "16472:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -29225,7 +29567,7 @@ "visibility": "internal" } ], - "id": 950, + "id": 960, "initialValue": { "argumentTypes": null, "arguments": [ @@ -29235,14 +29577,14 @@ { "argumentTypes": null, "hexValue": "19457468657265756d205369676e6564204d6573736167653a0a3332", - "id": 932, + "id": 940, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "16510:34:0", + "src": "16546:34:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_178a2411ab6fbc1ba11064408972259c558d0e82fd48b0aba3ad81d14f065e73", @@ -29262,14 +29604,14 @@ { "argumentTypes": null, "hexValue": "30783139", - "id": 937, + "id": 945, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "16640:4:0", + "src": "16676:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_25_by_1", @@ -29285,20 +29627,20 @@ "typeString": "int_const 25" } ], - "id": 936, + "id": 944, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "16635:4:0", + "src": "16671:4:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes1_$", "typeString": "type(bytes1)" }, "typeName": "byte" }, - "id": 938, + "id": 946, "isConstant": false, "isLValue": false, "isPure": true, @@ -29306,7 +29648,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16635:10:0", + "src": "16671:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes1", "typeString": "bytes1" @@ -29318,14 +29660,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 940, + "id": 948, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "16676:1:0", + "src": "16712:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -29341,20 +29683,20 @@ "typeString": "int_const 0" } ], - "id": 939, + "id": 947, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "16671:4:0", + "src": "16707:4:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes1_$", "typeString": "type(bytes1)" }, "typeName": "byte" }, - "id": 941, + "id": 949, "isConstant": false, "isLValue": false, "isPure": true, @@ -29362,7 +29704,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16671:7:0", + "src": "16707:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes1", "typeString": "bytes1" @@ -29370,25 +29712,63 @@ }, { "argumentTypes": null, - "id": 942, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1395, - "src": "16704:4:0", + "arguments": [ + { + "argumentTypes": null, + "id": 951, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1405, + "src": "16748:4:0", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Escrow_v1_0_$1215", + "typeString": "contract Escrow_v1_0" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_Escrow_v1_0_$1215", + "typeString": "contract Escrow_v1_0" + } + ], + "id": 950, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "16740:7:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 952, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16740:13:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_Escrow_v1_0_$1205", - "typeString": "contract Escrow_v1_0" + "typeIdentifier": "t_address", + "typeString": "address" } }, { "argumentTypes": null, - "id": 943, + "id": 953, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 901, - "src": "16734:12:0", + "referencedDeclaration": 909, + "src": "16779:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -29396,12 +29776,12 @@ }, { "argumentTypes": null, - "id": 944, + "id": 954, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 904, - "src": "16772:7:0", + "referencedDeclaration": 912, + "src": "16817:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" @@ -29409,12 +29789,12 @@ }, { "argumentTypes": null, - "id": 945, + "id": 955, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 898, - "src": "16805:10:0", + "referencedDeclaration": 906, + "src": "16850:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -29432,8 +29812,8 @@ "typeString": "bytes1" }, { - "typeIdentifier": "t_contract$_Escrow_v1_0_$1205", - "typeString": "contract Escrow_v1_0" + "typeIdentifier": "t_address", + "typeString": "address" }, { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", @@ -29450,18 +29830,18 @@ ], "expression": { "argumentTypes": null, - "id": 934, + "id": 942, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1365, - "src": "16593:3:0", + "referencedDeclaration": 1375, + "src": "16629:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, - "id": 935, + "id": 943, "isConstant": false, "isLValue": false, "isPure": true, @@ -29469,13 +29849,13 @@ "memberName": "encodePacked", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "16593:16:0", + "src": "16629:16:0", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, - "id": 946, + "id": 956, "isConstant": false, "isLValue": false, "isPure": false, @@ -29483,7 +29863,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16593:244:0", + "src": "16629:253:0", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -29497,18 +29877,18 @@ "typeString": "bytes memory" } ], - "id": 933, + "id": 941, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1372, - "src": "16562:9:0", + "referencedDeclaration": 1382, + "src": "16598:9:0", "typeDescriptions": { "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", "typeString": "function () pure returns (bytes32)" } }, - "id": 947, + "id": 957, "isConstant": false, "isLValue": false, "isPure": false, @@ -29516,7 +29896,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16562:293:0", + "src": "16598:302:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -29536,18 +29916,18 @@ ], "expression": { "argumentTypes": null, - "id": 930, + "id": 938, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1365, - "src": "16476:3:0", + "referencedDeclaration": 1375, + "src": "16512:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, - "id": 931, + "id": 939, "isConstant": false, "isLValue": false, "isPure": true, @@ -29555,13 +29935,13 @@ "memberName": "encodePacked", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "16476:16:0", + "src": "16512:16:0", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, - "id": 948, + "id": 958, "isConstant": false, "isLValue": false, "isPure": false, @@ -29569,7 +29949,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16476:393:0", + "src": "16512:402:0", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -29583,18 +29963,18 @@ "typeString": "bytes memory" } ], - "id": 929, + "id": 937, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1372, - "src": "16453:9:0", + "referencedDeclaration": 1382, + "src": "16489:9:0", "typeDescriptions": { "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", "typeString": "function () pure returns (bytes32)" } }, - "id": 949, + "id": 959, "isConstant": false, "isLValue": false, "isPure": false, @@ -29602,33 +29982,33 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16453:426:0", + "src": "16489:435:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "nodeType": "VariableDeclarationStatement", - "src": "16436:443:0" + "src": "16472:452:0" }, { "body": { - "id": 1011, + "id": 1021, "nodeType": "Block", - "src": "16929:543:0", + "src": "16974:543:0", "statements": [ { "assignments": [ - 963 + 973 ], "declarations": [ { "constant": false, - "id": 963, + "id": 973, "name": "recovered", "nodeType": "VariableDeclaration", - "scope": 1016, - "src": "16944:17:0", + "scope": 1026, + "src": "16989:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -29636,10 +30016,10 @@ "typeString": "address" }, "typeName": { - "id": 962, + "id": 972, "name": "address", "nodeType": "ElementaryTypeName", - "src": "16944:7:0", + "src": "16989:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -29649,18 +30029,18 @@ "visibility": "internal" } ], - "id": 976, + "id": 986, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 965, + "id": 975, "name": "txHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 928, - "src": "16991:6:0", + "referencedDeclaration": 936, + "src": "17036:6:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -29670,26 +30050,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 966, + "id": 976, "name": "sigV", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 890, - "src": "17015:4:0", + "referencedDeclaration": 898, + "src": "17060:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr", "typeString": "uint8[] memory" } }, - "id": 968, + "id": 978, "indexExpression": { "argumentTypes": null, - "id": 967, + "id": 977, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 952, - "src": "17020:1:0", + "referencedDeclaration": 962, + "src": "17065:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29700,7 +30080,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17015:7:0", + "src": "17060:7:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -29710,26 +30090,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 969, + "id": 979, "name": "sigR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 893, - "src": "17040:4:0", + "referencedDeclaration": 901, + "src": "17085:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" } }, - "id": 971, + "id": 981, "indexExpression": { "argumentTypes": null, - "id": 970, + "id": 980, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 952, - "src": "17045:1:0", + "referencedDeclaration": 962, + "src": "17090:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29740,7 +30120,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17040:7:0", + "src": "17085:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -29750,26 +30130,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 972, + "id": 982, "name": "sigS", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 896, - "src": "17065:4:0", + "referencedDeclaration": 904, + "src": "17110:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" } }, - "id": 974, + "id": 984, "indexExpression": { "argumentTypes": null, - "id": 973, + "id": 983, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 952, - "src": "17070:1:0", + "referencedDeclaration": 962, + "src": "17115:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29780,7 +30160,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17065:7:0", + "src": "17110:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -29806,18 +30186,18 @@ "typeString": "bytes32" } ], - "id": 964, + "id": 974, "name": "ecrecover", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1370, - "src": "16964:9:0", + "referencedDeclaration": 1380, + "src": "17009:9:0", "typeDescriptions": { "typeIdentifier": "t_function_ecrecover_pure$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$_t_address_$", "typeString": "function (bytes32,uint8,bytes32,bytes32) pure returns (address)" } }, - "id": 975, + "id": 985, "isConstant": false, "isLValue": false, "isPure": false, @@ -29825,14 +30205,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16964:122:0", + "src": "17009:122:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "VariableDeclarationStatement", - "src": "16944:142:0" + "src": "16989:142:0" }, { "expression": { @@ -29846,26 +30226,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 978, + "id": 988, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "17126:12:0", + "src": "17171:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 980, + "id": 990, "indexExpression": { "argumentTypes": null, - "id": 979, + "id": 989, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 898, - "src": "17139:10:0", + "referencedDeclaration": 906, + "src": "17184:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -29876,13 +30256,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17126:24:0", + "src": "17171:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 981, + "id": 991, "isConstant": false, "isLValue": true, "isPure": false, @@ -29890,21 +30270,21 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "17126:32:0", + "src": "17171:32:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 983, + "id": 993, "indexExpression": { "argumentTypes": null, - "id": 982, + "id": 992, "name": "recovered", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 963, - "src": "17159:9:0", + "referencedDeclaration": 973, + "src": "17204:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -29915,7 +30295,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17126:43:0", + "src": "17171:43:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -29924,14 +30304,14 @@ { "argumentTypes": null, "hexValue": "496e76616c6964207369676e6174757265", - "id": 984, + "id": 994, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "17188:19:0", + "src": "17233:19:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_4f2d7dfcb27c0aafa13ae8c400de482c7832204d194018b6e45bd2bf244c74e7", @@ -29951,21 +30331,21 @@ "typeString": "literal_string \"Invalid signature\"" } ], - "id": 977, + "id": 987, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1381, - 1382 + 1391, + 1392 ], - "referencedDeclaration": 1382, - "src": "17101:7:0", + "referencedDeclaration": 1392, + "src": "17146:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 985, + "id": 995, "isConstant": false, "isLValue": false, "isPure": false, @@ -29973,15 +30353,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17101:120:0", + "src": "17146:120:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 986, + "id": 996, "nodeType": "ExpressionStatement", - "src": "17101:120:0" + "src": "17146:120:0" }, { "expression": { @@ -29989,7 +30369,7 @@ "arguments": [ { "argumentTypes": null, - "id": 994, + "id": 1004, "isConstant": false, "isLValue": false, "isPure": false, @@ -29997,7 +30377,7 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "17260:42:0", + "src": "17305:42:0", "subExpression": { "argumentTypes": null, "baseExpression": { @@ -30006,26 +30386,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 988, + "id": 998, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "17261:12:0", + "src": "17306:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 990, + "id": 1000, "indexExpression": { "argumentTypes": null, - "id": 989, + "id": 999, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 898, - "src": "17274:10:0", + "referencedDeclaration": 906, + "src": "17319:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -30036,13 +30416,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17261:24:0", + "src": "17306:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 991, + "id": 1001, "isConstant": false, "isLValue": true, "isPure": false, @@ -30050,21 +30430,21 @@ "memberName": "voted", "nodeType": "MemberAccess", "referencedDeclaration": 66, - "src": "17261:30:0", + "src": "17306:30:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 993, + "id": 1003, "indexExpression": { "argumentTypes": null, - "id": 992, + "id": 1002, "name": "recovered", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 963, - "src": "17292:9:0", + "referencedDeclaration": 973, + "src": "17337:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -30075,7 +30455,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17261:41:0", + "src": "17306:41:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -30089,14 +30469,14 @@ { "argumentTypes": null, "hexValue": "53616d65207369676e61747572652073656e74207477696365", - "id": 995, + "id": 1005, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "17321:27:0", + "src": "17366:27:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_fb2c7e49d5ec7ce36fa812cf15ee7fa946942f931d04fe3ae970516007b2a543", @@ -30116,21 +30496,21 @@ "typeString": "literal_string \"Same signature sent twice\"" } ], - "id": 987, + "id": 997, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1381, - 1382 + 1391, + 1392 ], - "referencedDeclaration": 1382, - "src": "17235:7:0", + "referencedDeclaration": 1392, + "src": "17280:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 996, + "id": 1006, "isConstant": false, "isLValue": false, "isPure": false, @@ -30138,20 +30518,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17235:127:0", + "src": "17280:127:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 997, + "id": 1007, "nodeType": "ExpressionStatement", - "src": "17235:127:0" + "src": "17280:127:0" }, { "expression": { "argumentTypes": null, - "id": 1005, + "id": 1015, "isConstant": false, "isLValue": false, "isPure": false, @@ -30164,26 +30544,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 998, + "id": 1008, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "17376:12:0", + "src": "17421:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 1000, + "id": 1010, "indexExpression": { "argumentTypes": null, - "id": 999, + "id": 1009, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 898, - "src": "17389:10:0", + "referencedDeclaration": 906, + "src": "17434:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -30194,13 +30574,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17376:24:0", + "src": "17421:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 1001, + "id": 1011, "isConstant": false, "isLValue": true, "isPure": false, @@ -30208,21 +30588,21 @@ "memberName": "voted", "nodeType": "MemberAccess", "referencedDeclaration": 66, - "src": "17376:30:0", + "src": "17421:30:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 1003, + "id": 1013, "indexExpression": { "argumentTypes": null, - "id": 1002, + "id": 1012, "name": "recovered", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 963, - "src": "17407:9:0", + "referencedDeclaration": 973, + "src": "17452:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -30233,7 +30613,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "17376:41:0", + "src": "17421:41:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -30244,14 +30624,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "74727565", - "id": 1004, + "id": 1014, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "17420:4:0", + "src": "17465:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -30259,32 +30639,32 @@ }, "value": "true" }, - "src": "17376:48:0", + "src": "17421:48:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 1006, + "id": 1016, "nodeType": "ExpressionStatement", - "src": "17376:48:0" + "src": "17421:48:0" }, { "expression": { "argumentTypes": null, - "id": 1009, + "id": 1019, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 1007, + "id": 1017, "name": "lastAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 925, - "src": "17438:11:0", + "referencedDeclaration": 933, + "src": "17483:11:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -30294,26 +30674,26 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 1008, + "id": 1018, "name": "recovered", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 963, - "src": "17452:9:0", + "referencedDeclaration": 973, + "src": "17497:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "17438:23:0", + "src": "17483:23:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 1010, + "id": 1020, "nodeType": "ExpressionStatement", - "src": "17438:23:0" + "src": "17483:23:0" } ] }, @@ -30323,19 +30703,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 958, + "id": 968, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 955, + "id": 965, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 952, - "src": "16907:1:0", + "referencedDeclaration": 962, + "src": "16952:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -30347,18 +30727,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 956, + "id": 966, "name": "sigR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 893, - "src": "16911:4:0", + "referencedDeclaration": 901, + "src": "16956:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" } }, - "id": 957, + "id": 967, "isConstant": false, "isLValue": false, "isPure": false, @@ -30366,31 +30746,31 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "16911:11:0", + "src": "16956:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "16907:15:0", + "src": "16952:15:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 1012, + "id": 1022, "initializationExpression": { "assignments": [ - 952 + 962 ], "declarations": [ { "constant": false, - "id": 952, + "id": 962, "name": "i", "nodeType": "VariableDeclaration", - "scope": 1016, - "src": "16895:6:0", + "scope": 1026, + "src": "16940:6:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -30398,10 +30778,10 @@ "typeString": "uint256" }, "typeName": { - "id": 951, + "id": 961, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "16895:4:0", + "src": "16940:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -30411,18 +30791,18 @@ "visibility": "internal" } ], - "id": 954, + "id": 964, "initialValue": { "argumentTypes": null, "hexValue": "30", - "id": 953, + "id": 963, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "16904:1:0", + "src": "16949:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -30431,12 +30811,12 @@ "value": "0" }, "nodeType": "VariableDeclarationStatement", - "src": "16895:10:0" + "src": "16940:10:0" }, "loopExpression": { "expression": { "argumentTypes": null, - "id": 960, + "id": 970, "isConstant": false, "isLValue": false, "isPure": false, @@ -30444,15 +30824,15 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "16924:3:0", + "src": "16969:3:0", "subExpression": { "argumentTypes": null, - "id": 959, + "id": 969, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 952, - "src": "16924:1:0", + "referencedDeclaration": 962, + "src": "16969:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -30463,36 +30843,36 @@ "typeString": "uint256" } }, - "id": 961, + "id": 971, "nodeType": "ExpressionStatement", - "src": "16924:3:0" + "src": "16969:3:0" }, "nodeType": "ForStatement", - "src": "16890:582:0" + "src": "16935:582:0" }, { "expression": { "argumentTypes": null, - "id": 1013, + "id": 1023, "name": "lastAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 925, - "src": "17489:11:0", + "referencedDeclaration": 933, + "src": "17534:11:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "functionReturnParameters": 908, - "id": 1014, + "functionReturnParameters": 916, + "id": 1024, "nodeType": "Return", - "src": "17482:18:0" + "src": "17527:18:0" } ] }, "documentation": null, - "id": 1016, + "id": 1026, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -30500,16 +30880,16 @@ "name": "_verifySignatures", "nodeType": "FunctionDefinition", "parameters": { - "id": 905, + "id": 913, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 890, + "id": 898, "name": "sigV", "nodeType": "VariableDeclaration", - "scope": 1016, - "src": "15971:12:0", + "scope": 1026, + "src": "16007:12:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -30518,19 +30898,19 @@ }, "typeName": { "baseType": { - "id": 888, + "id": 896, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "15971:5:0", + "src": "16007:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, - "id": 889, + "id": 897, "length": null, "nodeType": "ArrayTypeName", - "src": "15971:7:0", + "src": "16007:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_storage_ptr", "typeString": "uint8[]" @@ -30541,11 +30921,11 @@ }, { "constant": false, - "id": 893, + "id": 901, "name": "sigR", "nodeType": "VariableDeclaration", - "scope": 1016, - "src": "15993:14:0", + "scope": 1026, + "src": "16029:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -30554,19 +30934,19 @@ }, "typeName": { "baseType": { - "id": 891, + "id": 899, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "15993:7:0", + "src": "16029:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "id": 892, + "id": 900, "length": null, "nodeType": "ArrayTypeName", - "src": "15993:9:0", + "src": "16029:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -30577,11 +30957,11 @@ }, { "constant": false, - "id": 896, + "id": 904, "name": "sigS", "nodeType": "VariableDeclaration", - "scope": 1016, - "src": "16017:14:0", + "scope": 1026, + "src": "16053:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -30590,19 +30970,19 @@ }, "typeName": { "baseType": { - "id": 894, + "id": 902, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "16017:7:0", + "src": "16053:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "id": 895, + "id": 903, "length": null, "nodeType": "ArrayTypeName", - "src": "16017:9:0", + "src": "16053:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -30613,11 +30993,11 @@ }, { "constant": false, - "id": 898, + "id": 906, "name": "scriptHash", "nodeType": "VariableDeclaration", - "scope": 1016, - "src": "16041:18:0", + "scope": 1026, + "src": "16077:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -30625,10 +31005,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 897, + "id": 905, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "16041:7:0", + "src": "16077:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -30639,11 +31019,11 @@ }, { "constant": false, - "id": 901, + "id": 909, "name": "destinations", "nodeType": "VariableDeclaration", - "scope": 1016, - "src": "16069:22:0", + "scope": 1026, + "src": "16105:22:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -30652,19 +31032,19 @@ }, "typeName": { "baseType": { - "id": 899, + "id": 907, "name": "address", "nodeType": "ElementaryTypeName", - "src": "16069:7:0", + "src": "16105:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 900, + "id": 908, "length": null, "nodeType": "ArrayTypeName", - "src": "16069:9:0", + "src": "16105:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", "typeString": "address[]" @@ -30675,11 +31055,11 @@ }, { "constant": false, - "id": 904, + "id": 912, "name": "amounts", "nodeType": "VariableDeclaration", - "scope": 1016, - "src": "16101:16:0", + "scope": 1026, + "src": "16137:16:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -30688,19 +31068,19 @@ }, "typeName": { "baseType": { - "id": 902, + "id": 910, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "16101:7:0", + "src": "16137:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 903, + "id": 911, "length": null, "nodeType": "ArrayTypeName", - "src": "16101:9:0", + "src": "16137:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -30710,20 +31090,20 @@ "visibility": "internal" } ], - "src": "15961:162:0" + "src": "15997:162:0" }, "payable": false, "returnParameters": { - "id": 908, + "id": 916, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 907, + "id": 915, "name": "", "nodeType": "VariableDeclaration", - "scope": 1016, - "src": "16157:7:0", + "scope": 1026, + "src": "16193:7:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -30731,10 +31111,10 @@ "typeString": "address" }, "typeName": { - "id": 906, + "id": 914, "name": "address", "nodeType": "ElementaryTypeName", - "src": "16157:7:0", + "src": "16193:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -30744,32 +31124,32 @@ "visibility": "internal" } ], - "src": "16156:9:0" + "src": "16192:9:0" }, - "scope": 1205, - "src": "15935:1572:0", + "scope": 1215, + "src": "15971:1581:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "private" }, { "body": { - "id": 1047, + "id": 1057, "nodeType": "Block", - "src": "17662:168:0", + "src": "17707:168:0", "statements": [ { "assignments": [ - 1026 + 1036 ], "declarations": [ { "constant": false, - "id": 1026, + "id": 1036, "name": "timeSince", "nodeType": "VariableDeclaration", - "scope": 1048, - "src": "17672:17:0", + "scope": 1058, + "src": "17717:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -30777,10 +31157,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1025, + "id": 1035, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "17672:7:0", + "src": "17717:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -30790,18 +31170,18 @@ "visibility": "internal" } ], - "id": 1031, + "id": 1041, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 1029, + "id": 1039, "name": "lastModified", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1020, - "src": "17700:12:0", + "referencedDeclaration": 1030, + "src": "17745:12:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -30817,32 +31197,32 @@ ], "expression": { "argumentTypes": null, - "id": 1027, + "id": 1037, "name": "now", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1380, - "src": "17692:3:0", + "referencedDeclaration": 1390, + "src": "17737:3:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1028, + "id": 1038, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sub", "nodeType": "MemberAccess", - "referencedDeclaration": 1318, - "src": "17692:7:0", + "referencedDeclaration": 1328, + "src": "17737:7:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 1030, + "id": 1040, "isConstant": false, "isLValue": false, "isPure": false, @@ -30850,14 +31230,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17692:21:0", + "src": "17737:21:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "17672:41:0" + "src": "17717:41:0" }, { "expression": { @@ -30871,19 +31251,19 @@ "typeIdentifier": "t_uint32", "typeString": "uint32" }, - "id": 1034, + "id": 1044, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1032, + "id": 1042, "name": "timeoutHours", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1018, - "src": "17744:12:0", + "referencedDeclaration": 1028, + "src": "17789:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -30894,14 +31274,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 1033, + "id": 1043, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "17760:1:0", + "src": "17805:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -30909,7 +31289,7 @@ }, "value": "0" }, - "src": "17744:17:0", + "src": "17789:17:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -30921,19 +31301,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1043, + "id": 1053, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1036, + "id": 1046, "name": "timeSince", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1026, - "src": "17770:9:0", + "referencedDeclaration": 1036, + "src": "17815:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -30947,14 +31327,14 @@ { "argumentTypes": null, "hexValue": "33363030", - "id": 1041, + "id": 1051, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "17808:4:0", + "src": "17853:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_3600_by_1", @@ -30975,12 +31355,12 @@ "arguments": [ { "argumentTypes": null, - "id": 1038, + "id": 1048, "name": "timeoutHours", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1018, - "src": "17790:12:0", + "referencedDeclaration": 1028, + "src": "17835:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -30994,20 +31374,20 @@ "typeString": "uint32" } ], - "id": 1037, + "id": 1047, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "17782:7:0", + "src": "17827:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint256_$", "typeString": "type(uint256)" }, "typeName": "uint256" }, - "id": 1039, + "id": 1049, "isConstant": false, "isLValue": false, "isPure": false, @@ -31015,27 +31395,27 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17782:21:0", + "src": "17827:21:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1040, + "id": 1050, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "mul", "nodeType": "MemberAccess", - "referencedDeclaration": 1270, - "src": "17782:25:0", + "referencedDeclaration": 1280, + "src": "17827:25:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 1042, + "id": 1052, "isConstant": false, "isLValue": false, "isPure": false, @@ -31043,36 +31423,36 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17782:31:0", + "src": "17827:31:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "17770:43:0", + "src": "17815:43:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 1044, + "id": 1054, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "Conditional", - "src": "17744:69:0", + "src": "17789:69:0", "trueExpression": { "argumentTypes": null, "hexValue": "66616c7365", - "id": 1035, + "id": 1045, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "17764:5:0", + "src": "17809:5:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -31086,28 +31466,28 @@ } } ], - "id": 1045, + "id": 1055, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "17730:93:0", + "src": "17775:93:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "functionReturnParameters": 1024, - "id": 1046, + "functionReturnParameters": 1034, + "id": 1056, "nodeType": "Return", - "src": "17723:100:0" + "src": "17768:100:0" } ] }, "documentation": null, - "id": 1048, + "id": 1058, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -31115,16 +31495,16 @@ "name": "_isTimeLockExpired", "nodeType": "FunctionDefinition", "parameters": { - "id": 1021, + "id": 1031, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1018, + "id": 1028, "name": "timeoutHours", "nodeType": "VariableDeclaration", - "scope": 1048, - "src": "17550:19:0", + "scope": 1058, + "src": "17595:19:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -31132,10 +31512,10 @@ "typeString": "uint32" }, "typeName": { - "id": 1017, + "id": 1027, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "17550:6:0", + "src": "17595:6:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -31146,11 +31526,11 @@ }, { "constant": false, - "id": 1020, + "id": 1030, "name": "lastModified", "nodeType": "VariableDeclaration", - "scope": 1048, - "src": "17579:20:0", + "scope": 1058, + "src": "17624:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -31158,10 +31538,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1019, + "id": 1029, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "17579:7:0", + "src": "17624:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -31171,20 +31551,20 @@ "visibility": "internal" } ], - "src": "17540:65:0" + "src": "17585:65:0" }, "payable": false, "returnParameters": { - "id": 1024, + "id": 1034, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1023, + "id": 1033, "name": "", "nodeType": "VariableDeclaration", - "scope": 1048, - "src": "17652:4:0", + "scope": 1058, + "src": "17697:4:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -31192,10 +31572,10 @@ "typeString": "bool" }, "typeName": { - "id": 1022, + "id": 1032, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "17652:4:0", + "src": "17697:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -31205,19 +31585,19 @@ "visibility": "internal" } ], - "src": "17651:6:0" + "src": "17696:6:0" }, - "scope": 1205, - "src": "17513:317:0", + "scope": 1215, + "src": "17558:317:0", "stateMutability": "view", "superFunction": null, "visibility": "private" }, { "body": { - "id": 1203, + "id": 1213, "nodeType": "Block", - "src": "18244:2314:0", + "src": "18289:2314:0", "statements": [ { "expression": { @@ -31229,19 +31609,19 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 1074, + "id": 1084, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1072, + "id": 1082, "name": "buyer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1050, - "src": "18270:5:0", + "referencedDeclaration": 1060, + "src": "18315:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -31251,18 +31631,18 @@ "operator": "!=", "rightExpression": { "argumentTypes": null, - "id": 1073, + "id": 1083, "name": "seller", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1052, - "src": "18279:6:0", + "referencedDeclaration": 1062, + "src": "18324:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "18270:15:0", + "src": "18315:15:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -31271,14 +31651,14 @@ { "argumentTypes": null, "hexValue": "427579657220616e642073656c6c6572206172652073616d65", - "id": 1075, + "id": 1085, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "18287:27:0", + "src": "18332:27:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_6141441751234d42e9a73d96317794195c7ff57b8f16ac15725a10f10763f824", @@ -31298,21 +31678,21 @@ "typeString": "literal_string \"Buyer and seller are same\"" } ], - "id": 1071, + "id": 1081, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1381, - 1382 + 1391, + 1392 ], - "referencedDeclaration": 1382, - "src": "18262:7:0", + "referencedDeclaration": 1392, + "src": "18307:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 1076, + "id": 1086, "isConstant": false, "isLValue": false, "isPure": false, @@ -31320,15 +31700,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18262:53:0", + "src": "18307:53:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1077, + "id": 1087, "nodeType": "ExpressionStatement", - "src": "18262:53:0" + "src": "18307:53:0" }, { "expression": { @@ -31340,19 +31720,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1081, + "id": 1091, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1079, + "id": 1089, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1062, - "src": "18382:5:0", + "referencedDeclaration": 1072, + "src": "18427:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -31363,14 +31743,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 1080, + "id": 1090, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "18390:1:0", + "src": "18435:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -31378,7 +31758,7 @@ }, "value": "0" }, - "src": "18382:9:0", + "src": "18427:9:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -31387,14 +31767,14 @@ { "argumentTypes": null, "hexValue": "56616c7565207061737365642069732030", - "id": 1082, + "id": 1092, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "18393:19:0", + "src": "18438:19:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_3686f87c4804517ea83323ccf1a3b5b5ff52ed144b19e6fc56abe8fcd182e747", @@ -31414,21 +31794,21 @@ "typeString": "literal_string \"Value passed is 0\"" } ], - "id": 1078, + "id": 1088, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1381, - 1382 + 1391, + 1392 ], - "referencedDeclaration": 1382, - "src": "18374:7:0", + "referencedDeclaration": 1392, + "src": "18419:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 1083, + "id": 1093, "isConstant": false, "isLValue": false, "isPure": false, @@ -31436,15 +31816,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18374:39:0", + "src": "18419:39:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1084, + "id": 1094, "nodeType": "ExpressionStatement", - "src": "18374:39:0" + "src": "18419:39:0" }, { "expression": { @@ -31456,7 +31836,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 1092, + "id": 1102, "isConstant": false, "isLValue": false, "isPure": false, @@ -31467,19 +31847,19 @@ "typeIdentifier": "t_uint8", "typeString": "uint8" }, - "id": 1088, + "id": 1098, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1086, + "id": 1096, "name": "threshold", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1056, - "src": "18516:9:0", + "referencedDeclaration": 1066, + "src": "18561:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -31490,14 +31870,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 1087, + "id": 1097, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "18528:1:0", + "src": "18573:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -31505,7 +31885,7 @@ }, "value": "0" }, - "src": "18516:13:0", + "src": "18561:13:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -31519,19 +31899,19 @@ "typeIdentifier": "t_uint8", "typeString": "uint8" }, - "id": 1091, + "id": 1101, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1089, + "id": 1099, "name": "threshold", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1056, - "src": "18533:9:0", + "referencedDeclaration": 1066, + "src": "18578:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -31542,14 +31922,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "33", - "id": 1090, + "id": 1100, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "18546:1:0", + "src": "18591:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_3_by_1", @@ -31557,13 +31937,13 @@ }, "value": "3" }, - "src": "18533:14:0", + "src": "18578:14:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "18516:31:0", + "src": "18561:31:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -31572,14 +31952,14 @@ { "argumentTypes": null, "hexValue": "5468726573686f6c642063616e6e6f742062652067726561746572207468616e203320616e64206d7573742062652067726561746572207468616e2030", - "id": 1093, + "id": 1103, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "18562:63:0", + "src": "18607:63:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_351c1d5dfdc4a2b4c61d6f4dbb41a0d2ae70a9c094d3c0add87af24b5dd19c13", @@ -31599,21 +31979,21 @@ "typeString": "literal_string \"Threshold cannot be greater than 3 and must be greater than 0\"" } ], - "id": 1085, + "id": 1095, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1381, - 1382 + 1391, + 1392 ], - "referencedDeclaration": 1382, - "src": "18495:7:0", + "referencedDeclaration": 1392, + "src": "18540:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 1094, + "id": 1104, "isConstant": false, "isLValue": false, "isPure": false, @@ -31621,15 +32001,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18495:140:0", + "src": "18540:140:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1095, + "id": 1105, "nodeType": "ExpressionStatement", - "src": "18495:140:0" + "src": "18540:140:0" }, { "expression": { @@ -31641,7 +32021,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 1105, + "id": 1115, "isConstant": false, "isLValue": false, "isPure": false, @@ -31652,19 +32032,19 @@ "typeIdentifier": "t_uint8", "typeString": "uint8" }, - "id": 1099, + "id": 1109, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1097, + "id": 1107, "name": "threshold", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1056, - "src": "18916:9:0", + "referencedDeclaration": 1066, + "src": "18961:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -31675,14 +32055,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "31", - "id": 1098, + "id": 1108, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "18929:1:0", + "src": "18974:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -31690,7 +32070,7 @@ }, "value": "1" }, - "src": "18916:14:0", + "src": "18961:14:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -31704,19 +32084,19 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 1104, + "id": 1114, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1100, + "id": 1110, "name": "moderator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1054, - "src": "18934:9:0", + "referencedDeclaration": 1064, + "src": "18979:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -31730,14 +32110,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 1102, + "id": 1112, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "18955:1:0", + "src": "19000:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -31753,20 +32133,20 @@ "typeString": "int_const 0" } ], - "id": 1101, + "id": 1111, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "18947:7:0", + "src": "18992:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, - "id": 1103, + "id": 1113, "isConstant": false, "isLValue": false, "isPure": true, @@ -31774,19 +32154,19 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18947:10:0", + "src": "18992:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "18934:23:0", + "src": "18979:23:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "18916:41:0", + "src": "18961:41:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -31795,14 +32175,14 @@ { "argumentTypes": null, "hexValue": "456974686572207468726573686f6c642073686f756c642062652031206f722076616c6964206d6f64657261746f7220616464726573732073686f756c6420626520706173736564", - "id": 1106, + "id": 1116, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "18971:74:0", + "src": "19016:74:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_2056db168725d2fabb8aaf14efad7a3fc12ef6bc7132f0596ea09b041b71cb25", @@ -31822,21 +32202,21 @@ "typeString": "literal_string \"Either threshold should be 1 or valid moderator address should be passed\"" } ], - "id": 1096, + "id": 1106, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1381, - 1382 + 1391, + 1392 ], - "referencedDeclaration": 1382, - "src": "18895:7:0", + "referencedDeclaration": 1392, + "src": "18940:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 1107, + "id": 1117, "isConstant": false, "isLValue": false, "isPure": false, @@ -31844,15 +32224,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18895:160:0", + "src": "18940:160:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1108, + "id": 1118, "nodeType": "ExpressionStatement", - "src": "18895:160:0" + "src": "18940:160:0" }, { "expression": { @@ -31864,19 +32244,19 @@ "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, - "id": 1120, + "id": 1130, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1110, + "id": 1120, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1060, - "src": "19087:10:0", + "referencedDeclaration": 1070, + "src": "19132:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -31889,12 +32269,12 @@ "arguments": [ { "argumentTypes": null, - "id": 1112, + "id": 1122, "name": "uniqueId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1064, - "src": "19144:8:0", + "referencedDeclaration": 1074, + "src": "19189:8:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -31902,12 +32282,12 @@ }, { "argumentTypes": null, - "id": 1113, + "id": 1123, "name": "threshold", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1056, - "src": "19170:9:0", + "referencedDeclaration": 1066, + "src": "19215:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -31915,12 +32295,12 @@ }, { "argumentTypes": null, - "id": 1114, + "id": 1124, "name": "timeoutHours", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1058, - "src": "19197:12:0", + "referencedDeclaration": 1068, + "src": "19242:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -31928,12 +32308,12 @@ }, { "argumentTypes": null, - "id": 1115, + "id": 1125, "name": "buyer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1050, - "src": "19227:5:0", + "referencedDeclaration": 1060, + "src": "19272:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -31941,12 +32321,12 @@ }, { "argumentTypes": null, - "id": 1116, + "id": 1126, "name": "seller", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1052, - "src": "19250:6:0", + "referencedDeclaration": 1062, + "src": "19295:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -31954,12 +32334,12 @@ }, { "argumentTypes": null, - "id": 1117, + "id": 1127, "name": "moderator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1054, - "src": "19274:9:0", + "referencedDeclaration": 1064, + "src": "19319:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -31967,12 +32347,12 @@ }, { "argumentTypes": null, - "id": 1118, + "id": 1128, "name": "tokenAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1068, - "src": "19301:12:0", + "referencedDeclaration": 1078, + "src": "19346:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -32010,18 +32390,18 @@ "typeString": "address" } ], - "id": 1111, + "id": 1121, "name": "calculateRedeemScriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 631, - "src": "19101:25:0", + "referencedDeclaration": 639, + "src": "19146:25:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_bytes20_$_t_uint8_$_t_uint32_$_t_address_$_t_address_$_t_address_$_t_address_$returns$_t_bytes32_$", "typeString": "function (bytes20,uint8,uint32,address,address,address,address) view returns (bytes32)" } }, - "id": 1119, + "id": 1129, "isConstant": false, "isLValue": false, "isPure": false, @@ -32029,13 +32409,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "19101:226:0", + "src": "19146:226:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "src": "19087:240:0", + "src": "19132:240:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -32044,14 +32424,14 @@ { "argumentTypes": null, "hexValue": "43616c63756c6174656420736372697074206861736820646f6573206e6f74206d61746368207061737365642073637269707420686173682e", - "id": 1121, + "id": 1131, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "19342:59:0", + "src": "19387:59:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_0c041e0c58e6b0e01d338d852a5abb639065eabeb0aee05e0ce3e5f0e52b4f51", @@ -32071,21 +32451,21 @@ "typeString": "literal_string \"Calculated script hash does not match passed script hash.\"" } ], - "id": 1109, + "id": 1119, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1381, - 1382 + 1391, + 1392 ], - "referencedDeclaration": 1382, - "src": "19066:7:0", + "referencedDeclaration": 1392, + "src": "19111:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 1122, + "id": 1132, "isConstant": false, "isLValue": false, "isPure": false, @@ -32093,20 +32473,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "19066:345:0", + "src": "19111:345:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1123, + "id": 1133, "nodeType": "ExpressionStatement", - "src": "19066:345:0" + "src": "19111:345:0" }, { "expression": { "argumentTypes": null, - "id": 1141, + "id": 1151, "isConstant": false, "isLValue": false, "isPure": false, @@ -32115,26 +32495,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1124, + "id": 1134, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "19422:12:0", + "src": "19467:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 1126, + "id": 1136, "indexExpression": { "argumentTypes": null, - "id": 1125, + "id": 1135, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1060, - "src": "19435:10:0", + "referencedDeclaration": 1070, + "src": "19480:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -32145,7 +32525,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "19422:24:0", + "src": "19467:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -32158,12 +32538,12 @@ "arguments": [ { "argumentTypes": null, - "id": 1128, + "id": 1138, "name": "buyer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1050, - "src": "19482:5:0", + "referencedDeclaration": 1060, + "src": "19527:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -32171,12 +32551,12 @@ }, { "argumentTypes": null, - "id": 1129, + "id": 1139, "name": "seller", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1052, - "src": "19509:6:0", + "referencedDeclaration": 1062, + "src": "19554:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -32184,12 +32564,12 @@ }, { "argumentTypes": null, - "id": 1130, + "id": 1140, "name": "moderator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1054, - "src": "19540:9:0", + "referencedDeclaration": 1064, + "src": "19585:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -32197,12 +32577,12 @@ }, { "argumentTypes": null, - "id": 1131, + "id": 1141, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1062, - "src": "19570:5:0", + "referencedDeclaration": 1072, + "src": "19615:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -32212,18 +32592,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1132, + "id": 1142, "name": "Status", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9, - "src": "19597:6:0", + "src": "19642:6:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_Status_$9_$", "typeString": "type(enum Escrow_v1_0.Status)" } }, - "id": 1133, + "id": 1143, "isConstant": false, "isLValue": false, "isPure": true, @@ -32231,7 +32611,7 @@ "memberName": "FUNDED", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "19597:13:0", + "src": "19642:13:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$9", "typeString": "enum Escrow_v1_0.Status" @@ -32241,18 +32621,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1134, + "id": 1144, "name": "block", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1368, - "src": "19638:5:0", + "referencedDeclaration": 1378, + "src": "19683:5:0", "typeDescriptions": { "typeIdentifier": "t_magic_block", "typeString": "block" } }, - "id": 1135, + "id": 1145, "isConstant": false, "isLValue": false, "isPure": false, @@ -32260,7 +32640,7 @@ "memberName": "timestamp", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "19638:15:0", + "src": "19683:15:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -32268,12 +32648,12 @@ }, { "argumentTypes": null, - "id": 1136, + "id": 1146, "name": "threshold", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1056, - "src": "19678:9:0", + "referencedDeclaration": 1066, + "src": "19723:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -32281,12 +32661,12 @@ }, { "argumentTypes": null, - "id": 1137, + "id": 1147, "name": "timeoutHours", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1058, - "src": "19715:12:0", + "referencedDeclaration": 1068, + "src": "19760:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -32294,12 +32674,12 @@ }, { "argumentTypes": null, - "id": 1138, + "id": 1148, "name": "transactionType", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1066, - "src": "19757:15:0", + "referencedDeclaration": 1076, + "src": "19802:15:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -32307,12 +32687,12 @@ }, { "argumentTypes": null, - "id": 1139, + "id": 1149, "name": "tokenAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1068, - "src": "19799:12:0", + "referencedDeclaration": 1078, + "src": "19844:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -32321,18 +32701,18 @@ ], "expression": { "argumentTypes": null, - "id": 1127, + "id": 1137, "name": "Transaction", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 71, - "src": "19449:11:0", + "src": "19494:11:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_struct$_Transaction_$71_storage_ptr_$", "typeString": "type(struct Escrow_v1_0.Transaction storage pointer)" } }, - "id": 1140, + "id": 1150, "isConstant": false, "isLValue": false, "isPure": false, @@ -32351,26 +32731,26 @@ "tokenAddress" ], "nodeType": "FunctionCall", - "src": "19449:373:0", + "src": "19494:373:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_memory", "typeString": "struct Escrow_v1_0.Transaction memory" } }, - "src": "19422:400:0", + "src": "19467:400:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 1142, + "id": 1152, "nodeType": "ExpressionStatement", - "src": "19422:400:0" + "src": "19467:400:0" }, { "expression": { "argumentTypes": null, - "id": 1150, + "id": 1160, "isConstant": false, "isLValue": false, "isPure": false, @@ -32383,26 +32763,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1143, + "id": 1153, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "19833:12:0", + "src": "19878:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 1145, + "id": 1155, "indexExpression": { "argumentTypes": null, - "id": 1144, + "id": 1154, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1060, - "src": "19846:10:0", + "referencedDeclaration": 1070, + "src": "19891:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -32413,13 +32793,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "19833:24:0", + "src": "19878:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 1146, + "id": 1156, "isConstant": false, "isLValue": true, "isPure": false, @@ -32427,21 +32807,21 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "19833:32:0", + "src": "19878:32:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 1148, + "id": 1158, "indexExpression": { "argumentTypes": null, - "id": 1147, + "id": 1157, "name": "seller", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1052, - "src": "19866:6:0", + "referencedDeclaration": 1062, + "src": "19911:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -32452,7 +32832,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "19833:40:0", + "src": "19878:40:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -32463,14 +32843,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "74727565", - "id": 1149, + "id": 1159, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "19876:4:0", + "src": "19921:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -32478,20 +32858,20 @@ }, "value": "true" }, - "src": "19833:47:0", + "src": "19878:47:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 1151, + "id": 1161, "nodeType": "ExpressionStatement", - "src": "19833:47:0" + "src": "19878:47:0" }, { "expression": { "argumentTypes": null, - "id": 1159, + "id": 1169, "isConstant": false, "isLValue": false, "isPure": false, @@ -32504,26 +32884,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1152, + "id": 1162, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "19890:12:0", + "src": "19935:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 1154, + "id": 1164, "indexExpression": { "argumentTypes": null, - "id": 1153, + "id": 1163, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1060, - "src": "19903:10:0", + "referencedDeclaration": 1070, + "src": "19948:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -32534,13 +32914,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "19890:24:0", + "src": "19935:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 1155, + "id": 1165, "isConstant": false, "isLValue": true, "isPure": false, @@ -32548,21 +32928,21 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "19890:32:0", + "src": "19935:32:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 1157, + "id": 1167, "indexExpression": { "argumentTypes": null, - "id": 1156, + "id": 1166, "name": "buyer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1050, - "src": "19923:5:0", + "referencedDeclaration": 1060, + "src": "19968:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -32573,7 +32953,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "19890:39:0", + "src": "19935:39:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -32584,14 +32964,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "74727565", - "id": 1158, + "id": 1168, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "19932:4:0", + "src": "19977:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -32599,15 +32979,15 @@ }, "value": "true" }, - "src": "19890:46:0", + "src": "19935:46:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 1160, + "id": 1170, "nodeType": "ExpressionStatement", - "src": "19890:46:0" + "src": "19935:46:0" }, { "expression": { @@ -32615,7 +32995,7 @@ "arguments": [ { "argumentTypes": null, - "id": 1168, + "id": 1178, "isConstant": false, "isLValue": false, "isPure": false, @@ -32623,7 +33003,7 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "20043:44:0", + "src": "20088:44:0", "subExpression": { "argumentTypes": null, "baseExpression": { @@ -32632,26 +33012,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1162, + "id": 1172, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "20044:12:0", + "src": "20089:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 1164, + "id": 1174, "indexExpression": { "argumentTypes": null, - "id": 1163, + "id": 1173, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1060, - "src": "20057:10:0", + "referencedDeclaration": 1070, + "src": "20102:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -32662,13 +33042,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20044:24:0", + "src": "20089:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 1165, + "id": 1175, "isConstant": false, "isLValue": true, "isPure": false, @@ -32676,21 +33056,21 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "20044:32:0", + "src": "20089:32:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 1167, + "id": 1177, "indexExpression": { "argumentTypes": null, - "id": 1166, + "id": 1176, "name": "moderator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1054, - "src": "20077:9:0", + "referencedDeclaration": 1064, + "src": "20122:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -32701,7 +33081,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20044:43:0", + "src": "20089:43:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -32715,14 +33095,14 @@ { "argumentTypes": null, "hexValue": "456974686572206275796572206f722073656c6c657220697320706173736564206173206d6f64657261746f72", - "id": 1169, + "id": 1179, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "20102:47:0", + "src": "20147:47:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_313b391557427937e7bdb85c7561d47c5b9c985755a448dd33a92026ffb38f8d", @@ -32742,21 +33122,21 @@ "typeString": "literal_string \"Either buyer or seller is passed as moderator\"" } ], - "id": 1161, + "id": 1171, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1381, - 1382 + 1391, + 1392 ], - "referencedDeclaration": 1382, - "src": "20022:7:0", + "referencedDeclaration": 1392, + "src": "20067:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 1170, + "id": 1180, "isConstant": false, "isLValue": false, "isPure": false, @@ -32764,15 +33144,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "20022:137:0", + "src": "20067:137:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1171, + "id": 1181, "nodeType": "ExpressionStatement", - "src": "20022:137:0" + "src": "20067:137:0" }, { "condition": { @@ -32781,19 +33161,19 @@ "typeIdentifier": "t_uint8", "typeString": "uint8" }, - "id": 1174, + "id": 1184, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1172, + "id": 1182, "name": "threshold", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1056, - "src": "20319:9:0", + "referencedDeclaration": 1066, + "src": "20364:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -32804,14 +33184,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "31", - "id": 1173, + "id": 1183, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "20331:1:0", + "src": "20376:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -32819,25 +33199,25 @@ }, "value": "1" }, - "src": "20319:13:0", + "src": "20364:13:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, - "id": 1185, + "id": 1195, "nodeType": "IfStatement", - "src": "20315:94:0", + "src": "20360:94:0", "trueBody": { - "id": 1184, + "id": 1194, "nodeType": "Block", - "src": "20334:75:0", + "src": "20379:75:0", "statements": [ { "expression": { "argumentTypes": null, - "id": 1182, + "id": 1192, "isConstant": false, "isLValue": false, "isPure": false, @@ -32850,26 +33230,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1175, + "id": 1185, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "20348:12:0", + "src": "20393:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 1177, + "id": 1187, "indexExpression": { "argumentTypes": null, - "id": 1176, + "id": 1186, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1060, - "src": "20361:10:0", + "referencedDeclaration": 1070, + "src": "20406:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -32880,13 +33260,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20348:24:0", + "src": "20393:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 1178, + "id": 1188, "isConstant": false, "isLValue": true, "isPure": false, @@ -32894,21 +33274,21 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "20348:32:0", + "src": "20393:32:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 1180, + "id": 1190, "indexExpression": { "argumentTypes": null, - "id": 1179, + "id": 1189, "name": "moderator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1054, - "src": "20381:9:0", + "referencedDeclaration": 1064, + "src": "20426:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -32919,7 +33299,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "20348:43:0", + "src": "20393:43:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -32930,14 +33310,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "74727565", - "id": 1181, + "id": 1191, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "20394:4:0", + "src": "20439:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -32945,15 +33325,15 @@ }, "value": "true" }, - "src": "20348:50:0", + "src": "20393:50:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 1183, + "id": 1193, "nodeType": "ExpressionStatement", - "src": "20348:50:0" + "src": "20393:50:0" } ] } @@ -32961,7 +33341,7 @@ { "expression": { "argumentTypes": null, - "id": 1187, + "id": 1197, "isConstant": false, "isLValue": false, "isPure": false, @@ -32969,15 +33349,15 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "20427:18:0", + "src": "20472:18:0", "subExpression": { "argumentTypes": null, - "id": 1186, + "id": 1196, "name": "transactionCount", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 78, - "src": "20427:16:0", + "src": "20472:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -32988,9 +33368,9 @@ "typeString": "uint256" } }, - "id": 1188, + "id": 1198, "nodeType": "ExpressionStatement", - "src": "20427:18:0" + "src": "20472:18:0" }, { "expression": { @@ -32998,12 +33378,12 @@ "arguments": [ { "argumentTypes": null, - "id": 1193, + "id": 1203, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1060, - "src": "20487:10:0", + "referencedDeclaration": 1070, + "src": "20532:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -33021,26 +33401,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1189, + "id": 1199, "name": "partyVsTransaction", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 83, - "src": "20456:18:0", + "src": "20501:18:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_bytes32_$dyn_storage_$", "typeString": "mapping(address => bytes32[] storage ref)" } }, - "id": 1191, + "id": 1201, "indexExpression": { "argumentTypes": null, - "id": 1190, + "id": 1200, "name": "buyer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1050, - "src": "20475:5:0", + "referencedDeclaration": 1060, + "src": "20520:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -33051,13 +33431,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20456:25:0", + "src": "20501:25:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage", "typeString": "bytes32[] storage ref" } }, - "id": 1192, + "id": 1202, "isConstant": false, "isLValue": false, "isPure": false, @@ -33065,13 +33445,13 @@ "memberName": "push", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "20456:30:0", + "src": "20501:30:0", "typeDescriptions": { "typeIdentifier": "t_function_arraypush_nonpayable$_t_bytes32_$returns$_t_uint256_$", "typeString": "function (bytes32) returns (uint256)" } }, - "id": 1194, + "id": 1204, "isConstant": false, "isLValue": false, "isPure": false, @@ -33079,15 +33459,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "20456:42:0", + "src": "20501:42:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1195, + "id": 1205, "nodeType": "ExpressionStatement", - "src": "20456:42:0" + "src": "20501:42:0" }, { "expression": { @@ -33095,12 +33475,12 @@ "arguments": [ { "argumentTypes": null, - "id": 1200, + "id": 1210, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1060, - "src": "20540:10:0", + "referencedDeclaration": 1070, + "src": "20585:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -33118,26 +33498,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1196, + "id": 1206, "name": "partyVsTransaction", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 83, - "src": "20508:18:0", + "src": "20553:18:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_bytes32_$dyn_storage_$", "typeString": "mapping(address => bytes32[] storage ref)" } }, - "id": 1198, + "id": 1208, "indexExpression": { "argumentTypes": null, - "id": 1197, + "id": 1207, "name": "seller", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1052, - "src": "20527:6:0", + "referencedDeclaration": 1062, + "src": "20572:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -33148,13 +33528,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20508:26:0", + "src": "20553:26:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage", "typeString": "bytes32[] storage ref" } }, - "id": 1199, + "id": 1209, "isConstant": false, "isLValue": false, "isPure": false, @@ -33162,13 +33542,13 @@ "memberName": "push", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "20508:31:0", + "src": "20553:31:0", "typeDescriptions": { "typeIdentifier": "t_function_arraypush_nonpayable$_t_bytes32_$returns$_t_uint256_$", "typeString": "function (bytes32) returns (uint256)" } }, - "id": 1201, + "id": 1211, "isConstant": false, "isLValue": false, "isPure": false, @@ -33176,20 +33556,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "20508:43:0", + "src": "20553:43:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1202, + "id": 1212, "nodeType": "ExpressionStatement", - "src": "20508:43:0" + "src": "20553:43:0" } ] }, "documentation": "Private method to add transaction to reduce code redundancy", - "id": 1204, + "id": 1214, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -33197,16 +33577,16 @@ "name": "_addTransaction", "nodeType": "FunctionDefinition", "parameters": { - "id": 1069, + "id": 1079, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1050, + "id": 1060, "name": "buyer", "nodeType": "VariableDeclaration", - "scope": 1204, - "src": "17951:13:0", + "scope": 1214, + "src": "17996:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -33214,10 +33594,10 @@ "typeString": "address" }, "typeName": { - "id": 1049, + "id": 1059, "name": "address", "nodeType": "ElementaryTypeName", - "src": "17951:7:0", + "src": "17996:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -33228,11 +33608,11 @@ }, { "constant": false, - "id": 1052, + "id": 1062, "name": "seller", "nodeType": "VariableDeclaration", - "scope": 1204, - "src": "17974:14:0", + "scope": 1214, + "src": "18019:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -33240,10 +33620,10 @@ "typeString": "address" }, "typeName": { - "id": 1051, + "id": 1061, "name": "address", "nodeType": "ElementaryTypeName", - "src": "17974:7:0", + "src": "18019:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -33254,11 +33634,11 @@ }, { "constant": false, - "id": 1054, + "id": 1064, "name": "moderator", "nodeType": "VariableDeclaration", - "scope": 1204, - "src": "17998:17:0", + "scope": 1214, + "src": "18043:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -33266,10 +33646,10 @@ "typeString": "address" }, "typeName": { - "id": 1053, + "id": 1063, "name": "address", "nodeType": "ElementaryTypeName", - "src": "17998:7:0", + "src": "18043:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -33280,11 +33660,11 @@ }, { "constant": false, - "id": 1056, + "id": 1066, "name": "threshold", "nodeType": "VariableDeclaration", - "scope": 1204, - "src": "18025:15:0", + "scope": 1214, + "src": "18070:15:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -33292,10 +33672,10 @@ "typeString": "uint8" }, "typeName": { - "id": 1055, + "id": 1065, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "18025:5:0", + "src": "18070:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -33306,11 +33686,11 @@ }, { "constant": false, - "id": 1058, + "id": 1068, "name": "timeoutHours", "nodeType": "VariableDeclaration", - "scope": 1204, - "src": "18050:19:0", + "scope": 1214, + "src": "18095:19:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -33318,10 +33698,10 @@ "typeString": "uint32" }, "typeName": { - "id": 1057, + "id": 1067, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "18050:6:0", + "src": "18095:6:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -33332,11 +33712,11 @@ }, { "constant": false, - "id": 1060, + "id": 1070, "name": "scriptHash", "nodeType": "VariableDeclaration", - "scope": 1204, - "src": "18079:18:0", + "scope": 1214, + "src": "18124:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -33344,10 +33724,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 1059, + "id": 1069, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "18079:7:0", + "src": "18124:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -33358,11 +33738,11 @@ }, { "constant": false, - "id": 1062, + "id": 1072, "name": "value", "nodeType": "VariableDeclaration", - "scope": 1204, - "src": "18107:13:0", + "scope": 1214, + "src": "18152:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -33370,10 +33750,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1061, + "id": 1071, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "18107:7:0", + "src": "18152:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -33384,11 +33764,11 @@ }, { "constant": false, - "id": 1064, + "id": 1074, "name": "uniqueId", "nodeType": "VariableDeclaration", - "scope": 1204, - "src": "18130:16:0", + "scope": 1214, + "src": "18175:16:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -33396,10 +33776,10 @@ "typeString": "bytes20" }, "typeName": { - "id": 1063, + "id": 1073, "name": "bytes20", "nodeType": "ElementaryTypeName", - "src": "18130:7:0", + "src": "18175:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -33410,11 +33790,11 @@ }, { "constant": false, - "id": 1066, + "id": 1076, "name": "transactionType", "nodeType": "VariableDeclaration", - "scope": 1204, - "src": "18156:31:0", + "scope": 1214, + "src": "18201:31:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -33423,11 +33803,11 @@ }, "typeName": { "contractScope": null, - "id": 1065, + "id": 1075, "name": "TransactionType", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 12, - "src": "18156:15:0", + "src": "18201:15:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -33438,11 +33818,11 @@ }, { "constant": false, - "id": 1068, + "id": 1078, "name": "tokenAddress", "nodeType": "VariableDeclaration", - "scope": 1204, - "src": "18197:20:0", + "scope": 1214, + "src": "18242:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -33450,10 +33830,10 @@ "typeString": "address" }, "typeName": { - "id": 1067, + "id": 1077, "name": "address", "nodeType": "ElementaryTypeName", - "src": "18197:7:0", + "src": "18242:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -33463,27 +33843,27 @@ "visibility": "internal" } ], - "src": "17941:282:0" + "src": "17986:282:0" }, "payable": false, "returnParameters": { - "id": 1070, + "id": 1080, "nodeType": "ParameterList", "parameters": [], - "src": "18244:0:0" + "src": "18289:0:0" }, - "scope": 1205, - "src": "17917:2641:0", + "scope": 1215, + "src": "17962:2641:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "private" } ], - "scope": 1206, - "src": "460:20100:0" + "scope": 1216, + "src": "460:20145:0" } ], - "src": "0:20561:0" + "src": "0:20606:0" }, "compiler": { "name": "solc", @@ -33491,5 +33871,5 @@ }, "networks": {}, "schemaVersion": "2.0.1", - "updatedAt": "2018-11-19T13:33:32.652Z" + "updatedAt": "2018-11-19T13:36:26.796Z" } \ No newline at end of file diff --git a/build/contracts/ITokenContract.json b/build/contracts/ITokenContract.json index fdf259d..4d2de77 100644 --- a/build/contracts/ITokenContract.json +++ b/build/contracts/ITokenContract.json @@ -81,14 +81,14 @@ "absolutePath": "/home/sameep/freelancing-projects/toptal/open baazar/publicRepo/smart-contracts/contracts/token/ITokenContract.sol", "exportedSymbols": { "ITokenContract": [ - 1235 + 1245 ] }, - "id": 1236, + "id": 1246, "nodeType": "SourceUnit", "nodes": [ { - "id": 1207, + "id": 1217, "literals": [ "solidity", "0.4", @@ -103,9 +103,9 @@ "contractKind": "interface", "documentation": null, "fullyImplemented": false, - "id": 1235, + "id": 1245, "linearizedBaseContracts": [ - 1235 + 1245 ], "name": "ITokenContract", "nodeType": "ContractDefinition", @@ -113,7 +113,7 @@ { "body": null, "documentation": null, - "id": 1214, + "id": 1224, "implemented": false, "isConstructor": false, "isDeclaredConst": true, @@ -121,15 +121,15 @@ "name": "balanceOf", "nodeType": "FunctionDefinition", "parameters": { - "id": 1210, + "id": 1220, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1209, + "id": 1219, "name": "_owner", "nodeType": "VariableDeclaration", - "scope": 1214, + "scope": 1224, "src": "75:14:1", "stateVariable": false, "storageLocation": "default", @@ -138,7 +138,7 @@ "typeString": "address" }, "typeName": { - "id": 1208, + "id": 1218, "name": "address", "nodeType": "ElementaryTypeName", "src": "75:7:1", @@ -155,15 +155,15 @@ }, "payable": false, "returnParameters": { - "id": 1213, + "id": 1223, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1212, + "id": 1222, "name": "balance", "nodeType": "VariableDeclaration", - "scope": 1214, + "scope": 1224, "src": "114:15:1", "stateVariable": false, "storageLocation": "default", @@ -172,7 +172,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1211, + "id": 1221, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "114:7:1", @@ -187,7 +187,7 @@ ], "src": "113:17:1" }, - "scope": 1235, + "scope": 1245, "src": "56:75:1", "stateMutability": "view", "superFunction": null, @@ -196,7 +196,7 @@ { "body": null, "documentation": null, - "id": 1223, + "id": 1233, "implemented": false, "isConstructor": false, "isDeclaredConst": false, @@ -204,15 +204,15 @@ "name": "transfer", "nodeType": "FunctionDefinition", "parameters": { - "id": 1219, + "id": 1229, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1216, + "id": 1226, "name": "_to", "nodeType": "VariableDeclaration", - "scope": 1223, + "scope": 1233, "src": "166:11:1", "stateVariable": false, "storageLocation": "default", @@ -221,7 +221,7 @@ "typeString": "address" }, "typeName": { - "id": 1215, + "id": 1225, "name": "address", "nodeType": "ElementaryTypeName", "src": "166:7:1", @@ -235,10 +235,10 @@ }, { "constant": false, - "id": 1218, + "id": 1228, "name": "_amount", "nodeType": "VariableDeclaration", - "scope": 1223, + "scope": 1233, "src": "188:15:1", "stateVariable": false, "storageLocation": "default", @@ -247,7 +247,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1217, + "id": 1227, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "188:7:1", @@ -264,15 +264,15 @@ }, "payable": false, "returnParameters": { - "id": 1222, + "id": 1232, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1221, + "id": 1231, "name": "success", "nodeType": "VariableDeclaration", - "scope": 1223, + "scope": 1233, "src": "245:12:1", "stateVariable": false, "storageLocation": "default", @@ -281,7 +281,7 @@ "typeString": "bool" }, "typeName": { - "id": 1220, + "id": 1230, "name": "bool", "nodeType": "ElementaryTypeName", "src": "245:4:1", @@ -296,7 +296,7 @@ ], "src": "244:14:1" }, - "scope": 1235, + "scope": 1245, "src": "139:120:1", "stateMutability": "nonpayable", "superFunction": null, @@ -305,7 +305,7 @@ { "body": null, "documentation": null, - "id": 1234, + "id": 1244, "implemented": false, "isConstructor": false, "isDeclaredConst": false, @@ -313,15 +313,15 @@ "name": "transferFrom", "nodeType": "FunctionDefinition", "parameters": { - "id": 1230, + "id": 1240, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1225, + "id": 1235, "name": "_from", "nodeType": "VariableDeclaration", - "scope": 1234, + "scope": 1244, "src": "296:13:1", "stateVariable": false, "storageLocation": "default", @@ -330,7 +330,7 @@ "typeString": "address" }, "typeName": { - "id": 1224, + "id": 1234, "name": "address", "nodeType": "ElementaryTypeName", "src": "296:7:1", @@ -344,10 +344,10 @@ }, { "constant": false, - "id": 1227, + "id": 1237, "name": "_to", "nodeType": "VariableDeclaration", - "scope": 1234, + "scope": 1244, "src": "320:11:1", "stateVariable": false, "storageLocation": "default", @@ -356,7 +356,7 @@ "typeString": "address" }, "typeName": { - "id": 1226, + "id": 1236, "name": "address", "nodeType": "ElementaryTypeName", "src": "320:7:1", @@ -370,10 +370,10 @@ }, { "constant": false, - "id": 1229, + "id": 1239, "name": "_amount", "nodeType": "VariableDeclaration", - "scope": 1234, + "scope": 1244, "src": "342:15:1", "stateVariable": false, "storageLocation": "default", @@ -382,7 +382,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1228, + "id": 1238, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "342:7:1", @@ -399,15 +399,15 @@ }, "payable": false, "returnParameters": { - "id": 1233, + "id": 1243, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1232, + "id": 1242, "name": "success", "nodeType": "VariableDeclaration", - "scope": 1234, + "scope": 1244, "src": "400:12:1", "stateVariable": false, "storageLocation": "default", @@ -416,7 +416,7 @@ "typeString": "bool" }, "typeName": { - "id": 1231, + "id": 1241, "name": "bool", "nodeType": "ElementaryTypeName", "src": "400:4:1", @@ -431,14 +431,14 @@ ], "src": "399:14:1" }, - "scope": 1235, + "scope": 1245, "src": "265:149:1", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" } ], - "scope": 1236, + "scope": 1246, "src": "25:391:1" } ], @@ -448,14 +448,14 @@ "absolutePath": "/home/sameep/freelancing-projects/toptal/open baazar/publicRepo/smart-contracts/contracts/token/ITokenContract.sol", "exportedSymbols": { "ITokenContract": [ - 1235 + 1245 ] }, - "id": 1236, + "id": 1246, "nodeType": "SourceUnit", "nodes": [ { - "id": 1207, + "id": 1217, "literals": [ "solidity", "0.4", @@ -470,9 +470,9 @@ "contractKind": "interface", "documentation": null, "fullyImplemented": false, - "id": 1235, + "id": 1245, "linearizedBaseContracts": [ - 1235 + 1245 ], "name": "ITokenContract", "nodeType": "ContractDefinition", @@ -480,7 +480,7 @@ { "body": null, "documentation": null, - "id": 1214, + "id": 1224, "implemented": false, "isConstructor": false, "isDeclaredConst": true, @@ -488,15 +488,15 @@ "name": "balanceOf", "nodeType": "FunctionDefinition", "parameters": { - "id": 1210, + "id": 1220, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1209, + "id": 1219, "name": "_owner", "nodeType": "VariableDeclaration", - "scope": 1214, + "scope": 1224, "src": "75:14:1", "stateVariable": false, "storageLocation": "default", @@ -505,7 +505,7 @@ "typeString": "address" }, "typeName": { - "id": 1208, + "id": 1218, "name": "address", "nodeType": "ElementaryTypeName", "src": "75:7:1", @@ -522,15 +522,15 @@ }, "payable": false, "returnParameters": { - "id": 1213, + "id": 1223, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1212, + "id": 1222, "name": "balance", "nodeType": "VariableDeclaration", - "scope": 1214, + "scope": 1224, "src": "114:15:1", "stateVariable": false, "storageLocation": "default", @@ -539,7 +539,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1211, + "id": 1221, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "114:7:1", @@ -554,7 +554,7 @@ ], "src": "113:17:1" }, - "scope": 1235, + "scope": 1245, "src": "56:75:1", "stateMutability": "view", "superFunction": null, @@ -563,7 +563,7 @@ { "body": null, "documentation": null, - "id": 1223, + "id": 1233, "implemented": false, "isConstructor": false, "isDeclaredConst": false, @@ -571,15 +571,15 @@ "name": "transfer", "nodeType": "FunctionDefinition", "parameters": { - "id": 1219, + "id": 1229, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1216, + "id": 1226, "name": "_to", "nodeType": "VariableDeclaration", - "scope": 1223, + "scope": 1233, "src": "166:11:1", "stateVariable": false, "storageLocation": "default", @@ -588,7 +588,7 @@ "typeString": "address" }, "typeName": { - "id": 1215, + "id": 1225, "name": "address", "nodeType": "ElementaryTypeName", "src": "166:7:1", @@ -602,10 +602,10 @@ }, { "constant": false, - "id": 1218, + "id": 1228, "name": "_amount", "nodeType": "VariableDeclaration", - "scope": 1223, + "scope": 1233, "src": "188:15:1", "stateVariable": false, "storageLocation": "default", @@ -614,7 +614,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1217, + "id": 1227, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "188:7:1", @@ -631,15 +631,15 @@ }, "payable": false, "returnParameters": { - "id": 1222, + "id": 1232, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1221, + "id": 1231, "name": "success", "nodeType": "VariableDeclaration", - "scope": 1223, + "scope": 1233, "src": "245:12:1", "stateVariable": false, "storageLocation": "default", @@ -648,7 +648,7 @@ "typeString": "bool" }, "typeName": { - "id": 1220, + "id": 1230, "name": "bool", "nodeType": "ElementaryTypeName", "src": "245:4:1", @@ -663,7 +663,7 @@ ], "src": "244:14:1" }, - "scope": 1235, + "scope": 1245, "src": "139:120:1", "stateMutability": "nonpayable", "superFunction": null, @@ -672,7 +672,7 @@ { "body": null, "documentation": null, - "id": 1234, + "id": 1244, "implemented": false, "isConstructor": false, "isDeclaredConst": false, @@ -680,15 +680,15 @@ "name": "transferFrom", "nodeType": "FunctionDefinition", "parameters": { - "id": 1230, + "id": 1240, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1225, + "id": 1235, "name": "_from", "nodeType": "VariableDeclaration", - "scope": 1234, + "scope": 1244, "src": "296:13:1", "stateVariable": false, "storageLocation": "default", @@ -697,7 +697,7 @@ "typeString": "address" }, "typeName": { - "id": 1224, + "id": 1234, "name": "address", "nodeType": "ElementaryTypeName", "src": "296:7:1", @@ -711,10 +711,10 @@ }, { "constant": false, - "id": 1227, + "id": 1237, "name": "_to", "nodeType": "VariableDeclaration", - "scope": 1234, + "scope": 1244, "src": "320:11:1", "stateVariable": false, "storageLocation": "default", @@ -723,7 +723,7 @@ "typeString": "address" }, "typeName": { - "id": 1226, + "id": 1236, "name": "address", "nodeType": "ElementaryTypeName", "src": "320:7:1", @@ -737,10 +737,10 @@ }, { "constant": false, - "id": 1229, + "id": 1239, "name": "_amount", "nodeType": "VariableDeclaration", - "scope": 1234, + "scope": 1244, "src": "342:15:1", "stateVariable": false, "storageLocation": "default", @@ -749,7 +749,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1228, + "id": 1238, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "342:7:1", @@ -766,15 +766,15 @@ }, "payable": false, "returnParameters": { - "id": 1233, + "id": 1243, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1232, + "id": 1242, "name": "success", "nodeType": "VariableDeclaration", - "scope": 1234, + "scope": 1244, "src": "400:12:1", "stateVariable": false, "storageLocation": "default", @@ -783,7 +783,7 @@ "typeString": "bool" }, "typeName": { - "id": 1231, + "id": 1241, "name": "bool", "nodeType": "ElementaryTypeName", "src": "400:4:1", @@ -798,14 +798,14 @@ ], "src": "399:14:1" }, - "scope": 1235, + "scope": 1245, "src": "265:149:1", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" } ], - "scope": 1236, + "scope": 1246, "src": "25:391:1" } ], @@ -817,5 +817,5 @@ }, "networks": {}, "schemaVersion": "2.0.1", - "updatedAt": "2018-11-19T13:33:32.633Z" + "updatedAt": "2018-11-19T13:36:26.787Z" } \ No newline at end of file diff --git a/build/contracts/SafeMath.json b/build/contracts/SafeMath.json index 699aea1..4da0d00 100644 --- a/build/contracts/SafeMath.json +++ b/build/contracts/SafeMath.json @@ -11,14 +11,14 @@ "absolutePath": "openzeppelin-solidity/contracts/math/SafeMath.sol", "exportedSymbols": { "SafeMath": [ - 1363 + 1373 ] }, - "id": 1364, + "id": 1374, "nodeType": "SourceUnit", "nodes": [ { - "id": 1237, + "id": 1247, "literals": [ "solidity", "^", @@ -34,16 +34,16 @@ "contractKind": "library", "documentation": "@title SafeMath\n@dev Math operations with safety checks that revert on error", "fullyImplemented": true, - "id": 1363, + "id": 1373, "linearizedBaseContracts": [ - 1363 + 1373 ], "name": "SafeMath", "nodeType": "ContractDefinition", "nodes": [ { "body": { - "id": 1269, + "id": 1279, "nodeType": "Block", "src": "271:314:2", "statements": [ @@ -54,18 +54,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1248, + "id": 1258, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1246, + "id": 1256, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1239, + "referencedDeclaration": 1249, "src": "486:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -77,7 +77,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 1247, + "id": 1257, "isConstant": false, "isLValue": false, "isPure": true, @@ -99,11 +99,11 @@ } }, "falseBody": null, - "id": 1252, + "id": 1262, "nodeType": "IfStatement", "src": "482:35:2", "trueBody": { - "id": 1251, + "id": 1261, "nodeType": "Block", "src": "494:23:2", "statements": [ @@ -111,7 +111,7 @@ "expression": { "argumentTypes": null, "hexValue": "30", - "id": 1249, + "id": 1259, "isConstant": false, "isLValue": false, "isPure": true, @@ -126,8 +126,8 @@ }, "value": "0" }, - "functionReturnParameters": 1245, - "id": 1250, + "functionReturnParameters": 1255, + "id": 1260, "nodeType": "Return", "src": "502:8:2" } @@ -136,15 +136,15 @@ }, { "assignments": [ - 1254 + 1264 ], "declarations": [ { "constant": false, - "id": 1254, + "id": 1264, "name": "c", "nodeType": "VariableDeclaration", - "scope": 1270, + "scope": 1280, "src": "523:9:2", "stateVariable": false, "storageLocation": "default", @@ -153,7 +153,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1253, + "id": 1263, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "523:7:2", @@ -166,25 +166,25 @@ "visibility": "internal" } ], - "id": 1258, + "id": 1268, "initialValue": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1257, + "id": 1267, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1255, + "id": 1265, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1239, + "referencedDeclaration": 1249, "src": "535:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -195,11 +195,11 @@ "operator": "*", "rightExpression": { "argumentTypes": null, - "id": 1256, + "id": 1266, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1241, + "referencedDeclaration": 1251, "src": "539:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -225,7 +225,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1264, + "id": 1274, "isConstant": false, "isLValue": false, "isPure": false, @@ -236,18 +236,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1262, + "id": 1272, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1260, + "id": 1270, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1254, + "referencedDeclaration": 1264, "src": "554:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -258,11 +258,11 @@ "operator": "/", "rightExpression": { "argumentTypes": null, - "id": 1261, + "id": 1271, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1239, + "referencedDeclaration": 1249, "src": "558:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -279,11 +279,11 @@ "operator": "==", "rightExpression": { "argumentTypes": null, - "id": 1263, + "id": 1273, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1241, + "referencedDeclaration": 1251, "src": "563:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -304,21 +304,21 @@ "typeString": "bool" } ], - "id": 1259, + "id": 1269, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1381, - 1382 + 1391, + 1392 ], - "referencedDeclaration": 1381, + "referencedDeclaration": 1391, "src": "546:7:2", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 1265, + "id": 1275, "isConstant": false, "isLValue": false, "isPure": false, @@ -332,33 +332,33 @@ "typeString": "tuple()" } }, - "id": 1266, + "id": 1276, "nodeType": "ExpressionStatement", "src": "546:19:2" }, { "expression": { "argumentTypes": null, - "id": 1267, + "id": 1277, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1254, + "referencedDeclaration": 1264, "src": "579:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 1245, - "id": 1268, + "functionReturnParameters": 1255, + "id": 1278, "nodeType": "Return", "src": "572:8:2" } ] }, "documentation": "@dev Multiplies two numbers, reverts on overflow.", - "id": 1270, + "id": 1280, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -366,15 +366,15 @@ "name": "mul", "nodeType": "FunctionDefinition", "parameters": { - "id": 1242, + "id": 1252, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1239, + "id": 1249, "name": "a", "nodeType": "VariableDeclaration", - "scope": 1270, + "scope": 1280, "src": "217:9:2", "stateVariable": false, "storageLocation": "default", @@ -383,7 +383,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1238, + "id": 1248, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "217:7:2", @@ -397,10 +397,10 @@ }, { "constant": false, - "id": 1241, + "id": 1251, "name": "b", "nodeType": "VariableDeclaration", - "scope": 1270, + "scope": 1280, "src": "228:9:2", "stateVariable": false, "storageLocation": "default", @@ -409,7 +409,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1240, + "id": 1250, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "228:7:2", @@ -426,15 +426,15 @@ }, "payable": false, "returnParameters": { - "id": 1245, + "id": 1255, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1244, + "id": 1254, "name": "", "nodeType": "VariableDeclaration", - "scope": 1270, + "scope": 1280, "src": "262:7:2", "stateVariable": false, "storageLocation": "default", @@ -443,7 +443,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1243, + "id": 1253, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "262:7:2", @@ -458,7 +458,7 @@ ], "src": "261:9:2" }, - "scope": 1363, + "scope": 1373, "src": "204:381:2", "stateMutability": "pure", "superFunction": null, @@ -466,7 +466,7 @@ }, { "body": { - "id": 1293, + "id": 1303, "nodeType": "Block", "src": "762:203:2", "statements": [ @@ -480,18 +480,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1282, + "id": 1292, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1280, + "id": 1290, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1274, + "referencedDeclaration": 1284, "src": "776:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -503,7 +503,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 1281, + "id": 1291, "isConstant": false, "isLValue": false, "isPure": true, @@ -532,21 +532,21 @@ "typeString": "bool" } ], - "id": 1279, + "id": 1289, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1381, - 1382 + 1391, + 1392 ], - "referencedDeclaration": 1381, + "referencedDeclaration": 1391, "src": "768:7:2", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 1283, + "id": 1293, "isConstant": false, "isLValue": false, "isPure": false, @@ -560,21 +560,21 @@ "typeString": "tuple()" } }, - "id": 1284, + "id": 1294, "nodeType": "ExpressionStatement", "src": "768:14:2" }, { "assignments": [ - 1286 + 1296 ], "declarations": [ { "constant": false, - "id": 1286, + "id": 1296, "name": "c", "nodeType": "VariableDeclaration", - "scope": 1294, + "scope": 1304, "src": "846:9:2", "stateVariable": false, "storageLocation": "default", @@ -583,7 +583,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1285, + "id": 1295, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "846:7:2", @@ -596,25 +596,25 @@ "visibility": "internal" } ], - "id": 1290, + "id": 1300, "initialValue": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1289, + "id": 1299, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1287, + "id": 1297, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1272, + "referencedDeclaration": 1282, "src": "858:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -625,11 +625,11 @@ "operator": "/", "rightExpression": { "argumentTypes": null, - "id": 1288, + "id": 1298, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1274, + "referencedDeclaration": 1284, "src": "862:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -648,26 +648,26 @@ { "expression": { "argumentTypes": null, - "id": 1291, + "id": 1301, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1286, + "referencedDeclaration": 1296, "src": "959:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 1278, - "id": 1292, + "functionReturnParameters": 1288, + "id": 1302, "nodeType": "Return", "src": "952:8:2" } ] }, "documentation": "@dev Integer division of two numbers truncating the quotient, reverts on division by zero.", - "id": 1294, + "id": 1304, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -675,15 +675,15 @@ "name": "div", "nodeType": "FunctionDefinition", "parameters": { - "id": 1275, + "id": 1285, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1272, + "id": 1282, "name": "a", "nodeType": "VariableDeclaration", - "scope": 1294, + "scope": 1304, "src": "708:9:2", "stateVariable": false, "storageLocation": "default", @@ -692,7 +692,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1271, + "id": 1281, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "708:7:2", @@ -706,10 +706,10 @@ }, { "constant": false, - "id": 1274, + "id": 1284, "name": "b", "nodeType": "VariableDeclaration", - "scope": 1294, + "scope": 1304, "src": "719:9:2", "stateVariable": false, "storageLocation": "default", @@ -718,7 +718,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1273, + "id": 1283, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "719:7:2", @@ -735,15 +735,15 @@ }, "payable": false, "returnParameters": { - "id": 1278, + "id": 1288, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1277, + "id": 1287, "name": "", "nodeType": "VariableDeclaration", - "scope": 1294, + "scope": 1304, "src": "753:7:2", "stateVariable": false, "storageLocation": "default", @@ -752,7 +752,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1276, + "id": 1286, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "753:7:2", @@ -767,7 +767,7 @@ ], "src": "752:9:2" }, - "scope": 1363, + "scope": 1373, "src": "695:270:2", "stateMutability": "pure", "superFunction": null, @@ -775,7 +775,7 @@ }, { "body": { - "id": 1317, + "id": 1327, "nodeType": "Block", "src": "1145:64:2", "statements": [ @@ -789,18 +789,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1306, + "id": 1316, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1304, + "id": 1314, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1298, + "referencedDeclaration": 1308, "src": "1159:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -811,11 +811,11 @@ "operator": "<=", "rightExpression": { "argumentTypes": null, - "id": 1305, + "id": 1315, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1296, + "referencedDeclaration": 1306, "src": "1164:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -836,21 +836,21 @@ "typeString": "bool" } ], - "id": 1303, + "id": 1313, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1381, - 1382 + 1391, + 1392 ], - "referencedDeclaration": 1381, + "referencedDeclaration": 1391, "src": "1151:7:2", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 1307, + "id": 1317, "isConstant": false, "isLValue": false, "isPure": false, @@ -864,21 +864,21 @@ "typeString": "tuple()" } }, - "id": 1308, + "id": 1318, "nodeType": "ExpressionStatement", "src": "1151:15:2" }, { "assignments": [ - 1310 + 1320 ], "declarations": [ { "constant": false, - "id": 1310, + "id": 1320, "name": "c", "nodeType": "VariableDeclaration", - "scope": 1318, + "scope": 1328, "src": "1172:9:2", "stateVariable": false, "storageLocation": "default", @@ -887,7 +887,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1309, + "id": 1319, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1172:7:2", @@ -900,25 +900,25 @@ "visibility": "internal" } ], - "id": 1314, + "id": 1324, "initialValue": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1313, + "id": 1323, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1311, + "id": 1321, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1296, + "referencedDeclaration": 1306, "src": "1184:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -929,11 +929,11 @@ "operator": "-", "rightExpression": { "argumentTypes": null, - "id": 1312, + "id": 1322, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1298, + "referencedDeclaration": 1308, "src": "1188:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -952,26 +952,26 @@ { "expression": { "argumentTypes": null, - "id": 1315, + "id": 1325, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1310, + "referencedDeclaration": 1320, "src": "1203:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 1302, - "id": 1316, + "functionReturnParameters": 1312, + "id": 1326, "nodeType": "Return", "src": "1196:8:2" } ] }, "documentation": "@dev Subtracts two numbers, reverts on overflow (i.e. if subtrahend is greater than minuend).", - "id": 1318, + "id": 1328, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -979,15 +979,15 @@ "name": "sub", "nodeType": "FunctionDefinition", "parameters": { - "id": 1299, + "id": 1309, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1296, + "id": 1306, "name": "a", "nodeType": "VariableDeclaration", - "scope": 1318, + "scope": 1328, "src": "1091:9:2", "stateVariable": false, "storageLocation": "default", @@ -996,7 +996,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1295, + "id": 1305, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1091:7:2", @@ -1010,10 +1010,10 @@ }, { "constant": false, - "id": 1298, + "id": 1308, "name": "b", "nodeType": "VariableDeclaration", - "scope": 1318, + "scope": 1328, "src": "1102:9:2", "stateVariable": false, "storageLocation": "default", @@ -1022,7 +1022,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1297, + "id": 1307, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1102:7:2", @@ -1039,15 +1039,15 @@ }, "payable": false, "returnParameters": { - "id": 1302, + "id": 1312, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1301, + "id": 1311, "name": "", "nodeType": "VariableDeclaration", - "scope": 1318, + "scope": 1328, "src": "1136:7:2", "stateVariable": false, "storageLocation": "default", @@ -1056,7 +1056,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1300, + "id": 1310, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1136:7:2", @@ -1071,7 +1071,7 @@ ], "src": "1135:9:2" }, - "scope": 1363, + "scope": 1373, "src": "1078:131:2", "stateMutability": "pure", "superFunction": null, @@ -1079,21 +1079,21 @@ }, { "body": { - "id": 1341, + "id": 1351, "nodeType": "Block", "src": "1339:64:2", "statements": [ { "assignments": [ - 1328 + 1338 ], "declarations": [ { "constant": false, - "id": 1328, + "id": 1338, "name": "c", "nodeType": "VariableDeclaration", - "scope": 1342, + "scope": 1352, "src": "1345:9:2", "stateVariable": false, "storageLocation": "default", @@ -1102,7 +1102,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1327, + "id": 1337, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1345:7:2", @@ -1115,25 +1115,25 @@ "visibility": "internal" } ], - "id": 1332, + "id": 1342, "initialValue": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1331, + "id": 1341, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1329, + "id": 1339, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1320, + "referencedDeclaration": 1330, "src": "1357:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1144,11 +1144,11 @@ "operator": "+", "rightExpression": { "argumentTypes": null, - "id": 1330, + "id": 1340, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1322, + "referencedDeclaration": 1332, "src": "1361:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1174,18 +1174,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1336, + "id": 1346, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1334, + "id": 1344, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1328, + "referencedDeclaration": 1338, "src": "1376:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1196,11 +1196,11 @@ "operator": ">=", "rightExpression": { "argumentTypes": null, - "id": 1335, + "id": 1345, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1320, + "referencedDeclaration": 1330, "src": "1381:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1221,21 +1221,21 @@ "typeString": "bool" } ], - "id": 1333, + "id": 1343, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1381, - 1382 + 1391, + 1392 ], - "referencedDeclaration": 1381, + "referencedDeclaration": 1391, "src": "1368:7:2", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 1337, + "id": 1347, "isConstant": false, "isLValue": false, "isPure": false, @@ -1249,33 +1249,33 @@ "typeString": "tuple()" } }, - "id": 1338, + "id": 1348, "nodeType": "ExpressionStatement", "src": "1368:15:2" }, { "expression": { "argumentTypes": null, - "id": 1339, + "id": 1349, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1328, + "referencedDeclaration": 1338, "src": "1397:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 1326, - "id": 1340, + "functionReturnParameters": 1336, + "id": 1350, "nodeType": "Return", "src": "1390:8:2" } ] }, "documentation": "@dev Adds two numbers, reverts on overflow.", - "id": 1342, + "id": 1352, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -1283,15 +1283,15 @@ "name": "add", "nodeType": "FunctionDefinition", "parameters": { - "id": 1323, + "id": 1333, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1320, + "id": 1330, "name": "a", "nodeType": "VariableDeclaration", - "scope": 1342, + "scope": 1352, "src": "1285:9:2", "stateVariable": false, "storageLocation": "default", @@ -1300,7 +1300,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1319, + "id": 1329, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1285:7:2", @@ -1314,10 +1314,10 @@ }, { "constant": false, - "id": 1322, + "id": 1332, "name": "b", "nodeType": "VariableDeclaration", - "scope": 1342, + "scope": 1352, "src": "1296:9:2", "stateVariable": false, "storageLocation": "default", @@ -1326,7 +1326,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1321, + "id": 1331, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1296:7:2", @@ -1343,15 +1343,15 @@ }, "payable": false, "returnParameters": { - "id": 1326, + "id": 1336, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1325, + "id": 1335, "name": "", "nodeType": "VariableDeclaration", - "scope": 1342, + "scope": 1352, "src": "1330:7:2", "stateVariable": false, "storageLocation": "default", @@ -1360,7 +1360,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1324, + "id": 1334, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1330:7:2", @@ -1375,7 +1375,7 @@ ], "src": "1329:9:2" }, - "scope": 1363, + "scope": 1373, "src": "1272:131:2", "stateMutability": "pure", "superFunction": null, @@ -1383,7 +1383,7 @@ }, { "body": { - "id": 1361, + "id": 1371, "nodeType": "Block", "src": "1602:44:2", "statements": [ @@ -1397,18 +1397,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1354, + "id": 1364, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1352, + "id": 1362, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1346, + "referencedDeclaration": 1356, "src": "1616:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1420,7 +1420,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 1353, + "id": 1363, "isConstant": false, "isLValue": false, "isPure": true, @@ -1449,21 +1449,21 @@ "typeString": "bool" } ], - "id": 1351, + "id": 1361, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1381, - 1382 + 1391, + 1392 ], - "referencedDeclaration": 1381, + "referencedDeclaration": 1391, "src": "1608:7:2", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 1355, + "id": 1365, "isConstant": false, "isLValue": false, "isPure": false, @@ -1477,7 +1477,7 @@ "typeString": "tuple()" } }, - "id": 1356, + "id": 1366, "nodeType": "ExpressionStatement", "src": "1608:15:2" }, @@ -1488,18 +1488,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1359, + "id": 1369, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1357, + "id": 1367, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1344, + "referencedDeclaration": 1354, "src": "1636:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1510,11 +1510,11 @@ "operator": "%", "rightExpression": { "argumentTypes": null, - "id": 1358, + "id": 1368, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1346, + "referencedDeclaration": 1356, "src": "1640:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1527,15 +1527,15 @@ "typeString": "uint256" } }, - "functionReturnParameters": 1350, - "id": 1360, + "functionReturnParameters": 1360, + "id": 1370, "nodeType": "Return", "src": "1629:12:2" } ] }, "documentation": "@dev Divides two numbers and returns the remainder (unsigned integer modulo),\nreverts when dividing by zero.", - "id": 1362, + "id": 1372, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -1543,15 +1543,15 @@ "name": "mod", "nodeType": "FunctionDefinition", "parameters": { - "id": 1347, + "id": 1357, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1344, + "id": 1354, "name": "a", "nodeType": "VariableDeclaration", - "scope": 1362, + "scope": 1372, "src": "1548:9:2", "stateVariable": false, "storageLocation": "default", @@ -1560,7 +1560,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1343, + "id": 1353, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1548:7:2", @@ -1574,10 +1574,10 @@ }, { "constant": false, - "id": 1346, + "id": 1356, "name": "b", "nodeType": "VariableDeclaration", - "scope": 1362, + "scope": 1372, "src": "1559:9:2", "stateVariable": false, "storageLocation": "default", @@ -1586,7 +1586,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1345, + "id": 1355, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1559:7:2", @@ -1603,15 +1603,15 @@ }, "payable": false, "returnParameters": { - "id": 1350, + "id": 1360, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1349, + "id": 1359, "name": "", "nodeType": "VariableDeclaration", - "scope": 1362, + "scope": 1372, "src": "1593:7:2", "stateVariable": false, "storageLocation": "default", @@ -1620,7 +1620,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1348, + "id": 1358, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1593:7:2", @@ -1635,14 +1635,14 @@ ], "src": "1592:9:2" }, - "scope": 1363, + "scope": 1373, "src": "1535:111:2", "stateMutability": "pure", "superFunction": null, "visibility": "internal" } ], - "scope": 1364, + "scope": 1374, "src": "117:1531:2" } ], @@ -1652,14 +1652,14 @@ "absolutePath": "openzeppelin-solidity/contracts/math/SafeMath.sol", "exportedSymbols": { "SafeMath": [ - 1363 + 1373 ] }, - "id": 1364, + "id": 1374, "nodeType": "SourceUnit", "nodes": [ { - "id": 1237, + "id": 1247, "literals": [ "solidity", "^", @@ -1675,16 +1675,16 @@ "contractKind": "library", "documentation": "@title SafeMath\n@dev Math operations with safety checks that revert on error", "fullyImplemented": true, - "id": 1363, + "id": 1373, "linearizedBaseContracts": [ - 1363 + 1373 ], "name": "SafeMath", "nodeType": "ContractDefinition", "nodes": [ { "body": { - "id": 1269, + "id": 1279, "nodeType": "Block", "src": "271:314:2", "statements": [ @@ -1695,18 +1695,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1248, + "id": 1258, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1246, + "id": 1256, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1239, + "referencedDeclaration": 1249, "src": "486:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1718,7 +1718,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 1247, + "id": 1257, "isConstant": false, "isLValue": false, "isPure": true, @@ -1740,11 +1740,11 @@ } }, "falseBody": null, - "id": 1252, + "id": 1262, "nodeType": "IfStatement", "src": "482:35:2", "trueBody": { - "id": 1251, + "id": 1261, "nodeType": "Block", "src": "494:23:2", "statements": [ @@ -1752,7 +1752,7 @@ "expression": { "argumentTypes": null, "hexValue": "30", - "id": 1249, + "id": 1259, "isConstant": false, "isLValue": false, "isPure": true, @@ -1767,8 +1767,8 @@ }, "value": "0" }, - "functionReturnParameters": 1245, - "id": 1250, + "functionReturnParameters": 1255, + "id": 1260, "nodeType": "Return", "src": "502:8:2" } @@ -1777,15 +1777,15 @@ }, { "assignments": [ - 1254 + 1264 ], "declarations": [ { "constant": false, - "id": 1254, + "id": 1264, "name": "c", "nodeType": "VariableDeclaration", - "scope": 1270, + "scope": 1280, "src": "523:9:2", "stateVariable": false, "storageLocation": "default", @@ -1794,7 +1794,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1253, + "id": 1263, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "523:7:2", @@ -1807,25 +1807,25 @@ "visibility": "internal" } ], - "id": 1258, + "id": 1268, "initialValue": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1257, + "id": 1267, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1255, + "id": 1265, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1239, + "referencedDeclaration": 1249, "src": "535:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1836,11 +1836,11 @@ "operator": "*", "rightExpression": { "argumentTypes": null, - "id": 1256, + "id": 1266, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1241, + "referencedDeclaration": 1251, "src": "539:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1866,7 +1866,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1264, + "id": 1274, "isConstant": false, "isLValue": false, "isPure": false, @@ -1877,18 +1877,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1262, + "id": 1272, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1260, + "id": 1270, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1254, + "referencedDeclaration": 1264, "src": "554:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1899,11 +1899,11 @@ "operator": "/", "rightExpression": { "argumentTypes": null, - "id": 1261, + "id": 1271, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1239, + "referencedDeclaration": 1249, "src": "558:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1920,11 +1920,11 @@ "operator": "==", "rightExpression": { "argumentTypes": null, - "id": 1263, + "id": 1273, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1241, + "referencedDeclaration": 1251, "src": "563:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1945,21 +1945,21 @@ "typeString": "bool" } ], - "id": 1259, + "id": 1269, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1381, - 1382 + 1391, + 1392 ], - "referencedDeclaration": 1381, + "referencedDeclaration": 1391, "src": "546:7:2", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 1265, + "id": 1275, "isConstant": false, "isLValue": false, "isPure": false, @@ -1973,33 +1973,33 @@ "typeString": "tuple()" } }, - "id": 1266, + "id": 1276, "nodeType": "ExpressionStatement", "src": "546:19:2" }, { "expression": { "argumentTypes": null, - "id": 1267, + "id": 1277, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1254, + "referencedDeclaration": 1264, "src": "579:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 1245, - "id": 1268, + "functionReturnParameters": 1255, + "id": 1278, "nodeType": "Return", "src": "572:8:2" } ] }, "documentation": "@dev Multiplies two numbers, reverts on overflow.", - "id": 1270, + "id": 1280, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -2007,15 +2007,15 @@ "name": "mul", "nodeType": "FunctionDefinition", "parameters": { - "id": 1242, + "id": 1252, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1239, + "id": 1249, "name": "a", "nodeType": "VariableDeclaration", - "scope": 1270, + "scope": 1280, "src": "217:9:2", "stateVariable": false, "storageLocation": "default", @@ -2024,7 +2024,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1238, + "id": 1248, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "217:7:2", @@ -2038,10 +2038,10 @@ }, { "constant": false, - "id": 1241, + "id": 1251, "name": "b", "nodeType": "VariableDeclaration", - "scope": 1270, + "scope": 1280, "src": "228:9:2", "stateVariable": false, "storageLocation": "default", @@ -2050,7 +2050,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1240, + "id": 1250, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "228:7:2", @@ -2067,15 +2067,15 @@ }, "payable": false, "returnParameters": { - "id": 1245, + "id": 1255, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1244, + "id": 1254, "name": "", "nodeType": "VariableDeclaration", - "scope": 1270, + "scope": 1280, "src": "262:7:2", "stateVariable": false, "storageLocation": "default", @@ -2084,7 +2084,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1243, + "id": 1253, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "262:7:2", @@ -2099,7 +2099,7 @@ ], "src": "261:9:2" }, - "scope": 1363, + "scope": 1373, "src": "204:381:2", "stateMutability": "pure", "superFunction": null, @@ -2107,7 +2107,7 @@ }, { "body": { - "id": 1293, + "id": 1303, "nodeType": "Block", "src": "762:203:2", "statements": [ @@ -2121,18 +2121,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1282, + "id": 1292, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1280, + "id": 1290, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1274, + "referencedDeclaration": 1284, "src": "776:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2144,7 +2144,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 1281, + "id": 1291, "isConstant": false, "isLValue": false, "isPure": true, @@ -2173,21 +2173,21 @@ "typeString": "bool" } ], - "id": 1279, + "id": 1289, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1381, - 1382 + 1391, + 1392 ], - "referencedDeclaration": 1381, + "referencedDeclaration": 1391, "src": "768:7:2", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 1283, + "id": 1293, "isConstant": false, "isLValue": false, "isPure": false, @@ -2201,21 +2201,21 @@ "typeString": "tuple()" } }, - "id": 1284, + "id": 1294, "nodeType": "ExpressionStatement", "src": "768:14:2" }, { "assignments": [ - 1286 + 1296 ], "declarations": [ { "constant": false, - "id": 1286, + "id": 1296, "name": "c", "nodeType": "VariableDeclaration", - "scope": 1294, + "scope": 1304, "src": "846:9:2", "stateVariable": false, "storageLocation": "default", @@ -2224,7 +2224,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1285, + "id": 1295, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "846:7:2", @@ -2237,25 +2237,25 @@ "visibility": "internal" } ], - "id": 1290, + "id": 1300, "initialValue": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1289, + "id": 1299, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1287, + "id": 1297, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1272, + "referencedDeclaration": 1282, "src": "858:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2266,11 +2266,11 @@ "operator": "/", "rightExpression": { "argumentTypes": null, - "id": 1288, + "id": 1298, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1274, + "referencedDeclaration": 1284, "src": "862:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2289,26 +2289,26 @@ { "expression": { "argumentTypes": null, - "id": 1291, + "id": 1301, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1286, + "referencedDeclaration": 1296, "src": "959:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 1278, - "id": 1292, + "functionReturnParameters": 1288, + "id": 1302, "nodeType": "Return", "src": "952:8:2" } ] }, "documentation": "@dev Integer division of two numbers truncating the quotient, reverts on division by zero.", - "id": 1294, + "id": 1304, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -2316,15 +2316,15 @@ "name": "div", "nodeType": "FunctionDefinition", "parameters": { - "id": 1275, + "id": 1285, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1272, + "id": 1282, "name": "a", "nodeType": "VariableDeclaration", - "scope": 1294, + "scope": 1304, "src": "708:9:2", "stateVariable": false, "storageLocation": "default", @@ -2333,7 +2333,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1271, + "id": 1281, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "708:7:2", @@ -2347,10 +2347,10 @@ }, { "constant": false, - "id": 1274, + "id": 1284, "name": "b", "nodeType": "VariableDeclaration", - "scope": 1294, + "scope": 1304, "src": "719:9:2", "stateVariable": false, "storageLocation": "default", @@ -2359,7 +2359,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1273, + "id": 1283, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "719:7:2", @@ -2376,15 +2376,15 @@ }, "payable": false, "returnParameters": { - "id": 1278, + "id": 1288, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1277, + "id": 1287, "name": "", "nodeType": "VariableDeclaration", - "scope": 1294, + "scope": 1304, "src": "753:7:2", "stateVariable": false, "storageLocation": "default", @@ -2393,7 +2393,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1276, + "id": 1286, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "753:7:2", @@ -2408,7 +2408,7 @@ ], "src": "752:9:2" }, - "scope": 1363, + "scope": 1373, "src": "695:270:2", "stateMutability": "pure", "superFunction": null, @@ -2416,7 +2416,7 @@ }, { "body": { - "id": 1317, + "id": 1327, "nodeType": "Block", "src": "1145:64:2", "statements": [ @@ -2430,18 +2430,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1306, + "id": 1316, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1304, + "id": 1314, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1298, + "referencedDeclaration": 1308, "src": "1159:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2452,11 +2452,11 @@ "operator": "<=", "rightExpression": { "argumentTypes": null, - "id": 1305, + "id": 1315, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1296, + "referencedDeclaration": 1306, "src": "1164:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2477,21 +2477,21 @@ "typeString": "bool" } ], - "id": 1303, + "id": 1313, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1381, - 1382 + 1391, + 1392 ], - "referencedDeclaration": 1381, + "referencedDeclaration": 1391, "src": "1151:7:2", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 1307, + "id": 1317, "isConstant": false, "isLValue": false, "isPure": false, @@ -2505,21 +2505,21 @@ "typeString": "tuple()" } }, - "id": 1308, + "id": 1318, "nodeType": "ExpressionStatement", "src": "1151:15:2" }, { "assignments": [ - 1310 + 1320 ], "declarations": [ { "constant": false, - "id": 1310, + "id": 1320, "name": "c", "nodeType": "VariableDeclaration", - "scope": 1318, + "scope": 1328, "src": "1172:9:2", "stateVariable": false, "storageLocation": "default", @@ -2528,7 +2528,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1309, + "id": 1319, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1172:7:2", @@ -2541,25 +2541,25 @@ "visibility": "internal" } ], - "id": 1314, + "id": 1324, "initialValue": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1313, + "id": 1323, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1311, + "id": 1321, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1296, + "referencedDeclaration": 1306, "src": "1184:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2570,11 +2570,11 @@ "operator": "-", "rightExpression": { "argumentTypes": null, - "id": 1312, + "id": 1322, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1298, + "referencedDeclaration": 1308, "src": "1188:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2593,26 +2593,26 @@ { "expression": { "argumentTypes": null, - "id": 1315, + "id": 1325, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1310, + "referencedDeclaration": 1320, "src": "1203:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 1302, - "id": 1316, + "functionReturnParameters": 1312, + "id": 1326, "nodeType": "Return", "src": "1196:8:2" } ] }, "documentation": "@dev Subtracts two numbers, reverts on overflow (i.e. if subtrahend is greater than minuend).", - "id": 1318, + "id": 1328, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -2620,15 +2620,15 @@ "name": "sub", "nodeType": "FunctionDefinition", "parameters": { - "id": 1299, + "id": 1309, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1296, + "id": 1306, "name": "a", "nodeType": "VariableDeclaration", - "scope": 1318, + "scope": 1328, "src": "1091:9:2", "stateVariable": false, "storageLocation": "default", @@ -2637,7 +2637,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1295, + "id": 1305, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1091:7:2", @@ -2651,10 +2651,10 @@ }, { "constant": false, - "id": 1298, + "id": 1308, "name": "b", "nodeType": "VariableDeclaration", - "scope": 1318, + "scope": 1328, "src": "1102:9:2", "stateVariable": false, "storageLocation": "default", @@ -2663,7 +2663,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1297, + "id": 1307, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1102:7:2", @@ -2680,15 +2680,15 @@ }, "payable": false, "returnParameters": { - "id": 1302, + "id": 1312, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1301, + "id": 1311, "name": "", "nodeType": "VariableDeclaration", - "scope": 1318, + "scope": 1328, "src": "1136:7:2", "stateVariable": false, "storageLocation": "default", @@ -2697,7 +2697,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1300, + "id": 1310, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1136:7:2", @@ -2712,7 +2712,7 @@ ], "src": "1135:9:2" }, - "scope": 1363, + "scope": 1373, "src": "1078:131:2", "stateMutability": "pure", "superFunction": null, @@ -2720,21 +2720,21 @@ }, { "body": { - "id": 1341, + "id": 1351, "nodeType": "Block", "src": "1339:64:2", "statements": [ { "assignments": [ - 1328 + 1338 ], "declarations": [ { "constant": false, - "id": 1328, + "id": 1338, "name": "c", "nodeType": "VariableDeclaration", - "scope": 1342, + "scope": 1352, "src": "1345:9:2", "stateVariable": false, "storageLocation": "default", @@ -2743,7 +2743,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1327, + "id": 1337, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1345:7:2", @@ -2756,25 +2756,25 @@ "visibility": "internal" } ], - "id": 1332, + "id": 1342, "initialValue": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1331, + "id": 1341, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1329, + "id": 1339, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1320, + "referencedDeclaration": 1330, "src": "1357:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2785,11 +2785,11 @@ "operator": "+", "rightExpression": { "argumentTypes": null, - "id": 1330, + "id": 1340, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1322, + "referencedDeclaration": 1332, "src": "1361:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2815,18 +2815,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1336, + "id": 1346, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1334, + "id": 1344, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1328, + "referencedDeclaration": 1338, "src": "1376:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2837,11 +2837,11 @@ "operator": ">=", "rightExpression": { "argumentTypes": null, - "id": 1335, + "id": 1345, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1320, + "referencedDeclaration": 1330, "src": "1381:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2862,21 +2862,21 @@ "typeString": "bool" } ], - "id": 1333, + "id": 1343, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1381, - 1382 + 1391, + 1392 ], - "referencedDeclaration": 1381, + "referencedDeclaration": 1391, "src": "1368:7:2", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 1337, + "id": 1347, "isConstant": false, "isLValue": false, "isPure": false, @@ -2890,33 +2890,33 @@ "typeString": "tuple()" } }, - "id": 1338, + "id": 1348, "nodeType": "ExpressionStatement", "src": "1368:15:2" }, { "expression": { "argumentTypes": null, - "id": 1339, + "id": 1349, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1328, + "referencedDeclaration": 1338, "src": "1397:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 1326, - "id": 1340, + "functionReturnParameters": 1336, + "id": 1350, "nodeType": "Return", "src": "1390:8:2" } ] }, "documentation": "@dev Adds two numbers, reverts on overflow.", - "id": 1342, + "id": 1352, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -2924,15 +2924,15 @@ "name": "add", "nodeType": "FunctionDefinition", "parameters": { - "id": 1323, + "id": 1333, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1320, + "id": 1330, "name": "a", "nodeType": "VariableDeclaration", - "scope": 1342, + "scope": 1352, "src": "1285:9:2", "stateVariable": false, "storageLocation": "default", @@ -2941,7 +2941,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1319, + "id": 1329, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1285:7:2", @@ -2955,10 +2955,10 @@ }, { "constant": false, - "id": 1322, + "id": 1332, "name": "b", "nodeType": "VariableDeclaration", - "scope": 1342, + "scope": 1352, "src": "1296:9:2", "stateVariable": false, "storageLocation": "default", @@ -2967,7 +2967,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1321, + "id": 1331, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1296:7:2", @@ -2984,15 +2984,15 @@ }, "payable": false, "returnParameters": { - "id": 1326, + "id": 1336, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1325, + "id": 1335, "name": "", "nodeType": "VariableDeclaration", - "scope": 1342, + "scope": 1352, "src": "1330:7:2", "stateVariable": false, "storageLocation": "default", @@ -3001,7 +3001,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1324, + "id": 1334, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1330:7:2", @@ -3016,7 +3016,7 @@ ], "src": "1329:9:2" }, - "scope": 1363, + "scope": 1373, "src": "1272:131:2", "stateMutability": "pure", "superFunction": null, @@ -3024,7 +3024,7 @@ }, { "body": { - "id": 1361, + "id": 1371, "nodeType": "Block", "src": "1602:44:2", "statements": [ @@ -3038,18 +3038,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1354, + "id": 1364, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1352, + "id": 1362, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1346, + "referencedDeclaration": 1356, "src": "1616:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -3061,7 +3061,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 1353, + "id": 1363, "isConstant": false, "isLValue": false, "isPure": true, @@ -3090,21 +3090,21 @@ "typeString": "bool" } ], - "id": 1351, + "id": 1361, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1381, - 1382 + 1391, + 1392 ], - "referencedDeclaration": 1381, + "referencedDeclaration": 1391, "src": "1608:7:2", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 1355, + "id": 1365, "isConstant": false, "isLValue": false, "isPure": false, @@ -3118,7 +3118,7 @@ "typeString": "tuple()" } }, - "id": 1356, + "id": 1366, "nodeType": "ExpressionStatement", "src": "1608:15:2" }, @@ -3129,18 +3129,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1359, + "id": 1369, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1357, + "id": 1367, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1344, + "referencedDeclaration": 1354, "src": "1636:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -3151,11 +3151,11 @@ "operator": "%", "rightExpression": { "argumentTypes": null, - "id": 1358, + "id": 1368, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1346, + "referencedDeclaration": 1356, "src": "1640:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -3168,15 +3168,15 @@ "typeString": "uint256" } }, - "functionReturnParameters": 1350, - "id": 1360, + "functionReturnParameters": 1360, + "id": 1370, "nodeType": "Return", "src": "1629:12:2" } ] }, "documentation": "@dev Divides two numbers and returns the remainder (unsigned integer modulo),\nreverts when dividing by zero.", - "id": 1362, + "id": 1372, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -3184,15 +3184,15 @@ "name": "mod", "nodeType": "FunctionDefinition", "parameters": { - "id": 1347, + "id": 1357, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1344, + "id": 1354, "name": "a", "nodeType": "VariableDeclaration", - "scope": 1362, + "scope": 1372, "src": "1548:9:2", "stateVariable": false, "storageLocation": "default", @@ -3201,7 +3201,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1343, + "id": 1353, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1548:7:2", @@ -3215,10 +3215,10 @@ }, { "constant": false, - "id": 1346, + "id": 1356, "name": "b", "nodeType": "VariableDeclaration", - "scope": 1362, + "scope": 1372, "src": "1559:9:2", "stateVariable": false, "storageLocation": "default", @@ -3227,7 +3227,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1345, + "id": 1355, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1559:7:2", @@ -3244,15 +3244,15 @@ }, "payable": false, "returnParameters": { - "id": 1350, + "id": 1360, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1349, + "id": 1359, "name": "", "nodeType": "VariableDeclaration", - "scope": 1362, + "scope": 1372, "src": "1593:7:2", "stateVariable": false, "storageLocation": "default", @@ -3261,7 +3261,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1348, + "id": 1358, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1593:7:2", @@ -3276,14 +3276,14 @@ ], "src": "1592:9:2" }, - "scope": 1363, + "scope": 1373, "src": "1535:111:2", "stateMutability": "pure", "superFunction": null, "visibility": "internal" } ], - "scope": 1364, + "scope": 1374, "src": "117:1531:2" } ], @@ -3295,5 +3295,5 @@ }, "networks": {}, "schemaVersion": "2.0.1", - "updatedAt": "2018-11-19T13:33:32.635Z" + "updatedAt": "2018-11-19T13:36:26.788Z" } \ No newline at end of file diff --git a/contracts/escrow/Escrow_v1_0.sol b/contracts/escrow/Escrow_v1_0.sol index af783c2..9b8036e 100644 --- a/contracts/escrow/Escrow_v1_0.sol +++ b/contracts/escrow/Escrow_v1_0.sol @@ -333,11 +333,16 @@ contract Escrow_v1_0 { external transactionExist(scriptHash) inFundedState(scriptHash) - { + { require( - destinations.length>0 && destinations.length == amounts.length, "Length of destinations is incorrect." + destinations.length>0, + "Number of destinations must be greater than 0" ); - + require( + destinations.length == amounts.length, + "Number of destinations must match number of values sent" + ); + _verifyTransaction( sigV, sigR, @@ -466,7 +471,10 @@ contract Escrow_v1_0 { if (t.transactionType == TransactionType.ETHER) { for (uint256 i = 0; i < destinations.length; i++) { - require(destinations[i] != address(0) && t.isOwner[destinations[i]], "Not a valid destination"); + require(destinations[i] != address(0), "zero address is not allowed as destination address"); + + require(t.isOwner[destinations[i]], "Destination address is not one of the owners"); + require(amounts[i] > 0, "Amount to be sent should be greater than 0"); valueTransferred = valueTransferred.add(amounts[i]); @@ -481,7 +489,10 @@ contract Escrow_v1_0 { for (uint256 j = 0; j 0, "Amount to be sent should be greater than 0"); valueTransferred = valueTransferred.add(amounts[j]); From 253e970f282d1fdecb9101ea52733be5bbd55a45 Mon Sep 17 00:00:00 2001 From: Sameep Singhania Date: Mon, 19 Nov 2018 19:16:21 +0530 Subject: [PATCH 14/19] Parameter ordering in docstring changed to match function definition and docstring of calculateRedeemScriptHash method is updated to state how script hash is calculated --- build/contracts/Escrow_v1_0.json | 9026 ++++++++++++++------------- build/contracts/ITokenContract.json | 182 +- build/contracts/SafeMath.json | 818 +-- contracts/escrow/Escrow_v1_0.sol | 52 +- 4 files changed, 5180 insertions(+), 4898 deletions(-) diff --git a/build/contracts/Escrow_v1_0.json b/build/contracts/Escrow_v1_0.json index 0b0f915..5403115 100644 --- a/build/contracts/Escrow_v1_0.json +++ b/build/contracts/Escrow_v1_0.json @@ -395,20 +395,20 @@ "type": "function" } ], - "bytecode": "0x6080604052600060015534801561001557600080fd5b5061412a806100256000396000f3006080604052600436106100af576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806323b6fd3f146100b45780632d9ef96e1461016e57806346fbcdeb1461019257806357bced7614610287578063642f2eaf14610378578063b0550c66146104da578063b719e28014610543578063b77bf6001461057e578063be84ceaf146105a9578063e4ec8b0014610641578063f0786562146106ea575b600080fd5b61016c600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff169060200190929190803563ffffffff169060200190929190803560001916906020019092919080356bffffffffffffffffffffffff19169060200190929190505050610753565b005b61019060048036038101908080356000191690602001909291905050506109a7565b005b34801561019e57600080fd5b5061026960048036038101908080356bffffffffffffffffffffffff19169060200190929190803560ff169060200190929190803563ffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610e24565b60405180826000191660001916815260200191505060405180910390f35b34801561029357600080fd5b50610376600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff169060200190929190803563ffffffff16906020019092919080356000191690602001909291908035906020019092919080356bffffffffffffffffffffffff19169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506112d0565b005b34801561038457600080fd5b506103a760048036038101908080356000191690602001909291905050506117a5565b604051808b81526020018a81526020018960018111156103c357fe5b60ff1681526020018860018111156103d757fe5b60ff1681526020018760ff1660ff1681526020018663ffffffff1663ffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019a505050505050505050505060405180910390f35b3480156104e657600080fd5b506105296004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506118b0565b604051808215151515815260200191505060405180910390f35b34801561054f57600080fd5b5061057c600480360381019080803560001916906020019092919080359060200190929190505050611922565b005b34801561058a57600080fd5b50610593611ff2565b6040518082815260200191505060405180910390f35b3480156105b557600080fd5b506105ea600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611ff8565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b8381101561062d578082015181840152602081019050610612565b505050509050019250505060405180910390f35b34801561064d57600080fd5b506106e86004803603810190808035906020019082018035906020019190919293919293908035906020019082018035906020019190919293919293908035906020019082018035906020019190919293919293908035600019169060200190929190803590602001908201803590602001919091929391929390803590602001908201803590602001919091929391929390505050612093565b005b3480156106f657600080fd5b506107396004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506125ea565b604051808215151515815260200191505060405180910390f35b8160008060008360001916600019168152602001908152602001600020600001541415156107e9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f5472616e73616374696f6e20657869737400000000000000000000000000000081525060200191505060405180910390fd5b87600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561088f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b87600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610935576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b6109488a8a8a8a8a8a348b60008061265c565b3373ffffffffffffffffffffffffffffffffffffffff1685600019167fce7089d0668849fb9ca29778c0cbf1e764d9efb048d81fd71fb34c94f26db368346040518082815260200191505060405180910390a350505050505050505050565b80600080600083600019166000191681526020019081526020016000206000015414151515610a3e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737400000000000081525060200191505060405180910390fd5b8160006001811115610a4c57fe5b600080836000191660001916815260200190815260200160002060020160009054906101000a900460ff166001811115610a8257fe5b141515610b1d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001807f5472616e73616374696f6e206973206e6f7420696e2046554e4445442073746181526020017f746500000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b826000806001811115610b2c57fe5b600080846000191660001916815260200190815260200160002060020160019054906101000a900460ff166001811115610b6257fe5b141515610bd7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5472616e73616374696f6e207479706520646f6573206e6f74206d617463680081525060200191505060405180910390fd5b84600080826000191660001916815260200190815260200160002060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610cde576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f54686520696e69746961746f72206f6620746865207472616e73616374696f6e81526020017f206973206e6f742062757965720000000000000000000000000000000000000081525060400191505060405180910390fd5b600034111515610d56576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f56616c7565206d7573742062652067726561746572207468616e207a65726f2e81525060200191505060405180910390fd5b610d8634600080896000191660001916815260200190815260200160002060000154612fe890919063ffffffff16565b600080886000191660001916815260200190815260200160002060000181905550426000808860001916600019168152602001908152602001600020600101819055503373ffffffffffffffffffffffffffffffffffffffff1686600019167ff66fd2ae9e24a6a24b02e1b5b7512ffde5149a4176085fc0298ae228c9b9d729346040518082815260200191505060405180910390a3505050505050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611070578787878787873060405160200180886bffffffffffffffffffffffff19166bffffffffffffffffffffffff191681526014018760ff1660ff167f01000000000000000000000000000000000000000000000000000000000000000281526001018663ffffffff1663ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014019750505050505050506040516020818303038152906040526040518082805190602001908083835b60208310151561103c5780518252602082019150602081019050602083039250611017565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902090506112c5565b878787878787308860405160200180896bffffffffffffffffffffffff19166bffffffffffffffffffffffff191681526014018860ff1660ff167f01000000000000000000000000000000000000000000000000000000000000000281526001018763ffffffff1663ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401985050505050505050506040516020818303038152906040526040518082805190602001908083835b6020831015156112955780518252602082019150602081019050602083039250611270565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902090505b979650505050505050565b6000846000806000836000191660001916815260200190815260200160002060000154141515611368576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f5472616e73616374696f6e20657869737400000000000000000000000000000081525060200191505060405180910390fd5b8a600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561140e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b8a600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156114b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b84600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561155a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b61156d8e8e8e8e8e8e8e8e60018f61265c565b8594508473ffffffffffffffffffffffffffffffffffffffff166323b872dd33308b6040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b15801561164757600080fd5b505af115801561165b573d6000803e3d6000fd5b505050506040513d602081101561167157600080fd5b81019080805190602001909291905050501515611742576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252605d8152602001807f546f6b656e207472616e73666572206661696c65642c206d6179626520796f7581526020017f20646964206e6f7420617070726f766520657363726f7720636f6e747261637481526020017f20746f207370656e64206f6e20626568616c66206f662073656e64657200000081525060600191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff1689600019167fce7089d0668849fb9ca29778c0cbf1e764d9efb048d81fd71fb34c94f26db3688a6040518082815260200191505060405180910390a35050505050505050505050505050565b60006020528060005260406000206000915090508060000154908060010154908060020160009054906101000a900460ff16908060020160019054906101000a900460ff16908060020160029054906101000a900460ff16908060020160039054906101000a900463ffffffff16908060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060050160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508a565b6000806000846000191660001916815260200190815260200160002060080160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6000826000806000836000191660001916815260200190815260200160002060000154141515156119bb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737400000000000081525060200191505060405180910390fd5b83600060018111156119c957fe5b600080836000191660001916815260200190815260200160002060020160009054906101000a900460ff1660018111156119ff57fe5b141515611a9a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001807f5472616e73616374696f6e206973206e6f7420696e2046554e4445442073746181526020017f746500000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b846001806001811115611aa957fe5b600080846000191660001916815260200190815260200160002060020160019054906101000a900460ff166001811115611adf57fe5b141515611b54576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5472616e73616374696f6e207479706520646f6573206e6f74206d617463680081525060200191505060405180910390fd5b86600080826000191660001916815260200190815260200160002060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611c5b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f54686520696e69746961746f72206f6620746865207472616e73616374696f6e81526020017f206973206e6f742062757965720000000000000000000000000000000000000081525060400191505060405180910390fd5b600087111515611cd3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f56616c7565206d7573742062652067726561746572207468616e207a65726f2e81525060200191505060405180910390fd5b600080896000191660001916815260200190815260200160002060040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1695508573ffffffffffffffffffffffffffffffffffffffff166323b872dd6000808b6000191660001916815260200190815260200160002060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff16308a6040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b158015611e2757600080fd5b505af1158015611e3b573d6000803e3d6000fd5b505050506040513d6020811015611e5157600080fd5b81019080805190602001909291905050501515611f22576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252605c8152602001807f546f6b656e207472616e73666572206661696c65642c206d6179626520796f7581526020017f20646964206e6f7420617070726f766520657363726f7720636f6e747261637481526020017f20746f207370656e64206f6e20626568616c66206f662062757965720000000081525060600191505060405180910390fd5b611f52876000808b6000191660001916815260200190815260200160002060000154612fe890919063ffffffff16565b6000808a6000191660001916815260200190815260200160002060000181905550426000808a60001916600019168152602001908152602001600020600101819055503373ffffffffffffffffffffffffffffffffffffffff1688600019167ff66fd2ae9e24a6a24b02e1b5b7512ffde5149a4176085fc0298ae228c9b9d729896040518082815260200191505060405180910390a35050505050505050565b60015481565b6060600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080548060200260200160405190810160405280929190818152602001828054801561208757602002820191906000526020600020905b8154600019168152602001906001019080831161206f575b50505050509050919050565b8460008060008360001916600019168152602001908152602001600020600001541415151561212a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737400000000000081525060200191505060405180910390fd5b856000600181111561213857fe5b600080836000191660001916815260200190815260200160002060020160009054906101000a900460ff16600181111561216e57fe5b141515612209576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001807f5472616e73616374696f6e206973206e6f7420696e2046554e4445442073746181526020017f746500000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b60008686905011801561222157508383905086869050145b15156122bb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001807f4c656e677468206f662064657374696e6174696f6e7320697320696e636f727281526020017f6563742e0000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b6123b48d8d808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508c8c808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508b8b808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508a8a8a80806020026020016040519081016040528093929190818152602001838360200280828437820191505050505050898980806020026020016040519081016040528093929190818152602001838360200280828437820191505050505050613009565b6001600080896000191660001916815260200190815260200160002060020160006101000a81548160ff021916908360018111156123ee57fe5b02179055504260008089600019166000191681526020019081526020016000206001018190555060008088600019166000191681526020019081526020016000206000015461249c888888808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508787808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050506131ea565b14151561255d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260488152602001807f546f74616c2076616c756520746f2062652072656c6561736564206d7573742081526020017f626520657175616c20746f20746865207472616e73616374696f6e206573637281526020017f6f772076616c756500000000000000000000000000000000000000000000000081525060600191505060405180910390fd5b86600019167f688e2a1b34445bcd47b0e11ba2a9c8c4d850a1831b64199b59d1c70e29701545878787876040518080602001806020018381038352878782818152602001925060200280828437820191505083810382528585828181526020019250602002808284378201915050965050505050505060405180910390a250505050505050505050505050565b6000806000846000191660001916815260200190815260200160002060070160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b8873ffffffffffffffffffffffffffffffffffffffff168a73ffffffffffffffffffffffffffffffffffffffff1614151515612700576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f427579657220616e642073656c6c6572206172652073616d650000000000000081525060200191505060405180910390fd5b600084111515612778576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f56616c756520706173736564206973203000000000000000000000000000000081525060200191505060405180910390fd5b60008760ff1611801561278f575060038760ff1611155b1515612829576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603d8152602001807f5468726573686f6c642063616e6e6f742062652067726561746572207468616e81526020017f203320616e64206d7573742062652067726561746572207468616e203000000081525060400191505060405180910390fd5b60018760ff1614806128685750600073ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff1614155b1515612928576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260488152602001807f456974686572207468726573686f6c642073686f756c642062652031206f722081526020017f76616c6964206d6f64657261746f7220616464726573732073686f756c64206281526020017f652070617373656400000000000000000000000000000000000000000000000081525060600191505060405180910390fd5b6129378388888d8d8d87610e24565b6000191685600019161415156129db576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260398152602001807f43616c63756c6174656420736372697074206861736820646f6573206e6f742081526020017f6d61746368207061737365642073637269707420686173682e0000000000000081525060400191505060405180910390fd5b6101406040519081016040528085815260200142815260200160006001811115612a0157fe5b8152602001836001811115612a1257fe5b81526020018860ff1681526020018763ffffffff1681526020018b73ffffffffffffffffffffffffffffffffffffffff1681526020018a73ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020018973ffffffffffffffffffffffffffffffffffffffff168152506000808760001916600019168152602001908152602001600020600082015181600001556020820151816001015560408201518160020160006101000a81548160ff02191690836001811115612aec57fe5b021790555060608201518160020160016101000a81548160ff02191690836001811115612b1557fe5b021790555060808201518160020160026101000a81548160ff021916908360ff16021790555060a08201518160020160036101000a81548163ffffffff021916908363ffffffff16021790555060c08201518160020160076101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060e08201518160030160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506101008201518160040160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506101208201518160050160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055509050506001600080876000191660001916815260200190815260200160002060060160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600080876000191660001916815260200190815260200160002060060160008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600080866000191660001916815260200190815260200160002060060160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151515612e6c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f456974686572206275796572206f722073656c6c65722069732070617373656481526020017f206173206d6f64657261746f720000000000000000000000000000000000000081525060400191505060405180910390fd5b60018760ff161115612eec576001600080876000191660001916815260200190815260200160002060060160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b600160008154809291906001019190505550600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020859080600181540180825580915050906001820390600052602060002001600090919290919091509060001916905550600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002085908060018154018082558091505090600182039060005260206000200160009091929091909150906000191690555050505050505050505050565b6000808284019050838110151515612fff57600080fd5b8091505092915050565b60008061301a8888888888886139d2565b9150613070600080876000191660001916815260200190815260200160002060020160039054906101000a900463ffffffff1660008088600019166000191681526020019081526020016000206001015461404b565b9050600080866000191660001916815260200190815260200160002060020160029054906101000a900460ff1660ff16885110801561312157508015806131205750600080866000191660001916815260200190815260200160002060030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b5b156131e0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260588152602001807f4d696e696d756d206e756d626572206f66207369676e6174757265732061726581526020017f206e6f7420636f6c6c656374656420616e642074696d65206c6f636b2065787081526020017f69727920636f6e646974696f6e73206e6f74206d65742121000000000000000081525060600191505060405180910390fd5b5050505050505050565b6000806000806000806000808a600019166000191681526020019081526020016000209450600093506000600181111561322057fe5b8560020160019054906101000a900460ff16600181111561323d57fe5b141561355457600092505b875183101561354f57600073ffffffffffffffffffffffffffffffffffffffff16888481518110151561327757fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1614158015613307575084600601600089858151811015156132b457fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b151561337b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f4e6f7420612076616c69642064657374696e6174696f6e00000000000000000081525060200191505060405180910390fd5b6000878481518110151561338b57fe5b90602001906020020151111515613430576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001807f416d6f756e7420746f2062652073656e742073686f756c64206265206772656181526020017f746572207468616e20300000000000000000000000000000000000000000000081525060400191505060405180910390fd5b61345a878481518110151561344157fe5b9060200190602002015185612fe890919063ffffffff16565b935060018560080160008a8681518110151561347257fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555087838151811015156134db57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff166108fc888581518110151561350c57fe5b906020019060200201519081150290604051600060405180830381858888f19350505050158015613541573d6000803e3d6000fd5b508280600101935050613248565b6139c3565b60018081111561356057fe5b8560020160019054906101000a900460ff16600181111561357d57fe5b14156139c2578460040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169150600090505b87518110156139c157600073ffffffffffffffffffffffffffffffffffffffff1688828151811015156135de57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff161415801561366e5750846006016000898381518110151561361b57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15156136e2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f4e6f7420612076616c69642064657374696e6174696f6e00000000000000000081525060200191505060405180910390fd5b600087828151811015156136f257fe5b90602001906020020151111515613797576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001807f416d6f756e7420746f2062652073656e742073686f756c64206265206772656181526020017f746572207468616e20300000000000000000000000000000000000000000000081525060400191505060405180910390fd5b6137c187828151811015156137a857fe5b9060200190602002015185612fe890919063ffffffff16565b935060018560080160008a848151811015156137d957fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb898381518110151561385e57fe5b90602001906020020151898481518110151561387657fe5b906020019060200201516040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15801561390557600080fd5b505af1158015613919573d6000803e3d6000fd5b505050506040513d602081101561392f57600080fd5b810190808051906020019092919050505015156139b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f546f6b656e207472616e73666572206661696c65642e0000000000000000000081525060200191505060405180910390fd5b80806001019150506135af565b5b5b83955050505050509392505050565b600080600080600088518a511480156139ec57508a518a51145b1515613a60576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f522c532c56206c656e677468206d69736d617463682e0000000000000000000081525060200191505060405180910390fd5b60197f01000000000000000000000000000000000000000000000000000000000000000260007f0100000000000000000000000000000000000000000000000000000000000000023089898c60405160200180877effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168152600101867effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526001018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401848051906020019060200280838360005b83811015613bb4578082015181840152602081019050613b99565b50505050905001838051906020019060200280838360005b83811015613be7578082015181840152602081019050613bcc565b50505050905001826000191660001916815260200196505050505050506040516020818303038152906040526040518082805190602001908083835b602083101515613c485780518252602082019150602081019050602083039250613c23565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902060405160200180807f19457468657265756d205369676e6564204d6573736167653a0a333200000000815250601c0182600019166000191681526020019150506040516020818303038152906040526040518082805190602001908083835b602083101515613cf95780518252602082019150602081019050602083039250613cd4565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390209250600091505b895182101561403a576001838c84815181101515613d4757fe5b906020019060200201518c85815181101515613d5f57fe5b906020019060200201518c86815181101515613d7757fe5b90602001906020020151604051600081526020016040526040518085600019166000191681526020018460ff1660ff1681526020018360001916600019168152602001826000191660001916815260200194505050505060206040516020810390808403906000865af1158015613df2573d6000803e3d6000fd5b505050602060405103519050600080896000191660001916815260200190815260200160002060060160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515613eda576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f496e76616c6964207369676e617475726500000000000000000000000000000081525060200191505060405180910390fd5b600080896000191660001916815260200190815260200160002060070160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151515613fb7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f53616d65207369676e61747572652073656e742074776963650000000000000081525060200191505060405180910390fd5b60016000808a6000191660001916815260200190815260200160002060070160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508093508180600101925050613d2d565b839450505050509695505050505050565b600080614061834261409f90919063ffffffff16565b905060008463ffffffff16146140935761408c610e108563ffffffff166140c090919063ffffffff16565b8111614096565b60005b91505092915050565b6000808383111515156140b157600080fd5b82840390508091505092915050565b60008060008414156140d557600091506140f7565b82840290508284828115156140e657fe5b041415156140f357600080fd5b8091505b50929150505600a165627a7a7230582056449166ebc9bc6b8305eb676fc45eadbffbc60a0b986d3cddacc99bd099f4b60029", - "deployedBytecode": "0x6080604052600436106100af576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806323b6fd3f146100b45780632d9ef96e1461016e57806346fbcdeb1461019257806357bced7614610287578063642f2eaf14610378578063b0550c66146104da578063b719e28014610543578063b77bf6001461057e578063be84ceaf146105a9578063e4ec8b0014610641578063f0786562146106ea575b600080fd5b61016c600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff169060200190929190803563ffffffff169060200190929190803560001916906020019092919080356bffffffffffffffffffffffff19169060200190929190505050610753565b005b61019060048036038101908080356000191690602001909291905050506109a7565b005b34801561019e57600080fd5b5061026960048036038101908080356bffffffffffffffffffffffff19169060200190929190803560ff169060200190929190803563ffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610e24565b60405180826000191660001916815260200191505060405180910390f35b34801561029357600080fd5b50610376600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff169060200190929190803563ffffffff16906020019092919080356000191690602001909291908035906020019092919080356bffffffffffffffffffffffff19169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506112d0565b005b34801561038457600080fd5b506103a760048036038101908080356000191690602001909291905050506117a5565b604051808b81526020018a81526020018960018111156103c357fe5b60ff1681526020018860018111156103d757fe5b60ff1681526020018760ff1660ff1681526020018663ffffffff1663ffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019a505050505050505050505060405180910390f35b3480156104e657600080fd5b506105296004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506118b0565b604051808215151515815260200191505060405180910390f35b34801561054f57600080fd5b5061057c600480360381019080803560001916906020019092919080359060200190929190505050611922565b005b34801561058a57600080fd5b50610593611ff2565b6040518082815260200191505060405180910390f35b3480156105b557600080fd5b506105ea600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611ff8565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b8381101561062d578082015181840152602081019050610612565b505050509050019250505060405180910390f35b34801561064d57600080fd5b506106e86004803603810190808035906020019082018035906020019190919293919293908035906020019082018035906020019190919293919293908035906020019082018035906020019190919293919293908035600019169060200190929190803590602001908201803590602001919091929391929390803590602001908201803590602001919091929391929390505050612093565b005b3480156106f657600080fd5b506107396004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506125ea565b604051808215151515815260200191505060405180910390f35b8160008060008360001916600019168152602001908152602001600020600001541415156107e9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f5472616e73616374696f6e20657869737400000000000000000000000000000081525060200191505060405180910390fd5b87600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561088f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b87600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610935576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b6109488a8a8a8a8a8a348b60008061265c565b3373ffffffffffffffffffffffffffffffffffffffff1685600019167fce7089d0668849fb9ca29778c0cbf1e764d9efb048d81fd71fb34c94f26db368346040518082815260200191505060405180910390a350505050505050505050565b80600080600083600019166000191681526020019081526020016000206000015414151515610a3e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737400000000000081525060200191505060405180910390fd5b8160006001811115610a4c57fe5b600080836000191660001916815260200190815260200160002060020160009054906101000a900460ff166001811115610a8257fe5b141515610b1d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001807f5472616e73616374696f6e206973206e6f7420696e2046554e4445442073746181526020017f746500000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b826000806001811115610b2c57fe5b600080846000191660001916815260200190815260200160002060020160019054906101000a900460ff166001811115610b6257fe5b141515610bd7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5472616e73616374696f6e207479706520646f6573206e6f74206d617463680081525060200191505060405180910390fd5b84600080826000191660001916815260200190815260200160002060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610cde576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f54686520696e69746961746f72206f6620746865207472616e73616374696f6e81526020017f206973206e6f742062757965720000000000000000000000000000000000000081525060400191505060405180910390fd5b600034111515610d56576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f56616c7565206d7573742062652067726561746572207468616e207a65726f2e81525060200191505060405180910390fd5b610d8634600080896000191660001916815260200190815260200160002060000154612fe890919063ffffffff16565b600080886000191660001916815260200190815260200160002060000181905550426000808860001916600019168152602001908152602001600020600101819055503373ffffffffffffffffffffffffffffffffffffffff1686600019167ff66fd2ae9e24a6a24b02e1b5b7512ffde5149a4176085fc0298ae228c9b9d729346040518082815260200191505060405180910390a3505050505050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611070578787878787873060405160200180886bffffffffffffffffffffffff19166bffffffffffffffffffffffff191681526014018760ff1660ff167f01000000000000000000000000000000000000000000000000000000000000000281526001018663ffffffff1663ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014019750505050505050506040516020818303038152906040526040518082805190602001908083835b60208310151561103c5780518252602082019150602081019050602083039250611017565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902090506112c5565b878787878787308860405160200180896bffffffffffffffffffffffff19166bffffffffffffffffffffffff191681526014018860ff1660ff167f01000000000000000000000000000000000000000000000000000000000000000281526001018763ffffffff1663ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401985050505050505050506040516020818303038152906040526040518082805190602001908083835b6020831015156112955780518252602082019150602081019050602083039250611270565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902090505b979650505050505050565b6000846000806000836000191660001916815260200190815260200160002060000154141515611368576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f5472616e73616374696f6e20657869737400000000000000000000000000000081525060200191505060405180910390fd5b8a600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561140e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b8a600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156114b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b84600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561155a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b61156d8e8e8e8e8e8e8e8e60018f61265c565b8594508473ffffffffffffffffffffffffffffffffffffffff166323b872dd33308b6040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b15801561164757600080fd5b505af115801561165b573d6000803e3d6000fd5b505050506040513d602081101561167157600080fd5b81019080805190602001909291905050501515611742576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252605d8152602001807f546f6b656e207472616e73666572206661696c65642c206d6179626520796f7581526020017f20646964206e6f7420617070726f766520657363726f7720636f6e747261637481526020017f20746f207370656e64206f6e20626568616c66206f662073656e64657200000081525060600191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff1689600019167fce7089d0668849fb9ca29778c0cbf1e764d9efb048d81fd71fb34c94f26db3688a6040518082815260200191505060405180910390a35050505050505050505050505050565b60006020528060005260406000206000915090508060000154908060010154908060020160009054906101000a900460ff16908060020160019054906101000a900460ff16908060020160029054906101000a900460ff16908060020160039054906101000a900463ffffffff16908060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060050160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508a565b6000806000846000191660001916815260200190815260200160002060080160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6000826000806000836000191660001916815260200190815260200160002060000154141515156119bb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737400000000000081525060200191505060405180910390fd5b83600060018111156119c957fe5b600080836000191660001916815260200190815260200160002060020160009054906101000a900460ff1660018111156119ff57fe5b141515611a9a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001807f5472616e73616374696f6e206973206e6f7420696e2046554e4445442073746181526020017f746500000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b846001806001811115611aa957fe5b600080846000191660001916815260200190815260200160002060020160019054906101000a900460ff166001811115611adf57fe5b141515611b54576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5472616e73616374696f6e207479706520646f6573206e6f74206d617463680081525060200191505060405180910390fd5b86600080826000191660001916815260200190815260200160002060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611c5b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f54686520696e69746961746f72206f6620746865207472616e73616374696f6e81526020017f206973206e6f742062757965720000000000000000000000000000000000000081525060400191505060405180910390fd5b600087111515611cd3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f56616c7565206d7573742062652067726561746572207468616e207a65726f2e81525060200191505060405180910390fd5b600080896000191660001916815260200190815260200160002060040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1695508573ffffffffffffffffffffffffffffffffffffffff166323b872dd6000808b6000191660001916815260200190815260200160002060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff16308a6040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b158015611e2757600080fd5b505af1158015611e3b573d6000803e3d6000fd5b505050506040513d6020811015611e5157600080fd5b81019080805190602001909291905050501515611f22576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252605c8152602001807f546f6b656e207472616e73666572206661696c65642c206d6179626520796f7581526020017f20646964206e6f7420617070726f766520657363726f7720636f6e747261637481526020017f20746f207370656e64206f6e20626568616c66206f662062757965720000000081525060600191505060405180910390fd5b611f52876000808b6000191660001916815260200190815260200160002060000154612fe890919063ffffffff16565b6000808a6000191660001916815260200190815260200160002060000181905550426000808a60001916600019168152602001908152602001600020600101819055503373ffffffffffffffffffffffffffffffffffffffff1688600019167ff66fd2ae9e24a6a24b02e1b5b7512ffde5149a4176085fc0298ae228c9b9d729896040518082815260200191505060405180910390a35050505050505050565b60015481565b6060600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080548060200260200160405190810160405280929190818152602001828054801561208757602002820191906000526020600020905b8154600019168152602001906001019080831161206f575b50505050509050919050565b8460008060008360001916600019168152602001908152602001600020600001541415151561212a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737400000000000081525060200191505060405180910390fd5b856000600181111561213857fe5b600080836000191660001916815260200190815260200160002060020160009054906101000a900460ff16600181111561216e57fe5b141515612209576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001807f5472616e73616374696f6e206973206e6f7420696e2046554e4445442073746181526020017f746500000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b60008686905011801561222157508383905086869050145b15156122bb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001807f4c656e677468206f662064657374696e6174696f6e7320697320696e636f727281526020017f6563742e0000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b6123b48d8d808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508c8c808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508b8b808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508a8a8a80806020026020016040519081016040528093929190818152602001838360200280828437820191505050505050898980806020026020016040519081016040528093929190818152602001838360200280828437820191505050505050613009565b6001600080896000191660001916815260200190815260200160002060020160006101000a81548160ff021916908360018111156123ee57fe5b02179055504260008089600019166000191681526020019081526020016000206001018190555060008088600019166000191681526020019081526020016000206000015461249c888888808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508787808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050506131ea565b14151561255d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260488152602001807f546f74616c2076616c756520746f2062652072656c6561736564206d7573742081526020017f626520657175616c20746f20746865207472616e73616374696f6e206573637281526020017f6f772076616c756500000000000000000000000000000000000000000000000081525060600191505060405180910390fd5b86600019167f688e2a1b34445bcd47b0e11ba2a9c8c4d850a1831b64199b59d1c70e29701545878787876040518080602001806020018381038352878782818152602001925060200280828437820191505083810382528585828181526020019250602002808284378201915050965050505050505060405180910390a250505050505050505050505050565b6000806000846000191660001916815260200190815260200160002060070160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b8873ffffffffffffffffffffffffffffffffffffffff168a73ffffffffffffffffffffffffffffffffffffffff1614151515612700576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f427579657220616e642073656c6c6572206172652073616d650000000000000081525060200191505060405180910390fd5b600084111515612778576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f56616c756520706173736564206973203000000000000000000000000000000081525060200191505060405180910390fd5b60008760ff1611801561278f575060038760ff1611155b1515612829576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603d8152602001807f5468726573686f6c642063616e6e6f742062652067726561746572207468616e81526020017f203320616e64206d7573742062652067726561746572207468616e203000000081525060400191505060405180910390fd5b60018760ff1614806128685750600073ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff1614155b1515612928576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260488152602001807f456974686572207468726573686f6c642073686f756c642062652031206f722081526020017f76616c6964206d6f64657261746f7220616464726573732073686f756c64206281526020017f652070617373656400000000000000000000000000000000000000000000000081525060600191505060405180910390fd5b6129378388888d8d8d87610e24565b6000191685600019161415156129db576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260398152602001807f43616c63756c6174656420736372697074206861736820646f6573206e6f742081526020017f6d61746368207061737365642073637269707420686173682e0000000000000081525060400191505060405180910390fd5b6101406040519081016040528085815260200142815260200160006001811115612a0157fe5b8152602001836001811115612a1257fe5b81526020018860ff1681526020018763ffffffff1681526020018b73ffffffffffffffffffffffffffffffffffffffff1681526020018a73ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020018973ffffffffffffffffffffffffffffffffffffffff168152506000808760001916600019168152602001908152602001600020600082015181600001556020820151816001015560408201518160020160006101000a81548160ff02191690836001811115612aec57fe5b021790555060608201518160020160016101000a81548160ff02191690836001811115612b1557fe5b021790555060808201518160020160026101000a81548160ff021916908360ff16021790555060a08201518160020160036101000a81548163ffffffff021916908363ffffffff16021790555060c08201518160020160076101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060e08201518160030160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506101008201518160040160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506101208201518160050160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055509050506001600080876000191660001916815260200190815260200160002060060160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600080876000191660001916815260200190815260200160002060060160008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600080866000191660001916815260200190815260200160002060060160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151515612e6c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f456974686572206275796572206f722073656c6c65722069732070617373656481526020017f206173206d6f64657261746f720000000000000000000000000000000000000081525060400191505060405180910390fd5b60018760ff161115612eec576001600080876000191660001916815260200190815260200160002060060160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b600160008154809291906001019190505550600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020859080600181540180825580915050906001820390600052602060002001600090919290919091509060001916905550600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002085908060018154018082558091505090600182039060005260206000200160009091929091909150906000191690555050505050505050505050565b6000808284019050838110151515612fff57600080fd5b8091505092915050565b60008061301a8888888888886139d2565b9150613070600080876000191660001916815260200190815260200160002060020160039054906101000a900463ffffffff1660008088600019166000191681526020019081526020016000206001015461404b565b9050600080866000191660001916815260200190815260200160002060020160029054906101000a900460ff1660ff16885110801561312157508015806131205750600080866000191660001916815260200190815260200160002060030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b5b156131e0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260588152602001807f4d696e696d756d206e756d626572206f66207369676e6174757265732061726581526020017f206e6f7420636f6c6c656374656420616e642074696d65206c6f636b2065787081526020017f69727920636f6e646974696f6e73206e6f74206d65742121000000000000000081525060600191505060405180910390fd5b5050505050505050565b6000806000806000806000808a600019166000191681526020019081526020016000209450600093506000600181111561322057fe5b8560020160019054906101000a900460ff16600181111561323d57fe5b141561355457600092505b875183101561354f57600073ffffffffffffffffffffffffffffffffffffffff16888481518110151561327757fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1614158015613307575084600601600089858151811015156132b457fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b151561337b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f4e6f7420612076616c69642064657374696e6174696f6e00000000000000000081525060200191505060405180910390fd5b6000878481518110151561338b57fe5b90602001906020020151111515613430576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001807f416d6f756e7420746f2062652073656e742073686f756c64206265206772656181526020017f746572207468616e20300000000000000000000000000000000000000000000081525060400191505060405180910390fd5b61345a878481518110151561344157fe5b9060200190602002015185612fe890919063ffffffff16565b935060018560080160008a8681518110151561347257fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555087838151811015156134db57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff166108fc888581518110151561350c57fe5b906020019060200201519081150290604051600060405180830381858888f19350505050158015613541573d6000803e3d6000fd5b508280600101935050613248565b6139c3565b60018081111561356057fe5b8560020160019054906101000a900460ff16600181111561357d57fe5b14156139c2578460040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169150600090505b87518110156139c157600073ffffffffffffffffffffffffffffffffffffffff1688828151811015156135de57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff161415801561366e5750846006016000898381518110151561361b57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15156136e2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f4e6f7420612076616c69642064657374696e6174696f6e00000000000000000081525060200191505060405180910390fd5b600087828151811015156136f257fe5b90602001906020020151111515613797576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001807f416d6f756e7420746f2062652073656e742073686f756c64206265206772656181526020017f746572207468616e20300000000000000000000000000000000000000000000081525060400191505060405180910390fd5b6137c187828151811015156137a857fe5b9060200190602002015185612fe890919063ffffffff16565b935060018560080160008a848151811015156137d957fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb898381518110151561385e57fe5b90602001906020020151898481518110151561387657fe5b906020019060200201516040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15801561390557600080fd5b505af1158015613919573d6000803e3d6000fd5b505050506040513d602081101561392f57600080fd5b810190808051906020019092919050505015156139b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f546f6b656e207472616e73666572206661696c65642e0000000000000000000081525060200191505060405180910390fd5b80806001019150506135af565b5b5b83955050505050509392505050565b600080600080600088518a511480156139ec57508a518a51145b1515613a60576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f522c532c56206c656e677468206d69736d617463682e0000000000000000000081525060200191505060405180910390fd5b60197f01000000000000000000000000000000000000000000000000000000000000000260007f0100000000000000000000000000000000000000000000000000000000000000023089898c60405160200180877effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168152600101867effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526001018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401848051906020019060200280838360005b83811015613bb4578082015181840152602081019050613b99565b50505050905001838051906020019060200280838360005b83811015613be7578082015181840152602081019050613bcc565b50505050905001826000191660001916815260200196505050505050506040516020818303038152906040526040518082805190602001908083835b602083101515613c485780518252602082019150602081019050602083039250613c23565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902060405160200180807f19457468657265756d205369676e6564204d6573736167653a0a333200000000815250601c0182600019166000191681526020019150506040516020818303038152906040526040518082805190602001908083835b602083101515613cf95780518252602082019150602081019050602083039250613cd4565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390209250600091505b895182101561403a576001838c84815181101515613d4757fe5b906020019060200201518c85815181101515613d5f57fe5b906020019060200201518c86815181101515613d7757fe5b90602001906020020151604051600081526020016040526040518085600019166000191681526020018460ff1660ff1681526020018360001916600019168152602001826000191660001916815260200194505050505060206040516020810390808403906000865af1158015613df2573d6000803e3d6000fd5b505050602060405103519050600080896000191660001916815260200190815260200160002060060160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515613eda576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f496e76616c6964207369676e617475726500000000000000000000000000000081525060200191505060405180910390fd5b600080896000191660001916815260200190815260200160002060070160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151515613fb7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f53616d65207369676e61747572652073656e742074776963650000000000000081525060200191505060405180910390fd5b60016000808a6000191660001916815260200190815260200160002060070160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508093508180600101925050613d2d565b839450505050509695505050505050565b600080614061834261409f90919063ffffffff16565b905060008463ffffffff16146140935761408c610e108563ffffffff166140c090919063ffffffff16565b8111614096565b60005b91505092915050565b6000808383111515156140b157600080fd5b82840390508091505092915050565b60008060008414156140d557600091506140f7565b82840290508284828115156140e657fe5b041415156140f357600080fd5b8091505b50929150505600a165627a7a7230582056449166ebc9bc6b8305eb676fc45eadbffbc60a0b986d3cddacc99bd099f4b60029", - "sourceMap": "460:20145:0:-;;;1653:1;1619:35;;460:20145;8:9:-1;5:2;;;30:1;27;20:12;5:2;460:20145:0;;;;;;;", - "deployedSourceMap": "460:20145:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3702:701;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7590:579;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11838:1017;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11838:1017:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5337:1030;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5337:1030:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1561:51;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1561:51:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6608:221;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6608:221:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8497:897;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8497:897:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1619:35;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1619:35:0;;;;;;;;;;;;;;;;;;;;;;;9511:194;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9511:194:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;9511:194:0;;;;;;;;;;;;;;;;;10303:1064;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10303:1064:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7069:194;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7069:194:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3702:701;3979:10;2077:1;2043:12;:24;2056:10;2043:24;;;;;;;;;;;;;;;;;:30;;;:35;2035:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4014:5;2410:1;2384:28;;:14;:28;;;;2376:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4044:6;2410:1;2384:28;;:14;:28;;;;2376:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4066:264;4095:5;4114:6;4134:9;4157;4180:12;4206:10;4230:9;4253:8;4275:21;4318:1;4066:15;:264::i;:::-;4373:10;4354:41;;4361:10;4354:41;;;;4385:9;4354:41;;;;;;;;;;;;;;;;;;2446:1;2110;3702:701;;;;;;;;:::o;7590:579::-;7713:10;1907:1;1873:12;:24;1886:10;1873:24;;;;;;;;;;;;;;;;;:30;;;:35;;1852:96;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7747:10;2233:13;2198:48;;;;;;;;:12;:24;2211:10;2198:24;;;;;;;;;;;;;;;;;:31;;;;;;;;;;;;:48;;;;;;;;;2177:117;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7788:10;7800:21;2644:15;2600:59;;;;;;;;:12;:24;2613:10;2600:24;;;;;;;;;;;;;;;;;:40;;;;;;;;;;;;:59;;;;;;;;;2579:125;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7841:10;2812:12;:24;2825:10;2812:24;;;;;;;;;;;;;;;;;:30;;;;;;;;;;;;2798:44;;:10;:44;;;2777:124;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7897:1;7885:9;:13;7877:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7979;8027:9;7979:12;:24;7992:10;7979:24;;;;;;;;;;;;;;;;;:30;;;:47;;:58;;;;:::i;:::-;7946:12;:24;7959:10;7946:24;;;;;;;;;;;;;;;;;:30;;:91;;;;8087:15;8047:12;:24;8060:10;8047:24;;;;;;;;;;;;;;;;;:37;;:55;;;;8140:10;8118:44;;8128:10;8118:44;;;;8152:9;8118:44;;;;;;;;;;;;;;;;;;2714:1;2304;;1958;7590:579;;:::o;11838:1017::-;12108:7;12159:1;12135:26;;:12;:26;;;12131:718;;;12249:8;12279:9;12310:12;12344:5;12371:6;12399:9;12438:4;12211:250;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;12211:250:0;;;12184:291;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;12184:291:0;;;;;;;;;;;;;;;;12177:298;;;;12131:718;12578:8;12608:9;12639:12;12673:5;12700:6;12728:9;12767:4;12794:12;12540:284;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;12540:284:0;;;12513:325;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;12513:325:0;;;;;;;;;;;;;;;;12506:332;;11838:1017;;;;;;;;;;:::o;5337:1030::-;6054:20;5656:10;2077:1;2043:12;:24;2056:10;2043:24;;;;;;;;;;;;;;;;;:30;;;:35;2035:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5691:5;2410:1;2384:28;;:14;:28;;;;2376:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5721:6;2410:1;2384:28;;:14;:28;;;;2376:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5752:12;2410:1;2384:28;;:14;:28;;;;2376:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5781:262;5810:5;5829:6;5849:9;5872;5895:12;5921:10;5945:5;5964:8;5986:21;6021:12;5781:15;:262::i;:::-;6092:12;6054:51;;6137:5;:18;;;6156:10;6176:4;6183:5;6137:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6137:52:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6137:52:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6137:52:0;;;;;;;;;;;;;;;;6116:192;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6342:10;6323:37;;6330:10;6323:37;;;;6354:5;6323:37;;;;;;;;;;;;;;;;;;2446:1;;2110;5337:1030;;;;;;;;;;;:::o;1561:51::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;6608:221::-;6744:4;6771:12;:24;6784:10;6771:24;;;;;;;;;;;;;;;;;:38;;:51;6810:11;6771:51;;;;;;;;;;;;;;;;;;;;;;;;;6764:58;;6608:221;;;;:::o;8497:897::-;8848:20;8628:10;1907:1;1873:12;:24;1886:10;1873:24;;;;;;;;;;;;;;;;;:30;;;:35;;1852:96;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8662:10;2233:13;2198:48;;;;;;;;:12;:24;2211:10;2198:24;;;;;;;;;;;;;;;;;:31;;;;;;;;;;;;:48;;;;;;;;;2177:117;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8703:10;8715:21;2644:15;2600:59;;;;;;;;:12;:24;2613:10;2600:24;;;;;;;;;;;;;;;;;:40;;;;;;;;;;;;:59;;;;;;;;;2579:125;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8756:10;2812:12;:24;2825:10;2812:24;;;;;;;;;;;;;;;;;:30;;;;;;;;;;;;2798:44;;:10;:44;;;2777:124;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8799:1;8791:5;:9;8783:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8899:12;:24;8912:10;8899:24;;;;;;;;;;;;;;;;;:37;;;;;;;;;;;;8848:98;;8978:5;:18;;;8997:12;:24;9010:10;8997:24;;;;;;;;;;;;;;;;;:30;;;;;;;;;;;;9037:4;9044:5;8978:72;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8978:72:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;8978:72:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;8978:72:0;;;;;;;;;;;;;;;;8957:211;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9212:54;9260:5;9212:12;:24;9225:10;9212:24;;;;;;;;;;;;;;;;;:30;;;:47;;:54;;;;:::i;:::-;9179:12;:24;9192:10;9179:24;;;;;;;;;;;;;;;;;:30;;:87;;;;9316:15;9276:12;:24;9289:10;9276:24;;;;;;;;;;;;;;;;;:37;;:55;;;;9369:10;9347:40;;9357:10;9347:40;;;;9381:5;9347:40;;;;;;;;;;;;;;;;;;2714:1;2304;;1958;8497:897;;;;:::o;1619:35::-;;;;:::o;9511:194::-;9633:9;9666:18;:32;9685:12;9666:32;;;;;;;;;;;;;;;9659:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9511:194;;;:::o;10303:1064::-;10525:10;1907:1;1873:12;:24;1886:10;1873:24;;;;;;;;;;;;;;;;;:30;;;:35;;1852:96;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10559:10;2233:13;2198:48;;;;;;;;:12;:24;2211:10;2198:24;;;;;;;;;;;;;;;;;:31;;;;;;;;;;;;:48;;;;;;;;;2177:117;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10626:1;10606:12;;:19;;:21;:62;;;;;10654:7;;:14;;10631:12;;:19;;:37;10606:62;10585:133;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10729:153;10761:4;;10729:153;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10779:4;;10729:153;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10797:4;;10729:153;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10815:10;10839:12;;10729:153;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10865:7;;10729:153;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:18;:153::i;:::-;10927:15;10893:12;:24;10906:10;10893:24;;;;;;;;;;;;;;;;;:31;;;:49;;;;;;;;;;;;;;;;;;;;;;;;11066:15;11026:12;:24;11039:10;11026:24;;;;;;;;;;;;;;;;;:37;;:55;;;;11165:12;:24;11178:10;11165:24;;;;;;;;;;;;;;;;;:30;;;11112:49;11127:10;11139:12;;11112:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11153:7;;11112:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:14;:49::i;:::-;:83;11091:202;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11326:10;11317:43;;;;11338:12;;11352:7;;11317:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1958:1;10303:1064;;;;;;;;;;;;:::o;7069:194::-;7192:4;7219:12;:24;7232:10;7219:24;;;;;;;;;;;;;;;;;:30;;:37;7250:5;7219:37;;;;;;;;;;;;;;;;;;;;;;;;;7212:44;;7069:194;;;;:::o;17962:2641::-;18324:6;18315:15;;:5;:15;;;;18307:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18435:1;18427:5;:9;18419:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18573:1;18561:9;:13;;;:31;;;;;18591:1;18578:9;:14;;;;18561:31;18540:140;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18974:1;18961:9;:14;;;:41;;;;19000:1;18979:23;;:9;:23;;;;18961:41;18940:160;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19146:226;19189:8;19215:9;19242:12;19272:5;19295:6;19319:9;19346:12;19146:25;:226::i;:::-;19132:240;;;:10;:240;;;;19111:345;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19494:373;;;;;;;;;19615:5;19494:373;;;;19683:15;19494:373;;;;19642:13;19494:373;;;;;;;;;;;;19802:15;19494:373;;;;;;;;;;;;19723:9;19494:373;;;;;;19760:12;19494:373;;;;;;19527:5;19494:373;;;;;;19554:6;19494:373;;;;;;19844:12;19494:373;;;;;;19585:9;19494:373;;;;;19467:12;:24;19480:10;19467:24;;;;;;;;;;;;;;;;;:400;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19921:4;19878:12;:24;19891:10;19878:24;;;;;;;;;;;;;;;;;:32;;:40;19911:6;19878:40;;;;;;;;;;;;;;;;:47;;;;;;;;;;;;;;;;;;19977:4;19935:12;:24;19948:10;19935:24;;;;;;;;;;;;;;;;;:32;;:39;19968:5;19935:39;;;;;;;;;;;;;;;;:46;;;;;;;;;;;;;;;;;;20089:12;:24;20102:10;20089:24;;;;;;;;;;;;;;;;;:32;;:43;20122:9;20089:43;;;;;;;;;;;;;;;;;;;;;;;;;20088:44;20067:137;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20376:1;20364:9;:13;;;20360:94;;;20439:4;20393:12;:24;20406:10;20393:24;;;;;;;;;;;;;;;;;:32;;:43;20426:9;20393:43;;;;;;;;;;;;;;;;:50;;;;;;;;;;;;;;;;;;20360:94;20472:16;;:18;;;;;;;;;;;;;20501;:25;20520:5;20501:25;;;;;;;;;;;;;;;20532:10;20501:42;;39:1:-1;33:3;27:10;23:18;57:10;52:3;45:23;79:10;72:17;;0:93;20501:42:0;;;;;;;;;;;;;;;;;;;;;;;;;;;20553:18;:26;20572:6;20553:26;;;;;;;;;;;;;;;20585:10;20553:43;;39:1:-1;33:3;27:10;23:18;57:10;52:3;45:23;79:10;72:17;;0:93;20553:43:0;;;;;;;;;;;;;;;;;;;;;;;;;;;17962:2641;;;;;;;;;;:::o;1272:131:2:-;1330:7;1345:9;1361:1;1357;:5;1345:17;;1381:1;1376;:6;;1368:15;;;;;;;;1397:1;1390:8;;1272:131;;;;;:::o;13129:1008:0:-;13350:21;13537:20;13374:152;13405:4;13423;13441;13459:10;13483:12;13509:7;13374:17;:152::i;:::-;13350:176;;13560:130;13592:12;:24;13605:10;13592:24;;;;;;;;;;;;;;;;;:37;;;;;;;;;;;;13643:12;:24;13656:10;13643:24;;;;;;;;;;;;;;;;;:37;;;13560:18;:130::i;:::-;13537:153;;13876:12;:24;13889:10;13876:24;;;;;;;;;;;;;;;;;:34;;;;;;;;;;;;13862:48;;:4;:11;:48;:122;;;;;13916:15;13915:16;:68;;;;13952:12;:24;13965:10;13952:24;;;;;;;;;;;;;;;;;:31;;;;;;;;;;;;13935:48;;:13;:48;;;;13915:68;13862:122;13841:289;;;14021:98;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13841:289;13129:1008;;;;;;;;:::o;14263:1523::-;14411:7;14434:21;14493:24;14599:9;15151:20;15224:9;14458:12;:24;14471:10;14458:24;;;;;;;;;;;;;;;;;14434:48;;14520:1;14493:28;;14557:21;14536:42;;;;;;;;:1;:17;;;;;;;;;;;;:42;;;;;;;;;14532:1214;;;14611:1;14599:13;;14594:477;14618:12;:19;14614:1;:23;14594:477;;;14698:1;14671:29;;:12;14684:1;14671:15;;;;;;;;;;;;;;;;;;:29;;;;:59;;;;;14704:1;:9;;:26;14714:12;14727:1;14714:15;;;;;;;;;;;;;;;;;;14704:26;;;;;;;;;;;;;;;;;;;;;;;;;14671:59;14663:95;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14797:1;14784:7;14792:1;14784:10;;;;;;;;;;;;;;;;;;:14;14776:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14883:32;14904:7;14912:1;14904:10;;;;;;;;;;;;;;;;;;14883:16;:20;;:32;;;;:::i;:::-;14864:51;;14969:4;14934:1;:15;;:32;14950:12;14963:1;14950:15;;;;;;;;;;;;;;;;;;14934:32;;;;;;;;;;;;;;;;:39;;;;;;;;;;;;;;;;;;15020:12;15033:1;15020:15;;;;;;;;;;;;;;;;;;:24;;:36;15045:7;15053:1;15045:10;;;;;;;;;;;;;;;;;;15020:36;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;15020:36:0;14639:3;;;;;;;14594:477;;;14532:1214;;;15113:21;15092:42;;;;;;;;:1;:17;;;;;;;;;;;;:42;;;;;;;;;15088:658;;;15189:1;:14;;;;;;;;;;;;15151:53;;15236:1;15224:13;;15219:517;15241:12;:19;15239:1;:21;15219:517;;;15321:1;15294:29;;:12;15307:1;15294:15;;;;;;;;;;;;;;;;;;:29;;;;:59;;;;;15327:1;:9;;:26;15337:12;15350:1;15337:15;;;;;;;;;;;;;;;;;;15327:26;;;;;;;;;;;;;;;;;;;;;;;;;15294:59;15286:95;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15420:1;15407:7;15415:1;15407:10;;;;;;;;;;;;;;;;;;:14;15399:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15506:32;15527:7;15535:1;15527:10;;;;;;;;;;;;;;;;;;15506:16;:20;;:32;;;;:::i;:::-;15487:51;;15591:4;15556:1;:15;;:32;15572:12;15585:1;15572:15;;;;;;;;;;;;;;;;;;15556:32;;;;;;;;;;;;;;;;:39;;;;;;;;;;;;;;;;;;15651:5;:14;;;15666:12;15679:1;15666:15;;;;;;;;;;;;;;;;;;15683:7;15691:1;15683:10;;;;;;;;;;;;;;;;;;15651:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;15651:43:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;15651:43:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;15651:43:0;;;;;;;;;;;;;;;;15643:78;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15262:3;;;;;;;15219:517;;;15088:658;14532:1214;15763:16;15756:23;;14263:1523;;;;;;;;;;:::o;15971:1581::-;16193:7;16354:19;16472:14;16940:6;16989:17;16253:4;:11;16238:4;:11;:26;:56;;;;;16283:4;:11;16268:4;:11;:26;16238:56;16217:126;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16676:4;16671:10;;16712:1;16707:7;;16748:4;16779:12;16817:7;16850:10;16629:253;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;16629:253:0;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;16629:253:0;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;16629:253:0;;;16598:302;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;16598:302:0;;;;;;;;;;;;;;;;16512:402;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;16512:402:0;;;16489:435;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;16489:435:0;;;;;;;;;;;;;;;;16472:452;;16949:1;16940:10;;16935:582;16956:4;:11;16952:1;:15;16935:582;;;17009:122;17036:6;17060:4;17065:1;17060:7;;;;;;;;;;;;;;;;;;17085:4;17090:1;17085:7;;;;;;;;;;;;;;;;;;17110:4;17115:1;17110:7;;;;;;;;;;;;;;;;;;17009:122;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;17009:122:0;;;;;;;;16989:142;;17171:12;:24;17184:10;17171:24;;;;;;;;;;;;;;;;;:32;;:43;17204:9;17171:43;;;;;;;;;;;;;;;;;;;;;;;;;17146:120;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17306:12;:24;17319:10;17306:24;;;;;;;;;;;;;;;;;:30;;:41;17337:9;17306:41;;;;;;;;;;;;;;;;;;;;;;;;;17305:42;17280:127;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17465:4;17421:12;:24;17434:10;17421:24;;;;;;;;;;;;;;;;;:30;;:41;17452:9;17421:41;;;;;;;;;;;;;;;;:48;;;;;;;;;;;;;;;;;;17497:9;17483:23;;16969:3;;;;;;;16935:582;;;17534:11;17527:18;;15971:1581;;;;;;;;;;;;:::o;17558:317::-;17697:4;17717:17;17737:21;17745:12;17737:3;:7;;:21;;;;:::i;:::-;17717:41;;17805:1;17789:12;:17;;;:69;;17827:31;17853:4;17835:12;17827:21;;:25;;:31;;;;:::i;:::-;17815:9;:43;17789:69;;;17809:5;17789:69;17768:100;;17558:317;;;;;:::o;1078:131:2:-;1136:7;1172:9;1164:1;1159;:6;;1151:15;;;;;;;;1188:1;1184;:5;1172:17;;1203:1;1196:8;;1078:131;;;;;:::o;204:381::-;262:7;523:9;491:1;486;:6;482:35;;;509:1;502:8;;;;482:35;539:1;535;:5;523:17;;563:1;558;554;:5;;;;;;;;:10;546:19;;;;;;;;579:1;572:8;;204:381;;;;;;:::o", - "source": "pragma solidity 0.4.24;\n\nimport \"openzeppelin-solidity/contracts/math/SafeMath.sol\";\n\nimport \"../token/ITokenContract.sol\";\n\n\n/**\n* @dev Supports ERC20 tokens\n* The escrow smart contract for the open bazaar trades in Ethereum\n* The smart contract is designed keeping in mind the current wallet interface of the OB-core\n* https://github.com/OpenBazaar/wallet-interface/blob/master/wallet.go\n* Current wallet interface strictly adheres to UTXO(bitcoin) model\n*/\ncontract Escrow_v1_0 {\n\n using SafeMath for uint256;\n\n enum Status {FUNDED, RELEASED}\n\n enum TransactionType {ETHER, TOKEN}\n\n event Executed(\n bytes32 indexed scriptHash,\n address[] destinations,\n uint256[] amounts\n );\n\n event FundAdded(\n bytes32 indexed scriptHash,\n address indexed from,\n uint256 valueAdded\n );\n\n event Funded(\n bytes32 indexed scriptHash, \n address indexed from, \n uint256 value\n );\n\n struct Transaction {\n uint256 value;\n uint256 lastModified;//Time at which transaction was last modified\n Status status;\n TransactionType transactionType;\n uint8 threshold;\n uint32 timeoutHours;\n address buyer;\n address seller;\n address tokenAddress;//Token address in case of token transfer\n address moderator;\n mapping(address=>bool) isOwner;//to keep track of owners.\n mapping(address=>bool) voted;//to keep track of who all voted\n mapping(address=>bool) beneficiaries;//Benefeciaries of execution\n }\n\n mapping(bytes32 => Transaction) public transactions;\n\n uint256 public transactionCount = 0;\n\n //Contains mapping between each party and all of their transactions\n mapping(address => bytes32[]) private partyVsTransaction;\n\n modifier transactionExist(bytes32 scriptHash) {\n require(\n transactions[scriptHash].value != 0, \"Transaction does not exist\"\n );\n _;\n }\n\n modifier transactionDoesNotExist(bytes32 scriptHash) {\n require(transactions[scriptHash].value == 0, \"Transaction exist\");\n _;\n }\n\n modifier inFundedState(bytes32 scriptHash) {\n require(\n transactions[scriptHash].status == Status.FUNDED, \"Transaction is not in FUNDED state\"\n );\n _;\n }\n\n modifier nonZeroAddress(address addressToCheck) {\n require(addressToCheck != address(0), \"Zero address passed\");\n _;\n }\n\n modifier checkTransactionType(\n bytes32 scriptHash,\n TransactionType transactionType\n )\n {\n require(\n transactions[scriptHash].transactionType == transactionType, \"Transaction type does not match\"\n );\n _;\n }\n\n modifier onlyBuyer(bytes32 scriptHash) {\n require(\n msg.sender == transactions[scriptHash].buyer, \"The initiator of the transaction is not buyer\"\n );\n _;\n }\n\n /**\n *@dev Add new transaction in the contract\n *@param buyer The buyer of the transaction\n *@param seller The seller of the listing associated with the transaction\n *@param moderator Moderator for this transaction\n *@param scriptHash keccak256 hash of the redeem script\n *@param threshold Minimum number of signatures required to released funds\n *@param timeoutHours Hours after which seller can release funds into his favour by signing transaction unilaterally\n *@param uniqueId bytes20 unique id for the transaction, generated by ETH wallet\n *Redeem Script format will be following\n \n *Pass amount of the ethers to be put in escrow\n */\n function addTransaction(\n address buyer,\n address seller,\n address moderator,\n uint8 threshold,\n uint32 timeoutHours,\n bytes32 scriptHash,\n bytes20 uniqueId\n )\n external\n payable\n transactionDoesNotExist(scriptHash)\n nonZeroAddress(buyer)\n nonZeroAddress(seller)\n {\n _addTransaction(\n buyer,\n seller,\n moderator,\n threshold,\n timeoutHours,\n scriptHash,\n msg.value,\n uniqueId,\n TransactionType.ETHER,\n address(0)\n );\n \n emit Funded(scriptHash, msg.sender, msg.value);\n\n }\n\n /**\n *@dev Add new transaction in the contract\n *@param buyer The buyer of the transaction\n *@param seller The seller of the listing associated with the transaction\n *@param moderator Moderator for this transaction\n *@param scriptHash keccak256 hash of the redeem script\n *@param threshold Minimum number of signatures required to released funds\n *@param timeoutHours Hours after which seller can release funds into his favour by signing transaction unilaterally\n *@param value Amount of tokens to be put in escrow\n *@param uniqueId bytes20 unique id for the transaction, generated by ETH wallet\n *@param tokenAddress Address of the token to be used\n *Redeem Script format will be following\n \n *approve escrow contract to spend amount of token on sender's behalf\n */\n function addTokenTransaction(\n address buyer,\n address seller,\n address moderator,\n uint8 threshold,\n uint32 timeoutHours,\n bytes32 scriptHash,\n uint256 value,\n bytes20 uniqueId,\n address tokenAddress\n )\n external\n transactionDoesNotExist(scriptHash)\n nonZeroAddress(buyer)\n nonZeroAddress(seller)\n nonZeroAddress(tokenAddress)\n {\n\n _addTransaction(\n buyer,\n seller,\n moderator,\n threshold,\n timeoutHours,\n scriptHash,\n value,\n uniqueId,\n TransactionType.TOKEN,\n tokenAddress\n );\n\n ITokenContract token = ITokenContract(tokenAddress);\n\n require(\n token.transferFrom(msg.sender, address(this), value),\n \"Token transfer failed, maybe you did not approve escrow contract to spend on behalf of sender\"\n );\n emit Funded(scriptHash, msg.sender, value);\n }\n\n /**\n * @dev This method will check whether given address was a beneficiary of transaction execution or not\n * @param scriptHash script hash of the transaction\n * @param beneficiary Beneficiary address to be checked\n */\n function checkBeneficiary(\n bytes32 scriptHash,\n address beneficiary\n )\n external\n view\n returns (bool)\n {\n return transactions[scriptHash].beneficiaries[beneficiary];\n }\n\n /**\n * @dev This method will check whether given party has voted or not\n * @param scriptHash script hash of the transaction\n * @param party Address of the party whose vote has to be checked\n * @return bool vote\n */\n function checkVote(\n bytes32 scriptHash,\n address party\n )\n external\n view\n returns (bool)\n {\n return transactions[scriptHash].voted[party];\n }\n\n /**\n * @dev Allows buyer of the transaction to add more funds(ether) in the transaction. \n * This will help to cater scenarios wherein initially buyer missed to fund transaction as required\n * @param scriptHash script hash of the transaction\n * Only buyer of the transaction can invoke this method\n */\n function addFundsToTransaction(\n bytes32 scriptHash\n )\n external\n payable\n transactionExist(scriptHash)\n inFundedState(scriptHash)\n checkTransactionType(scriptHash, TransactionType.ETHER)\n onlyBuyer(scriptHash)\n \n {\n\n require(msg.value > 0, \"Value must be greater than zero.\");\n\n transactions[scriptHash].value = transactions[scriptHash].value\n .add(msg.value);\n transactions[scriptHash].lastModified = block.timestamp;\n\n emit FundAdded(scriptHash, msg.sender, msg.value);\n }\n\n /**\n * @dev Allows buyer of the transaction to add more funds(Tokens) in the transaction. \n * This will help to cater scenarios wherein initially buyer missed to fund transaction as required\n * @param scriptHash script hash of the transaction\n * Only buyer of the transaction can invoke this method\n */\n function addTokensToTransaction(\n bytes32 scriptHash,\n uint256 value\n )\n external\n transactionExist(scriptHash)\n inFundedState(scriptHash)\n checkTransactionType(scriptHash, TransactionType.TOKEN)\n onlyBuyer(scriptHash)\n {\n\n require(value > 0, \"Value must be greater than zero.\");\n\n ITokenContract token = ITokenContract(\n transactions[scriptHash].tokenAddress\n );\n\n require(\n token.transferFrom(transactions[scriptHash].buyer, address(this), value),\n \"Token transfer failed, maybe you did not approve escrow contract to spend on behalf of buyer\"\n );\n\n transactions[scriptHash].value = transactions[scriptHash].value\n .add(value);\n transactions[scriptHash].lastModified = block.timestamp;\n\n emit FundAdded(scriptHash, msg.sender, value);\n }\n\n /**\n *@dev Returns all transaction ids for a party\n *@param partyAddress Address of the party\n */\n function getAllTransactionsForParty(\n address partyAddress\n ) \n external \n view \n returns (bytes32[]) \n {\n return partyVsTransaction[partyAddress];\n }\n\n /**\n *@dev This method will be used to release funds associated with the transaction\n * Please see specs https://github.com/OpenBazaar/smart-contracts/blob/master/contracts/escrow/EscrowSpec.md\n *@param sigV Array containing V component of all the signatures\n *@param sigR Array containing R component of all the signatures\n *@param signS Array containing S component of all the signatures\n *@param scriptHash script hash of the transaction\n *@param destinations List of addresses who will receive funds\n *@param amounts amount released to each destination\n */\n function execute(\n uint8[] sigV,\n bytes32[] sigR,\n bytes32[] sigS,\n bytes32 scriptHash,\n address[] destinations,\n uint256[] amounts\n )\n external\n transactionExist(scriptHash)\n inFundedState(scriptHash)\n {\n require(\n destinations.length>0 && destinations.length == amounts.length, \"Length of destinations is incorrect.\"\n );\n\n _verifyTransaction(\n sigV,\n sigR,\n sigS,\n scriptHash,\n destinations,\n amounts\n );\n\n transactions[scriptHash].status = Status.RELEASED;\n //Last modified timestamp modified, which will be used by rewards\n transactions[scriptHash].lastModified = block.timestamp;\n require(\n _transferFunds(scriptHash, destinations, amounts) == transactions[scriptHash].value,\n \"Total value to be released must be equal to the transaction escrow value\"\n );\n \n emit Executed(scriptHash, destinations, amounts);\n }\n\n\n /**\n *@dev Method for calculating script hash. Calculation will depend upon the type of transaction\n * ETHER Type transaction-:\n * Script Hash- keccak256(uniqueId, threshold, timeoutHours, buyer, seller, moderator)\n * TOKEN Type transaction\n * Script Hash- keccak256(uniqueId, threshold, timeoutHours, buyer, seller, moderator, tokenAddress)\n * Client can use this method to verify whether it has calculated correct script hash or not\n */\n function calculateRedeemScriptHash(\n bytes20 uniqueId,\n uint8 threshold,\n uint32 timeoutHours,\n address buyer,\n address seller,\n address moderator,\n address tokenAddress\n )\n public\n view\n returns (bytes32)\n {\n if (tokenAddress == address(0)) {\n return keccak256(\n abi.encodePacked(\n uniqueId,\n threshold,\n timeoutHours,\n buyer,\n seller,\n moderator,\n address(this)\n )\n );\n } else {\n return keccak256(\n abi.encodePacked(\n uniqueId,\n threshold,\n timeoutHours,\n buyer,\n seller,\n moderator,\n address(this),\n tokenAddress\n )\n );\n }\n }\n\n /**\n * @dev This methods checks validity of transaction\n * 1. Verify Signatures\n * 2. Check if minimum number of signatures has been acquired\n * 3. If above condition is false, check if time lock is expired and the execution is signed by seller\n */\n function _verifyTransaction(\n uint8[] sigV,\n bytes32[] sigR,\n bytes32[] sigS,\n bytes32 scriptHash,\n address[] destinations,\n uint256[] amounts\n )\n private\n {\n address lastRecovered = _verifySignatures(\n sigV,\n sigR,\n sigS,\n scriptHash,\n destinations,\n amounts\n );\n\n bool timeLockExpired = _isTimeLockExpired(\n transactions[scriptHash].timeoutHours,\n transactions[scriptHash].lastModified\n );\n\n //if Minimum number of signatures are not gathered and timelock has not expired or transaction was not signed by seller then revert\n if (\n sigV.length < transactions[scriptHash].threshold && (!timeLockExpired || lastRecovered != transactions[scriptHash].seller)\n )\n {\n revert(\"Minimum number of signatures are not collected and time lock expiry conditions not met!!\");\n }\n\n }\n\n /**\n *@dev Private method to transfer funds to the destination addresses on the basis of transaction type\n */\n function _transferFunds(\n bytes32 scriptHash,\n address[]destinations,\n uint256[]amounts\n )\n private\n returns (uint256)\n {\n Transaction storage t = transactions[scriptHash];\n\n uint256 valueTransferred = 0;\n\n if (t.transactionType == TransactionType.ETHER) {\n for (uint256 i = 0; i < destinations.length; i++) {\n\n require(destinations[i] != address(0) && t.isOwner[destinations[i]], \"Not a valid destination\");\n require(amounts[i] > 0, \"Amount to be sent should be greater than 0\");\n\n valueTransferred = valueTransferred.add(amounts[i]);\n\n t.beneficiaries[destinations[i]] = true;//add receiver as beneficiary\n destinations[i].transfer(amounts[i]);\n }\n\n } else if (t.transactionType == TransactionType.TOKEN) {\n\n ITokenContract token = ITokenContract(t.tokenAddress);\n\n for (uint256 j = 0; j 0, \"Amount to be sent should be greater than 0\");\n\n valueTransferred = valueTransferred.add(amounts[j]);\n t.beneficiaries[destinations[j]] = true;//add receiver as beneficiary\n\n require(token.transfer(destinations[j], amounts[j]), \"Token transfer failed.\");\n }\n } \n return valueTransferred;\n }\n\n //to check whether the signatures are valid or not and if consensus was reached\n //returns the last address recovered, in case of timeout this must be the sender's address\n function _verifySignatures(\n uint8[] sigV,\n bytes32[] sigR,\n bytes32[] sigS,\n bytes32 scriptHash,\n address[] destinations,\n uint256[]amounts\n )\n private\n returns (address)\n {\n\n require(\n sigR.length == sigS.length && sigR.length == sigV.length, \n \"R,S,V length mismatch.\"\n );\n\n address lastAddress;\n\n // Follows ERC191 signature scheme: https://github.com/ethereum/EIPs/issues/191\n bytes32 txHash = keccak256(\n abi.encodePacked(\n \"\\x19Ethereum Signed Message:\\n32\",\n keccak256(\n abi.encodePacked(\n byte(0x19),\n byte(0),\n address(this),\n destinations,\n amounts,\n scriptHash\n )\n )\n )\n );\n\n for (uint i = 0; i < sigR.length; i++) {\n\n address recovered = ecrecover(\n txHash,\n sigV[i],\n sigR[i],\n sigS[i]\n );\n\n require(\n transactions[scriptHash].isOwner[recovered], \n \"Invalid signature\"\n );\n require(\n !transactions[scriptHash].voted[recovered], \n \"Same signature sent twice\"\n );\n transactions[scriptHash].voted[recovered] = true;\n lastAddress = recovered;\n }\n\n return lastAddress;\n }\n\n function _isTimeLockExpired(\n uint32 timeoutHours,\n uint256 lastModified\n )\n private\n view\n returns (bool)\n {\n uint256 timeSince = now.sub(lastModified);\n return (\n timeoutHours == 0 ? false:timeSince > uint256(timeoutHours).mul(3600)\n );\n }\n\n /**\n * Private method to add transaction to reduce code redundancy\n */\n function _addTransaction(\n address buyer,\n address seller,\n address moderator,\n uint8 threshold,\n uint32 timeoutHours,\n bytes32 scriptHash,\n uint256 value,\n bytes20 uniqueId,\n TransactionType transactionType,\n address tokenAddress\n )\n private\n { \n require(buyer != seller, \"Buyer and seller are same\");\n\n //value passed should be greater than 0\n require(value > 0, \"Value passed is 0\");\n\n // For now allowing 0 moderator to support 1-2 multisig wallet\n require(\n threshold > 0 && threshold <= 3, \n \"Threshold cannot be greater than 3 and must be greater than 0\"\n );\n\n //if threshold is 1 then moderator can be passed as zero address or any other address\n //(it won't matter apart from scripthash since we wont add moderator as one of the owner),\n //otherwise moderator should be a valid address\n require(\n threshold == 1 || moderator != address(0),\n \"Either threshold should be 1 or valid moderator address should be passed\"\n );\n\n require(\n scriptHash == calculateRedeemScriptHash(\n uniqueId,\n threshold,\n timeoutHours,\n buyer,\n seller,\n moderator,\n tokenAddress\n ), \n \"Calculated script hash does not match passed script hash.\"\n );\n\n transactions[scriptHash] = Transaction({\n buyer: buyer,\n seller: seller,\n moderator: moderator,\n value: value,\n status: Status.FUNDED,\n lastModified: block.timestamp,\n threshold: threshold,\n timeoutHours: timeoutHours,\n transactionType:transactionType,\n tokenAddress:tokenAddress\n });\n\n transactions[scriptHash].isOwner[seller] = true;\n transactions[scriptHash].isOwner[buyer] = true; \n\n //Check if buyer or seller are not passed as moderator\n require(\n !transactions[scriptHash].isOwner[moderator], \n \"Either buyer or seller is passed as moderator\"\n );\n\n //set moderator as one of the owners only if threshold is greater than 1 otherwise only buyer and seller should be able to release funds\n if (threshold > 1) {\n transactions[scriptHash].isOwner[moderator] = true;\n }\n \n\n transactionCount++;\n\n partyVsTransaction[buyer].push(scriptHash);\n partyVsTransaction[seller].push(scriptHash);\n }\n}\n", + "bytecode": "0x6080604052600060015534801561001557600080fd5b5061432c806100256000396000f3006080604052600436106100af576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806323b6fd3f146100b45780632d9ef96e1461016e57806346fbcdeb1461019257806357bced7614610287578063642f2eaf14610378578063b0550c66146104da578063b719e28014610543578063b77bf6001461057e578063be84ceaf146105a9578063e4ec8b0014610641578063f0786562146106ea575b600080fd5b61016c600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff169060200190929190803563ffffffff169060200190929190803560001916906020019092919080356bffffffffffffffffffffffff19169060200190929190505050610753565b005b61019060048036038101908080356000191690602001909291905050506109a7565b005b34801561019e57600080fd5b5061026960048036038101908080356bffffffffffffffffffffffff19169060200190929190803560ff169060200190929190803563ffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610e24565b60405180826000191660001916815260200191505060405180910390f35b34801561029357600080fd5b50610376600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff169060200190929190803563ffffffff16906020019092919080356000191690602001909291908035906020019092919080356bffffffffffffffffffffffff19169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506112d0565b005b34801561038457600080fd5b506103a760048036038101908080356000191690602001909291905050506117a5565b604051808b81526020018a81526020018960018111156103c357fe5b60ff1681526020018860018111156103d757fe5b60ff1681526020018760ff1660ff1681526020018663ffffffff1663ffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019a505050505050505050505060405180910390f35b3480156104e657600080fd5b506105296004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506118b0565b604051808215151515815260200191505060405180910390f35b34801561054f57600080fd5b5061057c600480360381019080803560001916906020019092919080359060200190929190505050611922565b005b34801561058a57600080fd5b50610593611ff2565b6040518082815260200191505060405180910390f35b3480156105b557600080fd5b506105ea600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611ff8565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b8381101561062d578082015181840152602081019050610612565b505050509050019250505060405180910390f35b34801561064d57600080fd5b506106e86004803603810190808035906020019082018035906020019190919293919293908035906020019082018035906020019190919293919293908035906020019082018035906020019190919293919293908035600019169060200190929190803590602001908201803590602001919091929391929390803590602001908201803590602001919091929391929390505050612093565b005b3480156106f657600080fd5b506107396004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061267c565b604051808215151515815260200191505060405180910390f35b8160008060008360001916600019168152602001908152602001600020600001541415156107e9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f5472616e73616374696f6e20657869737400000000000000000000000000000081525060200191505060405180910390fd5b87600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561088f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b87600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610935576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b6109488a8a8a8a8a8a348b6000806126ee565b3373ffffffffffffffffffffffffffffffffffffffff1685600019167fce7089d0668849fb9ca29778c0cbf1e764d9efb048d81fd71fb34c94f26db368346040518082815260200191505060405180910390a350505050505050505050565b80600080600083600019166000191681526020019081526020016000206000015414151515610a3e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737400000000000081525060200191505060405180910390fd5b8160006001811115610a4c57fe5b600080836000191660001916815260200190815260200160002060020160009054906101000a900460ff166001811115610a8257fe5b141515610b1d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001807f5472616e73616374696f6e206973206e6f7420696e2046554e4445442073746181526020017f746500000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b826000806001811115610b2c57fe5b600080846000191660001916815260200190815260200160002060020160019054906101000a900460ff166001811115610b6257fe5b141515610bd7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5472616e73616374696f6e207479706520646f6573206e6f74206d617463680081525060200191505060405180910390fd5b84600080826000191660001916815260200190815260200160002060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610cde576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f54686520696e69746961746f72206f6620746865207472616e73616374696f6e81526020017f206973206e6f742062757965720000000000000000000000000000000000000081525060400191505060405180910390fd5b600034111515610d56576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f56616c7565206d7573742062652067726561746572207468616e207a65726f2e81525060200191505060405180910390fd5b610d863460008089600019166000191681526020019081526020016000206000015461307a90919063ffffffff16565b600080886000191660001916815260200190815260200160002060000181905550426000808860001916600019168152602001908152602001600020600101819055503373ffffffffffffffffffffffffffffffffffffffff1686600019167ff66fd2ae9e24a6a24b02e1b5b7512ffde5149a4176085fc0298ae228c9b9d729346040518082815260200191505060405180910390a3505050505050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611070578787878787873060405160200180886bffffffffffffffffffffffff19166bffffffffffffffffffffffff191681526014018760ff1660ff167f01000000000000000000000000000000000000000000000000000000000000000281526001018663ffffffff1663ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014019750505050505050506040516020818303038152906040526040518082805190602001908083835b60208310151561103c5780518252602082019150602081019050602083039250611017565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902090506112c5565b878787878787308860405160200180896bffffffffffffffffffffffff19166bffffffffffffffffffffffff191681526014018860ff1660ff167f01000000000000000000000000000000000000000000000000000000000000000281526001018763ffffffff1663ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401985050505050505050506040516020818303038152906040526040518082805190602001908083835b6020831015156112955780518252602082019150602081019050602083039250611270565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902090505b979650505050505050565b6000846000806000836000191660001916815260200190815260200160002060000154141515611368576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f5472616e73616374696f6e20657869737400000000000000000000000000000081525060200191505060405180910390fd5b8a600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561140e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b8a600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156114b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b84600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561155a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b61156d8e8e8e8e8e8e8e8e60018f6126ee565b8594508473ffffffffffffffffffffffffffffffffffffffff166323b872dd33308b6040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b15801561164757600080fd5b505af115801561165b573d6000803e3d6000fd5b505050506040513d602081101561167157600080fd5b81019080805190602001909291905050501515611742576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252605d8152602001807f546f6b656e207472616e73666572206661696c65642c206d6179626520796f7581526020017f20646964206e6f7420617070726f766520657363726f7720636f6e747261637481526020017f20746f207370656e64206f6e20626568616c66206f662073656e64657200000081525060600191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff1689600019167fce7089d0668849fb9ca29778c0cbf1e764d9efb048d81fd71fb34c94f26db3688a6040518082815260200191505060405180910390a35050505050505050505050505050565b60006020528060005260406000206000915090508060000154908060010154908060020160009054906101000a900460ff16908060020160019054906101000a900460ff16908060020160029054906101000a900460ff16908060020160039054906101000a900463ffffffff16908060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060050160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508a565b6000806000846000191660001916815260200190815260200160002060080160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6000826000806000836000191660001916815260200190815260200160002060000154141515156119bb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737400000000000081525060200191505060405180910390fd5b83600060018111156119c957fe5b600080836000191660001916815260200190815260200160002060020160009054906101000a900460ff1660018111156119ff57fe5b141515611a9a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001807f5472616e73616374696f6e206973206e6f7420696e2046554e4445442073746181526020017f746500000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b846001806001811115611aa957fe5b600080846000191660001916815260200190815260200160002060020160019054906101000a900460ff166001811115611adf57fe5b141515611b54576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5472616e73616374696f6e207479706520646f6573206e6f74206d617463680081525060200191505060405180910390fd5b86600080826000191660001916815260200190815260200160002060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611c5b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f54686520696e69746961746f72206f6620746865207472616e73616374696f6e81526020017f206973206e6f742062757965720000000000000000000000000000000000000081525060400191505060405180910390fd5b600087111515611cd3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f56616c7565206d7573742062652067726561746572207468616e207a65726f2e81525060200191505060405180910390fd5b600080896000191660001916815260200190815260200160002060040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1695508573ffffffffffffffffffffffffffffffffffffffff166323b872dd6000808b6000191660001916815260200190815260200160002060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff16308a6040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b158015611e2757600080fd5b505af1158015611e3b573d6000803e3d6000fd5b505050506040513d6020811015611e5157600080fd5b81019080805190602001909291905050501515611f22576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252605c8152602001807f546f6b656e207472616e73666572206661696c65642c206d6179626520796f7581526020017f20646964206e6f7420617070726f766520657363726f7720636f6e747261637481526020017f20746f207370656e64206f6e20626568616c66206f662062757965720000000081525060600191505060405180910390fd5b611f52876000808b600019166000191681526020019081526020016000206000015461307a90919063ffffffff16565b6000808a6000191660001916815260200190815260200160002060000181905550426000808a60001916600019168152602001908152602001600020600101819055503373ffffffffffffffffffffffffffffffffffffffff1688600019167ff66fd2ae9e24a6a24b02e1b5b7512ffde5149a4176085fc0298ae228c9b9d729896040518082815260200191505060405180910390a35050505050505050565b60015481565b6060600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080548060200260200160405190810160405280929190818152602001828054801561208757602002820191906000526020600020905b8154600019168152602001906001019080831161206f575b50505050509050919050565b8460008060008360001916600019168152602001908152602001600020600001541415151561212a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737400000000000081525060200191505060405180910390fd5b856000600181111561213857fe5b600080836000191660001916815260200190815260200160002060020160009054906101000a900460ff16600181111561216e57fe5b141515612209576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001807f5472616e73616374696f6e206973206e6f7420696e2046554e4445442073746181526020017f746500000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b6000868690501115156122aa576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f4e756d626572206f662064657374696e6174696f6e73206d757374206265206781526020017f726561746572207468616e20300000000000000000000000000000000000000081525060400191505060405180910390fd5b838390508686905014151561234d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260378152602001807f4e756d626572206f662064657374696e6174696f6e73206d757374206d61746381526020017f68206e756d626572206f662076616c7565732073656e7400000000000000000081525060400191505060405180910390fd5b6124468d8d808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508c8c808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508b8b808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508a8a8a8080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505089898080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505061309b565b6001600080896000191660001916815260200190815260200160002060020160006101000a81548160ff0219169083600181111561248057fe5b02179055504260008089600019166000191681526020019081526020016000206001018190555060008088600019166000191681526020019081526020016000206000015461252e8888888080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505087878080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505061327c565b1415156125ef576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260488152602001807f546f74616c2076616c756520746f2062652072656c6561736564206d7573742081526020017f626520657175616c20746f20746865207472616e73616374696f6e206573637281526020017f6f772076616c756500000000000000000000000000000000000000000000000081525060600191505060405180910390fd5b86600019167f688e2a1b34445bcd47b0e11ba2a9c8c4d850a1831b64199b59d1c70e29701545878787876040518080602001806020018381038352878782818152602001925060200280828437820191505083810382528585828181526020019250602002808284378201915050965050505050505060405180910390a250505050505050505050505050565b6000806000846000191660001916815260200190815260200160002060070160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b8873ffffffffffffffffffffffffffffffffffffffff168a73ffffffffffffffffffffffffffffffffffffffff1614151515612792576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f427579657220616e642073656c6c6572206172652073616d650000000000000081525060200191505060405180910390fd5b60008411151561280a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f56616c756520706173736564206973203000000000000000000000000000000081525060200191505060405180910390fd5b60008760ff16118015612821575060038760ff1611155b15156128bb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603d8152602001807f5468726573686f6c642063616e6e6f742062652067726561746572207468616e81526020017f203320616e64206d7573742062652067726561746572207468616e203000000081525060400191505060405180910390fd5b60018760ff1614806128fa5750600073ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff1614155b15156129ba576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260488152602001807f456974686572207468726573686f6c642073686f756c642062652031206f722081526020017f76616c6964206d6f64657261746f7220616464726573732073686f756c64206281526020017f652070617373656400000000000000000000000000000000000000000000000081525060600191505060405180910390fd5b6129c98388888d8d8d87610e24565b600019168560001916141515612a6d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260398152602001807f43616c63756c6174656420736372697074206861736820646f6573206e6f742081526020017f6d61746368207061737365642073637269707420686173682e0000000000000081525060400191505060405180910390fd5b6101406040519081016040528085815260200142815260200160006001811115612a9357fe5b8152602001836001811115612aa457fe5b81526020018860ff1681526020018763ffffffff1681526020018b73ffffffffffffffffffffffffffffffffffffffff1681526020018a73ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020018973ffffffffffffffffffffffffffffffffffffffff168152506000808760001916600019168152602001908152602001600020600082015181600001556020820151816001015560408201518160020160006101000a81548160ff02191690836001811115612b7e57fe5b021790555060608201518160020160016101000a81548160ff02191690836001811115612ba757fe5b021790555060808201518160020160026101000a81548160ff021916908360ff16021790555060a08201518160020160036101000a81548163ffffffff021916908363ffffffff16021790555060c08201518160020160076101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060e08201518160030160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506101008201518160040160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506101208201518160050160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055509050506001600080876000191660001916815260200190815260200160002060060160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600080876000191660001916815260200190815260200160002060060160008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600080866000191660001916815260200190815260200160002060060160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151515612efe576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f456974686572206275796572206f722073656c6c65722069732070617373656481526020017f206173206d6f64657261746f720000000000000000000000000000000000000081525060400191505060405180910390fd5b60018760ff161115612f7e576001600080876000191660001916815260200190815260200160002060060160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b600160008154809291906001019190505550600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020859080600181540180825580915050906001820390600052602060002001600090919290919091509060001916905550600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002085908060018154018082558091505090600182039060005260206000200160009091929091909150906000191690555050505050505050505050565b600080828401905083811015151561309157600080fd5b8091505092915050565b6000806130ac888888888888613bd4565b9150613102600080876000191660001916815260200190815260200160002060020160039054906101000a900463ffffffff1660008088600019166000191681526020019081526020016000206001015461424d565b9050600080866000191660001916815260200190815260200160002060020160029054906101000a900460ff1660ff1688511080156131b357508015806131b25750600080866000191660001916815260200190815260200160002060030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b5b15613272576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260588152602001807f4d696e696d756d206e756d626572206f66207369676e6174757265732061726581526020017f206e6f7420636f6c6c656374656420616e642074696d65206c6f636b2065787081526020017f69727920636f6e646974696f6e73206e6f74206d65742121000000000000000081525060600191505060405180910390fd5b5050505050505050565b6000806000806000806000808a60001916600019168152602001908152602001600020945060009350600060018111156132b257fe5b8560020160019054906101000a900460ff1660018111156132cf57fe5b141561369e57600092505b875183101561369957600073ffffffffffffffffffffffffffffffffffffffff16888481518110151561330957fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff16141515156133c5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001807f7a65726f2061646472657373206973206e6f7420616c6c6f776564206173206481526020017f657374696e6174696f6e2061646472657373000000000000000000000000000081525060400191505060405180910390fd5b84600601600089858151811015156133d957fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615156134c5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c8152602001807f44657374696e6174696f6e2061646472657373206973206e6f74206f6e65206f81526020017f6620746865206f776e657273000000000000000000000000000000000000000081525060400191505060405180910390fd5b600087848151811015156134d557fe5b9060200190602002015111151561357a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001807f416d6f756e7420746f2062652073656e742073686f756c64206265206772656181526020017f746572207468616e20300000000000000000000000000000000000000000000081525060400191505060405180910390fd5b6135a4878481518110151561358b57fe5b906020019060200201518561307a90919063ffffffff16565b935060018560080160008a868151811015156135bc57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550878381518110151561362557fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff166108fc888581518110151561365657fe5b906020019060200201519081150290604051600060405180830381858888f1935050505015801561368b573d6000803e3d6000fd5b5082806001019350506132da565b613bc5565b6001808111156136aa57fe5b8560020160019054906101000a900460ff1660018111156136c757fe5b1415613bc4578460040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169150600090505b8751811015613bc357600073ffffffffffffffffffffffffffffffffffffffff16888281518110151561372857fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff16141515156137e4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001807f7a65726f2061646472657373206973206e6f7420616c6c6f776564206173206481526020017f657374696e6174696f6e2061646472657373000000000000000000000000000081525060400191505060405180910390fd5b84600601600089838151811015156137f857fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615156138e4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c8152602001807f44657374696e6174696f6e2061646472657373206973206e6f74206f6e65206f81526020017f6620746865206f776e657273000000000000000000000000000000000000000081525060400191505060405180910390fd5b600087828151811015156138f457fe5b90602001906020020151111515613999576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001807f416d6f756e7420746f2062652073656e742073686f756c64206265206772656181526020017f746572207468616e20300000000000000000000000000000000000000000000081525060400191505060405180910390fd5b6139c387828151811015156139aa57fe5b906020019060200201518561307a90919063ffffffff16565b935060018560080160008a848151811015156139db57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb8983815181101515613a6057fe5b906020019060200201518984815181101515613a7857fe5b906020019060200201516040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015613b0757600080fd5b505af1158015613b1b573d6000803e3d6000fd5b505050506040513d6020811015613b3157600080fd5b81019080805190602001909291905050501515613bb6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f546f6b656e207472616e73666572206661696c65642e0000000000000000000081525060200191505060405180910390fd5b80806001019150506136f9565b5b5b83955050505050509392505050565b600080600080600088518a51148015613bee57508a518a51145b1515613c62576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f522c532c56206c656e677468206d69736d617463682e0000000000000000000081525060200191505060405180910390fd5b60197f01000000000000000000000000000000000000000000000000000000000000000260007f0100000000000000000000000000000000000000000000000000000000000000023089898c60405160200180877effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168152600101867effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526001018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401848051906020019060200280838360005b83811015613db6578082015181840152602081019050613d9b565b50505050905001838051906020019060200280838360005b83811015613de9578082015181840152602081019050613dce565b50505050905001826000191660001916815260200196505050505050506040516020818303038152906040526040518082805190602001908083835b602083101515613e4a5780518252602082019150602081019050602083039250613e25565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902060405160200180807f19457468657265756d205369676e6564204d6573736167653a0a333200000000815250601c0182600019166000191681526020019150506040516020818303038152906040526040518082805190602001908083835b602083101515613efb5780518252602082019150602081019050602083039250613ed6565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390209250600091505b895182101561423c576001838c84815181101515613f4957fe5b906020019060200201518c85815181101515613f6157fe5b906020019060200201518c86815181101515613f7957fe5b90602001906020020151604051600081526020016040526040518085600019166000191681526020018460ff1660ff1681526020018360001916600019168152602001826000191660001916815260200194505050505060206040516020810390808403906000865af1158015613ff4573d6000803e3d6000fd5b505050602060405103519050600080896000191660001916815260200190815260200160002060060160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615156140dc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f496e76616c6964207369676e617475726500000000000000000000000000000081525060200191505060405180910390fd5b600080896000191660001916815260200190815260200160002060070160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515156141b9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f53616d65207369676e61747572652073656e742074776963650000000000000081525060200191505060405180910390fd5b60016000808a6000191660001916815260200190815260200160002060070160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508093508180600101925050613f2f565b839450505050509695505050505050565b60008061426383426142a190919063ffffffff16565b905060008463ffffffff16146142955761428e610e108563ffffffff166142c290919063ffffffff16565b8111614298565b60005b91505092915050565b6000808383111515156142b357600080fd5b82840390508091505092915050565b60008060008414156142d757600091506142f9565b82840290508284828115156142e857fe5b041415156142f557600080fd5b8091505b50929150505600a165627a7a72305820b1ab2bd298df65e6f86e449032439475bd7adcf77743c17a74d1fe092f96a9000029", + "deployedBytecode": "0x6080604052600436106100af576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806323b6fd3f146100b45780632d9ef96e1461016e57806346fbcdeb1461019257806357bced7614610287578063642f2eaf14610378578063b0550c66146104da578063b719e28014610543578063b77bf6001461057e578063be84ceaf146105a9578063e4ec8b0014610641578063f0786562146106ea575b600080fd5b61016c600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff169060200190929190803563ffffffff169060200190929190803560001916906020019092919080356bffffffffffffffffffffffff19169060200190929190505050610753565b005b61019060048036038101908080356000191690602001909291905050506109a7565b005b34801561019e57600080fd5b5061026960048036038101908080356bffffffffffffffffffffffff19169060200190929190803560ff169060200190929190803563ffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610e24565b60405180826000191660001916815260200191505060405180910390f35b34801561029357600080fd5b50610376600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff169060200190929190803563ffffffff16906020019092919080356000191690602001909291908035906020019092919080356bffffffffffffffffffffffff19169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506112d0565b005b34801561038457600080fd5b506103a760048036038101908080356000191690602001909291905050506117a5565b604051808b81526020018a81526020018960018111156103c357fe5b60ff1681526020018860018111156103d757fe5b60ff1681526020018760ff1660ff1681526020018663ffffffff1663ffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019a505050505050505050505060405180910390f35b3480156104e657600080fd5b506105296004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506118b0565b604051808215151515815260200191505060405180910390f35b34801561054f57600080fd5b5061057c600480360381019080803560001916906020019092919080359060200190929190505050611922565b005b34801561058a57600080fd5b50610593611ff2565b6040518082815260200191505060405180910390f35b3480156105b557600080fd5b506105ea600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611ff8565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b8381101561062d578082015181840152602081019050610612565b505050509050019250505060405180910390f35b34801561064d57600080fd5b506106e86004803603810190808035906020019082018035906020019190919293919293908035906020019082018035906020019190919293919293908035906020019082018035906020019190919293919293908035600019169060200190929190803590602001908201803590602001919091929391929390803590602001908201803590602001919091929391929390505050612093565b005b3480156106f657600080fd5b506107396004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061267c565b604051808215151515815260200191505060405180910390f35b8160008060008360001916600019168152602001908152602001600020600001541415156107e9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f5472616e73616374696f6e20657869737400000000000000000000000000000081525060200191505060405180910390fd5b87600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561088f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b87600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610935576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b6109488a8a8a8a8a8a348b6000806126ee565b3373ffffffffffffffffffffffffffffffffffffffff1685600019167fce7089d0668849fb9ca29778c0cbf1e764d9efb048d81fd71fb34c94f26db368346040518082815260200191505060405180910390a350505050505050505050565b80600080600083600019166000191681526020019081526020016000206000015414151515610a3e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737400000000000081525060200191505060405180910390fd5b8160006001811115610a4c57fe5b600080836000191660001916815260200190815260200160002060020160009054906101000a900460ff166001811115610a8257fe5b141515610b1d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001807f5472616e73616374696f6e206973206e6f7420696e2046554e4445442073746181526020017f746500000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b826000806001811115610b2c57fe5b600080846000191660001916815260200190815260200160002060020160019054906101000a900460ff166001811115610b6257fe5b141515610bd7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5472616e73616374696f6e207479706520646f6573206e6f74206d617463680081525060200191505060405180910390fd5b84600080826000191660001916815260200190815260200160002060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610cde576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f54686520696e69746961746f72206f6620746865207472616e73616374696f6e81526020017f206973206e6f742062757965720000000000000000000000000000000000000081525060400191505060405180910390fd5b600034111515610d56576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f56616c7565206d7573742062652067726561746572207468616e207a65726f2e81525060200191505060405180910390fd5b610d863460008089600019166000191681526020019081526020016000206000015461307a90919063ffffffff16565b600080886000191660001916815260200190815260200160002060000181905550426000808860001916600019168152602001908152602001600020600101819055503373ffffffffffffffffffffffffffffffffffffffff1686600019167ff66fd2ae9e24a6a24b02e1b5b7512ffde5149a4176085fc0298ae228c9b9d729346040518082815260200191505060405180910390a3505050505050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611070578787878787873060405160200180886bffffffffffffffffffffffff19166bffffffffffffffffffffffff191681526014018760ff1660ff167f01000000000000000000000000000000000000000000000000000000000000000281526001018663ffffffff1663ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014019750505050505050506040516020818303038152906040526040518082805190602001908083835b60208310151561103c5780518252602082019150602081019050602083039250611017565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902090506112c5565b878787878787308860405160200180896bffffffffffffffffffffffff19166bffffffffffffffffffffffff191681526014018860ff1660ff167f01000000000000000000000000000000000000000000000000000000000000000281526001018763ffffffff1663ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401985050505050505050506040516020818303038152906040526040518082805190602001908083835b6020831015156112955780518252602082019150602081019050602083039250611270565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902090505b979650505050505050565b6000846000806000836000191660001916815260200190815260200160002060000154141515611368576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f5472616e73616374696f6e20657869737400000000000000000000000000000081525060200191505060405180910390fd5b8a600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561140e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b8a600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156114b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b84600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561155a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b61156d8e8e8e8e8e8e8e8e60018f6126ee565b8594508473ffffffffffffffffffffffffffffffffffffffff166323b872dd33308b6040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b15801561164757600080fd5b505af115801561165b573d6000803e3d6000fd5b505050506040513d602081101561167157600080fd5b81019080805190602001909291905050501515611742576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252605d8152602001807f546f6b656e207472616e73666572206661696c65642c206d6179626520796f7581526020017f20646964206e6f7420617070726f766520657363726f7720636f6e747261637481526020017f20746f207370656e64206f6e20626568616c66206f662073656e64657200000081525060600191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff1689600019167fce7089d0668849fb9ca29778c0cbf1e764d9efb048d81fd71fb34c94f26db3688a6040518082815260200191505060405180910390a35050505050505050505050505050565b60006020528060005260406000206000915090508060000154908060010154908060020160009054906101000a900460ff16908060020160019054906101000a900460ff16908060020160029054906101000a900460ff16908060020160039054906101000a900463ffffffff16908060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060050160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508a565b6000806000846000191660001916815260200190815260200160002060080160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6000826000806000836000191660001916815260200190815260200160002060000154141515156119bb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737400000000000081525060200191505060405180910390fd5b83600060018111156119c957fe5b600080836000191660001916815260200190815260200160002060020160009054906101000a900460ff1660018111156119ff57fe5b141515611a9a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001807f5472616e73616374696f6e206973206e6f7420696e2046554e4445442073746181526020017f746500000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b846001806001811115611aa957fe5b600080846000191660001916815260200190815260200160002060020160019054906101000a900460ff166001811115611adf57fe5b141515611b54576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5472616e73616374696f6e207479706520646f6573206e6f74206d617463680081525060200191505060405180910390fd5b86600080826000191660001916815260200190815260200160002060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611c5b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f54686520696e69746961746f72206f6620746865207472616e73616374696f6e81526020017f206973206e6f742062757965720000000000000000000000000000000000000081525060400191505060405180910390fd5b600087111515611cd3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f56616c7565206d7573742062652067726561746572207468616e207a65726f2e81525060200191505060405180910390fd5b600080896000191660001916815260200190815260200160002060040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1695508573ffffffffffffffffffffffffffffffffffffffff166323b872dd6000808b6000191660001916815260200190815260200160002060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff16308a6040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b158015611e2757600080fd5b505af1158015611e3b573d6000803e3d6000fd5b505050506040513d6020811015611e5157600080fd5b81019080805190602001909291905050501515611f22576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252605c8152602001807f546f6b656e207472616e73666572206661696c65642c206d6179626520796f7581526020017f20646964206e6f7420617070726f766520657363726f7720636f6e747261637481526020017f20746f207370656e64206f6e20626568616c66206f662062757965720000000081525060600191505060405180910390fd5b611f52876000808b600019166000191681526020019081526020016000206000015461307a90919063ffffffff16565b6000808a6000191660001916815260200190815260200160002060000181905550426000808a60001916600019168152602001908152602001600020600101819055503373ffffffffffffffffffffffffffffffffffffffff1688600019167ff66fd2ae9e24a6a24b02e1b5b7512ffde5149a4176085fc0298ae228c9b9d729896040518082815260200191505060405180910390a35050505050505050565b60015481565b6060600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080548060200260200160405190810160405280929190818152602001828054801561208757602002820191906000526020600020905b8154600019168152602001906001019080831161206f575b50505050509050919050565b8460008060008360001916600019168152602001908152602001600020600001541415151561212a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737400000000000081525060200191505060405180910390fd5b856000600181111561213857fe5b600080836000191660001916815260200190815260200160002060020160009054906101000a900460ff16600181111561216e57fe5b141515612209576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001807f5472616e73616374696f6e206973206e6f7420696e2046554e4445442073746181526020017f746500000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b6000868690501115156122aa576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f4e756d626572206f662064657374696e6174696f6e73206d757374206265206781526020017f726561746572207468616e20300000000000000000000000000000000000000081525060400191505060405180910390fd5b838390508686905014151561234d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260378152602001807f4e756d626572206f662064657374696e6174696f6e73206d757374206d61746381526020017f68206e756d626572206f662076616c7565732073656e7400000000000000000081525060400191505060405180910390fd5b6124468d8d808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508c8c808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508b8b808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508a8a8a8080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505089898080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505061309b565b6001600080896000191660001916815260200190815260200160002060020160006101000a81548160ff0219169083600181111561248057fe5b02179055504260008089600019166000191681526020019081526020016000206001018190555060008088600019166000191681526020019081526020016000206000015461252e8888888080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505087878080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505061327c565b1415156125ef576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260488152602001807f546f74616c2076616c756520746f2062652072656c6561736564206d7573742081526020017f626520657175616c20746f20746865207472616e73616374696f6e206573637281526020017f6f772076616c756500000000000000000000000000000000000000000000000081525060600191505060405180910390fd5b86600019167f688e2a1b34445bcd47b0e11ba2a9c8c4d850a1831b64199b59d1c70e29701545878787876040518080602001806020018381038352878782818152602001925060200280828437820191505083810382528585828181526020019250602002808284378201915050965050505050505060405180910390a250505050505050505050505050565b6000806000846000191660001916815260200190815260200160002060070160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b8873ffffffffffffffffffffffffffffffffffffffff168a73ffffffffffffffffffffffffffffffffffffffff1614151515612792576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f427579657220616e642073656c6c6572206172652073616d650000000000000081525060200191505060405180910390fd5b60008411151561280a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f56616c756520706173736564206973203000000000000000000000000000000081525060200191505060405180910390fd5b60008760ff16118015612821575060038760ff1611155b15156128bb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603d8152602001807f5468726573686f6c642063616e6e6f742062652067726561746572207468616e81526020017f203320616e64206d7573742062652067726561746572207468616e203000000081525060400191505060405180910390fd5b60018760ff1614806128fa5750600073ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff1614155b15156129ba576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260488152602001807f456974686572207468726573686f6c642073686f756c642062652031206f722081526020017f76616c6964206d6f64657261746f7220616464726573732073686f756c64206281526020017f652070617373656400000000000000000000000000000000000000000000000081525060600191505060405180910390fd5b6129c98388888d8d8d87610e24565b600019168560001916141515612a6d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260398152602001807f43616c63756c6174656420736372697074206861736820646f6573206e6f742081526020017f6d61746368207061737365642073637269707420686173682e0000000000000081525060400191505060405180910390fd5b6101406040519081016040528085815260200142815260200160006001811115612a9357fe5b8152602001836001811115612aa457fe5b81526020018860ff1681526020018763ffffffff1681526020018b73ffffffffffffffffffffffffffffffffffffffff1681526020018a73ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020018973ffffffffffffffffffffffffffffffffffffffff168152506000808760001916600019168152602001908152602001600020600082015181600001556020820151816001015560408201518160020160006101000a81548160ff02191690836001811115612b7e57fe5b021790555060608201518160020160016101000a81548160ff02191690836001811115612ba757fe5b021790555060808201518160020160026101000a81548160ff021916908360ff16021790555060a08201518160020160036101000a81548163ffffffff021916908363ffffffff16021790555060c08201518160020160076101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060e08201518160030160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506101008201518160040160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506101208201518160050160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055509050506001600080876000191660001916815260200190815260200160002060060160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600080876000191660001916815260200190815260200160002060060160008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600080866000191660001916815260200190815260200160002060060160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151515612efe576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f456974686572206275796572206f722073656c6c65722069732070617373656481526020017f206173206d6f64657261746f720000000000000000000000000000000000000081525060400191505060405180910390fd5b60018760ff161115612f7e576001600080876000191660001916815260200190815260200160002060060160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b600160008154809291906001019190505550600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020859080600181540180825580915050906001820390600052602060002001600090919290919091509060001916905550600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002085908060018154018082558091505090600182039060005260206000200160009091929091909150906000191690555050505050505050505050565b600080828401905083811015151561309157600080fd5b8091505092915050565b6000806130ac888888888888613bd4565b9150613102600080876000191660001916815260200190815260200160002060020160039054906101000a900463ffffffff1660008088600019166000191681526020019081526020016000206001015461424d565b9050600080866000191660001916815260200190815260200160002060020160029054906101000a900460ff1660ff1688511080156131b357508015806131b25750600080866000191660001916815260200190815260200160002060030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b5b15613272576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260588152602001807f4d696e696d756d206e756d626572206f66207369676e6174757265732061726581526020017f206e6f7420636f6c6c656374656420616e642074696d65206c6f636b2065787081526020017f69727920636f6e646974696f6e73206e6f74206d65742121000000000000000081525060600191505060405180910390fd5b5050505050505050565b6000806000806000806000808a60001916600019168152602001908152602001600020945060009350600060018111156132b257fe5b8560020160019054906101000a900460ff1660018111156132cf57fe5b141561369e57600092505b875183101561369957600073ffffffffffffffffffffffffffffffffffffffff16888481518110151561330957fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff16141515156133c5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001807f7a65726f2061646472657373206973206e6f7420616c6c6f776564206173206481526020017f657374696e6174696f6e2061646472657373000000000000000000000000000081525060400191505060405180910390fd5b84600601600089858151811015156133d957fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615156134c5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c8152602001807f44657374696e6174696f6e2061646472657373206973206e6f74206f6e65206f81526020017f6620746865206f776e657273000000000000000000000000000000000000000081525060400191505060405180910390fd5b600087848151811015156134d557fe5b9060200190602002015111151561357a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001807f416d6f756e7420746f2062652073656e742073686f756c64206265206772656181526020017f746572207468616e20300000000000000000000000000000000000000000000081525060400191505060405180910390fd5b6135a4878481518110151561358b57fe5b906020019060200201518561307a90919063ffffffff16565b935060018560080160008a868151811015156135bc57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550878381518110151561362557fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff166108fc888581518110151561365657fe5b906020019060200201519081150290604051600060405180830381858888f1935050505015801561368b573d6000803e3d6000fd5b5082806001019350506132da565b613bc5565b6001808111156136aa57fe5b8560020160019054906101000a900460ff1660018111156136c757fe5b1415613bc4578460040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169150600090505b8751811015613bc357600073ffffffffffffffffffffffffffffffffffffffff16888281518110151561372857fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff16141515156137e4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001807f7a65726f2061646472657373206973206e6f7420616c6c6f776564206173206481526020017f657374696e6174696f6e2061646472657373000000000000000000000000000081525060400191505060405180910390fd5b84600601600089838151811015156137f857fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615156138e4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c8152602001807f44657374696e6174696f6e2061646472657373206973206e6f74206f6e65206f81526020017f6620746865206f776e657273000000000000000000000000000000000000000081525060400191505060405180910390fd5b600087828151811015156138f457fe5b90602001906020020151111515613999576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001807f416d6f756e7420746f2062652073656e742073686f756c64206265206772656181526020017f746572207468616e20300000000000000000000000000000000000000000000081525060400191505060405180910390fd5b6139c387828151811015156139aa57fe5b906020019060200201518561307a90919063ffffffff16565b935060018560080160008a848151811015156139db57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb8983815181101515613a6057fe5b906020019060200201518984815181101515613a7857fe5b906020019060200201516040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015613b0757600080fd5b505af1158015613b1b573d6000803e3d6000fd5b505050506040513d6020811015613b3157600080fd5b81019080805190602001909291905050501515613bb6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f546f6b656e207472616e73666572206661696c65642e0000000000000000000081525060200191505060405180910390fd5b80806001019150506136f9565b5b5b83955050505050509392505050565b600080600080600088518a51148015613bee57508a518a51145b1515613c62576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f522c532c56206c656e677468206d69736d617463682e0000000000000000000081525060200191505060405180910390fd5b60197f01000000000000000000000000000000000000000000000000000000000000000260007f0100000000000000000000000000000000000000000000000000000000000000023089898c60405160200180877effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168152600101867effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526001018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401848051906020019060200280838360005b83811015613db6578082015181840152602081019050613d9b565b50505050905001838051906020019060200280838360005b83811015613de9578082015181840152602081019050613dce565b50505050905001826000191660001916815260200196505050505050506040516020818303038152906040526040518082805190602001908083835b602083101515613e4a5780518252602082019150602081019050602083039250613e25565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902060405160200180807f19457468657265756d205369676e6564204d6573736167653a0a333200000000815250601c0182600019166000191681526020019150506040516020818303038152906040526040518082805190602001908083835b602083101515613efb5780518252602082019150602081019050602083039250613ed6565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390209250600091505b895182101561423c576001838c84815181101515613f4957fe5b906020019060200201518c85815181101515613f6157fe5b906020019060200201518c86815181101515613f7957fe5b90602001906020020151604051600081526020016040526040518085600019166000191681526020018460ff1660ff1681526020018360001916600019168152602001826000191660001916815260200194505050505060206040516020810390808403906000865af1158015613ff4573d6000803e3d6000fd5b505050602060405103519050600080896000191660001916815260200190815260200160002060060160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615156140dc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f496e76616c6964207369676e617475726500000000000000000000000000000081525060200191505060405180910390fd5b600080896000191660001916815260200190815260200160002060070160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515156141b9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f53616d65207369676e61747572652073656e742074776963650000000000000081525060200191505060405180910390fd5b60016000808a6000191660001916815260200190815260200160002060070160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508093508180600101925050613f2f565b839450505050509695505050505050565b60008061426383426142a190919063ffffffff16565b905060008463ffffffff16146142955761428e610e108563ffffffff166142c290919063ffffffff16565b8111614298565b60005b91505092915050565b6000808383111515156142b357600080fd5b82840390508091505092915050565b60008060008414156142d757600091506142f9565b82840290508284828115156142e857fe5b041415156142f557600080fd5b8091505b50929150505600a165627a7a72305820b1ab2bd298df65e6f86e449032439475bd7adcf77743c17a74d1fe092f96a9000029", + "sourceMap": "460:20485:0:-;;;1653:1;1619:35;;460:20485;8:9:-1;5:2;;;30:1;27;20:12;5:2;460:20485:0;;;;;;;", + "deployedSourceMap": "460:20485:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3702:701;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7590:579;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11978:1017;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11978:1017:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5337:1030;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5337:1030:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1561:51;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1561:51:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6608:221;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6608:221:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8497:897;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8497:897:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1619:35;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1619:35:0;;;;;;;;;;;;;;;;;;;;;;;9511:194;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9511:194:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;9511:194:0;;;;;;;;;;;;;;;;;10303:1204;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10303:1204:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7069:194;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7069:194:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3702:701;3979:10;2077:1;2043:12;:24;2056:10;2043:24;;;;;;;;;;;;;;;;;:30;;;:35;2035:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4014:5;2410:1;2384:28;;:14;:28;;;;2376:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4044:6;2410:1;2384:28;;:14;:28;;;;2376:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4066:264;4095:5;4114:6;4134:9;4157;4180:12;4206:10;4230:9;4253:8;4275:21;4318:1;4066:15;:264::i;:::-;4373:10;4354:41;;4361:10;4354:41;;;;4385:9;4354:41;;;;;;;;;;;;;;;;;;2446:1;2110;3702:701;;;;;;;;:::o;7590:579::-;7713:10;1907:1;1873:12;:24;1886:10;1873:24;;;;;;;;;;;;;;;;;:30;;;:35;;1852:96;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7747:10;2233:13;2198:48;;;;;;;;:12;:24;2211:10;2198:24;;;;;;;;;;;;;;;;;:31;;;;;;;;;;;;:48;;;;;;;;;2177:117;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7788:10;7800:21;2644:15;2600:59;;;;;;;;:12;:24;2613:10;2600:24;;;;;;;;;;;;;;;;;:40;;;;;;;;;;;;:59;;;;;;;;;2579:125;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7841:10;2812:12;:24;2825:10;2812:24;;;;;;;;;;;;;;;;;:30;;;;;;;;;;;;2798:44;;:10;:44;;;2777:124;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7897:1;7885:9;:13;7877:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7979;8027:9;7979:12;:24;7992:10;7979:24;;;;;;;;;;;;;;;;;:30;;;:47;;:58;;;;:::i;:::-;7946:12;:24;7959:10;7946:24;;;;;;;;;;;;;;;;;:30;;:91;;;;8087:15;8047:12;:24;8060:10;8047:24;;;;;;;;;;;;;;;;;:37;;:55;;;;8140:10;8118:44;;8128:10;8118:44;;;;8152:9;8118:44;;;;;;;;;;;;;;;;;;2714:1;2304;;1958;7590:579;;:::o;11978:1017::-;12248:7;12299:1;12275:26;;:12;:26;;;12271:718;;;12389:8;12419:9;12450:12;12484:5;12511:6;12539:9;12578:4;12351:250;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;12351:250:0;;;12324:291;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;12324:291:0;;;;;;;;;;;;;;;;12317:298;;;;12271:718;12718:8;12748:9;12779:12;12813:5;12840:6;12868:9;12907:4;12934:12;12680:284;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;12680:284:0;;;12653:325;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;12653:325:0;;;;;;;;;;;;;;;;12646:332;;11978:1017;;;;;;;;;;:::o;5337:1030::-;6054:20;5656:10;2077:1;2043:12;:24;2056:10;2043:24;;;;;;;;;;;;;;;;;:30;;;:35;2035:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5691:5;2410:1;2384:28;;:14;:28;;;;2376:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5721:6;2410:1;2384:28;;:14;:28;;;;2376:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5752:12;2410:1;2384:28;;:14;:28;;;;2376:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5781:262;5810:5;5829:6;5849:9;5872;5895:12;5921:10;5945:5;5964:8;5986:21;6021:12;5781:15;:262::i;:::-;6092:12;6054:51;;6137:5;:18;;;6156:10;6176:4;6183:5;6137:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6137:52:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6137:52:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6137:52:0;;;;;;;;;;;;;;;;6116:192;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6342:10;6323:37;;6330:10;6323:37;;;;6354:5;6323:37;;;;;;;;;;;;;;;;;;2446:1;;2110;5337:1030;;;;;;;;;;;:::o;1561:51::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;6608:221::-;6744:4;6771:12;:24;6784:10;6771:24;;;;;;;;;;;;;;;;;:38;;:51;6810:11;6771:51;;;;;;;;;;;;;;;;;;;;;;;;;6764:58;;6608:221;;;;:::o;8497:897::-;8848:20;8628:10;1907:1;1873:12;:24;1886:10;1873:24;;;;;;;;;;;;;;;;;:30;;;:35;;1852:96;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8662:10;2233:13;2198:48;;;;;;;;:12;:24;2211:10;2198:24;;;;;;;;;;;;;;;;;:31;;;;;;;;;;;;:48;;;;;;;;;2177:117;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8703:10;8715:21;2644:15;2600:59;;;;;;;;:12;:24;2613:10;2600:24;;;;;;;;;;;;;;;;;:40;;;;;;;;;;;;:59;;;;;;;;;2579:125;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8756:10;2812:12;:24;2825:10;2812:24;;;;;;;;;;;;;;;;;:30;;;;;;;;;;;;2798:44;;:10;:44;;;2777:124;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8799:1;8791:5;:9;8783:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8899:12;:24;8912:10;8899:24;;;;;;;;;;;;;;;;;:37;;;;;;;;;;;;8848:98;;8978:5;:18;;;8997:12;:24;9010:10;8997:24;;;;;;;;;;;;;;;;;:30;;;;;;;;;;;;9037:4;9044:5;8978:72;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8978:72:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;8978:72:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;8978:72:0;;;;;;;;;;;;;;;;8957:211;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9212:54;9260:5;9212:12;:24;9225:10;9212:24;;;;;;;;;;;;;;;;;:30;;;:47;;:54;;;;:::i;:::-;9179:12;:24;9192:10;9179:24;;;;;;;;;;;;;;;;;:30;;:87;;;;9316:15;9276:12;:24;9289:10;9276:24;;;;;;;;;;;;;;;;;:37;;:55;;;;9369:10;9347:40;;9357:10;9347:40;;;;9381:5;9347:40;;;;;;;;;;;;;;;;;;2714:1;2304;;1958;8497:897;;;;:::o;1619:35::-;;;;:::o;9511:194::-;9633:9;9666:18;:32;9685:12;9666:32;;;;;;;;;;;;;;;9659:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9511:194;;;:::o;10303:1204::-;10525:10;1907:1;1873:12;:24;1886:10;1873:24;;;;;;;;;;;;;;;;;:30;;;:35;;1852:96;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10559:10;2233:13;2198:48;;;;;;;;:12;:24;2211:10;2198:24;;;;;;;;;;;;;;;;;:31;;;;;;;;;;;;:48;;;;;;;;;2177:117;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10629:1;10609:12;;:19;;:21;10588:114;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10756:7;;:14;;10733:12;;:19;;:37;10712:139;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10869:153;10901:4;;10869:153;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10919:4;;10869:153;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10937:4;;10869:153;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10955:10;10979:12;;10869:153;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11005:7;;10869:153;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:18;:153::i;:::-;11067:15;11033:12;:24;11046:10;11033:24;;;;;;;;;;;;;;;;;:31;;;:49;;;;;;;;;;;;;;;;;;;;;;;;11206:15;11166:12;:24;11179:10;11166:24;;;;;;;;;;;;;;;;;:37;;:55;;;;11305:12;:24;11318:10;11305:24;;;;;;;;;;;;;;;;;:30;;;11252:49;11267:10;11279:12;;11252:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11293:7;;11252:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:14;:49::i;:::-;:83;11231:202;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11466:10;11457:43;;;;11478:12;;11492:7;;11457:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1958:1;10303:1204;;;;;;;;;;;;:::o;7069:194::-;7192:4;7219:12;:24;7232:10;7219:24;;;;;;;;;;;;;;;;;:30;;:37;7250:5;7219:37;;;;;;;;;;;;;;;;;;;;;;;;;7212:44;;7069:194;;;;:::o;18302:2641::-;18664:6;18655:15;;:5;:15;;;;18647:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18775:1;18767:5;:9;18759:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18913:1;18901:9;:13;;;:31;;;;;18931:1;18918:9;:14;;;;18901:31;18880:140;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19314:1;19301:9;:14;;;:41;;;;19340:1;19319:23;;:9;:23;;;;19301:41;19280:160;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19486:226;19529:8;19555:9;19582:12;19612:5;19635:6;19659:9;19686:12;19486:25;:226::i;:::-;19472:240;;;:10;:240;;;;19451:345;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19834:373;;;;;;;;;19955:5;19834:373;;;;20023:15;19834:373;;;;19982:13;19834:373;;;;;;;;;;;;20142:15;19834:373;;;;;;;;;;;;20063:9;19834:373;;;;;;20100:12;19834:373;;;;;;19867:5;19834:373;;;;;;19894:6;19834:373;;;;;;20184:12;19834:373;;;;;;19925:9;19834:373;;;;;19807:12;:24;19820:10;19807:24;;;;;;;;;;;;;;;;;:400;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20261:4;20218:12;:24;20231:10;20218:24;;;;;;;;;;;;;;;;;:32;;:40;20251:6;20218:40;;;;;;;;;;;;;;;;:47;;;;;;;;;;;;;;;;;;20317:4;20275:12;:24;20288:10;20275:24;;;;;;;;;;;;;;;;;:32;;:39;20308:5;20275:39;;;;;;;;;;;;;;;;:46;;;;;;;;;;;;;;;;;;20429:12;:24;20442:10;20429:24;;;;;;;;;;;;;;;;;:32;;:43;20462:9;20429:43;;;;;;;;;;;;;;;;;;;;;;;;;20428:44;20407:137;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20716:1;20704:9;:13;;;20700:94;;;20779:4;20733:12;:24;20746:10;20733:24;;;;;;;;;;;;;;;;;:32;;:43;20766:9;20733:43;;;;;;;;;;;;;;;;:50;;;;;;;;;;;;;;;;;;20700:94;20812:16;;:18;;;;;;;;;;;;;20841;:25;20860:5;20841:25;;;;;;;;;;;;;;;20872:10;20841:42;;39:1:-1;33:3;27:10;23:18;57:10;52:3;45:23;79:10;72:17;;0:93;20841:42:0;;;;;;;;;;;;;;;;;;;;;;;;;;;20893:18;:26;20912:6;20893:26;;;;;;;;;;;;;;;20925:10;20893:43;;39:1:-1;33:3;27:10;23:18;57:10;52:3;45:23;79:10;72:17;;0:93;20893:43:0;;;;;;;;;;;;;;;;;;;;;;;;;;;18302:2641;;;;;;;;;;:::o;1272:131:2:-;1330:7;1345:9;1361:1;1357;:5;1345:17;;1381:1;1376;:6;;1368:15;;;;;;;;1397:1;1390:8;;1272:131;;;;;:::o;13269:1008:0:-;13490:21;13677:20;13514:152;13545:4;13563;13581;13599:10;13623:12;13649:7;13514:17;:152::i;:::-;13490:176;;13700:130;13732:12;:24;13745:10;13732:24;;;;;;;;;;;;;;;;;:37;;;;;;;;;;;;13783:12;:24;13796:10;13783:24;;;;;;;;;;;;;;;;;:37;;;13700:18;:130::i;:::-;13677:153;;14016:12;:24;14029:10;14016:24;;;;;;;;;;;;;;;;;:34;;;;;;;;;;;;14002:48;;:4;:11;:48;:122;;;;;14056:15;14055:16;:68;;;;14092:12;:24;14105:10;14092:24;;;;;;;;;;;;;;;;;:31;;;;;;;;;;;;14075:48;;:13;:48;;;;14055:68;14002:122;13981:289;;;14161:98;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13981:289;13269:1008;;;;;;;;:::o;14403:1723::-;14551:7;14574:21;14633:24;14739:9;15391:20;15464:9;14598:12;:24;14611:10;14598:24;;;;;;;;;;;;;;;;;14574:48;;14660:1;14633:28;;14697:21;14676:42;;;;;;;;:1;:17;;;;;;;;;;;;:42;;;;;;;;;14672:1414;;;14751:1;14739:13;;14734:577;14758:12;:19;14754:1;:23;14734:577;;;14838:1;14811:29;;:12;14824:1;14811:15;;;;;;;;;;;;;;;;;;:29;;;;14803:92;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14922:1;:9;;:26;14932:12;14945:1;14932:15;;;;;;;;;;;;;;;;;;14922:26;;;;;;;;;;;;;;;;;;;;;;;;;14914:83;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15037:1;15024:7;15032:1;15024:10;;;;;;;;;;;;;;;;;;:14;15016:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15123:32;15144:7;15152:1;15144:10;;;;;;;;;;;;;;;;;;15123:16;:20;;:32;;;;:::i;:::-;15104:51;;15209:4;15174:1;:15;;:32;15190:12;15203:1;15190:15;;;;;;;;;;;;;;;;;;15174:32;;;;;;;;;;;;;;;;:39;;;;;;;;;;;;;;;;;;15260:12;15273:1;15260:15;;;;;;;;;;;;;;;;;;:24;;:36;15285:7;15293:1;15285:10;;;;;;;;;;;;;;;;;;15260:36;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;15260:36:0;14779:3;;;;;;;14734:577;;;14672:1414;;;15353:21;15332:42;;;;;;;;:1;:17;;;;;;;;;;;;:42;;;;;;;;;15328:758;;;15429:1;:14;;;;;;;;;;;;15391:53;;15476:1;15464:13;;15459:617;15481:12;:19;15479:1;:21;15459:617;;;15561:1;15534:29;;:12;15547:1;15534:15;;;;;;;;;;;;;;;;;;:29;;;;15526:92;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15645:1;:9;;:26;15655:12;15668:1;15655:15;;;;;;;;;;;;;;;;;;15645:26;;;;;;;;;;;;;;;;;;;;;;;;;15637:83;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15760:1;15747:7;15755:1;15747:10;;;;;;;;;;;;;;;;;;:14;15739:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15846:32;15867:7;15875:1;15867:10;;;;;;;;;;;;;;;;;;15846:16;:20;;:32;;;;:::i;:::-;15827:51;;15931:4;15896:1;:15;;:32;15912:12;15925:1;15912:15;;;;;;;;;;;;;;;;;;15896:32;;;;;;;;;;;;;;;;:39;;;;;;;;;;;;;;;;;;15991:5;:14;;;16006:12;16019:1;16006:15;;;;;;;;;;;;;;;;;;16023:7;16031:1;16023:10;;;;;;;;;;;;;;;;;;15991:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;15991:43:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;15991:43:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;15991:43:0;;;;;;;;;;;;;;;;15983:78;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15502:3;;;;;;;15459:617;;;15328:758;14672:1414;16103:16;16096:23;;14403:1723;;;;;;;;;;:::o;16311:1581::-;16533:7;16694:19;16812:14;17280:6;17329:17;16593:4;:11;16578:4;:11;:26;:56;;;;;16623:4;:11;16608:4;:11;:26;16578:56;16557:126;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17016:4;17011:10;;17052:1;17047:7;;17088:4;17119:12;17157:7;17190:10;16969:253;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;16969:253:0;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;16969:253:0;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;16969:253:0;;;16938:302;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;16938:302:0;;;;;;;;;;;;;;;;16852:402;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;16852:402:0;;;16829:435;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;16829:435:0;;;;;;;;;;;;;;;;16812:452;;17289:1;17280:10;;17275:582;17296:4;:11;17292:1;:15;17275:582;;;17349:122;17376:6;17400:4;17405:1;17400:7;;;;;;;;;;;;;;;;;;17425:4;17430:1;17425:7;;;;;;;;;;;;;;;;;;17450:4;17455:1;17450:7;;;;;;;;;;;;;;;;;;17349:122;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;17349:122:0;;;;;;;;17329:142;;17511:12;:24;17524:10;17511:24;;;;;;;;;;;;;;;;;:32;;:43;17544:9;17511:43;;;;;;;;;;;;;;;;;;;;;;;;;17486:120;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17646:12;:24;17659:10;17646:24;;;;;;;;;;;;;;;;;:30;;:41;17677:9;17646:41;;;;;;;;;;;;;;;;;;;;;;;;;17645:42;17620:127;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17805:4;17761:12;:24;17774:10;17761:24;;;;;;;;;;;;;;;;;:30;;:41;17792:9;17761:41;;;;;;;;;;;;;;;;:48;;;;;;;;;;;;;;;;;;17837:9;17823:23;;17309:3;;;;;;;17275:582;;;17874:11;17867:18;;16311:1581;;;;;;;;;;;;:::o;17898:317::-;18037:4;18057:17;18077:21;18085:12;18077:3;:7;;:21;;;;:::i;:::-;18057:41;;18145:1;18129:12;:17;;;:69;;18167:31;18193:4;18175:12;18167:21;;:25;;:31;;;;:::i;:::-;18155:9;:43;18129:69;;;18149:5;18129:69;18108:100;;17898:317;;;;;:::o;1078:131:2:-;1136:7;1172:9;1164:1;1159;:6;;1151:15;;;;;;;;1188:1;1184;:5;1172:17;;1203:1;1196:8;;1078:131;;;;;:::o;204:381::-;262:7;523:9;491:1;486;:6;482:35;;;509:1;502:8;;;;482:35;539:1;535;:5;523:17;;563:1;558;554;:5;;;;;;;;:10;546:19;;;;;;;;579:1;572:8;;204:381;;;;;;:::o", + "source": "pragma solidity 0.4.24;\n\nimport \"openzeppelin-solidity/contracts/math/SafeMath.sol\";\n\nimport \"../token/ITokenContract.sol\";\n\n\n/**\n* @dev Supports ERC20 tokens\n* The escrow smart contract for the open bazaar trades in Ethereum\n* The smart contract is designed keeping in mind the current wallet interface of the OB-core\n* https://github.com/OpenBazaar/wallet-interface/blob/master/wallet.go\n* Current wallet interface strictly adheres to UTXO(bitcoin) model\n*/\ncontract Escrow_v1_0 {\n\n using SafeMath for uint256;\n\n enum Status {FUNDED, RELEASED}\n\n enum TransactionType {ETHER, TOKEN}\n\n event Executed(\n bytes32 indexed scriptHash,\n address[] destinations,\n uint256[] amounts\n );\n\n event FundAdded(\n bytes32 indexed scriptHash,\n address indexed from,\n uint256 valueAdded\n );\n\n event Funded(\n bytes32 indexed scriptHash, \n address indexed from, \n uint256 value\n );\n\n struct Transaction {\n uint256 value;\n uint256 lastModified;//Time at which transaction was last modified\n Status status;\n TransactionType transactionType;\n uint8 threshold;\n uint32 timeoutHours;\n address buyer;\n address seller;\n address tokenAddress;//Token address in case of token transfer\n address moderator;\n mapping(address=>bool) isOwner;//to keep track of owners.\n mapping(address=>bool) voted;//to keep track of who all voted\n mapping(address=>bool) beneficiaries;//Benefeciaries of execution\n }\n\n mapping(bytes32 => Transaction) public transactions;\n\n uint256 public transactionCount = 0;\n\n //Contains mapping between each party and all of their transactions\n mapping(address => bytes32[]) private partyVsTransaction;\n\n modifier transactionExist(bytes32 scriptHash) {\n require(\n transactions[scriptHash].value != 0, \"Transaction does not exist\"\n );\n _;\n }\n\n modifier transactionDoesNotExist(bytes32 scriptHash) {\n require(transactions[scriptHash].value == 0, \"Transaction exist\");\n _;\n }\n\n modifier inFundedState(bytes32 scriptHash) {\n require(\n transactions[scriptHash].status == Status.FUNDED, \"Transaction is not in FUNDED state\"\n );\n _;\n }\n\n modifier nonZeroAddress(address addressToCheck) {\n require(addressToCheck != address(0), \"Zero address passed\");\n _;\n }\n\n modifier checkTransactionType(\n bytes32 scriptHash,\n TransactionType transactionType\n )\n {\n require(\n transactions[scriptHash].transactionType == transactionType, \"Transaction type does not match\"\n );\n _;\n }\n\n modifier onlyBuyer(bytes32 scriptHash) {\n require(\n msg.sender == transactions[scriptHash].buyer, \"The initiator of the transaction is not buyer\"\n );\n _;\n }\n\n /**\n *@dev Add new transaction in the contract\n *@param buyer The buyer of the transaction\n *@param seller The seller of the listing associated with the transaction\n *@param moderator Moderator for this transaction\n *@param scriptHash keccak256 hash of the redeem script\n *@param threshold Minimum number of signatures required to released funds\n *@param timeoutHours Hours after which seller can release funds into his favour by signing transaction unilaterally\n *@param uniqueId bytes20 unique id for the transaction, generated by ETH wallet\n *Redeem Script format will be following\n \n *Pass amount of the ethers to be put in escrow\n */\n function addTransaction(\n address buyer,\n address seller,\n address moderator,\n uint8 threshold,\n uint32 timeoutHours,\n bytes32 scriptHash,\n bytes20 uniqueId\n )\n external\n payable\n transactionDoesNotExist(scriptHash)\n nonZeroAddress(buyer)\n nonZeroAddress(seller)\n {\n _addTransaction(\n buyer,\n seller,\n moderator,\n threshold,\n timeoutHours,\n scriptHash,\n msg.value,\n uniqueId,\n TransactionType.ETHER,\n address(0)\n );\n \n emit Funded(scriptHash, msg.sender, msg.value);\n\n }\n\n /**\n *@dev Add new transaction in the contract\n *@param buyer The buyer of the transaction\n *@param seller The seller of the listing associated with the transaction\n *@param moderator Moderator for this transaction\n *@param scriptHash keccak256 hash of the redeem script\n *@param threshold Minimum number of signatures required to released funds\n *@param timeoutHours Hours after which seller can release funds into his favour by signing transaction unilaterally\n *@param value Amount of tokens to be put in escrow\n *@param uniqueId bytes20 unique id for the transaction, generated by ETH wallet\n *@param tokenAddress Address of the token to be used\n *Redeem Script format will be following\n \n *approve escrow contract to spend amount of token on sender's behalf\n */\n function addTokenTransaction(\n address buyer,\n address seller,\n address moderator,\n uint8 threshold,\n uint32 timeoutHours,\n bytes32 scriptHash,\n uint256 value,\n bytes20 uniqueId,\n address tokenAddress\n )\n external\n transactionDoesNotExist(scriptHash)\n nonZeroAddress(buyer)\n nonZeroAddress(seller)\n nonZeroAddress(tokenAddress)\n {\n\n _addTransaction(\n buyer,\n seller,\n moderator,\n threshold,\n timeoutHours,\n scriptHash,\n value,\n uniqueId,\n TransactionType.TOKEN,\n tokenAddress\n );\n\n ITokenContract token = ITokenContract(tokenAddress);\n\n require(\n token.transferFrom(msg.sender, address(this), value),\n \"Token transfer failed, maybe you did not approve escrow contract to spend on behalf of sender\"\n );\n emit Funded(scriptHash, msg.sender, value);\n }\n\n /**\n * @dev This method will check whether given address was a beneficiary of transaction execution or not\n * @param scriptHash script hash of the transaction\n * @param beneficiary Beneficiary address to be checked\n */\n function checkBeneficiary(\n bytes32 scriptHash,\n address beneficiary\n )\n external\n view\n returns (bool)\n {\n return transactions[scriptHash].beneficiaries[beneficiary];\n }\n\n /**\n * @dev This method will check whether given party has voted or not\n * @param scriptHash script hash of the transaction\n * @param party Address of the party whose vote has to be checked\n * @return bool vote\n */\n function checkVote(\n bytes32 scriptHash,\n address party\n )\n external\n view\n returns (bool)\n {\n return transactions[scriptHash].voted[party];\n }\n\n /**\n * @dev Allows buyer of the transaction to add more funds(ether) in the transaction. \n * This will help to cater scenarios wherein initially buyer missed to fund transaction as required\n * @param scriptHash script hash of the transaction\n * Only buyer of the transaction can invoke this method\n */\n function addFundsToTransaction(\n bytes32 scriptHash\n )\n external\n payable\n transactionExist(scriptHash)\n inFundedState(scriptHash)\n checkTransactionType(scriptHash, TransactionType.ETHER)\n onlyBuyer(scriptHash)\n \n {\n\n require(msg.value > 0, \"Value must be greater than zero.\");\n\n transactions[scriptHash].value = transactions[scriptHash].value\n .add(msg.value);\n transactions[scriptHash].lastModified = block.timestamp;\n\n emit FundAdded(scriptHash, msg.sender, msg.value);\n }\n\n /**\n * @dev Allows buyer of the transaction to add more funds(Tokens) in the transaction. \n * This will help to cater scenarios wherein initially buyer missed to fund transaction as required\n * @param scriptHash script hash of the transaction\n * Only buyer of the transaction can invoke this method\n */\n function addTokensToTransaction(\n bytes32 scriptHash,\n uint256 value\n )\n external\n transactionExist(scriptHash)\n inFundedState(scriptHash)\n checkTransactionType(scriptHash, TransactionType.TOKEN)\n onlyBuyer(scriptHash)\n {\n\n require(value > 0, \"Value must be greater than zero.\");\n\n ITokenContract token = ITokenContract(\n transactions[scriptHash].tokenAddress\n );\n\n require(\n token.transferFrom(transactions[scriptHash].buyer, address(this), value),\n \"Token transfer failed, maybe you did not approve escrow contract to spend on behalf of buyer\"\n );\n\n transactions[scriptHash].value = transactions[scriptHash].value\n .add(value);\n transactions[scriptHash].lastModified = block.timestamp;\n\n emit FundAdded(scriptHash, msg.sender, value);\n }\n\n /**\n *@dev Returns all transaction ids for a party\n *@param partyAddress Address of the party\n */\n function getAllTransactionsForParty(\n address partyAddress\n ) \n external \n view \n returns (bytes32[]) \n {\n return partyVsTransaction[partyAddress];\n }\n\n /**\n *@dev This method will be used to release funds associated with the transaction\n * Please see specs https://github.com/OpenBazaar/smart-contracts/blob/master/contracts/escrow/EscrowSpec.md\n *@param sigV Array containing V component of all the signatures\n *@param sigR Array containing R component of all the signatures\n *@param signS Array containing S component of all the signatures\n *@param scriptHash script hash of the transaction\n *@param destinations List of addresses who will receive funds\n *@param amounts amount released to each destination\n */\n function execute(\n uint8[] sigV,\n bytes32[] sigR,\n bytes32[] sigS,\n bytes32 scriptHash,\n address[] destinations,\n uint256[] amounts\n )\n external\n transactionExist(scriptHash)\n inFundedState(scriptHash)\n { \n require(\n destinations.length>0, \n \"Number of destinations must be greater than 0\"\n );\n require(\n destinations.length == amounts.length,\n \"Number of destinations must match number of values sent\"\n );\n \n _verifyTransaction(\n sigV,\n sigR,\n sigS,\n scriptHash,\n destinations,\n amounts\n );\n\n transactions[scriptHash].status = Status.RELEASED;\n //Last modified timestamp modified, which will be used by rewards\n transactions[scriptHash].lastModified = block.timestamp;\n require(\n _transferFunds(scriptHash, destinations, amounts) == transactions[scriptHash].value,\n \"Total value to be released must be equal to the transaction escrow value\"\n );\n \n emit Executed(scriptHash, destinations, amounts);\n }\n\n\n /**\n *@dev Method for calculating script hash. Calculation will depend upon the type of transaction\n * ETHER Type transaction-:\n * Script Hash- keccak256(uniqueId, threshold, timeoutHours, buyer, seller, moderator)\n * TOKEN Type transaction\n * Script Hash- keccak256(uniqueId, threshold, timeoutHours, buyer, seller, moderator, tokenAddress)\n * Client can use this method to verify whether it has calculated correct script hash or not\n */\n function calculateRedeemScriptHash(\n bytes20 uniqueId,\n uint8 threshold,\n uint32 timeoutHours,\n address buyer,\n address seller,\n address moderator,\n address tokenAddress\n )\n public\n view\n returns (bytes32)\n {\n if (tokenAddress == address(0)) {\n return keccak256(\n abi.encodePacked(\n uniqueId,\n threshold,\n timeoutHours,\n buyer,\n seller,\n moderator,\n address(this)\n )\n );\n } else {\n return keccak256(\n abi.encodePacked(\n uniqueId,\n threshold,\n timeoutHours,\n buyer,\n seller,\n moderator,\n address(this),\n tokenAddress\n )\n );\n }\n }\n\n /**\n * @dev This methods checks validity of transaction\n * 1. Verify Signatures\n * 2. Check if minimum number of signatures has been acquired\n * 3. If above condition is false, check if time lock is expired and the execution is signed by seller\n */\n function _verifyTransaction(\n uint8[] sigV,\n bytes32[] sigR,\n bytes32[] sigS,\n bytes32 scriptHash,\n address[] destinations,\n uint256[] amounts\n )\n private\n {\n address lastRecovered = _verifySignatures(\n sigV,\n sigR,\n sigS,\n scriptHash,\n destinations,\n amounts\n );\n\n bool timeLockExpired = _isTimeLockExpired(\n transactions[scriptHash].timeoutHours,\n transactions[scriptHash].lastModified\n );\n\n //if Minimum number of signatures are not gathered and timelock has not expired or transaction was not signed by seller then revert\n if (\n sigV.length < transactions[scriptHash].threshold && (!timeLockExpired || lastRecovered != transactions[scriptHash].seller)\n )\n {\n revert(\"Minimum number of signatures are not collected and time lock expiry conditions not met!!\");\n }\n\n }\n\n /**\n *@dev Private method to transfer funds to the destination addresses on the basis of transaction type\n */\n function _transferFunds(\n bytes32 scriptHash,\n address[]destinations,\n uint256[]amounts\n )\n private\n returns (uint256)\n {\n Transaction storage t = transactions[scriptHash];\n\n uint256 valueTransferred = 0;\n\n if (t.transactionType == TransactionType.ETHER) {\n for (uint256 i = 0; i < destinations.length; i++) {\n\n require(destinations[i] != address(0), \"zero address is not allowed as destination address\");\n\n require(t.isOwner[destinations[i]], \"Destination address is not one of the owners\");\n\n require(amounts[i] > 0, \"Amount to be sent should be greater than 0\");\n\n valueTransferred = valueTransferred.add(amounts[i]);\n\n t.beneficiaries[destinations[i]] = true;//add receiver as beneficiary\n destinations[i].transfer(amounts[i]);\n }\n\n } else if (t.transactionType == TransactionType.TOKEN) {\n\n ITokenContract token = ITokenContract(t.tokenAddress);\n\n for (uint256 j = 0; j 0, \"Amount to be sent should be greater than 0\");\n\n valueTransferred = valueTransferred.add(amounts[j]);\n t.beneficiaries[destinations[j]] = true;//add receiver as beneficiary\n\n require(token.transfer(destinations[j], amounts[j]), \"Token transfer failed.\");\n }\n } \n return valueTransferred;\n }\n\n //to check whether the signatures are valid or not and if consensus was reached\n //returns the last address recovered, in case of timeout this must be the sender's address\n function _verifySignatures(\n uint8[] sigV,\n bytes32[] sigR,\n bytes32[] sigS,\n bytes32 scriptHash,\n address[] destinations,\n uint256[]amounts\n )\n private\n returns (address)\n {\n\n require(\n sigR.length == sigS.length && sigR.length == sigV.length, \n \"R,S,V length mismatch.\"\n );\n\n address lastAddress;\n\n // Follows ERC191 signature scheme: https://github.com/ethereum/EIPs/issues/191\n bytes32 txHash = keccak256(\n abi.encodePacked(\n \"\\x19Ethereum Signed Message:\\n32\",\n keccak256(\n abi.encodePacked(\n byte(0x19),\n byte(0),\n address(this),\n destinations,\n amounts,\n scriptHash\n )\n )\n )\n );\n\n for (uint i = 0; i < sigR.length; i++) {\n\n address recovered = ecrecover(\n txHash,\n sigV[i],\n sigR[i],\n sigS[i]\n );\n\n require(\n transactions[scriptHash].isOwner[recovered], \n \"Invalid signature\"\n );\n require(\n !transactions[scriptHash].voted[recovered], \n \"Same signature sent twice\"\n );\n transactions[scriptHash].voted[recovered] = true;\n lastAddress = recovered;\n }\n\n return lastAddress;\n }\n\n function _isTimeLockExpired(\n uint32 timeoutHours,\n uint256 lastModified\n )\n private\n view\n returns (bool)\n {\n uint256 timeSince = now.sub(lastModified);\n return (\n timeoutHours == 0 ? false:timeSince > uint256(timeoutHours).mul(3600)\n );\n }\n\n /**\n * Private method to add transaction to reduce code redundancy\n */\n function _addTransaction(\n address buyer,\n address seller,\n address moderator,\n uint8 threshold,\n uint32 timeoutHours,\n bytes32 scriptHash,\n uint256 value,\n bytes20 uniqueId,\n TransactionType transactionType,\n address tokenAddress\n )\n private\n { \n require(buyer != seller, \"Buyer and seller are same\");\n\n //value passed should be greater than 0\n require(value > 0, \"Value passed is 0\");\n\n // For now allowing 0 moderator to support 1-2 multisig wallet\n require(\n threshold > 0 && threshold <= 3, \n \"Threshold cannot be greater than 3 and must be greater than 0\"\n );\n\n //if threshold is 1 then moderator can be passed as zero address or any other address\n //(it won't matter apart from scripthash since we wont add moderator as one of the owner),\n //otherwise moderator should be a valid address\n require(\n threshold == 1 || moderator != address(0),\n \"Either threshold should be 1 or valid moderator address should be passed\"\n );\n\n require(\n scriptHash == calculateRedeemScriptHash(\n uniqueId,\n threshold,\n timeoutHours,\n buyer,\n seller,\n moderator,\n tokenAddress\n ), \n \"Calculated script hash does not match passed script hash.\"\n );\n\n transactions[scriptHash] = Transaction({\n buyer: buyer,\n seller: seller,\n moderator: moderator,\n value: value,\n status: Status.FUNDED,\n lastModified: block.timestamp,\n threshold: threshold,\n timeoutHours: timeoutHours,\n transactionType:transactionType,\n tokenAddress:tokenAddress\n });\n\n transactions[scriptHash].isOwner[seller] = true;\n transactions[scriptHash].isOwner[buyer] = true; \n\n //Check if buyer or seller are not passed as moderator\n require(\n !transactions[scriptHash].isOwner[moderator], \n \"Either buyer or seller is passed as moderator\"\n );\n\n //set moderator as one of the owners only if threshold is greater than 1 otherwise only buyer and seller should be able to release funds\n if (threshold > 1) {\n transactions[scriptHash].isOwner[moderator] = true;\n }\n \n\n transactionCount++;\n\n partyVsTransaction[buyer].push(scriptHash);\n partyVsTransaction[seller].push(scriptHash);\n }\n}\n", "sourcePath": "/home/sameep/freelancing-projects/toptal/open baazar/publicRepo/smart-contracts/contracts/escrow/Escrow_v1_0.sol", "ast": { "absolutePath": "/home/sameep/freelancing-projects/toptal/open baazar/publicRepo/smart-contracts/contracts/escrow/Escrow_v1_0.sol", "exportedSymbols": { "Escrow_v1_0": [ - 1215 + 1224 ] }, - "id": 1216, + "id": 1225, "nodeType": "SourceUnit", "nodes": [ { @@ -426,8 +426,8 @@ "file": "openzeppelin-solidity/contracts/math/SafeMath.sol", "id": 2, "nodeType": "ImportDirective", - "scope": 1216, - "sourceUnit": 1374, + "scope": 1225, + "sourceUnit": 1383, "src": "25:59:0", "symbolAliases": [], "unitAlias": "" @@ -437,8 +437,8 @@ "file": "../token/ITokenContract.sol", "id": 3, "nodeType": "ImportDirective", - "scope": 1216, - "sourceUnit": 1246, + "scope": 1225, + "sourceUnit": 1255, "src": "86:37:0", "symbolAliases": [], "unitAlias": "" @@ -449,9 +449,9 @@ "contractKind": "contract", "documentation": "@dev Supports ERC20 tokens\nThe escrow smart contract for the open bazaar trades in Ethereum\nThe smart contract is designed keeping in mind the current wallet interface of the OB-core\nhttps://github.com/OpenBazaar/wallet-interface/blob/master/wallet.go\nCurrent wallet interface strictly adheres to UTXO(bitcoin) model", "fullyImplemented": true, - "id": 1215, + "id": 1224, "linearizedBaseContracts": [ - 1215 + 1224 ], "name": "Escrow_v1_0", "nodeType": "ContractDefinition", @@ -463,10 +463,10 @@ "id": 4, "name": "SafeMath", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1373, + "referencedDeclaration": 1382, "src": "494:8:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$1373", + "typeIdentifier": "t_contract$_SafeMath_$1382", "typeString": "library SafeMath" } }, @@ -1239,7 +1239,7 @@ ], "name": "Transaction", "nodeType": "StructDefinition", - "scope": 1215, + "scope": 1224, "src": "958:597:0", "visibility": "public" }, @@ -1248,7 +1248,7 @@ "id": 75, "name": "transactions", "nodeType": "VariableDeclaration", - "scope": 1215, + "scope": 1224, "src": "1561:51:0", "stateVariable": true, "storageLocation": "default", @@ -1295,7 +1295,7 @@ "id": 78, "name": "transactionCount", "nodeType": "VariableDeclaration", - "scope": 1215, + "scope": 1224, "src": "1619:35:0", "stateVariable": true, "storageLocation": "default", @@ -1338,7 +1338,7 @@ "id": 83, "name": "partyVsTransaction", "nodeType": "VariableDeclaration", - "scope": 1215, + "scope": 1224, "src": "1733:56:0", "stateVariable": true, "storageLocation": "default", @@ -1525,10 +1525,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1391, - 1392 + 1400, + 1401 ], - "referencedDeclaration": 1392, + "referencedDeclaration": 1401, "src": "1852:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -1737,10 +1737,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1391, - 1392 + 1400, + 1401 ], - "referencedDeclaration": 1392, + "referencedDeclaration": 1401, "src": "2035:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -1960,10 +1960,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1391, - 1392 + 1400, + 1401 ], - "referencedDeclaration": 1392, + "referencedDeclaration": 1401, "src": "2177:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -2167,10 +2167,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1391, - 1392 + 1400, + 1401 ], - "referencedDeclaration": 1392, + "referencedDeclaration": 1401, "src": "2376:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -2374,10 +2374,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1391, - 1392 + 1400, + 1401 ], - "referencedDeclaration": 1392, + "referencedDeclaration": 1401, "src": "2579:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -2506,7 +2506,7 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1388, + "referencedDeclaration": 1397, "src": "2798:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", @@ -2625,10 +2625,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1391, - 1392 + 1400, + 1401 ], - "referencedDeclaration": 1392, + "referencedDeclaration": 1401, "src": "2777:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -2796,7 +2796,7 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1388, + "referencedDeclaration": 1397, "src": "4230:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", @@ -2963,7 +2963,7 @@ "name": "_addTransaction", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1214, + "referencedDeclaration": 1223, "src": "4066:15:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_address_$_t_uint8_$_t_uint32_$_t_bytes32_$_t_uint256_$_t_bytes20_$_t_enum$_TransactionType_$12_$_t_address_$returns$__$", @@ -3013,7 +3013,7 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1388, + "referencedDeclaration": 1397, "src": "4373:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", @@ -3042,7 +3042,7 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1388, + "referencedDeclaration": 1397, "src": "4385:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", @@ -3414,7 +3414,7 @@ "parameters": [], "src": "4056:0:0" }, - "scope": 1215, + "scope": 1224, "src": "3702:701:0", "stateMutability": "payable", "superFunction": null, @@ -3624,7 +3624,7 @@ "name": "_addTransaction", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1214, + "referencedDeclaration": 1223, "src": "5781:15:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_address_$_t_uint8_$_t_uint32_$_t_bytes32_$_t_uint256_$_t_bytes20_$_t_enum$_TransactionType_$12_$_t_address_$returns$__$", @@ -3664,7 +3664,7 @@ "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenContract_$1245", + "typeIdentifier": "t_contract$_ITokenContract_$1254", "typeString": "contract ITokenContract" }, "typeName": { @@ -3672,10 +3672,10 @@ "id": 281, "name": "ITokenContract", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1245, + "referencedDeclaration": 1254, "src": "6054:14:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenContract_$1245", + "typeIdentifier": "t_contract$_ITokenContract_$1254", "typeString": "contract ITokenContract" } }, @@ -3712,10 +3712,10 @@ "name": "ITokenContract", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1245, + "referencedDeclaration": 1254, "src": "6077:14:0", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ITokenContract_$1245_$", + "typeIdentifier": "t_type$_t_contract$_ITokenContract_$1254_$", "typeString": "type(contract ITokenContract)" } }, @@ -3729,7 +3729,7 @@ "nodeType": "FunctionCall", "src": "6077:28:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenContract_$1245", + "typeIdentifier": "t_contract$_ITokenContract_$1254", "typeString": "contract ITokenContract" } }, @@ -3751,7 +3751,7 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1388, + "referencedDeclaration": 1397, "src": "6156:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", @@ -3781,10 +3781,10 @@ "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1405, + "referencedDeclaration": 1414, "src": "6176:4:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_Escrow_v1_0_$1215", + "typeIdentifier": "t_contract$_Escrow_v1_0_$1224", "typeString": "contract Escrow_v1_0" } } @@ -3792,7 +3792,7 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_Escrow_v1_0_$1215", + "typeIdentifier": "t_contract$_Escrow_v1_0_$1224", "typeString": "contract Escrow_v1_0" } ], @@ -3861,7 +3861,7 @@ "referencedDeclaration": 282, "src": "6137:5:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenContract_$1245", + "typeIdentifier": "t_contract$_ITokenContract_$1254", "typeString": "contract ITokenContract" } }, @@ -3872,7 +3872,7 @@ "lValueRequested": false, "memberName": "transferFrom", "nodeType": "MemberAccess", - "referencedDeclaration": 1244, + "referencedDeclaration": 1253, "src": "6137:18:0", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", @@ -3927,10 +3927,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1391, - 1392 + 1400, + 1401 ], - "referencedDeclaration": 1392, + "referencedDeclaration": 1401, "src": "6116:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -3980,7 +3980,7 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1388, + "referencedDeclaration": 1397, "src": "6342:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", @@ -4450,7 +4450,7 @@ "parameters": [], "src": "5770:0:0" }, - "scope": 1215, + "scope": 1224, "src": "5337:1030:0", "stateMutability": "nonpayable", "superFunction": null, @@ -4654,7 +4654,7 @@ ], "src": "6743:6:0" }, - "scope": 1215, + "scope": 1224, "src": "6608:221:0", "stateMutability": "view", "superFunction": null, @@ -4858,7 +4858,7 @@ ], "src": "7191:6:0" }, - "scope": 1215, + "scope": 1224, "src": "7069:194:0", "stateMutability": "view", "superFunction": null, @@ -4893,7 +4893,7 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1388, + "referencedDeclaration": 1397, "src": "7885:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", @@ -4974,10 +4974,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1391, - 1392 + 1400, + 1401 ], - "referencedDeclaration": 1392, + "referencedDeclaration": 1401, "src": "7877:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -5079,7 +5079,7 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1388, + "referencedDeclaration": 1397, "src": "8027:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", @@ -5171,7 +5171,7 @@ "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 1352, + "referencedDeclaration": 1361, "src": "7979:47:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", @@ -5276,7 +5276,7 @@ "name": "block", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1378, + "referencedDeclaration": 1387, "src": "8087:5:0", "typeDescriptions": { "typeIdentifier": "t_magic_block", @@ -5332,7 +5332,7 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1388, + "referencedDeclaration": 1397, "src": "8140:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", @@ -5361,7 +5361,7 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1388, + "referencedDeclaration": 1397, "src": "8152:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", @@ -5639,7 +5639,7 @@ "parameters": [], "src": "7866:0:0" }, - "scope": 1215, + "scope": 1224, "src": "7590:579:0", "stateMutability": "payable", "superFunction": null, @@ -5739,10 +5739,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1391, - 1392 + 1400, + 1401 ], - "referencedDeclaration": 1392, + "referencedDeclaration": 1401, "src": "8783:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -5782,7 +5782,7 @@ "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenContract_$1245", + "typeIdentifier": "t_contract$_ITokenContract_$1254", "typeString": "contract ITokenContract" }, "typeName": { @@ -5790,10 +5790,10 @@ "id": 428, "name": "ITokenContract", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1245, + "referencedDeclaration": 1254, "src": "8848:14:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenContract_$1245", + "typeIdentifier": "t_contract$_ITokenContract_$1254", "typeString": "contract ITokenContract" } }, @@ -5873,10 +5873,10 @@ "name": "ITokenContract", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1245, + "referencedDeclaration": 1254, "src": "8871:14:0", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ITokenContract_$1245_$", + "typeIdentifier": "t_type$_t_contract$_ITokenContract_$1254_$", "typeString": "type(contract ITokenContract)" } }, @@ -5890,7 +5890,7 @@ "nodeType": "FunctionCall", "src": "8871:75:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenContract_$1245", + "typeIdentifier": "t_contract$_ITokenContract_$1254", "typeString": "contract ITokenContract" } }, @@ -5969,10 +5969,10 @@ "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1405, + "referencedDeclaration": 1414, "src": "9037:4:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_Escrow_v1_0_$1215", + "typeIdentifier": "t_contract$_Escrow_v1_0_$1224", "typeString": "contract Escrow_v1_0" } } @@ -5980,7 +5980,7 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_Escrow_v1_0_$1215", + "typeIdentifier": "t_contract$_Escrow_v1_0_$1224", "typeString": "contract Escrow_v1_0" } ], @@ -6049,7 +6049,7 @@ "referencedDeclaration": 429, "src": "8978:5:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenContract_$1245", + "typeIdentifier": "t_contract$_ITokenContract_$1254", "typeString": "contract ITokenContract" } }, @@ -6060,7 +6060,7 @@ "lValueRequested": false, "memberName": "transferFrom", "nodeType": "MemberAccess", - "referencedDeclaration": 1244, + "referencedDeclaration": 1253, "src": "8978:18:0", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", @@ -6115,10 +6115,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1391, - 1392 + 1400, + 1401 ], - "referencedDeclaration": 1392, + "referencedDeclaration": 1401, "src": "8957:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -6296,7 +6296,7 @@ "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 1352, + "referencedDeclaration": 1361, "src": "9212:47:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", @@ -6401,7 +6401,7 @@ "name": "block", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1378, + "referencedDeclaration": 1387, "src": "9316:5:0", "typeDescriptions": { "typeIdentifier": "t_magic_block", @@ -6457,7 +6457,7 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1388, + "referencedDeclaration": 1397, "src": "9369:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", @@ -6774,7 +6774,7 @@ "parameters": [], "src": "8772:0:0" }, - "scope": 1215, + "scope": 1224, "src": "8497:897:0", "stateMutability": "nonpayable", "superFunction": null, @@ -6919,7 +6919,7 @@ ], "src": "9632:11:0" }, - "scope": 1215, + "scope": 1224, "src": "9511:194:0", "stateMutability": "view", "superFunction": null, @@ -6927,9 +6927,9 @@ }, { "body": { - "id": 579, + "id": 582, "nodeType": "Block", - "src": "10575:792:0", + "src": "10575:932:0", "statements": [ { "expression": { @@ -6938,160 +6938,207 @@ { "argumentTypes": null, "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_uint256", + "typeString": "uint256" }, - "id": 530, + "id": 524, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "expression": { + "argumentTypes": null, + "id": 521, + "name": "destinations", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 508, + "src": "10609:12:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", + "typeString": "address[] calldata" + } }, - "id": 524, + "id": 522, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 521, - "name": "destinations", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 508, - "src": "10606:12:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", - "typeString": "address[] calldata" - } - }, - "id": 522, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "10606:19:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 523, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10626:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "10606:21:0", + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "10609:19:0", "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, "nodeType": "BinaryOperation", - "operator": "&&", + "operator": ">", "rightExpression": { "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 529, + "hexValue": "30", + "id": 523, "isConstant": false, "isLValue": false, - "isPure": false, + "isPure": true, + "kind": "number", "lValueRequested": false, - "leftExpression": { + "nodeType": "Literal", + "src": "10629:1:0", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "10609:21:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "argumentTypes": null, + "hexValue": "4e756d626572206f662064657374696e6174696f6e73206d7573742062652067726561746572207468616e2030", + "id": 525, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10645:47:0", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_fbeb58246a6e3ff255a1d618f14d1cced67ffd4784fbc3e1cfbdf71d1f7fbdf9", + "typeString": "literal_string \"Number of destinations must be greater than 0\"" + }, + "value": "Number of destinations must be greater than 0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_fbeb58246a6e3ff255a1d618f14d1cced67ffd4784fbc3e1cfbdf71d1f7fbdf9", + "typeString": "literal_string \"Number of destinations must be greater than 0\"" + } + ], + "id": 520, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 1400, + 1401 + ], + "referencedDeclaration": 1401, + "src": "10588:7:0", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 526, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10588:114:0", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 527, + "nodeType": "ExpressionStatement", + "src": "10588:114:0" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 533, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 525, - "name": "destinations", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 508, - "src": "10631:12:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", - "typeString": "address[] calldata" - } - }, - "id": 526, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "10631:19:0", + "id": 529, + "name": "destinations", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 508, + "src": "10733:12:0", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", + "typeString": "address[] calldata" } }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { + "id": 530, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "10733:19:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "expression": { "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 527, - "name": "amounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 511, - "src": "10654:7:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", - "typeString": "uint256[] calldata" - } - }, - "id": 528, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "10654:14:0", + "id": 531, + "name": "amounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 511, + "src": "10756:7:0", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[] calldata" } }, - "src": "10631:37:0", + "id": 532, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "10756:14:0", "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, - "src": "10606:62:0", + "src": "10733:37:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -7099,21 +7146,21 @@ }, { "argumentTypes": null, - "hexValue": "4c656e677468206f662064657374696e6174696f6e7320697320696e636f72726563742e", - "id": 531, + "hexValue": "4e756d626572206f662064657374696e6174696f6e73206d757374206d61746368206e756d626572206f662076616c7565732073656e74", + "id": 534, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "10670:38:0", + "src": "10784:57:0", "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_stringliteral_53e979b0c355ea1eeda44a80ca73370fdb2abe922711b459aa4ee43d1558782b", - "typeString": "literal_string \"Length of destinations is incorrect.\"" + "typeIdentifier": "t_stringliteral_e70a315a5939ff57e3400503291dbc0af19d18c32f15c80c7c6f5b7c54a6cd3c", + "typeString": "literal_string \"Number of destinations must match number of values sent\"" }, - "value": "Length of destinations is incorrect." + "value": "Number of destinations must match number of values sent" } ], "expression": { @@ -7123,25 +7170,25 @@ "typeString": "bool" }, { - "typeIdentifier": "t_stringliteral_53e979b0c355ea1eeda44a80ca73370fdb2abe922711b459aa4ee43d1558782b", - "typeString": "literal_string \"Length of destinations is incorrect.\"" + "typeIdentifier": "t_stringliteral_e70a315a5939ff57e3400503291dbc0af19d18c32f15c80c7c6f5b7c54a6cd3c", + "typeString": "literal_string \"Number of destinations must match number of values sent\"" } ], - "id": 520, + "id": 528, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1391, - 1392 + 1400, + 1401 ], - "referencedDeclaration": 1392, - "src": "10585:7:0", + "referencedDeclaration": 1401, + "src": "10712:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 532, + "id": 535, "isConstant": false, "isLValue": false, "isPure": false, @@ -7149,15 +7196,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "10585:133:0", + "src": "10712:139:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 533, + "id": 536, "nodeType": "ExpressionStatement", - "src": "10585:133:0" + "src": "10712:139:0" }, { "expression": { @@ -7165,12 +7212,12 @@ "arguments": [ { "argumentTypes": null, - "id": 535, + "id": 538, "name": "sigV", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 497, - "src": "10761:4:0", + "src": "10901:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_calldata_ptr", "typeString": "uint8[] calldata" @@ -7178,12 +7225,12 @@ }, { "argumentTypes": null, - "id": 536, + "id": 539, "name": "sigR", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 500, - "src": "10779:4:0", + "src": "10919:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", "typeString": "bytes32[] calldata" @@ -7191,12 +7238,12 @@ }, { "argumentTypes": null, - "id": 537, + "id": 540, "name": "sigS", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 503, - "src": "10797:4:0", + "src": "10937:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", "typeString": "bytes32[] calldata" @@ -7204,12 +7251,12 @@ }, { "argumentTypes": null, - "id": 538, + "id": 541, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 505, - "src": "10815:10:0", + "src": "10955:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -7217,12 +7264,12 @@ }, { "argumentTypes": null, - "id": 539, + "id": 542, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 508, - "src": "10839:12:0", + "src": "10979:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" @@ -7230,12 +7277,12 @@ }, { "argumentTypes": null, - "id": 540, + "id": 543, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 511, - "src": "10865:7:0", + "src": "11005:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", "typeString": "uint256[] calldata" @@ -7269,18 +7316,18 @@ "typeString": "uint256[] calldata" } ], - "id": 534, + "id": 537, "name": "_verifyTransaction", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 708, - "src": "10729:18:0", + "referencedDeclaration": 711, + "src": "10869:18:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_array$_t_uint8_$dyn_memory_ptr_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_bytes32_$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$__$", "typeString": "function (uint8[] memory,bytes32[] memory,bytes32[] memory,bytes32,address[] memory,uint256[] memory)" } }, - "id": 541, + "id": 544, "isConstant": false, "isLValue": false, "isPure": false, @@ -7288,20 +7335,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "10729:153:0", + "src": "10869:153:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 542, + "id": 545, "nodeType": "ExpressionStatement", - "src": "10729:153:0" + "src": "10869:153:0" }, { "expression": { "argumentTypes": null, - "id": 549, + "id": 552, "isConstant": false, "isLValue": false, "isPure": false, @@ -7312,26 +7359,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 543, + "id": 546, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "10893:12:0", + "src": "11033:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 545, + "id": 548, "indexExpression": { "argumentTypes": null, - "id": 544, + "id": 547, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 505, - "src": "10906:10:0", + "src": "11046:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -7342,13 +7389,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "10893:24:0", + "src": "11033:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 546, + "id": 549, "isConstant": false, "isLValue": true, "isPure": false, @@ -7356,7 +7403,7 @@ "memberName": "status", "nodeType": "MemberAccess", "referencedDeclaration": 44, - "src": "10893:31:0", + "src": "11033:31:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$9", "typeString": "enum Escrow_v1_0.Status" @@ -7368,18 +7415,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 547, + "id": 550, "name": "Status", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9, - "src": "10927:6:0", + "src": "11067:6:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_Status_$9_$", "typeString": "type(enum Escrow_v1_0.Status)" } }, - "id": 548, + "id": 551, "isConstant": false, "isLValue": false, "isPure": true, @@ -7387,26 +7434,26 @@ "memberName": "RELEASED", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "10927:15:0", + "src": "11067:15:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$9", "typeString": "enum Escrow_v1_0.Status" } }, - "src": "10893:49:0", + "src": "11033:49:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$9", "typeString": "enum Escrow_v1_0.Status" } }, - "id": 550, + "id": 553, "nodeType": "ExpressionStatement", - "src": "10893:49:0" + "src": "11033:49:0" }, { "expression": { "argumentTypes": null, - "id": 557, + "id": 560, "isConstant": false, "isLValue": false, "isPure": false, @@ -7417,26 +7464,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 551, + "id": 554, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "11026:12:0", + "src": "11166:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 553, + "id": 556, "indexExpression": { "argumentTypes": null, - "id": 552, + "id": 555, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 505, - "src": "11039:10:0", + "src": "11179:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -7447,13 +7494,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "11026:24:0", + "src": "11166:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 554, + "id": 557, "isConstant": false, "isLValue": true, "isPure": false, @@ -7461,7 +7508,7 @@ "memberName": "lastModified", "nodeType": "MemberAccess", "referencedDeclaration": 42, - "src": "11026:37:0", + "src": "11166:37:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7473,18 +7520,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 555, + "id": 558, "name": "block", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1378, - "src": "11066:5:0", + "referencedDeclaration": 1387, + "src": "11206:5:0", "typeDescriptions": { "typeIdentifier": "t_magic_block", "typeString": "block" } }, - "id": 556, + "id": 559, "isConstant": false, "isLValue": false, "isPure": false, @@ -7492,21 +7539,21 @@ "memberName": "timestamp", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "11066:15:0", + "src": "11206:15:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "11026:55:0", + "src": "11166:55:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 558, + "id": 561, "nodeType": "ExpressionStatement", - "src": "11026:55:0" + "src": "11166:55:0" }, { "expression": { @@ -7518,7 +7565,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 569, + "id": 572, "isConstant": false, "isLValue": false, "isPure": false, @@ -7528,12 +7575,12 @@ "arguments": [ { "argumentTypes": null, - "id": 561, + "id": 564, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 505, - "src": "11127:10:0", + "src": "11267:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -7541,12 +7588,12 @@ }, { "argumentTypes": null, - "id": 562, + "id": 565, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 508, - "src": "11139:12:0", + "src": "11279:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" @@ -7554,12 +7601,12 @@ }, { "argumentTypes": null, - "id": 563, + "id": 566, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 511, - "src": "11153:7:0", + "src": "11293:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", "typeString": "uint256[] calldata" @@ -7581,18 +7628,18 @@ "typeString": "uint256[] calldata" } ], - "id": 560, + "id": 563, "name": "_transferFunds", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 895, - "src": "11112:14:0", + "referencedDeclaration": 904, + "src": "11252:14:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$_t_uint256_$", "typeString": "function (bytes32,address[] memory,uint256[] memory) returns (uint256)" } }, - "id": 564, + "id": 567, "isConstant": false, "isLValue": false, "isPure": false, @@ -7600,7 +7647,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "11112:49:0", + "src": "11252:49:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7614,26 +7661,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 565, + "id": 568, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "11165:12:0", + "src": "11305:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 567, + "id": 570, "indexExpression": { "argumentTypes": null, - "id": 566, + "id": 569, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 505, - "src": "11178:10:0", + "src": "11318:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -7644,13 +7691,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "11165:24:0", + "src": "11305:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 568, + "id": 571, "isConstant": false, "isLValue": true, "isPure": false, @@ -7658,13 +7705,13 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": 40, - "src": "11165:30:0", + "src": "11305:30:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "11112:83:0", + "src": "11252:83:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -7673,14 +7720,14 @@ { "argumentTypes": null, "hexValue": "546f74616c2076616c756520746f2062652072656c6561736564206d75737420626520657175616c20746f20746865207472616e73616374696f6e20657363726f772076616c7565", - "id": 570, + "id": 573, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "11209:74:0", + "src": "11349:74:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_9e0bdb14e2e0d5e118fd1f547268c6a1fdb5e8facacd614066d4b60bc2c9941d", @@ -7700,21 +7747,21 @@ "typeString": "literal_string \"Total value to be released must be equal to the transaction escrow value\"" } ], - "id": 559, + "id": 562, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1391, - 1392 + 1400, + 1401 ], - "referencedDeclaration": 1392, - "src": "11091:7:0", + "referencedDeclaration": 1401, + "src": "11231:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 571, + "id": 574, "isConstant": false, "isLValue": false, "isPure": false, @@ -7722,15 +7769,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "11091:202:0", + "src": "11231:202:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 572, + "id": 575, "nodeType": "ExpressionStatement", - "src": "11091:202:0" + "src": "11231:202:0" }, { "eventCall": { @@ -7738,12 +7785,12 @@ "arguments": [ { "argumentTypes": null, - "id": 574, + "id": 577, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 505, - "src": "11326:10:0", + "src": "11466:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -7751,12 +7798,12 @@ }, { "argumentTypes": null, - "id": 575, + "id": 578, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 508, - "src": "11338:12:0", + "src": "11478:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" @@ -7764,12 +7811,12 @@ }, { "argumentTypes": null, - "id": 576, + "id": 579, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 511, - "src": "11352:7:0", + "src": "11492:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", "typeString": "uint256[] calldata" @@ -7791,18 +7838,18 @@ "typeString": "uint256[] calldata" } ], - "id": 573, + "id": 576, "name": "Executed", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 22, - "src": "11317:8:0", + "src": "11457:8:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$__$", "typeString": "function (bytes32,address[] memory,uint256[] memory)" } }, - "id": 577, + "id": 580, "isConstant": false, "isLValue": false, "isPure": false, @@ -7810,20 +7857,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "11317:43:0", + "src": "11457:43:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 578, + "id": 581, "nodeType": "EmitStatement", - "src": "11312:48:0" + "src": "11452:48:0" } ] }, "documentation": "dev This method will be used to release funds associated with the transaction\nPlease see specs https://github.com/OpenBazaar/smart-contracts/blob/master/contracts/escrow/EscrowSpec.md\nparam sigV Array containing V component of all the signatures\nparam sigR Array containing R component of all the signatures\nparam signS Array containing S component of all the signatures\nparam scriptHash script hash of the transaction\nparam destinations List of addresses who will receive funds\nparam amounts amount released to each destination", - "id": 580, + "id": 583, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -7906,7 +7953,7 @@ "id": 497, "name": "sigV", "nodeType": "VariableDeclaration", - "scope": 580, + "scope": 583, "src": "10329:12:0", "stateVariable": false, "storageLocation": "default", @@ -7942,7 +7989,7 @@ "id": 500, "name": "sigR", "nodeType": "VariableDeclaration", - "scope": 580, + "scope": 583, "src": "10351:14:0", "stateVariable": false, "storageLocation": "default", @@ -7978,7 +8025,7 @@ "id": 503, "name": "sigS", "nodeType": "VariableDeclaration", - "scope": 580, + "scope": 583, "src": "10375:14:0", "stateVariable": false, "storageLocation": "default", @@ -8014,7 +8061,7 @@ "id": 505, "name": "scriptHash", "nodeType": "VariableDeclaration", - "scope": 580, + "scope": 583, "src": "10399:18:0", "stateVariable": false, "storageLocation": "default", @@ -8040,7 +8087,7 @@ "id": 508, "name": "destinations", "nodeType": "VariableDeclaration", - "scope": 580, + "scope": 583, "src": "10427:22:0", "stateVariable": false, "storageLocation": "default", @@ -8076,7 +8123,7 @@ "id": 511, "name": "amounts", "nodeType": "VariableDeclaration", - "scope": 580, + "scope": 583, "src": "10459:17:0", "stateVariable": false, "storageLocation": "default", @@ -8117,17 +8164,17 @@ "parameters": [], "src": "10575:0:0" }, - "scope": 1215, - "src": "10303:1064:0", + "scope": 1224, + "src": "10303:1204:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" }, { "body": { - "id": 638, + "id": 641, "nodeType": "Block", - "src": "12121:734:0", + "src": "12261:734:0", "statements": [ { "condition": { @@ -8136,19 +8183,19 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 603, + "id": 606, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 599, + "id": 602, "name": "tokenAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 594, - "src": "12135:12:0", + "referencedDeclaration": 597, + "src": "12275:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8162,14 +8209,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 601, + "id": 604, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "12159:1:0", + "src": "12299:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -8185,20 +8232,20 @@ "typeString": "int_const 0" } ], - "id": 600, + "id": 603, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "12151:7:0", + "src": "12291:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, - "id": 602, + "id": 605, "isConstant": false, "isLValue": false, "isPure": true, @@ -8206,22 +8253,22 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "12151:10:0", + "src": "12291:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "12135:26:0", + "src": "12275:26:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": { - "id": 636, + "id": 639, "nodeType": "Block", - "src": "12492:357:0", + "src": "12632:357:0", "statements": [ { "expression": { @@ -8232,12 +8279,12 @@ "arguments": [ { "argumentTypes": null, - "id": 623, + "id": 626, "name": "uniqueId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 582, - "src": "12578:8:0", + "referencedDeclaration": 585, + "src": "12718:8:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -8245,12 +8292,12 @@ }, { "argumentTypes": null, - "id": 624, + "id": 627, "name": "threshold", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 584, - "src": "12608:9:0", + "referencedDeclaration": 587, + "src": "12748:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -8258,12 +8305,12 @@ }, { "argumentTypes": null, - "id": 625, + "id": 628, "name": "timeoutHours", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 586, - "src": "12639:12:0", + "referencedDeclaration": 589, + "src": "12779:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -8271,12 +8318,12 @@ }, { "argumentTypes": null, - "id": 626, + "id": 629, "name": "buyer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 588, - "src": "12673:5:0", + "referencedDeclaration": 591, + "src": "12813:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8284,12 +8331,12 @@ }, { "argumentTypes": null, - "id": 627, + "id": 630, "name": "seller", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 590, - "src": "12700:6:0", + "referencedDeclaration": 593, + "src": "12840:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8297,12 +8344,12 @@ }, { "argumentTypes": null, - "id": 628, + "id": 631, "name": "moderator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 592, - "src": "12728:9:0", + "referencedDeclaration": 595, + "src": "12868:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8313,14 +8360,14 @@ "arguments": [ { "argumentTypes": null, - "id": 630, + "id": 633, "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1405, - "src": "12767:4:0", + "referencedDeclaration": 1414, + "src": "12907:4:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_Escrow_v1_0_$1215", + "typeIdentifier": "t_contract$_Escrow_v1_0_$1224", "typeString": "contract Escrow_v1_0" } } @@ -8328,24 +8375,24 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_Escrow_v1_0_$1215", + "typeIdentifier": "t_contract$_Escrow_v1_0_$1224", "typeString": "contract Escrow_v1_0" } ], - "id": 629, + "id": 632, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "12759:7:0", + "src": "12899:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, - "id": 631, + "id": 634, "isConstant": false, "isLValue": false, "isPure": false, @@ -8353,7 +8400,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "12759:13:0", + "src": "12899:13:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8361,12 +8408,12 @@ }, { "argumentTypes": null, - "id": 632, + "id": 635, "name": "tokenAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 594, - "src": "12794:12:0", + "referencedDeclaration": 597, + "src": "12934:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8410,18 +8457,18 @@ ], "expression": { "argumentTypes": null, - "id": 621, + "id": 624, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1375, - "src": "12540:3:0", + "referencedDeclaration": 1384, + "src": "12680:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, - "id": 622, + "id": 625, "isConstant": false, "isLValue": false, "isPure": true, @@ -8429,13 +8476,13 @@ "memberName": "encodePacked", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "12540:16:0", + "src": "12680:16:0", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, - "id": 633, + "id": 636, "isConstant": false, "isLValue": false, "isPure": false, @@ -8443,7 +8490,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "12540:284:0", + "src": "12680:284:0", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -8457,18 +8504,18 @@ "typeString": "bytes memory" } ], - "id": 620, + "id": 623, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1382, - "src": "12513:9:0", + "referencedDeclaration": 1391, + "src": "12653:9:0", "typeDescriptions": { "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", "typeString": "function () pure returns (bytes32)" } }, - "id": 634, + "id": 637, "isConstant": false, "isLValue": false, "isPure": false, @@ -8476,26 +8523,26 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "12513:325:0", + "src": "12653:325:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "functionReturnParameters": 598, - "id": 635, + "functionReturnParameters": 601, + "id": 638, "nodeType": "Return", - "src": "12506:332:0" + "src": "12646:332:0" } ] }, - "id": 637, + "id": 640, "nodeType": "IfStatement", - "src": "12131:718:0", + "src": "12271:718:0", "trueBody": { - "id": 619, + "id": 622, "nodeType": "Block", - "src": "12163:323:0", + "src": "12303:323:0", "statements": [ { "expression": { @@ -8506,12 +8553,12 @@ "arguments": [ { "argumentTypes": null, - "id": 607, + "id": 610, "name": "uniqueId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 582, - "src": "12249:8:0", + "referencedDeclaration": 585, + "src": "12389:8:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -8519,12 +8566,12 @@ }, { "argumentTypes": null, - "id": 608, + "id": 611, "name": "threshold", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 584, - "src": "12279:9:0", + "referencedDeclaration": 587, + "src": "12419:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -8532,12 +8579,12 @@ }, { "argumentTypes": null, - "id": 609, + "id": 612, "name": "timeoutHours", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 586, - "src": "12310:12:0", + "referencedDeclaration": 589, + "src": "12450:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -8545,12 +8592,12 @@ }, { "argumentTypes": null, - "id": 610, + "id": 613, "name": "buyer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 588, - "src": "12344:5:0", + "referencedDeclaration": 591, + "src": "12484:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8558,12 +8605,12 @@ }, { "argumentTypes": null, - "id": 611, + "id": 614, "name": "seller", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 590, - "src": "12371:6:0", + "referencedDeclaration": 593, + "src": "12511:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8571,12 +8618,12 @@ }, { "argumentTypes": null, - "id": 612, + "id": 615, "name": "moderator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 592, - "src": "12399:9:0", + "referencedDeclaration": 595, + "src": "12539:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8587,14 +8634,14 @@ "arguments": [ { "argumentTypes": null, - "id": 614, + "id": 617, "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1405, - "src": "12438:4:0", + "referencedDeclaration": 1414, + "src": "12578:4:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_Escrow_v1_0_$1215", + "typeIdentifier": "t_contract$_Escrow_v1_0_$1224", "typeString": "contract Escrow_v1_0" } } @@ -8602,24 +8649,24 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_Escrow_v1_0_$1215", + "typeIdentifier": "t_contract$_Escrow_v1_0_$1224", "typeString": "contract Escrow_v1_0" } ], - "id": 613, + "id": 616, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "12430:7:0", + "src": "12570:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, - "id": 615, + "id": 618, "isConstant": false, "isLValue": false, "isPure": false, @@ -8627,7 +8674,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "12430:13:0", + "src": "12570:13:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8667,18 +8714,18 @@ ], "expression": { "argumentTypes": null, - "id": 605, + "id": 608, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1375, - "src": "12211:3:0", + "referencedDeclaration": 1384, + "src": "12351:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, - "id": 606, + "id": 609, "isConstant": false, "isLValue": false, "isPure": true, @@ -8686,13 +8733,13 @@ "memberName": "encodePacked", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "12211:16:0", + "src": "12351:16:0", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, - "id": 616, + "id": 619, "isConstant": false, "isLValue": false, "isPure": false, @@ -8700,7 +8747,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "12211:250:0", + "src": "12351:250:0", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -8714,18 +8761,18 @@ "typeString": "bytes memory" } ], - "id": 604, + "id": 607, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1382, - "src": "12184:9:0", + "referencedDeclaration": 1391, + "src": "12324:9:0", "typeDescriptions": { "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", "typeString": "function () pure returns (bytes32)" } }, - "id": 617, + "id": 620, "isConstant": false, "isLValue": false, "isPure": false, @@ -8733,16 +8780,16 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "12184:291:0", + "src": "12324:291:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "functionReturnParameters": 598, - "id": 618, + "functionReturnParameters": 601, + "id": 621, "nodeType": "Return", - "src": "12177:298:0" + "src": "12317:298:0" } ] } @@ -8750,7 +8797,7 @@ ] }, "documentation": "dev Method for calculating script hash. Calculation will depend upon the type of transaction\nETHER Type transaction-:\nScript Hash- keccak256(uniqueId, threshold, timeoutHours, buyer, seller, moderator)\nTOKEN Type transaction\nScript Hash- keccak256(uniqueId, threshold, timeoutHours, buyer, seller, moderator, tokenAddress)\nClient can use this method to verify whether it has calculated correct script hash or not", - "id": 639, + "id": 642, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -8758,16 +8805,16 @@ "name": "calculateRedeemScriptHash", "nodeType": "FunctionDefinition", "parameters": { - "id": 595, + "id": 598, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 582, + "id": 585, "name": "uniqueId", "nodeType": "VariableDeclaration", - "scope": 639, - "src": "11882:16:0", + "scope": 642, + "src": "12022:16:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8775,10 +8822,10 @@ "typeString": "bytes20" }, "typeName": { - "id": 581, + "id": 584, "name": "bytes20", "nodeType": "ElementaryTypeName", - "src": "11882:7:0", + "src": "12022:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -8789,11 +8836,11 @@ }, { "constant": false, - "id": 584, + "id": 587, "name": "threshold", "nodeType": "VariableDeclaration", - "scope": 639, - "src": "11908:15:0", + "scope": 642, + "src": "12048:15:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8801,10 +8848,10 @@ "typeString": "uint8" }, "typeName": { - "id": 583, + "id": 586, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "11908:5:0", + "src": "12048:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -8815,11 +8862,11 @@ }, { "constant": false, - "id": 586, + "id": 589, "name": "timeoutHours", "nodeType": "VariableDeclaration", - "scope": 639, - "src": "11933:19:0", + "scope": 642, + "src": "12073:19:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8827,10 +8874,10 @@ "typeString": "uint32" }, "typeName": { - "id": 585, + "id": 588, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "11933:6:0", + "src": "12073:6:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -8841,11 +8888,11 @@ }, { "constant": false, - "id": 588, + "id": 591, "name": "buyer", "nodeType": "VariableDeclaration", - "scope": 639, - "src": "11962:13:0", + "scope": 642, + "src": "12102:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8853,10 +8900,10 @@ "typeString": "address" }, "typeName": { - "id": 587, + "id": 590, "name": "address", "nodeType": "ElementaryTypeName", - "src": "11962:7:0", + "src": "12102:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8867,11 +8914,11 @@ }, { "constant": false, - "id": 590, + "id": 593, "name": "seller", "nodeType": "VariableDeclaration", - "scope": 639, - "src": "11985:14:0", + "scope": 642, + "src": "12125:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8879,10 +8926,10 @@ "typeString": "address" }, "typeName": { - "id": 589, + "id": 592, "name": "address", "nodeType": "ElementaryTypeName", - "src": "11985:7:0", + "src": "12125:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8893,11 +8940,11 @@ }, { "constant": false, - "id": 592, + "id": 595, "name": "moderator", "nodeType": "VariableDeclaration", - "scope": 639, - "src": "12009:17:0", + "scope": 642, + "src": "12149:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8905,10 +8952,10 @@ "typeString": "address" }, "typeName": { - "id": 591, + "id": 594, "name": "address", "nodeType": "ElementaryTypeName", - "src": "12009:7:0", + "src": "12149:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8919,11 +8966,11 @@ }, { "constant": false, - "id": 594, + "id": 597, "name": "tokenAddress", "nodeType": "VariableDeclaration", - "scope": 639, - "src": "12036:20:0", + "scope": 642, + "src": "12176:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8931,10 +8978,10 @@ "typeString": "address" }, "typeName": { - "id": 593, + "id": 596, "name": "address", "nodeType": "ElementaryTypeName", - "src": "12036:7:0", + "src": "12176:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8944,20 +8991,20 @@ "visibility": "internal" } ], - "src": "11872:190:0" + "src": "12012:190:0" }, "payable": false, "returnParameters": { - "id": 598, + "id": 601, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 597, + "id": 600, "name": "", "nodeType": "VariableDeclaration", - "scope": 639, - "src": "12108:7:0", + "scope": 642, + "src": "12248:7:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8965,10 +9012,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 596, + "id": 599, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "12108:7:0", + "src": "12248:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -8978,32 +9025,32 @@ "visibility": "internal" } ], - "src": "12107:9:0" + "src": "12247:9:0" }, - "scope": 1215, - "src": "11838:1017:0", + "scope": 1224, + "src": "11978:1017:0", "stateMutability": "view", "superFunction": null, "visibility": "public" }, { "body": { - "id": 707, + "id": 710, "nodeType": "Block", - "src": "13340:797:0", + "src": "13480:797:0", "statements": [ { "assignments": [ - 660 + 663 ], "declarations": [ { "constant": false, - "id": 660, + "id": 663, "name": "lastRecovered", "nodeType": "VariableDeclaration", - "scope": 708, - "src": "13350:21:0", + "scope": 711, + "src": "13490:21:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9011,10 +9058,10 @@ "typeString": "address" }, "typeName": { - "id": 659, + "id": 662, "name": "address", "nodeType": "ElementaryTypeName", - "src": "13350:7:0", + "src": "13490:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -9024,18 +9071,18 @@ "visibility": "internal" } ], - "id": 669, + "id": 672, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 662, + "id": 665, "name": "sigV", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 642, - "src": "13405:4:0", + "referencedDeclaration": 645, + "src": "13545:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr", "typeString": "uint8[] memory" @@ -9043,12 +9090,12 @@ }, { "argumentTypes": null, - "id": 663, + "id": 666, "name": "sigR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 645, - "src": "13423:4:0", + "referencedDeclaration": 648, + "src": "13563:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" @@ -9056,12 +9103,12 @@ }, { "argumentTypes": null, - "id": 664, + "id": 667, "name": "sigS", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 648, - "src": "13441:4:0", + "referencedDeclaration": 651, + "src": "13581:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" @@ -9069,12 +9116,12 @@ }, { "argumentTypes": null, - "id": 665, + "id": 668, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 650, - "src": "13459:10:0", + "referencedDeclaration": 653, + "src": "13599:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -9082,12 +9129,12 @@ }, { "argumentTypes": null, - "id": 666, + "id": 669, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 653, - "src": "13483:12:0", + "referencedDeclaration": 656, + "src": "13623:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -9095,12 +9142,12 @@ }, { "argumentTypes": null, - "id": 667, + "id": 670, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 656, - "src": "13509:7:0", + "referencedDeclaration": 659, + "src": "13649:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" @@ -9134,18 +9181,18 @@ "typeString": "uint256[] memory" } ], - "id": 661, + "id": 664, "name": "_verifySignatures", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1026, - "src": "13374:17:0", + "referencedDeclaration": 1035, + "src": "13514:17:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_array$_t_uint8_$dyn_memory_ptr_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_bytes32_$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$_t_address_$", "typeString": "function (uint8[] memory,bytes32[] memory,bytes32[] memory,bytes32,address[] memory,uint256[] memory) returns (address)" } }, - "id": 668, + "id": 671, "isConstant": false, "isLValue": false, "isPure": false, @@ -9153,27 +9200,27 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "13374:152:0", + "src": "13514:152:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "VariableDeclarationStatement", - "src": "13350:176:0" + "src": "13490:176:0" }, { "assignments": [ - 671 + 674 ], "declarations": [ { "constant": false, - "id": 671, + "id": 674, "name": "timeLockExpired", "nodeType": "VariableDeclaration", - "scope": 708, - "src": "13537:20:0", + "scope": 711, + "src": "13677:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9181,10 +9228,10 @@ "typeString": "bool" }, "typeName": { - "id": 670, + "id": 673, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "13537:4:0", + "src": "13677:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -9194,7 +9241,7 @@ "visibility": "internal" } ], - "id": 682, + "id": 685, "initialValue": { "argumentTypes": null, "arguments": [ @@ -9204,26 +9251,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 673, + "id": 676, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "13592:12:0", + "src": "13732:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 675, + "id": 678, "indexExpression": { "argumentTypes": null, - "id": 674, + "id": 677, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 650, - "src": "13605:10:0", + "referencedDeclaration": 653, + "src": "13745:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -9234,13 +9281,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "13592:24:0", + "src": "13732:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 676, + "id": 679, "isConstant": false, "isLValue": true, "isPure": false, @@ -9248,7 +9295,7 @@ "memberName": "timeoutHours", "nodeType": "MemberAccess", "referencedDeclaration": 50, - "src": "13592:37:0", + "src": "13732:37:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -9260,26 +9307,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 677, + "id": 680, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "13643:12:0", + "src": "13783:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 679, + "id": 682, "indexExpression": { "argumentTypes": null, - "id": 678, + "id": 681, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 650, - "src": "13656:10:0", + "referencedDeclaration": 653, + "src": "13796:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -9290,13 +9337,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "13643:24:0", + "src": "13783:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 680, + "id": 683, "isConstant": false, "isLValue": true, "isPure": false, @@ -9304,7 +9351,7 @@ "memberName": "lastModified", "nodeType": "MemberAccess", "referencedDeclaration": 42, - "src": "13643:37:0", + "src": "13783:37:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9322,18 +9369,18 @@ "typeString": "uint256" } ], - "id": 672, + "id": 675, "name": "_isTimeLockExpired", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1058, - "src": "13560:18:0", + "referencedDeclaration": 1067, + "src": "13700:18:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_uint32_$_t_uint256_$returns$_t_bool_$", "typeString": "function (uint32,uint256) view returns (bool)" } }, - "id": 681, + "id": 684, "isConstant": false, "isLValue": false, "isPure": false, @@ -9341,14 +9388,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "13560:130:0", + "src": "13700:130:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "nodeType": "VariableDeclarationStatement", - "src": "13537:153:0" + "src": "13677:153:0" }, { "condition": { @@ -9357,7 +9404,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 700, + "id": 703, "isConstant": false, "isLValue": false, "isPure": false, @@ -9368,7 +9415,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 689, + "id": 692, "isConstant": false, "isLValue": false, "isPure": false, @@ -9377,18 +9424,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 683, + "id": 686, "name": "sigV", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 642, - "src": "13862:4:0", + "referencedDeclaration": 645, + "src": "14002:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr", "typeString": "uint8[] memory" } }, - "id": 684, + "id": 687, "isConstant": false, "isLValue": false, "isPure": false, @@ -9396,7 +9443,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "13862:11:0", + "src": "14002:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9410,26 +9457,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 685, + "id": 688, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "13876:12:0", + "src": "14016:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 687, + "id": 690, "indexExpression": { "argumentTypes": null, - "id": 686, + "id": 689, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 650, - "src": "13889:10:0", + "referencedDeclaration": 653, + "src": "14029:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -9440,13 +9487,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "13876:24:0", + "src": "14016:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 688, + "id": 691, "isConstant": false, "isLValue": true, "isPure": false, @@ -9454,13 +9501,13 @@ "memberName": "threshold", "nodeType": "MemberAccess", "referencedDeclaration": 48, - "src": "13876:34:0", + "src": "14016:34:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, - "src": "13862:48:0", + "src": "14002:48:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -9477,14 +9524,14 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 698, + "id": 701, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 691, + "id": 694, "isConstant": false, "isLValue": false, "isPure": false, @@ -9492,15 +9539,15 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "13915:16:0", + "src": "14055:16:0", "subExpression": { "argumentTypes": null, - "id": 690, + "id": 693, "name": "timeLockExpired", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 671, - "src": "13916:15:0", + "referencedDeclaration": 674, + "src": "14056:15:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -9519,19 +9566,19 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 697, + "id": 700, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 692, + "id": 695, "name": "lastRecovered", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 660, - "src": "13935:13:0", + "referencedDeclaration": 663, + "src": "14075:13:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -9545,26 +9592,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 693, + "id": 696, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "13952:12:0", + "src": "14092:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 695, + "id": 698, "indexExpression": { "argumentTypes": null, - "id": 694, + "id": 697, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 650, - "src": "13965:10:0", + "referencedDeclaration": 653, + "src": "14105:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -9575,13 +9622,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "13952:24:0", + "src": "14092:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 696, + "id": 699, "isConstant": false, "isLValue": true, "isPure": false, @@ -9589,52 +9636,52 @@ "memberName": "seller", "nodeType": "MemberAccess", "referencedDeclaration": 54, - "src": "13952:31:0", + "src": "14092:31:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "13935:48:0", + "src": "14075:48:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "13915:68:0", + "src": "14055:68:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } } ], - "id": 699, + "id": 702, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "13914:70:0", + "src": "14054:70:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "13862:122:0", + "src": "14002:122:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, - "id": 706, + "id": 709, "nodeType": "IfStatement", - "src": "13841:289:0", + "src": "13981:289:0", "trueBody": { - "id": 705, + "id": 708, "nodeType": "Block", - "src": "14007:123:0", + "src": "14147:123:0", "statements": [ { "expression": { @@ -9643,14 +9690,14 @@ { "argumentTypes": null, "hexValue": "4d696e696d756d206e756d626572206f66207369676e61747572657320617265206e6f7420636f6c6c656374656420616e642074696d65206c6f636b2065787069727920636f6e646974696f6e73206e6f74206d65742121", - "id": 702, + "id": 705, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "14028:90:0", + "src": "14168:90:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_e454643f61f81e3a3dc8dabaafde295fea592e232abeb03abbb1835bdc3d20d0", @@ -9666,21 +9713,21 @@ "typeString": "literal_string \"Minimum number of signatures are not collected and time lock expiry conditions not met!!\"" } ], - "id": 701, + "id": 704, "name": "revert", "nodeType": "Identifier", "overloadedDeclarations": [ - 1393, - 1394 + 1402, + 1403 ], - "referencedDeclaration": 1394, - "src": "14021:6:0", + "referencedDeclaration": 1403, + "src": "14161:6:0", "typeDescriptions": { "typeIdentifier": "t_function_revert_pure$_t_string_memory_ptr_$returns$__$", "typeString": "function (string memory) pure" } }, - "id": 703, + "id": 706, "isConstant": false, "isLValue": false, "isPure": false, @@ -9688,15 +9735,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "14021:98:0", + "src": "14161:98:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 704, + "id": 707, "nodeType": "ExpressionStatement", - "src": "14021:98:0" + "src": "14161:98:0" } ] } @@ -9704,7 +9751,7 @@ ] }, "documentation": "@dev This methods checks validity of transaction\n1. Verify Signatures\n2. Check if minimum number of signatures has been acquired\n3. If above condition is false, check if time lock is expired and the execution is signed by seller", - "id": 708, + "id": 711, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -9712,16 +9759,16 @@ "name": "_verifyTransaction", "nodeType": "FunctionDefinition", "parameters": { - "id": 657, + "id": 660, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 642, + "id": 645, "name": "sigV", "nodeType": "VariableDeclaration", - "scope": 708, - "src": "13166:12:0", + "scope": 711, + "src": "13306:12:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9730,19 +9777,19 @@ }, "typeName": { "baseType": { - "id": 640, + "id": 643, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "13166:5:0", + "src": "13306:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, - "id": 641, + "id": 644, "length": null, "nodeType": "ArrayTypeName", - "src": "13166:7:0", + "src": "13306:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_storage_ptr", "typeString": "uint8[]" @@ -9753,11 +9800,11 @@ }, { "constant": false, - "id": 645, + "id": 648, "name": "sigR", "nodeType": "VariableDeclaration", - "scope": 708, - "src": "13188:14:0", + "scope": 711, + "src": "13328:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9766,19 +9813,19 @@ }, "typeName": { "baseType": { - "id": 643, + "id": 646, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "13188:7:0", + "src": "13328:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "id": 644, + "id": 647, "length": null, "nodeType": "ArrayTypeName", - "src": "13188:9:0", + "src": "13328:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -9789,11 +9836,11 @@ }, { "constant": false, - "id": 648, + "id": 651, "name": "sigS", "nodeType": "VariableDeclaration", - "scope": 708, - "src": "13212:14:0", + "scope": 711, + "src": "13352:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9802,19 +9849,19 @@ }, "typeName": { "baseType": { - "id": 646, + "id": 649, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "13212:7:0", + "src": "13352:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "id": 647, + "id": 650, "length": null, "nodeType": "ArrayTypeName", - "src": "13212:9:0", + "src": "13352:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -9825,11 +9872,11 @@ }, { "constant": false, - "id": 650, + "id": 653, "name": "scriptHash", "nodeType": "VariableDeclaration", - "scope": 708, - "src": "13236:18:0", + "scope": 711, + "src": "13376:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9837,10 +9884,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 649, + "id": 652, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "13236:7:0", + "src": "13376:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -9851,11 +9898,11 @@ }, { "constant": false, - "id": 653, + "id": 656, "name": "destinations", "nodeType": "VariableDeclaration", - "scope": 708, - "src": "13264:22:0", + "scope": 711, + "src": "13404:22:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9864,19 +9911,19 @@ }, "typeName": { "baseType": { - "id": 651, + "id": 654, "name": "address", "nodeType": "ElementaryTypeName", - "src": "13264:7:0", + "src": "13404:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 652, + "id": 655, "length": null, "nodeType": "ArrayTypeName", - "src": "13264:9:0", + "src": "13404:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", "typeString": "address[]" @@ -9887,11 +9934,11 @@ }, { "constant": false, - "id": 656, + "id": 659, "name": "amounts", "nodeType": "VariableDeclaration", - "scope": 708, - "src": "13296:17:0", + "scope": 711, + "src": "13436:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9900,19 +9947,19 @@ }, "typeName": { "baseType": { - "id": 654, + "id": 657, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "13296:7:0", + "src": "13436:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 655, + "id": 658, "length": null, "nodeType": "ArrayTypeName", - "src": "13296:9:0", + "src": "13436:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -9922,39 +9969,39 @@ "visibility": "internal" } ], - "src": "13156:163:0" + "src": "13296:163:0" }, "payable": false, "returnParameters": { - "id": 658, + "id": 661, "nodeType": "ParameterList", "parameters": [], - "src": "13340:0:0" + "src": "13480:0:0" }, - "scope": 1215, - "src": "13129:1008:0", + "scope": 1224, + "src": "13269:1008:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "private" }, { "body": { - "id": 894, + "id": 903, "nodeType": "Block", - "src": "14424:1362:0", + "src": "14564:1562:0", "statements": [ { "assignments": [ - 722 + 725 ], "declarations": [ { "constant": false, - "id": 722, + "id": 725, "name": "t", "nodeType": "VariableDeclaration", - "scope": 895, - "src": "14434:21:0", + "scope": 904, + "src": "14574:21:0", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { @@ -9963,11 +10010,11 @@ }, "typeName": { "contractScope": null, - "id": 721, + "id": 724, "name": "Transaction", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 71, - "src": "14434:11:0", + "src": "14574:11:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction" @@ -9977,31 +10024,31 @@ "visibility": "internal" } ], - "id": 726, + "id": 729, "initialValue": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 723, + "id": 726, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "14458:12:0", + "src": "14598:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 725, + "id": 728, "indexExpression": { "argumentTypes": null, - "id": 724, + "id": 727, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 710, - "src": "14471:10:0", + "referencedDeclaration": 713, + "src": "14611:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -10012,27 +10059,27 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "14458:24:0", + "src": "14598:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "14434:48:0" + "src": "14574:48:0" }, { "assignments": [ - 728 + 731 ], "declarations": [ { "constant": false, - "id": 728, + "id": 731, "name": "valueTransferred", "nodeType": "VariableDeclaration", - "scope": 895, - "src": "14493:24:0", + "scope": 904, + "src": "14633:24:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -10040,10 +10087,10 @@ "typeString": "uint256" }, "typeName": { - "id": 727, + "id": 730, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "14493:7:0", + "src": "14633:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10053,18 +10100,18 @@ "visibility": "internal" } ], - "id": 730, + "id": 733, "initialValue": { "argumentTypes": null, "hexValue": "30", - "id": 729, + "id": 732, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "14520:1:0", + "src": "14660:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -10073,7 +10120,7 @@ "value": "0" }, "nodeType": "VariableDeclarationStatement", - "src": "14493:28:0" + "src": "14633:28:0" }, { "condition": { @@ -10082,7 +10129,7 @@ "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" }, - "id": 735, + "id": 738, "isConstant": false, "isLValue": false, "isPure": false, @@ -10091,18 +10138,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 731, + "id": 734, "name": "t", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 722, - "src": "14536:1:0", + "referencedDeclaration": 725, + "src": "14676:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" } }, - "id": 732, + "id": 735, "isConstant": false, "isLValue": true, "isPure": false, @@ -10110,7 +10157,7 @@ "memberName": "transactionType", "nodeType": "MemberAccess", "referencedDeclaration": 46, - "src": "14536:17:0", + "src": "14676:17:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -10122,18 +10169,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 733, + "id": 736, "name": "TransactionType", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12, - "src": "14557:15:0", + "src": "14697:15:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_TransactionType_$12_$", "typeString": "type(enum Escrow_v1_0.TransactionType)" } }, - "id": 734, + "id": 737, "isConstant": false, "isLValue": false, "isPure": true, @@ -10141,13 +10188,13 @@ "memberName": "ETHER", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "14557:21:0", + "src": "14697:21:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" } }, - "src": "14536:42:0", + "src": "14676:42:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -10160,7 +10207,7 @@ "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" }, - "id": 809, + "id": 815, "isConstant": false, "isLValue": false, "isPure": false, @@ -10169,18 +10216,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 805, + "id": 811, "name": "t", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 722, - "src": "15092:1:0", + "referencedDeclaration": 725, + "src": "15332:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" } }, - "id": 806, + "id": 812, "isConstant": false, "isLValue": true, "isPure": false, @@ -10188,7 +10235,7 @@ "memberName": "transactionType", "nodeType": "MemberAccess", "referencedDeclaration": 46, - "src": "15092:17:0", + "src": "15332:17:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -10200,18 +10247,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 807, + "id": 813, "name": "TransactionType", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12, - "src": "15113:15:0", + "src": "15353:15:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_TransactionType_$12_$", "typeString": "type(enum Escrow_v1_0.TransactionType)" } }, - "id": 808, + "id": 814, "isConstant": false, "isLValue": false, "isPure": true, @@ -10219,54 +10266,54 @@ "memberName": "TOKEN", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "15113:21:0", + "src": "15353:21:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" } }, - "src": "15092:42:0", + "src": "15332:42:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, - "id": 890, + "id": 899, "nodeType": "IfStatement", - "src": "15088:658:0", + "src": "15328:758:0", "trueBody": { - "id": 889, + "id": 898, "nodeType": "Block", - "src": "15136:610:0", + "src": "15376:710:0", "statements": [ { "assignments": [ - 811 + 817 ], "declarations": [ { "constant": false, - "id": 811, + "id": 817, "name": "token", "nodeType": "VariableDeclaration", - "scope": 895, - "src": "15151:20:0", + "scope": 904, + "src": "15391:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenContract_$1245", + "typeIdentifier": "t_contract$_ITokenContract_$1254", "typeString": "contract ITokenContract" }, "typeName": { "contractScope": null, - "id": 810, + "id": 816, "name": "ITokenContract", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1245, - "src": "15151:14:0", + "referencedDeclaration": 1254, + "src": "15391:14:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenContract_$1245", + "typeIdentifier": "t_contract$_ITokenContract_$1254", "typeString": "contract ITokenContract" } }, @@ -10274,7 +10321,7 @@ "visibility": "internal" } ], - "id": 816, + "id": 822, "initialValue": { "argumentTypes": null, "arguments": [ @@ -10282,18 +10329,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 813, + "id": 819, "name": "t", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 722, - "src": "15189:1:0", + "referencedDeclaration": 725, + "src": "15429:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" } }, - "id": 814, + "id": 820, "isConstant": false, "isLValue": true, "isPure": false, @@ -10301,7 +10348,7 @@ "memberName": "tokenAddress", "nodeType": "MemberAccess", "referencedDeclaration": 56, - "src": "15189:14:0", + "src": "15429:14:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -10315,18 +10362,18 @@ "typeString": "address" } ], - "id": 812, + "id": 818, "name": "ITokenContract", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1245, - "src": "15174:14:0", + "referencedDeclaration": 1254, + "src": "15414:14:0", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ITokenContract_$1245_$", + "typeIdentifier": "t_type$_t_contract$_ITokenContract_$1254_$", "typeString": "type(contract ITokenContract)" } }, - "id": 815, + "id": 821, "isConstant": false, "isLValue": false, "isPure": false, @@ -10334,20 +10381,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15174:30:0", + "src": "15414:30:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenContract_$1245", + "typeIdentifier": "t_contract$_ITokenContract_$1254", "typeString": "contract ITokenContract" } }, "nodeType": "VariableDeclarationStatement", - "src": "15151:53:0" + "src": "15391:53:0" }, { "body": { - "id": 887, + "id": 896, "nodeType": "Block", - "src": "15267:469:0", + "src": "15507:569:0", "statements": [ { "expression": { @@ -10356,215 +10403,113 @@ { "argumentTypes": null, "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_address", + "typeString": "address" }, - "id": 842, + "id": 841, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 835, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { + "baseExpression": { "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 829, - "name": "destinations", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 713, - "src": "15294:12:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 831, - "indexExpression": { - "argumentTypes": null, - "id": 830, - "name": "j", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 818, - "src": "15307:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "15294:15:0", + "id": 835, + "name": "destinations", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 716, + "src": "15534:12:0", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" } }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { + "id": 837, + "indexExpression": { "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 833, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15321:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 832, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "15313:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 834, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15313:10:0", + "id": 836, + "name": "j", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 824, + "src": "15547:1:0", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, - "src": "15294:29:0", + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "15534:15:0", "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_address", + "typeString": "address" } }, "nodeType": "BinaryOperation", - "operator": "&&", + "operator": "!=", "rightExpression": { "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 836, - "name": "t", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 722, - "src": "15327:1:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", - "typeString": "struct Escrow_v1_0.Transaction storage pointer" - } - }, - "id": 837, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "isOwner", - "nodeType": "MemberAccess", - "referencedDeclaration": 62, - "src": "15327:9:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 841, - "indexExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 838, - "name": "destinations", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 713, - "src": "15337:12:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 840, - "indexExpression": { + "arguments": [ + { "argumentTypes": null, + "hexValue": "30", "id": 839, - "name": "j", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 818, - "src": "15350:1:0", + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "15561:1:0", + "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" } - }, + ], + "id": 838, "isConstant": false, - "isLValue": true, - "isPure": false, + "isLValue": false, + "isPure": true, "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "15337:15:0", + "nodeType": "ElementaryTypeNameExpression", + "src": "15553:7:0", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" }, + "id": 840, "isConstant": false, - "isLValue": true, - "isPure": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "15327:26:0", + "names": [], + "nodeType": "FunctionCall", + "src": "15553:10:0", "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_address", + "typeString": "address" } }, - "src": "15294:59:0", + "src": "15534:29:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -10572,21 +10517,21 @@ }, { "argumentTypes": null, - "hexValue": "4e6f7420612076616c69642064657374696e6174696f6e", - "id": 843, + "hexValue": "7a65726f2061646472657373206973206e6f7420616c6c6f7765642061732064657374696e6174696f6e2061646472657373", + "id": 842, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "15355:25:0", + "src": "15565:52:0", "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_stringliteral_4b4c116dbf18274831a2b569c567d9fd9a0e9828a6c86ee9f93e80400fb6c49f", - "typeString": "literal_string \"Not a valid destination\"" + "typeIdentifier": "t_stringliteral_587fbb5a9b8e6d4cc482f236066ac51bcf007ae6026eab186437d2f1b22fc139", + "typeString": "literal_string \"zero address is not allowed as destination address\"" }, - "value": "Not a valid destination" + "value": "zero address is not allowed as destination address" } ], "expression": { @@ -10596,25 +10541,25 @@ "typeString": "bool" }, { - "typeIdentifier": "t_stringliteral_4b4c116dbf18274831a2b569c567d9fd9a0e9828a6c86ee9f93e80400fb6c49f", - "typeString": "literal_string \"Not a valid destination\"" + "typeIdentifier": "t_stringliteral_587fbb5a9b8e6d4cc482f236066ac51bcf007ae6026eab186437d2f1b22fc139", + "typeString": "literal_string \"zero address is not allowed as destination address\"" } ], - "id": 828, + "id": 834, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1391, - 1392 + 1400, + 1401 ], - "referencedDeclaration": 1392, - "src": "15286:7:0", + "referencedDeclaration": 1401, + "src": "15526:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 844, + "id": 843, "isConstant": false, "isLValue": false, "isPure": false, @@ -10622,15 +10567,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15286:95:0", + "src": "15526:92:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 845, + "id": 844, "nodeType": "ExpressionStatement", - "src": "15286:95:0" + "src": "15526:92:0" }, { "expression": { @@ -10638,39 +10583,60 @@ "arguments": [ { "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 846, + "name": "t", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 725, + "src": "15645:1:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", + "typeString": "struct Escrow_v1_0.Transaction storage pointer" + } + }, + "id": 847, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "isOwner", + "nodeType": "MemberAccess", + "referencedDeclaration": 62, + "src": "15645:9:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + } }, "id": 851, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { + "indexExpression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 847, - "name": "amounts", + "id": 848, + "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 716, - "src": "15407:7:0", + "src": "15655:12:0", "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" } }, - "id": 849, + "id": 850, "indexExpression": { "argumentTypes": null, - "id": 848, + "id": 849, "name": "j", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 818, - "src": "15415:1:0", + "referencedDeclaration": 824, + "src": "15668:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10681,25 +10647,153 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15407:10:0", + "src": "15655:15:0", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_address", + "typeString": "address" } }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 850, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "15645:26:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "argumentTypes": null, + "hexValue": "44657374696e6174696f6e2061646472657373206973206e6f74206f6e65206f6620746865206f776e657273", + "id": 852, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "15673:46:0", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_5ccbe9d117aeeb4b3546dfe6a12f083cb37039367b3ec38b60873b8650bc846f", + "typeString": "literal_string \"Destination address is not one of the owners\"" + }, + "value": "Destination address is not one of the owners" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_5ccbe9d117aeeb4b3546dfe6a12f083cb37039367b3ec38b60873b8650bc846f", + "typeString": "literal_string \"Destination address is not one of the owners\"" + } + ], + "id": 845, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 1400, + 1401 + ], + "referencedDeclaration": 1401, + "src": "15637:7:0", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 853, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15637:83:0", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 854, + "nodeType": "ExpressionStatement", + "src": "15637:83:0" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 860, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 856, + "name": "amounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 719, + "src": "15747:7:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 858, + "indexExpression": { + "argumentTypes": null, + "id": 857, + "name": "j", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 824, + "src": "15755:1:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "15747:10:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 859, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "15420:1:0", + "src": "15760:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -10707,7 +10801,7 @@ }, "value": "0" }, - "src": "15407:14:0", + "src": "15747:14:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -10716,14 +10810,14 @@ { "argumentTypes": null, "hexValue": "416d6f756e7420746f2062652073656e742073686f756c642062652067726561746572207468616e2030", - "id": 852, + "id": 861, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "15423:44:0", + "src": "15763:44:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_5e1271a09dbb64ae031de288deb0ad8d707df7db51d6e827931dc8fa6642a71e", @@ -10743,21 +10837,21 @@ "typeString": "literal_string \"Amount to be sent should be greater than 0\"" } ], - "id": 846, + "id": 855, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1391, - 1392 + 1400, + 1401 ], - "referencedDeclaration": 1392, - "src": "15399:7:0", + "referencedDeclaration": 1401, + "src": "15739:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 853, + "id": 862, "isConstant": false, "isLValue": false, "isPure": false, @@ -10765,32 +10859,32 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15399:69:0", + "src": "15739:69:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 854, + "id": 863, "nodeType": "ExpressionStatement", - "src": "15399:69:0" + "src": "15739:69:0" }, { "expression": { "argumentTypes": null, - "id": 862, + "id": 871, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 855, + "id": 864, "name": "valueTransferred", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 728, - "src": "15487:16:0", + "referencedDeclaration": 731, + "src": "15827:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10805,26 +10899,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 858, + "id": 867, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 716, - "src": "15527:7:0", + "referencedDeclaration": 719, + "src": "15867:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 860, + "id": 869, "indexExpression": { "argumentTypes": null, - "id": 859, + "id": 868, "name": "j", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 818, - "src": "15535:1:0", + "referencedDeclaration": 824, + "src": "15875:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10835,7 +10929,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15527:10:0", + "src": "15867:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10851,32 +10945,32 @@ ], "expression": { "argumentTypes": null, - "id": 856, + "id": 865, "name": "valueTransferred", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 728, - "src": "15506:16:0", + "referencedDeclaration": 731, + "src": "15846:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 857, + "id": 866, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 1352, - "src": "15506:20:0", + "referencedDeclaration": 1361, + "src": "15846:20:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 861, + "id": 870, "isConstant": false, "isLValue": false, "isPure": false, @@ -10884,26 +10978,26 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15506:32:0", + "src": "15846:32:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "15487:51:0", + "src": "15827:51:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 863, + "id": 872, "nodeType": "ExpressionStatement", - "src": "15487:51:0" + "src": "15827:51:0" }, { "expression": { "argumentTypes": null, - "id": 872, + "id": 881, "isConstant": false, "isLValue": false, "isPure": false, @@ -10914,18 +11008,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 864, + "id": 873, "name": "t", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 722, - "src": "15556:1:0", + "referencedDeclaration": 725, + "src": "15896:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" } }, - "id": 869, + "id": 878, "isConstant": false, "isLValue": true, "isPure": false, @@ -10933,37 +11027,37 @@ "memberName": "beneficiaries", "nodeType": "MemberAccess", "referencedDeclaration": 70, - "src": "15556:15:0", + "src": "15896:15:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 870, + "id": 879, "indexExpression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 866, + "id": 875, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 713, - "src": "15572:12:0", + "referencedDeclaration": 716, + "src": "15912:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" } }, - "id": 868, + "id": 877, "indexExpression": { "argumentTypes": null, - "id": 867, + "id": 876, "name": "j", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 818, - "src": "15585:1:0", + "referencedDeclaration": 824, + "src": "15925:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10974,7 +11068,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15572:15:0", + "src": "15912:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -10985,7 +11079,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "15556:32:0", + "src": "15896:32:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -10996,14 +11090,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "74727565", - "id": 871, + "id": 880, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "15591:4:0", + "src": "15931:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -11011,15 +11105,15 @@ }, "value": "true" }, - "src": "15556:39:0", + "src": "15896:39:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 873, + "id": 882, "nodeType": "ExpressionStatement", - "src": "15556:39:0" + "src": "15896:39:0" }, { "expression": { @@ -11032,26 +11126,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 877, + "id": 886, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 713, - "src": "15666:12:0", + "referencedDeclaration": 716, + "src": "16006:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" } }, - "id": 879, + "id": 888, "indexExpression": { "argumentTypes": null, - "id": 878, + "id": 887, "name": "j", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 818, - "src": "15679:1:0", + "referencedDeclaration": 824, + "src": "16019:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11062,7 +11156,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15666:15:0", + "src": "16006:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -11072,26 +11166,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 880, + "id": 889, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 716, - "src": "15683:7:0", + "referencedDeclaration": 719, + "src": "16023:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 882, + "id": 891, "indexExpression": { "argumentTypes": null, - "id": 881, + "id": 890, "name": "j", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 818, - "src": "15691:1:0", + "referencedDeclaration": 824, + "src": "16031:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11102,7 +11196,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15683:10:0", + "src": "16023:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11122,32 +11216,32 @@ ], "expression": { "argumentTypes": null, - "id": 875, + "id": 884, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 811, - "src": "15651:5:0", + "referencedDeclaration": 817, + "src": "15991:5:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenContract_$1245", + "typeIdentifier": "t_contract$_ITokenContract_$1254", "typeString": "contract ITokenContract" } }, - "id": 876, + "id": 885, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "transfer", "nodeType": "MemberAccess", - "referencedDeclaration": 1233, - "src": "15651:14:0", + "referencedDeclaration": 1242, + "src": "15991:14:0", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", "typeString": "function (address,uint256) external returns (bool)" } }, - "id": 883, + "id": 892, "isConstant": false, "isLValue": false, "isPure": false, @@ -11155,7 +11249,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15651:43:0", + "src": "15991:43:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -11164,14 +11258,14 @@ { "argumentTypes": null, "hexValue": "546f6b656e207472616e73666572206661696c65642e", - "id": 884, + "id": 893, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "15696:24:0", + "src": "16036:24:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_e545223bb79d8456d66fa5a98897abb42bb4807111f004a120200da3b7e292c5", @@ -11191,21 +11285,21 @@ "typeString": "literal_string \"Token transfer failed.\"" } ], - "id": 874, + "id": 883, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1391, - 1392 + 1400, + 1401 ], - "referencedDeclaration": 1392, - "src": "15643:7:0", + "referencedDeclaration": 1401, + "src": "15983:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 885, + "id": 894, "isConstant": false, "isLValue": false, "isPure": false, @@ -11213,15 +11307,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15643:78:0", + "src": "15983:78:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 886, + "id": 895, "nodeType": "ExpressionStatement", - "src": "15643:78:0" + "src": "15983:78:0" } ] }, @@ -11231,19 +11325,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 824, + "id": 830, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 821, + "id": 827, "name": "j", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 818, - "src": "15239:1:0", + "referencedDeclaration": 824, + "src": "15479:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11255,18 +11349,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 822, + "id": 828, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 713, - "src": "15241:12:0", + "referencedDeclaration": 716, + "src": "15481:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" } }, - "id": 823, + "id": 829, "isConstant": false, "isLValue": false, "isPure": false, @@ -11274,31 +11368,31 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "15241:19:0", + "src": "15481:19:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "15239:21:0", + "src": "15479:21:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 888, + "id": 897, "initializationExpression": { "assignments": [ - 818 + 824 ], "declarations": [ { "constant": false, - "id": 818, + "id": 824, "name": "j", "nodeType": "VariableDeclaration", - "scope": 895, - "src": "15224:9:0", + "scope": 904, + "src": "15464:9:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -11306,10 +11400,10 @@ "typeString": "uint256" }, "typeName": { - "id": 817, + "id": 823, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "15224:7:0", + "src": "15464:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11319,18 +11413,18 @@ "visibility": "internal" } ], - "id": 820, + "id": 826, "initialValue": { "argumentTypes": null, "hexValue": "30", - "id": 819, + "id": 825, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "15236:1:0", + "src": "15476:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -11339,12 +11433,12 @@ "value": "0" }, "nodeType": "VariableDeclarationStatement", - "src": "15224:13:0" + "src": "15464:13:0" }, "loopExpression": { "expression": { "argumentTypes": null, - "id": 826, + "id": 832, "isConstant": false, "isLValue": false, "isPure": false, @@ -11352,15 +11446,15 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "15262:3:0", + "src": "15502:3:0", "subExpression": { "argumentTypes": null, - "id": 825, + "id": 831, "name": "j", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 818, - "src": "15262:1:0", + "referencedDeclaration": 824, + "src": "15502:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11371,29 +11465,29 @@ "typeString": "uint256" } }, - "id": 827, + "id": 833, "nodeType": "ExpressionStatement", - "src": "15262:3:0" + "src": "15502:3:0" }, "nodeType": "ForStatement", - "src": "15219:517:0" + "src": "15459:617:0" } ] } }, - "id": 891, + "id": 900, "nodeType": "IfStatement", - "src": "14532:1214:0", + "src": "14672:1414:0", "trueBody": { - "id": 804, + "id": 810, "nodeType": "Block", - "src": "14580:502:0", + "src": "14720:602:0", "statements": [ { "body": { - "id": 802, + "id": 808, "nodeType": "Block", - "src": "14644:427:0", + "src": "14784:527:0", "statements": [ { "expression": { @@ -11402,201 +11496,243 @@ { "argumentTypes": null, "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_address", + "typeString": "address" }, - "id": 761, + "id": 757, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 754, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { + "baseExpression": { "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 748, - "name": "destinations", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 713, - "src": "14671:12:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 750, - "indexExpression": { - "argumentTypes": null, - "id": 749, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 737, - "src": "14684:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "14671:15:0", + "id": 751, + "name": "destinations", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 716, + "src": "14811:12:0", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" } }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { + "id": 753, + "indexExpression": { "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 752, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14698:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 751, + "id": 752, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 740, + "src": "14824:1:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "14811:15:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 755, "isConstant": false, "isLValue": false, "isPure": true, + "kind": "number", "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "14690:7:0", + "nodeType": "Literal", + "src": "14838:1:0", + "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" }, - "typeName": "address" - }, - "id": 753, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 754, "isConstant": false, "isLValue": false, "isPure": true, - "kind": "typeConversion", "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14690:10:0", + "nodeType": "ElementaryTypeNameExpression", + "src": "14830:7:0", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 756, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14830:10:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "14811:29:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "argumentTypes": null, + "hexValue": "7a65726f2061646472657373206973206e6f7420616c6c6f7765642061732064657374696e6174696f6e2061646472657373", + "id": 758, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14842:52:0", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_587fbb5a9b8e6d4cc482f236066ac51bcf007ae6026eab186437d2f1b22fc139", + "typeString": "literal_string \"zero address is not allowed as destination address\"" + }, + "value": "zero address is not allowed as destination address" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_587fbb5a9b8e6d4cc482f236066ac51bcf007ae6026eab186437d2f1b22fc139", + "typeString": "literal_string \"zero address is not allowed as destination address\"" + } + ], + "id": 750, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 1400, + 1401 + ], + "referencedDeclaration": 1401, + "src": "14803:7:0", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 759, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14803:92:0", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 760, + "nodeType": "ExpressionStatement", + "src": "14803:92:0" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 762, + "name": "t", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 725, + "src": "14922:1:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", + "typeString": "struct Escrow_v1_0.Transaction storage pointer" } }, - "src": "14671:29:0", + "id": 763, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "isOwner", + "nodeType": "MemberAccess", + "referencedDeclaration": 62, + "src": "14922:9:0", "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" } }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { + "id": 767, + "indexExpression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 755, - "name": "t", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 722, - "src": "14704:1:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", - "typeString": "struct Escrow_v1_0.Transaction storage pointer" - } - }, - "id": 756, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "isOwner", - "nodeType": "MemberAccess", - "referencedDeclaration": 62, - "src": "14704:9:0", + "id": 764, + "name": "destinations", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 716, + "src": "14932:12:0", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" } }, - "id": 760, + "id": 766, "indexExpression": { "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 757, - "name": "destinations", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 713, - "src": "14714:12:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 759, - "indexExpression": { - "argumentTypes": null, - "id": 758, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 737, - "src": "14727:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "14714:15:0", + "id": 765, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 740, + "src": "14945:1:0", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, "isConstant": false, @@ -11604,13 +11740,18 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "14704:26:0", + "src": "14932:15:0", "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_address", + "typeString": "address" } }, - "src": "14671:59:0", + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "14922:26:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -11618,21 +11759,21 @@ }, { "argumentTypes": null, - "hexValue": "4e6f7420612076616c69642064657374696e6174696f6e", - "id": 762, + "hexValue": "44657374696e6174696f6e2061646472657373206973206e6f74206f6e65206f6620746865206f776e657273", + "id": 768, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "14732:25:0", + "src": "14950:46:0", "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_stringliteral_4b4c116dbf18274831a2b569c567d9fd9a0e9828a6c86ee9f93e80400fb6c49f", - "typeString": "literal_string \"Not a valid destination\"" + "typeIdentifier": "t_stringliteral_5ccbe9d117aeeb4b3546dfe6a12f083cb37039367b3ec38b60873b8650bc846f", + "typeString": "literal_string \"Destination address is not one of the owners\"" }, - "value": "Not a valid destination" + "value": "Destination address is not one of the owners" } ], "expression": { @@ -11642,25 +11783,25 @@ "typeString": "bool" }, { - "typeIdentifier": "t_stringliteral_4b4c116dbf18274831a2b569c567d9fd9a0e9828a6c86ee9f93e80400fb6c49f", - "typeString": "literal_string \"Not a valid destination\"" + "typeIdentifier": "t_stringliteral_5ccbe9d117aeeb4b3546dfe6a12f083cb37039367b3ec38b60873b8650bc846f", + "typeString": "literal_string \"Destination address is not one of the owners\"" } ], - "id": 747, + "id": 761, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1391, - 1392 + 1400, + 1401 ], - "referencedDeclaration": 1392, - "src": "14663:7:0", + "referencedDeclaration": 1401, + "src": "14914:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 763, + "id": 769, "isConstant": false, "isLValue": false, "isPure": false, @@ -11668,15 +11809,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "14663:95:0", + "src": "14914:83:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 764, + "id": 770, "nodeType": "ExpressionStatement", - "src": "14663:95:0" + "src": "14914:83:0" }, { "expression": { @@ -11688,7 +11829,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 770, + "id": 776, "isConstant": false, "isLValue": false, "isPure": false, @@ -11697,26 +11838,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 766, + "id": 772, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 716, - "src": "14784:7:0", + "referencedDeclaration": 719, + "src": "15024:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 768, + "id": 774, "indexExpression": { "argumentTypes": null, - "id": 767, + "id": 773, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 737, - "src": "14792:1:0", + "referencedDeclaration": 740, + "src": "15032:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11727,7 +11868,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "14784:10:0", + "src": "15024:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11738,14 +11879,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 769, + "id": 775, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "14797:1:0", + "src": "15037:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -11753,7 +11894,7 @@ }, "value": "0" }, - "src": "14784:14:0", + "src": "15024:14:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -11762,14 +11903,14 @@ { "argumentTypes": null, "hexValue": "416d6f756e7420746f2062652073656e742073686f756c642062652067726561746572207468616e2030", - "id": 771, + "id": 777, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "14800:44:0", + "src": "15040:44:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_5e1271a09dbb64ae031de288deb0ad8d707df7db51d6e827931dc8fa6642a71e", @@ -11789,21 +11930,21 @@ "typeString": "literal_string \"Amount to be sent should be greater than 0\"" } ], - "id": 765, + "id": 771, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1391, - 1392 + 1400, + 1401 ], - "referencedDeclaration": 1392, - "src": "14776:7:0", + "referencedDeclaration": 1401, + "src": "15016:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 772, + "id": 778, "isConstant": false, "isLValue": false, "isPure": false, @@ -11811,32 +11952,32 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "14776:69:0", + "src": "15016:69:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 773, + "id": 779, "nodeType": "ExpressionStatement", - "src": "14776:69:0" + "src": "15016:69:0" }, { "expression": { "argumentTypes": null, - "id": 781, + "id": 787, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 774, + "id": 780, "name": "valueTransferred", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 728, - "src": "14864:16:0", + "referencedDeclaration": 731, + "src": "15104:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11851,26 +11992,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 777, + "id": 783, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 716, - "src": "14904:7:0", + "referencedDeclaration": 719, + "src": "15144:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 779, + "id": 785, "indexExpression": { "argumentTypes": null, - "id": 778, + "id": 784, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 737, - "src": "14912:1:0", + "referencedDeclaration": 740, + "src": "15152:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11881,7 +12022,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "14904:10:0", + "src": "15144:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11897,32 +12038,32 @@ ], "expression": { "argumentTypes": null, - "id": 775, + "id": 781, "name": "valueTransferred", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 728, - "src": "14883:16:0", + "referencedDeclaration": 731, + "src": "15123:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 776, + "id": 782, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 1352, - "src": "14883:20:0", + "referencedDeclaration": 1361, + "src": "15123:20:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 780, + "id": 786, "isConstant": false, "isLValue": false, "isPure": false, @@ -11930,26 +12071,26 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "14883:32:0", + "src": "15123:32:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "14864:51:0", + "src": "15104:51:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 782, + "id": 788, "nodeType": "ExpressionStatement", - "src": "14864:51:0" + "src": "15104:51:0" }, { "expression": { "argumentTypes": null, - "id": 791, + "id": 797, "isConstant": false, "isLValue": false, "isPure": false, @@ -11960,18 +12101,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 783, + "id": 789, "name": "t", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 722, - "src": "14934:1:0", + "referencedDeclaration": 725, + "src": "15174:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" } }, - "id": 788, + "id": 794, "isConstant": false, "isLValue": true, "isPure": false, @@ -11979,37 +12120,37 @@ "memberName": "beneficiaries", "nodeType": "MemberAccess", "referencedDeclaration": 70, - "src": "14934:15:0", + "src": "15174:15:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 789, + "id": 795, "indexExpression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 785, + "id": 791, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 713, - "src": "14950:12:0", + "referencedDeclaration": 716, + "src": "15190:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" } }, - "id": 787, + "id": 793, "indexExpression": { "argumentTypes": null, - "id": 786, + "id": 792, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 737, - "src": "14963:1:0", + "referencedDeclaration": 740, + "src": "15203:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12020,7 +12161,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "14950:15:0", + "src": "15190:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -12031,7 +12172,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "14934:32:0", + "src": "15174:32:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -12042,14 +12183,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "74727565", - "id": 790, + "id": 796, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "14969:4:0", + "src": "15209:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -12057,15 +12198,15 @@ }, "value": "true" }, - "src": "14934:39:0", + "src": "15174:39:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 792, + "id": 798, "nodeType": "ExpressionStatement", - "src": "14934:39:0" + "src": "15174:39:0" }, { "expression": { @@ -12075,26 +12216,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 797, + "id": 803, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 716, - "src": "15045:7:0", + "referencedDeclaration": 719, + "src": "15285:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 799, + "id": 805, "indexExpression": { "argumentTypes": null, - "id": 798, + "id": 804, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 737, - "src": "15053:1:0", + "referencedDeclaration": 740, + "src": "15293:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12105,7 +12246,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15045:10:0", + "src": "15285:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12123,26 +12264,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 793, + "id": 799, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 713, - "src": "15020:12:0", + "referencedDeclaration": 716, + "src": "15260:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" } }, - "id": 795, + "id": 801, "indexExpression": { "argumentTypes": null, - "id": 794, + "id": 800, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 737, - "src": "15033:1:0", + "referencedDeclaration": 740, + "src": "15273:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12153,13 +12294,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15020:15:0", + "src": "15260:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 796, + "id": 802, "isConstant": false, "isLValue": false, "isPure": false, @@ -12167,13 +12308,13 @@ "memberName": "transfer", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "15020:24:0", + "src": "15260:24:0", "typeDescriptions": { "typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$", "typeString": "function (uint256)" } }, - "id": 800, + "id": 806, "isConstant": false, "isLValue": false, "isPure": false, @@ -12181,15 +12322,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15020:36:0", + "src": "15260:36:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 801, + "id": 807, "nodeType": "ExpressionStatement", - "src": "15020:36:0" + "src": "15260:36:0" } ] }, @@ -12199,19 +12340,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 743, + "id": 746, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 740, + "id": 743, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 737, - "src": "14614:1:0", + "referencedDeclaration": 740, + "src": "14754:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12223,18 +12364,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 741, + "id": 744, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 713, - "src": "14618:12:0", + "referencedDeclaration": 716, + "src": "14758:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" } }, - "id": 742, + "id": 745, "isConstant": false, "isLValue": false, "isPure": false, @@ -12242,31 +12383,31 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "14618:19:0", + "src": "14758:19:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "14614:23:0", + "src": "14754:23:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 803, + "id": 809, "initializationExpression": { "assignments": [ - 737 + 740 ], "declarations": [ { "constant": false, - "id": 737, + "id": 740, "name": "i", "nodeType": "VariableDeclaration", - "scope": 895, - "src": "14599:9:0", + "scope": 904, + "src": "14739:9:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12274,10 +12415,10 @@ "typeString": "uint256" }, "typeName": { - "id": 736, + "id": 739, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "14599:7:0", + "src": "14739:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12287,18 +12428,18 @@ "visibility": "internal" } ], - "id": 739, + "id": 742, "initialValue": { "argumentTypes": null, "hexValue": "30", - "id": 738, + "id": 741, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "14611:1:0", + "src": "14751:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -12307,12 +12448,12 @@ "value": "0" }, "nodeType": "VariableDeclarationStatement", - "src": "14599:13:0" + "src": "14739:13:0" }, "loopExpression": { "expression": { "argumentTypes": null, - "id": 745, + "id": 748, "isConstant": false, "isLValue": false, "isPure": false, @@ -12320,15 +12461,15 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "14639:3:0", + "src": "14779:3:0", "subExpression": { "argumentTypes": null, - "id": 744, + "id": 747, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 737, - "src": "14639:1:0", + "referencedDeclaration": 740, + "src": "14779:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12339,12 +12480,12 @@ "typeString": "uint256" } }, - "id": 746, + "id": 749, "nodeType": "ExpressionStatement", - "src": "14639:3:0" + "src": "14779:3:0" }, "nodeType": "ForStatement", - "src": "14594:477:0" + "src": "14734:577:0" } ] } @@ -12352,26 +12493,26 @@ { "expression": { "argumentTypes": null, - "id": 892, + "id": 901, "name": "valueTransferred", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 728, - "src": "15763:16:0", + "referencedDeclaration": 731, + "src": "16103:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 720, - "id": 893, + "functionReturnParameters": 723, + "id": 902, "nodeType": "Return", - "src": "15756:23:0" + "src": "16096:23:0" } ] }, "documentation": "dev Private method to transfer funds to the destination addresses on the basis of transaction type", - "id": 895, + "id": 904, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -12379,16 +12520,16 @@ "name": "_transferFunds", "nodeType": "FunctionDefinition", "parameters": { - "id": 717, + "id": 720, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 710, + "id": 713, "name": "scriptHash", "nodeType": "VariableDeclaration", - "scope": 895, - "src": "14296:18:0", + "scope": 904, + "src": "14436:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12396,10 +12537,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 709, + "id": 712, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "14296:7:0", + "src": "14436:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -12410,11 +12551,11 @@ }, { "constant": false, - "id": 713, + "id": 716, "name": "destinations", "nodeType": "VariableDeclaration", - "scope": 895, - "src": "14324:21:0", + "scope": 904, + "src": "14464:21:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12423,19 +12564,19 @@ }, "typeName": { "baseType": { - "id": 711, + "id": 714, "name": "address", "nodeType": "ElementaryTypeName", - "src": "14324:7:0", + "src": "14464:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 712, + "id": 715, "length": null, "nodeType": "ArrayTypeName", - "src": "14324:9:0", + "src": "14464:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", "typeString": "address[]" @@ -12446,11 +12587,11 @@ }, { "constant": false, - "id": 716, + "id": 719, "name": "amounts", "nodeType": "VariableDeclaration", - "scope": 895, - "src": "14355:16:0", + "scope": 904, + "src": "14495:16:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12459,19 +12600,19 @@ }, "typeName": { "baseType": { - "id": 714, + "id": 717, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "14355:7:0", + "src": "14495:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 715, + "id": 718, "length": null, "nodeType": "ArrayTypeName", - "src": "14355:9:0", + "src": "14495:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -12481,20 +12622,20 @@ "visibility": "internal" } ], - "src": "14286:91:0" + "src": "14426:91:0" }, "payable": false, "returnParameters": { - "id": 720, + "id": 723, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 719, + "id": 722, "name": "", "nodeType": "VariableDeclaration", - "scope": 895, - "src": "14411:7:0", + "scope": 904, + "src": "14551:7:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12502,10 +12643,10 @@ "typeString": "uint256" }, "typeName": { - "id": 718, + "id": 721, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "14411:7:0", + "src": "14551:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12515,19 +12656,19 @@ "visibility": "internal" } ], - "src": "14410:9:0" + "src": "14550:9:0" }, - "scope": 1215, - "src": "14263:1523:0", + "scope": 1224, + "src": "14403:1723:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "private" }, { "body": { - "id": 1025, + "id": 1034, "nodeType": "Block", - "src": "16206:1346:0", + "src": "16546:1346:0", "statements": [ { "expression": { @@ -12539,7 +12680,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 928, + "id": 937, "isConstant": false, "isLValue": false, "isPure": false, @@ -12550,7 +12691,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 922, + "id": 931, "isConstant": false, "isLValue": false, "isPure": false, @@ -12559,18 +12700,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 918, + "id": 927, "name": "sigR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 901, - "src": "16238:4:0", + "referencedDeclaration": 910, + "src": "16578:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" } }, - "id": 919, + "id": 928, "isConstant": false, "isLValue": false, "isPure": false, @@ -12578,7 +12719,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "16238:11:0", + "src": "16578:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12590,18 +12731,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 920, + "id": 929, "name": "sigS", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 904, - "src": "16253:4:0", + "referencedDeclaration": 913, + "src": "16593:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" } }, - "id": 921, + "id": 930, "isConstant": false, "isLValue": false, "isPure": false, @@ -12609,13 +12750,13 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "16253:11:0", + "src": "16593:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "16238:26:0", + "src": "16578:26:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -12629,7 +12770,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 927, + "id": 936, "isConstant": false, "isLValue": false, "isPure": false, @@ -12638,18 +12779,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 923, + "id": 932, "name": "sigR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 901, - "src": "16268:4:0", + "referencedDeclaration": 910, + "src": "16608:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" } }, - "id": 924, + "id": 933, "isConstant": false, "isLValue": false, "isPure": false, @@ -12657,7 +12798,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "16268:11:0", + "src": "16608:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12669,18 +12810,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 925, + "id": 934, "name": "sigV", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 898, - "src": "16283:4:0", + "referencedDeclaration": 907, + "src": "16623:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr", "typeString": "uint8[] memory" } }, - "id": 926, + "id": 935, "isConstant": false, "isLValue": false, "isPure": false, @@ -12688,19 +12829,19 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "16283:11:0", + "src": "16623:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "16268:26:0", + "src": "16608:26:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "16238:56:0", + "src": "16578:56:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -12709,14 +12850,14 @@ { "argumentTypes": null, "hexValue": "522c532c56206c656e677468206d69736d617463682e", - "id": 929, + "id": 938, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "16309:24:0", + "src": "16649:24:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_f85073c8befb65baed58ca1ee563e5da0bdbdce8abd4d29ef22a8329c7c97506", @@ -12736,21 +12877,21 @@ "typeString": "literal_string \"R,S,V length mismatch.\"" } ], - "id": 917, + "id": 926, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1391, - 1392 + 1400, + 1401 ], - "referencedDeclaration": 1392, - "src": "16217:7:0", + "referencedDeclaration": 1401, + "src": "16557:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 930, + "id": 939, "isConstant": false, "isLValue": false, "isPure": false, @@ -12758,26 +12899,26 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16217:126:0", + "src": "16557:126:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 931, + "id": 940, "nodeType": "ExpressionStatement", - "src": "16217:126:0" + "src": "16557:126:0" }, { "assignments": [], "declarations": [ { "constant": false, - "id": 933, + "id": 942, "name": "lastAddress", "nodeType": "VariableDeclaration", - "scope": 1026, - "src": "16354:19:0", + "scope": 1035, + "src": "16694:19:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12785,10 +12926,10 @@ "typeString": "address" }, "typeName": { - "id": 932, + "id": 941, "name": "address", "nodeType": "ElementaryTypeName", - "src": "16354:7:0", + "src": "16694:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -12798,23 +12939,23 @@ "visibility": "internal" } ], - "id": 934, + "id": 943, "initialValue": null, "nodeType": "VariableDeclarationStatement", - "src": "16354:19:0" + "src": "16694:19:0" }, { "assignments": [ - 936 + 945 ], "declarations": [ { "constant": false, - "id": 936, + "id": 945, "name": "txHash", "nodeType": "VariableDeclaration", - "scope": 1026, - "src": "16472:14:0", + "scope": 1035, + "src": "16812:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12822,10 +12963,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 935, + "id": 944, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "16472:7:0", + "src": "16812:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -12835,7 +12976,7 @@ "visibility": "internal" } ], - "id": 960, + "id": 969, "initialValue": { "argumentTypes": null, "arguments": [ @@ -12845,14 +12986,14 @@ { "argumentTypes": null, "hexValue": "19457468657265756d205369676e6564204d6573736167653a0a3332", - "id": 940, + "id": 949, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "16546:34:0", + "src": "16886:34:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_178a2411ab6fbc1ba11064408972259c558d0e82fd48b0aba3ad81d14f065e73", @@ -12872,14 +13013,14 @@ { "argumentTypes": null, "hexValue": "30783139", - "id": 945, + "id": 954, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "16676:4:0", + "src": "17016:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_25_by_1", @@ -12895,20 +13036,20 @@ "typeString": "int_const 25" } ], - "id": 944, + "id": 953, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "16671:4:0", + "src": "17011:4:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes1_$", "typeString": "type(bytes1)" }, "typeName": "byte" }, - "id": 946, + "id": 955, "isConstant": false, "isLValue": false, "isPure": true, @@ -12916,7 +13057,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16671:10:0", + "src": "17011:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes1", "typeString": "bytes1" @@ -12928,14 +13069,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 948, + "id": 957, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "16712:1:0", + "src": "17052:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -12951,20 +13092,20 @@ "typeString": "int_const 0" } ], - "id": 947, + "id": 956, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "16707:4:0", + "src": "17047:4:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes1_$", "typeString": "type(bytes1)" }, "typeName": "byte" }, - "id": 949, + "id": 958, "isConstant": false, "isLValue": false, "isPure": true, @@ -12972,7 +13113,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16707:7:0", + "src": "17047:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes1", "typeString": "bytes1" @@ -12983,14 +13124,14 @@ "arguments": [ { "argumentTypes": null, - "id": 951, + "id": 960, "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1405, - "src": "16748:4:0", + "referencedDeclaration": 1414, + "src": "17088:4:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_Escrow_v1_0_$1215", + "typeIdentifier": "t_contract$_Escrow_v1_0_$1224", "typeString": "contract Escrow_v1_0" } } @@ -12998,24 +13139,24 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_Escrow_v1_0_$1215", + "typeIdentifier": "t_contract$_Escrow_v1_0_$1224", "typeString": "contract Escrow_v1_0" } ], - "id": 950, + "id": 959, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "16740:7:0", + "src": "17080:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, - "id": 952, + "id": 961, "isConstant": false, "isLValue": false, "isPure": false, @@ -13023,7 +13164,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16740:13:0", + "src": "17080:13:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -13031,12 +13172,12 @@ }, { "argumentTypes": null, - "id": 953, + "id": 962, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 909, - "src": "16779:12:0", + "referencedDeclaration": 918, + "src": "17119:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -13044,12 +13185,12 @@ }, { "argumentTypes": null, - "id": 954, + "id": 963, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 912, - "src": "16817:7:0", + "referencedDeclaration": 921, + "src": "17157:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" @@ -13057,12 +13198,12 @@ }, { "argumentTypes": null, - "id": 955, + "id": 964, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 906, - "src": "16850:10:0", + "referencedDeclaration": 915, + "src": "17190:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -13098,18 +13239,18 @@ ], "expression": { "argumentTypes": null, - "id": 942, + "id": 951, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1375, - "src": "16629:3:0", + "referencedDeclaration": 1384, + "src": "16969:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, - "id": 943, + "id": 952, "isConstant": false, "isLValue": false, "isPure": true, @@ -13117,13 +13258,13 @@ "memberName": "encodePacked", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "16629:16:0", + "src": "16969:16:0", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, - "id": 956, + "id": 965, "isConstant": false, "isLValue": false, "isPure": false, @@ -13131,7 +13272,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16629:253:0", + "src": "16969:253:0", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -13145,18 +13286,18 @@ "typeString": "bytes memory" } ], - "id": 941, + "id": 950, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1382, - "src": "16598:9:0", + "referencedDeclaration": 1391, + "src": "16938:9:0", "typeDescriptions": { "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", "typeString": "function () pure returns (bytes32)" } }, - "id": 957, + "id": 966, "isConstant": false, "isLValue": false, "isPure": false, @@ -13164,7 +13305,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16598:302:0", + "src": "16938:302:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -13184,18 +13325,18 @@ ], "expression": { "argumentTypes": null, - "id": 938, + "id": 947, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1375, - "src": "16512:3:0", + "referencedDeclaration": 1384, + "src": "16852:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, - "id": 939, + "id": 948, "isConstant": false, "isLValue": false, "isPure": true, @@ -13203,13 +13344,13 @@ "memberName": "encodePacked", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "16512:16:0", + "src": "16852:16:0", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, - "id": 958, + "id": 967, "isConstant": false, "isLValue": false, "isPure": false, @@ -13217,7 +13358,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16512:402:0", + "src": "16852:402:0", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -13231,18 +13372,18 @@ "typeString": "bytes memory" } ], - "id": 937, + "id": 946, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1382, - "src": "16489:9:0", + "referencedDeclaration": 1391, + "src": "16829:9:0", "typeDescriptions": { "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", "typeString": "function () pure returns (bytes32)" } }, - "id": 959, + "id": 968, "isConstant": false, "isLValue": false, "isPure": false, @@ -13250,33 +13391,33 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16489:435:0", + "src": "16829:435:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "nodeType": "VariableDeclarationStatement", - "src": "16472:452:0" + "src": "16812:452:0" }, { "body": { - "id": 1021, + "id": 1030, "nodeType": "Block", - "src": "16974:543:0", + "src": "17314:543:0", "statements": [ { "assignments": [ - 973 + 982 ], "declarations": [ { "constant": false, - "id": 973, + "id": 982, "name": "recovered", "nodeType": "VariableDeclaration", - "scope": 1026, - "src": "16989:17:0", + "scope": 1035, + "src": "17329:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -13284,10 +13425,10 @@ "typeString": "address" }, "typeName": { - "id": 972, + "id": 981, "name": "address", "nodeType": "ElementaryTypeName", - "src": "16989:7:0", + "src": "17329:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -13297,18 +13438,18 @@ "visibility": "internal" } ], - "id": 986, + "id": 995, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 975, + "id": 984, "name": "txHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 936, - "src": "17036:6:0", + "referencedDeclaration": 945, + "src": "17376:6:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -13318,26 +13459,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 976, + "id": 985, "name": "sigV", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 898, - "src": "17060:4:0", + "referencedDeclaration": 907, + "src": "17400:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr", "typeString": "uint8[] memory" } }, - "id": 978, + "id": 987, "indexExpression": { "argumentTypes": null, - "id": 977, + "id": 986, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 962, - "src": "17065:1:0", + "referencedDeclaration": 971, + "src": "17405:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13348,7 +13489,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17060:7:0", + "src": "17400:7:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -13358,26 +13499,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 979, + "id": 988, "name": "sigR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 901, - "src": "17085:4:0", + "referencedDeclaration": 910, + "src": "17425:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" } }, - "id": 981, + "id": 990, "indexExpression": { "argumentTypes": null, - "id": 980, + "id": 989, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 962, - "src": "17090:1:0", + "referencedDeclaration": 971, + "src": "17430:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13388,7 +13529,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17085:7:0", + "src": "17425:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -13398,26 +13539,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 982, + "id": 991, "name": "sigS", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 904, - "src": "17110:4:0", + "referencedDeclaration": 913, + "src": "17450:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" } }, - "id": 984, + "id": 993, "indexExpression": { "argumentTypes": null, - "id": 983, + "id": 992, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 962, - "src": "17115:1:0", + "referencedDeclaration": 971, + "src": "17455:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13428,7 +13569,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17110:7:0", + "src": "17450:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -13454,18 +13595,18 @@ "typeString": "bytes32" } ], - "id": 974, + "id": 983, "name": "ecrecover", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1380, - "src": "17009:9:0", + "referencedDeclaration": 1389, + "src": "17349:9:0", "typeDescriptions": { "typeIdentifier": "t_function_ecrecover_pure$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$_t_address_$", "typeString": "function (bytes32,uint8,bytes32,bytes32) pure returns (address)" } }, - "id": 985, + "id": 994, "isConstant": false, "isLValue": false, "isPure": false, @@ -13473,14 +13614,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17009:122:0", + "src": "17349:122:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "VariableDeclarationStatement", - "src": "16989:142:0" + "src": "17329:142:0" }, { "expression": { @@ -13494,26 +13635,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 988, + "id": 997, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "17171:12:0", + "src": "17511:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 990, + "id": 999, "indexExpression": { "argumentTypes": null, - "id": 989, + "id": 998, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 906, - "src": "17184:10:0", + "referencedDeclaration": 915, + "src": "17524:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -13524,13 +13665,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17171:24:0", + "src": "17511:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 991, + "id": 1000, "isConstant": false, "isLValue": true, "isPure": false, @@ -13538,21 +13679,21 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "17171:32:0", + "src": "17511:32:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 993, + "id": 1002, "indexExpression": { "argumentTypes": null, - "id": 992, + "id": 1001, "name": "recovered", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 973, - "src": "17204:9:0", + "referencedDeclaration": 982, + "src": "17544:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -13563,7 +13704,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17171:43:0", + "src": "17511:43:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -13572,14 +13713,14 @@ { "argumentTypes": null, "hexValue": "496e76616c6964207369676e6174757265", - "id": 994, + "id": 1003, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "17233:19:0", + "src": "17573:19:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_4f2d7dfcb27c0aafa13ae8c400de482c7832204d194018b6e45bd2bf244c74e7", @@ -13599,21 +13740,21 @@ "typeString": "literal_string \"Invalid signature\"" } ], - "id": 987, + "id": 996, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1391, - 1392 + 1400, + 1401 ], - "referencedDeclaration": 1392, - "src": "17146:7:0", + "referencedDeclaration": 1401, + "src": "17486:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 995, + "id": 1004, "isConstant": false, "isLValue": false, "isPure": false, @@ -13621,15 +13762,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17146:120:0", + "src": "17486:120:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 996, + "id": 1005, "nodeType": "ExpressionStatement", - "src": "17146:120:0" + "src": "17486:120:0" }, { "expression": { @@ -13637,7 +13778,7 @@ "arguments": [ { "argumentTypes": null, - "id": 1004, + "id": 1013, "isConstant": false, "isLValue": false, "isPure": false, @@ -13645,7 +13786,7 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "17305:42:0", + "src": "17645:42:0", "subExpression": { "argumentTypes": null, "baseExpression": { @@ -13654,26 +13795,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 998, + "id": 1007, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "17306:12:0", + "src": "17646:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 1000, + "id": 1009, "indexExpression": { "argumentTypes": null, - "id": 999, + "id": 1008, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 906, - "src": "17319:10:0", + "referencedDeclaration": 915, + "src": "17659:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -13684,13 +13825,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17306:24:0", + "src": "17646:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 1001, + "id": 1010, "isConstant": false, "isLValue": true, "isPure": false, @@ -13698,21 +13839,21 @@ "memberName": "voted", "nodeType": "MemberAccess", "referencedDeclaration": 66, - "src": "17306:30:0", + "src": "17646:30:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 1003, + "id": 1012, "indexExpression": { "argumentTypes": null, - "id": 1002, + "id": 1011, "name": "recovered", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 973, - "src": "17337:9:0", + "referencedDeclaration": 982, + "src": "17677:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -13723,7 +13864,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17306:41:0", + "src": "17646:41:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -13737,14 +13878,14 @@ { "argumentTypes": null, "hexValue": "53616d65207369676e61747572652073656e74207477696365", - "id": 1005, + "id": 1014, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "17366:27:0", + "src": "17706:27:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_fb2c7e49d5ec7ce36fa812cf15ee7fa946942f931d04fe3ae970516007b2a543", @@ -13764,21 +13905,21 @@ "typeString": "literal_string \"Same signature sent twice\"" } ], - "id": 997, + "id": 1006, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1391, - 1392 + 1400, + 1401 ], - "referencedDeclaration": 1392, - "src": "17280:7:0", + "referencedDeclaration": 1401, + "src": "17620:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 1006, + "id": 1015, "isConstant": false, "isLValue": false, "isPure": false, @@ -13786,20 +13927,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17280:127:0", + "src": "17620:127:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1007, + "id": 1016, "nodeType": "ExpressionStatement", - "src": "17280:127:0" + "src": "17620:127:0" }, { "expression": { "argumentTypes": null, - "id": 1015, + "id": 1024, "isConstant": false, "isLValue": false, "isPure": false, @@ -13812,26 +13953,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1008, + "id": 1017, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "17421:12:0", + "src": "17761:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 1010, + "id": 1019, "indexExpression": { "argumentTypes": null, - "id": 1009, + "id": 1018, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 906, - "src": "17434:10:0", + "referencedDeclaration": 915, + "src": "17774:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -13842,13 +13983,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17421:24:0", + "src": "17761:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 1011, + "id": 1020, "isConstant": false, "isLValue": true, "isPure": false, @@ -13856,21 +13997,21 @@ "memberName": "voted", "nodeType": "MemberAccess", "referencedDeclaration": 66, - "src": "17421:30:0", + "src": "17761:30:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 1013, + "id": 1022, "indexExpression": { "argumentTypes": null, - "id": 1012, + "id": 1021, "name": "recovered", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 973, - "src": "17452:9:0", + "referencedDeclaration": 982, + "src": "17792:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -13881,7 +14022,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "17421:41:0", + "src": "17761:41:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -13892,14 +14033,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "74727565", - "id": 1014, + "id": 1023, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "17465:4:0", + "src": "17805:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -13907,32 +14048,32 @@ }, "value": "true" }, - "src": "17421:48:0", + "src": "17761:48:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 1016, + "id": 1025, "nodeType": "ExpressionStatement", - "src": "17421:48:0" + "src": "17761:48:0" }, { "expression": { "argumentTypes": null, - "id": 1019, + "id": 1028, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 1017, + "id": 1026, "name": "lastAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 933, - "src": "17483:11:0", + "referencedDeclaration": 942, + "src": "17823:11:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -13942,26 +14083,26 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 1018, + "id": 1027, "name": "recovered", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 973, - "src": "17497:9:0", + "referencedDeclaration": 982, + "src": "17837:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "17483:23:0", + "src": "17823:23:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 1020, + "id": 1029, "nodeType": "ExpressionStatement", - "src": "17483:23:0" + "src": "17823:23:0" } ] }, @@ -13971,19 +14112,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 968, + "id": 977, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 965, + "id": 974, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 962, - "src": "16952:1:0", + "referencedDeclaration": 971, + "src": "17292:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13995,18 +14136,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 966, + "id": 975, "name": "sigR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 901, - "src": "16956:4:0", + "referencedDeclaration": 910, + "src": "17296:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" } }, - "id": 967, + "id": 976, "isConstant": false, "isLValue": false, "isPure": false, @@ -14014,31 +14155,31 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "16956:11:0", + "src": "17296:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "16952:15:0", + "src": "17292:15:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 1022, + "id": 1031, "initializationExpression": { "assignments": [ - 962 + 971 ], "declarations": [ { "constant": false, - "id": 962, + "id": 971, "name": "i", "nodeType": "VariableDeclaration", - "scope": 1026, - "src": "16940:6:0", + "scope": 1035, + "src": "17280:6:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14046,10 +14187,10 @@ "typeString": "uint256" }, "typeName": { - "id": 961, + "id": 970, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "16940:4:0", + "src": "17280:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14059,18 +14200,18 @@ "visibility": "internal" } ], - "id": 964, + "id": 973, "initialValue": { "argumentTypes": null, "hexValue": "30", - "id": 963, + "id": 972, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "16949:1:0", + "src": "17289:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -14079,12 +14220,12 @@ "value": "0" }, "nodeType": "VariableDeclarationStatement", - "src": "16940:10:0" + "src": "17280:10:0" }, "loopExpression": { "expression": { "argumentTypes": null, - "id": 970, + "id": 979, "isConstant": false, "isLValue": false, "isPure": false, @@ -14092,15 +14233,15 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "16969:3:0", + "src": "17309:3:0", "subExpression": { "argumentTypes": null, - "id": 969, + "id": 978, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 962, - "src": "16969:1:0", + "referencedDeclaration": 971, + "src": "17309:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14111,36 +14252,36 @@ "typeString": "uint256" } }, - "id": 971, + "id": 980, "nodeType": "ExpressionStatement", - "src": "16969:3:0" + "src": "17309:3:0" }, "nodeType": "ForStatement", - "src": "16935:582:0" + "src": "17275:582:0" }, { "expression": { "argumentTypes": null, - "id": 1023, + "id": 1032, "name": "lastAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 933, - "src": "17534:11:0", + "referencedDeclaration": 942, + "src": "17874:11:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "functionReturnParameters": 916, - "id": 1024, + "functionReturnParameters": 925, + "id": 1033, "nodeType": "Return", - "src": "17527:18:0" + "src": "17867:18:0" } ] }, "documentation": null, - "id": 1026, + "id": 1035, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -14148,16 +14289,16 @@ "name": "_verifySignatures", "nodeType": "FunctionDefinition", "parameters": { - "id": 913, + "id": 922, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 898, + "id": 907, "name": "sigV", "nodeType": "VariableDeclaration", - "scope": 1026, - "src": "16007:12:0", + "scope": 1035, + "src": "16347:12:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14166,19 +14307,19 @@ }, "typeName": { "baseType": { - "id": 896, + "id": 905, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "16007:5:0", + "src": "16347:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, - "id": 897, + "id": 906, "length": null, "nodeType": "ArrayTypeName", - "src": "16007:7:0", + "src": "16347:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_storage_ptr", "typeString": "uint8[]" @@ -14189,11 +14330,11 @@ }, { "constant": false, - "id": 901, + "id": 910, "name": "sigR", "nodeType": "VariableDeclaration", - "scope": 1026, - "src": "16029:14:0", + "scope": 1035, + "src": "16369:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14202,19 +14343,19 @@ }, "typeName": { "baseType": { - "id": 899, + "id": 908, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "16029:7:0", + "src": "16369:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "id": 900, + "id": 909, "length": null, "nodeType": "ArrayTypeName", - "src": "16029:9:0", + "src": "16369:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -14225,11 +14366,11 @@ }, { "constant": false, - "id": 904, + "id": 913, "name": "sigS", "nodeType": "VariableDeclaration", - "scope": 1026, - "src": "16053:14:0", + "scope": 1035, + "src": "16393:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14238,19 +14379,19 @@ }, "typeName": { "baseType": { - "id": 902, + "id": 911, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "16053:7:0", + "src": "16393:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "id": 903, + "id": 912, "length": null, "nodeType": "ArrayTypeName", - "src": "16053:9:0", + "src": "16393:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -14261,11 +14402,11 @@ }, { "constant": false, - "id": 906, + "id": 915, "name": "scriptHash", "nodeType": "VariableDeclaration", - "scope": 1026, - "src": "16077:18:0", + "scope": 1035, + "src": "16417:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14273,10 +14414,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 905, + "id": 914, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "16077:7:0", + "src": "16417:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -14287,11 +14428,11 @@ }, { "constant": false, - "id": 909, + "id": 918, "name": "destinations", "nodeType": "VariableDeclaration", - "scope": 1026, - "src": "16105:22:0", + "scope": 1035, + "src": "16445:22:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14300,19 +14441,19 @@ }, "typeName": { "baseType": { - "id": 907, + "id": 916, "name": "address", "nodeType": "ElementaryTypeName", - "src": "16105:7:0", + "src": "16445:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 908, + "id": 917, "length": null, "nodeType": "ArrayTypeName", - "src": "16105:9:0", + "src": "16445:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", "typeString": "address[]" @@ -14323,11 +14464,11 @@ }, { "constant": false, - "id": 912, + "id": 921, "name": "amounts", "nodeType": "VariableDeclaration", - "scope": 1026, - "src": "16137:16:0", + "scope": 1035, + "src": "16477:16:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14336,19 +14477,19 @@ }, "typeName": { "baseType": { - "id": 910, + "id": 919, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "16137:7:0", + "src": "16477:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 911, + "id": 920, "length": null, "nodeType": "ArrayTypeName", - "src": "16137:9:0", + "src": "16477:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -14358,20 +14499,20 @@ "visibility": "internal" } ], - "src": "15997:162:0" + "src": "16337:162:0" }, "payable": false, "returnParameters": { - "id": 916, + "id": 925, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 915, + "id": 924, "name": "", "nodeType": "VariableDeclaration", - "scope": 1026, - "src": "16193:7:0", + "scope": 1035, + "src": "16533:7:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14379,10 +14520,10 @@ "typeString": "address" }, "typeName": { - "id": 914, + "id": 923, "name": "address", "nodeType": "ElementaryTypeName", - "src": "16193:7:0", + "src": "16533:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -14392,32 +14533,32 @@ "visibility": "internal" } ], - "src": "16192:9:0" + "src": "16532:9:0" }, - "scope": 1215, - "src": "15971:1581:0", + "scope": 1224, + "src": "16311:1581:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "private" }, { "body": { - "id": 1057, + "id": 1066, "nodeType": "Block", - "src": "17707:168:0", + "src": "18047:168:0", "statements": [ { "assignments": [ - 1036 + 1045 ], "declarations": [ { "constant": false, - "id": 1036, + "id": 1045, "name": "timeSince", "nodeType": "VariableDeclaration", - "scope": 1058, - "src": "17717:17:0", + "scope": 1067, + "src": "18057:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14425,10 +14566,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1035, + "id": 1044, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "17717:7:0", + "src": "18057:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14438,18 +14579,18 @@ "visibility": "internal" } ], - "id": 1041, + "id": 1050, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 1039, + "id": 1048, "name": "lastModified", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1030, - "src": "17745:12:0", + "referencedDeclaration": 1039, + "src": "18085:12:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14465,32 +14606,32 @@ ], "expression": { "argumentTypes": null, - "id": 1037, + "id": 1046, "name": "now", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1390, - "src": "17737:3:0", + "referencedDeclaration": 1399, + "src": "18077:3:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1038, + "id": 1047, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sub", "nodeType": "MemberAccess", - "referencedDeclaration": 1328, - "src": "17737:7:0", + "referencedDeclaration": 1337, + "src": "18077:7:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 1040, + "id": 1049, "isConstant": false, "isLValue": false, "isPure": false, @@ -14498,14 +14639,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17737:21:0", + "src": "18077:21:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "17717:41:0" + "src": "18057:41:0" }, { "expression": { @@ -14519,19 +14660,19 @@ "typeIdentifier": "t_uint32", "typeString": "uint32" }, - "id": 1044, + "id": 1053, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1042, + "id": 1051, "name": "timeoutHours", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1028, - "src": "17789:12:0", + "referencedDeclaration": 1037, + "src": "18129:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -14542,14 +14683,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 1043, + "id": 1052, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "17805:1:0", + "src": "18145:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -14557,7 +14698,7 @@ }, "value": "0" }, - "src": "17789:17:0", + "src": "18129:17:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -14569,19 +14710,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1053, + "id": 1062, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1046, + "id": 1055, "name": "timeSince", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1036, - "src": "17815:9:0", + "referencedDeclaration": 1045, + "src": "18155:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14595,14 +14736,14 @@ { "argumentTypes": null, "hexValue": "33363030", - "id": 1051, + "id": 1060, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "17853:4:0", + "src": "18193:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_3600_by_1", @@ -14623,12 +14764,12 @@ "arguments": [ { "argumentTypes": null, - "id": 1048, + "id": 1057, "name": "timeoutHours", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1028, - "src": "17835:12:0", + "referencedDeclaration": 1037, + "src": "18175:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -14642,20 +14783,20 @@ "typeString": "uint32" } ], - "id": 1047, + "id": 1056, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "17827:7:0", + "src": "18167:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint256_$", "typeString": "type(uint256)" }, "typeName": "uint256" }, - "id": 1049, + "id": 1058, "isConstant": false, "isLValue": false, "isPure": false, @@ -14663,27 +14804,27 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17827:21:0", + "src": "18167:21:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1050, + "id": 1059, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "mul", "nodeType": "MemberAccess", - "referencedDeclaration": 1280, - "src": "17827:25:0", + "referencedDeclaration": 1289, + "src": "18167:25:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 1052, + "id": 1061, "isConstant": false, "isLValue": false, "isPure": false, @@ -14691,36 +14832,36 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17827:31:0", + "src": "18167:31:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "17815:43:0", + "src": "18155:43:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 1054, + "id": 1063, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "Conditional", - "src": "17789:69:0", + "src": "18129:69:0", "trueExpression": { "argumentTypes": null, "hexValue": "66616c7365", - "id": 1045, + "id": 1054, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "17809:5:0", + "src": "18149:5:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -14734,28 +14875,28 @@ } } ], - "id": 1055, + "id": 1064, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "17775:93:0", + "src": "18115:93:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "functionReturnParameters": 1034, - "id": 1056, + "functionReturnParameters": 1043, + "id": 1065, "nodeType": "Return", - "src": "17768:100:0" + "src": "18108:100:0" } ] }, "documentation": null, - "id": 1058, + "id": 1067, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -14763,16 +14904,16 @@ "name": "_isTimeLockExpired", "nodeType": "FunctionDefinition", "parameters": { - "id": 1031, + "id": 1040, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1028, + "id": 1037, "name": "timeoutHours", "nodeType": "VariableDeclaration", - "scope": 1058, - "src": "17595:19:0", + "scope": 1067, + "src": "17935:19:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14780,10 +14921,10 @@ "typeString": "uint32" }, "typeName": { - "id": 1027, + "id": 1036, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "17595:6:0", + "src": "17935:6:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -14794,11 +14935,11 @@ }, { "constant": false, - "id": 1030, + "id": 1039, "name": "lastModified", "nodeType": "VariableDeclaration", - "scope": 1058, - "src": "17624:20:0", + "scope": 1067, + "src": "17964:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14806,10 +14947,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1029, + "id": 1038, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "17624:7:0", + "src": "17964:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14819,20 +14960,20 @@ "visibility": "internal" } ], - "src": "17585:65:0" + "src": "17925:65:0" }, "payable": false, "returnParameters": { - "id": 1034, + "id": 1043, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1033, + "id": 1042, "name": "", "nodeType": "VariableDeclaration", - "scope": 1058, - "src": "17697:4:0", + "scope": 1067, + "src": "18037:4:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14840,10 +14981,10 @@ "typeString": "bool" }, "typeName": { - "id": 1032, + "id": 1041, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "17697:4:0", + "src": "18037:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -14853,19 +14994,19 @@ "visibility": "internal" } ], - "src": "17696:6:0" + "src": "18036:6:0" }, - "scope": 1215, - "src": "17558:317:0", + "scope": 1224, + "src": "17898:317:0", "stateMutability": "view", "superFunction": null, "visibility": "private" }, { "body": { - "id": 1213, + "id": 1222, "nodeType": "Block", - "src": "18289:2314:0", + "src": "18629:2314:0", "statements": [ { "expression": { @@ -14877,19 +15018,19 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 1084, + "id": 1093, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1082, + "id": 1091, "name": "buyer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1060, - "src": "18315:5:0", + "referencedDeclaration": 1069, + "src": "18655:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -14899,18 +15040,18 @@ "operator": "!=", "rightExpression": { "argumentTypes": null, - "id": 1083, + "id": 1092, "name": "seller", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1062, - "src": "18324:6:0", + "referencedDeclaration": 1071, + "src": "18664:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "18315:15:0", + "src": "18655:15:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -14919,14 +15060,14 @@ { "argumentTypes": null, "hexValue": "427579657220616e642073656c6c6572206172652073616d65", - "id": 1085, + "id": 1094, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "18332:27:0", + "src": "18672:27:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_6141441751234d42e9a73d96317794195c7ff57b8f16ac15725a10f10763f824", @@ -14946,21 +15087,21 @@ "typeString": "literal_string \"Buyer and seller are same\"" } ], - "id": 1081, + "id": 1090, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1391, - 1392 + 1400, + 1401 ], - "referencedDeclaration": 1392, - "src": "18307:7:0", + "referencedDeclaration": 1401, + "src": "18647:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 1086, + "id": 1095, "isConstant": false, "isLValue": false, "isPure": false, @@ -14968,15 +15109,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18307:53:0", + "src": "18647:53:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1087, + "id": 1096, "nodeType": "ExpressionStatement", - "src": "18307:53:0" + "src": "18647:53:0" }, { "expression": { @@ -14988,19 +15129,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1091, + "id": 1100, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1089, + "id": 1098, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1072, - "src": "18427:5:0", + "referencedDeclaration": 1081, + "src": "18767:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -15011,14 +15152,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 1090, + "id": 1099, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "18435:1:0", + "src": "18775:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -15026,7 +15167,7 @@ }, "value": "0" }, - "src": "18427:9:0", + "src": "18767:9:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -15035,14 +15176,14 @@ { "argumentTypes": null, "hexValue": "56616c7565207061737365642069732030", - "id": 1092, + "id": 1101, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "18438:19:0", + "src": "18778:19:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_3686f87c4804517ea83323ccf1a3b5b5ff52ed144b19e6fc56abe8fcd182e747", @@ -15062,21 +15203,21 @@ "typeString": "literal_string \"Value passed is 0\"" } ], - "id": 1088, + "id": 1097, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1391, - 1392 + 1400, + 1401 ], - "referencedDeclaration": 1392, - "src": "18419:7:0", + "referencedDeclaration": 1401, + "src": "18759:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 1093, + "id": 1102, "isConstant": false, "isLValue": false, "isPure": false, @@ -15084,15 +15225,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18419:39:0", + "src": "18759:39:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1094, + "id": 1103, "nodeType": "ExpressionStatement", - "src": "18419:39:0" + "src": "18759:39:0" }, { "expression": { @@ -15104,7 +15245,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 1102, + "id": 1111, "isConstant": false, "isLValue": false, "isPure": false, @@ -15115,19 +15256,19 @@ "typeIdentifier": "t_uint8", "typeString": "uint8" }, - "id": 1098, + "id": 1107, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1096, + "id": 1105, "name": "threshold", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1066, - "src": "18561:9:0", + "referencedDeclaration": 1075, + "src": "18901:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -15138,14 +15279,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 1097, + "id": 1106, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "18573:1:0", + "src": "18913:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -15153,7 +15294,7 @@ }, "value": "0" }, - "src": "18561:13:0", + "src": "18901:13:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -15167,19 +15308,19 @@ "typeIdentifier": "t_uint8", "typeString": "uint8" }, - "id": 1101, + "id": 1110, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1099, + "id": 1108, "name": "threshold", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1066, - "src": "18578:9:0", + "referencedDeclaration": 1075, + "src": "18918:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -15190,14 +15331,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "33", - "id": 1100, + "id": 1109, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "18591:1:0", + "src": "18931:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_3_by_1", @@ -15205,13 +15346,13 @@ }, "value": "3" }, - "src": "18578:14:0", + "src": "18918:14:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "18561:31:0", + "src": "18901:31:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -15220,14 +15361,14 @@ { "argumentTypes": null, "hexValue": "5468726573686f6c642063616e6e6f742062652067726561746572207468616e203320616e64206d7573742062652067726561746572207468616e2030", - "id": 1103, + "id": 1112, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "18607:63:0", + "src": "18947:63:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_351c1d5dfdc4a2b4c61d6f4dbb41a0d2ae70a9c094d3c0add87af24b5dd19c13", @@ -15247,21 +15388,21 @@ "typeString": "literal_string \"Threshold cannot be greater than 3 and must be greater than 0\"" } ], - "id": 1095, + "id": 1104, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1391, - 1392 + 1400, + 1401 ], - "referencedDeclaration": 1392, - "src": "18540:7:0", + "referencedDeclaration": 1401, + "src": "18880:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 1104, + "id": 1113, "isConstant": false, "isLValue": false, "isPure": false, @@ -15269,15 +15410,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18540:140:0", + "src": "18880:140:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1105, + "id": 1114, "nodeType": "ExpressionStatement", - "src": "18540:140:0" + "src": "18880:140:0" }, { "expression": { @@ -15289,7 +15430,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 1115, + "id": 1124, "isConstant": false, "isLValue": false, "isPure": false, @@ -15300,19 +15441,19 @@ "typeIdentifier": "t_uint8", "typeString": "uint8" }, - "id": 1109, + "id": 1118, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1107, + "id": 1116, "name": "threshold", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1066, - "src": "18961:9:0", + "referencedDeclaration": 1075, + "src": "19301:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -15323,14 +15464,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "31", - "id": 1108, + "id": 1117, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "18974:1:0", + "src": "19314:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -15338,7 +15479,7 @@ }, "value": "1" }, - "src": "18961:14:0", + "src": "19301:14:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -15352,19 +15493,19 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 1114, + "id": 1123, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1110, + "id": 1119, "name": "moderator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1064, - "src": "18979:9:0", + "referencedDeclaration": 1073, + "src": "19319:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15378,14 +15519,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 1112, + "id": 1121, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "19000:1:0", + "src": "19340:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -15401,20 +15542,20 @@ "typeString": "int_const 0" } ], - "id": 1111, + "id": 1120, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "18992:7:0", + "src": "19332:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, - "id": 1113, + "id": 1122, "isConstant": false, "isLValue": false, "isPure": true, @@ -15422,19 +15563,19 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18992:10:0", + "src": "19332:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "18979:23:0", + "src": "19319:23:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "18961:41:0", + "src": "19301:41:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -15443,14 +15584,14 @@ { "argumentTypes": null, "hexValue": "456974686572207468726573686f6c642073686f756c642062652031206f722076616c6964206d6f64657261746f7220616464726573732073686f756c6420626520706173736564", - "id": 1116, + "id": 1125, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "19016:74:0", + "src": "19356:74:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_2056db168725d2fabb8aaf14efad7a3fc12ef6bc7132f0596ea09b041b71cb25", @@ -15470,21 +15611,21 @@ "typeString": "literal_string \"Either threshold should be 1 or valid moderator address should be passed\"" } ], - "id": 1106, + "id": 1115, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1391, - 1392 + 1400, + 1401 ], - "referencedDeclaration": 1392, - "src": "18940:7:0", + "referencedDeclaration": 1401, + "src": "19280:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 1117, + "id": 1126, "isConstant": false, "isLValue": false, "isPure": false, @@ -15492,15 +15633,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18940:160:0", + "src": "19280:160:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1118, + "id": 1127, "nodeType": "ExpressionStatement", - "src": "18940:160:0" + "src": "19280:160:0" }, { "expression": { @@ -15512,19 +15653,19 @@ "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, - "id": 1130, + "id": 1139, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1120, + "id": 1129, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1070, - "src": "19132:10:0", + "referencedDeclaration": 1079, + "src": "19472:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -15537,12 +15678,12 @@ "arguments": [ { "argumentTypes": null, - "id": 1122, + "id": 1131, "name": "uniqueId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1074, - "src": "19189:8:0", + "referencedDeclaration": 1083, + "src": "19529:8:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -15550,12 +15691,12 @@ }, { "argumentTypes": null, - "id": 1123, + "id": 1132, "name": "threshold", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1066, - "src": "19215:9:0", + "referencedDeclaration": 1075, + "src": "19555:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -15563,12 +15704,12 @@ }, { "argumentTypes": null, - "id": 1124, + "id": 1133, "name": "timeoutHours", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1068, - "src": "19242:12:0", + "referencedDeclaration": 1077, + "src": "19582:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -15576,12 +15717,12 @@ }, { "argumentTypes": null, - "id": 1125, + "id": 1134, "name": "buyer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1060, - "src": "19272:5:0", + "referencedDeclaration": 1069, + "src": "19612:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15589,12 +15730,12 @@ }, { "argumentTypes": null, - "id": 1126, + "id": 1135, "name": "seller", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1062, - "src": "19295:6:0", + "referencedDeclaration": 1071, + "src": "19635:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15602,12 +15743,12 @@ }, { "argumentTypes": null, - "id": 1127, + "id": 1136, "name": "moderator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1064, - "src": "19319:9:0", + "referencedDeclaration": 1073, + "src": "19659:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15615,12 +15756,12 @@ }, { "argumentTypes": null, - "id": 1128, + "id": 1137, "name": "tokenAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1078, - "src": "19346:12:0", + "referencedDeclaration": 1087, + "src": "19686:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15658,18 +15799,18 @@ "typeString": "address" } ], - "id": 1121, + "id": 1130, "name": "calculateRedeemScriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 639, - "src": "19146:25:0", + "referencedDeclaration": 642, + "src": "19486:25:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_bytes20_$_t_uint8_$_t_uint32_$_t_address_$_t_address_$_t_address_$_t_address_$returns$_t_bytes32_$", "typeString": "function (bytes20,uint8,uint32,address,address,address,address) view returns (bytes32)" } }, - "id": 1129, + "id": 1138, "isConstant": false, "isLValue": false, "isPure": false, @@ -15677,13 +15818,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "19146:226:0", + "src": "19486:226:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "src": "19132:240:0", + "src": "19472:240:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -15692,14 +15833,14 @@ { "argumentTypes": null, "hexValue": "43616c63756c6174656420736372697074206861736820646f6573206e6f74206d61746368207061737365642073637269707420686173682e", - "id": 1131, + "id": 1140, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "19387:59:0", + "src": "19727:59:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_0c041e0c58e6b0e01d338d852a5abb639065eabeb0aee05e0ce3e5f0e52b4f51", @@ -15719,21 +15860,21 @@ "typeString": "literal_string \"Calculated script hash does not match passed script hash.\"" } ], - "id": 1119, + "id": 1128, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1391, - 1392 + 1400, + 1401 ], - "referencedDeclaration": 1392, - "src": "19111:7:0", + "referencedDeclaration": 1401, + "src": "19451:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 1132, + "id": 1141, "isConstant": false, "isLValue": false, "isPure": false, @@ -15741,20 +15882,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "19111:345:0", + "src": "19451:345:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1133, + "id": 1142, "nodeType": "ExpressionStatement", - "src": "19111:345:0" + "src": "19451:345:0" }, { "expression": { "argumentTypes": null, - "id": 1151, + "id": 1160, "isConstant": false, "isLValue": false, "isPure": false, @@ -15763,26 +15904,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1134, + "id": 1143, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "19467:12:0", + "src": "19807:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 1136, + "id": 1145, "indexExpression": { "argumentTypes": null, - "id": 1135, + "id": 1144, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1070, - "src": "19480:10:0", + "referencedDeclaration": 1079, + "src": "19820:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -15793,7 +15934,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "19467:24:0", + "src": "19807:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -15806,12 +15947,12 @@ "arguments": [ { "argumentTypes": null, - "id": 1138, + "id": 1147, "name": "buyer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1060, - "src": "19527:5:0", + "referencedDeclaration": 1069, + "src": "19867:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15819,12 +15960,12 @@ }, { "argumentTypes": null, - "id": 1139, + "id": 1148, "name": "seller", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1062, - "src": "19554:6:0", + "referencedDeclaration": 1071, + "src": "19894:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15832,12 +15973,12 @@ }, { "argumentTypes": null, - "id": 1140, + "id": 1149, "name": "moderator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1064, - "src": "19585:9:0", + "referencedDeclaration": 1073, + "src": "19925:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15845,12 +15986,12 @@ }, { "argumentTypes": null, - "id": 1141, + "id": 1150, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1072, - "src": "19615:5:0", + "referencedDeclaration": 1081, + "src": "19955:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -15860,18 +16001,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1142, + "id": 1151, "name": "Status", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9, - "src": "19642:6:0", + "src": "19982:6:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_Status_$9_$", "typeString": "type(enum Escrow_v1_0.Status)" } }, - "id": 1143, + "id": 1152, "isConstant": false, "isLValue": false, "isPure": true, @@ -15879,7 +16020,7 @@ "memberName": "FUNDED", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "19642:13:0", + "src": "19982:13:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$9", "typeString": "enum Escrow_v1_0.Status" @@ -15889,18 +16030,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1144, + "id": 1153, "name": "block", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1378, - "src": "19683:5:0", + "referencedDeclaration": 1387, + "src": "20023:5:0", "typeDescriptions": { "typeIdentifier": "t_magic_block", "typeString": "block" } }, - "id": 1145, + "id": 1154, "isConstant": false, "isLValue": false, "isPure": false, @@ -15908,7 +16049,7 @@ "memberName": "timestamp", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "19683:15:0", + "src": "20023:15:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -15916,12 +16057,12 @@ }, { "argumentTypes": null, - "id": 1146, + "id": 1155, "name": "threshold", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1066, - "src": "19723:9:0", + "referencedDeclaration": 1075, + "src": "20063:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -15929,12 +16070,12 @@ }, { "argumentTypes": null, - "id": 1147, + "id": 1156, "name": "timeoutHours", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1068, - "src": "19760:12:0", + "referencedDeclaration": 1077, + "src": "20100:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -15942,12 +16083,12 @@ }, { "argumentTypes": null, - "id": 1148, + "id": 1157, "name": "transactionType", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1076, - "src": "19802:15:0", + "referencedDeclaration": 1085, + "src": "20142:15:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -15955,12 +16096,12 @@ }, { "argumentTypes": null, - "id": 1149, + "id": 1158, "name": "tokenAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1078, - "src": "19844:12:0", + "referencedDeclaration": 1087, + "src": "20184:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15969,18 +16110,18 @@ ], "expression": { "argumentTypes": null, - "id": 1137, + "id": 1146, "name": "Transaction", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 71, - "src": "19494:11:0", + "src": "19834:11:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_struct$_Transaction_$71_storage_ptr_$", "typeString": "type(struct Escrow_v1_0.Transaction storage pointer)" } }, - "id": 1150, + "id": 1159, "isConstant": false, "isLValue": false, "isPure": false, @@ -15999,26 +16140,26 @@ "tokenAddress" ], "nodeType": "FunctionCall", - "src": "19494:373:0", + "src": "19834:373:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_memory", "typeString": "struct Escrow_v1_0.Transaction memory" } }, - "src": "19467:400:0", + "src": "19807:400:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 1152, + "id": 1161, "nodeType": "ExpressionStatement", - "src": "19467:400:0" + "src": "19807:400:0" }, { "expression": { "argumentTypes": null, - "id": 1160, + "id": 1169, "isConstant": false, "isLValue": false, "isPure": false, @@ -16031,26 +16172,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1153, + "id": 1162, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "19878:12:0", + "src": "20218:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 1155, + "id": 1164, "indexExpression": { "argumentTypes": null, - "id": 1154, + "id": 1163, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1070, - "src": "19891:10:0", + "referencedDeclaration": 1079, + "src": "20231:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -16061,13 +16202,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "19878:24:0", + "src": "20218:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 1156, + "id": 1165, "isConstant": false, "isLValue": true, "isPure": false, @@ -16075,21 +16216,21 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "19878:32:0", + "src": "20218:32:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 1158, + "id": 1167, "indexExpression": { "argumentTypes": null, - "id": 1157, + "id": 1166, "name": "seller", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1062, - "src": "19911:6:0", + "referencedDeclaration": 1071, + "src": "20251:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -16100,7 +16241,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "19878:40:0", + "src": "20218:40:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -16111,14 +16252,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "74727565", - "id": 1159, + "id": 1168, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "19921:4:0", + "src": "20261:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -16126,20 +16267,20 @@ }, "value": "true" }, - "src": "19878:47:0", + "src": "20218:47:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 1161, + "id": 1170, "nodeType": "ExpressionStatement", - "src": "19878:47:0" + "src": "20218:47:0" }, { "expression": { "argumentTypes": null, - "id": 1169, + "id": 1178, "isConstant": false, "isLValue": false, "isPure": false, @@ -16152,26 +16293,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1162, + "id": 1171, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "19935:12:0", + "src": "20275:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 1164, + "id": 1173, "indexExpression": { "argumentTypes": null, - "id": 1163, + "id": 1172, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1070, - "src": "19948:10:0", + "referencedDeclaration": 1079, + "src": "20288:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -16182,13 +16323,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "19935:24:0", + "src": "20275:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 1165, + "id": 1174, "isConstant": false, "isLValue": true, "isPure": false, @@ -16196,21 +16337,21 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "19935:32:0", + "src": "20275:32:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 1167, + "id": 1176, "indexExpression": { "argumentTypes": null, - "id": 1166, + "id": 1175, "name": "buyer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1060, - "src": "19968:5:0", + "referencedDeclaration": 1069, + "src": "20308:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -16221,7 +16362,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "19935:39:0", + "src": "20275:39:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -16232,14 +16373,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "74727565", - "id": 1168, + "id": 1177, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "19977:4:0", + "src": "20317:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -16247,15 +16388,15 @@ }, "value": "true" }, - "src": "19935:46:0", + "src": "20275:46:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 1170, + "id": 1179, "nodeType": "ExpressionStatement", - "src": "19935:46:0" + "src": "20275:46:0" }, { "expression": { @@ -16263,7 +16404,7 @@ "arguments": [ { "argumentTypes": null, - "id": 1178, + "id": 1187, "isConstant": false, "isLValue": false, "isPure": false, @@ -16271,7 +16412,7 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "20088:44:0", + "src": "20428:44:0", "subExpression": { "argumentTypes": null, "baseExpression": { @@ -16280,26 +16421,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1172, + "id": 1181, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "20089:12:0", + "src": "20429:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 1174, + "id": 1183, "indexExpression": { "argumentTypes": null, - "id": 1173, + "id": 1182, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1070, - "src": "20102:10:0", + "referencedDeclaration": 1079, + "src": "20442:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -16310,13 +16451,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20089:24:0", + "src": "20429:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 1175, + "id": 1184, "isConstant": false, "isLValue": true, "isPure": false, @@ -16324,21 +16465,21 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "20089:32:0", + "src": "20429:32:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 1177, + "id": 1186, "indexExpression": { "argumentTypes": null, - "id": 1176, + "id": 1185, "name": "moderator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1064, - "src": "20122:9:0", + "referencedDeclaration": 1073, + "src": "20462:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -16349,7 +16490,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20089:43:0", + "src": "20429:43:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -16363,14 +16504,14 @@ { "argumentTypes": null, "hexValue": "456974686572206275796572206f722073656c6c657220697320706173736564206173206d6f64657261746f72", - "id": 1179, + "id": 1188, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "20147:47:0", + "src": "20487:47:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_313b391557427937e7bdb85c7561d47c5b9c985755a448dd33a92026ffb38f8d", @@ -16390,21 +16531,21 @@ "typeString": "literal_string \"Either buyer or seller is passed as moderator\"" } ], - "id": 1171, + "id": 1180, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1391, - 1392 + 1400, + 1401 ], - "referencedDeclaration": 1392, - "src": "20067:7:0", + "referencedDeclaration": 1401, + "src": "20407:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 1180, + "id": 1189, "isConstant": false, "isLValue": false, "isPure": false, @@ -16412,15 +16553,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "20067:137:0", + "src": "20407:137:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1181, + "id": 1190, "nodeType": "ExpressionStatement", - "src": "20067:137:0" + "src": "20407:137:0" }, { "condition": { @@ -16429,19 +16570,19 @@ "typeIdentifier": "t_uint8", "typeString": "uint8" }, - "id": 1184, + "id": 1193, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1182, + "id": 1191, "name": "threshold", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1066, - "src": "20364:9:0", + "referencedDeclaration": 1075, + "src": "20704:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -16452,14 +16593,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "31", - "id": 1183, + "id": 1192, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "20376:1:0", + "src": "20716:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -16467,25 +16608,25 @@ }, "value": "1" }, - "src": "20364:13:0", + "src": "20704:13:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, - "id": 1195, + "id": 1204, "nodeType": "IfStatement", - "src": "20360:94:0", + "src": "20700:94:0", "trueBody": { - "id": 1194, + "id": 1203, "nodeType": "Block", - "src": "20379:75:0", + "src": "20719:75:0", "statements": [ { "expression": { "argumentTypes": null, - "id": 1192, + "id": 1201, "isConstant": false, "isLValue": false, "isPure": false, @@ -16498,26 +16639,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1185, + "id": 1194, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "20393:12:0", + "src": "20733:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 1187, + "id": 1196, "indexExpression": { "argumentTypes": null, - "id": 1186, + "id": 1195, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1070, - "src": "20406:10:0", + "referencedDeclaration": 1079, + "src": "20746:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -16528,13 +16669,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20393:24:0", + "src": "20733:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 1188, + "id": 1197, "isConstant": false, "isLValue": true, "isPure": false, @@ -16542,21 +16683,21 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "20393:32:0", + "src": "20733:32:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 1190, + "id": 1199, "indexExpression": { "argumentTypes": null, - "id": 1189, + "id": 1198, "name": "moderator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1064, - "src": "20426:9:0", + "referencedDeclaration": 1073, + "src": "20766:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -16567,7 +16708,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "20393:43:0", + "src": "20733:43:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -16578,14 +16719,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "74727565", - "id": 1191, + "id": 1200, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "20439:4:0", + "src": "20779:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -16593,15 +16734,15 @@ }, "value": "true" }, - "src": "20393:50:0", + "src": "20733:50:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 1193, + "id": 1202, "nodeType": "ExpressionStatement", - "src": "20393:50:0" + "src": "20733:50:0" } ] } @@ -16609,7 +16750,7 @@ { "expression": { "argumentTypes": null, - "id": 1197, + "id": 1206, "isConstant": false, "isLValue": false, "isPure": false, @@ -16617,15 +16758,15 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "20472:18:0", + "src": "20812:18:0", "subExpression": { "argumentTypes": null, - "id": 1196, + "id": 1205, "name": "transactionCount", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 78, - "src": "20472:16:0", + "src": "20812:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -16636,9 +16777,9 @@ "typeString": "uint256" } }, - "id": 1198, + "id": 1207, "nodeType": "ExpressionStatement", - "src": "20472:18:0" + "src": "20812:18:0" }, { "expression": { @@ -16646,12 +16787,12 @@ "arguments": [ { "argumentTypes": null, - "id": 1203, + "id": 1212, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1070, - "src": "20532:10:0", + "referencedDeclaration": 1079, + "src": "20872:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -16669,26 +16810,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1199, + "id": 1208, "name": "partyVsTransaction", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 83, - "src": "20501:18:0", + "src": "20841:18:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_bytes32_$dyn_storage_$", "typeString": "mapping(address => bytes32[] storage ref)" } }, - "id": 1201, + "id": 1210, "indexExpression": { "argumentTypes": null, - "id": 1200, + "id": 1209, "name": "buyer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1060, - "src": "20520:5:0", + "referencedDeclaration": 1069, + "src": "20860:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -16699,13 +16840,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20501:25:0", + "src": "20841:25:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage", "typeString": "bytes32[] storage ref" } }, - "id": 1202, + "id": 1211, "isConstant": false, "isLValue": false, "isPure": false, @@ -16713,13 +16854,13 @@ "memberName": "push", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "20501:30:0", + "src": "20841:30:0", "typeDescriptions": { "typeIdentifier": "t_function_arraypush_nonpayable$_t_bytes32_$returns$_t_uint256_$", "typeString": "function (bytes32) returns (uint256)" } }, - "id": 1204, + "id": 1213, "isConstant": false, "isLValue": false, "isPure": false, @@ -16727,15 +16868,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "20501:42:0", + "src": "20841:42:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1205, + "id": 1214, "nodeType": "ExpressionStatement", - "src": "20501:42:0" + "src": "20841:42:0" }, { "expression": { @@ -16743,12 +16884,12 @@ "arguments": [ { "argumentTypes": null, - "id": 1210, + "id": 1219, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1070, - "src": "20585:10:0", + "referencedDeclaration": 1079, + "src": "20925:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -16766,26 +16907,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1206, + "id": 1215, "name": "partyVsTransaction", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 83, - "src": "20553:18:0", + "src": "20893:18:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_bytes32_$dyn_storage_$", "typeString": "mapping(address => bytes32[] storage ref)" } }, - "id": 1208, + "id": 1217, "indexExpression": { "argumentTypes": null, - "id": 1207, + "id": 1216, "name": "seller", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1062, - "src": "20572:6:0", + "referencedDeclaration": 1071, + "src": "20912:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -16796,13 +16937,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20553:26:0", + "src": "20893:26:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage", "typeString": "bytes32[] storage ref" } }, - "id": 1209, + "id": 1218, "isConstant": false, "isLValue": false, "isPure": false, @@ -16810,13 +16951,13 @@ "memberName": "push", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "20553:31:0", + "src": "20893:31:0", "typeDescriptions": { "typeIdentifier": "t_function_arraypush_nonpayable$_t_bytes32_$returns$_t_uint256_$", "typeString": "function (bytes32) returns (uint256)" } }, - "id": 1211, + "id": 1220, "isConstant": false, "isLValue": false, "isPure": false, @@ -16824,20 +16965,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "20553:43:0", + "src": "20893:43:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1212, + "id": 1221, "nodeType": "ExpressionStatement", - "src": "20553:43:0" + "src": "20893:43:0" } ] }, "documentation": "Private method to add transaction to reduce code redundancy", - "id": 1214, + "id": 1223, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -16845,16 +16986,16 @@ "name": "_addTransaction", "nodeType": "FunctionDefinition", "parameters": { - "id": 1079, + "id": 1088, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1060, + "id": 1069, "name": "buyer", "nodeType": "VariableDeclaration", - "scope": 1214, - "src": "17996:13:0", + "scope": 1223, + "src": "18336:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -16862,10 +17003,10 @@ "typeString": "address" }, "typeName": { - "id": 1059, + "id": 1068, "name": "address", "nodeType": "ElementaryTypeName", - "src": "17996:7:0", + "src": "18336:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -16876,11 +17017,11 @@ }, { "constant": false, - "id": 1062, + "id": 1071, "name": "seller", "nodeType": "VariableDeclaration", - "scope": 1214, - "src": "18019:14:0", + "scope": 1223, + "src": "18359:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -16888,10 +17029,10 @@ "typeString": "address" }, "typeName": { - "id": 1061, + "id": 1070, "name": "address", "nodeType": "ElementaryTypeName", - "src": "18019:7:0", + "src": "18359:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -16902,11 +17043,11 @@ }, { "constant": false, - "id": 1064, + "id": 1073, "name": "moderator", "nodeType": "VariableDeclaration", - "scope": 1214, - "src": "18043:17:0", + "scope": 1223, + "src": "18383:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -16914,10 +17055,10 @@ "typeString": "address" }, "typeName": { - "id": 1063, + "id": 1072, "name": "address", "nodeType": "ElementaryTypeName", - "src": "18043:7:0", + "src": "18383:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -16928,11 +17069,11 @@ }, { "constant": false, - "id": 1066, + "id": 1075, "name": "threshold", "nodeType": "VariableDeclaration", - "scope": 1214, - "src": "18070:15:0", + "scope": 1223, + "src": "18410:15:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -16940,10 +17081,10 @@ "typeString": "uint8" }, "typeName": { - "id": 1065, + "id": 1074, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "18070:5:0", + "src": "18410:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -16954,11 +17095,11 @@ }, { "constant": false, - "id": 1068, + "id": 1077, "name": "timeoutHours", "nodeType": "VariableDeclaration", - "scope": 1214, - "src": "18095:19:0", + "scope": 1223, + "src": "18435:19:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -16966,10 +17107,10 @@ "typeString": "uint32" }, "typeName": { - "id": 1067, + "id": 1076, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "18095:6:0", + "src": "18435:6:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -16980,11 +17121,11 @@ }, { "constant": false, - "id": 1070, + "id": 1079, "name": "scriptHash", "nodeType": "VariableDeclaration", - "scope": 1214, - "src": "18124:18:0", + "scope": 1223, + "src": "18464:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -16992,10 +17133,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 1069, + "id": 1078, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "18124:7:0", + "src": "18464:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -17006,11 +17147,11 @@ }, { "constant": false, - "id": 1072, + "id": 1081, "name": "value", "nodeType": "VariableDeclaration", - "scope": 1214, - "src": "18152:13:0", + "scope": 1223, + "src": "18492:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -17018,10 +17159,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1071, + "id": 1080, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "18152:7:0", + "src": "18492:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -17032,11 +17173,11 @@ }, { "constant": false, - "id": 1074, + "id": 1083, "name": "uniqueId", "nodeType": "VariableDeclaration", - "scope": 1214, - "src": "18175:16:0", + "scope": 1223, + "src": "18515:16:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -17044,10 +17185,10 @@ "typeString": "bytes20" }, "typeName": { - "id": 1073, + "id": 1082, "name": "bytes20", "nodeType": "ElementaryTypeName", - "src": "18175:7:0", + "src": "18515:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -17058,11 +17199,11 @@ }, { "constant": false, - "id": 1076, + "id": 1085, "name": "transactionType", "nodeType": "VariableDeclaration", - "scope": 1214, - "src": "18201:31:0", + "scope": 1223, + "src": "18541:31:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -17071,11 +17212,11 @@ }, "typeName": { "contractScope": null, - "id": 1075, + "id": 1084, "name": "TransactionType", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 12, - "src": "18201:15:0", + "src": "18541:15:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -17086,11 +17227,11 @@ }, { "constant": false, - "id": 1078, + "id": 1087, "name": "tokenAddress", "nodeType": "VariableDeclaration", - "scope": 1214, - "src": "18242:20:0", + "scope": 1223, + "src": "18582:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -17098,10 +17239,10 @@ "typeString": "address" }, "typeName": { - "id": 1077, + "id": 1086, "name": "address", "nodeType": "ElementaryTypeName", - "src": "18242:7:0", + "src": "18582:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -17111,36 +17252,36 @@ "visibility": "internal" } ], - "src": "17986:282:0" + "src": "18326:282:0" }, "payable": false, "returnParameters": { - "id": 1080, + "id": 1089, "nodeType": "ParameterList", "parameters": [], - "src": "18289:0:0" + "src": "18629:0:0" }, - "scope": 1215, - "src": "17962:2641:0", + "scope": 1224, + "src": "18302:2641:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "private" } ], - "scope": 1216, - "src": "460:20145:0" + "scope": 1225, + "src": "460:20485:0" } ], - "src": "0:20606:0" + "src": "0:20946:0" }, "legacyAST": { "absolutePath": "/home/sameep/freelancing-projects/toptal/open baazar/publicRepo/smart-contracts/contracts/escrow/Escrow_v1_0.sol", "exportedSymbols": { "Escrow_v1_0": [ - 1215 + 1224 ] }, - "id": 1216, + "id": 1225, "nodeType": "SourceUnit", "nodes": [ { @@ -17158,8 +17299,8 @@ "file": "openzeppelin-solidity/contracts/math/SafeMath.sol", "id": 2, "nodeType": "ImportDirective", - "scope": 1216, - "sourceUnit": 1374, + "scope": 1225, + "sourceUnit": 1383, "src": "25:59:0", "symbolAliases": [], "unitAlias": "" @@ -17169,8 +17310,8 @@ "file": "../token/ITokenContract.sol", "id": 3, "nodeType": "ImportDirective", - "scope": 1216, - "sourceUnit": 1246, + "scope": 1225, + "sourceUnit": 1255, "src": "86:37:0", "symbolAliases": [], "unitAlias": "" @@ -17181,9 +17322,9 @@ "contractKind": "contract", "documentation": "@dev Supports ERC20 tokens\nThe escrow smart contract for the open bazaar trades in Ethereum\nThe smart contract is designed keeping in mind the current wallet interface of the OB-core\nhttps://github.com/OpenBazaar/wallet-interface/blob/master/wallet.go\nCurrent wallet interface strictly adheres to UTXO(bitcoin) model", "fullyImplemented": true, - "id": 1215, + "id": 1224, "linearizedBaseContracts": [ - 1215 + 1224 ], "name": "Escrow_v1_0", "nodeType": "ContractDefinition", @@ -17195,10 +17336,10 @@ "id": 4, "name": "SafeMath", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1373, + "referencedDeclaration": 1382, "src": "494:8:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$1373", + "typeIdentifier": "t_contract$_SafeMath_$1382", "typeString": "library SafeMath" } }, @@ -17971,7 +18112,7 @@ ], "name": "Transaction", "nodeType": "StructDefinition", - "scope": 1215, + "scope": 1224, "src": "958:597:0", "visibility": "public" }, @@ -17980,7 +18121,7 @@ "id": 75, "name": "transactions", "nodeType": "VariableDeclaration", - "scope": 1215, + "scope": 1224, "src": "1561:51:0", "stateVariable": true, "storageLocation": "default", @@ -18027,7 +18168,7 @@ "id": 78, "name": "transactionCount", "nodeType": "VariableDeclaration", - "scope": 1215, + "scope": 1224, "src": "1619:35:0", "stateVariable": true, "storageLocation": "default", @@ -18070,7 +18211,7 @@ "id": 83, "name": "partyVsTransaction", "nodeType": "VariableDeclaration", - "scope": 1215, + "scope": 1224, "src": "1733:56:0", "stateVariable": true, "storageLocation": "default", @@ -18257,10 +18398,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1391, - 1392 + 1400, + 1401 ], - "referencedDeclaration": 1392, + "referencedDeclaration": 1401, "src": "1852:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -18469,10 +18610,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1391, - 1392 + 1400, + 1401 ], - "referencedDeclaration": 1392, + "referencedDeclaration": 1401, "src": "2035:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -18692,10 +18833,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1391, - 1392 + 1400, + 1401 ], - "referencedDeclaration": 1392, + "referencedDeclaration": 1401, "src": "2177:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -18899,10 +19040,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1391, - 1392 + 1400, + 1401 ], - "referencedDeclaration": 1392, + "referencedDeclaration": 1401, "src": "2376:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -19106,10 +19247,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1391, - 1392 + 1400, + 1401 ], - "referencedDeclaration": 1392, + "referencedDeclaration": 1401, "src": "2579:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -19238,7 +19379,7 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1388, + "referencedDeclaration": 1397, "src": "2798:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", @@ -19357,10 +19498,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1391, - 1392 + 1400, + 1401 ], - "referencedDeclaration": 1392, + "referencedDeclaration": 1401, "src": "2777:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -19528,7 +19669,7 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1388, + "referencedDeclaration": 1397, "src": "4230:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", @@ -19695,7 +19836,7 @@ "name": "_addTransaction", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1214, + "referencedDeclaration": 1223, "src": "4066:15:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_address_$_t_uint8_$_t_uint32_$_t_bytes32_$_t_uint256_$_t_bytes20_$_t_enum$_TransactionType_$12_$_t_address_$returns$__$", @@ -19745,7 +19886,7 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1388, + "referencedDeclaration": 1397, "src": "4373:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", @@ -19774,7 +19915,7 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1388, + "referencedDeclaration": 1397, "src": "4385:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", @@ -20146,7 +20287,7 @@ "parameters": [], "src": "4056:0:0" }, - "scope": 1215, + "scope": 1224, "src": "3702:701:0", "stateMutability": "payable", "superFunction": null, @@ -20356,7 +20497,7 @@ "name": "_addTransaction", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1214, + "referencedDeclaration": 1223, "src": "5781:15:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_address_$_t_uint8_$_t_uint32_$_t_bytes32_$_t_uint256_$_t_bytes20_$_t_enum$_TransactionType_$12_$_t_address_$returns$__$", @@ -20396,7 +20537,7 @@ "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenContract_$1245", + "typeIdentifier": "t_contract$_ITokenContract_$1254", "typeString": "contract ITokenContract" }, "typeName": { @@ -20404,10 +20545,10 @@ "id": 281, "name": "ITokenContract", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1245, + "referencedDeclaration": 1254, "src": "6054:14:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenContract_$1245", + "typeIdentifier": "t_contract$_ITokenContract_$1254", "typeString": "contract ITokenContract" } }, @@ -20444,10 +20585,10 @@ "name": "ITokenContract", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1245, + "referencedDeclaration": 1254, "src": "6077:14:0", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ITokenContract_$1245_$", + "typeIdentifier": "t_type$_t_contract$_ITokenContract_$1254_$", "typeString": "type(contract ITokenContract)" } }, @@ -20461,7 +20602,7 @@ "nodeType": "FunctionCall", "src": "6077:28:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenContract_$1245", + "typeIdentifier": "t_contract$_ITokenContract_$1254", "typeString": "contract ITokenContract" } }, @@ -20483,7 +20624,7 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1388, + "referencedDeclaration": 1397, "src": "6156:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", @@ -20513,10 +20654,10 @@ "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1405, + "referencedDeclaration": 1414, "src": "6176:4:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_Escrow_v1_0_$1215", + "typeIdentifier": "t_contract$_Escrow_v1_0_$1224", "typeString": "contract Escrow_v1_0" } } @@ -20524,7 +20665,7 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_Escrow_v1_0_$1215", + "typeIdentifier": "t_contract$_Escrow_v1_0_$1224", "typeString": "contract Escrow_v1_0" } ], @@ -20593,7 +20734,7 @@ "referencedDeclaration": 282, "src": "6137:5:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenContract_$1245", + "typeIdentifier": "t_contract$_ITokenContract_$1254", "typeString": "contract ITokenContract" } }, @@ -20604,7 +20745,7 @@ "lValueRequested": false, "memberName": "transferFrom", "nodeType": "MemberAccess", - "referencedDeclaration": 1244, + "referencedDeclaration": 1253, "src": "6137:18:0", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", @@ -20659,10 +20800,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1391, - 1392 + 1400, + 1401 ], - "referencedDeclaration": 1392, + "referencedDeclaration": 1401, "src": "6116:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -20712,7 +20853,7 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1388, + "referencedDeclaration": 1397, "src": "6342:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", @@ -21182,7 +21323,7 @@ "parameters": [], "src": "5770:0:0" }, - "scope": 1215, + "scope": 1224, "src": "5337:1030:0", "stateMutability": "nonpayable", "superFunction": null, @@ -21386,7 +21527,7 @@ ], "src": "6743:6:0" }, - "scope": 1215, + "scope": 1224, "src": "6608:221:0", "stateMutability": "view", "superFunction": null, @@ -21590,7 +21731,7 @@ ], "src": "7191:6:0" }, - "scope": 1215, + "scope": 1224, "src": "7069:194:0", "stateMutability": "view", "superFunction": null, @@ -21625,7 +21766,7 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1388, + "referencedDeclaration": 1397, "src": "7885:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", @@ -21706,10 +21847,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1391, - 1392 + 1400, + 1401 ], - "referencedDeclaration": 1392, + "referencedDeclaration": 1401, "src": "7877:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -21811,7 +21952,7 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1388, + "referencedDeclaration": 1397, "src": "8027:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", @@ -21903,7 +22044,7 @@ "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 1352, + "referencedDeclaration": 1361, "src": "7979:47:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", @@ -22008,7 +22149,7 @@ "name": "block", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1378, + "referencedDeclaration": 1387, "src": "8087:5:0", "typeDescriptions": { "typeIdentifier": "t_magic_block", @@ -22064,7 +22205,7 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1388, + "referencedDeclaration": 1397, "src": "8140:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", @@ -22093,7 +22234,7 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1388, + "referencedDeclaration": 1397, "src": "8152:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", @@ -22371,7 +22512,7 @@ "parameters": [], "src": "7866:0:0" }, - "scope": 1215, + "scope": 1224, "src": "7590:579:0", "stateMutability": "payable", "superFunction": null, @@ -22471,10 +22612,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1391, - 1392 + 1400, + 1401 ], - "referencedDeclaration": 1392, + "referencedDeclaration": 1401, "src": "8783:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -22514,7 +22655,7 @@ "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenContract_$1245", + "typeIdentifier": "t_contract$_ITokenContract_$1254", "typeString": "contract ITokenContract" }, "typeName": { @@ -22522,10 +22663,10 @@ "id": 428, "name": "ITokenContract", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1245, + "referencedDeclaration": 1254, "src": "8848:14:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenContract_$1245", + "typeIdentifier": "t_contract$_ITokenContract_$1254", "typeString": "contract ITokenContract" } }, @@ -22605,10 +22746,10 @@ "name": "ITokenContract", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1245, + "referencedDeclaration": 1254, "src": "8871:14:0", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ITokenContract_$1245_$", + "typeIdentifier": "t_type$_t_contract$_ITokenContract_$1254_$", "typeString": "type(contract ITokenContract)" } }, @@ -22622,7 +22763,7 @@ "nodeType": "FunctionCall", "src": "8871:75:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenContract_$1245", + "typeIdentifier": "t_contract$_ITokenContract_$1254", "typeString": "contract ITokenContract" } }, @@ -22701,10 +22842,10 @@ "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1405, + "referencedDeclaration": 1414, "src": "9037:4:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_Escrow_v1_0_$1215", + "typeIdentifier": "t_contract$_Escrow_v1_0_$1224", "typeString": "contract Escrow_v1_0" } } @@ -22712,7 +22853,7 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_Escrow_v1_0_$1215", + "typeIdentifier": "t_contract$_Escrow_v1_0_$1224", "typeString": "contract Escrow_v1_0" } ], @@ -22781,7 +22922,7 @@ "referencedDeclaration": 429, "src": "8978:5:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenContract_$1245", + "typeIdentifier": "t_contract$_ITokenContract_$1254", "typeString": "contract ITokenContract" } }, @@ -22792,7 +22933,7 @@ "lValueRequested": false, "memberName": "transferFrom", "nodeType": "MemberAccess", - "referencedDeclaration": 1244, + "referencedDeclaration": 1253, "src": "8978:18:0", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", @@ -22847,10 +22988,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1391, - 1392 + 1400, + 1401 ], - "referencedDeclaration": 1392, + "referencedDeclaration": 1401, "src": "8957:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -23028,7 +23169,7 @@ "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 1352, + "referencedDeclaration": 1361, "src": "9212:47:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", @@ -23133,7 +23274,7 @@ "name": "block", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1378, + "referencedDeclaration": 1387, "src": "9316:5:0", "typeDescriptions": { "typeIdentifier": "t_magic_block", @@ -23189,7 +23330,7 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1388, + "referencedDeclaration": 1397, "src": "9369:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", @@ -23506,7 +23647,7 @@ "parameters": [], "src": "8772:0:0" }, - "scope": 1215, + "scope": 1224, "src": "8497:897:0", "stateMutability": "nonpayable", "superFunction": null, @@ -23651,7 +23792,7 @@ ], "src": "9632:11:0" }, - "scope": 1215, + "scope": 1224, "src": "9511:194:0", "stateMutability": "view", "superFunction": null, @@ -23659,9 +23800,9 @@ }, { "body": { - "id": 579, + "id": 582, "nodeType": "Block", - "src": "10575:792:0", + "src": "10575:932:0", "statements": [ { "expression": { @@ -23670,160 +23811,207 @@ { "argumentTypes": null, "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_uint256", + "typeString": "uint256" }, - "id": 530, + "id": 524, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "expression": { + "argumentTypes": null, + "id": 521, + "name": "destinations", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 508, + "src": "10609:12:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", + "typeString": "address[] calldata" + } }, - "id": 524, + "id": 522, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 521, - "name": "destinations", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 508, - "src": "10606:12:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", - "typeString": "address[] calldata" - } - }, - "id": 522, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "10606:19:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 523, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10626:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "10606:21:0", + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "10609:19:0", "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, "nodeType": "BinaryOperation", - "operator": "&&", + "operator": ">", "rightExpression": { "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 529, + "hexValue": "30", + "id": 523, "isConstant": false, "isLValue": false, - "isPure": false, + "isPure": true, + "kind": "number", "lValueRequested": false, - "leftExpression": { + "nodeType": "Literal", + "src": "10629:1:0", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "10609:21:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "argumentTypes": null, + "hexValue": "4e756d626572206f662064657374696e6174696f6e73206d7573742062652067726561746572207468616e2030", + "id": 525, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10645:47:0", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_fbeb58246a6e3ff255a1d618f14d1cced67ffd4784fbc3e1cfbdf71d1f7fbdf9", + "typeString": "literal_string \"Number of destinations must be greater than 0\"" + }, + "value": "Number of destinations must be greater than 0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_fbeb58246a6e3ff255a1d618f14d1cced67ffd4784fbc3e1cfbdf71d1f7fbdf9", + "typeString": "literal_string \"Number of destinations must be greater than 0\"" + } + ], + "id": 520, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 1400, + 1401 + ], + "referencedDeclaration": 1401, + "src": "10588:7:0", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 526, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10588:114:0", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 527, + "nodeType": "ExpressionStatement", + "src": "10588:114:0" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 533, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 525, - "name": "destinations", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 508, - "src": "10631:12:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", - "typeString": "address[] calldata" - } - }, - "id": 526, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "10631:19:0", + "id": 529, + "name": "destinations", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 508, + "src": "10733:12:0", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", + "typeString": "address[] calldata" } }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { + "id": 530, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "10733:19:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "expression": { "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 527, - "name": "amounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 511, - "src": "10654:7:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", - "typeString": "uint256[] calldata" - } - }, - "id": 528, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "10654:14:0", + "id": 531, + "name": "amounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 511, + "src": "10756:7:0", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[] calldata" } }, - "src": "10631:37:0", + "id": 532, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "10756:14:0", "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, - "src": "10606:62:0", + "src": "10733:37:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -23831,21 +24019,21 @@ }, { "argumentTypes": null, - "hexValue": "4c656e677468206f662064657374696e6174696f6e7320697320696e636f72726563742e", - "id": 531, + "hexValue": "4e756d626572206f662064657374696e6174696f6e73206d757374206d61746368206e756d626572206f662076616c7565732073656e74", + "id": 534, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "10670:38:0", + "src": "10784:57:0", "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_stringliteral_53e979b0c355ea1eeda44a80ca73370fdb2abe922711b459aa4ee43d1558782b", - "typeString": "literal_string \"Length of destinations is incorrect.\"" + "typeIdentifier": "t_stringliteral_e70a315a5939ff57e3400503291dbc0af19d18c32f15c80c7c6f5b7c54a6cd3c", + "typeString": "literal_string \"Number of destinations must match number of values sent\"" }, - "value": "Length of destinations is incorrect." + "value": "Number of destinations must match number of values sent" } ], "expression": { @@ -23855,25 +24043,25 @@ "typeString": "bool" }, { - "typeIdentifier": "t_stringliteral_53e979b0c355ea1eeda44a80ca73370fdb2abe922711b459aa4ee43d1558782b", - "typeString": "literal_string \"Length of destinations is incorrect.\"" + "typeIdentifier": "t_stringliteral_e70a315a5939ff57e3400503291dbc0af19d18c32f15c80c7c6f5b7c54a6cd3c", + "typeString": "literal_string \"Number of destinations must match number of values sent\"" } ], - "id": 520, + "id": 528, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1391, - 1392 + 1400, + 1401 ], - "referencedDeclaration": 1392, - "src": "10585:7:0", + "referencedDeclaration": 1401, + "src": "10712:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 532, + "id": 535, "isConstant": false, "isLValue": false, "isPure": false, @@ -23881,15 +24069,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "10585:133:0", + "src": "10712:139:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 533, + "id": 536, "nodeType": "ExpressionStatement", - "src": "10585:133:0" + "src": "10712:139:0" }, { "expression": { @@ -23897,12 +24085,12 @@ "arguments": [ { "argumentTypes": null, - "id": 535, + "id": 538, "name": "sigV", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 497, - "src": "10761:4:0", + "src": "10901:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_calldata_ptr", "typeString": "uint8[] calldata" @@ -23910,12 +24098,12 @@ }, { "argumentTypes": null, - "id": 536, + "id": 539, "name": "sigR", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 500, - "src": "10779:4:0", + "src": "10919:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", "typeString": "bytes32[] calldata" @@ -23923,12 +24111,12 @@ }, { "argumentTypes": null, - "id": 537, + "id": 540, "name": "sigS", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 503, - "src": "10797:4:0", + "src": "10937:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", "typeString": "bytes32[] calldata" @@ -23936,12 +24124,12 @@ }, { "argumentTypes": null, - "id": 538, + "id": 541, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 505, - "src": "10815:10:0", + "src": "10955:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -23949,12 +24137,12 @@ }, { "argumentTypes": null, - "id": 539, + "id": 542, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 508, - "src": "10839:12:0", + "src": "10979:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" @@ -23962,12 +24150,12 @@ }, { "argumentTypes": null, - "id": 540, + "id": 543, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 511, - "src": "10865:7:0", + "src": "11005:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", "typeString": "uint256[] calldata" @@ -24001,18 +24189,18 @@ "typeString": "uint256[] calldata" } ], - "id": 534, + "id": 537, "name": "_verifyTransaction", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 708, - "src": "10729:18:0", + "referencedDeclaration": 711, + "src": "10869:18:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_array$_t_uint8_$dyn_memory_ptr_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_bytes32_$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$__$", "typeString": "function (uint8[] memory,bytes32[] memory,bytes32[] memory,bytes32,address[] memory,uint256[] memory)" } }, - "id": 541, + "id": 544, "isConstant": false, "isLValue": false, "isPure": false, @@ -24020,20 +24208,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "10729:153:0", + "src": "10869:153:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 542, + "id": 545, "nodeType": "ExpressionStatement", - "src": "10729:153:0" + "src": "10869:153:0" }, { "expression": { "argumentTypes": null, - "id": 549, + "id": 552, "isConstant": false, "isLValue": false, "isPure": false, @@ -24044,26 +24232,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 543, + "id": 546, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "10893:12:0", + "src": "11033:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 545, + "id": 548, "indexExpression": { "argumentTypes": null, - "id": 544, + "id": 547, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 505, - "src": "10906:10:0", + "src": "11046:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -24074,13 +24262,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "10893:24:0", + "src": "11033:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 546, + "id": 549, "isConstant": false, "isLValue": true, "isPure": false, @@ -24088,7 +24276,7 @@ "memberName": "status", "nodeType": "MemberAccess", "referencedDeclaration": 44, - "src": "10893:31:0", + "src": "11033:31:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$9", "typeString": "enum Escrow_v1_0.Status" @@ -24100,18 +24288,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 547, + "id": 550, "name": "Status", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9, - "src": "10927:6:0", + "src": "11067:6:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_Status_$9_$", "typeString": "type(enum Escrow_v1_0.Status)" } }, - "id": 548, + "id": 551, "isConstant": false, "isLValue": false, "isPure": true, @@ -24119,26 +24307,26 @@ "memberName": "RELEASED", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "10927:15:0", + "src": "11067:15:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$9", "typeString": "enum Escrow_v1_0.Status" } }, - "src": "10893:49:0", + "src": "11033:49:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$9", "typeString": "enum Escrow_v1_0.Status" } }, - "id": 550, + "id": 553, "nodeType": "ExpressionStatement", - "src": "10893:49:0" + "src": "11033:49:0" }, { "expression": { "argumentTypes": null, - "id": 557, + "id": 560, "isConstant": false, "isLValue": false, "isPure": false, @@ -24149,26 +24337,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 551, + "id": 554, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "11026:12:0", + "src": "11166:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 553, + "id": 556, "indexExpression": { "argumentTypes": null, - "id": 552, + "id": 555, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 505, - "src": "11039:10:0", + "src": "11179:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -24179,13 +24367,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "11026:24:0", + "src": "11166:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 554, + "id": 557, "isConstant": false, "isLValue": true, "isPure": false, @@ -24193,7 +24381,7 @@ "memberName": "lastModified", "nodeType": "MemberAccess", "referencedDeclaration": 42, - "src": "11026:37:0", + "src": "11166:37:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -24205,18 +24393,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 555, + "id": 558, "name": "block", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1378, - "src": "11066:5:0", + "referencedDeclaration": 1387, + "src": "11206:5:0", "typeDescriptions": { "typeIdentifier": "t_magic_block", "typeString": "block" } }, - "id": 556, + "id": 559, "isConstant": false, "isLValue": false, "isPure": false, @@ -24224,21 +24412,21 @@ "memberName": "timestamp", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "11066:15:0", + "src": "11206:15:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "11026:55:0", + "src": "11166:55:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 558, + "id": 561, "nodeType": "ExpressionStatement", - "src": "11026:55:0" + "src": "11166:55:0" }, { "expression": { @@ -24250,7 +24438,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 569, + "id": 572, "isConstant": false, "isLValue": false, "isPure": false, @@ -24260,12 +24448,12 @@ "arguments": [ { "argumentTypes": null, - "id": 561, + "id": 564, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 505, - "src": "11127:10:0", + "src": "11267:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -24273,12 +24461,12 @@ }, { "argumentTypes": null, - "id": 562, + "id": 565, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 508, - "src": "11139:12:0", + "src": "11279:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" @@ -24286,12 +24474,12 @@ }, { "argumentTypes": null, - "id": 563, + "id": 566, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 511, - "src": "11153:7:0", + "src": "11293:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", "typeString": "uint256[] calldata" @@ -24313,18 +24501,18 @@ "typeString": "uint256[] calldata" } ], - "id": 560, + "id": 563, "name": "_transferFunds", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 895, - "src": "11112:14:0", + "referencedDeclaration": 904, + "src": "11252:14:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$_t_uint256_$", "typeString": "function (bytes32,address[] memory,uint256[] memory) returns (uint256)" } }, - "id": 564, + "id": 567, "isConstant": false, "isLValue": false, "isPure": false, @@ -24332,7 +24520,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "11112:49:0", + "src": "11252:49:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -24346,26 +24534,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 565, + "id": 568, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "11165:12:0", + "src": "11305:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 567, + "id": 570, "indexExpression": { "argumentTypes": null, - "id": 566, + "id": 569, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 505, - "src": "11178:10:0", + "src": "11318:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -24376,13 +24564,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "11165:24:0", + "src": "11305:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 568, + "id": 571, "isConstant": false, "isLValue": true, "isPure": false, @@ -24390,13 +24578,13 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": 40, - "src": "11165:30:0", + "src": "11305:30:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "11112:83:0", + "src": "11252:83:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -24405,14 +24593,14 @@ { "argumentTypes": null, "hexValue": "546f74616c2076616c756520746f2062652072656c6561736564206d75737420626520657175616c20746f20746865207472616e73616374696f6e20657363726f772076616c7565", - "id": 570, + "id": 573, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "11209:74:0", + "src": "11349:74:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_9e0bdb14e2e0d5e118fd1f547268c6a1fdb5e8facacd614066d4b60bc2c9941d", @@ -24432,21 +24620,21 @@ "typeString": "literal_string \"Total value to be released must be equal to the transaction escrow value\"" } ], - "id": 559, + "id": 562, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1391, - 1392 + 1400, + 1401 ], - "referencedDeclaration": 1392, - "src": "11091:7:0", + "referencedDeclaration": 1401, + "src": "11231:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 571, + "id": 574, "isConstant": false, "isLValue": false, "isPure": false, @@ -24454,15 +24642,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "11091:202:0", + "src": "11231:202:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 572, + "id": 575, "nodeType": "ExpressionStatement", - "src": "11091:202:0" + "src": "11231:202:0" }, { "eventCall": { @@ -24470,12 +24658,12 @@ "arguments": [ { "argumentTypes": null, - "id": 574, + "id": 577, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 505, - "src": "11326:10:0", + "src": "11466:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -24483,12 +24671,12 @@ }, { "argumentTypes": null, - "id": 575, + "id": 578, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 508, - "src": "11338:12:0", + "src": "11478:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" @@ -24496,12 +24684,12 @@ }, { "argumentTypes": null, - "id": 576, + "id": 579, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 511, - "src": "11352:7:0", + "src": "11492:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", "typeString": "uint256[] calldata" @@ -24523,18 +24711,18 @@ "typeString": "uint256[] calldata" } ], - "id": 573, + "id": 576, "name": "Executed", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 22, - "src": "11317:8:0", + "src": "11457:8:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$__$", "typeString": "function (bytes32,address[] memory,uint256[] memory)" } }, - "id": 577, + "id": 580, "isConstant": false, "isLValue": false, "isPure": false, @@ -24542,20 +24730,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "11317:43:0", + "src": "11457:43:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 578, + "id": 581, "nodeType": "EmitStatement", - "src": "11312:48:0" + "src": "11452:48:0" } ] }, "documentation": "dev This method will be used to release funds associated with the transaction\nPlease see specs https://github.com/OpenBazaar/smart-contracts/blob/master/contracts/escrow/EscrowSpec.md\nparam sigV Array containing V component of all the signatures\nparam sigR Array containing R component of all the signatures\nparam signS Array containing S component of all the signatures\nparam scriptHash script hash of the transaction\nparam destinations List of addresses who will receive funds\nparam amounts amount released to each destination", - "id": 580, + "id": 583, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -24638,7 +24826,7 @@ "id": 497, "name": "sigV", "nodeType": "VariableDeclaration", - "scope": 580, + "scope": 583, "src": "10329:12:0", "stateVariable": false, "storageLocation": "default", @@ -24674,7 +24862,7 @@ "id": 500, "name": "sigR", "nodeType": "VariableDeclaration", - "scope": 580, + "scope": 583, "src": "10351:14:0", "stateVariable": false, "storageLocation": "default", @@ -24710,7 +24898,7 @@ "id": 503, "name": "sigS", "nodeType": "VariableDeclaration", - "scope": 580, + "scope": 583, "src": "10375:14:0", "stateVariable": false, "storageLocation": "default", @@ -24746,7 +24934,7 @@ "id": 505, "name": "scriptHash", "nodeType": "VariableDeclaration", - "scope": 580, + "scope": 583, "src": "10399:18:0", "stateVariable": false, "storageLocation": "default", @@ -24772,7 +24960,7 @@ "id": 508, "name": "destinations", "nodeType": "VariableDeclaration", - "scope": 580, + "scope": 583, "src": "10427:22:0", "stateVariable": false, "storageLocation": "default", @@ -24808,7 +24996,7 @@ "id": 511, "name": "amounts", "nodeType": "VariableDeclaration", - "scope": 580, + "scope": 583, "src": "10459:17:0", "stateVariable": false, "storageLocation": "default", @@ -24849,17 +25037,17 @@ "parameters": [], "src": "10575:0:0" }, - "scope": 1215, - "src": "10303:1064:0", + "scope": 1224, + "src": "10303:1204:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" }, { "body": { - "id": 638, + "id": 641, "nodeType": "Block", - "src": "12121:734:0", + "src": "12261:734:0", "statements": [ { "condition": { @@ -24868,19 +25056,19 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 603, + "id": 606, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 599, + "id": 602, "name": "tokenAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 594, - "src": "12135:12:0", + "referencedDeclaration": 597, + "src": "12275:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -24894,14 +25082,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 601, + "id": 604, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "12159:1:0", + "src": "12299:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -24917,20 +25105,20 @@ "typeString": "int_const 0" } ], - "id": 600, + "id": 603, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "12151:7:0", + "src": "12291:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, - "id": 602, + "id": 605, "isConstant": false, "isLValue": false, "isPure": true, @@ -24938,22 +25126,22 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "12151:10:0", + "src": "12291:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "12135:26:0", + "src": "12275:26:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": { - "id": 636, + "id": 639, "nodeType": "Block", - "src": "12492:357:0", + "src": "12632:357:0", "statements": [ { "expression": { @@ -24964,12 +25152,12 @@ "arguments": [ { "argumentTypes": null, - "id": 623, + "id": 626, "name": "uniqueId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 582, - "src": "12578:8:0", + "referencedDeclaration": 585, + "src": "12718:8:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -24977,12 +25165,12 @@ }, { "argumentTypes": null, - "id": 624, + "id": 627, "name": "threshold", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 584, - "src": "12608:9:0", + "referencedDeclaration": 587, + "src": "12748:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -24990,12 +25178,12 @@ }, { "argumentTypes": null, - "id": 625, + "id": 628, "name": "timeoutHours", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 586, - "src": "12639:12:0", + "referencedDeclaration": 589, + "src": "12779:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -25003,12 +25191,12 @@ }, { "argumentTypes": null, - "id": 626, + "id": 629, "name": "buyer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 588, - "src": "12673:5:0", + "referencedDeclaration": 591, + "src": "12813:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -25016,12 +25204,12 @@ }, { "argumentTypes": null, - "id": 627, + "id": 630, "name": "seller", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 590, - "src": "12700:6:0", + "referencedDeclaration": 593, + "src": "12840:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -25029,12 +25217,12 @@ }, { "argumentTypes": null, - "id": 628, + "id": 631, "name": "moderator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 592, - "src": "12728:9:0", + "referencedDeclaration": 595, + "src": "12868:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -25045,14 +25233,14 @@ "arguments": [ { "argumentTypes": null, - "id": 630, + "id": 633, "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1405, - "src": "12767:4:0", + "referencedDeclaration": 1414, + "src": "12907:4:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_Escrow_v1_0_$1215", + "typeIdentifier": "t_contract$_Escrow_v1_0_$1224", "typeString": "contract Escrow_v1_0" } } @@ -25060,24 +25248,24 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_Escrow_v1_0_$1215", + "typeIdentifier": "t_contract$_Escrow_v1_0_$1224", "typeString": "contract Escrow_v1_0" } ], - "id": 629, + "id": 632, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "12759:7:0", + "src": "12899:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, - "id": 631, + "id": 634, "isConstant": false, "isLValue": false, "isPure": false, @@ -25085,7 +25273,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "12759:13:0", + "src": "12899:13:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -25093,12 +25281,12 @@ }, { "argumentTypes": null, - "id": 632, + "id": 635, "name": "tokenAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 594, - "src": "12794:12:0", + "referencedDeclaration": 597, + "src": "12934:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -25142,18 +25330,18 @@ ], "expression": { "argumentTypes": null, - "id": 621, + "id": 624, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1375, - "src": "12540:3:0", + "referencedDeclaration": 1384, + "src": "12680:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, - "id": 622, + "id": 625, "isConstant": false, "isLValue": false, "isPure": true, @@ -25161,13 +25349,13 @@ "memberName": "encodePacked", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "12540:16:0", + "src": "12680:16:0", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, - "id": 633, + "id": 636, "isConstant": false, "isLValue": false, "isPure": false, @@ -25175,7 +25363,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "12540:284:0", + "src": "12680:284:0", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -25189,18 +25377,18 @@ "typeString": "bytes memory" } ], - "id": 620, + "id": 623, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1382, - "src": "12513:9:0", + "referencedDeclaration": 1391, + "src": "12653:9:0", "typeDescriptions": { "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", "typeString": "function () pure returns (bytes32)" } }, - "id": 634, + "id": 637, "isConstant": false, "isLValue": false, "isPure": false, @@ -25208,26 +25396,26 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "12513:325:0", + "src": "12653:325:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "functionReturnParameters": 598, - "id": 635, + "functionReturnParameters": 601, + "id": 638, "nodeType": "Return", - "src": "12506:332:0" + "src": "12646:332:0" } ] }, - "id": 637, + "id": 640, "nodeType": "IfStatement", - "src": "12131:718:0", + "src": "12271:718:0", "trueBody": { - "id": 619, + "id": 622, "nodeType": "Block", - "src": "12163:323:0", + "src": "12303:323:0", "statements": [ { "expression": { @@ -25238,12 +25426,12 @@ "arguments": [ { "argumentTypes": null, - "id": 607, + "id": 610, "name": "uniqueId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 582, - "src": "12249:8:0", + "referencedDeclaration": 585, + "src": "12389:8:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -25251,12 +25439,12 @@ }, { "argumentTypes": null, - "id": 608, + "id": 611, "name": "threshold", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 584, - "src": "12279:9:0", + "referencedDeclaration": 587, + "src": "12419:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -25264,12 +25452,12 @@ }, { "argumentTypes": null, - "id": 609, + "id": 612, "name": "timeoutHours", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 586, - "src": "12310:12:0", + "referencedDeclaration": 589, + "src": "12450:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -25277,12 +25465,12 @@ }, { "argumentTypes": null, - "id": 610, + "id": 613, "name": "buyer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 588, - "src": "12344:5:0", + "referencedDeclaration": 591, + "src": "12484:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -25290,12 +25478,12 @@ }, { "argumentTypes": null, - "id": 611, + "id": 614, "name": "seller", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 590, - "src": "12371:6:0", + "referencedDeclaration": 593, + "src": "12511:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -25303,12 +25491,12 @@ }, { "argumentTypes": null, - "id": 612, + "id": 615, "name": "moderator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 592, - "src": "12399:9:0", + "referencedDeclaration": 595, + "src": "12539:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -25319,14 +25507,14 @@ "arguments": [ { "argumentTypes": null, - "id": 614, + "id": 617, "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1405, - "src": "12438:4:0", + "referencedDeclaration": 1414, + "src": "12578:4:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_Escrow_v1_0_$1215", + "typeIdentifier": "t_contract$_Escrow_v1_0_$1224", "typeString": "contract Escrow_v1_0" } } @@ -25334,24 +25522,24 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_Escrow_v1_0_$1215", + "typeIdentifier": "t_contract$_Escrow_v1_0_$1224", "typeString": "contract Escrow_v1_0" } ], - "id": 613, + "id": 616, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "12430:7:0", + "src": "12570:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, - "id": 615, + "id": 618, "isConstant": false, "isLValue": false, "isPure": false, @@ -25359,7 +25547,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "12430:13:0", + "src": "12570:13:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -25399,18 +25587,18 @@ ], "expression": { "argumentTypes": null, - "id": 605, + "id": 608, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1375, - "src": "12211:3:0", + "referencedDeclaration": 1384, + "src": "12351:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, - "id": 606, + "id": 609, "isConstant": false, "isLValue": false, "isPure": true, @@ -25418,13 +25606,13 @@ "memberName": "encodePacked", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "12211:16:0", + "src": "12351:16:0", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, - "id": 616, + "id": 619, "isConstant": false, "isLValue": false, "isPure": false, @@ -25432,7 +25620,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "12211:250:0", + "src": "12351:250:0", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -25446,18 +25634,18 @@ "typeString": "bytes memory" } ], - "id": 604, + "id": 607, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1382, - "src": "12184:9:0", + "referencedDeclaration": 1391, + "src": "12324:9:0", "typeDescriptions": { "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", "typeString": "function () pure returns (bytes32)" } }, - "id": 617, + "id": 620, "isConstant": false, "isLValue": false, "isPure": false, @@ -25465,16 +25653,16 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "12184:291:0", + "src": "12324:291:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "functionReturnParameters": 598, - "id": 618, + "functionReturnParameters": 601, + "id": 621, "nodeType": "Return", - "src": "12177:298:0" + "src": "12317:298:0" } ] } @@ -25482,7 +25670,7 @@ ] }, "documentation": "dev Method for calculating script hash. Calculation will depend upon the type of transaction\nETHER Type transaction-:\nScript Hash- keccak256(uniqueId, threshold, timeoutHours, buyer, seller, moderator)\nTOKEN Type transaction\nScript Hash- keccak256(uniqueId, threshold, timeoutHours, buyer, seller, moderator, tokenAddress)\nClient can use this method to verify whether it has calculated correct script hash or not", - "id": 639, + "id": 642, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -25490,16 +25678,16 @@ "name": "calculateRedeemScriptHash", "nodeType": "FunctionDefinition", "parameters": { - "id": 595, + "id": 598, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 582, + "id": 585, "name": "uniqueId", "nodeType": "VariableDeclaration", - "scope": 639, - "src": "11882:16:0", + "scope": 642, + "src": "12022:16:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -25507,10 +25695,10 @@ "typeString": "bytes20" }, "typeName": { - "id": 581, + "id": 584, "name": "bytes20", "nodeType": "ElementaryTypeName", - "src": "11882:7:0", + "src": "12022:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -25521,11 +25709,11 @@ }, { "constant": false, - "id": 584, + "id": 587, "name": "threshold", "nodeType": "VariableDeclaration", - "scope": 639, - "src": "11908:15:0", + "scope": 642, + "src": "12048:15:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -25533,10 +25721,10 @@ "typeString": "uint8" }, "typeName": { - "id": 583, + "id": 586, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "11908:5:0", + "src": "12048:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -25547,11 +25735,11 @@ }, { "constant": false, - "id": 586, + "id": 589, "name": "timeoutHours", "nodeType": "VariableDeclaration", - "scope": 639, - "src": "11933:19:0", + "scope": 642, + "src": "12073:19:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -25559,10 +25747,10 @@ "typeString": "uint32" }, "typeName": { - "id": 585, + "id": 588, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "11933:6:0", + "src": "12073:6:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -25573,11 +25761,11 @@ }, { "constant": false, - "id": 588, + "id": 591, "name": "buyer", "nodeType": "VariableDeclaration", - "scope": 639, - "src": "11962:13:0", + "scope": 642, + "src": "12102:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -25585,10 +25773,10 @@ "typeString": "address" }, "typeName": { - "id": 587, + "id": 590, "name": "address", "nodeType": "ElementaryTypeName", - "src": "11962:7:0", + "src": "12102:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -25599,11 +25787,11 @@ }, { "constant": false, - "id": 590, + "id": 593, "name": "seller", "nodeType": "VariableDeclaration", - "scope": 639, - "src": "11985:14:0", + "scope": 642, + "src": "12125:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -25611,10 +25799,10 @@ "typeString": "address" }, "typeName": { - "id": 589, + "id": 592, "name": "address", "nodeType": "ElementaryTypeName", - "src": "11985:7:0", + "src": "12125:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -25625,11 +25813,11 @@ }, { "constant": false, - "id": 592, + "id": 595, "name": "moderator", "nodeType": "VariableDeclaration", - "scope": 639, - "src": "12009:17:0", + "scope": 642, + "src": "12149:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -25637,10 +25825,10 @@ "typeString": "address" }, "typeName": { - "id": 591, + "id": 594, "name": "address", "nodeType": "ElementaryTypeName", - "src": "12009:7:0", + "src": "12149:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -25651,11 +25839,11 @@ }, { "constant": false, - "id": 594, + "id": 597, "name": "tokenAddress", "nodeType": "VariableDeclaration", - "scope": 639, - "src": "12036:20:0", + "scope": 642, + "src": "12176:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -25663,10 +25851,10 @@ "typeString": "address" }, "typeName": { - "id": 593, + "id": 596, "name": "address", "nodeType": "ElementaryTypeName", - "src": "12036:7:0", + "src": "12176:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -25676,20 +25864,20 @@ "visibility": "internal" } ], - "src": "11872:190:0" + "src": "12012:190:0" }, "payable": false, "returnParameters": { - "id": 598, + "id": 601, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 597, + "id": 600, "name": "", "nodeType": "VariableDeclaration", - "scope": 639, - "src": "12108:7:0", + "scope": 642, + "src": "12248:7:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -25697,10 +25885,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 596, + "id": 599, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "12108:7:0", + "src": "12248:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -25710,32 +25898,32 @@ "visibility": "internal" } ], - "src": "12107:9:0" + "src": "12247:9:0" }, - "scope": 1215, - "src": "11838:1017:0", + "scope": 1224, + "src": "11978:1017:0", "stateMutability": "view", "superFunction": null, "visibility": "public" }, { "body": { - "id": 707, + "id": 710, "nodeType": "Block", - "src": "13340:797:0", + "src": "13480:797:0", "statements": [ { "assignments": [ - 660 + 663 ], "declarations": [ { "constant": false, - "id": 660, + "id": 663, "name": "lastRecovered", "nodeType": "VariableDeclaration", - "scope": 708, - "src": "13350:21:0", + "scope": 711, + "src": "13490:21:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -25743,10 +25931,10 @@ "typeString": "address" }, "typeName": { - "id": 659, + "id": 662, "name": "address", "nodeType": "ElementaryTypeName", - "src": "13350:7:0", + "src": "13490:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -25756,18 +25944,18 @@ "visibility": "internal" } ], - "id": 669, + "id": 672, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 662, + "id": 665, "name": "sigV", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 642, - "src": "13405:4:0", + "referencedDeclaration": 645, + "src": "13545:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr", "typeString": "uint8[] memory" @@ -25775,12 +25963,12 @@ }, { "argumentTypes": null, - "id": 663, + "id": 666, "name": "sigR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 645, - "src": "13423:4:0", + "referencedDeclaration": 648, + "src": "13563:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" @@ -25788,12 +25976,12 @@ }, { "argumentTypes": null, - "id": 664, + "id": 667, "name": "sigS", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 648, - "src": "13441:4:0", + "referencedDeclaration": 651, + "src": "13581:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" @@ -25801,12 +25989,12 @@ }, { "argumentTypes": null, - "id": 665, + "id": 668, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 650, - "src": "13459:10:0", + "referencedDeclaration": 653, + "src": "13599:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -25814,12 +26002,12 @@ }, { "argumentTypes": null, - "id": 666, + "id": 669, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 653, - "src": "13483:12:0", + "referencedDeclaration": 656, + "src": "13623:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -25827,12 +26015,12 @@ }, { "argumentTypes": null, - "id": 667, + "id": 670, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 656, - "src": "13509:7:0", + "referencedDeclaration": 659, + "src": "13649:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" @@ -25866,18 +26054,18 @@ "typeString": "uint256[] memory" } ], - "id": 661, + "id": 664, "name": "_verifySignatures", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1026, - "src": "13374:17:0", + "referencedDeclaration": 1035, + "src": "13514:17:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_array$_t_uint8_$dyn_memory_ptr_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_bytes32_$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$_t_address_$", "typeString": "function (uint8[] memory,bytes32[] memory,bytes32[] memory,bytes32,address[] memory,uint256[] memory) returns (address)" } }, - "id": 668, + "id": 671, "isConstant": false, "isLValue": false, "isPure": false, @@ -25885,27 +26073,27 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "13374:152:0", + "src": "13514:152:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "VariableDeclarationStatement", - "src": "13350:176:0" + "src": "13490:176:0" }, { "assignments": [ - 671 + 674 ], "declarations": [ { "constant": false, - "id": 671, + "id": 674, "name": "timeLockExpired", "nodeType": "VariableDeclaration", - "scope": 708, - "src": "13537:20:0", + "scope": 711, + "src": "13677:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -25913,10 +26101,10 @@ "typeString": "bool" }, "typeName": { - "id": 670, + "id": 673, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "13537:4:0", + "src": "13677:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -25926,7 +26114,7 @@ "visibility": "internal" } ], - "id": 682, + "id": 685, "initialValue": { "argumentTypes": null, "arguments": [ @@ -25936,26 +26124,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 673, + "id": 676, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "13592:12:0", + "src": "13732:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 675, + "id": 678, "indexExpression": { "argumentTypes": null, - "id": 674, + "id": 677, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 650, - "src": "13605:10:0", + "referencedDeclaration": 653, + "src": "13745:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -25966,13 +26154,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "13592:24:0", + "src": "13732:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 676, + "id": 679, "isConstant": false, "isLValue": true, "isPure": false, @@ -25980,7 +26168,7 @@ "memberName": "timeoutHours", "nodeType": "MemberAccess", "referencedDeclaration": 50, - "src": "13592:37:0", + "src": "13732:37:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -25992,26 +26180,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 677, + "id": 680, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "13643:12:0", + "src": "13783:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 679, + "id": 682, "indexExpression": { "argumentTypes": null, - "id": 678, + "id": 681, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 650, - "src": "13656:10:0", + "referencedDeclaration": 653, + "src": "13796:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -26022,13 +26210,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "13643:24:0", + "src": "13783:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 680, + "id": 683, "isConstant": false, "isLValue": true, "isPure": false, @@ -26036,7 +26224,7 @@ "memberName": "lastModified", "nodeType": "MemberAccess", "referencedDeclaration": 42, - "src": "13643:37:0", + "src": "13783:37:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -26054,18 +26242,18 @@ "typeString": "uint256" } ], - "id": 672, + "id": 675, "name": "_isTimeLockExpired", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1058, - "src": "13560:18:0", + "referencedDeclaration": 1067, + "src": "13700:18:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_uint32_$_t_uint256_$returns$_t_bool_$", "typeString": "function (uint32,uint256) view returns (bool)" } }, - "id": 681, + "id": 684, "isConstant": false, "isLValue": false, "isPure": false, @@ -26073,14 +26261,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "13560:130:0", + "src": "13700:130:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "nodeType": "VariableDeclarationStatement", - "src": "13537:153:0" + "src": "13677:153:0" }, { "condition": { @@ -26089,7 +26277,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 700, + "id": 703, "isConstant": false, "isLValue": false, "isPure": false, @@ -26100,7 +26288,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 689, + "id": 692, "isConstant": false, "isLValue": false, "isPure": false, @@ -26109,18 +26297,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 683, + "id": 686, "name": "sigV", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 642, - "src": "13862:4:0", + "referencedDeclaration": 645, + "src": "14002:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr", "typeString": "uint8[] memory" } }, - "id": 684, + "id": 687, "isConstant": false, "isLValue": false, "isPure": false, @@ -26128,7 +26316,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "13862:11:0", + "src": "14002:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -26142,26 +26330,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 685, + "id": 688, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "13876:12:0", + "src": "14016:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 687, + "id": 690, "indexExpression": { "argumentTypes": null, - "id": 686, + "id": 689, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 650, - "src": "13889:10:0", + "referencedDeclaration": 653, + "src": "14029:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -26172,13 +26360,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "13876:24:0", + "src": "14016:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 688, + "id": 691, "isConstant": false, "isLValue": true, "isPure": false, @@ -26186,13 +26374,13 @@ "memberName": "threshold", "nodeType": "MemberAccess", "referencedDeclaration": 48, - "src": "13876:34:0", + "src": "14016:34:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, - "src": "13862:48:0", + "src": "14002:48:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -26209,14 +26397,14 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 698, + "id": 701, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 691, + "id": 694, "isConstant": false, "isLValue": false, "isPure": false, @@ -26224,15 +26412,15 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "13915:16:0", + "src": "14055:16:0", "subExpression": { "argumentTypes": null, - "id": 690, + "id": 693, "name": "timeLockExpired", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 671, - "src": "13916:15:0", + "referencedDeclaration": 674, + "src": "14056:15:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -26251,19 +26439,19 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 697, + "id": 700, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 692, + "id": 695, "name": "lastRecovered", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 660, - "src": "13935:13:0", + "referencedDeclaration": 663, + "src": "14075:13:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -26277,26 +26465,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 693, + "id": 696, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "13952:12:0", + "src": "14092:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 695, + "id": 698, "indexExpression": { "argumentTypes": null, - "id": 694, + "id": 697, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 650, - "src": "13965:10:0", + "referencedDeclaration": 653, + "src": "14105:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -26307,13 +26495,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "13952:24:0", + "src": "14092:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 696, + "id": 699, "isConstant": false, "isLValue": true, "isPure": false, @@ -26321,52 +26509,52 @@ "memberName": "seller", "nodeType": "MemberAccess", "referencedDeclaration": 54, - "src": "13952:31:0", + "src": "14092:31:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "13935:48:0", + "src": "14075:48:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "13915:68:0", + "src": "14055:68:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } } ], - "id": 699, + "id": 702, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "13914:70:0", + "src": "14054:70:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "13862:122:0", + "src": "14002:122:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, - "id": 706, + "id": 709, "nodeType": "IfStatement", - "src": "13841:289:0", + "src": "13981:289:0", "trueBody": { - "id": 705, + "id": 708, "nodeType": "Block", - "src": "14007:123:0", + "src": "14147:123:0", "statements": [ { "expression": { @@ -26375,14 +26563,14 @@ { "argumentTypes": null, "hexValue": "4d696e696d756d206e756d626572206f66207369676e61747572657320617265206e6f7420636f6c6c656374656420616e642074696d65206c6f636b2065787069727920636f6e646974696f6e73206e6f74206d65742121", - "id": 702, + "id": 705, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "14028:90:0", + "src": "14168:90:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_e454643f61f81e3a3dc8dabaafde295fea592e232abeb03abbb1835bdc3d20d0", @@ -26398,21 +26586,21 @@ "typeString": "literal_string \"Minimum number of signatures are not collected and time lock expiry conditions not met!!\"" } ], - "id": 701, + "id": 704, "name": "revert", "nodeType": "Identifier", "overloadedDeclarations": [ - 1393, - 1394 + 1402, + 1403 ], - "referencedDeclaration": 1394, - "src": "14021:6:0", + "referencedDeclaration": 1403, + "src": "14161:6:0", "typeDescriptions": { "typeIdentifier": "t_function_revert_pure$_t_string_memory_ptr_$returns$__$", "typeString": "function (string memory) pure" } }, - "id": 703, + "id": 706, "isConstant": false, "isLValue": false, "isPure": false, @@ -26420,15 +26608,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "14021:98:0", + "src": "14161:98:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 704, + "id": 707, "nodeType": "ExpressionStatement", - "src": "14021:98:0" + "src": "14161:98:0" } ] } @@ -26436,7 +26624,7 @@ ] }, "documentation": "@dev This methods checks validity of transaction\n1. Verify Signatures\n2. Check if minimum number of signatures has been acquired\n3. If above condition is false, check if time lock is expired and the execution is signed by seller", - "id": 708, + "id": 711, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -26444,16 +26632,16 @@ "name": "_verifyTransaction", "nodeType": "FunctionDefinition", "parameters": { - "id": 657, + "id": 660, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 642, + "id": 645, "name": "sigV", "nodeType": "VariableDeclaration", - "scope": 708, - "src": "13166:12:0", + "scope": 711, + "src": "13306:12:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -26462,19 +26650,19 @@ }, "typeName": { "baseType": { - "id": 640, + "id": 643, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "13166:5:0", + "src": "13306:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, - "id": 641, + "id": 644, "length": null, "nodeType": "ArrayTypeName", - "src": "13166:7:0", + "src": "13306:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_storage_ptr", "typeString": "uint8[]" @@ -26485,11 +26673,11 @@ }, { "constant": false, - "id": 645, + "id": 648, "name": "sigR", "nodeType": "VariableDeclaration", - "scope": 708, - "src": "13188:14:0", + "scope": 711, + "src": "13328:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -26498,19 +26686,19 @@ }, "typeName": { "baseType": { - "id": 643, + "id": 646, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "13188:7:0", + "src": "13328:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "id": 644, + "id": 647, "length": null, "nodeType": "ArrayTypeName", - "src": "13188:9:0", + "src": "13328:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -26521,11 +26709,11 @@ }, { "constant": false, - "id": 648, + "id": 651, "name": "sigS", "nodeType": "VariableDeclaration", - "scope": 708, - "src": "13212:14:0", + "scope": 711, + "src": "13352:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -26534,19 +26722,19 @@ }, "typeName": { "baseType": { - "id": 646, + "id": 649, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "13212:7:0", + "src": "13352:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "id": 647, + "id": 650, "length": null, "nodeType": "ArrayTypeName", - "src": "13212:9:0", + "src": "13352:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -26557,11 +26745,11 @@ }, { "constant": false, - "id": 650, + "id": 653, "name": "scriptHash", "nodeType": "VariableDeclaration", - "scope": 708, - "src": "13236:18:0", + "scope": 711, + "src": "13376:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -26569,10 +26757,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 649, + "id": 652, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "13236:7:0", + "src": "13376:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -26583,11 +26771,11 @@ }, { "constant": false, - "id": 653, + "id": 656, "name": "destinations", "nodeType": "VariableDeclaration", - "scope": 708, - "src": "13264:22:0", + "scope": 711, + "src": "13404:22:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -26596,19 +26784,19 @@ }, "typeName": { "baseType": { - "id": 651, + "id": 654, "name": "address", "nodeType": "ElementaryTypeName", - "src": "13264:7:0", + "src": "13404:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 652, + "id": 655, "length": null, "nodeType": "ArrayTypeName", - "src": "13264:9:0", + "src": "13404:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", "typeString": "address[]" @@ -26619,11 +26807,11 @@ }, { "constant": false, - "id": 656, + "id": 659, "name": "amounts", "nodeType": "VariableDeclaration", - "scope": 708, - "src": "13296:17:0", + "scope": 711, + "src": "13436:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -26632,19 +26820,19 @@ }, "typeName": { "baseType": { - "id": 654, + "id": 657, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "13296:7:0", + "src": "13436:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 655, + "id": 658, "length": null, "nodeType": "ArrayTypeName", - "src": "13296:9:0", + "src": "13436:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -26654,39 +26842,39 @@ "visibility": "internal" } ], - "src": "13156:163:0" + "src": "13296:163:0" }, "payable": false, "returnParameters": { - "id": 658, + "id": 661, "nodeType": "ParameterList", "parameters": [], - "src": "13340:0:0" + "src": "13480:0:0" }, - "scope": 1215, - "src": "13129:1008:0", + "scope": 1224, + "src": "13269:1008:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "private" }, { "body": { - "id": 894, + "id": 903, "nodeType": "Block", - "src": "14424:1362:0", + "src": "14564:1562:0", "statements": [ { "assignments": [ - 722 + 725 ], "declarations": [ { "constant": false, - "id": 722, + "id": 725, "name": "t", "nodeType": "VariableDeclaration", - "scope": 895, - "src": "14434:21:0", + "scope": 904, + "src": "14574:21:0", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { @@ -26695,11 +26883,11 @@ }, "typeName": { "contractScope": null, - "id": 721, + "id": 724, "name": "Transaction", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 71, - "src": "14434:11:0", + "src": "14574:11:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction" @@ -26709,31 +26897,31 @@ "visibility": "internal" } ], - "id": 726, + "id": 729, "initialValue": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 723, + "id": 726, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "14458:12:0", + "src": "14598:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 725, + "id": 728, "indexExpression": { "argumentTypes": null, - "id": 724, + "id": 727, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 710, - "src": "14471:10:0", + "referencedDeclaration": 713, + "src": "14611:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -26744,27 +26932,27 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "14458:24:0", + "src": "14598:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "14434:48:0" + "src": "14574:48:0" }, { "assignments": [ - 728 + 731 ], "declarations": [ { "constant": false, - "id": 728, + "id": 731, "name": "valueTransferred", "nodeType": "VariableDeclaration", - "scope": 895, - "src": "14493:24:0", + "scope": 904, + "src": "14633:24:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -26772,10 +26960,10 @@ "typeString": "uint256" }, "typeName": { - "id": 727, + "id": 730, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "14493:7:0", + "src": "14633:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -26785,18 +26973,18 @@ "visibility": "internal" } ], - "id": 730, + "id": 733, "initialValue": { "argumentTypes": null, "hexValue": "30", - "id": 729, + "id": 732, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "14520:1:0", + "src": "14660:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -26805,7 +26993,7 @@ "value": "0" }, "nodeType": "VariableDeclarationStatement", - "src": "14493:28:0" + "src": "14633:28:0" }, { "condition": { @@ -26814,7 +27002,7 @@ "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" }, - "id": 735, + "id": 738, "isConstant": false, "isLValue": false, "isPure": false, @@ -26823,18 +27011,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 731, + "id": 734, "name": "t", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 722, - "src": "14536:1:0", + "referencedDeclaration": 725, + "src": "14676:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" } }, - "id": 732, + "id": 735, "isConstant": false, "isLValue": true, "isPure": false, @@ -26842,7 +27030,7 @@ "memberName": "transactionType", "nodeType": "MemberAccess", "referencedDeclaration": 46, - "src": "14536:17:0", + "src": "14676:17:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -26854,18 +27042,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 733, + "id": 736, "name": "TransactionType", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12, - "src": "14557:15:0", + "src": "14697:15:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_TransactionType_$12_$", "typeString": "type(enum Escrow_v1_0.TransactionType)" } }, - "id": 734, + "id": 737, "isConstant": false, "isLValue": false, "isPure": true, @@ -26873,13 +27061,13 @@ "memberName": "ETHER", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "14557:21:0", + "src": "14697:21:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" } }, - "src": "14536:42:0", + "src": "14676:42:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -26892,7 +27080,7 @@ "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" }, - "id": 809, + "id": 815, "isConstant": false, "isLValue": false, "isPure": false, @@ -26901,18 +27089,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 805, + "id": 811, "name": "t", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 722, - "src": "15092:1:0", + "referencedDeclaration": 725, + "src": "15332:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" } }, - "id": 806, + "id": 812, "isConstant": false, "isLValue": true, "isPure": false, @@ -26920,7 +27108,7 @@ "memberName": "transactionType", "nodeType": "MemberAccess", "referencedDeclaration": 46, - "src": "15092:17:0", + "src": "15332:17:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -26932,18 +27120,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 807, + "id": 813, "name": "TransactionType", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12, - "src": "15113:15:0", + "src": "15353:15:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_TransactionType_$12_$", "typeString": "type(enum Escrow_v1_0.TransactionType)" } }, - "id": 808, + "id": 814, "isConstant": false, "isLValue": false, "isPure": true, @@ -26951,54 +27139,54 @@ "memberName": "TOKEN", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "15113:21:0", + "src": "15353:21:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" } }, - "src": "15092:42:0", + "src": "15332:42:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, - "id": 890, + "id": 899, "nodeType": "IfStatement", - "src": "15088:658:0", + "src": "15328:758:0", "trueBody": { - "id": 889, + "id": 898, "nodeType": "Block", - "src": "15136:610:0", + "src": "15376:710:0", "statements": [ { "assignments": [ - 811 + 817 ], "declarations": [ { "constant": false, - "id": 811, + "id": 817, "name": "token", "nodeType": "VariableDeclaration", - "scope": 895, - "src": "15151:20:0", + "scope": 904, + "src": "15391:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenContract_$1245", + "typeIdentifier": "t_contract$_ITokenContract_$1254", "typeString": "contract ITokenContract" }, "typeName": { "contractScope": null, - "id": 810, + "id": 816, "name": "ITokenContract", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1245, - "src": "15151:14:0", + "referencedDeclaration": 1254, + "src": "15391:14:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenContract_$1245", + "typeIdentifier": "t_contract$_ITokenContract_$1254", "typeString": "contract ITokenContract" } }, @@ -27006,7 +27194,7 @@ "visibility": "internal" } ], - "id": 816, + "id": 822, "initialValue": { "argumentTypes": null, "arguments": [ @@ -27014,18 +27202,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 813, + "id": 819, "name": "t", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 722, - "src": "15189:1:0", + "referencedDeclaration": 725, + "src": "15429:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" } }, - "id": 814, + "id": 820, "isConstant": false, "isLValue": true, "isPure": false, @@ -27033,7 +27221,7 @@ "memberName": "tokenAddress", "nodeType": "MemberAccess", "referencedDeclaration": 56, - "src": "15189:14:0", + "src": "15429:14:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -27047,18 +27235,18 @@ "typeString": "address" } ], - "id": 812, + "id": 818, "name": "ITokenContract", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1245, - "src": "15174:14:0", + "referencedDeclaration": 1254, + "src": "15414:14:0", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ITokenContract_$1245_$", + "typeIdentifier": "t_type$_t_contract$_ITokenContract_$1254_$", "typeString": "type(contract ITokenContract)" } }, - "id": 815, + "id": 821, "isConstant": false, "isLValue": false, "isPure": false, @@ -27066,20 +27254,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15174:30:0", + "src": "15414:30:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenContract_$1245", + "typeIdentifier": "t_contract$_ITokenContract_$1254", "typeString": "contract ITokenContract" } }, "nodeType": "VariableDeclarationStatement", - "src": "15151:53:0" + "src": "15391:53:0" }, { "body": { - "id": 887, + "id": 896, "nodeType": "Block", - "src": "15267:469:0", + "src": "15507:569:0", "statements": [ { "expression": { @@ -27088,201 +27276,243 @@ { "argumentTypes": null, "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_address", + "typeString": "address" }, - "id": 842, + "id": 841, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 835, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { + "baseExpression": { "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 829, - "name": "destinations", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 713, - "src": "15294:12:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 831, - "indexExpression": { - "argumentTypes": null, - "id": 830, - "name": "j", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 818, - "src": "15307:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "15294:15:0", + "id": 835, + "name": "destinations", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 716, + "src": "15534:12:0", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" } }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { + "id": 837, + "indexExpression": { "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 833, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15321:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 832, + "id": 836, + "name": "j", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 824, + "src": "15547:1:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "15534:15:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 839, "isConstant": false, "isLValue": false, "isPure": true, + "kind": "number", "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "15313:7:0", + "nodeType": "Literal", + "src": "15561:1:0", + "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" }, - "typeName": "address" - }, - "id": 834, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 838, "isConstant": false, "isLValue": false, "isPure": true, - "kind": "typeConversion", "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15313:10:0", + "nodeType": "ElementaryTypeNameExpression", + "src": "15553:7:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 840, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15553:10:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "15534:29:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "argumentTypes": null, + "hexValue": "7a65726f2061646472657373206973206e6f7420616c6c6f7765642061732064657374696e6174696f6e2061646472657373", + "id": 842, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "15565:52:0", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_587fbb5a9b8e6d4cc482f236066ac51bcf007ae6026eab186437d2f1b22fc139", + "typeString": "literal_string \"zero address is not allowed as destination address\"" + }, + "value": "zero address is not allowed as destination address" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_587fbb5a9b8e6d4cc482f236066ac51bcf007ae6026eab186437d2f1b22fc139", + "typeString": "literal_string \"zero address is not allowed as destination address\"" + } + ], + "id": 834, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 1400, + 1401 + ], + "referencedDeclaration": 1401, + "src": "15526:7:0", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 843, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15526:92:0", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 844, + "nodeType": "ExpressionStatement", + "src": "15526:92:0" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 846, + "name": "t", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 725, + "src": "15645:1:0", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", + "typeString": "struct Escrow_v1_0.Transaction storage pointer" } }, - "src": "15294:29:0", + "id": 847, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "isOwner", + "nodeType": "MemberAccess", + "referencedDeclaration": 62, + "src": "15645:9:0", "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" } }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { + "id": 851, + "indexExpression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 836, - "name": "t", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 722, - "src": "15327:1:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", - "typeString": "struct Escrow_v1_0.Transaction storage pointer" - } - }, - "id": 837, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "isOwner", - "nodeType": "MemberAccess", - "referencedDeclaration": 62, - "src": "15327:9:0", + "id": 848, + "name": "destinations", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 716, + "src": "15655:12:0", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" } }, - "id": 841, + "id": 850, "indexExpression": { "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 838, - "name": "destinations", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 713, - "src": "15337:12:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 840, - "indexExpression": { - "argumentTypes": null, - "id": 839, - "name": "j", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 818, - "src": "15350:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "15337:15:0", + "id": 849, + "name": "j", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 824, + "src": "15668:1:0", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, "isConstant": false, @@ -27290,13 +27520,18 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15327:26:0", + "src": "15655:15:0", "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_address", + "typeString": "address" } }, - "src": "15294:59:0", + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "15645:26:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -27304,21 +27539,21 @@ }, { "argumentTypes": null, - "hexValue": "4e6f7420612076616c69642064657374696e6174696f6e", - "id": 843, + "hexValue": "44657374696e6174696f6e2061646472657373206973206e6f74206f6e65206f6620746865206f776e657273", + "id": 852, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "15355:25:0", + "src": "15673:46:0", "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_stringliteral_4b4c116dbf18274831a2b569c567d9fd9a0e9828a6c86ee9f93e80400fb6c49f", - "typeString": "literal_string \"Not a valid destination\"" + "typeIdentifier": "t_stringliteral_5ccbe9d117aeeb4b3546dfe6a12f083cb37039367b3ec38b60873b8650bc846f", + "typeString": "literal_string \"Destination address is not one of the owners\"" }, - "value": "Not a valid destination" + "value": "Destination address is not one of the owners" } ], "expression": { @@ -27328,25 +27563,25 @@ "typeString": "bool" }, { - "typeIdentifier": "t_stringliteral_4b4c116dbf18274831a2b569c567d9fd9a0e9828a6c86ee9f93e80400fb6c49f", - "typeString": "literal_string \"Not a valid destination\"" + "typeIdentifier": "t_stringliteral_5ccbe9d117aeeb4b3546dfe6a12f083cb37039367b3ec38b60873b8650bc846f", + "typeString": "literal_string \"Destination address is not one of the owners\"" } ], - "id": 828, + "id": 845, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1391, - 1392 + 1400, + 1401 ], - "referencedDeclaration": 1392, - "src": "15286:7:0", + "referencedDeclaration": 1401, + "src": "15637:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 844, + "id": 853, "isConstant": false, "isLValue": false, "isPure": false, @@ -27354,15 +27589,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15286:95:0", + "src": "15637:83:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 845, + "id": 854, "nodeType": "ExpressionStatement", - "src": "15286:95:0" + "src": "15637:83:0" }, { "expression": { @@ -27374,7 +27609,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 851, + "id": 860, "isConstant": false, "isLValue": false, "isPure": false, @@ -27383,26 +27618,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 847, + "id": 856, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 716, - "src": "15407:7:0", + "referencedDeclaration": 719, + "src": "15747:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 849, + "id": 858, "indexExpression": { "argumentTypes": null, - "id": 848, + "id": 857, "name": "j", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 818, - "src": "15415:1:0", + "referencedDeclaration": 824, + "src": "15755:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27413,7 +27648,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15407:10:0", + "src": "15747:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27424,14 +27659,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 850, + "id": 859, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "15420:1:0", + "src": "15760:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -27439,7 +27674,7 @@ }, "value": "0" }, - "src": "15407:14:0", + "src": "15747:14:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -27448,14 +27683,14 @@ { "argumentTypes": null, "hexValue": "416d6f756e7420746f2062652073656e742073686f756c642062652067726561746572207468616e2030", - "id": 852, + "id": 861, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "15423:44:0", + "src": "15763:44:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_5e1271a09dbb64ae031de288deb0ad8d707df7db51d6e827931dc8fa6642a71e", @@ -27475,21 +27710,21 @@ "typeString": "literal_string \"Amount to be sent should be greater than 0\"" } ], - "id": 846, + "id": 855, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1391, - 1392 + 1400, + 1401 ], - "referencedDeclaration": 1392, - "src": "15399:7:0", + "referencedDeclaration": 1401, + "src": "15739:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 853, + "id": 862, "isConstant": false, "isLValue": false, "isPure": false, @@ -27497,32 +27732,32 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15399:69:0", + "src": "15739:69:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 854, + "id": 863, "nodeType": "ExpressionStatement", - "src": "15399:69:0" + "src": "15739:69:0" }, { "expression": { "argumentTypes": null, - "id": 862, + "id": 871, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 855, + "id": 864, "name": "valueTransferred", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 728, - "src": "15487:16:0", + "referencedDeclaration": 731, + "src": "15827:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27537,26 +27772,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 858, + "id": 867, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 716, - "src": "15527:7:0", + "referencedDeclaration": 719, + "src": "15867:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 860, + "id": 869, "indexExpression": { "argumentTypes": null, - "id": 859, + "id": 868, "name": "j", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 818, - "src": "15535:1:0", + "referencedDeclaration": 824, + "src": "15875:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27567,7 +27802,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15527:10:0", + "src": "15867:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27583,32 +27818,32 @@ ], "expression": { "argumentTypes": null, - "id": 856, + "id": 865, "name": "valueTransferred", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 728, - "src": "15506:16:0", + "referencedDeclaration": 731, + "src": "15846:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 857, + "id": 866, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 1352, - "src": "15506:20:0", + "referencedDeclaration": 1361, + "src": "15846:20:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 861, + "id": 870, "isConstant": false, "isLValue": false, "isPure": false, @@ -27616,26 +27851,26 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15506:32:0", + "src": "15846:32:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "15487:51:0", + "src": "15827:51:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 863, + "id": 872, "nodeType": "ExpressionStatement", - "src": "15487:51:0" + "src": "15827:51:0" }, { "expression": { "argumentTypes": null, - "id": 872, + "id": 881, "isConstant": false, "isLValue": false, "isPure": false, @@ -27646,18 +27881,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 864, + "id": 873, "name": "t", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 722, - "src": "15556:1:0", + "referencedDeclaration": 725, + "src": "15896:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" } }, - "id": 869, + "id": 878, "isConstant": false, "isLValue": true, "isPure": false, @@ -27665,37 +27900,37 @@ "memberName": "beneficiaries", "nodeType": "MemberAccess", "referencedDeclaration": 70, - "src": "15556:15:0", + "src": "15896:15:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 870, + "id": 879, "indexExpression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 866, + "id": 875, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 713, - "src": "15572:12:0", + "referencedDeclaration": 716, + "src": "15912:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" } }, - "id": 868, + "id": 877, "indexExpression": { "argumentTypes": null, - "id": 867, + "id": 876, "name": "j", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 818, - "src": "15585:1:0", + "referencedDeclaration": 824, + "src": "15925:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27706,7 +27941,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15572:15:0", + "src": "15912:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -27717,7 +27952,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "15556:32:0", + "src": "15896:32:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -27728,14 +27963,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "74727565", - "id": 871, + "id": 880, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "15591:4:0", + "src": "15931:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -27743,15 +27978,15 @@ }, "value": "true" }, - "src": "15556:39:0", + "src": "15896:39:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 873, + "id": 882, "nodeType": "ExpressionStatement", - "src": "15556:39:0" + "src": "15896:39:0" }, { "expression": { @@ -27764,26 +27999,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 877, + "id": 886, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 713, - "src": "15666:12:0", + "referencedDeclaration": 716, + "src": "16006:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" } }, - "id": 879, + "id": 888, "indexExpression": { "argumentTypes": null, - "id": 878, + "id": 887, "name": "j", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 818, - "src": "15679:1:0", + "referencedDeclaration": 824, + "src": "16019:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27794,7 +28029,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15666:15:0", + "src": "16006:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -27804,26 +28039,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 880, + "id": 889, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 716, - "src": "15683:7:0", + "referencedDeclaration": 719, + "src": "16023:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 882, + "id": 891, "indexExpression": { "argumentTypes": null, - "id": 881, + "id": 890, "name": "j", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 818, - "src": "15691:1:0", + "referencedDeclaration": 824, + "src": "16031:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27834,7 +28069,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15683:10:0", + "src": "16023:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27854,32 +28089,32 @@ ], "expression": { "argumentTypes": null, - "id": 875, + "id": 884, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 811, - "src": "15651:5:0", + "referencedDeclaration": 817, + "src": "15991:5:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenContract_$1245", + "typeIdentifier": "t_contract$_ITokenContract_$1254", "typeString": "contract ITokenContract" } }, - "id": 876, + "id": 885, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "transfer", "nodeType": "MemberAccess", - "referencedDeclaration": 1233, - "src": "15651:14:0", + "referencedDeclaration": 1242, + "src": "15991:14:0", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", "typeString": "function (address,uint256) external returns (bool)" } }, - "id": 883, + "id": 892, "isConstant": false, "isLValue": false, "isPure": false, @@ -27887,7 +28122,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15651:43:0", + "src": "15991:43:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -27896,14 +28131,14 @@ { "argumentTypes": null, "hexValue": "546f6b656e207472616e73666572206661696c65642e", - "id": 884, + "id": 893, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "15696:24:0", + "src": "16036:24:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_e545223bb79d8456d66fa5a98897abb42bb4807111f004a120200da3b7e292c5", @@ -27923,21 +28158,21 @@ "typeString": "literal_string \"Token transfer failed.\"" } ], - "id": 874, + "id": 883, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1391, - 1392 + 1400, + 1401 ], - "referencedDeclaration": 1392, - "src": "15643:7:0", + "referencedDeclaration": 1401, + "src": "15983:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 885, + "id": 894, "isConstant": false, "isLValue": false, "isPure": false, @@ -27945,15 +28180,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15643:78:0", + "src": "15983:78:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 886, + "id": 895, "nodeType": "ExpressionStatement", - "src": "15643:78:0" + "src": "15983:78:0" } ] }, @@ -27963,19 +28198,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 824, + "id": 830, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 821, + "id": 827, "name": "j", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 818, - "src": "15239:1:0", + "referencedDeclaration": 824, + "src": "15479:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27987,18 +28222,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 822, + "id": 828, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 713, - "src": "15241:12:0", + "referencedDeclaration": 716, + "src": "15481:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" } }, - "id": 823, + "id": 829, "isConstant": false, "isLValue": false, "isPure": false, @@ -28006,31 +28241,31 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "15241:19:0", + "src": "15481:19:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "15239:21:0", + "src": "15479:21:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 888, + "id": 897, "initializationExpression": { "assignments": [ - 818 + 824 ], "declarations": [ { "constant": false, - "id": 818, + "id": 824, "name": "j", "nodeType": "VariableDeclaration", - "scope": 895, - "src": "15224:9:0", + "scope": 904, + "src": "15464:9:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -28038,10 +28273,10 @@ "typeString": "uint256" }, "typeName": { - "id": 817, + "id": 823, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "15224:7:0", + "src": "15464:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28051,18 +28286,18 @@ "visibility": "internal" } ], - "id": 820, + "id": 826, "initialValue": { "argumentTypes": null, "hexValue": "30", - "id": 819, + "id": 825, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "15236:1:0", + "src": "15476:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -28071,12 +28306,12 @@ "value": "0" }, "nodeType": "VariableDeclarationStatement", - "src": "15224:13:0" + "src": "15464:13:0" }, "loopExpression": { "expression": { "argumentTypes": null, - "id": 826, + "id": 832, "isConstant": false, "isLValue": false, "isPure": false, @@ -28084,15 +28319,15 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "15262:3:0", + "src": "15502:3:0", "subExpression": { "argumentTypes": null, - "id": 825, + "id": 831, "name": "j", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 818, - "src": "15262:1:0", + "referencedDeclaration": 824, + "src": "15502:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28103,29 +28338,29 @@ "typeString": "uint256" } }, - "id": 827, + "id": 833, "nodeType": "ExpressionStatement", - "src": "15262:3:0" + "src": "15502:3:0" }, "nodeType": "ForStatement", - "src": "15219:517:0" + "src": "15459:617:0" } ] } }, - "id": 891, + "id": 900, "nodeType": "IfStatement", - "src": "14532:1214:0", + "src": "14672:1414:0", "trueBody": { - "id": 804, + "id": 810, "nodeType": "Block", - "src": "14580:502:0", + "src": "14720:602:0", "statements": [ { "body": { - "id": 802, + "id": 808, "nodeType": "Block", - "src": "14644:427:0", + "src": "14784:527:0", "statements": [ { "expression": { @@ -28134,201 +28369,243 @@ { "argumentTypes": null, "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_address", + "typeString": "address" }, - "id": 761, + "id": 757, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" + "baseExpression": { + "argumentTypes": null, + "id": 751, + "name": "destinations", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 716, + "src": "14811:12:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 753, + "indexExpression": { + "argumentTypes": null, + "id": 752, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 740, + "src": "14824:1:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } }, - "id": 754, "isConstant": false, - "isLValue": false, + "isLValue": true, "isPure": false, "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 748, - "name": "destinations", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 713, - "src": "14671:12:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 750, - "indexExpression": { + "nodeType": "IndexAccess", + "src": "14811:15:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { "argumentTypes": null, - "id": 749, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 737, - "src": "14684:1:0", + "hexValue": "30", + "id": 755, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14838:1:0", + "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" } - }, + ], + "id": 754, "isConstant": false, - "isLValue": true, - "isPure": false, + "isLValue": false, + "isPure": true, "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "14671:15:0", + "nodeType": "ElementaryTypeNameExpression", + "src": "14830:7:0", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { + "id": 756, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14830:10:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "14811:29:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "argumentTypes": null, + "hexValue": "7a65726f2061646472657373206973206e6f7420616c6c6f7765642061732064657374696e6174696f6e2061646472657373", + "id": 758, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14842:52:0", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_587fbb5a9b8e6d4cc482f236066ac51bcf007ae6026eab186437d2f1b22fc139", + "typeString": "literal_string \"zero address is not allowed as destination address\"" + }, + "value": "zero address is not allowed as destination address" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_587fbb5a9b8e6d4cc482f236066ac51bcf007ae6026eab186437d2f1b22fc139", + "typeString": "literal_string \"zero address is not allowed as destination address\"" + } + ], + "id": 750, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 1400, + 1401 + ], + "referencedDeclaration": 1401, + "src": "14803:7:0", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 759, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14803:92:0", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 760, + "nodeType": "ExpressionStatement", + "src": "14803:92:0" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 752, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14698:1:0", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 751, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "14690:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 753, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14690:10:0", + "id": 762, + "name": "t", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 725, + "src": "14922:1:0", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", + "typeString": "struct Escrow_v1_0.Transaction storage pointer" } }, - "src": "14671:29:0", + "id": 763, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "isOwner", + "nodeType": "MemberAccess", + "referencedDeclaration": 62, + "src": "14922:9:0", "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" } }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { + "id": 767, + "indexExpression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 755, - "name": "t", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 722, - "src": "14704:1:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", - "typeString": "struct Escrow_v1_0.Transaction storage pointer" - } - }, - "id": 756, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "isOwner", - "nodeType": "MemberAccess", - "referencedDeclaration": 62, - "src": "14704:9:0", + "id": 764, + "name": "destinations", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 716, + "src": "14932:12:0", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" } }, - "id": 760, + "id": 766, "indexExpression": { "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 757, - "name": "destinations", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 713, - "src": "14714:12:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 759, - "indexExpression": { - "argumentTypes": null, - "id": 758, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 737, - "src": "14727:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "14714:15:0", + "id": 765, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 740, + "src": "14945:1:0", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, "isConstant": false, @@ -28336,13 +28613,18 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "14704:26:0", + "src": "14932:15:0", "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_address", + "typeString": "address" } }, - "src": "14671:59:0", + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "14922:26:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -28350,21 +28632,21 @@ }, { "argumentTypes": null, - "hexValue": "4e6f7420612076616c69642064657374696e6174696f6e", - "id": 762, + "hexValue": "44657374696e6174696f6e2061646472657373206973206e6f74206f6e65206f6620746865206f776e657273", + "id": 768, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "14732:25:0", + "src": "14950:46:0", "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_stringliteral_4b4c116dbf18274831a2b569c567d9fd9a0e9828a6c86ee9f93e80400fb6c49f", - "typeString": "literal_string \"Not a valid destination\"" + "typeIdentifier": "t_stringliteral_5ccbe9d117aeeb4b3546dfe6a12f083cb37039367b3ec38b60873b8650bc846f", + "typeString": "literal_string \"Destination address is not one of the owners\"" }, - "value": "Not a valid destination" + "value": "Destination address is not one of the owners" } ], "expression": { @@ -28374,25 +28656,25 @@ "typeString": "bool" }, { - "typeIdentifier": "t_stringliteral_4b4c116dbf18274831a2b569c567d9fd9a0e9828a6c86ee9f93e80400fb6c49f", - "typeString": "literal_string \"Not a valid destination\"" + "typeIdentifier": "t_stringliteral_5ccbe9d117aeeb4b3546dfe6a12f083cb37039367b3ec38b60873b8650bc846f", + "typeString": "literal_string \"Destination address is not one of the owners\"" } ], - "id": 747, + "id": 761, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1391, - 1392 + 1400, + 1401 ], - "referencedDeclaration": 1392, - "src": "14663:7:0", + "referencedDeclaration": 1401, + "src": "14914:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 763, + "id": 769, "isConstant": false, "isLValue": false, "isPure": false, @@ -28400,15 +28682,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "14663:95:0", + "src": "14914:83:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 764, + "id": 770, "nodeType": "ExpressionStatement", - "src": "14663:95:0" + "src": "14914:83:0" }, { "expression": { @@ -28420,7 +28702,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 770, + "id": 776, "isConstant": false, "isLValue": false, "isPure": false, @@ -28429,26 +28711,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 766, + "id": 772, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 716, - "src": "14784:7:0", + "referencedDeclaration": 719, + "src": "15024:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 768, + "id": 774, "indexExpression": { "argumentTypes": null, - "id": 767, + "id": 773, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 737, - "src": "14792:1:0", + "referencedDeclaration": 740, + "src": "15032:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28459,7 +28741,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "14784:10:0", + "src": "15024:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28470,14 +28752,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 769, + "id": 775, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "14797:1:0", + "src": "15037:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -28485,7 +28767,7 @@ }, "value": "0" }, - "src": "14784:14:0", + "src": "15024:14:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -28494,14 +28776,14 @@ { "argumentTypes": null, "hexValue": "416d6f756e7420746f2062652073656e742073686f756c642062652067726561746572207468616e2030", - "id": 771, + "id": 777, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "14800:44:0", + "src": "15040:44:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_5e1271a09dbb64ae031de288deb0ad8d707df7db51d6e827931dc8fa6642a71e", @@ -28521,21 +28803,21 @@ "typeString": "literal_string \"Amount to be sent should be greater than 0\"" } ], - "id": 765, + "id": 771, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1391, - 1392 + 1400, + 1401 ], - "referencedDeclaration": 1392, - "src": "14776:7:0", + "referencedDeclaration": 1401, + "src": "15016:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 772, + "id": 778, "isConstant": false, "isLValue": false, "isPure": false, @@ -28543,32 +28825,32 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "14776:69:0", + "src": "15016:69:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 773, + "id": 779, "nodeType": "ExpressionStatement", - "src": "14776:69:0" + "src": "15016:69:0" }, { "expression": { "argumentTypes": null, - "id": 781, + "id": 787, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 774, + "id": 780, "name": "valueTransferred", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 728, - "src": "14864:16:0", + "referencedDeclaration": 731, + "src": "15104:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28583,26 +28865,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 777, + "id": 783, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 716, - "src": "14904:7:0", + "referencedDeclaration": 719, + "src": "15144:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 779, + "id": 785, "indexExpression": { "argumentTypes": null, - "id": 778, + "id": 784, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 737, - "src": "14912:1:0", + "referencedDeclaration": 740, + "src": "15152:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28613,7 +28895,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "14904:10:0", + "src": "15144:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28629,32 +28911,32 @@ ], "expression": { "argumentTypes": null, - "id": 775, + "id": 781, "name": "valueTransferred", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 728, - "src": "14883:16:0", + "referencedDeclaration": 731, + "src": "15123:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 776, + "id": 782, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 1352, - "src": "14883:20:0", + "referencedDeclaration": 1361, + "src": "15123:20:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 780, + "id": 786, "isConstant": false, "isLValue": false, "isPure": false, @@ -28662,26 +28944,26 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "14883:32:0", + "src": "15123:32:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "14864:51:0", + "src": "15104:51:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 782, + "id": 788, "nodeType": "ExpressionStatement", - "src": "14864:51:0" + "src": "15104:51:0" }, { "expression": { "argumentTypes": null, - "id": 791, + "id": 797, "isConstant": false, "isLValue": false, "isPure": false, @@ -28692,18 +28974,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 783, + "id": 789, "name": "t", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 722, - "src": "14934:1:0", + "referencedDeclaration": 725, + "src": "15174:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" } }, - "id": 788, + "id": 794, "isConstant": false, "isLValue": true, "isPure": false, @@ -28711,37 +28993,37 @@ "memberName": "beneficiaries", "nodeType": "MemberAccess", "referencedDeclaration": 70, - "src": "14934:15:0", + "src": "15174:15:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 789, + "id": 795, "indexExpression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 785, + "id": 791, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 713, - "src": "14950:12:0", + "referencedDeclaration": 716, + "src": "15190:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" } }, - "id": 787, + "id": 793, "indexExpression": { "argumentTypes": null, - "id": 786, + "id": 792, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 737, - "src": "14963:1:0", + "referencedDeclaration": 740, + "src": "15203:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28752,7 +29034,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "14950:15:0", + "src": "15190:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -28763,7 +29045,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "14934:32:0", + "src": "15174:32:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -28774,14 +29056,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "74727565", - "id": 790, + "id": 796, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "14969:4:0", + "src": "15209:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -28789,15 +29071,15 @@ }, "value": "true" }, - "src": "14934:39:0", + "src": "15174:39:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 792, + "id": 798, "nodeType": "ExpressionStatement", - "src": "14934:39:0" + "src": "15174:39:0" }, { "expression": { @@ -28807,26 +29089,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 797, + "id": 803, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 716, - "src": "15045:7:0", + "referencedDeclaration": 719, + "src": "15285:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 799, + "id": 805, "indexExpression": { "argumentTypes": null, - "id": 798, + "id": 804, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 737, - "src": "15053:1:0", + "referencedDeclaration": 740, + "src": "15293:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28837,7 +29119,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15045:10:0", + "src": "15285:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28855,26 +29137,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 793, + "id": 799, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 713, - "src": "15020:12:0", + "referencedDeclaration": 716, + "src": "15260:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" } }, - "id": 795, + "id": 801, "indexExpression": { "argumentTypes": null, - "id": 794, + "id": 800, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 737, - "src": "15033:1:0", + "referencedDeclaration": 740, + "src": "15273:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28885,13 +29167,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15020:15:0", + "src": "15260:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 796, + "id": 802, "isConstant": false, "isLValue": false, "isPure": false, @@ -28899,13 +29181,13 @@ "memberName": "transfer", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "15020:24:0", + "src": "15260:24:0", "typeDescriptions": { "typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$", "typeString": "function (uint256)" } }, - "id": 800, + "id": 806, "isConstant": false, "isLValue": false, "isPure": false, @@ -28913,15 +29195,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15020:36:0", + "src": "15260:36:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 801, + "id": 807, "nodeType": "ExpressionStatement", - "src": "15020:36:0" + "src": "15260:36:0" } ] }, @@ -28931,19 +29213,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 743, + "id": 746, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 740, + "id": 743, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 737, - "src": "14614:1:0", + "referencedDeclaration": 740, + "src": "14754:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28955,18 +29237,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 741, + "id": 744, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 713, - "src": "14618:12:0", + "referencedDeclaration": 716, + "src": "14758:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" } }, - "id": 742, + "id": 745, "isConstant": false, "isLValue": false, "isPure": false, @@ -28974,31 +29256,31 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "14618:19:0", + "src": "14758:19:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "14614:23:0", + "src": "14754:23:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 803, + "id": 809, "initializationExpression": { "assignments": [ - 737 + 740 ], "declarations": [ { "constant": false, - "id": 737, + "id": 740, "name": "i", "nodeType": "VariableDeclaration", - "scope": 895, - "src": "14599:9:0", + "scope": 904, + "src": "14739:9:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -29006,10 +29288,10 @@ "typeString": "uint256" }, "typeName": { - "id": 736, + "id": 739, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "14599:7:0", + "src": "14739:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29019,18 +29301,18 @@ "visibility": "internal" } ], - "id": 739, + "id": 742, "initialValue": { "argumentTypes": null, "hexValue": "30", - "id": 738, + "id": 741, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "14611:1:0", + "src": "14751:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -29039,12 +29321,12 @@ "value": "0" }, "nodeType": "VariableDeclarationStatement", - "src": "14599:13:0" + "src": "14739:13:0" }, "loopExpression": { "expression": { "argumentTypes": null, - "id": 745, + "id": 748, "isConstant": false, "isLValue": false, "isPure": false, @@ -29052,15 +29334,15 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "14639:3:0", + "src": "14779:3:0", "subExpression": { "argumentTypes": null, - "id": 744, + "id": 747, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 737, - "src": "14639:1:0", + "referencedDeclaration": 740, + "src": "14779:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29071,12 +29353,12 @@ "typeString": "uint256" } }, - "id": 746, + "id": 749, "nodeType": "ExpressionStatement", - "src": "14639:3:0" + "src": "14779:3:0" }, "nodeType": "ForStatement", - "src": "14594:477:0" + "src": "14734:577:0" } ] } @@ -29084,26 +29366,26 @@ { "expression": { "argumentTypes": null, - "id": 892, + "id": 901, "name": "valueTransferred", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 728, - "src": "15763:16:0", + "referencedDeclaration": 731, + "src": "16103:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 720, - "id": 893, + "functionReturnParameters": 723, + "id": 902, "nodeType": "Return", - "src": "15756:23:0" + "src": "16096:23:0" } ] }, "documentation": "dev Private method to transfer funds to the destination addresses on the basis of transaction type", - "id": 895, + "id": 904, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -29111,16 +29393,16 @@ "name": "_transferFunds", "nodeType": "FunctionDefinition", "parameters": { - "id": 717, + "id": 720, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 710, + "id": 713, "name": "scriptHash", "nodeType": "VariableDeclaration", - "scope": 895, - "src": "14296:18:0", + "scope": 904, + "src": "14436:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -29128,10 +29410,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 709, + "id": 712, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "14296:7:0", + "src": "14436:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -29142,11 +29424,11 @@ }, { "constant": false, - "id": 713, + "id": 716, "name": "destinations", "nodeType": "VariableDeclaration", - "scope": 895, - "src": "14324:21:0", + "scope": 904, + "src": "14464:21:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -29155,19 +29437,19 @@ }, "typeName": { "baseType": { - "id": 711, + "id": 714, "name": "address", "nodeType": "ElementaryTypeName", - "src": "14324:7:0", + "src": "14464:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 712, + "id": 715, "length": null, "nodeType": "ArrayTypeName", - "src": "14324:9:0", + "src": "14464:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", "typeString": "address[]" @@ -29178,11 +29460,11 @@ }, { "constant": false, - "id": 716, + "id": 719, "name": "amounts", "nodeType": "VariableDeclaration", - "scope": 895, - "src": "14355:16:0", + "scope": 904, + "src": "14495:16:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -29191,19 +29473,19 @@ }, "typeName": { "baseType": { - "id": 714, + "id": 717, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "14355:7:0", + "src": "14495:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 715, + "id": 718, "length": null, "nodeType": "ArrayTypeName", - "src": "14355:9:0", + "src": "14495:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -29213,20 +29495,20 @@ "visibility": "internal" } ], - "src": "14286:91:0" + "src": "14426:91:0" }, "payable": false, "returnParameters": { - "id": 720, + "id": 723, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 719, + "id": 722, "name": "", "nodeType": "VariableDeclaration", - "scope": 895, - "src": "14411:7:0", + "scope": 904, + "src": "14551:7:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -29234,10 +29516,10 @@ "typeString": "uint256" }, "typeName": { - "id": 718, + "id": 721, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "14411:7:0", + "src": "14551:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29247,19 +29529,19 @@ "visibility": "internal" } ], - "src": "14410:9:0" + "src": "14550:9:0" }, - "scope": 1215, - "src": "14263:1523:0", + "scope": 1224, + "src": "14403:1723:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "private" }, { "body": { - "id": 1025, + "id": 1034, "nodeType": "Block", - "src": "16206:1346:0", + "src": "16546:1346:0", "statements": [ { "expression": { @@ -29271,7 +29553,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 928, + "id": 937, "isConstant": false, "isLValue": false, "isPure": false, @@ -29282,7 +29564,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 922, + "id": 931, "isConstant": false, "isLValue": false, "isPure": false, @@ -29291,18 +29573,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 918, + "id": 927, "name": "sigR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 901, - "src": "16238:4:0", + "referencedDeclaration": 910, + "src": "16578:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" } }, - "id": 919, + "id": 928, "isConstant": false, "isLValue": false, "isPure": false, @@ -29310,7 +29592,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "16238:11:0", + "src": "16578:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29322,18 +29604,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 920, + "id": 929, "name": "sigS", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 904, - "src": "16253:4:0", + "referencedDeclaration": 913, + "src": "16593:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" } }, - "id": 921, + "id": 930, "isConstant": false, "isLValue": false, "isPure": false, @@ -29341,13 +29623,13 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "16253:11:0", + "src": "16593:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "16238:26:0", + "src": "16578:26:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -29361,7 +29643,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 927, + "id": 936, "isConstant": false, "isLValue": false, "isPure": false, @@ -29370,18 +29652,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 923, + "id": 932, "name": "sigR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 901, - "src": "16268:4:0", + "referencedDeclaration": 910, + "src": "16608:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" } }, - "id": 924, + "id": 933, "isConstant": false, "isLValue": false, "isPure": false, @@ -29389,7 +29671,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "16268:11:0", + "src": "16608:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29401,18 +29683,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 925, + "id": 934, "name": "sigV", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 898, - "src": "16283:4:0", + "referencedDeclaration": 907, + "src": "16623:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr", "typeString": "uint8[] memory" } }, - "id": 926, + "id": 935, "isConstant": false, "isLValue": false, "isPure": false, @@ -29420,19 +29702,19 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "16283:11:0", + "src": "16623:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "16268:26:0", + "src": "16608:26:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "16238:56:0", + "src": "16578:56:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -29441,14 +29723,14 @@ { "argumentTypes": null, "hexValue": "522c532c56206c656e677468206d69736d617463682e", - "id": 929, + "id": 938, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "16309:24:0", + "src": "16649:24:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_f85073c8befb65baed58ca1ee563e5da0bdbdce8abd4d29ef22a8329c7c97506", @@ -29468,21 +29750,21 @@ "typeString": "literal_string \"R,S,V length mismatch.\"" } ], - "id": 917, + "id": 926, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1391, - 1392 + 1400, + 1401 ], - "referencedDeclaration": 1392, - "src": "16217:7:0", + "referencedDeclaration": 1401, + "src": "16557:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 930, + "id": 939, "isConstant": false, "isLValue": false, "isPure": false, @@ -29490,26 +29772,26 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16217:126:0", + "src": "16557:126:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 931, + "id": 940, "nodeType": "ExpressionStatement", - "src": "16217:126:0" + "src": "16557:126:0" }, { "assignments": [], "declarations": [ { "constant": false, - "id": 933, + "id": 942, "name": "lastAddress", "nodeType": "VariableDeclaration", - "scope": 1026, - "src": "16354:19:0", + "scope": 1035, + "src": "16694:19:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -29517,10 +29799,10 @@ "typeString": "address" }, "typeName": { - "id": 932, + "id": 941, "name": "address", "nodeType": "ElementaryTypeName", - "src": "16354:7:0", + "src": "16694:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -29530,23 +29812,23 @@ "visibility": "internal" } ], - "id": 934, + "id": 943, "initialValue": null, "nodeType": "VariableDeclarationStatement", - "src": "16354:19:0" + "src": "16694:19:0" }, { "assignments": [ - 936 + 945 ], "declarations": [ { "constant": false, - "id": 936, + "id": 945, "name": "txHash", "nodeType": "VariableDeclaration", - "scope": 1026, - "src": "16472:14:0", + "scope": 1035, + "src": "16812:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -29554,10 +29836,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 935, + "id": 944, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "16472:7:0", + "src": "16812:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -29567,7 +29849,7 @@ "visibility": "internal" } ], - "id": 960, + "id": 969, "initialValue": { "argumentTypes": null, "arguments": [ @@ -29577,14 +29859,14 @@ { "argumentTypes": null, "hexValue": "19457468657265756d205369676e6564204d6573736167653a0a3332", - "id": 940, + "id": 949, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "16546:34:0", + "src": "16886:34:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_178a2411ab6fbc1ba11064408972259c558d0e82fd48b0aba3ad81d14f065e73", @@ -29604,14 +29886,14 @@ { "argumentTypes": null, "hexValue": "30783139", - "id": 945, + "id": 954, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "16676:4:0", + "src": "17016:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_25_by_1", @@ -29627,20 +29909,20 @@ "typeString": "int_const 25" } ], - "id": 944, + "id": 953, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "16671:4:0", + "src": "17011:4:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes1_$", "typeString": "type(bytes1)" }, "typeName": "byte" }, - "id": 946, + "id": 955, "isConstant": false, "isLValue": false, "isPure": true, @@ -29648,7 +29930,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16671:10:0", + "src": "17011:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes1", "typeString": "bytes1" @@ -29660,14 +29942,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 948, + "id": 957, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "16712:1:0", + "src": "17052:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -29683,20 +29965,20 @@ "typeString": "int_const 0" } ], - "id": 947, + "id": 956, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "16707:4:0", + "src": "17047:4:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes1_$", "typeString": "type(bytes1)" }, "typeName": "byte" }, - "id": 949, + "id": 958, "isConstant": false, "isLValue": false, "isPure": true, @@ -29704,7 +29986,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16707:7:0", + "src": "17047:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes1", "typeString": "bytes1" @@ -29715,14 +29997,14 @@ "arguments": [ { "argumentTypes": null, - "id": 951, + "id": 960, "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1405, - "src": "16748:4:0", + "referencedDeclaration": 1414, + "src": "17088:4:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_Escrow_v1_0_$1215", + "typeIdentifier": "t_contract$_Escrow_v1_0_$1224", "typeString": "contract Escrow_v1_0" } } @@ -29730,24 +30012,24 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_Escrow_v1_0_$1215", + "typeIdentifier": "t_contract$_Escrow_v1_0_$1224", "typeString": "contract Escrow_v1_0" } ], - "id": 950, + "id": 959, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "16740:7:0", + "src": "17080:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, - "id": 952, + "id": 961, "isConstant": false, "isLValue": false, "isPure": false, @@ -29755,7 +30037,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16740:13:0", + "src": "17080:13:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -29763,12 +30045,12 @@ }, { "argumentTypes": null, - "id": 953, + "id": 962, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 909, - "src": "16779:12:0", + "referencedDeclaration": 918, + "src": "17119:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -29776,12 +30058,12 @@ }, { "argumentTypes": null, - "id": 954, + "id": 963, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 912, - "src": "16817:7:0", + "referencedDeclaration": 921, + "src": "17157:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" @@ -29789,12 +30071,12 @@ }, { "argumentTypes": null, - "id": 955, + "id": 964, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 906, - "src": "16850:10:0", + "referencedDeclaration": 915, + "src": "17190:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -29830,18 +30112,18 @@ ], "expression": { "argumentTypes": null, - "id": 942, + "id": 951, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1375, - "src": "16629:3:0", + "referencedDeclaration": 1384, + "src": "16969:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, - "id": 943, + "id": 952, "isConstant": false, "isLValue": false, "isPure": true, @@ -29849,13 +30131,13 @@ "memberName": "encodePacked", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "16629:16:0", + "src": "16969:16:0", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, - "id": 956, + "id": 965, "isConstant": false, "isLValue": false, "isPure": false, @@ -29863,7 +30145,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16629:253:0", + "src": "16969:253:0", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -29877,18 +30159,18 @@ "typeString": "bytes memory" } ], - "id": 941, + "id": 950, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1382, - "src": "16598:9:0", + "referencedDeclaration": 1391, + "src": "16938:9:0", "typeDescriptions": { "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", "typeString": "function () pure returns (bytes32)" } }, - "id": 957, + "id": 966, "isConstant": false, "isLValue": false, "isPure": false, @@ -29896,7 +30178,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16598:302:0", + "src": "16938:302:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -29916,18 +30198,18 @@ ], "expression": { "argumentTypes": null, - "id": 938, + "id": 947, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1375, - "src": "16512:3:0", + "referencedDeclaration": 1384, + "src": "16852:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, - "id": 939, + "id": 948, "isConstant": false, "isLValue": false, "isPure": true, @@ -29935,13 +30217,13 @@ "memberName": "encodePacked", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "16512:16:0", + "src": "16852:16:0", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, - "id": 958, + "id": 967, "isConstant": false, "isLValue": false, "isPure": false, @@ -29949,7 +30231,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16512:402:0", + "src": "16852:402:0", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -29963,18 +30245,18 @@ "typeString": "bytes memory" } ], - "id": 937, + "id": 946, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1382, - "src": "16489:9:0", + "referencedDeclaration": 1391, + "src": "16829:9:0", "typeDescriptions": { "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", "typeString": "function () pure returns (bytes32)" } }, - "id": 959, + "id": 968, "isConstant": false, "isLValue": false, "isPure": false, @@ -29982,33 +30264,33 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16489:435:0", + "src": "16829:435:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "nodeType": "VariableDeclarationStatement", - "src": "16472:452:0" + "src": "16812:452:0" }, { "body": { - "id": 1021, + "id": 1030, "nodeType": "Block", - "src": "16974:543:0", + "src": "17314:543:0", "statements": [ { "assignments": [ - 973 + 982 ], "declarations": [ { "constant": false, - "id": 973, + "id": 982, "name": "recovered", "nodeType": "VariableDeclaration", - "scope": 1026, - "src": "16989:17:0", + "scope": 1035, + "src": "17329:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -30016,10 +30298,10 @@ "typeString": "address" }, "typeName": { - "id": 972, + "id": 981, "name": "address", "nodeType": "ElementaryTypeName", - "src": "16989:7:0", + "src": "17329:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -30029,18 +30311,18 @@ "visibility": "internal" } ], - "id": 986, + "id": 995, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 975, + "id": 984, "name": "txHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 936, - "src": "17036:6:0", + "referencedDeclaration": 945, + "src": "17376:6:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -30050,26 +30332,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 976, + "id": 985, "name": "sigV", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 898, - "src": "17060:4:0", + "referencedDeclaration": 907, + "src": "17400:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr", "typeString": "uint8[] memory" } }, - "id": 978, + "id": 987, "indexExpression": { "argumentTypes": null, - "id": 977, + "id": 986, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 962, - "src": "17065:1:0", + "referencedDeclaration": 971, + "src": "17405:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -30080,7 +30362,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17060:7:0", + "src": "17400:7:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -30090,26 +30372,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 979, + "id": 988, "name": "sigR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 901, - "src": "17085:4:0", + "referencedDeclaration": 910, + "src": "17425:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" } }, - "id": 981, + "id": 990, "indexExpression": { "argumentTypes": null, - "id": 980, + "id": 989, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 962, - "src": "17090:1:0", + "referencedDeclaration": 971, + "src": "17430:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -30120,7 +30402,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17085:7:0", + "src": "17425:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -30130,26 +30412,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 982, + "id": 991, "name": "sigS", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 904, - "src": "17110:4:0", + "referencedDeclaration": 913, + "src": "17450:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" } }, - "id": 984, + "id": 993, "indexExpression": { "argumentTypes": null, - "id": 983, + "id": 992, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 962, - "src": "17115:1:0", + "referencedDeclaration": 971, + "src": "17455:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -30160,7 +30442,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17110:7:0", + "src": "17450:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -30186,18 +30468,18 @@ "typeString": "bytes32" } ], - "id": 974, + "id": 983, "name": "ecrecover", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1380, - "src": "17009:9:0", + "referencedDeclaration": 1389, + "src": "17349:9:0", "typeDescriptions": { "typeIdentifier": "t_function_ecrecover_pure$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$_t_address_$", "typeString": "function (bytes32,uint8,bytes32,bytes32) pure returns (address)" } }, - "id": 985, + "id": 994, "isConstant": false, "isLValue": false, "isPure": false, @@ -30205,14 +30487,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17009:122:0", + "src": "17349:122:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "VariableDeclarationStatement", - "src": "16989:142:0" + "src": "17329:142:0" }, { "expression": { @@ -30226,26 +30508,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 988, + "id": 997, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "17171:12:0", + "src": "17511:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 990, + "id": 999, "indexExpression": { "argumentTypes": null, - "id": 989, + "id": 998, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 906, - "src": "17184:10:0", + "referencedDeclaration": 915, + "src": "17524:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -30256,13 +30538,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17171:24:0", + "src": "17511:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 991, + "id": 1000, "isConstant": false, "isLValue": true, "isPure": false, @@ -30270,21 +30552,21 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "17171:32:0", + "src": "17511:32:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 993, + "id": 1002, "indexExpression": { "argumentTypes": null, - "id": 992, + "id": 1001, "name": "recovered", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 973, - "src": "17204:9:0", + "referencedDeclaration": 982, + "src": "17544:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -30295,7 +30577,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17171:43:0", + "src": "17511:43:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -30304,14 +30586,14 @@ { "argumentTypes": null, "hexValue": "496e76616c6964207369676e6174757265", - "id": 994, + "id": 1003, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "17233:19:0", + "src": "17573:19:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_4f2d7dfcb27c0aafa13ae8c400de482c7832204d194018b6e45bd2bf244c74e7", @@ -30331,21 +30613,21 @@ "typeString": "literal_string \"Invalid signature\"" } ], - "id": 987, + "id": 996, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1391, - 1392 + 1400, + 1401 ], - "referencedDeclaration": 1392, - "src": "17146:7:0", + "referencedDeclaration": 1401, + "src": "17486:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 995, + "id": 1004, "isConstant": false, "isLValue": false, "isPure": false, @@ -30353,15 +30635,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17146:120:0", + "src": "17486:120:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 996, + "id": 1005, "nodeType": "ExpressionStatement", - "src": "17146:120:0" + "src": "17486:120:0" }, { "expression": { @@ -30369,7 +30651,7 @@ "arguments": [ { "argumentTypes": null, - "id": 1004, + "id": 1013, "isConstant": false, "isLValue": false, "isPure": false, @@ -30377,7 +30659,7 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "17305:42:0", + "src": "17645:42:0", "subExpression": { "argumentTypes": null, "baseExpression": { @@ -30386,26 +30668,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 998, + "id": 1007, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "17306:12:0", + "src": "17646:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 1000, + "id": 1009, "indexExpression": { "argumentTypes": null, - "id": 999, + "id": 1008, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 906, - "src": "17319:10:0", + "referencedDeclaration": 915, + "src": "17659:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -30416,13 +30698,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17306:24:0", + "src": "17646:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 1001, + "id": 1010, "isConstant": false, "isLValue": true, "isPure": false, @@ -30430,21 +30712,21 @@ "memberName": "voted", "nodeType": "MemberAccess", "referencedDeclaration": 66, - "src": "17306:30:0", + "src": "17646:30:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 1003, + "id": 1012, "indexExpression": { "argumentTypes": null, - "id": 1002, + "id": 1011, "name": "recovered", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 973, - "src": "17337:9:0", + "referencedDeclaration": 982, + "src": "17677:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -30455,7 +30737,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17306:41:0", + "src": "17646:41:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -30469,14 +30751,14 @@ { "argumentTypes": null, "hexValue": "53616d65207369676e61747572652073656e74207477696365", - "id": 1005, + "id": 1014, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "17366:27:0", + "src": "17706:27:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_fb2c7e49d5ec7ce36fa812cf15ee7fa946942f931d04fe3ae970516007b2a543", @@ -30496,21 +30778,21 @@ "typeString": "literal_string \"Same signature sent twice\"" } ], - "id": 997, + "id": 1006, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1391, - 1392 + 1400, + 1401 ], - "referencedDeclaration": 1392, - "src": "17280:7:0", + "referencedDeclaration": 1401, + "src": "17620:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 1006, + "id": 1015, "isConstant": false, "isLValue": false, "isPure": false, @@ -30518,20 +30800,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17280:127:0", + "src": "17620:127:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1007, + "id": 1016, "nodeType": "ExpressionStatement", - "src": "17280:127:0" + "src": "17620:127:0" }, { "expression": { "argumentTypes": null, - "id": 1015, + "id": 1024, "isConstant": false, "isLValue": false, "isPure": false, @@ -30544,26 +30826,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1008, + "id": 1017, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "17421:12:0", + "src": "17761:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 1010, + "id": 1019, "indexExpression": { "argumentTypes": null, - "id": 1009, + "id": 1018, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 906, - "src": "17434:10:0", + "referencedDeclaration": 915, + "src": "17774:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -30574,13 +30856,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17421:24:0", + "src": "17761:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 1011, + "id": 1020, "isConstant": false, "isLValue": true, "isPure": false, @@ -30588,21 +30870,21 @@ "memberName": "voted", "nodeType": "MemberAccess", "referencedDeclaration": 66, - "src": "17421:30:0", + "src": "17761:30:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 1013, + "id": 1022, "indexExpression": { "argumentTypes": null, - "id": 1012, + "id": 1021, "name": "recovered", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 973, - "src": "17452:9:0", + "referencedDeclaration": 982, + "src": "17792:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -30613,7 +30895,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "17421:41:0", + "src": "17761:41:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -30624,14 +30906,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "74727565", - "id": 1014, + "id": 1023, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "17465:4:0", + "src": "17805:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -30639,32 +30921,32 @@ }, "value": "true" }, - "src": "17421:48:0", + "src": "17761:48:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 1016, + "id": 1025, "nodeType": "ExpressionStatement", - "src": "17421:48:0" + "src": "17761:48:0" }, { "expression": { "argumentTypes": null, - "id": 1019, + "id": 1028, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 1017, + "id": 1026, "name": "lastAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 933, - "src": "17483:11:0", + "referencedDeclaration": 942, + "src": "17823:11:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -30674,26 +30956,26 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 1018, + "id": 1027, "name": "recovered", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 973, - "src": "17497:9:0", + "referencedDeclaration": 982, + "src": "17837:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "17483:23:0", + "src": "17823:23:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 1020, + "id": 1029, "nodeType": "ExpressionStatement", - "src": "17483:23:0" + "src": "17823:23:0" } ] }, @@ -30703,19 +30985,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 968, + "id": 977, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 965, + "id": 974, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 962, - "src": "16952:1:0", + "referencedDeclaration": 971, + "src": "17292:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -30727,18 +31009,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 966, + "id": 975, "name": "sigR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 901, - "src": "16956:4:0", + "referencedDeclaration": 910, + "src": "17296:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" } }, - "id": 967, + "id": 976, "isConstant": false, "isLValue": false, "isPure": false, @@ -30746,31 +31028,31 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "16956:11:0", + "src": "17296:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "16952:15:0", + "src": "17292:15:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 1022, + "id": 1031, "initializationExpression": { "assignments": [ - 962 + 971 ], "declarations": [ { "constant": false, - "id": 962, + "id": 971, "name": "i", "nodeType": "VariableDeclaration", - "scope": 1026, - "src": "16940:6:0", + "scope": 1035, + "src": "17280:6:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -30778,10 +31060,10 @@ "typeString": "uint256" }, "typeName": { - "id": 961, + "id": 970, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "16940:4:0", + "src": "17280:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -30791,18 +31073,18 @@ "visibility": "internal" } ], - "id": 964, + "id": 973, "initialValue": { "argumentTypes": null, "hexValue": "30", - "id": 963, + "id": 972, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "16949:1:0", + "src": "17289:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -30811,12 +31093,12 @@ "value": "0" }, "nodeType": "VariableDeclarationStatement", - "src": "16940:10:0" + "src": "17280:10:0" }, "loopExpression": { "expression": { "argumentTypes": null, - "id": 970, + "id": 979, "isConstant": false, "isLValue": false, "isPure": false, @@ -30824,15 +31106,15 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "16969:3:0", + "src": "17309:3:0", "subExpression": { "argumentTypes": null, - "id": 969, + "id": 978, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 962, - "src": "16969:1:0", + "referencedDeclaration": 971, + "src": "17309:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -30843,36 +31125,36 @@ "typeString": "uint256" } }, - "id": 971, + "id": 980, "nodeType": "ExpressionStatement", - "src": "16969:3:0" + "src": "17309:3:0" }, "nodeType": "ForStatement", - "src": "16935:582:0" + "src": "17275:582:0" }, { "expression": { "argumentTypes": null, - "id": 1023, + "id": 1032, "name": "lastAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 933, - "src": "17534:11:0", + "referencedDeclaration": 942, + "src": "17874:11:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "functionReturnParameters": 916, - "id": 1024, + "functionReturnParameters": 925, + "id": 1033, "nodeType": "Return", - "src": "17527:18:0" + "src": "17867:18:0" } ] }, "documentation": null, - "id": 1026, + "id": 1035, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -30880,16 +31162,16 @@ "name": "_verifySignatures", "nodeType": "FunctionDefinition", "parameters": { - "id": 913, + "id": 922, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 898, + "id": 907, "name": "sigV", "nodeType": "VariableDeclaration", - "scope": 1026, - "src": "16007:12:0", + "scope": 1035, + "src": "16347:12:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -30898,19 +31180,19 @@ }, "typeName": { "baseType": { - "id": 896, + "id": 905, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "16007:5:0", + "src": "16347:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, - "id": 897, + "id": 906, "length": null, "nodeType": "ArrayTypeName", - "src": "16007:7:0", + "src": "16347:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_storage_ptr", "typeString": "uint8[]" @@ -30921,11 +31203,11 @@ }, { "constant": false, - "id": 901, + "id": 910, "name": "sigR", "nodeType": "VariableDeclaration", - "scope": 1026, - "src": "16029:14:0", + "scope": 1035, + "src": "16369:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -30934,19 +31216,19 @@ }, "typeName": { "baseType": { - "id": 899, + "id": 908, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "16029:7:0", + "src": "16369:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "id": 900, + "id": 909, "length": null, "nodeType": "ArrayTypeName", - "src": "16029:9:0", + "src": "16369:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -30957,11 +31239,11 @@ }, { "constant": false, - "id": 904, + "id": 913, "name": "sigS", "nodeType": "VariableDeclaration", - "scope": 1026, - "src": "16053:14:0", + "scope": 1035, + "src": "16393:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -30970,19 +31252,19 @@ }, "typeName": { "baseType": { - "id": 902, + "id": 911, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "16053:7:0", + "src": "16393:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "id": 903, + "id": 912, "length": null, "nodeType": "ArrayTypeName", - "src": "16053:9:0", + "src": "16393:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -30993,11 +31275,11 @@ }, { "constant": false, - "id": 906, + "id": 915, "name": "scriptHash", "nodeType": "VariableDeclaration", - "scope": 1026, - "src": "16077:18:0", + "scope": 1035, + "src": "16417:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -31005,10 +31287,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 905, + "id": 914, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "16077:7:0", + "src": "16417:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -31019,11 +31301,11 @@ }, { "constant": false, - "id": 909, + "id": 918, "name": "destinations", "nodeType": "VariableDeclaration", - "scope": 1026, - "src": "16105:22:0", + "scope": 1035, + "src": "16445:22:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -31032,19 +31314,19 @@ }, "typeName": { "baseType": { - "id": 907, + "id": 916, "name": "address", "nodeType": "ElementaryTypeName", - "src": "16105:7:0", + "src": "16445:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 908, + "id": 917, "length": null, "nodeType": "ArrayTypeName", - "src": "16105:9:0", + "src": "16445:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", "typeString": "address[]" @@ -31055,11 +31337,11 @@ }, { "constant": false, - "id": 912, + "id": 921, "name": "amounts", "nodeType": "VariableDeclaration", - "scope": 1026, - "src": "16137:16:0", + "scope": 1035, + "src": "16477:16:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -31068,19 +31350,19 @@ }, "typeName": { "baseType": { - "id": 910, + "id": 919, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "16137:7:0", + "src": "16477:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 911, + "id": 920, "length": null, "nodeType": "ArrayTypeName", - "src": "16137:9:0", + "src": "16477:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -31090,20 +31372,20 @@ "visibility": "internal" } ], - "src": "15997:162:0" + "src": "16337:162:0" }, "payable": false, "returnParameters": { - "id": 916, + "id": 925, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 915, + "id": 924, "name": "", "nodeType": "VariableDeclaration", - "scope": 1026, - "src": "16193:7:0", + "scope": 1035, + "src": "16533:7:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -31111,10 +31393,10 @@ "typeString": "address" }, "typeName": { - "id": 914, + "id": 923, "name": "address", "nodeType": "ElementaryTypeName", - "src": "16193:7:0", + "src": "16533:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -31124,32 +31406,32 @@ "visibility": "internal" } ], - "src": "16192:9:0" + "src": "16532:9:0" }, - "scope": 1215, - "src": "15971:1581:0", + "scope": 1224, + "src": "16311:1581:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "private" }, { "body": { - "id": 1057, + "id": 1066, "nodeType": "Block", - "src": "17707:168:0", + "src": "18047:168:0", "statements": [ { "assignments": [ - 1036 + 1045 ], "declarations": [ { "constant": false, - "id": 1036, + "id": 1045, "name": "timeSince", "nodeType": "VariableDeclaration", - "scope": 1058, - "src": "17717:17:0", + "scope": 1067, + "src": "18057:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -31157,10 +31439,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1035, + "id": 1044, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "17717:7:0", + "src": "18057:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -31170,18 +31452,18 @@ "visibility": "internal" } ], - "id": 1041, + "id": 1050, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 1039, + "id": 1048, "name": "lastModified", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1030, - "src": "17745:12:0", + "referencedDeclaration": 1039, + "src": "18085:12:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -31197,32 +31479,32 @@ ], "expression": { "argumentTypes": null, - "id": 1037, + "id": 1046, "name": "now", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1390, - "src": "17737:3:0", + "referencedDeclaration": 1399, + "src": "18077:3:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1038, + "id": 1047, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sub", "nodeType": "MemberAccess", - "referencedDeclaration": 1328, - "src": "17737:7:0", + "referencedDeclaration": 1337, + "src": "18077:7:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 1040, + "id": 1049, "isConstant": false, "isLValue": false, "isPure": false, @@ -31230,14 +31512,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17737:21:0", + "src": "18077:21:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "17717:41:0" + "src": "18057:41:0" }, { "expression": { @@ -31251,19 +31533,19 @@ "typeIdentifier": "t_uint32", "typeString": "uint32" }, - "id": 1044, + "id": 1053, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1042, + "id": 1051, "name": "timeoutHours", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1028, - "src": "17789:12:0", + "referencedDeclaration": 1037, + "src": "18129:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -31274,14 +31556,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 1043, + "id": 1052, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "17805:1:0", + "src": "18145:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -31289,7 +31571,7 @@ }, "value": "0" }, - "src": "17789:17:0", + "src": "18129:17:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -31301,19 +31583,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1053, + "id": 1062, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1046, + "id": 1055, "name": "timeSince", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1036, - "src": "17815:9:0", + "referencedDeclaration": 1045, + "src": "18155:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -31327,14 +31609,14 @@ { "argumentTypes": null, "hexValue": "33363030", - "id": 1051, + "id": 1060, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "17853:4:0", + "src": "18193:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_3600_by_1", @@ -31355,12 +31637,12 @@ "arguments": [ { "argumentTypes": null, - "id": 1048, + "id": 1057, "name": "timeoutHours", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1028, - "src": "17835:12:0", + "referencedDeclaration": 1037, + "src": "18175:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -31374,20 +31656,20 @@ "typeString": "uint32" } ], - "id": 1047, + "id": 1056, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "17827:7:0", + "src": "18167:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint256_$", "typeString": "type(uint256)" }, "typeName": "uint256" }, - "id": 1049, + "id": 1058, "isConstant": false, "isLValue": false, "isPure": false, @@ -31395,27 +31677,27 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17827:21:0", + "src": "18167:21:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1050, + "id": 1059, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "mul", "nodeType": "MemberAccess", - "referencedDeclaration": 1280, - "src": "17827:25:0", + "referencedDeclaration": 1289, + "src": "18167:25:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 1052, + "id": 1061, "isConstant": false, "isLValue": false, "isPure": false, @@ -31423,36 +31705,36 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17827:31:0", + "src": "18167:31:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "17815:43:0", + "src": "18155:43:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 1054, + "id": 1063, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "Conditional", - "src": "17789:69:0", + "src": "18129:69:0", "trueExpression": { "argumentTypes": null, "hexValue": "66616c7365", - "id": 1045, + "id": 1054, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "17809:5:0", + "src": "18149:5:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -31466,28 +31748,28 @@ } } ], - "id": 1055, + "id": 1064, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "17775:93:0", + "src": "18115:93:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "functionReturnParameters": 1034, - "id": 1056, + "functionReturnParameters": 1043, + "id": 1065, "nodeType": "Return", - "src": "17768:100:0" + "src": "18108:100:0" } ] }, "documentation": null, - "id": 1058, + "id": 1067, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -31495,16 +31777,16 @@ "name": "_isTimeLockExpired", "nodeType": "FunctionDefinition", "parameters": { - "id": 1031, + "id": 1040, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1028, + "id": 1037, "name": "timeoutHours", "nodeType": "VariableDeclaration", - "scope": 1058, - "src": "17595:19:0", + "scope": 1067, + "src": "17935:19:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -31512,10 +31794,10 @@ "typeString": "uint32" }, "typeName": { - "id": 1027, + "id": 1036, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "17595:6:0", + "src": "17935:6:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -31526,11 +31808,11 @@ }, { "constant": false, - "id": 1030, + "id": 1039, "name": "lastModified", "nodeType": "VariableDeclaration", - "scope": 1058, - "src": "17624:20:0", + "scope": 1067, + "src": "17964:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -31538,10 +31820,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1029, + "id": 1038, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "17624:7:0", + "src": "17964:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -31551,20 +31833,20 @@ "visibility": "internal" } ], - "src": "17585:65:0" + "src": "17925:65:0" }, "payable": false, "returnParameters": { - "id": 1034, + "id": 1043, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1033, + "id": 1042, "name": "", "nodeType": "VariableDeclaration", - "scope": 1058, - "src": "17697:4:0", + "scope": 1067, + "src": "18037:4:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -31572,10 +31854,10 @@ "typeString": "bool" }, "typeName": { - "id": 1032, + "id": 1041, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "17697:4:0", + "src": "18037:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -31585,19 +31867,19 @@ "visibility": "internal" } ], - "src": "17696:6:0" + "src": "18036:6:0" }, - "scope": 1215, - "src": "17558:317:0", + "scope": 1224, + "src": "17898:317:0", "stateMutability": "view", "superFunction": null, "visibility": "private" }, { "body": { - "id": 1213, + "id": 1222, "nodeType": "Block", - "src": "18289:2314:0", + "src": "18629:2314:0", "statements": [ { "expression": { @@ -31609,19 +31891,19 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 1084, + "id": 1093, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1082, + "id": 1091, "name": "buyer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1060, - "src": "18315:5:0", + "referencedDeclaration": 1069, + "src": "18655:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -31631,18 +31913,18 @@ "operator": "!=", "rightExpression": { "argumentTypes": null, - "id": 1083, + "id": 1092, "name": "seller", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1062, - "src": "18324:6:0", + "referencedDeclaration": 1071, + "src": "18664:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "18315:15:0", + "src": "18655:15:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -31651,14 +31933,14 @@ { "argumentTypes": null, "hexValue": "427579657220616e642073656c6c6572206172652073616d65", - "id": 1085, + "id": 1094, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "18332:27:0", + "src": "18672:27:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_6141441751234d42e9a73d96317794195c7ff57b8f16ac15725a10f10763f824", @@ -31678,21 +31960,21 @@ "typeString": "literal_string \"Buyer and seller are same\"" } ], - "id": 1081, + "id": 1090, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1391, - 1392 + 1400, + 1401 ], - "referencedDeclaration": 1392, - "src": "18307:7:0", + "referencedDeclaration": 1401, + "src": "18647:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 1086, + "id": 1095, "isConstant": false, "isLValue": false, "isPure": false, @@ -31700,15 +31982,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18307:53:0", + "src": "18647:53:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1087, + "id": 1096, "nodeType": "ExpressionStatement", - "src": "18307:53:0" + "src": "18647:53:0" }, { "expression": { @@ -31720,19 +32002,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1091, + "id": 1100, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1089, + "id": 1098, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1072, - "src": "18427:5:0", + "referencedDeclaration": 1081, + "src": "18767:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -31743,14 +32025,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 1090, + "id": 1099, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "18435:1:0", + "src": "18775:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -31758,7 +32040,7 @@ }, "value": "0" }, - "src": "18427:9:0", + "src": "18767:9:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -31767,14 +32049,14 @@ { "argumentTypes": null, "hexValue": "56616c7565207061737365642069732030", - "id": 1092, + "id": 1101, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "18438:19:0", + "src": "18778:19:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_3686f87c4804517ea83323ccf1a3b5b5ff52ed144b19e6fc56abe8fcd182e747", @@ -31794,21 +32076,21 @@ "typeString": "literal_string \"Value passed is 0\"" } ], - "id": 1088, + "id": 1097, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1391, - 1392 + 1400, + 1401 ], - "referencedDeclaration": 1392, - "src": "18419:7:0", + "referencedDeclaration": 1401, + "src": "18759:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 1093, + "id": 1102, "isConstant": false, "isLValue": false, "isPure": false, @@ -31816,15 +32098,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18419:39:0", + "src": "18759:39:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1094, + "id": 1103, "nodeType": "ExpressionStatement", - "src": "18419:39:0" + "src": "18759:39:0" }, { "expression": { @@ -31836,7 +32118,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 1102, + "id": 1111, "isConstant": false, "isLValue": false, "isPure": false, @@ -31847,19 +32129,19 @@ "typeIdentifier": "t_uint8", "typeString": "uint8" }, - "id": 1098, + "id": 1107, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1096, + "id": 1105, "name": "threshold", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1066, - "src": "18561:9:0", + "referencedDeclaration": 1075, + "src": "18901:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -31870,14 +32152,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 1097, + "id": 1106, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "18573:1:0", + "src": "18913:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -31885,7 +32167,7 @@ }, "value": "0" }, - "src": "18561:13:0", + "src": "18901:13:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -31899,19 +32181,19 @@ "typeIdentifier": "t_uint8", "typeString": "uint8" }, - "id": 1101, + "id": 1110, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1099, + "id": 1108, "name": "threshold", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1066, - "src": "18578:9:0", + "referencedDeclaration": 1075, + "src": "18918:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -31922,14 +32204,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "33", - "id": 1100, + "id": 1109, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "18591:1:0", + "src": "18931:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_3_by_1", @@ -31937,13 +32219,13 @@ }, "value": "3" }, - "src": "18578:14:0", + "src": "18918:14:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "18561:31:0", + "src": "18901:31:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -31952,14 +32234,14 @@ { "argumentTypes": null, "hexValue": "5468726573686f6c642063616e6e6f742062652067726561746572207468616e203320616e64206d7573742062652067726561746572207468616e2030", - "id": 1103, + "id": 1112, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "18607:63:0", + "src": "18947:63:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_351c1d5dfdc4a2b4c61d6f4dbb41a0d2ae70a9c094d3c0add87af24b5dd19c13", @@ -31979,21 +32261,21 @@ "typeString": "literal_string \"Threshold cannot be greater than 3 and must be greater than 0\"" } ], - "id": 1095, + "id": 1104, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1391, - 1392 + 1400, + 1401 ], - "referencedDeclaration": 1392, - "src": "18540:7:0", + "referencedDeclaration": 1401, + "src": "18880:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 1104, + "id": 1113, "isConstant": false, "isLValue": false, "isPure": false, @@ -32001,15 +32283,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18540:140:0", + "src": "18880:140:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1105, + "id": 1114, "nodeType": "ExpressionStatement", - "src": "18540:140:0" + "src": "18880:140:0" }, { "expression": { @@ -32021,7 +32303,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 1115, + "id": 1124, "isConstant": false, "isLValue": false, "isPure": false, @@ -32032,19 +32314,19 @@ "typeIdentifier": "t_uint8", "typeString": "uint8" }, - "id": 1109, + "id": 1118, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1107, + "id": 1116, "name": "threshold", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1066, - "src": "18961:9:0", + "referencedDeclaration": 1075, + "src": "19301:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -32055,14 +32337,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "31", - "id": 1108, + "id": 1117, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "18974:1:0", + "src": "19314:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -32070,7 +32352,7 @@ }, "value": "1" }, - "src": "18961:14:0", + "src": "19301:14:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -32084,19 +32366,19 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 1114, + "id": 1123, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1110, + "id": 1119, "name": "moderator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1064, - "src": "18979:9:0", + "referencedDeclaration": 1073, + "src": "19319:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -32110,14 +32392,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 1112, + "id": 1121, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "19000:1:0", + "src": "19340:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -32133,20 +32415,20 @@ "typeString": "int_const 0" } ], - "id": 1111, + "id": 1120, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "18992:7:0", + "src": "19332:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, - "id": 1113, + "id": 1122, "isConstant": false, "isLValue": false, "isPure": true, @@ -32154,19 +32436,19 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18992:10:0", + "src": "19332:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "18979:23:0", + "src": "19319:23:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "18961:41:0", + "src": "19301:41:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -32175,14 +32457,14 @@ { "argumentTypes": null, "hexValue": "456974686572207468726573686f6c642073686f756c642062652031206f722076616c6964206d6f64657261746f7220616464726573732073686f756c6420626520706173736564", - "id": 1116, + "id": 1125, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "19016:74:0", + "src": "19356:74:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_2056db168725d2fabb8aaf14efad7a3fc12ef6bc7132f0596ea09b041b71cb25", @@ -32202,21 +32484,21 @@ "typeString": "literal_string \"Either threshold should be 1 or valid moderator address should be passed\"" } ], - "id": 1106, + "id": 1115, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1391, - 1392 + 1400, + 1401 ], - "referencedDeclaration": 1392, - "src": "18940:7:0", + "referencedDeclaration": 1401, + "src": "19280:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 1117, + "id": 1126, "isConstant": false, "isLValue": false, "isPure": false, @@ -32224,15 +32506,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18940:160:0", + "src": "19280:160:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1118, + "id": 1127, "nodeType": "ExpressionStatement", - "src": "18940:160:0" + "src": "19280:160:0" }, { "expression": { @@ -32244,19 +32526,19 @@ "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, - "id": 1130, + "id": 1139, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1120, + "id": 1129, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1070, - "src": "19132:10:0", + "referencedDeclaration": 1079, + "src": "19472:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -32269,12 +32551,12 @@ "arguments": [ { "argumentTypes": null, - "id": 1122, + "id": 1131, "name": "uniqueId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1074, - "src": "19189:8:0", + "referencedDeclaration": 1083, + "src": "19529:8:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -32282,12 +32564,12 @@ }, { "argumentTypes": null, - "id": 1123, + "id": 1132, "name": "threshold", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1066, - "src": "19215:9:0", + "referencedDeclaration": 1075, + "src": "19555:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -32295,12 +32577,12 @@ }, { "argumentTypes": null, - "id": 1124, + "id": 1133, "name": "timeoutHours", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1068, - "src": "19242:12:0", + "referencedDeclaration": 1077, + "src": "19582:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -32308,12 +32590,12 @@ }, { "argumentTypes": null, - "id": 1125, + "id": 1134, "name": "buyer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1060, - "src": "19272:5:0", + "referencedDeclaration": 1069, + "src": "19612:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -32321,12 +32603,12 @@ }, { "argumentTypes": null, - "id": 1126, + "id": 1135, "name": "seller", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1062, - "src": "19295:6:0", + "referencedDeclaration": 1071, + "src": "19635:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -32334,12 +32616,12 @@ }, { "argumentTypes": null, - "id": 1127, + "id": 1136, "name": "moderator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1064, - "src": "19319:9:0", + "referencedDeclaration": 1073, + "src": "19659:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -32347,12 +32629,12 @@ }, { "argumentTypes": null, - "id": 1128, + "id": 1137, "name": "tokenAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1078, - "src": "19346:12:0", + "referencedDeclaration": 1087, + "src": "19686:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -32390,18 +32672,18 @@ "typeString": "address" } ], - "id": 1121, + "id": 1130, "name": "calculateRedeemScriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 639, - "src": "19146:25:0", + "referencedDeclaration": 642, + "src": "19486:25:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_bytes20_$_t_uint8_$_t_uint32_$_t_address_$_t_address_$_t_address_$_t_address_$returns$_t_bytes32_$", "typeString": "function (bytes20,uint8,uint32,address,address,address,address) view returns (bytes32)" } }, - "id": 1129, + "id": 1138, "isConstant": false, "isLValue": false, "isPure": false, @@ -32409,13 +32691,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "19146:226:0", + "src": "19486:226:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "src": "19132:240:0", + "src": "19472:240:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -32424,14 +32706,14 @@ { "argumentTypes": null, "hexValue": "43616c63756c6174656420736372697074206861736820646f6573206e6f74206d61746368207061737365642073637269707420686173682e", - "id": 1131, + "id": 1140, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "19387:59:0", + "src": "19727:59:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_0c041e0c58e6b0e01d338d852a5abb639065eabeb0aee05e0ce3e5f0e52b4f51", @@ -32451,21 +32733,21 @@ "typeString": "literal_string \"Calculated script hash does not match passed script hash.\"" } ], - "id": 1119, + "id": 1128, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1391, - 1392 + 1400, + 1401 ], - "referencedDeclaration": 1392, - "src": "19111:7:0", + "referencedDeclaration": 1401, + "src": "19451:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 1132, + "id": 1141, "isConstant": false, "isLValue": false, "isPure": false, @@ -32473,20 +32755,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "19111:345:0", + "src": "19451:345:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1133, + "id": 1142, "nodeType": "ExpressionStatement", - "src": "19111:345:0" + "src": "19451:345:0" }, { "expression": { "argumentTypes": null, - "id": 1151, + "id": 1160, "isConstant": false, "isLValue": false, "isPure": false, @@ -32495,26 +32777,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1134, + "id": 1143, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "19467:12:0", + "src": "19807:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 1136, + "id": 1145, "indexExpression": { "argumentTypes": null, - "id": 1135, + "id": 1144, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1070, - "src": "19480:10:0", + "referencedDeclaration": 1079, + "src": "19820:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -32525,7 +32807,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "19467:24:0", + "src": "19807:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -32538,12 +32820,12 @@ "arguments": [ { "argumentTypes": null, - "id": 1138, + "id": 1147, "name": "buyer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1060, - "src": "19527:5:0", + "referencedDeclaration": 1069, + "src": "19867:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -32551,12 +32833,12 @@ }, { "argumentTypes": null, - "id": 1139, + "id": 1148, "name": "seller", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1062, - "src": "19554:6:0", + "referencedDeclaration": 1071, + "src": "19894:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -32564,12 +32846,12 @@ }, { "argumentTypes": null, - "id": 1140, + "id": 1149, "name": "moderator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1064, - "src": "19585:9:0", + "referencedDeclaration": 1073, + "src": "19925:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -32577,12 +32859,12 @@ }, { "argumentTypes": null, - "id": 1141, + "id": 1150, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1072, - "src": "19615:5:0", + "referencedDeclaration": 1081, + "src": "19955:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -32592,18 +32874,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1142, + "id": 1151, "name": "Status", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9, - "src": "19642:6:0", + "src": "19982:6:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_Status_$9_$", "typeString": "type(enum Escrow_v1_0.Status)" } }, - "id": 1143, + "id": 1152, "isConstant": false, "isLValue": false, "isPure": true, @@ -32611,7 +32893,7 @@ "memberName": "FUNDED", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "19642:13:0", + "src": "19982:13:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$9", "typeString": "enum Escrow_v1_0.Status" @@ -32621,18 +32903,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1144, + "id": 1153, "name": "block", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1378, - "src": "19683:5:0", + "referencedDeclaration": 1387, + "src": "20023:5:0", "typeDescriptions": { "typeIdentifier": "t_magic_block", "typeString": "block" } }, - "id": 1145, + "id": 1154, "isConstant": false, "isLValue": false, "isPure": false, @@ -32640,7 +32922,7 @@ "memberName": "timestamp", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "19683:15:0", + "src": "20023:15:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -32648,12 +32930,12 @@ }, { "argumentTypes": null, - "id": 1146, + "id": 1155, "name": "threshold", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1066, - "src": "19723:9:0", + "referencedDeclaration": 1075, + "src": "20063:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -32661,12 +32943,12 @@ }, { "argumentTypes": null, - "id": 1147, + "id": 1156, "name": "timeoutHours", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1068, - "src": "19760:12:0", + "referencedDeclaration": 1077, + "src": "20100:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -32674,12 +32956,12 @@ }, { "argumentTypes": null, - "id": 1148, + "id": 1157, "name": "transactionType", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1076, - "src": "19802:15:0", + "referencedDeclaration": 1085, + "src": "20142:15:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -32687,12 +32969,12 @@ }, { "argumentTypes": null, - "id": 1149, + "id": 1158, "name": "tokenAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1078, - "src": "19844:12:0", + "referencedDeclaration": 1087, + "src": "20184:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -32701,18 +32983,18 @@ ], "expression": { "argumentTypes": null, - "id": 1137, + "id": 1146, "name": "Transaction", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 71, - "src": "19494:11:0", + "src": "19834:11:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_struct$_Transaction_$71_storage_ptr_$", "typeString": "type(struct Escrow_v1_0.Transaction storage pointer)" } }, - "id": 1150, + "id": 1159, "isConstant": false, "isLValue": false, "isPure": false, @@ -32731,26 +33013,26 @@ "tokenAddress" ], "nodeType": "FunctionCall", - "src": "19494:373:0", + "src": "19834:373:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_memory", "typeString": "struct Escrow_v1_0.Transaction memory" } }, - "src": "19467:400:0", + "src": "19807:400:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 1152, + "id": 1161, "nodeType": "ExpressionStatement", - "src": "19467:400:0" + "src": "19807:400:0" }, { "expression": { "argumentTypes": null, - "id": 1160, + "id": 1169, "isConstant": false, "isLValue": false, "isPure": false, @@ -32763,26 +33045,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1153, + "id": 1162, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "19878:12:0", + "src": "20218:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 1155, + "id": 1164, "indexExpression": { "argumentTypes": null, - "id": 1154, + "id": 1163, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1070, - "src": "19891:10:0", + "referencedDeclaration": 1079, + "src": "20231:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -32793,13 +33075,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "19878:24:0", + "src": "20218:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 1156, + "id": 1165, "isConstant": false, "isLValue": true, "isPure": false, @@ -32807,21 +33089,21 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "19878:32:0", + "src": "20218:32:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 1158, + "id": 1167, "indexExpression": { "argumentTypes": null, - "id": 1157, + "id": 1166, "name": "seller", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1062, - "src": "19911:6:0", + "referencedDeclaration": 1071, + "src": "20251:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -32832,7 +33114,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "19878:40:0", + "src": "20218:40:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -32843,14 +33125,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "74727565", - "id": 1159, + "id": 1168, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "19921:4:0", + "src": "20261:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -32858,20 +33140,20 @@ }, "value": "true" }, - "src": "19878:47:0", + "src": "20218:47:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 1161, + "id": 1170, "nodeType": "ExpressionStatement", - "src": "19878:47:0" + "src": "20218:47:0" }, { "expression": { "argumentTypes": null, - "id": 1169, + "id": 1178, "isConstant": false, "isLValue": false, "isPure": false, @@ -32884,26 +33166,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1162, + "id": 1171, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "19935:12:0", + "src": "20275:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 1164, + "id": 1173, "indexExpression": { "argumentTypes": null, - "id": 1163, + "id": 1172, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1070, - "src": "19948:10:0", + "referencedDeclaration": 1079, + "src": "20288:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -32914,13 +33196,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "19935:24:0", + "src": "20275:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 1165, + "id": 1174, "isConstant": false, "isLValue": true, "isPure": false, @@ -32928,21 +33210,21 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "19935:32:0", + "src": "20275:32:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 1167, + "id": 1176, "indexExpression": { "argumentTypes": null, - "id": 1166, + "id": 1175, "name": "buyer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1060, - "src": "19968:5:0", + "referencedDeclaration": 1069, + "src": "20308:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -32953,7 +33235,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "19935:39:0", + "src": "20275:39:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -32964,14 +33246,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "74727565", - "id": 1168, + "id": 1177, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "19977:4:0", + "src": "20317:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -32979,15 +33261,15 @@ }, "value": "true" }, - "src": "19935:46:0", + "src": "20275:46:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 1170, + "id": 1179, "nodeType": "ExpressionStatement", - "src": "19935:46:0" + "src": "20275:46:0" }, { "expression": { @@ -32995,7 +33277,7 @@ "arguments": [ { "argumentTypes": null, - "id": 1178, + "id": 1187, "isConstant": false, "isLValue": false, "isPure": false, @@ -33003,7 +33285,7 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "20088:44:0", + "src": "20428:44:0", "subExpression": { "argumentTypes": null, "baseExpression": { @@ -33012,26 +33294,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1172, + "id": 1181, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "20089:12:0", + "src": "20429:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 1174, + "id": 1183, "indexExpression": { "argumentTypes": null, - "id": 1173, + "id": 1182, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1070, - "src": "20102:10:0", + "referencedDeclaration": 1079, + "src": "20442:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -33042,13 +33324,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20089:24:0", + "src": "20429:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 1175, + "id": 1184, "isConstant": false, "isLValue": true, "isPure": false, @@ -33056,21 +33338,21 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "20089:32:0", + "src": "20429:32:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 1177, + "id": 1186, "indexExpression": { "argumentTypes": null, - "id": 1176, + "id": 1185, "name": "moderator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1064, - "src": "20122:9:0", + "referencedDeclaration": 1073, + "src": "20462:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -33081,7 +33363,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20089:43:0", + "src": "20429:43:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -33095,14 +33377,14 @@ { "argumentTypes": null, "hexValue": "456974686572206275796572206f722073656c6c657220697320706173736564206173206d6f64657261746f72", - "id": 1179, + "id": 1188, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "20147:47:0", + "src": "20487:47:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_313b391557427937e7bdb85c7561d47c5b9c985755a448dd33a92026ffb38f8d", @@ -33122,21 +33404,21 @@ "typeString": "literal_string \"Either buyer or seller is passed as moderator\"" } ], - "id": 1171, + "id": 1180, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1391, - 1392 + 1400, + 1401 ], - "referencedDeclaration": 1392, - "src": "20067:7:0", + "referencedDeclaration": 1401, + "src": "20407:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 1180, + "id": 1189, "isConstant": false, "isLValue": false, "isPure": false, @@ -33144,15 +33426,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "20067:137:0", + "src": "20407:137:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1181, + "id": 1190, "nodeType": "ExpressionStatement", - "src": "20067:137:0" + "src": "20407:137:0" }, { "condition": { @@ -33161,19 +33443,19 @@ "typeIdentifier": "t_uint8", "typeString": "uint8" }, - "id": 1184, + "id": 1193, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1182, + "id": 1191, "name": "threshold", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1066, - "src": "20364:9:0", + "referencedDeclaration": 1075, + "src": "20704:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -33184,14 +33466,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "31", - "id": 1183, + "id": 1192, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "20376:1:0", + "src": "20716:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -33199,25 +33481,25 @@ }, "value": "1" }, - "src": "20364:13:0", + "src": "20704:13:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, - "id": 1195, + "id": 1204, "nodeType": "IfStatement", - "src": "20360:94:0", + "src": "20700:94:0", "trueBody": { - "id": 1194, + "id": 1203, "nodeType": "Block", - "src": "20379:75:0", + "src": "20719:75:0", "statements": [ { "expression": { "argumentTypes": null, - "id": 1192, + "id": 1201, "isConstant": false, "isLValue": false, "isPure": false, @@ -33230,26 +33512,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1185, + "id": 1194, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "20393:12:0", + "src": "20733:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 1187, + "id": 1196, "indexExpression": { "argumentTypes": null, - "id": 1186, + "id": 1195, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1070, - "src": "20406:10:0", + "referencedDeclaration": 1079, + "src": "20746:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -33260,13 +33542,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20393:24:0", + "src": "20733:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 1188, + "id": 1197, "isConstant": false, "isLValue": true, "isPure": false, @@ -33274,21 +33556,21 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "20393:32:0", + "src": "20733:32:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 1190, + "id": 1199, "indexExpression": { "argumentTypes": null, - "id": 1189, + "id": 1198, "name": "moderator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1064, - "src": "20426:9:0", + "referencedDeclaration": 1073, + "src": "20766:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -33299,7 +33581,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "20393:43:0", + "src": "20733:43:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -33310,14 +33592,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "74727565", - "id": 1191, + "id": 1200, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "20439:4:0", + "src": "20779:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -33325,15 +33607,15 @@ }, "value": "true" }, - "src": "20393:50:0", + "src": "20733:50:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 1193, + "id": 1202, "nodeType": "ExpressionStatement", - "src": "20393:50:0" + "src": "20733:50:0" } ] } @@ -33341,7 +33623,7 @@ { "expression": { "argumentTypes": null, - "id": 1197, + "id": 1206, "isConstant": false, "isLValue": false, "isPure": false, @@ -33349,15 +33631,15 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "20472:18:0", + "src": "20812:18:0", "subExpression": { "argumentTypes": null, - "id": 1196, + "id": 1205, "name": "transactionCount", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 78, - "src": "20472:16:0", + "src": "20812:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -33368,9 +33650,9 @@ "typeString": "uint256" } }, - "id": 1198, + "id": 1207, "nodeType": "ExpressionStatement", - "src": "20472:18:0" + "src": "20812:18:0" }, { "expression": { @@ -33378,12 +33660,12 @@ "arguments": [ { "argumentTypes": null, - "id": 1203, + "id": 1212, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1070, - "src": "20532:10:0", + "referencedDeclaration": 1079, + "src": "20872:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -33401,26 +33683,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1199, + "id": 1208, "name": "partyVsTransaction", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 83, - "src": "20501:18:0", + "src": "20841:18:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_bytes32_$dyn_storage_$", "typeString": "mapping(address => bytes32[] storage ref)" } }, - "id": 1201, + "id": 1210, "indexExpression": { "argumentTypes": null, - "id": 1200, + "id": 1209, "name": "buyer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1060, - "src": "20520:5:0", + "referencedDeclaration": 1069, + "src": "20860:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -33431,13 +33713,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20501:25:0", + "src": "20841:25:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage", "typeString": "bytes32[] storage ref" } }, - "id": 1202, + "id": 1211, "isConstant": false, "isLValue": false, "isPure": false, @@ -33445,13 +33727,13 @@ "memberName": "push", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "20501:30:0", + "src": "20841:30:0", "typeDescriptions": { "typeIdentifier": "t_function_arraypush_nonpayable$_t_bytes32_$returns$_t_uint256_$", "typeString": "function (bytes32) returns (uint256)" } }, - "id": 1204, + "id": 1213, "isConstant": false, "isLValue": false, "isPure": false, @@ -33459,15 +33741,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "20501:42:0", + "src": "20841:42:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1205, + "id": 1214, "nodeType": "ExpressionStatement", - "src": "20501:42:0" + "src": "20841:42:0" }, { "expression": { @@ -33475,12 +33757,12 @@ "arguments": [ { "argumentTypes": null, - "id": 1210, + "id": 1219, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1070, - "src": "20585:10:0", + "referencedDeclaration": 1079, + "src": "20925:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -33498,26 +33780,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1206, + "id": 1215, "name": "partyVsTransaction", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 83, - "src": "20553:18:0", + "src": "20893:18:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_bytes32_$dyn_storage_$", "typeString": "mapping(address => bytes32[] storage ref)" } }, - "id": 1208, + "id": 1217, "indexExpression": { "argumentTypes": null, - "id": 1207, + "id": 1216, "name": "seller", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1062, - "src": "20572:6:0", + "referencedDeclaration": 1071, + "src": "20912:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -33528,13 +33810,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20553:26:0", + "src": "20893:26:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage", "typeString": "bytes32[] storage ref" } }, - "id": 1209, + "id": 1218, "isConstant": false, "isLValue": false, "isPure": false, @@ -33542,13 +33824,13 @@ "memberName": "push", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "20553:31:0", + "src": "20893:31:0", "typeDescriptions": { "typeIdentifier": "t_function_arraypush_nonpayable$_t_bytes32_$returns$_t_uint256_$", "typeString": "function (bytes32) returns (uint256)" } }, - "id": 1211, + "id": 1220, "isConstant": false, "isLValue": false, "isPure": false, @@ -33556,20 +33838,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "20553:43:0", + "src": "20893:43:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1212, + "id": 1221, "nodeType": "ExpressionStatement", - "src": "20553:43:0" + "src": "20893:43:0" } ] }, "documentation": "Private method to add transaction to reduce code redundancy", - "id": 1214, + "id": 1223, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -33577,16 +33859,16 @@ "name": "_addTransaction", "nodeType": "FunctionDefinition", "parameters": { - "id": 1079, + "id": 1088, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1060, + "id": 1069, "name": "buyer", "nodeType": "VariableDeclaration", - "scope": 1214, - "src": "17996:13:0", + "scope": 1223, + "src": "18336:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -33594,10 +33876,10 @@ "typeString": "address" }, "typeName": { - "id": 1059, + "id": 1068, "name": "address", "nodeType": "ElementaryTypeName", - "src": "17996:7:0", + "src": "18336:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -33608,11 +33890,11 @@ }, { "constant": false, - "id": 1062, + "id": 1071, "name": "seller", "nodeType": "VariableDeclaration", - "scope": 1214, - "src": "18019:14:0", + "scope": 1223, + "src": "18359:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -33620,10 +33902,10 @@ "typeString": "address" }, "typeName": { - "id": 1061, + "id": 1070, "name": "address", "nodeType": "ElementaryTypeName", - "src": "18019:7:0", + "src": "18359:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -33634,11 +33916,11 @@ }, { "constant": false, - "id": 1064, + "id": 1073, "name": "moderator", "nodeType": "VariableDeclaration", - "scope": 1214, - "src": "18043:17:0", + "scope": 1223, + "src": "18383:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -33646,10 +33928,10 @@ "typeString": "address" }, "typeName": { - "id": 1063, + "id": 1072, "name": "address", "nodeType": "ElementaryTypeName", - "src": "18043:7:0", + "src": "18383:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -33660,11 +33942,11 @@ }, { "constant": false, - "id": 1066, + "id": 1075, "name": "threshold", "nodeType": "VariableDeclaration", - "scope": 1214, - "src": "18070:15:0", + "scope": 1223, + "src": "18410:15:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -33672,10 +33954,10 @@ "typeString": "uint8" }, "typeName": { - "id": 1065, + "id": 1074, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "18070:5:0", + "src": "18410:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -33686,11 +33968,11 @@ }, { "constant": false, - "id": 1068, + "id": 1077, "name": "timeoutHours", "nodeType": "VariableDeclaration", - "scope": 1214, - "src": "18095:19:0", + "scope": 1223, + "src": "18435:19:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -33698,10 +33980,10 @@ "typeString": "uint32" }, "typeName": { - "id": 1067, + "id": 1076, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "18095:6:0", + "src": "18435:6:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -33712,11 +33994,11 @@ }, { "constant": false, - "id": 1070, + "id": 1079, "name": "scriptHash", "nodeType": "VariableDeclaration", - "scope": 1214, - "src": "18124:18:0", + "scope": 1223, + "src": "18464:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -33724,10 +34006,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 1069, + "id": 1078, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "18124:7:0", + "src": "18464:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -33738,11 +34020,11 @@ }, { "constant": false, - "id": 1072, + "id": 1081, "name": "value", "nodeType": "VariableDeclaration", - "scope": 1214, - "src": "18152:13:0", + "scope": 1223, + "src": "18492:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -33750,10 +34032,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1071, + "id": 1080, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "18152:7:0", + "src": "18492:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -33764,11 +34046,11 @@ }, { "constant": false, - "id": 1074, + "id": 1083, "name": "uniqueId", "nodeType": "VariableDeclaration", - "scope": 1214, - "src": "18175:16:0", + "scope": 1223, + "src": "18515:16:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -33776,10 +34058,10 @@ "typeString": "bytes20" }, "typeName": { - "id": 1073, + "id": 1082, "name": "bytes20", "nodeType": "ElementaryTypeName", - "src": "18175:7:0", + "src": "18515:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -33790,11 +34072,11 @@ }, { "constant": false, - "id": 1076, + "id": 1085, "name": "transactionType", "nodeType": "VariableDeclaration", - "scope": 1214, - "src": "18201:31:0", + "scope": 1223, + "src": "18541:31:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -33803,11 +34085,11 @@ }, "typeName": { "contractScope": null, - "id": 1075, + "id": 1084, "name": "TransactionType", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 12, - "src": "18201:15:0", + "src": "18541:15:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -33818,11 +34100,11 @@ }, { "constant": false, - "id": 1078, + "id": 1087, "name": "tokenAddress", "nodeType": "VariableDeclaration", - "scope": 1214, - "src": "18242:20:0", + "scope": 1223, + "src": "18582:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -33830,10 +34112,10 @@ "typeString": "address" }, "typeName": { - "id": 1077, + "id": 1086, "name": "address", "nodeType": "ElementaryTypeName", - "src": "18242:7:0", + "src": "18582:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -33843,27 +34125,27 @@ "visibility": "internal" } ], - "src": "17986:282:0" + "src": "18326:282:0" }, "payable": false, "returnParameters": { - "id": 1080, + "id": 1089, "nodeType": "ParameterList", "parameters": [], - "src": "18289:0:0" + "src": "18629:0:0" }, - "scope": 1215, - "src": "17962:2641:0", + "scope": 1224, + "src": "18302:2641:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "private" } ], - "scope": 1216, - "src": "460:20145:0" + "scope": 1225, + "src": "460:20485:0" } ], - "src": "0:20606:0" + "src": "0:20946:0" }, "compiler": { "name": "solc", @@ -33871,5 +34153,5 @@ }, "networks": {}, "schemaVersion": "2.0.1", - "updatedAt": "2018-11-19T13:36:26.796Z" + "updatedAt": "2018-11-19T13:41:57.382Z" } \ No newline at end of file diff --git a/build/contracts/ITokenContract.json b/build/contracts/ITokenContract.json index 4d2de77..23a3432 100644 --- a/build/contracts/ITokenContract.json +++ b/build/contracts/ITokenContract.json @@ -81,14 +81,14 @@ "absolutePath": "/home/sameep/freelancing-projects/toptal/open baazar/publicRepo/smart-contracts/contracts/token/ITokenContract.sol", "exportedSymbols": { "ITokenContract": [ - 1245 + 1254 ] }, - "id": 1246, + "id": 1255, "nodeType": "SourceUnit", "nodes": [ { - "id": 1217, + "id": 1226, "literals": [ "solidity", "0.4", @@ -103,9 +103,9 @@ "contractKind": "interface", "documentation": null, "fullyImplemented": false, - "id": 1245, + "id": 1254, "linearizedBaseContracts": [ - 1245 + 1254 ], "name": "ITokenContract", "nodeType": "ContractDefinition", @@ -113,7 +113,7 @@ { "body": null, "documentation": null, - "id": 1224, + "id": 1233, "implemented": false, "isConstructor": false, "isDeclaredConst": true, @@ -121,15 +121,15 @@ "name": "balanceOf", "nodeType": "FunctionDefinition", "parameters": { - "id": 1220, + "id": 1229, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1219, + "id": 1228, "name": "_owner", "nodeType": "VariableDeclaration", - "scope": 1224, + "scope": 1233, "src": "75:14:1", "stateVariable": false, "storageLocation": "default", @@ -138,7 +138,7 @@ "typeString": "address" }, "typeName": { - "id": 1218, + "id": 1227, "name": "address", "nodeType": "ElementaryTypeName", "src": "75:7:1", @@ -155,15 +155,15 @@ }, "payable": false, "returnParameters": { - "id": 1223, + "id": 1232, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1222, + "id": 1231, "name": "balance", "nodeType": "VariableDeclaration", - "scope": 1224, + "scope": 1233, "src": "114:15:1", "stateVariable": false, "storageLocation": "default", @@ -172,7 +172,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1221, + "id": 1230, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "114:7:1", @@ -187,7 +187,7 @@ ], "src": "113:17:1" }, - "scope": 1245, + "scope": 1254, "src": "56:75:1", "stateMutability": "view", "superFunction": null, @@ -196,7 +196,7 @@ { "body": null, "documentation": null, - "id": 1233, + "id": 1242, "implemented": false, "isConstructor": false, "isDeclaredConst": false, @@ -204,15 +204,15 @@ "name": "transfer", "nodeType": "FunctionDefinition", "parameters": { - "id": 1229, + "id": 1238, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1226, + "id": 1235, "name": "_to", "nodeType": "VariableDeclaration", - "scope": 1233, + "scope": 1242, "src": "166:11:1", "stateVariable": false, "storageLocation": "default", @@ -221,7 +221,7 @@ "typeString": "address" }, "typeName": { - "id": 1225, + "id": 1234, "name": "address", "nodeType": "ElementaryTypeName", "src": "166:7:1", @@ -235,10 +235,10 @@ }, { "constant": false, - "id": 1228, + "id": 1237, "name": "_amount", "nodeType": "VariableDeclaration", - "scope": 1233, + "scope": 1242, "src": "188:15:1", "stateVariable": false, "storageLocation": "default", @@ -247,7 +247,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1227, + "id": 1236, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "188:7:1", @@ -264,15 +264,15 @@ }, "payable": false, "returnParameters": { - "id": 1232, + "id": 1241, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1231, + "id": 1240, "name": "success", "nodeType": "VariableDeclaration", - "scope": 1233, + "scope": 1242, "src": "245:12:1", "stateVariable": false, "storageLocation": "default", @@ -281,7 +281,7 @@ "typeString": "bool" }, "typeName": { - "id": 1230, + "id": 1239, "name": "bool", "nodeType": "ElementaryTypeName", "src": "245:4:1", @@ -296,7 +296,7 @@ ], "src": "244:14:1" }, - "scope": 1245, + "scope": 1254, "src": "139:120:1", "stateMutability": "nonpayable", "superFunction": null, @@ -305,7 +305,7 @@ { "body": null, "documentation": null, - "id": 1244, + "id": 1253, "implemented": false, "isConstructor": false, "isDeclaredConst": false, @@ -313,15 +313,15 @@ "name": "transferFrom", "nodeType": "FunctionDefinition", "parameters": { - "id": 1240, + "id": 1249, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1235, + "id": 1244, "name": "_from", "nodeType": "VariableDeclaration", - "scope": 1244, + "scope": 1253, "src": "296:13:1", "stateVariable": false, "storageLocation": "default", @@ -330,7 +330,7 @@ "typeString": "address" }, "typeName": { - "id": 1234, + "id": 1243, "name": "address", "nodeType": "ElementaryTypeName", "src": "296:7:1", @@ -344,10 +344,10 @@ }, { "constant": false, - "id": 1237, + "id": 1246, "name": "_to", "nodeType": "VariableDeclaration", - "scope": 1244, + "scope": 1253, "src": "320:11:1", "stateVariable": false, "storageLocation": "default", @@ -356,7 +356,7 @@ "typeString": "address" }, "typeName": { - "id": 1236, + "id": 1245, "name": "address", "nodeType": "ElementaryTypeName", "src": "320:7:1", @@ -370,10 +370,10 @@ }, { "constant": false, - "id": 1239, + "id": 1248, "name": "_amount", "nodeType": "VariableDeclaration", - "scope": 1244, + "scope": 1253, "src": "342:15:1", "stateVariable": false, "storageLocation": "default", @@ -382,7 +382,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1238, + "id": 1247, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "342:7:1", @@ -399,15 +399,15 @@ }, "payable": false, "returnParameters": { - "id": 1243, + "id": 1252, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1242, + "id": 1251, "name": "success", "nodeType": "VariableDeclaration", - "scope": 1244, + "scope": 1253, "src": "400:12:1", "stateVariable": false, "storageLocation": "default", @@ -416,7 +416,7 @@ "typeString": "bool" }, "typeName": { - "id": 1241, + "id": 1250, "name": "bool", "nodeType": "ElementaryTypeName", "src": "400:4:1", @@ -431,14 +431,14 @@ ], "src": "399:14:1" }, - "scope": 1245, + "scope": 1254, "src": "265:149:1", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" } ], - "scope": 1246, + "scope": 1255, "src": "25:391:1" } ], @@ -448,14 +448,14 @@ "absolutePath": "/home/sameep/freelancing-projects/toptal/open baazar/publicRepo/smart-contracts/contracts/token/ITokenContract.sol", "exportedSymbols": { "ITokenContract": [ - 1245 + 1254 ] }, - "id": 1246, + "id": 1255, "nodeType": "SourceUnit", "nodes": [ { - "id": 1217, + "id": 1226, "literals": [ "solidity", "0.4", @@ -470,9 +470,9 @@ "contractKind": "interface", "documentation": null, "fullyImplemented": false, - "id": 1245, + "id": 1254, "linearizedBaseContracts": [ - 1245 + 1254 ], "name": "ITokenContract", "nodeType": "ContractDefinition", @@ -480,7 +480,7 @@ { "body": null, "documentation": null, - "id": 1224, + "id": 1233, "implemented": false, "isConstructor": false, "isDeclaredConst": true, @@ -488,15 +488,15 @@ "name": "balanceOf", "nodeType": "FunctionDefinition", "parameters": { - "id": 1220, + "id": 1229, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1219, + "id": 1228, "name": "_owner", "nodeType": "VariableDeclaration", - "scope": 1224, + "scope": 1233, "src": "75:14:1", "stateVariable": false, "storageLocation": "default", @@ -505,7 +505,7 @@ "typeString": "address" }, "typeName": { - "id": 1218, + "id": 1227, "name": "address", "nodeType": "ElementaryTypeName", "src": "75:7:1", @@ -522,15 +522,15 @@ }, "payable": false, "returnParameters": { - "id": 1223, + "id": 1232, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1222, + "id": 1231, "name": "balance", "nodeType": "VariableDeclaration", - "scope": 1224, + "scope": 1233, "src": "114:15:1", "stateVariable": false, "storageLocation": "default", @@ -539,7 +539,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1221, + "id": 1230, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "114:7:1", @@ -554,7 +554,7 @@ ], "src": "113:17:1" }, - "scope": 1245, + "scope": 1254, "src": "56:75:1", "stateMutability": "view", "superFunction": null, @@ -563,7 +563,7 @@ { "body": null, "documentation": null, - "id": 1233, + "id": 1242, "implemented": false, "isConstructor": false, "isDeclaredConst": false, @@ -571,15 +571,15 @@ "name": "transfer", "nodeType": "FunctionDefinition", "parameters": { - "id": 1229, + "id": 1238, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1226, + "id": 1235, "name": "_to", "nodeType": "VariableDeclaration", - "scope": 1233, + "scope": 1242, "src": "166:11:1", "stateVariable": false, "storageLocation": "default", @@ -588,7 +588,7 @@ "typeString": "address" }, "typeName": { - "id": 1225, + "id": 1234, "name": "address", "nodeType": "ElementaryTypeName", "src": "166:7:1", @@ -602,10 +602,10 @@ }, { "constant": false, - "id": 1228, + "id": 1237, "name": "_amount", "nodeType": "VariableDeclaration", - "scope": 1233, + "scope": 1242, "src": "188:15:1", "stateVariable": false, "storageLocation": "default", @@ -614,7 +614,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1227, + "id": 1236, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "188:7:1", @@ -631,15 +631,15 @@ }, "payable": false, "returnParameters": { - "id": 1232, + "id": 1241, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1231, + "id": 1240, "name": "success", "nodeType": "VariableDeclaration", - "scope": 1233, + "scope": 1242, "src": "245:12:1", "stateVariable": false, "storageLocation": "default", @@ -648,7 +648,7 @@ "typeString": "bool" }, "typeName": { - "id": 1230, + "id": 1239, "name": "bool", "nodeType": "ElementaryTypeName", "src": "245:4:1", @@ -663,7 +663,7 @@ ], "src": "244:14:1" }, - "scope": 1245, + "scope": 1254, "src": "139:120:1", "stateMutability": "nonpayable", "superFunction": null, @@ -672,7 +672,7 @@ { "body": null, "documentation": null, - "id": 1244, + "id": 1253, "implemented": false, "isConstructor": false, "isDeclaredConst": false, @@ -680,15 +680,15 @@ "name": "transferFrom", "nodeType": "FunctionDefinition", "parameters": { - "id": 1240, + "id": 1249, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1235, + "id": 1244, "name": "_from", "nodeType": "VariableDeclaration", - "scope": 1244, + "scope": 1253, "src": "296:13:1", "stateVariable": false, "storageLocation": "default", @@ -697,7 +697,7 @@ "typeString": "address" }, "typeName": { - "id": 1234, + "id": 1243, "name": "address", "nodeType": "ElementaryTypeName", "src": "296:7:1", @@ -711,10 +711,10 @@ }, { "constant": false, - "id": 1237, + "id": 1246, "name": "_to", "nodeType": "VariableDeclaration", - "scope": 1244, + "scope": 1253, "src": "320:11:1", "stateVariable": false, "storageLocation": "default", @@ -723,7 +723,7 @@ "typeString": "address" }, "typeName": { - "id": 1236, + "id": 1245, "name": "address", "nodeType": "ElementaryTypeName", "src": "320:7:1", @@ -737,10 +737,10 @@ }, { "constant": false, - "id": 1239, + "id": 1248, "name": "_amount", "nodeType": "VariableDeclaration", - "scope": 1244, + "scope": 1253, "src": "342:15:1", "stateVariable": false, "storageLocation": "default", @@ -749,7 +749,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1238, + "id": 1247, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "342:7:1", @@ -766,15 +766,15 @@ }, "payable": false, "returnParameters": { - "id": 1243, + "id": 1252, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1242, + "id": 1251, "name": "success", "nodeType": "VariableDeclaration", - "scope": 1244, + "scope": 1253, "src": "400:12:1", "stateVariable": false, "storageLocation": "default", @@ -783,7 +783,7 @@ "typeString": "bool" }, "typeName": { - "id": 1241, + "id": 1250, "name": "bool", "nodeType": "ElementaryTypeName", "src": "400:4:1", @@ -798,14 +798,14 @@ ], "src": "399:14:1" }, - "scope": 1245, + "scope": 1254, "src": "265:149:1", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" } ], - "scope": 1246, + "scope": 1255, "src": "25:391:1" } ], @@ -817,5 +817,5 @@ }, "networks": {}, "schemaVersion": "2.0.1", - "updatedAt": "2018-11-19T13:36:26.787Z" + "updatedAt": "2018-11-19T13:41:57.362Z" } \ No newline at end of file diff --git a/build/contracts/SafeMath.json b/build/contracts/SafeMath.json index 4da0d00..a35edb9 100644 --- a/build/contracts/SafeMath.json +++ b/build/contracts/SafeMath.json @@ -11,14 +11,14 @@ "absolutePath": "openzeppelin-solidity/contracts/math/SafeMath.sol", "exportedSymbols": { "SafeMath": [ - 1373 + 1382 ] }, - "id": 1374, + "id": 1383, "nodeType": "SourceUnit", "nodes": [ { - "id": 1247, + "id": 1256, "literals": [ "solidity", "^", @@ -34,16 +34,16 @@ "contractKind": "library", "documentation": "@title SafeMath\n@dev Math operations with safety checks that revert on error", "fullyImplemented": true, - "id": 1373, + "id": 1382, "linearizedBaseContracts": [ - 1373 + 1382 ], "name": "SafeMath", "nodeType": "ContractDefinition", "nodes": [ { "body": { - "id": 1279, + "id": 1288, "nodeType": "Block", "src": "271:314:2", "statements": [ @@ -54,18 +54,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1258, + "id": 1267, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1256, + "id": 1265, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1249, + "referencedDeclaration": 1258, "src": "486:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -77,7 +77,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 1257, + "id": 1266, "isConstant": false, "isLValue": false, "isPure": true, @@ -99,11 +99,11 @@ } }, "falseBody": null, - "id": 1262, + "id": 1271, "nodeType": "IfStatement", "src": "482:35:2", "trueBody": { - "id": 1261, + "id": 1270, "nodeType": "Block", "src": "494:23:2", "statements": [ @@ -111,7 +111,7 @@ "expression": { "argumentTypes": null, "hexValue": "30", - "id": 1259, + "id": 1268, "isConstant": false, "isLValue": false, "isPure": true, @@ -126,8 +126,8 @@ }, "value": "0" }, - "functionReturnParameters": 1255, - "id": 1260, + "functionReturnParameters": 1264, + "id": 1269, "nodeType": "Return", "src": "502:8:2" } @@ -136,15 +136,15 @@ }, { "assignments": [ - 1264 + 1273 ], "declarations": [ { "constant": false, - "id": 1264, + "id": 1273, "name": "c", "nodeType": "VariableDeclaration", - "scope": 1280, + "scope": 1289, "src": "523:9:2", "stateVariable": false, "storageLocation": "default", @@ -153,7 +153,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1263, + "id": 1272, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "523:7:2", @@ -166,25 +166,25 @@ "visibility": "internal" } ], - "id": 1268, + "id": 1277, "initialValue": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1267, + "id": 1276, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1265, + "id": 1274, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1249, + "referencedDeclaration": 1258, "src": "535:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -195,11 +195,11 @@ "operator": "*", "rightExpression": { "argumentTypes": null, - "id": 1266, + "id": 1275, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1251, + "referencedDeclaration": 1260, "src": "539:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -225,7 +225,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1274, + "id": 1283, "isConstant": false, "isLValue": false, "isPure": false, @@ -236,18 +236,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1272, + "id": 1281, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1270, + "id": 1279, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1264, + "referencedDeclaration": 1273, "src": "554:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -258,11 +258,11 @@ "operator": "/", "rightExpression": { "argumentTypes": null, - "id": 1271, + "id": 1280, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1249, + "referencedDeclaration": 1258, "src": "558:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -279,11 +279,11 @@ "operator": "==", "rightExpression": { "argumentTypes": null, - "id": 1273, + "id": 1282, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1251, + "referencedDeclaration": 1260, "src": "563:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -304,21 +304,21 @@ "typeString": "bool" } ], - "id": 1269, + "id": 1278, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1391, - 1392 + 1400, + 1401 ], - "referencedDeclaration": 1391, + "referencedDeclaration": 1400, "src": "546:7:2", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 1275, + "id": 1284, "isConstant": false, "isLValue": false, "isPure": false, @@ -332,33 +332,33 @@ "typeString": "tuple()" } }, - "id": 1276, + "id": 1285, "nodeType": "ExpressionStatement", "src": "546:19:2" }, { "expression": { "argumentTypes": null, - "id": 1277, + "id": 1286, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1264, + "referencedDeclaration": 1273, "src": "579:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 1255, - "id": 1278, + "functionReturnParameters": 1264, + "id": 1287, "nodeType": "Return", "src": "572:8:2" } ] }, "documentation": "@dev Multiplies two numbers, reverts on overflow.", - "id": 1280, + "id": 1289, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -366,15 +366,15 @@ "name": "mul", "nodeType": "FunctionDefinition", "parameters": { - "id": 1252, + "id": 1261, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1249, + "id": 1258, "name": "a", "nodeType": "VariableDeclaration", - "scope": 1280, + "scope": 1289, "src": "217:9:2", "stateVariable": false, "storageLocation": "default", @@ -383,7 +383,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1248, + "id": 1257, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "217:7:2", @@ -397,10 +397,10 @@ }, { "constant": false, - "id": 1251, + "id": 1260, "name": "b", "nodeType": "VariableDeclaration", - "scope": 1280, + "scope": 1289, "src": "228:9:2", "stateVariable": false, "storageLocation": "default", @@ -409,7 +409,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1250, + "id": 1259, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "228:7:2", @@ -426,15 +426,15 @@ }, "payable": false, "returnParameters": { - "id": 1255, + "id": 1264, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1254, + "id": 1263, "name": "", "nodeType": "VariableDeclaration", - "scope": 1280, + "scope": 1289, "src": "262:7:2", "stateVariable": false, "storageLocation": "default", @@ -443,7 +443,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1253, + "id": 1262, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "262:7:2", @@ -458,7 +458,7 @@ ], "src": "261:9:2" }, - "scope": 1373, + "scope": 1382, "src": "204:381:2", "stateMutability": "pure", "superFunction": null, @@ -466,7 +466,7 @@ }, { "body": { - "id": 1303, + "id": 1312, "nodeType": "Block", "src": "762:203:2", "statements": [ @@ -480,18 +480,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1292, + "id": 1301, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1290, + "id": 1299, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1284, + "referencedDeclaration": 1293, "src": "776:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -503,7 +503,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 1291, + "id": 1300, "isConstant": false, "isLValue": false, "isPure": true, @@ -532,21 +532,21 @@ "typeString": "bool" } ], - "id": 1289, + "id": 1298, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1391, - 1392 + 1400, + 1401 ], - "referencedDeclaration": 1391, + "referencedDeclaration": 1400, "src": "768:7:2", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 1293, + "id": 1302, "isConstant": false, "isLValue": false, "isPure": false, @@ -560,21 +560,21 @@ "typeString": "tuple()" } }, - "id": 1294, + "id": 1303, "nodeType": "ExpressionStatement", "src": "768:14:2" }, { "assignments": [ - 1296 + 1305 ], "declarations": [ { "constant": false, - "id": 1296, + "id": 1305, "name": "c", "nodeType": "VariableDeclaration", - "scope": 1304, + "scope": 1313, "src": "846:9:2", "stateVariable": false, "storageLocation": "default", @@ -583,7 +583,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1295, + "id": 1304, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "846:7:2", @@ -596,25 +596,25 @@ "visibility": "internal" } ], - "id": 1300, + "id": 1309, "initialValue": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1299, + "id": 1308, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1297, + "id": 1306, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1282, + "referencedDeclaration": 1291, "src": "858:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -625,11 +625,11 @@ "operator": "/", "rightExpression": { "argumentTypes": null, - "id": 1298, + "id": 1307, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1284, + "referencedDeclaration": 1293, "src": "862:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -648,26 +648,26 @@ { "expression": { "argumentTypes": null, - "id": 1301, + "id": 1310, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1296, + "referencedDeclaration": 1305, "src": "959:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 1288, - "id": 1302, + "functionReturnParameters": 1297, + "id": 1311, "nodeType": "Return", "src": "952:8:2" } ] }, "documentation": "@dev Integer division of two numbers truncating the quotient, reverts on division by zero.", - "id": 1304, + "id": 1313, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -675,15 +675,15 @@ "name": "div", "nodeType": "FunctionDefinition", "parameters": { - "id": 1285, + "id": 1294, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1282, + "id": 1291, "name": "a", "nodeType": "VariableDeclaration", - "scope": 1304, + "scope": 1313, "src": "708:9:2", "stateVariable": false, "storageLocation": "default", @@ -692,7 +692,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1281, + "id": 1290, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "708:7:2", @@ -706,10 +706,10 @@ }, { "constant": false, - "id": 1284, + "id": 1293, "name": "b", "nodeType": "VariableDeclaration", - "scope": 1304, + "scope": 1313, "src": "719:9:2", "stateVariable": false, "storageLocation": "default", @@ -718,7 +718,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1283, + "id": 1292, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "719:7:2", @@ -735,15 +735,15 @@ }, "payable": false, "returnParameters": { - "id": 1288, + "id": 1297, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1287, + "id": 1296, "name": "", "nodeType": "VariableDeclaration", - "scope": 1304, + "scope": 1313, "src": "753:7:2", "stateVariable": false, "storageLocation": "default", @@ -752,7 +752,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1286, + "id": 1295, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "753:7:2", @@ -767,7 +767,7 @@ ], "src": "752:9:2" }, - "scope": 1373, + "scope": 1382, "src": "695:270:2", "stateMutability": "pure", "superFunction": null, @@ -775,7 +775,7 @@ }, { "body": { - "id": 1327, + "id": 1336, "nodeType": "Block", "src": "1145:64:2", "statements": [ @@ -789,18 +789,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1316, + "id": 1325, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1314, + "id": 1323, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1308, + "referencedDeclaration": 1317, "src": "1159:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -811,11 +811,11 @@ "operator": "<=", "rightExpression": { "argumentTypes": null, - "id": 1315, + "id": 1324, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1306, + "referencedDeclaration": 1315, "src": "1164:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -836,21 +836,21 @@ "typeString": "bool" } ], - "id": 1313, + "id": 1322, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1391, - 1392 + 1400, + 1401 ], - "referencedDeclaration": 1391, + "referencedDeclaration": 1400, "src": "1151:7:2", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 1317, + "id": 1326, "isConstant": false, "isLValue": false, "isPure": false, @@ -864,21 +864,21 @@ "typeString": "tuple()" } }, - "id": 1318, + "id": 1327, "nodeType": "ExpressionStatement", "src": "1151:15:2" }, { "assignments": [ - 1320 + 1329 ], "declarations": [ { "constant": false, - "id": 1320, + "id": 1329, "name": "c", "nodeType": "VariableDeclaration", - "scope": 1328, + "scope": 1337, "src": "1172:9:2", "stateVariable": false, "storageLocation": "default", @@ -887,7 +887,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1319, + "id": 1328, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1172:7:2", @@ -900,25 +900,25 @@ "visibility": "internal" } ], - "id": 1324, + "id": 1333, "initialValue": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1323, + "id": 1332, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1321, + "id": 1330, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1306, + "referencedDeclaration": 1315, "src": "1184:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -929,11 +929,11 @@ "operator": "-", "rightExpression": { "argumentTypes": null, - "id": 1322, + "id": 1331, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1308, + "referencedDeclaration": 1317, "src": "1188:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -952,26 +952,26 @@ { "expression": { "argumentTypes": null, - "id": 1325, + "id": 1334, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1320, + "referencedDeclaration": 1329, "src": "1203:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 1312, - "id": 1326, + "functionReturnParameters": 1321, + "id": 1335, "nodeType": "Return", "src": "1196:8:2" } ] }, "documentation": "@dev Subtracts two numbers, reverts on overflow (i.e. if subtrahend is greater than minuend).", - "id": 1328, + "id": 1337, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -979,15 +979,15 @@ "name": "sub", "nodeType": "FunctionDefinition", "parameters": { - "id": 1309, + "id": 1318, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1306, + "id": 1315, "name": "a", "nodeType": "VariableDeclaration", - "scope": 1328, + "scope": 1337, "src": "1091:9:2", "stateVariable": false, "storageLocation": "default", @@ -996,7 +996,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1305, + "id": 1314, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1091:7:2", @@ -1010,10 +1010,10 @@ }, { "constant": false, - "id": 1308, + "id": 1317, "name": "b", "nodeType": "VariableDeclaration", - "scope": 1328, + "scope": 1337, "src": "1102:9:2", "stateVariable": false, "storageLocation": "default", @@ -1022,7 +1022,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1307, + "id": 1316, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1102:7:2", @@ -1039,15 +1039,15 @@ }, "payable": false, "returnParameters": { - "id": 1312, + "id": 1321, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1311, + "id": 1320, "name": "", "nodeType": "VariableDeclaration", - "scope": 1328, + "scope": 1337, "src": "1136:7:2", "stateVariable": false, "storageLocation": "default", @@ -1056,7 +1056,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1310, + "id": 1319, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1136:7:2", @@ -1071,7 +1071,7 @@ ], "src": "1135:9:2" }, - "scope": 1373, + "scope": 1382, "src": "1078:131:2", "stateMutability": "pure", "superFunction": null, @@ -1079,21 +1079,21 @@ }, { "body": { - "id": 1351, + "id": 1360, "nodeType": "Block", "src": "1339:64:2", "statements": [ { "assignments": [ - 1338 + 1347 ], "declarations": [ { "constant": false, - "id": 1338, + "id": 1347, "name": "c", "nodeType": "VariableDeclaration", - "scope": 1352, + "scope": 1361, "src": "1345:9:2", "stateVariable": false, "storageLocation": "default", @@ -1102,7 +1102,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1337, + "id": 1346, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1345:7:2", @@ -1115,25 +1115,25 @@ "visibility": "internal" } ], - "id": 1342, + "id": 1351, "initialValue": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1341, + "id": 1350, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1339, + "id": 1348, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1330, + "referencedDeclaration": 1339, "src": "1357:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1144,11 +1144,11 @@ "operator": "+", "rightExpression": { "argumentTypes": null, - "id": 1340, + "id": 1349, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1332, + "referencedDeclaration": 1341, "src": "1361:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1174,18 +1174,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1346, + "id": 1355, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1344, + "id": 1353, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1338, + "referencedDeclaration": 1347, "src": "1376:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1196,11 +1196,11 @@ "operator": ">=", "rightExpression": { "argumentTypes": null, - "id": 1345, + "id": 1354, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1330, + "referencedDeclaration": 1339, "src": "1381:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1221,21 +1221,21 @@ "typeString": "bool" } ], - "id": 1343, + "id": 1352, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1391, - 1392 + 1400, + 1401 ], - "referencedDeclaration": 1391, + "referencedDeclaration": 1400, "src": "1368:7:2", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 1347, + "id": 1356, "isConstant": false, "isLValue": false, "isPure": false, @@ -1249,33 +1249,33 @@ "typeString": "tuple()" } }, - "id": 1348, + "id": 1357, "nodeType": "ExpressionStatement", "src": "1368:15:2" }, { "expression": { "argumentTypes": null, - "id": 1349, + "id": 1358, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1338, + "referencedDeclaration": 1347, "src": "1397:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 1336, - "id": 1350, + "functionReturnParameters": 1345, + "id": 1359, "nodeType": "Return", "src": "1390:8:2" } ] }, "documentation": "@dev Adds two numbers, reverts on overflow.", - "id": 1352, + "id": 1361, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -1283,15 +1283,15 @@ "name": "add", "nodeType": "FunctionDefinition", "parameters": { - "id": 1333, + "id": 1342, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1330, + "id": 1339, "name": "a", "nodeType": "VariableDeclaration", - "scope": 1352, + "scope": 1361, "src": "1285:9:2", "stateVariable": false, "storageLocation": "default", @@ -1300,7 +1300,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1329, + "id": 1338, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1285:7:2", @@ -1314,10 +1314,10 @@ }, { "constant": false, - "id": 1332, + "id": 1341, "name": "b", "nodeType": "VariableDeclaration", - "scope": 1352, + "scope": 1361, "src": "1296:9:2", "stateVariable": false, "storageLocation": "default", @@ -1326,7 +1326,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1331, + "id": 1340, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1296:7:2", @@ -1343,15 +1343,15 @@ }, "payable": false, "returnParameters": { - "id": 1336, + "id": 1345, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1335, + "id": 1344, "name": "", "nodeType": "VariableDeclaration", - "scope": 1352, + "scope": 1361, "src": "1330:7:2", "stateVariable": false, "storageLocation": "default", @@ -1360,7 +1360,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1334, + "id": 1343, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1330:7:2", @@ -1375,7 +1375,7 @@ ], "src": "1329:9:2" }, - "scope": 1373, + "scope": 1382, "src": "1272:131:2", "stateMutability": "pure", "superFunction": null, @@ -1383,7 +1383,7 @@ }, { "body": { - "id": 1371, + "id": 1380, "nodeType": "Block", "src": "1602:44:2", "statements": [ @@ -1397,18 +1397,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1364, + "id": 1373, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1362, + "id": 1371, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1356, + "referencedDeclaration": 1365, "src": "1616:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1420,7 +1420,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 1363, + "id": 1372, "isConstant": false, "isLValue": false, "isPure": true, @@ -1449,21 +1449,21 @@ "typeString": "bool" } ], - "id": 1361, + "id": 1370, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1391, - 1392 + 1400, + 1401 ], - "referencedDeclaration": 1391, + "referencedDeclaration": 1400, "src": "1608:7:2", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 1365, + "id": 1374, "isConstant": false, "isLValue": false, "isPure": false, @@ -1477,7 +1477,7 @@ "typeString": "tuple()" } }, - "id": 1366, + "id": 1375, "nodeType": "ExpressionStatement", "src": "1608:15:2" }, @@ -1488,18 +1488,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1369, + "id": 1378, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1367, + "id": 1376, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1354, + "referencedDeclaration": 1363, "src": "1636:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1510,11 +1510,11 @@ "operator": "%", "rightExpression": { "argumentTypes": null, - "id": 1368, + "id": 1377, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1356, + "referencedDeclaration": 1365, "src": "1640:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1527,15 +1527,15 @@ "typeString": "uint256" } }, - "functionReturnParameters": 1360, - "id": 1370, + "functionReturnParameters": 1369, + "id": 1379, "nodeType": "Return", "src": "1629:12:2" } ] }, "documentation": "@dev Divides two numbers and returns the remainder (unsigned integer modulo),\nreverts when dividing by zero.", - "id": 1372, + "id": 1381, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -1543,15 +1543,15 @@ "name": "mod", "nodeType": "FunctionDefinition", "parameters": { - "id": 1357, + "id": 1366, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1354, + "id": 1363, "name": "a", "nodeType": "VariableDeclaration", - "scope": 1372, + "scope": 1381, "src": "1548:9:2", "stateVariable": false, "storageLocation": "default", @@ -1560,7 +1560,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1353, + "id": 1362, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1548:7:2", @@ -1574,10 +1574,10 @@ }, { "constant": false, - "id": 1356, + "id": 1365, "name": "b", "nodeType": "VariableDeclaration", - "scope": 1372, + "scope": 1381, "src": "1559:9:2", "stateVariable": false, "storageLocation": "default", @@ -1586,7 +1586,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1355, + "id": 1364, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1559:7:2", @@ -1603,15 +1603,15 @@ }, "payable": false, "returnParameters": { - "id": 1360, + "id": 1369, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1359, + "id": 1368, "name": "", "nodeType": "VariableDeclaration", - "scope": 1372, + "scope": 1381, "src": "1593:7:2", "stateVariable": false, "storageLocation": "default", @@ -1620,7 +1620,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1358, + "id": 1367, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1593:7:2", @@ -1635,14 +1635,14 @@ ], "src": "1592:9:2" }, - "scope": 1373, + "scope": 1382, "src": "1535:111:2", "stateMutability": "pure", "superFunction": null, "visibility": "internal" } ], - "scope": 1374, + "scope": 1383, "src": "117:1531:2" } ], @@ -1652,14 +1652,14 @@ "absolutePath": "openzeppelin-solidity/contracts/math/SafeMath.sol", "exportedSymbols": { "SafeMath": [ - 1373 + 1382 ] }, - "id": 1374, + "id": 1383, "nodeType": "SourceUnit", "nodes": [ { - "id": 1247, + "id": 1256, "literals": [ "solidity", "^", @@ -1675,16 +1675,16 @@ "contractKind": "library", "documentation": "@title SafeMath\n@dev Math operations with safety checks that revert on error", "fullyImplemented": true, - "id": 1373, + "id": 1382, "linearizedBaseContracts": [ - 1373 + 1382 ], "name": "SafeMath", "nodeType": "ContractDefinition", "nodes": [ { "body": { - "id": 1279, + "id": 1288, "nodeType": "Block", "src": "271:314:2", "statements": [ @@ -1695,18 +1695,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1258, + "id": 1267, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1256, + "id": 1265, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1249, + "referencedDeclaration": 1258, "src": "486:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1718,7 +1718,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 1257, + "id": 1266, "isConstant": false, "isLValue": false, "isPure": true, @@ -1740,11 +1740,11 @@ } }, "falseBody": null, - "id": 1262, + "id": 1271, "nodeType": "IfStatement", "src": "482:35:2", "trueBody": { - "id": 1261, + "id": 1270, "nodeType": "Block", "src": "494:23:2", "statements": [ @@ -1752,7 +1752,7 @@ "expression": { "argumentTypes": null, "hexValue": "30", - "id": 1259, + "id": 1268, "isConstant": false, "isLValue": false, "isPure": true, @@ -1767,8 +1767,8 @@ }, "value": "0" }, - "functionReturnParameters": 1255, - "id": 1260, + "functionReturnParameters": 1264, + "id": 1269, "nodeType": "Return", "src": "502:8:2" } @@ -1777,15 +1777,15 @@ }, { "assignments": [ - 1264 + 1273 ], "declarations": [ { "constant": false, - "id": 1264, + "id": 1273, "name": "c", "nodeType": "VariableDeclaration", - "scope": 1280, + "scope": 1289, "src": "523:9:2", "stateVariable": false, "storageLocation": "default", @@ -1794,7 +1794,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1263, + "id": 1272, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "523:7:2", @@ -1807,25 +1807,25 @@ "visibility": "internal" } ], - "id": 1268, + "id": 1277, "initialValue": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1267, + "id": 1276, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1265, + "id": 1274, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1249, + "referencedDeclaration": 1258, "src": "535:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1836,11 +1836,11 @@ "operator": "*", "rightExpression": { "argumentTypes": null, - "id": 1266, + "id": 1275, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1251, + "referencedDeclaration": 1260, "src": "539:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1866,7 +1866,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1274, + "id": 1283, "isConstant": false, "isLValue": false, "isPure": false, @@ -1877,18 +1877,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1272, + "id": 1281, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1270, + "id": 1279, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1264, + "referencedDeclaration": 1273, "src": "554:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1899,11 +1899,11 @@ "operator": "/", "rightExpression": { "argumentTypes": null, - "id": 1271, + "id": 1280, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1249, + "referencedDeclaration": 1258, "src": "558:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1920,11 +1920,11 @@ "operator": "==", "rightExpression": { "argumentTypes": null, - "id": 1273, + "id": 1282, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1251, + "referencedDeclaration": 1260, "src": "563:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1945,21 +1945,21 @@ "typeString": "bool" } ], - "id": 1269, + "id": 1278, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1391, - 1392 + 1400, + 1401 ], - "referencedDeclaration": 1391, + "referencedDeclaration": 1400, "src": "546:7:2", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 1275, + "id": 1284, "isConstant": false, "isLValue": false, "isPure": false, @@ -1973,33 +1973,33 @@ "typeString": "tuple()" } }, - "id": 1276, + "id": 1285, "nodeType": "ExpressionStatement", "src": "546:19:2" }, { "expression": { "argumentTypes": null, - "id": 1277, + "id": 1286, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1264, + "referencedDeclaration": 1273, "src": "579:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 1255, - "id": 1278, + "functionReturnParameters": 1264, + "id": 1287, "nodeType": "Return", "src": "572:8:2" } ] }, "documentation": "@dev Multiplies two numbers, reverts on overflow.", - "id": 1280, + "id": 1289, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -2007,15 +2007,15 @@ "name": "mul", "nodeType": "FunctionDefinition", "parameters": { - "id": 1252, + "id": 1261, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1249, + "id": 1258, "name": "a", "nodeType": "VariableDeclaration", - "scope": 1280, + "scope": 1289, "src": "217:9:2", "stateVariable": false, "storageLocation": "default", @@ -2024,7 +2024,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1248, + "id": 1257, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "217:7:2", @@ -2038,10 +2038,10 @@ }, { "constant": false, - "id": 1251, + "id": 1260, "name": "b", "nodeType": "VariableDeclaration", - "scope": 1280, + "scope": 1289, "src": "228:9:2", "stateVariable": false, "storageLocation": "default", @@ -2050,7 +2050,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1250, + "id": 1259, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "228:7:2", @@ -2067,15 +2067,15 @@ }, "payable": false, "returnParameters": { - "id": 1255, + "id": 1264, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1254, + "id": 1263, "name": "", "nodeType": "VariableDeclaration", - "scope": 1280, + "scope": 1289, "src": "262:7:2", "stateVariable": false, "storageLocation": "default", @@ -2084,7 +2084,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1253, + "id": 1262, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "262:7:2", @@ -2099,7 +2099,7 @@ ], "src": "261:9:2" }, - "scope": 1373, + "scope": 1382, "src": "204:381:2", "stateMutability": "pure", "superFunction": null, @@ -2107,7 +2107,7 @@ }, { "body": { - "id": 1303, + "id": 1312, "nodeType": "Block", "src": "762:203:2", "statements": [ @@ -2121,18 +2121,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1292, + "id": 1301, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1290, + "id": 1299, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1284, + "referencedDeclaration": 1293, "src": "776:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2144,7 +2144,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 1291, + "id": 1300, "isConstant": false, "isLValue": false, "isPure": true, @@ -2173,21 +2173,21 @@ "typeString": "bool" } ], - "id": 1289, + "id": 1298, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1391, - 1392 + 1400, + 1401 ], - "referencedDeclaration": 1391, + "referencedDeclaration": 1400, "src": "768:7:2", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 1293, + "id": 1302, "isConstant": false, "isLValue": false, "isPure": false, @@ -2201,21 +2201,21 @@ "typeString": "tuple()" } }, - "id": 1294, + "id": 1303, "nodeType": "ExpressionStatement", "src": "768:14:2" }, { "assignments": [ - 1296 + 1305 ], "declarations": [ { "constant": false, - "id": 1296, + "id": 1305, "name": "c", "nodeType": "VariableDeclaration", - "scope": 1304, + "scope": 1313, "src": "846:9:2", "stateVariable": false, "storageLocation": "default", @@ -2224,7 +2224,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1295, + "id": 1304, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "846:7:2", @@ -2237,25 +2237,25 @@ "visibility": "internal" } ], - "id": 1300, + "id": 1309, "initialValue": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1299, + "id": 1308, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1297, + "id": 1306, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1282, + "referencedDeclaration": 1291, "src": "858:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2266,11 +2266,11 @@ "operator": "/", "rightExpression": { "argumentTypes": null, - "id": 1298, + "id": 1307, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1284, + "referencedDeclaration": 1293, "src": "862:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2289,26 +2289,26 @@ { "expression": { "argumentTypes": null, - "id": 1301, + "id": 1310, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1296, + "referencedDeclaration": 1305, "src": "959:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 1288, - "id": 1302, + "functionReturnParameters": 1297, + "id": 1311, "nodeType": "Return", "src": "952:8:2" } ] }, "documentation": "@dev Integer division of two numbers truncating the quotient, reverts on division by zero.", - "id": 1304, + "id": 1313, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -2316,15 +2316,15 @@ "name": "div", "nodeType": "FunctionDefinition", "parameters": { - "id": 1285, + "id": 1294, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1282, + "id": 1291, "name": "a", "nodeType": "VariableDeclaration", - "scope": 1304, + "scope": 1313, "src": "708:9:2", "stateVariable": false, "storageLocation": "default", @@ -2333,7 +2333,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1281, + "id": 1290, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "708:7:2", @@ -2347,10 +2347,10 @@ }, { "constant": false, - "id": 1284, + "id": 1293, "name": "b", "nodeType": "VariableDeclaration", - "scope": 1304, + "scope": 1313, "src": "719:9:2", "stateVariable": false, "storageLocation": "default", @@ -2359,7 +2359,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1283, + "id": 1292, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "719:7:2", @@ -2376,15 +2376,15 @@ }, "payable": false, "returnParameters": { - "id": 1288, + "id": 1297, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1287, + "id": 1296, "name": "", "nodeType": "VariableDeclaration", - "scope": 1304, + "scope": 1313, "src": "753:7:2", "stateVariable": false, "storageLocation": "default", @@ -2393,7 +2393,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1286, + "id": 1295, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "753:7:2", @@ -2408,7 +2408,7 @@ ], "src": "752:9:2" }, - "scope": 1373, + "scope": 1382, "src": "695:270:2", "stateMutability": "pure", "superFunction": null, @@ -2416,7 +2416,7 @@ }, { "body": { - "id": 1327, + "id": 1336, "nodeType": "Block", "src": "1145:64:2", "statements": [ @@ -2430,18 +2430,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1316, + "id": 1325, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1314, + "id": 1323, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1308, + "referencedDeclaration": 1317, "src": "1159:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2452,11 +2452,11 @@ "operator": "<=", "rightExpression": { "argumentTypes": null, - "id": 1315, + "id": 1324, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1306, + "referencedDeclaration": 1315, "src": "1164:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2477,21 +2477,21 @@ "typeString": "bool" } ], - "id": 1313, + "id": 1322, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1391, - 1392 + 1400, + 1401 ], - "referencedDeclaration": 1391, + "referencedDeclaration": 1400, "src": "1151:7:2", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 1317, + "id": 1326, "isConstant": false, "isLValue": false, "isPure": false, @@ -2505,21 +2505,21 @@ "typeString": "tuple()" } }, - "id": 1318, + "id": 1327, "nodeType": "ExpressionStatement", "src": "1151:15:2" }, { "assignments": [ - 1320 + 1329 ], "declarations": [ { "constant": false, - "id": 1320, + "id": 1329, "name": "c", "nodeType": "VariableDeclaration", - "scope": 1328, + "scope": 1337, "src": "1172:9:2", "stateVariable": false, "storageLocation": "default", @@ -2528,7 +2528,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1319, + "id": 1328, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1172:7:2", @@ -2541,25 +2541,25 @@ "visibility": "internal" } ], - "id": 1324, + "id": 1333, "initialValue": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1323, + "id": 1332, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1321, + "id": 1330, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1306, + "referencedDeclaration": 1315, "src": "1184:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2570,11 +2570,11 @@ "operator": "-", "rightExpression": { "argumentTypes": null, - "id": 1322, + "id": 1331, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1308, + "referencedDeclaration": 1317, "src": "1188:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2593,26 +2593,26 @@ { "expression": { "argumentTypes": null, - "id": 1325, + "id": 1334, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1320, + "referencedDeclaration": 1329, "src": "1203:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 1312, - "id": 1326, + "functionReturnParameters": 1321, + "id": 1335, "nodeType": "Return", "src": "1196:8:2" } ] }, "documentation": "@dev Subtracts two numbers, reverts on overflow (i.e. if subtrahend is greater than minuend).", - "id": 1328, + "id": 1337, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -2620,15 +2620,15 @@ "name": "sub", "nodeType": "FunctionDefinition", "parameters": { - "id": 1309, + "id": 1318, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1306, + "id": 1315, "name": "a", "nodeType": "VariableDeclaration", - "scope": 1328, + "scope": 1337, "src": "1091:9:2", "stateVariable": false, "storageLocation": "default", @@ -2637,7 +2637,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1305, + "id": 1314, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1091:7:2", @@ -2651,10 +2651,10 @@ }, { "constant": false, - "id": 1308, + "id": 1317, "name": "b", "nodeType": "VariableDeclaration", - "scope": 1328, + "scope": 1337, "src": "1102:9:2", "stateVariable": false, "storageLocation": "default", @@ -2663,7 +2663,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1307, + "id": 1316, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1102:7:2", @@ -2680,15 +2680,15 @@ }, "payable": false, "returnParameters": { - "id": 1312, + "id": 1321, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1311, + "id": 1320, "name": "", "nodeType": "VariableDeclaration", - "scope": 1328, + "scope": 1337, "src": "1136:7:2", "stateVariable": false, "storageLocation": "default", @@ -2697,7 +2697,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1310, + "id": 1319, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1136:7:2", @@ -2712,7 +2712,7 @@ ], "src": "1135:9:2" }, - "scope": 1373, + "scope": 1382, "src": "1078:131:2", "stateMutability": "pure", "superFunction": null, @@ -2720,21 +2720,21 @@ }, { "body": { - "id": 1351, + "id": 1360, "nodeType": "Block", "src": "1339:64:2", "statements": [ { "assignments": [ - 1338 + 1347 ], "declarations": [ { "constant": false, - "id": 1338, + "id": 1347, "name": "c", "nodeType": "VariableDeclaration", - "scope": 1352, + "scope": 1361, "src": "1345:9:2", "stateVariable": false, "storageLocation": "default", @@ -2743,7 +2743,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1337, + "id": 1346, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1345:7:2", @@ -2756,25 +2756,25 @@ "visibility": "internal" } ], - "id": 1342, + "id": 1351, "initialValue": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1341, + "id": 1350, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1339, + "id": 1348, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1330, + "referencedDeclaration": 1339, "src": "1357:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2785,11 +2785,11 @@ "operator": "+", "rightExpression": { "argumentTypes": null, - "id": 1340, + "id": 1349, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1332, + "referencedDeclaration": 1341, "src": "1361:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2815,18 +2815,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1346, + "id": 1355, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1344, + "id": 1353, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1338, + "referencedDeclaration": 1347, "src": "1376:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2837,11 +2837,11 @@ "operator": ">=", "rightExpression": { "argumentTypes": null, - "id": 1345, + "id": 1354, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1330, + "referencedDeclaration": 1339, "src": "1381:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2862,21 +2862,21 @@ "typeString": "bool" } ], - "id": 1343, + "id": 1352, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1391, - 1392 + 1400, + 1401 ], - "referencedDeclaration": 1391, + "referencedDeclaration": 1400, "src": "1368:7:2", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 1347, + "id": 1356, "isConstant": false, "isLValue": false, "isPure": false, @@ -2890,33 +2890,33 @@ "typeString": "tuple()" } }, - "id": 1348, + "id": 1357, "nodeType": "ExpressionStatement", "src": "1368:15:2" }, { "expression": { "argumentTypes": null, - "id": 1349, + "id": 1358, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1338, + "referencedDeclaration": 1347, "src": "1397:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 1336, - "id": 1350, + "functionReturnParameters": 1345, + "id": 1359, "nodeType": "Return", "src": "1390:8:2" } ] }, "documentation": "@dev Adds two numbers, reverts on overflow.", - "id": 1352, + "id": 1361, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -2924,15 +2924,15 @@ "name": "add", "nodeType": "FunctionDefinition", "parameters": { - "id": 1333, + "id": 1342, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1330, + "id": 1339, "name": "a", "nodeType": "VariableDeclaration", - "scope": 1352, + "scope": 1361, "src": "1285:9:2", "stateVariable": false, "storageLocation": "default", @@ -2941,7 +2941,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1329, + "id": 1338, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1285:7:2", @@ -2955,10 +2955,10 @@ }, { "constant": false, - "id": 1332, + "id": 1341, "name": "b", "nodeType": "VariableDeclaration", - "scope": 1352, + "scope": 1361, "src": "1296:9:2", "stateVariable": false, "storageLocation": "default", @@ -2967,7 +2967,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1331, + "id": 1340, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1296:7:2", @@ -2984,15 +2984,15 @@ }, "payable": false, "returnParameters": { - "id": 1336, + "id": 1345, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1335, + "id": 1344, "name": "", "nodeType": "VariableDeclaration", - "scope": 1352, + "scope": 1361, "src": "1330:7:2", "stateVariable": false, "storageLocation": "default", @@ -3001,7 +3001,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1334, + "id": 1343, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1330:7:2", @@ -3016,7 +3016,7 @@ ], "src": "1329:9:2" }, - "scope": 1373, + "scope": 1382, "src": "1272:131:2", "stateMutability": "pure", "superFunction": null, @@ -3024,7 +3024,7 @@ }, { "body": { - "id": 1371, + "id": 1380, "nodeType": "Block", "src": "1602:44:2", "statements": [ @@ -3038,18 +3038,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1364, + "id": 1373, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1362, + "id": 1371, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1356, + "referencedDeclaration": 1365, "src": "1616:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -3061,7 +3061,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 1363, + "id": 1372, "isConstant": false, "isLValue": false, "isPure": true, @@ -3090,21 +3090,21 @@ "typeString": "bool" } ], - "id": 1361, + "id": 1370, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1391, - 1392 + 1400, + 1401 ], - "referencedDeclaration": 1391, + "referencedDeclaration": 1400, "src": "1608:7:2", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 1365, + "id": 1374, "isConstant": false, "isLValue": false, "isPure": false, @@ -3118,7 +3118,7 @@ "typeString": "tuple()" } }, - "id": 1366, + "id": 1375, "nodeType": "ExpressionStatement", "src": "1608:15:2" }, @@ -3129,18 +3129,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1369, + "id": 1378, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1367, + "id": 1376, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1354, + "referencedDeclaration": 1363, "src": "1636:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -3151,11 +3151,11 @@ "operator": "%", "rightExpression": { "argumentTypes": null, - "id": 1368, + "id": 1377, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1356, + "referencedDeclaration": 1365, "src": "1640:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -3168,15 +3168,15 @@ "typeString": "uint256" } }, - "functionReturnParameters": 1360, - "id": 1370, + "functionReturnParameters": 1369, + "id": 1379, "nodeType": "Return", "src": "1629:12:2" } ] }, "documentation": "@dev Divides two numbers and returns the remainder (unsigned integer modulo),\nreverts when dividing by zero.", - "id": 1372, + "id": 1381, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -3184,15 +3184,15 @@ "name": "mod", "nodeType": "FunctionDefinition", "parameters": { - "id": 1357, + "id": 1366, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1354, + "id": 1363, "name": "a", "nodeType": "VariableDeclaration", - "scope": 1372, + "scope": 1381, "src": "1548:9:2", "stateVariable": false, "storageLocation": "default", @@ -3201,7 +3201,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1353, + "id": 1362, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1548:7:2", @@ -3215,10 +3215,10 @@ }, { "constant": false, - "id": 1356, + "id": 1365, "name": "b", "nodeType": "VariableDeclaration", - "scope": 1372, + "scope": 1381, "src": "1559:9:2", "stateVariable": false, "storageLocation": "default", @@ -3227,7 +3227,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1355, + "id": 1364, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1559:7:2", @@ -3244,15 +3244,15 @@ }, "payable": false, "returnParameters": { - "id": 1360, + "id": 1369, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1359, + "id": 1368, "name": "", "nodeType": "VariableDeclaration", - "scope": 1372, + "scope": 1381, "src": "1593:7:2", "stateVariable": false, "storageLocation": "default", @@ -3261,7 +3261,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1358, + "id": 1367, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1593:7:2", @@ -3276,14 +3276,14 @@ ], "src": "1592:9:2" }, - "scope": 1373, + "scope": 1382, "src": "1535:111:2", "stateMutability": "pure", "superFunction": null, "visibility": "internal" } ], - "scope": 1374, + "scope": 1383, "src": "117:1531:2" } ], @@ -3295,5 +3295,5 @@ }, "networks": {}, "schemaVersion": "2.0.1", - "updatedAt": "2018-11-19T13:36:26.788Z" + "updatedAt": "2018-11-19T13:41:57.364Z" } \ No newline at end of file diff --git a/contracts/escrow/Escrow_v1_0.sol b/contracts/escrow/Escrow_v1_0.sol index 9b8036e..f767c7a 100644 --- a/contracts/escrow/Escrow_v1_0.sol +++ b/contracts/escrow/Escrow_v1_0.sol @@ -104,17 +104,17 @@ contract Escrow_v1_0 { } /** - *@dev Add new transaction in the contract - *@param buyer The buyer of the transaction - *@param seller The seller of the listing associated with the transaction - *@param moderator Moderator for this transaction - *@param scriptHash keccak256 hash of the redeem script - *@param threshold Minimum number of signatures required to released funds - *@param timeoutHours Hours after which seller can release funds into his favour by signing transaction unilaterally - *@param uniqueId bytes20 unique id for the transaction, generated by ETH wallet - *Redeem Script format will be following - - *Pass amount of the ethers to be put in escrow + * @dev Add new transaction in the contract + * @param buyer The buyer of the transaction + * @param seller The seller of the listing associated with the transaction + * @param moderator Moderator for this transaction + * @param threshold Minimum number of signatures required to released funds + * @param timeoutHours Hours after which seller can release funds into his favour by signing transaction unilaterally + * @param scriptHash keccak256 hash of the redeem script + * @param uniqueId bytes20 unique id for the transaction, generated by ETH wallet + * Redeem Script format will be following + + * Pass amount of the ethers to be put in escrow */ function addTransaction( address buyer, @@ -149,19 +149,19 @@ contract Escrow_v1_0 { } /** - *@dev Add new transaction in the contract - *@param buyer The buyer of the transaction - *@param seller The seller of the listing associated with the transaction - *@param moderator Moderator for this transaction - *@param scriptHash keccak256 hash of the redeem script - *@param threshold Minimum number of signatures required to released funds - *@param timeoutHours Hours after which seller can release funds into his favour by signing transaction unilaterally - *@param value Amount of tokens to be put in escrow - *@param uniqueId bytes20 unique id for the transaction, generated by ETH wallet - *@param tokenAddress Address of the token to be used - *Redeem Script format will be following - - *approve escrow contract to spend amount of token on sender's behalf + * @dev Add new transaction in the contract + * @param buyer The buyer of the transaction + * @param seller The seller of the listing associated with the transaction + * @param moderator Moderator for this transaction + * @param threshold Minimum number of signatures required to released funds + * @param timeoutHours Hours after which seller can release funds into his favour by signing transaction unilaterally + * @param scriptHash keccak256 hash of the redeem script + * @param value Amount of tokens to be put in escrow + * @param uniqueId bytes20 unique id for the transaction, generated by ETH wallet + * @param tokenAddress Address of the token to be used + * Redeem Script format will be following + + * Approve escrow contract to spend amount of token on sender's behalf */ function addTokenTransaction( address buyer, @@ -367,9 +367,9 @@ contract Escrow_v1_0 { /** *@dev Method for calculating script hash. Calculation will depend upon the type of transaction * ETHER Type transaction-: - * Script Hash- keccak256(uniqueId, threshold, timeoutHours, buyer, seller, moderator) + * Script Hash- keccak256(uniqueId, threshold, timeoutHours, buyer, seller, moderator, multiSigContractAddress) * TOKEN Type transaction - * Script Hash- keccak256(uniqueId, threshold, timeoutHours, buyer, seller, moderator, tokenAddress) + * Script Hash- keccak256(uniqueId, threshold, timeoutHours, buyer, seller, moderator, multiSigContractAddress, tokenAddress) * Client can use this method to verify whether it has calculated correct script hash or not */ function calculateRedeemScriptHash( From e0c7ca49c2e2d85e48a25db94b7b5548ce1a2daa Mon Sep 17 00:00:00 2001 From: Sameep Singhania Date: Mon, 19 Nov 2018 19:18:53 +0530 Subject: [PATCH 15/19] Update contract docstring and added specifications link --- build/contracts/Escrow_v1_0.json | 4188 +++++++++++++-------------- build/contracts/ITokenContract.json | 2 +- build/contracts/SafeMath.json | 2 +- contracts/escrow/Escrow_v1_0.sol | 2 + 4 files changed, 2098 insertions(+), 2096 deletions(-) diff --git a/build/contracts/Escrow_v1_0.json b/build/contracts/Escrow_v1_0.json index 5403115..6687d7a 100644 --- a/build/contracts/Escrow_v1_0.json +++ b/build/contracts/Escrow_v1_0.json @@ -395,11 +395,11 @@ "type": "function" } ], - "bytecode": "0x6080604052600060015534801561001557600080fd5b5061432c806100256000396000f3006080604052600436106100af576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806323b6fd3f146100b45780632d9ef96e1461016e57806346fbcdeb1461019257806357bced7614610287578063642f2eaf14610378578063b0550c66146104da578063b719e28014610543578063b77bf6001461057e578063be84ceaf146105a9578063e4ec8b0014610641578063f0786562146106ea575b600080fd5b61016c600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff169060200190929190803563ffffffff169060200190929190803560001916906020019092919080356bffffffffffffffffffffffff19169060200190929190505050610753565b005b61019060048036038101908080356000191690602001909291905050506109a7565b005b34801561019e57600080fd5b5061026960048036038101908080356bffffffffffffffffffffffff19169060200190929190803560ff169060200190929190803563ffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610e24565b60405180826000191660001916815260200191505060405180910390f35b34801561029357600080fd5b50610376600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff169060200190929190803563ffffffff16906020019092919080356000191690602001909291908035906020019092919080356bffffffffffffffffffffffff19169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506112d0565b005b34801561038457600080fd5b506103a760048036038101908080356000191690602001909291905050506117a5565b604051808b81526020018a81526020018960018111156103c357fe5b60ff1681526020018860018111156103d757fe5b60ff1681526020018760ff1660ff1681526020018663ffffffff1663ffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019a505050505050505050505060405180910390f35b3480156104e657600080fd5b506105296004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506118b0565b604051808215151515815260200191505060405180910390f35b34801561054f57600080fd5b5061057c600480360381019080803560001916906020019092919080359060200190929190505050611922565b005b34801561058a57600080fd5b50610593611ff2565b6040518082815260200191505060405180910390f35b3480156105b557600080fd5b506105ea600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611ff8565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b8381101561062d578082015181840152602081019050610612565b505050509050019250505060405180910390f35b34801561064d57600080fd5b506106e86004803603810190808035906020019082018035906020019190919293919293908035906020019082018035906020019190919293919293908035906020019082018035906020019190919293919293908035600019169060200190929190803590602001908201803590602001919091929391929390803590602001908201803590602001919091929391929390505050612093565b005b3480156106f657600080fd5b506107396004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061267c565b604051808215151515815260200191505060405180910390f35b8160008060008360001916600019168152602001908152602001600020600001541415156107e9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f5472616e73616374696f6e20657869737400000000000000000000000000000081525060200191505060405180910390fd5b87600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561088f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b87600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610935576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b6109488a8a8a8a8a8a348b6000806126ee565b3373ffffffffffffffffffffffffffffffffffffffff1685600019167fce7089d0668849fb9ca29778c0cbf1e764d9efb048d81fd71fb34c94f26db368346040518082815260200191505060405180910390a350505050505050505050565b80600080600083600019166000191681526020019081526020016000206000015414151515610a3e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737400000000000081525060200191505060405180910390fd5b8160006001811115610a4c57fe5b600080836000191660001916815260200190815260200160002060020160009054906101000a900460ff166001811115610a8257fe5b141515610b1d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001807f5472616e73616374696f6e206973206e6f7420696e2046554e4445442073746181526020017f746500000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b826000806001811115610b2c57fe5b600080846000191660001916815260200190815260200160002060020160019054906101000a900460ff166001811115610b6257fe5b141515610bd7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5472616e73616374696f6e207479706520646f6573206e6f74206d617463680081525060200191505060405180910390fd5b84600080826000191660001916815260200190815260200160002060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610cde576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f54686520696e69746961746f72206f6620746865207472616e73616374696f6e81526020017f206973206e6f742062757965720000000000000000000000000000000000000081525060400191505060405180910390fd5b600034111515610d56576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f56616c7565206d7573742062652067726561746572207468616e207a65726f2e81525060200191505060405180910390fd5b610d863460008089600019166000191681526020019081526020016000206000015461307a90919063ffffffff16565b600080886000191660001916815260200190815260200160002060000181905550426000808860001916600019168152602001908152602001600020600101819055503373ffffffffffffffffffffffffffffffffffffffff1686600019167ff66fd2ae9e24a6a24b02e1b5b7512ffde5149a4176085fc0298ae228c9b9d729346040518082815260200191505060405180910390a3505050505050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611070578787878787873060405160200180886bffffffffffffffffffffffff19166bffffffffffffffffffffffff191681526014018760ff1660ff167f01000000000000000000000000000000000000000000000000000000000000000281526001018663ffffffff1663ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014019750505050505050506040516020818303038152906040526040518082805190602001908083835b60208310151561103c5780518252602082019150602081019050602083039250611017565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902090506112c5565b878787878787308860405160200180896bffffffffffffffffffffffff19166bffffffffffffffffffffffff191681526014018860ff1660ff167f01000000000000000000000000000000000000000000000000000000000000000281526001018763ffffffff1663ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401985050505050505050506040516020818303038152906040526040518082805190602001908083835b6020831015156112955780518252602082019150602081019050602083039250611270565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902090505b979650505050505050565b6000846000806000836000191660001916815260200190815260200160002060000154141515611368576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f5472616e73616374696f6e20657869737400000000000000000000000000000081525060200191505060405180910390fd5b8a600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561140e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b8a600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156114b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b84600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561155a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b61156d8e8e8e8e8e8e8e8e60018f6126ee565b8594508473ffffffffffffffffffffffffffffffffffffffff166323b872dd33308b6040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b15801561164757600080fd5b505af115801561165b573d6000803e3d6000fd5b505050506040513d602081101561167157600080fd5b81019080805190602001909291905050501515611742576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252605d8152602001807f546f6b656e207472616e73666572206661696c65642c206d6179626520796f7581526020017f20646964206e6f7420617070726f766520657363726f7720636f6e747261637481526020017f20746f207370656e64206f6e20626568616c66206f662073656e64657200000081525060600191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff1689600019167fce7089d0668849fb9ca29778c0cbf1e764d9efb048d81fd71fb34c94f26db3688a6040518082815260200191505060405180910390a35050505050505050505050505050565b60006020528060005260406000206000915090508060000154908060010154908060020160009054906101000a900460ff16908060020160019054906101000a900460ff16908060020160029054906101000a900460ff16908060020160039054906101000a900463ffffffff16908060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060050160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508a565b6000806000846000191660001916815260200190815260200160002060080160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6000826000806000836000191660001916815260200190815260200160002060000154141515156119bb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737400000000000081525060200191505060405180910390fd5b83600060018111156119c957fe5b600080836000191660001916815260200190815260200160002060020160009054906101000a900460ff1660018111156119ff57fe5b141515611a9a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001807f5472616e73616374696f6e206973206e6f7420696e2046554e4445442073746181526020017f746500000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b846001806001811115611aa957fe5b600080846000191660001916815260200190815260200160002060020160019054906101000a900460ff166001811115611adf57fe5b141515611b54576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5472616e73616374696f6e207479706520646f6573206e6f74206d617463680081525060200191505060405180910390fd5b86600080826000191660001916815260200190815260200160002060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611c5b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f54686520696e69746961746f72206f6620746865207472616e73616374696f6e81526020017f206973206e6f742062757965720000000000000000000000000000000000000081525060400191505060405180910390fd5b600087111515611cd3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f56616c7565206d7573742062652067726561746572207468616e207a65726f2e81525060200191505060405180910390fd5b600080896000191660001916815260200190815260200160002060040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1695508573ffffffffffffffffffffffffffffffffffffffff166323b872dd6000808b6000191660001916815260200190815260200160002060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff16308a6040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b158015611e2757600080fd5b505af1158015611e3b573d6000803e3d6000fd5b505050506040513d6020811015611e5157600080fd5b81019080805190602001909291905050501515611f22576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252605c8152602001807f546f6b656e207472616e73666572206661696c65642c206d6179626520796f7581526020017f20646964206e6f7420617070726f766520657363726f7720636f6e747261637481526020017f20746f207370656e64206f6e20626568616c66206f662062757965720000000081525060600191505060405180910390fd5b611f52876000808b600019166000191681526020019081526020016000206000015461307a90919063ffffffff16565b6000808a6000191660001916815260200190815260200160002060000181905550426000808a60001916600019168152602001908152602001600020600101819055503373ffffffffffffffffffffffffffffffffffffffff1688600019167ff66fd2ae9e24a6a24b02e1b5b7512ffde5149a4176085fc0298ae228c9b9d729896040518082815260200191505060405180910390a35050505050505050565b60015481565b6060600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080548060200260200160405190810160405280929190818152602001828054801561208757602002820191906000526020600020905b8154600019168152602001906001019080831161206f575b50505050509050919050565b8460008060008360001916600019168152602001908152602001600020600001541415151561212a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737400000000000081525060200191505060405180910390fd5b856000600181111561213857fe5b600080836000191660001916815260200190815260200160002060020160009054906101000a900460ff16600181111561216e57fe5b141515612209576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001807f5472616e73616374696f6e206973206e6f7420696e2046554e4445442073746181526020017f746500000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b6000868690501115156122aa576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f4e756d626572206f662064657374696e6174696f6e73206d757374206265206781526020017f726561746572207468616e20300000000000000000000000000000000000000081525060400191505060405180910390fd5b838390508686905014151561234d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260378152602001807f4e756d626572206f662064657374696e6174696f6e73206d757374206d61746381526020017f68206e756d626572206f662076616c7565732073656e7400000000000000000081525060400191505060405180910390fd5b6124468d8d808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508c8c808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508b8b808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508a8a8a8080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505089898080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505061309b565b6001600080896000191660001916815260200190815260200160002060020160006101000a81548160ff0219169083600181111561248057fe5b02179055504260008089600019166000191681526020019081526020016000206001018190555060008088600019166000191681526020019081526020016000206000015461252e8888888080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505087878080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505061327c565b1415156125ef576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260488152602001807f546f74616c2076616c756520746f2062652072656c6561736564206d7573742081526020017f626520657175616c20746f20746865207472616e73616374696f6e206573637281526020017f6f772076616c756500000000000000000000000000000000000000000000000081525060600191505060405180910390fd5b86600019167f688e2a1b34445bcd47b0e11ba2a9c8c4d850a1831b64199b59d1c70e29701545878787876040518080602001806020018381038352878782818152602001925060200280828437820191505083810382528585828181526020019250602002808284378201915050965050505050505060405180910390a250505050505050505050505050565b6000806000846000191660001916815260200190815260200160002060070160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b8873ffffffffffffffffffffffffffffffffffffffff168a73ffffffffffffffffffffffffffffffffffffffff1614151515612792576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f427579657220616e642073656c6c6572206172652073616d650000000000000081525060200191505060405180910390fd5b60008411151561280a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f56616c756520706173736564206973203000000000000000000000000000000081525060200191505060405180910390fd5b60008760ff16118015612821575060038760ff1611155b15156128bb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603d8152602001807f5468726573686f6c642063616e6e6f742062652067726561746572207468616e81526020017f203320616e64206d7573742062652067726561746572207468616e203000000081525060400191505060405180910390fd5b60018760ff1614806128fa5750600073ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff1614155b15156129ba576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260488152602001807f456974686572207468726573686f6c642073686f756c642062652031206f722081526020017f76616c6964206d6f64657261746f7220616464726573732073686f756c64206281526020017f652070617373656400000000000000000000000000000000000000000000000081525060600191505060405180910390fd5b6129c98388888d8d8d87610e24565b600019168560001916141515612a6d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260398152602001807f43616c63756c6174656420736372697074206861736820646f6573206e6f742081526020017f6d61746368207061737365642073637269707420686173682e0000000000000081525060400191505060405180910390fd5b6101406040519081016040528085815260200142815260200160006001811115612a9357fe5b8152602001836001811115612aa457fe5b81526020018860ff1681526020018763ffffffff1681526020018b73ffffffffffffffffffffffffffffffffffffffff1681526020018a73ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020018973ffffffffffffffffffffffffffffffffffffffff168152506000808760001916600019168152602001908152602001600020600082015181600001556020820151816001015560408201518160020160006101000a81548160ff02191690836001811115612b7e57fe5b021790555060608201518160020160016101000a81548160ff02191690836001811115612ba757fe5b021790555060808201518160020160026101000a81548160ff021916908360ff16021790555060a08201518160020160036101000a81548163ffffffff021916908363ffffffff16021790555060c08201518160020160076101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060e08201518160030160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506101008201518160040160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506101208201518160050160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055509050506001600080876000191660001916815260200190815260200160002060060160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600080876000191660001916815260200190815260200160002060060160008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600080866000191660001916815260200190815260200160002060060160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151515612efe576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f456974686572206275796572206f722073656c6c65722069732070617373656481526020017f206173206d6f64657261746f720000000000000000000000000000000000000081525060400191505060405180910390fd5b60018760ff161115612f7e576001600080876000191660001916815260200190815260200160002060060160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b600160008154809291906001019190505550600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020859080600181540180825580915050906001820390600052602060002001600090919290919091509060001916905550600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002085908060018154018082558091505090600182039060005260206000200160009091929091909150906000191690555050505050505050505050565b600080828401905083811015151561309157600080fd5b8091505092915050565b6000806130ac888888888888613bd4565b9150613102600080876000191660001916815260200190815260200160002060020160039054906101000a900463ffffffff1660008088600019166000191681526020019081526020016000206001015461424d565b9050600080866000191660001916815260200190815260200160002060020160029054906101000a900460ff1660ff1688511080156131b357508015806131b25750600080866000191660001916815260200190815260200160002060030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b5b15613272576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260588152602001807f4d696e696d756d206e756d626572206f66207369676e6174757265732061726581526020017f206e6f7420636f6c6c656374656420616e642074696d65206c6f636b2065787081526020017f69727920636f6e646974696f6e73206e6f74206d65742121000000000000000081525060600191505060405180910390fd5b5050505050505050565b6000806000806000806000808a60001916600019168152602001908152602001600020945060009350600060018111156132b257fe5b8560020160019054906101000a900460ff1660018111156132cf57fe5b141561369e57600092505b875183101561369957600073ffffffffffffffffffffffffffffffffffffffff16888481518110151561330957fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff16141515156133c5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001807f7a65726f2061646472657373206973206e6f7420616c6c6f776564206173206481526020017f657374696e6174696f6e2061646472657373000000000000000000000000000081525060400191505060405180910390fd5b84600601600089858151811015156133d957fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615156134c5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c8152602001807f44657374696e6174696f6e2061646472657373206973206e6f74206f6e65206f81526020017f6620746865206f776e657273000000000000000000000000000000000000000081525060400191505060405180910390fd5b600087848151811015156134d557fe5b9060200190602002015111151561357a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001807f416d6f756e7420746f2062652073656e742073686f756c64206265206772656181526020017f746572207468616e20300000000000000000000000000000000000000000000081525060400191505060405180910390fd5b6135a4878481518110151561358b57fe5b906020019060200201518561307a90919063ffffffff16565b935060018560080160008a868151811015156135bc57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550878381518110151561362557fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff166108fc888581518110151561365657fe5b906020019060200201519081150290604051600060405180830381858888f1935050505015801561368b573d6000803e3d6000fd5b5082806001019350506132da565b613bc5565b6001808111156136aa57fe5b8560020160019054906101000a900460ff1660018111156136c757fe5b1415613bc4578460040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169150600090505b8751811015613bc357600073ffffffffffffffffffffffffffffffffffffffff16888281518110151561372857fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff16141515156137e4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001807f7a65726f2061646472657373206973206e6f7420616c6c6f776564206173206481526020017f657374696e6174696f6e2061646472657373000000000000000000000000000081525060400191505060405180910390fd5b84600601600089838151811015156137f857fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615156138e4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c8152602001807f44657374696e6174696f6e2061646472657373206973206e6f74206f6e65206f81526020017f6620746865206f776e657273000000000000000000000000000000000000000081525060400191505060405180910390fd5b600087828151811015156138f457fe5b90602001906020020151111515613999576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001807f416d6f756e7420746f2062652073656e742073686f756c64206265206772656181526020017f746572207468616e20300000000000000000000000000000000000000000000081525060400191505060405180910390fd5b6139c387828151811015156139aa57fe5b906020019060200201518561307a90919063ffffffff16565b935060018560080160008a848151811015156139db57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb8983815181101515613a6057fe5b906020019060200201518984815181101515613a7857fe5b906020019060200201516040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015613b0757600080fd5b505af1158015613b1b573d6000803e3d6000fd5b505050506040513d6020811015613b3157600080fd5b81019080805190602001909291905050501515613bb6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f546f6b656e207472616e73666572206661696c65642e0000000000000000000081525060200191505060405180910390fd5b80806001019150506136f9565b5b5b83955050505050509392505050565b600080600080600088518a51148015613bee57508a518a51145b1515613c62576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f522c532c56206c656e677468206d69736d617463682e0000000000000000000081525060200191505060405180910390fd5b60197f01000000000000000000000000000000000000000000000000000000000000000260007f0100000000000000000000000000000000000000000000000000000000000000023089898c60405160200180877effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168152600101867effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526001018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401848051906020019060200280838360005b83811015613db6578082015181840152602081019050613d9b565b50505050905001838051906020019060200280838360005b83811015613de9578082015181840152602081019050613dce565b50505050905001826000191660001916815260200196505050505050506040516020818303038152906040526040518082805190602001908083835b602083101515613e4a5780518252602082019150602081019050602083039250613e25565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902060405160200180807f19457468657265756d205369676e6564204d6573736167653a0a333200000000815250601c0182600019166000191681526020019150506040516020818303038152906040526040518082805190602001908083835b602083101515613efb5780518252602082019150602081019050602083039250613ed6565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390209250600091505b895182101561423c576001838c84815181101515613f4957fe5b906020019060200201518c85815181101515613f6157fe5b906020019060200201518c86815181101515613f7957fe5b90602001906020020151604051600081526020016040526040518085600019166000191681526020018460ff1660ff1681526020018360001916600019168152602001826000191660001916815260200194505050505060206040516020810390808403906000865af1158015613ff4573d6000803e3d6000fd5b505050602060405103519050600080896000191660001916815260200190815260200160002060060160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615156140dc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f496e76616c6964207369676e617475726500000000000000000000000000000081525060200191505060405180910390fd5b600080896000191660001916815260200190815260200160002060070160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515156141b9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f53616d65207369676e61747572652073656e742074776963650000000000000081525060200191505060405180910390fd5b60016000808a6000191660001916815260200190815260200160002060070160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508093508180600101925050613f2f565b839450505050509695505050505050565b60008061426383426142a190919063ffffffff16565b905060008463ffffffff16146142955761428e610e108563ffffffff166142c290919063ffffffff16565b8111614298565b60005b91505092915050565b6000808383111515156142b357600080fd5b82840390508091505092915050565b60008060008414156142d757600091506142f9565b82840290508284828115156142e857fe5b041415156142f557600080fd5b8091505b50929150505600a165627a7a72305820b1ab2bd298df65e6f86e449032439475bd7adcf77743c17a74d1fe092f96a9000029", - "deployedBytecode": "0x6080604052600436106100af576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806323b6fd3f146100b45780632d9ef96e1461016e57806346fbcdeb1461019257806357bced7614610287578063642f2eaf14610378578063b0550c66146104da578063b719e28014610543578063b77bf6001461057e578063be84ceaf146105a9578063e4ec8b0014610641578063f0786562146106ea575b600080fd5b61016c600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff169060200190929190803563ffffffff169060200190929190803560001916906020019092919080356bffffffffffffffffffffffff19169060200190929190505050610753565b005b61019060048036038101908080356000191690602001909291905050506109a7565b005b34801561019e57600080fd5b5061026960048036038101908080356bffffffffffffffffffffffff19169060200190929190803560ff169060200190929190803563ffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610e24565b60405180826000191660001916815260200191505060405180910390f35b34801561029357600080fd5b50610376600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff169060200190929190803563ffffffff16906020019092919080356000191690602001909291908035906020019092919080356bffffffffffffffffffffffff19169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506112d0565b005b34801561038457600080fd5b506103a760048036038101908080356000191690602001909291905050506117a5565b604051808b81526020018a81526020018960018111156103c357fe5b60ff1681526020018860018111156103d757fe5b60ff1681526020018760ff1660ff1681526020018663ffffffff1663ffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019a505050505050505050505060405180910390f35b3480156104e657600080fd5b506105296004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506118b0565b604051808215151515815260200191505060405180910390f35b34801561054f57600080fd5b5061057c600480360381019080803560001916906020019092919080359060200190929190505050611922565b005b34801561058a57600080fd5b50610593611ff2565b6040518082815260200191505060405180910390f35b3480156105b557600080fd5b506105ea600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611ff8565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b8381101561062d578082015181840152602081019050610612565b505050509050019250505060405180910390f35b34801561064d57600080fd5b506106e86004803603810190808035906020019082018035906020019190919293919293908035906020019082018035906020019190919293919293908035906020019082018035906020019190919293919293908035600019169060200190929190803590602001908201803590602001919091929391929390803590602001908201803590602001919091929391929390505050612093565b005b3480156106f657600080fd5b506107396004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061267c565b604051808215151515815260200191505060405180910390f35b8160008060008360001916600019168152602001908152602001600020600001541415156107e9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f5472616e73616374696f6e20657869737400000000000000000000000000000081525060200191505060405180910390fd5b87600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561088f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b87600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610935576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b6109488a8a8a8a8a8a348b6000806126ee565b3373ffffffffffffffffffffffffffffffffffffffff1685600019167fce7089d0668849fb9ca29778c0cbf1e764d9efb048d81fd71fb34c94f26db368346040518082815260200191505060405180910390a350505050505050505050565b80600080600083600019166000191681526020019081526020016000206000015414151515610a3e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737400000000000081525060200191505060405180910390fd5b8160006001811115610a4c57fe5b600080836000191660001916815260200190815260200160002060020160009054906101000a900460ff166001811115610a8257fe5b141515610b1d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001807f5472616e73616374696f6e206973206e6f7420696e2046554e4445442073746181526020017f746500000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b826000806001811115610b2c57fe5b600080846000191660001916815260200190815260200160002060020160019054906101000a900460ff166001811115610b6257fe5b141515610bd7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5472616e73616374696f6e207479706520646f6573206e6f74206d617463680081525060200191505060405180910390fd5b84600080826000191660001916815260200190815260200160002060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610cde576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f54686520696e69746961746f72206f6620746865207472616e73616374696f6e81526020017f206973206e6f742062757965720000000000000000000000000000000000000081525060400191505060405180910390fd5b600034111515610d56576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f56616c7565206d7573742062652067726561746572207468616e207a65726f2e81525060200191505060405180910390fd5b610d863460008089600019166000191681526020019081526020016000206000015461307a90919063ffffffff16565b600080886000191660001916815260200190815260200160002060000181905550426000808860001916600019168152602001908152602001600020600101819055503373ffffffffffffffffffffffffffffffffffffffff1686600019167ff66fd2ae9e24a6a24b02e1b5b7512ffde5149a4176085fc0298ae228c9b9d729346040518082815260200191505060405180910390a3505050505050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611070578787878787873060405160200180886bffffffffffffffffffffffff19166bffffffffffffffffffffffff191681526014018760ff1660ff167f01000000000000000000000000000000000000000000000000000000000000000281526001018663ffffffff1663ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014019750505050505050506040516020818303038152906040526040518082805190602001908083835b60208310151561103c5780518252602082019150602081019050602083039250611017565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902090506112c5565b878787878787308860405160200180896bffffffffffffffffffffffff19166bffffffffffffffffffffffff191681526014018860ff1660ff167f01000000000000000000000000000000000000000000000000000000000000000281526001018763ffffffff1663ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401985050505050505050506040516020818303038152906040526040518082805190602001908083835b6020831015156112955780518252602082019150602081019050602083039250611270565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902090505b979650505050505050565b6000846000806000836000191660001916815260200190815260200160002060000154141515611368576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f5472616e73616374696f6e20657869737400000000000000000000000000000081525060200191505060405180910390fd5b8a600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561140e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b8a600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156114b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b84600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561155a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b61156d8e8e8e8e8e8e8e8e60018f6126ee565b8594508473ffffffffffffffffffffffffffffffffffffffff166323b872dd33308b6040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b15801561164757600080fd5b505af115801561165b573d6000803e3d6000fd5b505050506040513d602081101561167157600080fd5b81019080805190602001909291905050501515611742576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252605d8152602001807f546f6b656e207472616e73666572206661696c65642c206d6179626520796f7581526020017f20646964206e6f7420617070726f766520657363726f7720636f6e747261637481526020017f20746f207370656e64206f6e20626568616c66206f662073656e64657200000081525060600191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff1689600019167fce7089d0668849fb9ca29778c0cbf1e764d9efb048d81fd71fb34c94f26db3688a6040518082815260200191505060405180910390a35050505050505050505050505050565b60006020528060005260406000206000915090508060000154908060010154908060020160009054906101000a900460ff16908060020160019054906101000a900460ff16908060020160029054906101000a900460ff16908060020160039054906101000a900463ffffffff16908060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060050160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508a565b6000806000846000191660001916815260200190815260200160002060080160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6000826000806000836000191660001916815260200190815260200160002060000154141515156119bb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737400000000000081525060200191505060405180910390fd5b83600060018111156119c957fe5b600080836000191660001916815260200190815260200160002060020160009054906101000a900460ff1660018111156119ff57fe5b141515611a9a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001807f5472616e73616374696f6e206973206e6f7420696e2046554e4445442073746181526020017f746500000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b846001806001811115611aa957fe5b600080846000191660001916815260200190815260200160002060020160019054906101000a900460ff166001811115611adf57fe5b141515611b54576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5472616e73616374696f6e207479706520646f6573206e6f74206d617463680081525060200191505060405180910390fd5b86600080826000191660001916815260200190815260200160002060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611c5b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f54686520696e69746961746f72206f6620746865207472616e73616374696f6e81526020017f206973206e6f742062757965720000000000000000000000000000000000000081525060400191505060405180910390fd5b600087111515611cd3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f56616c7565206d7573742062652067726561746572207468616e207a65726f2e81525060200191505060405180910390fd5b600080896000191660001916815260200190815260200160002060040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1695508573ffffffffffffffffffffffffffffffffffffffff166323b872dd6000808b6000191660001916815260200190815260200160002060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff16308a6040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b158015611e2757600080fd5b505af1158015611e3b573d6000803e3d6000fd5b505050506040513d6020811015611e5157600080fd5b81019080805190602001909291905050501515611f22576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252605c8152602001807f546f6b656e207472616e73666572206661696c65642c206d6179626520796f7581526020017f20646964206e6f7420617070726f766520657363726f7720636f6e747261637481526020017f20746f207370656e64206f6e20626568616c66206f662062757965720000000081525060600191505060405180910390fd5b611f52876000808b600019166000191681526020019081526020016000206000015461307a90919063ffffffff16565b6000808a6000191660001916815260200190815260200160002060000181905550426000808a60001916600019168152602001908152602001600020600101819055503373ffffffffffffffffffffffffffffffffffffffff1688600019167ff66fd2ae9e24a6a24b02e1b5b7512ffde5149a4176085fc0298ae228c9b9d729896040518082815260200191505060405180910390a35050505050505050565b60015481565b6060600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080548060200260200160405190810160405280929190818152602001828054801561208757602002820191906000526020600020905b8154600019168152602001906001019080831161206f575b50505050509050919050565b8460008060008360001916600019168152602001908152602001600020600001541415151561212a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737400000000000081525060200191505060405180910390fd5b856000600181111561213857fe5b600080836000191660001916815260200190815260200160002060020160009054906101000a900460ff16600181111561216e57fe5b141515612209576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001807f5472616e73616374696f6e206973206e6f7420696e2046554e4445442073746181526020017f746500000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b6000868690501115156122aa576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f4e756d626572206f662064657374696e6174696f6e73206d757374206265206781526020017f726561746572207468616e20300000000000000000000000000000000000000081525060400191505060405180910390fd5b838390508686905014151561234d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260378152602001807f4e756d626572206f662064657374696e6174696f6e73206d757374206d61746381526020017f68206e756d626572206f662076616c7565732073656e7400000000000000000081525060400191505060405180910390fd5b6124468d8d808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508c8c808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508b8b808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508a8a8a8080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505089898080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505061309b565b6001600080896000191660001916815260200190815260200160002060020160006101000a81548160ff0219169083600181111561248057fe5b02179055504260008089600019166000191681526020019081526020016000206001018190555060008088600019166000191681526020019081526020016000206000015461252e8888888080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505087878080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505061327c565b1415156125ef576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260488152602001807f546f74616c2076616c756520746f2062652072656c6561736564206d7573742081526020017f626520657175616c20746f20746865207472616e73616374696f6e206573637281526020017f6f772076616c756500000000000000000000000000000000000000000000000081525060600191505060405180910390fd5b86600019167f688e2a1b34445bcd47b0e11ba2a9c8c4d850a1831b64199b59d1c70e29701545878787876040518080602001806020018381038352878782818152602001925060200280828437820191505083810382528585828181526020019250602002808284378201915050965050505050505060405180910390a250505050505050505050505050565b6000806000846000191660001916815260200190815260200160002060070160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b8873ffffffffffffffffffffffffffffffffffffffff168a73ffffffffffffffffffffffffffffffffffffffff1614151515612792576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f427579657220616e642073656c6c6572206172652073616d650000000000000081525060200191505060405180910390fd5b60008411151561280a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f56616c756520706173736564206973203000000000000000000000000000000081525060200191505060405180910390fd5b60008760ff16118015612821575060038760ff1611155b15156128bb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603d8152602001807f5468726573686f6c642063616e6e6f742062652067726561746572207468616e81526020017f203320616e64206d7573742062652067726561746572207468616e203000000081525060400191505060405180910390fd5b60018760ff1614806128fa5750600073ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff1614155b15156129ba576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260488152602001807f456974686572207468726573686f6c642073686f756c642062652031206f722081526020017f76616c6964206d6f64657261746f7220616464726573732073686f756c64206281526020017f652070617373656400000000000000000000000000000000000000000000000081525060600191505060405180910390fd5b6129c98388888d8d8d87610e24565b600019168560001916141515612a6d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260398152602001807f43616c63756c6174656420736372697074206861736820646f6573206e6f742081526020017f6d61746368207061737365642073637269707420686173682e0000000000000081525060400191505060405180910390fd5b6101406040519081016040528085815260200142815260200160006001811115612a9357fe5b8152602001836001811115612aa457fe5b81526020018860ff1681526020018763ffffffff1681526020018b73ffffffffffffffffffffffffffffffffffffffff1681526020018a73ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020018973ffffffffffffffffffffffffffffffffffffffff168152506000808760001916600019168152602001908152602001600020600082015181600001556020820151816001015560408201518160020160006101000a81548160ff02191690836001811115612b7e57fe5b021790555060608201518160020160016101000a81548160ff02191690836001811115612ba757fe5b021790555060808201518160020160026101000a81548160ff021916908360ff16021790555060a08201518160020160036101000a81548163ffffffff021916908363ffffffff16021790555060c08201518160020160076101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060e08201518160030160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506101008201518160040160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506101208201518160050160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055509050506001600080876000191660001916815260200190815260200160002060060160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600080876000191660001916815260200190815260200160002060060160008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600080866000191660001916815260200190815260200160002060060160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151515612efe576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f456974686572206275796572206f722073656c6c65722069732070617373656481526020017f206173206d6f64657261746f720000000000000000000000000000000000000081525060400191505060405180910390fd5b60018760ff161115612f7e576001600080876000191660001916815260200190815260200160002060060160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b600160008154809291906001019190505550600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020859080600181540180825580915050906001820390600052602060002001600090919290919091509060001916905550600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002085908060018154018082558091505090600182039060005260206000200160009091929091909150906000191690555050505050505050505050565b600080828401905083811015151561309157600080fd5b8091505092915050565b6000806130ac888888888888613bd4565b9150613102600080876000191660001916815260200190815260200160002060020160039054906101000a900463ffffffff1660008088600019166000191681526020019081526020016000206001015461424d565b9050600080866000191660001916815260200190815260200160002060020160029054906101000a900460ff1660ff1688511080156131b357508015806131b25750600080866000191660001916815260200190815260200160002060030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b5b15613272576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260588152602001807f4d696e696d756d206e756d626572206f66207369676e6174757265732061726581526020017f206e6f7420636f6c6c656374656420616e642074696d65206c6f636b2065787081526020017f69727920636f6e646974696f6e73206e6f74206d65742121000000000000000081525060600191505060405180910390fd5b5050505050505050565b6000806000806000806000808a60001916600019168152602001908152602001600020945060009350600060018111156132b257fe5b8560020160019054906101000a900460ff1660018111156132cf57fe5b141561369e57600092505b875183101561369957600073ffffffffffffffffffffffffffffffffffffffff16888481518110151561330957fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff16141515156133c5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001807f7a65726f2061646472657373206973206e6f7420616c6c6f776564206173206481526020017f657374696e6174696f6e2061646472657373000000000000000000000000000081525060400191505060405180910390fd5b84600601600089858151811015156133d957fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615156134c5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c8152602001807f44657374696e6174696f6e2061646472657373206973206e6f74206f6e65206f81526020017f6620746865206f776e657273000000000000000000000000000000000000000081525060400191505060405180910390fd5b600087848151811015156134d557fe5b9060200190602002015111151561357a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001807f416d6f756e7420746f2062652073656e742073686f756c64206265206772656181526020017f746572207468616e20300000000000000000000000000000000000000000000081525060400191505060405180910390fd5b6135a4878481518110151561358b57fe5b906020019060200201518561307a90919063ffffffff16565b935060018560080160008a868151811015156135bc57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550878381518110151561362557fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff166108fc888581518110151561365657fe5b906020019060200201519081150290604051600060405180830381858888f1935050505015801561368b573d6000803e3d6000fd5b5082806001019350506132da565b613bc5565b6001808111156136aa57fe5b8560020160019054906101000a900460ff1660018111156136c757fe5b1415613bc4578460040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169150600090505b8751811015613bc357600073ffffffffffffffffffffffffffffffffffffffff16888281518110151561372857fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff16141515156137e4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001807f7a65726f2061646472657373206973206e6f7420616c6c6f776564206173206481526020017f657374696e6174696f6e2061646472657373000000000000000000000000000081525060400191505060405180910390fd5b84600601600089838151811015156137f857fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615156138e4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c8152602001807f44657374696e6174696f6e2061646472657373206973206e6f74206f6e65206f81526020017f6620746865206f776e657273000000000000000000000000000000000000000081525060400191505060405180910390fd5b600087828151811015156138f457fe5b90602001906020020151111515613999576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001807f416d6f756e7420746f2062652073656e742073686f756c64206265206772656181526020017f746572207468616e20300000000000000000000000000000000000000000000081525060400191505060405180910390fd5b6139c387828151811015156139aa57fe5b906020019060200201518561307a90919063ffffffff16565b935060018560080160008a848151811015156139db57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb8983815181101515613a6057fe5b906020019060200201518984815181101515613a7857fe5b906020019060200201516040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015613b0757600080fd5b505af1158015613b1b573d6000803e3d6000fd5b505050506040513d6020811015613b3157600080fd5b81019080805190602001909291905050501515613bb6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f546f6b656e207472616e73666572206661696c65642e0000000000000000000081525060200191505060405180910390fd5b80806001019150506136f9565b5b5b83955050505050509392505050565b600080600080600088518a51148015613bee57508a518a51145b1515613c62576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f522c532c56206c656e677468206d69736d617463682e0000000000000000000081525060200191505060405180910390fd5b60197f01000000000000000000000000000000000000000000000000000000000000000260007f0100000000000000000000000000000000000000000000000000000000000000023089898c60405160200180877effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168152600101867effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526001018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401848051906020019060200280838360005b83811015613db6578082015181840152602081019050613d9b565b50505050905001838051906020019060200280838360005b83811015613de9578082015181840152602081019050613dce565b50505050905001826000191660001916815260200196505050505050506040516020818303038152906040526040518082805190602001908083835b602083101515613e4a5780518252602082019150602081019050602083039250613e25565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902060405160200180807f19457468657265756d205369676e6564204d6573736167653a0a333200000000815250601c0182600019166000191681526020019150506040516020818303038152906040526040518082805190602001908083835b602083101515613efb5780518252602082019150602081019050602083039250613ed6565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390209250600091505b895182101561423c576001838c84815181101515613f4957fe5b906020019060200201518c85815181101515613f6157fe5b906020019060200201518c86815181101515613f7957fe5b90602001906020020151604051600081526020016040526040518085600019166000191681526020018460ff1660ff1681526020018360001916600019168152602001826000191660001916815260200194505050505060206040516020810390808403906000865af1158015613ff4573d6000803e3d6000fd5b505050602060405103519050600080896000191660001916815260200190815260200160002060060160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615156140dc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f496e76616c6964207369676e617475726500000000000000000000000000000081525060200191505060405180910390fd5b600080896000191660001916815260200190815260200160002060070160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515156141b9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f53616d65207369676e61747572652073656e742074776963650000000000000081525060200191505060405180910390fd5b60016000808a6000191660001916815260200190815260200160002060070160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508093508180600101925050613f2f565b839450505050509695505050505050565b60008061426383426142a190919063ffffffff16565b905060008463ffffffff16146142955761428e610e108563ffffffff166142c290919063ffffffff16565b8111614298565b60005b91505092915050565b6000808383111515156142b357600080fd5b82840390508091505092915050565b60008060008414156142d757600091506142f9565b82840290508284828115156142e857fe5b041415156142f557600080fd5b8091505b50929150505600a165627a7a72305820b1ab2bd298df65e6f86e449032439475bd7adcf77743c17a74d1fe092f96a9000029", - "sourceMap": "460:20485:0:-;;;1653:1;1619:35;;460:20485;8:9:-1;5:2;;;30:1;27;20:12;5:2;460:20485:0;;;;;;;", - "deployedSourceMap": "460:20485:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3702:701;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7590:579;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11978:1017;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11978:1017:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5337:1030;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5337:1030:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1561:51;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1561:51:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6608:221;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6608:221:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8497:897;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8497:897:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1619:35;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1619:35:0;;;;;;;;;;;;;;;;;;;;;;;9511:194;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9511:194:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;9511:194:0;;;;;;;;;;;;;;;;;10303:1204;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10303:1204:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7069:194;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7069:194:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3702:701;3979:10;2077:1;2043:12;:24;2056:10;2043:24;;;;;;;;;;;;;;;;;:30;;;:35;2035:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4014:5;2410:1;2384:28;;:14;:28;;;;2376:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4044:6;2410:1;2384:28;;:14;:28;;;;2376:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4066:264;4095:5;4114:6;4134:9;4157;4180:12;4206:10;4230:9;4253:8;4275:21;4318:1;4066:15;:264::i;:::-;4373:10;4354:41;;4361:10;4354:41;;;;4385:9;4354:41;;;;;;;;;;;;;;;;;;2446:1;2110;3702:701;;;;;;;;:::o;7590:579::-;7713:10;1907:1;1873:12;:24;1886:10;1873:24;;;;;;;;;;;;;;;;;:30;;;:35;;1852:96;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7747:10;2233:13;2198:48;;;;;;;;:12;:24;2211:10;2198:24;;;;;;;;;;;;;;;;;:31;;;;;;;;;;;;:48;;;;;;;;;2177:117;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7788:10;7800:21;2644:15;2600:59;;;;;;;;:12;:24;2613:10;2600:24;;;;;;;;;;;;;;;;;:40;;;;;;;;;;;;:59;;;;;;;;;2579:125;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7841:10;2812:12;:24;2825:10;2812:24;;;;;;;;;;;;;;;;;:30;;;;;;;;;;;;2798:44;;:10;:44;;;2777:124;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7897:1;7885:9;:13;7877:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7979;8027:9;7979:12;:24;7992:10;7979:24;;;;;;;;;;;;;;;;;:30;;;:47;;:58;;;;:::i;:::-;7946:12;:24;7959:10;7946:24;;;;;;;;;;;;;;;;;:30;;:91;;;;8087:15;8047:12;:24;8060:10;8047:24;;;;;;;;;;;;;;;;;:37;;:55;;;;8140:10;8118:44;;8128:10;8118:44;;;;8152:9;8118:44;;;;;;;;;;;;;;;;;;2714:1;2304;;1958;7590:579;;:::o;11978:1017::-;12248:7;12299:1;12275:26;;:12;:26;;;12271:718;;;12389:8;12419:9;12450:12;12484:5;12511:6;12539:9;12578:4;12351:250;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;12351:250:0;;;12324:291;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;12324:291:0;;;;;;;;;;;;;;;;12317:298;;;;12271:718;12718:8;12748:9;12779:12;12813:5;12840:6;12868:9;12907:4;12934:12;12680:284;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;12680:284:0;;;12653:325;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;12653:325:0;;;;;;;;;;;;;;;;12646:332;;11978:1017;;;;;;;;;;:::o;5337:1030::-;6054:20;5656:10;2077:1;2043:12;:24;2056:10;2043:24;;;;;;;;;;;;;;;;;:30;;;:35;2035:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5691:5;2410:1;2384:28;;:14;:28;;;;2376:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5721:6;2410:1;2384:28;;:14;:28;;;;2376:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5752:12;2410:1;2384:28;;:14;:28;;;;2376:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5781:262;5810:5;5829:6;5849:9;5872;5895:12;5921:10;5945:5;5964:8;5986:21;6021:12;5781:15;:262::i;:::-;6092:12;6054:51;;6137:5;:18;;;6156:10;6176:4;6183:5;6137:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6137:52:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6137:52:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6137:52:0;;;;;;;;;;;;;;;;6116:192;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6342:10;6323:37;;6330:10;6323:37;;;;6354:5;6323:37;;;;;;;;;;;;;;;;;;2446:1;;2110;5337:1030;;;;;;;;;;;:::o;1561:51::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;6608:221::-;6744:4;6771:12;:24;6784:10;6771:24;;;;;;;;;;;;;;;;;:38;;:51;6810:11;6771:51;;;;;;;;;;;;;;;;;;;;;;;;;6764:58;;6608:221;;;;:::o;8497:897::-;8848:20;8628:10;1907:1;1873:12;:24;1886:10;1873:24;;;;;;;;;;;;;;;;;:30;;;:35;;1852:96;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8662:10;2233:13;2198:48;;;;;;;;:12;:24;2211:10;2198:24;;;;;;;;;;;;;;;;;:31;;;;;;;;;;;;:48;;;;;;;;;2177:117;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8703:10;8715:21;2644:15;2600:59;;;;;;;;:12;:24;2613:10;2600:24;;;;;;;;;;;;;;;;;:40;;;;;;;;;;;;:59;;;;;;;;;2579:125;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8756:10;2812:12;:24;2825:10;2812:24;;;;;;;;;;;;;;;;;:30;;;;;;;;;;;;2798:44;;:10;:44;;;2777:124;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8799:1;8791:5;:9;8783:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8899:12;:24;8912:10;8899:24;;;;;;;;;;;;;;;;;:37;;;;;;;;;;;;8848:98;;8978:5;:18;;;8997:12;:24;9010:10;8997:24;;;;;;;;;;;;;;;;;:30;;;;;;;;;;;;9037:4;9044:5;8978:72;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8978:72:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;8978:72:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;8978:72:0;;;;;;;;;;;;;;;;8957:211;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9212:54;9260:5;9212:12;:24;9225:10;9212:24;;;;;;;;;;;;;;;;;:30;;;:47;;:54;;;;:::i;:::-;9179:12;:24;9192:10;9179:24;;;;;;;;;;;;;;;;;:30;;:87;;;;9316:15;9276:12;:24;9289:10;9276:24;;;;;;;;;;;;;;;;;:37;;:55;;;;9369:10;9347:40;;9357:10;9347:40;;;;9381:5;9347:40;;;;;;;;;;;;;;;;;;2714:1;2304;;1958;8497:897;;;;:::o;1619:35::-;;;;:::o;9511:194::-;9633:9;9666:18;:32;9685:12;9666:32;;;;;;;;;;;;;;;9659:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9511:194;;;:::o;10303:1204::-;10525:10;1907:1;1873:12;:24;1886:10;1873:24;;;;;;;;;;;;;;;;;:30;;;:35;;1852:96;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10559:10;2233:13;2198:48;;;;;;;;:12;:24;2211:10;2198:24;;;;;;;;;;;;;;;;;:31;;;;;;;;;;;;:48;;;;;;;;;2177:117;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10629:1;10609:12;;:19;;:21;10588:114;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10756:7;;:14;;10733:12;;:19;;:37;10712:139;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10869:153;10901:4;;10869:153;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10919:4;;10869:153;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10937:4;;10869:153;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10955:10;10979:12;;10869:153;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11005:7;;10869:153;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:18;:153::i;:::-;11067:15;11033:12;:24;11046:10;11033:24;;;;;;;;;;;;;;;;;:31;;;:49;;;;;;;;;;;;;;;;;;;;;;;;11206:15;11166:12;:24;11179:10;11166:24;;;;;;;;;;;;;;;;;:37;;:55;;;;11305:12;:24;11318:10;11305:24;;;;;;;;;;;;;;;;;:30;;;11252:49;11267:10;11279:12;;11252:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11293:7;;11252:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:14;:49::i;:::-;:83;11231:202;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11466:10;11457:43;;;;11478:12;;11492:7;;11457:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1958:1;10303:1204;;;;;;;;;;;;:::o;7069:194::-;7192:4;7219:12;:24;7232:10;7219:24;;;;;;;;;;;;;;;;;:30;;:37;7250:5;7219:37;;;;;;;;;;;;;;;;;;;;;;;;;7212:44;;7069:194;;;;:::o;18302:2641::-;18664:6;18655:15;;:5;:15;;;;18647:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18775:1;18767:5;:9;18759:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18913:1;18901:9;:13;;;:31;;;;;18931:1;18918:9;:14;;;;18901:31;18880:140;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19314:1;19301:9;:14;;;:41;;;;19340:1;19319:23;;:9;:23;;;;19301:41;19280:160;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19486:226;19529:8;19555:9;19582:12;19612:5;19635:6;19659:9;19686:12;19486:25;:226::i;:::-;19472:240;;;:10;:240;;;;19451:345;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19834:373;;;;;;;;;19955:5;19834:373;;;;20023:15;19834:373;;;;19982:13;19834:373;;;;;;;;;;;;20142:15;19834:373;;;;;;;;;;;;20063:9;19834:373;;;;;;20100:12;19834:373;;;;;;19867:5;19834:373;;;;;;19894:6;19834:373;;;;;;20184:12;19834:373;;;;;;19925:9;19834:373;;;;;19807:12;:24;19820:10;19807:24;;;;;;;;;;;;;;;;;:400;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20261:4;20218:12;:24;20231:10;20218:24;;;;;;;;;;;;;;;;;:32;;:40;20251:6;20218:40;;;;;;;;;;;;;;;;:47;;;;;;;;;;;;;;;;;;20317:4;20275:12;:24;20288:10;20275:24;;;;;;;;;;;;;;;;;:32;;:39;20308:5;20275:39;;;;;;;;;;;;;;;;:46;;;;;;;;;;;;;;;;;;20429:12;:24;20442:10;20429:24;;;;;;;;;;;;;;;;;:32;;:43;20462:9;20429:43;;;;;;;;;;;;;;;;;;;;;;;;;20428:44;20407:137;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20716:1;20704:9;:13;;;20700:94;;;20779:4;20733:12;:24;20746:10;20733:24;;;;;;;;;;;;;;;;;:32;;:43;20766:9;20733:43;;;;;;;;;;;;;;;;:50;;;;;;;;;;;;;;;;;;20700:94;20812:16;;:18;;;;;;;;;;;;;20841;:25;20860:5;20841:25;;;;;;;;;;;;;;;20872:10;20841:42;;39:1:-1;33:3;27:10;23:18;57:10;52:3;45:23;79:10;72:17;;0:93;20841:42:0;;;;;;;;;;;;;;;;;;;;;;;;;;;20893:18;:26;20912:6;20893:26;;;;;;;;;;;;;;;20925:10;20893:43;;39:1:-1;33:3;27:10;23:18;57:10;52:3;45:23;79:10;72:17;;0:93;20893:43:0;;;;;;;;;;;;;;;;;;;;;;;;;;;18302:2641;;;;;;;;;;:::o;1272:131:2:-;1330:7;1345:9;1361:1;1357;:5;1345:17;;1381:1;1376;:6;;1368:15;;;;;;;;1397:1;1390:8;;1272:131;;;;;:::o;13269:1008:0:-;13490:21;13677:20;13514:152;13545:4;13563;13581;13599:10;13623:12;13649:7;13514:17;:152::i;:::-;13490:176;;13700:130;13732:12;:24;13745:10;13732:24;;;;;;;;;;;;;;;;;:37;;;;;;;;;;;;13783:12;:24;13796:10;13783:24;;;;;;;;;;;;;;;;;:37;;;13700:18;:130::i;:::-;13677:153;;14016:12;:24;14029:10;14016:24;;;;;;;;;;;;;;;;;:34;;;;;;;;;;;;14002:48;;:4;:11;:48;:122;;;;;14056:15;14055:16;:68;;;;14092:12;:24;14105:10;14092:24;;;;;;;;;;;;;;;;;:31;;;;;;;;;;;;14075:48;;:13;:48;;;;14055:68;14002:122;13981:289;;;14161:98;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13981:289;13269:1008;;;;;;;;:::o;14403:1723::-;14551:7;14574:21;14633:24;14739:9;15391:20;15464:9;14598:12;:24;14611:10;14598:24;;;;;;;;;;;;;;;;;14574:48;;14660:1;14633:28;;14697:21;14676:42;;;;;;;;:1;:17;;;;;;;;;;;;:42;;;;;;;;;14672:1414;;;14751:1;14739:13;;14734:577;14758:12;:19;14754:1;:23;14734:577;;;14838:1;14811:29;;:12;14824:1;14811:15;;;;;;;;;;;;;;;;;;:29;;;;14803:92;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14922:1;:9;;:26;14932:12;14945:1;14932:15;;;;;;;;;;;;;;;;;;14922:26;;;;;;;;;;;;;;;;;;;;;;;;;14914:83;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15037:1;15024:7;15032:1;15024:10;;;;;;;;;;;;;;;;;;:14;15016:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15123:32;15144:7;15152:1;15144:10;;;;;;;;;;;;;;;;;;15123:16;:20;;:32;;;;:::i;:::-;15104:51;;15209:4;15174:1;:15;;:32;15190:12;15203:1;15190:15;;;;;;;;;;;;;;;;;;15174:32;;;;;;;;;;;;;;;;:39;;;;;;;;;;;;;;;;;;15260:12;15273:1;15260:15;;;;;;;;;;;;;;;;;;:24;;:36;15285:7;15293:1;15285:10;;;;;;;;;;;;;;;;;;15260:36;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;15260:36:0;14779:3;;;;;;;14734:577;;;14672:1414;;;15353:21;15332:42;;;;;;;;:1;:17;;;;;;;;;;;;:42;;;;;;;;;15328:758;;;15429:1;:14;;;;;;;;;;;;15391:53;;15476:1;15464:13;;15459:617;15481:12;:19;15479:1;:21;15459:617;;;15561:1;15534:29;;:12;15547:1;15534:15;;;;;;;;;;;;;;;;;;:29;;;;15526:92;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15645:1;:9;;:26;15655:12;15668:1;15655:15;;;;;;;;;;;;;;;;;;15645:26;;;;;;;;;;;;;;;;;;;;;;;;;15637:83;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15760:1;15747:7;15755:1;15747:10;;;;;;;;;;;;;;;;;;:14;15739:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15846:32;15867:7;15875:1;15867:10;;;;;;;;;;;;;;;;;;15846:16;:20;;:32;;;;:::i;:::-;15827:51;;15931:4;15896:1;:15;;:32;15912:12;15925:1;15912:15;;;;;;;;;;;;;;;;;;15896:32;;;;;;;;;;;;;;;;:39;;;;;;;;;;;;;;;;;;15991:5;:14;;;16006:12;16019:1;16006:15;;;;;;;;;;;;;;;;;;16023:7;16031:1;16023:10;;;;;;;;;;;;;;;;;;15991:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;15991:43:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;15991:43:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;15991:43:0;;;;;;;;;;;;;;;;15983:78;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15502:3;;;;;;;15459:617;;;15328:758;14672:1414;16103:16;16096:23;;14403:1723;;;;;;;;;;:::o;16311:1581::-;16533:7;16694:19;16812:14;17280:6;17329:17;16593:4;:11;16578:4;:11;:26;:56;;;;;16623:4;:11;16608:4;:11;:26;16578:56;16557:126;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17016:4;17011:10;;17052:1;17047:7;;17088:4;17119:12;17157:7;17190:10;16969:253;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;16969:253:0;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;16969:253:0;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;16969:253:0;;;16938:302;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;16938:302:0;;;;;;;;;;;;;;;;16852:402;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;16852:402:0;;;16829:435;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;16829:435:0;;;;;;;;;;;;;;;;16812:452;;17289:1;17280:10;;17275:582;17296:4;:11;17292:1;:15;17275:582;;;17349:122;17376:6;17400:4;17405:1;17400:7;;;;;;;;;;;;;;;;;;17425:4;17430:1;17425:7;;;;;;;;;;;;;;;;;;17450:4;17455:1;17450:7;;;;;;;;;;;;;;;;;;17349:122;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;17349:122:0;;;;;;;;17329:142;;17511:12;:24;17524:10;17511:24;;;;;;;;;;;;;;;;;:32;;:43;17544:9;17511:43;;;;;;;;;;;;;;;;;;;;;;;;;17486:120;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17646:12;:24;17659:10;17646:24;;;;;;;;;;;;;;;;;:30;;:41;17677:9;17646:41;;;;;;;;;;;;;;;;;;;;;;;;;17645:42;17620:127;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17805:4;17761:12;:24;17774:10;17761:24;;;;;;;;;;;;;;;;;:30;;:41;17792:9;17761:41;;;;;;;;;;;;;;;;:48;;;;;;;;;;;;;;;;;;17837:9;17823:23;;17309:3;;;;;;;17275:582;;;17874:11;17867:18;;16311:1581;;;;;;;;;;;;:::o;17898:317::-;18037:4;18057:17;18077:21;18085:12;18077:3;:7;;:21;;;;:::i;:::-;18057:41;;18145:1;18129:12;:17;;;:69;;18167:31;18193:4;18175:12;18167:21;;:25;;:31;;;;:::i;:::-;18155:9;:43;18129:69;;;18149:5;18129:69;18108:100;;17898:317;;;;;:::o;1078:131:2:-;1136:7;1172:9;1164:1;1159;:6;;1151:15;;;;;;;;1188:1;1184;:5;1172:17;;1203:1;1196:8;;1078:131;;;;;:::o;204:381::-;262:7;523:9;491:1;486;:6;482:35;;;509:1;502:8;;;;482:35;539:1;535;:5;523:17;;563:1;558;554;:5;;;;;;;;:10;546:19;;;;;;;;579:1;572:8;;204:381;;;;;;:::o", - "source": "pragma solidity 0.4.24;\n\nimport \"openzeppelin-solidity/contracts/math/SafeMath.sol\";\n\nimport \"../token/ITokenContract.sol\";\n\n\n/**\n* @dev Supports ERC20 tokens\n* The escrow smart contract for the open bazaar trades in Ethereum\n* The smart contract is designed keeping in mind the current wallet interface of the OB-core\n* https://github.com/OpenBazaar/wallet-interface/blob/master/wallet.go\n* Current wallet interface strictly adheres to UTXO(bitcoin) model\n*/\ncontract Escrow_v1_0 {\n\n using SafeMath for uint256;\n\n enum Status {FUNDED, RELEASED}\n\n enum TransactionType {ETHER, TOKEN}\n\n event Executed(\n bytes32 indexed scriptHash,\n address[] destinations,\n uint256[] amounts\n );\n\n event FundAdded(\n bytes32 indexed scriptHash,\n address indexed from,\n uint256 valueAdded\n );\n\n event Funded(\n bytes32 indexed scriptHash, \n address indexed from, \n uint256 value\n );\n\n struct Transaction {\n uint256 value;\n uint256 lastModified;//Time at which transaction was last modified\n Status status;\n TransactionType transactionType;\n uint8 threshold;\n uint32 timeoutHours;\n address buyer;\n address seller;\n address tokenAddress;//Token address in case of token transfer\n address moderator;\n mapping(address=>bool) isOwner;//to keep track of owners.\n mapping(address=>bool) voted;//to keep track of who all voted\n mapping(address=>bool) beneficiaries;//Benefeciaries of execution\n }\n\n mapping(bytes32 => Transaction) public transactions;\n\n uint256 public transactionCount = 0;\n\n //Contains mapping between each party and all of their transactions\n mapping(address => bytes32[]) private partyVsTransaction;\n\n modifier transactionExist(bytes32 scriptHash) {\n require(\n transactions[scriptHash].value != 0, \"Transaction does not exist\"\n );\n _;\n }\n\n modifier transactionDoesNotExist(bytes32 scriptHash) {\n require(transactions[scriptHash].value == 0, \"Transaction exist\");\n _;\n }\n\n modifier inFundedState(bytes32 scriptHash) {\n require(\n transactions[scriptHash].status == Status.FUNDED, \"Transaction is not in FUNDED state\"\n );\n _;\n }\n\n modifier nonZeroAddress(address addressToCheck) {\n require(addressToCheck != address(0), \"Zero address passed\");\n _;\n }\n\n modifier checkTransactionType(\n bytes32 scriptHash,\n TransactionType transactionType\n )\n {\n require(\n transactions[scriptHash].transactionType == transactionType, \"Transaction type does not match\"\n );\n _;\n }\n\n modifier onlyBuyer(bytes32 scriptHash) {\n require(\n msg.sender == transactions[scriptHash].buyer, \"The initiator of the transaction is not buyer\"\n );\n _;\n }\n\n /**\n *@dev Add new transaction in the contract\n *@param buyer The buyer of the transaction\n *@param seller The seller of the listing associated with the transaction\n *@param moderator Moderator for this transaction\n *@param scriptHash keccak256 hash of the redeem script\n *@param threshold Minimum number of signatures required to released funds\n *@param timeoutHours Hours after which seller can release funds into his favour by signing transaction unilaterally\n *@param uniqueId bytes20 unique id for the transaction, generated by ETH wallet\n *Redeem Script format will be following\n \n *Pass amount of the ethers to be put in escrow\n */\n function addTransaction(\n address buyer,\n address seller,\n address moderator,\n uint8 threshold,\n uint32 timeoutHours,\n bytes32 scriptHash,\n bytes20 uniqueId\n )\n external\n payable\n transactionDoesNotExist(scriptHash)\n nonZeroAddress(buyer)\n nonZeroAddress(seller)\n {\n _addTransaction(\n buyer,\n seller,\n moderator,\n threshold,\n timeoutHours,\n scriptHash,\n msg.value,\n uniqueId,\n TransactionType.ETHER,\n address(0)\n );\n \n emit Funded(scriptHash, msg.sender, msg.value);\n\n }\n\n /**\n *@dev Add new transaction in the contract\n *@param buyer The buyer of the transaction\n *@param seller The seller of the listing associated with the transaction\n *@param moderator Moderator for this transaction\n *@param scriptHash keccak256 hash of the redeem script\n *@param threshold Minimum number of signatures required to released funds\n *@param timeoutHours Hours after which seller can release funds into his favour by signing transaction unilaterally\n *@param value Amount of tokens to be put in escrow\n *@param uniqueId bytes20 unique id for the transaction, generated by ETH wallet\n *@param tokenAddress Address of the token to be used\n *Redeem Script format will be following\n \n *approve escrow contract to spend amount of token on sender's behalf\n */\n function addTokenTransaction(\n address buyer,\n address seller,\n address moderator,\n uint8 threshold,\n uint32 timeoutHours,\n bytes32 scriptHash,\n uint256 value,\n bytes20 uniqueId,\n address tokenAddress\n )\n external\n transactionDoesNotExist(scriptHash)\n nonZeroAddress(buyer)\n nonZeroAddress(seller)\n nonZeroAddress(tokenAddress)\n {\n\n _addTransaction(\n buyer,\n seller,\n moderator,\n threshold,\n timeoutHours,\n scriptHash,\n value,\n uniqueId,\n TransactionType.TOKEN,\n tokenAddress\n );\n\n ITokenContract token = ITokenContract(tokenAddress);\n\n require(\n token.transferFrom(msg.sender, address(this), value),\n \"Token transfer failed, maybe you did not approve escrow contract to spend on behalf of sender\"\n );\n emit Funded(scriptHash, msg.sender, value);\n }\n\n /**\n * @dev This method will check whether given address was a beneficiary of transaction execution or not\n * @param scriptHash script hash of the transaction\n * @param beneficiary Beneficiary address to be checked\n */\n function checkBeneficiary(\n bytes32 scriptHash,\n address beneficiary\n )\n external\n view\n returns (bool)\n {\n return transactions[scriptHash].beneficiaries[beneficiary];\n }\n\n /**\n * @dev This method will check whether given party has voted or not\n * @param scriptHash script hash of the transaction\n * @param party Address of the party whose vote has to be checked\n * @return bool vote\n */\n function checkVote(\n bytes32 scriptHash,\n address party\n )\n external\n view\n returns (bool)\n {\n return transactions[scriptHash].voted[party];\n }\n\n /**\n * @dev Allows buyer of the transaction to add more funds(ether) in the transaction. \n * This will help to cater scenarios wherein initially buyer missed to fund transaction as required\n * @param scriptHash script hash of the transaction\n * Only buyer of the transaction can invoke this method\n */\n function addFundsToTransaction(\n bytes32 scriptHash\n )\n external\n payable\n transactionExist(scriptHash)\n inFundedState(scriptHash)\n checkTransactionType(scriptHash, TransactionType.ETHER)\n onlyBuyer(scriptHash)\n \n {\n\n require(msg.value > 0, \"Value must be greater than zero.\");\n\n transactions[scriptHash].value = transactions[scriptHash].value\n .add(msg.value);\n transactions[scriptHash].lastModified = block.timestamp;\n\n emit FundAdded(scriptHash, msg.sender, msg.value);\n }\n\n /**\n * @dev Allows buyer of the transaction to add more funds(Tokens) in the transaction. \n * This will help to cater scenarios wherein initially buyer missed to fund transaction as required\n * @param scriptHash script hash of the transaction\n * Only buyer of the transaction can invoke this method\n */\n function addTokensToTransaction(\n bytes32 scriptHash,\n uint256 value\n )\n external\n transactionExist(scriptHash)\n inFundedState(scriptHash)\n checkTransactionType(scriptHash, TransactionType.TOKEN)\n onlyBuyer(scriptHash)\n {\n\n require(value > 0, \"Value must be greater than zero.\");\n\n ITokenContract token = ITokenContract(\n transactions[scriptHash].tokenAddress\n );\n\n require(\n token.transferFrom(transactions[scriptHash].buyer, address(this), value),\n \"Token transfer failed, maybe you did not approve escrow contract to spend on behalf of buyer\"\n );\n\n transactions[scriptHash].value = transactions[scriptHash].value\n .add(value);\n transactions[scriptHash].lastModified = block.timestamp;\n\n emit FundAdded(scriptHash, msg.sender, value);\n }\n\n /**\n *@dev Returns all transaction ids for a party\n *@param partyAddress Address of the party\n */\n function getAllTransactionsForParty(\n address partyAddress\n ) \n external \n view \n returns (bytes32[]) \n {\n return partyVsTransaction[partyAddress];\n }\n\n /**\n *@dev This method will be used to release funds associated with the transaction\n * Please see specs https://github.com/OpenBazaar/smart-contracts/blob/master/contracts/escrow/EscrowSpec.md\n *@param sigV Array containing V component of all the signatures\n *@param sigR Array containing R component of all the signatures\n *@param signS Array containing S component of all the signatures\n *@param scriptHash script hash of the transaction\n *@param destinations List of addresses who will receive funds\n *@param amounts amount released to each destination\n */\n function execute(\n uint8[] sigV,\n bytes32[] sigR,\n bytes32[] sigS,\n bytes32 scriptHash,\n address[] destinations,\n uint256[] amounts\n )\n external\n transactionExist(scriptHash)\n inFundedState(scriptHash)\n { \n require(\n destinations.length>0, \n \"Number of destinations must be greater than 0\"\n );\n require(\n destinations.length == amounts.length,\n \"Number of destinations must match number of values sent\"\n );\n \n _verifyTransaction(\n sigV,\n sigR,\n sigS,\n scriptHash,\n destinations,\n amounts\n );\n\n transactions[scriptHash].status = Status.RELEASED;\n //Last modified timestamp modified, which will be used by rewards\n transactions[scriptHash].lastModified = block.timestamp;\n require(\n _transferFunds(scriptHash, destinations, amounts) == transactions[scriptHash].value,\n \"Total value to be released must be equal to the transaction escrow value\"\n );\n \n emit Executed(scriptHash, destinations, amounts);\n }\n\n\n /**\n *@dev Method for calculating script hash. Calculation will depend upon the type of transaction\n * ETHER Type transaction-:\n * Script Hash- keccak256(uniqueId, threshold, timeoutHours, buyer, seller, moderator)\n * TOKEN Type transaction\n * Script Hash- keccak256(uniqueId, threshold, timeoutHours, buyer, seller, moderator, tokenAddress)\n * Client can use this method to verify whether it has calculated correct script hash or not\n */\n function calculateRedeemScriptHash(\n bytes20 uniqueId,\n uint8 threshold,\n uint32 timeoutHours,\n address buyer,\n address seller,\n address moderator,\n address tokenAddress\n )\n public\n view\n returns (bytes32)\n {\n if (tokenAddress == address(0)) {\n return keccak256(\n abi.encodePacked(\n uniqueId,\n threshold,\n timeoutHours,\n buyer,\n seller,\n moderator,\n address(this)\n )\n );\n } else {\n return keccak256(\n abi.encodePacked(\n uniqueId,\n threshold,\n timeoutHours,\n buyer,\n seller,\n moderator,\n address(this),\n tokenAddress\n )\n );\n }\n }\n\n /**\n * @dev This methods checks validity of transaction\n * 1. Verify Signatures\n * 2. Check if minimum number of signatures has been acquired\n * 3. If above condition is false, check if time lock is expired and the execution is signed by seller\n */\n function _verifyTransaction(\n uint8[] sigV,\n bytes32[] sigR,\n bytes32[] sigS,\n bytes32 scriptHash,\n address[] destinations,\n uint256[] amounts\n )\n private\n {\n address lastRecovered = _verifySignatures(\n sigV,\n sigR,\n sigS,\n scriptHash,\n destinations,\n amounts\n );\n\n bool timeLockExpired = _isTimeLockExpired(\n transactions[scriptHash].timeoutHours,\n transactions[scriptHash].lastModified\n );\n\n //if Minimum number of signatures are not gathered and timelock has not expired or transaction was not signed by seller then revert\n if (\n sigV.length < transactions[scriptHash].threshold && (!timeLockExpired || lastRecovered != transactions[scriptHash].seller)\n )\n {\n revert(\"Minimum number of signatures are not collected and time lock expiry conditions not met!!\");\n }\n\n }\n\n /**\n *@dev Private method to transfer funds to the destination addresses on the basis of transaction type\n */\n function _transferFunds(\n bytes32 scriptHash,\n address[]destinations,\n uint256[]amounts\n )\n private\n returns (uint256)\n {\n Transaction storage t = transactions[scriptHash];\n\n uint256 valueTransferred = 0;\n\n if (t.transactionType == TransactionType.ETHER) {\n for (uint256 i = 0; i < destinations.length; i++) {\n\n require(destinations[i] != address(0), \"zero address is not allowed as destination address\");\n\n require(t.isOwner[destinations[i]], \"Destination address is not one of the owners\");\n\n require(amounts[i] > 0, \"Amount to be sent should be greater than 0\");\n\n valueTransferred = valueTransferred.add(amounts[i]);\n\n t.beneficiaries[destinations[i]] = true;//add receiver as beneficiary\n destinations[i].transfer(amounts[i]);\n }\n\n } else if (t.transactionType == TransactionType.TOKEN) {\n\n ITokenContract token = ITokenContract(t.tokenAddress);\n\n for (uint256 j = 0; j 0, \"Amount to be sent should be greater than 0\");\n\n valueTransferred = valueTransferred.add(amounts[j]);\n t.beneficiaries[destinations[j]] = true;//add receiver as beneficiary\n\n require(token.transfer(destinations[j], amounts[j]), \"Token transfer failed.\");\n }\n } \n return valueTransferred;\n }\n\n //to check whether the signatures are valid or not and if consensus was reached\n //returns the last address recovered, in case of timeout this must be the sender's address\n function _verifySignatures(\n uint8[] sigV,\n bytes32[] sigR,\n bytes32[] sigS,\n bytes32 scriptHash,\n address[] destinations,\n uint256[]amounts\n )\n private\n returns (address)\n {\n\n require(\n sigR.length == sigS.length && sigR.length == sigV.length, \n \"R,S,V length mismatch.\"\n );\n\n address lastAddress;\n\n // Follows ERC191 signature scheme: https://github.com/ethereum/EIPs/issues/191\n bytes32 txHash = keccak256(\n abi.encodePacked(\n \"\\x19Ethereum Signed Message:\\n32\",\n keccak256(\n abi.encodePacked(\n byte(0x19),\n byte(0),\n address(this),\n destinations,\n amounts,\n scriptHash\n )\n )\n )\n );\n\n for (uint i = 0; i < sigR.length; i++) {\n\n address recovered = ecrecover(\n txHash,\n sigV[i],\n sigR[i],\n sigS[i]\n );\n\n require(\n transactions[scriptHash].isOwner[recovered], \n \"Invalid signature\"\n );\n require(\n !transactions[scriptHash].voted[recovered], \n \"Same signature sent twice\"\n );\n transactions[scriptHash].voted[recovered] = true;\n lastAddress = recovered;\n }\n\n return lastAddress;\n }\n\n function _isTimeLockExpired(\n uint32 timeoutHours,\n uint256 lastModified\n )\n private\n view\n returns (bool)\n {\n uint256 timeSince = now.sub(lastModified);\n return (\n timeoutHours == 0 ? false:timeSince > uint256(timeoutHours).mul(3600)\n );\n }\n\n /**\n * Private method to add transaction to reduce code redundancy\n */\n function _addTransaction(\n address buyer,\n address seller,\n address moderator,\n uint8 threshold,\n uint32 timeoutHours,\n bytes32 scriptHash,\n uint256 value,\n bytes20 uniqueId,\n TransactionType transactionType,\n address tokenAddress\n )\n private\n { \n require(buyer != seller, \"Buyer and seller are same\");\n\n //value passed should be greater than 0\n require(value > 0, \"Value passed is 0\");\n\n // For now allowing 0 moderator to support 1-2 multisig wallet\n require(\n threshold > 0 && threshold <= 3, \n \"Threshold cannot be greater than 3 and must be greater than 0\"\n );\n\n //if threshold is 1 then moderator can be passed as zero address or any other address\n //(it won't matter apart from scripthash since we wont add moderator as one of the owner),\n //otherwise moderator should be a valid address\n require(\n threshold == 1 || moderator != address(0),\n \"Either threshold should be 1 or valid moderator address should be passed\"\n );\n\n require(\n scriptHash == calculateRedeemScriptHash(\n uniqueId,\n threshold,\n timeoutHours,\n buyer,\n seller,\n moderator,\n tokenAddress\n ), \n \"Calculated script hash does not match passed script hash.\"\n );\n\n transactions[scriptHash] = Transaction({\n buyer: buyer,\n seller: seller,\n moderator: moderator,\n value: value,\n status: Status.FUNDED,\n lastModified: block.timestamp,\n threshold: threshold,\n timeoutHours: timeoutHours,\n transactionType:transactionType,\n tokenAddress:tokenAddress\n });\n\n transactions[scriptHash].isOwner[seller] = true;\n transactions[scriptHash].isOwner[buyer] = true; \n\n //Check if buyer or seller are not passed as moderator\n require(\n !transactions[scriptHash].isOwner[moderator], \n \"Either buyer or seller is passed as moderator\"\n );\n\n //set moderator as one of the owners only if threshold is greater than 1 otherwise only buyer and seller should be able to release funds\n if (threshold > 1) {\n transactions[scriptHash].isOwner[moderator] = true;\n }\n \n\n transactionCount++;\n\n partyVsTransaction[buyer].push(scriptHash);\n partyVsTransaction[seller].push(scriptHash);\n }\n}\n", + "bytecode": "0x6080604052600060015534801561001557600080fd5b5061432c806100256000396000f3006080604052600436106100af576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806323b6fd3f146100b45780632d9ef96e1461016e57806346fbcdeb1461019257806357bced7614610287578063642f2eaf14610378578063b0550c66146104da578063b719e28014610543578063b77bf6001461057e578063be84ceaf146105a9578063e4ec8b0014610641578063f0786562146106ea575b600080fd5b61016c600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff169060200190929190803563ffffffff169060200190929190803560001916906020019092919080356bffffffffffffffffffffffff19169060200190929190505050610753565b005b61019060048036038101908080356000191690602001909291905050506109a7565b005b34801561019e57600080fd5b5061026960048036038101908080356bffffffffffffffffffffffff19169060200190929190803560ff169060200190929190803563ffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610e24565b60405180826000191660001916815260200191505060405180910390f35b34801561029357600080fd5b50610376600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff169060200190929190803563ffffffff16906020019092919080356000191690602001909291908035906020019092919080356bffffffffffffffffffffffff19169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506112d0565b005b34801561038457600080fd5b506103a760048036038101908080356000191690602001909291905050506117a5565b604051808b81526020018a81526020018960018111156103c357fe5b60ff1681526020018860018111156103d757fe5b60ff1681526020018760ff1660ff1681526020018663ffffffff1663ffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019a505050505050505050505060405180910390f35b3480156104e657600080fd5b506105296004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506118b0565b604051808215151515815260200191505060405180910390f35b34801561054f57600080fd5b5061057c600480360381019080803560001916906020019092919080359060200190929190505050611922565b005b34801561058a57600080fd5b50610593611ff2565b6040518082815260200191505060405180910390f35b3480156105b557600080fd5b506105ea600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611ff8565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b8381101561062d578082015181840152602081019050610612565b505050509050019250505060405180910390f35b34801561064d57600080fd5b506106e86004803603810190808035906020019082018035906020019190919293919293908035906020019082018035906020019190919293919293908035906020019082018035906020019190919293919293908035600019169060200190929190803590602001908201803590602001919091929391929390803590602001908201803590602001919091929391929390505050612093565b005b3480156106f657600080fd5b506107396004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061267c565b604051808215151515815260200191505060405180910390f35b8160008060008360001916600019168152602001908152602001600020600001541415156107e9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f5472616e73616374696f6e20657869737400000000000000000000000000000081525060200191505060405180910390fd5b87600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561088f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b87600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610935576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b6109488a8a8a8a8a8a348b6000806126ee565b3373ffffffffffffffffffffffffffffffffffffffff1685600019167fce7089d0668849fb9ca29778c0cbf1e764d9efb048d81fd71fb34c94f26db368346040518082815260200191505060405180910390a350505050505050505050565b80600080600083600019166000191681526020019081526020016000206000015414151515610a3e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737400000000000081525060200191505060405180910390fd5b8160006001811115610a4c57fe5b600080836000191660001916815260200190815260200160002060020160009054906101000a900460ff166001811115610a8257fe5b141515610b1d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001807f5472616e73616374696f6e206973206e6f7420696e2046554e4445442073746181526020017f746500000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b826000806001811115610b2c57fe5b600080846000191660001916815260200190815260200160002060020160019054906101000a900460ff166001811115610b6257fe5b141515610bd7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5472616e73616374696f6e207479706520646f6573206e6f74206d617463680081525060200191505060405180910390fd5b84600080826000191660001916815260200190815260200160002060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610cde576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f54686520696e69746961746f72206f6620746865207472616e73616374696f6e81526020017f206973206e6f742062757965720000000000000000000000000000000000000081525060400191505060405180910390fd5b600034111515610d56576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f56616c7565206d7573742062652067726561746572207468616e207a65726f2e81525060200191505060405180910390fd5b610d863460008089600019166000191681526020019081526020016000206000015461307a90919063ffffffff16565b600080886000191660001916815260200190815260200160002060000181905550426000808860001916600019168152602001908152602001600020600101819055503373ffffffffffffffffffffffffffffffffffffffff1686600019167ff66fd2ae9e24a6a24b02e1b5b7512ffde5149a4176085fc0298ae228c9b9d729346040518082815260200191505060405180910390a3505050505050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611070578787878787873060405160200180886bffffffffffffffffffffffff19166bffffffffffffffffffffffff191681526014018760ff1660ff167f01000000000000000000000000000000000000000000000000000000000000000281526001018663ffffffff1663ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014019750505050505050506040516020818303038152906040526040518082805190602001908083835b60208310151561103c5780518252602082019150602081019050602083039250611017565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902090506112c5565b878787878787308860405160200180896bffffffffffffffffffffffff19166bffffffffffffffffffffffff191681526014018860ff1660ff167f01000000000000000000000000000000000000000000000000000000000000000281526001018763ffffffff1663ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401985050505050505050506040516020818303038152906040526040518082805190602001908083835b6020831015156112955780518252602082019150602081019050602083039250611270565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902090505b979650505050505050565b6000846000806000836000191660001916815260200190815260200160002060000154141515611368576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f5472616e73616374696f6e20657869737400000000000000000000000000000081525060200191505060405180910390fd5b8a600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561140e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b8a600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156114b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b84600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561155a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b61156d8e8e8e8e8e8e8e8e60018f6126ee565b8594508473ffffffffffffffffffffffffffffffffffffffff166323b872dd33308b6040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b15801561164757600080fd5b505af115801561165b573d6000803e3d6000fd5b505050506040513d602081101561167157600080fd5b81019080805190602001909291905050501515611742576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252605d8152602001807f546f6b656e207472616e73666572206661696c65642c206d6179626520796f7581526020017f20646964206e6f7420617070726f766520657363726f7720636f6e747261637481526020017f20746f207370656e64206f6e20626568616c66206f662073656e64657200000081525060600191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff1689600019167fce7089d0668849fb9ca29778c0cbf1e764d9efb048d81fd71fb34c94f26db3688a6040518082815260200191505060405180910390a35050505050505050505050505050565b60006020528060005260406000206000915090508060000154908060010154908060020160009054906101000a900460ff16908060020160019054906101000a900460ff16908060020160029054906101000a900460ff16908060020160039054906101000a900463ffffffff16908060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060050160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508a565b6000806000846000191660001916815260200190815260200160002060080160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6000826000806000836000191660001916815260200190815260200160002060000154141515156119bb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737400000000000081525060200191505060405180910390fd5b83600060018111156119c957fe5b600080836000191660001916815260200190815260200160002060020160009054906101000a900460ff1660018111156119ff57fe5b141515611a9a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001807f5472616e73616374696f6e206973206e6f7420696e2046554e4445442073746181526020017f746500000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b846001806001811115611aa957fe5b600080846000191660001916815260200190815260200160002060020160019054906101000a900460ff166001811115611adf57fe5b141515611b54576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5472616e73616374696f6e207479706520646f6573206e6f74206d617463680081525060200191505060405180910390fd5b86600080826000191660001916815260200190815260200160002060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611c5b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f54686520696e69746961746f72206f6620746865207472616e73616374696f6e81526020017f206973206e6f742062757965720000000000000000000000000000000000000081525060400191505060405180910390fd5b600087111515611cd3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f56616c7565206d7573742062652067726561746572207468616e207a65726f2e81525060200191505060405180910390fd5b600080896000191660001916815260200190815260200160002060040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1695508573ffffffffffffffffffffffffffffffffffffffff166323b872dd6000808b6000191660001916815260200190815260200160002060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff16308a6040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b158015611e2757600080fd5b505af1158015611e3b573d6000803e3d6000fd5b505050506040513d6020811015611e5157600080fd5b81019080805190602001909291905050501515611f22576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252605c8152602001807f546f6b656e207472616e73666572206661696c65642c206d6179626520796f7581526020017f20646964206e6f7420617070726f766520657363726f7720636f6e747261637481526020017f20746f207370656e64206f6e20626568616c66206f662062757965720000000081525060600191505060405180910390fd5b611f52876000808b600019166000191681526020019081526020016000206000015461307a90919063ffffffff16565b6000808a6000191660001916815260200190815260200160002060000181905550426000808a60001916600019168152602001908152602001600020600101819055503373ffffffffffffffffffffffffffffffffffffffff1688600019167ff66fd2ae9e24a6a24b02e1b5b7512ffde5149a4176085fc0298ae228c9b9d729896040518082815260200191505060405180910390a35050505050505050565b60015481565b6060600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080548060200260200160405190810160405280929190818152602001828054801561208757602002820191906000526020600020905b8154600019168152602001906001019080831161206f575b50505050509050919050565b8460008060008360001916600019168152602001908152602001600020600001541415151561212a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737400000000000081525060200191505060405180910390fd5b856000600181111561213857fe5b600080836000191660001916815260200190815260200160002060020160009054906101000a900460ff16600181111561216e57fe5b141515612209576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001807f5472616e73616374696f6e206973206e6f7420696e2046554e4445442073746181526020017f746500000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b6000868690501115156122aa576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f4e756d626572206f662064657374696e6174696f6e73206d757374206265206781526020017f726561746572207468616e20300000000000000000000000000000000000000081525060400191505060405180910390fd5b838390508686905014151561234d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260378152602001807f4e756d626572206f662064657374696e6174696f6e73206d757374206d61746381526020017f68206e756d626572206f662076616c7565732073656e7400000000000000000081525060400191505060405180910390fd5b6124468d8d808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508c8c808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508b8b808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508a8a8a8080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505089898080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505061309b565b6001600080896000191660001916815260200190815260200160002060020160006101000a81548160ff0219169083600181111561248057fe5b02179055504260008089600019166000191681526020019081526020016000206001018190555060008088600019166000191681526020019081526020016000206000015461252e8888888080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505087878080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505061327c565b1415156125ef576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260488152602001807f546f74616c2076616c756520746f2062652072656c6561736564206d7573742081526020017f626520657175616c20746f20746865207472616e73616374696f6e206573637281526020017f6f772076616c756500000000000000000000000000000000000000000000000081525060600191505060405180910390fd5b86600019167f688e2a1b34445bcd47b0e11ba2a9c8c4d850a1831b64199b59d1c70e29701545878787876040518080602001806020018381038352878782818152602001925060200280828437820191505083810382528585828181526020019250602002808284378201915050965050505050505060405180910390a250505050505050505050505050565b6000806000846000191660001916815260200190815260200160002060070160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b8873ffffffffffffffffffffffffffffffffffffffff168a73ffffffffffffffffffffffffffffffffffffffff1614151515612792576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f427579657220616e642073656c6c6572206172652073616d650000000000000081525060200191505060405180910390fd5b60008411151561280a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f56616c756520706173736564206973203000000000000000000000000000000081525060200191505060405180910390fd5b60008760ff16118015612821575060038760ff1611155b15156128bb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603d8152602001807f5468726573686f6c642063616e6e6f742062652067726561746572207468616e81526020017f203320616e64206d7573742062652067726561746572207468616e203000000081525060400191505060405180910390fd5b60018760ff1614806128fa5750600073ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff1614155b15156129ba576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260488152602001807f456974686572207468726573686f6c642073686f756c642062652031206f722081526020017f76616c6964206d6f64657261746f7220616464726573732073686f756c64206281526020017f652070617373656400000000000000000000000000000000000000000000000081525060600191505060405180910390fd5b6129c98388888d8d8d87610e24565b600019168560001916141515612a6d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260398152602001807f43616c63756c6174656420736372697074206861736820646f6573206e6f742081526020017f6d61746368207061737365642073637269707420686173682e0000000000000081525060400191505060405180910390fd5b6101406040519081016040528085815260200142815260200160006001811115612a9357fe5b8152602001836001811115612aa457fe5b81526020018860ff1681526020018763ffffffff1681526020018b73ffffffffffffffffffffffffffffffffffffffff1681526020018a73ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020018973ffffffffffffffffffffffffffffffffffffffff168152506000808760001916600019168152602001908152602001600020600082015181600001556020820151816001015560408201518160020160006101000a81548160ff02191690836001811115612b7e57fe5b021790555060608201518160020160016101000a81548160ff02191690836001811115612ba757fe5b021790555060808201518160020160026101000a81548160ff021916908360ff16021790555060a08201518160020160036101000a81548163ffffffff021916908363ffffffff16021790555060c08201518160020160076101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060e08201518160030160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506101008201518160040160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506101208201518160050160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055509050506001600080876000191660001916815260200190815260200160002060060160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600080876000191660001916815260200190815260200160002060060160008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600080866000191660001916815260200190815260200160002060060160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151515612efe576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f456974686572206275796572206f722073656c6c65722069732070617373656481526020017f206173206d6f64657261746f720000000000000000000000000000000000000081525060400191505060405180910390fd5b60018760ff161115612f7e576001600080876000191660001916815260200190815260200160002060060160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b600160008154809291906001019190505550600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020859080600181540180825580915050906001820390600052602060002001600090919290919091509060001916905550600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002085908060018154018082558091505090600182039060005260206000200160009091929091909150906000191690555050505050505050505050565b600080828401905083811015151561309157600080fd5b8091505092915050565b6000806130ac888888888888613bd4565b9150613102600080876000191660001916815260200190815260200160002060020160039054906101000a900463ffffffff1660008088600019166000191681526020019081526020016000206001015461424d565b9050600080866000191660001916815260200190815260200160002060020160029054906101000a900460ff1660ff1688511080156131b357508015806131b25750600080866000191660001916815260200190815260200160002060030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b5b15613272576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260588152602001807f4d696e696d756d206e756d626572206f66207369676e6174757265732061726581526020017f206e6f7420636f6c6c656374656420616e642074696d65206c6f636b2065787081526020017f69727920636f6e646974696f6e73206e6f74206d65742121000000000000000081525060600191505060405180910390fd5b5050505050505050565b6000806000806000806000808a60001916600019168152602001908152602001600020945060009350600060018111156132b257fe5b8560020160019054906101000a900460ff1660018111156132cf57fe5b141561369e57600092505b875183101561369957600073ffffffffffffffffffffffffffffffffffffffff16888481518110151561330957fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff16141515156133c5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001807f7a65726f2061646472657373206973206e6f7420616c6c6f776564206173206481526020017f657374696e6174696f6e2061646472657373000000000000000000000000000081525060400191505060405180910390fd5b84600601600089858151811015156133d957fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615156134c5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c8152602001807f44657374696e6174696f6e2061646472657373206973206e6f74206f6e65206f81526020017f6620746865206f776e657273000000000000000000000000000000000000000081525060400191505060405180910390fd5b600087848151811015156134d557fe5b9060200190602002015111151561357a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001807f416d6f756e7420746f2062652073656e742073686f756c64206265206772656181526020017f746572207468616e20300000000000000000000000000000000000000000000081525060400191505060405180910390fd5b6135a4878481518110151561358b57fe5b906020019060200201518561307a90919063ffffffff16565b935060018560080160008a868151811015156135bc57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550878381518110151561362557fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff166108fc888581518110151561365657fe5b906020019060200201519081150290604051600060405180830381858888f1935050505015801561368b573d6000803e3d6000fd5b5082806001019350506132da565b613bc5565b6001808111156136aa57fe5b8560020160019054906101000a900460ff1660018111156136c757fe5b1415613bc4578460040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169150600090505b8751811015613bc357600073ffffffffffffffffffffffffffffffffffffffff16888281518110151561372857fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff16141515156137e4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001807f7a65726f2061646472657373206973206e6f7420616c6c6f776564206173206481526020017f657374696e6174696f6e2061646472657373000000000000000000000000000081525060400191505060405180910390fd5b84600601600089838151811015156137f857fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615156138e4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c8152602001807f44657374696e6174696f6e2061646472657373206973206e6f74206f6e65206f81526020017f6620746865206f776e657273000000000000000000000000000000000000000081525060400191505060405180910390fd5b600087828151811015156138f457fe5b90602001906020020151111515613999576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001807f416d6f756e7420746f2062652073656e742073686f756c64206265206772656181526020017f746572207468616e20300000000000000000000000000000000000000000000081525060400191505060405180910390fd5b6139c387828151811015156139aa57fe5b906020019060200201518561307a90919063ffffffff16565b935060018560080160008a848151811015156139db57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb8983815181101515613a6057fe5b906020019060200201518984815181101515613a7857fe5b906020019060200201516040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015613b0757600080fd5b505af1158015613b1b573d6000803e3d6000fd5b505050506040513d6020811015613b3157600080fd5b81019080805190602001909291905050501515613bb6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f546f6b656e207472616e73666572206661696c65642e0000000000000000000081525060200191505060405180910390fd5b80806001019150506136f9565b5b5b83955050505050509392505050565b600080600080600088518a51148015613bee57508a518a51145b1515613c62576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f522c532c56206c656e677468206d69736d617463682e0000000000000000000081525060200191505060405180910390fd5b60197f01000000000000000000000000000000000000000000000000000000000000000260007f0100000000000000000000000000000000000000000000000000000000000000023089898c60405160200180877effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168152600101867effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526001018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401848051906020019060200280838360005b83811015613db6578082015181840152602081019050613d9b565b50505050905001838051906020019060200280838360005b83811015613de9578082015181840152602081019050613dce565b50505050905001826000191660001916815260200196505050505050506040516020818303038152906040526040518082805190602001908083835b602083101515613e4a5780518252602082019150602081019050602083039250613e25565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902060405160200180807f19457468657265756d205369676e6564204d6573736167653a0a333200000000815250601c0182600019166000191681526020019150506040516020818303038152906040526040518082805190602001908083835b602083101515613efb5780518252602082019150602081019050602083039250613ed6565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390209250600091505b895182101561423c576001838c84815181101515613f4957fe5b906020019060200201518c85815181101515613f6157fe5b906020019060200201518c86815181101515613f7957fe5b90602001906020020151604051600081526020016040526040518085600019166000191681526020018460ff1660ff1681526020018360001916600019168152602001826000191660001916815260200194505050505060206040516020810390808403906000865af1158015613ff4573d6000803e3d6000fd5b505050602060405103519050600080896000191660001916815260200190815260200160002060060160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615156140dc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f496e76616c6964207369676e617475726500000000000000000000000000000081525060200191505060405180910390fd5b600080896000191660001916815260200190815260200160002060070160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515156141b9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f53616d65207369676e61747572652073656e742074776963650000000000000081525060200191505060405180910390fd5b60016000808a6000191660001916815260200190815260200160002060070160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508093508180600101925050613f2f565b839450505050509695505050505050565b60008061426383426142a190919063ffffffff16565b905060008463ffffffff16146142955761428e610e108563ffffffff166142c290919063ffffffff16565b8111614298565b60005b91505092915050565b6000808383111515156142b357600080fd5b82840390508091505092915050565b60008060008414156142d757600091506142f9565b82840290508284828115156142e857fe5b041415156142f557600080fd5b8091505b50929150505600a165627a7a72305820d8a2e2322aa1998415905c901361978f998d53b9923633f7fb185f53a9b11c090029", + "deployedBytecode": "0x6080604052600436106100af576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806323b6fd3f146100b45780632d9ef96e1461016e57806346fbcdeb1461019257806357bced7614610287578063642f2eaf14610378578063b0550c66146104da578063b719e28014610543578063b77bf6001461057e578063be84ceaf146105a9578063e4ec8b0014610641578063f0786562146106ea575b600080fd5b61016c600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff169060200190929190803563ffffffff169060200190929190803560001916906020019092919080356bffffffffffffffffffffffff19169060200190929190505050610753565b005b61019060048036038101908080356000191690602001909291905050506109a7565b005b34801561019e57600080fd5b5061026960048036038101908080356bffffffffffffffffffffffff19169060200190929190803560ff169060200190929190803563ffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610e24565b60405180826000191660001916815260200191505060405180910390f35b34801561029357600080fd5b50610376600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff169060200190929190803563ffffffff16906020019092919080356000191690602001909291908035906020019092919080356bffffffffffffffffffffffff19169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506112d0565b005b34801561038457600080fd5b506103a760048036038101908080356000191690602001909291905050506117a5565b604051808b81526020018a81526020018960018111156103c357fe5b60ff1681526020018860018111156103d757fe5b60ff1681526020018760ff1660ff1681526020018663ffffffff1663ffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019a505050505050505050505060405180910390f35b3480156104e657600080fd5b506105296004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506118b0565b604051808215151515815260200191505060405180910390f35b34801561054f57600080fd5b5061057c600480360381019080803560001916906020019092919080359060200190929190505050611922565b005b34801561058a57600080fd5b50610593611ff2565b6040518082815260200191505060405180910390f35b3480156105b557600080fd5b506105ea600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611ff8565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b8381101561062d578082015181840152602081019050610612565b505050509050019250505060405180910390f35b34801561064d57600080fd5b506106e86004803603810190808035906020019082018035906020019190919293919293908035906020019082018035906020019190919293919293908035906020019082018035906020019190919293919293908035600019169060200190929190803590602001908201803590602001919091929391929390803590602001908201803590602001919091929391929390505050612093565b005b3480156106f657600080fd5b506107396004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061267c565b604051808215151515815260200191505060405180910390f35b8160008060008360001916600019168152602001908152602001600020600001541415156107e9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f5472616e73616374696f6e20657869737400000000000000000000000000000081525060200191505060405180910390fd5b87600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561088f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b87600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610935576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b6109488a8a8a8a8a8a348b6000806126ee565b3373ffffffffffffffffffffffffffffffffffffffff1685600019167fce7089d0668849fb9ca29778c0cbf1e764d9efb048d81fd71fb34c94f26db368346040518082815260200191505060405180910390a350505050505050505050565b80600080600083600019166000191681526020019081526020016000206000015414151515610a3e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737400000000000081525060200191505060405180910390fd5b8160006001811115610a4c57fe5b600080836000191660001916815260200190815260200160002060020160009054906101000a900460ff166001811115610a8257fe5b141515610b1d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001807f5472616e73616374696f6e206973206e6f7420696e2046554e4445442073746181526020017f746500000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b826000806001811115610b2c57fe5b600080846000191660001916815260200190815260200160002060020160019054906101000a900460ff166001811115610b6257fe5b141515610bd7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5472616e73616374696f6e207479706520646f6573206e6f74206d617463680081525060200191505060405180910390fd5b84600080826000191660001916815260200190815260200160002060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610cde576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f54686520696e69746961746f72206f6620746865207472616e73616374696f6e81526020017f206973206e6f742062757965720000000000000000000000000000000000000081525060400191505060405180910390fd5b600034111515610d56576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f56616c7565206d7573742062652067726561746572207468616e207a65726f2e81525060200191505060405180910390fd5b610d863460008089600019166000191681526020019081526020016000206000015461307a90919063ffffffff16565b600080886000191660001916815260200190815260200160002060000181905550426000808860001916600019168152602001908152602001600020600101819055503373ffffffffffffffffffffffffffffffffffffffff1686600019167ff66fd2ae9e24a6a24b02e1b5b7512ffde5149a4176085fc0298ae228c9b9d729346040518082815260200191505060405180910390a3505050505050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611070578787878787873060405160200180886bffffffffffffffffffffffff19166bffffffffffffffffffffffff191681526014018760ff1660ff167f01000000000000000000000000000000000000000000000000000000000000000281526001018663ffffffff1663ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014019750505050505050506040516020818303038152906040526040518082805190602001908083835b60208310151561103c5780518252602082019150602081019050602083039250611017565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902090506112c5565b878787878787308860405160200180896bffffffffffffffffffffffff19166bffffffffffffffffffffffff191681526014018860ff1660ff167f01000000000000000000000000000000000000000000000000000000000000000281526001018763ffffffff1663ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401985050505050505050506040516020818303038152906040526040518082805190602001908083835b6020831015156112955780518252602082019150602081019050602083039250611270565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902090505b979650505050505050565b6000846000806000836000191660001916815260200190815260200160002060000154141515611368576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f5472616e73616374696f6e20657869737400000000000000000000000000000081525060200191505060405180910390fd5b8a600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561140e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b8a600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156114b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b84600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561155a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b61156d8e8e8e8e8e8e8e8e60018f6126ee565b8594508473ffffffffffffffffffffffffffffffffffffffff166323b872dd33308b6040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b15801561164757600080fd5b505af115801561165b573d6000803e3d6000fd5b505050506040513d602081101561167157600080fd5b81019080805190602001909291905050501515611742576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252605d8152602001807f546f6b656e207472616e73666572206661696c65642c206d6179626520796f7581526020017f20646964206e6f7420617070726f766520657363726f7720636f6e747261637481526020017f20746f207370656e64206f6e20626568616c66206f662073656e64657200000081525060600191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff1689600019167fce7089d0668849fb9ca29778c0cbf1e764d9efb048d81fd71fb34c94f26db3688a6040518082815260200191505060405180910390a35050505050505050505050505050565b60006020528060005260406000206000915090508060000154908060010154908060020160009054906101000a900460ff16908060020160019054906101000a900460ff16908060020160029054906101000a900460ff16908060020160039054906101000a900463ffffffff16908060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060050160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508a565b6000806000846000191660001916815260200190815260200160002060080160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6000826000806000836000191660001916815260200190815260200160002060000154141515156119bb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737400000000000081525060200191505060405180910390fd5b83600060018111156119c957fe5b600080836000191660001916815260200190815260200160002060020160009054906101000a900460ff1660018111156119ff57fe5b141515611a9a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001807f5472616e73616374696f6e206973206e6f7420696e2046554e4445442073746181526020017f746500000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b846001806001811115611aa957fe5b600080846000191660001916815260200190815260200160002060020160019054906101000a900460ff166001811115611adf57fe5b141515611b54576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5472616e73616374696f6e207479706520646f6573206e6f74206d617463680081525060200191505060405180910390fd5b86600080826000191660001916815260200190815260200160002060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611c5b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f54686520696e69746961746f72206f6620746865207472616e73616374696f6e81526020017f206973206e6f742062757965720000000000000000000000000000000000000081525060400191505060405180910390fd5b600087111515611cd3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f56616c7565206d7573742062652067726561746572207468616e207a65726f2e81525060200191505060405180910390fd5b600080896000191660001916815260200190815260200160002060040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1695508573ffffffffffffffffffffffffffffffffffffffff166323b872dd6000808b6000191660001916815260200190815260200160002060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff16308a6040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b158015611e2757600080fd5b505af1158015611e3b573d6000803e3d6000fd5b505050506040513d6020811015611e5157600080fd5b81019080805190602001909291905050501515611f22576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252605c8152602001807f546f6b656e207472616e73666572206661696c65642c206d6179626520796f7581526020017f20646964206e6f7420617070726f766520657363726f7720636f6e747261637481526020017f20746f207370656e64206f6e20626568616c66206f662062757965720000000081525060600191505060405180910390fd5b611f52876000808b600019166000191681526020019081526020016000206000015461307a90919063ffffffff16565b6000808a6000191660001916815260200190815260200160002060000181905550426000808a60001916600019168152602001908152602001600020600101819055503373ffffffffffffffffffffffffffffffffffffffff1688600019167ff66fd2ae9e24a6a24b02e1b5b7512ffde5149a4176085fc0298ae228c9b9d729896040518082815260200191505060405180910390a35050505050505050565b60015481565b6060600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080548060200260200160405190810160405280929190818152602001828054801561208757602002820191906000526020600020905b8154600019168152602001906001019080831161206f575b50505050509050919050565b8460008060008360001916600019168152602001908152602001600020600001541415151561212a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737400000000000081525060200191505060405180910390fd5b856000600181111561213857fe5b600080836000191660001916815260200190815260200160002060020160009054906101000a900460ff16600181111561216e57fe5b141515612209576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001807f5472616e73616374696f6e206973206e6f7420696e2046554e4445442073746181526020017f746500000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b6000868690501115156122aa576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f4e756d626572206f662064657374696e6174696f6e73206d757374206265206781526020017f726561746572207468616e20300000000000000000000000000000000000000081525060400191505060405180910390fd5b838390508686905014151561234d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260378152602001807f4e756d626572206f662064657374696e6174696f6e73206d757374206d61746381526020017f68206e756d626572206f662076616c7565732073656e7400000000000000000081525060400191505060405180910390fd5b6124468d8d808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508c8c808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508b8b808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508a8a8a8080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505089898080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505061309b565b6001600080896000191660001916815260200190815260200160002060020160006101000a81548160ff0219169083600181111561248057fe5b02179055504260008089600019166000191681526020019081526020016000206001018190555060008088600019166000191681526020019081526020016000206000015461252e8888888080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505087878080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505061327c565b1415156125ef576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260488152602001807f546f74616c2076616c756520746f2062652072656c6561736564206d7573742081526020017f626520657175616c20746f20746865207472616e73616374696f6e206573637281526020017f6f772076616c756500000000000000000000000000000000000000000000000081525060600191505060405180910390fd5b86600019167f688e2a1b34445bcd47b0e11ba2a9c8c4d850a1831b64199b59d1c70e29701545878787876040518080602001806020018381038352878782818152602001925060200280828437820191505083810382528585828181526020019250602002808284378201915050965050505050505060405180910390a250505050505050505050505050565b6000806000846000191660001916815260200190815260200160002060070160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b8873ffffffffffffffffffffffffffffffffffffffff168a73ffffffffffffffffffffffffffffffffffffffff1614151515612792576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f427579657220616e642073656c6c6572206172652073616d650000000000000081525060200191505060405180910390fd5b60008411151561280a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f56616c756520706173736564206973203000000000000000000000000000000081525060200191505060405180910390fd5b60008760ff16118015612821575060038760ff1611155b15156128bb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603d8152602001807f5468726573686f6c642063616e6e6f742062652067726561746572207468616e81526020017f203320616e64206d7573742062652067726561746572207468616e203000000081525060400191505060405180910390fd5b60018760ff1614806128fa5750600073ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff1614155b15156129ba576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260488152602001807f456974686572207468726573686f6c642073686f756c642062652031206f722081526020017f76616c6964206d6f64657261746f7220616464726573732073686f756c64206281526020017f652070617373656400000000000000000000000000000000000000000000000081525060600191505060405180910390fd5b6129c98388888d8d8d87610e24565b600019168560001916141515612a6d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260398152602001807f43616c63756c6174656420736372697074206861736820646f6573206e6f742081526020017f6d61746368207061737365642073637269707420686173682e0000000000000081525060400191505060405180910390fd5b6101406040519081016040528085815260200142815260200160006001811115612a9357fe5b8152602001836001811115612aa457fe5b81526020018860ff1681526020018763ffffffff1681526020018b73ffffffffffffffffffffffffffffffffffffffff1681526020018a73ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020018973ffffffffffffffffffffffffffffffffffffffff168152506000808760001916600019168152602001908152602001600020600082015181600001556020820151816001015560408201518160020160006101000a81548160ff02191690836001811115612b7e57fe5b021790555060608201518160020160016101000a81548160ff02191690836001811115612ba757fe5b021790555060808201518160020160026101000a81548160ff021916908360ff16021790555060a08201518160020160036101000a81548163ffffffff021916908363ffffffff16021790555060c08201518160020160076101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060e08201518160030160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506101008201518160040160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506101208201518160050160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055509050506001600080876000191660001916815260200190815260200160002060060160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600080876000191660001916815260200190815260200160002060060160008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600080866000191660001916815260200190815260200160002060060160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151515612efe576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f456974686572206275796572206f722073656c6c65722069732070617373656481526020017f206173206d6f64657261746f720000000000000000000000000000000000000081525060400191505060405180910390fd5b60018760ff161115612f7e576001600080876000191660001916815260200190815260200160002060060160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b600160008154809291906001019190505550600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020859080600181540180825580915050906001820390600052602060002001600090919290919091509060001916905550600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002085908060018154018082558091505090600182039060005260206000200160009091929091909150906000191690555050505050505050505050565b600080828401905083811015151561309157600080fd5b8091505092915050565b6000806130ac888888888888613bd4565b9150613102600080876000191660001916815260200190815260200160002060020160039054906101000a900463ffffffff1660008088600019166000191681526020019081526020016000206001015461424d565b9050600080866000191660001916815260200190815260200160002060020160029054906101000a900460ff1660ff1688511080156131b357508015806131b25750600080866000191660001916815260200190815260200160002060030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b5b15613272576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260588152602001807f4d696e696d756d206e756d626572206f66207369676e6174757265732061726581526020017f206e6f7420636f6c6c656374656420616e642074696d65206c6f636b2065787081526020017f69727920636f6e646974696f6e73206e6f74206d65742121000000000000000081525060600191505060405180910390fd5b5050505050505050565b6000806000806000806000808a60001916600019168152602001908152602001600020945060009350600060018111156132b257fe5b8560020160019054906101000a900460ff1660018111156132cf57fe5b141561369e57600092505b875183101561369957600073ffffffffffffffffffffffffffffffffffffffff16888481518110151561330957fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff16141515156133c5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001807f7a65726f2061646472657373206973206e6f7420616c6c6f776564206173206481526020017f657374696e6174696f6e2061646472657373000000000000000000000000000081525060400191505060405180910390fd5b84600601600089858151811015156133d957fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615156134c5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c8152602001807f44657374696e6174696f6e2061646472657373206973206e6f74206f6e65206f81526020017f6620746865206f776e657273000000000000000000000000000000000000000081525060400191505060405180910390fd5b600087848151811015156134d557fe5b9060200190602002015111151561357a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001807f416d6f756e7420746f2062652073656e742073686f756c64206265206772656181526020017f746572207468616e20300000000000000000000000000000000000000000000081525060400191505060405180910390fd5b6135a4878481518110151561358b57fe5b906020019060200201518561307a90919063ffffffff16565b935060018560080160008a868151811015156135bc57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550878381518110151561362557fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff166108fc888581518110151561365657fe5b906020019060200201519081150290604051600060405180830381858888f1935050505015801561368b573d6000803e3d6000fd5b5082806001019350506132da565b613bc5565b6001808111156136aa57fe5b8560020160019054906101000a900460ff1660018111156136c757fe5b1415613bc4578460040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169150600090505b8751811015613bc357600073ffffffffffffffffffffffffffffffffffffffff16888281518110151561372857fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff16141515156137e4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001807f7a65726f2061646472657373206973206e6f7420616c6c6f776564206173206481526020017f657374696e6174696f6e2061646472657373000000000000000000000000000081525060400191505060405180910390fd5b84600601600089838151811015156137f857fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615156138e4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c8152602001807f44657374696e6174696f6e2061646472657373206973206e6f74206f6e65206f81526020017f6620746865206f776e657273000000000000000000000000000000000000000081525060400191505060405180910390fd5b600087828151811015156138f457fe5b90602001906020020151111515613999576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001807f416d6f756e7420746f2062652073656e742073686f756c64206265206772656181526020017f746572207468616e20300000000000000000000000000000000000000000000081525060400191505060405180910390fd5b6139c387828151811015156139aa57fe5b906020019060200201518561307a90919063ffffffff16565b935060018560080160008a848151811015156139db57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb8983815181101515613a6057fe5b906020019060200201518984815181101515613a7857fe5b906020019060200201516040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015613b0757600080fd5b505af1158015613b1b573d6000803e3d6000fd5b505050506040513d6020811015613b3157600080fd5b81019080805190602001909291905050501515613bb6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f546f6b656e207472616e73666572206661696c65642e0000000000000000000081525060200191505060405180910390fd5b80806001019150506136f9565b5b5b83955050505050509392505050565b600080600080600088518a51148015613bee57508a518a51145b1515613c62576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f522c532c56206c656e677468206d69736d617463682e0000000000000000000081525060200191505060405180910390fd5b60197f01000000000000000000000000000000000000000000000000000000000000000260007f0100000000000000000000000000000000000000000000000000000000000000023089898c60405160200180877effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168152600101867effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526001018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401848051906020019060200280838360005b83811015613db6578082015181840152602081019050613d9b565b50505050905001838051906020019060200280838360005b83811015613de9578082015181840152602081019050613dce565b50505050905001826000191660001916815260200196505050505050506040516020818303038152906040526040518082805190602001908083835b602083101515613e4a5780518252602082019150602081019050602083039250613e25565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902060405160200180807f19457468657265756d205369676e6564204d6573736167653a0a333200000000815250601c0182600019166000191681526020019150506040516020818303038152906040526040518082805190602001908083835b602083101515613efb5780518252602082019150602081019050602083039250613ed6565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390209250600091505b895182101561423c576001838c84815181101515613f4957fe5b906020019060200201518c85815181101515613f6157fe5b906020019060200201518c86815181101515613f7957fe5b90602001906020020151604051600081526020016040526040518085600019166000191681526020018460ff1660ff1681526020018360001916600019168152602001826000191660001916815260200194505050505060206040516020810390808403906000865af1158015613ff4573d6000803e3d6000fd5b505050602060405103519050600080896000191660001916815260200190815260200160002060060160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615156140dc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f496e76616c6964207369676e617475726500000000000000000000000000000081525060200191505060405180910390fd5b600080896000191660001916815260200190815260200160002060070160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515156141b9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f53616d65207369676e61747572652073656e742074776963650000000000000081525060200191505060405180910390fd5b60016000808a6000191660001916815260200190815260200160002060070160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508093508180600101925050613f2f565b839450505050509695505050505050565b60008061426383426142a190919063ffffffff16565b905060008463ffffffff16146142955761428e610e108563ffffffff166142c290919063ffffffff16565b8111614298565b60005b91505092915050565b6000808383111515156142b357600080fd5b82840390508091505092915050565b60008060008414156142d757600091506142f9565b82840290508284828115156142e857fe5b041415156142f557600080fd5b8091505b50929150505600a165627a7a72305820d8a2e2322aa1998415905c901361978f998d53b9923633f7fb185f53a9b11c090029", + "sourceMap": "460:20561:0:-;;;1653:1;1619:35;;460:20561;8:9:-1;5:2;;;30:1;27;20:12;5:2;460:20561:0;;;;;;;", + "deployedSourceMap": "460:20561:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3714:701;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7616:579;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12054:1017;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12054:1017:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5363:1030;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5363:1030:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1561:51;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1561:51:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6634:221;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6634:221:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8523:897;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8523:897:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1619:35;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1619:35:0;;;;;;;;;;;;;;;;;;;;;;;9537:194;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9537:194:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;9537:194:0;;;;;;;;;;;;;;;;;10329:1204;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10329:1204:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7095:194;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7095:194:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3714:701;3991:10;2077:1;2043:12;:24;2056:10;2043:24;;;;;;;;;;;;;;;;;:30;;;:35;2035:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4026:5;2410:1;2384:28;;:14;:28;;;;2376:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4056:6;2410:1;2384:28;;:14;:28;;;;2376:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4078:264;4107:5;4126:6;4146:9;4169;4192:12;4218:10;4242:9;4265:8;4287:21;4330:1;4078:15;:264::i;:::-;4385:10;4366:41;;4373:10;4366:41;;;;4397:9;4366:41;;;;;;;;;;;;;;;;;;2446:1;2110;3714:701;;;;;;;;:::o;7616:579::-;7739:10;1907:1;1873:12;:24;1886:10;1873:24;;;;;;;;;;;;;;;;;:30;;;:35;;1852:96;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7773:10;2233:13;2198:48;;;;;;;;:12;:24;2211:10;2198:24;;;;;;;;;;;;;;;;;:31;;;;;;;;;;;;:48;;;;;;;;;2177:117;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7814:10;7826:21;2644:15;2600:59;;;;;;;;:12;:24;2613:10;2600:24;;;;;;;;;;;;;;;;;:40;;;;;;;;;;;;:59;;;;;;;;;2579:125;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7867:10;2812:12;:24;2825:10;2812:24;;;;;;;;;;;;;;;;;:30;;;;;;;;;;;;2798:44;;:10;:44;;;2777:124;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7923:1;7911:9;:13;7903:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8005;8053:9;8005:12;:24;8018:10;8005:24;;;;;;;;;;;;;;;;;:30;;;:47;;:58;;;;:::i;:::-;7972:12;:24;7985:10;7972:24;;;;;;;;;;;;;;;;;:30;;:91;;;;8113:15;8073:12;:24;8086:10;8073:24;;;;;;;;;;;;;;;;;:37;;:55;;;;8166:10;8144:44;;8154:10;8144:44;;;;8178:9;8144:44;;;;;;;;;;;;;;;;;;2714:1;2304;;1958;7616:579;;:::o;12054:1017::-;12324:7;12375:1;12351:26;;:12;:26;;;12347:718;;;12465:8;12495:9;12526:12;12560:5;12587:6;12615:9;12654:4;12427:250;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;12427:250:0;;;12400:291;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;12400:291:0;;;;;;;;;;;;;;;;12393:298;;;;12347:718;12794:8;12824:9;12855:12;12889:5;12916:6;12944:9;12983:4;13010:12;12756:284;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;12756:284:0;;;12729:325;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;12729:325:0;;;;;;;;;;;;;;;;12722:332;;12054:1017;;;;;;;;;;:::o;5363:1030::-;6080:20;5682:10;2077:1;2043:12;:24;2056:10;2043:24;;;;;;;;;;;;;;;;;:30;;;:35;2035:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5717:5;2410:1;2384:28;;:14;:28;;;;2376:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5747:6;2410:1;2384:28;;:14;:28;;;;2376:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5778:12;2410:1;2384:28;;:14;:28;;;;2376:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5807:262;5836:5;5855:6;5875:9;5898;5921:12;5947:10;5971:5;5990:8;6012:21;6047:12;5807:15;:262::i;:::-;6118:12;6080:51;;6163:5;:18;;;6182:10;6202:4;6209:5;6163:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6163:52:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6163:52:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6163:52:0;;;;;;;;;;;;;;;;6142:192;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6368:10;6349:37;;6356:10;6349:37;;;;6380:5;6349:37;;;;;;;;;;;;;;;;;;2446:1;;2110;5363:1030;;;;;;;;;;;:::o;1561:51::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;6634:221::-;6770:4;6797:12;:24;6810:10;6797:24;;;;;;;;;;;;;;;;;:38;;:51;6836:11;6797:51;;;;;;;;;;;;;;;;;;;;;;;;;6790:58;;6634:221;;;;:::o;8523:897::-;8874:20;8654:10;1907:1;1873:12;:24;1886:10;1873:24;;;;;;;;;;;;;;;;;:30;;;:35;;1852:96;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8688:10;2233:13;2198:48;;;;;;;;:12;:24;2211:10;2198:24;;;;;;;;;;;;;;;;;:31;;;;;;;;;;;;:48;;;;;;;;;2177:117;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8729:10;8741:21;2644:15;2600:59;;;;;;;;:12;:24;2613:10;2600:24;;;;;;;;;;;;;;;;;:40;;;;;;;;;;;;:59;;;;;;;;;2579:125;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8782:10;2812:12;:24;2825:10;2812:24;;;;;;;;;;;;;;;;;:30;;;;;;;;;;;;2798:44;;:10;:44;;;2777:124;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8825:1;8817:5;:9;8809:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8925:12;:24;8938:10;8925:24;;;;;;;;;;;;;;;;;:37;;;;;;;;;;;;8874:98;;9004:5;:18;;;9023:12;:24;9036:10;9023:24;;;;;;;;;;;;;;;;;:30;;;;;;;;;;;;9063:4;9070:5;9004:72;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9004:72:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9004:72:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;9004:72:0;;;;;;;;;;;;;;;;8983:211;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9238:54;9286:5;9238:12;:24;9251:10;9238:24;;;;;;;;;;;;;;;;;:30;;;:47;;:54;;;;:::i;:::-;9205:12;:24;9218:10;9205:24;;;;;;;;;;;;;;;;;:30;;:87;;;;9342:15;9302:12;:24;9315:10;9302:24;;;;;;;;;;;;;;;;;:37;;:55;;;;9395:10;9373:40;;9383:10;9373:40;;;;9407:5;9373:40;;;;;;;;;;;;;;;;;;2714:1;2304;;1958;8523:897;;;;:::o;1619:35::-;;;;:::o;9537:194::-;9659:9;9692:18;:32;9711:12;9692:32;;;;;;;;;;;;;;;9685:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9537:194;;;:::o;10329:1204::-;10551:10;1907:1;1873:12;:24;1886:10;1873:24;;;;;;;;;;;;;;;;;:30;;;:35;;1852:96;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10585:10;2233:13;2198:48;;;;;;;;:12;:24;2211:10;2198:24;;;;;;;;;;;;;;;;;:31;;;;;;;;;;;;:48;;;;;;;;;2177:117;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10655:1;10635:12;;:19;;:21;10614:114;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10782:7;;:14;;10759:12;;:19;;:37;10738:139;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10895:153;10927:4;;10895:153;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10945:4;;10895:153;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10963:4;;10895:153;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10981:10;11005:12;;10895:153;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11031:7;;10895:153;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:18;:153::i;:::-;11093:15;11059:12;:24;11072:10;11059:24;;;;;;;;;;;;;;;;;:31;;;:49;;;;;;;;;;;;;;;;;;;;;;;;11232:15;11192:12;:24;11205:10;11192:24;;;;;;;;;;;;;;;;;:37;;:55;;;;11331:12;:24;11344:10;11331:24;;;;;;;;;;;;;;;;;:30;;;11278:49;11293:10;11305:12;;11278:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11319:7;;11278:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:14;:49::i;:::-;:83;11257:202;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11492:10;11483:43;;;;11504:12;;11518:7;;11483:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1958:1;10329:1204;;;;;;;;;;;;:::o;7095:194::-;7218:4;7245:12;:24;7258:10;7245:24;;;;;;;;;;;;;;;;;:30;;:37;7276:5;7245:37;;;;;;;;;;;;;;;;;;;;;;;;;7238:44;;7095:194;;;;:::o;18378:2641::-;18740:6;18731:15;;:5;:15;;;;18723:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18851:1;18843:5;:9;18835:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18989:1;18977:9;:13;;;:31;;;;;19007:1;18994:9;:14;;;;18977:31;18956:140;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19390:1;19377:9;:14;;;:41;;;;19416:1;19395:23;;:9;:23;;;;19377:41;19356:160;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19562:226;19605:8;19631:9;19658:12;19688:5;19711:6;19735:9;19762:12;19562:25;:226::i;:::-;19548:240;;;:10;:240;;;;19527:345;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19910:373;;;;;;;;;20031:5;19910:373;;;;20099:15;19910:373;;;;20058:13;19910:373;;;;;;;;;;;;20218:15;19910:373;;;;;;;;;;;;20139:9;19910:373;;;;;;20176:12;19910:373;;;;;;19943:5;19910:373;;;;;;19970:6;19910:373;;;;;;20260:12;19910:373;;;;;;20001:9;19910:373;;;;;19883:12;:24;19896:10;19883:24;;;;;;;;;;;;;;;;;:400;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20337:4;20294:12;:24;20307:10;20294:24;;;;;;;;;;;;;;;;;:32;;:40;20327:6;20294:40;;;;;;;;;;;;;;;;:47;;;;;;;;;;;;;;;;;;20393:4;20351:12;:24;20364:10;20351:24;;;;;;;;;;;;;;;;;:32;;:39;20384:5;20351:39;;;;;;;;;;;;;;;;:46;;;;;;;;;;;;;;;;;;20505:12;:24;20518:10;20505:24;;;;;;;;;;;;;;;;;:32;;:43;20538:9;20505:43;;;;;;;;;;;;;;;;;;;;;;;;;20504:44;20483:137;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20792:1;20780:9;:13;;;20776:94;;;20855:4;20809:12;:24;20822:10;20809:24;;;;;;;;;;;;;;;;;:32;;:43;20842:9;20809:43;;;;;;;;;;;;;;;;:50;;;;;;;;;;;;;;;;;;20776:94;20888:16;;:18;;;;;;;;;;;;;20917;:25;20936:5;20917:25;;;;;;;;;;;;;;;20948:10;20917:42;;39:1:-1;33:3;27:10;23:18;57:10;52:3;45:23;79:10;72:17;;0:93;20917:42:0;;;;;;;;;;;;;;;;;;;;;;;;;;;20969:18;:26;20988:6;20969:26;;;;;;;;;;;;;;;21001:10;20969:43;;39:1:-1;33:3;27:10;23:18;57:10;52:3;45:23;79:10;72:17;;0:93;20969:43:0;;;;;;;;;;;;;;;;;;;;;;;;;;;18378:2641;;;;;;;;;;:::o;1272:131:2:-;1330:7;1345:9;1361:1;1357;:5;1345:17;;1381:1;1376;:6;;1368:15;;;;;;;;1397:1;1390:8;;1272:131;;;;;:::o;13345:1008:0:-;13566:21;13753:20;13590:152;13621:4;13639;13657;13675:10;13699:12;13725:7;13590:17;:152::i;:::-;13566:176;;13776:130;13808:12;:24;13821:10;13808:24;;;;;;;;;;;;;;;;;:37;;;;;;;;;;;;13859:12;:24;13872:10;13859:24;;;;;;;;;;;;;;;;;:37;;;13776:18;:130::i;:::-;13753:153;;14092:12;:24;14105:10;14092:24;;;;;;;;;;;;;;;;;:34;;;;;;;;;;;;14078:48;;:4;:11;:48;:122;;;;;14132:15;14131:16;:68;;;;14168:12;:24;14181:10;14168:24;;;;;;;;;;;;;;;;;:31;;;;;;;;;;;;14151:48;;:13;:48;;;;14131:68;14078:122;14057:289;;;14237:98;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14057:289;13345:1008;;;;;;;;:::o;14479:1723::-;14627:7;14650:21;14709:24;14815:9;15467:20;15540:9;14674:12;:24;14687:10;14674:24;;;;;;;;;;;;;;;;;14650:48;;14736:1;14709:28;;14773:21;14752:42;;;;;;;;:1;:17;;;;;;;;;;;;:42;;;;;;;;;14748:1414;;;14827:1;14815:13;;14810:577;14834:12;:19;14830:1;:23;14810:577;;;14914:1;14887:29;;:12;14900:1;14887:15;;;;;;;;;;;;;;;;;;:29;;;;14879:92;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14998:1;:9;;:26;15008:12;15021:1;15008:15;;;;;;;;;;;;;;;;;;14998:26;;;;;;;;;;;;;;;;;;;;;;;;;14990:83;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15113:1;15100:7;15108:1;15100:10;;;;;;;;;;;;;;;;;;:14;15092:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15199:32;15220:7;15228:1;15220:10;;;;;;;;;;;;;;;;;;15199:16;:20;;:32;;;;:::i;:::-;15180:51;;15285:4;15250:1;:15;;:32;15266:12;15279:1;15266:15;;;;;;;;;;;;;;;;;;15250:32;;;;;;;;;;;;;;;;:39;;;;;;;;;;;;;;;;;;15336:12;15349:1;15336:15;;;;;;;;;;;;;;;;;;:24;;:36;15361:7;15369:1;15361:10;;;;;;;;;;;;;;;;;;15336:36;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;15336:36:0;14855:3;;;;;;;14810:577;;;14748:1414;;;15429:21;15408:42;;;;;;;;:1;:17;;;;;;;;;;;;:42;;;;;;;;;15404:758;;;15505:1;:14;;;;;;;;;;;;15467:53;;15552:1;15540:13;;15535:617;15557:12;:19;15555:1;:21;15535:617;;;15637:1;15610:29;;:12;15623:1;15610:15;;;;;;;;;;;;;;;;;;:29;;;;15602:92;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15721:1;:9;;:26;15731:12;15744:1;15731:15;;;;;;;;;;;;;;;;;;15721:26;;;;;;;;;;;;;;;;;;;;;;;;;15713:83;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15836:1;15823:7;15831:1;15823:10;;;;;;;;;;;;;;;;;;:14;15815:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15922:32;15943:7;15951:1;15943:10;;;;;;;;;;;;;;;;;;15922:16;:20;;:32;;;;:::i;:::-;15903:51;;16007:4;15972:1;:15;;:32;15988:12;16001:1;15988:15;;;;;;;;;;;;;;;;;;15972:32;;;;;;;;;;;;;;;;:39;;;;;;;;;;;;;;;;;;16067:5;:14;;;16082:12;16095:1;16082:15;;;;;;;;;;;;;;;;;;16099:7;16107:1;16099:10;;;;;;;;;;;;;;;;;;16067:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;16067:43:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;16067:43:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;16067:43:0;;;;;;;;;;;;;;;;16059:78;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15578:3;;;;;;;15535:617;;;15404:758;14748:1414;16179:16;16172:23;;14479:1723;;;;;;;;;;:::o;16387:1581::-;16609:7;16770:19;16888:14;17356:6;17405:17;16669:4;:11;16654:4;:11;:26;:56;;;;;16699:4;:11;16684:4;:11;:26;16654:56;16633:126;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17092:4;17087:10;;17128:1;17123:7;;17164:4;17195:12;17233:7;17266:10;17045:253;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;17045:253:0;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;17045:253:0;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;17045:253:0;;;17014:302;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;17014:302:0;;;;;;;;;;;;;;;;16928:402;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;16928:402:0;;;16905:435;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;16905:435:0;;;;;;;;;;;;;;;;16888:452;;17365:1;17356:10;;17351:582;17372:4;:11;17368:1;:15;17351:582;;;17425:122;17452:6;17476:4;17481:1;17476:7;;;;;;;;;;;;;;;;;;17501:4;17506:1;17501:7;;;;;;;;;;;;;;;;;;17526:4;17531:1;17526:7;;;;;;;;;;;;;;;;;;17425:122;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;17425:122:0;;;;;;;;17405:142;;17587:12;:24;17600:10;17587:24;;;;;;;;;;;;;;;;;:32;;:43;17620:9;17587:43;;;;;;;;;;;;;;;;;;;;;;;;;17562:120;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17722:12;:24;17735:10;17722:24;;;;;;;;;;;;;;;;;:30;;:41;17753:9;17722:41;;;;;;;;;;;;;;;;;;;;;;;;;17721:42;17696:127;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17881:4;17837:12;:24;17850:10;17837:24;;;;;;;;;;;;;;;;;:30;;:41;17868:9;17837:41;;;;;;;;;;;;;;;;:48;;;;;;;;;;;;;;;;;;17913:9;17899:23;;17385:3;;;;;;;17351:582;;;17950:11;17943:18;;16387:1581;;;;;;;;;;;;:::o;17974:317::-;18113:4;18133:17;18153:21;18161:12;18153:3;:7;;:21;;;;:::i;:::-;18133:41;;18221:1;18205:12;:17;;;:69;;18243:31;18269:4;18251:12;18243:21;;:25;;:31;;;;:::i;:::-;18231:9;:43;18205:69;;;18225:5;18205:69;18184:100;;17974:317;;;;;:::o;1078:131:2:-;1136:7;1172:9;1164:1;1159;:6;;1151:15;;;;;;;;1188:1;1184;:5;1172:17;;1203:1;1196:8;;1078:131;;;;;:::o;204:381::-;262:7;523:9;491:1;486;:6;482:35;;;509:1;502:8;;;;482:35;539:1;535;:5;523:17;;563:1;558;554;:5;;;;;;;;:10;546:19;;;;;;;;579:1;572:8;;204:381;;;;;;:::o", + "source": "pragma solidity 0.4.24;\n\nimport \"openzeppelin-solidity/contracts/math/SafeMath.sol\";\n\nimport \"../token/ITokenContract.sol\";\n\n\n/**\n* @dev Supports ERC20 tokens\n* The escrow smart contract for the open bazaar trades in Ethereum\n* The smart contract is designed keeping in mind the current wallet interface of the OB-core\n* https://github.com/OpenBazaar/wallet-interface/blob/master/wallet.go\n* Current wallet interface strictly adheres to UTXO(bitcoin) model\n*/\ncontract Escrow_v1_0 {\n\n using SafeMath for uint256;\n\n enum Status {FUNDED, RELEASED}\n\n enum TransactionType {ETHER, TOKEN}\n\n event Executed(\n bytes32 indexed scriptHash,\n address[] destinations,\n uint256[] amounts\n );\n\n event FundAdded(\n bytes32 indexed scriptHash,\n address indexed from,\n uint256 valueAdded\n );\n\n event Funded(\n bytes32 indexed scriptHash, \n address indexed from, \n uint256 value\n );\n\n struct Transaction {\n uint256 value;\n uint256 lastModified;//Time at which transaction was last modified\n Status status;\n TransactionType transactionType;\n uint8 threshold;\n uint32 timeoutHours;\n address buyer;\n address seller;\n address tokenAddress;//Token address in case of token transfer\n address moderator;\n mapping(address=>bool) isOwner;//to keep track of owners.\n mapping(address=>bool) voted;//to keep track of who all voted\n mapping(address=>bool) beneficiaries;//Benefeciaries of execution\n }\n\n mapping(bytes32 => Transaction) public transactions;\n\n uint256 public transactionCount = 0;\n\n //Contains mapping between each party and all of their transactions\n mapping(address => bytes32[]) private partyVsTransaction;\n\n modifier transactionExist(bytes32 scriptHash) {\n require(\n transactions[scriptHash].value != 0, \"Transaction does not exist\"\n );\n _;\n }\n\n modifier transactionDoesNotExist(bytes32 scriptHash) {\n require(transactions[scriptHash].value == 0, \"Transaction exist\");\n _;\n }\n\n modifier inFundedState(bytes32 scriptHash) {\n require(\n transactions[scriptHash].status == Status.FUNDED, \"Transaction is not in FUNDED state\"\n );\n _;\n }\n\n modifier nonZeroAddress(address addressToCheck) {\n require(addressToCheck != address(0), \"Zero address passed\");\n _;\n }\n\n modifier checkTransactionType(\n bytes32 scriptHash,\n TransactionType transactionType\n )\n {\n require(\n transactions[scriptHash].transactionType == transactionType, \"Transaction type does not match\"\n );\n _;\n }\n\n modifier onlyBuyer(bytes32 scriptHash) {\n require(\n msg.sender == transactions[scriptHash].buyer, \"The initiator of the transaction is not buyer\"\n );\n _;\n }\n\n /**\n * @dev Add new transaction in the contract\n * @param buyer The buyer of the transaction\n * @param seller The seller of the listing associated with the transaction\n * @param moderator Moderator for this transaction\n * @param threshold Minimum number of signatures required to released funds\n * @param timeoutHours Hours after which seller can release funds into his favour by signing transaction unilaterally\n * @param scriptHash keccak256 hash of the redeem script\n * @param uniqueId bytes20 unique id for the transaction, generated by ETH wallet\n * Redeem Script format will be following\n \n * Pass amount of the ethers to be put in escrow\n */\n function addTransaction(\n address buyer,\n address seller,\n address moderator,\n uint8 threshold,\n uint32 timeoutHours,\n bytes32 scriptHash,\n bytes20 uniqueId\n )\n external\n payable\n transactionDoesNotExist(scriptHash)\n nonZeroAddress(buyer)\n nonZeroAddress(seller)\n {\n _addTransaction(\n buyer,\n seller,\n moderator,\n threshold,\n timeoutHours,\n scriptHash,\n msg.value,\n uniqueId,\n TransactionType.ETHER,\n address(0)\n );\n \n emit Funded(scriptHash, msg.sender, msg.value);\n\n }\n\n /**\n * @dev Add new transaction in the contract\n * @param buyer The buyer of the transaction\n * @param seller The seller of the listing associated with the transaction\n * @param moderator Moderator for this transaction\n * @param threshold Minimum number of signatures required to released funds\n * @param timeoutHours Hours after which seller can release funds into his favour by signing transaction unilaterally\n * @param scriptHash keccak256 hash of the redeem script\n * @param value Amount of tokens to be put in escrow\n * @param uniqueId bytes20 unique id for the transaction, generated by ETH wallet\n * @param tokenAddress Address of the token to be used\n * Redeem Script format will be following\n \n * Approve escrow contract to spend amount of token on sender's behalf\n */\n function addTokenTransaction(\n address buyer,\n address seller,\n address moderator,\n uint8 threshold,\n uint32 timeoutHours,\n bytes32 scriptHash,\n uint256 value,\n bytes20 uniqueId,\n address tokenAddress\n )\n external\n transactionDoesNotExist(scriptHash)\n nonZeroAddress(buyer)\n nonZeroAddress(seller)\n nonZeroAddress(tokenAddress)\n {\n\n _addTransaction(\n buyer,\n seller,\n moderator,\n threshold,\n timeoutHours,\n scriptHash,\n value,\n uniqueId,\n TransactionType.TOKEN,\n tokenAddress\n );\n\n ITokenContract token = ITokenContract(tokenAddress);\n\n require(\n token.transferFrom(msg.sender, address(this), value),\n \"Token transfer failed, maybe you did not approve escrow contract to spend on behalf of sender\"\n );\n emit Funded(scriptHash, msg.sender, value);\n }\n\n /**\n * @dev This method will check whether given address was a beneficiary of transaction execution or not\n * @param scriptHash script hash of the transaction\n * @param beneficiary Beneficiary address to be checked\n */\n function checkBeneficiary(\n bytes32 scriptHash,\n address beneficiary\n )\n external\n view\n returns (bool)\n {\n return transactions[scriptHash].beneficiaries[beneficiary];\n }\n\n /**\n * @dev This method will check whether given party has voted or not\n * @param scriptHash script hash of the transaction\n * @param party Address of the party whose vote has to be checked\n * @return bool vote\n */\n function checkVote(\n bytes32 scriptHash,\n address party\n )\n external\n view\n returns (bool)\n {\n return transactions[scriptHash].voted[party];\n }\n\n /**\n * @dev Allows buyer of the transaction to add more funds(ether) in the transaction. \n * This will help to cater scenarios wherein initially buyer missed to fund transaction as required\n * @param scriptHash script hash of the transaction\n * Only buyer of the transaction can invoke this method\n */\n function addFundsToTransaction(\n bytes32 scriptHash\n )\n external\n payable\n transactionExist(scriptHash)\n inFundedState(scriptHash)\n checkTransactionType(scriptHash, TransactionType.ETHER)\n onlyBuyer(scriptHash)\n \n {\n\n require(msg.value > 0, \"Value must be greater than zero.\");\n\n transactions[scriptHash].value = transactions[scriptHash].value\n .add(msg.value);\n transactions[scriptHash].lastModified = block.timestamp;\n\n emit FundAdded(scriptHash, msg.sender, msg.value);\n }\n\n /**\n * @dev Allows buyer of the transaction to add more funds(Tokens) in the transaction. \n * This will help to cater scenarios wherein initially buyer missed to fund transaction as required\n * @param scriptHash script hash of the transaction\n * Only buyer of the transaction can invoke this method\n */\n function addTokensToTransaction(\n bytes32 scriptHash,\n uint256 value\n )\n external\n transactionExist(scriptHash)\n inFundedState(scriptHash)\n checkTransactionType(scriptHash, TransactionType.TOKEN)\n onlyBuyer(scriptHash)\n {\n\n require(value > 0, \"Value must be greater than zero.\");\n\n ITokenContract token = ITokenContract(\n transactions[scriptHash].tokenAddress\n );\n\n require(\n token.transferFrom(transactions[scriptHash].buyer, address(this), value),\n \"Token transfer failed, maybe you did not approve escrow contract to spend on behalf of buyer\"\n );\n\n transactions[scriptHash].value = transactions[scriptHash].value\n .add(value);\n transactions[scriptHash].lastModified = block.timestamp;\n\n emit FundAdded(scriptHash, msg.sender, value);\n }\n\n /**\n *@dev Returns all transaction ids for a party\n *@param partyAddress Address of the party\n */\n function getAllTransactionsForParty(\n address partyAddress\n ) \n external \n view \n returns (bytes32[]) \n {\n return partyVsTransaction[partyAddress];\n }\n\n /**\n *@dev This method will be used to release funds associated with the transaction\n * Please see specs https://github.com/OpenBazaar/smart-contracts/blob/master/contracts/escrow/EscrowSpec.md\n *@param sigV Array containing V component of all the signatures\n *@param sigR Array containing R component of all the signatures\n *@param signS Array containing S component of all the signatures\n *@param scriptHash script hash of the transaction\n *@param destinations List of addresses who will receive funds\n *@param amounts amount released to each destination\n */\n function execute(\n uint8[] sigV,\n bytes32[] sigR,\n bytes32[] sigS,\n bytes32 scriptHash,\n address[] destinations,\n uint256[] amounts\n )\n external\n transactionExist(scriptHash)\n inFundedState(scriptHash)\n { \n require(\n destinations.length>0, \n \"Number of destinations must be greater than 0\"\n );\n require(\n destinations.length == amounts.length,\n \"Number of destinations must match number of values sent\"\n );\n \n _verifyTransaction(\n sigV,\n sigR,\n sigS,\n scriptHash,\n destinations,\n amounts\n );\n\n transactions[scriptHash].status = Status.RELEASED;\n //Last modified timestamp modified, which will be used by rewards\n transactions[scriptHash].lastModified = block.timestamp;\n require(\n _transferFunds(scriptHash, destinations, amounts) == transactions[scriptHash].value,\n \"Total value to be released must be equal to the transaction escrow value\"\n );\n \n emit Executed(scriptHash, destinations, amounts);\n }\n\n\n /**\n *@dev Method for calculating script hash. Calculation will depend upon the type of transaction\n * ETHER Type transaction-:\n * Script Hash- keccak256(uniqueId, threshold, timeoutHours, buyer, seller, moderator, multiSigContractAddress)\n * TOKEN Type transaction\n * Script Hash- keccak256(uniqueId, threshold, timeoutHours, buyer, seller, moderator, multiSigContractAddress, tokenAddress)\n * Client can use this method to verify whether it has calculated correct script hash or not\n */\n function calculateRedeemScriptHash(\n bytes20 uniqueId,\n uint8 threshold,\n uint32 timeoutHours,\n address buyer,\n address seller,\n address moderator,\n address tokenAddress\n )\n public\n view\n returns (bytes32)\n {\n if (tokenAddress == address(0)) {\n return keccak256(\n abi.encodePacked(\n uniqueId,\n threshold,\n timeoutHours,\n buyer,\n seller,\n moderator,\n address(this)\n )\n );\n } else {\n return keccak256(\n abi.encodePacked(\n uniqueId,\n threshold,\n timeoutHours,\n buyer,\n seller,\n moderator,\n address(this),\n tokenAddress\n )\n );\n }\n }\n\n /**\n * @dev This methods checks validity of transaction\n * 1. Verify Signatures\n * 2. Check if minimum number of signatures has been acquired\n * 3. If above condition is false, check if time lock is expired and the execution is signed by seller\n */\n function _verifyTransaction(\n uint8[] sigV,\n bytes32[] sigR,\n bytes32[] sigS,\n bytes32 scriptHash,\n address[] destinations,\n uint256[] amounts\n )\n private\n {\n address lastRecovered = _verifySignatures(\n sigV,\n sigR,\n sigS,\n scriptHash,\n destinations,\n amounts\n );\n\n bool timeLockExpired = _isTimeLockExpired(\n transactions[scriptHash].timeoutHours,\n transactions[scriptHash].lastModified\n );\n\n //if Minimum number of signatures are not gathered and timelock has not expired or transaction was not signed by seller then revert\n if (\n sigV.length < transactions[scriptHash].threshold && (!timeLockExpired || lastRecovered != transactions[scriptHash].seller)\n )\n {\n revert(\"Minimum number of signatures are not collected and time lock expiry conditions not met!!\");\n }\n\n }\n\n /**\n *@dev Private method to transfer funds to the destination addresses on the basis of transaction type\n */\n function _transferFunds(\n bytes32 scriptHash,\n address[]destinations,\n uint256[]amounts\n )\n private\n returns (uint256)\n {\n Transaction storage t = transactions[scriptHash];\n\n uint256 valueTransferred = 0;\n\n if (t.transactionType == TransactionType.ETHER) {\n for (uint256 i = 0; i < destinations.length; i++) {\n\n require(destinations[i] != address(0), \"zero address is not allowed as destination address\");\n\n require(t.isOwner[destinations[i]], \"Destination address is not one of the owners\");\n\n require(amounts[i] > 0, \"Amount to be sent should be greater than 0\");\n\n valueTransferred = valueTransferred.add(amounts[i]);\n\n t.beneficiaries[destinations[i]] = true;//add receiver as beneficiary\n destinations[i].transfer(amounts[i]);\n }\n\n } else if (t.transactionType == TransactionType.TOKEN) {\n\n ITokenContract token = ITokenContract(t.tokenAddress);\n\n for (uint256 j = 0; j 0, \"Amount to be sent should be greater than 0\");\n\n valueTransferred = valueTransferred.add(amounts[j]);\n t.beneficiaries[destinations[j]] = true;//add receiver as beneficiary\n\n require(token.transfer(destinations[j], amounts[j]), \"Token transfer failed.\");\n }\n } \n return valueTransferred;\n }\n\n //to check whether the signatures are valid or not and if consensus was reached\n //returns the last address recovered, in case of timeout this must be the sender's address\n function _verifySignatures(\n uint8[] sigV,\n bytes32[] sigR,\n bytes32[] sigS,\n bytes32 scriptHash,\n address[] destinations,\n uint256[]amounts\n )\n private\n returns (address)\n {\n\n require(\n sigR.length == sigS.length && sigR.length == sigV.length, \n \"R,S,V length mismatch.\"\n );\n\n address lastAddress;\n\n // Follows ERC191 signature scheme: https://github.com/ethereum/EIPs/issues/191\n bytes32 txHash = keccak256(\n abi.encodePacked(\n \"\\x19Ethereum Signed Message:\\n32\",\n keccak256(\n abi.encodePacked(\n byte(0x19),\n byte(0),\n address(this),\n destinations,\n amounts,\n scriptHash\n )\n )\n )\n );\n\n for (uint i = 0; i < sigR.length; i++) {\n\n address recovered = ecrecover(\n txHash,\n sigV[i],\n sigR[i],\n sigS[i]\n );\n\n require(\n transactions[scriptHash].isOwner[recovered], \n \"Invalid signature\"\n );\n require(\n !transactions[scriptHash].voted[recovered], \n \"Same signature sent twice\"\n );\n transactions[scriptHash].voted[recovered] = true;\n lastAddress = recovered;\n }\n\n return lastAddress;\n }\n\n function _isTimeLockExpired(\n uint32 timeoutHours,\n uint256 lastModified\n )\n private\n view\n returns (bool)\n {\n uint256 timeSince = now.sub(lastModified);\n return (\n timeoutHours == 0 ? false:timeSince > uint256(timeoutHours).mul(3600)\n );\n }\n\n /**\n * Private method to add transaction to reduce code redundancy\n */\n function _addTransaction(\n address buyer,\n address seller,\n address moderator,\n uint8 threshold,\n uint32 timeoutHours,\n bytes32 scriptHash,\n uint256 value,\n bytes20 uniqueId,\n TransactionType transactionType,\n address tokenAddress\n )\n private\n { \n require(buyer != seller, \"Buyer and seller are same\");\n\n //value passed should be greater than 0\n require(value > 0, \"Value passed is 0\");\n\n // For now allowing 0 moderator to support 1-2 multisig wallet\n require(\n threshold > 0 && threshold <= 3, \n \"Threshold cannot be greater than 3 and must be greater than 0\"\n );\n\n //if threshold is 1 then moderator can be passed as zero address or any other address\n //(it won't matter apart from scripthash since we wont add moderator as one of the owner),\n //otherwise moderator should be a valid address\n require(\n threshold == 1 || moderator != address(0),\n \"Either threshold should be 1 or valid moderator address should be passed\"\n );\n\n require(\n scriptHash == calculateRedeemScriptHash(\n uniqueId,\n threshold,\n timeoutHours,\n buyer,\n seller,\n moderator,\n tokenAddress\n ), \n \"Calculated script hash does not match passed script hash.\"\n );\n\n transactions[scriptHash] = Transaction({\n buyer: buyer,\n seller: seller,\n moderator: moderator,\n value: value,\n status: Status.FUNDED,\n lastModified: block.timestamp,\n threshold: threshold,\n timeoutHours: timeoutHours,\n transactionType:transactionType,\n tokenAddress:tokenAddress\n });\n\n transactions[scriptHash].isOwner[seller] = true;\n transactions[scriptHash].isOwner[buyer] = true; \n\n //Check if buyer or seller are not passed as moderator\n require(\n !transactions[scriptHash].isOwner[moderator], \n \"Either buyer or seller is passed as moderator\"\n );\n\n //set moderator as one of the owners only if threshold is greater than 1 otherwise only buyer and seller should be able to release funds\n if (threshold > 1) {\n transactions[scriptHash].isOwner[moderator] = true;\n }\n \n\n transactionCount++;\n\n partyVsTransaction[buyer].push(scriptHash);\n partyVsTransaction[seller].push(scriptHash);\n }\n}\n", "sourcePath": "/home/sameep/freelancing-projects/toptal/open baazar/publicRepo/smart-contracts/contracts/escrow/Escrow_v1_0.sol", "ast": { "absolutePath": "/home/sameep/freelancing-projects/toptal/open baazar/publicRepo/smart-contracts/contracts/escrow/Escrow_v1_0.sol", @@ -2704,7 +2704,7 @@ "body": { "id": 233, "nodeType": "Block", - "src": "4056:347:0", + "src": "4068:347:0", "statements": [ { "expression": { @@ -2717,7 +2717,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 184, - "src": "4095:5:0", + "src": "4107:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2730,7 +2730,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 186, - "src": "4114:6:0", + "src": "4126:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2743,7 +2743,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 188, - "src": "4134:9:0", + "src": "4146:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2756,7 +2756,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 190, - "src": "4157:9:0", + "src": "4169:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -2769,7 +2769,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 192, - "src": "4180:12:0", + "src": "4192:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -2782,7 +2782,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 194, - "src": "4206:10:0", + "src": "4218:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -2797,7 +2797,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1397, - "src": "4230:3:0", + "src": "4242:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -2811,7 +2811,7 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "4230:9:0", + "src": "4242:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2824,7 +2824,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 196, - "src": "4253:8:0", + "src": "4265:8:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -2839,7 +2839,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12, - "src": "4275:15:0", + "src": "4287:15:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_TransactionType_$12_$", "typeString": "type(enum Escrow_v1_0.TransactionType)" @@ -2853,7 +2853,7 @@ "memberName": "ETHER", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "4275:21:0", + "src": "4287:21:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -2872,7 +2872,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "4318:1:0", + "src": "4330:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -2894,7 +2894,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "4310:7:0", + "src": "4322:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" @@ -2909,7 +2909,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4310:10:0", + "src": "4322:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2964,7 +2964,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1223, - "src": "4066:15:0", + "src": "4078:15:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_address_$_t_uint8_$_t_uint32_$_t_bytes32_$_t_uint256_$_t_bytes20_$_t_enum$_TransactionType_$12_$_t_address_$returns$__$", "typeString": "function (address,address,address,uint8,uint32,bytes32,uint256,bytes20,enum Escrow_v1_0.TransactionType,address)" @@ -2978,7 +2978,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4066:264:0", + "src": "4078:264:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -2986,7 +2986,7 @@ }, "id": 224, "nodeType": "ExpressionStatement", - "src": "4066:264:0" + "src": "4078:264:0" }, { "eventCall": { @@ -2999,7 +2999,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 194, - "src": "4361:10:0", + "src": "4373:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -3014,7 +3014,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1397, - "src": "4373:3:0", + "src": "4385:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -3028,7 +3028,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "4373:10:0", + "src": "4385:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3043,7 +3043,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1397, - "src": "4385:3:0", + "src": "4397:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -3057,7 +3057,7 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "4385:9:0", + "src": "4397:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3084,7 +3084,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 38, - "src": "4354:6:0", + "src": "4366:6:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (bytes32,address,uint256)" @@ -3098,7 +3098,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4354:41:0", + "src": "4366:41:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -3106,11 +3106,11 @@ }, "id": 232, "nodeType": "EmitStatement", - "src": "4349:46:0" + "src": "4361:46:0" } ] }, - "documentation": "dev Add new transaction in the contract\nparam buyer The buyer of the transaction\nparam seller The seller of the listing associated with the transaction\nparam moderator Moderator for this transaction\nparam scriptHash keccak256 hash of the redeem script\nparam threshold Minimum number of signatures required to released funds\nparam timeoutHours Hours after which seller can release funds into his favour by signing transaction unilaterally\nparam uniqueId bytes20 unique id for the transaction, generated by ETH wallet\nedeem Script format will be following\n\nass amount of the ethers to be put in escrow", + "documentation": "@dev Add new transaction in the contract\n@param buyer The buyer of the transaction\n@param seller The seller of the listing associated with the transaction\n@param moderator Moderator for this transaction\n@param threshold Minimum number of signatures required to released funds\n@param timeoutHours Hours after which seller can release funds into his favour by signing transaction unilaterally\n@param scriptHash keccak256 hash of the redeem script\n@param uniqueId bytes20 unique id for the transaction, generated by ETH wallet\nRedeem Script format will be following\n\nPass amount of the ethers to be put in escrow", "id": 234, "implemented": true, "isConstructor": false, @@ -3125,7 +3125,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 194, - "src": "3979:10:0", + "src": "3991:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -3140,14 +3140,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 115, - "src": "3955:23:0", + "src": "3967:23:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "3955:35:0" + "src": "3967:35:0" }, { "arguments": [ @@ -3158,7 +3158,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 184, - "src": "4014:5:0", + "src": "4026:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3173,14 +3173,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 147, - "src": "3999:14:0", + "src": "4011:14:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_address_$", "typeString": "modifier (address)" } }, "nodeType": "ModifierInvocation", - "src": "3999:21:0" + "src": "4011:21:0" }, { "arguments": [ @@ -3191,7 +3191,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 186, - "src": "4044:6:0", + "src": "4056:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3206,14 +3206,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 147, - "src": "4029:14:0", + "src": "4041:14:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_address_$", "typeString": "modifier (address)" } }, "nodeType": "ModifierInvocation", - "src": "4029:22:0" + "src": "4041:22:0" } ], "name": "addTransaction", @@ -3228,7 +3228,7 @@ "name": "buyer", "nodeType": "VariableDeclaration", "scope": 234, - "src": "3735:13:0", + "src": "3747:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3239,7 +3239,7 @@ "id": 183, "name": "address", "nodeType": "ElementaryTypeName", - "src": "3735:7:0", + "src": "3747:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3254,7 +3254,7 @@ "name": "seller", "nodeType": "VariableDeclaration", "scope": 234, - "src": "3758:14:0", + "src": "3770:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3265,7 +3265,7 @@ "id": 185, "name": "address", "nodeType": "ElementaryTypeName", - "src": "3758:7:0", + "src": "3770:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3280,7 +3280,7 @@ "name": "moderator", "nodeType": "VariableDeclaration", "scope": 234, - "src": "3782:17:0", + "src": "3794:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3291,7 +3291,7 @@ "id": 187, "name": "address", "nodeType": "ElementaryTypeName", - "src": "3782:7:0", + "src": "3794:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3306,7 +3306,7 @@ "name": "threshold", "nodeType": "VariableDeclaration", "scope": 234, - "src": "3809:15:0", + "src": "3821:15:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3317,7 +3317,7 @@ "id": 189, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "3809:5:0", + "src": "3821:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -3332,7 +3332,7 @@ "name": "timeoutHours", "nodeType": "VariableDeclaration", "scope": 234, - "src": "3834:19:0", + "src": "3846:19:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3343,7 +3343,7 @@ "id": 191, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "3834:6:0", + "src": "3846:6:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -3358,7 +3358,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 234, - "src": "3863:18:0", + "src": "3875:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3369,7 +3369,7 @@ "id": 193, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "3863:7:0", + "src": "3875:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -3384,7 +3384,7 @@ "name": "uniqueId", "nodeType": "VariableDeclaration", "scope": 234, - "src": "3891:16:0", + "src": "3903:16:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3395,7 +3395,7 @@ "id": 195, "name": "bytes20", "nodeType": "ElementaryTypeName", - "src": "3891:7:0", + "src": "3903:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -3405,17 +3405,17 @@ "visibility": "internal" } ], - "src": "3725:188:0" + "src": "3737:188:0" }, "payable": true, "returnParameters": { "id": 207, "nodeType": "ParameterList", "parameters": [], - "src": "4056:0:0" + "src": "4068:0:0" }, "scope": 1224, - "src": "3702:701:0", + "src": "3714:701:0", "stateMutability": "payable", "superFunction": null, "visibility": "external" @@ -3424,7 +3424,7 @@ "body": { "id": 307, "nodeType": "Block", - "src": "5770:597:0", + "src": "5796:597:0", "statements": [ { "expression": { @@ -3437,7 +3437,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 236, - "src": "5810:5:0", + "src": "5836:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3450,7 +3450,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 238, - "src": "5829:6:0", + "src": "5855:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3463,7 +3463,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 240, - "src": "5849:9:0", + "src": "5875:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3476,7 +3476,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 242, - "src": "5872:9:0", + "src": "5898:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -3489,7 +3489,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 244, - "src": "5895:12:0", + "src": "5921:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -3502,7 +3502,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 246, - "src": "5921:10:0", + "src": "5947:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -3515,7 +3515,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 248, - "src": "5945:5:0", + "src": "5971:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3528,7 +3528,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 250, - "src": "5964:8:0", + "src": "5990:8:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -3543,7 +3543,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12, - "src": "5986:15:0", + "src": "6012:15:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_TransactionType_$12_$", "typeString": "type(enum Escrow_v1_0.TransactionType)" @@ -3557,7 +3557,7 @@ "memberName": "TOKEN", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "5986:21:0", + "src": "6012:21:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -3570,7 +3570,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 252, - "src": "6021:12:0", + "src": "6047:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3625,7 +3625,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1223, - "src": "5781:15:0", + "src": "5807:15:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_address_$_t_uint8_$_t_uint32_$_t_bytes32_$_t_uint256_$_t_bytes20_$_t_enum$_TransactionType_$12_$_t_address_$returns$__$", "typeString": "function (address,address,address,uint8,uint32,bytes32,uint256,bytes20,enum Escrow_v1_0.TransactionType,address)" @@ -3639,7 +3639,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5781:262:0", + "src": "5807:262:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -3647,7 +3647,7 @@ }, "id": 280, "nodeType": "ExpressionStatement", - "src": "5781:262:0" + "src": "5807:262:0" }, { "assignments": [ @@ -3660,7 +3660,7 @@ "name": "token", "nodeType": "VariableDeclaration", "scope": 308, - "src": "6054:20:0", + "src": "6080:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3673,7 +3673,7 @@ "name": "ITokenContract", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 1254, - "src": "6054:14:0", + "src": "6080:14:0", "typeDescriptions": { "typeIdentifier": "t_contract$_ITokenContract_$1254", "typeString": "contract ITokenContract" @@ -3694,7 +3694,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 252, - "src": "6092:12:0", + "src": "6118:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3713,7 +3713,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1254, - "src": "6077:14:0", + "src": "6103:14:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_ITokenContract_$1254_$", "typeString": "type(contract ITokenContract)" @@ -3727,14 +3727,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6077:28:0", + "src": "6103:28:0", "typeDescriptions": { "typeIdentifier": "t_contract$_ITokenContract_$1254", "typeString": "contract ITokenContract" } }, "nodeType": "VariableDeclarationStatement", - "src": "6054:51:0" + "src": "6080:51:0" }, { "expression": { @@ -3752,7 +3752,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1397, - "src": "6156:3:0", + "src": "6182:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -3766,7 +3766,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "6156:10:0", + "src": "6182:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3782,7 +3782,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1414, - "src": "6176:4:0", + "src": "6202:4:0", "typeDescriptions": { "typeIdentifier": "t_contract$_Escrow_v1_0_$1224", "typeString": "contract Escrow_v1_0" @@ -3802,7 +3802,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "6168:7:0", + "src": "6194:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" @@ -3817,7 +3817,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6168:13:0", + "src": "6194:13:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3830,7 +3830,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 248, - "src": "6183:5:0", + "src": "6209:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3859,7 +3859,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 282, - "src": "6137:5:0", + "src": "6163:5:0", "typeDescriptions": { "typeIdentifier": "t_contract$_ITokenContract_$1254", "typeString": "contract ITokenContract" @@ -3873,7 +3873,7 @@ "memberName": "transferFrom", "nodeType": "MemberAccess", "referencedDeclaration": 1253, - "src": "6137:18:0", + "src": "6163:18:0", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", "typeString": "function (address,address,uint256) external returns (bool)" @@ -3887,7 +3887,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6137:52:0", + "src": "6163:52:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -3903,7 +3903,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "6203:95:0", + "src": "6229:95:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_d81b627ac67759234197a5bdf4d9f7d33298e824ce7bd47e08ce9919cd96c696", @@ -3931,7 +3931,7 @@ 1401 ], "referencedDeclaration": 1401, - "src": "6116:7:0", + "src": "6142:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -3945,7 +3945,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6116:192:0", + "src": "6142:192:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -3953,7 +3953,7 @@ }, "id": 299, "nodeType": "ExpressionStatement", - "src": "6116:192:0" + "src": "6142:192:0" }, { "eventCall": { @@ -3966,7 +3966,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 246, - "src": "6330:10:0", + "src": "6356:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -3981,7 +3981,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1397, - "src": "6342:3:0", + "src": "6368:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -3995,7 +3995,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "6342:10:0", + "src": "6368:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4008,7 +4008,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 248, - "src": "6354:5:0", + "src": "6380:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4035,7 +4035,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 38, - "src": "6323:6:0", + "src": "6349:6:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (bytes32,address,uint256)" @@ -4049,7 +4049,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6323:37:0", + "src": "6349:37:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -4057,11 +4057,11 @@ }, "id": 306, "nodeType": "EmitStatement", - "src": "6318:42:0" + "src": "6344:42:0" } ] }, - "documentation": "dev Add new transaction in the contract\nparam buyer The buyer of the transaction\nparam seller The seller of the listing associated with the transaction\nparam moderator Moderator for this transaction\nparam scriptHash keccak256 hash of the redeem script\nparam threshold Minimum number of signatures required to released funds\nparam timeoutHours Hours after which seller can release funds into his favour by signing transaction unilaterally\nparam value Amount of tokens to be put in escrow\nparam uniqueId bytes20 unique id for the transaction, generated by ETH wallet\nparam tokenAddress Address of the token to be used\nedeem Script format will be following\n\npprove escrow contract to spend amount of token on sender's behalf", + "documentation": "@dev Add new transaction in the contract\n@param buyer The buyer of the transaction\n@param seller The seller of the listing associated with the transaction\n@param moderator Moderator for this transaction\n@param threshold Minimum number of signatures required to released funds\n@param timeoutHours Hours after which seller can release funds into his favour by signing transaction unilaterally\n@param scriptHash keccak256 hash of the redeem script\n@param value Amount of tokens to be put in escrow\n@param uniqueId bytes20 unique id for the transaction, generated by ETH wallet\n@param tokenAddress Address of the token to be used\nRedeem Script format will be following\n\nApprove escrow contract to spend amount of token on sender's behalf", "id": 308, "implemented": true, "isConstructor": false, @@ -4076,7 +4076,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 246, - "src": "5656:10:0", + "src": "5682:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -4091,14 +4091,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 115, - "src": "5632:23:0", + "src": "5658:23:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "5632:35:0" + "src": "5658:35:0" }, { "arguments": [ @@ -4109,7 +4109,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 236, - "src": "5691:5:0", + "src": "5717:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4124,14 +4124,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 147, - "src": "5676:14:0", + "src": "5702:14:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_address_$", "typeString": "modifier (address)" } }, "nodeType": "ModifierInvocation", - "src": "5676:21:0" + "src": "5702:21:0" }, { "arguments": [ @@ -4142,7 +4142,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 238, - "src": "5721:6:0", + "src": "5747:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4157,14 +4157,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 147, - "src": "5706:14:0", + "src": "5732:14:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_address_$", "typeString": "modifier (address)" } }, "nodeType": "ModifierInvocation", - "src": "5706:22:0" + "src": "5732:22:0" }, { "arguments": [ @@ -4175,7 +4175,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 252, - "src": "5752:12:0", + "src": "5778:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4190,14 +4190,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 147, - "src": "5737:14:0", + "src": "5763:14:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_address_$", "typeString": "modifier (address)" } }, "nodeType": "ModifierInvocation", - "src": "5737:28:0" + "src": "5763:28:0" } ], "name": "addTokenTransaction", @@ -4212,7 +4212,7 @@ "name": "buyer", "nodeType": "VariableDeclaration", "scope": 308, - "src": "5375:13:0", + "src": "5401:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4223,7 +4223,7 @@ "id": 235, "name": "address", "nodeType": "ElementaryTypeName", - "src": "5375:7:0", + "src": "5401:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4238,7 +4238,7 @@ "name": "seller", "nodeType": "VariableDeclaration", "scope": 308, - "src": "5398:14:0", + "src": "5424:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4249,7 +4249,7 @@ "id": 237, "name": "address", "nodeType": "ElementaryTypeName", - "src": "5398:7:0", + "src": "5424:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4264,7 +4264,7 @@ "name": "moderator", "nodeType": "VariableDeclaration", "scope": 308, - "src": "5422:17:0", + "src": "5448:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4275,7 +4275,7 @@ "id": 239, "name": "address", "nodeType": "ElementaryTypeName", - "src": "5422:7:0", + "src": "5448:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4290,7 +4290,7 @@ "name": "threshold", "nodeType": "VariableDeclaration", "scope": 308, - "src": "5449:15:0", + "src": "5475:15:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4301,7 +4301,7 @@ "id": 241, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "5449:5:0", + "src": "5475:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -4316,7 +4316,7 @@ "name": "timeoutHours", "nodeType": "VariableDeclaration", "scope": 308, - "src": "5474:19:0", + "src": "5500:19:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4327,7 +4327,7 @@ "id": 243, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "5474:6:0", + "src": "5500:6:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -4342,7 +4342,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 308, - "src": "5503:18:0", + "src": "5529:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4353,7 +4353,7 @@ "id": 245, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "5503:7:0", + "src": "5529:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -4368,7 +4368,7 @@ "name": "value", "nodeType": "VariableDeclaration", "scope": 308, - "src": "5531:13:0", + "src": "5557:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4379,7 +4379,7 @@ "id": 247, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "5531:7:0", + "src": "5557:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4394,7 +4394,7 @@ "name": "uniqueId", "nodeType": "VariableDeclaration", "scope": 308, - "src": "5554:16:0", + "src": "5580:16:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4405,7 +4405,7 @@ "id": 249, "name": "bytes20", "nodeType": "ElementaryTypeName", - "src": "5554:7:0", + "src": "5580:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -4420,7 +4420,7 @@ "name": "tokenAddress", "nodeType": "VariableDeclaration", "scope": 308, - "src": "5580:20:0", + "src": "5606:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4431,7 +4431,7 @@ "id": 251, "name": "address", "nodeType": "ElementaryTypeName", - "src": "5580:7:0", + "src": "5606:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4441,17 +4441,17 @@ "visibility": "internal" } ], - "src": "5365:241:0" + "src": "5391:241:0" }, "payable": false, "returnParameters": { "id": 266, "nodeType": "ParameterList", "parameters": [], - "src": "5770:0:0" + "src": "5796:0:0" }, "scope": 1224, - "src": "5337:1030:0", + "src": "5363:1030:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" @@ -4460,7 +4460,7 @@ "body": { "id": 324, "nodeType": "Block", - "src": "6754:75:0", + "src": "6780:75:0", "statements": [ { "expression": { @@ -4476,7 +4476,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "6771:12:0", + "src": "6797:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -4490,7 +4490,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 310, - "src": "6784:10:0", + "src": "6810:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -4501,7 +4501,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "6771:24:0", + "src": "6797:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -4515,7 +4515,7 @@ "memberName": "beneficiaries", "nodeType": "MemberAccess", "referencedDeclaration": 70, - "src": "6771:38:0", + "src": "6797:38:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -4529,7 +4529,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 312, - "src": "6810:11:0", + "src": "6836:11:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4540,7 +4540,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "6771:51:0", + "src": "6797:51:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -4549,7 +4549,7 @@ "functionReturnParameters": 316, "id": 323, "nodeType": "Return", - "src": "6764:58:0" + "src": "6790:58:0" } ] }, @@ -4571,7 +4571,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 325, - "src": "6643:18:0", + "src": "6669:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4582,7 +4582,7 @@ "id": 309, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "6643:7:0", + "src": "6669:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -4597,7 +4597,7 @@ "name": "beneficiary", "nodeType": "VariableDeclaration", "scope": 325, - "src": "6671:19:0", + "src": "6697:19:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4608,7 +4608,7 @@ "id": 311, "name": "address", "nodeType": "ElementaryTypeName", - "src": "6671:7:0", + "src": "6697:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4618,7 +4618,7 @@ "visibility": "internal" } ], - "src": "6633:63:0" + "src": "6659:63:0" }, "payable": false, "returnParameters": { @@ -4631,7 +4631,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 325, - "src": "6744:4:0", + "src": "6770:4:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4642,7 +4642,7 @@ "id": 314, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "6744:4:0", + "src": "6770:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -4652,10 +4652,10 @@ "visibility": "internal" } ], - "src": "6743:6:0" + "src": "6769:6:0" }, "scope": 1224, - "src": "6608:221:0", + "src": "6634:221:0", "stateMutability": "view", "superFunction": null, "visibility": "external" @@ -4664,7 +4664,7 @@ "body": { "id": 341, "nodeType": "Block", - "src": "7202:61:0", + "src": "7228:61:0", "statements": [ { "expression": { @@ -4680,7 +4680,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "7219:12:0", + "src": "7245:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -4694,7 +4694,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 327, - "src": "7232:10:0", + "src": "7258:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -4705,7 +4705,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "7219:24:0", + "src": "7245:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -4719,7 +4719,7 @@ "memberName": "voted", "nodeType": "MemberAccess", "referencedDeclaration": 66, - "src": "7219:30:0", + "src": "7245:30:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -4733,7 +4733,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 329, - "src": "7250:5:0", + "src": "7276:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4744,7 +4744,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "7219:37:0", + "src": "7245:37:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -4753,7 +4753,7 @@ "functionReturnParameters": 333, "id": 340, "nodeType": "Return", - "src": "7212:44:0" + "src": "7238:44:0" } ] }, @@ -4775,7 +4775,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 342, - "src": "7097:18:0", + "src": "7123:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4786,7 +4786,7 @@ "id": 326, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "7097:7:0", + "src": "7123:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -4801,7 +4801,7 @@ "name": "party", "nodeType": "VariableDeclaration", "scope": 342, - "src": "7125:13:0", + "src": "7151:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4812,7 +4812,7 @@ "id": 328, "name": "address", "nodeType": "ElementaryTypeName", - "src": "7125:7:0", + "src": "7151:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4822,7 +4822,7 @@ "visibility": "internal" } ], - "src": "7087:57:0" + "src": "7113:57:0" }, "payable": false, "returnParameters": { @@ -4835,7 +4835,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 342, - "src": "7192:4:0", + "src": "7218:4:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4846,7 +4846,7 @@ "id": 331, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "7192:4:0", + "src": "7218:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -4856,10 +4856,10 @@ "visibility": "internal" } ], - "src": "7191:6:0" + "src": "7217:6:0" }, "scope": 1224, - "src": "7069:194:0", + "src": "7095:194:0", "stateMutability": "view", "superFunction": null, "visibility": "external" @@ -4868,7 +4868,7 @@ "body": { "id": 399, "nodeType": "Block", - "src": "7866:303:0", + "src": "7892:303:0", "statements": [ { "expression": { @@ -4894,7 +4894,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1397, - "src": "7885:3:0", + "src": "7911:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -4908,7 +4908,7 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "7885:9:0", + "src": "7911:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4926,7 +4926,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "7897:1:0", + "src": "7923:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -4934,7 +4934,7 @@ }, "value": "0" }, - "src": "7885:13:0", + "src": "7911:13:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -4950,7 +4950,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "7900:34:0", + "src": "7926:34:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_21fbec2be6560b9ccffc4980d43c0d147770168e7aaf24999b418b9010085622", @@ -4978,7 +4978,7 @@ 1401 ], "referencedDeclaration": 1401, - "src": "7877:7:0", + "src": "7903:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -4992,7 +4992,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7877:58:0", + "src": "7903:58:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -5000,7 +5000,7 @@ }, "id": 368, "nodeType": "ExpressionStatement", - "src": "7877:58:0" + "src": "7903:58:0" }, { "expression": { @@ -5021,7 +5021,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "7946:12:0", + "src": "7972:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -5035,7 +5035,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 344, - "src": "7959:10:0", + "src": "7985:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -5046,7 +5046,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "7946:24:0", + "src": "7972:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -5060,7 +5060,7 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": 40, - "src": "7946:30:0", + "src": "7972:30:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5080,7 +5080,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1397, - "src": "8027:3:0", + "src": "8053:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -5094,7 +5094,7 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "8027:9:0", + "src": "8053:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5119,7 +5119,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "7979:12:0", + "src": "8005:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -5133,7 +5133,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 344, - "src": "7992:10:0", + "src": "8018:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -5144,7 +5144,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "7979:24:0", + "src": "8005:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -5158,7 +5158,7 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": 40, - "src": "7979:30:0", + "src": "8005:30:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5172,7 +5172,7 @@ "memberName": "add", "nodeType": "MemberAccess", "referencedDeclaration": 1361, - "src": "7979:47:0", + "src": "8005:47:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" @@ -5186,13 +5186,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7979:58:0", + "src": "8005:58:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "7946:91:0", + "src": "7972:91:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5200,7 +5200,7 @@ }, "id": 382, "nodeType": "ExpressionStatement", - "src": "7946:91:0" + "src": "7972:91:0" }, { "expression": { @@ -5221,7 +5221,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "8047:12:0", + "src": "8073:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -5235,7 +5235,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 344, - "src": "8060:10:0", + "src": "8086:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -5246,7 +5246,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "8047:24:0", + "src": "8073:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -5260,7 +5260,7 @@ "memberName": "lastModified", "nodeType": "MemberAccess", "referencedDeclaration": 42, - "src": "8047:37:0", + "src": "8073:37:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5277,7 +5277,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1387, - "src": "8087:5:0", + "src": "8113:5:0", "typeDescriptions": { "typeIdentifier": "t_magic_block", "typeString": "block" @@ -5291,13 +5291,13 @@ "memberName": "timestamp", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "8087:15:0", + "src": "8113:15:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "8047:55:0", + "src": "8073:55:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5305,7 +5305,7 @@ }, "id": 390, "nodeType": "ExpressionStatement", - "src": "8047:55:0" + "src": "8073:55:0" }, { "eventCall": { @@ -5318,7 +5318,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 344, - "src": "8128:10:0", + "src": "8154:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -5333,7 +5333,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1397, - "src": "8140:3:0", + "src": "8166:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -5347,7 +5347,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "8140:10:0", + "src": "8166:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -5362,7 +5362,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1397, - "src": "8152:3:0", + "src": "8178:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -5376,7 +5376,7 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "8152:9:0", + "src": "8178:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5403,7 +5403,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 30, - "src": "8118:9:0", + "src": "8144:9:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (bytes32,address,uint256)" @@ -5417,7 +5417,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8118:44:0", + "src": "8144:44:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -5425,7 +5425,7 @@ }, "id": 398, "nodeType": "EmitStatement", - "src": "8113:49:0" + "src": "8139:49:0" } ] }, @@ -5444,7 +5444,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 344, - "src": "7713:10:0", + "src": "7739:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -5459,14 +5459,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 99, - "src": "7696:16:0", + "src": "7722:16:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "7696:28:0" + "src": "7722:28:0" }, { "arguments": [ @@ -5477,7 +5477,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 344, - "src": "7747:10:0", + "src": "7773:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -5492,14 +5492,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 132, - "src": "7733:13:0", + "src": "7759:13:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "7733:25:0" + "src": "7759:25:0" }, { "arguments": [ @@ -5510,7 +5510,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 344, - "src": "7788:10:0", + "src": "7814:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -5525,7 +5525,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12, - "src": "7800:15:0", + "src": "7826:15:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_TransactionType_$12_$", "typeString": "type(enum Escrow_v1_0.TransactionType)" @@ -5539,7 +5539,7 @@ "memberName": "ETHER", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "7800:21:0", + "src": "7826:21:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -5554,14 +5554,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 165, - "src": "7767:20:0", + "src": "7793:20:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$_t_enum$_TransactionType_$12_$", "typeString": "modifier (bytes32,enum Escrow_v1_0.TransactionType)" } }, "nodeType": "ModifierInvocation", - "src": "7767:55:0" + "src": "7793:55:0" }, { "arguments": [ @@ -5572,7 +5572,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 344, - "src": "7841:10:0", + "src": "7867:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -5587,14 +5587,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 182, - "src": "7831:9:0", + "src": "7857:9:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "7831:21:0" + "src": "7857:21:0" } ], "name": "addFundsToTransaction", @@ -5609,7 +5609,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 400, - "src": "7630:18:0", + "src": "7656:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5620,7 +5620,7 @@ "id": 343, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "7630:7:0", + "src": "7656:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -5630,17 +5630,17 @@ "visibility": "internal" } ], - "src": "7620:34:0" + "src": "7646:34:0" }, "payable": true, "returnParameters": { "id": 360, "nodeType": "ParameterList", "parameters": [], - "src": "7866:0:0" + "src": "7892:0:0" }, "scope": 1224, - "src": "7590:579:0", + "src": "7616:579:0", "stateMutability": "payable", "superFunction": null, "visibility": "external" @@ -5649,7 +5649,7 @@ "body": { "id": 480, "nodeType": "Block", - "src": "8772:622:0", + "src": "8798:622:0", "statements": [ { "expression": { @@ -5673,7 +5673,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 404, - "src": "8791:5:0", + "src": "8817:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5691,7 +5691,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "8799:1:0", + "src": "8825:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -5699,7 +5699,7 @@ }, "value": "0" }, - "src": "8791:9:0", + "src": "8817:9:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -5715,7 +5715,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "8802:34:0", + "src": "8828:34:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_21fbec2be6560b9ccffc4980d43c0d147770168e7aaf24999b418b9010085622", @@ -5743,7 +5743,7 @@ 1401 ], "referencedDeclaration": 1401, - "src": "8783:7:0", + "src": "8809:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -5757,7 +5757,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8783:54:0", + "src": "8809:54:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -5765,7 +5765,7 @@ }, "id": 427, "nodeType": "ExpressionStatement", - "src": "8783:54:0" + "src": "8809:54:0" }, { "assignments": [ @@ -5778,7 +5778,7 @@ "name": "token", "nodeType": "VariableDeclaration", "scope": 481, - "src": "8848:20:0", + "src": "8874:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5791,7 +5791,7 @@ "name": "ITokenContract", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 1254, - "src": "8848:14:0", + "src": "8874:14:0", "typeDescriptions": { "typeIdentifier": "t_contract$_ITokenContract_$1254", "typeString": "contract ITokenContract" @@ -5816,7 +5816,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "8899:12:0", + "src": "8925:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -5830,7 +5830,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 402, - "src": "8912:10:0", + "src": "8938:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -5841,7 +5841,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "8899:24:0", + "src": "8925:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -5855,7 +5855,7 @@ "memberName": "tokenAddress", "nodeType": "MemberAccess", "referencedDeclaration": 56, - "src": "8899:37:0", + "src": "8925:37:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -5874,7 +5874,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1254, - "src": "8871:14:0", + "src": "8897:14:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_ITokenContract_$1254_$", "typeString": "type(contract ITokenContract)" @@ -5888,14 +5888,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8871:75:0", + "src": "8897:75:0", "typeDescriptions": { "typeIdentifier": "t_contract$_ITokenContract_$1254", "typeString": "contract ITokenContract" } }, "nodeType": "VariableDeclarationStatement", - "src": "8848:98:0" + "src": "8874:98:0" }, { "expression": { @@ -5915,7 +5915,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "8997:12:0", + "src": "9023:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -5929,7 +5929,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 402, - "src": "9010:10:0", + "src": "9036:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -5940,7 +5940,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "8997:24:0", + "src": "9023:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -5954,7 +5954,7 @@ "memberName": "buyer", "nodeType": "MemberAccess", "referencedDeclaration": 52, - "src": "8997:30:0", + "src": "9023:30:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -5970,7 +5970,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1414, - "src": "9037:4:0", + "src": "9063:4:0", "typeDescriptions": { "typeIdentifier": "t_contract$_Escrow_v1_0_$1224", "typeString": "contract Escrow_v1_0" @@ -5990,7 +5990,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "9029:7:0", + "src": "9055:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" @@ -6005,7 +6005,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "9029:13:0", + "src": "9055:13:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -6018,7 +6018,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 404, - "src": "9044:5:0", + "src": "9070:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6047,7 +6047,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 429, - "src": "8978:5:0", + "src": "9004:5:0", "typeDescriptions": { "typeIdentifier": "t_contract$_ITokenContract_$1254", "typeString": "contract ITokenContract" @@ -6061,7 +6061,7 @@ "memberName": "transferFrom", "nodeType": "MemberAccess", "referencedDeclaration": 1253, - "src": "8978:18:0", + "src": "9004:18:0", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", "typeString": "function (address,address,uint256) external returns (bool)" @@ -6075,7 +6075,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8978:72:0", + "src": "9004:72:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -6091,7 +6091,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "9064:94:0", + "src": "9090:94:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_d9d07068d589bc4adc53018a3c57c159ec128fdfb62732a5fa9410e76cf03318", @@ -6119,7 +6119,7 @@ 1401 ], "referencedDeclaration": 1401, - "src": "8957:7:0", + "src": "8983:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -6133,7 +6133,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8957:211:0", + "src": "8983:211:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -6141,7 +6141,7 @@ }, "id": 451, "nodeType": "ExpressionStatement", - "src": "8957:211:0" + "src": "8983:211:0" }, { "expression": { @@ -6162,7 +6162,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "9179:12:0", + "src": "9205:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -6176,7 +6176,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 402, - "src": "9192:10:0", + "src": "9218:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -6187,7 +6187,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "9179:24:0", + "src": "9205:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -6201,7 +6201,7 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": 40, - "src": "9179:30:0", + "src": "9205:30:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6219,7 +6219,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 404, - "src": "9260:5:0", + "src": "9286:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6244,7 +6244,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "9212:12:0", + "src": "9238:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -6258,7 +6258,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 402, - "src": "9225:10:0", + "src": "9251:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -6269,7 +6269,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "9212:24:0", + "src": "9238:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -6283,7 +6283,7 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": 40, - "src": "9212:30:0", + "src": "9238:30:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6297,7 +6297,7 @@ "memberName": "add", "nodeType": "MemberAccess", "referencedDeclaration": 1361, - "src": "9212:47:0", + "src": "9238:47:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" @@ -6311,13 +6311,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "9212:54:0", + "src": "9238:54:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "9179:87:0", + "src": "9205:87:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6325,7 +6325,7 @@ }, "id": 464, "nodeType": "ExpressionStatement", - "src": "9179:87:0" + "src": "9205:87:0" }, { "expression": { @@ -6346,7 +6346,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "9276:12:0", + "src": "9302:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -6360,7 +6360,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 402, - "src": "9289:10:0", + "src": "9315:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -6371,7 +6371,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "9276:24:0", + "src": "9302:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -6385,7 +6385,7 @@ "memberName": "lastModified", "nodeType": "MemberAccess", "referencedDeclaration": 42, - "src": "9276:37:0", + "src": "9302:37:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6402,7 +6402,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1387, - "src": "9316:5:0", + "src": "9342:5:0", "typeDescriptions": { "typeIdentifier": "t_magic_block", "typeString": "block" @@ -6416,13 +6416,13 @@ "memberName": "timestamp", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "9316:15:0", + "src": "9342:15:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "9276:55:0", + "src": "9302:55:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6430,7 +6430,7 @@ }, "id": 472, "nodeType": "ExpressionStatement", - "src": "9276:55:0" + "src": "9302:55:0" }, { "eventCall": { @@ -6443,7 +6443,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 402, - "src": "9357:10:0", + "src": "9383:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -6458,7 +6458,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1397, - "src": "9369:3:0", + "src": "9395:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -6472,7 +6472,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "9369:10:0", + "src": "9395:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -6485,7 +6485,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 404, - "src": "9381:5:0", + "src": "9407:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6512,7 +6512,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 30, - "src": "9347:9:0", + "src": "9373:9:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (bytes32,address,uint256)" @@ -6526,7 +6526,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "9347:40:0", + "src": "9373:40:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -6534,7 +6534,7 @@ }, "id": 479, "nodeType": "EmitStatement", - "src": "9342:45:0" + "src": "9368:45:0" } ] }, @@ -6553,7 +6553,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 402, - "src": "8628:10:0", + "src": "8654:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -6568,14 +6568,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 99, - "src": "8611:16:0", + "src": "8637:16:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "8611:28:0" + "src": "8637:28:0" }, { "arguments": [ @@ -6586,7 +6586,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 402, - "src": "8662:10:0", + "src": "8688:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -6601,14 +6601,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 132, - "src": "8648:13:0", + "src": "8674:13:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "8648:25:0" + "src": "8674:25:0" }, { "arguments": [ @@ -6619,7 +6619,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 402, - "src": "8703:10:0", + "src": "8729:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -6634,7 +6634,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12, - "src": "8715:15:0", + "src": "8741:15:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_TransactionType_$12_$", "typeString": "type(enum Escrow_v1_0.TransactionType)" @@ -6648,7 +6648,7 @@ "memberName": "TOKEN", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "8715:21:0", + "src": "8741:21:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -6663,14 +6663,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 165, - "src": "8682:20:0", + "src": "8708:20:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$_t_enum$_TransactionType_$12_$", "typeString": "modifier (bytes32,enum Escrow_v1_0.TransactionType)" } }, "nodeType": "ModifierInvocation", - "src": "8682:55:0" + "src": "8708:55:0" }, { "arguments": [ @@ -6681,7 +6681,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 402, - "src": "8756:10:0", + "src": "8782:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -6696,14 +6696,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 182, - "src": "8746:9:0", + "src": "8772:9:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "8746:21:0" + "src": "8772:21:0" } ], "name": "addTokensToTransaction", @@ -6718,7 +6718,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 481, - "src": "8538:18:0", + "src": "8564:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6729,7 +6729,7 @@ "id": 401, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "8538:7:0", + "src": "8564:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -6744,7 +6744,7 @@ "name": "value", "nodeType": "VariableDeclaration", "scope": 481, - "src": "8566:13:0", + "src": "8592:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6755,7 +6755,7 @@ "id": 403, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "8566:7:0", + "src": "8592:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6765,17 +6765,17 @@ "visibility": "internal" } ], - "src": "8528:57:0" + "src": "8554:57:0" }, "payable": false, "returnParameters": { "id": 420, "nodeType": "ParameterList", "parameters": [], - "src": "8772:0:0" + "src": "8798:0:0" }, "scope": 1224, - "src": "8497:897:0", + "src": "8523:897:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" @@ -6784,7 +6784,7 @@ "body": { "id": 493, "nodeType": "Block", - "src": "9649:56:0", + "src": "9675:56:0", "statements": [ { "expression": { @@ -6796,7 +6796,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 83, - "src": "9666:18:0", + "src": "9692:18:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_bytes32_$dyn_storage_$", "typeString": "mapping(address => bytes32[] storage ref)" @@ -6810,7 +6810,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 483, - "src": "9685:12:0", + "src": "9711:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -6821,7 +6821,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "9666:32:0", + "src": "9692:32:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage", "typeString": "bytes32[] storage ref" @@ -6830,7 +6830,7 @@ "functionReturnParameters": 488, "id": 492, "nodeType": "Return", - "src": "9659:39:0" + "src": "9685:39:0" } ] }, @@ -6852,7 +6852,7 @@ "name": "partyAddress", "nodeType": "VariableDeclaration", "scope": 494, - "src": "9556:20:0", + "src": "9582:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6863,7 +6863,7 @@ "id": 482, "name": "address", "nodeType": "ElementaryTypeName", - "src": "9556:7:0", + "src": "9582:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -6873,7 +6873,7 @@ "visibility": "internal" } ], - "src": "9546:36:0" + "src": "9572:36:0" }, "payable": false, "returnParameters": { @@ -6886,7 +6886,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 494, - "src": "9633:9:0", + "src": "9659:9:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6898,7 +6898,7 @@ "id": 485, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "9633:7:0", + "src": "9659:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -6907,7 +6907,7 @@ "id": 486, "length": null, "nodeType": "ArrayTypeName", - "src": "9633:9:0", + "src": "9659:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -6917,10 +6917,10 @@ "visibility": "internal" } ], - "src": "9632:11:0" + "src": "9658:11:0" }, "scope": 1224, - "src": "9511:194:0", + "src": "9537:194:0", "stateMutability": "view", "superFunction": null, "visibility": "external" @@ -6929,7 +6929,7 @@ "body": { "id": 582, "nodeType": "Block", - "src": "10575:932:0", + "src": "10601:932:0", "statements": [ { "expression": { @@ -6955,7 +6955,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 508, - "src": "10609:12:0", + "src": "10635:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" @@ -6969,7 +6969,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "10609:19:0", + "src": "10635:19:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6987,7 +6987,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "10629:1:0", + "src": "10655:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -6995,7 +6995,7 @@ }, "value": "0" }, - "src": "10609:21:0", + "src": "10635:21:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -7011,7 +7011,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "10645:47:0", + "src": "10671:47:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_fbeb58246a6e3ff255a1d618f14d1cced67ffd4784fbc3e1cfbdf71d1f7fbdf9", @@ -7039,7 +7039,7 @@ 1401 ], "referencedDeclaration": 1401, - "src": "10588:7:0", + "src": "10614:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -7053,7 +7053,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "10588:114:0", + "src": "10614:114:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -7061,7 +7061,7 @@ }, "id": 527, "nodeType": "ExpressionStatement", - "src": "10588:114:0" + "src": "10614:114:0" }, { "expression": { @@ -7087,7 +7087,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 508, - "src": "10733:12:0", + "src": "10759:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" @@ -7101,7 +7101,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "10733:19:0", + "src": "10759:19:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7118,7 +7118,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 511, - "src": "10756:7:0", + "src": "10782:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", "typeString": "uint256[] calldata" @@ -7132,13 +7132,13 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "10756:14:0", + "src": "10782:14:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "10733:37:0", + "src": "10759:37:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -7154,7 +7154,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "10784:57:0", + "src": "10810:57:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_e70a315a5939ff57e3400503291dbc0af19d18c32f15c80c7c6f5b7c54a6cd3c", @@ -7182,7 +7182,7 @@ 1401 ], "referencedDeclaration": 1401, - "src": "10712:7:0", + "src": "10738:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -7196,7 +7196,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "10712:139:0", + "src": "10738:139:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -7204,7 +7204,7 @@ }, "id": 536, "nodeType": "ExpressionStatement", - "src": "10712:139:0" + "src": "10738:139:0" }, { "expression": { @@ -7217,7 +7217,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 497, - "src": "10901:4:0", + "src": "10927:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_calldata_ptr", "typeString": "uint8[] calldata" @@ -7230,7 +7230,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 500, - "src": "10919:4:0", + "src": "10945:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", "typeString": "bytes32[] calldata" @@ -7243,7 +7243,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 503, - "src": "10937:4:0", + "src": "10963:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", "typeString": "bytes32[] calldata" @@ -7256,7 +7256,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 505, - "src": "10955:10:0", + "src": "10981:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -7269,7 +7269,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 508, - "src": "10979:12:0", + "src": "11005:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" @@ -7282,7 +7282,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 511, - "src": "11005:7:0", + "src": "11031:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", "typeString": "uint256[] calldata" @@ -7321,7 +7321,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 711, - "src": "10869:18:0", + "src": "10895:18:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_array$_t_uint8_$dyn_memory_ptr_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_bytes32_$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$__$", "typeString": "function (uint8[] memory,bytes32[] memory,bytes32[] memory,bytes32,address[] memory,uint256[] memory)" @@ -7335,7 +7335,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "10869:153:0", + "src": "10895:153:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -7343,7 +7343,7 @@ }, "id": 545, "nodeType": "ExpressionStatement", - "src": "10869:153:0" + "src": "10895:153:0" }, { "expression": { @@ -7364,7 +7364,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "11033:12:0", + "src": "11059:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -7378,7 +7378,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 505, - "src": "11046:10:0", + "src": "11072:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -7389,7 +7389,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "11033:24:0", + "src": "11059:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -7403,7 +7403,7 @@ "memberName": "status", "nodeType": "MemberAccess", "referencedDeclaration": 44, - "src": "11033:31:0", + "src": "11059:31:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$9", "typeString": "enum Escrow_v1_0.Status" @@ -7420,7 +7420,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9, - "src": "11067:6:0", + "src": "11093:6:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_Status_$9_$", "typeString": "type(enum Escrow_v1_0.Status)" @@ -7434,13 +7434,13 @@ "memberName": "RELEASED", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "11067:15:0", + "src": "11093:15:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$9", "typeString": "enum Escrow_v1_0.Status" } }, - "src": "11033:49:0", + "src": "11059:49:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$9", "typeString": "enum Escrow_v1_0.Status" @@ -7448,7 +7448,7 @@ }, "id": 553, "nodeType": "ExpressionStatement", - "src": "11033:49:0" + "src": "11059:49:0" }, { "expression": { @@ -7469,7 +7469,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "11166:12:0", + "src": "11192:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -7483,7 +7483,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 505, - "src": "11179:10:0", + "src": "11205:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -7494,7 +7494,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "11166:24:0", + "src": "11192:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -7508,7 +7508,7 @@ "memberName": "lastModified", "nodeType": "MemberAccess", "referencedDeclaration": 42, - "src": "11166:37:0", + "src": "11192:37:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7525,7 +7525,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1387, - "src": "11206:5:0", + "src": "11232:5:0", "typeDescriptions": { "typeIdentifier": "t_magic_block", "typeString": "block" @@ -7539,13 +7539,13 @@ "memberName": "timestamp", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "11206:15:0", + "src": "11232:15:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "11166:55:0", + "src": "11192:55:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7553,7 +7553,7 @@ }, "id": 561, "nodeType": "ExpressionStatement", - "src": "11166:55:0" + "src": "11192:55:0" }, { "expression": { @@ -7580,7 +7580,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 505, - "src": "11267:10:0", + "src": "11293:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -7593,7 +7593,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 508, - "src": "11279:12:0", + "src": "11305:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" @@ -7606,7 +7606,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 511, - "src": "11293:7:0", + "src": "11319:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", "typeString": "uint256[] calldata" @@ -7633,7 +7633,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 904, - "src": "11252:14:0", + "src": "11278:14:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$_t_uint256_$", "typeString": "function (bytes32,address[] memory,uint256[] memory) returns (uint256)" @@ -7647,7 +7647,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "11252:49:0", + "src": "11278:49:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7666,7 +7666,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "11305:12:0", + "src": "11331:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -7680,7 +7680,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 505, - "src": "11318:10:0", + "src": "11344:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -7691,7 +7691,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "11305:24:0", + "src": "11331:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -7705,13 +7705,13 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": 40, - "src": "11305:30:0", + "src": "11331:30:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "11252:83:0", + "src": "11278:83:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -7727,7 +7727,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "11349:74:0", + "src": "11375:74:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_9e0bdb14e2e0d5e118fd1f547268c6a1fdb5e8facacd614066d4b60bc2c9941d", @@ -7755,7 +7755,7 @@ 1401 ], "referencedDeclaration": 1401, - "src": "11231:7:0", + "src": "11257:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -7769,7 +7769,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "11231:202:0", + "src": "11257:202:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -7777,7 +7777,7 @@ }, "id": 575, "nodeType": "ExpressionStatement", - "src": "11231:202:0" + "src": "11257:202:0" }, { "eventCall": { @@ -7790,7 +7790,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 505, - "src": "11466:10:0", + "src": "11492:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -7803,7 +7803,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 508, - "src": "11478:12:0", + "src": "11504:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" @@ -7816,7 +7816,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 511, - "src": "11492:7:0", + "src": "11518:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", "typeString": "uint256[] calldata" @@ -7843,7 +7843,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 22, - "src": "11457:8:0", + "src": "11483:8:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$__$", "typeString": "function (bytes32,address[] memory,uint256[] memory)" @@ -7857,7 +7857,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "11457:43:0", + "src": "11483:43:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -7865,7 +7865,7 @@ }, "id": 581, "nodeType": "EmitStatement", - "src": "11452:48:0" + "src": "11478:48:0" } ] }, @@ -7884,7 +7884,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 505, - "src": "10525:10:0", + "src": "10551:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -7899,14 +7899,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 99, - "src": "10508:16:0", + "src": "10534:16:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "10508:28:0" + "src": "10534:28:0" }, { "arguments": [ @@ -7917,7 +7917,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 505, - "src": "10559:10:0", + "src": "10585:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -7932,14 +7932,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 132, - "src": "10545:13:0", + "src": "10571:13:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "10545:25:0" + "src": "10571:25:0" } ], "name": "execute", @@ -7954,7 +7954,7 @@ "name": "sigV", "nodeType": "VariableDeclaration", "scope": 583, - "src": "10329:12:0", + "src": "10355:12:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -7966,7 +7966,7 @@ "id": 495, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "10329:5:0", + "src": "10355:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -7975,7 +7975,7 @@ "id": 496, "length": null, "nodeType": "ArrayTypeName", - "src": "10329:7:0", + "src": "10355:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_storage_ptr", "typeString": "uint8[]" @@ -7990,7 +7990,7 @@ "name": "sigR", "nodeType": "VariableDeclaration", "scope": 583, - "src": "10351:14:0", + "src": "10377:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8002,7 +8002,7 @@ "id": 498, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "10351:7:0", + "src": "10377:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -8011,7 +8011,7 @@ "id": 499, "length": null, "nodeType": "ArrayTypeName", - "src": "10351:9:0", + "src": "10377:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -8026,7 +8026,7 @@ "name": "sigS", "nodeType": "VariableDeclaration", "scope": 583, - "src": "10375:14:0", + "src": "10401:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8038,7 +8038,7 @@ "id": 501, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "10375:7:0", + "src": "10401:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -8047,7 +8047,7 @@ "id": 502, "length": null, "nodeType": "ArrayTypeName", - "src": "10375:9:0", + "src": "10401:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -8062,7 +8062,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 583, - "src": "10399:18:0", + "src": "10425:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8073,7 +8073,7 @@ "id": 504, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "10399:7:0", + "src": "10425:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -8088,7 +8088,7 @@ "name": "destinations", "nodeType": "VariableDeclaration", "scope": 583, - "src": "10427:22:0", + "src": "10453:22:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8100,7 +8100,7 @@ "id": 506, "name": "address", "nodeType": "ElementaryTypeName", - "src": "10427:7:0", + "src": "10453:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8109,7 +8109,7 @@ "id": 507, "length": null, "nodeType": "ArrayTypeName", - "src": "10427:9:0", + "src": "10453:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", "typeString": "address[]" @@ -8124,7 +8124,7 @@ "name": "amounts", "nodeType": "VariableDeclaration", "scope": 583, - "src": "10459:17:0", + "src": "10485:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8136,7 +8136,7 @@ "id": 509, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "10459:7:0", + "src": "10485:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8145,7 +8145,7 @@ "id": 510, "length": null, "nodeType": "ArrayTypeName", - "src": "10459:9:0", + "src": "10485:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -8155,17 +8155,17 @@ "visibility": "internal" } ], - "src": "10319:163:0" + "src": "10345:163:0" }, "payable": false, "returnParameters": { "id": 519, "nodeType": "ParameterList", "parameters": [], - "src": "10575:0:0" + "src": "10601:0:0" }, "scope": 1224, - "src": "10303:1204:0", + "src": "10329:1204:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" @@ -8174,7 +8174,7 @@ "body": { "id": 641, "nodeType": "Block", - "src": "12261:734:0", + "src": "12337:734:0", "statements": [ { "condition": { @@ -8195,7 +8195,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 597, - "src": "12275:12:0", + "src": "12351:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8216,7 +8216,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "12299:1:0", + "src": "12375:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -8238,7 +8238,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "12291:7:0", + "src": "12367:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" @@ -8253,13 +8253,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "12291:10:0", + "src": "12367:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "12275:26:0", + "src": "12351:26:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -8268,7 +8268,7 @@ "falseBody": { "id": 639, "nodeType": "Block", - "src": "12632:357:0", + "src": "12708:357:0", "statements": [ { "expression": { @@ -8284,7 +8284,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 585, - "src": "12718:8:0", + "src": "12794:8:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -8297,7 +8297,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 587, - "src": "12748:9:0", + "src": "12824:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -8310,7 +8310,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 589, - "src": "12779:12:0", + "src": "12855:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -8323,7 +8323,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 591, - "src": "12813:5:0", + "src": "12889:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8336,7 +8336,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 593, - "src": "12840:6:0", + "src": "12916:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8349,7 +8349,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 595, - "src": "12868:9:0", + "src": "12944:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8365,7 +8365,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1414, - "src": "12907:4:0", + "src": "12983:4:0", "typeDescriptions": { "typeIdentifier": "t_contract$_Escrow_v1_0_$1224", "typeString": "contract Escrow_v1_0" @@ -8385,7 +8385,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "12899:7:0", + "src": "12975:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" @@ -8400,7 +8400,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "12899:13:0", + "src": "12975:13:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8413,7 +8413,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 597, - "src": "12934:12:0", + "src": "13010:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8462,7 +8462,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1384, - "src": "12680:3:0", + "src": "12756:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" @@ -8476,7 +8476,7 @@ "memberName": "encodePacked", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "12680:16:0", + "src": "12756:16:0", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" @@ -8490,7 +8490,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "12680:284:0", + "src": "12756:284:0", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -8509,7 +8509,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1391, - "src": "12653:9:0", + "src": "12729:9:0", "typeDescriptions": { "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", "typeString": "function () pure returns (bytes32)" @@ -8523,7 +8523,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "12653:325:0", + "src": "12729:325:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -8532,17 +8532,17 @@ "functionReturnParameters": 601, "id": 638, "nodeType": "Return", - "src": "12646:332:0" + "src": "12722:332:0" } ] }, "id": 640, "nodeType": "IfStatement", - "src": "12271:718:0", + "src": "12347:718:0", "trueBody": { "id": 622, "nodeType": "Block", - "src": "12303:323:0", + "src": "12379:323:0", "statements": [ { "expression": { @@ -8558,7 +8558,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 585, - "src": "12389:8:0", + "src": "12465:8:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -8571,7 +8571,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 587, - "src": "12419:9:0", + "src": "12495:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -8584,7 +8584,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 589, - "src": "12450:12:0", + "src": "12526:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -8597,7 +8597,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 591, - "src": "12484:5:0", + "src": "12560:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8610,7 +8610,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 593, - "src": "12511:6:0", + "src": "12587:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8623,7 +8623,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 595, - "src": "12539:9:0", + "src": "12615:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8639,7 +8639,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1414, - "src": "12578:4:0", + "src": "12654:4:0", "typeDescriptions": { "typeIdentifier": "t_contract$_Escrow_v1_0_$1224", "typeString": "contract Escrow_v1_0" @@ -8659,7 +8659,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "12570:7:0", + "src": "12646:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" @@ -8674,7 +8674,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "12570:13:0", + "src": "12646:13:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8719,7 +8719,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1384, - "src": "12351:3:0", + "src": "12427:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" @@ -8733,7 +8733,7 @@ "memberName": "encodePacked", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "12351:16:0", + "src": "12427:16:0", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" @@ -8747,7 +8747,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "12351:250:0", + "src": "12427:250:0", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -8766,7 +8766,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1391, - "src": "12324:9:0", + "src": "12400:9:0", "typeDescriptions": { "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", "typeString": "function () pure returns (bytes32)" @@ -8780,7 +8780,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "12324:291:0", + "src": "12400:291:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -8789,14 +8789,14 @@ "functionReturnParameters": 601, "id": 621, "nodeType": "Return", - "src": "12317:298:0" + "src": "12393:298:0" } ] } } ] }, - "documentation": "dev Method for calculating script hash. Calculation will depend upon the type of transaction\nETHER Type transaction-:\nScript Hash- keccak256(uniqueId, threshold, timeoutHours, buyer, seller, moderator)\nTOKEN Type transaction\nScript Hash- keccak256(uniqueId, threshold, timeoutHours, buyer, seller, moderator, tokenAddress)\nClient can use this method to verify whether it has calculated correct script hash or not", + "documentation": "dev Method for calculating script hash. Calculation will depend upon the type of transaction\nETHER Type transaction-:\nScript Hash- keccak256(uniqueId, threshold, timeoutHours, buyer, seller, moderator, multiSigContractAddress)\nTOKEN Type transaction\nScript Hash- keccak256(uniqueId, threshold, timeoutHours, buyer, seller, moderator, multiSigContractAddress, tokenAddress)\nClient can use this method to verify whether it has calculated correct script hash or not", "id": 642, "implemented": true, "isConstructor": false, @@ -8814,7 +8814,7 @@ "name": "uniqueId", "nodeType": "VariableDeclaration", "scope": 642, - "src": "12022:16:0", + "src": "12098:16:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8825,7 +8825,7 @@ "id": 584, "name": "bytes20", "nodeType": "ElementaryTypeName", - "src": "12022:7:0", + "src": "12098:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -8840,7 +8840,7 @@ "name": "threshold", "nodeType": "VariableDeclaration", "scope": 642, - "src": "12048:15:0", + "src": "12124:15:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8851,7 +8851,7 @@ "id": 586, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "12048:5:0", + "src": "12124:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -8866,7 +8866,7 @@ "name": "timeoutHours", "nodeType": "VariableDeclaration", "scope": 642, - "src": "12073:19:0", + "src": "12149:19:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8877,7 +8877,7 @@ "id": 588, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "12073:6:0", + "src": "12149:6:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -8892,7 +8892,7 @@ "name": "buyer", "nodeType": "VariableDeclaration", "scope": 642, - "src": "12102:13:0", + "src": "12178:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8903,7 +8903,7 @@ "id": 590, "name": "address", "nodeType": "ElementaryTypeName", - "src": "12102:7:0", + "src": "12178:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8918,7 +8918,7 @@ "name": "seller", "nodeType": "VariableDeclaration", "scope": 642, - "src": "12125:14:0", + "src": "12201:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8929,7 +8929,7 @@ "id": 592, "name": "address", "nodeType": "ElementaryTypeName", - "src": "12125:7:0", + "src": "12201:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8944,7 +8944,7 @@ "name": "moderator", "nodeType": "VariableDeclaration", "scope": 642, - "src": "12149:17:0", + "src": "12225:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8955,7 +8955,7 @@ "id": 594, "name": "address", "nodeType": "ElementaryTypeName", - "src": "12149:7:0", + "src": "12225:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8970,7 +8970,7 @@ "name": "tokenAddress", "nodeType": "VariableDeclaration", "scope": 642, - "src": "12176:20:0", + "src": "12252:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8981,7 +8981,7 @@ "id": 596, "name": "address", "nodeType": "ElementaryTypeName", - "src": "12176:7:0", + "src": "12252:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8991,7 +8991,7 @@ "visibility": "internal" } ], - "src": "12012:190:0" + "src": "12088:190:0" }, "payable": false, "returnParameters": { @@ -9004,7 +9004,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 642, - "src": "12248:7:0", + "src": "12324:7:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9015,7 +9015,7 @@ "id": 599, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "12248:7:0", + "src": "12324:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -9025,10 +9025,10 @@ "visibility": "internal" } ], - "src": "12247:9:0" + "src": "12323:9:0" }, "scope": 1224, - "src": "11978:1017:0", + "src": "12054:1017:0", "stateMutability": "view", "superFunction": null, "visibility": "public" @@ -9037,7 +9037,7 @@ "body": { "id": 710, "nodeType": "Block", - "src": "13480:797:0", + "src": "13556:797:0", "statements": [ { "assignments": [ @@ -9050,7 +9050,7 @@ "name": "lastRecovered", "nodeType": "VariableDeclaration", "scope": 711, - "src": "13490:21:0", + "src": "13566:21:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9061,7 +9061,7 @@ "id": 662, "name": "address", "nodeType": "ElementaryTypeName", - "src": "13490:7:0", + "src": "13566:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -9082,7 +9082,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 645, - "src": "13545:4:0", + "src": "13621:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr", "typeString": "uint8[] memory" @@ -9095,7 +9095,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 648, - "src": "13563:4:0", + "src": "13639:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" @@ -9108,7 +9108,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 651, - "src": "13581:4:0", + "src": "13657:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" @@ -9121,7 +9121,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 653, - "src": "13599:10:0", + "src": "13675:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -9134,7 +9134,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 656, - "src": "13623:12:0", + "src": "13699:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -9147,7 +9147,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 659, - "src": "13649:7:0", + "src": "13725:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" @@ -9186,7 +9186,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1035, - "src": "13514:17:0", + "src": "13590:17:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_array$_t_uint8_$dyn_memory_ptr_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_bytes32_$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$_t_address_$", "typeString": "function (uint8[] memory,bytes32[] memory,bytes32[] memory,bytes32,address[] memory,uint256[] memory) returns (address)" @@ -9200,14 +9200,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "13514:152:0", + "src": "13590:152:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "VariableDeclarationStatement", - "src": "13490:176:0" + "src": "13566:176:0" }, { "assignments": [ @@ -9220,7 +9220,7 @@ "name": "timeLockExpired", "nodeType": "VariableDeclaration", "scope": 711, - "src": "13677:20:0", + "src": "13753:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9231,7 +9231,7 @@ "id": 673, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "13677:4:0", + "src": "13753:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -9256,7 +9256,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "13732:12:0", + "src": "13808:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -9270,7 +9270,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 653, - "src": "13745:10:0", + "src": "13821:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -9281,7 +9281,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "13732:24:0", + "src": "13808:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -9295,7 +9295,7 @@ "memberName": "timeoutHours", "nodeType": "MemberAccess", "referencedDeclaration": 50, - "src": "13732:37:0", + "src": "13808:37:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -9312,7 +9312,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "13783:12:0", + "src": "13859:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -9326,7 +9326,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 653, - "src": "13796:10:0", + "src": "13872:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -9337,7 +9337,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "13783:24:0", + "src": "13859:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -9351,7 +9351,7 @@ "memberName": "lastModified", "nodeType": "MemberAccess", "referencedDeclaration": 42, - "src": "13783:37:0", + "src": "13859:37:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9374,7 +9374,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1067, - "src": "13700:18:0", + "src": "13776:18:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_uint32_$_t_uint256_$returns$_t_bool_$", "typeString": "function (uint32,uint256) view returns (bool)" @@ -9388,14 +9388,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "13700:130:0", + "src": "13776:130:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "nodeType": "VariableDeclarationStatement", - "src": "13677:153:0" + "src": "13753:153:0" }, { "condition": { @@ -9429,7 +9429,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 645, - "src": "14002:4:0", + "src": "14078:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr", "typeString": "uint8[] memory" @@ -9443,7 +9443,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "14002:11:0", + "src": "14078:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9462,7 +9462,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "14016:12:0", + "src": "14092:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -9476,7 +9476,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 653, - "src": "14029:10:0", + "src": "14105:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -9487,7 +9487,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "14016:24:0", + "src": "14092:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -9501,13 +9501,13 @@ "memberName": "threshold", "nodeType": "MemberAccess", "referencedDeclaration": 48, - "src": "14016:34:0", + "src": "14092:34:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, - "src": "14002:48:0", + "src": "14078:48:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -9539,7 +9539,7 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "14055:16:0", + "src": "14131:16:0", "subExpression": { "argumentTypes": null, "id": 693, @@ -9547,7 +9547,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 674, - "src": "14056:15:0", + "src": "14132:15:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -9578,7 +9578,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 663, - "src": "14075:13:0", + "src": "14151:13:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -9597,7 +9597,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "14092:12:0", + "src": "14168:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -9611,7 +9611,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 653, - "src": "14105:10:0", + "src": "14181:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -9622,7 +9622,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "14092:24:0", + "src": "14168:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -9636,19 +9636,19 @@ "memberName": "seller", "nodeType": "MemberAccess", "referencedDeclaration": 54, - "src": "14092:31:0", + "src": "14168:31:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "14075:48:0", + "src": "14151:48:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "14055:68:0", + "src": "14131:68:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -9662,13 +9662,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "14054:70:0", + "src": "14130:70:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "14002:122:0", + "src": "14078:122:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -9677,11 +9677,11 @@ "falseBody": null, "id": 709, "nodeType": "IfStatement", - "src": "13981:289:0", + "src": "14057:289:0", "trueBody": { "id": 708, "nodeType": "Block", - "src": "14147:123:0", + "src": "14223:123:0", "statements": [ { "expression": { @@ -9697,7 +9697,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "14168:90:0", + "src": "14244:90:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_e454643f61f81e3a3dc8dabaafde295fea592e232abeb03abbb1835bdc3d20d0", @@ -9721,7 +9721,7 @@ 1403 ], "referencedDeclaration": 1403, - "src": "14161:6:0", + "src": "14237:6:0", "typeDescriptions": { "typeIdentifier": "t_function_revert_pure$_t_string_memory_ptr_$returns$__$", "typeString": "function (string memory) pure" @@ -9735,7 +9735,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "14161:98:0", + "src": "14237:98:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -9743,7 +9743,7 @@ }, "id": 707, "nodeType": "ExpressionStatement", - "src": "14161:98:0" + "src": "14237:98:0" } ] } @@ -9768,7 +9768,7 @@ "name": "sigV", "nodeType": "VariableDeclaration", "scope": 711, - "src": "13306:12:0", + "src": "13382:12:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9780,7 +9780,7 @@ "id": 643, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "13306:5:0", + "src": "13382:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -9789,7 +9789,7 @@ "id": 644, "length": null, "nodeType": "ArrayTypeName", - "src": "13306:7:0", + "src": "13382:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_storage_ptr", "typeString": "uint8[]" @@ -9804,7 +9804,7 @@ "name": "sigR", "nodeType": "VariableDeclaration", "scope": 711, - "src": "13328:14:0", + "src": "13404:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9816,7 +9816,7 @@ "id": 646, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "13328:7:0", + "src": "13404:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -9825,7 +9825,7 @@ "id": 647, "length": null, "nodeType": "ArrayTypeName", - "src": "13328:9:0", + "src": "13404:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -9840,7 +9840,7 @@ "name": "sigS", "nodeType": "VariableDeclaration", "scope": 711, - "src": "13352:14:0", + "src": "13428:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9852,7 +9852,7 @@ "id": 649, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "13352:7:0", + "src": "13428:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -9861,7 +9861,7 @@ "id": 650, "length": null, "nodeType": "ArrayTypeName", - "src": "13352:9:0", + "src": "13428:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -9876,7 +9876,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 711, - "src": "13376:18:0", + "src": "13452:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9887,7 +9887,7 @@ "id": 652, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "13376:7:0", + "src": "13452:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -9902,7 +9902,7 @@ "name": "destinations", "nodeType": "VariableDeclaration", "scope": 711, - "src": "13404:22:0", + "src": "13480:22:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9914,7 +9914,7 @@ "id": 654, "name": "address", "nodeType": "ElementaryTypeName", - "src": "13404:7:0", + "src": "13480:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -9923,7 +9923,7 @@ "id": 655, "length": null, "nodeType": "ArrayTypeName", - "src": "13404:9:0", + "src": "13480:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", "typeString": "address[]" @@ -9938,7 +9938,7 @@ "name": "amounts", "nodeType": "VariableDeclaration", "scope": 711, - "src": "13436:17:0", + "src": "13512:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9950,7 +9950,7 @@ "id": 657, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "13436:7:0", + "src": "13512:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9959,7 +9959,7 @@ "id": 658, "length": null, "nodeType": "ArrayTypeName", - "src": "13436:9:0", + "src": "13512:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -9969,17 +9969,17 @@ "visibility": "internal" } ], - "src": "13296:163:0" + "src": "13372:163:0" }, "payable": false, "returnParameters": { "id": 661, "nodeType": "ParameterList", "parameters": [], - "src": "13480:0:0" + "src": "13556:0:0" }, "scope": 1224, - "src": "13269:1008:0", + "src": "13345:1008:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "private" @@ -9988,7 +9988,7 @@ "body": { "id": 903, "nodeType": "Block", - "src": "14564:1562:0", + "src": "14640:1562:0", "statements": [ { "assignments": [ @@ -10001,7 +10001,7 @@ "name": "t", "nodeType": "VariableDeclaration", "scope": 904, - "src": "14574:21:0", + "src": "14650:21:0", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { @@ -10014,7 +10014,7 @@ "name": "Transaction", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 71, - "src": "14574:11:0", + "src": "14650:11:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction" @@ -10034,7 +10034,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "14598:12:0", + "src": "14674:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -10048,7 +10048,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 713, - "src": "14611:10:0", + "src": "14687:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -10059,14 +10059,14 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "14598:24:0", + "src": "14674:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "14574:48:0" + "src": "14650:48:0" }, { "assignments": [ @@ -10079,7 +10079,7 @@ "name": "valueTransferred", "nodeType": "VariableDeclaration", "scope": 904, - "src": "14633:24:0", + "src": "14709:24:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -10090,7 +10090,7 @@ "id": 730, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "14633:7:0", + "src": "14709:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10111,7 +10111,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "14660:1:0", + "src": "14736:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -10120,7 +10120,7 @@ "value": "0" }, "nodeType": "VariableDeclarationStatement", - "src": "14633:28:0" + "src": "14709:28:0" }, { "condition": { @@ -10143,7 +10143,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 725, - "src": "14676:1:0", + "src": "14752:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" @@ -10157,7 +10157,7 @@ "memberName": "transactionType", "nodeType": "MemberAccess", "referencedDeclaration": 46, - "src": "14676:17:0", + "src": "14752:17:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -10174,7 +10174,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12, - "src": "14697:15:0", + "src": "14773:15:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_TransactionType_$12_$", "typeString": "type(enum Escrow_v1_0.TransactionType)" @@ -10188,13 +10188,13 @@ "memberName": "ETHER", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "14697:21:0", + "src": "14773:21:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" } }, - "src": "14676:42:0", + "src": "14752:42:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -10221,7 +10221,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 725, - "src": "15332:1:0", + "src": "15408:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" @@ -10235,7 +10235,7 @@ "memberName": "transactionType", "nodeType": "MemberAccess", "referencedDeclaration": 46, - "src": "15332:17:0", + "src": "15408:17:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -10252,7 +10252,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12, - "src": "15353:15:0", + "src": "15429:15:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_TransactionType_$12_$", "typeString": "type(enum Escrow_v1_0.TransactionType)" @@ -10266,13 +10266,13 @@ "memberName": "TOKEN", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "15353:21:0", + "src": "15429:21:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" } }, - "src": "15332:42:0", + "src": "15408:42:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -10281,11 +10281,11 @@ "falseBody": null, "id": 899, "nodeType": "IfStatement", - "src": "15328:758:0", + "src": "15404:758:0", "trueBody": { "id": 898, "nodeType": "Block", - "src": "15376:710:0", + "src": "15452:710:0", "statements": [ { "assignments": [ @@ -10298,7 +10298,7 @@ "name": "token", "nodeType": "VariableDeclaration", "scope": 904, - "src": "15391:20:0", + "src": "15467:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -10311,7 +10311,7 @@ "name": "ITokenContract", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 1254, - "src": "15391:14:0", + "src": "15467:14:0", "typeDescriptions": { "typeIdentifier": "t_contract$_ITokenContract_$1254", "typeString": "contract ITokenContract" @@ -10334,7 +10334,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 725, - "src": "15429:1:0", + "src": "15505:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" @@ -10348,7 +10348,7 @@ "memberName": "tokenAddress", "nodeType": "MemberAccess", "referencedDeclaration": 56, - "src": "15429:14:0", + "src": "15505:14:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -10367,7 +10367,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1254, - "src": "15414:14:0", + "src": "15490:14:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_ITokenContract_$1254_$", "typeString": "type(contract ITokenContract)" @@ -10381,20 +10381,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15414:30:0", + "src": "15490:30:0", "typeDescriptions": { "typeIdentifier": "t_contract$_ITokenContract_$1254", "typeString": "contract ITokenContract" } }, "nodeType": "VariableDeclarationStatement", - "src": "15391:53:0" + "src": "15467:53:0" }, { "body": { "id": 896, "nodeType": "Block", - "src": "15507:569:0", + "src": "15583:569:0", "statements": [ { "expression": { @@ -10420,7 +10420,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 716, - "src": "15534:12:0", + "src": "15610:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -10434,7 +10434,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 824, - "src": "15547:1:0", + "src": "15623:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10445,7 +10445,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15534:15:0", + "src": "15610:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -10466,7 +10466,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "15561:1:0", + "src": "15637:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -10488,7 +10488,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "15553:7:0", + "src": "15629:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" @@ -10503,13 +10503,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15553:10:0", + "src": "15629:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "15534:29:0", + "src": "15610:29:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -10525,7 +10525,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "15565:52:0", + "src": "15641:52:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_587fbb5a9b8e6d4cc482f236066ac51bcf007ae6026eab186437d2f1b22fc139", @@ -10553,7 +10553,7 @@ 1401 ], "referencedDeclaration": 1401, - "src": "15526:7:0", + "src": "15602:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -10567,7 +10567,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15526:92:0", + "src": "15602:92:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -10575,7 +10575,7 @@ }, "id": 844, "nodeType": "ExpressionStatement", - "src": "15526:92:0" + "src": "15602:92:0" }, { "expression": { @@ -10592,7 +10592,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 725, - "src": "15645:1:0", + "src": "15721:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" @@ -10606,7 +10606,7 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "15645:9:0", + "src": "15721:9:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -10622,7 +10622,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 716, - "src": "15655:12:0", + "src": "15731:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -10636,7 +10636,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 824, - "src": "15668:1:0", + "src": "15744:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10647,7 +10647,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15655:15:0", + "src": "15731:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -10658,7 +10658,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15645:26:0", + "src": "15721:26:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -10674,7 +10674,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "15673:46:0", + "src": "15749:46:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_5ccbe9d117aeeb4b3546dfe6a12f083cb37039367b3ec38b60873b8650bc846f", @@ -10702,7 +10702,7 @@ 1401 ], "referencedDeclaration": 1401, - "src": "15637:7:0", + "src": "15713:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -10716,7 +10716,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15637:83:0", + "src": "15713:83:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -10724,7 +10724,7 @@ }, "id": 854, "nodeType": "ExpressionStatement", - "src": "15637:83:0" + "src": "15713:83:0" }, { "expression": { @@ -10750,7 +10750,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 719, - "src": "15747:7:0", + "src": "15823:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" @@ -10764,7 +10764,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 824, - "src": "15755:1:0", + "src": "15831:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10775,7 +10775,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15747:10:0", + "src": "15823:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10793,7 +10793,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "15760:1:0", + "src": "15836:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -10801,7 +10801,7 @@ }, "value": "0" }, - "src": "15747:14:0", + "src": "15823:14:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -10817,7 +10817,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "15763:44:0", + "src": "15839:44:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_5e1271a09dbb64ae031de288deb0ad8d707df7db51d6e827931dc8fa6642a71e", @@ -10845,7 +10845,7 @@ 1401 ], "referencedDeclaration": 1401, - "src": "15739:7:0", + "src": "15815:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -10859,7 +10859,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15739:69:0", + "src": "15815:69:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -10867,7 +10867,7 @@ }, "id": 863, "nodeType": "ExpressionStatement", - "src": "15739:69:0" + "src": "15815:69:0" }, { "expression": { @@ -10884,7 +10884,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 731, - "src": "15827:16:0", + "src": "15903:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10904,7 +10904,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 719, - "src": "15867:7:0", + "src": "15943:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" @@ -10918,7 +10918,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 824, - "src": "15875:1:0", + "src": "15951:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10929,7 +10929,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15867:10:0", + "src": "15943:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10950,7 +10950,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 731, - "src": "15846:16:0", + "src": "15922:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10964,7 +10964,7 @@ "memberName": "add", "nodeType": "MemberAccess", "referencedDeclaration": 1361, - "src": "15846:20:0", + "src": "15922:20:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" @@ -10978,13 +10978,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15846:32:0", + "src": "15922:32:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "15827:51:0", + "src": "15903:51:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10992,7 +10992,7 @@ }, "id": 872, "nodeType": "ExpressionStatement", - "src": "15827:51:0" + "src": "15903:51:0" }, { "expression": { @@ -11013,7 +11013,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 725, - "src": "15896:1:0", + "src": "15972:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" @@ -11027,7 +11027,7 @@ "memberName": "beneficiaries", "nodeType": "MemberAccess", "referencedDeclaration": 70, - "src": "15896:15:0", + "src": "15972:15:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -11043,7 +11043,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 716, - "src": "15912:12:0", + "src": "15988:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -11057,7 +11057,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 824, - "src": "15925:1:0", + "src": "16001:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11068,7 +11068,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15912:15:0", + "src": "15988:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -11079,7 +11079,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "15896:32:0", + "src": "15972:32:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -11097,7 +11097,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "15931:4:0", + "src": "16007:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -11105,7 +11105,7 @@ }, "value": "true" }, - "src": "15896:39:0", + "src": "15972:39:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -11113,7 +11113,7 @@ }, "id": 882, "nodeType": "ExpressionStatement", - "src": "15896:39:0" + "src": "15972:39:0" }, { "expression": { @@ -11131,7 +11131,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 716, - "src": "16006:12:0", + "src": "16082:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -11145,7 +11145,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 824, - "src": "16019:1:0", + "src": "16095:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11156,7 +11156,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "16006:15:0", + "src": "16082:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -11171,7 +11171,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 719, - "src": "16023:7:0", + "src": "16099:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" @@ -11185,7 +11185,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 824, - "src": "16031:1:0", + "src": "16107:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11196,7 +11196,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "16023:10:0", + "src": "16099:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11221,7 +11221,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 817, - "src": "15991:5:0", + "src": "16067:5:0", "typeDescriptions": { "typeIdentifier": "t_contract$_ITokenContract_$1254", "typeString": "contract ITokenContract" @@ -11235,7 +11235,7 @@ "memberName": "transfer", "nodeType": "MemberAccess", "referencedDeclaration": 1242, - "src": "15991:14:0", + "src": "16067:14:0", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", "typeString": "function (address,uint256) external returns (bool)" @@ -11249,7 +11249,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15991:43:0", + "src": "16067:43:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -11265,7 +11265,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "16036:24:0", + "src": "16112:24:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_e545223bb79d8456d66fa5a98897abb42bb4807111f004a120200da3b7e292c5", @@ -11293,7 +11293,7 @@ 1401 ], "referencedDeclaration": 1401, - "src": "15983:7:0", + "src": "16059:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -11307,7 +11307,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15983:78:0", + "src": "16059:78:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -11315,7 +11315,7 @@ }, "id": 895, "nodeType": "ExpressionStatement", - "src": "15983:78:0" + "src": "16059:78:0" } ] }, @@ -11337,7 +11337,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 824, - "src": "15479:1:0", + "src": "15555:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11354,7 +11354,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 716, - "src": "15481:12:0", + "src": "15557:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -11368,13 +11368,13 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "15481:19:0", + "src": "15557:19:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "15479:21:0", + "src": "15555:21:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -11392,7 +11392,7 @@ "name": "j", "nodeType": "VariableDeclaration", "scope": 904, - "src": "15464:9:0", + "src": "15540:9:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -11403,7 +11403,7 @@ "id": 823, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "15464:7:0", + "src": "15540:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11424,7 +11424,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "15476:1:0", + "src": "15552:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -11433,7 +11433,7 @@ "value": "0" }, "nodeType": "VariableDeclarationStatement", - "src": "15464:13:0" + "src": "15540:13:0" }, "loopExpression": { "expression": { @@ -11446,7 +11446,7 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "15502:3:0", + "src": "15578:3:0", "subExpression": { "argumentTypes": null, "id": 831, @@ -11454,7 +11454,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 824, - "src": "15502:1:0", + "src": "15578:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11467,27 +11467,27 @@ }, "id": 833, "nodeType": "ExpressionStatement", - "src": "15502:3:0" + "src": "15578:3:0" }, "nodeType": "ForStatement", - "src": "15459:617:0" + "src": "15535:617:0" } ] } }, "id": 900, "nodeType": "IfStatement", - "src": "14672:1414:0", + "src": "14748:1414:0", "trueBody": { "id": 810, "nodeType": "Block", - "src": "14720:602:0", + "src": "14796:602:0", "statements": [ { "body": { "id": 808, "nodeType": "Block", - "src": "14784:527:0", + "src": "14860:527:0", "statements": [ { "expression": { @@ -11513,7 +11513,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 716, - "src": "14811:12:0", + "src": "14887:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -11527,7 +11527,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 740, - "src": "14824:1:0", + "src": "14900:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11538,7 +11538,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "14811:15:0", + "src": "14887:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -11559,7 +11559,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "14838:1:0", + "src": "14914:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -11581,7 +11581,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "14830:7:0", + "src": "14906:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" @@ -11596,13 +11596,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "14830:10:0", + "src": "14906:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "14811:29:0", + "src": "14887:29:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -11618,7 +11618,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "14842:52:0", + "src": "14918:52:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_587fbb5a9b8e6d4cc482f236066ac51bcf007ae6026eab186437d2f1b22fc139", @@ -11646,7 +11646,7 @@ 1401 ], "referencedDeclaration": 1401, - "src": "14803:7:0", + "src": "14879:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -11660,7 +11660,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "14803:92:0", + "src": "14879:92:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -11668,7 +11668,7 @@ }, "id": 760, "nodeType": "ExpressionStatement", - "src": "14803:92:0" + "src": "14879:92:0" }, { "expression": { @@ -11685,7 +11685,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 725, - "src": "14922:1:0", + "src": "14998:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" @@ -11699,7 +11699,7 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "14922:9:0", + "src": "14998:9:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -11715,7 +11715,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 716, - "src": "14932:12:0", + "src": "15008:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -11729,7 +11729,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 740, - "src": "14945:1:0", + "src": "15021:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11740,7 +11740,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "14932:15:0", + "src": "15008:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -11751,7 +11751,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "14922:26:0", + "src": "14998:26:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -11767,7 +11767,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "14950:46:0", + "src": "15026:46:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_5ccbe9d117aeeb4b3546dfe6a12f083cb37039367b3ec38b60873b8650bc846f", @@ -11795,7 +11795,7 @@ 1401 ], "referencedDeclaration": 1401, - "src": "14914:7:0", + "src": "14990:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -11809,7 +11809,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "14914:83:0", + "src": "14990:83:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -11817,7 +11817,7 @@ }, "id": 770, "nodeType": "ExpressionStatement", - "src": "14914:83:0" + "src": "14990:83:0" }, { "expression": { @@ -11843,7 +11843,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 719, - "src": "15024:7:0", + "src": "15100:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" @@ -11857,7 +11857,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 740, - "src": "15032:1:0", + "src": "15108:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11868,7 +11868,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15024:10:0", + "src": "15100:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11886,7 +11886,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "15037:1:0", + "src": "15113:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -11894,7 +11894,7 @@ }, "value": "0" }, - "src": "15024:14:0", + "src": "15100:14:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -11910,7 +11910,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "15040:44:0", + "src": "15116:44:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_5e1271a09dbb64ae031de288deb0ad8d707df7db51d6e827931dc8fa6642a71e", @@ -11938,7 +11938,7 @@ 1401 ], "referencedDeclaration": 1401, - "src": "15016:7:0", + "src": "15092:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -11952,7 +11952,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15016:69:0", + "src": "15092:69:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -11960,7 +11960,7 @@ }, "id": 779, "nodeType": "ExpressionStatement", - "src": "15016:69:0" + "src": "15092:69:0" }, { "expression": { @@ -11977,7 +11977,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 731, - "src": "15104:16:0", + "src": "15180:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11997,7 +11997,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 719, - "src": "15144:7:0", + "src": "15220:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" @@ -12011,7 +12011,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 740, - "src": "15152:1:0", + "src": "15228:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12022,7 +12022,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15144:10:0", + "src": "15220:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12043,7 +12043,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 731, - "src": "15123:16:0", + "src": "15199:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12057,7 +12057,7 @@ "memberName": "add", "nodeType": "MemberAccess", "referencedDeclaration": 1361, - "src": "15123:20:0", + "src": "15199:20:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" @@ -12071,13 +12071,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15123:32:0", + "src": "15199:32:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "15104:51:0", + "src": "15180:51:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12085,7 +12085,7 @@ }, "id": 788, "nodeType": "ExpressionStatement", - "src": "15104:51:0" + "src": "15180:51:0" }, { "expression": { @@ -12106,7 +12106,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 725, - "src": "15174:1:0", + "src": "15250:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" @@ -12120,7 +12120,7 @@ "memberName": "beneficiaries", "nodeType": "MemberAccess", "referencedDeclaration": 70, - "src": "15174:15:0", + "src": "15250:15:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -12136,7 +12136,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 716, - "src": "15190:12:0", + "src": "15266:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -12150,7 +12150,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 740, - "src": "15203:1:0", + "src": "15279:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12161,7 +12161,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15190:15:0", + "src": "15266:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -12172,7 +12172,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "15174:32:0", + "src": "15250:32:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -12190,7 +12190,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "15209:4:0", + "src": "15285:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -12198,7 +12198,7 @@ }, "value": "true" }, - "src": "15174:39:0", + "src": "15250:39:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -12206,7 +12206,7 @@ }, "id": 798, "nodeType": "ExpressionStatement", - "src": "15174:39:0" + "src": "15250:39:0" }, { "expression": { @@ -12221,7 +12221,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 719, - "src": "15285:7:0", + "src": "15361:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" @@ -12235,7 +12235,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 740, - "src": "15293:1:0", + "src": "15369:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12246,7 +12246,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15285:10:0", + "src": "15361:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12269,7 +12269,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 716, - "src": "15260:12:0", + "src": "15336:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -12283,7 +12283,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 740, - "src": "15273:1:0", + "src": "15349:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12294,7 +12294,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15260:15:0", + "src": "15336:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -12308,7 +12308,7 @@ "memberName": "transfer", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "15260:24:0", + "src": "15336:24:0", "typeDescriptions": { "typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$", "typeString": "function (uint256)" @@ -12322,7 +12322,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15260:36:0", + "src": "15336:36:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -12330,7 +12330,7 @@ }, "id": 807, "nodeType": "ExpressionStatement", - "src": "15260:36:0" + "src": "15336:36:0" } ] }, @@ -12352,7 +12352,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 740, - "src": "14754:1:0", + "src": "14830:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12369,7 +12369,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 716, - "src": "14758:12:0", + "src": "14834:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -12383,13 +12383,13 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "14758:19:0", + "src": "14834:19:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "14754:23:0", + "src": "14830:23:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -12407,7 +12407,7 @@ "name": "i", "nodeType": "VariableDeclaration", "scope": 904, - "src": "14739:9:0", + "src": "14815:9:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12418,7 +12418,7 @@ "id": 739, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "14739:7:0", + "src": "14815:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12439,7 +12439,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "14751:1:0", + "src": "14827:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -12448,7 +12448,7 @@ "value": "0" }, "nodeType": "VariableDeclarationStatement", - "src": "14739:13:0" + "src": "14815:13:0" }, "loopExpression": { "expression": { @@ -12461,7 +12461,7 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "14779:3:0", + "src": "14855:3:0", "subExpression": { "argumentTypes": null, "id": 747, @@ -12469,7 +12469,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 740, - "src": "14779:1:0", + "src": "14855:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12482,10 +12482,10 @@ }, "id": 749, "nodeType": "ExpressionStatement", - "src": "14779:3:0" + "src": "14855:3:0" }, "nodeType": "ForStatement", - "src": "14734:577:0" + "src": "14810:577:0" } ] } @@ -12498,7 +12498,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 731, - "src": "16103:16:0", + "src": "16179:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12507,7 +12507,7 @@ "functionReturnParameters": 723, "id": 902, "nodeType": "Return", - "src": "16096:23:0" + "src": "16172:23:0" } ] }, @@ -12529,7 +12529,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 904, - "src": "14436:18:0", + "src": "14512:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12540,7 +12540,7 @@ "id": 712, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "14436:7:0", + "src": "14512:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -12555,7 +12555,7 @@ "name": "destinations", "nodeType": "VariableDeclaration", "scope": 904, - "src": "14464:21:0", + "src": "14540:21:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12567,7 +12567,7 @@ "id": 714, "name": "address", "nodeType": "ElementaryTypeName", - "src": "14464:7:0", + "src": "14540:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -12576,7 +12576,7 @@ "id": 715, "length": null, "nodeType": "ArrayTypeName", - "src": "14464:9:0", + "src": "14540:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", "typeString": "address[]" @@ -12591,7 +12591,7 @@ "name": "amounts", "nodeType": "VariableDeclaration", "scope": 904, - "src": "14495:16:0", + "src": "14571:16:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12603,7 +12603,7 @@ "id": 717, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "14495:7:0", + "src": "14571:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12612,7 +12612,7 @@ "id": 718, "length": null, "nodeType": "ArrayTypeName", - "src": "14495:9:0", + "src": "14571:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -12622,7 +12622,7 @@ "visibility": "internal" } ], - "src": "14426:91:0" + "src": "14502:91:0" }, "payable": false, "returnParameters": { @@ -12635,7 +12635,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 904, - "src": "14551:7:0", + "src": "14627:7:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12646,7 +12646,7 @@ "id": 721, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "14551:7:0", + "src": "14627:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12656,10 +12656,10 @@ "visibility": "internal" } ], - "src": "14550:9:0" + "src": "14626:9:0" }, "scope": 1224, - "src": "14403:1723:0", + "src": "14479:1723:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "private" @@ -12668,7 +12668,7 @@ "body": { "id": 1034, "nodeType": "Block", - "src": "16546:1346:0", + "src": "16622:1346:0", "statements": [ { "expression": { @@ -12705,7 +12705,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 910, - "src": "16578:4:0", + "src": "16654:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" @@ -12719,7 +12719,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "16578:11:0", + "src": "16654:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12736,7 +12736,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 913, - "src": "16593:4:0", + "src": "16669:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" @@ -12750,13 +12750,13 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "16593:11:0", + "src": "16669:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "16578:26:0", + "src": "16654:26:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -12784,7 +12784,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 910, - "src": "16608:4:0", + "src": "16684:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" @@ -12798,7 +12798,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "16608:11:0", + "src": "16684:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12815,7 +12815,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 907, - "src": "16623:4:0", + "src": "16699:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr", "typeString": "uint8[] memory" @@ -12829,19 +12829,19 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "16623:11:0", + "src": "16699:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "16608:26:0", + "src": "16684:26:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "16578:56:0", + "src": "16654:56:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -12857,7 +12857,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "16649:24:0", + "src": "16725:24:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_f85073c8befb65baed58ca1ee563e5da0bdbdce8abd4d29ef22a8329c7c97506", @@ -12885,7 +12885,7 @@ 1401 ], "referencedDeclaration": 1401, - "src": "16557:7:0", + "src": "16633:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -12899,7 +12899,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16557:126:0", + "src": "16633:126:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -12907,7 +12907,7 @@ }, "id": 940, "nodeType": "ExpressionStatement", - "src": "16557:126:0" + "src": "16633:126:0" }, { "assignments": [], @@ -12918,7 +12918,7 @@ "name": "lastAddress", "nodeType": "VariableDeclaration", "scope": 1035, - "src": "16694:19:0", + "src": "16770:19:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12929,7 +12929,7 @@ "id": 941, "name": "address", "nodeType": "ElementaryTypeName", - "src": "16694:7:0", + "src": "16770:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -12942,7 +12942,7 @@ "id": 943, "initialValue": null, "nodeType": "VariableDeclarationStatement", - "src": "16694:19:0" + "src": "16770:19:0" }, { "assignments": [ @@ -12955,7 +12955,7 @@ "name": "txHash", "nodeType": "VariableDeclaration", "scope": 1035, - "src": "16812:14:0", + "src": "16888:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12966,7 +12966,7 @@ "id": 944, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "16812:7:0", + "src": "16888:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -12993,7 +12993,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "16886:34:0", + "src": "16962:34:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_178a2411ab6fbc1ba11064408972259c558d0e82fd48b0aba3ad81d14f065e73", @@ -13020,7 +13020,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "17016:4:0", + "src": "17092:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_25_by_1", @@ -13042,7 +13042,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "17011:4:0", + "src": "17087:4:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes1_$", "typeString": "type(bytes1)" @@ -13057,7 +13057,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17011:10:0", + "src": "17087:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes1", "typeString": "bytes1" @@ -13076,7 +13076,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "17052:1:0", + "src": "17128:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -13098,7 +13098,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "17047:4:0", + "src": "17123:4:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes1_$", "typeString": "type(bytes1)" @@ -13113,7 +13113,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17047:7:0", + "src": "17123:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes1", "typeString": "bytes1" @@ -13129,7 +13129,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1414, - "src": "17088:4:0", + "src": "17164:4:0", "typeDescriptions": { "typeIdentifier": "t_contract$_Escrow_v1_0_$1224", "typeString": "contract Escrow_v1_0" @@ -13149,7 +13149,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "17080:7:0", + "src": "17156:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" @@ -13164,7 +13164,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17080:13:0", + "src": "17156:13:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -13177,7 +13177,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 918, - "src": "17119:12:0", + "src": "17195:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -13190,7 +13190,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 921, - "src": "17157:7:0", + "src": "17233:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" @@ -13203,7 +13203,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 915, - "src": "17190:10:0", + "src": "17266:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -13244,7 +13244,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1384, - "src": "16969:3:0", + "src": "17045:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" @@ -13258,7 +13258,7 @@ "memberName": "encodePacked", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "16969:16:0", + "src": "17045:16:0", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" @@ -13272,7 +13272,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16969:253:0", + "src": "17045:253:0", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -13291,7 +13291,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1391, - "src": "16938:9:0", + "src": "17014:9:0", "typeDescriptions": { "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", "typeString": "function () pure returns (bytes32)" @@ -13305,7 +13305,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16938:302:0", + "src": "17014:302:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -13330,7 +13330,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1384, - "src": "16852:3:0", + "src": "16928:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" @@ -13344,7 +13344,7 @@ "memberName": "encodePacked", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "16852:16:0", + "src": "16928:16:0", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" @@ -13358,7 +13358,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16852:402:0", + "src": "16928:402:0", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -13377,7 +13377,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1391, - "src": "16829:9:0", + "src": "16905:9:0", "typeDescriptions": { "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", "typeString": "function () pure returns (bytes32)" @@ -13391,20 +13391,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16829:435:0", + "src": "16905:435:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "nodeType": "VariableDeclarationStatement", - "src": "16812:452:0" + "src": "16888:452:0" }, { "body": { "id": 1030, "nodeType": "Block", - "src": "17314:543:0", + "src": "17390:543:0", "statements": [ { "assignments": [ @@ -13417,7 +13417,7 @@ "name": "recovered", "nodeType": "VariableDeclaration", "scope": 1035, - "src": "17329:17:0", + "src": "17405:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -13428,7 +13428,7 @@ "id": 981, "name": "address", "nodeType": "ElementaryTypeName", - "src": "17329:7:0", + "src": "17405:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -13449,7 +13449,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 945, - "src": "17376:6:0", + "src": "17452:6:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -13464,7 +13464,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 907, - "src": "17400:4:0", + "src": "17476:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr", "typeString": "uint8[] memory" @@ -13478,7 +13478,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 971, - "src": "17405:1:0", + "src": "17481:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13489,7 +13489,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17400:7:0", + "src": "17476:7:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -13504,7 +13504,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 910, - "src": "17425:4:0", + "src": "17501:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" @@ -13518,7 +13518,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 971, - "src": "17430:1:0", + "src": "17506:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13529,7 +13529,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17425:7:0", + "src": "17501:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -13544,7 +13544,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 913, - "src": "17450:4:0", + "src": "17526:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" @@ -13558,7 +13558,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 971, - "src": "17455:1:0", + "src": "17531:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13569,7 +13569,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17450:7:0", + "src": "17526:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -13600,7 +13600,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1389, - "src": "17349:9:0", + "src": "17425:9:0", "typeDescriptions": { "typeIdentifier": "t_function_ecrecover_pure$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$_t_address_$", "typeString": "function (bytes32,uint8,bytes32,bytes32) pure returns (address)" @@ -13614,14 +13614,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17349:122:0", + "src": "17425:122:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "VariableDeclarationStatement", - "src": "17329:142:0" + "src": "17405:142:0" }, { "expression": { @@ -13640,7 +13640,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "17511:12:0", + "src": "17587:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -13654,7 +13654,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 915, - "src": "17524:10:0", + "src": "17600:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -13665,7 +13665,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17511:24:0", + "src": "17587:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -13679,7 +13679,7 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "17511:32:0", + "src": "17587:32:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -13693,7 +13693,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 982, - "src": "17544:9:0", + "src": "17620:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -13704,7 +13704,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17511:43:0", + "src": "17587:43:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -13720,7 +13720,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "17573:19:0", + "src": "17649:19:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_4f2d7dfcb27c0aafa13ae8c400de482c7832204d194018b6e45bd2bf244c74e7", @@ -13748,7 +13748,7 @@ 1401 ], "referencedDeclaration": 1401, - "src": "17486:7:0", + "src": "17562:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -13762,7 +13762,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17486:120:0", + "src": "17562:120:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -13770,7 +13770,7 @@ }, "id": 1005, "nodeType": "ExpressionStatement", - "src": "17486:120:0" + "src": "17562:120:0" }, { "expression": { @@ -13786,7 +13786,7 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "17645:42:0", + "src": "17721:42:0", "subExpression": { "argumentTypes": null, "baseExpression": { @@ -13800,7 +13800,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "17646:12:0", + "src": "17722:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -13814,7 +13814,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 915, - "src": "17659:10:0", + "src": "17735:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -13825,7 +13825,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17646:24:0", + "src": "17722:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -13839,7 +13839,7 @@ "memberName": "voted", "nodeType": "MemberAccess", "referencedDeclaration": 66, - "src": "17646:30:0", + "src": "17722:30:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -13853,7 +13853,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 982, - "src": "17677:9:0", + "src": "17753:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -13864,7 +13864,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17646:41:0", + "src": "17722:41:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -13885,7 +13885,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "17706:27:0", + "src": "17782:27:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_fb2c7e49d5ec7ce36fa812cf15ee7fa946942f931d04fe3ae970516007b2a543", @@ -13913,7 +13913,7 @@ 1401 ], "referencedDeclaration": 1401, - "src": "17620:7:0", + "src": "17696:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -13927,7 +13927,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17620:127:0", + "src": "17696:127:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -13935,7 +13935,7 @@ }, "id": 1016, "nodeType": "ExpressionStatement", - "src": "17620:127:0" + "src": "17696:127:0" }, { "expression": { @@ -13958,7 +13958,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "17761:12:0", + "src": "17837:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -13972,7 +13972,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 915, - "src": "17774:10:0", + "src": "17850:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -13983,7 +13983,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17761:24:0", + "src": "17837:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -13997,7 +13997,7 @@ "memberName": "voted", "nodeType": "MemberAccess", "referencedDeclaration": 66, - "src": "17761:30:0", + "src": "17837:30:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -14011,7 +14011,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 982, - "src": "17792:9:0", + "src": "17868:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -14022,7 +14022,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "17761:41:0", + "src": "17837:41:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -14040,7 +14040,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "17805:4:0", + "src": "17881:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -14048,7 +14048,7 @@ }, "value": "true" }, - "src": "17761:48:0", + "src": "17837:48:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -14056,7 +14056,7 @@ }, "id": 1025, "nodeType": "ExpressionStatement", - "src": "17761:48:0" + "src": "17837:48:0" }, { "expression": { @@ -14073,7 +14073,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 942, - "src": "17823:11:0", + "src": "17899:11:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -14088,13 +14088,13 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 982, - "src": "17837:9:0", + "src": "17913:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "17823:23:0", + "src": "17899:23:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -14102,7 +14102,7 @@ }, "id": 1029, "nodeType": "ExpressionStatement", - "src": "17823:23:0" + "src": "17899:23:0" } ] }, @@ -14124,7 +14124,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 971, - "src": "17292:1:0", + "src": "17368:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14141,7 +14141,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 910, - "src": "17296:4:0", + "src": "17372:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" @@ -14155,13 +14155,13 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "17296:11:0", + "src": "17372:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "17292:15:0", + "src": "17368:15:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -14179,7 +14179,7 @@ "name": "i", "nodeType": "VariableDeclaration", "scope": 1035, - "src": "17280:6:0", + "src": "17356:6:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14190,7 +14190,7 @@ "id": 970, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "17280:4:0", + "src": "17356:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14211,7 +14211,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "17289:1:0", + "src": "17365:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -14220,7 +14220,7 @@ "value": "0" }, "nodeType": "VariableDeclarationStatement", - "src": "17280:10:0" + "src": "17356:10:0" }, "loopExpression": { "expression": { @@ -14233,7 +14233,7 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "17309:3:0", + "src": "17385:3:0", "subExpression": { "argumentTypes": null, "id": 978, @@ -14241,7 +14241,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 971, - "src": "17309:1:0", + "src": "17385:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14254,10 +14254,10 @@ }, "id": 980, "nodeType": "ExpressionStatement", - "src": "17309:3:0" + "src": "17385:3:0" }, "nodeType": "ForStatement", - "src": "17275:582:0" + "src": "17351:582:0" }, { "expression": { @@ -14267,7 +14267,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 942, - "src": "17874:11:0", + "src": "17950:11:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -14276,7 +14276,7 @@ "functionReturnParameters": 925, "id": 1033, "nodeType": "Return", - "src": "17867:18:0" + "src": "17943:18:0" } ] }, @@ -14298,7 +14298,7 @@ "name": "sigV", "nodeType": "VariableDeclaration", "scope": 1035, - "src": "16347:12:0", + "src": "16423:12:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14310,7 +14310,7 @@ "id": 905, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "16347:5:0", + "src": "16423:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -14319,7 +14319,7 @@ "id": 906, "length": null, "nodeType": "ArrayTypeName", - "src": "16347:7:0", + "src": "16423:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_storage_ptr", "typeString": "uint8[]" @@ -14334,7 +14334,7 @@ "name": "sigR", "nodeType": "VariableDeclaration", "scope": 1035, - "src": "16369:14:0", + "src": "16445:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14346,7 +14346,7 @@ "id": 908, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "16369:7:0", + "src": "16445:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -14355,7 +14355,7 @@ "id": 909, "length": null, "nodeType": "ArrayTypeName", - "src": "16369:9:0", + "src": "16445:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -14370,7 +14370,7 @@ "name": "sigS", "nodeType": "VariableDeclaration", "scope": 1035, - "src": "16393:14:0", + "src": "16469:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14382,7 +14382,7 @@ "id": 911, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "16393:7:0", + "src": "16469:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -14391,7 +14391,7 @@ "id": 912, "length": null, "nodeType": "ArrayTypeName", - "src": "16393:9:0", + "src": "16469:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -14406,7 +14406,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 1035, - "src": "16417:18:0", + "src": "16493:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14417,7 +14417,7 @@ "id": 914, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "16417:7:0", + "src": "16493:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -14432,7 +14432,7 @@ "name": "destinations", "nodeType": "VariableDeclaration", "scope": 1035, - "src": "16445:22:0", + "src": "16521:22:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14444,7 +14444,7 @@ "id": 916, "name": "address", "nodeType": "ElementaryTypeName", - "src": "16445:7:0", + "src": "16521:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -14453,7 +14453,7 @@ "id": 917, "length": null, "nodeType": "ArrayTypeName", - "src": "16445:9:0", + "src": "16521:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", "typeString": "address[]" @@ -14468,7 +14468,7 @@ "name": "amounts", "nodeType": "VariableDeclaration", "scope": 1035, - "src": "16477:16:0", + "src": "16553:16:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14480,7 +14480,7 @@ "id": 919, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "16477:7:0", + "src": "16553:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14489,7 +14489,7 @@ "id": 920, "length": null, "nodeType": "ArrayTypeName", - "src": "16477:9:0", + "src": "16553:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -14499,7 +14499,7 @@ "visibility": "internal" } ], - "src": "16337:162:0" + "src": "16413:162:0" }, "payable": false, "returnParameters": { @@ -14512,7 +14512,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 1035, - "src": "16533:7:0", + "src": "16609:7:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14523,7 +14523,7 @@ "id": 923, "name": "address", "nodeType": "ElementaryTypeName", - "src": "16533:7:0", + "src": "16609:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -14533,10 +14533,10 @@ "visibility": "internal" } ], - "src": "16532:9:0" + "src": "16608:9:0" }, "scope": 1224, - "src": "16311:1581:0", + "src": "16387:1581:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "private" @@ -14545,7 +14545,7 @@ "body": { "id": 1066, "nodeType": "Block", - "src": "18047:168:0", + "src": "18123:168:0", "statements": [ { "assignments": [ @@ -14558,7 +14558,7 @@ "name": "timeSince", "nodeType": "VariableDeclaration", "scope": 1067, - "src": "18057:17:0", + "src": "18133:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14569,7 +14569,7 @@ "id": 1044, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "18057:7:0", + "src": "18133:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14590,7 +14590,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1039, - "src": "18085:12:0", + "src": "18161:12:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14611,7 +14611,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1399, - "src": "18077:3:0", + "src": "18153:3:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14625,7 +14625,7 @@ "memberName": "sub", "nodeType": "MemberAccess", "referencedDeclaration": 1337, - "src": "18077:7:0", + "src": "18153:7:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" @@ -14639,14 +14639,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18077:21:0", + "src": "18153:21:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "18057:41:0" + "src": "18133:41:0" }, { "expression": { @@ -14672,7 +14672,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1037, - "src": "18129:12:0", + "src": "18205:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -14690,7 +14690,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "18145:1:0", + "src": "18221:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -14698,7 +14698,7 @@ }, "value": "0" }, - "src": "18129:17:0", + "src": "18205:17:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -14722,7 +14722,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1045, - "src": "18155:9:0", + "src": "18231:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14743,7 +14743,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "18193:4:0", + "src": "18269:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_3600_by_1", @@ -14769,7 +14769,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1037, - "src": "18175:12:0", + "src": "18251:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -14789,7 +14789,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "18167:7:0", + "src": "18243:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint256_$", "typeString": "type(uint256)" @@ -14804,7 +14804,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18167:21:0", + "src": "18243:21:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14818,7 +14818,7 @@ "memberName": "mul", "nodeType": "MemberAccess", "referencedDeclaration": 1289, - "src": "18167:25:0", + "src": "18243:25:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" @@ -14832,13 +14832,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18167:31:0", + "src": "18243:31:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "18155:43:0", + "src": "18231:43:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -14850,7 +14850,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "Conditional", - "src": "18129:69:0", + "src": "18205:69:0", "trueExpression": { "argumentTypes": null, "hexValue": "66616c7365", @@ -14861,7 +14861,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "18149:5:0", + "src": "18225:5:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -14882,7 +14882,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "18115:93:0", + "src": "18191:93:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -14891,7 +14891,7 @@ "functionReturnParameters": 1043, "id": 1065, "nodeType": "Return", - "src": "18108:100:0" + "src": "18184:100:0" } ] }, @@ -14913,7 +14913,7 @@ "name": "timeoutHours", "nodeType": "VariableDeclaration", "scope": 1067, - "src": "17935:19:0", + "src": "18011:19:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14924,7 +14924,7 @@ "id": 1036, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "17935:6:0", + "src": "18011:6:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -14939,7 +14939,7 @@ "name": "lastModified", "nodeType": "VariableDeclaration", "scope": 1067, - "src": "17964:20:0", + "src": "18040:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14950,7 +14950,7 @@ "id": 1038, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "17964:7:0", + "src": "18040:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14960,7 +14960,7 @@ "visibility": "internal" } ], - "src": "17925:65:0" + "src": "18001:65:0" }, "payable": false, "returnParameters": { @@ -14973,7 +14973,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 1067, - "src": "18037:4:0", + "src": "18113:4:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14984,7 +14984,7 @@ "id": 1041, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "18037:4:0", + "src": "18113:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -14994,10 +14994,10 @@ "visibility": "internal" } ], - "src": "18036:6:0" + "src": "18112:6:0" }, "scope": 1224, - "src": "17898:317:0", + "src": "17974:317:0", "stateMutability": "view", "superFunction": null, "visibility": "private" @@ -15006,7 +15006,7 @@ "body": { "id": 1222, "nodeType": "Block", - "src": "18629:2314:0", + "src": "18705:2314:0", "statements": [ { "expression": { @@ -15030,7 +15030,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1069, - "src": "18655:5:0", + "src": "18731:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15045,13 +15045,13 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1071, - "src": "18664:6:0", + "src": "18740:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "18655:15:0", + "src": "18731:15:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -15067,7 +15067,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "18672:27:0", + "src": "18748:27:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_6141441751234d42e9a73d96317794195c7ff57b8f16ac15725a10f10763f824", @@ -15095,7 +15095,7 @@ 1401 ], "referencedDeclaration": 1401, - "src": "18647:7:0", + "src": "18723:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -15109,7 +15109,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18647:53:0", + "src": "18723:53:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -15117,7 +15117,7 @@ }, "id": 1096, "nodeType": "ExpressionStatement", - "src": "18647:53:0" + "src": "18723:53:0" }, { "expression": { @@ -15141,7 +15141,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1081, - "src": "18767:5:0", + "src": "18843:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -15159,7 +15159,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "18775:1:0", + "src": "18851:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -15167,7 +15167,7 @@ }, "value": "0" }, - "src": "18767:9:0", + "src": "18843:9:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -15183,7 +15183,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "18778:19:0", + "src": "18854:19:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_3686f87c4804517ea83323ccf1a3b5b5ff52ed144b19e6fc56abe8fcd182e747", @@ -15211,7 +15211,7 @@ 1401 ], "referencedDeclaration": 1401, - "src": "18759:7:0", + "src": "18835:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -15225,7 +15225,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18759:39:0", + "src": "18835:39:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -15233,7 +15233,7 @@ }, "id": 1103, "nodeType": "ExpressionStatement", - "src": "18759:39:0" + "src": "18835:39:0" }, { "expression": { @@ -15268,7 +15268,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1075, - "src": "18901:9:0", + "src": "18977:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -15286,7 +15286,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "18913:1:0", + "src": "18989:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -15294,7 +15294,7 @@ }, "value": "0" }, - "src": "18901:13:0", + "src": "18977:13:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -15320,7 +15320,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1075, - "src": "18918:9:0", + "src": "18994:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -15338,7 +15338,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "18931:1:0", + "src": "19007:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_3_by_1", @@ -15346,13 +15346,13 @@ }, "value": "3" }, - "src": "18918:14:0", + "src": "18994:14:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "18901:31:0", + "src": "18977:31:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -15368,7 +15368,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "18947:63:0", + "src": "19023:63:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_351c1d5dfdc4a2b4c61d6f4dbb41a0d2ae70a9c094d3c0add87af24b5dd19c13", @@ -15396,7 +15396,7 @@ 1401 ], "referencedDeclaration": 1401, - "src": "18880:7:0", + "src": "18956:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -15410,7 +15410,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18880:140:0", + "src": "18956:140:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -15418,7 +15418,7 @@ }, "id": 1114, "nodeType": "ExpressionStatement", - "src": "18880:140:0" + "src": "18956:140:0" }, { "expression": { @@ -15453,7 +15453,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1075, - "src": "19301:9:0", + "src": "19377:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -15471,7 +15471,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "19314:1:0", + "src": "19390:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -15479,7 +15479,7 @@ }, "value": "1" }, - "src": "19301:14:0", + "src": "19377:14:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -15505,7 +15505,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1073, - "src": "19319:9:0", + "src": "19395:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15526,7 +15526,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "19340:1:0", + "src": "19416:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -15548,7 +15548,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "19332:7:0", + "src": "19408:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" @@ -15563,19 +15563,19 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "19332:10:0", + "src": "19408:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "19319:23:0", + "src": "19395:23:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "19301:41:0", + "src": "19377:41:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -15591,7 +15591,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "19356:74:0", + "src": "19432:74:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_2056db168725d2fabb8aaf14efad7a3fc12ef6bc7132f0596ea09b041b71cb25", @@ -15619,7 +15619,7 @@ 1401 ], "referencedDeclaration": 1401, - "src": "19280:7:0", + "src": "19356:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -15633,7 +15633,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "19280:160:0", + "src": "19356:160:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -15641,7 +15641,7 @@ }, "id": 1127, "nodeType": "ExpressionStatement", - "src": "19280:160:0" + "src": "19356:160:0" }, { "expression": { @@ -15665,7 +15665,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1079, - "src": "19472:10:0", + "src": "19548:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -15683,7 +15683,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1083, - "src": "19529:8:0", + "src": "19605:8:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -15696,7 +15696,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1075, - "src": "19555:9:0", + "src": "19631:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -15709,7 +15709,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1077, - "src": "19582:12:0", + "src": "19658:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -15722,7 +15722,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1069, - "src": "19612:5:0", + "src": "19688:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15735,7 +15735,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1071, - "src": "19635:6:0", + "src": "19711:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15748,7 +15748,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1073, - "src": "19659:9:0", + "src": "19735:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15761,7 +15761,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1087, - "src": "19686:12:0", + "src": "19762:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15804,7 +15804,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 642, - "src": "19486:25:0", + "src": "19562:25:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_bytes20_$_t_uint8_$_t_uint32_$_t_address_$_t_address_$_t_address_$_t_address_$returns$_t_bytes32_$", "typeString": "function (bytes20,uint8,uint32,address,address,address,address) view returns (bytes32)" @@ -15818,13 +15818,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "19486:226:0", + "src": "19562:226:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "src": "19472:240:0", + "src": "19548:240:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -15840,7 +15840,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "19727:59:0", + "src": "19803:59:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_0c041e0c58e6b0e01d338d852a5abb639065eabeb0aee05e0ce3e5f0e52b4f51", @@ -15868,7 +15868,7 @@ 1401 ], "referencedDeclaration": 1401, - "src": "19451:7:0", + "src": "19527:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -15882,7 +15882,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "19451:345:0", + "src": "19527:345:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -15890,7 +15890,7 @@ }, "id": 1142, "nodeType": "ExpressionStatement", - "src": "19451:345:0" + "src": "19527:345:0" }, { "expression": { @@ -15909,7 +15909,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "19807:12:0", + "src": "19883:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -15923,7 +15923,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1079, - "src": "19820:10:0", + "src": "19896:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -15934,7 +15934,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "19807:24:0", + "src": "19883:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -15952,7 +15952,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1069, - "src": "19867:5:0", + "src": "19943:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15965,7 +15965,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1071, - "src": "19894:6:0", + "src": "19970:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15978,7 +15978,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1073, - "src": "19925:9:0", + "src": "20001:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15991,7 +15991,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1081, - "src": "19955:5:0", + "src": "20031:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -16006,7 +16006,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9, - "src": "19982:6:0", + "src": "20058:6:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_Status_$9_$", "typeString": "type(enum Escrow_v1_0.Status)" @@ -16020,7 +16020,7 @@ "memberName": "FUNDED", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "19982:13:0", + "src": "20058:13:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$9", "typeString": "enum Escrow_v1_0.Status" @@ -16035,7 +16035,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1387, - "src": "20023:5:0", + "src": "20099:5:0", "typeDescriptions": { "typeIdentifier": "t_magic_block", "typeString": "block" @@ -16049,7 +16049,7 @@ "memberName": "timestamp", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "20023:15:0", + "src": "20099:15:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -16062,7 +16062,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1075, - "src": "20063:9:0", + "src": "20139:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -16075,7 +16075,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1077, - "src": "20100:12:0", + "src": "20176:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -16088,7 +16088,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1085, - "src": "20142:15:0", + "src": "20218:15:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -16101,7 +16101,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1087, - "src": "20184:12:0", + "src": "20260:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -16115,7 +16115,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 71, - "src": "19834:11:0", + "src": "19910:11:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_struct$_Transaction_$71_storage_ptr_$", "typeString": "type(struct Escrow_v1_0.Transaction storage pointer)" @@ -16140,13 +16140,13 @@ "tokenAddress" ], "nodeType": "FunctionCall", - "src": "19834:373:0", + "src": "19910:373:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_memory", "typeString": "struct Escrow_v1_0.Transaction memory" } }, - "src": "19807:400:0", + "src": "19883:400:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -16154,7 +16154,7 @@ }, "id": 1161, "nodeType": "ExpressionStatement", - "src": "19807:400:0" + "src": "19883:400:0" }, { "expression": { @@ -16177,7 +16177,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "20218:12:0", + "src": "20294:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -16191,7 +16191,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1079, - "src": "20231:10:0", + "src": "20307:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -16202,7 +16202,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20218:24:0", + "src": "20294:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -16216,7 +16216,7 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "20218:32:0", + "src": "20294:32:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -16230,7 +16230,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1071, - "src": "20251:6:0", + "src": "20327:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -16241,7 +16241,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "20218:40:0", + "src": "20294:40:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -16259,7 +16259,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "20261:4:0", + "src": "20337:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -16267,7 +16267,7 @@ }, "value": "true" }, - "src": "20218:47:0", + "src": "20294:47:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -16275,7 +16275,7 @@ }, "id": 1170, "nodeType": "ExpressionStatement", - "src": "20218:47:0" + "src": "20294:47:0" }, { "expression": { @@ -16298,7 +16298,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "20275:12:0", + "src": "20351:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -16312,7 +16312,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1079, - "src": "20288:10:0", + "src": "20364:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -16323,7 +16323,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20275:24:0", + "src": "20351:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -16337,7 +16337,7 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "20275:32:0", + "src": "20351:32:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -16351,7 +16351,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1069, - "src": "20308:5:0", + "src": "20384:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -16362,7 +16362,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "20275:39:0", + "src": "20351:39:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -16380,7 +16380,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "20317:4:0", + "src": "20393:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -16388,7 +16388,7 @@ }, "value": "true" }, - "src": "20275:46:0", + "src": "20351:46:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -16396,7 +16396,7 @@ }, "id": 1179, "nodeType": "ExpressionStatement", - "src": "20275:46:0" + "src": "20351:46:0" }, { "expression": { @@ -16412,7 +16412,7 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "20428:44:0", + "src": "20504:44:0", "subExpression": { "argumentTypes": null, "baseExpression": { @@ -16426,7 +16426,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "20429:12:0", + "src": "20505:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -16440,7 +16440,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1079, - "src": "20442:10:0", + "src": "20518:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -16451,7 +16451,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20429:24:0", + "src": "20505:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -16465,7 +16465,7 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "20429:32:0", + "src": "20505:32:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -16479,7 +16479,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1073, - "src": "20462:9:0", + "src": "20538:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -16490,7 +16490,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20429:43:0", + "src": "20505:43:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -16511,7 +16511,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "20487:47:0", + "src": "20563:47:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_313b391557427937e7bdb85c7561d47c5b9c985755a448dd33a92026ffb38f8d", @@ -16539,7 +16539,7 @@ 1401 ], "referencedDeclaration": 1401, - "src": "20407:7:0", + "src": "20483:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -16553,7 +16553,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "20407:137:0", + "src": "20483:137:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -16561,7 +16561,7 @@ }, "id": 1190, "nodeType": "ExpressionStatement", - "src": "20407:137:0" + "src": "20483:137:0" }, { "condition": { @@ -16582,7 +16582,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1075, - "src": "20704:9:0", + "src": "20780:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -16600,7 +16600,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "20716:1:0", + "src": "20792:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -16608,7 +16608,7 @@ }, "value": "1" }, - "src": "20704:13:0", + "src": "20780:13:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -16617,11 +16617,11 @@ "falseBody": null, "id": 1204, "nodeType": "IfStatement", - "src": "20700:94:0", + "src": "20776:94:0", "trueBody": { "id": 1203, "nodeType": "Block", - "src": "20719:75:0", + "src": "20795:75:0", "statements": [ { "expression": { @@ -16644,7 +16644,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "20733:12:0", + "src": "20809:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -16658,7 +16658,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1079, - "src": "20746:10:0", + "src": "20822:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -16669,7 +16669,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20733:24:0", + "src": "20809:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -16683,7 +16683,7 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "20733:32:0", + "src": "20809:32:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -16697,7 +16697,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1073, - "src": "20766:9:0", + "src": "20842:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -16708,7 +16708,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "20733:43:0", + "src": "20809:43:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -16726,7 +16726,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "20779:4:0", + "src": "20855:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -16734,7 +16734,7 @@ }, "value": "true" }, - "src": "20733:50:0", + "src": "20809:50:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -16742,7 +16742,7 @@ }, "id": 1202, "nodeType": "ExpressionStatement", - "src": "20733:50:0" + "src": "20809:50:0" } ] } @@ -16758,7 +16758,7 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "20812:18:0", + "src": "20888:18:0", "subExpression": { "argumentTypes": null, "id": 1205, @@ -16766,7 +16766,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 78, - "src": "20812:16:0", + "src": "20888:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -16779,7 +16779,7 @@ }, "id": 1207, "nodeType": "ExpressionStatement", - "src": "20812:18:0" + "src": "20888:18:0" }, { "expression": { @@ -16792,7 +16792,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1079, - "src": "20872:10:0", + "src": "20948:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -16815,7 +16815,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 83, - "src": "20841:18:0", + "src": "20917:18:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_bytes32_$dyn_storage_$", "typeString": "mapping(address => bytes32[] storage ref)" @@ -16829,7 +16829,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1069, - "src": "20860:5:0", + "src": "20936:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -16840,7 +16840,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20841:25:0", + "src": "20917:25:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage", "typeString": "bytes32[] storage ref" @@ -16854,7 +16854,7 @@ "memberName": "push", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "20841:30:0", + "src": "20917:30:0", "typeDescriptions": { "typeIdentifier": "t_function_arraypush_nonpayable$_t_bytes32_$returns$_t_uint256_$", "typeString": "function (bytes32) returns (uint256)" @@ -16868,7 +16868,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "20841:42:0", + "src": "20917:42:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -16876,7 +16876,7 @@ }, "id": 1214, "nodeType": "ExpressionStatement", - "src": "20841:42:0" + "src": "20917:42:0" }, { "expression": { @@ -16889,7 +16889,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1079, - "src": "20925:10:0", + "src": "21001:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -16912,7 +16912,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 83, - "src": "20893:18:0", + "src": "20969:18:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_bytes32_$dyn_storage_$", "typeString": "mapping(address => bytes32[] storage ref)" @@ -16926,7 +16926,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1071, - "src": "20912:6:0", + "src": "20988:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -16937,7 +16937,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20893:26:0", + "src": "20969:26:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage", "typeString": "bytes32[] storage ref" @@ -16951,7 +16951,7 @@ "memberName": "push", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "20893:31:0", + "src": "20969:31:0", "typeDescriptions": { "typeIdentifier": "t_function_arraypush_nonpayable$_t_bytes32_$returns$_t_uint256_$", "typeString": "function (bytes32) returns (uint256)" @@ -16965,7 +16965,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "20893:43:0", + "src": "20969:43:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -16973,7 +16973,7 @@ }, "id": 1221, "nodeType": "ExpressionStatement", - "src": "20893:43:0" + "src": "20969:43:0" } ] }, @@ -16995,7 +16995,7 @@ "name": "buyer", "nodeType": "VariableDeclaration", "scope": 1223, - "src": "18336:13:0", + "src": "18412:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -17006,7 +17006,7 @@ "id": 1068, "name": "address", "nodeType": "ElementaryTypeName", - "src": "18336:7:0", + "src": "18412:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -17021,7 +17021,7 @@ "name": "seller", "nodeType": "VariableDeclaration", "scope": 1223, - "src": "18359:14:0", + "src": "18435:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -17032,7 +17032,7 @@ "id": 1070, "name": "address", "nodeType": "ElementaryTypeName", - "src": "18359:7:0", + "src": "18435:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -17047,7 +17047,7 @@ "name": "moderator", "nodeType": "VariableDeclaration", "scope": 1223, - "src": "18383:17:0", + "src": "18459:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -17058,7 +17058,7 @@ "id": 1072, "name": "address", "nodeType": "ElementaryTypeName", - "src": "18383:7:0", + "src": "18459:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -17073,7 +17073,7 @@ "name": "threshold", "nodeType": "VariableDeclaration", "scope": 1223, - "src": "18410:15:0", + "src": "18486:15:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -17084,7 +17084,7 @@ "id": 1074, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "18410:5:0", + "src": "18486:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -17099,7 +17099,7 @@ "name": "timeoutHours", "nodeType": "VariableDeclaration", "scope": 1223, - "src": "18435:19:0", + "src": "18511:19:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -17110,7 +17110,7 @@ "id": 1076, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "18435:6:0", + "src": "18511:6:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -17125,7 +17125,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 1223, - "src": "18464:18:0", + "src": "18540:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -17136,7 +17136,7 @@ "id": 1078, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "18464:7:0", + "src": "18540:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -17151,7 +17151,7 @@ "name": "value", "nodeType": "VariableDeclaration", "scope": 1223, - "src": "18492:13:0", + "src": "18568:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -17162,7 +17162,7 @@ "id": 1080, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "18492:7:0", + "src": "18568:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -17177,7 +17177,7 @@ "name": "uniqueId", "nodeType": "VariableDeclaration", "scope": 1223, - "src": "18515:16:0", + "src": "18591:16:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -17188,7 +17188,7 @@ "id": 1082, "name": "bytes20", "nodeType": "ElementaryTypeName", - "src": "18515:7:0", + "src": "18591:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -17203,7 +17203,7 @@ "name": "transactionType", "nodeType": "VariableDeclaration", "scope": 1223, - "src": "18541:31:0", + "src": "18617:31:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -17216,7 +17216,7 @@ "name": "TransactionType", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 12, - "src": "18541:15:0", + "src": "18617:15:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -17231,7 +17231,7 @@ "name": "tokenAddress", "nodeType": "VariableDeclaration", "scope": 1223, - "src": "18582:20:0", + "src": "18658:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -17242,7 +17242,7 @@ "id": 1086, "name": "address", "nodeType": "ElementaryTypeName", - "src": "18582:7:0", + "src": "18658:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -17252,27 +17252,27 @@ "visibility": "internal" } ], - "src": "18326:282:0" + "src": "18402:282:0" }, "payable": false, "returnParameters": { "id": 1089, "nodeType": "ParameterList", "parameters": [], - "src": "18629:0:0" + "src": "18705:0:0" }, "scope": 1224, - "src": "18302:2641:0", + "src": "18378:2641:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "private" } ], "scope": 1225, - "src": "460:20485:0" + "src": "460:20561:0" } ], - "src": "0:20946:0" + "src": "0:21022:0" }, "legacyAST": { "absolutePath": "/home/sameep/freelancing-projects/toptal/open baazar/publicRepo/smart-contracts/contracts/escrow/Escrow_v1_0.sol", @@ -19577,7 +19577,7 @@ "body": { "id": 233, "nodeType": "Block", - "src": "4056:347:0", + "src": "4068:347:0", "statements": [ { "expression": { @@ -19590,7 +19590,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 184, - "src": "4095:5:0", + "src": "4107:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -19603,7 +19603,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 186, - "src": "4114:6:0", + "src": "4126:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -19616,7 +19616,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 188, - "src": "4134:9:0", + "src": "4146:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -19629,7 +19629,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 190, - "src": "4157:9:0", + "src": "4169:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -19642,7 +19642,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 192, - "src": "4180:12:0", + "src": "4192:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -19655,7 +19655,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 194, - "src": "4206:10:0", + "src": "4218:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -19670,7 +19670,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1397, - "src": "4230:3:0", + "src": "4242:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -19684,7 +19684,7 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "4230:9:0", + "src": "4242:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -19697,7 +19697,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 196, - "src": "4253:8:0", + "src": "4265:8:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -19712,7 +19712,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12, - "src": "4275:15:0", + "src": "4287:15:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_TransactionType_$12_$", "typeString": "type(enum Escrow_v1_0.TransactionType)" @@ -19726,7 +19726,7 @@ "memberName": "ETHER", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "4275:21:0", + "src": "4287:21:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -19745,7 +19745,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "4318:1:0", + "src": "4330:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -19767,7 +19767,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "4310:7:0", + "src": "4322:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" @@ -19782,7 +19782,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4310:10:0", + "src": "4322:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -19837,7 +19837,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1223, - "src": "4066:15:0", + "src": "4078:15:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_address_$_t_uint8_$_t_uint32_$_t_bytes32_$_t_uint256_$_t_bytes20_$_t_enum$_TransactionType_$12_$_t_address_$returns$__$", "typeString": "function (address,address,address,uint8,uint32,bytes32,uint256,bytes20,enum Escrow_v1_0.TransactionType,address)" @@ -19851,7 +19851,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4066:264:0", + "src": "4078:264:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -19859,7 +19859,7 @@ }, "id": 224, "nodeType": "ExpressionStatement", - "src": "4066:264:0" + "src": "4078:264:0" }, { "eventCall": { @@ -19872,7 +19872,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 194, - "src": "4361:10:0", + "src": "4373:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -19887,7 +19887,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1397, - "src": "4373:3:0", + "src": "4385:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -19901,7 +19901,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "4373:10:0", + "src": "4385:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -19916,7 +19916,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1397, - "src": "4385:3:0", + "src": "4397:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -19930,7 +19930,7 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "4385:9:0", + "src": "4397:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -19957,7 +19957,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 38, - "src": "4354:6:0", + "src": "4366:6:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (bytes32,address,uint256)" @@ -19971,7 +19971,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4354:41:0", + "src": "4366:41:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -19979,11 +19979,11 @@ }, "id": 232, "nodeType": "EmitStatement", - "src": "4349:46:0" + "src": "4361:46:0" } ] }, - "documentation": "dev Add new transaction in the contract\nparam buyer The buyer of the transaction\nparam seller The seller of the listing associated with the transaction\nparam moderator Moderator for this transaction\nparam scriptHash keccak256 hash of the redeem script\nparam threshold Minimum number of signatures required to released funds\nparam timeoutHours Hours after which seller can release funds into his favour by signing transaction unilaterally\nparam uniqueId bytes20 unique id for the transaction, generated by ETH wallet\nedeem Script format will be following\n\nass amount of the ethers to be put in escrow", + "documentation": "@dev Add new transaction in the contract\n@param buyer The buyer of the transaction\n@param seller The seller of the listing associated with the transaction\n@param moderator Moderator for this transaction\n@param threshold Minimum number of signatures required to released funds\n@param timeoutHours Hours after which seller can release funds into his favour by signing transaction unilaterally\n@param scriptHash keccak256 hash of the redeem script\n@param uniqueId bytes20 unique id for the transaction, generated by ETH wallet\nRedeem Script format will be following\n\nPass amount of the ethers to be put in escrow", "id": 234, "implemented": true, "isConstructor": false, @@ -19998,7 +19998,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 194, - "src": "3979:10:0", + "src": "3991:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -20013,14 +20013,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 115, - "src": "3955:23:0", + "src": "3967:23:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "3955:35:0" + "src": "3967:35:0" }, { "arguments": [ @@ -20031,7 +20031,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 184, - "src": "4014:5:0", + "src": "4026:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -20046,14 +20046,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 147, - "src": "3999:14:0", + "src": "4011:14:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_address_$", "typeString": "modifier (address)" } }, "nodeType": "ModifierInvocation", - "src": "3999:21:0" + "src": "4011:21:0" }, { "arguments": [ @@ -20064,7 +20064,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 186, - "src": "4044:6:0", + "src": "4056:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -20079,14 +20079,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 147, - "src": "4029:14:0", + "src": "4041:14:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_address_$", "typeString": "modifier (address)" } }, "nodeType": "ModifierInvocation", - "src": "4029:22:0" + "src": "4041:22:0" } ], "name": "addTransaction", @@ -20101,7 +20101,7 @@ "name": "buyer", "nodeType": "VariableDeclaration", "scope": 234, - "src": "3735:13:0", + "src": "3747:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -20112,7 +20112,7 @@ "id": 183, "name": "address", "nodeType": "ElementaryTypeName", - "src": "3735:7:0", + "src": "3747:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -20127,7 +20127,7 @@ "name": "seller", "nodeType": "VariableDeclaration", "scope": 234, - "src": "3758:14:0", + "src": "3770:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -20138,7 +20138,7 @@ "id": 185, "name": "address", "nodeType": "ElementaryTypeName", - "src": "3758:7:0", + "src": "3770:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -20153,7 +20153,7 @@ "name": "moderator", "nodeType": "VariableDeclaration", "scope": 234, - "src": "3782:17:0", + "src": "3794:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -20164,7 +20164,7 @@ "id": 187, "name": "address", "nodeType": "ElementaryTypeName", - "src": "3782:7:0", + "src": "3794:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -20179,7 +20179,7 @@ "name": "threshold", "nodeType": "VariableDeclaration", "scope": 234, - "src": "3809:15:0", + "src": "3821:15:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -20190,7 +20190,7 @@ "id": 189, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "3809:5:0", + "src": "3821:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -20205,7 +20205,7 @@ "name": "timeoutHours", "nodeType": "VariableDeclaration", "scope": 234, - "src": "3834:19:0", + "src": "3846:19:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -20216,7 +20216,7 @@ "id": 191, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "3834:6:0", + "src": "3846:6:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -20231,7 +20231,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 234, - "src": "3863:18:0", + "src": "3875:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -20242,7 +20242,7 @@ "id": 193, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "3863:7:0", + "src": "3875:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -20257,7 +20257,7 @@ "name": "uniqueId", "nodeType": "VariableDeclaration", "scope": 234, - "src": "3891:16:0", + "src": "3903:16:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -20268,7 +20268,7 @@ "id": 195, "name": "bytes20", "nodeType": "ElementaryTypeName", - "src": "3891:7:0", + "src": "3903:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -20278,17 +20278,17 @@ "visibility": "internal" } ], - "src": "3725:188:0" + "src": "3737:188:0" }, "payable": true, "returnParameters": { "id": 207, "nodeType": "ParameterList", "parameters": [], - "src": "4056:0:0" + "src": "4068:0:0" }, "scope": 1224, - "src": "3702:701:0", + "src": "3714:701:0", "stateMutability": "payable", "superFunction": null, "visibility": "external" @@ -20297,7 +20297,7 @@ "body": { "id": 307, "nodeType": "Block", - "src": "5770:597:0", + "src": "5796:597:0", "statements": [ { "expression": { @@ -20310,7 +20310,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 236, - "src": "5810:5:0", + "src": "5836:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -20323,7 +20323,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 238, - "src": "5829:6:0", + "src": "5855:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -20336,7 +20336,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 240, - "src": "5849:9:0", + "src": "5875:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -20349,7 +20349,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 242, - "src": "5872:9:0", + "src": "5898:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -20362,7 +20362,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 244, - "src": "5895:12:0", + "src": "5921:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -20375,7 +20375,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 246, - "src": "5921:10:0", + "src": "5947:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -20388,7 +20388,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 248, - "src": "5945:5:0", + "src": "5971:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -20401,7 +20401,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 250, - "src": "5964:8:0", + "src": "5990:8:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -20416,7 +20416,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12, - "src": "5986:15:0", + "src": "6012:15:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_TransactionType_$12_$", "typeString": "type(enum Escrow_v1_0.TransactionType)" @@ -20430,7 +20430,7 @@ "memberName": "TOKEN", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "5986:21:0", + "src": "6012:21:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -20443,7 +20443,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 252, - "src": "6021:12:0", + "src": "6047:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -20498,7 +20498,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1223, - "src": "5781:15:0", + "src": "5807:15:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_address_$_t_uint8_$_t_uint32_$_t_bytes32_$_t_uint256_$_t_bytes20_$_t_enum$_TransactionType_$12_$_t_address_$returns$__$", "typeString": "function (address,address,address,uint8,uint32,bytes32,uint256,bytes20,enum Escrow_v1_0.TransactionType,address)" @@ -20512,7 +20512,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5781:262:0", + "src": "5807:262:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -20520,7 +20520,7 @@ }, "id": 280, "nodeType": "ExpressionStatement", - "src": "5781:262:0" + "src": "5807:262:0" }, { "assignments": [ @@ -20533,7 +20533,7 @@ "name": "token", "nodeType": "VariableDeclaration", "scope": 308, - "src": "6054:20:0", + "src": "6080:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -20546,7 +20546,7 @@ "name": "ITokenContract", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 1254, - "src": "6054:14:0", + "src": "6080:14:0", "typeDescriptions": { "typeIdentifier": "t_contract$_ITokenContract_$1254", "typeString": "contract ITokenContract" @@ -20567,7 +20567,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 252, - "src": "6092:12:0", + "src": "6118:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -20586,7 +20586,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1254, - "src": "6077:14:0", + "src": "6103:14:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_ITokenContract_$1254_$", "typeString": "type(contract ITokenContract)" @@ -20600,14 +20600,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6077:28:0", + "src": "6103:28:0", "typeDescriptions": { "typeIdentifier": "t_contract$_ITokenContract_$1254", "typeString": "contract ITokenContract" } }, "nodeType": "VariableDeclarationStatement", - "src": "6054:51:0" + "src": "6080:51:0" }, { "expression": { @@ -20625,7 +20625,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1397, - "src": "6156:3:0", + "src": "6182:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -20639,7 +20639,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "6156:10:0", + "src": "6182:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -20655,7 +20655,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1414, - "src": "6176:4:0", + "src": "6202:4:0", "typeDescriptions": { "typeIdentifier": "t_contract$_Escrow_v1_0_$1224", "typeString": "contract Escrow_v1_0" @@ -20675,7 +20675,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "6168:7:0", + "src": "6194:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" @@ -20690,7 +20690,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6168:13:0", + "src": "6194:13:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -20703,7 +20703,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 248, - "src": "6183:5:0", + "src": "6209:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -20732,7 +20732,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 282, - "src": "6137:5:0", + "src": "6163:5:0", "typeDescriptions": { "typeIdentifier": "t_contract$_ITokenContract_$1254", "typeString": "contract ITokenContract" @@ -20746,7 +20746,7 @@ "memberName": "transferFrom", "nodeType": "MemberAccess", "referencedDeclaration": 1253, - "src": "6137:18:0", + "src": "6163:18:0", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", "typeString": "function (address,address,uint256) external returns (bool)" @@ -20760,7 +20760,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6137:52:0", + "src": "6163:52:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -20776,7 +20776,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "6203:95:0", + "src": "6229:95:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_d81b627ac67759234197a5bdf4d9f7d33298e824ce7bd47e08ce9919cd96c696", @@ -20804,7 +20804,7 @@ 1401 ], "referencedDeclaration": 1401, - "src": "6116:7:0", + "src": "6142:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -20818,7 +20818,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6116:192:0", + "src": "6142:192:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -20826,7 +20826,7 @@ }, "id": 299, "nodeType": "ExpressionStatement", - "src": "6116:192:0" + "src": "6142:192:0" }, { "eventCall": { @@ -20839,7 +20839,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 246, - "src": "6330:10:0", + "src": "6356:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -20854,7 +20854,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1397, - "src": "6342:3:0", + "src": "6368:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -20868,7 +20868,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "6342:10:0", + "src": "6368:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -20881,7 +20881,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 248, - "src": "6354:5:0", + "src": "6380:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -20908,7 +20908,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 38, - "src": "6323:6:0", + "src": "6349:6:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (bytes32,address,uint256)" @@ -20922,7 +20922,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6323:37:0", + "src": "6349:37:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -20930,11 +20930,11 @@ }, "id": 306, "nodeType": "EmitStatement", - "src": "6318:42:0" + "src": "6344:42:0" } ] }, - "documentation": "dev Add new transaction in the contract\nparam buyer The buyer of the transaction\nparam seller The seller of the listing associated with the transaction\nparam moderator Moderator for this transaction\nparam scriptHash keccak256 hash of the redeem script\nparam threshold Minimum number of signatures required to released funds\nparam timeoutHours Hours after which seller can release funds into his favour by signing transaction unilaterally\nparam value Amount of tokens to be put in escrow\nparam uniqueId bytes20 unique id for the transaction, generated by ETH wallet\nparam tokenAddress Address of the token to be used\nedeem Script format will be following\n\npprove escrow contract to spend amount of token on sender's behalf", + "documentation": "@dev Add new transaction in the contract\n@param buyer The buyer of the transaction\n@param seller The seller of the listing associated with the transaction\n@param moderator Moderator for this transaction\n@param threshold Minimum number of signatures required to released funds\n@param timeoutHours Hours after which seller can release funds into his favour by signing transaction unilaterally\n@param scriptHash keccak256 hash of the redeem script\n@param value Amount of tokens to be put in escrow\n@param uniqueId bytes20 unique id for the transaction, generated by ETH wallet\n@param tokenAddress Address of the token to be used\nRedeem Script format will be following\n\nApprove escrow contract to spend amount of token on sender's behalf", "id": 308, "implemented": true, "isConstructor": false, @@ -20949,7 +20949,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 246, - "src": "5656:10:0", + "src": "5682:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -20964,14 +20964,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 115, - "src": "5632:23:0", + "src": "5658:23:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "5632:35:0" + "src": "5658:35:0" }, { "arguments": [ @@ -20982,7 +20982,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 236, - "src": "5691:5:0", + "src": "5717:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -20997,14 +20997,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 147, - "src": "5676:14:0", + "src": "5702:14:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_address_$", "typeString": "modifier (address)" } }, "nodeType": "ModifierInvocation", - "src": "5676:21:0" + "src": "5702:21:0" }, { "arguments": [ @@ -21015,7 +21015,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 238, - "src": "5721:6:0", + "src": "5747:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -21030,14 +21030,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 147, - "src": "5706:14:0", + "src": "5732:14:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_address_$", "typeString": "modifier (address)" } }, "nodeType": "ModifierInvocation", - "src": "5706:22:0" + "src": "5732:22:0" }, { "arguments": [ @@ -21048,7 +21048,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 252, - "src": "5752:12:0", + "src": "5778:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -21063,14 +21063,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 147, - "src": "5737:14:0", + "src": "5763:14:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_address_$", "typeString": "modifier (address)" } }, "nodeType": "ModifierInvocation", - "src": "5737:28:0" + "src": "5763:28:0" } ], "name": "addTokenTransaction", @@ -21085,7 +21085,7 @@ "name": "buyer", "nodeType": "VariableDeclaration", "scope": 308, - "src": "5375:13:0", + "src": "5401:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -21096,7 +21096,7 @@ "id": 235, "name": "address", "nodeType": "ElementaryTypeName", - "src": "5375:7:0", + "src": "5401:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -21111,7 +21111,7 @@ "name": "seller", "nodeType": "VariableDeclaration", "scope": 308, - "src": "5398:14:0", + "src": "5424:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -21122,7 +21122,7 @@ "id": 237, "name": "address", "nodeType": "ElementaryTypeName", - "src": "5398:7:0", + "src": "5424:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -21137,7 +21137,7 @@ "name": "moderator", "nodeType": "VariableDeclaration", "scope": 308, - "src": "5422:17:0", + "src": "5448:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -21148,7 +21148,7 @@ "id": 239, "name": "address", "nodeType": "ElementaryTypeName", - "src": "5422:7:0", + "src": "5448:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -21163,7 +21163,7 @@ "name": "threshold", "nodeType": "VariableDeclaration", "scope": 308, - "src": "5449:15:0", + "src": "5475:15:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -21174,7 +21174,7 @@ "id": 241, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "5449:5:0", + "src": "5475:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -21189,7 +21189,7 @@ "name": "timeoutHours", "nodeType": "VariableDeclaration", "scope": 308, - "src": "5474:19:0", + "src": "5500:19:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -21200,7 +21200,7 @@ "id": 243, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "5474:6:0", + "src": "5500:6:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -21215,7 +21215,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 308, - "src": "5503:18:0", + "src": "5529:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -21226,7 +21226,7 @@ "id": 245, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "5503:7:0", + "src": "5529:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -21241,7 +21241,7 @@ "name": "value", "nodeType": "VariableDeclaration", "scope": 308, - "src": "5531:13:0", + "src": "5557:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -21252,7 +21252,7 @@ "id": 247, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "5531:7:0", + "src": "5557:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -21267,7 +21267,7 @@ "name": "uniqueId", "nodeType": "VariableDeclaration", "scope": 308, - "src": "5554:16:0", + "src": "5580:16:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -21278,7 +21278,7 @@ "id": 249, "name": "bytes20", "nodeType": "ElementaryTypeName", - "src": "5554:7:0", + "src": "5580:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -21293,7 +21293,7 @@ "name": "tokenAddress", "nodeType": "VariableDeclaration", "scope": 308, - "src": "5580:20:0", + "src": "5606:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -21304,7 +21304,7 @@ "id": 251, "name": "address", "nodeType": "ElementaryTypeName", - "src": "5580:7:0", + "src": "5606:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -21314,17 +21314,17 @@ "visibility": "internal" } ], - "src": "5365:241:0" + "src": "5391:241:0" }, "payable": false, "returnParameters": { "id": 266, "nodeType": "ParameterList", "parameters": [], - "src": "5770:0:0" + "src": "5796:0:0" }, "scope": 1224, - "src": "5337:1030:0", + "src": "5363:1030:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" @@ -21333,7 +21333,7 @@ "body": { "id": 324, "nodeType": "Block", - "src": "6754:75:0", + "src": "6780:75:0", "statements": [ { "expression": { @@ -21349,7 +21349,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "6771:12:0", + "src": "6797:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -21363,7 +21363,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 310, - "src": "6784:10:0", + "src": "6810:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -21374,7 +21374,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "6771:24:0", + "src": "6797:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -21388,7 +21388,7 @@ "memberName": "beneficiaries", "nodeType": "MemberAccess", "referencedDeclaration": 70, - "src": "6771:38:0", + "src": "6797:38:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -21402,7 +21402,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 312, - "src": "6810:11:0", + "src": "6836:11:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -21413,7 +21413,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "6771:51:0", + "src": "6797:51:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -21422,7 +21422,7 @@ "functionReturnParameters": 316, "id": 323, "nodeType": "Return", - "src": "6764:58:0" + "src": "6790:58:0" } ] }, @@ -21444,7 +21444,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 325, - "src": "6643:18:0", + "src": "6669:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -21455,7 +21455,7 @@ "id": 309, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "6643:7:0", + "src": "6669:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -21470,7 +21470,7 @@ "name": "beneficiary", "nodeType": "VariableDeclaration", "scope": 325, - "src": "6671:19:0", + "src": "6697:19:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -21481,7 +21481,7 @@ "id": 311, "name": "address", "nodeType": "ElementaryTypeName", - "src": "6671:7:0", + "src": "6697:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -21491,7 +21491,7 @@ "visibility": "internal" } ], - "src": "6633:63:0" + "src": "6659:63:0" }, "payable": false, "returnParameters": { @@ -21504,7 +21504,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 325, - "src": "6744:4:0", + "src": "6770:4:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -21515,7 +21515,7 @@ "id": 314, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "6744:4:0", + "src": "6770:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -21525,10 +21525,10 @@ "visibility": "internal" } ], - "src": "6743:6:0" + "src": "6769:6:0" }, "scope": 1224, - "src": "6608:221:0", + "src": "6634:221:0", "stateMutability": "view", "superFunction": null, "visibility": "external" @@ -21537,7 +21537,7 @@ "body": { "id": 341, "nodeType": "Block", - "src": "7202:61:0", + "src": "7228:61:0", "statements": [ { "expression": { @@ -21553,7 +21553,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "7219:12:0", + "src": "7245:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -21567,7 +21567,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 327, - "src": "7232:10:0", + "src": "7258:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -21578,7 +21578,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "7219:24:0", + "src": "7245:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -21592,7 +21592,7 @@ "memberName": "voted", "nodeType": "MemberAccess", "referencedDeclaration": 66, - "src": "7219:30:0", + "src": "7245:30:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -21606,7 +21606,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 329, - "src": "7250:5:0", + "src": "7276:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -21617,7 +21617,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "7219:37:0", + "src": "7245:37:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -21626,7 +21626,7 @@ "functionReturnParameters": 333, "id": 340, "nodeType": "Return", - "src": "7212:44:0" + "src": "7238:44:0" } ] }, @@ -21648,7 +21648,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 342, - "src": "7097:18:0", + "src": "7123:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -21659,7 +21659,7 @@ "id": 326, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "7097:7:0", + "src": "7123:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -21674,7 +21674,7 @@ "name": "party", "nodeType": "VariableDeclaration", "scope": 342, - "src": "7125:13:0", + "src": "7151:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -21685,7 +21685,7 @@ "id": 328, "name": "address", "nodeType": "ElementaryTypeName", - "src": "7125:7:0", + "src": "7151:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -21695,7 +21695,7 @@ "visibility": "internal" } ], - "src": "7087:57:0" + "src": "7113:57:0" }, "payable": false, "returnParameters": { @@ -21708,7 +21708,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 342, - "src": "7192:4:0", + "src": "7218:4:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -21719,7 +21719,7 @@ "id": 331, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "7192:4:0", + "src": "7218:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -21729,10 +21729,10 @@ "visibility": "internal" } ], - "src": "7191:6:0" + "src": "7217:6:0" }, "scope": 1224, - "src": "7069:194:0", + "src": "7095:194:0", "stateMutability": "view", "superFunction": null, "visibility": "external" @@ -21741,7 +21741,7 @@ "body": { "id": 399, "nodeType": "Block", - "src": "7866:303:0", + "src": "7892:303:0", "statements": [ { "expression": { @@ -21767,7 +21767,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1397, - "src": "7885:3:0", + "src": "7911:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -21781,7 +21781,7 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "7885:9:0", + "src": "7911:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -21799,7 +21799,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "7897:1:0", + "src": "7923:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -21807,7 +21807,7 @@ }, "value": "0" }, - "src": "7885:13:0", + "src": "7911:13:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -21823,7 +21823,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "7900:34:0", + "src": "7926:34:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_21fbec2be6560b9ccffc4980d43c0d147770168e7aaf24999b418b9010085622", @@ -21851,7 +21851,7 @@ 1401 ], "referencedDeclaration": 1401, - "src": "7877:7:0", + "src": "7903:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -21865,7 +21865,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7877:58:0", + "src": "7903:58:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -21873,7 +21873,7 @@ }, "id": 368, "nodeType": "ExpressionStatement", - "src": "7877:58:0" + "src": "7903:58:0" }, { "expression": { @@ -21894,7 +21894,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "7946:12:0", + "src": "7972:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -21908,7 +21908,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 344, - "src": "7959:10:0", + "src": "7985:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -21919,7 +21919,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "7946:24:0", + "src": "7972:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -21933,7 +21933,7 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": 40, - "src": "7946:30:0", + "src": "7972:30:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -21953,7 +21953,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1397, - "src": "8027:3:0", + "src": "8053:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -21967,7 +21967,7 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "8027:9:0", + "src": "8053:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -21992,7 +21992,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "7979:12:0", + "src": "8005:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -22006,7 +22006,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 344, - "src": "7992:10:0", + "src": "8018:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -22017,7 +22017,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "7979:24:0", + "src": "8005:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -22031,7 +22031,7 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": 40, - "src": "7979:30:0", + "src": "8005:30:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -22045,7 +22045,7 @@ "memberName": "add", "nodeType": "MemberAccess", "referencedDeclaration": 1361, - "src": "7979:47:0", + "src": "8005:47:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" @@ -22059,13 +22059,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7979:58:0", + "src": "8005:58:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "7946:91:0", + "src": "7972:91:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -22073,7 +22073,7 @@ }, "id": 382, "nodeType": "ExpressionStatement", - "src": "7946:91:0" + "src": "7972:91:0" }, { "expression": { @@ -22094,7 +22094,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "8047:12:0", + "src": "8073:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -22108,7 +22108,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 344, - "src": "8060:10:0", + "src": "8086:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -22119,7 +22119,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "8047:24:0", + "src": "8073:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -22133,7 +22133,7 @@ "memberName": "lastModified", "nodeType": "MemberAccess", "referencedDeclaration": 42, - "src": "8047:37:0", + "src": "8073:37:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -22150,7 +22150,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1387, - "src": "8087:5:0", + "src": "8113:5:0", "typeDescriptions": { "typeIdentifier": "t_magic_block", "typeString": "block" @@ -22164,13 +22164,13 @@ "memberName": "timestamp", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "8087:15:0", + "src": "8113:15:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "8047:55:0", + "src": "8073:55:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -22178,7 +22178,7 @@ }, "id": 390, "nodeType": "ExpressionStatement", - "src": "8047:55:0" + "src": "8073:55:0" }, { "eventCall": { @@ -22191,7 +22191,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 344, - "src": "8128:10:0", + "src": "8154:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -22206,7 +22206,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1397, - "src": "8140:3:0", + "src": "8166:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -22220,7 +22220,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "8140:10:0", + "src": "8166:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -22235,7 +22235,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1397, - "src": "8152:3:0", + "src": "8178:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -22249,7 +22249,7 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "8152:9:0", + "src": "8178:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -22276,7 +22276,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 30, - "src": "8118:9:0", + "src": "8144:9:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (bytes32,address,uint256)" @@ -22290,7 +22290,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8118:44:0", + "src": "8144:44:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -22298,7 +22298,7 @@ }, "id": 398, "nodeType": "EmitStatement", - "src": "8113:49:0" + "src": "8139:49:0" } ] }, @@ -22317,7 +22317,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 344, - "src": "7713:10:0", + "src": "7739:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -22332,14 +22332,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 99, - "src": "7696:16:0", + "src": "7722:16:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "7696:28:0" + "src": "7722:28:0" }, { "arguments": [ @@ -22350,7 +22350,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 344, - "src": "7747:10:0", + "src": "7773:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -22365,14 +22365,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 132, - "src": "7733:13:0", + "src": "7759:13:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "7733:25:0" + "src": "7759:25:0" }, { "arguments": [ @@ -22383,7 +22383,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 344, - "src": "7788:10:0", + "src": "7814:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -22398,7 +22398,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12, - "src": "7800:15:0", + "src": "7826:15:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_TransactionType_$12_$", "typeString": "type(enum Escrow_v1_0.TransactionType)" @@ -22412,7 +22412,7 @@ "memberName": "ETHER", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "7800:21:0", + "src": "7826:21:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -22427,14 +22427,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 165, - "src": "7767:20:0", + "src": "7793:20:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$_t_enum$_TransactionType_$12_$", "typeString": "modifier (bytes32,enum Escrow_v1_0.TransactionType)" } }, "nodeType": "ModifierInvocation", - "src": "7767:55:0" + "src": "7793:55:0" }, { "arguments": [ @@ -22445,7 +22445,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 344, - "src": "7841:10:0", + "src": "7867:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -22460,14 +22460,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 182, - "src": "7831:9:0", + "src": "7857:9:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "7831:21:0" + "src": "7857:21:0" } ], "name": "addFundsToTransaction", @@ -22482,7 +22482,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 400, - "src": "7630:18:0", + "src": "7656:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -22493,7 +22493,7 @@ "id": 343, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "7630:7:0", + "src": "7656:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -22503,17 +22503,17 @@ "visibility": "internal" } ], - "src": "7620:34:0" + "src": "7646:34:0" }, "payable": true, "returnParameters": { "id": 360, "nodeType": "ParameterList", "parameters": [], - "src": "7866:0:0" + "src": "7892:0:0" }, "scope": 1224, - "src": "7590:579:0", + "src": "7616:579:0", "stateMutability": "payable", "superFunction": null, "visibility": "external" @@ -22522,7 +22522,7 @@ "body": { "id": 480, "nodeType": "Block", - "src": "8772:622:0", + "src": "8798:622:0", "statements": [ { "expression": { @@ -22546,7 +22546,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 404, - "src": "8791:5:0", + "src": "8817:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -22564,7 +22564,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "8799:1:0", + "src": "8825:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -22572,7 +22572,7 @@ }, "value": "0" }, - "src": "8791:9:0", + "src": "8817:9:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -22588,7 +22588,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "8802:34:0", + "src": "8828:34:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_21fbec2be6560b9ccffc4980d43c0d147770168e7aaf24999b418b9010085622", @@ -22616,7 +22616,7 @@ 1401 ], "referencedDeclaration": 1401, - "src": "8783:7:0", + "src": "8809:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -22630,7 +22630,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8783:54:0", + "src": "8809:54:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -22638,7 +22638,7 @@ }, "id": 427, "nodeType": "ExpressionStatement", - "src": "8783:54:0" + "src": "8809:54:0" }, { "assignments": [ @@ -22651,7 +22651,7 @@ "name": "token", "nodeType": "VariableDeclaration", "scope": 481, - "src": "8848:20:0", + "src": "8874:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -22664,7 +22664,7 @@ "name": "ITokenContract", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 1254, - "src": "8848:14:0", + "src": "8874:14:0", "typeDescriptions": { "typeIdentifier": "t_contract$_ITokenContract_$1254", "typeString": "contract ITokenContract" @@ -22689,7 +22689,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "8899:12:0", + "src": "8925:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -22703,7 +22703,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 402, - "src": "8912:10:0", + "src": "8938:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -22714,7 +22714,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "8899:24:0", + "src": "8925:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -22728,7 +22728,7 @@ "memberName": "tokenAddress", "nodeType": "MemberAccess", "referencedDeclaration": 56, - "src": "8899:37:0", + "src": "8925:37:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -22747,7 +22747,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1254, - "src": "8871:14:0", + "src": "8897:14:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_ITokenContract_$1254_$", "typeString": "type(contract ITokenContract)" @@ -22761,14 +22761,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8871:75:0", + "src": "8897:75:0", "typeDescriptions": { "typeIdentifier": "t_contract$_ITokenContract_$1254", "typeString": "contract ITokenContract" } }, "nodeType": "VariableDeclarationStatement", - "src": "8848:98:0" + "src": "8874:98:0" }, { "expression": { @@ -22788,7 +22788,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "8997:12:0", + "src": "9023:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -22802,7 +22802,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 402, - "src": "9010:10:0", + "src": "9036:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -22813,7 +22813,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "8997:24:0", + "src": "9023:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -22827,7 +22827,7 @@ "memberName": "buyer", "nodeType": "MemberAccess", "referencedDeclaration": 52, - "src": "8997:30:0", + "src": "9023:30:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -22843,7 +22843,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1414, - "src": "9037:4:0", + "src": "9063:4:0", "typeDescriptions": { "typeIdentifier": "t_contract$_Escrow_v1_0_$1224", "typeString": "contract Escrow_v1_0" @@ -22863,7 +22863,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "9029:7:0", + "src": "9055:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" @@ -22878,7 +22878,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "9029:13:0", + "src": "9055:13:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -22891,7 +22891,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 404, - "src": "9044:5:0", + "src": "9070:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -22920,7 +22920,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 429, - "src": "8978:5:0", + "src": "9004:5:0", "typeDescriptions": { "typeIdentifier": "t_contract$_ITokenContract_$1254", "typeString": "contract ITokenContract" @@ -22934,7 +22934,7 @@ "memberName": "transferFrom", "nodeType": "MemberAccess", "referencedDeclaration": 1253, - "src": "8978:18:0", + "src": "9004:18:0", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", "typeString": "function (address,address,uint256) external returns (bool)" @@ -22948,7 +22948,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8978:72:0", + "src": "9004:72:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -22964,7 +22964,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "9064:94:0", + "src": "9090:94:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_d9d07068d589bc4adc53018a3c57c159ec128fdfb62732a5fa9410e76cf03318", @@ -22992,7 +22992,7 @@ 1401 ], "referencedDeclaration": 1401, - "src": "8957:7:0", + "src": "8983:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -23006,7 +23006,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8957:211:0", + "src": "8983:211:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -23014,7 +23014,7 @@ }, "id": 451, "nodeType": "ExpressionStatement", - "src": "8957:211:0" + "src": "8983:211:0" }, { "expression": { @@ -23035,7 +23035,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "9179:12:0", + "src": "9205:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -23049,7 +23049,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 402, - "src": "9192:10:0", + "src": "9218:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -23060,7 +23060,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "9179:24:0", + "src": "9205:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -23074,7 +23074,7 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": 40, - "src": "9179:30:0", + "src": "9205:30:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -23092,7 +23092,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 404, - "src": "9260:5:0", + "src": "9286:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -23117,7 +23117,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "9212:12:0", + "src": "9238:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -23131,7 +23131,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 402, - "src": "9225:10:0", + "src": "9251:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -23142,7 +23142,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "9212:24:0", + "src": "9238:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -23156,7 +23156,7 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": 40, - "src": "9212:30:0", + "src": "9238:30:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -23170,7 +23170,7 @@ "memberName": "add", "nodeType": "MemberAccess", "referencedDeclaration": 1361, - "src": "9212:47:0", + "src": "9238:47:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" @@ -23184,13 +23184,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "9212:54:0", + "src": "9238:54:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "9179:87:0", + "src": "9205:87:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -23198,7 +23198,7 @@ }, "id": 464, "nodeType": "ExpressionStatement", - "src": "9179:87:0" + "src": "9205:87:0" }, { "expression": { @@ -23219,7 +23219,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "9276:12:0", + "src": "9302:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -23233,7 +23233,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 402, - "src": "9289:10:0", + "src": "9315:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -23244,7 +23244,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "9276:24:0", + "src": "9302:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -23258,7 +23258,7 @@ "memberName": "lastModified", "nodeType": "MemberAccess", "referencedDeclaration": 42, - "src": "9276:37:0", + "src": "9302:37:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -23275,7 +23275,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1387, - "src": "9316:5:0", + "src": "9342:5:0", "typeDescriptions": { "typeIdentifier": "t_magic_block", "typeString": "block" @@ -23289,13 +23289,13 @@ "memberName": "timestamp", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "9316:15:0", + "src": "9342:15:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "9276:55:0", + "src": "9302:55:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -23303,7 +23303,7 @@ }, "id": 472, "nodeType": "ExpressionStatement", - "src": "9276:55:0" + "src": "9302:55:0" }, { "eventCall": { @@ -23316,7 +23316,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 402, - "src": "9357:10:0", + "src": "9383:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -23331,7 +23331,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1397, - "src": "9369:3:0", + "src": "9395:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -23345,7 +23345,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "9369:10:0", + "src": "9395:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -23358,7 +23358,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 404, - "src": "9381:5:0", + "src": "9407:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -23385,7 +23385,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 30, - "src": "9347:9:0", + "src": "9373:9:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (bytes32,address,uint256)" @@ -23399,7 +23399,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "9347:40:0", + "src": "9373:40:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -23407,7 +23407,7 @@ }, "id": 479, "nodeType": "EmitStatement", - "src": "9342:45:0" + "src": "9368:45:0" } ] }, @@ -23426,7 +23426,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 402, - "src": "8628:10:0", + "src": "8654:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -23441,14 +23441,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 99, - "src": "8611:16:0", + "src": "8637:16:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "8611:28:0" + "src": "8637:28:0" }, { "arguments": [ @@ -23459,7 +23459,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 402, - "src": "8662:10:0", + "src": "8688:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -23474,14 +23474,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 132, - "src": "8648:13:0", + "src": "8674:13:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "8648:25:0" + "src": "8674:25:0" }, { "arguments": [ @@ -23492,7 +23492,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 402, - "src": "8703:10:0", + "src": "8729:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -23507,7 +23507,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12, - "src": "8715:15:0", + "src": "8741:15:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_TransactionType_$12_$", "typeString": "type(enum Escrow_v1_0.TransactionType)" @@ -23521,7 +23521,7 @@ "memberName": "TOKEN", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "8715:21:0", + "src": "8741:21:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -23536,14 +23536,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 165, - "src": "8682:20:0", + "src": "8708:20:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$_t_enum$_TransactionType_$12_$", "typeString": "modifier (bytes32,enum Escrow_v1_0.TransactionType)" } }, "nodeType": "ModifierInvocation", - "src": "8682:55:0" + "src": "8708:55:0" }, { "arguments": [ @@ -23554,7 +23554,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 402, - "src": "8756:10:0", + "src": "8782:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -23569,14 +23569,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 182, - "src": "8746:9:0", + "src": "8772:9:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "8746:21:0" + "src": "8772:21:0" } ], "name": "addTokensToTransaction", @@ -23591,7 +23591,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 481, - "src": "8538:18:0", + "src": "8564:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -23602,7 +23602,7 @@ "id": 401, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "8538:7:0", + "src": "8564:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -23617,7 +23617,7 @@ "name": "value", "nodeType": "VariableDeclaration", "scope": 481, - "src": "8566:13:0", + "src": "8592:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -23628,7 +23628,7 @@ "id": 403, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "8566:7:0", + "src": "8592:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -23638,17 +23638,17 @@ "visibility": "internal" } ], - "src": "8528:57:0" + "src": "8554:57:0" }, "payable": false, "returnParameters": { "id": 420, "nodeType": "ParameterList", "parameters": [], - "src": "8772:0:0" + "src": "8798:0:0" }, "scope": 1224, - "src": "8497:897:0", + "src": "8523:897:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" @@ -23657,7 +23657,7 @@ "body": { "id": 493, "nodeType": "Block", - "src": "9649:56:0", + "src": "9675:56:0", "statements": [ { "expression": { @@ -23669,7 +23669,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 83, - "src": "9666:18:0", + "src": "9692:18:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_bytes32_$dyn_storage_$", "typeString": "mapping(address => bytes32[] storage ref)" @@ -23683,7 +23683,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 483, - "src": "9685:12:0", + "src": "9711:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -23694,7 +23694,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "9666:32:0", + "src": "9692:32:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage", "typeString": "bytes32[] storage ref" @@ -23703,7 +23703,7 @@ "functionReturnParameters": 488, "id": 492, "nodeType": "Return", - "src": "9659:39:0" + "src": "9685:39:0" } ] }, @@ -23725,7 +23725,7 @@ "name": "partyAddress", "nodeType": "VariableDeclaration", "scope": 494, - "src": "9556:20:0", + "src": "9582:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -23736,7 +23736,7 @@ "id": 482, "name": "address", "nodeType": "ElementaryTypeName", - "src": "9556:7:0", + "src": "9582:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -23746,7 +23746,7 @@ "visibility": "internal" } ], - "src": "9546:36:0" + "src": "9572:36:0" }, "payable": false, "returnParameters": { @@ -23759,7 +23759,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 494, - "src": "9633:9:0", + "src": "9659:9:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -23771,7 +23771,7 @@ "id": 485, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "9633:7:0", + "src": "9659:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -23780,7 +23780,7 @@ "id": 486, "length": null, "nodeType": "ArrayTypeName", - "src": "9633:9:0", + "src": "9659:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -23790,10 +23790,10 @@ "visibility": "internal" } ], - "src": "9632:11:0" + "src": "9658:11:0" }, "scope": 1224, - "src": "9511:194:0", + "src": "9537:194:0", "stateMutability": "view", "superFunction": null, "visibility": "external" @@ -23802,7 +23802,7 @@ "body": { "id": 582, "nodeType": "Block", - "src": "10575:932:0", + "src": "10601:932:0", "statements": [ { "expression": { @@ -23828,7 +23828,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 508, - "src": "10609:12:0", + "src": "10635:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" @@ -23842,7 +23842,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "10609:19:0", + "src": "10635:19:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -23860,7 +23860,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "10629:1:0", + "src": "10655:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -23868,7 +23868,7 @@ }, "value": "0" }, - "src": "10609:21:0", + "src": "10635:21:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -23884,7 +23884,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "10645:47:0", + "src": "10671:47:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_fbeb58246a6e3ff255a1d618f14d1cced67ffd4784fbc3e1cfbdf71d1f7fbdf9", @@ -23912,7 +23912,7 @@ 1401 ], "referencedDeclaration": 1401, - "src": "10588:7:0", + "src": "10614:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -23926,7 +23926,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "10588:114:0", + "src": "10614:114:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -23934,7 +23934,7 @@ }, "id": 527, "nodeType": "ExpressionStatement", - "src": "10588:114:0" + "src": "10614:114:0" }, { "expression": { @@ -23960,7 +23960,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 508, - "src": "10733:12:0", + "src": "10759:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" @@ -23974,7 +23974,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "10733:19:0", + "src": "10759:19:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -23991,7 +23991,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 511, - "src": "10756:7:0", + "src": "10782:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", "typeString": "uint256[] calldata" @@ -24005,13 +24005,13 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "10756:14:0", + "src": "10782:14:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "10733:37:0", + "src": "10759:37:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -24027,7 +24027,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "10784:57:0", + "src": "10810:57:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_e70a315a5939ff57e3400503291dbc0af19d18c32f15c80c7c6f5b7c54a6cd3c", @@ -24055,7 +24055,7 @@ 1401 ], "referencedDeclaration": 1401, - "src": "10712:7:0", + "src": "10738:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -24069,7 +24069,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "10712:139:0", + "src": "10738:139:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -24077,7 +24077,7 @@ }, "id": 536, "nodeType": "ExpressionStatement", - "src": "10712:139:0" + "src": "10738:139:0" }, { "expression": { @@ -24090,7 +24090,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 497, - "src": "10901:4:0", + "src": "10927:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_calldata_ptr", "typeString": "uint8[] calldata" @@ -24103,7 +24103,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 500, - "src": "10919:4:0", + "src": "10945:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", "typeString": "bytes32[] calldata" @@ -24116,7 +24116,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 503, - "src": "10937:4:0", + "src": "10963:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", "typeString": "bytes32[] calldata" @@ -24129,7 +24129,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 505, - "src": "10955:10:0", + "src": "10981:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -24142,7 +24142,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 508, - "src": "10979:12:0", + "src": "11005:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" @@ -24155,7 +24155,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 511, - "src": "11005:7:0", + "src": "11031:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", "typeString": "uint256[] calldata" @@ -24194,7 +24194,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 711, - "src": "10869:18:0", + "src": "10895:18:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_array$_t_uint8_$dyn_memory_ptr_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_bytes32_$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$__$", "typeString": "function (uint8[] memory,bytes32[] memory,bytes32[] memory,bytes32,address[] memory,uint256[] memory)" @@ -24208,7 +24208,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "10869:153:0", + "src": "10895:153:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -24216,7 +24216,7 @@ }, "id": 545, "nodeType": "ExpressionStatement", - "src": "10869:153:0" + "src": "10895:153:0" }, { "expression": { @@ -24237,7 +24237,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "11033:12:0", + "src": "11059:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -24251,7 +24251,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 505, - "src": "11046:10:0", + "src": "11072:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -24262,7 +24262,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "11033:24:0", + "src": "11059:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -24276,7 +24276,7 @@ "memberName": "status", "nodeType": "MemberAccess", "referencedDeclaration": 44, - "src": "11033:31:0", + "src": "11059:31:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$9", "typeString": "enum Escrow_v1_0.Status" @@ -24293,7 +24293,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9, - "src": "11067:6:0", + "src": "11093:6:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_Status_$9_$", "typeString": "type(enum Escrow_v1_0.Status)" @@ -24307,13 +24307,13 @@ "memberName": "RELEASED", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "11067:15:0", + "src": "11093:15:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$9", "typeString": "enum Escrow_v1_0.Status" } }, - "src": "11033:49:0", + "src": "11059:49:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$9", "typeString": "enum Escrow_v1_0.Status" @@ -24321,7 +24321,7 @@ }, "id": 553, "nodeType": "ExpressionStatement", - "src": "11033:49:0" + "src": "11059:49:0" }, { "expression": { @@ -24342,7 +24342,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "11166:12:0", + "src": "11192:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -24356,7 +24356,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 505, - "src": "11179:10:0", + "src": "11205:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -24367,7 +24367,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "11166:24:0", + "src": "11192:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -24381,7 +24381,7 @@ "memberName": "lastModified", "nodeType": "MemberAccess", "referencedDeclaration": 42, - "src": "11166:37:0", + "src": "11192:37:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -24398,7 +24398,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1387, - "src": "11206:5:0", + "src": "11232:5:0", "typeDescriptions": { "typeIdentifier": "t_magic_block", "typeString": "block" @@ -24412,13 +24412,13 @@ "memberName": "timestamp", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "11206:15:0", + "src": "11232:15:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "11166:55:0", + "src": "11192:55:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -24426,7 +24426,7 @@ }, "id": 561, "nodeType": "ExpressionStatement", - "src": "11166:55:0" + "src": "11192:55:0" }, { "expression": { @@ -24453,7 +24453,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 505, - "src": "11267:10:0", + "src": "11293:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -24466,7 +24466,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 508, - "src": "11279:12:0", + "src": "11305:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" @@ -24479,7 +24479,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 511, - "src": "11293:7:0", + "src": "11319:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", "typeString": "uint256[] calldata" @@ -24506,7 +24506,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 904, - "src": "11252:14:0", + "src": "11278:14:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$_t_uint256_$", "typeString": "function (bytes32,address[] memory,uint256[] memory) returns (uint256)" @@ -24520,7 +24520,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "11252:49:0", + "src": "11278:49:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -24539,7 +24539,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "11305:12:0", + "src": "11331:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -24553,7 +24553,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 505, - "src": "11318:10:0", + "src": "11344:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -24564,7 +24564,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "11305:24:0", + "src": "11331:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -24578,13 +24578,13 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": 40, - "src": "11305:30:0", + "src": "11331:30:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "11252:83:0", + "src": "11278:83:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -24600,7 +24600,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "11349:74:0", + "src": "11375:74:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_9e0bdb14e2e0d5e118fd1f547268c6a1fdb5e8facacd614066d4b60bc2c9941d", @@ -24628,7 +24628,7 @@ 1401 ], "referencedDeclaration": 1401, - "src": "11231:7:0", + "src": "11257:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -24642,7 +24642,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "11231:202:0", + "src": "11257:202:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -24650,7 +24650,7 @@ }, "id": 575, "nodeType": "ExpressionStatement", - "src": "11231:202:0" + "src": "11257:202:0" }, { "eventCall": { @@ -24663,7 +24663,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 505, - "src": "11466:10:0", + "src": "11492:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -24676,7 +24676,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 508, - "src": "11478:12:0", + "src": "11504:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" @@ -24689,7 +24689,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 511, - "src": "11492:7:0", + "src": "11518:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", "typeString": "uint256[] calldata" @@ -24716,7 +24716,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 22, - "src": "11457:8:0", + "src": "11483:8:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$__$", "typeString": "function (bytes32,address[] memory,uint256[] memory)" @@ -24730,7 +24730,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "11457:43:0", + "src": "11483:43:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -24738,7 +24738,7 @@ }, "id": 581, "nodeType": "EmitStatement", - "src": "11452:48:0" + "src": "11478:48:0" } ] }, @@ -24757,7 +24757,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 505, - "src": "10525:10:0", + "src": "10551:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -24772,14 +24772,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 99, - "src": "10508:16:0", + "src": "10534:16:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "10508:28:0" + "src": "10534:28:0" }, { "arguments": [ @@ -24790,7 +24790,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 505, - "src": "10559:10:0", + "src": "10585:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -24805,14 +24805,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 132, - "src": "10545:13:0", + "src": "10571:13:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "10545:25:0" + "src": "10571:25:0" } ], "name": "execute", @@ -24827,7 +24827,7 @@ "name": "sigV", "nodeType": "VariableDeclaration", "scope": 583, - "src": "10329:12:0", + "src": "10355:12:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -24839,7 +24839,7 @@ "id": 495, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "10329:5:0", + "src": "10355:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -24848,7 +24848,7 @@ "id": 496, "length": null, "nodeType": "ArrayTypeName", - "src": "10329:7:0", + "src": "10355:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_storage_ptr", "typeString": "uint8[]" @@ -24863,7 +24863,7 @@ "name": "sigR", "nodeType": "VariableDeclaration", "scope": 583, - "src": "10351:14:0", + "src": "10377:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -24875,7 +24875,7 @@ "id": 498, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "10351:7:0", + "src": "10377:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -24884,7 +24884,7 @@ "id": 499, "length": null, "nodeType": "ArrayTypeName", - "src": "10351:9:0", + "src": "10377:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -24899,7 +24899,7 @@ "name": "sigS", "nodeType": "VariableDeclaration", "scope": 583, - "src": "10375:14:0", + "src": "10401:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -24911,7 +24911,7 @@ "id": 501, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "10375:7:0", + "src": "10401:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -24920,7 +24920,7 @@ "id": 502, "length": null, "nodeType": "ArrayTypeName", - "src": "10375:9:0", + "src": "10401:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -24935,7 +24935,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 583, - "src": "10399:18:0", + "src": "10425:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -24946,7 +24946,7 @@ "id": 504, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "10399:7:0", + "src": "10425:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -24961,7 +24961,7 @@ "name": "destinations", "nodeType": "VariableDeclaration", "scope": 583, - "src": "10427:22:0", + "src": "10453:22:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -24973,7 +24973,7 @@ "id": 506, "name": "address", "nodeType": "ElementaryTypeName", - "src": "10427:7:0", + "src": "10453:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -24982,7 +24982,7 @@ "id": 507, "length": null, "nodeType": "ArrayTypeName", - "src": "10427:9:0", + "src": "10453:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", "typeString": "address[]" @@ -24997,7 +24997,7 @@ "name": "amounts", "nodeType": "VariableDeclaration", "scope": 583, - "src": "10459:17:0", + "src": "10485:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -25009,7 +25009,7 @@ "id": 509, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "10459:7:0", + "src": "10485:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -25018,7 +25018,7 @@ "id": 510, "length": null, "nodeType": "ArrayTypeName", - "src": "10459:9:0", + "src": "10485:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -25028,17 +25028,17 @@ "visibility": "internal" } ], - "src": "10319:163:0" + "src": "10345:163:0" }, "payable": false, "returnParameters": { "id": 519, "nodeType": "ParameterList", "parameters": [], - "src": "10575:0:0" + "src": "10601:0:0" }, "scope": 1224, - "src": "10303:1204:0", + "src": "10329:1204:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" @@ -25047,7 +25047,7 @@ "body": { "id": 641, "nodeType": "Block", - "src": "12261:734:0", + "src": "12337:734:0", "statements": [ { "condition": { @@ -25068,7 +25068,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 597, - "src": "12275:12:0", + "src": "12351:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -25089,7 +25089,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "12299:1:0", + "src": "12375:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -25111,7 +25111,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "12291:7:0", + "src": "12367:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" @@ -25126,13 +25126,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "12291:10:0", + "src": "12367:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "12275:26:0", + "src": "12351:26:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -25141,7 +25141,7 @@ "falseBody": { "id": 639, "nodeType": "Block", - "src": "12632:357:0", + "src": "12708:357:0", "statements": [ { "expression": { @@ -25157,7 +25157,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 585, - "src": "12718:8:0", + "src": "12794:8:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -25170,7 +25170,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 587, - "src": "12748:9:0", + "src": "12824:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -25183,7 +25183,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 589, - "src": "12779:12:0", + "src": "12855:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -25196,7 +25196,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 591, - "src": "12813:5:0", + "src": "12889:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -25209,7 +25209,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 593, - "src": "12840:6:0", + "src": "12916:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -25222,7 +25222,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 595, - "src": "12868:9:0", + "src": "12944:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -25238,7 +25238,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1414, - "src": "12907:4:0", + "src": "12983:4:0", "typeDescriptions": { "typeIdentifier": "t_contract$_Escrow_v1_0_$1224", "typeString": "contract Escrow_v1_0" @@ -25258,7 +25258,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "12899:7:0", + "src": "12975:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" @@ -25273,7 +25273,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "12899:13:0", + "src": "12975:13:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -25286,7 +25286,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 597, - "src": "12934:12:0", + "src": "13010:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -25335,7 +25335,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1384, - "src": "12680:3:0", + "src": "12756:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" @@ -25349,7 +25349,7 @@ "memberName": "encodePacked", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "12680:16:0", + "src": "12756:16:0", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" @@ -25363,7 +25363,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "12680:284:0", + "src": "12756:284:0", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -25382,7 +25382,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1391, - "src": "12653:9:0", + "src": "12729:9:0", "typeDescriptions": { "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", "typeString": "function () pure returns (bytes32)" @@ -25396,7 +25396,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "12653:325:0", + "src": "12729:325:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -25405,17 +25405,17 @@ "functionReturnParameters": 601, "id": 638, "nodeType": "Return", - "src": "12646:332:0" + "src": "12722:332:0" } ] }, "id": 640, "nodeType": "IfStatement", - "src": "12271:718:0", + "src": "12347:718:0", "trueBody": { "id": 622, "nodeType": "Block", - "src": "12303:323:0", + "src": "12379:323:0", "statements": [ { "expression": { @@ -25431,7 +25431,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 585, - "src": "12389:8:0", + "src": "12465:8:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -25444,7 +25444,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 587, - "src": "12419:9:0", + "src": "12495:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -25457,7 +25457,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 589, - "src": "12450:12:0", + "src": "12526:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -25470,7 +25470,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 591, - "src": "12484:5:0", + "src": "12560:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -25483,7 +25483,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 593, - "src": "12511:6:0", + "src": "12587:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -25496,7 +25496,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 595, - "src": "12539:9:0", + "src": "12615:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -25512,7 +25512,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1414, - "src": "12578:4:0", + "src": "12654:4:0", "typeDescriptions": { "typeIdentifier": "t_contract$_Escrow_v1_0_$1224", "typeString": "contract Escrow_v1_0" @@ -25532,7 +25532,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "12570:7:0", + "src": "12646:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" @@ -25547,7 +25547,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "12570:13:0", + "src": "12646:13:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -25592,7 +25592,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1384, - "src": "12351:3:0", + "src": "12427:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" @@ -25606,7 +25606,7 @@ "memberName": "encodePacked", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "12351:16:0", + "src": "12427:16:0", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" @@ -25620,7 +25620,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "12351:250:0", + "src": "12427:250:0", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -25639,7 +25639,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1391, - "src": "12324:9:0", + "src": "12400:9:0", "typeDescriptions": { "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", "typeString": "function () pure returns (bytes32)" @@ -25653,7 +25653,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "12324:291:0", + "src": "12400:291:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -25662,14 +25662,14 @@ "functionReturnParameters": 601, "id": 621, "nodeType": "Return", - "src": "12317:298:0" + "src": "12393:298:0" } ] } } ] }, - "documentation": "dev Method for calculating script hash. Calculation will depend upon the type of transaction\nETHER Type transaction-:\nScript Hash- keccak256(uniqueId, threshold, timeoutHours, buyer, seller, moderator)\nTOKEN Type transaction\nScript Hash- keccak256(uniqueId, threshold, timeoutHours, buyer, seller, moderator, tokenAddress)\nClient can use this method to verify whether it has calculated correct script hash or not", + "documentation": "dev Method for calculating script hash. Calculation will depend upon the type of transaction\nETHER Type transaction-:\nScript Hash- keccak256(uniqueId, threshold, timeoutHours, buyer, seller, moderator, multiSigContractAddress)\nTOKEN Type transaction\nScript Hash- keccak256(uniqueId, threshold, timeoutHours, buyer, seller, moderator, multiSigContractAddress, tokenAddress)\nClient can use this method to verify whether it has calculated correct script hash or not", "id": 642, "implemented": true, "isConstructor": false, @@ -25687,7 +25687,7 @@ "name": "uniqueId", "nodeType": "VariableDeclaration", "scope": 642, - "src": "12022:16:0", + "src": "12098:16:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -25698,7 +25698,7 @@ "id": 584, "name": "bytes20", "nodeType": "ElementaryTypeName", - "src": "12022:7:0", + "src": "12098:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -25713,7 +25713,7 @@ "name": "threshold", "nodeType": "VariableDeclaration", "scope": 642, - "src": "12048:15:0", + "src": "12124:15:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -25724,7 +25724,7 @@ "id": 586, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "12048:5:0", + "src": "12124:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -25739,7 +25739,7 @@ "name": "timeoutHours", "nodeType": "VariableDeclaration", "scope": 642, - "src": "12073:19:0", + "src": "12149:19:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -25750,7 +25750,7 @@ "id": 588, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "12073:6:0", + "src": "12149:6:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -25765,7 +25765,7 @@ "name": "buyer", "nodeType": "VariableDeclaration", "scope": 642, - "src": "12102:13:0", + "src": "12178:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -25776,7 +25776,7 @@ "id": 590, "name": "address", "nodeType": "ElementaryTypeName", - "src": "12102:7:0", + "src": "12178:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -25791,7 +25791,7 @@ "name": "seller", "nodeType": "VariableDeclaration", "scope": 642, - "src": "12125:14:0", + "src": "12201:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -25802,7 +25802,7 @@ "id": 592, "name": "address", "nodeType": "ElementaryTypeName", - "src": "12125:7:0", + "src": "12201:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -25817,7 +25817,7 @@ "name": "moderator", "nodeType": "VariableDeclaration", "scope": 642, - "src": "12149:17:0", + "src": "12225:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -25828,7 +25828,7 @@ "id": 594, "name": "address", "nodeType": "ElementaryTypeName", - "src": "12149:7:0", + "src": "12225:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -25843,7 +25843,7 @@ "name": "tokenAddress", "nodeType": "VariableDeclaration", "scope": 642, - "src": "12176:20:0", + "src": "12252:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -25854,7 +25854,7 @@ "id": 596, "name": "address", "nodeType": "ElementaryTypeName", - "src": "12176:7:0", + "src": "12252:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -25864,7 +25864,7 @@ "visibility": "internal" } ], - "src": "12012:190:0" + "src": "12088:190:0" }, "payable": false, "returnParameters": { @@ -25877,7 +25877,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 642, - "src": "12248:7:0", + "src": "12324:7:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -25888,7 +25888,7 @@ "id": 599, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "12248:7:0", + "src": "12324:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -25898,10 +25898,10 @@ "visibility": "internal" } ], - "src": "12247:9:0" + "src": "12323:9:0" }, "scope": 1224, - "src": "11978:1017:0", + "src": "12054:1017:0", "stateMutability": "view", "superFunction": null, "visibility": "public" @@ -25910,7 +25910,7 @@ "body": { "id": 710, "nodeType": "Block", - "src": "13480:797:0", + "src": "13556:797:0", "statements": [ { "assignments": [ @@ -25923,7 +25923,7 @@ "name": "lastRecovered", "nodeType": "VariableDeclaration", "scope": 711, - "src": "13490:21:0", + "src": "13566:21:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -25934,7 +25934,7 @@ "id": 662, "name": "address", "nodeType": "ElementaryTypeName", - "src": "13490:7:0", + "src": "13566:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -25955,7 +25955,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 645, - "src": "13545:4:0", + "src": "13621:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr", "typeString": "uint8[] memory" @@ -25968,7 +25968,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 648, - "src": "13563:4:0", + "src": "13639:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" @@ -25981,7 +25981,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 651, - "src": "13581:4:0", + "src": "13657:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" @@ -25994,7 +25994,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 653, - "src": "13599:10:0", + "src": "13675:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -26007,7 +26007,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 656, - "src": "13623:12:0", + "src": "13699:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -26020,7 +26020,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 659, - "src": "13649:7:0", + "src": "13725:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" @@ -26059,7 +26059,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1035, - "src": "13514:17:0", + "src": "13590:17:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_array$_t_uint8_$dyn_memory_ptr_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_bytes32_$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$_t_address_$", "typeString": "function (uint8[] memory,bytes32[] memory,bytes32[] memory,bytes32,address[] memory,uint256[] memory) returns (address)" @@ -26073,14 +26073,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "13514:152:0", + "src": "13590:152:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "VariableDeclarationStatement", - "src": "13490:176:0" + "src": "13566:176:0" }, { "assignments": [ @@ -26093,7 +26093,7 @@ "name": "timeLockExpired", "nodeType": "VariableDeclaration", "scope": 711, - "src": "13677:20:0", + "src": "13753:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -26104,7 +26104,7 @@ "id": 673, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "13677:4:0", + "src": "13753:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -26129,7 +26129,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "13732:12:0", + "src": "13808:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -26143,7 +26143,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 653, - "src": "13745:10:0", + "src": "13821:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -26154,7 +26154,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "13732:24:0", + "src": "13808:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -26168,7 +26168,7 @@ "memberName": "timeoutHours", "nodeType": "MemberAccess", "referencedDeclaration": 50, - "src": "13732:37:0", + "src": "13808:37:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -26185,7 +26185,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "13783:12:0", + "src": "13859:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -26199,7 +26199,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 653, - "src": "13796:10:0", + "src": "13872:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -26210,7 +26210,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "13783:24:0", + "src": "13859:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -26224,7 +26224,7 @@ "memberName": "lastModified", "nodeType": "MemberAccess", "referencedDeclaration": 42, - "src": "13783:37:0", + "src": "13859:37:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -26247,7 +26247,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1067, - "src": "13700:18:0", + "src": "13776:18:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_uint32_$_t_uint256_$returns$_t_bool_$", "typeString": "function (uint32,uint256) view returns (bool)" @@ -26261,14 +26261,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "13700:130:0", + "src": "13776:130:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "nodeType": "VariableDeclarationStatement", - "src": "13677:153:0" + "src": "13753:153:0" }, { "condition": { @@ -26302,7 +26302,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 645, - "src": "14002:4:0", + "src": "14078:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr", "typeString": "uint8[] memory" @@ -26316,7 +26316,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "14002:11:0", + "src": "14078:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -26335,7 +26335,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "14016:12:0", + "src": "14092:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -26349,7 +26349,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 653, - "src": "14029:10:0", + "src": "14105:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -26360,7 +26360,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "14016:24:0", + "src": "14092:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -26374,13 +26374,13 @@ "memberName": "threshold", "nodeType": "MemberAccess", "referencedDeclaration": 48, - "src": "14016:34:0", + "src": "14092:34:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, - "src": "14002:48:0", + "src": "14078:48:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -26412,7 +26412,7 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "14055:16:0", + "src": "14131:16:0", "subExpression": { "argumentTypes": null, "id": 693, @@ -26420,7 +26420,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 674, - "src": "14056:15:0", + "src": "14132:15:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -26451,7 +26451,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 663, - "src": "14075:13:0", + "src": "14151:13:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -26470,7 +26470,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "14092:12:0", + "src": "14168:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -26484,7 +26484,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 653, - "src": "14105:10:0", + "src": "14181:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -26495,7 +26495,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "14092:24:0", + "src": "14168:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -26509,19 +26509,19 @@ "memberName": "seller", "nodeType": "MemberAccess", "referencedDeclaration": 54, - "src": "14092:31:0", + "src": "14168:31:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "14075:48:0", + "src": "14151:48:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "14055:68:0", + "src": "14131:68:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -26535,13 +26535,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "14054:70:0", + "src": "14130:70:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "14002:122:0", + "src": "14078:122:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -26550,11 +26550,11 @@ "falseBody": null, "id": 709, "nodeType": "IfStatement", - "src": "13981:289:0", + "src": "14057:289:0", "trueBody": { "id": 708, "nodeType": "Block", - "src": "14147:123:0", + "src": "14223:123:0", "statements": [ { "expression": { @@ -26570,7 +26570,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "14168:90:0", + "src": "14244:90:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_e454643f61f81e3a3dc8dabaafde295fea592e232abeb03abbb1835bdc3d20d0", @@ -26594,7 +26594,7 @@ 1403 ], "referencedDeclaration": 1403, - "src": "14161:6:0", + "src": "14237:6:0", "typeDescriptions": { "typeIdentifier": "t_function_revert_pure$_t_string_memory_ptr_$returns$__$", "typeString": "function (string memory) pure" @@ -26608,7 +26608,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "14161:98:0", + "src": "14237:98:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -26616,7 +26616,7 @@ }, "id": 707, "nodeType": "ExpressionStatement", - "src": "14161:98:0" + "src": "14237:98:0" } ] } @@ -26641,7 +26641,7 @@ "name": "sigV", "nodeType": "VariableDeclaration", "scope": 711, - "src": "13306:12:0", + "src": "13382:12:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -26653,7 +26653,7 @@ "id": 643, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "13306:5:0", + "src": "13382:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -26662,7 +26662,7 @@ "id": 644, "length": null, "nodeType": "ArrayTypeName", - "src": "13306:7:0", + "src": "13382:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_storage_ptr", "typeString": "uint8[]" @@ -26677,7 +26677,7 @@ "name": "sigR", "nodeType": "VariableDeclaration", "scope": 711, - "src": "13328:14:0", + "src": "13404:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -26689,7 +26689,7 @@ "id": 646, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "13328:7:0", + "src": "13404:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -26698,7 +26698,7 @@ "id": 647, "length": null, "nodeType": "ArrayTypeName", - "src": "13328:9:0", + "src": "13404:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -26713,7 +26713,7 @@ "name": "sigS", "nodeType": "VariableDeclaration", "scope": 711, - "src": "13352:14:0", + "src": "13428:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -26725,7 +26725,7 @@ "id": 649, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "13352:7:0", + "src": "13428:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -26734,7 +26734,7 @@ "id": 650, "length": null, "nodeType": "ArrayTypeName", - "src": "13352:9:0", + "src": "13428:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -26749,7 +26749,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 711, - "src": "13376:18:0", + "src": "13452:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -26760,7 +26760,7 @@ "id": 652, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "13376:7:0", + "src": "13452:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -26775,7 +26775,7 @@ "name": "destinations", "nodeType": "VariableDeclaration", "scope": 711, - "src": "13404:22:0", + "src": "13480:22:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -26787,7 +26787,7 @@ "id": 654, "name": "address", "nodeType": "ElementaryTypeName", - "src": "13404:7:0", + "src": "13480:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -26796,7 +26796,7 @@ "id": 655, "length": null, "nodeType": "ArrayTypeName", - "src": "13404:9:0", + "src": "13480:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", "typeString": "address[]" @@ -26811,7 +26811,7 @@ "name": "amounts", "nodeType": "VariableDeclaration", "scope": 711, - "src": "13436:17:0", + "src": "13512:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -26823,7 +26823,7 @@ "id": 657, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "13436:7:0", + "src": "13512:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -26832,7 +26832,7 @@ "id": 658, "length": null, "nodeType": "ArrayTypeName", - "src": "13436:9:0", + "src": "13512:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -26842,17 +26842,17 @@ "visibility": "internal" } ], - "src": "13296:163:0" + "src": "13372:163:0" }, "payable": false, "returnParameters": { "id": 661, "nodeType": "ParameterList", "parameters": [], - "src": "13480:0:0" + "src": "13556:0:0" }, "scope": 1224, - "src": "13269:1008:0", + "src": "13345:1008:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "private" @@ -26861,7 +26861,7 @@ "body": { "id": 903, "nodeType": "Block", - "src": "14564:1562:0", + "src": "14640:1562:0", "statements": [ { "assignments": [ @@ -26874,7 +26874,7 @@ "name": "t", "nodeType": "VariableDeclaration", "scope": 904, - "src": "14574:21:0", + "src": "14650:21:0", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { @@ -26887,7 +26887,7 @@ "name": "Transaction", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 71, - "src": "14574:11:0", + "src": "14650:11:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction" @@ -26907,7 +26907,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "14598:12:0", + "src": "14674:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -26921,7 +26921,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 713, - "src": "14611:10:0", + "src": "14687:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -26932,14 +26932,14 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "14598:24:0", + "src": "14674:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "14574:48:0" + "src": "14650:48:0" }, { "assignments": [ @@ -26952,7 +26952,7 @@ "name": "valueTransferred", "nodeType": "VariableDeclaration", "scope": 904, - "src": "14633:24:0", + "src": "14709:24:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -26963,7 +26963,7 @@ "id": 730, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "14633:7:0", + "src": "14709:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -26984,7 +26984,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "14660:1:0", + "src": "14736:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -26993,7 +26993,7 @@ "value": "0" }, "nodeType": "VariableDeclarationStatement", - "src": "14633:28:0" + "src": "14709:28:0" }, { "condition": { @@ -27016,7 +27016,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 725, - "src": "14676:1:0", + "src": "14752:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" @@ -27030,7 +27030,7 @@ "memberName": "transactionType", "nodeType": "MemberAccess", "referencedDeclaration": 46, - "src": "14676:17:0", + "src": "14752:17:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -27047,7 +27047,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12, - "src": "14697:15:0", + "src": "14773:15:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_TransactionType_$12_$", "typeString": "type(enum Escrow_v1_0.TransactionType)" @@ -27061,13 +27061,13 @@ "memberName": "ETHER", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "14697:21:0", + "src": "14773:21:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" } }, - "src": "14676:42:0", + "src": "14752:42:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -27094,7 +27094,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 725, - "src": "15332:1:0", + "src": "15408:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" @@ -27108,7 +27108,7 @@ "memberName": "transactionType", "nodeType": "MemberAccess", "referencedDeclaration": 46, - "src": "15332:17:0", + "src": "15408:17:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -27125,7 +27125,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12, - "src": "15353:15:0", + "src": "15429:15:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_TransactionType_$12_$", "typeString": "type(enum Escrow_v1_0.TransactionType)" @@ -27139,13 +27139,13 @@ "memberName": "TOKEN", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "15353:21:0", + "src": "15429:21:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" } }, - "src": "15332:42:0", + "src": "15408:42:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -27154,11 +27154,11 @@ "falseBody": null, "id": 899, "nodeType": "IfStatement", - "src": "15328:758:0", + "src": "15404:758:0", "trueBody": { "id": 898, "nodeType": "Block", - "src": "15376:710:0", + "src": "15452:710:0", "statements": [ { "assignments": [ @@ -27171,7 +27171,7 @@ "name": "token", "nodeType": "VariableDeclaration", "scope": 904, - "src": "15391:20:0", + "src": "15467:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -27184,7 +27184,7 @@ "name": "ITokenContract", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 1254, - "src": "15391:14:0", + "src": "15467:14:0", "typeDescriptions": { "typeIdentifier": "t_contract$_ITokenContract_$1254", "typeString": "contract ITokenContract" @@ -27207,7 +27207,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 725, - "src": "15429:1:0", + "src": "15505:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" @@ -27221,7 +27221,7 @@ "memberName": "tokenAddress", "nodeType": "MemberAccess", "referencedDeclaration": 56, - "src": "15429:14:0", + "src": "15505:14:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -27240,7 +27240,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1254, - "src": "15414:14:0", + "src": "15490:14:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_ITokenContract_$1254_$", "typeString": "type(contract ITokenContract)" @@ -27254,20 +27254,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15414:30:0", + "src": "15490:30:0", "typeDescriptions": { "typeIdentifier": "t_contract$_ITokenContract_$1254", "typeString": "contract ITokenContract" } }, "nodeType": "VariableDeclarationStatement", - "src": "15391:53:0" + "src": "15467:53:0" }, { "body": { "id": 896, "nodeType": "Block", - "src": "15507:569:0", + "src": "15583:569:0", "statements": [ { "expression": { @@ -27293,7 +27293,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 716, - "src": "15534:12:0", + "src": "15610:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -27307,7 +27307,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 824, - "src": "15547:1:0", + "src": "15623:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27318,7 +27318,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15534:15:0", + "src": "15610:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -27339,7 +27339,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "15561:1:0", + "src": "15637:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -27361,7 +27361,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "15553:7:0", + "src": "15629:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" @@ -27376,13 +27376,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15553:10:0", + "src": "15629:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "15534:29:0", + "src": "15610:29:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -27398,7 +27398,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "15565:52:0", + "src": "15641:52:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_587fbb5a9b8e6d4cc482f236066ac51bcf007ae6026eab186437d2f1b22fc139", @@ -27426,7 +27426,7 @@ 1401 ], "referencedDeclaration": 1401, - "src": "15526:7:0", + "src": "15602:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -27440,7 +27440,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15526:92:0", + "src": "15602:92:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -27448,7 +27448,7 @@ }, "id": 844, "nodeType": "ExpressionStatement", - "src": "15526:92:0" + "src": "15602:92:0" }, { "expression": { @@ -27465,7 +27465,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 725, - "src": "15645:1:0", + "src": "15721:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" @@ -27479,7 +27479,7 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "15645:9:0", + "src": "15721:9:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -27495,7 +27495,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 716, - "src": "15655:12:0", + "src": "15731:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -27509,7 +27509,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 824, - "src": "15668:1:0", + "src": "15744:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27520,7 +27520,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15655:15:0", + "src": "15731:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -27531,7 +27531,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15645:26:0", + "src": "15721:26:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -27547,7 +27547,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "15673:46:0", + "src": "15749:46:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_5ccbe9d117aeeb4b3546dfe6a12f083cb37039367b3ec38b60873b8650bc846f", @@ -27575,7 +27575,7 @@ 1401 ], "referencedDeclaration": 1401, - "src": "15637:7:0", + "src": "15713:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -27589,7 +27589,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15637:83:0", + "src": "15713:83:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -27597,7 +27597,7 @@ }, "id": 854, "nodeType": "ExpressionStatement", - "src": "15637:83:0" + "src": "15713:83:0" }, { "expression": { @@ -27623,7 +27623,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 719, - "src": "15747:7:0", + "src": "15823:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" @@ -27637,7 +27637,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 824, - "src": "15755:1:0", + "src": "15831:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27648,7 +27648,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15747:10:0", + "src": "15823:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27666,7 +27666,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "15760:1:0", + "src": "15836:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -27674,7 +27674,7 @@ }, "value": "0" }, - "src": "15747:14:0", + "src": "15823:14:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -27690,7 +27690,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "15763:44:0", + "src": "15839:44:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_5e1271a09dbb64ae031de288deb0ad8d707df7db51d6e827931dc8fa6642a71e", @@ -27718,7 +27718,7 @@ 1401 ], "referencedDeclaration": 1401, - "src": "15739:7:0", + "src": "15815:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -27732,7 +27732,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15739:69:0", + "src": "15815:69:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -27740,7 +27740,7 @@ }, "id": 863, "nodeType": "ExpressionStatement", - "src": "15739:69:0" + "src": "15815:69:0" }, { "expression": { @@ -27757,7 +27757,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 731, - "src": "15827:16:0", + "src": "15903:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27777,7 +27777,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 719, - "src": "15867:7:0", + "src": "15943:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" @@ -27791,7 +27791,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 824, - "src": "15875:1:0", + "src": "15951:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27802,7 +27802,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15867:10:0", + "src": "15943:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27823,7 +27823,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 731, - "src": "15846:16:0", + "src": "15922:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27837,7 +27837,7 @@ "memberName": "add", "nodeType": "MemberAccess", "referencedDeclaration": 1361, - "src": "15846:20:0", + "src": "15922:20:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" @@ -27851,13 +27851,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15846:32:0", + "src": "15922:32:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "15827:51:0", + "src": "15903:51:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27865,7 +27865,7 @@ }, "id": 872, "nodeType": "ExpressionStatement", - "src": "15827:51:0" + "src": "15903:51:0" }, { "expression": { @@ -27886,7 +27886,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 725, - "src": "15896:1:0", + "src": "15972:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" @@ -27900,7 +27900,7 @@ "memberName": "beneficiaries", "nodeType": "MemberAccess", "referencedDeclaration": 70, - "src": "15896:15:0", + "src": "15972:15:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -27916,7 +27916,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 716, - "src": "15912:12:0", + "src": "15988:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -27930,7 +27930,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 824, - "src": "15925:1:0", + "src": "16001:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27941,7 +27941,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15912:15:0", + "src": "15988:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -27952,7 +27952,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "15896:32:0", + "src": "15972:32:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -27970,7 +27970,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "15931:4:0", + "src": "16007:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -27978,7 +27978,7 @@ }, "value": "true" }, - "src": "15896:39:0", + "src": "15972:39:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -27986,7 +27986,7 @@ }, "id": 882, "nodeType": "ExpressionStatement", - "src": "15896:39:0" + "src": "15972:39:0" }, { "expression": { @@ -28004,7 +28004,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 716, - "src": "16006:12:0", + "src": "16082:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -28018,7 +28018,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 824, - "src": "16019:1:0", + "src": "16095:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28029,7 +28029,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "16006:15:0", + "src": "16082:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -28044,7 +28044,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 719, - "src": "16023:7:0", + "src": "16099:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" @@ -28058,7 +28058,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 824, - "src": "16031:1:0", + "src": "16107:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28069,7 +28069,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "16023:10:0", + "src": "16099:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28094,7 +28094,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 817, - "src": "15991:5:0", + "src": "16067:5:0", "typeDescriptions": { "typeIdentifier": "t_contract$_ITokenContract_$1254", "typeString": "contract ITokenContract" @@ -28108,7 +28108,7 @@ "memberName": "transfer", "nodeType": "MemberAccess", "referencedDeclaration": 1242, - "src": "15991:14:0", + "src": "16067:14:0", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", "typeString": "function (address,uint256) external returns (bool)" @@ -28122,7 +28122,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15991:43:0", + "src": "16067:43:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -28138,7 +28138,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "16036:24:0", + "src": "16112:24:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_e545223bb79d8456d66fa5a98897abb42bb4807111f004a120200da3b7e292c5", @@ -28166,7 +28166,7 @@ 1401 ], "referencedDeclaration": 1401, - "src": "15983:7:0", + "src": "16059:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -28180,7 +28180,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15983:78:0", + "src": "16059:78:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -28188,7 +28188,7 @@ }, "id": 895, "nodeType": "ExpressionStatement", - "src": "15983:78:0" + "src": "16059:78:0" } ] }, @@ -28210,7 +28210,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 824, - "src": "15479:1:0", + "src": "15555:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28227,7 +28227,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 716, - "src": "15481:12:0", + "src": "15557:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -28241,13 +28241,13 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "15481:19:0", + "src": "15557:19:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "15479:21:0", + "src": "15555:21:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -28265,7 +28265,7 @@ "name": "j", "nodeType": "VariableDeclaration", "scope": 904, - "src": "15464:9:0", + "src": "15540:9:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -28276,7 +28276,7 @@ "id": 823, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "15464:7:0", + "src": "15540:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28297,7 +28297,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "15476:1:0", + "src": "15552:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -28306,7 +28306,7 @@ "value": "0" }, "nodeType": "VariableDeclarationStatement", - "src": "15464:13:0" + "src": "15540:13:0" }, "loopExpression": { "expression": { @@ -28319,7 +28319,7 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "15502:3:0", + "src": "15578:3:0", "subExpression": { "argumentTypes": null, "id": 831, @@ -28327,7 +28327,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 824, - "src": "15502:1:0", + "src": "15578:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28340,27 +28340,27 @@ }, "id": 833, "nodeType": "ExpressionStatement", - "src": "15502:3:0" + "src": "15578:3:0" }, "nodeType": "ForStatement", - "src": "15459:617:0" + "src": "15535:617:0" } ] } }, "id": 900, "nodeType": "IfStatement", - "src": "14672:1414:0", + "src": "14748:1414:0", "trueBody": { "id": 810, "nodeType": "Block", - "src": "14720:602:0", + "src": "14796:602:0", "statements": [ { "body": { "id": 808, "nodeType": "Block", - "src": "14784:527:0", + "src": "14860:527:0", "statements": [ { "expression": { @@ -28386,7 +28386,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 716, - "src": "14811:12:0", + "src": "14887:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -28400,7 +28400,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 740, - "src": "14824:1:0", + "src": "14900:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28411,7 +28411,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "14811:15:0", + "src": "14887:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -28432,7 +28432,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "14838:1:0", + "src": "14914:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -28454,7 +28454,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "14830:7:0", + "src": "14906:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" @@ -28469,13 +28469,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "14830:10:0", + "src": "14906:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "14811:29:0", + "src": "14887:29:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -28491,7 +28491,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "14842:52:0", + "src": "14918:52:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_587fbb5a9b8e6d4cc482f236066ac51bcf007ae6026eab186437d2f1b22fc139", @@ -28519,7 +28519,7 @@ 1401 ], "referencedDeclaration": 1401, - "src": "14803:7:0", + "src": "14879:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -28533,7 +28533,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "14803:92:0", + "src": "14879:92:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -28541,7 +28541,7 @@ }, "id": 760, "nodeType": "ExpressionStatement", - "src": "14803:92:0" + "src": "14879:92:0" }, { "expression": { @@ -28558,7 +28558,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 725, - "src": "14922:1:0", + "src": "14998:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" @@ -28572,7 +28572,7 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "14922:9:0", + "src": "14998:9:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -28588,7 +28588,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 716, - "src": "14932:12:0", + "src": "15008:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -28602,7 +28602,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 740, - "src": "14945:1:0", + "src": "15021:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28613,7 +28613,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "14932:15:0", + "src": "15008:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -28624,7 +28624,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "14922:26:0", + "src": "14998:26:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -28640,7 +28640,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "14950:46:0", + "src": "15026:46:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_5ccbe9d117aeeb4b3546dfe6a12f083cb37039367b3ec38b60873b8650bc846f", @@ -28668,7 +28668,7 @@ 1401 ], "referencedDeclaration": 1401, - "src": "14914:7:0", + "src": "14990:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -28682,7 +28682,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "14914:83:0", + "src": "14990:83:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -28690,7 +28690,7 @@ }, "id": 770, "nodeType": "ExpressionStatement", - "src": "14914:83:0" + "src": "14990:83:0" }, { "expression": { @@ -28716,7 +28716,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 719, - "src": "15024:7:0", + "src": "15100:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" @@ -28730,7 +28730,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 740, - "src": "15032:1:0", + "src": "15108:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28741,7 +28741,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15024:10:0", + "src": "15100:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28759,7 +28759,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "15037:1:0", + "src": "15113:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -28767,7 +28767,7 @@ }, "value": "0" }, - "src": "15024:14:0", + "src": "15100:14:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -28783,7 +28783,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "15040:44:0", + "src": "15116:44:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_5e1271a09dbb64ae031de288deb0ad8d707df7db51d6e827931dc8fa6642a71e", @@ -28811,7 +28811,7 @@ 1401 ], "referencedDeclaration": 1401, - "src": "15016:7:0", + "src": "15092:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -28825,7 +28825,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15016:69:0", + "src": "15092:69:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -28833,7 +28833,7 @@ }, "id": 779, "nodeType": "ExpressionStatement", - "src": "15016:69:0" + "src": "15092:69:0" }, { "expression": { @@ -28850,7 +28850,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 731, - "src": "15104:16:0", + "src": "15180:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28870,7 +28870,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 719, - "src": "15144:7:0", + "src": "15220:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" @@ -28884,7 +28884,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 740, - "src": "15152:1:0", + "src": "15228:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28895,7 +28895,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15144:10:0", + "src": "15220:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28916,7 +28916,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 731, - "src": "15123:16:0", + "src": "15199:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28930,7 +28930,7 @@ "memberName": "add", "nodeType": "MemberAccess", "referencedDeclaration": 1361, - "src": "15123:20:0", + "src": "15199:20:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" @@ -28944,13 +28944,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15123:32:0", + "src": "15199:32:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "15104:51:0", + "src": "15180:51:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28958,7 +28958,7 @@ }, "id": 788, "nodeType": "ExpressionStatement", - "src": "15104:51:0" + "src": "15180:51:0" }, { "expression": { @@ -28979,7 +28979,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 725, - "src": "15174:1:0", + "src": "15250:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" @@ -28993,7 +28993,7 @@ "memberName": "beneficiaries", "nodeType": "MemberAccess", "referencedDeclaration": 70, - "src": "15174:15:0", + "src": "15250:15:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -29009,7 +29009,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 716, - "src": "15190:12:0", + "src": "15266:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -29023,7 +29023,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 740, - "src": "15203:1:0", + "src": "15279:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29034,7 +29034,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15190:15:0", + "src": "15266:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -29045,7 +29045,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "15174:32:0", + "src": "15250:32:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -29063,7 +29063,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "15209:4:0", + "src": "15285:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -29071,7 +29071,7 @@ }, "value": "true" }, - "src": "15174:39:0", + "src": "15250:39:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -29079,7 +29079,7 @@ }, "id": 798, "nodeType": "ExpressionStatement", - "src": "15174:39:0" + "src": "15250:39:0" }, { "expression": { @@ -29094,7 +29094,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 719, - "src": "15285:7:0", + "src": "15361:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" @@ -29108,7 +29108,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 740, - "src": "15293:1:0", + "src": "15369:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29119,7 +29119,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15285:10:0", + "src": "15361:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29142,7 +29142,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 716, - "src": "15260:12:0", + "src": "15336:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -29156,7 +29156,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 740, - "src": "15273:1:0", + "src": "15349:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29167,7 +29167,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15260:15:0", + "src": "15336:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -29181,7 +29181,7 @@ "memberName": "transfer", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "15260:24:0", + "src": "15336:24:0", "typeDescriptions": { "typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$", "typeString": "function (uint256)" @@ -29195,7 +29195,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15260:36:0", + "src": "15336:36:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -29203,7 +29203,7 @@ }, "id": 807, "nodeType": "ExpressionStatement", - "src": "15260:36:0" + "src": "15336:36:0" } ] }, @@ -29225,7 +29225,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 740, - "src": "14754:1:0", + "src": "14830:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29242,7 +29242,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 716, - "src": "14758:12:0", + "src": "14834:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -29256,13 +29256,13 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "14758:19:0", + "src": "14834:19:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "14754:23:0", + "src": "14830:23:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -29280,7 +29280,7 @@ "name": "i", "nodeType": "VariableDeclaration", "scope": 904, - "src": "14739:9:0", + "src": "14815:9:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -29291,7 +29291,7 @@ "id": 739, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "14739:7:0", + "src": "14815:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29312,7 +29312,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "14751:1:0", + "src": "14827:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -29321,7 +29321,7 @@ "value": "0" }, "nodeType": "VariableDeclarationStatement", - "src": "14739:13:0" + "src": "14815:13:0" }, "loopExpression": { "expression": { @@ -29334,7 +29334,7 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "14779:3:0", + "src": "14855:3:0", "subExpression": { "argumentTypes": null, "id": 747, @@ -29342,7 +29342,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 740, - "src": "14779:1:0", + "src": "14855:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29355,10 +29355,10 @@ }, "id": 749, "nodeType": "ExpressionStatement", - "src": "14779:3:0" + "src": "14855:3:0" }, "nodeType": "ForStatement", - "src": "14734:577:0" + "src": "14810:577:0" } ] } @@ -29371,7 +29371,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 731, - "src": "16103:16:0", + "src": "16179:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29380,7 +29380,7 @@ "functionReturnParameters": 723, "id": 902, "nodeType": "Return", - "src": "16096:23:0" + "src": "16172:23:0" } ] }, @@ -29402,7 +29402,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 904, - "src": "14436:18:0", + "src": "14512:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -29413,7 +29413,7 @@ "id": 712, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "14436:7:0", + "src": "14512:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -29428,7 +29428,7 @@ "name": "destinations", "nodeType": "VariableDeclaration", "scope": 904, - "src": "14464:21:0", + "src": "14540:21:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -29440,7 +29440,7 @@ "id": 714, "name": "address", "nodeType": "ElementaryTypeName", - "src": "14464:7:0", + "src": "14540:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -29449,7 +29449,7 @@ "id": 715, "length": null, "nodeType": "ArrayTypeName", - "src": "14464:9:0", + "src": "14540:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", "typeString": "address[]" @@ -29464,7 +29464,7 @@ "name": "amounts", "nodeType": "VariableDeclaration", "scope": 904, - "src": "14495:16:0", + "src": "14571:16:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -29476,7 +29476,7 @@ "id": 717, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "14495:7:0", + "src": "14571:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29485,7 +29485,7 @@ "id": 718, "length": null, "nodeType": "ArrayTypeName", - "src": "14495:9:0", + "src": "14571:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -29495,7 +29495,7 @@ "visibility": "internal" } ], - "src": "14426:91:0" + "src": "14502:91:0" }, "payable": false, "returnParameters": { @@ -29508,7 +29508,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 904, - "src": "14551:7:0", + "src": "14627:7:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -29519,7 +29519,7 @@ "id": 721, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "14551:7:0", + "src": "14627:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29529,10 +29529,10 @@ "visibility": "internal" } ], - "src": "14550:9:0" + "src": "14626:9:0" }, "scope": 1224, - "src": "14403:1723:0", + "src": "14479:1723:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "private" @@ -29541,7 +29541,7 @@ "body": { "id": 1034, "nodeType": "Block", - "src": "16546:1346:0", + "src": "16622:1346:0", "statements": [ { "expression": { @@ -29578,7 +29578,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 910, - "src": "16578:4:0", + "src": "16654:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" @@ -29592,7 +29592,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "16578:11:0", + "src": "16654:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29609,7 +29609,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 913, - "src": "16593:4:0", + "src": "16669:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" @@ -29623,13 +29623,13 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "16593:11:0", + "src": "16669:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "16578:26:0", + "src": "16654:26:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -29657,7 +29657,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 910, - "src": "16608:4:0", + "src": "16684:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" @@ -29671,7 +29671,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "16608:11:0", + "src": "16684:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29688,7 +29688,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 907, - "src": "16623:4:0", + "src": "16699:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr", "typeString": "uint8[] memory" @@ -29702,19 +29702,19 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "16623:11:0", + "src": "16699:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "16608:26:0", + "src": "16684:26:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "16578:56:0", + "src": "16654:56:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -29730,7 +29730,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "16649:24:0", + "src": "16725:24:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_f85073c8befb65baed58ca1ee563e5da0bdbdce8abd4d29ef22a8329c7c97506", @@ -29758,7 +29758,7 @@ 1401 ], "referencedDeclaration": 1401, - "src": "16557:7:0", + "src": "16633:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -29772,7 +29772,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16557:126:0", + "src": "16633:126:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -29780,7 +29780,7 @@ }, "id": 940, "nodeType": "ExpressionStatement", - "src": "16557:126:0" + "src": "16633:126:0" }, { "assignments": [], @@ -29791,7 +29791,7 @@ "name": "lastAddress", "nodeType": "VariableDeclaration", "scope": 1035, - "src": "16694:19:0", + "src": "16770:19:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -29802,7 +29802,7 @@ "id": 941, "name": "address", "nodeType": "ElementaryTypeName", - "src": "16694:7:0", + "src": "16770:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -29815,7 +29815,7 @@ "id": 943, "initialValue": null, "nodeType": "VariableDeclarationStatement", - "src": "16694:19:0" + "src": "16770:19:0" }, { "assignments": [ @@ -29828,7 +29828,7 @@ "name": "txHash", "nodeType": "VariableDeclaration", "scope": 1035, - "src": "16812:14:0", + "src": "16888:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -29839,7 +29839,7 @@ "id": 944, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "16812:7:0", + "src": "16888:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -29866,7 +29866,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "16886:34:0", + "src": "16962:34:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_178a2411ab6fbc1ba11064408972259c558d0e82fd48b0aba3ad81d14f065e73", @@ -29893,7 +29893,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "17016:4:0", + "src": "17092:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_25_by_1", @@ -29915,7 +29915,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "17011:4:0", + "src": "17087:4:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes1_$", "typeString": "type(bytes1)" @@ -29930,7 +29930,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17011:10:0", + "src": "17087:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes1", "typeString": "bytes1" @@ -29949,7 +29949,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "17052:1:0", + "src": "17128:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -29971,7 +29971,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "17047:4:0", + "src": "17123:4:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes1_$", "typeString": "type(bytes1)" @@ -29986,7 +29986,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17047:7:0", + "src": "17123:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes1", "typeString": "bytes1" @@ -30002,7 +30002,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1414, - "src": "17088:4:0", + "src": "17164:4:0", "typeDescriptions": { "typeIdentifier": "t_contract$_Escrow_v1_0_$1224", "typeString": "contract Escrow_v1_0" @@ -30022,7 +30022,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "17080:7:0", + "src": "17156:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" @@ -30037,7 +30037,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17080:13:0", + "src": "17156:13:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -30050,7 +30050,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 918, - "src": "17119:12:0", + "src": "17195:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -30063,7 +30063,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 921, - "src": "17157:7:0", + "src": "17233:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" @@ -30076,7 +30076,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 915, - "src": "17190:10:0", + "src": "17266:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -30117,7 +30117,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1384, - "src": "16969:3:0", + "src": "17045:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" @@ -30131,7 +30131,7 @@ "memberName": "encodePacked", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "16969:16:0", + "src": "17045:16:0", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" @@ -30145,7 +30145,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16969:253:0", + "src": "17045:253:0", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -30164,7 +30164,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1391, - "src": "16938:9:0", + "src": "17014:9:0", "typeDescriptions": { "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", "typeString": "function () pure returns (bytes32)" @@ -30178,7 +30178,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16938:302:0", + "src": "17014:302:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -30203,7 +30203,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1384, - "src": "16852:3:0", + "src": "16928:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" @@ -30217,7 +30217,7 @@ "memberName": "encodePacked", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "16852:16:0", + "src": "16928:16:0", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" @@ -30231,7 +30231,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16852:402:0", + "src": "16928:402:0", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -30250,7 +30250,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1391, - "src": "16829:9:0", + "src": "16905:9:0", "typeDescriptions": { "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", "typeString": "function () pure returns (bytes32)" @@ -30264,20 +30264,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16829:435:0", + "src": "16905:435:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "nodeType": "VariableDeclarationStatement", - "src": "16812:452:0" + "src": "16888:452:0" }, { "body": { "id": 1030, "nodeType": "Block", - "src": "17314:543:0", + "src": "17390:543:0", "statements": [ { "assignments": [ @@ -30290,7 +30290,7 @@ "name": "recovered", "nodeType": "VariableDeclaration", "scope": 1035, - "src": "17329:17:0", + "src": "17405:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -30301,7 +30301,7 @@ "id": 981, "name": "address", "nodeType": "ElementaryTypeName", - "src": "17329:7:0", + "src": "17405:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -30322,7 +30322,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 945, - "src": "17376:6:0", + "src": "17452:6:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -30337,7 +30337,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 907, - "src": "17400:4:0", + "src": "17476:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr", "typeString": "uint8[] memory" @@ -30351,7 +30351,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 971, - "src": "17405:1:0", + "src": "17481:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -30362,7 +30362,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17400:7:0", + "src": "17476:7:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -30377,7 +30377,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 910, - "src": "17425:4:0", + "src": "17501:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" @@ -30391,7 +30391,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 971, - "src": "17430:1:0", + "src": "17506:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -30402,7 +30402,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17425:7:0", + "src": "17501:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -30417,7 +30417,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 913, - "src": "17450:4:0", + "src": "17526:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" @@ -30431,7 +30431,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 971, - "src": "17455:1:0", + "src": "17531:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -30442,7 +30442,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17450:7:0", + "src": "17526:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -30473,7 +30473,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1389, - "src": "17349:9:0", + "src": "17425:9:0", "typeDescriptions": { "typeIdentifier": "t_function_ecrecover_pure$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$_t_address_$", "typeString": "function (bytes32,uint8,bytes32,bytes32) pure returns (address)" @@ -30487,14 +30487,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17349:122:0", + "src": "17425:122:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "VariableDeclarationStatement", - "src": "17329:142:0" + "src": "17405:142:0" }, { "expression": { @@ -30513,7 +30513,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "17511:12:0", + "src": "17587:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -30527,7 +30527,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 915, - "src": "17524:10:0", + "src": "17600:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -30538,7 +30538,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17511:24:0", + "src": "17587:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -30552,7 +30552,7 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "17511:32:0", + "src": "17587:32:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -30566,7 +30566,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 982, - "src": "17544:9:0", + "src": "17620:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -30577,7 +30577,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17511:43:0", + "src": "17587:43:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -30593,7 +30593,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "17573:19:0", + "src": "17649:19:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_4f2d7dfcb27c0aafa13ae8c400de482c7832204d194018b6e45bd2bf244c74e7", @@ -30621,7 +30621,7 @@ 1401 ], "referencedDeclaration": 1401, - "src": "17486:7:0", + "src": "17562:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -30635,7 +30635,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17486:120:0", + "src": "17562:120:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -30643,7 +30643,7 @@ }, "id": 1005, "nodeType": "ExpressionStatement", - "src": "17486:120:0" + "src": "17562:120:0" }, { "expression": { @@ -30659,7 +30659,7 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "17645:42:0", + "src": "17721:42:0", "subExpression": { "argumentTypes": null, "baseExpression": { @@ -30673,7 +30673,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "17646:12:0", + "src": "17722:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -30687,7 +30687,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 915, - "src": "17659:10:0", + "src": "17735:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -30698,7 +30698,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17646:24:0", + "src": "17722:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -30712,7 +30712,7 @@ "memberName": "voted", "nodeType": "MemberAccess", "referencedDeclaration": 66, - "src": "17646:30:0", + "src": "17722:30:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -30726,7 +30726,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 982, - "src": "17677:9:0", + "src": "17753:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -30737,7 +30737,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17646:41:0", + "src": "17722:41:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -30758,7 +30758,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "17706:27:0", + "src": "17782:27:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_fb2c7e49d5ec7ce36fa812cf15ee7fa946942f931d04fe3ae970516007b2a543", @@ -30786,7 +30786,7 @@ 1401 ], "referencedDeclaration": 1401, - "src": "17620:7:0", + "src": "17696:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -30800,7 +30800,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17620:127:0", + "src": "17696:127:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -30808,7 +30808,7 @@ }, "id": 1016, "nodeType": "ExpressionStatement", - "src": "17620:127:0" + "src": "17696:127:0" }, { "expression": { @@ -30831,7 +30831,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "17761:12:0", + "src": "17837:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -30845,7 +30845,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 915, - "src": "17774:10:0", + "src": "17850:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -30856,7 +30856,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17761:24:0", + "src": "17837:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -30870,7 +30870,7 @@ "memberName": "voted", "nodeType": "MemberAccess", "referencedDeclaration": 66, - "src": "17761:30:0", + "src": "17837:30:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -30884,7 +30884,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 982, - "src": "17792:9:0", + "src": "17868:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -30895,7 +30895,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "17761:41:0", + "src": "17837:41:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -30913,7 +30913,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "17805:4:0", + "src": "17881:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -30921,7 +30921,7 @@ }, "value": "true" }, - "src": "17761:48:0", + "src": "17837:48:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -30929,7 +30929,7 @@ }, "id": 1025, "nodeType": "ExpressionStatement", - "src": "17761:48:0" + "src": "17837:48:0" }, { "expression": { @@ -30946,7 +30946,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 942, - "src": "17823:11:0", + "src": "17899:11:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -30961,13 +30961,13 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 982, - "src": "17837:9:0", + "src": "17913:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "17823:23:0", + "src": "17899:23:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -30975,7 +30975,7 @@ }, "id": 1029, "nodeType": "ExpressionStatement", - "src": "17823:23:0" + "src": "17899:23:0" } ] }, @@ -30997,7 +30997,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 971, - "src": "17292:1:0", + "src": "17368:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -31014,7 +31014,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 910, - "src": "17296:4:0", + "src": "17372:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" @@ -31028,13 +31028,13 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "17296:11:0", + "src": "17372:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "17292:15:0", + "src": "17368:15:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -31052,7 +31052,7 @@ "name": "i", "nodeType": "VariableDeclaration", "scope": 1035, - "src": "17280:6:0", + "src": "17356:6:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -31063,7 +31063,7 @@ "id": 970, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "17280:4:0", + "src": "17356:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -31084,7 +31084,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "17289:1:0", + "src": "17365:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -31093,7 +31093,7 @@ "value": "0" }, "nodeType": "VariableDeclarationStatement", - "src": "17280:10:0" + "src": "17356:10:0" }, "loopExpression": { "expression": { @@ -31106,7 +31106,7 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "17309:3:0", + "src": "17385:3:0", "subExpression": { "argumentTypes": null, "id": 978, @@ -31114,7 +31114,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 971, - "src": "17309:1:0", + "src": "17385:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -31127,10 +31127,10 @@ }, "id": 980, "nodeType": "ExpressionStatement", - "src": "17309:3:0" + "src": "17385:3:0" }, "nodeType": "ForStatement", - "src": "17275:582:0" + "src": "17351:582:0" }, { "expression": { @@ -31140,7 +31140,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 942, - "src": "17874:11:0", + "src": "17950:11:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -31149,7 +31149,7 @@ "functionReturnParameters": 925, "id": 1033, "nodeType": "Return", - "src": "17867:18:0" + "src": "17943:18:0" } ] }, @@ -31171,7 +31171,7 @@ "name": "sigV", "nodeType": "VariableDeclaration", "scope": 1035, - "src": "16347:12:0", + "src": "16423:12:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -31183,7 +31183,7 @@ "id": 905, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "16347:5:0", + "src": "16423:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -31192,7 +31192,7 @@ "id": 906, "length": null, "nodeType": "ArrayTypeName", - "src": "16347:7:0", + "src": "16423:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_storage_ptr", "typeString": "uint8[]" @@ -31207,7 +31207,7 @@ "name": "sigR", "nodeType": "VariableDeclaration", "scope": 1035, - "src": "16369:14:0", + "src": "16445:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -31219,7 +31219,7 @@ "id": 908, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "16369:7:0", + "src": "16445:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -31228,7 +31228,7 @@ "id": 909, "length": null, "nodeType": "ArrayTypeName", - "src": "16369:9:0", + "src": "16445:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -31243,7 +31243,7 @@ "name": "sigS", "nodeType": "VariableDeclaration", "scope": 1035, - "src": "16393:14:0", + "src": "16469:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -31255,7 +31255,7 @@ "id": 911, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "16393:7:0", + "src": "16469:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -31264,7 +31264,7 @@ "id": 912, "length": null, "nodeType": "ArrayTypeName", - "src": "16393:9:0", + "src": "16469:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -31279,7 +31279,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 1035, - "src": "16417:18:0", + "src": "16493:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -31290,7 +31290,7 @@ "id": 914, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "16417:7:0", + "src": "16493:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -31305,7 +31305,7 @@ "name": "destinations", "nodeType": "VariableDeclaration", "scope": 1035, - "src": "16445:22:0", + "src": "16521:22:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -31317,7 +31317,7 @@ "id": 916, "name": "address", "nodeType": "ElementaryTypeName", - "src": "16445:7:0", + "src": "16521:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -31326,7 +31326,7 @@ "id": 917, "length": null, "nodeType": "ArrayTypeName", - "src": "16445:9:0", + "src": "16521:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", "typeString": "address[]" @@ -31341,7 +31341,7 @@ "name": "amounts", "nodeType": "VariableDeclaration", "scope": 1035, - "src": "16477:16:0", + "src": "16553:16:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -31353,7 +31353,7 @@ "id": 919, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "16477:7:0", + "src": "16553:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -31362,7 +31362,7 @@ "id": 920, "length": null, "nodeType": "ArrayTypeName", - "src": "16477:9:0", + "src": "16553:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -31372,7 +31372,7 @@ "visibility": "internal" } ], - "src": "16337:162:0" + "src": "16413:162:0" }, "payable": false, "returnParameters": { @@ -31385,7 +31385,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 1035, - "src": "16533:7:0", + "src": "16609:7:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -31396,7 +31396,7 @@ "id": 923, "name": "address", "nodeType": "ElementaryTypeName", - "src": "16533:7:0", + "src": "16609:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -31406,10 +31406,10 @@ "visibility": "internal" } ], - "src": "16532:9:0" + "src": "16608:9:0" }, "scope": 1224, - "src": "16311:1581:0", + "src": "16387:1581:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "private" @@ -31418,7 +31418,7 @@ "body": { "id": 1066, "nodeType": "Block", - "src": "18047:168:0", + "src": "18123:168:0", "statements": [ { "assignments": [ @@ -31431,7 +31431,7 @@ "name": "timeSince", "nodeType": "VariableDeclaration", "scope": 1067, - "src": "18057:17:0", + "src": "18133:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -31442,7 +31442,7 @@ "id": 1044, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "18057:7:0", + "src": "18133:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -31463,7 +31463,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1039, - "src": "18085:12:0", + "src": "18161:12:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -31484,7 +31484,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1399, - "src": "18077:3:0", + "src": "18153:3:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -31498,7 +31498,7 @@ "memberName": "sub", "nodeType": "MemberAccess", "referencedDeclaration": 1337, - "src": "18077:7:0", + "src": "18153:7:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" @@ -31512,14 +31512,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18077:21:0", + "src": "18153:21:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "18057:41:0" + "src": "18133:41:0" }, { "expression": { @@ -31545,7 +31545,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1037, - "src": "18129:12:0", + "src": "18205:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -31563,7 +31563,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "18145:1:0", + "src": "18221:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -31571,7 +31571,7 @@ }, "value": "0" }, - "src": "18129:17:0", + "src": "18205:17:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -31595,7 +31595,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1045, - "src": "18155:9:0", + "src": "18231:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -31616,7 +31616,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "18193:4:0", + "src": "18269:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_3600_by_1", @@ -31642,7 +31642,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1037, - "src": "18175:12:0", + "src": "18251:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -31662,7 +31662,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "18167:7:0", + "src": "18243:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint256_$", "typeString": "type(uint256)" @@ -31677,7 +31677,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18167:21:0", + "src": "18243:21:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -31691,7 +31691,7 @@ "memberName": "mul", "nodeType": "MemberAccess", "referencedDeclaration": 1289, - "src": "18167:25:0", + "src": "18243:25:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" @@ -31705,13 +31705,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18167:31:0", + "src": "18243:31:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "18155:43:0", + "src": "18231:43:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -31723,7 +31723,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "Conditional", - "src": "18129:69:0", + "src": "18205:69:0", "trueExpression": { "argumentTypes": null, "hexValue": "66616c7365", @@ -31734,7 +31734,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "18149:5:0", + "src": "18225:5:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -31755,7 +31755,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "18115:93:0", + "src": "18191:93:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -31764,7 +31764,7 @@ "functionReturnParameters": 1043, "id": 1065, "nodeType": "Return", - "src": "18108:100:0" + "src": "18184:100:0" } ] }, @@ -31786,7 +31786,7 @@ "name": "timeoutHours", "nodeType": "VariableDeclaration", "scope": 1067, - "src": "17935:19:0", + "src": "18011:19:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -31797,7 +31797,7 @@ "id": 1036, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "17935:6:0", + "src": "18011:6:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -31812,7 +31812,7 @@ "name": "lastModified", "nodeType": "VariableDeclaration", "scope": 1067, - "src": "17964:20:0", + "src": "18040:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -31823,7 +31823,7 @@ "id": 1038, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "17964:7:0", + "src": "18040:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -31833,7 +31833,7 @@ "visibility": "internal" } ], - "src": "17925:65:0" + "src": "18001:65:0" }, "payable": false, "returnParameters": { @@ -31846,7 +31846,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 1067, - "src": "18037:4:0", + "src": "18113:4:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -31857,7 +31857,7 @@ "id": 1041, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "18037:4:0", + "src": "18113:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -31867,10 +31867,10 @@ "visibility": "internal" } ], - "src": "18036:6:0" + "src": "18112:6:0" }, "scope": 1224, - "src": "17898:317:0", + "src": "17974:317:0", "stateMutability": "view", "superFunction": null, "visibility": "private" @@ -31879,7 +31879,7 @@ "body": { "id": 1222, "nodeType": "Block", - "src": "18629:2314:0", + "src": "18705:2314:0", "statements": [ { "expression": { @@ -31903,7 +31903,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1069, - "src": "18655:5:0", + "src": "18731:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -31918,13 +31918,13 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1071, - "src": "18664:6:0", + "src": "18740:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "18655:15:0", + "src": "18731:15:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -31940,7 +31940,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "18672:27:0", + "src": "18748:27:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_6141441751234d42e9a73d96317794195c7ff57b8f16ac15725a10f10763f824", @@ -31968,7 +31968,7 @@ 1401 ], "referencedDeclaration": 1401, - "src": "18647:7:0", + "src": "18723:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -31982,7 +31982,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18647:53:0", + "src": "18723:53:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -31990,7 +31990,7 @@ }, "id": 1096, "nodeType": "ExpressionStatement", - "src": "18647:53:0" + "src": "18723:53:0" }, { "expression": { @@ -32014,7 +32014,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1081, - "src": "18767:5:0", + "src": "18843:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -32032,7 +32032,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "18775:1:0", + "src": "18851:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -32040,7 +32040,7 @@ }, "value": "0" }, - "src": "18767:9:0", + "src": "18843:9:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -32056,7 +32056,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "18778:19:0", + "src": "18854:19:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_3686f87c4804517ea83323ccf1a3b5b5ff52ed144b19e6fc56abe8fcd182e747", @@ -32084,7 +32084,7 @@ 1401 ], "referencedDeclaration": 1401, - "src": "18759:7:0", + "src": "18835:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -32098,7 +32098,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18759:39:0", + "src": "18835:39:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -32106,7 +32106,7 @@ }, "id": 1103, "nodeType": "ExpressionStatement", - "src": "18759:39:0" + "src": "18835:39:0" }, { "expression": { @@ -32141,7 +32141,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1075, - "src": "18901:9:0", + "src": "18977:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -32159,7 +32159,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "18913:1:0", + "src": "18989:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -32167,7 +32167,7 @@ }, "value": "0" }, - "src": "18901:13:0", + "src": "18977:13:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -32193,7 +32193,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1075, - "src": "18918:9:0", + "src": "18994:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -32211,7 +32211,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "18931:1:0", + "src": "19007:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_3_by_1", @@ -32219,13 +32219,13 @@ }, "value": "3" }, - "src": "18918:14:0", + "src": "18994:14:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "18901:31:0", + "src": "18977:31:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -32241,7 +32241,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "18947:63:0", + "src": "19023:63:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_351c1d5dfdc4a2b4c61d6f4dbb41a0d2ae70a9c094d3c0add87af24b5dd19c13", @@ -32269,7 +32269,7 @@ 1401 ], "referencedDeclaration": 1401, - "src": "18880:7:0", + "src": "18956:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -32283,7 +32283,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18880:140:0", + "src": "18956:140:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -32291,7 +32291,7 @@ }, "id": 1114, "nodeType": "ExpressionStatement", - "src": "18880:140:0" + "src": "18956:140:0" }, { "expression": { @@ -32326,7 +32326,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1075, - "src": "19301:9:0", + "src": "19377:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -32344,7 +32344,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "19314:1:0", + "src": "19390:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -32352,7 +32352,7 @@ }, "value": "1" }, - "src": "19301:14:0", + "src": "19377:14:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -32378,7 +32378,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1073, - "src": "19319:9:0", + "src": "19395:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -32399,7 +32399,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "19340:1:0", + "src": "19416:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -32421,7 +32421,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "19332:7:0", + "src": "19408:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" @@ -32436,19 +32436,19 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "19332:10:0", + "src": "19408:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "19319:23:0", + "src": "19395:23:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "19301:41:0", + "src": "19377:41:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -32464,7 +32464,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "19356:74:0", + "src": "19432:74:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_2056db168725d2fabb8aaf14efad7a3fc12ef6bc7132f0596ea09b041b71cb25", @@ -32492,7 +32492,7 @@ 1401 ], "referencedDeclaration": 1401, - "src": "19280:7:0", + "src": "19356:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -32506,7 +32506,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "19280:160:0", + "src": "19356:160:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -32514,7 +32514,7 @@ }, "id": 1127, "nodeType": "ExpressionStatement", - "src": "19280:160:0" + "src": "19356:160:0" }, { "expression": { @@ -32538,7 +32538,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1079, - "src": "19472:10:0", + "src": "19548:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -32556,7 +32556,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1083, - "src": "19529:8:0", + "src": "19605:8:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -32569,7 +32569,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1075, - "src": "19555:9:0", + "src": "19631:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -32582,7 +32582,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1077, - "src": "19582:12:0", + "src": "19658:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -32595,7 +32595,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1069, - "src": "19612:5:0", + "src": "19688:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -32608,7 +32608,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1071, - "src": "19635:6:0", + "src": "19711:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -32621,7 +32621,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1073, - "src": "19659:9:0", + "src": "19735:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -32634,7 +32634,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1087, - "src": "19686:12:0", + "src": "19762:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -32677,7 +32677,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 642, - "src": "19486:25:0", + "src": "19562:25:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_bytes20_$_t_uint8_$_t_uint32_$_t_address_$_t_address_$_t_address_$_t_address_$returns$_t_bytes32_$", "typeString": "function (bytes20,uint8,uint32,address,address,address,address) view returns (bytes32)" @@ -32691,13 +32691,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "19486:226:0", + "src": "19562:226:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "src": "19472:240:0", + "src": "19548:240:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -32713,7 +32713,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "19727:59:0", + "src": "19803:59:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_0c041e0c58e6b0e01d338d852a5abb639065eabeb0aee05e0ce3e5f0e52b4f51", @@ -32741,7 +32741,7 @@ 1401 ], "referencedDeclaration": 1401, - "src": "19451:7:0", + "src": "19527:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -32755,7 +32755,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "19451:345:0", + "src": "19527:345:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -32763,7 +32763,7 @@ }, "id": 1142, "nodeType": "ExpressionStatement", - "src": "19451:345:0" + "src": "19527:345:0" }, { "expression": { @@ -32782,7 +32782,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "19807:12:0", + "src": "19883:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -32796,7 +32796,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1079, - "src": "19820:10:0", + "src": "19896:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -32807,7 +32807,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "19807:24:0", + "src": "19883:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -32825,7 +32825,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1069, - "src": "19867:5:0", + "src": "19943:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -32838,7 +32838,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1071, - "src": "19894:6:0", + "src": "19970:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -32851,7 +32851,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1073, - "src": "19925:9:0", + "src": "20001:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -32864,7 +32864,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1081, - "src": "19955:5:0", + "src": "20031:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -32879,7 +32879,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9, - "src": "19982:6:0", + "src": "20058:6:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_Status_$9_$", "typeString": "type(enum Escrow_v1_0.Status)" @@ -32893,7 +32893,7 @@ "memberName": "FUNDED", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "19982:13:0", + "src": "20058:13:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$9", "typeString": "enum Escrow_v1_0.Status" @@ -32908,7 +32908,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1387, - "src": "20023:5:0", + "src": "20099:5:0", "typeDescriptions": { "typeIdentifier": "t_magic_block", "typeString": "block" @@ -32922,7 +32922,7 @@ "memberName": "timestamp", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "20023:15:0", + "src": "20099:15:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -32935,7 +32935,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1075, - "src": "20063:9:0", + "src": "20139:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -32948,7 +32948,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1077, - "src": "20100:12:0", + "src": "20176:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -32961,7 +32961,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1085, - "src": "20142:15:0", + "src": "20218:15:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -32974,7 +32974,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1087, - "src": "20184:12:0", + "src": "20260:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -32988,7 +32988,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 71, - "src": "19834:11:0", + "src": "19910:11:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_struct$_Transaction_$71_storage_ptr_$", "typeString": "type(struct Escrow_v1_0.Transaction storage pointer)" @@ -33013,13 +33013,13 @@ "tokenAddress" ], "nodeType": "FunctionCall", - "src": "19834:373:0", + "src": "19910:373:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_memory", "typeString": "struct Escrow_v1_0.Transaction memory" } }, - "src": "19807:400:0", + "src": "19883:400:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -33027,7 +33027,7 @@ }, "id": 1161, "nodeType": "ExpressionStatement", - "src": "19807:400:0" + "src": "19883:400:0" }, { "expression": { @@ -33050,7 +33050,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "20218:12:0", + "src": "20294:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -33064,7 +33064,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1079, - "src": "20231:10:0", + "src": "20307:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -33075,7 +33075,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20218:24:0", + "src": "20294:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -33089,7 +33089,7 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "20218:32:0", + "src": "20294:32:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -33103,7 +33103,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1071, - "src": "20251:6:0", + "src": "20327:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -33114,7 +33114,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "20218:40:0", + "src": "20294:40:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -33132,7 +33132,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "20261:4:0", + "src": "20337:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -33140,7 +33140,7 @@ }, "value": "true" }, - "src": "20218:47:0", + "src": "20294:47:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -33148,7 +33148,7 @@ }, "id": 1170, "nodeType": "ExpressionStatement", - "src": "20218:47:0" + "src": "20294:47:0" }, { "expression": { @@ -33171,7 +33171,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "20275:12:0", + "src": "20351:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -33185,7 +33185,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1079, - "src": "20288:10:0", + "src": "20364:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -33196,7 +33196,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20275:24:0", + "src": "20351:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -33210,7 +33210,7 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "20275:32:0", + "src": "20351:32:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -33224,7 +33224,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1069, - "src": "20308:5:0", + "src": "20384:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -33235,7 +33235,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "20275:39:0", + "src": "20351:39:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -33253,7 +33253,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "20317:4:0", + "src": "20393:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -33261,7 +33261,7 @@ }, "value": "true" }, - "src": "20275:46:0", + "src": "20351:46:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -33269,7 +33269,7 @@ }, "id": 1179, "nodeType": "ExpressionStatement", - "src": "20275:46:0" + "src": "20351:46:0" }, { "expression": { @@ -33285,7 +33285,7 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "20428:44:0", + "src": "20504:44:0", "subExpression": { "argumentTypes": null, "baseExpression": { @@ -33299,7 +33299,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "20429:12:0", + "src": "20505:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -33313,7 +33313,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1079, - "src": "20442:10:0", + "src": "20518:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -33324,7 +33324,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20429:24:0", + "src": "20505:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -33338,7 +33338,7 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "20429:32:0", + "src": "20505:32:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -33352,7 +33352,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1073, - "src": "20462:9:0", + "src": "20538:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -33363,7 +33363,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20429:43:0", + "src": "20505:43:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -33384,7 +33384,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "20487:47:0", + "src": "20563:47:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_313b391557427937e7bdb85c7561d47c5b9c985755a448dd33a92026ffb38f8d", @@ -33412,7 +33412,7 @@ 1401 ], "referencedDeclaration": 1401, - "src": "20407:7:0", + "src": "20483:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -33426,7 +33426,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "20407:137:0", + "src": "20483:137:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -33434,7 +33434,7 @@ }, "id": 1190, "nodeType": "ExpressionStatement", - "src": "20407:137:0" + "src": "20483:137:0" }, { "condition": { @@ -33455,7 +33455,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1075, - "src": "20704:9:0", + "src": "20780:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -33473,7 +33473,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "20716:1:0", + "src": "20792:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -33481,7 +33481,7 @@ }, "value": "1" }, - "src": "20704:13:0", + "src": "20780:13:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -33490,11 +33490,11 @@ "falseBody": null, "id": 1204, "nodeType": "IfStatement", - "src": "20700:94:0", + "src": "20776:94:0", "trueBody": { "id": 1203, "nodeType": "Block", - "src": "20719:75:0", + "src": "20795:75:0", "statements": [ { "expression": { @@ -33517,7 +33517,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "20733:12:0", + "src": "20809:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -33531,7 +33531,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1079, - "src": "20746:10:0", + "src": "20822:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -33542,7 +33542,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20733:24:0", + "src": "20809:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -33556,7 +33556,7 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "20733:32:0", + "src": "20809:32:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -33570,7 +33570,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1073, - "src": "20766:9:0", + "src": "20842:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -33581,7 +33581,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "20733:43:0", + "src": "20809:43:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -33599,7 +33599,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "20779:4:0", + "src": "20855:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -33607,7 +33607,7 @@ }, "value": "true" }, - "src": "20733:50:0", + "src": "20809:50:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -33615,7 +33615,7 @@ }, "id": 1202, "nodeType": "ExpressionStatement", - "src": "20733:50:0" + "src": "20809:50:0" } ] } @@ -33631,7 +33631,7 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "20812:18:0", + "src": "20888:18:0", "subExpression": { "argumentTypes": null, "id": 1205, @@ -33639,7 +33639,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 78, - "src": "20812:16:0", + "src": "20888:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -33652,7 +33652,7 @@ }, "id": 1207, "nodeType": "ExpressionStatement", - "src": "20812:18:0" + "src": "20888:18:0" }, { "expression": { @@ -33665,7 +33665,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1079, - "src": "20872:10:0", + "src": "20948:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -33688,7 +33688,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 83, - "src": "20841:18:0", + "src": "20917:18:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_bytes32_$dyn_storage_$", "typeString": "mapping(address => bytes32[] storage ref)" @@ -33702,7 +33702,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1069, - "src": "20860:5:0", + "src": "20936:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -33713,7 +33713,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20841:25:0", + "src": "20917:25:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage", "typeString": "bytes32[] storage ref" @@ -33727,7 +33727,7 @@ "memberName": "push", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "20841:30:0", + "src": "20917:30:0", "typeDescriptions": { "typeIdentifier": "t_function_arraypush_nonpayable$_t_bytes32_$returns$_t_uint256_$", "typeString": "function (bytes32) returns (uint256)" @@ -33741,7 +33741,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "20841:42:0", + "src": "20917:42:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -33749,7 +33749,7 @@ }, "id": 1214, "nodeType": "ExpressionStatement", - "src": "20841:42:0" + "src": "20917:42:0" }, { "expression": { @@ -33762,7 +33762,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1079, - "src": "20925:10:0", + "src": "21001:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -33785,7 +33785,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 83, - "src": "20893:18:0", + "src": "20969:18:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_bytes32_$dyn_storage_$", "typeString": "mapping(address => bytes32[] storage ref)" @@ -33799,7 +33799,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1071, - "src": "20912:6:0", + "src": "20988:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -33810,7 +33810,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20893:26:0", + "src": "20969:26:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage", "typeString": "bytes32[] storage ref" @@ -33824,7 +33824,7 @@ "memberName": "push", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "20893:31:0", + "src": "20969:31:0", "typeDescriptions": { "typeIdentifier": "t_function_arraypush_nonpayable$_t_bytes32_$returns$_t_uint256_$", "typeString": "function (bytes32) returns (uint256)" @@ -33838,7 +33838,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "20893:43:0", + "src": "20969:43:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -33846,7 +33846,7 @@ }, "id": 1221, "nodeType": "ExpressionStatement", - "src": "20893:43:0" + "src": "20969:43:0" } ] }, @@ -33868,7 +33868,7 @@ "name": "buyer", "nodeType": "VariableDeclaration", "scope": 1223, - "src": "18336:13:0", + "src": "18412:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -33879,7 +33879,7 @@ "id": 1068, "name": "address", "nodeType": "ElementaryTypeName", - "src": "18336:7:0", + "src": "18412:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -33894,7 +33894,7 @@ "name": "seller", "nodeType": "VariableDeclaration", "scope": 1223, - "src": "18359:14:0", + "src": "18435:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -33905,7 +33905,7 @@ "id": 1070, "name": "address", "nodeType": "ElementaryTypeName", - "src": "18359:7:0", + "src": "18435:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -33920,7 +33920,7 @@ "name": "moderator", "nodeType": "VariableDeclaration", "scope": 1223, - "src": "18383:17:0", + "src": "18459:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -33931,7 +33931,7 @@ "id": 1072, "name": "address", "nodeType": "ElementaryTypeName", - "src": "18383:7:0", + "src": "18459:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -33946,7 +33946,7 @@ "name": "threshold", "nodeType": "VariableDeclaration", "scope": 1223, - "src": "18410:15:0", + "src": "18486:15:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -33957,7 +33957,7 @@ "id": 1074, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "18410:5:0", + "src": "18486:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -33972,7 +33972,7 @@ "name": "timeoutHours", "nodeType": "VariableDeclaration", "scope": 1223, - "src": "18435:19:0", + "src": "18511:19:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -33983,7 +33983,7 @@ "id": 1076, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "18435:6:0", + "src": "18511:6:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -33998,7 +33998,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 1223, - "src": "18464:18:0", + "src": "18540:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -34009,7 +34009,7 @@ "id": 1078, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "18464:7:0", + "src": "18540:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -34024,7 +34024,7 @@ "name": "value", "nodeType": "VariableDeclaration", "scope": 1223, - "src": "18492:13:0", + "src": "18568:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -34035,7 +34035,7 @@ "id": 1080, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "18492:7:0", + "src": "18568:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -34050,7 +34050,7 @@ "name": "uniqueId", "nodeType": "VariableDeclaration", "scope": 1223, - "src": "18515:16:0", + "src": "18591:16:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -34061,7 +34061,7 @@ "id": 1082, "name": "bytes20", "nodeType": "ElementaryTypeName", - "src": "18515:7:0", + "src": "18591:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -34076,7 +34076,7 @@ "name": "transactionType", "nodeType": "VariableDeclaration", "scope": 1223, - "src": "18541:31:0", + "src": "18617:31:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -34089,7 +34089,7 @@ "name": "TransactionType", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 12, - "src": "18541:15:0", + "src": "18617:15:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -34104,7 +34104,7 @@ "name": "tokenAddress", "nodeType": "VariableDeclaration", "scope": 1223, - "src": "18582:20:0", + "src": "18658:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -34115,7 +34115,7 @@ "id": 1086, "name": "address", "nodeType": "ElementaryTypeName", - "src": "18582:7:0", + "src": "18658:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -34125,27 +34125,27 @@ "visibility": "internal" } ], - "src": "18326:282:0" + "src": "18402:282:0" }, "payable": false, "returnParameters": { "id": 1089, "nodeType": "ParameterList", "parameters": [], - "src": "18629:0:0" + "src": "18705:0:0" }, "scope": 1224, - "src": "18302:2641:0", + "src": "18378:2641:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "private" } ], "scope": 1225, - "src": "460:20485:0" + "src": "460:20561:0" } ], - "src": "0:20946:0" + "src": "0:21022:0" }, "compiler": { "name": "solc", @@ -34153,5 +34153,5 @@ }, "networks": {}, "schemaVersion": "2.0.1", - "updatedAt": "2018-11-19T13:41:57.382Z" + "updatedAt": "2018-11-19T13:46:27.402Z" } \ No newline at end of file diff --git a/build/contracts/ITokenContract.json b/build/contracts/ITokenContract.json index 23a3432..d552b06 100644 --- a/build/contracts/ITokenContract.json +++ b/build/contracts/ITokenContract.json @@ -817,5 +817,5 @@ }, "networks": {}, "schemaVersion": "2.0.1", - "updatedAt": "2018-11-19T13:41:57.362Z" + "updatedAt": "2018-11-19T13:46:27.394Z" } \ No newline at end of file diff --git a/build/contracts/SafeMath.json b/build/contracts/SafeMath.json index a35edb9..e15d6d6 100644 --- a/build/contracts/SafeMath.json +++ b/build/contracts/SafeMath.json @@ -3295,5 +3295,5 @@ }, "networks": {}, "schemaVersion": "2.0.1", - "updatedAt": "2018-11-19T13:41:57.364Z" + "updatedAt": "2018-11-19T13:46:27.393Z" } \ No newline at end of file diff --git a/contracts/escrow/Escrow_v1_0.sol b/contracts/escrow/Escrow_v1_0.sol index f767c7a..452fa47 100644 --- a/contracts/escrow/Escrow_v1_0.sol +++ b/contracts/escrow/Escrow_v1_0.sol @@ -11,6 +11,8 @@ import "../token/ITokenContract.sol"; * The smart contract is designed keeping in mind the current wallet interface of the OB-core * https://github.com/OpenBazaar/wallet-interface/blob/master/wallet.go * Current wallet interface strictly adheres to UTXO(bitcoin) model +* Please read below mentioned link for detailed specs +* https://github.com/OpenBazaar/smart-contracts/blob/master/contracts/escrow/EscrowSpec.md */ contract Escrow_v1_0 { From d5051773de58f0c99fc8677d6f412ea47906a922 Mon Sep 17 00:00:00 2001 From: Sameep Singhania Date: Mon, 19 Nov 2018 19:29:36 +0530 Subject: [PATCH 16/19] Update Escrow test case comments --- build/contracts/Escrow_v1_0.json | 4896 +++++++++++++-------------- build/contracts/ITokenContract.json | 2 +- build/contracts/SafeMath.json | 2 +- contracts/escrow/Escrow_v1_0.sol | 2 +- test/escrow/1_Escrow_v1_0_test.js | 152 +- 5 files changed, 2527 insertions(+), 2527 deletions(-) diff --git a/build/contracts/Escrow_v1_0.json b/build/contracts/Escrow_v1_0.json index 6687d7a..168a471 100644 --- a/build/contracts/Escrow_v1_0.json +++ b/build/contracts/Escrow_v1_0.json @@ -395,11 +395,11 @@ "type": "function" } ], - "bytecode": "0x6080604052600060015534801561001557600080fd5b5061432c806100256000396000f3006080604052600436106100af576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806323b6fd3f146100b45780632d9ef96e1461016e57806346fbcdeb1461019257806357bced7614610287578063642f2eaf14610378578063b0550c66146104da578063b719e28014610543578063b77bf6001461057e578063be84ceaf146105a9578063e4ec8b0014610641578063f0786562146106ea575b600080fd5b61016c600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff169060200190929190803563ffffffff169060200190929190803560001916906020019092919080356bffffffffffffffffffffffff19169060200190929190505050610753565b005b61019060048036038101908080356000191690602001909291905050506109a7565b005b34801561019e57600080fd5b5061026960048036038101908080356bffffffffffffffffffffffff19169060200190929190803560ff169060200190929190803563ffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610e24565b60405180826000191660001916815260200191505060405180910390f35b34801561029357600080fd5b50610376600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff169060200190929190803563ffffffff16906020019092919080356000191690602001909291908035906020019092919080356bffffffffffffffffffffffff19169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506112d0565b005b34801561038457600080fd5b506103a760048036038101908080356000191690602001909291905050506117a5565b604051808b81526020018a81526020018960018111156103c357fe5b60ff1681526020018860018111156103d757fe5b60ff1681526020018760ff1660ff1681526020018663ffffffff1663ffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019a505050505050505050505060405180910390f35b3480156104e657600080fd5b506105296004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506118b0565b604051808215151515815260200191505060405180910390f35b34801561054f57600080fd5b5061057c600480360381019080803560001916906020019092919080359060200190929190505050611922565b005b34801561058a57600080fd5b50610593611ff2565b6040518082815260200191505060405180910390f35b3480156105b557600080fd5b506105ea600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611ff8565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b8381101561062d578082015181840152602081019050610612565b505050509050019250505060405180910390f35b34801561064d57600080fd5b506106e86004803603810190808035906020019082018035906020019190919293919293908035906020019082018035906020019190919293919293908035906020019082018035906020019190919293919293908035600019169060200190929190803590602001908201803590602001919091929391929390803590602001908201803590602001919091929391929390505050612093565b005b3480156106f657600080fd5b506107396004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061267c565b604051808215151515815260200191505060405180910390f35b8160008060008360001916600019168152602001908152602001600020600001541415156107e9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f5472616e73616374696f6e20657869737400000000000000000000000000000081525060200191505060405180910390fd5b87600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561088f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b87600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610935576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b6109488a8a8a8a8a8a348b6000806126ee565b3373ffffffffffffffffffffffffffffffffffffffff1685600019167fce7089d0668849fb9ca29778c0cbf1e764d9efb048d81fd71fb34c94f26db368346040518082815260200191505060405180910390a350505050505050505050565b80600080600083600019166000191681526020019081526020016000206000015414151515610a3e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737400000000000081525060200191505060405180910390fd5b8160006001811115610a4c57fe5b600080836000191660001916815260200190815260200160002060020160009054906101000a900460ff166001811115610a8257fe5b141515610b1d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001807f5472616e73616374696f6e206973206e6f7420696e2046554e4445442073746181526020017f746500000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b826000806001811115610b2c57fe5b600080846000191660001916815260200190815260200160002060020160019054906101000a900460ff166001811115610b6257fe5b141515610bd7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5472616e73616374696f6e207479706520646f6573206e6f74206d617463680081525060200191505060405180910390fd5b84600080826000191660001916815260200190815260200160002060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610cde576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f54686520696e69746961746f72206f6620746865207472616e73616374696f6e81526020017f206973206e6f742062757965720000000000000000000000000000000000000081525060400191505060405180910390fd5b600034111515610d56576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f56616c7565206d7573742062652067726561746572207468616e207a65726f2e81525060200191505060405180910390fd5b610d863460008089600019166000191681526020019081526020016000206000015461307a90919063ffffffff16565b600080886000191660001916815260200190815260200160002060000181905550426000808860001916600019168152602001908152602001600020600101819055503373ffffffffffffffffffffffffffffffffffffffff1686600019167ff66fd2ae9e24a6a24b02e1b5b7512ffde5149a4176085fc0298ae228c9b9d729346040518082815260200191505060405180910390a3505050505050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611070578787878787873060405160200180886bffffffffffffffffffffffff19166bffffffffffffffffffffffff191681526014018760ff1660ff167f01000000000000000000000000000000000000000000000000000000000000000281526001018663ffffffff1663ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014019750505050505050506040516020818303038152906040526040518082805190602001908083835b60208310151561103c5780518252602082019150602081019050602083039250611017565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902090506112c5565b878787878787308860405160200180896bffffffffffffffffffffffff19166bffffffffffffffffffffffff191681526014018860ff1660ff167f01000000000000000000000000000000000000000000000000000000000000000281526001018763ffffffff1663ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401985050505050505050506040516020818303038152906040526040518082805190602001908083835b6020831015156112955780518252602082019150602081019050602083039250611270565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902090505b979650505050505050565b6000846000806000836000191660001916815260200190815260200160002060000154141515611368576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f5472616e73616374696f6e20657869737400000000000000000000000000000081525060200191505060405180910390fd5b8a600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561140e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b8a600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156114b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b84600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561155a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b61156d8e8e8e8e8e8e8e8e60018f6126ee565b8594508473ffffffffffffffffffffffffffffffffffffffff166323b872dd33308b6040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b15801561164757600080fd5b505af115801561165b573d6000803e3d6000fd5b505050506040513d602081101561167157600080fd5b81019080805190602001909291905050501515611742576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252605d8152602001807f546f6b656e207472616e73666572206661696c65642c206d6179626520796f7581526020017f20646964206e6f7420617070726f766520657363726f7720636f6e747261637481526020017f20746f207370656e64206f6e20626568616c66206f662073656e64657200000081525060600191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff1689600019167fce7089d0668849fb9ca29778c0cbf1e764d9efb048d81fd71fb34c94f26db3688a6040518082815260200191505060405180910390a35050505050505050505050505050565b60006020528060005260406000206000915090508060000154908060010154908060020160009054906101000a900460ff16908060020160019054906101000a900460ff16908060020160029054906101000a900460ff16908060020160039054906101000a900463ffffffff16908060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060050160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508a565b6000806000846000191660001916815260200190815260200160002060080160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6000826000806000836000191660001916815260200190815260200160002060000154141515156119bb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737400000000000081525060200191505060405180910390fd5b83600060018111156119c957fe5b600080836000191660001916815260200190815260200160002060020160009054906101000a900460ff1660018111156119ff57fe5b141515611a9a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001807f5472616e73616374696f6e206973206e6f7420696e2046554e4445442073746181526020017f746500000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b846001806001811115611aa957fe5b600080846000191660001916815260200190815260200160002060020160019054906101000a900460ff166001811115611adf57fe5b141515611b54576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5472616e73616374696f6e207479706520646f6573206e6f74206d617463680081525060200191505060405180910390fd5b86600080826000191660001916815260200190815260200160002060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611c5b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f54686520696e69746961746f72206f6620746865207472616e73616374696f6e81526020017f206973206e6f742062757965720000000000000000000000000000000000000081525060400191505060405180910390fd5b600087111515611cd3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f56616c7565206d7573742062652067726561746572207468616e207a65726f2e81525060200191505060405180910390fd5b600080896000191660001916815260200190815260200160002060040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1695508573ffffffffffffffffffffffffffffffffffffffff166323b872dd6000808b6000191660001916815260200190815260200160002060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff16308a6040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b158015611e2757600080fd5b505af1158015611e3b573d6000803e3d6000fd5b505050506040513d6020811015611e5157600080fd5b81019080805190602001909291905050501515611f22576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252605c8152602001807f546f6b656e207472616e73666572206661696c65642c206d6179626520796f7581526020017f20646964206e6f7420617070726f766520657363726f7720636f6e747261637481526020017f20746f207370656e64206f6e20626568616c66206f662062757965720000000081525060600191505060405180910390fd5b611f52876000808b600019166000191681526020019081526020016000206000015461307a90919063ffffffff16565b6000808a6000191660001916815260200190815260200160002060000181905550426000808a60001916600019168152602001908152602001600020600101819055503373ffffffffffffffffffffffffffffffffffffffff1688600019167ff66fd2ae9e24a6a24b02e1b5b7512ffde5149a4176085fc0298ae228c9b9d729896040518082815260200191505060405180910390a35050505050505050565b60015481565b6060600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080548060200260200160405190810160405280929190818152602001828054801561208757602002820191906000526020600020905b8154600019168152602001906001019080831161206f575b50505050509050919050565b8460008060008360001916600019168152602001908152602001600020600001541415151561212a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737400000000000081525060200191505060405180910390fd5b856000600181111561213857fe5b600080836000191660001916815260200190815260200160002060020160009054906101000a900460ff16600181111561216e57fe5b141515612209576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001807f5472616e73616374696f6e206973206e6f7420696e2046554e4445442073746181526020017f746500000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b6000868690501115156122aa576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f4e756d626572206f662064657374696e6174696f6e73206d757374206265206781526020017f726561746572207468616e20300000000000000000000000000000000000000081525060400191505060405180910390fd5b838390508686905014151561234d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260378152602001807f4e756d626572206f662064657374696e6174696f6e73206d757374206d61746381526020017f68206e756d626572206f662076616c7565732073656e7400000000000000000081525060400191505060405180910390fd5b6124468d8d808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508c8c808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508b8b808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508a8a8a8080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505089898080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505061309b565b6001600080896000191660001916815260200190815260200160002060020160006101000a81548160ff0219169083600181111561248057fe5b02179055504260008089600019166000191681526020019081526020016000206001018190555060008088600019166000191681526020019081526020016000206000015461252e8888888080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505087878080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505061327c565b1415156125ef576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260488152602001807f546f74616c2076616c756520746f2062652072656c6561736564206d7573742081526020017f626520657175616c20746f20746865207472616e73616374696f6e206573637281526020017f6f772076616c756500000000000000000000000000000000000000000000000081525060600191505060405180910390fd5b86600019167f688e2a1b34445bcd47b0e11ba2a9c8c4d850a1831b64199b59d1c70e29701545878787876040518080602001806020018381038352878782818152602001925060200280828437820191505083810382528585828181526020019250602002808284378201915050965050505050505060405180910390a250505050505050505050505050565b6000806000846000191660001916815260200190815260200160002060070160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b8873ffffffffffffffffffffffffffffffffffffffff168a73ffffffffffffffffffffffffffffffffffffffff1614151515612792576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f427579657220616e642073656c6c6572206172652073616d650000000000000081525060200191505060405180910390fd5b60008411151561280a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f56616c756520706173736564206973203000000000000000000000000000000081525060200191505060405180910390fd5b60008760ff16118015612821575060038760ff1611155b15156128bb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603d8152602001807f5468726573686f6c642063616e6e6f742062652067726561746572207468616e81526020017f203320616e64206d7573742062652067726561746572207468616e203000000081525060400191505060405180910390fd5b60018760ff1614806128fa5750600073ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff1614155b15156129ba576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260488152602001807f456974686572207468726573686f6c642073686f756c642062652031206f722081526020017f76616c6964206d6f64657261746f7220616464726573732073686f756c64206281526020017f652070617373656400000000000000000000000000000000000000000000000081525060600191505060405180910390fd5b6129c98388888d8d8d87610e24565b600019168560001916141515612a6d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260398152602001807f43616c63756c6174656420736372697074206861736820646f6573206e6f742081526020017f6d61746368207061737365642073637269707420686173682e0000000000000081525060400191505060405180910390fd5b6101406040519081016040528085815260200142815260200160006001811115612a9357fe5b8152602001836001811115612aa457fe5b81526020018860ff1681526020018763ffffffff1681526020018b73ffffffffffffffffffffffffffffffffffffffff1681526020018a73ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020018973ffffffffffffffffffffffffffffffffffffffff168152506000808760001916600019168152602001908152602001600020600082015181600001556020820151816001015560408201518160020160006101000a81548160ff02191690836001811115612b7e57fe5b021790555060608201518160020160016101000a81548160ff02191690836001811115612ba757fe5b021790555060808201518160020160026101000a81548160ff021916908360ff16021790555060a08201518160020160036101000a81548163ffffffff021916908363ffffffff16021790555060c08201518160020160076101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060e08201518160030160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506101008201518160040160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506101208201518160050160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055509050506001600080876000191660001916815260200190815260200160002060060160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600080876000191660001916815260200190815260200160002060060160008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600080866000191660001916815260200190815260200160002060060160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151515612efe576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f456974686572206275796572206f722073656c6c65722069732070617373656481526020017f206173206d6f64657261746f720000000000000000000000000000000000000081525060400191505060405180910390fd5b60018760ff161115612f7e576001600080876000191660001916815260200190815260200160002060060160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b600160008154809291906001019190505550600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020859080600181540180825580915050906001820390600052602060002001600090919290919091509060001916905550600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002085908060018154018082558091505090600182039060005260206000200160009091929091909150906000191690555050505050505050505050565b600080828401905083811015151561309157600080fd5b8091505092915050565b6000806130ac888888888888613bd4565b9150613102600080876000191660001916815260200190815260200160002060020160039054906101000a900463ffffffff1660008088600019166000191681526020019081526020016000206001015461424d565b9050600080866000191660001916815260200190815260200160002060020160029054906101000a900460ff1660ff1688511080156131b357508015806131b25750600080866000191660001916815260200190815260200160002060030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b5b15613272576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260588152602001807f4d696e696d756d206e756d626572206f66207369676e6174757265732061726581526020017f206e6f7420636f6c6c656374656420616e642074696d65206c6f636b2065787081526020017f69727920636f6e646974696f6e73206e6f74206d65742121000000000000000081525060600191505060405180910390fd5b5050505050505050565b6000806000806000806000808a60001916600019168152602001908152602001600020945060009350600060018111156132b257fe5b8560020160019054906101000a900460ff1660018111156132cf57fe5b141561369e57600092505b875183101561369957600073ffffffffffffffffffffffffffffffffffffffff16888481518110151561330957fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff16141515156133c5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001807f7a65726f2061646472657373206973206e6f7420616c6c6f776564206173206481526020017f657374696e6174696f6e2061646472657373000000000000000000000000000081525060400191505060405180910390fd5b84600601600089858151811015156133d957fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615156134c5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c8152602001807f44657374696e6174696f6e2061646472657373206973206e6f74206f6e65206f81526020017f6620746865206f776e657273000000000000000000000000000000000000000081525060400191505060405180910390fd5b600087848151811015156134d557fe5b9060200190602002015111151561357a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001807f416d6f756e7420746f2062652073656e742073686f756c64206265206772656181526020017f746572207468616e20300000000000000000000000000000000000000000000081525060400191505060405180910390fd5b6135a4878481518110151561358b57fe5b906020019060200201518561307a90919063ffffffff16565b935060018560080160008a868151811015156135bc57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550878381518110151561362557fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff166108fc888581518110151561365657fe5b906020019060200201519081150290604051600060405180830381858888f1935050505015801561368b573d6000803e3d6000fd5b5082806001019350506132da565b613bc5565b6001808111156136aa57fe5b8560020160019054906101000a900460ff1660018111156136c757fe5b1415613bc4578460040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169150600090505b8751811015613bc357600073ffffffffffffffffffffffffffffffffffffffff16888281518110151561372857fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff16141515156137e4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001807f7a65726f2061646472657373206973206e6f7420616c6c6f776564206173206481526020017f657374696e6174696f6e2061646472657373000000000000000000000000000081525060400191505060405180910390fd5b84600601600089838151811015156137f857fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615156138e4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c8152602001807f44657374696e6174696f6e2061646472657373206973206e6f74206f6e65206f81526020017f6620746865206f776e657273000000000000000000000000000000000000000081525060400191505060405180910390fd5b600087828151811015156138f457fe5b90602001906020020151111515613999576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001807f416d6f756e7420746f2062652073656e742073686f756c64206265206772656181526020017f746572207468616e20300000000000000000000000000000000000000000000081525060400191505060405180910390fd5b6139c387828151811015156139aa57fe5b906020019060200201518561307a90919063ffffffff16565b935060018560080160008a848151811015156139db57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb8983815181101515613a6057fe5b906020019060200201518984815181101515613a7857fe5b906020019060200201516040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015613b0757600080fd5b505af1158015613b1b573d6000803e3d6000fd5b505050506040513d6020811015613b3157600080fd5b81019080805190602001909291905050501515613bb6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f546f6b656e207472616e73666572206661696c65642e0000000000000000000081525060200191505060405180910390fd5b80806001019150506136f9565b5b5b83955050505050509392505050565b600080600080600088518a51148015613bee57508a518a51145b1515613c62576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f522c532c56206c656e677468206d69736d617463682e0000000000000000000081525060200191505060405180910390fd5b60197f01000000000000000000000000000000000000000000000000000000000000000260007f0100000000000000000000000000000000000000000000000000000000000000023089898c60405160200180877effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168152600101867effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526001018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401848051906020019060200280838360005b83811015613db6578082015181840152602081019050613d9b565b50505050905001838051906020019060200280838360005b83811015613de9578082015181840152602081019050613dce565b50505050905001826000191660001916815260200196505050505050506040516020818303038152906040526040518082805190602001908083835b602083101515613e4a5780518252602082019150602081019050602083039250613e25565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902060405160200180807f19457468657265756d205369676e6564204d6573736167653a0a333200000000815250601c0182600019166000191681526020019150506040516020818303038152906040526040518082805190602001908083835b602083101515613efb5780518252602082019150602081019050602083039250613ed6565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390209250600091505b895182101561423c576001838c84815181101515613f4957fe5b906020019060200201518c85815181101515613f6157fe5b906020019060200201518c86815181101515613f7957fe5b90602001906020020151604051600081526020016040526040518085600019166000191681526020018460ff1660ff1681526020018360001916600019168152602001826000191660001916815260200194505050505060206040516020810390808403906000865af1158015613ff4573d6000803e3d6000fd5b505050602060405103519050600080896000191660001916815260200190815260200160002060060160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615156140dc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f496e76616c6964207369676e617475726500000000000000000000000000000081525060200191505060405180910390fd5b600080896000191660001916815260200190815260200160002060070160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515156141b9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f53616d65207369676e61747572652073656e742074776963650000000000000081525060200191505060405180910390fd5b60016000808a6000191660001916815260200190815260200160002060070160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508093508180600101925050613f2f565b839450505050509695505050505050565b60008061426383426142a190919063ffffffff16565b905060008463ffffffff16146142955761428e610e108563ffffffff166142c290919063ffffffff16565b8111614298565b60005b91505092915050565b6000808383111515156142b357600080fd5b82840390508091505092915050565b60008060008414156142d757600091506142f9565b82840290508284828115156142e857fe5b041415156142f557600080fd5b8091505b50929150505600a165627a7a72305820d8a2e2322aa1998415905c901361978f998d53b9923633f7fb185f53a9b11c090029", - "deployedBytecode": "0x6080604052600436106100af576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806323b6fd3f146100b45780632d9ef96e1461016e57806346fbcdeb1461019257806357bced7614610287578063642f2eaf14610378578063b0550c66146104da578063b719e28014610543578063b77bf6001461057e578063be84ceaf146105a9578063e4ec8b0014610641578063f0786562146106ea575b600080fd5b61016c600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff169060200190929190803563ffffffff169060200190929190803560001916906020019092919080356bffffffffffffffffffffffff19169060200190929190505050610753565b005b61019060048036038101908080356000191690602001909291905050506109a7565b005b34801561019e57600080fd5b5061026960048036038101908080356bffffffffffffffffffffffff19169060200190929190803560ff169060200190929190803563ffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610e24565b60405180826000191660001916815260200191505060405180910390f35b34801561029357600080fd5b50610376600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff169060200190929190803563ffffffff16906020019092919080356000191690602001909291908035906020019092919080356bffffffffffffffffffffffff19169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506112d0565b005b34801561038457600080fd5b506103a760048036038101908080356000191690602001909291905050506117a5565b604051808b81526020018a81526020018960018111156103c357fe5b60ff1681526020018860018111156103d757fe5b60ff1681526020018760ff1660ff1681526020018663ffffffff1663ffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019a505050505050505050505060405180910390f35b3480156104e657600080fd5b506105296004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506118b0565b604051808215151515815260200191505060405180910390f35b34801561054f57600080fd5b5061057c600480360381019080803560001916906020019092919080359060200190929190505050611922565b005b34801561058a57600080fd5b50610593611ff2565b6040518082815260200191505060405180910390f35b3480156105b557600080fd5b506105ea600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611ff8565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b8381101561062d578082015181840152602081019050610612565b505050509050019250505060405180910390f35b34801561064d57600080fd5b506106e86004803603810190808035906020019082018035906020019190919293919293908035906020019082018035906020019190919293919293908035906020019082018035906020019190919293919293908035600019169060200190929190803590602001908201803590602001919091929391929390803590602001908201803590602001919091929391929390505050612093565b005b3480156106f657600080fd5b506107396004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061267c565b604051808215151515815260200191505060405180910390f35b8160008060008360001916600019168152602001908152602001600020600001541415156107e9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f5472616e73616374696f6e20657869737400000000000000000000000000000081525060200191505060405180910390fd5b87600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561088f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b87600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610935576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b6109488a8a8a8a8a8a348b6000806126ee565b3373ffffffffffffffffffffffffffffffffffffffff1685600019167fce7089d0668849fb9ca29778c0cbf1e764d9efb048d81fd71fb34c94f26db368346040518082815260200191505060405180910390a350505050505050505050565b80600080600083600019166000191681526020019081526020016000206000015414151515610a3e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737400000000000081525060200191505060405180910390fd5b8160006001811115610a4c57fe5b600080836000191660001916815260200190815260200160002060020160009054906101000a900460ff166001811115610a8257fe5b141515610b1d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001807f5472616e73616374696f6e206973206e6f7420696e2046554e4445442073746181526020017f746500000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b826000806001811115610b2c57fe5b600080846000191660001916815260200190815260200160002060020160019054906101000a900460ff166001811115610b6257fe5b141515610bd7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5472616e73616374696f6e207479706520646f6573206e6f74206d617463680081525060200191505060405180910390fd5b84600080826000191660001916815260200190815260200160002060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610cde576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f54686520696e69746961746f72206f6620746865207472616e73616374696f6e81526020017f206973206e6f742062757965720000000000000000000000000000000000000081525060400191505060405180910390fd5b600034111515610d56576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f56616c7565206d7573742062652067726561746572207468616e207a65726f2e81525060200191505060405180910390fd5b610d863460008089600019166000191681526020019081526020016000206000015461307a90919063ffffffff16565b600080886000191660001916815260200190815260200160002060000181905550426000808860001916600019168152602001908152602001600020600101819055503373ffffffffffffffffffffffffffffffffffffffff1686600019167ff66fd2ae9e24a6a24b02e1b5b7512ffde5149a4176085fc0298ae228c9b9d729346040518082815260200191505060405180910390a3505050505050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611070578787878787873060405160200180886bffffffffffffffffffffffff19166bffffffffffffffffffffffff191681526014018760ff1660ff167f01000000000000000000000000000000000000000000000000000000000000000281526001018663ffffffff1663ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014019750505050505050506040516020818303038152906040526040518082805190602001908083835b60208310151561103c5780518252602082019150602081019050602083039250611017565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902090506112c5565b878787878787308860405160200180896bffffffffffffffffffffffff19166bffffffffffffffffffffffff191681526014018860ff1660ff167f01000000000000000000000000000000000000000000000000000000000000000281526001018763ffffffff1663ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401985050505050505050506040516020818303038152906040526040518082805190602001908083835b6020831015156112955780518252602082019150602081019050602083039250611270565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902090505b979650505050505050565b6000846000806000836000191660001916815260200190815260200160002060000154141515611368576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f5472616e73616374696f6e20657869737400000000000000000000000000000081525060200191505060405180910390fd5b8a600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561140e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b8a600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156114b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b84600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561155a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b61156d8e8e8e8e8e8e8e8e60018f6126ee565b8594508473ffffffffffffffffffffffffffffffffffffffff166323b872dd33308b6040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b15801561164757600080fd5b505af115801561165b573d6000803e3d6000fd5b505050506040513d602081101561167157600080fd5b81019080805190602001909291905050501515611742576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252605d8152602001807f546f6b656e207472616e73666572206661696c65642c206d6179626520796f7581526020017f20646964206e6f7420617070726f766520657363726f7720636f6e747261637481526020017f20746f207370656e64206f6e20626568616c66206f662073656e64657200000081525060600191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff1689600019167fce7089d0668849fb9ca29778c0cbf1e764d9efb048d81fd71fb34c94f26db3688a6040518082815260200191505060405180910390a35050505050505050505050505050565b60006020528060005260406000206000915090508060000154908060010154908060020160009054906101000a900460ff16908060020160019054906101000a900460ff16908060020160029054906101000a900460ff16908060020160039054906101000a900463ffffffff16908060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060050160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508a565b6000806000846000191660001916815260200190815260200160002060080160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6000826000806000836000191660001916815260200190815260200160002060000154141515156119bb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737400000000000081525060200191505060405180910390fd5b83600060018111156119c957fe5b600080836000191660001916815260200190815260200160002060020160009054906101000a900460ff1660018111156119ff57fe5b141515611a9a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001807f5472616e73616374696f6e206973206e6f7420696e2046554e4445442073746181526020017f746500000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b846001806001811115611aa957fe5b600080846000191660001916815260200190815260200160002060020160019054906101000a900460ff166001811115611adf57fe5b141515611b54576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5472616e73616374696f6e207479706520646f6573206e6f74206d617463680081525060200191505060405180910390fd5b86600080826000191660001916815260200190815260200160002060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611c5b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f54686520696e69746961746f72206f6620746865207472616e73616374696f6e81526020017f206973206e6f742062757965720000000000000000000000000000000000000081525060400191505060405180910390fd5b600087111515611cd3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f56616c7565206d7573742062652067726561746572207468616e207a65726f2e81525060200191505060405180910390fd5b600080896000191660001916815260200190815260200160002060040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1695508573ffffffffffffffffffffffffffffffffffffffff166323b872dd6000808b6000191660001916815260200190815260200160002060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff16308a6040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b158015611e2757600080fd5b505af1158015611e3b573d6000803e3d6000fd5b505050506040513d6020811015611e5157600080fd5b81019080805190602001909291905050501515611f22576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252605c8152602001807f546f6b656e207472616e73666572206661696c65642c206d6179626520796f7581526020017f20646964206e6f7420617070726f766520657363726f7720636f6e747261637481526020017f20746f207370656e64206f6e20626568616c66206f662062757965720000000081525060600191505060405180910390fd5b611f52876000808b600019166000191681526020019081526020016000206000015461307a90919063ffffffff16565b6000808a6000191660001916815260200190815260200160002060000181905550426000808a60001916600019168152602001908152602001600020600101819055503373ffffffffffffffffffffffffffffffffffffffff1688600019167ff66fd2ae9e24a6a24b02e1b5b7512ffde5149a4176085fc0298ae228c9b9d729896040518082815260200191505060405180910390a35050505050505050565b60015481565b6060600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080548060200260200160405190810160405280929190818152602001828054801561208757602002820191906000526020600020905b8154600019168152602001906001019080831161206f575b50505050509050919050565b8460008060008360001916600019168152602001908152602001600020600001541415151561212a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737400000000000081525060200191505060405180910390fd5b856000600181111561213857fe5b600080836000191660001916815260200190815260200160002060020160009054906101000a900460ff16600181111561216e57fe5b141515612209576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001807f5472616e73616374696f6e206973206e6f7420696e2046554e4445442073746181526020017f746500000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b6000868690501115156122aa576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f4e756d626572206f662064657374696e6174696f6e73206d757374206265206781526020017f726561746572207468616e20300000000000000000000000000000000000000081525060400191505060405180910390fd5b838390508686905014151561234d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260378152602001807f4e756d626572206f662064657374696e6174696f6e73206d757374206d61746381526020017f68206e756d626572206f662076616c7565732073656e7400000000000000000081525060400191505060405180910390fd5b6124468d8d808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508c8c808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508b8b808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508a8a8a8080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505089898080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505061309b565b6001600080896000191660001916815260200190815260200160002060020160006101000a81548160ff0219169083600181111561248057fe5b02179055504260008089600019166000191681526020019081526020016000206001018190555060008088600019166000191681526020019081526020016000206000015461252e8888888080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505087878080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505061327c565b1415156125ef576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260488152602001807f546f74616c2076616c756520746f2062652072656c6561736564206d7573742081526020017f626520657175616c20746f20746865207472616e73616374696f6e206573637281526020017f6f772076616c756500000000000000000000000000000000000000000000000081525060600191505060405180910390fd5b86600019167f688e2a1b34445bcd47b0e11ba2a9c8c4d850a1831b64199b59d1c70e29701545878787876040518080602001806020018381038352878782818152602001925060200280828437820191505083810382528585828181526020019250602002808284378201915050965050505050505060405180910390a250505050505050505050505050565b6000806000846000191660001916815260200190815260200160002060070160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b8873ffffffffffffffffffffffffffffffffffffffff168a73ffffffffffffffffffffffffffffffffffffffff1614151515612792576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f427579657220616e642073656c6c6572206172652073616d650000000000000081525060200191505060405180910390fd5b60008411151561280a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f56616c756520706173736564206973203000000000000000000000000000000081525060200191505060405180910390fd5b60008760ff16118015612821575060038760ff1611155b15156128bb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603d8152602001807f5468726573686f6c642063616e6e6f742062652067726561746572207468616e81526020017f203320616e64206d7573742062652067726561746572207468616e203000000081525060400191505060405180910390fd5b60018760ff1614806128fa5750600073ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff1614155b15156129ba576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260488152602001807f456974686572207468726573686f6c642073686f756c642062652031206f722081526020017f76616c6964206d6f64657261746f7220616464726573732073686f756c64206281526020017f652070617373656400000000000000000000000000000000000000000000000081525060600191505060405180910390fd5b6129c98388888d8d8d87610e24565b600019168560001916141515612a6d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260398152602001807f43616c63756c6174656420736372697074206861736820646f6573206e6f742081526020017f6d61746368207061737365642073637269707420686173682e0000000000000081525060400191505060405180910390fd5b6101406040519081016040528085815260200142815260200160006001811115612a9357fe5b8152602001836001811115612aa457fe5b81526020018860ff1681526020018763ffffffff1681526020018b73ffffffffffffffffffffffffffffffffffffffff1681526020018a73ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020018973ffffffffffffffffffffffffffffffffffffffff168152506000808760001916600019168152602001908152602001600020600082015181600001556020820151816001015560408201518160020160006101000a81548160ff02191690836001811115612b7e57fe5b021790555060608201518160020160016101000a81548160ff02191690836001811115612ba757fe5b021790555060808201518160020160026101000a81548160ff021916908360ff16021790555060a08201518160020160036101000a81548163ffffffff021916908363ffffffff16021790555060c08201518160020160076101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060e08201518160030160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506101008201518160040160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506101208201518160050160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055509050506001600080876000191660001916815260200190815260200160002060060160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600080876000191660001916815260200190815260200160002060060160008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600080866000191660001916815260200190815260200160002060060160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151515612efe576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f456974686572206275796572206f722073656c6c65722069732070617373656481526020017f206173206d6f64657261746f720000000000000000000000000000000000000081525060400191505060405180910390fd5b60018760ff161115612f7e576001600080876000191660001916815260200190815260200160002060060160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b600160008154809291906001019190505550600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020859080600181540180825580915050906001820390600052602060002001600090919290919091509060001916905550600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002085908060018154018082558091505090600182039060005260206000200160009091929091909150906000191690555050505050505050505050565b600080828401905083811015151561309157600080fd5b8091505092915050565b6000806130ac888888888888613bd4565b9150613102600080876000191660001916815260200190815260200160002060020160039054906101000a900463ffffffff1660008088600019166000191681526020019081526020016000206001015461424d565b9050600080866000191660001916815260200190815260200160002060020160029054906101000a900460ff1660ff1688511080156131b357508015806131b25750600080866000191660001916815260200190815260200160002060030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b5b15613272576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260588152602001807f4d696e696d756d206e756d626572206f66207369676e6174757265732061726581526020017f206e6f7420636f6c6c656374656420616e642074696d65206c6f636b2065787081526020017f69727920636f6e646974696f6e73206e6f74206d65742121000000000000000081525060600191505060405180910390fd5b5050505050505050565b6000806000806000806000808a60001916600019168152602001908152602001600020945060009350600060018111156132b257fe5b8560020160019054906101000a900460ff1660018111156132cf57fe5b141561369e57600092505b875183101561369957600073ffffffffffffffffffffffffffffffffffffffff16888481518110151561330957fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff16141515156133c5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001807f7a65726f2061646472657373206973206e6f7420616c6c6f776564206173206481526020017f657374696e6174696f6e2061646472657373000000000000000000000000000081525060400191505060405180910390fd5b84600601600089858151811015156133d957fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615156134c5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c8152602001807f44657374696e6174696f6e2061646472657373206973206e6f74206f6e65206f81526020017f6620746865206f776e657273000000000000000000000000000000000000000081525060400191505060405180910390fd5b600087848151811015156134d557fe5b9060200190602002015111151561357a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001807f416d6f756e7420746f2062652073656e742073686f756c64206265206772656181526020017f746572207468616e20300000000000000000000000000000000000000000000081525060400191505060405180910390fd5b6135a4878481518110151561358b57fe5b906020019060200201518561307a90919063ffffffff16565b935060018560080160008a868151811015156135bc57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550878381518110151561362557fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff166108fc888581518110151561365657fe5b906020019060200201519081150290604051600060405180830381858888f1935050505015801561368b573d6000803e3d6000fd5b5082806001019350506132da565b613bc5565b6001808111156136aa57fe5b8560020160019054906101000a900460ff1660018111156136c757fe5b1415613bc4578460040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169150600090505b8751811015613bc357600073ffffffffffffffffffffffffffffffffffffffff16888281518110151561372857fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff16141515156137e4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001807f7a65726f2061646472657373206973206e6f7420616c6c6f776564206173206481526020017f657374696e6174696f6e2061646472657373000000000000000000000000000081525060400191505060405180910390fd5b84600601600089838151811015156137f857fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615156138e4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c8152602001807f44657374696e6174696f6e2061646472657373206973206e6f74206f6e65206f81526020017f6620746865206f776e657273000000000000000000000000000000000000000081525060400191505060405180910390fd5b600087828151811015156138f457fe5b90602001906020020151111515613999576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001807f416d6f756e7420746f2062652073656e742073686f756c64206265206772656181526020017f746572207468616e20300000000000000000000000000000000000000000000081525060400191505060405180910390fd5b6139c387828151811015156139aa57fe5b906020019060200201518561307a90919063ffffffff16565b935060018560080160008a848151811015156139db57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb8983815181101515613a6057fe5b906020019060200201518984815181101515613a7857fe5b906020019060200201516040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015613b0757600080fd5b505af1158015613b1b573d6000803e3d6000fd5b505050506040513d6020811015613b3157600080fd5b81019080805190602001909291905050501515613bb6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f546f6b656e207472616e73666572206661696c65642e0000000000000000000081525060200191505060405180910390fd5b80806001019150506136f9565b5b5b83955050505050509392505050565b600080600080600088518a51148015613bee57508a518a51145b1515613c62576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f522c532c56206c656e677468206d69736d617463682e0000000000000000000081525060200191505060405180910390fd5b60197f01000000000000000000000000000000000000000000000000000000000000000260007f0100000000000000000000000000000000000000000000000000000000000000023089898c60405160200180877effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168152600101867effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526001018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401848051906020019060200280838360005b83811015613db6578082015181840152602081019050613d9b565b50505050905001838051906020019060200280838360005b83811015613de9578082015181840152602081019050613dce565b50505050905001826000191660001916815260200196505050505050506040516020818303038152906040526040518082805190602001908083835b602083101515613e4a5780518252602082019150602081019050602083039250613e25565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902060405160200180807f19457468657265756d205369676e6564204d6573736167653a0a333200000000815250601c0182600019166000191681526020019150506040516020818303038152906040526040518082805190602001908083835b602083101515613efb5780518252602082019150602081019050602083039250613ed6565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390209250600091505b895182101561423c576001838c84815181101515613f4957fe5b906020019060200201518c85815181101515613f6157fe5b906020019060200201518c86815181101515613f7957fe5b90602001906020020151604051600081526020016040526040518085600019166000191681526020018460ff1660ff1681526020018360001916600019168152602001826000191660001916815260200194505050505060206040516020810390808403906000865af1158015613ff4573d6000803e3d6000fd5b505050602060405103519050600080896000191660001916815260200190815260200160002060060160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615156140dc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f496e76616c6964207369676e617475726500000000000000000000000000000081525060200191505060405180910390fd5b600080896000191660001916815260200190815260200160002060070160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515156141b9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f53616d65207369676e61747572652073656e742074776963650000000000000081525060200191505060405180910390fd5b60016000808a6000191660001916815260200190815260200160002060070160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508093508180600101925050613f2f565b839450505050509695505050505050565b60008061426383426142a190919063ffffffff16565b905060008463ffffffff16146142955761428e610e108563ffffffff166142c290919063ffffffff16565b8111614298565b60005b91505092915050565b6000808383111515156142b357600080fd5b82840390508091505092915050565b60008060008414156142d757600091506142f9565b82840290508284828115156142e857fe5b041415156142f557600080fd5b8091505b50929150505600a165627a7a72305820d8a2e2322aa1998415905c901361978f998d53b9923633f7fb185f53a9b11c090029", - "sourceMap": "460:20561:0:-;;;1653:1;1619:35;;460:20561;8:9:-1;5:2;;;30:1;27;20:12;5:2;460:20561:0;;;;;;;", - "deployedSourceMap": "460:20561:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3714:701;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7616:579;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12054:1017;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12054:1017:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5363:1030;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5363:1030:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1561:51;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1561:51:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6634:221;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6634:221:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8523:897;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8523:897:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1619:35;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1619:35:0;;;;;;;;;;;;;;;;;;;;;;;9537:194;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9537:194:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;9537:194:0;;;;;;;;;;;;;;;;;10329:1204;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10329:1204:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7095:194;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7095:194:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3714:701;3991:10;2077:1;2043:12;:24;2056:10;2043:24;;;;;;;;;;;;;;;;;:30;;;:35;2035:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4026:5;2410:1;2384:28;;:14;:28;;;;2376:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4056:6;2410:1;2384:28;;:14;:28;;;;2376:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4078:264;4107:5;4126:6;4146:9;4169;4192:12;4218:10;4242:9;4265:8;4287:21;4330:1;4078:15;:264::i;:::-;4385:10;4366:41;;4373:10;4366:41;;;;4397:9;4366:41;;;;;;;;;;;;;;;;;;2446:1;2110;3714:701;;;;;;;;:::o;7616:579::-;7739:10;1907:1;1873:12;:24;1886:10;1873:24;;;;;;;;;;;;;;;;;:30;;;:35;;1852:96;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7773:10;2233:13;2198:48;;;;;;;;:12;:24;2211:10;2198:24;;;;;;;;;;;;;;;;;:31;;;;;;;;;;;;:48;;;;;;;;;2177:117;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7814:10;7826:21;2644:15;2600:59;;;;;;;;:12;:24;2613:10;2600:24;;;;;;;;;;;;;;;;;:40;;;;;;;;;;;;:59;;;;;;;;;2579:125;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7867:10;2812:12;:24;2825:10;2812:24;;;;;;;;;;;;;;;;;:30;;;;;;;;;;;;2798:44;;:10;:44;;;2777:124;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7923:1;7911:9;:13;7903:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8005;8053:9;8005:12;:24;8018:10;8005:24;;;;;;;;;;;;;;;;;:30;;;:47;;:58;;;;:::i;:::-;7972:12;:24;7985:10;7972:24;;;;;;;;;;;;;;;;;:30;;:91;;;;8113:15;8073:12;:24;8086:10;8073:24;;;;;;;;;;;;;;;;;:37;;:55;;;;8166:10;8144:44;;8154:10;8144:44;;;;8178:9;8144:44;;;;;;;;;;;;;;;;;;2714:1;2304;;1958;7616:579;;:::o;12054:1017::-;12324:7;12375:1;12351:26;;:12;:26;;;12347:718;;;12465:8;12495:9;12526:12;12560:5;12587:6;12615:9;12654:4;12427:250;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;12427:250:0;;;12400:291;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;12400:291:0;;;;;;;;;;;;;;;;12393:298;;;;12347:718;12794:8;12824:9;12855:12;12889:5;12916:6;12944:9;12983:4;13010:12;12756:284;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;12756:284:0;;;12729:325;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;12729:325:0;;;;;;;;;;;;;;;;12722:332;;12054:1017;;;;;;;;;;:::o;5363:1030::-;6080:20;5682:10;2077:1;2043:12;:24;2056:10;2043:24;;;;;;;;;;;;;;;;;:30;;;:35;2035:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5717:5;2410:1;2384:28;;:14;:28;;;;2376:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5747:6;2410:1;2384:28;;:14;:28;;;;2376:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5778:12;2410:1;2384:28;;:14;:28;;;;2376:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5807:262;5836:5;5855:6;5875:9;5898;5921:12;5947:10;5971:5;5990:8;6012:21;6047:12;5807:15;:262::i;:::-;6118:12;6080:51;;6163:5;:18;;;6182:10;6202:4;6209:5;6163:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6163:52:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6163:52:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6163:52:0;;;;;;;;;;;;;;;;6142:192;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6368:10;6349:37;;6356:10;6349:37;;;;6380:5;6349:37;;;;;;;;;;;;;;;;;;2446:1;;2110;5363:1030;;;;;;;;;;;:::o;1561:51::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;6634:221::-;6770:4;6797:12;:24;6810:10;6797:24;;;;;;;;;;;;;;;;;:38;;:51;6836:11;6797:51;;;;;;;;;;;;;;;;;;;;;;;;;6790:58;;6634:221;;;;:::o;8523:897::-;8874:20;8654:10;1907:1;1873:12;:24;1886:10;1873:24;;;;;;;;;;;;;;;;;:30;;;:35;;1852:96;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8688:10;2233:13;2198:48;;;;;;;;:12;:24;2211:10;2198:24;;;;;;;;;;;;;;;;;:31;;;;;;;;;;;;:48;;;;;;;;;2177:117;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8729:10;8741:21;2644:15;2600:59;;;;;;;;:12;:24;2613:10;2600:24;;;;;;;;;;;;;;;;;:40;;;;;;;;;;;;:59;;;;;;;;;2579:125;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8782:10;2812:12;:24;2825:10;2812:24;;;;;;;;;;;;;;;;;:30;;;;;;;;;;;;2798:44;;:10;:44;;;2777:124;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8825:1;8817:5;:9;8809:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8925:12;:24;8938:10;8925:24;;;;;;;;;;;;;;;;;:37;;;;;;;;;;;;8874:98;;9004:5;:18;;;9023:12;:24;9036:10;9023:24;;;;;;;;;;;;;;;;;:30;;;;;;;;;;;;9063:4;9070:5;9004:72;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9004:72:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9004:72:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;9004:72:0;;;;;;;;;;;;;;;;8983:211;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9238:54;9286:5;9238:12;:24;9251:10;9238:24;;;;;;;;;;;;;;;;;:30;;;:47;;:54;;;;:::i;:::-;9205:12;:24;9218:10;9205:24;;;;;;;;;;;;;;;;;:30;;:87;;;;9342:15;9302:12;:24;9315:10;9302:24;;;;;;;;;;;;;;;;;:37;;:55;;;;9395:10;9373:40;;9383:10;9373:40;;;;9407:5;9373:40;;;;;;;;;;;;;;;;;;2714:1;2304;;1958;8523:897;;;;:::o;1619:35::-;;;;:::o;9537:194::-;9659:9;9692:18;:32;9711:12;9692:32;;;;;;;;;;;;;;;9685:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9537:194;;;:::o;10329:1204::-;10551:10;1907:1;1873:12;:24;1886:10;1873:24;;;;;;;;;;;;;;;;;:30;;;:35;;1852:96;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10585:10;2233:13;2198:48;;;;;;;;:12;:24;2211:10;2198:24;;;;;;;;;;;;;;;;;:31;;;;;;;;;;;;:48;;;;;;;;;2177:117;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10655:1;10635:12;;:19;;:21;10614:114;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10782:7;;:14;;10759:12;;:19;;:37;10738:139;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10895:153;10927:4;;10895:153;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10945:4;;10895:153;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10963:4;;10895:153;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10981:10;11005:12;;10895:153;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11031:7;;10895:153;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:18;:153::i;:::-;11093:15;11059:12;:24;11072:10;11059:24;;;;;;;;;;;;;;;;;:31;;;:49;;;;;;;;;;;;;;;;;;;;;;;;11232:15;11192:12;:24;11205:10;11192:24;;;;;;;;;;;;;;;;;:37;;:55;;;;11331:12;:24;11344:10;11331:24;;;;;;;;;;;;;;;;;:30;;;11278:49;11293:10;11305:12;;11278:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11319:7;;11278:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:14;:49::i;:::-;:83;11257:202;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11492:10;11483:43;;;;11504:12;;11518:7;;11483:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1958:1;10329:1204;;;;;;;;;;;;:::o;7095:194::-;7218:4;7245:12;:24;7258:10;7245:24;;;;;;;;;;;;;;;;;:30;;:37;7276:5;7245:37;;;;;;;;;;;;;;;;;;;;;;;;;7238:44;;7095:194;;;;:::o;18378:2641::-;18740:6;18731:15;;:5;:15;;;;18723:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18851:1;18843:5;:9;18835:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18989:1;18977:9;:13;;;:31;;;;;19007:1;18994:9;:14;;;;18977:31;18956:140;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19390:1;19377:9;:14;;;:41;;;;19416:1;19395:23;;:9;:23;;;;19377:41;19356:160;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19562:226;19605:8;19631:9;19658:12;19688:5;19711:6;19735:9;19762:12;19562:25;:226::i;:::-;19548:240;;;:10;:240;;;;19527:345;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19910:373;;;;;;;;;20031:5;19910:373;;;;20099:15;19910:373;;;;20058:13;19910:373;;;;;;;;;;;;20218:15;19910:373;;;;;;;;;;;;20139:9;19910:373;;;;;;20176:12;19910:373;;;;;;19943:5;19910:373;;;;;;19970:6;19910:373;;;;;;20260:12;19910:373;;;;;;20001:9;19910:373;;;;;19883:12;:24;19896:10;19883:24;;;;;;;;;;;;;;;;;:400;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20337:4;20294:12;:24;20307:10;20294:24;;;;;;;;;;;;;;;;;:32;;:40;20327:6;20294:40;;;;;;;;;;;;;;;;:47;;;;;;;;;;;;;;;;;;20393:4;20351:12;:24;20364:10;20351:24;;;;;;;;;;;;;;;;;:32;;:39;20384:5;20351:39;;;;;;;;;;;;;;;;:46;;;;;;;;;;;;;;;;;;20505:12;:24;20518:10;20505:24;;;;;;;;;;;;;;;;;:32;;:43;20538:9;20505:43;;;;;;;;;;;;;;;;;;;;;;;;;20504:44;20483:137;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20792:1;20780:9;:13;;;20776:94;;;20855:4;20809:12;:24;20822:10;20809:24;;;;;;;;;;;;;;;;;:32;;:43;20842:9;20809:43;;;;;;;;;;;;;;;;:50;;;;;;;;;;;;;;;;;;20776:94;20888:16;;:18;;;;;;;;;;;;;20917;:25;20936:5;20917:25;;;;;;;;;;;;;;;20948:10;20917:42;;39:1:-1;33:3;27:10;23:18;57:10;52:3;45:23;79:10;72:17;;0:93;20917:42:0;;;;;;;;;;;;;;;;;;;;;;;;;;;20969:18;:26;20988:6;20969:26;;;;;;;;;;;;;;;21001:10;20969:43;;39:1:-1;33:3;27:10;23:18;57:10;52:3;45:23;79:10;72:17;;0:93;20969:43:0;;;;;;;;;;;;;;;;;;;;;;;;;;;18378:2641;;;;;;;;;;:::o;1272:131:2:-;1330:7;1345:9;1361:1;1357;:5;1345:17;;1381:1;1376;:6;;1368:15;;;;;;;;1397:1;1390:8;;1272:131;;;;;:::o;13345:1008:0:-;13566:21;13753:20;13590:152;13621:4;13639;13657;13675:10;13699:12;13725:7;13590:17;:152::i;:::-;13566:176;;13776:130;13808:12;:24;13821:10;13808:24;;;;;;;;;;;;;;;;;:37;;;;;;;;;;;;13859:12;:24;13872:10;13859:24;;;;;;;;;;;;;;;;;:37;;;13776:18;:130::i;:::-;13753:153;;14092:12;:24;14105:10;14092:24;;;;;;;;;;;;;;;;;:34;;;;;;;;;;;;14078:48;;:4;:11;:48;:122;;;;;14132:15;14131:16;:68;;;;14168:12;:24;14181:10;14168:24;;;;;;;;;;;;;;;;;:31;;;;;;;;;;;;14151:48;;:13;:48;;;;14131:68;14078:122;14057:289;;;14237:98;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14057:289;13345:1008;;;;;;;;:::o;14479:1723::-;14627:7;14650:21;14709:24;14815:9;15467:20;15540:9;14674:12;:24;14687:10;14674:24;;;;;;;;;;;;;;;;;14650:48;;14736:1;14709:28;;14773:21;14752:42;;;;;;;;:1;:17;;;;;;;;;;;;:42;;;;;;;;;14748:1414;;;14827:1;14815:13;;14810:577;14834:12;:19;14830:1;:23;14810:577;;;14914:1;14887:29;;:12;14900:1;14887:15;;;;;;;;;;;;;;;;;;:29;;;;14879:92;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14998:1;:9;;:26;15008:12;15021:1;15008:15;;;;;;;;;;;;;;;;;;14998:26;;;;;;;;;;;;;;;;;;;;;;;;;14990:83;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15113:1;15100:7;15108:1;15100:10;;;;;;;;;;;;;;;;;;:14;15092:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15199:32;15220:7;15228:1;15220:10;;;;;;;;;;;;;;;;;;15199:16;:20;;:32;;;;:::i;:::-;15180:51;;15285:4;15250:1;:15;;:32;15266:12;15279:1;15266:15;;;;;;;;;;;;;;;;;;15250:32;;;;;;;;;;;;;;;;:39;;;;;;;;;;;;;;;;;;15336:12;15349:1;15336:15;;;;;;;;;;;;;;;;;;:24;;:36;15361:7;15369:1;15361:10;;;;;;;;;;;;;;;;;;15336:36;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;15336:36:0;14855:3;;;;;;;14810:577;;;14748:1414;;;15429:21;15408:42;;;;;;;;:1;:17;;;;;;;;;;;;:42;;;;;;;;;15404:758;;;15505:1;:14;;;;;;;;;;;;15467:53;;15552:1;15540:13;;15535:617;15557:12;:19;15555:1;:21;15535:617;;;15637:1;15610:29;;:12;15623:1;15610:15;;;;;;;;;;;;;;;;;;:29;;;;15602:92;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15721:1;:9;;:26;15731:12;15744:1;15731:15;;;;;;;;;;;;;;;;;;15721:26;;;;;;;;;;;;;;;;;;;;;;;;;15713:83;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15836:1;15823:7;15831:1;15823:10;;;;;;;;;;;;;;;;;;:14;15815:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15922:32;15943:7;15951:1;15943:10;;;;;;;;;;;;;;;;;;15922:16;:20;;:32;;;;:::i;:::-;15903:51;;16007:4;15972:1;:15;;:32;15988:12;16001:1;15988:15;;;;;;;;;;;;;;;;;;15972:32;;;;;;;;;;;;;;;;:39;;;;;;;;;;;;;;;;;;16067:5;:14;;;16082:12;16095:1;16082:15;;;;;;;;;;;;;;;;;;16099:7;16107:1;16099:10;;;;;;;;;;;;;;;;;;16067:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;16067:43:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;16067:43:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;16067:43:0;;;;;;;;;;;;;;;;16059:78;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15578:3;;;;;;;15535:617;;;15404:758;14748:1414;16179:16;16172:23;;14479:1723;;;;;;;;;;:::o;16387:1581::-;16609:7;16770:19;16888:14;17356:6;17405:17;16669:4;:11;16654:4;:11;:26;:56;;;;;16699:4;:11;16684:4;:11;:26;16654:56;16633:126;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17092:4;17087:10;;17128:1;17123:7;;17164:4;17195:12;17233:7;17266:10;17045:253;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;17045:253:0;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;17045:253:0;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;17045:253:0;;;17014:302;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;17014:302:0;;;;;;;;;;;;;;;;16928:402;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;16928:402:0;;;16905:435;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;16905:435:0;;;;;;;;;;;;;;;;16888:452;;17365:1;17356:10;;17351:582;17372:4;:11;17368:1;:15;17351:582;;;17425:122;17452:6;17476:4;17481:1;17476:7;;;;;;;;;;;;;;;;;;17501:4;17506:1;17501:7;;;;;;;;;;;;;;;;;;17526:4;17531:1;17526:7;;;;;;;;;;;;;;;;;;17425:122;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;17425:122:0;;;;;;;;17405:142;;17587:12;:24;17600:10;17587:24;;;;;;;;;;;;;;;;;:32;;:43;17620:9;17587:43;;;;;;;;;;;;;;;;;;;;;;;;;17562:120;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17722:12;:24;17735:10;17722:24;;;;;;;;;;;;;;;;;:30;;:41;17753:9;17722:41;;;;;;;;;;;;;;;;;;;;;;;;;17721:42;17696:127;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17881:4;17837:12;:24;17850:10;17837:24;;;;;;;;;;;;;;;;;:30;;:41;17868:9;17837:41;;;;;;;;;;;;;;;;:48;;;;;;;;;;;;;;;;;;17913:9;17899:23;;17385:3;;;;;;;17351:582;;;17950:11;17943:18;;16387:1581;;;;;;;;;;;;:::o;17974:317::-;18113:4;18133:17;18153:21;18161:12;18153:3;:7;;:21;;;;:::i;:::-;18133:41;;18221:1;18205:12;:17;;;:69;;18243:31;18269:4;18251:12;18243:21;;:25;;:31;;;;:::i;:::-;18231:9;:43;18205:69;;;18225:5;18205:69;18184:100;;17974:317;;;;;:::o;1078:131:2:-;1136:7;1172:9;1164:1;1159;:6;;1151:15;;;;;;;;1188:1;1184;:5;1172:17;;1203:1;1196:8;;1078:131;;;;;:::o;204:381::-;262:7;523:9;491:1;486;:6;482:35;;;509:1;502:8;;;;482:35;539:1;535;:5;523:17;;563:1;558;554;:5;;;;;;;;:10;546:19;;;;;;;;579:1;572:8;;204:381;;;;;;:::o", - "source": "pragma solidity 0.4.24;\n\nimport \"openzeppelin-solidity/contracts/math/SafeMath.sol\";\n\nimport \"../token/ITokenContract.sol\";\n\n\n/**\n* @dev Supports ERC20 tokens\n* The escrow smart contract for the open bazaar trades in Ethereum\n* The smart contract is designed keeping in mind the current wallet interface of the OB-core\n* https://github.com/OpenBazaar/wallet-interface/blob/master/wallet.go\n* Current wallet interface strictly adheres to UTXO(bitcoin) model\n*/\ncontract Escrow_v1_0 {\n\n using SafeMath for uint256;\n\n enum Status {FUNDED, RELEASED}\n\n enum TransactionType {ETHER, TOKEN}\n\n event Executed(\n bytes32 indexed scriptHash,\n address[] destinations,\n uint256[] amounts\n );\n\n event FundAdded(\n bytes32 indexed scriptHash,\n address indexed from,\n uint256 valueAdded\n );\n\n event Funded(\n bytes32 indexed scriptHash, \n address indexed from, \n uint256 value\n );\n\n struct Transaction {\n uint256 value;\n uint256 lastModified;//Time at which transaction was last modified\n Status status;\n TransactionType transactionType;\n uint8 threshold;\n uint32 timeoutHours;\n address buyer;\n address seller;\n address tokenAddress;//Token address in case of token transfer\n address moderator;\n mapping(address=>bool) isOwner;//to keep track of owners.\n mapping(address=>bool) voted;//to keep track of who all voted\n mapping(address=>bool) beneficiaries;//Benefeciaries of execution\n }\n\n mapping(bytes32 => Transaction) public transactions;\n\n uint256 public transactionCount = 0;\n\n //Contains mapping between each party and all of their transactions\n mapping(address => bytes32[]) private partyVsTransaction;\n\n modifier transactionExist(bytes32 scriptHash) {\n require(\n transactions[scriptHash].value != 0, \"Transaction does not exist\"\n );\n _;\n }\n\n modifier transactionDoesNotExist(bytes32 scriptHash) {\n require(transactions[scriptHash].value == 0, \"Transaction exist\");\n _;\n }\n\n modifier inFundedState(bytes32 scriptHash) {\n require(\n transactions[scriptHash].status == Status.FUNDED, \"Transaction is not in FUNDED state\"\n );\n _;\n }\n\n modifier nonZeroAddress(address addressToCheck) {\n require(addressToCheck != address(0), \"Zero address passed\");\n _;\n }\n\n modifier checkTransactionType(\n bytes32 scriptHash,\n TransactionType transactionType\n )\n {\n require(\n transactions[scriptHash].transactionType == transactionType, \"Transaction type does not match\"\n );\n _;\n }\n\n modifier onlyBuyer(bytes32 scriptHash) {\n require(\n msg.sender == transactions[scriptHash].buyer, \"The initiator of the transaction is not buyer\"\n );\n _;\n }\n\n /**\n * @dev Add new transaction in the contract\n * @param buyer The buyer of the transaction\n * @param seller The seller of the listing associated with the transaction\n * @param moderator Moderator for this transaction\n * @param threshold Minimum number of signatures required to released funds\n * @param timeoutHours Hours after which seller can release funds into his favour by signing transaction unilaterally\n * @param scriptHash keccak256 hash of the redeem script\n * @param uniqueId bytes20 unique id for the transaction, generated by ETH wallet\n * Redeem Script format will be following\n \n * Pass amount of the ethers to be put in escrow\n */\n function addTransaction(\n address buyer,\n address seller,\n address moderator,\n uint8 threshold,\n uint32 timeoutHours,\n bytes32 scriptHash,\n bytes20 uniqueId\n )\n external\n payable\n transactionDoesNotExist(scriptHash)\n nonZeroAddress(buyer)\n nonZeroAddress(seller)\n {\n _addTransaction(\n buyer,\n seller,\n moderator,\n threshold,\n timeoutHours,\n scriptHash,\n msg.value,\n uniqueId,\n TransactionType.ETHER,\n address(0)\n );\n \n emit Funded(scriptHash, msg.sender, msg.value);\n\n }\n\n /**\n * @dev Add new transaction in the contract\n * @param buyer The buyer of the transaction\n * @param seller The seller of the listing associated with the transaction\n * @param moderator Moderator for this transaction\n * @param threshold Minimum number of signatures required to released funds\n * @param timeoutHours Hours after which seller can release funds into his favour by signing transaction unilaterally\n * @param scriptHash keccak256 hash of the redeem script\n * @param value Amount of tokens to be put in escrow\n * @param uniqueId bytes20 unique id for the transaction, generated by ETH wallet\n * @param tokenAddress Address of the token to be used\n * Redeem Script format will be following\n \n * Approve escrow contract to spend amount of token on sender's behalf\n */\n function addTokenTransaction(\n address buyer,\n address seller,\n address moderator,\n uint8 threshold,\n uint32 timeoutHours,\n bytes32 scriptHash,\n uint256 value,\n bytes20 uniqueId,\n address tokenAddress\n )\n external\n transactionDoesNotExist(scriptHash)\n nonZeroAddress(buyer)\n nonZeroAddress(seller)\n nonZeroAddress(tokenAddress)\n {\n\n _addTransaction(\n buyer,\n seller,\n moderator,\n threshold,\n timeoutHours,\n scriptHash,\n value,\n uniqueId,\n TransactionType.TOKEN,\n tokenAddress\n );\n\n ITokenContract token = ITokenContract(tokenAddress);\n\n require(\n token.transferFrom(msg.sender, address(this), value),\n \"Token transfer failed, maybe you did not approve escrow contract to spend on behalf of sender\"\n );\n emit Funded(scriptHash, msg.sender, value);\n }\n\n /**\n * @dev This method will check whether given address was a beneficiary of transaction execution or not\n * @param scriptHash script hash of the transaction\n * @param beneficiary Beneficiary address to be checked\n */\n function checkBeneficiary(\n bytes32 scriptHash,\n address beneficiary\n )\n external\n view\n returns (bool)\n {\n return transactions[scriptHash].beneficiaries[beneficiary];\n }\n\n /**\n * @dev This method will check whether given party has voted or not\n * @param scriptHash script hash of the transaction\n * @param party Address of the party whose vote has to be checked\n * @return bool vote\n */\n function checkVote(\n bytes32 scriptHash,\n address party\n )\n external\n view\n returns (bool)\n {\n return transactions[scriptHash].voted[party];\n }\n\n /**\n * @dev Allows buyer of the transaction to add more funds(ether) in the transaction. \n * This will help to cater scenarios wherein initially buyer missed to fund transaction as required\n * @param scriptHash script hash of the transaction\n * Only buyer of the transaction can invoke this method\n */\n function addFundsToTransaction(\n bytes32 scriptHash\n )\n external\n payable\n transactionExist(scriptHash)\n inFundedState(scriptHash)\n checkTransactionType(scriptHash, TransactionType.ETHER)\n onlyBuyer(scriptHash)\n \n {\n\n require(msg.value > 0, \"Value must be greater than zero.\");\n\n transactions[scriptHash].value = transactions[scriptHash].value\n .add(msg.value);\n transactions[scriptHash].lastModified = block.timestamp;\n\n emit FundAdded(scriptHash, msg.sender, msg.value);\n }\n\n /**\n * @dev Allows buyer of the transaction to add more funds(Tokens) in the transaction. \n * This will help to cater scenarios wherein initially buyer missed to fund transaction as required\n * @param scriptHash script hash of the transaction\n * Only buyer of the transaction can invoke this method\n */\n function addTokensToTransaction(\n bytes32 scriptHash,\n uint256 value\n )\n external\n transactionExist(scriptHash)\n inFundedState(scriptHash)\n checkTransactionType(scriptHash, TransactionType.TOKEN)\n onlyBuyer(scriptHash)\n {\n\n require(value > 0, \"Value must be greater than zero.\");\n\n ITokenContract token = ITokenContract(\n transactions[scriptHash].tokenAddress\n );\n\n require(\n token.transferFrom(transactions[scriptHash].buyer, address(this), value),\n \"Token transfer failed, maybe you did not approve escrow contract to spend on behalf of buyer\"\n );\n\n transactions[scriptHash].value = transactions[scriptHash].value\n .add(value);\n transactions[scriptHash].lastModified = block.timestamp;\n\n emit FundAdded(scriptHash, msg.sender, value);\n }\n\n /**\n *@dev Returns all transaction ids for a party\n *@param partyAddress Address of the party\n */\n function getAllTransactionsForParty(\n address partyAddress\n ) \n external \n view \n returns (bytes32[]) \n {\n return partyVsTransaction[partyAddress];\n }\n\n /**\n *@dev This method will be used to release funds associated with the transaction\n * Please see specs https://github.com/OpenBazaar/smart-contracts/blob/master/contracts/escrow/EscrowSpec.md\n *@param sigV Array containing V component of all the signatures\n *@param sigR Array containing R component of all the signatures\n *@param signS Array containing S component of all the signatures\n *@param scriptHash script hash of the transaction\n *@param destinations List of addresses who will receive funds\n *@param amounts amount released to each destination\n */\n function execute(\n uint8[] sigV,\n bytes32[] sigR,\n bytes32[] sigS,\n bytes32 scriptHash,\n address[] destinations,\n uint256[] amounts\n )\n external\n transactionExist(scriptHash)\n inFundedState(scriptHash)\n { \n require(\n destinations.length>0, \n \"Number of destinations must be greater than 0\"\n );\n require(\n destinations.length == amounts.length,\n \"Number of destinations must match number of values sent\"\n );\n \n _verifyTransaction(\n sigV,\n sigR,\n sigS,\n scriptHash,\n destinations,\n amounts\n );\n\n transactions[scriptHash].status = Status.RELEASED;\n //Last modified timestamp modified, which will be used by rewards\n transactions[scriptHash].lastModified = block.timestamp;\n require(\n _transferFunds(scriptHash, destinations, amounts) == transactions[scriptHash].value,\n \"Total value to be released must be equal to the transaction escrow value\"\n );\n \n emit Executed(scriptHash, destinations, amounts);\n }\n\n\n /**\n *@dev Method for calculating script hash. Calculation will depend upon the type of transaction\n * ETHER Type transaction-:\n * Script Hash- keccak256(uniqueId, threshold, timeoutHours, buyer, seller, moderator, multiSigContractAddress)\n * TOKEN Type transaction\n * Script Hash- keccak256(uniqueId, threshold, timeoutHours, buyer, seller, moderator, multiSigContractAddress, tokenAddress)\n * Client can use this method to verify whether it has calculated correct script hash or not\n */\n function calculateRedeemScriptHash(\n bytes20 uniqueId,\n uint8 threshold,\n uint32 timeoutHours,\n address buyer,\n address seller,\n address moderator,\n address tokenAddress\n )\n public\n view\n returns (bytes32)\n {\n if (tokenAddress == address(0)) {\n return keccak256(\n abi.encodePacked(\n uniqueId,\n threshold,\n timeoutHours,\n buyer,\n seller,\n moderator,\n address(this)\n )\n );\n } else {\n return keccak256(\n abi.encodePacked(\n uniqueId,\n threshold,\n timeoutHours,\n buyer,\n seller,\n moderator,\n address(this),\n tokenAddress\n )\n );\n }\n }\n\n /**\n * @dev This methods checks validity of transaction\n * 1. Verify Signatures\n * 2. Check if minimum number of signatures has been acquired\n * 3. If above condition is false, check if time lock is expired and the execution is signed by seller\n */\n function _verifyTransaction(\n uint8[] sigV,\n bytes32[] sigR,\n bytes32[] sigS,\n bytes32 scriptHash,\n address[] destinations,\n uint256[] amounts\n )\n private\n {\n address lastRecovered = _verifySignatures(\n sigV,\n sigR,\n sigS,\n scriptHash,\n destinations,\n amounts\n );\n\n bool timeLockExpired = _isTimeLockExpired(\n transactions[scriptHash].timeoutHours,\n transactions[scriptHash].lastModified\n );\n\n //if Minimum number of signatures are not gathered and timelock has not expired or transaction was not signed by seller then revert\n if (\n sigV.length < transactions[scriptHash].threshold && (!timeLockExpired || lastRecovered != transactions[scriptHash].seller)\n )\n {\n revert(\"Minimum number of signatures are not collected and time lock expiry conditions not met!!\");\n }\n\n }\n\n /**\n *@dev Private method to transfer funds to the destination addresses on the basis of transaction type\n */\n function _transferFunds(\n bytes32 scriptHash,\n address[]destinations,\n uint256[]amounts\n )\n private\n returns (uint256)\n {\n Transaction storage t = transactions[scriptHash];\n\n uint256 valueTransferred = 0;\n\n if (t.transactionType == TransactionType.ETHER) {\n for (uint256 i = 0; i < destinations.length; i++) {\n\n require(destinations[i] != address(0), \"zero address is not allowed as destination address\");\n\n require(t.isOwner[destinations[i]], \"Destination address is not one of the owners\");\n\n require(amounts[i] > 0, \"Amount to be sent should be greater than 0\");\n\n valueTransferred = valueTransferred.add(amounts[i]);\n\n t.beneficiaries[destinations[i]] = true;//add receiver as beneficiary\n destinations[i].transfer(amounts[i]);\n }\n\n } else if (t.transactionType == TransactionType.TOKEN) {\n\n ITokenContract token = ITokenContract(t.tokenAddress);\n\n for (uint256 j = 0; j 0, \"Amount to be sent should be greater than 0\");\n\n valueTransferred = valueTransferred.add(amounts[j]);\n t.beneficiaries[destinations[j]] = true;//add receiver as beneficiary\n\n require(token.transfer(destinations[j], amounts[j]), \"Token transfer failed.\");\n }\n } \n return valueTransferred;\n }\n\n //to check whether the signatures are valid or not and if consensus was reached\n //returns the last address recovered, in case of timeout this must be the sender's address\n function _verifySignatures(\n uint8[] sigV,\n bytes32[] sigR,\n bytes32[] sigS,\n bytes32 scriptHash,\n address[] destinations,\n uint256[]amounts\n )\n private\n returns (address)\n {\n\n require(\n sigR.length == sigS.length && sigR.length == sigV.length, \n \"R,S,V length mismatch.\"\n );\n\n address lastAddress;\n\n // Follows ERC191 signature scheme: https://github.com/ethereum/EIPs/issues/191\n bytes32 txHash = keccak256(\n abi.encodePacked(\n \"\\x19Ethereum Signed Message:\\n32\",\n keccak256(\n abi.encodePacked(\n byte(0x19),\n byte(0),\n address(this),\n destinations,\n amounts,\n scriptHash\n )\n )\n )\n );\n\n for (uint i = 0; i < sigR.length; i++) {\n\n address recovered = ecrecover(\n txHash,\n sigV[i],\n sigR[i],\n sigS[i]\n );\n\n require(\n transactions[scriptHash].isOwner[recovered], \n \"Invalid signature\"\n );\n require(\n !transactions[scriptHash].voted[recovered], \n \"Same signature sent twice\"\n );\n transactions[scriptHash].voted[recovered] = true;\n lastAddress = recovered;\n }\n\n return lastAddress;\n }\n\n function _isTimeLockExpired(\n uint32 timeoutHours,\n uint256 lastModified\n )\n private\n view\n returns (bool)\n {\n uint256 timeSince = now.sub(lastModified);\n return (\n timeoutHours == 0 ? false:timeSince > uint256(timeoutHours).mul(3600)\n );\n }\n\n /**\n * Private method to add transaction to reduce code redundancy\n */\n function _addTransaction(\n address buyer,\n address seller,\n address moderator,\n uint8 threshold,\n uint32 timeoutHours,\n bytes32 scriptHash,\n uint256 value,\n bytes20 uniqueId,\n TransactionType transactionType,\n address tokenAddress\n )\n private\n { \n require(buyer != seller, \"Buyer and seller are same\");\n\n //value passed should be greater than 0\n require(value > 0, \"Value passed is 0\");\n\n // For now allowing 0 moderator to support 1-2 multisig wallet\n require(\n threshold > 0 && threshold <= 3, \n \"Threshold cannot be greater than 3 and must be greater than 0\"\n );\n\n //if threshold is 1 then moderator can be passed as zero address or any other address\n //(it won't matter apart from scripthash since we wont add moderator as one of the owner),\n //otherwise moderator should be a valid address\n require(\n threshold == 1 || moderator != address(0),\n \"Either threshold should be 1 or valid moderator address should be passed\"\n );\n\n require(\n scriptHash == calculateRedeemScriptHash(\n uniqueId,\n threshold,\n timeoutHours,\n buyer,\n seller,\n moderator,\n tokenAddress\n ), \n \"Calculated script hash does not match passed script hash.\"\n );\n\n transactions[scriptHash] = Transaction({\n buyer: buyer,\n seller: seller,\n moderator: moderator,\n value: value,\n status: Status.FUNDED,\n lastModified: block.timestamp,\n threshold: threshold,\n timeoutHours: timeoutHours,\n transactionType:transactionType,\n tokenAddress:tokenAddress\n });\n\n transactions[scriptHash].isOwner[seller] = true;\n transactions[scriptHash].isOwner[buyer] = true; \n\n //Check if buyer or seller are not passed as moderator\n require(\n !transactions[scriptHash].isOwner[moderator], \n \"Either buyer or seller is passed as moderator\"\n );\n\n //set moderator as one of the owners only if threshold is greater than 1 otherwise only buyer and seller should be able to release funds\n if (threshold > 1) {\n transactions[scriptHash].isOwner[moderator] = true;\n }\n \n\n transactionCount++;\n\n partyVsTransaction[buyer].push(scriptHash);\n partyVsTransaction[seller].push(scriptHash);\n }\n}\n", + "bytecode": "0x6080604052600060015534801561001557600080fd5b5061432c806100256000396000f3006080604052600436106100af576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806323b6fd3f146100b45780632d9ef96e1461016e57806346fbcdeb1461019257806357bced7614610287578063642f2eaf14610378578063b0550c66146104da578063b719e28014610543578063b77bf6001461057e578063be84ceaf146105a9578063e4ec8b0014610641578063f0786562146106ea575b600080fd5b61016c600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff169060200190929190803563ffffffff169060200190929190803560001916906020019092919080356bffffffffffffffffffffffff19169060200190929190505050610753565b005b61019060048036038101908080356000191690602001909291905050506109a7565b005b34801561019e57600080fd5b5061026960048036038101908080356bffffffffffffffffffffffff19169060200190929190803560ff169060200190929190803563ffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610e24565b60405180826000191660001916815260200191505060405180910390f35b34801561029357600080fd5b50610376600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff169060200190929190803563ffffffff16906020019092919080356000191690602001909291908035906020019092919080356bffffffffffffffffffffffff19169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506112d0565b005b34801561038457600080fd5b506103a760048036038101908080356000191690602001909291905050506117a5565b604051808b81526020018a81526020018960018111156103c357fe5b60ff1681526020018860018111156103d757fe5b60ff1681526020018760ff1660ff1681526020018663ffffffff1663ffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019a505050505050505050505060405180910390f35b3480156104e657600080fd5b506105296004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506118b0565b604051808215151515815260200191505060405180910390f35b34801561054f57600080fd5b5061057c600480360381019080803560001916906020019092919080359060200190929190505050611922565b005b34801561058a57600080fd5b50610593611ff2565b6040518082815260200191505060405180910390f35b3480156105b557600080fd5b506105ea600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611ff8565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b8381101561062d578082015181840152602081019050610612565b505050509050019250505060405180910390f35b34801561064d57600080fd5b506106e86004803603810190808035906020019082018035906020019190919293919293908035906020019082018035906020019190919293919293908035906020019082018035906020019190919293919293908035600019169060200190929190803590602001908201803590602001919091929391929390803590602001908201803590602001919091929391929390505050612093565b005b3480156106f657600080fd5b506107396004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061267c565b604051808215151515815260200191505060405180910390f35b8160008060008360001916600019168152602001908152602001600020600001541415156107e9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f5472616e73616374696f6e20657869737400000000000000000000000000000081525060200191505060405180910390fd5b87600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561088f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b87600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610935576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b6109488a8a8a8a8a8a348b6000806126ee565b3373ffffffffffffffffffffffffffffffffffffffff1685600019167fce7089d0668849fb9ca29778c0cbf1e764d9efb048d81fd71fb34c94f26db368346040518082815260200191505060405180910390a350505050505050505050565b80600080600083600019166000191681526020019081526020016000206000015414151515610a3e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737400000000000081525060200191505060405180910390fd5b8160006001811115610a4c57fe5b600080836000191660001916815260200190815260200160002060020160009054906101000a900460ff166001811115610a8257fe5b141515610b1d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001807f5472616e73616374696f6e206973206e6f7420696e2046554e4445442073746181526020017f746500000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b826000806001811115610b2c57fe5b600080846000191660001916815260200190815260200160002060020160019054906101000a900460ff166001811115610b6257fe5b141515610bd7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5472616e73616374696f6e207479706520646f6573206e6f74206d617463680081525060200191505060405180910390fd5b84600080826000191660001916815260200190815260200160002060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610cde576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f54686520696e69746961746f72206f6620746865207472616e73616374696f6e81526020017f206973206e6f742062757965720000000000000000000000000000000000000081525060400191505060405180910390fd5b600034111515610d56576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f56616c7565206d7573742062652067726561746572207468616e207a65726f2e81525060200191505060405180910390fd5b610d863460008089600019166000191681526020019081526020016000206000015461307a90919063ffffffff16565b600080886000191660001916815260200190815260200160002060000181905550426000808860001916600019168152602001908152602001600020600101819055503373ffffffffffffffffffffffffffffffffffffffff1686600019167ff66fd2ae9e24a6a24b02e1b5b7512ffde5149a4176085fc0298ae228c9b9d729346040518082815260200191505060405180910390a3505050505050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611070578787878787873060405160200180886bffffffffffffffffffffffff19166bffffffffffffffffffffffff191681526014018760ff1660ff167f01000000000000000000000000000000000000000000000000000000000000000281526001018663ffffffff1663ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014019750505050505050506040516020818303038152906040526040518082805190602001908083835b60208310151561103c5780518252602082019150602081019050602083039250611017565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902090506112c5565b878787878787308860405160200180896bffffffffffffffffffffffff19166bffffffffffffffffffffffff191681526014018860ff1660ff167f01000000000000000000000000000000000000000000000000000000000000000281526001018763ffffffff1663ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401985050505050505050506040516020818303038152906040526040518082805190602001908083835b6020831015156112955780518252602082019150602081019050602083039250611270565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902090505b979650505050505050565b6000846000806000836000191660001916815260200190815260200160002060000154141515611368576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f5472616e73616374696f6e20657869737400000000000000000000000000000081525060200191505060405180910390fd5b8a600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561140e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b8a600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156114b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b84600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561155a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b61156d8e8e8e8e8e8e8e8e60018f6126ee565b8594508473ffffffffffffffffffffffffffffffffffffffff166323b872dd33308b6040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b15801561164757600080fd5b505af115801561165b573d6000803e3d6000fd5b505050506040513d602081101561167157600080fd5b81019080805190602001909291905050501515611742576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252605d8152602001807f546f6b656e207472616e73666572206661696c65642c206d6179626520796f7581526020017f20646964206e6f7420617070726f766520657363726f7720636f6e747261637481526020017f20746f207370656e64206f6e20626568616c66206f662073656e64657200000081525060600191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff1689600019167fce7089d0668849fb9ca29778c0cbf1e764d9efb048d81fd71fb34c94f26db3688a6040518082815260200191505060405180910390a35050505050505050505050505050565b60006020528060005260406000206000915090508060000154908060010154908060020160009054906101000a900460ff16908060020160019054906101000a900460ff16908060020160029054906101000a900460ff16908060020160039054906101000a900463ffffffff16908060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060050160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508a565b6000806000846000191660001916815260200190815260200160002060080160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6000826000806000836000191660001916815260200190815260200160002060000154141515156119bb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737400000000000081525060200191505060405180910390fd5b83600060018111156119c957fe5b600080836000191660001916815260200190815260200160002060020160009054906101000a900460ff1660018111156119ff57fe5b141515611a9a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001807f5472616e73616374696f6e206973206e6f7420696e2046554e4445442073746181526020017f746500000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b846001806001811115611aa957fe5b600080846000191660001916815260200190815260200160002060020160019054906101000a900460ff166001811115611adf57fe5b141515611b54576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5472616e73616374696f6e207479706520646f6573206e6f74206d617463680081525060200191505060405180910390fd5b86600080826000191660001916815260200190815260200160002060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611c5b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f54686520696e69746961746f72206f6620746865207472616e73616374696f6e81526020017f206973206e6f742062757965720000000000000000000000000000000000000081525060400191505060405180910390fd5b600087111515611cd3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f56616c7565206d7573742062652067726561746572207468616e207a65726f2e81525060200191505060405180910390fd5b600080896000191660001916815260200190815260200160002060040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1695508573ffffffffffffffffffffffffffffffffffffffff166323b872dd6000808b6000191660001916815260200190815260200160002060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff16308a6040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b158015611e2757600080fd5b505af1158015611e3b573d6000803e3d6000fd5b505050506040513d6020811015611e5157600080fd5b81019080805190602001909291905050501515611f22576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252605c8152602001807f546f6b656e207472616e73666572206661696c65642c206d6179626520796f7581526020017f20646964206e6f7420617070726f766520657363726f7720636f6e747261637481526020017f20746f207370656e64206f6e20626568616c66206f662062757965720000000081525060600191505060405180910390fd5b611f52876000808b600019166000191681526020019081526020016000206000015461307a90919063ffffffff16565b6000808a6000191660001916815260200190815260200160002060000181905550426000808a60001916600019168152602001908152602001600020600101819055503373ffffffffffffffffffffffffffffffffffffffff1688600019167ff66fd2ae9e24a6a24b02e1b5b7512ffde5149a4176085fc0298ae228c9b9d729896040518082815260200191505060405180910390a35050505050505050565b60015481565b6060600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080548060200260200160405190810160405280929190818152602001828054801561208757602002820191906000526020600020905b8154600019168152602001906001019080831161206f575b50505050509050919050565b8460008060008360001916600019168152602001908152602001600020600001541415151561212a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737400000000000081525060200191505060405180910390fd5b856000600181111561213857fe5b600080836000191660001916815260200190815260200160002060020160009054906101000a900460ff16600181111561216e57fe5b141515612209576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001807f5472616e73616374696f6e206973206e6f7420696e2046554e4445442073746181526020017f746500000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b6000868690501115156122aa576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f4e756d626572206f662064657374696e6174696f6e73206d757374206265206781526020017f726561746572207468616e20300000000000000000000000000000000000000081525060400191505060405180910390fd5b838390508686905014151561234d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260378152602001807f4e756d626572206f662064657374696e6174696f6e73206d757374206d61746381526020017f68206e756d626572206f662076616c7565732073656e7400000000000000000081525060400191505060405180910390fd5b6124468d8d808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508c8c808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508b8b808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508a8a8a8080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505089898080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505061309b565b6001600080896000191660001916815260200190815260200160002060020160006101000a81548160ff0219169083600181111561248057fe5b02179055504260008089600019166000191681526020019081526020016000206001018190555060008088600019166000191681526020019081526020016000206000015461252e8888888080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505087878080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505061327c565b1415156125ef576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260488152602001807f546f74616c2076616c756520746f2062652072656c6561736564206d7573742081526020017f626520657175616c20746f20746865207472616e73616374696f6e206573637281526020017f6f772076616c756500000000000000000000000000000000000000000000000081525060600191505060405180910390fd5b86600019167f688e2a1b34445bcd47b0e11ba2a9c8c4d850a1831b64199b59d1c70e29701545878787876040518080602001806020018381038352878782818152602001925060200280828437820191505083810382528585828181526020019250602002808284378201915050965050505050505060405180910390a250505050505050505050505050565b6000806000846000191660001916815260200190815260200160002060070160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b8873ffffffffffffffffffffffffffffffffffffffff168a73ffffffffffffffffffffffffffffffffffffffff1614151515612792576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f427579657220616e642073656c6c6572206172652073616d650000000000000081525060200191505060405180910390fd5b60008411151561280a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f56616c756520706173736564206973203000000000000000000000000000000081525060200191505060405180910390fd5b60008760ff16118015612821575060038760ff1611155b15156128bb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603d8152602001807f5468726573686f6c642063616e6e6f742062652067726561746572207468616e81526020017f203320616e64206d7573742062652067726561746572207468616e203000000081525060400191505060405180910390fd5b60018760ff1614806128fa5750600073ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff1614155b15156129ba576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260488152602001807f456974686572207468726573686f6c642073686f756c642062652031206f722081526020017f76616c6964206d6f64657261746f7220616464726573732073686f756c64206281526020017f652070617373656400000000000000000000000000000000000000000000000081525060600191505060405180910390fd5b6129c98388888d8d8d87610e24565b600019168560001916141515612a6d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260398152602001807f43616c63756c6174656420736372697074206861736820646f6573206e6f742081526020017f6d61746368207061737365642073637269707420686173682e0000000000000081525060400191505060405180910390fd5b6101406040519081016040528085815260200142815260200160006001811115612a9357fe5b8152602001836001811115612aa457fe5b81526020018860ff1681526020018763ffffffff1681526020018b73ffffffffffffffffffffffffffffffffffffffff1681526020018a73ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020018973ffffffffffffffffffffffffffffffffffffffff168152506000808760001916600019168152602001908152602001600020600082015181600001556020820151816001015560408201518160020160006101000a81548160ff02191690836001811115612b7e57fe5b021790555060608201518160020160016101000a81548160ff02191690836001811115612ba757fe5b021790555060808201518160020160026101000a81548160ff021916908360ff16021790555060a08201518160020160036101000a81548163ffffffff021916908363ffffffff16021790555060c08201518160020160076101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060e08201518160030160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506101008201518160040160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506101208201518160050160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055509050506001600080876000191660001916815260200190815260200160002060060160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600080876000191660001916815260200190815260200160002060060160008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600080866000191660001916815260200190815260200160002060060160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151515612efe576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f456974686572206275796572206f722073656c6c65722069732070617373656481526020017f206173206d6f64657261746f720000000000000000000000000000000000000081525060400191505060405180910390fd5b60018760ff161115612f7e576001600080876000191660001916815260200190815260200160002060060160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b600160008154809291906001019190505550600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020859080600181540180825580915050906001820390600052602060002001600090919290919091509060001916905550600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002085908060018154018082558091505090600182039060005260206000200160009091929091909150906000191690555050505050505050505050565b600080828401905083811015151561309157600080fd5b8091505092915050565b6000806130ac888888888888613bd4565b9150613102600080876000191660001916815260200190815260200160002060020160039054906101000a900463ffffffff1660008088600019166000191681526020019081526020016000206001015461424d565b9050600080866000191660001916815260200190815260200160002060020160029054906101000a900460ff1660ff1688511080156131b357508015806131b25750600080866000191660001916815260200190815260200160002060030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b5b15613272576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260588152602001807f4d696e696d756d206e756d626572206f66207369676e6174757265732061726581526020017f206e6f7420636f6c6c656374656420616e642074696d65206c6f636b2065787081526020017f69727920636f6e646974696f6e73206e6f74206d65742121000000000000000081525060600191505060405180910390fd5b5050505050505050565b6000806000806000806000808a60001916600019168152602001908152602001600020945060009350600060018111156132b257fe5b8560020160019054906101000a900460ff1660018111156132cf57fe5b141561369e57600092505b875183101561369957600073ffffffffffffffffffffffffffffffffffffffff16888481518110151561330957fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff16141515156133c5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001807f7a65726f2061646472657373206973206e6f7420616c6c6f776564206173206481526020017f657374696e6174696f6e2061646472657373000000000000000000000000000081525060400191505060405180910390fd5b84600601600089858151811015156133d957fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615156134c5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c8152602001807f44657374696e6174696f6e2061646472657373206973206e6f74206f6e65206f81526020017f6620746865206f776e657273000000000000000000000000000000000000000081525060400191505060405180910390fd5b600087848151811015156134d557fe5b9060200190602002015111151561357a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001807f416d6f756e7420746f2062652073656e742073686f756c64206265206772656181526020017f746572207468616e20300000000000000000000000000000000000000000000081525060400191505060405180910390fd5b6135a4878481518110151561358b57fe5b906020019060200201518561307a90919063ffffffff16565b935060018560080160008a868151811015156135bc57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550878381518110151561362557fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff166108fc888581518110151561365657fe5b906020019060200201519081150290604051600060405180830381858888f1935050505015801561368b573d6000803e3d6000fd5b5082806001019350506132da565b613bc5565b6001808111156136aa57fe5b8560020160019054906101000a900460ff1660018111156136c757fe5b1415613bc4578460040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169150600090505b8751811015613bc357600073ffffffffffffffffffffffffffffffffffffffff16888281518110151561372857fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff16141515156137e4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001807f7a65726f2061646472657373206973206e6f7420616c6c6f776564206173206481526020017f657374696e6174696f6e2061646472657373000000000000000000000000000081525060400191505060405180910390fd5b84600601600089838151811015156137f857fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615156138e4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c8152602001807f44657374696e6174696f6e2061646472657373206973206e6f74206f6e65206f81526020017f6620746865206f776e657273000000000000000000000000000000000000000081525060400191505060405180910390fd5b600087828151811015156138f457fe5b90602001906020020151111515613999576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001807f416d6f756e7420746f2062652073656e742073686f756c64206265206772656181526020017f746572207468616e20300000000000000000000000000000000000000000000081525060400191505060405180910390fd5b6139c387828151811015156139aa57fe5b906020019060200201518561307a90919063ffffffff16565b935060018560080160008a848151811015156139db57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb8983815181101515613a6057fe5b906020019060200201518984815181101515613a7857fe5b906020019060200201516040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015613b0757600080fd5b505af1158015613b1b573d6000803e3d6000fd5b505050506040513d6020811015613b3157600080fd5b81019080805190602001909291905050501515613bb6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f546f6b656e207472616e73666572206661696c65642e0000000000000000000081525060200191505060405180910390fd5b80806001019150506136f9565b5b5b83955050505050509392505050565b600080600080600088518a51148015613bee57508a518a51145b1515613c62576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f522c532c56206c656e677468206d69736d617463682e0000000000000000000081525060200191505060405180910390fd5b60197f01000000000000000000000000000000000000000000000000000000000000000260007f0100000000000000000000000000000000000000000000000000000000000000023089898c60405160200180877effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168152600101867effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526001018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401848051906020019060200280838360005b83811015613db6578082015181840152602081019050613d9b565b50505050905001838051906020019060200280838360005b83811015613de9578082015181840152602081019050613dce565b50505050905001826000191660001916815260200196505050505050506040516020818303038152906040526040518082805190602001908083835b602083101515613e4a5780518252602082019150602081019050602083039250613e25565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902060405160200180807f19457468657265756d205369676e6564204d6573736167653a0a333200000000815250601c0182600019166000191681526020019150506040516020818303038152906040526040518082805190602001908083835b602083101515613efb5780518252602082019150602081019050602083039250613ed6565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390209250600091505b895182101561423c576001838c84815181101515613f4957fe5b906020019060200201518c85815181101515613f6157fe5b906020019060200201518c86815181101515613f7957fe5b90602001906020020151604051600081526020016040526040518085600019166000191681526020018460ff1660ff1681526020018360001916600019168152602001826000191660001916815260200194505050505060206040516020810390808403906000865af1158015613ff4573d6000803e3d6000fd5b505050602060405103519050600080896000191660001916815260200190815260200160002060060160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615156140dc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f496e76616c6964207369676e617475726500000000000000000000000000000081525060200191505060405180910390fd5b600080896000191660001916815260200190815260200160002060070160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515156141b9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f53616d65207369676e61747572652073656e742074776963650000000000000081525060200191505060405180910390fd5b60016000808a6000191660001916815260200190815260200160002060070160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508093508180600101925050613f2f565b839450505050509695505050505050565b60008061426383426142a190919063ffffffff16565b905060008463ffffffff16146142955761428e610e108563ffffffff166142c290919063ffffffff16565b8111614298565b60005b91505092915050565b6000808383111515156142b357600080fd5b82840390508091505092915050565b60008060008414156142d757600091506142f9565b82840290508284828115156142e857fe5b041415156142f557600080fd5b8091505b50929150505600a165627a7a723058200eb572cc26727a325bd0e4a1a834cd8616d50751b6b9ea60b69bc1a6c85024430029", + "deployedBytecode": "0x6080604052600436106100af576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806323b6fd3f146100b45780632d9ef96e1461016e57806346fbcdeb1461019257806357bced7614610287578063642f2eaf14610378578063b0550c66146104da578063b719e28014610543578063b77bf6001461057e578063be84ceaf146105a9578063e4ec8b0014610641578063f0786562146106ea575b600080fd5b61016c600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff169060200190929190803563ffffffff169060200190929190803560001916906020019092919080356bffffffffffffffffffffffff19169060200190929190505050610753565b005b61019060048036038101908080356000191690602001909291905050506109a7565b005b34801561019e57600080fd5b5061026960048036038101908080356bffffffffffffffffffffffff19169060200190929190803560ff169060200190929190803563ffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610e24565b60405180826000191660001916815260200191505060405180910390f35b34801561029357600080fd5b50610376600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff169060200190929190803563ffffffff16906020019092919080356000191690602001909291908035906020019092919080356bffffffffffffffffffffffff19169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506112d0565b005b34801561038457600080fd5b506103a760048036038101908080356000191690602001909291905050506117a5565b604051808b81526020018a81526020018960018111156103c357fe5b60ff1681526020018860018111156103d757fe5b60ff1681526020018760ff1660ff1681526020018663ffffffff1663ffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019a505050505050505050505060405180910390f35b3480156104e657600080fd5b506105296004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506118b0565b604051808215151515815260200191505060405180910390f35b34801561054f57600080fd5b5061057c600480360381019080803560001916906020019092919080359060200190929190505050611922565b005b34801561058a57600080fd5b50610593611ff2565b6040518082815260200191505060405180910390f35b3480156105b557600080fd5b506105ea600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611ff8565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b8381101561062d578082015181840152602081019050610612565b505050509050019250505060405180910390f35b34801561064d57600080fd5b506106e86004803603810190808035906020019082018035906020019190919293919293908035906020019082018035906020019190919293919293908035906020019082018035906020019190919293919293908035600019169060200190929190803590602001908201803590602001919091929391929390803590602001908201803590602001919091929391929390505050612093565b005b3480156106f657600080fd5b506107396004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061267c565b604051808215151515815260200191505060405180910390f35b8160008060008360001916600019168152602001908152602001600020600001541415156107e9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f5472616e73616374696f6e20657869737400000000000000000000000000000081525060200191505060405180910390fd5b87600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561088f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b87600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610935576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b6109488a8a8a8a8a8a348b6000806126ee565b3373ffffffffffffffffffffffffffffffffffffffff1685600019167fce7089d0668849fb9ca29778c0cbf1e764d9efb048d81fd71fb34c94f26db368346040518082815260200191505060405180910390a350505050505050505050565b80600080600083600019166000191681526020019081526020016000206000015414151515610a3e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737400000000000081525060200191505060405180910390fd5b8160006001811115610a4c57fe5b600080836000191660001916815260200190815260200160002060020160009054906101000a900460ff166001811115610a8257fe5b141515610b1d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001807f5472616e73616374696f6e206973206e6f7420696e2046554e4445442073746181526020017f746500000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b826000806001811115610b2c57fe5b600080846000191660001916815260200190815260200160002060020160019054906101000a900460ff166001811115610b6257fe5b141515610bd7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5472616e73616374696f6e207479706520646f6573206e6f74206d617463680081525060200191505060405180910390fd5b84600080826000191660001916815260200190815260200160002060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610cde576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f54686520696e69746961746f72206f6620746865207472616e73616374696f6e81526020017f206973206e6f742062757965720000000000000000000000000000000000000081525060400191505060405180910390fd5b600034111515610d56576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f56616c7565206d7573742062652067726561746572207468616e207a65726f2e81525060200191505060405180910390fd5b610d863460008089600019166000191681526020019081526020016000206000015461307a90919063ffffffff16565b600080886000191660001916815260200190815260200160002060000181905550426000808860001916600019168152602001908152602001600020600101819055503373ffffffffffffffffffffffffffffffffffffffff1686600019167ff66fd2ae9e24a6a24b02e1b5b7512ffde5149a4176085fc0298ae228c9b9d729346040518082815260200191505060405180910390a3505050505050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611070578787878787873060405160200180886bffffffffffffffffffffffff19166bffffffffffffffffffffffff191681526014018760ff1660ff167f01000000000000000000000000000000000000000000000000000000000000000281526001018663ffffffff1663ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014019750505050505050506040516020818303038152906040526040518082805190602001908083835b60208310151561103c5780518252602082019150602081019050602083039250611017565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902090506112c5565b878787878787308860405160200180896bffffffffffffffffffffffff19166bffffffffffffffffffffffff191681526014018860ff1660ff167f01000000000000000000000000000000000000000000000000000000000000000281526001018763ffffffff1663ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401985050505050505050506040516020818303038152906040526040518082805190602001908083835b6020831015156112955780518252602082019150602081019050602083039250611270565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902090505b979650505050505050565b6000846000806000836000191660001916815260200190815260200160002060000154141515611368576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f5472616e73616374696f6e20657869737400000000000000000000000000000081525060200191505060405180910390fd5b8a600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561140e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b8a600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156114b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b84600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561155a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b61156d8e8e8e8e8e8e8e8e60018f6126ee565b8594508473ffffffffffffffffffffffffffffffffffffffff166323b872dd33308b6040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b15801561164757600080fd5b505af115801561165b573d6000803e3d6000fd5b505050506040513d602081101561167157600080fd5b81019080805190602001909291905050501515611742576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252605d8152602001807f546f6b656e207472616e73666572206661696c65642c206d6179626520796f7581526020017f20646964206e6f7420617070726f766520657363726f7720636f6e747261637481526020017f20746f207370656e64206f6e20626568616c66206f662073656e64657200000081525060600191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff1689600019167fce7089d0668849fb9ca29778c0cbf1e764d9efb048d81fd71fb34c94f26db3688a6040518082815260200191505060405180910390a35050505050505050505050505050565b60006020528060005260406000206000915090508060000154908060010154908060020160009054906101000a900460ff16908060020160019054906101000a900460ff16908060020160029054906101000a900460ff16908060020160039054906101000a900463ffffffff16908060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060050160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508a565b6000806000846000191660001916815260200190815260200160002060080160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6000826000806000836000191660001916815260200190815260200160002060000154141515156119bb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737400000000000081525060200191505060405180910390fd5b83600060018111156119c957fe5b600080836000191660001916815260200190815260200160002060020160009054906101000a900460ff1660018111156119ff57fe5b141515611a9a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001807f5472616e73616374696f6e206973206e6f7420696e2046554e4445442073746181526020017f746500000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b846001806001811115611aa957fe5b600080846000191660001916815260200190815260200160002060020160019054906101000a900460ff166001811115611adf57fe5b141515611b54576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5472616e73616374696f6e207479706520646f6573206e6f74206d617463680081525060200191505060405180910390fd5b86600080826000191660001916815260200190815260200160002060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611c5b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f54686520696e69746961746f72206f6620746865207472616e73616374696f6e81526020017f206973206e6f742062757965720000000000000000000000000000000000000081525060400191505060405180910390fd5b600087111515611cd3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f56616c7565206d7573742062652067726561746572207468616e207a65726f2e81525060200191505060405180910390fd5b600080896000191660001916815260200190815260200160002060040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1695508573ffffffffffffffffffffffffffffffffffffffff166323b872dd6000808b6000191660001916815260200190815260200160002060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff16308a6040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b158015611e2757600080fd5b505af1158015611e3b573d6000803e3d6000fd5b505050506040513d6020811015611e5157600080fd5b81019080805190602001909291905050501515611f22576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252605c8152602001807f546f6b656e207472616e73666572206661696c65642c206d6179626520796f7581526020017f20646964206e6f7420617070726f766520657363726f7720636f6e747261637481526020017f20746f207370656e64206f6e20626568616c66206f662062757965720000000081525060600191505060405180910390fd5b611f52876000808b600019166000191681526020019081526020016000206000015461307a90919063ffffffff16565b6000808a6000191660001916815260200190815260200160002060000181905550426000808a60001916600019168152602001908152602001600020600101819055503373ffffffffffffffffffffffffffffffffffffffff1688600019167ff66fd2ae9e24a6a24b02e1b5b7512ffde5149a4176085fc0298ae228c9b9d729896040518082815260200191505060405180910390a35050505050505050565b60015481565b6060600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080548060200260200160405190810160405280929190818152602001828054801561208757602002820191906000526020600020905b8154600019168152602001906001019080831161206f575b50505050509050919050565b8460008060008360001916600019168152602001908152602001600020600001541415151561212a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737400000000000081525060200191505060405180910390fd5b856000600181111561213857fe5b600080836000191660001916815260200190815260200160002060020160009054906101000a900460ff16600181111561216e57fe5b141515612209576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001807f5472616e73616374696f6e206973206e6f7420696e2046554e4445442073746181526020017f746500000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b6000868690501115156122aa576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f4e756d626572206f662064657374696e6174696f6e73206d757374206265206781526020017f726561746572207468616e20300000000000000000000000000000000000000081525060400191505060405180910390fd5b838390508686905014151561234d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260378152602001807f4e756d626572206f662064657374696e6174696f6e73206d757374206d61746381526020017f68206e756d626572206f662076616c7565732073656e7400000000000000000081525060400191505060405180910390fd5b6124468d8d808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508c8c808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508b8b808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508a8a8a8080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505089898080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505061309b565b6001600080896000191660001916815260200190815260200160002060020160006101000a81548160ff0219169083600181111561248057fe5b02179055504260008089600019166000191681526020019081526020016000206001018190555060008088600019166000191681526020019081526020016000206000015461252e8888888080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505087878080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505061327c565b1415156125ef576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260488152602001807f546f74616c2076616c756520746f2062652072656c6561736564206d7573742081526020017f626520657175616c20746f20746865207472616e73616374696f6e206573637281526020017f6f772076616c756500000000000000000000000000000000000000000000000081525060600191505060405180910390fd5b86600019167f688e2a1b34445bcd47b0e11ba2a9c8c4d850a1831b64199b59d1c70e29701545878787876040518080602001806020018381038352878782818152602001925060200280828437820191505083810382528585828181526020019250602002808284378201915050965050505050505060405180910390a250505050505050505050505050565b6000806000846000191660001916815260200190815260200160002060070160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b8873ffffffffffffffffffffffffffffffffffffffff168a73ffffffffffffffffffffffffffffffffffffffff1614151515612792576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f427579657220616e642073656c6c6572206172652073616d650000000000000081525060200191505060405180910390fd5b60008411151561280a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f56616c756520706173736564206973203000000000000000000000000000000081525060200191505060405180910390fd5b60008760ff16118015612821575060038760ff1611155b15156128bb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603d8152602001807f5468726573686f6c642063616e6e6f742062652067726561746572207468616e81526020017f203320616e64206d7573742062652067726561746572207468616e203000000081525060400191505060405180910390fd5b60018760ff1614806128fa5750600073ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff1614155b15156129ba576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260488152602001807f456974686572207468726573686f6c642073686f756c642062652031206f722081526020017f76616c6964206d6f64657261746f7220616464726573732073686f756c64206281526020017f652070617373656400000000000000000000000000000000000000000000000081525060600191505060405180910390fd5b6129c98388888d8d8d87610e24565b600019168560001916141515612a6d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260398152602001807f43616c63756c6174656420736372697074206861736820646f6573206e6f742081526020017f6d61746368207061737365642073637269707420686173682e0000000000000081525060400191505060405180910390fd5b6101406040519081016040528085815260200142815260200160006001811115612a9357fe5b8152602001836001811115612aa457fe5b81526020018860ff1681526020018763ffffffff1681526020018b73ffffffffffffffffffffffffffffffffffffffff1681526020018a73ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020018973ffffffffffffffffffffffffffffffffffffffff168152506000808760001916600019168152602001908152602001600020600082015181600001556020820151816001015560408201518160020160006101000a81548160ff02191690836001811115612b7e57fe5b021790555060608201518160020160016101000a81548160ff02191690836001811115612ba757fe5b021790555060808201518160020160026101000a81548160ff021916908360ff16021790555060a08201518160020160036101000a81548163ffffffff021916908363ffffffff16021790555060c08201518160020160076101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060e08201518160030160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506101008201518160040160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506101208201518160050160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055509050506001600080876000191660001916815260200190815260200160002060060160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600080876000191660001916815260200190815260200160002060060160008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600080866000191660001916815260200190815260200160002060060160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151515612efe576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f456974686572206275796572206f722073656c6c65722069732070617373656481526020017f206173206d6f64657261746f720000000000000000000000000000000000000081525060400191505060405180910390fd5b60018760ff161115612f7e576001600080876000191660001916815260200190815260200160002060060160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b600160008154809291906001019190505550600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020859080600181540180825580915050906001820390600052602060002001600090919290919091509060001916905550600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002085908060018154018082558091505090600182039060005260206000200160009091929091909150906000191690555050505050505050505050565b600080828401905083811015151561309157600080fd5b8091505092915050565b6000806130ac888888888888613bd4565b9150613102600080876000191660001916815260200190815260200160002060020160039054906101000a900463ffffffff1660008088600019166000191681526020019081526020016000206001015461424d565b9050600080866000191660001916815260200190815260200160002060020160029054906101000a900460ff1660ff1688511080156131b357508015806131b25750600080866000191660001916815260200190815260200160002060030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b5b15613272576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260588152602001807f4d696e696d756d206e756d626572206f66207369676e6174757265732061726581526020017f206e6f7420636f6c6c656374656420616e642074696d65206c6f636b2065787081526020017f69727920636f6e646974696f6e73206e6f74206d65742121000000000000000081525060600191505060405180910390fd5b5050505050505050565b6000806000806000806000808a60001916600019168152602001908152602001600020945060009350600060018111156132b257fe5b8560020160019054906101000a900460ff1660018111156132cf57fe5b141561369e57600092505b875183101561369957600073ffffffffffffffffffffffffffffffffffffffff16888481518110151561330957fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff16141515156133c5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001807f7a65726f2061646472657373206973206e6f7420616c6c6f776564206173206481526020017f657374696e6174696f6e2061646472657373000000000000000000000000000081525060400191505060405180910390fd5b84600601600089858151811015156133d957fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615156134c5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c8152602001807f44657374696e6174696f6e2061646472657373206973206e6f74206f6e65206f81526020017f6620746865206f776e657273000000000000000000000000000000000000000081525060400191505060405180910390fd5b600087848151811015156134d557fe5b9060200190602002015111151561357a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001807f416d6f756e7420746f2062652073656e742073686f756c64206265206772656181526020017f746572207468616e20300000000000000000000000000000000000000000000081525060400191505060405180910390fd5b6135a4878481518110151561358b57fe5b906020019060200201518561307a90919063ffffffff16565b935060018560080160008a868151811015156135bc57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550878381518110151561362557fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff166108fc888581518110151561365657fe5b906020019060200201519081150290604051600060405180830381858888f1935050505015801561368b573d6000803e3d6000fd5b5082806001019350506132da565b613bc5565b6001808111156136aa57fe5b8560020160019054906101000a900460ff1660018111156136c757fe5b1415613bc4578460040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169150600090505b8751811015613bc357600073ffffffffffffffffffffffffffffffffffffffff16888281518110151561372857fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff16141515156137e4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001807f7a65726f2061646472657373206973206e6f7420616c6c6f776564206173206481526020017f657374696e6174696f6e2061646472657373000000000000000000000000000081525060400191505060405180910390fd5b84600601600089838151811015156137f857fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615156138e4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c8152602001807f44657374696e6174696f6e2061646472657373206973206e6f74206f6e65206f81526020017f6620746865206f776e657273000000000000000000000000000000000000000081525060400191505060405180910390fd5b600087828151811015156138f457fe5b90602001906020020151111515613999576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001807f416d6f756e7420746f2062652073656e742073686f756c64206265206772656181526020017f746572207468616e20300000000000000000000000000000000000000000000081525060400191505060405180910390fd5b6139c387828151811015156139aa57fe5b906020019060200201518561307a90919063ffffffff16565b935060018560080160008a848151811015156139db57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb8983815181101515613a6057fe5b906020019060200201518984815181101515613a7857fe5b906020019060200201516040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015613b0757600080fd5b505af1158015613b1b573d6000803e3d6000fd5b505050506040513d6020811015613b3157600080fd5b81019080805190602001909291905050501515613bb6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f546f6b656e207472616e73666572206661696c65642e0000000000000000000081525060200191505060405180910390fd5b80806001019150506136f9565b5b5b83955050505050509392505050565b600080600080600088518a51148015613bee57508a518a51145b1515613c62576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f522c532c56206c656e677468206d69736d617463682e0000000000000000000081525060200191505060405180910390fd5b60197f01000000000000000000000000000000000000000000000000000000000000000260007f0100000000000000000000000000000000000000000000000000000000000000023089898c60405160200180877effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168152600101867effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526001018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401848051906020019060200280838360005b83811015613db6578082015181840152602081019050613d9b565b50505050905001838051906020019060200280838360005b83811015613de9578082015181840152602081019050613dce565b50505050905001826000191660001916815260200196505050505050506040516020818303038152906040526040518082805190602001908083835b602083101515613e4a5780518252602082019150602081019050602083039250613e25565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902060405160200180807f19457468657265756d205369676e6564204d6573736167653a0a333200000000815250601c0182600019166000191681526020019150506040516020818303038152906040526040518082805190602001908083835b602083101515613efb5780518252602082019150602081019050602083039250613ed6565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390209250600091505b895182101561423c576001838c84815181101515613f4957fe5b906020019060200201518c85815181101515613f6157fe5b906020019060200201518c86815181101515613f7957fe5b90602001906020020151604051600081526020016040526040518085600019166000191681526020018460ff1660ff1681526020018360001916600019168152602001826000191660001916815260200194505050505060206040516020810390808403906000865af1158015613ff4573d6000803e3d6000fd5b505050602060405103519050600080896000191660001916815260200190815260200160002060060160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615156140dc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f496e76616c6964207369676e617475726500000000000000000000000000000081525060200191505060405180910390fd5b600080896000191660001916815260200190815260200160002060070160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515156141b9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f53616d65207369676e61747572652073656e742074776963650000000000000081525060200191505060405180910390fd5b60016000808a6000191660001916815260200190815260200160002060070160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508093508180600101925050613f2f565b839450505050509695505050505050565b60008061426383426142a190919063ffffffff16565b905060008463ffffffff16146142955761428e610e108563ffffffff166142c290919063ffffffff16565b8111614298565b60005b91505092915050565b6000808383111515156142b357600080fd5b82840390508091505092915050565b60008060008414156142d757600091506142f9565b82840290508284828115156142e857fe5b041415156142f557600080fd5b8091505b50929150505600a165627a7a723058200eb572cc26727a325bd0e4a1a834cd8616d50751b6b9ea60b69bc1a6c85024430029", + "sourceMap": "605:20561:0:-;;;1798:1;1764:35;;605:20561;8:9:-1;5:2;;;30:1;27;20:12;5:2;605:20561:0;;;;;;;", + "deployedSourceMap": "605:20561:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3859:701;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7761:579;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12199:1017;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12199:1017:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5508:1030;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5508:1030:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1706:51;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1706:51:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6779:221;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6779:221:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8668:897;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8668:897:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1764:35;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1764:35:0;;;;;;;;;;;;;;;;;;;;;;;9682:194;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9682:194:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;9682:194:0;;;;;;;;;;;;;;;;;10474:1204;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10474:1204:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7240:194;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7240:194:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3859:701;4136:10;2222:1;2188:12;:24;2201:10;2188:24;;;;;;;;;;;;;;;;;:30;;;:35;2180:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4171:5;2555:1;2529:28;;:14;:28;;;;2521:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4201:6;2555:1;2529:28;;:14;:28;;;;2521:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4223:264;4252:5;4271:6;4291:9;4314;4337:12;4363:10;4387:9;4410:8;4432:21;4475:1;4223:15;:264::i;:::-;4530:10;4511:41;;4518:10;4511:41;;;;4542:9;4511:41;;;;;;;;;;;;;;;;;;2591:1;2255;3859:701;;;;;;;;:::o;7761:579::-;7884:10;2052:1;2018:12;:24;2031:10;2018:24;;;;;;;;;;;;;;;;;:30;;;:35;;1997:96;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7918:10;2378:13;2343:48;;;;;;;;:12;:24;2356:10;2343:24;;;;;;;;;;;;;;;;;:31;;;;;;;;;;;;:48;;;;;;;;;2322:117;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7959:10;7971:21;2789:15;2745:59;;;;;;;;:12;:24;2758:10;2745:24;;;;;;;;;;;;;;;;;:40;;;;;;;;;;;;:59;;;;;;;;;2724:125;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8012:10;2957:12;:24;2970:10;2957:24;;;;;;;;;;;;;;;;;:30;;;;;;;;;;;;2943:44;;:10;:44;;;2922:124;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8068:1;8056:9;:13;8048:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8150;8198:9;8150:12;:24;8163:10;8150:24;;;;;;;;;;;;;;;;;:30;;;:47;;:58;;;;:::i;:::-;8117:12;:24;8130:10;8117:24;;;;;;;;;;;;;;;;;:30;;:91;;;;8258:15;8218:12;:24;8231:10;8218:24;;;;;;;;;;;;;;;;;:37;;:55;;;;8311:10;8289:44;;8299:10;8289:44;;;;8323:9;8289:44;;;;;;;;;;;;;;;;;;2859:1;2449;;2103;7761:579;;:::o;12199:1017::-;12469:7;12520:1;12496:26;;:12;:26;;;12492:718;;;12610:8;12640:9;12671:12;12705:5;12732:6;12760:9;12799:4;12572:250;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;12572:250:0;;;12545:291;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;12545:291:0;;;;;;;;;;;;;;;;12538:298;;;;12492:718;12939:8;12969:9;13000:12;13034:5;13061:6;13089:9;13128:4;13155:12;12901:284;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;12901:284:0;;;12874:325;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;12874:325:0;;;;;;;;;;;;;;;;12867:332;;12199:1017;;;;;;;;;;:::o;5508:1030::-;6225:20;5827:10;2222:1;2188:12;:24;2201:10;2188:24;;;;;;;;;;;;;;;;;:30;;;:35;2180:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5862:5;2555:1;2529:28;;:14;:28;;;;2521:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5892:6;2555:1;2529:28;;:14;:28;;;;2521:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5923:12;2555:1;2529:28;;:14;:28;;;;2521:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5952:262;5981:5;6000:6;6020:9;6043;6066:12;6092:10;6116:5;6135:8;6157:21;6192:12;5952:15;:262::i;:::-;6263:12;6225:51;;6308:5;:18;;;6327:10;6347:4;6354:5;6308:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6308:52:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6308:52:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6308:52:0;;;;;;;;;;;;;;;;6287:192;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6513:10;6494:37;;6501:10;6494:37;;;;6525:5;6494:37;;;;;;;;;;;;;;;;;;2591:1;;2255;5508:1030;;;;;;;;;;;:::o;1706:51::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;6779:221::-;6915:4;6942:12;:24;6955:10;6942:24;;;;;;;;;;;;;;;;;:38;;:51;6981:11;6942:51;;;;;;;;;;;;;;;;;;;;;;;;;6935:58;;6779:221;;;;:::o;8668:897::-;9019:20;8799:10;2052:1;2018:12;:24;2031:10;2018:24;;;;;;;;;;;;;;;;;:30;;;:35;;1997:96;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8833:10;2378:13;2343:48;;;;;;;;:12;:24;2356:10;2343:24;;;;;;;;;;;;;;;;;:31;;;;;;;;;;;;:48;;;;;;;;;2322:117;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8874:10;8886:21;2789:15;2745:59;;;;;;;;:12;:24;2758:10;2745:24;;;;;;;;;;;;;;;;;:40;;;;;;;;;;;;:59;;;;;;;;;2724:125;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8927:10;2957:12;:24;2970:10;2957:24;;;;;;;;;;;;;;;;;:30;;;;;;;;;;;;2943:44;;:10;:44;;;2922:124;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8970:1;8962:5;:9;8954:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9070:12;:24;9083:10;9070:24;;;;;;;;;;;;;;;;;:37;;;;;;;;;;;;9019:98;;9149:5;:18;;;9168:12;:24;9181:10;9168:24;;;;;;;;;;;;;;;;;:30;;;;;;;;;;;;9208:4;9215:5;9149:72;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9149:72:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9149:72:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;9149:72:0;;;;;;;;;;;;;;;;9128:211;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9383:54;9431:5;9383:12;:24;9396:10;9383:24;;;;;;;;;;;;;;;;;:30;;;:47;;:54;;;;:::i;:::-;9350:12;:24;9363:10;9350:24;;;;;;;;;;;;;;;;;:30;;:87;;;;9487:15;9447:12;:24;9460:10;9447:24;;;;;;;;;;;;;;;;;:37;;:55;;;;9540:10;9518:40;;9528:10;9518:40;;;;9552:5;9518:40;;;;;;;;;;;;;;;;;;2859:1;2449;;2103;8668:897;;;;:::o;1764:35::-;;;;:::o;9682:194::-;9804:9;9837:18;:32;9856:12;9837:32;;;;;;;;;;;;;;;9830:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9682:194;;;:::o;10474:1204::-;10696:10;2052:1;2018:12;:24;2031:10;2018:24;;;;;;;;;;;;;;;;;:30;;;:35;;1997:96;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10730:10;2378:13;2343:48;;;;;;;;:12;:24;2356:10;2343:24;;;;;;;;;;;;;;;;;:31;;;;;;;;;;;;:48;;;;;;;;;2322:117;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10800:1;10780:12;;:19;;:21;10759:114;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10927:7;;:14;;10904:12;;:19;;:37;10883:139;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11040:153;11072:4;;11040:153;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11090:4;;11040:153;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11108:4;;11040:153;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11126:10;11150:12;;11040:153;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11176:7;;11040:153;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:18;:153::i;:::-;11238:15;11204:12;:24;11217:10;11204:24;;;;;;;;;;;;;;;;;:31;;;:49;;;;;;;;;;;;;;;;;;;;;;;;11377:15;11337:12;:24;11350:10;11337:24;;;;;;;;;;;;;;;;;:37;;:55;;;;11476:12;:24;11489:10;11476:24;;;;;;;;;;;;;;;;;:30;;;11423:49;11438:10;11450:12;;11423:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11464:7;;11423:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:14;:49::i;:::-;:83;11402:202;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11637:10;11628:43;;;;11649:12;;11663:7;;11628:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2103:1;10474:1204;;;;;;;;;;;;:::o;7240:194::-;7363:4;7390:12;:24;7403:10;7390:24;;;;;;;;;;;;;;;;;:30;;:37;7421:5;7390:37;;;;;;;;;;;;;;;;;;;;;;;;;7383:44;;7240:194;;;;:::o;18523:2641::-;18885:6;18876:15;;:5;:15;;;;18868:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18996:1;18988:5;:9;18980:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19134:1;19122:9;:13;;;:31;;;;;19152:1;19139:9;:14;;;;19122:31;19101:140;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19535:1;19522:9;:14;;;:41;;;;19561:1;19540:23;;:9;:23;;;;19522:41;19501:160;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19707:226;19750:8;19776:9;19803:12;19833:5;19856:6;19880:9;19907:12;19707:25;:226::i;:::-;19693:240;;;:10;:240;;;;19672:345;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20055:373;;;;;;;;;20176:5;20055:373;;;;20244:15;20055:373;;;;20203:13;20055:373;;;;;;;;;;;;20363:15;20055:373;;;;;;;;;;;;20284:9;20055:373;;;;;;20321:12;20055:373;;;;;;20088:5;20055:373;;;;;;20115:6;20055:373;;;;;;20405:12;20055:373;;;;;;20146:9;20055:373;;;;;20028:12;:24;20041:10;20028:24;;;;;;;;;;;;;;;;;:400;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20482:4;20439:12;:24;20452:10;20439:24;;;;;;;;;;;;;;;;;:32;;:40;20472:6;20439:40;;;;;;;;;;;;;;;;:47;;;;;;;;;;;;;;;;;;20538:4;20496:12;:24;20509:10;20496:24;;;;;;;;;;;;;;;;;:32;;:39;20529:5;20496:39;;;;;;;;;;;;;;;;:46;;;;;;;;;;;;;;;;;;20650:12;:24;20663:10;20650:24;;;;;;;;;;;;;;;;;:32;;:43;20683:9;20650:43;;;;;;;;;;;;;;;;;;;;;;;;;20649:44;20628:137;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20937:1;20925:9;:13;;;20921:94;;;21000:4;20954:12;:24;20967:10;20954:24;;;;;;;;;;;;;;;;;:32;;:43;20987:9;20954:43;;;;;;;;;;;;;;;;:50;;;;;;;;;;;;;;;;;;20921:94;21033:16;;:18;;;;;;;;;;;;;21062;:25;21081:5;21062:25;;;;;;;;;;;;;;;21093:10;21062:42;;39:1:-1;33:3;27:10;23:18;57:10;52:3;45:23;79:10;72:17;;0:93;21062:42:0;;;;;;;;;;;;;;;;;;;;;;;;;;;21114:18;:26;21133:6;21114:26;;;;;;;;;;;;;;;21146:10;21114:43;;39:1:-1;33:3;27:10;23:18;57:10;52:3;45:23;79:10;72:17;;0:93;21114:43:0;;;;;;;;;;;;;;;;;;;;;;;;;;;18523:2641;;;;;;;;;;:::o;1272:131:2:-;1330:7;1345:9;1361:1;1357;:5;1345:17;;1381:1;1376;:6;;1368:15;;;;;;;;1397:1;1390:8;;1272:131;;;;;:::o;13490:1008:0:-;13711:21;13898:20;13735:152;13766:4;13784;13802;13820:10;13844:12;13870:7;13735:17;:152::i;:::-;13711:176;;13921:130;13953:12;:24;13966:10;13953:24;;;;;;;;;;;;;;;;;:37;;;;;;;;;;;;14004:12;:24;14017:10;14004:24;;;;;;;;;;;;;;;;;:37;;;13921:18;:130::i;:::-;13898:153;;14237:12;:24;14250:10;14237:24;;;;;;;;;;;;;;;;;:34;;;;;;;;;;;;14223:48;;:4;:11;:48;:122;;;;;14277:15;14276:16;:68;;;;14313:12;:24;14326:10;14313:24;;;;;;;;;;;;;;;;;:31;;;;;;;;;;;;14296:48;;:13;:48;;;;14276:68;14223:122;14202:289;;;14382:98;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14202:289;13490:1008;;;;;;;;:::o;14624:1723::-;14772:7;14795:21;14854:24;14960:9;15612:20;15685:9;14819:12;:24;14832:10;14819:24;;;;;;;;;;;;;;;;;14795:48;;14881:1;14854:28;;14918:21;14897:42;;;;;;;;:1;:17;;;;;;;;;;;;:42;;;;;;;;;14893:1414;;;14972:1;14960:13;;14955:577;14979:12;:19;14975:1;:23;14955:577;;;15059:1;15032:29;;:12;15045:1;15032:15;;;;;;;;;;;;;;;;;;:29;;;;15024:92;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15143:1;:9;;:26;15153:12;15166:1;15153:15;;;;;;;;;;;;;;;;;;15143:26;;;;;;;;;;;;;;;;;;;;;;;;;15135:83;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15258:1;15245:7;15253:1;15245:10;;;;;;;;;;;;;;;;;;:14;15237:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15344:32;15365:7;15373:1;15365:10;;;;;;;;;;;;;;;;;;15344:16;:20;;:32;;;;:::i;:::-;15325:51;;15430:4;15395:1;:15;;:32;15411:12;15424:1;15411:15;;;;;;;;;;;;;;;;;;15395:32;;;;;;;;;;;;;;;;:39;;;;;;;;;;;;;;;;;;15481:12;15494:1;15481:15;;;;;;;;;;;;;;;;;;:24;;:36;15506:7;15514:1;15506:10;;;;;;;;;;;;;;;;;;15481:36;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;15481:36:0;15000:3;;;;;;;14955:577;;;14893:1414;;;15574:21;15553:42;;;;;;;;:1;:17;;;;;;;;;;;;:42;;;;;;;;;15549:758;;;15650:1;:14;;;;;;;;;;;;15612:53;;15697:1;15685:13;;15680:617;15702:12;:19;15700:1;:21;15680:617;;;15782:1;15755:29;;:12;15768:1;15755:15;;;;;;;;;;;;;;;;;;:29;;;;15747:92;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15866:1;:9;;:26;15876:12;15889:1;15876:15;;;;;;;;;;;;;;;;;;15866:26;;;;;;;;;;;;;;;;;;;;;;;;;15858:83;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15981:1;15968:7;15976:1;15968:10;;;;;;;;;;;;;;;;;;:14;15960:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16067:32;16088:7;16096:1;16088:10;;;;;;;;;;;;;;;;;;16067:16;:20;;:32;;;;:::i;:::-;16048:51;;16152:4;16117:1;:15;;:32;16133:12;16146:1;16133:15;;;;;;;;;;;;;;;;;;16117:32;;;;;;;;;;;;;;;;:39;;;;;;;;;;;;;;;;;;16212:5;:14;;;16227:12;16240:1;16227:15;;;;;;;;;;;;;;;;;;16244:7;16252:1;16244:10;;;;;;;;;;;;;;;;;;16212:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;16212:43:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;16212:43:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;16212:43:0;;;;;;;;;;;;;;;;16204:78;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15723:3;;;;;;;15680:617;;;15549:758;14893:1414;16324:16;16317:23;;14624:1723;;;;;;;;;;:::o;16532:1581::-;16754:7;16915:19;17033:14;17501:6;17550:17;16814:4;:11;16799:4;:11;:26;:56;;;;;16844:4;:11;16829:4;:11;:26;16799:56;16778:126;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17237:4;17232:10;;17273:1;17268:7;;17309:4;17340:12;17378:7;17411:10;17190:253;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;17190:253:0;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;17190:253:0;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;17190:253:0;;;17159:302;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;17159:302:0;;;;;;;;;;;;;;;;17073:402;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;17073:402:0;;;17050:435;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;17050:435:0;;;;;;;;;;;;;;;;17033:452;;17510:1;17501:10;;17496:582;17517:4;:11;17513:1;:15;17496:582;;;17570:122;17597:6;17621:4;17626:1;17621:7;;;;;;;;;;;;;;;;;;17646:4;17651:1;17646:7;;;;;;;;;;;;;;;;;;17671:4;17676:1;17671:7;;;;;;;;;;;;;;;;;;17570:122;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;17570:122:0;;;;;;;;17550:142;;17732:12;:24;17745:10;17732:24;;;;;;;;;;;;;;;;;:32;;:43;17765:9;17732:43;;;;;;;;;;;;;;;;;;;;;;;;;17707:120;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17867:12;:24;17880:10;17867:24;;;;;;;;;;;;;;;;;:30;;:41;17898:9;17867:41;;;;;;;;;;;;;;;;;;;;;;;;;17866:42;17841:127;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18026:4;17982:12;:24;17995:10;17982:24;;;;;;;;;;;;;;;;;:30;;:41;18013:9;17982:41;;;;;;;;;;;;;;;;:48;;;;;;;;;;;;;;;;;;18058:9;18044:23;;17530:3;;;;;;;17496:582;;;18095:11;18088:18;;16532:1581;;;;;;;;;;;;:::o;18119:317::-;18258:4;18278:17;18298:21;18306:12;18298:3;:7;;:21;;;;:::i;:::-;18278:41;;18366:1;18350:12;:17;;;:69;;18388:31;18414:4;18396:12;18388:21;;:25;;:31;;;;:::i;:::-;18376:9;:43;18350:69;;;18370:5;18350:69;18329:100;;18119:317;;;;;:::o;1078:131:2:-;1136:7;1172:9;1164:1;1159;:6;;1151:15;;;;;;;;1188:1;1184;:5;1172:17;;1203:1;1196:8;;1078:131;;;;;:::o;204:381::-;262:7;523:9;491:1;486;:6;482:35;;;509:1;502:8;;;;482:35;539:1;535;:5;523:17;;563:1;558;554;:5;;;;;;;;:10;546:19;;;;;;;;579:1;572:8;;204:381;;;;;;:::o", + "source": "pragma solidity 0.4.24;\n\nimport \"openzeppelin-solidity/contracts/math/SafeMath.sol\";\n\nimport \"../token/ITokenContract.sol\";\n\n\n/**\n* @dev Supports ERC20 tokens\n* The escrow smart contract for the open bazaar trades in Ethereum\n* The smart contract is designed keeping in mind the current wallet interface of the OB-core\n* https://github.com/OpenBazaar/wallet-interface/blob/master/wallet.go\n* Current wallet interface strictly adheres to UTXO(bitcoin) model\n* Please read below mentioned link for detailed specs\n* https://github.com/OpenBazaar/smart-contracts/blob/master/contracts/escrow/EscrowSpec.md\n*/\ncontract Escrow_v1_0 {\n\n using SafeMath for uint256;\n\n enum Status {FUNDED, RELEASED}\n\n enum TransactionType {ETHER, TOKEN}\n\n event Executed(\n bytes32 indexed scriptHash,\n address[] destinations,\n uint256[] amounts\n );\n\n event FundAdded(\n bytes32 indexed scriptHash,\n address indexed from,\n uint256 valueAdded\n );\n\n event Funded(\n bytes32 indexed scriptHash, \n address indexed from, \n uint256 value\n );\n\n struct Transaction {\n uint256 value;\n uint256 lastModified;//Time at which transaction was last modified\n Status status;\n TransactionType transactionType;\n uint8 threshold;\n uint32 timeoutHours;\n address buyer;\n address seller;\n address tokenAddress;//Token address in case of token transfer\n address moderator;\n mapping(address=>bool) isOwner;//to keep track of owners.\n mapping(address=>bool) voted;//to keep track of who all voted\n mapping(address=>bool) beneficiaries;//Benefeciaries of execution\n }\n\n mapping(bytes32 => Transaction) public transactions;\n\n uint256 public transactionCount = 0;\n\n //Contains mapping between each party and all of their transactions\n mapping(address => bytes32[]) private partyVsTransaction;\n\n modifier transactionExist(bytes32 scriptHash) {\n require(\n transactions[scriptHash].value != 0, \"Transaction does not exist\"\n );\n _;\n }\n\n modifier transactionDoesNotExist(bytes32 scriptHash) {\n require(transactions[scriptHash].value == 0, \"Transaction exist\");\n _;\n }\n\n modifier inFundedState(bytes32 scriptHash) {\n require(\n transactions[scriptHash].status == Status.FUNDED, \"Transaction is not in FUNDED state\"\n );\n _;\n }\n\n modifier nonZeroAddress(address addressToCheck) {\n require(addressToCheck != address(0), \"Zero address passed\");\n _;\n }\n\n modifier checkTransactionType(\n bytes32 scriptHash,\n TransactionType transactionType\n )\n {\n require(\n transactions[scriptHash].transactionType == transactionType, \"Transaction type does not match\"\n );\n _;\n }\n\n modifier onlyBuyer(bytes32 scriptHash) {\n require(\n msg.sender == transactions[scriptHash].buyer, \"The initiator of the transaction is not buyer\"\n );\n _;\n }\n\n /**\n * @dev Add new transaction in the contract\n * @param buyer The buyer of the transaction\n * @param seller The seller of the listing associated with the transaction\n * @param moderator Moderator for this transaction\n * @param threshold Minimum number of signatures required to released funds\n * @param timeoutHours Hours after which seller can release funds into his favour by signing transaction unilaterally\n * @param scriptHash keccak256 hash of the redeem script\n * @param uniqueId bytes20 unique id for the transaction, generated by ETH wallet\n * Redeem Script format will be following\n \n * Pass amount of the ethers to be put in escrow\n */\n function addTransaction(\n address buyer,\n address seller,\n address moderator,\n uint8 threshold,\n uint32 timeoutHours,\n bytes32 scriptHash,\n bytes20 uniqueId\n )\n external\n payable\n transactionDoesNotExist(scriptHash)\n nonZeroAddress(buyer)\n nonZeroAddress(seller)\n {\n _addTransaction(\n buyer,\n seller,\n moderator,\n threshold,\n timeoutHours,\n scriptHash,\n msg.value,\n uniqueId,\n TransactionType.ETHER,\n address(0)\n );\n \n emit Funded(scriptHash, msg.sender, msg.value);\n\n }\n\n /**\n * @dev Add new transaction in the contract\n * @param buyer The buyer of the transaction\n * @param seller The seller of the listing associated with the transaction\n * @param moderator Moderator for this transaction\n * @param threshold Minimum number of signatures required to released funds\n * @param timeoutHours Hours after which seller can release funds into his favour by signing transaction unilaterally\n * @param scriptHash keccak256 hash of the redeem script\n * @param value Amount of tokens to be put in escrow\n * @param uniqueId bytes20 unique id for the transaction, generated by ETH wallet\n * @param tokenAddress Address of the token to be used\n * Redeem Script format will be following\n \n * Approve escrow contract to spend amount of token on sender's behalf\n */\n function addTokenTransaction(\n address buyer,\n address seller,\n address moderator,\n uint8 threshold,\n uint32 timeoutHours,\n bytes32 scriptHash,\n uint256 value,\n bytes20 uniqueId,\n address tokenAddress\n )\n external\n transactionDoesNotExist(scriptHash)\n nonZeroAddress(buyer)\n nonZeroAddress(seller)\n nonZeroAddress(tokenAddress)\n {\n\n _addTransaction(\n buyer,\n seller,\n moderator,\n threshold,\n timeoutHours,\n scriptHash,\n value,\n uniqueId,\n TransactionType.TOKEN,\n tokenAddress\n );\n\n ITokenContract token = ITokenContract(tokenAddress);\n\n require(\n token.transferFrom(msg.sender, address(this), value),\n \"Token transfer failed, maybe you did not approve escrow contract to spend on behalf of sender\"\n );\n emit Funded(scriptHash, msg.sender, value);\n }\n\n /**\n * @dev This method will check whether given address was a beneficiary of transaction execution or not\n * @param scriptHash script hash of the transaction\n * @param beneficiary Beneficiary address to be checked\n */\n function checkBeneficiary(\n bytes32 scriptHash,\n address beneficiary\n )\n external\n view\n returns (bool)\n {\n return transactions[scriptHash].beneficiaries[beneficiary];\n }\n\n /**\n * @dev This method will check whether given party has voted or not\n * @param scriptHash script hash of the transaction\n * @param party Address of the party whose vote has to be checked\n * @return bool vote\n */\n function checkVote(\n bytes32 scriptHash,\n address party\n )\n external\n view\n returns (bool)\n {\n return transactions[scriptHash].voted[party];\n }\n\n /**\n * @dev Allows buyer of the transaction to add more funds(ether) in the transaction. \n * This will help to cater scenarios wherein initially buyer missed to fund transaction as required\n * @param scriptHash script hash of the transaction\n * Only buyer of the transaction can invoke this method\n */\n function addFundsToTransaction(\n bytes32 scriptHash\n )\n external\n payable\n transactionExist(scriptHash)\n inFundedState(scriptHash)\n checkTransactionType(scriptHash, TransactionType.ETHER)\n onlyBuyer(scriptHash)\n \n {\n\n require(msg.value > 0, \"Value must be greater than zero.\");\n\n transactions[scriptHash].value = transactions[scriptHash].value\n .add(msg.value);\n transactions[scriptHash].lastModified = block.timestamp;\n\n emit FundAdded(scriptHash, msg.sender, msg.value);\n }\n\n /**\n * @dev Allows buyer of the transaction to add more funds(Tokens) in the transaction. \n * This will help to cater scenarios wherein initially buyer missed to fund transaction as required\n * @param scriptHash script hash of the transaction\n * Only buyer of the transaction can invoke this method\n */\n function addTokensToTransaction(\n bytes32 scriptHash,\n uint256 value\n )\n external\n transactionExist(scriptHash)\n inFundedState(scriptHash)\n checkTransactionType(scriptHash, TransactionType.TOKEN)\n onlyBuyer(scriptHash)\n {\n\n require(value > 0, \"Value must be greater than zero.\");\n\n ITokenContract token = ITokenContract(\n transactions[scriptHash].tokenAddress\n );\n\n require(\n token.transferFrom(transactions[scriptHash].buyer, address(this), value),\n \"Token transfer failed, maybe you did not approve escrow contract to spend on behalf of buyer\"\n );\n\n transactions[scriptHash].value = transactions[scriptHash].value\n .add(value);\n transactions[scriptHash].lastModified = block.timestamp;\n\n emit FundAdded(scriptHash, msg.sender, value);\n }\n\n /**\n *@dev Returns all transaction ids for a party\n *@param partyAddress Address of the party\n */\n function getAllTransactionsForParty(\n address partyAddress\n ) \n external \n view \n returns (bytes32[]) \n {\n return partyVsTransaction[partyAddress];\n }\n\n /**\n *@dev This method will be used to release funds associated with the transaction\n * Please see specs https://github.com/OpenBazaar/smart-contracts/blob/master/contracts/escrow/EscrowSpec.md\n *@param sigV Array containing V component of all the signatures\n *@param sigR Array containing R component of all the signatures\n *@param signS Array containing S component of all the signatures\n *@param scriptHash script hash of the transaction\n *@param destinations List of addresses who will receive funds\n *@param amounts amount released to each destination\n */\n function execute(\n uint8[] sigV,\n bytes32[] sigR,\n bytes32[] sigS,\n bytes32 scriptHash,\n address[] destinations,\n uint256[] amounts\n )\n external\n transactionExist(scriptHash)\n inFundedState(scriptHash)\n { \n require(\n destinations.length>0, \n \"Number of destinations must be greater than 0\"\n );\n require(\n destinations.length == amounts.length,\n \"Number of destinations must match number of values sent\"\n );\n \n _verifyTransaction(\n sigV,\n sigR,\n sigS,\n scriptHash,\n destinations,\n amounts\n );\n\n transactions[scriptHash].status = Status.RELEASED;\n //Last modified timestamp modified, which will be used by rewards\n transactions[scriptHash].lastModified = block.timestamp;\n require(\n _transferFunds(scriptHash, destinations, amounts) == transactions[scriptHash].value,\n \"Total value to be released must be equal to the transaction escrow value\"\n );\n \n emit Executed(scriptHash, destinations, amounts);\n }\n\n\n /**\n *@dev Method for calculating script hash. Calculation will depend upon the type of transaction\n * ETHER Type transaction-:\n * Script Hash- keccak256(uniqueId, threshold, timeoutHours, buyer, seller, moderator, multiSigContractAddress)\n * TOKEN Type transaction\n * Script Hash- keccak256(uniqueId, threshold, timeoutHours, buyer, seller, moderator, multiSigContractAddress, tokenAddress)\n * Client can use this method to verify whether it has calculated correct script hash or not\n */\n function calculateRedeemScriptHash(\n bytes20 uniqueId,\n uint8 threshold,\n uint32 timeoutHours,\n address buyer,\n address seller,\n address moderator,\n address tokenAddress\n )\n public\n view\n returns (bytes32)\n {\n if (tokenAddress == address(0)) {\n return keccak256(\n abi.encodePacked(\n uniqueId,\n threshold,\n timeoutHours,\n buyer,\n seller,\n moderator,\n address(this)\n )\n );\n } else {\n return keccak256(\n abi.encodePacked(\n uniqueId,\n threshold,\n timeoutHours,\n buyer,\n seller,\n moderator,\n address(this),\n tokenAddress\n )\n );\n }\n }\n\n /**\n * @dev This methods checks validity of transaction\n * 1. Verify Signatures\n * 2. Check if minimum number of signatures has been acquired\n * 3. If above condition is false, check if time lock is expired and the execution is signed by seller\n */\n function _verifyTransaction(\n uint8[] sigV,\n bytes32[] sigR,\n bytes32[] sigS,\n bytes32 scriptHash,\n address[] destinations,\n uint256[] amounts\n )\n private\n {\n address lastRecovered = _verifySignatures(\n sigV,\n sigR,\n sigS,\n scriptHash,\n destinations,\n amounts\n );\n\n bool timeLockExpired = _isTimeLockExpired(\n transactions[scriptHash].timeoutHours,\n transactions[scriptHash].lastModified\n );\n\n //if Minimum number of signatures are not gathered and timelock has not expired or transaction was not signed by seller then revert\n if (\n sigV.length < transactions[scriptHash].threshold && (!timeLockExpired || lastRecovered != transactions[scriptHash].seller)\n )\n {\n revert(\"Minimum number of signatures are not collected and time lock expiry conditions not met!!\");\n }\n\n }\n\n /**\n *@dev Private method to transfer funds to the destination addresses on the basis of transaction type\n */\n function _transferFunds(\n bytes32 scriptHash,\n address[]destinations,\n uint256[]amounts\n )\n private\n returns (uint256)\n {\n Transaction storage t = transactions[scriptHash];\n\n uint256 valueTransferred = 0;\n\n if (t.transactionType == TransactionType.ETHER) {\n for (uint256 i = 0; i < destinations.length; i++) {\n\n require(destinations[i] != address(0), \"zero address is not allowed as destination address\");\n\n require(t.isOwner[destinations[i]], \"Destination address is not one of the owners\");\n\n require(amounts[i] > 0, \"Amount to be sent should be greater than 0\");\n\n valueTransferred = valueTransferred.add(amounts[i]);\n\n t.beneficiaries[destinations[i]] = true;//add receiver as beneficiary\n destinations[i].transfer(amounts[i]);\n }\n\n } else if (t.transactionType == TransactionType.TOKEN) {\n\n ITokenContract token = ITokenContract(t.tokenAddress);\n\n for (uint256 j = 0; j 0, \"Amount to be sent should be greater than 0\");\n\n valueTransferred = valueTransferred.add(amounts[j]);\n t.beneficiaries[destinations[j]] = true;//add receiver as beneficiary\n\n require(token.transfer(destinations[j], amounts[j]), \"Token transfer failed.\");\n }\n } \n return valueTransferred;\n }\n\n //to check whether the signatures are valid or not and if consensus was reached\n //returns the last address recovered, in case of timeout this must be the sender's address\n function _verifySignatures(\n uint8[] sigV,\n bytes32[] sigR,\n bytes32[] sigS,\n bytes32 scriptHash,\n address[] destinations,\n uint256[]amounts\n )\n private\n returns (address)\n {\n\n require(\n sigR.length == sigS.length && sigR.length == sigV.length, \n \"R,S,V length mismatch.\"\n );\n\n address lastAddress;\n\n // Follows ERC191 signature scheme: https://github.com/ethereum/EIPs/issues/191\n bytes32 txHash = keccak256(\n abi.encodePacked(\n \"\\x19Ethereum Signed Message:\\n32\",\n keccak256(\n abi.encodePacked(\n byte(0x19),\n byte(0),\n address(this),\n destinations,\n amounts,\n scriptHash\n )\n )\n )\n );\n\n for (uint i = 0; i < sigR.length; i++) {\n\n address recovered = ecrecover(\n txHash,\n sigV[i],\n sigR[i],\n sigS[i]\n );\n\n require(\n transactions[scriptHash].isOwner[recovered], \n \"Invalid signature\"\n );\n require(\n !transactions[scriptHash].voted[recovered], \n \"Same signature sent twice\"\n );\n transactions[scriptHash].voted[recovered] = true;\n lastAddress = recovered;\n }\n\n return lastAddress;\n }\n\n function _isTimeLockExpired(\n uint32 timeoutHours,\n uint256 lastModified\n )\n private\n view\n returns (bool)\n {\n uint256 timeSince = now.sub(lastModified);\n return (\n timeoutHours == 0 ? false:timeSince > uint256(timeoutHours).mul(3600)\n );\n }\n\n /**\n * Private method to add transaction to reduce code redundancy\n */\n function _addTransaction(\n address buyer,\n address seller,\n address moderator,\n uint8 threshold,\n uint32 timeoutHours,\n bytes32 scriptHash,\n uint256 value,\n bytes20 uniqueId,\n TransactionType transactionType,\n address tokenAddress\n )\n private\n { \n require(buyer != seller, \"Buyer and seller are same\");\n\n //value passed should be greater than 0\n require(value > 0, \"Value passed is 0\");\n\n // For now allowing 0 moderator to support 1-2 multisig wallet\n require(\n threshold > 0 && threshold <= 3, \n \"Threshold cannot be greater than 3 and must be greater than 0\"\n );\n\n //if threshold is 1 then moderator can be passed as zero address or any other address\n //(it won't matter apart from scripthash since we wont add moderator as one of the owner),\n //otherwise moderator should be a valid address\n require(\n threshold == 1 || moderator != address(0),\n \"Either threshold should be 1 or valid moderator address should be passed\"\n );\n\n require(\n scriptHash == calculateRedeemScriptHash(\n uniqueId,\n threshold,\n timeoutHours,\n buyer,\n seller,\n moderator,\n tokenAddress\n ), \n \"Calculated script hash does not match passed script hash.\"\n );\n\n transactions[scriptHash] = Transaction({\n buyer: buyer,\n seller: seller,\n moderator: moderator,\n value: value,\n status: Status.FUNDED,\n lastModified: block.timestamp,\n threshold: threshold,\n timeoutHours: timeoutHours,\n transactionType:transactionType,\n tokenAddress:tokenAddress\n });\n\n transactions[scriptHash].isOwner[seller] = true;\n transactions[scriptHash].isOwner[buyer] = true; \n\n //Check if buyer or seller are not passed as moderator\n require(\n !transactions[scriptHash].isOwner[moderator], \n \"Either buyer or seller is passed as moderator\"\n );\n\n //set moderator as one of the owners only if threshold is greater than 1 otherwise only buyer and seller should be able to release funds\n if (threshold > 1) {\n transactions[scriptHash].isOwner[moderator] = true;\n }\n \n\n transactionCount++;\n\n partyVsTransaction[buyer].push(scriptHash);\n partyVsTransaction[seller].push(scriptHash);\n }\n}\n", "sourcePath": "/home/sameep/freelancing-projects/toptal/open baazar/publicRepo/smart-contracts/contracts/escrow/Escrow_v1_0.sol", "ast": { "absolutePath": "/home/sameep/freelancing-projects/toptal/open baazar/publicRepo/smart-contracts/contracts/escrow/Escrow_v1_0.sol", @@ -447,7 +447,7 @@ "baseContracts": [], "contractDependencies": [], "contractKind": "contract", - "documentation": "@dev Supports ERC20 tokens\nThe escrow smart contract for the open bazaar trades in Ethereum\nThe smart contract is designed keeping in mind the current wallet interface of the OB-core\nhttps://github.com/OpenBazaar/wallet-interface/blob/master/wallet.go\nCurrent wallet interface strictly adheres to UTXO(bitcoin) model", + "documentation": "@dev Supports ERC20 tokens\nThe escrow smart contract for the open bazaar trades in Ethereum\nThe smart contract is designed keeping in mind the current wallet interface of the OB-core\nhttps://github.com/OpenBazaar/wallet-interface/blob/master/wallet.go\nCurrent wallet interface strictly adheres to UTXO(bitcoin) model\nPlease read below mentioned link for detailed specs\nhttps://github.com/OpenBazaar/smart-contracts/blob/master/contracts/escrow/EscrowSpec.md", "fullyImplemented": true, "id": 1224, "linearizedBaseContracts": [ @@ -464,19 +464,19 @@ "name": "SafeMath", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 1382, - "src": "494:8:0", + "src": "639:8:0", "typeDescriptions": { "typeIdentifier": "t_contract$_SafeMath_$1382", "typeString": "library SafeMath" } }, "nodeType": "UsingForDirective", - "src": "488:27:0", + "src": "633:27:0", "typeName": { "id": 5, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "507:7:0", + "src": "652:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -491,18 +491,18 @@ "id": 7, "name": "FUNDED", "nodeType": "EnumValue", - "src": "534:6:0" + "src": "679:6:0" }, { "id": 8, "name": "RELEASED", "nodeType": "EnumValue", - "src": "542:8:0" + "src": "687:8:0" } ], "name": "Status", "nodeType": "EnumDefinition", - "src": "521:30:0" + "src": "666:30:0" }, { "canonicalName": "Escrow_v1_0.TransactionType", @@ -512,18 +512,18 @@ "id": 10, "name": "ETHER", "nodeType": "EnumValue", - "src": "579:5:0" + "src": "724:5:0" }, { "id": 11, "name": "TOKEN", "nodeType": "EnumValue", - "src": "586:5:0" + "src": "731:5:0" } ], "name": "TransactionType", "nodeType": "EnumDefinition", - "src": "557:35:0" + "src": "702:35:0" }, { "anonymous": false, @@ -542,7 +542,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 22, - "src": "622:26:0", + "src": "767:26:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -553,7 +553,7 @@ "id": 13, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "622:7:0", + "src": "767:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -569,7 +569,7 @@ "name": "destinations", "nodeType": "VariableDeclaration", "scope": 22, - "src": "658:22:0", + "src": "803:22:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -581,7 +581,7 @@ "id": 15, "name": "address", "nodeType": "ElementaryTypeName", - "src": "658:7:0", + "src": "803:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -590,7 +590,7 @@ "id": 16, "length": null, "nodeType": "ArrayTypeName", - "src": "658:9:0", + "src": "803:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", "typeString": "address[]" @@ -606,7 +606,7 @@ "name": "amounts", "nodeType": "VariableDeclaration", "scope": 22, - "src": "690:17:0", + "src": "835:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -618,7 +618,7 @@ "id": 18, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "690:7:0", + "src": "835:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -627,7 +627,7 @@ "id": 19, "length": null, "nodeType": "ArrayTypeName", - "src": "690:9:0", + "src": "835:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -637,9 +637,9 @@ "visibility": "internal" } ], - "src": "612:101:0" + "src": "757:101:0" }, - "src": "598:116:0" + "src": "743:116:0" }, { "anonymous": false, @@ -658,7 +658,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 30, - "src": "745:26:0", + "src": "890:26:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -669,7 +669,7 @@ "id": 23, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "745:7:0", + "src": "890:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -685,7 +685,7 @@ "name": "from", "nodeType": "VariableDeclaration", "scope": 30, - "src": "781:20:0", + "src": "926:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -696,7 +696,7 @@ "id": 25, "name": "address", "nodeType": "ElementaryTypeName", - "src": "781:7:0", + "src": "926:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -712,7 +712,7 @@ "name": "valueAdded", "nodeType": "VariableDeclaration", "scope": 30, - "src": "811:18:0", + "src": "956:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -723,7 +723,7 @@ "id": 27, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "811:7:0", + "src": "956:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -733,9 +733,9 @@ "visibility": "internal" } ], - "src": "735:100:0" + "src": "880:100:0" }, - "src": "720:116:0" + "src": "865:116:0" }, { "anonymous": false, @@ -754,7 +754,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 38, - "src": "864:26:0", + "src": "1009:26:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -765,7 +765,7 @@ "id": 31, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "864:7:0", + "src": "1009:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -781,7 +781,7 @@ "name": "from", "nodeType": "VariableDeclaration", "scope": 38, - "src": "901:20:0", + "src": "1046:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -792,7 +792,7 @@ "id": 33, "name": "address", "nodeType": "ElementaryTypeName", - "src": "901:7:0", + "src": "1046:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -808,7 +808,7 @@ "name": "value", "nodeType": "VariableDeclaration", "scope": 38, - "src": "932:13:0", + "src": "1077:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -819,7 +819,7 @@ "id": 35, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "932:7:0", + "src": "1077:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -829,9 +829,9 @@ "visibility": "internal" } ], - "src": "854:97:0" + "src": "999:97:0" }, - "src": "842:110:0" + "src": "987:110:0" }, { "canonicalName": "Escrow_v1_0.Transaction", @@ -843,7 +843,7 @@ "name": "value", "nodeType": "VariableDeclaration", "scope": 71, - "src": "987:13:0", + "src": "1132:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -854,7 +854,7 @@ "id": 39, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "987:7:0", + "src": "1132:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -869,7 +869,7 @@ "name": "lastModified", "nodeType": "VariableDeclaration", "scope": 71, - "src": "1010:20:0", + "src": "1155:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -880,7 +880,7 @@ "id": 41, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1010:7:0", + "src": "1155:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -895,7 +895,7 @@ "name": "status", "nodeType": "VariableDeclaration", "scope": 71, - "src": "1085:13:0", + "src": "1230:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -908,7 +908,7 @@ "name": "Status", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 9, - "src": "1085:6:0", + "src": "1230:6:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$9", "typeString": "enum Escrow_v1_0.Status" @@ -923,7 +923,7 @@ "name": "transactionType", "nodeType": "VariableDeclaration", "scope": 71, - "src": "1108:31:0", + "src": "1253:31:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -936,7 +936,7 @@ "name": "TransactionType", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 12, - "src": "1108:15:0", + "src": "1253:15:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -951,7 +951,7 @@ "name": "threshold", "nodeType": "VariableDeclaration", "scope": 71, - "src": "1149:15:0", + "src": "1294:15:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -962,7 +962,7 @@ "id": 47, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "1149:5:0", + "src": "1294:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -977,7 +977,7 @@ "name": "timeoutHours", "nodeType": "VariableDeclaration", "scope": 71, - "src": "1174:19:0", + "src": "1319:19:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -988,7 +988,7 @@ "id": 49, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "1174:6:0", + "src": "1319:6:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -1003,7 +1003,7 @@ "name": "buyer", "nodeType": "VariableDeclaration", "scope": 71, - "src": "1203:13:0", + "src": "1348:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1014,7 +1014,7 @@ "id": 51, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1203:7:0", + "src": "1348:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1029,7 +1029,7 @@ "name": "seller", "nodeType": "VariableDeclaration", "scope": 71, - "src": "1226:14:0", + "src": "1371:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1040,7 +1040,7 @@ "id": 53, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1226:7:0", + "src": "1371:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1055,7 +1055,7 @@ "name": "tokenAddress", "nodeType": "VariableDeclaration", "scope": 71, - "src": "1250:20:0", + "src": "1395:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1066,7 +1066,7 @@ "id": 55, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1250:7:0", + "src": "1395:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1081,7 +1081,7 @@ "name": "moderator", "nodeType": "VariableDeclaration", "scope": 71, - "src": "1321:17:0", + "src": "1466:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1092,7 +1092,7 @@ "id": 57, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1321:7:0", + "src": "1466:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1107,7 +1107,7 @@ "name": "isOwner", "nodeType": "VariableDeclaration", "scope": 71, - "src": "1348:30:0", + "src": "1493:30:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1120,14 +1120,14 @@ "id": 59, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1356:7:0", + "src": "1501:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "Mapping", - "src": "1348:22:0", + "src": "1493:22:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -1136,7 +1136,7 @@ "id": 60, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "1365:4:0", + "src": "1510:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1152,7 +1152,7 @@ "name": "voted", "nodeType": "VariableDeclaration", "scope": 71, - "src": "1414:28:0", + "src": "1559:28:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1165,14 +1165,14 @@ "id": 63, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1422:7:0", + "src": "1567:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "Mapping", - "src": "1414:22:0", + "src": "1559:22:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -1181,7 +1181,7 @@ "id": 64, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "1431:4:0", + "src": "1576:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1197,7 +1197,7 @@ "name": "beneficiaries", "nodeType": "VariableDeclaration", "scope": 71, - "src": "1484:36:0", + "src": "1629:36:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1210,14 +1210,14 @@ "id": 67, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1492:7:0", + "src": "1637:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "Mapping", - "src": "1484:22:0", + "src": "1629:22:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -1226,7 +1226,7 @@ "id": 68, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "1501:4:0", + "src": "1646:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1240,7 +1240,7 @@ "name": "Transaction", "nodeType": "StructDefinition", "scope": 1224, - "src": "958:597:0", + "src": "1103:597:0", "visibility": "public" }, { @@ -1249,7 +1249,7 @@ "name": "transactions", "nodeType": "VariableDeclaration", "scope": 1224, - "src": "1561:51:0", + "src": "1706:51:0", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -1262,14 +1262,14 @@ "id": 72, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "1569:7:0", + "src": "1714:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "nodeType": "Mapping", - "src": "1561:31:0", + "src": "1706:31:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction)" @@ -1280,7 +1280,7 @@ "name": "Transaction", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 71, - "src": "1580:11:0", + "src": "1725:11:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction" @@ -1296,7 +1296,7 @@ "name": "transactionCount", "nodeType": "VariableDeclaration", "scope": 1224, - "src": "1619:35:0", + "src": "1764:35:0", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -1307,7 +1307,7 @@ "id": 76, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1619:7:0", + "src": "1764:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1323,7 +1323,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1653:1:0", + "src": "1798:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -1339,7 +1339,7 @@ "name": "partyVsTransaction", "nodeType": "VariableDeclaration", "scope": 1224, - "src": "1733:56:0", + "src": "1878:56:0", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -1352,14 +1352,14 @@ "id": 79, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1741:7:0", + "src": "1886:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "Mapping", - "src": "1733:29:0", + "src": "1878:29:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_bytes32_$dyn_storage_$", "typeString": "mapping(address => bytes32[])" @@ -1369,7 +1369,7 @@ "id": 80, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "1752:7:0", + "src": "1897:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -1378,7 +1378,7 @@ "id": 81, "length": null, "nodeType": "ArrayTypeName", - "src": "1752:9:0", + "src": "1897:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -1392,7 +1392,7 @@ "body": { "id": 98, "nodeType": "Block", - "src": "1842:124:0", + "src": "1987:124:0", "statements": [ { "expression": { @@ -1420,7 +1420,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "1873:12:0", + "src": "2018:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -1434,7 +1434,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 85, - "src": "1886:10:0", + "src": "2031:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -1445,7 +1445,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "1873:24:0", + "src": "2018:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -1459,7 +1459,7 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": 40, - "src": "1873:30:0", + "src": "2018:30:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1477,7 +1477,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1907:1:0", + "src": "2052:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -1485,7 +1485,7 @@ }, "value": "0" }, - "src": "1873:35:0", + "src": "2018:35:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1501,7 +1501,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "1910:28:0", + "src": "2055:28:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_cb323e46bbcca91e157c2b50ad4ce2acbe1153338b838c84372d5723b8995ef0", @@ -1529,7 +1529,7 @@ 1401 ], "referencedDeclaration": 1401, - "src": "1852:7:0", + "src": "1997:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -1543,7 +1543,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1852:96:0", + "src": "1997:96:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -1551,12 +1551,12 @@ }, "id": 96, "nodeType": "ExpressionStatement", - "src": "1852:96:0" + "src": "1997:96:0" }, { "id": 97, "nodeType": "PlaceholderStatement", - "src": "1958:1:0" + "src": "2103:1:0" } ] }, @@ -1574,7 +1574,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 99, - "src": "1822:18:0", + "src": "1967:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1585,7 +1585,7 @@ "id": 84, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "1822:7:0", + "src": "1967:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -1595,16 +1595,16 @@ "visibility": "internal" } ], - "src": "1821:20:0" + "src": "1966:20:0" }, - "src": "1796:170:0", + "src": "1941:170:0", "visibility": "internal" }, { "body": { "id": 114, "nodeType": "Block", - "src": "2025:93:0", + "src": "2170:93:0", "statements": [ { "expression": { @@ -1632,7 +1632,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "2043:12:0", + "src": "2188:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -1646,7 +1646,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 101, - "src": "2056:10:0", + "src": "2201:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -1657,7 +1657,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "2043:24:0", + "src": "2188:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -1671,7 +1671,7 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": 40, - "src": "2043:30:0", + "src": "2188:30:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1689,7 +1689,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2077:1:0", + "src": "2222:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -1697,7 +1697,7 @@ }, "value": "0" }, - "src": "2043:35:0", + "src": "2188:35:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1713,7 +1713,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "2080:19:0", + "src": "2225:19:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_4f41f109da323167d042f4559ebd6e2dc42fdbc2be1a2cea9ff6130572900782", @@ -1741,7 +1741,7 @@ 1401 ], "referencedDeclaration": 1401, - "src": "2035:7:0", + "src": "2180:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -1755,7 +1755,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2035:65:0", + "src": "2180:65:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -1763,12 +1763,12 @@ }, "id": 112, "nodeType": "ExpressionStatement", - "src": "2035:65:0" + "src": "2180:65:0" }, { "id": 113, "nodeType": "PlaceholderStatement", - "src": "2110:1:0" + "src": "2255:1:0" } ] }, @@ -1786,7 +1786,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 115, - "src": "2005:18:0", + "src": "2150:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1797,7 +1797,7 @@ "id": 100, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "2005:7:0", + "src": "2150:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -1807,16 +1807,16 @@ "visibility": "internal" } ], - "src": "2004:20:0" + "src": "2149:20:0" }, - "src": "1972:146:0", + "src": "2117:146:0", "visibility": "internal" }, { "body": { "id": 131, "nodeType": "Block", - "src": "2167:145:0", + "src": "2312:145:0", "statements": [ { "expression": { @@ -1844,7 +1844,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "2198:12:0", + "src": "2343:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -1858,7 +1858,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 117, - "src": "2211:10:0", + "src": "2356:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -1869,7 +1869,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "2198:24:0", + "src": "2343:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -1883,7 +1883,7 @@ "memberName": "status", "nodeType": "MemberAccess", "referencedDeclaration": 44, - "src": "2198:31:0", + "src": "2343:31:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$9", "typeString": "enum Escrow_v1_0.Status" @@ -1900,7 +1900,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9, - "src": "2233:6:0", + "src": "2378:6:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_Status_$9_$", "typeString": "type(enum Escrow_v1_0.Status)" @@ -1914,13 +1914,13 @@ "memberName": "FUNDED", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "2233:13:0", + "src": "2378:13:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$9", "typeString": "enum Escrow_v1_0.Status" } }, - "src": "2198:48:0", + "src": "2343:48:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1936,7 +1936,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "2248:36:0", + "src": "2393:36:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_5244efce1630cfae7257c0817c921ae75135c1043344a4cf9a1988c03337f39d", @@ -1964,7 +1964,7 @@ 1401 ], "referencedDeclaration": 1401, - "src": "2177:7:0", + "src": "2322:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -1978,7 +1978,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2177:117:0", + "src": "2322:117:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -1986,12 +1986,12 @@ }, "id": 129, "nodeType": "ExpressionStatement", - "src": "2177:117:0" + "src": "2322:117:0" }, { "id": 130, "nodeType": "PlaceholderStatement", - "src": "2304:1:0" + "src": "2449:1:0" } ] }, @@ -2009,7 +2009,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 132, - "src": "2147:18:0", + "src": "2292:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2020,7 +2020,7 @@ "id": 116, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "2147:7:0", + "src": "2292:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -2030,16 +2030,16 @@ "visibility": "internal" } ], - "src": "2146:20:0" + "src": "2291:20:0" }, - "src": "2124:188:0", + "src": "2269:188:0", "visibility": "internal" }, { "body": { "id": 146, "nodeType": "Block", - "src": "2366:88:0", + "src": "2511:88:0", "statements": [ { "expression": { @@ -2063,7 +2063,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 134, - "src": "2384:14:0", + "src": "2529:14:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2084,7 +2084,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2410:1:0", + "src": "2555:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -2106,7 +2106,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "2402:7:0", + "src": "2547:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" @@ -2121,13 +2121,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2402:10:0", + "src": "2547:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "2384:28:0", + "src": "2529:28:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -2143,7 +2143,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "2414:21:0", + "src": "2559:21:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_93e85f37f73cf8e1b855512ab7e00aab2b791117712ecb476daeb6c2c0a27a67", @@ -2171,7 +2171,7 @@ 1401 ], "referencedDeclaration": 1401, - "src": "2376:7:0", + "src": "2521:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -2185,7 +2185,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2376:60:0", + "src": "2521:60:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -2193,12 +2193,12 @@ }, "id": 144, "nodeType": "ExpressionStatement", - "src": "2376:60:0" + "src": "2521:60:0" }, { "id": 145, "nodeType": "PlaceholderStatement", - "src": "2446:1:0" + "src": "2591:1:0" } ] }, @@ -2216,7 +2216,7 @@ "name": "addressToCheck", "nodeType": "VariableDeclaration", "scope": 147, - "src": "2342:22:0", + "src": "2487:22:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2227,7 +2227,7 @@ "id": 133, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2342:7:0", + "src": "2487:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2237,16 +2237,16 @@ "visibility": "internal" } ], - "src": "2341:24:0" + "src": "2486:24:0" }, - "src": "2318:136:0", + "src": "2463:136:0", "visibility": "internal" }, { "body": { "id": 164, "nodeType": "Block", - "src": "2569:153:0", + "src": "2714:153:0", "statements": [ { "expression": { @@ -2274,7 +2274,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "2600:12:0", + "src": "2745:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -2288,7 +2288,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 149, - "src": "2613:10:0", + "src": "2758:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -2299,7 +2299,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "2600:24:0", + "src": "2745:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -2313,7 +2313,7 @@ "memberName": "transactionType", "nodeType": "MemberAccess", "referencedDeclaration": 46, - "src": "2600:40:0", + "src": "2745:40:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -2328,13 +2328,13 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 151, - "src": "2644:15:0", + "src": "2789:15:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" } }, - "src": "2600:59:0", + "src": "2745:59:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -2350,7 +2350,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "2661:33:0", + "src": "2806:33:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_c798eb33a8bd5d4c22212d5c8611219bb87da2d82aefe8e88b1f970a0f133cc3", @@ -2378,7 +2378,7 @@ 1401 ], "referencedDeclaration": 1401, - "src": "2579:7:0", + "src": "2724:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -2392,7 +2392,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2579:125:0", + "src": "2724:125:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -2400,12 +2400,12 @@ }, "id": 162, "nodeType": "ExpressionStatement", - "src": "2579:125:0" + "src": "2724:125:0" }, { "id": 163, "nodeType": "PlaceholderStatement", - "src": "2714:1:0" + "src": "2859:1:0" } ] }, @@ -2423,7 +2423,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 165, - "src": "2499:18:0", + "src": "2644:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2434,7 +2434,7 @@ "id": 148, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "2499:7:0", + "src": "2644:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -2449,7 +2449,7 @@ "name": "transactionType", "nodeType": "VariableDeclaration", "scope": 165, - "src": "2527:31:0", + "src": "2672:31:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2462,7 +2462,7 @@ "name": "TransactionType", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 12, - "src": "2527:15:0", + "src": "2672:15:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -2472,16 +2472,16 @@ "visibility": "internal" } ], - "src": "2489:75:0" + "src": "2634:75:0" }, - "src": "2460:262:0", + "src": "2605:262:0", "visibility": "internal" }, { "body": { "id": 181, "nodeType": "Block", - "src": "2767:152:0", + "src": "2912:152:0", "statements": [ { "expression": { @@ -2507,7 +2507,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1397, - "src": "2798:3:0", + "src": "2943:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -2521,7 +2521,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "2798:10:0", + "src": "2943:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2540,7 +2540,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "2812:12:0", + "src": "2957:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -2554,7 +2554,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 167, - "src": "2825:10:0", + "src": "2970:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -2565,7 +2565,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "2812:24:0", + "src": "2957:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -2579,13 +2579,13 @@ "memberName": "buyer", "nodeType": "MemberAccess", "referencedDeclaration": 52, - "src": "2812:30:0", + "src": "2957:30:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "2798:44:0", + "src": "2943:44:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -2601,7 +2601,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "2844:47:0", + "src": "2989:47:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_b4fc72d2373e6fc668b2bc10a6c84713d84de5f4dc58bb69053e1a18ae67c2f9", @@ -2629,7 +2629,7 @@ 1401 ], "referencedDeclaration": 1401, - "src": "2777:7:0", + "src": "2922:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -2643,7 +2643,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2777:124:0", + "src": "2922:124:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -2651,12 +2651,12 @@ }, "id": 179, "nodeType": "ExpressionStatement", - "src": "2777:124:0" + "src": "2922:124:0" }, { "id": 180, "nodeType": "PlaceholderStatement", - "src": "2911:1:0" + "src": "3056:1:0" } ] }, @@ -2674,7 +2674,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 182, - "src": "2747:18:0", + "src": "2892:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2685,7 +2685,7 @@ "id": 166, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "2747:7:0", + "src": "2892:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -2695,16 +2695,16 @@ "visibility": "internal" } ], - "src": "2746:20:0" + "src": "2891:20:0" }, - "src": "2728:191:0", + "src": "2873:191:0", "visibility": "internal" }, { "body": { "id": 233, "nodeType": "Block", - "src": "4068:347:0", + "src": "4213:347:0", "statements": [ { "expression": { @@ -2717,7 +2717,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 184, - "src": "4107:5:0", + "src": "4252:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2730,7 +2730,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 186, - "src": "4126:6:0", + "src": "4271:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2743,7 +2743,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 188, - "src": "4146:9:0", + "src": "4291:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2756,7 +2756,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 190, - "src": "4169:9:0", + "src": "4314:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -2769,7 +2769,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 192, - "src": "4192:12:0", + "src": "4337:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -2782,7 +2782,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 194, - "src": "4218:10:0", + "src": "4363:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -2797,7 +2797,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1397, - "src": "4242:3:0", + "src": "4387:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -2811,7 +2811,7 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "4242:9:0", + "src": "4387:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2824,7 +2824,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 196, - "src": "4265:8:0", + "src": "4410:8:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -2839,7 +2839,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12, - "src": "4287:15:0", + "src": "4432:15:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_TransactionType_$12_$", "typeString": "type(enum Escrow_v1_0.TransactionType)" @@ -2853,7 +2853,7 @@ "memberName": "ETHER", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "4287:21:0", + "src": "4432:21:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -2872,7 +2872,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "4330:1:0", + "src": "4475:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -2894,7 +2894,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "4322:7:0", + "src": "4467:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" @@ -2909,7 +2909,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4322:10:0", + "src": "4467:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2964,7 +2964,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1223, - "src": "4078:15:0", + "src": "4223:15:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_address_$_t_uint8_$_t_uint32_$_t_bytes32_$_t_uint256_$_t_bytes20_$_t_enum$_TransactionType_$12_$_t_address_$returns$__$", "typeString": "function (address,address,address,uint8,uint32,bytes32,uint256,bytes20,enum Escrow_v1_0.TransactionType,address)" @@ -2978,7 +2978,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4078:264:0", + "src": "4223:264:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -2986,7 +2986,7 @@ }, "id": 224, "nodeType": "ExpressionStatement", - "src": "4078:264:0" + "src": "4223:264:0" }, { "eventCall": { @@ -2999,7 +2999,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 194, - "src": "4373:10:0", + "src": "4518:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -3014,7 +3014,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1397, - "src": "4385:3:0", + "src": "4530:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -3028,7 +3028,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "4385:10:0", + "src": "4530:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3043,7 +3043,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1397, - "src": "4397:3:0", + "src": "4542:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -3057,7 +3057,7 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "4397:9:0", + "src": "4542:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3084,7 +3084,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 38, - "src": "4366:6:0", + "src": "4511:6:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (bytes32,address,uint256)" @@ -3098,7 +3098,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4366:41:0", + "src": "4511:41:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -3106,7 +3106,7 @@ }, "id": 232, "nodeType": "EmitStatement", - "src": "4361:46:0" + "src": "4506:46:0" } ] }, @@ -3125,7 +3125,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 194, - "src": "3991:10:0", + "src": "4136:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -3140,14 +3140,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 115, - "src": "3967:23:0", + "src": "4112:23:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "3967:35:0" + "src": "4112:35:0" }, { "arguments": [ @@ -3158,7 +3158,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 184, - "src": "4026:5:0", + "src": "4171:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3173,14 +3173,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 147, - "src": "4011:14:0", + "src": "4156:14:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_address_$", "typeString": "modifier (address)" } }, "nodeType": "ModifierInvocation", - "src": "4011:21:0" + "src": "4156:21:0" }, { "arguments": [ @@ -3191,7 +3191,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 186, - "src": "4056:6:0", + "src": "4201:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3206,14 +3206,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 147, - "src": "4041:14:0", + "src": "4186:14:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_address_$", "typeString": "modifier (address)" } }, "nodeType": "ModifierInvocation", - "src": "4041:22:0" + "src": "4186:22:0" } ], "name": "addTransaction", @@ -3228,7 +3228,7 @@ "name": "buyer", "nodeType": "VariableDeclaration", "scope": 234, - "src": "3747:13:0", + "src": "3892:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3239,7 +3239,7 @@ "id": 183, "name": "address", "nodeType": "ElementaryTypeName", - "src": "3747:7:0", + "src": "3892:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3254,7 +3254,7 @@ "name": "seller", "nodeType": "VariableDeclaration", "scope": 234, - "src": "3770:14:0", + "src": "3915:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3265,7 +3265,7 @@ "id": 185, "name": "address", "nodeType": "ElementaryTypeName", - "src": "3770:7:0", + "src": "3915:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3280,7 +3280,7 @@ "name": "moderator", "nodeType": "VariableDeclaration", "scope": 234, - "src": "3794:17:0", + "src": "3939:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3291,7 +3291,7 @@ "id": 187, "name": "address", "nodeType": "ElementaryTypeName", - "src": "3794:7:0", + "src": "3939:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3306,7 +3306,7 @@ "name": "threshold", "nodeType": "VariableDeclaration", "scope": 234, - "src": "3821:15:0", + "src": "3966:15:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3317,7 +3317,7 @@ "id": 189, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "3821:5:0", + "src": "3966:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -3332,7 +3332,7 @@ "name": "timeoutHours", "nodeType": "VariableDeclaration", "scope": 234, - "src": "3846:19:0", + "src": "3991:19:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3343,7 +3343,7 @@ "id": 191, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "3846:6:0", + "src": "3991:6:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -3358,7 +3358,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 234, - "src": "3875:18:0", + "src": "4020:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3369,7 +3369,7 @@ "id": 193, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "3875:7:0", + "src": "4020:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -3384,7 +3384,7 @@ "name": "uniqueId", "nodeType": "VariableDeclaration", "scope": 234, - "src": "3903:16:0", + "src": "4048:16:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3395,7 +3395,7 @@ "id": 195, "name": "bytes20", "nodeType": "ElementaryTypeName", - "src": "3903:7:0", + "src": "4048:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -3405,17 +3405,17 @@ "visibility": "internal" } ], - "src": "3737:188:0" + "src": "3882:188:0" }, "payable": true, "returnParameters": { "id": 207, "nodeType": "ParameterList", "parameters": [], - "src": "4068:0:0" + "src": "4213:0:0" }, "scope": 1224, - "src": "3714:701:0", + "src": "3859:701:0", "stateMutability": "payable", "superFunction": null, "visibility": "external" @@ -3424,7 +3424,7 @@ "body": { "id": 307, "nodeType": "Block", - "src": "5796:597:0", + "src": "5941:597:0", "statements": [ { "expression": { @@ -3437,7 +3437,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 236, - "src": "5836:5:0", + "src": "5981:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3450,7 +3450,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 238, - "src": "5855:6:0", + "src": "6000:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3463,7 +3463,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 240, - "src": "5875:9:0", + "src": "6020:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3476,7 +3476,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 242, - "src": "5898:9:0", + "src": "6043:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -3489,7 +3489,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 244, - "src": "5921:12:0", + "src": "6066:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -3502,7 +3502,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 246, - "src": "5947:10:0", + "src": "6092:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -3515,7 +3515,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 248, - "src": "5971:5:0", + "src": "6116:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3528,7 +3528,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 250, - "src": "5990:8:0", + "src": "6135:8:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -3543,7 +3543,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12, - "src": "6012:15:0", + "src": "6157:15:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_TransactionType_$12_$", "typeString": "type(enum Escrow_v1_0.TransactionType)" @@ -3557,7 +3557,7 @@ "memberName": "TOKEN", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "6012:21:0", + "src": "6157:21:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -3570,7 +3570,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 252, - "src": "6047:12:0", + "src": "6192:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3625,7 +3625,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1223, - "src": "5807:15:0", + "src": "5952:15:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_address_$_t_uint8_$_t_uint32_$_t_bytes32_$_t_uint256_$_t_bytes20_$_t_enum$_TransactionType_$12_$_t_address_$returns$__$", "typeString": "function (address,address,address,uint8,uint32,bytes32,uint256,bytes20,enum Escrow_v1_0.TransactionType,address)" @@ -3639,7 +3639,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5807:262:0", + "src": "5952:262:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -3647,7 +3647,7 @@ }, "id": 280, "nodeType": "ExpressionStatement", - "src": "5807:262:0" + "src": "5952:262:0" }, { "assignments": [ @@ -3660,7 +3660,7 @@ "name": "token", "nodeType": "VariableDeclaration", "scope": 308, - "src": "6080:20:0", + "src": "6225:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3673,7 +3673,7 @@ "name": "ITokenContract", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 1254, - "src": "6080:14:0", + "src": "6225:14:0", "typeDescriptions": { "typeIdentifier": "t_contract$_ITokenContract_$1254", "typeString": "contract ITokenContract" @@ -3694,7 +3694,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 252, - "src": "6118:12:0", + "src": "6263:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3713,7 +3713,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1254, - "src": "6103:14:0", + "src": "6248:14:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_ITokenContract_$1254_$", "typeString": "type(contract ITokenContract)" @@ -3727,14 +3727,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6103:28:0", + "src": "6248:28:0", "typeDescriptions": { "typeIdentifier": "t_contract$_ITokenContract_$1254", "typeString": "contract ITokenContract" } }, "nodeType": "VariableDeclarationStatement", - "src": "6080:51:0" + "src": "6225:51:0" }, { "expression": { @@ -3752,7 +3752,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1397, - "src": "6182:3:0", + "src": "6327:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -3766,7 +3766,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "6182:10:0", + "src": "6327:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3782,7 +3782,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1414, - "src": "6202:4:0", + "src": "6347:4:0", "typeDescriptions": { "typeIdentifier": "t_contract$_Escrow_v1_0_$1224", "typeString": "contract Escrow_v1_0" @@ -3802,7 +3802,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "6194:7:0", + "src": "6339:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" @@ -3817,7 +3817,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6194:13:0", + "src": "6339:13:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3830,7 +3830,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 248, - "src": "6209:5:0", + "src": "6354:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3859,7 +3859,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 282, - "src": "6163:5:0", + "src": "6308:5:0", "typeDescriptions": { "typeIdentifier": "t_contract$_ITokenContract_$1254", "typeString": "contract ITokenContract" @@ -3873,7 +3873,7 @@ "memberName": "transferFrom", "nodeType": "MemberAccess", "referencedDeclaration": 1253, - "src": "6163:18:0", + "src": "6308:18:0", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", "typeString": "function (address,address,uint256) external returns (bool)" @@ -3887,7 +3887,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6163:52:0", + "src": "6308:52:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -3903,7 +3903,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "6229:95:0", + "src": "6374:95:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_d81b627ac67759234197a5bdf4d9f7d33298e824ce7bd47e08ce9919cd96c696", @@ -3931,7 +3931,7 @@ 1401 ], "referencedDeclaration": 1401, - "src": "6142:7:0", + "src": "6287:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -3945,7 +3945,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6142:192:0", + "src": "6287:192:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -3953,7 +3953,7 @@ }, "id": 299, "nodeType": "ExpressionStatement", - "src": "6142:192:0" + "src": "6287:192:0" }, { "eventCall": { @@ -3966,7 +3966,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 246, - "src": "6356:10:0", + "src": "6501:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -3981,7 +3981,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1397, - "src": "6368:3:0", + "src": "6513:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -3995,7 +3995,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "6368:10:0", + "src": "6513:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4008,7 +4008,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 248, - "src": "6380:5:0", + "src": "6525:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4035,7 +4035,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 38, - "src": "6349:6:0", + "src": "6494:6:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (bytes32,address,uint256)" @@ -4049,7 +4049,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6349:37:0", + "src": "6494:37:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -4057,7 +4057,7 @@ }, "id": 306, "nodeType": "EmitStatement", - "src": "6344:42:0" + "src": "6489:42:0" } ] }, @@ -4076,7 +4076,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 246, - "src": "5682:10:0", + "src": "5827:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -4091,14 +4091,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 115, - "src": "5658:23:0", + "src": "5803:23:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "5658:35:0" + "src": "5803:35:0" }, { "arguments": [ @@ -4109,7 +4109,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 236, - "src": "5717:5:0", + "src": "5862:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4124,14 +4124,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 147, - "src": "5702:14:0", + "src": "5847:14:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_address_$", "typeString": "modifier (address)" } }, "nodeType": "ModifierInvocation", - "src": "5702:21:0" + "src": "5847:21:0" }, { "arguments": [ @@ -4142,7 +4142,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 238, - "src": "5747:6:0", + "src": "5892:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4157,14 +4157,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 147, - "src": "5732:14:0", + "src": "5877:14:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_address_$", "typeString": "modifier (address)" } }, "nodeType": "ModifierInvocation", - "src": "5732:22:0" + "src": "5877:22:0" }, { "arguments": [ @@ -4175,7 +4175,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 252, - "src": "5778:12:0", + "src": "5923:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4190,14 +4190,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 147, - "src": "5763:14:0", + "src": "5908:14:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_address_$", "typeString": "modifier (address)" } }, "nodeType": "ModifierInvocation", - "src": "5763:28:0" + "src": "5908:28:0" } ], "name": "addTokenTransaction", @@ -4212,7 +4212,7 @@ "name": "buyer", "nodeType": "VariableDeclaration", "scope": 308, - "src": "5401:13:0", + "src": "5546:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4223,7 +4223,7 @@ "id": 235, "name": "address", "nodeType": "ElementaryTypeName", - "src": "5401:7:0", + "src": "5546:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4238,7 +4238,7 @@ "name": "seller", "nodeType": "VariableDeclaration", "scope": 308, - "src": "5424:14:0", + "src": "5569:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4249,7 +4249,7 @@ "id": 237, "name": "address", "nodeType": "ElementaryTypeName", - "src": "5424:7:0", + "src": "5569:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4264,7 +4264,7 @@ "name": "moderator", "nodeType": "VariableDeclaration", "scope": 308, - "src": "5448:17:0", + "src": "5593:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4275,7 +4275,7 @@ "id": 239, "name": "address", "nodeType": "ElementaryTypeName", - "src": "5448:7:0", + "src": "5593:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4290,7 +4290,7 @@ "name": "threshold", "nodeType": "VariableDeclaration", "scope": 308, - "src": "5475:15:0", + "src": "5620:15:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4301,7 +4301,7 @@ "id": 241, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "5475:5:0", + "src": "5620:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -4316,7 +4316,7 @@ "name": "timeoutHours", "nodeType": "VariableDeclaration", "scope": 308, - "src": "5500:19:0", + "src": "5645:19:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4327,7 +4327,7 @@ "id": 243, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "5500:6:0", + "src": "5645:6:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -4342,7 +4342,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 308, - "src": "5529:18:0", + "src": "5674:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4353,7 +4353,7 @@ "id": 245, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "5529:7:0", + "src": "5674:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -4368,7 +4368,7 @@ "name": "value", "nodeType": "VariableDeclaration", "scope": 308, - "src": "5557:13:0", + "src": "5702:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4379,7 +4379,7 @@ "id": 247, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "5557:7:0", + "src": "5702:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4394,7 +4394,7 @@ "name": "uniqueId", "nodeType": "VariableDeclaration", "scope": 308, - "src": "5580:16:0", + "src": "5725:16:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4405,7 +4405,7 @@ "id": 249, "name": "bytes20", "nodeType": "ElementaryTypeName", - "src": "5580:7:0", + "src": "5725:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -4420,7 +4420,7 @@ "name": "tokenAddress", "nodeType": "VariableDeclaration", "scope": 308, - "src": "5606:20:0", + "src": "5751:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4431,7 +4431,7 @@ "id": 251, "name": "address", "nodeType": "ElementaryTypeName", - "src": "5606:7:0", + "src": "5751:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4441,17 +4441,17 @@ "visibility": "internal" } ], - "src": "5391:241:0" + "src": "5536:241:0" }, "payable": false, "returnParameters": { "id": 266, "nodeType": "ParameterList", "parameters": [], - "src": "5796:0:0" + "src": "5941:0:0" }, "scope": 1224, - "src": "5363:1030:0", + "src": "5508:1030:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" @@ -4460,7 +4460,7 @@ "body": { "id": 324, "nodeType": "Block", - "src": "6780:75:0", + "src": "6925:75:0", "statements": [ { "expression": { @@ -4476,7 +4476,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "6797:12:0", + "src": "6942:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -4490,7 +4490,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 310, - "src": "6810:10:0", + "src": "6955:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -4501,7 +4501,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "6797:24:0", + "src": "6942:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -4515,7 +4515,7 @@ "memberName": "beneficiaries", "nodeType": "MemberAccess", "referencedDeclaration": 70, - "src": "6797:38:0", + "src": "6942:38:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -4529,7 +4529,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 312, - "src": "6836:11:0", + "src": "6981:11:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4540,7 +4540,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "6797:51:0", + "src": "6942:51:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -4549,7 +4549,7 @@ "functionReturnParameters": 316, "id": 323, "nodeType": "Return", - "src": "6790:58:0" + "src": "6935:58:0" } ] }, @@ -4571,7 +4571,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 325, - "src": "6669:18:0", + "src": "6814:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4582,7 +4582,7 @@ "id": 309, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "6669:7:0", + "src": "6814:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -4597,7 +4597,7 @@ "name": "beneficiary", "nodeType": "VariableDeclaration", "scope": 325, - "src": "6697:19:0", + "src": "6842:19:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4608,7 +4608,7 @@ "id": 311, "name": "address", "nodeType": "ElementaryTypeName", - "src": "6697:7:0", + "src": "6842:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4618,7 +4618,7 @@ "visibility": "internal" } ], - "src": "6659:63:0" + "src": "6804:63:0" }, "payable": false, "returnParameters": { @@ -4631,7 +4631,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 325, - "src": "6770:4:0", + "src": "6915:4:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4642,7 +4642,7 @@ "id": 314, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "6770:4:0", + "src": "6915:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -4652,10 +4652,10 @@ "visibility": "internal" } ], - "src": "6769:6:0" + "src": "6914:6:0" }, "scope": 1224, - "src": "6634:221:0", + "src": "6779:221:0", "stateMutability": "view", "superFunction": null, "visibility": "external" @@ -4664,7 +4664,7 @@ "body": { "id": 341, "nodeType": "Block", - "src": "7228:61:0", + "src": "7373:61:0", "statements": [ { "expression": { @@ -4680,7 +4680,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "7245:12:0", + "src": "7390:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -4694,7 +4694,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 327, - "src": "7258:10:0", + "src": "7403:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -4705,7 +4705,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "7245:24:0", + "src": "7390:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -4719,7 +4719,7 @@ "memberName": "voted", "nodeType": "MemberAccess", "referencedDeclaration": 66, - "src": "7245:30:0", + "src": "7390:30:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -4733,7 +4733,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 329, - "src": "7276:5:0", + "src": "7421:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4744,7 +4744,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "7245:37:0", + "src": "7390:37:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -4753,7 +4753,7 @@ "functionReturnParameters": 333, "id": 340, "nodeType": "Return", - "src": "7238:44:0" + "src": "7383:44:0" } ] }, @@ -4775,7 +4775,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 342, - "src": "7123:18:0", + "src": "7268:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4786,7 +4786,7 @@ "id": 326, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "7123:7:0", + "src": "7268:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -4801,7 +4801,7 @@ "name": "party", "nodeType": "VariableDeclaration", "scope": 342, - "src": "7151:13:0", + "src": "7296:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4812,7 +4812,7 @@ "id": 328, "name": "address", "nodeType": "ElementaryTypeName", - "src": "7151:7:0", + "src": "7296:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4822,7 +4822,7 @@ "visibility": "internal" } ], - "src": "7113:57:0" + "src": "7258:57:0" }, "payable": false, "returnParameters": { @@ -4835,7 +4835,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 342, - "src": "7218:4:0", + "src": "7363:4:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4846,7 +4846,7 @@ "id": 331, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "7218:4:0", + "src": "7363:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -4856,10 +4856,10 @@ "visibility": "internal" } ], - "src": "7217:6:0" + "src": "7362:6:0" }, "scope": 1224, - "src": "7095:194:0", + "src": "7240:194:0", "stateMutability": "view", "superFunction": null, "visibility": "external" @@ -4868,7 +4868,7 @@ "body": { "id": 399, "nodeType": "Block", - "src": "7892:303:0", + "src": "8037:303:0", "statements": [ { "expression": { @@ -4894,7 +4894,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1397, - "src": "7911:3:0", + "src": "8056:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -4908,7 +4908,7 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "7911:9:0", + "src": "8056:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4926,7 +4926,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "7923:1:0", + "src": "8068:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -4934,7 +4934,7 @@ }, "value": "0" }, - "src": "7911:13:0", + "src": "8056:13:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -4950,7 +4950,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "7926:34:0", + "src": "8071:34:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_21fbec2be6560b9ccffc4980d43c0d147770168e7aaf24999b418b9010085622", @@ -4978,7 +4978,7 @@ 1401 ], "referencedDeclaration": 1401, - "src": "7903:7:0", + "src": "8048:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -4992,7 +4992,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7903:58:0", + "src": "8048:58:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -5000,7 +5000,7 @@ }, "id": 368, "nodeType": "ExpressionStatement", - "src": "7903:58:0" + "src": "8048:58:0" }, { "expression": { @@ -5021,7 +5021,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "7972:12:0", + "src": "8117:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -5035,7 +5035,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 344, - "src": "7985:10:0", + "src": "8130:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -5046,7 +5046,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "7972:24:0", + "src": "8117:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -5060,7 +5060,7 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": 40, - "src": "7972:30:0", + "src": "8117:30:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5080,7 +5080,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1397, - "src": "8053:3:0", + "src": "8198:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -5094,7 +5094,7 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "8053:9:0", + "src": "8198:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5119,7 +5119,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "8005:12:0", + "src": "8150:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -5133,7 +5133,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 344, - "src": "8018:10:0", + "src": "8163:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -5144,7 +5144,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "8005:24:0", + "src": "8150:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -5158,7 +5158,7 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": 40, - "src": "8005:30:0", + "src": "8150:30:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5172,7 +5172,7 @@ "memberName": "add", "nodeType": "MemberAccess", "referencedDeclaration": 1361, - "src": "8005:47:0", + "src": "8150:47:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" @@ -5186,13 +5186,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8005:58:0", + "src": "8150:58:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "7972:91:0", + "src": "8117:91:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5200,7 +5200,7 @@ }, "id": 382, "nodeType": "ExpressionStatement", - "src": "7972:91:0" + "src": "8117:91:0" }, { "expression": { @@ -5221,7 +5221,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "8073:12:0", + "src": "8218:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -5235,7 +5235,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 344, - "src": "8086:10:0", + "src": "8231:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -5246,7 +5246,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "8073:24:0", + "src": "8218:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -5260,7 +5260,7 @@ "memberName": "lastModified", "nodeType": "MemberAccess", "referencedDeclaration": 42, - "src": "8073:37:0", + "src": "8218:37:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5277,7 +5277,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1387, - "src": "8113:5:0", + "src": "8258:5:0", "typeDescriptions": { "typeIdentifier": "t_magic_block", "typeString": "block" @@ -5291,13 +5291,13 @@ "memberName": "timestamp", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "8113:15:0", + "src": "8258:15:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "8073:55:0", + "src": "8218:55:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5305,7 +5305,7 @@ }, "id": 390, "nodeType": "ExpressionStatement", - "src": "8073:55:0" + "src": "8218:55:0" }, { "eventCall": { @@ -5318,7 +5318,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 344, - "src": "8154:10:0", + "src": "8299:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -5333,7 +5333,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1397, - "src": "8166:3:0", + "src": "8311:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -5347,7 +5347,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "8166:10:0", + "src": "8311:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -5362,7 +5362,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1397, - "src": "8178:3:0", + "src": "8323:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -5376,7 +5376,7 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "8178:9:0", + "src": "8323:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5403,7 +5403,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 30, - "src": "8144:9:0", + "src": "8289:9:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (bytes32,address,uint256)" @@ -5417,7 +5417,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8144:44:0", + "src": "8289:44:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -5425,7 +5425,7 @@ }, "id": 398, "nodeType": "EmitStatement", - "src": "8139:49:0" + "src": "8284:49:0" } ] }, @@ -5444,7 +5444,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 344, - "src": "7739:10:0", + "src": "7884:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -5459,14 +5459,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 99, - "src": "7722:16:0", + "src": "7867:16:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "7722:28:0" + "src": "7867:28:0" }, { "arguments": [ @@ -5477,7 +5477,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 344, - "src": "7773:10:0", + "src": "7918:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -5492,14 +5492,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 132, - "src": "7759:13:0", + "src": "7904:13:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "7759:25:0" + "src": "7904:25:0" }, { "arguments": [ @@ -5510,7 +5510,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 344, - "src": "7814:10:0", + "src": "7959:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -5525,7 +5525,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12, - "src": "7826:15:0", + "src": "7971:15:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_TransactionType_$12_$", "typeString": "type(enum Escrow_v1_0.TransactionType)" @@ -5539,7 +5539,7 @@ "memberName": "ETHER", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "7826:21:0", + "src": "7971:21:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -5554,14 +5554,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 165, - "src": "7793:20:0", + "src": "7938:20:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$_t_enum$_TransactionType_$12_$", "typeString": "modifier (bytes32,enum Escrow_v1_0.TransactionType)" } }, "nodeType": "ModifierInvocation", - "src": "7793:55:0" + "src": "7938:55:0" }, { "arguments": [ @@ -5572,7 +5572,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 344, - "src": "7867:10:0", + "src": "8012:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -5587,14 +5587,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 182, - "src": "7857:9:0", + "src": "8002:9:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "7857:21:0" + "src": "8002:21:0" } ], "name": "addFundsToTransaction", @@ -5609,7 +5609,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 400, - "src": "7656:18:0", + "src": "7801:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5620,7 +5620,7 @@ "id": 343, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "7656:7:0", + "src": "7801:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -5630,17 +5630,17 @@ "visibility": "internal" } ], - "src": "7646:34:0" + "src": "7791:34:0" }, "payable": true, "returnParameters": { "id": 360, "nodeType": "ParameterList", "parameters": [], - "src": "7892:0:0" + "src": "8037:0:0" }, "scope": 1224, - "src": "7616:579:0", + "src": "7761:579:0", "stateMutability": "payable", "superFunction": null, "visibility": "external" @@ -5649,7 +5649,7 @@ "body": { "id": 480, "nodeType": "Block", - "src": "8798:622:0", + "src": "8943:622:0", "statements": [ { "expression": { @@ -5673,7 +5673,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 404, - "src": "8817:5:0", + "src": "8962:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5691,7 +5691,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "8825:1:0", + "src": "8970:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -5699,7 +5699,7 @@ }, "value": "0" }, - "src": "8817:9:0", + "src": "8962:9:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -5715,7 +5715,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "8828:34:0", + "src": "8973:34:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_21fbec2be6560b9ccffc4980d43c0d147770168e7aaf24999b418b9010085622", @@ -5743,7 +5743,7 @@ 1401 ], "referencedDeclaration": 1401, - "src": "8809:7:0", + "src": "8954:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -5757,7 +5757,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8809:54:0", + "src": "8954:54:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -5765,7 +5765,7 @@ }, "id": 427, "nodeType": "ExpressionStatement", - "src": "8809:54:0" + "src": "8954:54:0" }, { "assignments": [ @@ -5778,7 +5778,7 @@ "name": "token", "nodeType": "VariableDeclaration", "scope": 481, - "src": "8874:20:0", + "src": "9019:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5791,7 +5791,7 @@ "name": "ITokenContract", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 1254, - "src": "8874:14:0", + "src": "9019:14:0", "typeDescriptions": { "typeIdentifier": "t_contract$_ITokenContract_$1254", "typeString": "contract ITokenContract" @@ -5816,7 +5816,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "8925:12:0", + "src": "9070:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -5830,7 +5830,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 402, - "src": "8938:10:0", + "src": "9083:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -5841,7 +5841,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "8925:24:0", + "src": "9070:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -5855,7 +5855,7 @@ "memberName": "tokenAddress", "nodeType": "MemberAccess", "referencedDeclaration": 56, - "src": "8925:37:0", + "src": "9070:37:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -5874,7 +5874,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1254, - "src": "8897:14:0", + "src": "9042:14:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_ITokenContract_$1254_$", "typeString": "type(contract ITokenContract)" @@ -5888,14 +5888,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8897:75:0", + "src": "9042:75:0", "typeDescriptions": { "typeIdentifier": "t_contract$_ITokenContract_$1254", "typeString": "contract ITokenContract" } }, "nodeType": "VariableDeclarationStatement", - "src": "8874:98:0" + "src": "9019:98:0" }, { "expression": { @@ -5915,7 +5915,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "9023:12:0", + "src": "9168:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -5929,7 +5929,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 402, - "src": "9036:10:0", + "src": "9181:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -5940,7 +5940,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "9023:24:0", + "src": "9168:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -5954,7 +5954,7 @@ "memberName": "buyer", "nodeType": "MemberAccess", "referencedDeclaration": 52, - "src": "9023:30:0", + "src": "9168:30:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -5970,7 +5970,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1414, - "src": "9063:4:0", + "src": "9208:4:0", "typeDescriptions": { "typeIdentifier": "t_contract$_Escrow_v1_0_$1224", "typeString": "contract Escrow_v1_0" @@ -5990,7 +5990,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "9055:7:0", + "src": "9200:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" @@ -6005,7 +6005,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "9055:13:0", + "src": "9200:13:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -6018,7 +6018,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 404, - "src": "9070:5:0", + "src": "9215:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6047,7 +6047,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 429, - "src": "9004:5:0", + "src": "9149:5:0", "typeDescriptions": { "typeIdentifier": "t_contract$_ITokenContract_$1254", "typeString": "contract ITokenContract" @@ -6061,7 +6061,7 @@ "memberName": "transferFrom", "nodeType": "MemberAccess", "referencedDeclaration": 1253, - "src": "9004:18:0", + "src": "9149:18:0", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", "typeString": "function (address,address,uint256) external returns (bool)" @@ -6075,7 +6075,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "9004:72:0", + "src": "9149:72:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -6091,7 +6091,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "9090:94:0", + "src": "9235:94:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_d9d07068d589bc4adc53018a3c57c159ec128fdfb62732a5fa9410e76cf03318", @@ -6119,7 +6119,7 @@ 1401 ], "referencedDeclaration": 1401, - "src": "8983:7:0", + "src": "9128:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -6133,7 +6133,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8983:211:0", + "src": "9128:211:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -6141,7 +6141,7 @@ }, "id": 451, "nodeType": "ExpressionStatement", - "src": "8983:211:0" + "src": "9128:211:0" }, { "expression": { @@ -6162,7 +6162,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "9205:12:0", + "src": "9350:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -6176,7 +6176,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 402, - "src": "9218:10:0", + "src": "9363:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -6187,7 +6187,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "9205:24:0", + "src": "9350:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -6201,7 +6201,7 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": 40, - "src": "9205:30:0", + "src": "9350:30:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6219,7 +6219,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 404, - "src": "9286:5:0", + "src": "9431:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6244,7 +6244,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "9238:12:0", + "src": "9383:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -6258,7 +6258,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 402, - "src": "9251:10:0", + "src": "9396:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -6269,7 +6269,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "9238:24:0", + "src": "9383:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -6283,7 +6283,7 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": 40, - "src": "9238:30:0", + "src": "9383:30:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6297,7 +6297,7 @@ "memberName": "add", "nodeType": "MemberAccess", "referencedDeclaration": 1361, - "src": "9238:47:0", + "src": "9383:47:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" @@ -6311,13 +6311,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "9238:54:0", + "src": "9383:54:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "9205:87:0", + "src": "9350:87:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6325,7 +6325,7 @@ }, "id": 464, "nodeType": "ExpressionStatement", - "src": "9205:87:0" + "src": "9350:87:0" }, { "expression": { @@ -6346,7 +6346,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "9302:12:0", + "src": "9447:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -6360,7 +6360,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 402, - "src": "9315:10:0", + "src": "9460:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -6371,7 +6371,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "9302:24:0", + "src": "9447:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -6385,7 +6385,7 @@ "memberName": "lastModified", "nodeType": "MemberAccess", "referencedDeclaration": 42, - "src": "9302:37:0", + "src": "9447:37:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6402,7 +6402,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1387, - "src": "9342:5:0", + "src": "9487:5:0", "typeDescriptions": { "typeIdentifier": "t_magic_block", "typeString": "block" @@ -6416,13 +6416,13 @@ "memberName": "timestamp", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "9342:15:0", + "src": "9487:15:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "9302:55:0", + "src": "9447:55:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6430,7 +6430,7 @@ }, "id": 472, "nodeType": "ExpressionStatement", - "src": "9302:55:0" + "src": "9447:55:0" }, { "eventCall": { @@ -6443,7 +6443,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 402, - "src": "9383:10:0", + "src": "9528:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -6458,7 +6458,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1397, - "src": "9395:3:0", + "src": "9540:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -6472,7 +6472,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "9395:10:0", + "src": "9540:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -6485,7 +6485,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 404, - "src": "9407:5:0", + "src": "9552:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6512,7 +6512,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 30, - "src": "9373:9:0", + "src": "9518:9:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (bytes32,address,uint256)" @@ -6526,7 +6526,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "9373:40:0", + "src": "9518:40:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -6534,7 +6534,7 @@ }, "id": 479, "nodeType": "EmitStatement", - "src": "9368:45:0" + "src": "9513:45:0" } ] }, @@ -6553,7 +6553,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 402, - "src": "8654:10:0", + "src": "8799:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -6568,14 +6568,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 99, - "src": "8637:16:0", + "src": "8782:16:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "8637:28:0" + "src": "8782:28:0" }, { "arguments": [ @@ -6586,7 +6586,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 402, - "src": "8688:10:0", + "src": "8833:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -6601,14 +6601,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 132, - "src": "8674:13:0", + "src": "8819:13:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "8674:25:0" + "src": "8819:25:0" }, { "arguments": [ @@ -6619,7 +6619,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 402, - "src": "8729:10:0", + "src": "8874:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -6634,7 +6634,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12, - "src": "8741:15:0", + "src": "8886:15:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_TransactionType_$12_$", "typeString": "type(enum Escrow_v1_0.TransactionType)" @@ -6648,7 +6648,7 @@ "memberName": "TOKEN", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "8741:21:0", + "src": "8886:21:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -6663,14 +6663,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 165, - "src": "8708:20:0", + "src": "8853:20:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$_t_enum$_TransactionType_$12_$", "typeString": "modifier (bytes32,enum Escrow_v1_0.TransactionType)" } }, "nodeType": "ModifierInvocation", - "src": "8708:55:0" + "src": "8853:55:0" }, { "arguments": [ @@ -6681,7 +6681,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 402, - "src": "8782:10:0", + "src": "8927:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -6696,14 +6696,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 182, - "src": "8772:9:0", + "src": "8917:9:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "8772:21:0" + "src": "8917:21:0" } ], "name": "addTokensToTransaction", @@ -6718,7 +6718,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 481, - "src": "8564:18:0", + "src": "8709:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6729,7 +6729,7 @@ "id": 401, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "8564:7:0", + "src": "8709:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -6744,7 +6744,7 @@ "name": "value", "nodeType": "VariableDeclaration", "scope": 481, - "src": "8592:13:0", + "src": "8737:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6755,7 +6755,7 @@ "id": 403, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "8592:7:0", + "src": "8737:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6765,17 +6765,17 @@ "visibility": "internal" } ], - "src": "8554:57:0" + "src": "8699:57:0" }, "payable": false, "returnParameters": { "id": 420, "nodeType": "ParameterList", "parameters": [], - "src": "8798:0:0" + "src": "8943:0:0" }, "scope": 1224, - "src": "8523:897:0", + "src": "8668:897:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" @@ -6784,7 +6784,7 @@ "body": { "id": 493, "nodeType": "Block", - "src": "9675:56:0", + "src": "9820:56:0", "statements": [ { "expression": { @@ -6796,7 +6796,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 83, - "src": "9692:18:0", + "src": "9837:18:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_bytes32_$dyn_storage_$", "typeString": "mapping(address => bytes32[] storage ref)" @@ -6810,7 +6810,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 483, - "src": "9711:12:0", + "src": "9856:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -6821,7 +6821,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "9692:32:0", + "src": "9837:32:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage", "typeString": "bytes32[] storage ref" @@ -6830,7 +6830,7 @@ "functionReturnParameters": 488, "id": 492, "nodeType": "Return", - "src": "9685:39:0" + "src": "9830:39:0" } ] }, @@ -6852,7 +6852,7 @@ "name": "partyAddress", "nodeType": "VariableDeclaration", "scope": 494, - "src": "9582:20:0", + "src": "9727:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6863,7 +6863,7 @@ "id": 482, "name": "address", "nodeType": "ElementaryTypeName", - "src": "9582:7:0", + "src": "9727:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -6873,7 +6873,7 @@ "visibility": "internal" } ], - "src": "9572:36:0" + "src": "9717:36:0" }, "payable": false, "returnParameters": { @@ -6886,7 +6886,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 494, - "src": "9659:9:0", + "src": "9804:9:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6898,7 +6898,7 @@ "id": 485, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "9659:7:0", + "src": "9804:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -6907,7 +6907,7 @@ "id": 486, "length": null, "nodeType": "ArrayTypeName", - "src": "9659:9:0", + "src": "9804:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -6917,10 +6917,10 @@ "visibility": "internal" } ], - "src": "9658:11:0" + "src": "9803:11:0" }, "scope": 1224, - "src": "9537:194:0", + "src": "9682:194:0", "stateMutability": "view", "superFunction": null, "visibility": "external" @@ -6929,7 +6929,7 @@ "body": { "id": 582, "nodeType": "Block", - "src": "10601:932:0", + "src": "10746:932:0", "statements": [ { "expression": { @@ -6955,7 +6955,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 508, - "src": "10635:12:0", + "src": "10780:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" @@ -6969,7 +6969,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "10635:19:0", + "src": "10780:19:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6987,7 +6987,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "10655:1:0", + "src": "10800:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -6995,7 +6995,7 @@ }, "value": "0" }, - "src": "10635:21:0", + "src": "10780:21:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -7011,7 +7011,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "10671:47:0", + "src": "10816:47:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_fbeb58246a6e3ff255a1d618f14d1cced67ffd4784fbc3e1cfbdf71d1f7fbdf9", @@ -7039,7 +7039,7 @@ 1401 ], "referencedDeclaration": 1401, - "src": "10614:7:0", + "src": "10759:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -7053,7 +7053,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "10614:114:0", + "src": "10759:114:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -7061,7 +7061,7 @@ }, "id": 527, "nodeType": "ExpressionStatement", - "src": "10614:114:0" + "src": "10759:114:0" }, { "expression": { @@ -7087,7 +7087,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 508, - "src": "10759:12:0", + "src": "10904:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" @@ -7101,7 +7101,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "10759:19:0", + "src": "10904:19:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7118,7 +7118,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 511, - "src": "10782:7:0", + "src": "10927:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", "typeString": "uint256[] calldata" @@ -7132,13 +7132,13 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "10782:14:0", + "src": "10927:14:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "10759:37:0", + "src": "10904:37:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -7154,7 +7154,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "10810:57:0", + "src": "10955:57:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_e70a315a5939ff57e3400503291dbc0af19d18c32f15c80c7c6f5b7c54a6cd3c", @@ -7182,7 +7182,7 @@ 1401 ], "referencedDeclaration": 1401, - "src": "10738:7:0", + "src": "10883:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -7196,7 +7196,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "10738:139:0", + "src": "10883:139:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -7204,7 +7204,7 @@ }, "id": 536, "nodeType": "ExpressionStatement", - "src": "10738:139:0" + "src": "10883:139:0" }, { "expression": { @@ -7217,7 +7217,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 497, - "src": "10927:4:0", + "src": "11072:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_calldata_ptr", "typeString": "uint8[] calldata" @@ -7230,7 +7230,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 500, - "src": "10945:4:0", + "src": "11090:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", "typeString": "bytes32[] calldata" @@ -7243,7 +7243,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 503, - "src": "10963:4:0", + "src": "11108:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", "typeString": "bytes32[] calldata" @@ -7256,7 +7256,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 505, - "src": "10981:10:0", + "src": "11126:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -7269,7 +7269,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 508, - "src": "11005:12:0", + "src": "11150:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" @@ -7282,7 +7282,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 511, - "src": "11031:7:0", + "src": "11176:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", "typeString": "uint256[] calldata" @@ -7321,7 +7321,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 711, - "src": "10895:18:0", + "src": "11040:18:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_array$_t_uint8_$dyn_memory_ptr_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_bytes32_$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$__$", "typeString": "function (uint8[] memory,bytes32[] memory,bytes32[] memory,bytes32,address[] memory,uint256[] memory)" @@ -7335,7 +7335,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "10895:153:0", + "src": "11040:153:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -7343,7 +7343,7 @@ }, "id": 545, "nodeType": "ExpressionStatement", - "src": "10895:153:0" + "src": "11040:153:0" }, { "expression": { @@ -7364,7 +7364,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "11059:12:0", + "src": "11204:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -7378,7 +7378,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 505, - "src": "11072:10:0", + "src": "11217:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -7389,7 +7389,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "11059:24:0", + "src": "11204:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -7403,7 +7403,7 @@ "memberName": "status", "nodeType": "MemberAccess", "referencedDeclaration": 44, - "src": "11059:31:0", + "src": "11204:31:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$9", "typeString": "enum Escrow_v1_0.Status" @@ -7420,7 +7420,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9, - "src": "11093:6:0", + "src": "11238:6:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_Status_$9_$", "typeString": "type(enum Escrow_v1_0.Status)" @@ -7434,13 +7434,13 @@ "memberName": "RELEASED", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "11093:15:0", + "src": "11238:15:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$9", "typeString": "enum Escrow_v1_0.Status" } }, - "src": "11059:49:0", + "src": "11204:49:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$9", "typeString": "enum Escrow_v1_0.Status" @@ -7448,7 +7448,7 @@ }, "id": 553, "nodeType": "ExpressionStatement", - "src": "11059:49:0" + "src": "11204:49:0" }, { "expression": { @@ -7469,7 +7469,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "11192:12:0", + "src": "11337:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -7483,7 +7483,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 505, - "src": "11205:10:0", + "src": "11350:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -7494,7 +7494,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "11192:24:0", + "src": "11337:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -7508,7 +7508,7 @@ "memberName": "lastModified", "nodeType": "MemberAccess", "referencedDeclaration": 42, - "src": "11192:37:0", + "src": "11337:37:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7525,7 +7525,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1387, - "src": "11232:5:0", + "src": "11377:5:0", "typeDescriptions": { "typeIdentifier": "t_magic_block", "typeString": "block" @@ -7539,13 +7539,13 @@ "memberName": "timestamp", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "11232:15:0", + "src": "11377:15:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "11192:55:0", + "src": "11337:55:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7553,7 +7553,7 @@ }, "id": 561, "nodeType": "ExpressionStatement", - "src": "11192:55:0" + "src": "11337:55:0" }, { "expression": { @@ -7580,7 +7580,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 505, - "src": "11293:10:0", + "src": "11438:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -7593,7 +7593,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 508, - "src": "11305:12:0", + "src": "11450:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" @@ -7606,7 +7606,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 511, - "src": "11319:7:0", + "src": "11464:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", "typeString": "uint256[] calldata" @@ -7633,7 +7633,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 904, - "src": "11278:14:0", + "src": "11423:14:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$_t_uint256_$", "typeString": "function (bytes32,address[] memory,uint256[] memory) returns (uint256)" @@ -7647,7 +7647,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "11278:49:0", + "src": "11423:49:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7666,7 +7666,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "11331:12:0", + "src": "11476:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -7680,7 +7680,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 505, - "src": "11344:10:0", + "src": "11489:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -7691,7 +7691,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "11331:24:0", + "src": "11476:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -7705,13 +7705,13 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": 40, - "src": "11331:30:0", + "src": "11476:30:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "11278:83:0", + "src": "11423:83:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -7727,7 +7727,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "11375:74:0", + "src": "11520:74:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_9e0bdb14e2e0d5e118fd1f547268c6a1fdb5e8facacd614066d4b60bc2c9941d", @@ -7755,7 +7755,7 @@ 1401 ], "referencedDeclaration": 1401, - "src": "11257:7:0", + "src": "11402:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -7769,7 +7769,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "11257:202:0", + "src": "11402:202:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -7777,7 +7777,7 @@ }, "id": 575, "nodeType": "ExpressionStatement", - "src": "11257:202:0" + "src": "11402:202:0" }, { "eventCall": { @@ -7790,7 +7790,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 505, - "src": "11492:10:0", + "src": "11637:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -7803,7 +7803,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 508, - "src": "11504:12:0", + "src": "11649:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" @@ -7816,7 +7816,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 511, - "src": "11518:7:0", + "src": "11663:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", "typeString": "uint256[] calldata" @@ -7843,7 +7843,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 22, - "src": "11483:8:0", + "src": "11628:8:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$__$", "typeString": "function (bytes32,address[] memory,uint256[] memory)" @@ -7857,7 +7857,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "11483:43:0", + "src": "11628:43:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -7865,7 +7865,7 @@ }, "id": 581, "nodeType": "EmitStatement", - "src": "11478:48:0" + "src": "11623:48:0" } ] }, @@ -7884,7 +7884,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 505, - "src": "10551:10:0", + "src": "10696:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -7899,14 +7899,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 99, - "src": "10534:16:0", + "src": "10679:16:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "10534:28:0" + "src": "10679:28:0" }, { "arguments": [ @@ -7917,7 +7917,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 505, - "src": "10585:10:0", + "src": "10730:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -7932,14 +7932,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 132, - "src": "10571:13:0", + "src": "10716:13:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "10571:25:0" + "src": "10716:25:0" } ], "name": "execute", @@ -7954,7 +7954,7 @@ "name": "sigV", "nodeType": "VariableDeclaration", "scope": 583, - "src": "10355:12:0", + "src": "10500:12:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -7966,7 +7966,7 @@ "id": 495, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "10355:5:0", + "src": "10500:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -7975,7 +7975,7 @@ "id": 496, "length": null, "nodeType": "ArrayTypeName", - "src": "10355:7:0", + "src": "10500:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_storage_ptr", "typeString": "uint8[]" @@ -7990,7 +7990,7 @@ "name": "sigR", "nodeType": "VariableDeclaration", "scope": 583, - "src": "10377:14:0", + "src": "10522:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8002,7 +8002,7 @@ "id": 498, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "10377:7:0", + "src": "10522:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -8011,7 +8011,7 @@ "id": 499, "length": null, "nodeType": "ArrayTypeName", - "src": "10377:9:0", + "src": "10522:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -8026,7 +8026,7 @@ "name": "sigS", "nodeType": "VariableDeclaration", "scope": 583, - "src": "10401:14:0", + "src": "10546:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8038,7 +8038,7 @@ "id": 501, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "10401:7:0", + "src": "10546:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -8047,7 +8047,7 @@ "id": 502, "length": null, "nodeType": "ArrayTypeName", - "src": "10401:9:0", + "src": "10546:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -8062,7 +8062,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 583, - "src": "10425:18:0", + "src": "10570:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8073,7 +8073,7 @@ "id": 504, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "10425:7:0", + "src": "10570:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -8088,7 +8088,7 @@ "name": "destinations", "nodeType": "VariableDeclaration", "scope": 583, - "src": "10453:22:0", + "src": "10598:22:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8100,7 +8100,7 @@ "id": 506, "name": "address", "nodeType": "ElementaryTypeName", - "src": "10453:7:0", + "src": "10598:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8109,7 +8109,7 @@ "id": 507, "length": null, "nodeType": "ArrayTypeName", - "src": "10453:9:0", + "src": "10598:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", "typeString": "address[]" @@ -8124,7 +8124,7 @@ "name": "amounts", "nodeType": "VariableDeclaration", "scope": 583, - "src": "10485:17:0", + "src": "10630:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8136,7 +8136,7 @@ "id": 509, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "10485:7:0", + "src": "10630:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8145,7 +8145,7 @@ "id": 510, "length": null, "nodeType": "ArrayTypeName", - "src": "10485:9:0", + "src": "10630:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -8155,17 +8155,17 @@ "visibility": "internal" } ], - "src": "10345:163:0" + "src": "10490:163:0" }, "payable": false, "returnParameters": { "id": 519, "nodeType": "ParameterList", "parameters": [], - "src": "10601:0:0" + "src": "10746:0:0" }, "scope": 1224, - "src": "10329:1204:0", + "src": "10474:1204:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" @@ -8174,7 +8174,7 @@ "body": { "id": 641, "nodeType": "Block", - "src": "12337:734:0", + "src": "12482:734:0", "statements": [ { "condition": { @@ -8195,7 +8195,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 597, - "src": "12351:12:0", + "src": "12496:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8216,7 +8216,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "12375:1:0", + "src": "12520:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -8238,7 +8238,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "12367:7:0", + "src": "12512:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" @@ -8253,13 +8253,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "12367:10:0", + "src": "12512:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "12351:26:0", + "src": "12496:26:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -8268,7 +8268,7 @@ "falseBody": { "id": 639, "nodeType": "Block", - "src": "12708:357:0", + "src": "12853:357:0", "statements": [ { "expression": { @@ -8284,7 +8284,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 585, - "src": "12794:8:0", + "src": "12939:8:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -8297,7 +8297,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 587, - "src": "12824:9:0", + "src": "12969:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -8310,7 +8310,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 589, - "src": "12855:12:0", + "src": "13000:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -8323,7 +8323,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 591, - "src": "12889:5:0", + "src": "13034:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8336,7 +8336,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 593, - "src": "12916:6:0", + "src": "13061:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8349,7 +8349,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 595, - "src": "12944:9:0", + "src": "13089:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8365,7 +8365,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1414, - "src": "12983:4:0", + "src": "13128:4:0", "typeDescriptions": { "typeIdentifier": "t_contract$_Escrow_v1_0_$1224", "typeString": "contract Escrow_v1_0" @@ -8385,7 +8385,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "12975:7:0", + "src": "13120:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" @@ -8400,7 +8400,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "12975:13:0", + "src": "13120:13:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8413,7 +8413,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 597, - "src": "13010:12:0", + "src": "13155:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8462,7 +8462,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1384, - "src": "12756:3:0", + "src": "12901:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" @@ -8476,7 +8476,7 @@ "memberName": "encodePacked", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "12756:16:0", + "src": "12901:16:0", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" @@ -8490,7 +8490,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "12756:284:0", + "src": "12901:284:0", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -8509,7 +8509,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1391, - "src": "12729:9:0", + "src": "12874:9:0", "typeDescriptions": { "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", "typeString": "function () pure returns (bytes32)" @@ -8523,7 +8523,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "12729:325:0", + "src": "12874:325:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -8532,17 +8532,17 @@ "functionReturnParameters": 601, "id": 638, "nodeType": "Return", - "src": "12722:332:0" + "src": "12867:332:0" } ] }, "id": 640, "nodeType": "IfStatement", - "src": "12347:718:0", + "src": "12492:718:0", "trueBody": { "id": 622, "nodeType": "Block", - "src": "12379:323:0", + "src": "12524:323:0", "statements": [ { "expression": { @@ -8558,7 +8558,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 585, - "src": "12465:8:0", + "src": "12610:8:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -8571,7 +8571,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 587, - "src": "12495:9:0", + "src": "12640:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -8584,7 +8584,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 589, - "src": "12526:12:0", + "src": "12671:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -8597,7 +8597,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 591, - "src": "12560:5:0", + "src": "12705:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8610,7 +8610,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 593, - "src": "12587:6:0", + "src": "12732:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8623,7 +8623,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 595, - "src": "12615:9:0", + "src": "12760:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8639,7 +8639,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1414, - "src": "12654:4:0", + "src": "12799:4:0", "typeDescriptions": { "typeIdentifier": "t_contract$_Escrow_v1_0_$1224", "typeString": "contract Escrow_v1_0" @@ -8659,7 +8659,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "12646:7:0", + "src": "12791:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" @@ -8674,7 +8674,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "12646:13:0", + "src": "12791:13:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8719,7 +8719,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1384, - "src": "12427:3:0", + "src": "12572:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" @@ -8733,7 +8733,7 @@ "memberName": "encodePacked", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "12427:16:0", + "src": "12572:16:0", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" @@ -8747,7 +8747,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "12427:250:0", + "src": "12572:250:0", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -8766,7 +8766,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1391, - "src": "12400:9:0", + "src": "12545:9:0", "typeDescriptions": { "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", "typeString": "function () pure returns (bytes32)" @@ -8780,7 +8780,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "12400:291:0", + "src": "12545:291:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -8789,7 +8789,7 @@ "functionReturnParameters": 601, "id": 621, "nodeType": "Return", - "src": "12393:298:0" + "src": "12538:298:0" } ] } @@ -8814,7 +8814,7 @@ "name": "uniqueId", "nodeType": "VariableDeclaration", "scope": 642, - "src": "12098:16:0", + "src": "12243:16:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8825,7 +8825,7 @@ "id": 584, "name": "bytes20", "nodeType": "ElementaryTypeName", - "src": "12098:7:0", + "src": "12243:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -8840,7 +8840,7 @@ "name": "threshold", "nodeType": "VariableDeclaration", "scope": 642, - "src": "12124:15:0", + "src": "12269:15:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8851,7 +8851,7 @@ "id": 586, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "12124:5:0", + "src": "12269:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -8866,7 +8866,7 @@ "name": "timeoutHours", "nodeType": "VariableDeclaration", "scope": 642, - "src": "12149:19:0", + "src": "12294:19:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8877,7 +8877,7 @@ "id": 588, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "12149:6:0", + "src": "12294:6:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -8892,7 +8892,7 @@ "name": "buyer", "nodeType": "VariableDeclaration", "scope": 642, - "src": "12178:13:0", + "src": "12323:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8903,7 +8903,7 @@ "id": 590, "name": "address", "nodeType": "ElementaryTypeName", - "src": "12178:7:0", + "src": "12323:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8918,7 +8918,7 @@ "name": "seller", "nodeType": "VariableDeclaration", "scope": 642, - "src": "12201:14:0", + "src": "12346:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8929,7 +8929,7 @@ "id": 592, "name": "address", "nodeType": "ElementaryTypeName", - "src": "12201:7:0", + "src": "12346:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8944,7 +8944,7 @@ "name": "moderator", "nodeType": "VariableDeclaration", "scope": 642, - "src": "12225:17:0", + "src": "12370:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8955,7 +8955,7 @@ "id": 594, "name": "address", "nodeType": "ElementaryTypeName", - "src": "12225:7:0", + "src": "12370:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8970,7 +8970,7 @@ "name": "tokenAddress", "nodeType": "VariableDeclaration", "scope": 642, - "src": "12252:20:0", + "src": "12397:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8981,7 +8981,7 @@ "id": 596, "name": "address", "nodeType": "ElementaryTypeName", - "src": "12252:7:0", + "src": "12397:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8991,7 +8991,7 @@ "visibility": "internal" } ], - "src": "12088:190:0" + "src": "12233:190:0" }, "payable": false, "returnParameters": { @@ -9004,7 +9004,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 642, - "src": "12324:7:0", + "src": "12469:7:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9015,7 +9015,7 @@ "id": 599, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "12324:7:0", + "src": "12469:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -9025,10 +9025,10 @@ "visibility": "internal" } ], - "src": "12323:9:0" + "src": "12468:9:0" }, "scope": 1224, - "src": "12054:1017:0", + "src": "12199:1017:0", "stateMutability": "view", "superFunction": null, "visibility": "public" @@ -9037,7 +9037,7 @@ "body": { "id": 710, "nodeType": "Block", - "src": "13556:797:0", + "src": "13701:797:0", "statements": [ { "assignments": [ @@ -9050,7 +9050,7 @@ "name": "lastRecovered", "nodeType": "VariableDeclaration", "scope": 711, - "src": "13566:21:0", + "src": "13711:21:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9061,7 +9061,7 @@ "id": 662, "name": "address", "nodeType": "ElementaryTypeName", - "src": "13566:7:0", + "src": "13711:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -9082,7 +9082,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 645, - "src": "13621:4:0", + "src": "13766:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr", "typeString": "uint8[] memory" @@ -9095,7 +9095,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 648, - "src": "13639:4:0", + "src": "13784:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" @@ -9108,7 +9108,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 651, - "src": "13657:4:0", + "src": "13802:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" @@ -9121,7 +9121,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 653, - "src": "13675:10:0", + "src": "13820:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -9134,7 +9134,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 656, - "src": "13699:12:0", + "src": "13844:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -9147,7 +9147,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 659, - "src": "13725:7:0", + "src": "13870:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" @@ -9186,7 +9186,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1035, - "src": "13590:17:0", + "src": "13735:17:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_array$_t_uint8_$dyn_memory_ptr_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_bytes32_$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$_t_address_$", "typeString": "function (uint8[] memory,bytes32[] memory,bytes32[] memory,bytes32,address[] memory,uint256[] memory) returns (address)" @@ -9200,14 +9200,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "13590:152:0", + "src": "13735:152:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "VariableDeclarationStatement", - "src": "13566:176:0" + "src": "13711:176:0" }, { "assignments": [ @@ -9220,7 +9220,7 @@ "name": "timeLockExpired", "nodeType": "VariableDeclaration", "scope": 711, - "src": "13753:20:0", + "src": "13898:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9231,7 +9231,7 @@ "id": 673, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "13753:4:0", + "src": "13898:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -9256,7 +9256,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "13808:12:0", + "src": "13953:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -9270,7 +9270,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 653, - "src": "13821:10:0", + "src": "13966:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -9281,7 +9281,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "13808:24:0", + "src": "13953:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -9295,7 +9295,7 @@ "memberName": "timeoutHours", "nodeType": "MemberAccess", "referencedDeclaration": 50, - "src": "13808:37:0", + "src": "13953:37:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -9312,7 +9312,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "13859:12:0", + "src": "14004:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -9326,7 +9326,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 653, - "src": "13872:10:0", + "src": "14017:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -9337,7 +9337,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "13859:24:0", + "src": "14004:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -9351,7 +9351,7 @@ "memberName": "lastModified", "nodeType": "MemberAccess", "referencedDeclaration": 42, - "src": "13859:37:0", + "src": "14004:37:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9374,7 +9374,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1067, - "src": "13776:18:0", + "src": "13921:18:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_uint32_$_t_uint256_$returns$_t_bool_$", "typeString": "function (uint32,uint256) view returns (bool)" @@ -9388,14 +9388,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "13776:130:0", + "src": "13921:130:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "nodeType": "VariableDeclarationStatement", - "src": "13753:153:0" + "src": "13898:153:0" }, { "condition": { @@ -9429,7 +9429,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 645, - "src": "14078:4:0", + "src": "14223:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr", "typeString": "uint8[] memory" @@ -9443,7 +9443,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "14078:11:0", + "src": "14223:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9462,7 +9462,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "14092:12:0", + "src": "14237:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -9476,7 +9476,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 653, - "src": "14105:10:0", + "src": "14250:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -9487,7 +9487,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "14092:24:0", + "src": "14237:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -9501,13 +9501,13 @@ "memberName": "threshold", "nodeType": "MemberAccess", "referencedDeclaration": 48, - "src": "14092:34:0", + "src": "14237:34:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, - "src": "14078:48:0", + "src": "14223:48:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -9539,7 +9539,7 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "14131:16:0", + "src": "14276:16:0", "subExpression": { "argumentTypes": null, "id": 693, @@ -9547,7 +9547,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 674, - "src": "14132:15:0", + "src": "14277:15:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -9578,7 +9578,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 663, - "src": "14151:13:0", + "src": "14296:13:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -9597,7 +9597,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "14168:12:0", + "src": "14313:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -9611,7 +9611,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 653, - "src": "14181:10:0", + "src": "14326:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -9622,7 +9622,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "14168:24:0", + "src": "14313:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -9636,19 +9636,19 @@ "memberName": "seller", "nodeType": "MemberAccess", "referencedDeclaration": 54, - "src": "14168:31:0", + "src": "14313:31:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "14151:48:0", + "src": "14296:48:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "14131:68:0", + "src": "14276:68:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -9662,13 +9662,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "14130:70:0", + "src": "14275:70:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "14078:122:0", + "src": "14223:122:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -9677,11 +9677,11 @@ "falseBody": null, "id": 709, "nodeType": "IfStatement", - "src": "14057:289:0", + "src": "14202:289:0", "trueBody": { "id": 708, "nodeType": "Block", - "src": "14223:123:0", + "src": "14368:123:0", "statements": [ { "expression": { @@ -9697,7 +9697,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "14244:90:0", + "src": "14389:90:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_e454643f61f81e3a3dc8dabaafde295fea592e232abeb03abbb1835bdc3d20d0", @@ -9721,7 +9721,7 @@ 1403 ], "referencedDeclaration": 1403, - "src": "14237:6:0", + "src": "14382:6:0", "typeDescriptions": { "typeIdentifier": "t_function_revert_pure$_t_string_memory_ptr_$returns$__$", "typeString": "function (string memory) pure" @@ -9735,7 +9735,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "14237:98:0", + "src": "14382:98:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -9743,7 +9743,7 @@ }, "id": 707, "nodeType": "ExpressionStatement", - "src": "14237:98:0" + "src": "14382:98:0" } ] } @@ -9768,7 +9768,7 @@ "name": "sigV", "nodeType": "VariableDeclaration", "scope": 711, - "src": "13382:12:0", + "src": "13527:12:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9780,7 +9780,7 @@ "id": 643, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "13382:5:0", + "src": "13527:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -9789,7 +9789,7 @@ "id": 644, "length": null, "nodeType": "ArrayTypeName", - "src": "13382:7:0", + "src": "13527:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_storage_ptr", "typeString": "uint8[]" @@ -9804,7 +9804,7 @@ "name": "sigR", "nodeType": "VariableDeclaration", "scope": 711, - "src": "13404:14:0", + "src": "13549:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9816,7 +9816,7 @@ "id": 646, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "13404:7:0", + "src": "13549:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -9825,7 +9825,7 @@ "id": 647, "length": null, "nodeType": "ArrayTypeName", - "src": "13404:9:0", + "src": "13549:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -9840,7 +9840,7 @@ "name": "sigS", "nodeType": "VariableDeclaration", "scope": 711, - "src": "13428:14:0", + "src": "13573:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9852,7 +9852,7 @@ "id": 649, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "13428:7:0", + "src": "13573:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -9861,7 +9861,7 @@ "id": 650, "length": null, "nodeType": "ArrayTypeName", - "src": "13428:9:0", + "src": "13573:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -9876,7 +9876,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 711, - "src": "13452:18:0", + "src": "13597:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9887,7 +9887,7 @@ "id": 652, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "13452:7:0", + "src": "13597:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -9902,7 +9902,7 @@ "name": "destinations", "nodeType": "VariableDeclaration", "scope": 711, - "src": "13480:22:0", + "src": "13625:22:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9914,7 +9914,7 @@ "id": 654, "name": "address", "nodeType": "ElementaryTypeName", - "src": "13480:7:0", + "src": "13625:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -9923,7 +9923,7 @@ "id": 655, "length": null, "nodeType": "ArrayTypeName", - "src": "13480:9:0", + "src": "13625:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", "typeString": "address[]" @@ -9938,7 +9938,7 @@ "name": "amounts", "nodeType": "VariableDeclaration", "scope": 711, - "src": "13512:17:0", + "src": "13657:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9950,7 +9950,7 @@ "id": 657, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "13512:7:0", + "src": "13657:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9959,7 +9959,7 @@ "id": 658, "length": null, "nodeType": "ArrayTypeName", - "src": "13512:9:0", + "src": "13657:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -9969,17 +9969,17 @@ "visibility": "internal" } ], - "src": "13372:163:0" + "src": "13517:163:0" }, "payable": false, "returnParameters": { "id": 661, "nodeType": "ParameterList", "parameters": [], - "src": "13556:0:0" + "src": "13701:0:0" }, "scope": 1224, - "src": "13345:1008:0", + "src": "13490:1008:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "private" @@ -9988,7 +9988,7 @@ "body": { "id": 903, "nodeType": "Block", - "src": "14640:1562:0", + "src": "14785:1562:0", "statements": [ { "assignments": [ @@ -10001,7 +10001,7 @@ "name": "t", "nodeType": "VariableDeclaration", "scope": 904, - "src": "14650:21:0", + "src": "14795:21:0", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { @@ -10014,7 +10014,7 @@ "name": "Transaction", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 71, - "src": "14650:11:0", + "src": "14795:11:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction" @@ -10034,7 +10034,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "14674:12:0", + "src": "14819:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -10048,7 +10048,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 713, - "src": "14687:10:0", + "src": "14832:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -10059,14 +10059,14 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "14674:24:0", + "src": "14819:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "14650:48:0" + "src": "14795:48:0" }, { "assignments": [ @@ -10079,7 +10079,7 @@ "name": "valueTransferred", "nodeType": "VariableDeclaration", "scope": 904, - "src": "14709:24:0", + "src": "14854:24:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -10090,7 +10090,7 @@ "id": 730, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "14709:7:0", + "src": "14854:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10111,7 +10111,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "14736:1:0", + "src": "14881:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -10120,7 +10120,7 @@ "value": "0" }, "nodeType": "VariableDeclarationStatement", - "src": "14709:28:0" + "src": "14854:28:0" }, { "condition": { @@ -10143,7 +10143,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 725, - "src": "14752:1:0", + "src": "14897:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" @@ -10157,7 +10157,7 @@ "memberName": "transactionType", "nodeType": "MemberAccess", "referencedDeclaration": 46, - "src": "14752:17:0", + "src": "14897:17:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -10174,7 +10174,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12, - "src": "14773:15:0", + "src": "14918:15:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_TransactionType_$12_$", "typeString": "type(enum Escrow_v1_0.TransactionType)" @@ -10188,13 +10188,13 @@ "memberName": "ETHER", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "14773:21:0", + "src": "14918:21:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" } }, - "src": "14752:42:0", + "src": "14897:42:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -10221,7 +10221,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 725, - "src": "15408:1:0", + "src": "15553:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" @@ -10235,7 +10235,7 @@ "memberName": "transactionType", "nodeType": "MemberAccess", "referencedDeclaration": 46, - "src": "15408:17:0", + "src": "15553:17:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -10252,7 +10252,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12, - "src": "15429:15:0", + "src": "15574:15:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_TransactionType_$12_$", "typeString": "type(enum Escrow_v1_0.TransactionType)" @@ -10266,13 +10266,13 @@ "memberName": "TOKEN", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "15429:21:0", + "src": "15574:21:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" } }, - "src": "15408:42:0", + "src": "15553:42:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -10281,11 +10281,11 @@ "falseBody": null, "id": 899, "nodeType": "IfStatement", - "src": "15404:758:0", + "src": "15549:758:0", "trueBody": { "id": 898, "nodeType": "Block", - "src": "15452:710:0", + "src": "15597:710:0", "statements": [ { "assignments": [ @@ -10298,7 +10298,7 @@ "name": "token", "nodeType": "VariableDeclaration", "scope": 904, - "src": "15467:20:0", + "src": "15612:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -10311,7 +10311,7 @@ "name": "ITokenContract", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 1254, - "src": "15467:14:0", + "src": "15612:14:0", "typeDescriptions": { "typeIdentifier": "t_contract$_ITokenContract_$1254", "typeString": "contract ITokenContract" @@ -10334,7 +10334,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 725, - "src": "15505:1:0", + "src": "15650:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" @@ -10348,7 +10348,7 @@ "memberName": "tokenAddress", "nodeType": "MemberAccess", "referencedDeclaration": 56, - "src": "15505:14:0", + "src": "15650:14:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -10367,7 +10367,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1254, - "src": "15490:14:0", + "src": "15635:14:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_ITokenContract_$1254_$", "typeString": "type(contract ITokenContract)" @@ -10381,20 +10381,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15490:30:0", + "src": "15635:30:0", "typeDescriptions": { "typeIdentifier": "t_contract$_ITokenContract_$1254", "typeString": "contract ITokenContract" } }, "nodeType": "VariableDeclarationStatement", - "src": "15467:53:0" + "src": "15612:53:0" }, { "body": { "id": 896, "nodeType": "Block", - "src": "15583:569:0", + "src": "15728:569:0", "statements": [ { "expression": { @@ -10420,7 +10420,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 716, - "src": "15610:12:0", + "src": "15755:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -10434,7 +10434,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 824, - "src": "15623:1:0", + "src": "15768:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10445,7 +10445,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15610:15:0", + "src": "15755:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -10466,7 +10466,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "15637:1:0", + "src": "15782:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -10488,7 +10488,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "15629:7:0", + "src": "15774:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" @@ -10503,13 +10503,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15629:10:0", + "src": "15774:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "15610:29:0", + "src": "15755:29:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -10525,7 +10525,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "15641:52:0", + "src": "15786:52:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_587fbb5a9b8e6d4cc482f236066ac51bcf007ae6026eab186437d2f1b22fc139", @@ -10553,7 +10553,7 @@ 1401 ], "referencedDeclaration": 1401, - "src": "15602:7:0", + "src": "15747:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -10567,7 +10567,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15602:92:0", + "src": "15747:92:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -10575,7 +10575,7 @@ }, "id": 844, "nodeType": "ExpressionStatement", - "src": "15602:92:0" + "src": "15747:92:0" }, { "expression": { @@ -10592,7 +10592,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 725, - "src": "15721:1:0", + "src": "15866:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" @@ -10606,7 +10606,7 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "15721:9:0", + "src": "15866:9:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -10622,7 +10622,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 716, - "src": "15731:12:0", + "src": "15876:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -10636,7 +10636,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 824, - "src": "15744:1:0", + "src": "15889:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10647,7 +10647,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15731:15:0", + "src": "15876:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -10658,7 +10658,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15721:26:0", + "src": "15866:26:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -10674,7 +10674,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "15749:46:0", + "src": "15894:46:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_5ccbe9d117aeeb4b3546dfe6a12f083cb37039367b3ec38b60873b8650bc846f", @@ -10702,7 +10702,7 @@ 1401 ], "referencedDeclaration": 1401, - "src": "15713:7:0", + "src": "15858:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -10716,7 +10716,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15713:83:0", + "src": "15858:83:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -10724,7 +10724,7 @@ }, "id": 854, "nodeType": "ExpressionStatement", - "src": "15713:83:0" + "src": "15858:83:0" }, { "expression": { @@ -10750,7 +10750,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 719, - "src": "15823:7:0", + "src": "15968:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" @@ -10764,7 +10764,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 824, - "src": "15831:1:0", + "src": "15976:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10775,7 +10775,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15823:10:0", + "src": "15968:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10793,7 +10793,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "15836:1:0", + "src": "15981:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -10801,7 +10801,7 @@ }, "value": "0" }, - "src": "15823:14:0", + "src": "15968:14:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -10817,7 +10817,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "15839:44:0", + "src": "15984:44:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_5e1271a09dbb64ae031de288deb0ad8d707df7db51d6e827931dc8fa6642a71e", @@ -10845,7 +10845,7 @@ 1401 ], "referencedDeclaration": 1401, - "src": "15815:7:0", + "src": "15960:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -10859,7 +10859,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15815:69:0", + "src": "15960:69:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -10867,7 +10867,7 @@ }, "id": 863, "nodeType": "ExpressionStatement", - "src": "15815:69:0" + "src": "15960:69:0" }, { "expression": { @@ -10884,7 +10884,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 731, - "src": "15903:16:0", + "src": "16048:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10904,7 +10904,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 719, - "src": "15943:7:0", + "src": "16088:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" @@ -10918,7 +10918,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 824, - "src": "15951:1:0", + "src": "16096:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10929,7 +10929,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15943:10:0", + "src": "16088:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10950,7 +10950,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 731, - "src": "15922:16:0", + "src": "16067:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10964,7 +10964,7 @@ "memberName": "add", "nodeType": "MemberAccess", "referencedDeclaration": 1361, - "src": "15922:20:0", + "src": "16067:20:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" @@ -10978,13 +10978,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15922:32:0", + "src": "16067:32:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "15903:51:0", + "src": "16048:51:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10992,7 +10992,7 @@ }, "id": 872, "nodeType": "ExpressionStatement", - "src": "15903:51:0" + "src": "16048:51:0" }, { "expression": { @@ -11013,7 +11013,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 725, - "src": "15972:1:0", + "src": "16117:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" @@ -11027,7 +11027,7 @@ "memberName": "beneficiaries", "nodeType": "MemberAccess", "referencedDeclaration": 70, - "src": "15972:15:0", + "src": "16117:15:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -11043,7 +11043,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 716, - "src": "15988:12:0", + "src": "16133:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -11057,7 +11057,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 824, - "src": "16001:1:0", + "src": "16146:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11068,7 +11068,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15988:15:0", + "src": "16133:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -11079,7 +11079,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "15972:32:0", + "src": "16117:32:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -11097,7 +11097,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "16007:4:0", + "src": "16152:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -11105,7 +11105,7 @@ }, "value": "true" }, - "src": "15972:39:0", + "src": "16117:39:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -11113,7 +11113,7 @@ }, "id": 882, "nodeType": "ExpressionStatement", - "src": "15972:39:0" + "src": "16117:39:0" }, { "expression": { @@ -11131,7 +11131,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 716, - "src": "16082:12:0", + "src": "16227:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -11145,7 +11145,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 824, - "src": "16095:1:0", + "src": "16240:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11156,7 +11156,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "16082:15:0", + "src": "16227:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -11171,7 +11171,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 719, - "src": "16099:7:0", + "src": "16244:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" @@ -11185,7 +11185,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 824, - "src": "16107:1:0", + "src": "16252:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11196,7 +11196,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "16099:10:0", + "src": "16244:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11221,7 +11221,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 817, - "src": "16067:5:0", + "src": "16212:5:0", "typeDescriptions": { "typeIdentifier": "t_contract$_ITokenContract_$1254", "typeString": "contract ITokenContract" @@ -11235,7 +11235,7 @@ "memberName": "transfer", "nodeType": "MemberAccess", "referencedDeclaration": 1242, - "src": "16067:14:0", + "src": "16212:14:0", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", "typeString": "function (address,uint256) external returns (bool)" @@ -11249,7 +11249,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16067:43:0", + "src": "16212:43:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -11265,7 +11265,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "16112:24:0", + "src": "16257:24:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_e545223bb79d8456d66fa5a98897abb42bb4807111f004a120200da3b7e292c5", @@ -11293,7 +11293,7 @@ 1401 ], "referencedDeclaration": 1401, - "src": "16059:7:0", + "src": "16204:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -11307,7 +11307,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16059:78:0", + "src": "16204:78:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -11315,7 +11315,7 @@ }, "id": 895, "nodeType": "ExpressionStatement", - "src": "16059:78:0" + "src": "16204:78:0" } ] }, @@ -11337,7 +11337,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 824, - "src": "15555:1:0", + "src": "15700:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11354,7 +11354,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 716, - "src": "15557:12:0", + "src": "15702:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -11368,13 +11368,13 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "15557:19:0", + "src": "15702:19:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "15555:21:0", + "src": "15700:21:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -11392,7 +11392,7 @@ "name": "j", "nodeType": "VariableDeclaration", "scope": 904, - "src": "15540:9:0", + "src": "15685:9:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -11403,7 +11403,7 @@ "id": 823, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "15540:7:0", + "src": "15685:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11424,7 +11424,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "15552:1:0", + "src": "15697:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -11433,7 +11433,7 @@ "value": "0" }, "nodeType": "VariableDeclarationStatement", - "src": "15540:13:0" + "src": "15685:13:0" }, "loopExpression": { "expression": { @@ -11446,7 +11446,7 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "15578:3:0", + "src": "15723:3:0", "subExpression": { "argumentTypes": null, "id": 831, @@ -11454,7 +11454,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 824, - "src": "15578:1:0", + "src": "15723:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11467,27 +11467,27 @@ }, "id": 833, "nodeType": "ExpressionStatement", - "src": "15578:3:0" + "src": "15723:3:0" }, "nodeType": "ForStatement", - "src": "15535:617:0" + "src": "15680:617:0" } ] } }, "id": 900, "nodeType": "IfStatement", - "src": "14748:1414:0", + "src": "14893:1414:0", "trueBody": { "id": 810, "nodeType": "Block", - "src": "14796:602:0", + "src": "14941:602:0", "statements": [ { "body": { "id": 808, "nodeType": "Block", - "src": "14860:527:0", + "src": "15005:527:0", "statements": [ { "expression": { @@ -11513,7 +11513,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 716, - "src": "14887:12:0", + "src": "15032:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -11527,7 +11527,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 740, - "src": "14900:1:0", + "src": "15045:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11538,7 +11538,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "14887:15:0", + "src": "15032:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -11559,7 +11559,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "14914:1:0", + "src": "15059:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -11581,7 +11581,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "14906:7:0", + "src": "15051:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" @@ -11596,13 +11596,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "14906:10:0", + "src": "15051:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "14887:29:0", + "src": "15032:29:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -11618,7 +11618,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "14918:52:0", + "src": "15063:52:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_587fbb5a9b8e6d4cc482f236066ac51bcf007ae6026eab186437d2f1b22fc139", @@ -11646,7 +11646,7 @@ 1401 ], "referencedDeclaration": 1401, - "src": "14879:7:0", + "src": "15024:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -11660,7 +11660,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "14879:92:0", + "src": "15024:92:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -11668,7 +11668,7 @@ }, "id": 760, "nodeType": "ExpressionStatement", - "src": "14879:92:0" + "src": "15024:92:0" }, { "expression": { @@ -11685,7 +11685,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 725, - "src": "14998:1:0", + "src": "15143:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" @@ -11699,7 +11699,7 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "14998:9:0", + "src": "15143:9:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -11715,7 +11715,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 716, - "src": "15008:12:0", + "src": "15153:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -11729,7 +11729,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 740, - "src": "15021:1:0", + "src": "15166:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11740,7 +11740,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15008:15:0", + "src": "15153:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -11751,7 +11751,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "14998:26:0", + "src": "15143:26:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -11767,7 +11767,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "15026:46:0", + "src": "15171:46:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_5ccbe9d117aeeb4b3546dfe6a12f083cb37039367b3ec38b60873b8650bc846f", @@ -11795,7 +11795,7 @@ 1401 ], "referencedDeclaration": 1401, - "src": "14990:7:0", + "src": "15135:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -11809,7 +11809,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "14990:83:0", + "src": "15135:83:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -11817,7 +11817,7 @@ }, "id": 770, "nodeType": "ExpressionStatement", - "src": "14990:83:0" + "src": "15135:83:0" }, { "expression": { @@ -11843,7 +11843,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 719, - "src": "15100:7:0", + "src": "15245:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" @@ -11857,7 +11857,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 740, - "src": "15108:1:0", + "src": "15253:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11868,7 +11868,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15100:10:0", + "src": "15245:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11886,7 +11886,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "15113:1:0", + "src": "15258:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -11894,7 +11894,7 @@ }, "value": "0" }, - "src": "15100:14:0", + "src": "15245:14:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -11910,7 +11910,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "15116:44:0", + "src": "15261:44:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_5e1271a09dbb64ae031de288deb0ad8d707df7db51d6e827931dc8fa6642a71e", @@ -11938,7 +11938,7 @@ 1401 ], "referencedDeclaration": 1401, - "src": "15092:7:0", + "src": "15237:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -11952,7 +11952,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15092:69:0", + "src": "15237:69:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -11960,7 +11960,7 @@ }, "id": 779, "nodeType": "ExpressionStatement", - "src": "15092:69:0" + "src": "15237:69:0" }, { "expression": { @@ -11977,7 +11977,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 731, - "src": "15180:16:0", + "src": "15325:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11997,7 +11997,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 719, - "src": "15220:7:0", + "src": "15365:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" @@ -12011,7 +12011,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 740, - "src": "15228:1:0", + "src": "15373:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12022,7 +12022,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15220:10:0", + "src": "15365:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12043,7 +12043,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 731, - "src": "15199:16:0", + "src": "15344:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12057,7 +12057,7 @@ "memberName": "add", "nodeType": "MemberAccess", "referencedDeclaration": 1361, - "src": "15199:20:0", + "src": "15344:20:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" @@ -12071,13 +12071,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15199:32:0", + "src": "15344:32:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "15180:51:0", + "src": "15325:51:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12085,7 +12085,7 @@ }, "id": 788, "nodeType": "ExpressionStatement", - "src": "15180:51:0" + "src": "15325:51:0" }, { "expression": { @@ -12106,7 +12106,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 725, - "src": "15250:1:0", + "src": "15395:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" @@ -12120,7 +12120,7 @@ "memberName": "beneficiaries", "nodeType": "MemberAccess", "referencedDeclaration": 70, - "src": "15250:15:0", + "src": "15395:15:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -12136,7 +12136,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 716, - "src": "15266:12:0", + "src": "15411:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -12150,7 +12150,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 740, - "src": "15279:1:0", + "src": "15424:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12161,7 +12161,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15266:15:0", + "src": "15411:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -12172,7 +12172,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "15250:32:0", + "src": "15395:32:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -12190,7 +12190,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "15285:4:0", + "src": "15430:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -12198,7 +12198,7 @@ }, "value": "true" }, - "src": "15250:39:0", + "src": "15395:39:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -12206,7 +12206,7 @@ }, "id": 798, "nodeType": "ExpressionStatement", - "src": "15250:39:0" + "src": "15395:39:0" }, { "expression": { @@ -12221,7 +12221,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 719, - "src": "15361:7:0", + "src": "15506:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" @@ -12235,7 +12235,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 740, - "src": "15369:1:0", + "src": "15514:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12246,7 +12246,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15361:10:0", + "src": "15506:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12269,7 +12269,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 716, - "src": "15336:12:0", + "src": "15481:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -12283,7 +12283,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 740, - "src": "15349:1:0", + "src": "15494:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12294,7 +12294,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15336:15:0", + "src": "15481:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -12308,7 +12308,7 @@ "memberName": "transfer", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "15336:24:0", + "src": "15481:24:0", "typeDescriptions": { "typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$", "typeString": "function (uint256)" @@ -12322,7 +12322,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15336:36:0", + "src": "15481:36:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -12330,7 +12330,7 @@ }, "id": 807, "nodeType": "ExpressionStatement", - "src": "15336:36:0" + "src": "15481:36:0" } ] }, @@ -12352,7 +12352,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 740, - "src": "14830:1:0", + "src": "14975:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12369,7 +12369,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 716, - "src": "14834:12:0", + "src": "14979:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -12383,13 +12383,13 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "14834:19:0", + "src": "14979:19:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "14830:23:0", + "src": "14975:23:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -12407,7 +12407,7 @@ "name": "i", "nodeType": "VariableDeclaration", "scope": 904, - "src": "14815:9:0", + "src": "14960:9:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12418,7 +12418,7 @@ "id": 739, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "14815:7:0", + "src": "14960:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12439,7 +12439,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "14827:1:0", + "src": "14972:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -12448,7 +12448,7 @@ "value": "0" }, "nodeType": "VariableDeclarationStatement", - "src": "14815:13:0" + "src": "14960:13:0" }, "loopExpression": { "expression": { @@ -12461,7 +12461,7 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "14855:3:0", + "src": "15000:3:0", "subExpression": { "argumentTypes": null, "id": 747, @@ -12469,7 +12469,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 740, - "src": "14855:1:0", + "src": "15000:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12482,10 +12482,10 @@ }, "id": 749, "nodeType": "ExpressionStatement", - "src": "14855:3:0" + "src": "15000:3:0" }, "nodeType": "ForStatement", - "src": "14810:577:0" + "src": "14955:577:0" } ] } @@ -12498,7 +12498,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 731, - "src": "16179:16:0", + "src": "16324:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12507,7 +12507,7 @@ "functionReturnParameters": 723, "id": 902, "nodeType": "Return", - "src": "16172:23:0" + "src": "16317:23:0" } ] }, @@ -12529,7 +12529,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 904, - "src": "14512:18:0", + "src": "14657:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12540,7 +12540,7 @@ "id": 712, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "14512:7:0", + "src": "14657:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -12555,7 +12555,7 @@ "name": "destinations", "nodeType": "VariableDeclaration", "scope": 904, - "src": "14540:21:0", + "src": "14685:21:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12567,7 +12567,7 @@ "id": 714, "name": "address", "nodeType": "ElementaryTypeName", - "src": "14540:7:0", + "src": "14685:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -12576,7 +12576,7 @@ "id": 715, "length": null, "nodeType": "ArrayTypeName", - "src": "14540:9:0", + "src": "14685:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", "typeString": "address[]" @@ -12591,7 +12591,7 @@ "name": "amounts", "nodeType": "VariableDeclaration", "scope": 904, - "src": "14571:16:0", + "src": "14716:16:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12603,7 +12603,7 @@ "id": 717, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "14571:7:0", + "src": "14716:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12612,7 +12612,7 @@ "id": 718, "length": null, "nodeType": "ArrayTypeName", - "src": "14571:9:0", + "src": "14716:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -12622,7 +12622,7 @@ "visibility": "internal" } ], - "src": "14502:91:0" + "src": "14647:91:0" }, "payable": false, "returnParameters": { @@ -12635,7 +12635,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 904, - "src": "14627:7:0", + "src": "14772:7:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12646,7 +12646,7 @@ "id": 721, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "14627:7:0", + "src": "14772:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12656,10 +12656,10 @@ "visibility": "internal" } ], - "src": "14626:9:0" + "src": "14771:9:0" }, "scope": 1224, - "src": "14479:1723:0", + "src": "14624:1723:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "private" @@ -12668,7 +12668,7 @@ "body": { "id": 1034, "nodeType": "Block", - "src": "16622:1346:0", + "src": "16767:1346:0", "statements": [ { "expression": { @@ -12705,7 +12705,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 910, - "src": "16654:4:0", + "src": "16799:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" @@ -12719,7 +12719,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "16654:11:0", + "src": "16799:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12736,7 +12736,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 913, - "src": "16669:4:0", + "src": "16814:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" @@ -12750,13 +12750,13 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "16669:11:0", + "src": "16814:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "16654:26:0", + "src": "16799:26:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -12784,7 +12784,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 910, - "src": "16684:4:0", + "src": "16829:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" @@ -12798,7 +12798,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "16684:11:0", + "src": "16829:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12815,7 +12815,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 907, - "src": "16699:4:0", + "src": "16844:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr", "typeString": "uint8[] memory" @@ -12829,19 +12829,19 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "16699:11:0", + "src": "16844:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "16684:26:0", + "src": "16829:26:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "16654:56:0", + "src": "16799:56:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -12857,7 +12857,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "16725:24:0", + "src": "16870:24:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_f85073c8befb65baed58ca1ee563e5da0bdbdce8abd4d29ef22a8329c7c97506", @@ -12885,7 +12885,7 @@ 1401 ], "referencedDeclaration": 1401, - "src": "16633:7:0", + "src": "16778:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -12899,7 +12899,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16633:126:0", + "src": "16778:126:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -12907,7 +12907,7 @@ }, "id": 940, "nodeType": "ExpressionStatement", - "src": "16633:126:0" + "src": "16778:126:0" }, { "assignments": [], @@ -12918,7 +12918,7 @@ "name": "lastAddress", "nodeType": "VariableDeclaration", "scope": 1035, - "src": "16770:19:0", + "src": "16915:19:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12929,7 +12929,7 @@ "id": 941, "name": "address", "nodeType": "ElementaryTypeName", - "src": "16770:7:0", + "src": "16915:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -12942,7 +12942,7 @@ "id": 943, "initialValue": null, "nodeType": "VariableDeclarationStatement", - "src": "16770:19:0" + "src": "16915:19:0" }, { "assignments": [ @@ -12955,7 +12955,7 @@ "name": "txHash", "nodeType": "VariableDeclaration", "scope": 1035, - "src": "16888:14:0", + "src": "17033:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12966,7 +12966,7 @@ "id": 944, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "16888:7:0", + "src": "17033:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -12993,7 +12993,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "16962:34:0", + "src": "17107:34:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_178a2411ab6fbc1ba11064408972259c558d0e82fd48b0aba3ad81d14f065e73", @@ -13020,7 +13020,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "17092:4:0", + "src": "17237:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_25_by_1", @@ -13042,7 +13042,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "17087:4:0", + "src": "17232:4:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes1_$", "typeString": "type(bytes1)" @@ -13057,7 +13057,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17087:10:0", + "src": "17232:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes1", "typeString": "bytes1" @@ -13076,7 +13076,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "17128:1:0", + "src": "17273:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -13098,7 +13098,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "17123:4:0", + "src": "17268:4:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes1_$", "typeString": "type(bytes1)" @@ -13113,7 +13113,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17123:7:0", + "src": "17268:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes1", "typeString": "bytes1" @@ -13129,7 +13129,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1414, - "src": "17164:4:0", + "src": "17309:4:0", "typeDescriptions": { "typeIdentifier": "t_contract$_Escrow_v1_0_$1224", "typeString": "contract Escrow_v1_0" @@ -13149,7 +13149,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "17156:7:0", + "src": "17301:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" @@ -13164,7 +13164,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17156:13:0", + "src": "17301:13:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -13177,7 +13177,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 918, - "src": "17195:12:0", + "src": "17340:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -13190,7 +13190,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 921, - "src": "17233:7:0", + "src": "17378:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" @@ -13203,7 +13203,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 915, - "src": "17266:10:0", + "src": "17411:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -13244,7 +13244,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1384, - "src": "17045:3:0", + "src": "17190:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" @@ -13258,7 +13258,7 @@ "memberName": "encodePacked", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "17045:16:0", + "src": "17190:16:0", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" @@ -13272,7 +13272,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17045:253:0", + "src": "17190:253:0", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -13291,7 +13291,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1391, - "src": "17014:9:0", + "src": "17159:9:0", "typeDescriptions": { "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", "typeString": "function () pure returns (bytes32)" @@ -13305,7 +13305,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17014:302:0", + "src": "17159:302:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -13330,7 +13330,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1384, - "src": "16928:3:0", + "src": "17073:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" @@ -13344,7 +13344,7 @@ "memberName": "encodePacked", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "16928:16:0", + "src": "17073:16:0", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" @@ -13358,7 +13358,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16928:402:0", + "src": "17073:402:0", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -13377,7 +13377,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1391, - "src": "16905:9:0", + "src": "17050:9:0", "typeDescriptions": { "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", "typeString": "function () pure returns (bytes32)" @@ -13391,20 +13391,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16905:435:0", + "src": "17050:435:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "nodeType": "VariableDeclarationStatement", - "src": "16888:452:0" + "src": "17033:452:0" }, { "body": { "id": 1030, "nodeType": "Block", - "src": "17390:543:0", + "src": "17535:543:0", "statements": [ { "assignments": [ @@ -13417,7 +13417,7 @@ "name": "recovered", "nodeType": "VariableDeclaration", "scope": 1035, - "src": "17405:17:0", + "src": "17550:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -13428,7 +13428,7 @@ "id": 981, "name": "address", "nodeType": "ElementaryTypeName", - "src": "17405:7:0", + "src": "17550:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -13449,7 +13449,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 945, - "src": "17452:6:0", + "src": "17597:6:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -13464,7 +13464,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 907, - "src": "17476:4:0", + "src": "17621:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr", "typeString": "uint8[] memory" @@ -13478,7 +13478,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 971, - "src": "17481:1:0", + "src": "17626:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13489,7 +13489,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17476:7:0", + "src": "17621:7:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -13504,7 +13504,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 910, - "src": "17501:4:0", + "src": "17646:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" @@ -13518,7 +13518,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 971, - "src": "17506:1:0", + "src": "17651:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13529,7 +13529,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17501:7:0", + "src": "17646:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -13544,7 +13544,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 913, - "src": "17526:4:0", + "src": "17671:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" @@ -13558,7 +13558,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 971, - "src": "17531:1:0", + "src": "17676:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13569,7 +13569,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17526:7:0", + "src": "17671:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -13600,7 +13600,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1389, - "src": "17425:9:0", + "src": "17570:9:0", "typeDescriptions": { "typeIdentifier": "t_function_ecrecover_pure$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$_t_address_$", "typeString": "function (bytes32,uint8,bytes32,bytes32) pure returns (address)" @@ -13614,14 +13614,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17425:122:0", + "src": "17570:122:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "VariableDeclarationStatement", - "src": "17405:142:0" + "src": "17550:142:0" }, { "expression": { @@ -13640,7 +13640,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "17587:12:0", + "src": "17732:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -13654,7 +13654,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 915, - "src": "17600:10:0", + "src": "17745:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -13665,7 +13665,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17587:24:0", + "src": "17732:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -13679,7 +13679,7 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "17587:32:0", + "src": "17732:32:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -13693,7 +13693,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 982, - "src": "17620:9:0", + "src": "17765:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -13704,7 +13704,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17587:43:0", + "src": "17732:43:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -13720,7 +13720,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "17649:19:0", + "src": "17794:19:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_4f2d7dfcb27c0aafa13ae8c400de482c7832204d194018b6e45bd2bf244c74e7", @@ -13748,7 +13748,7 @@ 1401 ], "referencedDeclaration": 1401, - "src": "17562:7:0", + "src": "17707:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -13762,7 +13762,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17562:120:0", + "src": "17707:120:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -13770,7 +13770,7 @@ }, "id": 1005, "nodeType": "ExpressionStatement", - "src": "17562:120:0" + "src": "17707:120:0" }, { "expression": { @@ -13786,7 +13786,7 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "17721:42:0", + "src": "17866:42:0", "subExpression": { "argumentTypes": null, "baseExpression": { @@ -13800,7 +13800,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "17722:12:0", + "src": "17867:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -13814,7 +13814,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 915, - "src": "17735:10:0", + "src": "17880:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -13825,7 +13825,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17722:24:0", + "src": "17867:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -13839,7 +13839,7 @@ "memberName": "voted", "nodeType": "MemberAccess", "referencedDeclaration": 66, - "src": "17722:30:0", + "src": "17867:30:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -13853,7 +13853,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 982, - "src": "17753:9:0", + "src": "17898:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -13864,7 +13864,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17722:41:0", + "src": "17867:41:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -13885,7 +13885,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "17782:27:0", + "src": "17927:27:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_fb2c7e49d5ec7ce36fa812cf15ee7fa946942f931d04fe3ae970516007b2a543", @@ -13913,7 +13913,7 @@ 1401 ], "referencedDeclaration": 1401, - "src": "17696:7:0", + "src": "17841:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -13927,7 +13927,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17696:127:0", + "src": "17841:127:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -13935,7 +13935,7 @@ }, "id": 1016, "nodeType": "ExpressionStatement", - "src": "17696:127:0" + "src": "17841:127:0" }, { "expression": { @@ -13958,7 +13958,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "17837:12:0", + "src": "17982:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -13972,7 +13972,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 915, - "src": "17850:10:0", + "src": "17995:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -13983,7 +13983,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17837:24:0", + "src": "17982:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -13997,7 +13997,7 @@ "memberName": "voted", "nodeType": "MemberAccess", "referencedDeclaration": 66, - "src": "17837:30:0", + "src": "17982:30:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -14011,7 +14011,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 982, - "src": "17868:9:0", + "src": "18013:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -14022,7 +14022,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "17837:41:0", + "src": "17982:41:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -14040,7 +14040,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "17881:4:0", + "src": "18026:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -14048,7 +14048,7 @@ }, "value": "true" }, - "src": "17837:48:0", + "src": "17982:48:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -14056,7 +14056,7 @@ }, "id": 1025, "nodeType": "ExpressionStatement", - "src": "17837:48:0" + "src": "17982:48:0" }, { "expression": { @@ -14073,7 +14073,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 942, - "src": "17899:11:0", + "src": "18044:11:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -14088,13 +14088,13 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 982, - "src": "17913:9:0", + "src": "18058:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "17899:23:0", + "src": "18044:23:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -14102,7 +14102,7 @@ }, "id": 1029, "nodeType": "ExpressionStatement", - "src": "17899:23:0" + "src": "18044:23:0" } ] }, @@ -14124,7 +14124,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 971, - "src": "17368:1:0", + "src": "17513:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14141,7 +14141,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 910, - "src": "17372:4:0", + "src": "17517:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" @@ -14155,13 +14155,13 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "17372:11:0", + "src": "17517:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "17368:15:0", + "src": "17513:15:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -14179,7 +14179,7 @@ "name": "i", "nodeType": "VariableDeclaration", "scope": 1035, - "src": "17356:6:0", + "src": "17501:6:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14190,7 +14190,7 @@ "id": 970, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "17356:4:0", + "src": "17501:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14211,7 +14211,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "17365:1:0", + "src": "17510:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -14220,7 +14220,7 @@ "value": "0" }, "nodeType": "VariableDeclarationStatement", - "src": "17356:10:0" + "src": "17501:10:0" }, "loopExpression": { "expression": { @@ -14233,7 +14233,7 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "17385:3:0", + "src": "17530:3:0", "subExpression": { "argumentTypes": null, "id": 978, @@ -14241,7 +14241,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 971, - "src": "17385:1:0", + "src": "17530:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14254,10 +14254,10 @@ }, "id": 980, "nodeType": "ExpressionStatement", - "src": "17385:3:0" + "src": "17530:3:0" }, "nodeType": "ForStatement", - "src": "17351:582:0" + "src": "17496:582:0" }, { "expression": { @@ -14267,7 +14267,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 942, - "src": "17950:11:0", + "src": "18095:11:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -14276,7 +14276,7 @@ "functionReturnParameters": 925, "id": 1033, "nodeType": "Return", - "src": "17943:18:0" + "src": "18088:18:0" } ] }, @@ -14298,7 +14298,7 @@ "name": "sigV", "nodeType": "VariableDeclaration", "scope": 1035, - "src": "16423:12:0", + "src": "16568:12:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14310,7 +14310,7 @@ "id": 905, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "16423:5:0", + "src": "16568:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -14319,7 +14319,7 @@ "id": 906, "length": null, "nodeType": "ArrayTypeName", - "src": "16423:7:0", + "src": "16568:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_storage_ptr", "typeString": "uint8[]" @@ -14334,7 +14334,7 @@ "name": "sigR", "nodeType": "VariableDeclaration", "scope": 1035, - "src": "16445:14:0", + "src": "16590:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14346,7 +14346,7 @@ "id": 908, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "16445:7:0", + "src": "16590:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -14355,7 +14355,7 @@ "id": 909, "length": null, "nodeType": "ArrayTypeName", - "src": "16445:9:0", + "src": "16590:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -14370,7 +14370,7 @@ "name": "sigS", "nodeType": "VariableDeclaration", "scope": 1035, - "src": "16469:14:0", + "src": "16614:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14382,7 +14382,7 @@ "id": 911, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "16469:7:0", + "src": "16614:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -14391,7 +14391,7 @@ "id": 912, "length": null, "nodeType": "ArrayTypeName", - "src": "16469:9:0", + "src": "16614:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -14406,7 +14406,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 1035, - "src": "16493:18:0", + "src": "16638:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14417,7 +14417,7 @@ "id": 914, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "16493:7:0", + "src": "16638:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -14432,7 +14432,7 @@ "name": "destinations", "nodeType": "VariableDeclaration", "scope": 1035, - "src": "16521:22:0", + "src": "16666:22:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14444,7 +14444,7 @@ "id": 916, "name": "address", "nodeType": "ElementaryTypeName", - "src": "16521:7:0", + "src": "16666:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -14453,7 +14453,7 @@ "id": 917, "length": null, "nodeType": "ArrayTypeName", - "src": "16521:9:0", + "src": "16666:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", "typeString": "address[]" @@ -14468,7 +14468,7 @@ "name": "amounts", "nodeType": "VariableDeclaration", "scope": 1035, - "src": "16553:16:0", + "src": "16698:16:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14480,7 +14480,7 @@ "id": 919, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "16553:7:0", + "src": "16698:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14489,7 +14489,7 @@ "id": 920, "length": null, "nodeType": "ArrayTypeName", - "src": "16553:9:0", + "src": "16698:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -14499,7 +14499,7 @@ "visibility": "internal" } ], - "src": "16413:162:0" + "src": "16558:162:0" }, "payable": false, "returnParameters": { @@ -14512,7 +14512,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 1035, - "src": "16609:7:0", + "src": "16754:7:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14523,7 +14523,7 @@ "id": 923, "name": "address", "nodeType": "ElementaryTypeName", - "src": "16609:7:0", + "src": "16754:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -14533,10 +14533,10 @@ "visibility": "internal" } ], - "src": "16608:9:0" + "src": "16753:9:0" }, "scope": 1224, - "src": "16387:1581:0", + "src": "16532:1581:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "private" @@ -14545,7 +14545,7 @@ "body": { "id": 1066, "nodeType": "Block", - "src": "18123:168:0", + "src": "18268:168:0", "statements": [ { "assignments": [ @@ -14558,7 +14558,7 @@ "name": "timeSince", "nodeType": "VariableDeclaration", "scope": 1067, - "src": "18133:17:0", + "src": "18278:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14569,7 +14569,7 @@ "id": 1044, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "18133:7:0", + "src": "18278:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14590,7 +14590,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1039, - "src": "18161:12:0", + "src": "18306:12:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14611,7 +14611,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1399, - "src": "18153:3:0", + "src": "18298:3:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14625,7 +14625,7 @@ "memberName": "sub", "nodeType": "MemberAccess", "referencedDeclaration": 1337, - "src": "18153:7:0", + "src": "18298:7:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" @@ -14639,14 +14639,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18153:21:0", + "src": "18298:21:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "18133:41:0" + "src": "18278:41:0" }, { "expression": { @@ -14672,7 +14672,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1037, - "src": "18205:12:0", + "src": "18350:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -14690,7 +14690,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "18221:1:0", + "src": "18366:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -14698,7 +14698,7 @@ }, "value": "0" }, - "src": "18205:17:0", + "src": "18350:17:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -14722,7 +14722,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1045, - "src": "18231:9:0", + "src": "18376:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14743,7 +14743,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "18269:4:0", + "src": "18414:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_3600_by_1", @@ -14769,7 +14769,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1037, - "src": "18251:12:0", + "src": "18396:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -14789,7 +14789,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "18243:7:0", + "src": "18388:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint256_$", "typeString": "type(uint256)" @@ -14804,7 +14804,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18243:21:0", + "src": "18388:21:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14818,7 +14818,7 @@ "memberName": "mul", "nodeType": "MemberAccess", "referencedDeclaration": 1289, - "src": "18243:25:0", + "src": "18388:25:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" @@ -14832,13 +14832,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18243:31:0", + "src": "18388:31:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "18231:43:0", + "src": "18376:43:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -14850,7 +14850,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "Conditional", - "src": "18205:69:0", + "src": "18350:69:0", "trueExpression": { "argumentTypes": null, "hexValue": "66616c7365", @@ -14861,7 +14861,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "18225:5:0", + "src": "18370:5:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -14882,7 +14882,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "18191:93:0", + "src": "18336:93:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -14891,7 +14891,7 @@ "functionReturnParameters": 1043, "id": 1065, "nodeType": "Return", - "src": "18184:100:0" + "src": "18329:100:0" } ] }, @@ -14913,7 +14913,7 @@ "name": "timeoutHours", "nodeType": "VariableDeclaration", "scope": 1067, - "src": "18011:19:0", + "src": "18156:19:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14924,7 +14924,7 @@ "id": 1036, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "18011:6:0", + "src": "18156:6:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -14939,7 +14939,7 @@ "name": "lastModified", "nodeType": "VariableDeclaration", "scope": 1067, - "src": "18040:20:0", + "src": "18185:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14950,7 +14950,7 @@ "id": 1038, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "18040:7:0", + "src": "18185:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14960,7 +14960,7 @@ "visibility": "internal" } ], - "src": "18001:65:0" + "src": "18146:65:0" }, "payable": false, "returnParameters": { @@ -14973,7 +14973,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 1067, - "src": "18113:4:0", + "src": "18258:4:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14984,7 +14984,7 @@ "id": 1041, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "18113:4:0", + "src": "18258:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -14994,10 +14994,10 @@ "visibility": "internal" } ], - "src": "18112:6:0" + "src": "18257:6:0" }, "scope": 1224, - "src": "17974:317:0", + "src": "18119:317:0", "stateMutability": "view", "superFunction": null, "visibility": "private" @@ -15006,7 +15006,7 @@ "body": { "id": 1222, "nodeType": "Block", - "src": "18705:2314:0", + "src": "18850:2314:0", "statements": [ { "expression": { @@ -15030,7 +15030,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1069, - "src": "18731:5:0", + "src": "18876:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15045,13 +15045,13 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1071, - "src": "18740:6:0", + "src": "18885:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "18731:15:0", + "src": "18876:15:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -15067,7 +15067,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "18748:27:0", + "src": "18893:27:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_6141441751234d42e9a73d96317794195c7ff57b8f16ac15725a10f10763f824", @@ -15095,7 +15095,7 @@ 1401 ], "referencedDeclaration": 1401, - "src": "18723:7:0", + "src": "18868:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -15109,7 +15109,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18723:53:0", + "src": "18868:53:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -15117,7 +15117,7 @@ }, "id": 1096, "nodeType": "ExpressionStatement", - "src": "18723:53:0" + "src": "18868:53:0" }, { "expression": { @@ -15141,7 +15141,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1081, - "src": "18843:5:0", + "src": "18988:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -15159,7 +15159,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "18851:1:0", + "src": "18996:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -15167,7 +15167,7 @@ }, "value": "0" }, - "src": "18843:9:0", + "src": "18988:9:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -15183,7 +15183,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "18854:19:0", + "src": "18999:19:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_3686f87c4804517ea83323ccf1a3b5b5ff52ed144b19e6fc56abe8fcd182e747", @@ -15211,7 +15211,7 @@ 1401 ], "referencedDeclaration": 1401, - "src": "18835:7:0", + "src": "18980:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -15225,7 +15225,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18835:39:0", + "src": "18980:39:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -15233,7 +15233,7 @@ }, "id": 1103, "nodeType": "ExpressionStatement", - "src": "18835:39:0" + "src": "18980:39:0" }, { "expression": { @@ -15268,7 +15268,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1075, - "src": "18977:9:0", + "src": "19122:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -15286,7 +15286,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "18989:1:0", + "src": "19134:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -15294,7 +15294,7 @@ }, "value": "0" }, - "src": "18977:13:0", + "src": "19122:13:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -15320,7 +15320,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1075, - "src": "18994:9:0", + "src": "19139:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -15338,7 +15338,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "19007:1:0", + "src": "19152:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_3_by_1", @@ -15346,13 +15346,13 @@ }, "value": "3" }, - "src": "18994:14:0", + "src": "19139:14:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "18977:31:0", + "src": "19122:31:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -15368,7 +15368,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "19023:63:0", + "src": "19168:63:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_351c1d5dfdc4a2b4c61d6f4dbb41a0d2ae70a9c094d3c0add87af24b5dd19c13", @@ -15396,7 +15396,7 @@ 1401 ], "referencedDeclaration": 1401, - "src": "18956:7:0", + "src": "19101:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -15410,7 +15410,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18956:140:0", + "src": "19101:140:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -15418,7 +15418,7 @@ }, "id": 1114, "nodeType": "ExpressionStatement", - "src": "18956:140:0" + "src": "19101:140:0" }, { "expression": { @@ -15453,7 +15453,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1075, - "src": "19377:9:0", + "src": "19522:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -15471,7 +15471,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "19390:1:0", + "src": "19535:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -15479,7 +15479,7 @@ }, "value": "1" }, - "src": "19377:14:0", + "src": "19522:14:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -15505,7 +15505,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1073, - "src": "19395:9:0", + "src": "19540:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15526,7 +15526,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "19416:1:0", + "src": "19561:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -15548,7 +15548,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "19408:7:0", + "src": "19553:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" @@ -15563,19 +15563,19 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "19408:10:0", + "src": "19553:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "19395:23:0", + "src": "19540:23:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "19377:41:0", + "src": "19522:41:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -15591,7 +15591,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "19432:74:0", + "src": "19577:74:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_2056db168725d2fabb8aaf14efad7a3fc12ef6bc7132f0596ea09b041b71cb25", @@ -15619,7 +15619,7 @@ 1401 ], "referencedDeclaration": 1401, - "src": "19356:7:0", + "src": "19501:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -15633,7 +15633,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "19356:160:0", + "src": "19501:160:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -15641,7 +15641,7 @@ }, "id": 1127, "nodeType": "ExpressionStatement", - "src": "19356:160:0" + "src": "19501:160:0" }, { "expression": { @@ -15665,7 +15665,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1079, - "src": "19548:10:0", + "src": "19693:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -15683,7 +15683,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1083, - "src": "19605:8:0", + "src": "19750:8:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -15696,7 +15696,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1075, - "src": "19631:9:0", + "src": "19776:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -15709,7 +15709,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1077, - "src": "19658:12:0", + "src": "19803:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -15722,7 +15722,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1069, - "src": "19688:5:0", + "src": "19833:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15735,7 +15735,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1071, - "src": "19711:6:0", + "src": "19856:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15748,7 +15748,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1073, - "src": "19735:9:0", + "src": "19880:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15761,7 +15761,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1087, - "src": "19762:12:0", + "src": "19907:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15804,7 +15804,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 642, - "src": "19562:25:0", + "src": "19707:25:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_bytes20_$_t_uint8_$_t_uint32_$_t_address_$_t_address_$_t_address_$_t_address_$returns$_t_bytes32_$", "typeString": "function (bytes20,uint8,uint32,address,address,address,address) view returns (bytes32)" @@ -15818,13 +15818,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "19562:226:0", + "src": "19707:226:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "src": "19548:240:0", + "src": "19693:240:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -15840,7 +15840,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "19803:59:0", + "src": "19948:59:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_0c041e0c58e6b0e01d338d852a5abb639065eabeb0aee05e0ce3e5f0e52b4f51", @@ -15868,7 +15868,7 @@ 1401 ], "referencedDeclaration": 1401, - "src": "19527:7:0", + "src": "19672:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -15882,7 +15882,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "19527:345:0", + "src": "19672:345:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -15890,7 +15890,7 @@ }, "id": 1142, "nodeType": "ExpressionStatement", - "src": "19527:345:0" + "src": "19672:345:0" }, { "expression": { @@ -15909,7 +15909,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "19883:12:0", + "src": "20028:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -15923,7 +15923,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1079, - "src": "19896:10:0", + "src": "20041:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -15934,7 +15934,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "19883:24:0", + "src": "20028:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -15952,7 +15952,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1069, - "src": "19943:5:0", + "src": "20088:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15965,7 +15965,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1071, - "src": "19970:6:0", + "src": "20115:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15978,7 +15978,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1073, - "src": "20001:9:0", + "src": "20146:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15991,7 +15991,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1081, - "src": "20031:5:0", + "src": "20176:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -16006,7 +16006,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9, - "src": "20058:6:0", + "src": "20203:6:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_Status_$9_$", "typeString": "type(enum Escrow_v1_0.Status)" @@ -16020,7 +16020,7 @@ "memberName": "FUNDED", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "20058:13:0", + "src": "20203:13:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$9", "typeString": "enum Escrow_v1_0.Status" @@ -16035,7 +16035,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1387, - "src": "20099:5:0", + "src": "20244:5:0", "typeDescriptions": { "typeIdentifier": "t_magic_block", "typeString": "block" @@ -16049,7 +16049,7 @@ "memberName": "timestamp", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "20099:15:0", + "src": "20244:15:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -16062,7 +16062,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1075, - "src": "20139:9:0", + "src": "20284:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -16075,7 +16075,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1077, - "src": "20176:12:0", + "src": "20321:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -16088,7 +16088,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1085, - "src": "20218:15:0", + "src": "20363:15:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -16101,7 +16101,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1087, - "src": "20260:12:0", + "src": "20405:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -16115,7 +16115,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 71, - "src": "19910:11:0", + "src": "20055:11:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_struct$_Transaction_$71_storage_ptr_$", "typeString": "type(struct Escrow_v1_0.Transaction storage pointer)" @@ -16140,13 +16140,13 @@ "tokenAddress" ], "nodeType": "FunctionCall", - "src": "19910:373:0", + "src": "20055:373:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_memory", "typeString": "struct Escrow_v1_0.Transaction memory" } }, - "src": "19883:400:0", + "src": "20028:400:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -16154,7 +16154,7 @@ }, "id": 1161, "nodeType": "ExpressionStatement", - "src": "19883:400:0" + "src": "20028:400:0" }, { "expression": { @@ -16177,7 +16177,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "20294:12:0", + "src": "20439:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -16191,7 +16191,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1079, - "src": "20307:10:0", + "src": "20452:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -16202,7 +16202,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20294:24:0", + "src": "20439:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -16216,7 +16216,7 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "20294:32:0", + "src": "20439:32:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -16230,7 +16230,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1071, - "src": "20327:6:0", + "src": "20472:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -16241,7 +16241,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "20294:40:0", + "src": "20439:40:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -16259,7 +16259,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "20337:4:0", + "src": "20482:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -16267,7 +16267,7 @@ }, "value": "true" }, - "src": "20294:47:0", + "src": "20439:47:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -16275,7 +16275,7 @@ }, "id": 1170, "nodeType": "ExpressionStatement", - "src": "20294:47:0" + "src": "20439:47:0" }, { "expression": { @@ -16298,7 +16298,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "20351:12:0", + "src": "20496:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -16312,7 +16312,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1079, - "src": "20364:10:0", + "src": "20509:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -16323,7 +16323,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20351:24:0", + "src": "20496:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -16337,7 +16337,7 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "20351:32:0", + "src": "20496:32:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -16351,7 +16351,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1069, - "src": "20384:5:0", + "src": "20529:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -16362,7 +16362,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "20351:39:0", + "src": "20496:39:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -16380,7 +16380,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "20393:4:0", + "src": "20538:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -16388,7 +16388,7 @@ }, "value": "true" }, - "src": "20351:46:0", + "src": "20496:46:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -16396,7 +16396,7 @@ }, "id": 1179, "nodeType": "ExpressionStatement", - "src": "20351:46:0" + "src": "20496:46:0" }, { "expression": { @@ -16412,7 +16412,7 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "20504:44:0", + "src": "20649:44:0", "subExpression": { "argumentTypes": null, "baseExpression": { @@ -16426,7 +16426,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "20505:12:0", + "src": "20650:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -16440,7 +16440,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1079, - "src": "20518:10:0", + "src": "20663:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -16451,7 +16451,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20505:24:0", + "src": "20650:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -16465,7 +16465,7 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "20505:32:0", + "src": "20650:32:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -16479,7 +16479,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1073, - "src": "20538:9:0", + "src": "20683:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -16490,7 +16490,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20505:43:0", + "src": "20650:43:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -16511,7 +16511,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "20563:47:0", + "src": "20708:47:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_313b391557427937e7bdb85c7561d47c5b9c985755a448dd33a92026ffb38f8d", @@ -16539,7 +16539,7 @@ 1401 ], "referencedDeclaration": 1401, - "src": "20483:7:0", + "src": "20628:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -16553,7 +16553,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "20483:137:0", + "src": "20628:137:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -16561,7 +16561,7 @@ }, "id": 1190, "nodeType": "ExpressionStatement", - "src": "20483:137:0" + "src": "20628:137:0" }, { "condition": { @@ -16582,7 +16582,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1075, - "src": "20780:9:0", + "src": "20925:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -16600,7 +16600,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "20792:1:0", + "src": "20937:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -16608,7 +16608,7 @@ }, "value": "1" }, - "src": "20780:13:0", + "src": "20925:13:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -16617,11 +16617,11 @@ "falseBody": null, "id": 1204, "nodeType": "IfStatement", - "src": "20776:94:0", + "src": "20921:94:0", "trueBody": { "id": 1203, "nodeType": "Block", - "src": "20795:75:0", + "src": "20940:75:0", "statements": [ { "expression": { @@ -16644,7 +16644,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "20809:12:0", + "src": "20954:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -16658,7 +16658,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1079, - "src": "20822:10:0", + "src": "20967:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -16669,7 +16669,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20809:24:0", + "src": "20954:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -16683,7 +16683,7 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "20809:32:0", + "src": "20954:32:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -16697,7 +16697,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1073, - "src": "20842:9:0", + "src": "20987:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -16708,7 +16708,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "20809:43:0", + "src": "20954:43:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -16726,7 +16726,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "20855:4:0", + "src": "21000:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -16734,7 +16734,7 @@ }, "value": "true" }, - "src": "20809:50:0", + "src": "20954:50:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -16742,7 +16742,7 @@ }, "id": 1202, "nodeType": "ExpressionStatement", - "src": "20809:50:0" + "src": "20954:50:0" } ] } @@ -16758,7 +16758,7 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "20888:18:0", + "src": "21033:18:0", "subExpression": { "argumentTypes": null, "id": 1205, @@ -16766,7 +16766,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 78, - "src": "20888:16:0", + "src": "21033:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -16779,7 +16779,7 @@ }, "id": 1207, "nodeType": "ExpressionStatement", - "src": "20888:18:0" + "src": "21033:18:0" }, { "expression": { @@ -16792,7 +16792,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1079, - "src": "20948:10:0", + "src": "21093:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -16815,7 +16815,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 83, - "src": "20917:18:0", + "src": "21062:18:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_bytes32_$dyn_storage_$", "typeString": "mapping(address => bytes32[] storage ref)" @@ -16829,7 +16829,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1069, - "src": "20936:5:0", + "src": "21081:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -16840,7 +16840,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20917:25:0", + "src": "21062:25:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage", "typeString": "bytes32[] storage ref" @@ -16854,7 +16854,7 @@ "memberName": "push", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "20917:30:0", + "src": "21062:30:0", "typeDescriptions": { "typeIdentifier": "t_function_arraypush_nonpayable$_t_bytes32_$returns$_t_uint256_$", "typeString": "function (bytes32) returns (uint256)" @@ -16868,7 +16868,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "20917:42:0", + "src": "21062:42:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -16876,7 +16876,7 @@ }, "id": 1214, "nodeType": "ExpressionStatement", - "src": "20917:42:0" + "src": "21062:42:0" }, { "expression": { @@ -16889,7 +16889,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1079, - "src": "21001:10:0", + "src": "21146:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -16912,7 +16912,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 83, - "src": "20969:18:0", + "src": "21114:18:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_bytes32_$dyn_storage_$", "typeString": "mapping(address => bytes32[] storage ref)" @@ -16926,7 +16926,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1071, - "src": "20988:6:0", + "src": "21133:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -16937,7 +16937,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20969:26:0", + "src": "21114:26:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage", "typeString": "bytes32[] storage ref" @@ -16951,7 +16951,7 @@ "memberName": "push", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "20969:31:0", + "src": "21114:31:0", "typeDescriptions": { "typeIdentifier": "t_function_arraypush_nonpayable$_t_bytes32_$returns$_t_uint256_$", "typeString": "function (bytes32) returns (uint256)" @@ -16965,7 +16965,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "20969:43:0", + "src": "21114:43:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -16973,7 +16973,7 @@ }, "id": 1221, "nodeType": "ExpressionStatement", - "src": "20969:43:0" + "src": "21114:43:0" } ] }, @@ -16995,7 +16995,7 @@ "name": "buyer", "nodeType": "VariableDeclaration", "scope": 1223, - "src": "18412:13:0", + "src": "18557:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -17006,7 +17006,7 @@ "id": 1068, "name": "address", "nodeType": "ElementaryTypeName", - "src": "18412:7:0", + "src": "18557:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -17021,7 +17021,7 @@ "name": "seller", "nodeType": "VariableDeclaration", "scope": 1223, - "src": "18435:14:0", + "src": "18580:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -17032,7 +17032,7 @@ "id": 1070, "name": "address", "nodeType": "ElementaryTypeName", - "src": "18435:7:0", + "src": "18580:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -17047,7 +17047,7 @@ "name": "moderator", "nodeType": "VariableDeclaration", "scope": 1223, - "src": "18459:17:0", + "src": "18604:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -17058,7 +17058,7 @@ "id": 1072, "name": "address", "nodeType": "ElementaryTypeName", - "src": "18459:7:0", + "src": "18604:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -17073,7 +17073,7 @@ "name": "threshold", "nodeType": "VariableDeclaration", "scope": 1223, - "src": "18486:15:0", + "src": "18631:15:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -17084,7 +17084,7 @@ "id": 1074, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "18486:5:0", + "src": "18631:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -17099,7 +17099,7 @@ "name": "timeoutHours", "nodeType": "VariableDeclaration", "scope": 1223, - "src": "18511:19:0", + "src": "18656:19:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -17110,7 +17110,7 @@ "id": 1076, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "18511:6:0", + "src": "18656:6:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -17125,7 +17125,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 1223, - "src": "18540:18:0", + "src": "18685:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -17136,7 +17136,7 @@ "id": 1078, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "18540:7:0", + "src": "18685:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -17151,7 +17151,7 @@ "name": "value", "nodeType": "VariableDeclaration", "scope": 1223, - "src": "18568:13:0", + "src": "18713:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -17162,7 +17162,7 @@ "id": 1080, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "18568:7:0", + "src": "18713:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -17177,7 +17177,7 @@ "name": "uniqueId", "nodeType": "VariableDeclaration", "scope": 1223, - "src": "18591:16:0", + "src": "18736:16:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -17188,7 +17188,7 @@ "id": 1082, "name": "bytes20", "nodeType": "ElementaryTypeName", - "src": "18591:7:0", + "src": "18736:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -17203,7 +17203,7 @@ "name": "transactionType", "nodeType": "VariableDeclaration", "scope": 1223, - "src": "18617:31:0", + "src": "18762:31:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -17216,7 +17216,7 @@ "name": "TransactionType", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 12, - "src": "18617:15:0", + "src": "18762:15:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -17231,7 +17231,7 @@ "name": "tokenAddress", "nodeType": "VariableDeclaration", "scope": 1223, - "src": "18658:20:0", + "src": "18803:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -17242,7 +17242,7 @@ "id": 1086, "name": "address", "nodeType": "ElementaryTypeName", - "src": "18658:7:0", + "src": "18803:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -17252,27 +17252,27 @@ "visibility": "internal" } ], - "src": "18402:282:0" + "src": "18547:282:0" }, "payable": false, "returnParameters": { "id": 1089, "nodeType": "ParameterList", "parameters": [], - "src": "18705:0:0" + "src": "18850:0:0" }, "scope": 1224, - "src": "18378:2641:0", + "src": "18523:2641:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "private" } ], "scope": 1225, - "src": "460:20561:0" + "src": "605:20561:0" } ], - "src": "0:21022:0" + "src": "0:21167:0" }, "legacyAST": { "absolutePath": "/home/sameep/freelancing-projects/toptal/open baazar/publicRepo/smart-contracts/contracts/escrow/Escrow_v1_0.sol", @@ -17320,7 +17320,7 @@ "baseContracts": [], "contractDependencies": [], "contractKind": "contract", - "documentation": "@dev Supports ERC20 tokens\nThe escrow smart contract for the open bazaar trades in Ethereum\nThe smart contract is designed keeping in mind the current wallet interface of the OB-core\nhttps://github.com/OpenBazaar/wallet-interface/blob/master/wallet.go\nCurrent wallet interface strictly adheres to UTXO(bitcoin) model", + "documentation": "@dev Supports ERC20 tokens\nThe escrow smart contract for the open bazaar trades in Ethereum\nThe smart contract is designed keeping in mind the current wallet interface of the OB-core\nhttps://github.com/OpenBazaar/wallet-interface/blob/master/wallet.go\nCurrent wallet interface strictly adheres to UTXO(bitcoin) model\nPlease read below mentioned link for detailed specs\nhttps://github.com/OpenBazaar/smart-contracts/blob/master/contracts/escrow/EscrowSpec.md", "fullyImplemented": true, "id": 1224, "linearizedBaseContracts": [ @@ -17337,19 +17337,19 @@ "name": "SafeMath", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 1382, - "src": "494:8:0", + "src": "639:8:0", "typeDescriptions": { "typeIdentifier": "t_contract$_SafeMath_$1382", "typeString": "library SafeMath" } }, "nodeType": "UsingForDirective", - "src": "488:27:0", + "src": "633:27:0", "typeName": { "id": 5, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "507:7:0", + "src": "652:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -17364,18 +17364,18 @@ "id": 7, "name": "FUNDED", "nodeType": "EnumValue", - "src": "534:6:0" + "src": "679:6:0" }, { "id": 8, "name": "RELEASED", "nodeType": "EnumValue", - "src": "542:8:0" + "src": "687:8:0" } ], "name": "Status", "nodeType": "EnumDefinition", - "src": "521:30:0" + "src": "666:30:0" }, { "canonicalName": "Escrow_v1_0.TransactionType", @@ -17385,18 +17385,18 @@ "id": 10, "name": "ETHER", "nodeType": "EnumValue", - "src": "579:5:0" + "src": "724:5:0" }, { "id": 11, "name": "TOKEN", "nodeType": "EnumValue", - "src": "586:5:0" + "src": "731:5:0" } ], "name": "TransactionType", "nodeType": "EnumDefinition", - "src": "557:35:0" + "src": "702:35:0" }, { "anonymous": false, @@ -17415,7 +17415,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 22, - "src": "622:26:0", + "src": "767:26:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -17426,7 +17426,7 @@ "id": 13, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "622:7:0", + "src": "767:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -17442,7 +17442,7 @@ "name": "destinations", "nodeType": "VariableDeclaration", "scope": 22, - "src": "658:22:0", + "src": "803:22:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -17454,7 +17454,7 @@ "id": 15, "name": "address", "nodeType": "ElementaryTypeName", - "src": "658:7:0", + "src": "803:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -17463,7 +17463,7 @@ "id": 16, "length": null, "nodeType": "ArrayTypeName", - "src": "658:9:0", + "src": "803:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", "typeString": "address[]" @@ -17479,7 +17479,7 @@ "name": "amounts", "nodeType": "VariableDeclaration", "scope": 22, - "src": "690:17:0", + "src": "835:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -17491,7 +17491,7 @@ "id": 18, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "690:7:0", + "src": "835:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -17500,7 +17500,7 @@ "id": 19, "length": null, "nodeType": "ArrayTypeName", - "src": "690:9:0", + "src": "835:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -17510,9 +17510,9 @@ "visibility": "internal" } ], - "src": "612:101:0" + "src": "757:101:0" }, - "src": "598:116:0" + "src": "743:116:0" }, { "anonymous": false, @@ -17531,7 +17531,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 30, - "src": "745:26:0", + "src": "890:26:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -17542,7 +17542,7 @@ "id": 23, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "745:7:0", + "src": "890:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -17558,7 +17558,7 @@ "name": "from", "nodeType": "VariableDeclaration", "scope": 30, - "src": "781:20:0", + "src": "926:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -17569,7 +17569,7 @@ "id": 25, "name": "address", "nodeType": "ElementaryTypeName", - "src": "781:7:0", + "src": "926:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -17585,7 +17585,7 @@ "name": "valueAdded", "nodeType": "VariableDeclaration", "scope": 30, - "src": "811:18:0", + "src": "956:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -17596,7 +17596,7 @@ "id": 27, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "811:7:0", + "src": "956:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -17606,9 +17606,9 @@ "visibility": "internal" } ], - "src": "735:100:0" + "src": "880:100:0" }, - "src": "720:116:0" + "src": "865:116:0" }, { "anonymous": false, @@ -17627,7 +17627,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 38, - "src": "864:26:0", + "src": "1009:26:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -17638,7 +17638,7 @@ "id": 31, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "864:7:0", + "src": "1009:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -17654,7 +17654,7 @@ "name": "from", "nodeType": "VariableDeclaration", "scope": 38, - "src": "901:20:0", + "src": "1046:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -17665,7 +17665,7 @@ "id": 33, "name": "address", "nodeType": "ElementaryTypeName", - "src": "901:7:0", + "src": "1046:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -17681,7 +17681,7 @@ "name": "value", "nodeType": "VariableDeclaration", "scope": 38, - "src": "932:13:0", + "src": "1077:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -17692,7 +17692,7 @@ "id": 35, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "932:7:0", + "src": "1077:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -17702,9 +17702,9 @@ "visibility": "internal" } ], - "src": "854:97:0" + "src": "999:97:0" }, - "src": "842:110:0" + "src": "987:110:0" }, { "canonicalName": "Escrow_v1_0.Transaction", @@ -17716,7 +17716,7 @@ "name": "value", "nodeType": "VariableDeclaration", "scope": 71, - "src": "987:13:0", + "src": "1132:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -17727,7 +17727,7 @@ "id": 39, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "987:7:0", + "src": "1132:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -17742,7 +17742,7 @@ "name": "lastModified", "nodeType": "VariableDeclaration", "scope": 71, - "src": "1010:20:0", + "src": "1155:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -17753,7 +17753,7 @@ "id": 41, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1010:7:0", + "src": "1155:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -17768,7 +17768,7 @@ "name": "status", "nodeType": "VariableDeclaration", "scope": 71, - "src": "1085:13:0", + "src": "1230:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -17781,7 +17781,7 @@ "name": "Status", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 9, - "src": "1085:6:0", + "src": "1230:6:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$9", "typeString": "enum Escrow_v1_0.Status" @@ -17796,7 +17796,7 @@ "name": "transactionType", "nodeType": "VariableDeclaration", "scope": 71, - "src": "1108:31:0", + "src": "1253:31:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -17809,7 +17809,7 @@ "name": "TransactionType", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 12, - "src": "1108:15:0", + "src": "1253:15:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -17824,7 +17824,7 @@ "name": "threshold", "nodeType": "VariableDeclaration", "scope": 71, - "src": "1149:15:0", + "src": "1294:15:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -17835,7 +17835,7 @@ "id": 47, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "1149:5:0", + "src": "1294:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -17850,7 +17850,7 @@ "name": "timeoutHours", "nodeType": "VariableDeclaration", "scope": 71, - "src": "1174:19:0", + "src": "1319:19:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -17861,7 +17861,7 @@ "id": 49, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "1174:6:0", + "src": "1319:6:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -17876,7 +17876,7 @@ "name": "buyer", "nodeType": "VariableDeclaration", "scope": 71, - "src": "1203:13:0", + "src": "1348:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -17887,7 +17887,7 @@ "id": 51, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1203:7:0", + "src": "1348:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -17902,7 +17902,7 @@ "name": "seller", "nodeType": "VariableDeclaration", "scope": 71, - "src": "1226:14:0", + "src": "1371:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -17913,7 +17913,7 @@ "id": 53, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1226:7:0", + "src": "1371:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -17928,7 +17928,7 @@ "name": "tokenAddress", "nodeType": "VariableDeclaration", "scope": 71, - "src": "1250:20:0", + "src": "1395:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -17939,7 +17939,7 @@ "id": 55, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1250:7:0", + "src": "1395:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -17954,7 +17954,7 @@ "name": "moderator", "nodeType": "VariableDeclaration", "scope": 71, - "src": "1321:17:0", + "src": "1466:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -17965,7 +17965,7 @@ "id": 57, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1321:7:0", + "src": "1466:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -17980,7 +17980,7 @@ "name": "isOwner", "nodeType": "VariableDeclaration", "scope": 71, - "src": "1348:30:0", + "src": "1493:30:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -17993,14 +17993,14 @@ "id": 59, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1356:7:0", + "src": "1501:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "Mapping", - "src": "1348:22:0", + "src": "1493:22:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -18009,7 +18009,7 @@ "id": 60, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "1365:4:0", + "src": "1510:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -18025,7 +18025,7 @@ "name": "voted", "nodeType": "VariableDeclaration", "scope": 71, - "src": "1414:28:0", + "src": "1559:28:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -18038,14 +18038,14 @@ "id": 63, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1422:7:0", + "src": "1567:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "Mapping", - "src": "1414:22:0", + "src": "1559:22:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -18054,7 +18054,7 @@ "id": 64, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "1431:4:0", + "src": "1576:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -18070,7 +18070,7 @@ "name": "beneficiaries", "nodeType": "VariableDeclaration", "scope": 71, - "src": "1484:36:0", + "src": "1629:36:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -18083,14 +18083,14 @@ "id": 67, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1492:7:0", + "src": "1637:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "Mapping", - "src": "1484:22:0", + "src": "1629:22:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -18099,7 +18099,7 @@ "id": 68, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "1501:4:0", + "src": "1646:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -18113,7 +18113,7 @@ "name": "Transaction", "nodeType": "StructDefinition", "scope": 1224, - "src": "958:597:0", + "src": "1103:597:0", "visibility": "public" }, { @@ -18122,7 +18122,7 @@ "name": "transactions", "nodeType": "VariableDeclaration", "scope": 1224, - "src": "1561:51:0", + "src": "1706:51:0", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -18135,14 +18135,14 @@ "id": 72, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "1569:7:0", + "src": "1714:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "nodeType": "Mapping", - "src": "1561:31:0", + "src": "1706:31:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction)" @@ -18153,7 +18153,7 @@ "name": "Transaction", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 71, - "src": "1580:11:0", + "src": "1725:11:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction" @@ -18169,7 +18169,7 @@ "name": "transactionCount", "nodeType": "VariableDeclaration", "scope": 1224, - "src": "1619:35:0", + "src": "1764:35:0", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -18180,7 +18180,7 @@ "id": 76, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1619:7:0", + "src": "1764:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -18196,7 +18196,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1653:1:0", + "src": "1798:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -18212,7 +18212,7 @@ "name": "partyVsTransaction", "nodeType": "VariableDeclaration", "scope": 1224, - "src": "1733:56:0", + "src": "1878:56:0", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -18225,14 +18225,14 @@ "id": 79, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1741:7:0", + "src": "1886:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "Mapping", - "src": "1733:29:0", + "src": "1878:29:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_bytes32_$dyn_storage_$", "typeString": "mapping(address => bytes32[])" @@ -18242,7 +18242,7 @@ "id": 80, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "1752:7:0", + "src": "1897:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -18251,7 +18251,7 @@ "id": 81, "length": null, "nodeType": "ArrayTypeName", - "src": "1752:9:0", + "src": "1897:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -18265,7 +18265,7 @@ "body": { "id": 98, "nodeType": "Block", - "src": "1842:124:0", + "src": "1987:124:0", "statements": [ { "expression": { @@ -18293,7 +18293,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "1873:12:0", + "src": "2018:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -18307,7 +18307,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 85, - "src": "1886:10:0", + "src": "2031:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -18318,7 +18318,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "1873:24:0", + "src": "2018:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -18332,7 +18332,7 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": 40, - "src": "1873:30:0", + "src": "2018:30:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -18350,7 +18350,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1907:1:0", + "src": "2052:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -18358,7 +18358,7 @@ }, "value": "0" }, - "src": "1873:35:0", + "src": "2018:35:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -18374,7 +18374,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "1910:28:0", + "src": "2055:28:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_cb323e46bbcca91e157c2b50ad4ce2acbe1153338b838c84372d5723b8995ef0", @@ -18402,7 +18402,7 @@ 1401 ], "referencedDeclaration": 1401, - "src": "1852:7:0", + "src": "1997:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -18416,7 +18416,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1852:96:0", + "src": "1997:96:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -18424,12 +18424,12 @@ }, "id": 96, "nodeType": "ExpressionStatement", - "src": "1852:96:0" + "src": "1997:96:0" }, { "id": 97, "nodeType": "PlaceholderStatement", - "src": "1958:1:0" + "src": "2103:1:0" } ] }, @@ -18447,7 +18447,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 99, - "src": "1822:18:0", + "src": "1967:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -18458,7 +18458,7 @@ "id": 84, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "1822:7:0", + "src": "1967:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -18468,16 +18468,16 @@ "visibility": "internal" } ], - "src": "1821:20:0" + "src": "1966:20:0" }, - "src": "1796:170:0", + "src": "1941:170:0", "visibility": "internal" }, { "body": { "id": 114, "nodeType": "Block", - "src": "2025:93:0", + "src": "2170:93:0", "statements": [ { "expression": { @@ -18505,7 +18505,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "2043:12:0", + "src": "2188:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -18519,7 +18519,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 101, - "src": "2056:10:0", + "src": "2201:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -18530,7 +18530,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "2043:24:0", + "src": "2188:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -18544,7 +18544,7 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": 40, - "src": "2043:30:0", + "src": "2188:30:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -18562,7 +18562,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2077:1:0", + "src": "2222:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -18570,7 +18570,7 @@ }, "value": "0" }, - "src": "2043:35:0", + "src": "2188:35:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -18586,7 +18586,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "2080:19:0", + "src": "2225:19:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_4f41f109da323167d042f4559ebd6e2dc42fdbc2be1a2cea9ff6130572900782", @@ -18614,7 +18614,7 @@ 1401 ], "referencedDeclaration": 1401, - "src": "2035:7:0", + "src": "2180:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -18628,7 +18628,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2035:65:0", + "src": "2180:65:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -18636,12 +18636,12 @@ }, "id": 112, "nodeType": "ExpressionStatement", - "src": "2035:65:0" + "src": "2180:65:0" }, { "id": 113, "nodeType": "PlaceholderStatement", - "src": "2110:1:0" + "src": "2255:1:0" } ] }, @@ -18659,7 +18659,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 115, - "src": "2005:18:0", + "src": "2150:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -18670,7 +18670,7 @@ "id": 100, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "2005:7:0", + "src": "2150:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -18680,16 +18680,16 @@ "visibility": "internal" } ], - "src": "2004:20:0" + "src": "2149:20:0" }, - "src": "1972:146:0", + "src": "2117:146:0", "visibility": "internal" }, { "body": { "id": 131, "nodeType": "Block", - "src": "2167:145:0", + "src": "2312:145:0", "statements": [ { "expression": { @@ -18717,7 +18717,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "2198:12:0", + "src": "2343:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -18731,7 +18731,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 117, - "src": "2211:10:0", + "src": "2356:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -18742,7 +18742,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "2198:24:0", + "src": "2343:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -18756,7 +18756,7 @@ "memberName": "status", "nodeType": "MemberAccess", "referencedDeclaration": 44, - "src": "2198:31:0", + "src": "2343:31:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$9", "typeString": "enum Escrow_v1_0.Status" @@ -18773,7 +18773,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9, - "src": "2233:6:0", + "src": "2378:6:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_Status_$9_$", "typeString": "type(enum Escrow_v1_0.Status)" @@ -18787,13 +18787,13 @@ "memberName": "FUNDED", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "2233:13:0", + "src": "2378:13:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$9", "typeString": "enum Escrow_v1_0.Status" } }, - "src": "2198:48:0", + "src": "2343:48:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -18809,7 +18809,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "2248:36:0", + "src": "2393:36:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_5244efce1630cfae7257c0817c921ae75135c1043344a4cf9a1988c03337f39d", @@ -18837,7 +18837,7 @@ 1401 ], "referencedDeclaration": 1401, - "src": "2177:7:0", + "src": "2322:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -18851,7 +18851,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2177:117:0", + "src": "2322:117:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -18859,12 +18859,12 @@ }, "id": 129, "nodeType": "ExpressionStatement", - "src": "2177:117:0" + "src": "2322:117:0" }, { "id": 130, "nodeType": "PlaceholderStatement", - "src": "2304:1:0" + "src": "2449:1:0" } ] }, @@ -18882,7 +18882,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 132, - "src": "2147:18:0", + "src": "2292:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -18893,7 +18893,7 @@ "id": 116, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "2147:7:0", + "src": "2292:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -18903,16 +18903,16 @@ "visibility": "internal" } ], - "src": "2146:20:0" + "src": "2291:20:0" }, - "src": "2124:188:0", + "src": "2269:188:0", "visibility": "internal" }, { "body": { "id": 146, "nodeType": "Block", - "src": "2366:88:0", + "src": "2511:88:0", "statements": [ { "expression": { @@ -18936,7 +18936,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 134, - "src": "2384:14:0", + "src": "2529:14:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -18957,7 +18957,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2410:1:0", + "src": "2555:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -18979,7 +18979,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "2402:7:0", + "src": "2547:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" @@ -18994,13 +18994,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2402:10:0", + "src": "2547:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "2384:28:0", + "src": "2529:28:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -19016,7 +19016,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "2414:21:0", + "src": "2559:21:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_93e85f37f73cf8e1b855512ab7e00aab2b791117712ecb476daeb6c2c0a27a67", @@ -19044,7 +19044,7 @@ 1401 ], "referencedDeclaration": 1401, - "src": "2376:7:0", + "src": "2521:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -19058,7 +19058,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2376:60:0", + "src": "2521:60:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -19066,12 +19066,12 @@ }, "id": 144, "nodeType": "ExpressionStatement", - "src": "2376:60:0" + "src": "2521:60:0" }, { "id": 145, "nodeType": "PlaceholderStatement", - "src": "2446:1:0" + "src": "2591:1:0" } ] }, @@ -19089,7 +19089,7 @@ "name": "addressToCheck", "nodeType": "VariableDeclaration", "scope": 147, - "src": "2342:22:0", + "src": "2487:22:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -19100,7 +19100,7 @@ "id": 133, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2342:7:0", + "src": "2487:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -19110,16 +19110,16 @@ "visibility": "internal" } ], - "src": "2341:24:0" + "src": "2486:24:0" }, - "src": "2318:136:0", + "src": "2463:136:0", "visibility": "internal" }, { "body": { "id": 164, "nodeType": "Block", - "src": "2569:153:0", + "src": "2714:153:0", "statements": [ { "expression": { @@ -19147,7 +19147,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "2600:12:0", + "src": "2745:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -19161,7 +19161,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 149, - "src": "2613:10:0", + "src": "2758:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -19172,7 +19172,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "2600:24:0", + "src": "2745:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -19186,7 +19186,7 @@ "memberName": "transactionType", "nodeType": "MemberAccess", "referencedDeclaration": 46, - "src": "2600:40:0", + "src": "2745:40:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -19201,13 +19201,13 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 151, - "src": "2644:15:0", + "src": "2789:15:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" } }, - "src": "2600:59:0", + "src": "2745:59:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -19223,7 +19223,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "2661:33:0", + "src": "2806:33:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_c798eb33a8bd5d4c22212d5c8611219bb87da2d82aefe8e88b1f970a0f133cc3", @@ -19251,7 +19251,7 @@ 1401 ], "referencedDeclaration": 1401, - "src": "2579:7:0", + "src": "2724:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -19265,7 +19265,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2579:125:0", + "src": "2724:125:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -19273,12 +19273,12 @@ }, "id": 162, "nodeType": "ExpressionStatement", - "src": "2579:125:0" + "src": "2724:125:0" }, { "id": 163, "nodeType": "PlaceholderStatement", - "src": "2714:1:0" + "src": "2859:1:0" } ] }, @@ -19296,7 +19296,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 165, - "src": "2499:18:0", + "src": "2644:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -19307,7 +19307,7 @@ "id": 148, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "2499:7:0", + "src": "2644:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -19322,7 +19322,7 @@ "name": "transactionType", "nodeType": "VariableDeclaration", "scope": 165, - "src": "2527:31:0", + "src": "2672:31:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -19335,7 +19335,7 @@ "name": "TransactionType", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 12, - "src": "2527:15:0", + "src": "2672:15:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -19345,16 +19345,16 @@ "visibility": "internal" } ], - "src": "2489:75:0" + "src": "2634:75:0" }, - "src": "2460:262:0", + "src": "2605:262:0", "visibility": "internal" }, { "body": { "id": 181, "nodeType": "Block", - "src": "2767:152:0", + "src": "2912:152:0", "statements": [ { "expression": { @@ -19380,7 +19380,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1397, - "src": "2798:3:0", + "src": "2943:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -19394,7 +19394,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "2798:10:0", + "src": "2943:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -19413,7 +19413,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "2812:12:0", + "src": "2957:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -19427,7 +19427,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 167, - "src": "2825:10:0", + "src": "2970:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -19438,7 +19438,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "2812:24:0", + "src": "2957:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -19452,13 +19452,13 @@ "memberName": "buyer", "nodeType": "MemberAccess", "referencedDeclaration": 52, - "src": "2812:30:0", + "src": "2957:30:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "2798:44:0", + "src": "2943:44:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -19474,7 +19474,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "2844:47:0", + "src": "2989:47:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_b4fc72d2373e6fc668b2bc10a6c84713d84de5f4dc58bb69053e1a18ae67c2f9", @@ -19502,7 +19502,7 @@ 1401 ], "referencedDeclaration": 1401, - "src": "2777:7:0", + "src": "2922:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -19516,7 +19516,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2777:124:0", + "src": "2922:124:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -19524,12 +19524,12 @@ }, "id": 179, "nodeType": "ExpressionStatement", - "src": "2777:124:0" + "src": "2922:124:0" }, { "id": 180, "nodeType": "PlaceholderStatement", - "src": "2911:1:0" + "src": "3056:1:0" } ] }, @@ -19547,7 +19547,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 182, - "src": "2747:18:0", + "src": "2892:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -19558,7 +19558,7 @@ "id": 166, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "2747:7:0", + "src": "2892:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -19568,16 +19568,16 @@ "visibility": "internal" } ], - "src": "2746:20:0" + "src": "2891:20:0" }, - "src": "2728:191:0", + "src": "2873:191:0", "visibility": "internal" }, { "body": { "id": 233, "nodeType": "Block", - "src": "4068:347:0", + "src": "4213:347:0", "statements": [ { "expression": { @@ -19590,7 +19590,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 184, - "src": "4107:5:0", + "src": "4252:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -19603,7 +19603,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 186, - "src": "4126:6:0", + "src": "4271:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -19616,7 +19616,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 188, - "src": "4146:9:0", + "src": "4291:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -19629,7 +19629,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 190, - "src": "4169:9:0", + "src": "4314:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -19642,7 +19642,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 192, - "src": "4192:12:0", + "src": "4337:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -19655,7 +19655,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 194, - "src": "4218:10:0", + "src": "4363:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -19670,7 +19670,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1397, - "src": "4242:3:0", + "src": "4387:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -19684,7 +19684,7 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "4242:9:0", + "src": "4387:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -19697,7 +19697,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 196, - "src": "4265:8:0", + "src": "4410:8:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -19712,7 +19712,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12, - "src": "4287:15:0", + "src": "4432:15:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_TransactionType_$12_$", "typeString": "type(enum Escrow_v1_0.TransactionType)" @@ -19726,7 +19726,7 @@ "memberName": "ETHER", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "4287:21:0", + "src": "4432:21:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -19745,7 +19745,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "4330:1:0", + "src": "4475:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -19767,7 +19767,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "4322:7:0", + "src": "4467:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" @@ -19782,7 +19782,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4322:10:0", + "src": "4467:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -19837,7 +19837,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1223, - "src": "4078:15:0", + "src": "4223:15:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_address_$_t_uint8_$_t_uint32_$_t_bytes32_$_t_uint256_$_t_bytes20_$_t_enum$_TransactionType_$12_$_t_address_$returns$__$", "typeString": "function (address,address,address,uint8,uint32,bytes32,uint256,bytes20,enum Escrow_v1_0.TransactionType,address)" @@ -19851,7 +19851,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4078:264:0", + "src": "4223:264:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -19859,7 +19859,7 @@ }, "id": 224, "nodeType": "ExpressionStatement", - "src": "4078:264:0" + "src": "4223:264:0" }, { "eventCall": { @@ -19872,7 +19872,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 194, - "src": "4373:10:0", + "src": "4518:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -19887,7 +19887,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1397, - "src": "4385:3:0", + "src": "4530:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -19901,7 +19901,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "4385:10:0", + "src": "4530:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -19916,7 +19916,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1397, - "src": "4397:3:0", + "src": "4542:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -19930,7 +19930,7 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "4397:9:0", + "src": "4542:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -19957,7 +19957,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 38, - "src": "4366:6:0", + "src": "4511:6:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (bytes32,address,uint256)" @@ -19971,7 +19971,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4366:41:0", + "src": "4511:41:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -19979,7 +19979,7 @@ }, "id": 232, "nodeType": "EmitStatement", - "src": "4361:46:0" + "src": "4506:46:0" } ] }, @@ -19998,7 +19998,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 194, - "src": "3991:10:0", + "src": "4136:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -20013,14 +20013,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 115, - "src": "3967:23:0", + "src": "4112:23:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "3967:35:0" + "src": "4112:35:0" }, { "arguments": [ @@ -20031,7 +20031,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 184, - "src": "4026:5:0", + "src": "4171:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -20046,14 +20046,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 147, - "src": "4011:14:0", + "src": "4156:14:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_address_$", "typeString": "modifier (address)" } }, "nodeType": "ModifierInvocation", - "src": "4011:21:0" + "src": "4156:21:0" }, { "arguments": [ @@ -20064,7 +20064,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 186, - "src": "4056:6:0", + "src": "4201:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -20079,14 +20079,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 147, - "src": "4041:14:0", + "src": "4186:14:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_address_$", "typeString": "modifier (address)" } }, "nodeType": "ModifierInvocation", - "src": "4041:22:0" + "src": "4186:22:0" } ], "name": "addTransaction", @@ -20101,7 +20101,7 @@ "name": "buyer", "nodeType": "VariableDeclaration", "scope": 234, - "src": "3747:13:0", + "src": "3892:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -20112,7 +20112,7 @@ "id": 183, "name": "address", "nodeType": "ElementaryTypeName", - "src": "3747:7:0", + "src": "3892:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -20127,7 +20127,7 @@ "name": "seller", "nodeType": "VariableDeclaration", "scope": 234, - "src": "3770:14:0", + "src": "3915:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -20138,7 +20138,7 @@ "id": 185, "name": "address", "nodeType": "ElementaryTypeName", - "src": "3770:7:0", + "src": "3915:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -20153,7 +20153,7 @@ "name": "moderator", "nodeType": "VariableDeclaration", "scope": 234, - "src": "3794:17:0", + "src": "3939:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -20164,7 +20164,7 @@ "id": 187, "name": "address", "nodeType": "ElementaryTypeName", - "src": "3794:7:0", + "src": "3939:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -20179,7 +20179,7 @@ "name": "threshold", "nodeType": "VariableDeclaration", "scope": 234, - "src": "3821:15:0", + "src": "3966:15:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -20190,7 +20190,7 @@ "id": 189, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "3821:5:0", + "src": "3966:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -20205,7 +20205,7 @@ "name": "timeoutHours", "nodeType": "VariableDeclaration", "scope": 234, - "src": "3846:19:0", + "src": "3991:19:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -20216,7 +20216,7 @@ "id": 191, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "3846:6:0", + "src": "3991:6:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -20231,7 +20231,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 234, - "src": "3875:18:0", + "src": "4020:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -20242,7 +20242,7 @@ "id": 193, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "3875:7:0", + "src": "4020:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -20257,7 +20257,7 @@ "name": "uniqueId", "nodeType": "VariableDeclaration", "scope": 234, - "src": "3903:16:0", + "src": "4048:16:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -20268,7 +20268,7 @@ "id": 195, "name": "bytes20", "nodeType": "ElementaryTypeName", - "src": "3903:7:0", + "src": "4048:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -20278,17 +20278,17 @@ "visibility": "internal" } ], - "src": "3737:188:0" + "src": "3882:188:0" }, "payable": true, "returnParameters": { "id": 207, "nodeType": "ParameterList", "parameters": [], - "src": "4068:0:0" + "src": "4213:0:0" }, "scope": 1224, - "src": "3714:701:0", + "src": "3859:701:0", "stateMutability": "payable", "superFunction": null, "visibility": "external" @@ -20297,7 +20297,7 @@ "body": { "id": 307, "nodeType": "Block", - "src": "5796:597:0", + "src": "5941:597:0", "statements": [ { "expression": { @@ -20310,7 +20310,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 236, - "src": "5836:5:0", + "src": "5981:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -20323,7 +20323,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 238, - "src": "5855:6:0", + "src": "6000:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -20336,7 +20336,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 240, - "src": "5875:9:0", + "src": "6020:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -20349,7 +20349,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 242, - "src": "5898:9:0", + "src": "6043:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -20362,7 +20362,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 244, - "src": "5921:12:0", + "src": "6066:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -20375,7 +20375,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 246, - "src": "5947:10:0", + "src": "6092:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -20388,7 +20388,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 248, - "src": "5971:5:0", + "src": "6116:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -20401,7 +20401,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 250, - "src": "5990:8:0", + "src": "6135:8:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -20416,7 +20416,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12, - "src": "6012:15:0", + "src": "6157:15:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_TransactionType_$12_$", "typeString": "type(enum Escrow_v1_0.TransactionType)" @@ -20430,7 +20430,7 @@ "memberName": "TOKEN", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "6012:21:0", + "src": "6157:21:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -20443,7 +20443,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 252, - "src": "6047:12:0", + "src": "6192:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -20498,7 +20498,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1223, - "src": "5807:15:0", + "src": "5952:15:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_address_$_t_uint8_$_t_uint32_$_t_bytes32_$_t_uint256_$_t_bytes20_$_t_enum$_TransactionType_$12_$_t_address_$returns$__$", "typeString": "function (address,address,address,uint8,uint32,bytes32,uint256,bytes20,enum Escrow_v1_0.TransactionType,address)" @@ -20512,7 +20512,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5807:262:0", + "src": "5952:262:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -20520,7 +20520,7 @@ }, "id": 280, "nodeType": "ExpressionStatement", - "src": "5807:262:0" + "src": "5952:262:0" }, { "assignments": [ @@ -20533,7 +20533,7 @@ "name": "token", "nodeType": "VariableDeclaration", "scope": 308, - "src": "6080:20:0", + "src": "6225:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -20546,7 +20546,7 @@ "name": "ITokenContract", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 1254, - "src": "6080:14:0", + "src": "6225:14:0", "typeDescriptions": { "typeIdentifier": "t_contract$_ITokenContract_$1254", "typeString": "contract ITokenContract" @@ -20567,7 +20567,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 252, - "src": "6118:12:0", + "src": "6263:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -20586,7 +20586,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1254, - "src": "6103:14:0", + "src": "6248:14:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_ITokenContract_$1254_$", "typeString": "type(contract ITokenContract)" @@ -20600,14 +20600,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6103:28:0", + "src": "6248:28:0", "typeDescriptions": { "typeIdentifier": "t_contract$_ITokenContract_$1254", "typeString": "contract ITokenContract" } }, "nodeType": "VariableDeclarationStatement", - "src": "6080:51:0" + "src": "6225:51:0" }, { "expression": { @@ -20625,7 +20625,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1397, - "src": "6182:3:0", + "src": "6327:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -20639,7 +20639,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "6182:10:0", + "src": "6327:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -20655,7 +20655,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1414, - "src": "6202:4:0", + "src": "6347:4:0", "typeDescriptions": { "typeIdentifier": "t_contract$_Escrow_v1_0_$1224", "typeString": "contract Escrow_v1_0" @@ -20675,7 +20675,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "6194:7:0", + "src": "6339:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" @@ -20690,7 +20690,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6194:13:0", + "src": "6339:13:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -20703,7 +20703,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 248, - "src": "6209:5:0", + "src": "6354:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -20732,7 +20732,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 282, - "src": "6163:5:0", + "src": "6308:5:0", "typeDescriptions": { "typeIdentifier": "t_contract$_ITokenContract_$1254", "typeString": "contract ITokenContract" @@ -20746,7 +20746,7 @@ "memberName": "transferFrom", "nodeType": "MemberAccess", "referencedDeclaration": 1253, - "src": "6163:18:0", + "src": "6308:18:0", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", "typeString": "function (address,address,uint256) external returns (bool)" @@ -20760,7 +20760,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6163:52:0", + "src": "6308:52:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -20776,7 +20776,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "6229:95:0", + "src": "6374:95:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_d81b627ac67759234197a5bdf4d9f7d33298e824ce7bd47e08ce9919cd96c696", @@ -20804,7 +20804,7 @@ 1401 ], "referencedDeclaration": 1401, - "src": "6142:7:0", + "src": "6287:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -20818,7 +20818,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6142:192:0", + "src": "6287:192:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -20826,7 +20826,7 @@ }, "id": 299, "nodeType": "ExpressionStatement", - "src": "6142:192:0" + "src": "6287:192:0" }, { "eventCall": { @@ -20839,7 +20839,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 246, - "src": "6356:10:0", + "src": "6501:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -20854,7 +20854,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1397, - "src": "6368:3:0", + "src": "6513:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -20868,7 +20868,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "6368:10:0", + "src": "6513:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -20881,7 +20881,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 248, - "src": "6380:5:0", + "src": "6525:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -20908,7 +20908,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 38, - "src": "6349:6:0", + "src": "6494:6:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (bytes32,address,uint256)" @@ -20922,7 +20922,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6349:37:0", + "src": "6494:37:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -20930,7 +20930,7 @@ }, "id": 306, "nodeType": "EmitStatement", - "src": "6344:42:0" + "src": "6489:42:0" } ] }, @@ -20949,7 +20949,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 246, - "src": "5682:10:0", + "src": "5827:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -20964,14 +20964,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 115, - "src": "5658:23:0", + "src": "5803:23:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "5658:35:0" + "src": "5803:35:0" }, { "arguments": [ @@ -20982,7 +20982,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 236, - "src": "5717:5:0", + "src": "5862:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -20997,14 +20997,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 147, - "src": "5702:14:0", + "src": "5847:14:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_address_$", "typeString": "modifier (address)" } }, "nodeType": "ModifierInvocation", - "src": "5702:21:0" + "src": "5847:21:0" }, { "arguments": [ @@ -21015,7 +21015,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 238, - "src": "5747:6:0", + "src": "5892:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -21030,14 +21030,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 147, - "src": "5732:14:0", + "src": "5877:14:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_address_$", "typeString": "modifier (address)" } }, "nodeType": "ModifierInvocation", - "src": "5732:22:0" + "src": "5877:22:0" }, { "arguments": [ @@ -21048,7 +21048,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 252, - "src": "5778:12:0", + "src": "5923:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -21063,14 +21063,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 147, - "src": "5763:14:0", + "src": "5908:14:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_address_$", "typeString": "modifier (address)" } }, "nodeType": "ModifierInvocation", - "src": "5763:28:0" + "src": "5908:28:0" } ], "name": "addTokenTransaction", @@ -21085,7 +21085,7 @@ "name": "buyer", "nodeType": "VariableDeclaration", "scope": 308, - "src": "5401:13:0", + "src": "5546:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -21096,7 +21096,7 @@ "id": 235, "name": "address", "nodeType": "ElementaryTypeName", - "src": "5401:7:0", + "src": "5546:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -21111,7 +21111,7 @@ "name": "seller", "nodeType": "VariableDeclaration", "scope": 308, - "src": "5424:14:0", + "src": "5569:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -21122,7 +21122,7 @@ "id": 237, "name": "address", "nodeType": "ElementaryTypeName", - "src": "5424:7:0", + "src": "5569:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -21137,7 +21137,7 @@ "name": "moderator", "nodeType": "VariableDeclaration", "scope": 308, - "src": "5448:17:0", + "src": "5593:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -21148,7 +21148,7 @@ "id": 239, "name": "address", "nodeType": "ElementaryTypeName", - "src": "5448:7:0", + "src": "5593:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -21163,7 +21163,7 @@ "name": "threshold", "nodeType": "VariableDeclaration", "scope": 308, - "src": "5475:15:0", + "src": "5620:15:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -21174,7 +21174,7 @@ "id": 241, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "5475:5:0", + "src": "5620:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -21189,7 +21189,7 @@ "name": "timeoutHours", "nodeType": "VariableDeclaration", "scope": 308, - "src": "5500:19:0", + "src": "5645:19:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -21200,7 +21200,7 @@ "id": 243, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "5500:6:0", + "src": "5645:6:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -21215,7 +21215,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 308, - "src": "5529:18:0", + "src": "5674:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -21226,7 +21226,7 @@ "id": 245, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "5529:7:0", + "src": "5674:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -21241,7 +21241,7 @@ "name": "value", "nodeType": "VariableDeclaration", "scope": 308, - "src": "5557:13:0", + "src": "5702:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -21252,7 +21252,7 @@ "id": 247, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "5557:7:0", + "src": "5702:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -21267,7 +21267,7 @@ "name": "uniqueId", "nodeType": "VariableDeclaration", "scope": 308, - "src": "5580:16:0", + "src": "5725:16:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -21278,7 +21278,7 @@ "id": 249, "name": "bytes20", "nodeType": "ElementaryTypeName", - "src": "5580:7:0", + "src": "5725:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -21293,7 +21293,7 @@ "name": "tokenAddress", "nodeType": "VariableDeclaration", "scope": 308, - "src": "5606:20:0", + "src": "5751:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -21304,7 +21304,7 @@ "id": 251, "name": "address", "nodeType": "ElementaryTypeName", - "src": "5606:7:0", + "src": "5751:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -21314,17 +21314,17 @@ "visibility": "internal" } ], - "src": "5391:241:0" + "src": "5536:241:0" }, "payable": false, "returnParameters": { "id": 266, "nodeType": "ParameterList", "parameters": [], - "src": "5796:0:0" + "src": "5941:0:0" }, "scope": 1224, - "src": "5363:1030:0", + "src": "5508:1030:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" @@ -21333,7 +21333,7 @@ "body": { "id": 324, "nodeType": "Block", - "src": "6780:75:0", + "src": "6925:75:0", "statements": [ { "expression": { @@ -21349,7 +21349,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "6797:12:0", + "src": "6942:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -21363,7 +21363,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 310, - "src": "6810:10:0", + "src": "6955:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -21374,7 +21374,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "6797:24:0", + "src": "6942:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -21388,7 +21388,7 @@ "memberName": "beneficiaries", "nodeType": "MemberAccess", "referencedDeclaration": 70, - "src": "6797:38:0", + "src": "6942:38:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -21402,7 +21402,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 312, - "src": "6836:11:0", + "src": "6981:11:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -21413,7 +21413,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "6797:51:0", + "src": "6942:51:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -21422,7 +21422,7 @@ "functionReturnParameters": 316, "id": 323, "nodeType": "Return", - "src": "6790:58:0" + "src": "6935:58:0" } ] }, @@ -21444,7 +21444,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 325, - "src": "6669:18:0", + "src": "6814:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -21455,7 +21455,7 @@ "id": 309, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "6669:7:0", + "src": "6814:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -21470,7 +21470,7 @@ "name": "beneficiary", "nodeType": "VariableDeclaration", "scope": 325, - "src": "6697:19:0", + "src": "6842:19:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -21481,7 +21481,7 @@ "id": 311, "name": "address", "nodeType": "ElementaryTypeName", - "src": "6697:7:0", + "src": "6842:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -21491,7 +21491,7 @@ "visibility": "internal" } ], - "src": "6659:63:0" + "src": "6804:63:0" }, "payable": false, "returnParameters": { @@ -21504,7 +21504,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 325, - "src": "6770:4:0", + "src": "6915:4:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -21515,7 +21515,7 @@ "id": 314, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "6770:4:0", + "src": "6915:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -21525,10 +21525,10 @@ "visibility": "internal" } ], - "src": "6769:6:0" + "src": "6914:6:0" }, "scope": 1224, - "src": "6634:221:0", + "src": "6779:221:0", "stateMutability": "view", "superFunction": null, "visibility": "external" @@ -21537,7 +21537,7 @@ "body": { "id": 341, "nodeType": "Block", - "src": "7228:61:0", + "src": "7373:61:0", "statements": [ { "expression": { @@ -21553,7 +21553,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "7245:12:0", + "src": "7390:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -21567,7 +21567,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 327, - "src": "7258:10:0", + "src": "7403:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -21578,7 +21578,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "7245:24:0", + "src": "7390:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -21592,7 +21592,7 @@ "memberName": "voted", "nodeType": "MemberAccess", "referencedDeclaration": 66, - "src": "7245:30:0", + "src": "7390:30:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -21606,7 +21606,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 329, - "src": "7276:5:0", + "src": "7421:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -21617,7 +21617,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "7245:37:0", + "src": "7390:37:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -21626,7 +21626,7 @@ "functionReturnParameters": 333, "id": 340, "nodeType": "Return", - "src": "7238:44:0" + "src": "7383:44:0" } ] }, @@ -21648,7 +21648,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 342, - "src": "7123:18:0", + "src": "7268:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -21659,7 +21659,7 @@ "id": 326, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "7123:7:0", + "src": "7268:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -21674,7 +21674,7 @@ "name": "party", "nodeType": "VariableDeclaration", "scope": 342, - "src": "7151:13:0", + "src": "7296:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -21685,7 +21685,7 @@ "id": 328, "name": "address", "nodeType": "ElementaryTypeName", - "src": "7151:7:0", + "src": "7296:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -21695,7 +21695,7 @@ "visibility": "internal" } ], - "src": "7113:57:0" + "src": "7258:57:0" }, "payable": false, "returnParameters": { @@ -21708,7 +21708,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 342, - "src": "7218:4:0", + "src": "7363:4:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -21719,7 +21719,7 @@ "id": 331, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "7218:4:0", + "src": "7363:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -21729,10 +21729,10 @@ "visibility": "internal" } ], - "src": "7217:6:0" + "src": "7362:6:0" }, "scope": 1224, - "src": "7095:194:0", + "src": "7240:194:0", "stateMutability": "view", "superFunction": null, "visibility": "external" @@ -21741,7 +21741,7 @@ "body": { "id": 399, "nodeType": "Block", - "src": "7892:303:0", + "src": "8037:303:0", "statements": [ { "expression": { @@ -21767,7 +21767,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1397, - "src": "7911:3:0", + "src": "8056:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -21781,7 +21781,7 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "7911:9:0", + "src": "8056:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -21799,7 +21799,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "7923:1:0", + "src": "8068:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -21807,7 +21807,7 @@ }, "value": "0" }, - "src": "7911:13:0", + "src": "8056:13:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -21823,7 +21823,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "7926:34:0", + "src": "8071:34:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_21fbec2be6560b9ccffc4980d43c0d147770168e7aaf24999b418b9010085622", @@ -21851,7 +21851,7 @@ 1401 ], "referencedDeclaration": 1401, - "src": "7903:7:0", + "src": "8048:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -21865,7 +21865,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7903:58:0", + "src": "8048:58:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -21873,7 +21873,7 @@ }, "id": 368, "nodeType": "ExpressionStatement", - "src": "7903:58:0" + "src": "8048:58:0" }, { "expression": { @@ -21894,7 +21894,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "7972:12:0", + "src": "8117:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -21908,7 +21908,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 344, - "src": "7985:10:0", + "src": "8130:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -21919,7 +21919,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "7972:24:0", + "src": "8117:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -21933,7 +21933,7 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": 40, - "src": "7972:30:0", + "src": "8117:30:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -21953,7 +21953,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1397, - "src": "8053:3:0", + "src": "8198:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -21967,7 +21967,7 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "8053:9:0", + "src": "8198:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -21992,7 +21992,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "8005:12:0", + "src": "8150:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -22006,7 +22006,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 344, - "src": "8018:10:0", + "src": "8163:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -22017,7 +22017,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "8005:24:0", + "src": "8150:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -22031,7 +22031,7 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": 40, - "src": "8005:30:0", + "src": "8150:30:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -22045,7 +22045,7 @@ "memberName": "add", "nodeType": "MemberAccess", "referencedDeclaration": 1361, - "src": "8005:47:0", + "src": "8150:47:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" @@ -22059,13 +22059,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8005:58:0", + "src": "8150:58:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "7972:91:0", + "src": "8117:91:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -22073,7 +22073,7 @@ }, "id": 382, "nodeType": "ExpressionStatement", - "src": "7972:91:0" + "src": "8117:91:0" }, { "expression": { @@ -22094,7 +22094,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "8073:12:0", + "src": "8218:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -22108,7 +22108,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 344, - "src": "8086:10:0", + "src": "8231:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -22119,7 +22119,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "8073:24:0", + "src": "8218:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -22133,7 +22133,7 @@ "memberName": "lastModified", "nodeType": "MemberAccess", "referencedDeclaration": 42, - "src": "8073:37:0", + "src": "8218:37:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -22150,7 +22150,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1387, - "src": "8113:5:0", + "src": "8258:5:0", "typeDescriptions": { "typeIdentifier": "t_magic_block", "typeString": "block" @@ -22164,13 +22164,13 @@ "memberName": "timestamp", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "8113:15:0", + "src": "8258:15:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "8073:55:0", + "src": "8218:55:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -22178,7 +22178,7 @@ }, "id": 390, "nodeType": "ExpressionStatement", - "src": "8073:55:0" + "src": "8218:55:0" }, { "eventCall": { @@ -22191,7 +22191,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 344, - "src": "8154:10:0", + "src": "8299:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -22206,7 +22206,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1397, - "src": "8166:3:0", + "src": "8311:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -22220,7 +22220,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "8166:10:0", + "src": "8311:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -22235,7 +22235,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1397, - "src": "8178:3:0", + "src": "8323:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -22249,7 +22249,7 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "8178:9:0", + "src": "8323:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -22276,7 +22276,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 30, - "src": "8144:9:0", + "src": "8289:9:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (bytes32,address,uint256)" @@ -22290,7 +22290,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8144:44:0", + "src": "8289:44:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -22298,7 +22298,7 @@ }, "id": 398, "nodeType": "EmitStatement", - "src": "8139:49:0" + "src": "8284:49:0" } ] }, @@ -22317,7 +22317,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 344, - "src": "7739:10:0", + "src": "7884:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -22332,14 +22332,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 99, - "src": "7722:16:0", + "src": "7867:16:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "7722:28:0" + "src": "7867:28:0" }, { "arguments": [ @@ -22350,7 +22350,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 344, - "src": "7773:10:0", + "src": "7918:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -22365,14 +22365,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 132, - "src": "7759:13:0", + "src": "7904:13:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "7759:25:0" + "src": "7904:25:0" }, { "arguments": [ @@ -22383,7 +22383,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 344, - "src": "7814:10:0", + "src": "7959:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -22398,7 +22398,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12, - "src": "7826:15:0", + "src": "7971:15:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_TransactionType_$12_$", "typeString": "type(enum Escrow_v1_0.TransactionType)" @@ -22412,7 +22412,7 @@ "memberName": "ETHER", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "7826:21:0", + "src": "7971:21:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -22427,14 +22427,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 165, - "src": "7793:20:0", + "src": "7938:20:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$_t_enum$_TransactionType_$12_$", "typeString": "modifier (bytes32,enum Escrow_v1_0.TransactionType)" } }, "nodeType": "ModifierInvocation", - "src": "7793:55:0" + "src": "7938:55:0" }, { "arguments": [ @@ -22445,7 +22445,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 344, - "src": "7867:10:0", + "src": "8012:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -22460,14 +22460,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 182, - "src": "7857:9:0", + "src": "8002:9:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "7857:21:0" + "src": "8002:21:0" } ], "name": "addFundsToTransaction", @@ -22482,7 +22482,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 400, - "src": "7656:18:0", + "src": "7801:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -22493,7 +22493,7 @@ "id": 343, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "7656:7:0", + "src": "7801:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -22503,17 +22503,17 @@ "visibility": "internal" } ], - "src": "7646:34:0" + "src": "7791:34:0" }, "payable": true, "returnParameters": { "id": 360, "nodeType": "ParameterList", "parameters": [], - "src": "7892:0:0" + "src": "8037:0:0" }, "scope": 1224, - "src": "7616:579:0", + "src": "7761:579:0", "stateMutability": "payable", "superFunction": null, "visibility": "external" @@ -22522,7 +22522,7 @@ "body": { "id": 480, "nodeType": "Block", - "src": "8798:622:0", + "src": "8943:622:0", "statements": [ { "expression": { @@ -22546,7 +22546,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 404, - "src": "8817:5:0", + "src": "8962:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -22564,7 +22564,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "8825:1:0", + "src": "8970:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -22572,7 +22572,7 @@ }, "value": "0" }, - "src": "8817:9:0", + "src": "8962:9:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -22588,7 +22588,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "8828:34:0", + "src": "8973:34:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_21fbec2be6560b9ccffc4980d43c0d147770168e7aaf24999b418b9010085622", @@ -22616,7 +22616,7 @@ 1401 ], "referencedDeclaration": 1401, - "src": "8809:7:0", + "src": "8954:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -22630,7 +22630,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8809:54:0", + "src": "8954:54:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -22638,7 +22638,7 @@ }, "id": 427, "nodeType": "ExpressionStatement", - "src": "8809:54:0" + "src": "8954:54:0" }, { "assignments": [ @@ -22651,7 +22651,7 @@ "name": "token", "nodeType": "VariableDeclaration", "scope": 481, - "src": "8874:20:0", + "src": "9019:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -22664,7 +22664,7 @@ "name": "ITokenContract", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 1254, - "src": "8874:14:0", + "src": "9019:14:0", "typeDescriptions": { "typeIdentifier": "t_contract$_ITokenContract_$1254", "typeString": "contract ITokenContract" @@ -22689,7 +22689,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "8925:12:0", + "src": "9070:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -22703,7 +22703,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 402, - "src": "8938:10:0", + "src": "9083:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -22714,7 +22714,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "8925:24:0", + "src": "9070:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -22728,7 +22728,7 @@ "memberName": "tokenAddress", "nodeType": "MemberAccess", "referencedDeclaration": 56, - "src": "8925:37:0", + "src": "9070:37:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -22747,7 +22747,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1254, - "src": "8897:14:0", + "src": "9042:14:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_ITokenContract_$1254_$", "typeString": "type(contract ITokenContract)" @@ -22761,14 +22761,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8897:75:0", + "src": "9042:75:0", "typeDescriptions": { "typeIdentifier": "t_contract$_ITokenContract_$1254", "typeString": "contract ITokenContract" } }, "nodeType": "VariableDeclarationStatement", - "src": "8874:98:0" + "src": "9019:98:0" }, { "expression": { @@ -22788,7 +22788,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "9023:12:0", + "src": "9168:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -22802,7 +22802,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 402, - "src": "9036:10:0", + "src": "9181:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -22813,7 +22813,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "9023:24:0", + "src": "9168:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -22827,7 +22827,7 @@ "memberName": "buyer", "nodeType": "MemberAccess", "referencedDeclaration": 52, - "src": "9023:30:0", + "src": "9168:30:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -22843,7 +22843,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1414, - "src": "9063:4:0", + "src": "9208:4:0", "typeDescriptions": { "typeIdentifier": "t_contract$_Escrow_v1_0_$1224", "typeString": "contract Escrow_v1_0" @@ -22863,7 +22863,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "9055:7:0", + "src": "9200:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" @@ -22878,7 +22878,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "9055:13:0", + "src": "9200:13:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -22891,7 +22891,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 404, - "src": "9070:5:0", + "src": "9215:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -22920,7 +22920,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 429, - "src": "9004:5:0", + "src": "9149:5:0", "typeDescriptions": { "typeIdentifier": "t_contract$_ITokenContract_$1254", "typeString": "contract ITokenContract" @@ -22934,7 +22934,7 @@ "memberName": "transferFrom", "nodeType": "MemberAccess", "referencedDeclaration": 1253, - "src": "9004:18:0", + "src": "9149:18:0", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", "typeString": "function (address,address,uint256) external returns (bool)" @@ -22948,7 +22948,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "9004:72:0", + "src": "9149:72:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -22964,7 +22964,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "9090:94:0", + "src": "9235:94:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_d9d07068d589bc4adc53018a3c57c159ec128fdfb62732a5fa9410e76cf03318", @@ -22992,7 +22992,7 @@ 1401 ], "referencedDeclaration": 1401, - "src": "8983:7:0", + "src": "9128:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -23006,7 +23006,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8983:211:0", + "src": "9128:211:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -23014,7 +23014,7 @@ }, "id": 451, "nodeType": "ExpressionStatement", - "src": "8983:211:0" + "src": "9128:211:0" }, { "expression": { @@ -23035,7 +23035,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "9205:12:0", + "src": "9350:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -23049,7 +23049,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 402, - "src": "9218:10:0", + "src": "9363:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -23060,7 +23060,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "9205:24:0", + "src": "9350:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -23074,7 +23074,7 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": 40, - "src": "9205:30:0", + "src": "9350:30:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -23092,7 +23092,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 404, - "src": "9286:5:0", + "src": "9431:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -23117,7 +23117,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "9238:12:0", + "src": "9383:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -23131,7 +23131,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 402, - "src": "9251:10:0", + "src": "9396:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -23142,7 +23142,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "9238:24:0", + "src": "9383:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -23156,7 +23156,7 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": 40, - "src": "9238:30:0", + "src": "9383:30:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -23170,7 +23170,7 @@ "memberName": "add", "nodeType": "MemberAccess", "referencedDeclaration": 1361, - "src": "9238:47:0", + "src": "9383:47:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" @@ -23184,13 +23184,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "9238:54:0", + "src": "9383:54:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "9205:87:0", + "src": "9350:87:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -23198,7 +23198,7 @@ }, "id": 464, "nodeType": "ExpressionStatement", - "src": "9205:87:0" + "src": "9350:87:0" }, { "expression": { @@ -23219,7 +23219,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "9302:12:0", + "src": "9447:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -23233,7 +23233,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 402, - "src": "9315:10:0", + "src": "9460:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -23244,7 +23244,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "9302:24:0", + "src": "9447:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -23258,7 +23258,7 @@ "memberName": "lastModified", "nodeType": "MemberAccess", "referencedDeclaration": 42, - "src": "9302:37:0", + "src": "9447:37:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -23275,7 +23275,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1387, - "src": "9342:5:0", + "src": "9487:5:0", "typeDescriptions": { "typeIdentifier": "t_magic_block", "typeString": "block" @@ -23289,13 +23289,13 @@ "memberName": "timestamp", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "9342:15:0", + "src": "9487:15:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "9302:55:0", + "src": "9447:55:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -23303,7 +23303,7 @@ }, "id": 472, "nodeType": "ExpressionStatement", - "src": "9302:55:0" + "src": "9447:55:0" }, { "eventCall": { @@ -23316,7 +23316,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 402, - "src": "9383:10:0", + "src": "9528:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -23331,7 +23331,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1397, - "src": "9395:3:0", + "src": "9540:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -23345,7 +23345,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "9395:10:0", + "src": "9540:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -23358,7 +23358,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 404, - "src": "9407:5:0", + "src": "9552:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -23385,7 +23385,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 30, - "src": "9373:9:0", + "src": "9518:9:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (bytes32,address,uint256)" @@ -23399,7 +23399,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "9373:40:0", + "src": "9518:40:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -23407,7 +23407,7 @@ }, "id": 479, "nodeType": "EmitStatement", - "src": "9368:45:0" + "src": "9513:45:0" } ] }, @@ -23426,7 +23426,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 402, - "src": "8654:10:0", + "src": "8799:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -23441,14 +23441,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 99, - "src": "8637:16:0", + "src": "8782:16:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "8637:28:0" + "src": "8782:28:0" }, { "arguments": [ @@ -23459,7 +23459,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 402, - "src": "8688:10:0", + "src": "8833:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -23474,14 +23474,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 132, - "src": "8674:13:0", + "src": "8819:13:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "8674:25:0" + "src": "8819:25:0" }, { "arguments": [ @@ -23492,7 +23492,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 402, - "src": "8729:10:0", + "src": "8874:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -23507,7 +23507,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12, - "src": "8741:15:0", + "src": "8886:15:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_TransactionType_$12_$", "typeString": "type(enum Escrow_v1_0.TransactionType)" @@ -23521,7 +23521,7 @@ "memberName": "TOKEN", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "8741:21:0", + "src": "8886:21:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -23536,14 +23536,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 165, - "src": "8708:20:0", + "src": "8853:20:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$_t_enum$_TransactionType_$12_$", "typeString": "modifier (bytes32,enum Escrow_v1_0.TransactionType)" } }, "nodeType": "ModifierInvocation", - "src": "8708:55:0" + "src": "8853:55:0" }, { "arguments": [ @@ -23554,7 +23554,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 402, - "src": "8782:10:0", + "src": "8927:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -23569,14 +23569,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 182, - "src": "8772:9:0", + "src": "8917:9:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "8772:21:0" + "src": "8917:21:0" } ], "name": "addTokensToTransaction", @@ -23591,7 +23591,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 481, - "src": "8564:18:0", + "src": "8709:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -23602,7 +23602,7 @@ "id": 401, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "8564:7:0", + "src": "8709:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -23617,7 +23617,7 @@ "name": "value", "nodeType": "VariableDeclaration", "scope": 481, - "src": "8592:13:0", + "src": "8737:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -23628,7 +23628,7 @@ "id": 403, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "8592:7:0", + "src": "8737:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -23638,17 +23638,17 @@ "visibility": "internal" } ], - "src": "8554:57:0" + "src": "8699:57:0" }, "payable": false, "returnParameters": { "id": 420, "nodeType": "ParameterList", "parameters": [], - "src": "8798:0:0" + "src": "8943:0:0" }, "scope": 1224, - "src": "8523:897:0", + "src": "8668:897:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" @@ -23657,7 +23657,7 @@ "body": { "id": 493, "nodeType": "Block", - "src": "9675:56:0", + "src": "9820:56:0", "statements": [ { "expression": { @@ -23669,7 +23669,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 83, - "src": "9692:18:0", + "src": "9837:18:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_bytes32_$dyn_storage_$", "typeString": "mapping(address => bytes32[] storage ref)" @@ -23683,7 +23683,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 483, - "src": "9711:12:0", + "src": "9856:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -23694,7 +23694,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "9692:32:0", + "src": "9837:32:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage", "typeString": "bytes32[] storage ref" @@ -23703,7 +23703,7 @@ "functionReturnParameters": 488, "id": 492, "nodeType": "Return", - "src": "9685:39:0" + "src": "9830:39:0" } ] }, @@ -23725,7 +23725,7 @@ "name": "partyAddress", "nodeType": "VariableDeclaration", "scope": 494, - "src": "9582:20:0", + "src": "9727:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -23736,7 +23736,7 @@ "id": 482, "name": "address", "nodeType": "ElementaryTypeName", - "src": "9582:7:0", + "src": "9727:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -23746,7 +23746,7 @@ "visibility": "internal" } ], - "src": "9572:36:0" + "src": "9717:36:0" }, "payable": false, "returnParameters": { @@ -23759,7 +23759,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 494, - "src": "9659:9:0", + "src": "9804:9:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -23771,7 +23771,7 @@ "id": 485, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "9659:7:0", + "src": "9804:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -23780,7 +23780,7 @@ "id": 486, "length": null, "nodeType": "ArrayTypeName", - "src": "9659:9:0", + "src": "9804:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -23790,10 +23790,10 @@ "visibility": "internal" } ], - "src": "9658:11:0" + "src": "9803:11:0" }, "scope": 1224, - "src": "9537:194:0", + "src": "9682:194:0", "stateMutability": "view", "superFunction": null, "visibility": "external" @@ -23802,7 +23802,7 @@ "body": { "id": 582, "nodeType": "Block", - "src": "10601:932:0", + "src": "10746:932:0", "statements": [ { "expression": { @@ -23828,7 +23828,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 508, - "src": "10635:12:0", + "src": "10780:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" @@ -23842,7 +23842,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "10635:19:0", + "src": "10780:19:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -23860,7 +23860,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "10655:1:0", + "src": "10800:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -23868,7 +23868,7 @@ }, "value": "0" }, - "src": "10635:21:0", + "src": "10780:21:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -23884,7 +23884,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "10671:47:0", + "src": "10816:47:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_fbeb58246a6e3ff255a1d618f14d1cced67ffd4784fbc3e1cfbdf71d1f7fbdf9", @@ -23912,7 +23912,7 @@ 1401 ], "referencedDeclaration": 1401, - "src": "10614:7:0", + "src": "10759:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -23926,7 +23926,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "10614:114:0", + "src": "10759:114:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -23934,7 +23934,7 @@ }, "id": 527, "nodeType": "ExpressionStatement", - "src": "10614:114:0" + "src": "10759:114:0" }, { "expression": { @@ -23960,7 +23960,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 508, - "src": "10759:12:0", + "src": "10904:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" @@ -23974,7 +23974,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "10759:19:0", + "src": "10904:19:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -23991,7 +23991,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 511, - "src": "10782:7:0", + "src": "10927:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", "typeString": "uint256[] calldata" @@ -24005,13 +24005,13 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "10782:14:0", + "src": "10927:14:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "10759:37:0", + "src": "10904:37:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -24027,7 +24027,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "10810:57:0", + "src": "10955:57:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_e70a315a5939ff57e3400503291dbc0af19d18c32f15c80c7c6f5b7c54a6cd3c", @@ -24055,7 +24055,7 @@ 1401 ], "referencedDeclaration": 1401, - "src": "10738:7:0", + "src": "10883:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -24069,7 +24069,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "10738:139:0", + "src": "10883:139:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -24077,7 +24077,7 @@ }, "id": 536, "nodeType": "ExpressionStatement", - "src": "10738:139:0" + "src": "10883:139:0" }, { "expression": { @@ -24090,7 +24090,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 497, - "src": "10927:4:0", + "src": "11072:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_calldata_ptr", "typeString": "uint8[] calldata" @@ -24103,7 +24103,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 500, - "src": "10945:4:0", + "src": "11090:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", "typeString": "bytes32[] calldata" @@ -24116,7 +24116,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 503, - "src": "10963:4:0", + "src": "11108:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", "typeString": "bytes32[] calldata" @@ -24129,7 +24129,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 505, - "src": "10981:10:0", + "src": "11126:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -24142,7 +24142,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 508, - "src": "11005:12:0", + "src": "11150:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" @@ -24155,7 +24155,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 511, - "src": "11031:7:0", + "src": "11176:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", "typeString": "uint256[] calldata" @@ -24194,7 +24194,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 711, - "src": "10895:18:0", + "src": "11040:18:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_array$_t_uint8_$dyn_memory_ptr_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_bytes32_$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$__$", "typeString": "function (uint8[] memory,bytes32[] memory,bytes32[] memory,bytes32,address[] memory,uint256[] memory)" @@ -24208,7 +24208,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "10895:153:0", + "src": "11040:153:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -24216,7 +24216,7 @@ }, "id": 545, "nodeType": "ExpressionStatement", - "src": "10895:153:0" + "src": "11040:153:0" }, { "expression": { @@ -24237,7 +24237,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "11059:12:0", + "src": "11204:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -24251,7 +24251,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 505, - "src": "11072:10:0", + "src": "11217:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -24262,7 +24262,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "11059:24:0", + "src": "11204:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -24276,7 +24276,7 @@ "memberName": "status", "nodeType": "MemberAccess", "referencedDeclaration": 44, - "src": "11059:31:0", + "src": "11204:31:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$9", "typeString": "enum Escrow_v1_0.Status" @@ -24293,7 +24293,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9, - "src": "11093:6:0", + "src": "11238:6:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_Status_$9_$", "typeString": "type(enum Escrow_v1_0.Status)" @@ -24307,13 +24307,13 @@ "memberName": "RELEASED", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "11093:15:0", + "src": "11238:15:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$9", "typeString": "enum Escrow_v1_0.Status" } }, - "src": "11059:49:0", + "src": "11204:49:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$9", "typeString": "enum Escrow_v1_0.Status" @@ -24321,7 +24321,7 @@ }, "id": 553, "nodeType": "ExpressionStatement", - "src": "11059:49:0" + "src": "11204:49:0" }, { "expression": { @@ -24342,7 +24342,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "11192:12:0", + "src": "11337:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -24356,7 +24356,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 505, - "src": "11205:10:0", + "src": "11350:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -24367,7 +24367,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "11192:24:0", + "src": "11337:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -24381,7 +24381,7 @@ "memberName": "lastModified", "nodeType": "MemberAccess", "referencedDeclaration": 42, - "src": "11192:37:0", + "src": "11337:37:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -24398,7 +24398,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1387, - "src": "11232:5:0", + "src": "11377:5:0", "typeDescriptions": { "typeIdentifier": "t_magic_block", "typeString": "block" @@ -24412,13 +24412,13 @@ "memberName": "timestamp", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "11232:15:0", + "src": "11377:15:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "11192:55:0", + "src": "11337:55:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -24426,7 +24426,7 @@ }, "id": 561, "nodeType": "ExpressionStatement", - "src": "11192:55:0" + "src": "11337:55:0" }, { "expression": { @@ -24453,7 +24453,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 505, - "src": "11293:10:0", + "src": "11438:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -24466,7 +24466,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 508, - "src": "11305:12:0", + "src": "11450:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" @@ -24479,7 +24479,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 511, - "src": "11319:7:0", + "src": "11464:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", "typeString": "uint256[] calldata" @@ -24506,7 +24506,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 904, - "src": "11278:14:0", + "src": "11423:14:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$_t_uint256_$", "typeString": "function (bytes32,address[] memory,uint256[] memory) returns (uint256)" @@ -24520,7 +24520,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "11278:49:0", + "src": "11423:49:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -24539,7 +24539,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "11331:12:0", + "src": "11476:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -24553,7 +24553,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 505, - "src": "11344:10:0", + "src": "11489:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -24564,7 +24564,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "11331:24:0", + "src": "11476:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -24578,13 +24578,13 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": 40, - "src": "11331:30:0", + "src": "11476:30:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "11278:83:0", + "src": "11423:83:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -24600,7 +24600,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "11375:74:0", + "src": "11520:74:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_9e0bdb14e2e0d5e118fd1f547268c6a1fdb5e8facacd614066d4b60bc2c9941d", @@ -24628,7 +24628,7 @@ 1401 ], "referencedDeclaration": 1401, - "src": "11257:7:0", + "src": "11402:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -24642,7 +24642,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "11257:202:0", + "src": "11402:202:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -24650,7 +24650,7 @@ }, "id": 575, "nodeType": "ExpressionStatement", - "src": "11257:202:0" + "src": "11402:202:0" }, { "eventCall": { @@ -24663,7 +24663,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 505, - "src": "11492:10:0", + "src": "11637:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -24676,7 +24676,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 508, - "src": "11504:12:0", + "src": "11649:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" @@ -24689,7 +24689,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 511, - "src": "11518:7:0", + "src": "11663:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", "typeString": "uint256[] calldata" @@ -24716,7 +24716,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 22, - "src": "11483:8:0", + "src": "11628:8:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$__$", "typeString": "function (bytes32,address[] memory,uint256[] memory)" @@ -24730,7 +24730,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "11483:43:0", + "src": "11628:43:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -24738,7 +24738,7 @@ }, "id": 581, "nodeType": "EmitStatement", - "src": "11478:48:0" + "src": "11623:48:0" } ] }, @@ -24757,7 +24757,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 505, - "src": "10551:10:0", + "src": "10696:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -24772,14 +24772,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 99, - "src": "10534:16:0", + "src": "10679:16:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "10534:28:0" + "src": "10679:28:0" }, { "arguments": [ @@ -24790,7 +24790,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 505, - "src": "10585:10:0", + "src": "10730:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -24805,14 +24805,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 132, - "src": "10571:13:0", + "src": "10716:13:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "10571:25:0" + "src": "10716:25:0" } ], "name": "execute", @@ -24827,7 +24827,7 @@ "name": "sigV", "nodeType": "VariableDeclaration", "scope": 583, - "src": "10355:12:0", + "src": "10500:12:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -24839,7 +24839,7 @@ "id": 495, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "10355:5:0", + "src": "10500:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -24848,7 +24848,7 @@ "id": 496, "length": null, "nodeType": "ArrayTypeName", - "src": "10355:7:0", + "src": "10500:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_storage_ptr", "typeString": "uint8[]" @@ -24863,7 +24863,7 @@ "name": "sigR", "nodeType": "VariableDeclaration", "scope": 583, - "src": "10377:14:0", + "src": "10522:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -24875,7 +24875,7 @@ "id": 498, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "10377:7:0", + "src": "10522:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -24884,7 +24884,7 @@ "id": 499, "length": null, "nodeType": "ArrayTypeName", - "src": "10377:9:0", + "src": "10522:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -24899,7 +24899,7 @@ "name": "sigS", "nodeType": "VariableDeclaration", "scope": 583, - "src": "10401:14:0", + "src": "10546:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -24911,7 +24911,7 @@ "id": 501, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "10401:7:0", + "src": "10546:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -24920,7 +24920,7 @@ "id": 502, "length": null, "nodeType": "ArrayTypeName", - "src": "10401:9:0", + "src": "10546:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -24935,7 +24935,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 583, - "src": "10425:18:0", + "src": "10570:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -24946,7 +24946,7 @@ "id": 504, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "10425:7:0", + "src": "10570:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -24961,7 +24961,7 @@ "name": "destinations", "nodeType": "VariableDeclaration", "scope": 583, - "src": "10453:22:0", + "src": "10598:22:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -24973,7 +24973,7 @@ "id": 506, "name": "address", "nodeType": "ElementaryTypeName", - "src": "10453:7:0", + "src": "10598:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -24982,7 +24982,7 @@ "id": 507, "length": null, "nodeType": "ArrayTypeName", - "src": "10453:9:0", + "src": "10598:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", "typeString": "address[]" @@ -24997,7 +24997,7 @@ "name": "amounts", "nodeType": "VariableDeclaration", "scope": 583, - "src": "10485:17:0", + "src": "10630:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -25009,7 +25009,7 @@ "id": 509, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "10485:7:0", + "src": "10630:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -25018,7 +25018,7 @@ "id": 510, "length": null, "nodeType": "ArrayTypeName", - "src": "10485:9:0", + "src": "10630:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -25028,17 +25028,17 @@ "visibility": "internal" } ], - "src": "10345:163:0" + "src": "10490:163:0" }, "payable": false, "returnParameters": { "id": 519, "nodeType": "ParameterList", "parameters": [], - "src": "10601:0:0" + "src": "10746:0:0" }, "scope": 1224, - "src": "10329:1204:0", + "src": "10474:1204:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" @@ -25047,7 +25047,7 @@ "body": { "id": 641, "nodeType": "Block", - "src": "12337:734:0", + "src": "12482:734:0", "statements": [ { "condition": { @@ -25068,7 +25068,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 597, - "src": "12351:12:0", + "src": "12496:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -25089,7 +25089,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "12375:1:0", + "src": "12520:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -25111,7 +25111,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "12367:7:0", + "src": "12512:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" @@ -25126,13 +25126,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "12367:10:0", + "src": "12512:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "12351:26:0", + "src": "12496:26:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -25141,7 +25141,7 @@ "falseBody": { "id": 639, "nodeType": "Block", - "src": "12708:357:0", + "src": "12853:357:0", "statements": [ { "expression": { @@ -25157,7 +25157,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 585, - "src": "12794:8:0", + "src": "12939:8:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -25170,7 +25170,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 587, - "src": "12824:9:0", + "src": "12969:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -25183,7 +25183,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 589, - "src": "12855:12:0", + "src": "13000:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -25196,7 +25196,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 591, - "src": "12889:5:0", + "src": "13034:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -25209,7 +25209,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 593, - "src": "12916:6:0", + "src": "13061:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -25222,7 +25222,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 595, - "src": "12944:9:0", + "src": "13089:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -25238,7 +25238,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1414, - "src": "12983:4:0", + "src": "13128:4:0", "typeDescriptions": { "typeIdentifier": "t_contract$_Escrow_v1_0_$1224", "typeString": "contract Escrow_v1_0" @@ -25258,7 +25258,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "12975:7:0", + "src": "13120:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" @@ -25273,7 +25273,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "12975:13:0", + "src": "13120:13:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -25286,7 +25286,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 597, - "src": "13010:12:0", + "src": "13155:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -25335,7 +25335,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1384, - "src": "12756:3:0", + "src": "12901:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" @@ -25349,7 +25349,7 @@ "memberName": "encodePacked", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "12756:16:0", + "src": "12901:16:0", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" @@ -25363,7 +25363,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "12756:284:0", + "src": "12901:284:0", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -25382,7 +25382,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1391, - "src": "12729:9:0", + "src": "12874:9:0", "typeDescriptions": { "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", "typeString": "function () pure returns (bytes32)" @@ -25396,7 +25396,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "12729:325:0", + "src": "12874:325:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -25405,17 +25405,17 @@ "functionReturnParameters": 601, "id": 638, "nodeType": "Return", - "src": "12722:332:0" + "src": "12867:332:0" } ] }, "id": 640, "nodeType": "IfStatement", - "src": "12347:718:0", + "src": "12492:718:0", "trueBody": { "id": 622, "nodeType": "Block", - "src": "12379:323:0", + "src": "12524:323:0", "statements": [ { "expression": { @@ -25431,7 +25431,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 585, - "src": "12465:8:0", + "src": "12610:8:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -25444,7 +25444,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 587, - "src": "12495:9:0", + "src": "12640:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -25457,7 +25457,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 589, - "src": "12526:12:0", + "src": "12671:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -25470,7 +25470,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 591, - "src": "12560:5:0", + "src": "12705:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -25483,7 +25483,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 593, - "src": "12587:6:0", + "src": "12732:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -25496,7 +25496,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 595, - "src": "12615:9:0", + "src": "12760:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -25512,7 +25512,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1414, - "src": "12654:4:0", + "src": "12799:4:0", "typeDescriptions": { "typeIdentifier": "t_contract$_Escrow_v1_0_$1224", "typeString": "contract Escrow_v1_0" @@ -25532,7 +25532,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "12646:7:0", + "src": "12791:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" @@ -25547,7 +25547,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "12646:13:0", + "src": "12791:13:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -25592,7 +25592,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1384, - "src": "12427:3:0", + "src": "12572:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" @@ -25606,7 +25606,7 @@ "memberName": "encodePacked", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "12427:16:0", + "src": "12572:16:0", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" @@ -25620,7 +25620,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "12427:250:0", + "src": "12572:250:0", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -25639,7 +25639,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1391, - "src": "12400:9:0", + "src": "12545:9:0", "typeDescriptions": { "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", "typeString": "function () pure returns (bytes32)" @@ -25653,7 +25653,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "12400:291:0", + "src": "12545:291:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -25662,7 +25662,7 @@ "functionReturnParameters": 601, "id": 621, "nodeType": "Return", - "src": "12393:298:0" + "src": "12538:298:0" } ] } @@ -25687,7 +25687,7 @@ "name": "uniqueId", "nodeType": "VariableDeclaration", "scope": 642, - "src": "12098:16:0", + "src": "12243:16:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -25698,7 +25698,7 @@ "id": 584, "name": "bytes20", "nodeType": "ElementaryTypeName", - "src": "12098:7:0", + "src": "12243:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -25713,7 +25713,7 @@ "name": "threshold", "nodeType": "VariableDeclaration", "scope": 642, - "src": "12124:15:0", + "src": "12269:15:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -25724,7 +25724,7 @@ "id": 586, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "12124:5:0", + "src": "12269:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -25739,7 +25739,7 @@ "name": "timeoutHours", "nodeType": "VariableDeclaration", "scope": 642, - "src": "12149:19:0", + "src": "12294:19:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -25750,7 +25750,7 @@ "id": 588, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "12149:6:0", + "src": "12294:6:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -25765,7 +25765,7 @@ "name": "buyer", "nodeType": "VariableDeclaration", "scope": 642, - "src": "12178:13:0", + "src": "12323:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -25776,7 +25776,7 @@ "id": 590, "name": "address", "nodeType": "ElementaryTypeName", - "src": "12178:7:0", + "src": "12323:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -25791,7 +25791,7 @@ "name": "seller", "nodeType": "VariableDeclaration", "scope": 642, - "src": "12201:14:0", + "src": "12346:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -25802,7 +25802,7 @@ "id": 592, "name": "address", "nodeType": "ElementaryTypeName", - "src": "12201:7:0", + "src": "12346:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -25817,7 +25817,7 @@ "name": "moderator", "nodeType": "VariableDeclaration", "scope": 642, - "src": "12225:17:0", + "src": "12370:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -25828,7 +25828,7 @@ "id": 594, "name": "address", "nodeType": "ElementaryTypeName", - "src": "12225:7:0", + "src": "12370:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -25843,7 +25843,7 @@ "name": "tokenAddress", "nodeType": "VariableDeclaration", "scope": 642, - "src": "12252:20:0", + "src": "12397:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -25854,7 +25854,7 @@ "id": 596, "name": "address", "nodeType": "ElementaryTypeName", - "src": "12252:7:0", + "src": "12397:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -25864,7 +25864,7 @@ "visibility": "internal" } ], - "src": "12088:190:0" + "src": "12233:190:0" }, "payable": false, "returnParameters": { @@ -25877,7 +25877,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 642, - "src": "12324:7:0", + "src": "12469:7:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -25888,7 +25888,7 @@ "id": 599, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "12324:7:0", + "src": "12469:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -25898,10 +25898,10 @@ "visibility": "internal" } ], - "src": "12323:9:0" + "src": "12468:9:0" }, "scope": 1224, - "src": "12054:1017:0", + "src": "12199:1017:0", "stateMutability": "view", "superFunction": null, "visibility": "public" @@ -25910,7 +25910,7 @@ "body": { "id": 710, "nodeType": "Block", - "src": "13556:797:0", + "src": "13701:797:0", "statements": [ { "assignments": [ @@ -25923,7 +25923,7 @@ "name": "lastRecovered", "nodeType": "VariableDeclaration", "scope": 711, - "src": "13566:21:0", + "src": "13711:21:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -25934,7 +25934,7 @@ "id": 662, "name": "address", "nodeType": "ElementaryTypeName", - "src": "13566:7:0", + "src": "13711:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -25955,7 +25955,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 645, - "src": "13621:4:0", + "src": "13766:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr", "typeString": "uint8[] memory" @@ -25968,7 +25968,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 648, - "src": "13639:4:0", + "src": "13784:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" @@ -25981,7 +25981,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 651, - "src": "13657:4:0", + "src": "13802:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" @@ -25994,7 +25994,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 653, - "src": "13675:10:0", + "src": "13820:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -26007,7 +26007,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 656, - "src": "13699:12:0", + "src": "13844:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -26020,7 +26020,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 659, - "src": "13725:7:0", + "src": "13870:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" @@ -26059,7 +26059,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1035, - "src": "13590:17:0", + "src": "13735:17:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_array$_t_uint8_$dyn_memory_ptr_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_bytes32_$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$_t_address_$", "typeString": "function (uint8[] memory,bytes32[] memory,bytes32[] memory,bytes32,address[] memory,uint256[] memory) returns (address)" @@ -26073,14 +26073,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "13590:152:0", + "src": "13735:152:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "VariableDeclarationStatement", - "src": "13566:176:0" + "src": "13711:176:0" }, { "assignments": [ @@ -26093,7 +26093,7 @@ "name": "timeLockExpired", "nodeType": "VariableDeclaration", "scope": 711, - "src": "13753:20:0", + "src": "13898:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -26104,7 +26104,7 @@ "id": 673, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "13753:4:0", + "src": "13898:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -26129,7 +26129,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "13808:12:0", + "src": "13953:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -26143,7 +26143,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 653, - "src": "13821:10:0", + "src": "13966:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -26154,7 +26154,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "13808:24:0", + "src": "13953:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -26168,7 +26168,7 @@ "memberName": "timeoutHours", "nodeType": "MemberAccess", "referencedDeclaration": 50, - "src": "13808:37:0", + "src": "13953:37:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -26185,7 +26185,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "13859:12:0", + "src": "14004:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -26199,7 +26199,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 653, - "src": "13872:10:0", + "src": "14017:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -26210,7 +26210,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "13859:24:0", + "src": "14004:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -26224,7 +26224,7 @@ "memberName": "lastModified", "nodeType": "MemberAccess", "referencedDeclaration": 42, - "src": "13859:37:0", + "src": "14004:37:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -26247,7 +26247,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1067, - "src": "13776:18:0", + "src": "13921:18:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_uint32_$_t_uint256_$returns$_t_bool_$", "typeString": "function (uint32,uint256) view returns (bool)" @@ -26261,14 +26261,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "13776:130:0", + "src": "13921:130:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "nodeType": "VariableDeclarationStatement", - "src": "13753:153:0" + "src": "13898:153:0" }, { "condition": { @@ -26302,7 +26302,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 645, - "src": "14078:4:0", + "src": "14223:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr", "typeString": "uint8[] memory" @@ -26316,7 +26316,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "14078:11:0", + "src": "14223:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -26335,7 +26335,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "14092:12:0", + "src": "14237:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -26349,7 +26349,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 653, - "src": "14105:10:0", + "src": "14250:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -26360,7 +26360,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "14092:24:0", + "src": "14237:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -26374,13 +26374,13 @@ "memberName": "threshold", "nodeType": "MemberAccess", "referencedDeclaration": 48, - "src": "14092:34:0", + "src": "14237:34:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, - "src": "14078:48:0", + "src": "14223:48:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -26412,7 +26412,7 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "14131:16:0", + "src": "14276:16:0", "subExpression": { "argumentTypes": null, "id": 693, @@ -26420,7 +26420,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 674, - "src": "14132:15:0", + "src": "14277:15:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -26451,7 +26451,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 663, - "src": "14151:13:0", + "src": "14296:13:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -26470,7 +26470,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "14168:12:0", + "src": "14313:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -26484,7 +26484,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 653, - "src": "14181:10:0", + "src": "14326:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -26495,7 +26495,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "14168:24:0", + "src": "14313:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -26509,19 +26509,19 @@ "memberName": "seller", "nodeType": "MemberAccess", "referencedDeclaration": 54, - "src": "14168:31:0", + "src": "14313:31:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "14151:48:0", + "src": "14296:48:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "14131:68:0", + "src": "14276:68:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -26535,13 +26535,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "14130:70:0", + "src": "14275:70:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "14078:122:0", + "src": "14223:122:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -26550,11 +26550,11 @@ "falseBody": null, "id": 709, "nodeType": "IfStatement", - "src": "14057:289:0", + "src": "14202:289:0", "trueBody": { "id": 708, "nodeType": "Block", - "src": "14223:123:0", + "src": "14368:123:0", "statements": [ { "expression": { @@ -26570,7 +26570,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "14244:90:0", + "src": "14389:90:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_e454643f61f81e3a3dc8dabaafde295fea592e232abeb03abbb1835bdc3d20d0", @@ -26594,7 +26594,7 @@ 1403 ], "referencedDeclaration": 1403, - "src": "14237:6:0", + "src": "14382:6:0", "typeDescriptions": { "typeIdentifier": "t_function_revert_pure$_t_string_memory_ptr_$returns$__$", "typeString": "function (string memory) pure" @@ -26608,7 +26608,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "14237:98:0", + "src": "14382:98:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -26616,7 +26616,7 @@ }, "id": 707, "nodeType": "ExpressionStatement", - "src": "14237:98:0" + "src": "14382:98:0" } ] } @@ -26641,7 +26641,7 @@ "name": "sigV", "nodeType": "VariableDeclaration", "scope": 711, - "src": "13382:12:0", + "src": "13527:12:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -26653,7 +26653,7 @@ "id": 643, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "13382:5:0", + "src": "13527:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -26662,7 +26662,7 @@ "id": 644, "length": null, "nodeType": "ArrayTypeName", - "src": "13382:7:0", + "src": "13527:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_storage_ptr", "typeString": "uint8[]" @@ -26677,7 +26677,7 @@ "name": "sigR", "nodeType": "VariableDeclaration", "scope": 711, - "src": "13404:14:0", + "src": "13549:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -26689,7 +26689,7 @@ "id": 646, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "13404:7:0", + "src": "13549:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -26698,7 +26698,7 @@ "id": 647, "length": null, "nodeType": "ArrayTypeName", - "src": "13404:9:0", + "src": "13549:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -26713,7 +26713,7 @@ "name": "sigS", "nodeType": "VariableDeclaration", "scope": 711, - "src": "13428:14:0", + "src": "13573:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -26725,7 +26725,7 @@ "id": 649, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "13428:7:0", + "src": "13573:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -26734,7 +26734,7 @@ "id": 650, "length": null, "nodeType": "ArrayTypeName", - "src": "13428:9:0", + "src": "13573:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -26749,7 +26749,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 711, - "src": "13452:18:0", + "src": "13597:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -26760,7 +26760,7 @@ "id": 652, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "13452:7:0", + "src": "13597:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -26775,7 +26775,7 @@ "name": "destinations", "nodeType": "VariableDeclaration", "scope": 711, - "src": "13480:22:0", + "src": "13625:22:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -26787,7 +26787,7 @@ "id": 654, "name": "address", "nodeType": "ElementaryTypeName", - "src": "13480:7:0", + "src": "13625:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -26796,7 +26796,7 @@ "id": 655, "length": null, "nodeType": "ArrayTypeName", - "src": "13480:9:0", + "src": "13625:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", "typeString": "address[]" @@ -26811,7 +26811,7 @@ "name": "amounts", "nodeType": "VariableDeclaration", "scope": 711, - "src": "13512:17:0", + "src": "13657:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -26823,7 +26823,7 @@ "id": 657, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "13512:7:0", + "src": "13657:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -26832,7 +26832,7 @@ "id": 658, "length": null, "nodeType": "ArrayTypeName", - "src": "13512:9:0", + "src": "13657:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -26842,17 +26842,17 @@ "visibility": "internal" } ], - "src": "13372:163:0" + "src": "13517:163:0" }, "payable": false, "returnParameters": { "id": 661, "nodeType": "ParameterList", "parameters": [], - "src": "13556:0:0" + "src": "13701:0:0" }, "scope": 1224, - "src": "13345:1008:0", + "src": "13490:1008:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "private" @@ -26861,7 +26861,7 @@ "body": { "id": 903, "nodeType": "Block", - "src": "14640:1562:0", + "src": "14785:1562:0", "statements": [ { "assignments": [ @@ -26874,7 +26874,7 @@ "name": "t", "nodeType": "VariableDeclaration", "scope": 904, - "src": "14650:21:0", + "src": "14795:21:0", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { @@ -26887,7 +26887,7 @@ "name": "Transaction", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 71, - "src": "14650:11:0", + "src": "14795:11:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction" @@ -26907,7 +26907,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "14674:12:0", + "src": "14819:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -26921,7 +26921,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 713, - "src": "14687:10:0", + "src": "14832:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -26932,14 +26932,14 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "14674:24:0", + "src": "14819:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "14650:48:0" + "src": "14795:48:0" }, { "assignments": [ @@ -26952,7 +26952,7 @@ "name": "valueTransferred", "nodeType": "VariableDeclaration", "scope": 904, - "src": "14709:24:0", + "src": "14854:24:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -26963,7 +26963,7 @@ "id": 730, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "14709:7:0", + "src": "14854:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -26984,7 +26984,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "14736:1:0", + "src": "14881:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -26993,7 +26993,7 @@ "value": "0" }, "nodeType": "VariableDeclarationStatement", - "src": "14709:28:0" + "src": "14854:28:0" }, { "condition": { @@ -27016,7 +27016,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 725, - "src": "14752:1:0", + "src": "14897:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" @@ -27030,7 +27030,7 @@ "memberName": "transactionType", "nodeType": "MemberAccess", "referencedDeclaration": 46, - "src": "14752:17:0", + "src": "14897:17:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -27047,7 +27047,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12, - "src": "14773:15:0", + "src": "14918:15:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_TransactionType_$12_$", "typeString": "type(enum Escrow_v1_0.TransactionType)" @@ -27061,13 +27061,13 @@ "memberName": "ETHER", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "14773:21:0", + "src": "14918:21:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" } }, - "src": "14752:42:0", + "src": "14897:42:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -27094,7 +27094,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 725, - "src": "15408:1:0", + "src": "15553:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" @@ -27108,7 +27108,7 @@ "memberName": "transactionType", "nodeType": "MemberAccess", "referencedDeclaration": 46, - "src": "15408:17:0", + "src": "15553:17:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -27125,7 +27125,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12, - "src": "15429:15:0", + "src": "15574:15:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_TransactionType_$12_$", "typeString": "type(enum Escrow_v1_0.TransactionType)" @@ -27139,13 +27139,13 @@ "memberName": "TOKEN", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "15429:21:0", + "src": "15574:21:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" } }, - "src": "15408:42:0", + "src": "15553:42:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -27154,11 +27154,11 @@ "falseBody": null, "id": 899, "nodeType": "IfStatement", - "src": "15404:758:0", + "src": "15549:758:0", "trueBody": { "id": 898, "nodeType": "Block", - "src": "15452:710:0", + "src": "15597:710:0", "statements": [ { "assignments": [ @@ -27171,7 +27171,7 @@ "name": "token", "nodeType": "VariableDeclaration", "scope": 904, - "src": "15467:20:0", + "src": "15612:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -27184,7 +27184,7 @@ "name": "ITokenContract", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 1254, - "src": "15467:14:0", + "src": "15612:14:0", "typeDescriptions": { "typeIdentifier": "t_contract$_ITokenContract_$1254", "typeString": "contract ITokenContract" @@ -27207,7 +27207,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 725, - "src": "15505:1:0", + "src": "15650:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" @@ -27221,7 +27221,7 @@ "memberName": "tokenAddress", "nodeType": "MemberAccess", "referencedDeclaration": 56, - "src": "15505:14:0", + "src": "15650:14:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -27240,7 +27240,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1254, - "src": "15490:14:0", + "src": "15635:14:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_ITokenContract_$1254_$", "typeString": "type(contract ITokenContract)" @@ -27254,20 +27254,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15490:30:0", + "src": "15635:30:0", "typeDescriptions": { "typeIdentifier": "t_contract$_ITokenContract_$1254", "typeString": "contract ITokenContract" } }, "nodeType": "VariableDeclarationStatement", - "src": "15467:53:0" + "src": "15612:53:0" }, { "body": { "id": 896, "nodeType": "Block", - "src": "15583:569:0", + "src": "15728:569:0", "statements": [ { "expression": { @@ -27293,7 +27293,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 716, - "src": "15610:12:0", + "src": "15755:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -27307,7 +27307,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 824, - "src": "15623:1:0", + "src": "15768:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27318,7 +27318,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15610:15:0", + "src": "15755:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -27339,7 +27339,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "15637:1:0", + "src": "15782:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -27361,7 +27361,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "15629:7:0", + "src": "15774:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" @@ -27376,13 +27376,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15629:10:0", + "src": "15774:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "15610:29:0", + "src": "15755:29:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -27398,7 +27398,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "15641:52:0", + "src": "15786:52:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_587fbb5a9b8e6d4cc482f236066ac51bcf007ae6026eab186437d2f1b22fc139", @@ -27426,7 +27426,7 @@ 1401 ], "referencedDeclaration": 1401, - "src": "15602:7:0", + "src": "15747:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -27440,7 +27440,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15602:92:0", + "src": "15747:92:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -27448,7 +27448,7 @@ }, "id": 844, "nodeType": "ExpressionStatement", - "src": "15602:92:0" + "src": "15747:92:0" }, { "expression": { @@ -27465,7 +27465,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 725, - "src": "15721:1:0", + "src": "15866:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" @@ -27479,7 +27479,7 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "15721:9:0", + "src": "15866:9:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -27495,7 +27495,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 716, - "src": "15731:12:0", + "src": "15876:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -27509,7 +27509,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 824, - "src": "15744:1:0", + "src": "15889:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27520,7 +27520,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15731:15:0", + "src": "15876:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -27531,7 +27531,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15721:26:0", + "src": "15866:26:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -27547,7 +27547,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "15749:46:0", + "src": "15894:46:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_5ccbe9d117aeeb4b3546dfe6a12f083cb37039367b3ec38b60873b8650bc846f", @@ -27575,7 +27575,7 @@ 1401 ], "referencedDeclaration": 1401, - "src": "15713:7:0", + "src": "15858:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -27589,7 +27589,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15713:83:0", + "src": "15858:83:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -27597,7 +27597,7 @@ }, "id": 854, "nodeType": "ExpressionStatement", - "src": "15713:83:0" + "src": "15858:83:0" }, { "expression": { @@ -27623,7 +27623,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 719, - "src": "15823:7:0", + "src": "15968:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" @@ -27637,7 +27637,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 824, - "src": "15831:1:0", + "src": "15976:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27648,7 +27648,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15823:10:0", + "src": "15968:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27666,7 +27666,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "15836:1:0", + "src": "15981:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -27674,7 +27674,7 @@ }, "value": "0" }, - "src": "15823:14:0", + "src": "15968:14:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -27690,7 +27690,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "15839:44:0", + "src": "15984:44:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_5e1271a09dbb64ae031de288deb0ad8d707df7db51d6e827931dc8fa6642a71e", @@ -27718,7 +27718,7 @@ 1401 ], "referencedDeclaration": 1401, - "src": "15815:7:0", + "src": "15960:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -27732,7 +27732,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15815:69:0", + "src": "15960:69:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -27740,7 +27740,7 @@ }, "id": 863, "nodeType": "ExpressionStatement", - "src": "15815:69:0" + "src": "15960:69:0" }, { "expression": { @@ -27757,7 +27757,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 731, - "src": "15903:16:0", + "src": "16048:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27777,7 +27777,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 719, - "src": "15943:7:0", + "src": "16088:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" @@ -27791,7 +27791,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 824, - "src": "15951:1:0", + "src": "16096:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27802,7 +27802,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15943:10:0", + "src": "16088:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27823,7 +27823,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 731, - "src": "15922:16:0", + "src": "16067:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27837,7 +27837,7 @@ "memberName": "add", "nodeType": "MemberAccess", "referencedDeclaration": 1361, - "src": "15922:20:0", + "src": "16067:20:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" @@ -27851,13 +27851,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15922:32:0", + "src": "16067:32:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "15903:51:0", + "src": "16048:51:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27865,7 +27865,7 @@ }, "id": 872, "nodeType": "ExpressionStatement", - "src": "15903:51:0" + "src": "16048:51:0" }, { "expression": { @@ -27886,7 +27886,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 725, - "src": "15972:1:0", + "src": "16117:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" @@ -27900,7 +27900,7 @@ "memberName": "beneficiaries", "nodeType": "MemberAccess", "referencedDeclaration": 70, - "src": "15972:15:0", + "src": "16117:15:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -27916,7 +27916,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 716, - "src": "15988:12:0", + "src": "16133:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -27930,7 +27930,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 824, - "src": "16001:1:0", + "src": "16146:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27941,7 +27941,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15988:15:0", + "src": "16133:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -27952,7 +27952,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "15972:32:0", + "src": "16117:32:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -27970,7 +27970,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "16007:4:0", + "src": "16152:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -27978,7 +27978,7 @@ }, "value": "true" }, - "src": "15972:39:0", + "src": "16117:39:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -27986,7 +27986,7 @@ }, "id": 882, "nodeType": "ExpressionStatement", - "src": "15972:39:0" + "src": "16117:39:0" }, { "expression": { @@ -28004,7 +28004,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 716, - "src": "16082:12:0", + "src": "16227:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -28018,7 +28018,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 824, - "src": "16095:1:0", + "src": "16240:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28029,7 +28029,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "16082:15:0", + "src": "16227:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -28044,7 +28044,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 719, - "src": "16099:7:0", + "src": "16244:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" @@ -28058,7 +28058,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 824, - "src": "16107:1:0", + "src": "16252:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28069,7 +28069,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "16099:10:0", + "src": "16244:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28094,7 +28094,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 817, - "src": "16067:5:0", + "src": "16212:5:0", "typeDescriptions": { "typeIdentifier": "t_contract$_ITokenContract_$1254", "typeString": "contract ITokenContract" @@ -28108,7 +28108,7 @@ "memberName": "transfer", "nodeType": "MemberAccess", "referencedDeclaration": 1242, - "src": "16067:14:0", + "src": "16212:14:0", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", "typeString": "function (address,uint256) external returns (bool)" @@ -28122,7 +28122,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16067:43:0", + "src": "16212:43:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -28138,7 +28138,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "16112:24:0", + "src": "16257:24:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_e545223bb79d8456d66fa5a98897abb42bb4807111f004a120200da3b7e292c5", @@ -28166,7 +28166,7 @@ 1401 ], "referencedDeclaration": 1401, - "src": "16059:7:0", + "src": "16204:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -28180,7 +28180,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16059:78:0", + "src": "16204:78:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -28188,7 +28188,7 @@ }, "id": 895, "nodeType": "ExpressionStatement", - "src": "16059:78:0" + "src": "16204:78:0" } ] }, @@ -28210,7 +28210,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 824, - "src": "15555:1:0", + "src": "15700:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28227,7 +28227,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 716, - "src": "15557:12:0", + "src": "15702:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -28241,13 +28241,13 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "15557:19:0", + "src": "15702:19:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "15555:21:0", + "src": "15700:21:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -28265,7 +28265,7 @@ "name": "j", "nodeType": "VariableDeclaration", "scope": 904, - "src": "15540:9:0", + "src": "15685:9:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -28276,7 +28276,7 @@ "id": 823, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "15540:7:0", + "src": "15685:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28297,7 +28297,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "15552:1:0", + "src": "15697:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -28306,7 +28306,7 @@ "value": "0" }, "nodeType": "VariableDeclarationStatement", - "src": "15540:13:0" + "src": "15685:13:0" }, "loopExpression": { "expression": { @@ -28319,7 +28319,7 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "15578:3:0", + "src": "15723:3:0", "subExpression": { "argumentTypes": null, "id": 831, @@ -28327,7 +28327,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 824, - "src": "15578:1:0", + "src": "15723:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28340,27 +28340,27 @@ }, "id": 833, "nodeType": "ExpressionStatement", - "src": "15578:3:0" + "src": "15723:3:0" }, "nodeType": "ForStatement", - "src": "15535:617:0" + "src": "15680:617:0" } ] } }, "id": 900, "nodeType": "IfStatement", - "src": "14748:1414:0", + "src": "14893:1414:0", "trueBody": { "id": 810, "nodeType": "Block", - "src": "14796:602:0", + "src": "14941:602:0", "statements": [ { "body": { "id": 808, "nodeType": "Block", - "src": "14860:527:0", + "src": "15005:527:0", "statements": [ { "expression": { @@ -28386,7 +28386,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 716, - "src": "14887:12:0", + "src": "15032:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -28400,7 +28400,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 740, - "src": "14900:1:0", + "src": "15045:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28411,7 +28411,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "14887:15:0", + "src": "15032:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -28432,7 +28432,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "14914:1:0", + "src": "15059:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -28454,7 +28454,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "14906:7:0", + "src": "15051:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" @@ -28469,13 +28469,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "14906:10:0", + "src": "15051:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "14887:29:0", + "src": "15032:29:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -28491,7 +28491,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "14918:52:0", + "src": "15063:52:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_587fbb5a9b8e6d4cc482f236066ac51bcf007ae6026eab186437d2f1b22fc139", @@ -28519,7 +28519,7 @@ 1401 ], "referencedDeclaration": 1401, - "src": "14879:7:0", + "src": "15024:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -28533,7 +28533,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "14879:92:0", + "src": "15024:92:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -28541,7 +28541,7 @@ }, "id": 760, "nodeType": "ExpressionStatement", - "src": "14879:92:0" + "src": "15024:92:0" }, { "expression": { @@ -28558,7 +28558,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 725, - "src": "14998:1:0", + "src": "15143:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" @@ -28572,7 +28572,7 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "14998:9:0", + "src": "15143:9:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -28588,7 +28588,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 716, - "src": "15008:12:0", + "src": "15153:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -28602,7 +28602,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 740, - "src": "15021:1:0", + "src": "15166:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28613,7 +28613,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15008:15:0", + "src": "15153:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -28624,7 +28624,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "14998:26:0", + "src": "15143:26:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -28640,7 +28640,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "15026:46:0", + "src": "15171:46:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_5ccbe9d117aeeb4b3546dfe6a12f083cb37039367b3ec38b60873b8650bc846f", @@ -28668,7 +28668,7 @@ 1401 ], "referencedDeclaration": 1401, - "src": "14990:7:0", + "src": "15135:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -28682,7 +28682,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "14990:83:0", + "src": "15135:83:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -28690,7 +28690,7 @@ }, "id": 770, "nodeType": "ExpressionStatement", - "src": "14990:83:0" + "src": "15135:83:0" }, { "expression": { @@ -28716,7 +28716,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 719, - "src": "15100:7:0", + "src": "15245:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" @@ -28730,7 +28730,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 740, - "src": "15108:1:0", + "src": "15253:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28741,7 +28741,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15100:10:0", + "src": "15245:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28759,7 +28759,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "15113:1:0", + "src": "15258:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -28767,7 +28767,7 @@ }, "value": "0" }, - "src": "15100:14:0", + "src": "15245:14:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -28783,7 +28783,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "15116:44:0", + "src": "15261:44:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_5e1271a09dbb64ae031de288deb0ad8d707df7db51d6e827931dc8fa6642a71e", @@ -28811,7 +28811,7 @@ 1401 ], "referencedDeclaration": 1401, - "src": "15092:7:0", + "src": "15237:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -28825,7 +28825,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15092:69:0", + "src": "15237:69:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -28833,7 +28833,7 @@ }, "id": 779, "nodeType": "ExpressionStatement", - "src": "15092:69:0" + "src": "15237:69:0" }, { "expression": { @@ -28850,7 +28850,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 731, - "src": "15180:16:0", + "src": "15325:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28870,7 +28870,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 719, - "src": "15220:7:0", + "src": "15365:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" @@ -28884,7 +28884,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 740, - "src": "15228:1:0", + "src": "15373:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28895,7 +28895,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15220:10:0", + "src": "15365:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28916,7 +28916,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 731, - "src": "15199:16:0", + "src": "15344:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28930,7 +28930,7 @@ "memberName": "add", "nodeType": "MemberAccess", "referencedDeclaration": 1361, - "src": "15199:20:0", + "src": "15344:20:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" @@ -28944,13 +28944,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15199:32:0", + "src": "15344:32:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "15180:51:0", + "src": "15325:51:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28958,7 +28958,7 @@ }, "id": 788, "nodeType": "ExpressionStatement", - "src": "15180:51:0" + "src": "15325:51:0" }, { "expression": { @@ -28979,7 +28979,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 725, - "src": "15250:1:0", + "src": "15395:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" @@ -28993,7 +28993,7 @@ "memberName": "beneficiaries", "nodeType": "MemberAccess", "referencedDeclaration": 70, - "src": "15250:15:0", + "src": "15395:15:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -29009,7 +29009,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 716, - "src": "15266:12:0", + "src": "15411:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -29023,7 +29023,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 740, - "src": "15279:1:0", + "src": "15424:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29034,7 +29034,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15266:15:0", + "src": "15411:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -29045,7 +29045,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "15250:32:0", + "src": "15395:32:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -29063,7 +29063,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "15285:4:0", + "src": "15430:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -29071,7 +29071,7 @@ }, "value": "true" }, - "src": "15250:39:0", + "src": "15395:39:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -29079,7 +29079,7 @@ }, "id": 798, "nodeType": "ExpressionStatement", - "src": "15250:39:0" + "src": "15395:39:0" }, { "expression": { @@ -29094,7 +29094,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 719, - "src": "15361:7:0", + "src": "15506:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" @@ -29108,7 +29108,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 740, - "src": "15369:1:0", + "src": "15514:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29119,7 +29119,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15361:10:0", + "src": "15506:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29142,7 +29142,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 716, - "src": "15336:12:0", + "src": "15481:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -29156,7 +29156,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 740, - "src": "15349:1:0", + "src": "15494:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29167,7 +29167,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15336:15:0", + "src": "15481:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -29181,7 +29181,7 @@ "memberName": "transfer", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "15336:24:0", + "src": "15481:24:0", "typeDescriptions": { "typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$", "typeString": "function (uint256)" @@ -29195,7 +29195,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15336:36:0", + "src": "15481:36:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -29203,7 +29203,7 @@ }, "id": 807, "nodeType": "ExpressionStatement", - "src": "15336:36:0" + "src": "15481:36:0" } ] }, @@ -29225,7 +29225,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 740, - "src": "14830:1:0", + "src": "14975:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29242,7 +29242,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 716, - "src": "14834:12:0", + "src": "14979:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -29256,13 +29256,13 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "14834:19:0", + "src": "14979:19:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "14830:23:0", + "src": "14975:23:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -29280,7 +29280,7 @@ "name": "i", "nodeType": "VariableDeclaration", "scope": 904, - "src": "14815:9:0", + "src": "14960:9:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -29291,7 +29291,7 @@ "id": 739, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "14815:7:0", + "src": "14960:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29312,7 +29312,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "14827:1:0", + "src": "14972:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -29321,7 +29321,7 @@ "value": "0" }, "nodeType": "VariableDeclarationStatement", - "src": "14815:13:0" + "src": "14960:13:0" }, "loopExpression": { "expression": { @@ -29334,7 +29334,7 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "14855:3:0", + "src": "15000:3:0", "subExpression": { "argumentTypes": null, "id": 747, @@ -29342,7 +29342,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 740, - "src": "14855:1:0", + "src": "15000:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29355,10 +29355,10 @@ }, "id": 749, "nodeType": "ExpressionStatement", - "src": "14855:3:0" + "src": "15000:3:0" }, "nodeType": "ForStatement", - "src": "14810:577:0" + "src": "14955:577:0" } ] } @@ -29371,7 +29371,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 731, - "src": "16179:16:0", + "src": "16324:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29380,7 +29380,7 @@ "functionReturnParameters": 723, "id": 902, "nodeType": "Return", - "src": "16172:23:0" + "src": "16317:23:0" } ] }, @@ -29402,7 +29402,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 904, - "src": "14512:18:0", + "src": "14657:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -29413,7 +29413,7 @@ "id": 712, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "14512:7:0", + "src": "14657:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -29428,7 +29428,7 @@ "name": "destinations", "nodeType": "VariableDeclaration", "scope": 904, - "src": "14540:21:0", + "src": "14685:21:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -29440,7 +29440,7 @@ "id": 714, "name": "address", "nodeType": "ElementaryTypeName", - "src": "14540:7:0", + "src": "14685:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -29449,7 +29449,7 @@ "id": 715, "length": null, "nodeType": "ArrayTypeName", - "src": "14540:9:0", + "src": "14685:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", "typeString": "address[]" @@ -29464,7 +29464,7 @@ "name": "amounts", "nodeType": "VariableDeclaration", "scope": 904, - "src": "14571:16:0", + "src": "14716:16:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -29476,7 +29476,7 @@ "id": 717, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "14571:7:0", + "src": "14716:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29485,7 +29485,7 @@ "id": 718, "length": null, "nodeType": "ArrayTypeName", - "src": "14571:9:0", + "src": "14716:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -29495,7 +29495,7 @@ "visibility": "internal" } ], - "src": "14502:91:0" + "src": "14647:91:0" }, "payable": false, "returnParameters": { @@ -29508,7 +29508,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 904, - "src": "14627:7:0", + "src": "14772:7:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -29519,7 +29519,7 @@ "id": 721, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "14627:7:0", + "src": "14772:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29529,10 +29529,10 @@ "visibility": "internal" } ], - "src": "14626:9:0" + "src": "14771:9:0" }, "scope": 1224, - "src": "14479:1723:0", + "src": "14624:1723:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "private" @@ -29541,7 +29541,7 @@ "body": { "id": 1034, "nodeType": "Block", - "src": "16622:1346:0", + "src": "16767:1346:0", "statements": [ { "expression": { @@ -29578,7 +29578,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 910, - "src": "16654:4:0", + "src": "16799:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" @@ -29592,7 +29592,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "16654:11:0", + "src": "16799:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29609,7 +29609,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 913, - "src": "16669:4:0", + "src": "16814:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" @@ -29623,13 +29623,13 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "16669:11:0", + "src": "16814:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "16654:26:0", + "src": "16799:26:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -29657,7 +29657,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 910, - "src": "16684:4:0", + "src": "16829:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" @@ -29671,7 +29671,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "16684:11:0", + "src": "16829:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29688,7 +29688,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 907, - "src": "16699:4:0", + "src": "16844:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr", "typeString": "uint8[] memory" @@ -29702,19 +29702,19 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "16699:11:0", + "src": "16844:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "16684:26:0", + "src": "16829:26:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "16654:56:0", + "src": "16799:56:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -29730,7 +29730,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "16725:24:0", + "src": "16870:24:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_f85073c8befb65baed58ca1ee563e5da0bdbdce8abd4d29ef22a8329c7c97506", @@ -29758,7 +29758,7 @@ 1401 ], "referencedDeclaration": 1401, - "src": "16633:7:0", + "src": "16778:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -29772,7 +29772,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16633:126:0", + "src": "16778:126:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -29780,7 +29780,7 @@ }, "id": 940, "nodeType": "ExpressionStatement", - "src": "16633:126:0" + "src": "16778:126:0" }, { "assignments": [], @@ -29791,7 +29791,7 @@ "name": "lastAddress", "nodeType": "VariableDeclaration", "scope": 1035, - "src": "16770:19:0", + "src": "16915:19:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -29802,7 +29802,7 @@ "id": 941, "name": "address", "nodeType": "ElementaryTypeName", - "src": "16770:7:0", + "src": "16915:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -29815,7 +29815,7 @@ "id": 943, "initialValue": null, "nodeType": "VariableDeclarationStatement", - "src": "16770:19:0" + "src": "16915:19:0" }, { "assignments": [ @@ -29828,7 +29828,7 @@ "name": "txHash", "nodeType": "VariableDeclaration", "scope": 1035, - "src": "16888:14:0", + "src": "17033:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -29839,7 +29839,7 @@ "id": 944, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "16888:7:0", + "src": "17033:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -29866,7 +29866,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "16962:34:0", + "src": "17107:34:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_178a2411ab6fbc1ba11064408972259c558d0e82fd48b0aba3ad81d14f065e73", @@ -29893,7 +29893,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "17092:4:0", + "src": "17237:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_25_by_1", @@ -29915,7 +29915,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "17087:4:0", + "src": "17232:4:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes1_$", "typeString": "type(bytes1)" @@ -29930,7 +29930,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17087:10:0", + "src": "17232:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes1", "typeString": "bytes1" @@ -29949,7 +29949,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "17128:1:0", + "src": "17273:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -29971,7 +29971,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "17123:4:0", + "src": "17268:4:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes1_$", "typeString": "type(bytes1)" @@ -29986,7 +29986,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17123:7:0", + "src": "17268:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes1", "typeString": "bytes1" @@ -30002,7 +30002,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1414, - "src": "17164:4:0", + "src": "17309:4:0", "typeDescriptions": { "typeIdentifier": "t_contract$_Escrow_v1_0_$1224", "typeString": "contract Escrow_v1_0" @@ -30022,7 +30022,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "17156:7:0", + "src": "17301:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" @@ -30037,7 +30037,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17156:13:0", + "src": "17301:13:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -30050,7 +30050,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 918, - "src": "17195:12:0", + "src": "17340:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -30063,7 +30063,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 921, - "src": "17233:7:0", + "src": "17378:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" @@ -30076,7 +30076,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 915, - "src": "17266:10:0", + "src": "17411:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -30117,7 +30117,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1384, - "src": "17045:3:0", + "src": "17190:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" @@ -30131,7 +30131,7 @@ "memberName": "encodePacked", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "17045:16:0", + "src": "17190:16:0", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" @@ -30145,7 +30145,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17045:253:0", + "src": "17190:253:0", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -30164,7 +30164,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1391, - "src": "17014:9:0", + "src": "17159:9:0", "typeDescriptions": { "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", "typeString": "function () pure returns (bytes32)" @@ -30178,7 +30178,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17014:302:0", + "src": "17159:302:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -30203,7 +30203,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1384, - "src": "16928:3:0", + "src": "17073:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" @@ -30217,7 +30217,7 @@ "memberName": "encodePacked", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "16928:16:0", + "src": "17073:16:0", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" @@ -30231,7 +30231,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16928:402:0", + "src": "17073:402:0", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -30250,7 +30250,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1391, - "src": "16905:9:0", + "src": "17050:9:0", "typeDescriptions": { "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", "typeString": "function () pure returns (bytes32)" @@ -30264,20 +30264,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16905:435:0", + "src": "17050:435:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "nodeType": "VariableDeclarationStatement", - "src": "16888:452:0" + "src": "17033:452:0" }, { "body": { "id": 1030, "nodeType": "Block", - "src": "17390:543:0", + "src": "17535:543:0", "statements": [ { "assignments": [ @@ -30290,7 +30290,7 @@ "name": "recovered", "nodeType": "VariableDeclaration", "scope": 1035, - "src": "17405:17:0", + "src": "17550:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -30301,7 +30301,7 @@ "id": 981, "name": "address", "nodeType": "ElementaryTypeName", - "src": "17405:7:0", + "src": "17550:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -30322,7 +30322,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 945, - "src": "17452:6:0", + "src": "17597:6:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -30337,7 +30337,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 907, - "src": "17476:4:0", + "src": "17621:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr", "typeString": "uint8[] memory" @@ -30351,7 +30351,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 971, - "src": "17481:1:0", + "src": "17626:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -30362,7 +30362,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17476:7:0", + "src": "17621:7:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -30377,7 +30377,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 910, - "src": "17501:4:0", + "src": "17646:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" @@ -30391,7 +30391,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 971, - "src": "17506:1:0", + "src": "17651:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -30402,7 +30402,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17501:7:0", + "src": "17646:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -30417,7 +30417,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 913, - "src": "17526:4:0", + "src": "17671:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" @@ -30431,7 +30431,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 971, - "src": "17531:1:0", + "src": "17676:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -30442,7 +30442,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17526:7:0", + "src": "17671:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -30473,7 +30473,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1389, - "src": "17425:9:0", + "src": "17570:9:0", "typeDescriptions": { "typeIdentifier": "t_function_ecrecover_pure$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$_t_address_$", "typeString": "function (bytes32,uint8,bytes32,bytes32) pure returns (address)" @@ -30487,14 +30487,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17425:122:0", + "src": "17570:122:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "VariableDeclarationStatement", - "src": "17405:142:0" + "src": "17550:142:0" }, { "expression": { @@ -30513,7 +30513,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "17587:12:0", + "src": "17732:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -30527,7 +30527,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 915, - "src": "17600:10:0", + "src": "17745:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -30538,7 +30538,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17587:24:0", + "src": "17732:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -30552,7 +30552,7 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "17587:32:0", + "src": "17732:32:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -30566,7 +30566,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 982, - "src": "17620:9:0", + "src": "17765:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -30577,7 +30577,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17587:43:0", + "src": "17732:43:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -30593,7 +30593,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "17649:19:0", + "src": "17794:19:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_4f2d7dfcb27c0aafa13ae8c400de482c7832204d194018b6e45bd2bf244c74e7", @@ -30621,7 +30621,7 @@ 1401 ], "referencedDeclaration": 1401, - "src": "17562:7:0", + "src": "17707:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -30635,7 +30635,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17562:120:0", + "src": "17707:120:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -30643,7 +30643,7 @@ }, "id": 1005, "nodeType": "ExpressionStatement", - "src": "17562:120:0" + "src": "17707:120:0" }, { "expression": { @@ -30659,7 +30659,7 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "17721:42:0", + "src": "17866:42:0", "subExpression": { "argumentTypes": null, "baseExpression": { @@ -30673,7 +30673,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "17722:12:0", + "src": "17867:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -30687,7 +30687,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 915, - "src": "17735:10:0", + "src": "17880:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -30698,7 +30698,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17722:24:0", + "src": "17867:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -30712,7 +30712,7 @@ "memberName": "voted", "nodeType": "MemberAccess", "referencedDeclaration": 66, - "src": "17722:30:0", + "src": "17867:30:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -30726,7 +30726,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 982, - "src": "17753:9:0", + "src": "17898:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -30737,7 +30737,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17722:41:0", + "src": "17867:41:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -30758,7 +30758,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "17782:27:0", + "src": "17927:27:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_fb2c7e49d5ec7ce36fa812cf15ee7fa946942f931d04fe3ae970516007b2a543", @@ -30786,7 +30786,7 @@ 1401 ], "referencedDeclaration": 1401, - "src": "17696:7:0", + "src": "17841:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -30800,7 +30800,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17696:127:0", + "src": "17841:127:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -30808,7 +30808,7 @@ }, "id": 1016, "nodeType": "ExpressionStatement", - "src": "17696:127:0" + "src": "17841:127:0" }, { "expression": { @@ -30831,7 +30831,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "17837:12:0", + "src": "17982:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -30845,7 +30845,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 915, - "src": "17850:10:0", + "src": "17995:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -30856,7 +30856,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17837:24:0", + "src": "17982:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -30870,7 +30870,7 @@ "memberName": "voted", "nodeType": "MemberAccess", "referencedDeclaration": 66, - "src": "17837:30:0", + "src": "17982:30:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -30884,7 +30884,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 982, - "src": "17868:9:0", + "src": "18013:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -30895,7 +30895,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "17837:41:0", + "src": "17982:41:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -30913,7 +30913,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "17881:4:0", + "src": "18026:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -30921,7 +30921,7 @@ }, "value": "true" }, - "src": "17837:48:0", + "src": "17982:48:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -30929,7 +30929,7 @@ }, "id": 1025, "nodeType": "ExpressionStatement", - "src": "17837:48:0" + "src": "17982:48:0" }, { "expression": { @@ -30946,7 +30946,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 942, - "src": "17899:11:0", + "src": "18044:11:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -30961,13 +30961,13 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 982, - "src": "17913:9:0", + "src": "18058:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "17899:23:0", + "src": "18044:23:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -30975,7 +30975,7 @@ }, "id": 1029, "nodeType": "ExpressionStatement", - "src": "17899:23:0" + "src": "18044:23:0" } ] }, @@ -30997,7 +30997,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 971, - "src": "17368:1:0", + "src": "17513:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -31014,7 +31014,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 910, - "src": "17372:4:0", + "src": "17517:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" @@ -31028,13 +31028,13 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "17372:11:0", + "src": "17517:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "17368:15:0", + "src": "17513:15:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -31052,7 +31052,7 @@ "name": "i", "nodeType": "VariableDeclaration", "scope": 1035, - "src": "17356:6:0", + "src": "17501:6:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -31063,7 +31063,7 @@ "id": 970, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "17356:4:0", + "src": "17501:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -31084,7 +31084,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "17365:1:0", + "src": "17510:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -31093,7 +31093,7 @@ "value": "0" }, "nodeType": "VariableDeclarationStatement", - "src": "17356:10:0" + "src": "17501:10:0" }, "loopExpression": { "expression": { @@ -31106,7 +31106,7 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "17385:3:0", + "src": "17530:3:0", "subExpression": { "argumentTypes": null, "id": 978, @@ -31114,7 +31114,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 971, - "src": "17385:1:0", + "src": "17530:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -31127,10 +31127,10 @@ }, "id": 980, "nodeType": "ExpressionStatement", - "src": "17385:3:0" + "src": "17530:3:0" }, "nodeType": "ForStatement", - "src": "17351:582:0" + "src": "17496:582:0" }, { "expression": { @@ -31140,7 +31140,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 942, - "src": "17950:11:0", + "src": "18095:11:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -31149,7 +31149,7 @@ "functionReturnParameters": 925, "id": 1033, "nodeType": "Return", - "src": "17943:18:0" + "src": "18088:18:0" } ] }, @@ -31171,7 +31171,7 @@ "name": "sigV", "nodeType": "VariableDeclaration", "scope": 1035, - "src": "16423:12:0", + "src": "16568:12:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -31183,7 +31183,7 @@ "id": 905, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "16423:5:0", + "src": "16568:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -31192,7 +31192,7 @@ "id": 906, "length": null, "nodeType": "ArrayTypeName", - "src": "16423:7:0", + "src": "16568:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_storage_ptr", "typeString": "uint8[]" @@ -31207,7 +31207,7 @@ "name": "sigR", "nodeType": "VariableDeclaration", "scope": 1035, - "src": "16445:14:0", + "src": "16590:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -31219,7 +31219,7 @@ "id": 908, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "16445:7:0", + "src": "16590:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -31228,7 +31228,7 @@ "id": 909, "length": null, "nodeType": "ArrayTypeName", - "src": "16445:9:0", + "src": "16590:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -31243,7 +31243,7 @@ "name": "sigS", "nodeType": "VariableDeclaration", "scope": 1035, - "src": "16469:14:0", + "src": "16614:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -31255,7 +31255,7 @@ "id": 911, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "16469:7:0", + "src": "16614:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -31264,7 +31264,7 @@ "id": 912, "length": null, "nodeType": "ArrayTypeName", - "src": "16469:9:0", + "src": "16614:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -31279,7 +31279,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 1035, - "src": "16493:18:0", + "src": "16638:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -31290,7 +31290,7 @@ "id": 914, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "16493:7:0", + "src": "16638:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -31305,7 +31305,7 @@ "name": "destinations", "nodeType": "VariableDeclaration", "scope": 1035, - "src": "16521:22:0", + "src": "16666:22:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -31317,7 +31317,7 @@ "id": 916, "name": "address", "nodeType": "ElementaryTypeName", - "src": "16521:7:0", + "src": "16666:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -31326,7 +31326,7 @@ "id": 917, "length": null, "nodeType": "ArrayTypeName", - "src": "16521:9:0", + "src": "16666:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", "typeString": "address[]" @@ -31341,7 +31341,7 @@ "name": "amounts", "nodeType": "VariableDeclaration", "scope": 1035, - "src": "16553:16:0", + "src": "16698:16:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -31353,7 +31353,7 @@ "id": 919, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "16553:7:0", + "src": "16698:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -31362,7 +31362,7 @@ "id": 920, "length": null, "nodeType": "ArrayTypeName", - "src": "16553:9:0", + "src": "16698:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -31372,7 +31372,7 @@ "visibility": "internal" } ], - "src": "16413:162:0" + "src": "16558:162:0" }, "payable": false, "returnParameters": { @@ -31385,7 +31385,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 1035, - "src": "16609:7:0", + "src": "16754:7:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -31396,7 +31396,7 @@ "id": 923, "name": "address", "nodeType": "ElementaryTypeName", - "src": "16609:7:0", + "src": "16754:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -31406,10 +31406,10 @@ "visibility": "internal" } ], - "src": "16608:9:0" + "src": "16753:9:0" }, "scope": 1224, - "src": "16387:1581:0", + "src": "16532:1581:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "private" @@ -31418,7 +31418,7 @@ "body": { "id": 1066, "nodeType": "Block", - "src": "18123:168:0", + "src": "18268:168:0", "statements": [ { "assignments": [ @@ -31431,7 +31431,7 @@ "name": "timeSince", "nodeType": "VariableDeclaration", "scope": 1067, - "src": "18133:17:0", + "src": "18278:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -31442,7 +31442,7 @@ "id": 1044, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "18133:7:0", + "src": "18278:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -31463,7 +31463,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1039, - "src": "18161:12:0", + "src": "18306:12:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -31484,7 +31484,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1399, - "src": "18153:3:0", + "src": "18298:3:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -31498,7 +31498,7 @@ "memberName": "sub", "nodeType": "MemberAccess", "referencedDeclaration": 1337, - "src": "18153:7:0", + "src": "18298:7:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" @@ -31512,14 +31512,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18153:21:0", + "src": "18298:21:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "18133:41:0" + "src": "18278:41:0" }, { "expression": { @@ -31545,7 +31545,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1037, - "src": "18205:12:0", + "src": "18350:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -31563,7 +31563,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "18221:1:0", + "src": "18366:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -31571,7 +31571,7 @@ }, "value": "0" }, - "src": "18205:17:0", + "src": "18350:17:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -31595,7 +31595,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1045, - "src": "18231:9:0", + "src": "18376:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -31616,7 +31616,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "18269:4:0", + "src": "18414:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_3600_by_1", @@ -31642,7 +31642,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1037, - "src": "18251:12:0", + "src": "18396:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -31662,7 +31662,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "18243:7:0", + "src": "18388:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint256_$", "typeString": "type(uint256)" @@ -31677,7 +31677,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18243:21:0", + "src": "18388:21:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -31691,7 +31691,7 @@ "memberName": "mul", "nodeType": "MemberAccess", "referencedDeclaration": 1289, - "src": "18243:25:0", + "src": "18388:25:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" @@ -31705,13 +31705,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18243:31:0", + "src": "18388:31:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "18231:43:0", + "src": "18376:43:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -31723,7 +31723,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "Conditional", - "src": "18205:69:0", + "src": "18350:69:0", "trueExpression": { "argumentTypes": null, "hexValue": "66616c7365", @@ -31734,7 +31734,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "18225:5:0", + "src": "18370:5:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -31755,7 +31755,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "18191:93:0", + "src": "18336:93:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -31764,7 +31764,7 @@ "functionReturnParameters": 1043, "id": 1065, "nodeType": "Return", - "src": "18184:100:0" + "src": "18329:100:0" } ] }, @@ -31786,7 +31786,7 @@ "name": "timeoutHours", "nodeType": "VariableDeclaration", "scope": 1067, - "src": "18011:19:0", + "src": "18156:19:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -31797,7 +31797,7 @@ "id": 1036, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "18011:6:0", + "src": "18156:6:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -31812,7 +31812,7 @@ "name": "lastModified", "nodeType": "VariableDeclaration", "scope": 1067, - "src": "18040:20:0", + "src": "18185:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -31823,7 +31823,7 @@ "id": 1038, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "18040:7:0", + "src": "18185:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -31833,7 +31833,7 @@ "visibility": "internal" } ], - "src": "18001:65:0" + "src": "18146:65:0" }, "payable": false, "returnParameters": { @@ -31846,7 +31846,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 1067, - "src": "18113:4:0", + "src": "18258:4:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -31857,7 +31857,7 @@ "id": 1041, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "18113:4:0", + "src": "18258:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -31867,10 +31867,10 @@ "visibility": "internal" } ], - "src": "18112:6:0" + "src": "18257:6:0" }, "scope": 1224, - "src": "17974:317:0", + "src": "18119:317:0", "stateMutability": "view", "superFunction": null, "visibility": "private" @@ -31879,7 +31879,7 @@ "body": { "id": 1222, "nodeType": "Block", - "src": "18705:2314:0", + "src": "18850:2314:0", "statements": [ { "expression": { @@ -31903,7 +31903,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1069, - "src": "18731:5:0", + "src": "18876:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -31918,13 +31918,13 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1071, - "src": "18740:6:0", + "src": "18885:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "18731:15:0", + "src": "18876:15:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -31940,7 +31940,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "18748:27:0", + "src": "18893:27:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_6141441751234d42e9a73d96317794195c7ff57b8f16ac15725a10f10763f824", @@ -31968,7 +31968,7 @@ 1401 ], "referencedDeclaration": 1401, - "src": "18723:7:0", + "src": "18868:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -31982,7 +31982,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18723:53:0", + "src": "18868:53:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -31990,7 +31990,7 @@ }, "id": 1096, "nodeType": "ExpressionStatement", - "src": "18723:53:0" + "src": "18868:53:0" }, { "expression": { @@ -32014,7 +32014,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1081, - "src": "18843:5:0", + "src": "18988:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -32032,7 +32032,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "18851:1:0", + "src": "18996:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -32040,7 +32040,7 @@ }, "value": "0" }, - "src": "18843:9:0", + "src": "18988:9:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -32056,7 +32056,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "18854:19:0", + "src": "18999:19:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_3686f87c4804517ea83323ccf1a3b5b5ff52ed144b19e6fc56abe8fcd182e747", @@ -32084,7 +32084,7 @@ 1401 ], "referencedDeclaration": 1401, - "src": "18835:7:0", + "src": "18980:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -32098,7 +32098,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18835:39:0", + "src": "18980:39:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -32106,7 +32106,7 @@ }, "id": 1103, "nodeType": "ExpressionStatement", - "src": "18835:39:0" + "src": "18980:39:0" }, { "expression": { @@ -32141,7 +32141,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1075, - "src": "18977:9:0", + "src": "19122:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -32159,7 +32159,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "18989:1:0", + "src": "19134:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -32167,7 +32167,7 @@ }, "value": "0" }, - "src": "18977:13:0", + "src": "19122:13:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -32193,7 +32193,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1075, - "src": "18994:9:0", + "src": "19139:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -32211,7 +32211,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "19007:1:0", + "src": "19152:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_3_by_1", @@ -32219,13 +32219,13 @@ }, "value": "3" }, - "src": "18994:14:0", + "src": "19139:14:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "18977:31:0", + "src": "19122:31:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -32241,7 +32241,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "19023:63:0", + "src": "19168:63:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_351c1d5dfdc4a2b4c61d6f4dbb41a0d2ae70a9c094d3c0add87af24b5dd19c13", @@ -32269,7 +32269,7 @@ 1401 ], "referencedDeclaration": 1401, - "src": "18956:7:0", + "src": "19101:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -32283,7 +32283,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18956:140:0", + "src": "19101:140:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -32291,7 +32291,7 @@ }, "id": 1114, "nodeType": "ExpressionStatement", - "src": "18956:140:0" + "src": "19101:140:0" }, { "expression": { @@ -32326,7 +32326,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1075, - "src": "19377:9:0", + "src": "19522:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -32344,7 +32344,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "19390:1:0", + "src": "19535:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -32352,7 +32352,7 @@ }, "value": "1" }, - "src": "19377:14:0", + "src": "19522:14:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -32378,7 +32378,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1073, - "src": "19395:9:0", + "src": "19540:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -32399,7 +32399,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "19416:1:0", + "src": "19561:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -32421,7 +32421,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "19408:7:0", + "src": "19553:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" @@ -32436,19 +32436,19 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "19408:10:0", + "src": "19553:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "19395:23:0", + "src": "19540:23:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "19377:41:0", + "src": "19522:41:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -32464,7 +32464,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "19432:74:0", + "src": "19577:74:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_2056db168725d2fabb8aaf14efad7a3fc12ef6bc7132f0596ea09b041b71cb25", @@ -32492,7 +32492,7 @@ 1401 ], "referencedDeclaration": 1401, - "src": "19356:7:0", + "src": "19501:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -32506,7 +32506,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "19356:160:0", + "src": "19501:160:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -32514,7 +32514,7 @@ }, "id": 1127, "nodeType": "ExpressionStatement", - "src": "19356:160:0" + "src": "19501:160:0" }, { "expression": { @@ -32538,7 +32538,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1079, - "src": "19548:10:0", + "src": "19693:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -32556,7 +32556,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1083, - "src": "19605:8:0", + "src": "19750:8:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -32569,7 +32569,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1075, - "src": "19631:9:0", + "src": "19776:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -32582,7 +32582,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1077, - "src": "19658:12:0", + "src": "19803:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -32595,7 +32595,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1069, - "src": "19688:5:0", + "src": "19833:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -32608,7 +32608,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1071, - "src": "19711:6:0", + "src": "19856:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -32621,7 +32621,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1073, - "src": "19735:9:0", + "src": "19880:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -32634,7 +32634,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1087, - "src": "19762:12:0", + "src": "19907:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -32677,7 +32677,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 642, - "src": "19562:25:0", + "src": "19707:25:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_bytes20_$_t_uint8_$_t_uint32_$_t_address_$_t_address_$_t_address_$_t_address_$returns$_t_bytes32_$", "typeString": "function (bytes20,uint8,uint32,address,address,address,address) view returns (bytes32)" @@ -32691,13 +32691,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "19562:226:0", + "src": "19707:226:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "src": "19548:240:0", + "src": "19693:240:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -32713,7 +32713,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "19803:59:0", + "src": "19948:59:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_0c041e0c58e6b0e01d338d852a5abb639065eabeb0aee05e0ce3e5f0e52b4f51", @@ -32741,7 +32741,7 @@ 1401 ], "referencedDeclaration": 1401, - "src": "19527:7:0", + "src": "19672:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -32755,7 +32755,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "19527:345:0", + "src": "19672:345:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -32763,7 +32763,7 @@ }, "id": 1142, "nodeType": "ExpressionStatement", - "src": "19527:345:0" + "src": "19672:345:0" }, { "expression": { @@ -32782,7 +32782,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "19883:12:0", + "src": "20028:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -32796,7 +32796,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1079, - "src": "19896:10:0", + "src": "20041:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -32807,7 +32807,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "19883:24:0", + "src": "20028:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -32825,7 +32825,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1069, - "src": "19943:5:0", + "src": "20088:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -32838,7 +32838,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1071, - "src": "19970:6:0", + "src": "20115:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -32851,7 +32851,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1073, - "src": "20001:9:0", + "src": "20146:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -32864,7 +32864,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1081, - "src": "20031:5:0", + "src": "20176:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -32879,7 +32879,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9, - "src": "20058:6:0", + "src": "20203:6:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_Status_$9_$", "typeString": "type(enum Escrow_v1_0.Status)" @@ -32893,7 +32893,7 @@ "memberName": "FUNDED", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "20058:13:0", + "src": "20203:13:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$9", "typeString": "enum Escrow_v1_0.Status" @@ -32908,7 +32908,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1387, - "src": "20099:5:0", + "src": "20244:5:0", "typeDescriptions": { "typeIdentifier": "t_magic_block", "typeString": "block" @@ -32922,7 +32922,7 @@ "memberName": "timestamp", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "20099:15:0", + "src": "20244:15:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -32935,7 +32935,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1075, - "src": "20139:9:0", + "src": "20284:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -32948,7 +32948,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1077, - "src": "20176:12:0", + "src": "20321:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -32961,7 +32961,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1085, - "src": "20218:15:0", + "src": "20363:15:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -32974,7 +32974,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1087, - "src": "20260:12:0", + "src": "20405:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -32988,7 +32988,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 71, - "src": "19910:11:0", + "src": "20055:11:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_struct$_Transaction_$71_storage_ptr_$", "typeString": "type(struct Escrow_v1_0.Transaction storage pointer)" @@ -33013,13 +33013,13 @@ "tokenAddress" ], "nodeType": "FunctionCall", - "src": "19910:373:0", + "src": "20055:373:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_memory", "typeString": "struct Escrow_v1_0.Transaction memory" } }, - "src": "19883:400:0", + "src": "20028:400:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -33027,7 +33027,7 @@ }, "id": 1161, "nodeType": "ExpressionStatement", - "src": "19883:400:0" + "src": "20028:400:0" }, { "expression": { @@ -33050,7 +33050,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "20294:12:0", + "src": "20439:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -33064,7 +33064,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1079, - "src": "20307:10:0", + "src": "20452:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -33075,7 +33075,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20294:24:0", + "src": "20439:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -33089,7 +33089,7 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "20294:32:0", + "src": "20439:32:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -33103,7 +33103,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1071, - "src": "20327:6:0", + "src": "20472:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -33114,7 +33114,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "20294:40:0", + "src": "20439:40:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -33132,7 +33132,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "20337:4:0", + "src": "20482:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -33140,7 +33140,7 @@ }, "value": "true" }, - "src": "20294:47:0", + "src": "20439:47:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -33148,7 +33148,7 @@ }, "id": 1170, "nodeType": "ExpressionStatement", - "src": "20294:47:0" + "src": "20439:47:0" }, { "expression": { @@ -33171,7 +33171,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "20351:12:0", + "src": "20496:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -33185,7 +33185,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1079, - "src": "20364:10:0", + "src": "20509:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -33196,7 +33196,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20351:24:0", + "src": "20496:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -33210,7 +33210,7 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "20351:32:0", + "src": "20496:32:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -33224,7 +33224,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1069, - "src": "20384:5:0", + "src": "20529:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -33235,7 +33235,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "20351:39:0", + "src": "20496:39:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -33253,7 +33253,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "20393:4:0", + "src": "20538:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -33261,7 +33261,7 @@ }, "value": "true" }, - "src": "20351:46:0", + "src": "20496:46:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -33269,7 +33269,7 @@ }, "id": 1179, "nodeType": "ExpressionStatement", - "src": "20351:46:0" + "src": "20496:46:0" }, { "expression": { @@ -33285,7 +33285,7 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "20504:44:0", + "src": "20649:44:0", "subExpression": { "argumentTypes": null, "baseExpression": { @@ -33299,7 +33299,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "20505:12:0", + "src": "20650:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -33313,7 +33313,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1079, - "src": "20518:10:0", + "src": "20663:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -33324,7 +33324,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20505:24:0", + "src": "20650:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -33338,7 +33338,7 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "20505:32:0", + "src": "20650:32:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -33352,7 +33352,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1073, - "src": "20538:9:0", + "src": "20683:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -33363,7 +33363,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20505:43:0", + "src": "20650:43:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -33384,7 +33384,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "20563:47:0", + "src": "20708:47:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_313b391557427937e7bdb85c7561d47c5b9c985755a448dd33a92026ffb38f8d", @@ -33412,7 +33412,7 @@ 1401 ], "referencedDeclaration": 1401, - "src": "20483:7:0", + "src": "20628:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -33426,7 +33426,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "20483:137:0", + "src": "20628:137:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -33434,7 +33434,7 @@ }, "id": 1190, "nodeType": "ExpressionStatement", - "src": "20483:137:0" + "src": "20628:137:0" }, { "condition": { @@ -33455,7 +33455,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1075, - "src": "20780:9:0", + "src": "20925:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -33473,7 +33473,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "20792:1:0", + "src": "20937:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -33481,7 +33481,7 @@ }, "value": "1" }, - "src": "20780:13:0", + "src": "20925:13:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -33490,11 +33490,11 @@ "falseBody": null, "id": 1204, "nodeType": "IfStatement", - "src": "20776:94:0", + "src": "20921:94:0", "trueBody": { "id": 1203, "nodeType": "Block", - "src": "20795:75:0", + "src": "20940:75:0", "statements": [ { "expression": { @@ -33517,7 +33517,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "20809:12:0", + "src": "20954:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -33531,7 +33531,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1079, - "src": "20822:10:0", + "src": "20967:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -33542,7 +33542,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20809:24:0", + "src": "20954:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -33556,7 +33556,7 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "20809:32:0", + "src": "20954:32:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -33570,7 +33570,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1073, - "src": "20842:9:0", + "src": "20987:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -33581,7 +33581,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "20809:43:0", + "src": "20954:43:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -33599,7 +33599,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "20855:4:0", + "src": "21000:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -33607,7 +33607,7 @@ }, "value": "true" }, - "src": "20809:50:0", + "src": "20954:50:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -33615,7 +33615,7 @@ }, "id": 1202, "nodeType": "ExpressionStatement", - "src": "20809:50:0" + "src": "20954:50:0" } ] } @@ -33631,7 +33631,7 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "20888:18:0", + "src": "21033:18:0", "subExpression": { "argumentTypes": null, "id": 1205, @@ -33639,7 +33639,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 78, - "src": "20888:16:0", + "src": "21033:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -33652,7 +33652,7 @@ }, "id": 1207, "nodeType": "ExpressionStatement", - "src": "20888:18:0" + "src": "21033:18:0" }, { "expression": { @@ -33665,7 +33665,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1079, - "src": "20948:10:0", + "src": "21093:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -33688,7 +33688,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 83, - "src": "20917:18:0", + "src": "21062:18:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_bytes32_$dyn_storage_$", "typeString": "mapping(address => bytes32[] storage ref)" @@ -33702,7 +33702,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1069, - "src": "20936:5:0", + "src": "21081:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -33713,7 +33713,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20917:25:0", + "src": "21062:25:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage", "typeString": "bytes32[] storage ref" @@ -33727,7 +33727,7 @@ "memberName": "push", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "20917:30:0", + "src": "21062:30:0", "typeDescriptions": { "typeIdentifier": "t_function_arraypush_nonpayable$_t_bytes32_$returns$_t_uint256_$", "typeString": "function (bytes32) returns (uint256)" @@ -33741,7 +33741,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "20917:42:0", + "src": "21062:42:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -33749,7 +33749,7 @@ }, "id": 1214, "nodeType": "ExpressionStatement", - "src": "20917:42:0" + "src": "21062:42:0" }, { "expression": { @@ -33762,7 +33762,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1079, - "src": "21001:10:0", + "src": "21146:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -33785,7 +33785,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 83, - "src": "20969:18:0", + "src": "21114:18:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_bytes32_$dyn_storage_$", "typeString": "mapping(address => bytes32[] storage ref)" @@ -33799,7 +33799,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1071, - "src": "20988:6:0", + "src": "21133:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -33810,7 +33810,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20969:26:0", + "src": "21114:26:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage", "typeString": "bytes32[] storage ref" @@ -33824,7 +33824,7 @@ "memberName": "push", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "20969:31:0", + "src": "21114:31:0", "typeDescriptions": { "typeIdentifier": "t_function_arraypush_nonpayable$_t_bytes32_$returns$_t_uint256_$", "typeString": "function (bytes32) returns (uint256)" @@ -33838,7 +33838,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "20969:43:0", + "src": "21114:43:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -33846,7 +33846,7 @@ }, "id": 1221, "nodeType": "ExpressionStatement", - "src": "20969:43:0" + "src": "21114:43:0" } ] }, @@ -33868,7 +33868,7 @@ "name": "buyer", "nodeType": "VariableDeclaration", "scope": 1223, - "src": "18412:13:0", + "src": "18557:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -33879,7 +33879,7 @@ "id": 1068, "name": "address", "nodeType": "ElementaryTypeName", - "src": "18412:7:0", + "src": "18557:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -33894,7 +33894,7 @@ "name": "seller", "nodeType": "VariableDeclaration", "scope": 1223, - "src": "18435:14:0", + "src": "18580:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -33905,7 +33905,7 @@ "id": 1070, "name": "address", "nodeType": "ElementaryTypeName", - "src": "18435:7:0", + "src": "18580:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -33920,7 +33920,7 @@ "name": "moderator", "nodeType": "VariableDeclaration", "scope": 1223, - "src": "18459:17:0", + "src": "18604:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -33931,7 +33931,7 @@ "id": 1072, "name": "address", "nodeType": "ElementaryTypeName", - "src": "18459:7:0", + "src": "18604:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -33946,7 +33946,7 @@ "name": "threshold", "nodeType": "VariableDeclaration", "scope": 1223, - "src": "18486:15:0", + "src": "18631:15:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -33957,7 +33957,7 @@ "id": 1074, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "18486:5:0", + "src": "18631:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -33972,7 +33972,7 @@ "name": "timeoutHours", "nodeType": "VariableDeclaration", "scope": 1223, - "src": "18511:19:0", + "src": "18656:19:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -33983,7 +33983,7 @@ "id": 1076, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "18511:6:0", + "src": "18656:6:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -33998,7 +33998,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 1223, - "src": "18540:18:0", + "src": "18685:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -34009,7 +34009,7 @@ "id": 1078, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "18540:7:0", + "src": "18685:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -34024,7 +34024,7 @@ "name": "value", "nodeType": "VariableDeclaration", "scope": 1223, - "src": "18568:13:0", + "src": "18713:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -34035,7 +34035,7 @@ "id": 1080, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "18568:7:0", + "src": "18713:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -34050,7 +34050,7 @@ "name": "uniqueId", "nodeType": "VariableDeclaration", "scope": 1223, - "src": "18591:16:0", + "src": "18736:16:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -34061,7 +34061,7 @@ "id": 1082, "name": "bytes20", "nodeType": "ElementaryTypeName", - "src": "18591:7:0", + "src": "18736:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -34076,7 +34076,7 @@ "name": "transactionType", "nodeType": "VariableDeclaration", "scope": 1223, - "src": "18617:31:0", + "src": "18762:31:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -34089,7 +34089,7 @@ "name": "TransactionType", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 12, - "src": "18617:15:0", + "src": "18762:15:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -34104,7 +34104,7 @@ "name": "tokenAddress", "nodeType": "VariableDeclaration", "scope": 1223, - "src": "18658:20:0", + "src": "18803:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -34115,7 +34115,7 @@ "id": 1086, "name": "address", "nodeType": "ElementaryTypeName", - "src": "18658:7:0", + "src": "18803:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -34125,27 +34125,27 @@ "visibility": "internal" } ], - "src": "18402:282:0" + "src": "18547:282:0" }, "payable": false, "returnParameters": { "id": 1089, "nodeType": "ParameterList", "parameters": [], - "src": "18705:0:0" + "src": "18850:0:0" }, "scope": 1224, - "src": "18378:2641:0", + "src": "18523:2641:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "private" } ], "scope": 1225, - "src": "460:20561:0" + "src": "605:20561:0" } ], - "src": "0:21022:0" + "src": "0:21167:0" }, "compiler": { "name": "solc", @@ -34153,5 +34153,5 @@ }, "networks": {}, "schemaVersion": "2.0.1", - "updatedAt": "2018-11-19T13:46:27.402Z" + "updatedAt": "2018-11-19T13:48:58.856Z" } \ No newline at end of file diff --git a/build/contracts/ITokenContract.json b/build/contracts/ITokenContract.json index d552b06..9136d01 100644 --- a/build/contracts/ITokenContract.json +++ b/build/contracts/ITokenContract.json @@ -817,5 +817,5 @@ }, "networks": {}, "schemaVersion": "2.0.1", - "updatedAt": "2018-11-19T13:46:27.394Z" + "updatedAt": "2018-11-19T13:48:58.846Z" } \ No newline at end of file diff --git a/build/contracts/SafeMath.json b/build/contracts/SafeMath.json index e15d6d6..4ccee3e 100644 --- a/build/contracts/SafeMath.json +++ b/build/contracts/SafeMath.json @@ -3295,5 +3295,5 @@ }, "networks": {}, "schemaVersion": "2.0.1", - "updatedAt": "2018-11-19T13:46:27.393Z" + "updatedAt": "2018-11-19T13:48:58.848Z" } \ No newline at end of file diff --git a/contracts/escrow/Escrow_v1_0.sol b/contracts/escrow/Escrow_v1_0.sol index 452fa47..dee73eb 100644 --- a/contracts/escrow/Escrow_v1_0.sol +++ b/contracts/escrow/Escrow_v1_0.sol @@ -42,7 +42,7 @@ contract Escrow_v1_0 { struct Transaction { uint256 value; - uint256 lastModified;//Time at which transaction was last modified + uint256 lastModified;//Time at which tx was last modified in seconds Status status; TransactionType transactionType; uint8 threshold; diff --git a/test/escrow/1_Escrow_v1_0_test.js b/test/escrow/1_Escrow_v1_0_test.js index 3041af5..27a5262 100644 --- a/test/escrow/1_Escrow_v1_0_test.js +++ b/test/escrow/1_Escrow_v1_0_test.js @@ -55,9 +55,9 @@ contract("Escrow Contract Version 1- Supports Token transfer", function() { var amountEscrowed = txResult.logs[0].args.value; assert.equal(eventName, "Funded", "Funded event should be fired"); - assert.equal(from, buyer, "Transaction was sent from buyer's address: "+ buyer); - assert.equal(receivedScriptHash, scriptHash, "Received script hash does not matches the script hash sent"); - assert.equal(amountEscrowed.toNumber(), Number(amount), "Escrowed amount does not matches with the actual amount sent"); + assert.equal(from, buyer, "Transaction was not sent from buyer's address: "+ buyer); + assert.equal(receivedScriptHash, scriptHash, "Received script hash does not match the script hash sent"); + assert.equal(amountEscrowed.toNumber(), Number(amount), "Escrowed amount does not match with the actual amount sent"); assert.isAtLeast(buyerBalanceBefore.minus(Number(amount)).toNumber(), buyerBalanceAfter.toNumber(), "Buyer's ether balance must reduce by escrowed amount: "+amount); assert.equal(escrowContractBalanceBefore.plus(Number(amount)).toNumber(), escrowContractBalanceAfter.toNumber(), "Escrow contract's ether balance must increase by escrowed amount: "+amount); @@ -73,12 +73,12 @@ contract("Escrow Contract Version 1- Supports Token transfer", function() { var receivedThreshold = transaction[4]; var receivedTransactionType = transaction[3]; - assert.equal(receivedBuyer, buyer, "Received buyer hash does not matches the buyer sent"); - assert.equal(receivedSeller, seller, "Received seller hash does not matches the seller sent"); - assert.equal(receivedAmount.toNumber(), Number(amount), "Received amount does not matches the amount sent"); + assert.equal(receivedBuyer, buyer, "Received buyer does not match the buyer sent"); + assert.equal(receivedSeller, seller, "Received seller does not match the seller sent"); + assert.equal(receivedAmount.toNumber(), Number(amount), "Received amount does not match the amount sent"); assert.equal(receivedStatus, 0, "Received status is not FUNDED(0)"); - assert.equal(receivedTimeoutHours, timeoutHours, "Received timeout hours does not matches the timeout hours sent"); - assert.equal(receivedThreshold, threshold, "Received threshold does not matches the threshold sent"); + assert.equal(receivedTimeoutHours, timeoutHours, "Received timeout hours does not match the timeout hours sent"); + assert.equal(receivedThreshold, threshold, "Received threshold does not match the threshold sent"); assert.equal(receivedTransactionType, 0, "Received transaction type is not ETHER(0)"); }); @@ -116,8 +116,8 @@ contract("Escrow Contract Version 1- Supports Token transfer", function() { assert.equal(eventName, "Funded", "Funded event should be fired"); assert.equal(from, buyer, "Transaction was sent from buyer's address: "+ buyer); - assert.equal(receivedScriptHash, scriptHash, "Received script hash does not matches the script hash sent"); - assert.equal(amountEscrowed.toNumber(), Number(amount), "Escrowed amount does not matches with the actual amount sent"); + assert.equal(receivedScriptHash, scriptHash, "Received script hash does not match the script hash sent"); + assert.equal(amountEscrowed.toNumber(), Number(amount), "Escrowed amount does not match with the actual amount sent"); assert.isAtLeast(buyerBalanceBefore.minus(Number(amount)).toNumber(), buyerBalanceAfter.toNumber(), "Buyer's ether balance must reduce by escrowed amount: "+amount); assert.equal(escrowContractBalanceBefore.plus(Number(amount)).toNumber(), escrowContractBalanceAfter.toNumber(), "Escrow contract's ether balance must increase by escrowed amount: "+amount); @@ -133,12 +133,12 @@ contract("Escrow Contract Version 1- Supports Token transfer", function() { var receivedThreshold = transaction[4]; var receivedTransactionType = transaction[3]; - assert.equal(receivedBuyer, buyer, "Received buyer hash does not matches the buyer sent"); - assert.equal(receivedSeller, seller, "Received seller hash does not matches the seller sent"); - assert.equal(receivedAmount.toNumber(), Number(amount), "Received amount does not matches the amount sent"); + assert.equal(receivedBuyer, buyer, "Received buyer does not match the buyer sent"); + assert.equal(receivedSeller, seller, "Received seller does not match the seller sent"); + assert.equal(receivedAmount.toNumber(), Number(amount), "Received amount does not match the amount sent"); assert.equal(receivedStatus, 0, "Received status is not FUNDED(0)"); - assert.equal(receivedTimeoutHours, timeoutHours, "Received timeout hours does not matches the timeout hours sent"); - assert.equal(receivedThreshold, threshold, "Received threshold does not matches the threshold sent"); + assert.equal(receivedTimeoutHours, timeoutHours, "Received timeout hours does not match the timeout hours sent"); + assert.equal(receivedThreshold, threshold, "Received threshold does not match the threshold sent"); assert.equal(receivedTransactionType, 0, "Received transaction type is not ETHER(0)"); }); @@ -176,8 +176,8 @@ contract("Escrow Contract Version 1- Supports Token transfer", function() { assert.equal(eventName, "Funded", "Funded event should be fired"); assert.equal(from, buyer, "Transaction was sent from buyer's address: "+ buyer); - assert.equal(receivedScriptHash, scriptHash, "Received script hash does not matches the script hash sent"); - assert.equal(amountEscrowed.toNumber(), Number(amount), "Escrowed amount does not matches with the actual amount sent"); + assert.equal(receivedScriptHash, scriptHash, "Received script hash does not match the script hash sent"); + assert.equal(amountEscrowed.toNumber(), Number(amount), "Escrowed amount does not match with the actual amount sent"); assert.isAtLeast(buyerBalanceBefore.minus(Number(amount)).toNumber(), buyerBalanceAfter.toNumber(), "Buyer's ether balance must reduce by escrowed amount: "+amount); assert.equal(escrowContractBalanceBefore.plus(Number(amount)).toNumber(), escrowContractBalanceAfter.toNumber(), "Escrow contract's ether balance must increase by escrowed amount: "+amount); @@ -193,12 +193,12 @@ contract("Escrow Contract Version 1- Supports Token transfer", function() { var receivedThreshold = transaction[4]; var receivedTransactionType = transaction[3]; - assert.equal(receivedBuyer, buyer, "Received buyer hash does not matches the buyer sent"); - assert.equal(receivedSeller, seller, "Received seller hash does not matches the seller sent"); - assert.equal(receivedAmount.toNumber(), Number(amount), "Received amount does not matches the amount sent"); + assert.equal(receivedBuyer, buyer, "Received buyer does not match the buyer sent"); + assert.equal(receivedSeller, seller, "Received seller does not match the seller sent"); + assert.equal(receivedAmount.toNumber(), Number(amount), "Received amount does not match the amount sent"); assert.equal(receivedStatus, 0, "Received status is not FUNDED(0)"); - assert.equal(receivedTimeoutHours, timeoutHours, "Received timeout hours does not matches the timeout hours sent"); - assert.equal(receivedThreshold, threshold, "Received threshold does not matches the threshold sent"); + assert.equal(receivedTimeoutHours, timeoutHours, "Received timeout hours does not match the timeout hours sent"); + assert.equal(receivedThreshold, threshold, "Received threshold does not match the threshold sent"); assert.equal(receivedTransactionType, 0, "Received transaction type is not ETHER(0)"); }); @@ -236,8 +236,8 @@ contract("Escrow Contract Version 1- Supports Token transfer", function() { assert.equal(eventName, "FundAdded", "FundAdded event should be fired"); assert.equal(from, buyer, "Transaction was sent from buyer's address: "+ buyer); - assert.equal(receivedScriptHash, scriptHash, "Received script hash does not matches the script hash sent"); - assert.equal(amountEscrowed.toNumber(), Number(amount), "Escrowed amount does not matches with the actual amount sent"); + assert.equal(receivedScriptHash, scriptHash, "Received script hash does not match the script hash sent"); + assert.equal(amountEscrowed.toNumber(), Number(amount), "Escrowed amount does not match with the actual amount sent"); assert.isAtLeast(buyerBalanceBefore.minus(Number(amount)).toNumber(), buyerBalanceAfter.toNumber(), "Buyer's ether balance must reduce by escrowed amount: "+amount); assert.equal(escrowContractBalanceBefore.plus(Number(amount)).toNumber(), escrowContractBalanceAfter.toNumber(), "Escrow contract's ether balance must increase by escrowed amount: "+amount); @@ -247,11 +247,11 @@ contract("Escrow Contract Version 1- Supports Token transfer", function() { var receivedAmount = transaction[0]; - assert.equal(receivedAmount.toNumber(), Number(amount) +Number(amount), "Received amount does not matches the amount sent"); + assert.equal(receivedAmount.toNumber(), Number(amount) +Number(amount), "Received amount does not match the amount sent"); }); - it("Add funds to ETHER transaction", async()=>{ + it("Add funds to ETHER transaction from non-buyer account", async()=>{ var buyer = acct[0]; var seller = acct[1]; var moderator = acct[2]; @@ -321,7 +321,7 @@ contract("Escrow Contract Version 1- Supports Token transfer", function() { }); - it("Add new transaction with threshold greater number of parties involved", async()=>{ + it("Add new transaction with threshold greater than number of parties involved", async()=>{ var buyer = acct[0]; var seller = acct[1]; var moderator = acct[2]; @@ -334,7 +334,7 @@ contract("Escrow Contract Version 1- Supports Token transfer", function() { try{ await this.escrow.addTransaction(buyer, seller, moderator, threshold, timeoutHours, scriptHash, uniqueId, {from:acct[0], value:amount}); - assert.equal(true, false, "Should not be able to add transaction with threshold greater number of parties involved"); + assert.equal(true, false, "Should not be able to add transaction with threshold greater than number of parties involved"); }catch(error){ assert.notInclude(error.toString(), 'AssertionError', error.message); @@ -365,7 +365,7 @@ contract("Escrow Contract Version 1- Supports Token transfer", function() { }); - it("Add new transaction with moderator being one of buyer or seller", async()=>{ + it("Add new transaction with moderator being one of the buyer or seller", async()=>{ var buyer = acct[0]; var seller = acct[1]; var moderator = buyer; @@ -422,7 +422,7 @@ contract("Escrow Contract Version 1- Supports Token transfer", function() { try{ await this.escrow.addTransaction(buyer, seller, moderator, threshold, timeoutHours, scriptHash, uniqueId, {from:acct[0], value:amount}); - assert.equal(true, false, "Should not be able to add transaction with buyer being zero address"); + assert.equal(true, false, "Should not be able to add transaction with seller being zero address"); }catch(error){ assert.notInclude(error.toString(), 'AssertionError', error.message); @@ -444,7 +444,7 @@ contract("Escrow Contract Version 1- Supports Token transfer", function() { try{ await this.escrow.addTransaction(buyer, seller, moderator, threshold, timeoutHours, scriptHash, uniqueId, {from:acct[0], value:amount}); - assert.equal(true, false, "Should not be able to add transaction with buyer being zero address"); + assert.equal(true, false, "Should not be able to add transaction with moderator being zero address"); }catch(error){ assert.notInclude(error.toString(), 'AssertionError', error.message); @@ -502,7 +502,7 @@ contract("Escrow Contract Version 1- Supports Token transfer", function() { var receivedScriptHash = txResult.logs[0].args.scriptHash; assert.equal(eventName, "Executed", "Executed event must be fired"); - assert.equal(receivedScriptHash, scriptHash, "Received script hash does not matches the script hash of the transaction executed"); + assert.equal(receivedScriptHash, scriptHash, "Received script hash does not match the script hash of the transaction executed"); var sellerBalanceAfter = await web3.eth.getBalance(seller); var escrowContractBalanceAfter = await web3.eth.getBalance(this.escrow.address); @@ -545,7 +545,7 @@ contract("Escrow Contract Version 1- Supports Token transfer", function() { var receivedScriptHash = txResult.logs[0].args.scriptHash; assert.equal(eventName, "Executed", "Executed event must be fired"); - assert.equal(receivedScriptHash, scriptHash, "Received script hash does not matches the script hash of the transaction executed"); + assert.equal(receivedScriptHash, scriptHash, "Received script hash does not match the script hash of the transaction executed"); var sellerBalanceAfter = await web3.eth.getBalance(seller); var escrowContractBalanceAfter = await web3.eth.getBalance(this.escrow.address); @@ -585,7 +585,7 @@ contract("Escrow Contract Version 1- Supports Token transfer", function() { var receivedScriptHash = txResult.logs[0].args.scriptHash; assert.equal(eventName, "Executed", "Executed event must be fired"); - assert.equal(receivedScriptHash, scriptHash, "Received script hash does not matches the script hash of the transaction executed"); + assert.equal(receivedScriptHash, scriptHash, "Received script hash does not match the script hash of the transaction executed"); var sellerBalanceAfter = await web3.eth.getBalance(seller); var escrowContractBalanceAfter = await web3.eth.getBalance(this.escrow.address); @@ -647,7 +647,7 @@ contract("Escrow Contract Version 1- Supports Token transfer", function() { var sig = helper.createSigs([buyer, seller, moderator], this.escrow.address, [seller, moderator], [amountToBeGivenToSeller, amountToBeGivenToModerator], scriptHash); try{ await this.escrow.execute(sig.sigV, sig.sigR, sig.sigS, scriptHash, [seller, moderator], [amountToBeGivenToSeller, amountToBeGivenToModerator]); - assert.equal(true, false, "Should not be able to execute transaction with scripthash that does not exists in the contract"); + assert.equal(true, false, "Should not be able to execute transaction with scripthash that does not exist in the contract"); }catch(error){ assert.notInclude(error.toString(), 'AssertionError', error.message); @@ -776,7 +776,7 @@ contract("Escrow Contract Version 1- Supports Token transfer", function() { try{ await this.escrow.execute(sig.sigV, sig.sigR, sig.sigS, scriptHash, [seller, moderator], [amountToBeGivenToSeller, amountToBeGivenToModerator]); - assert.equal(true, false, "Should not be able to execute transaction with less number of signatures than required"); + assert.equal(true, false, "Should not be able to execute transaction with non-owner's signature"); }catch(error){ assert.notInclude(error.toString(), 'AssertionError', error.message); @@ -802,7 +802,7 @@ contract("Escrow Contract Version 1- Supports Token transfer", function() { try{ await this.escrow.execute(sig.sigV, sig.sigR, sig.sigS, scriptHash, [seller, moderator], [amountToBeGivenToSeller, amountToBeGivenToModerator]); - assert.equal(true, false, "Should not be able to execute transaction with one of the destination being non-owner address"); + assert.equal(true, false, "Should not be able to execute transaction with one of the destinations being non-owner address"); }catch(error){ assert.notInclude(error.toString(), 'AssertionError', error.message); @@ -933,7 +933,7 @@ contract("Escrow Contract Version 1- Supports Token transfer", function() { try{ await this.escrow.execute(sig.sigV, sig.sigR, sig.sigS, scriptHash, [seller], [amountToBeGivenToSeller, amountToBeGivenToModerator]); - assert.equal(true, false, "Should not be able to execute transaction with no destination"); + assert.equal(true, false, "Should not be able to execute Transaction with number of destinations and amount in mismatch"); }catch(error){ assert.notInclude(error.toString(), 'AssertionError', error.message); @@ -972,7 +972,7 @@ contract("Escrow Contract Version 1- Supports Token transfer", function() { var receivedScriptHash = txResult.logs[0].args.scriptHash; assert.equal(eventName, "Executed", "Executed event must be fired"); - assert.equal(receivedScriptHash, scriptHash, "Received script hash does not matches the script hash of the transaction executed"); + assert.equal(receivedScriptHash, scriptHash, "Received script hash does not match the script hash of the transaction executed"); var sellerBalanceAfter = await web3.eth.getBalance(seller); var escrowContractBalanceAfter = await web3.eth.getBalance(this.escrow.address); @@ -1038,7 +1038,7 @@ contract("Escrow Contract Version 1- Supports Token transfer", function() { try{ await this.escrow.execute(sig.sigV, sig.sigR, sig.sigS, scriptHash, [seller], [amountToBeGivenToSeller]); - assert.equal(true, false, "Should not be able to execute transaction before timeout by seller account"); + assert.equal(true, false, "Should not be able to execute transaction before timeout by seller account unilaterally"); }catch(error){ assert.notInclude(error.toString(), 'AssertionError', error.message); @@ -1074,7 +1074,7 @@ contract("Escrow Contract Version 1- Supports Token transfer", function() { var receivedScriptHash = txResult.logs[0].args.scriptHash; assert.equal(eventName, "Executed", "Executed event must be fired"); - assert.equal(receivedScriptHash, scriptHash, "Received script hash does not matches the script hash of the transaction executed"); + assert.equal(receivedScriptHash, scriptHash, "Received script hash does not match the script hash of the transaction executed"); var buyerBalanceAfter = await web3.eth.getBalance(buyer); var escrowContractBalanceAfter = await web3.eth.getBalance(this.escrow.address); @@ -1122,8 +1122,8 @@ contract("Escrow Contract Version 1- Supports Token transfer", function() { assert.equal(eventName, "Funded", "Funded event should be fired"); assert.equal(from, buyer, "Transaction was sent from buyer's address: "+ buyer); - assert.equal(receivedScriptHash, scriptHash, "Received script hash does not matches the script hash sent"); - assert.equal(amountEscrowed.toNumber(), Number(amount), "Escrowed amount does not matches with the actual amount sent"); + assert.equal(receivedScriptHash, scriptHash, "Received script hash does not match the script hash sent"); + assert.equal(amountEscrowed.toNumber(), Number(amount), "Escrowed amount does not match with the actual amount sent"); assert.equal(buyerBalanceBefore.minus(Number(amount)).toNumber(), buyerBalanceAfter.toNumber(), "Buyer's token balance must reduce by escrowed amount: "+amount); assert.equal(escrowContractBalanceBefore.plus(Number(amount)).toNumber(), escrowContractBalanceAfter.toNumber(), "Escrow contract's token balance must increase by escrowed amount: "+amount); @@ -1140,14 +1140,14 @@ contract("Escrow Contract Version 1- Supports Token transfer", function() { var receivedTransactionType = transaction[3]; var receivedTokenAddress = transaction[8]; - assert.equal(receivedBuyer, buyer, "Received buyer hash does not matches the buyer sent"); - assert.equal(receivedSeller, seller, "Received seller hash does not matches the seller sent"); - assert.equal(receivedAmount.toNumber(), Number(amount), "Received amount does not matches the amount sent"); + assert.equal(receivedBuyer, buyer, "Received buyer does not match the buyer sent"); + assert.equal(receivedSeller, seller, "Received seller does not match the seller sent"); + assert.equal(receivedAmount.toNumber(), Number(amount), "Received amount does not match the amount sent"); assert.equal(receivedStatus, 0, "Received status is not FUNDED(0)"); - assert.equal(receivedTimeoutHours, timeoutHours, "Received timeout hours does not matches the timeout hours sent"); - assert.equal(receivedThreshold, threshold, "Received threshold does not matches the threshold sent"); + assert.equal(receivedTimeoutHours, timeoutHours, "Received timeout hours does not match the timeout hours sent"); + assert.equal(receivedThreshold, threshold, "Received threshold does not match the threshold sent"); assert.equal(receivedTransactionType, 1, "Received transaction type is not TOKEN(1)"); - assert.equal(receivedTokenAddress, this.token.address, "Received token address does not matches the token address sent"); + assert.equal(receivedTokenAddress, this.token.address, "Received token address does not match the token address sent"); }); @@ -1186,8 +1186,8 @@ contract("Escrow Contract Version 1- Supports Token transfer", function() { assert.equal(eventName, "Funded", "Funded event should be fired"); assert.equal(from, buyer, "Transaction was sent from buyer's address: "+ buyer); - assert.equal(receivedScriptHash, scriptHash, "Received script hash does not matches the script hash sent"); - assert.equal(amountEscrowed.toNumber(), Number(amount), "Escrowed amount does not matches with the actual amount sent"); + assert.equal(receivedScriptHash, scriptHash, "Received script hash does not match the script hash sent"); + assert.equal(amountEscrowed.toNumber(), Number(amount), "Escrowed amount does not match with the actual amount sent"); assert.equal(buyerBalanceBefore.minus(Number(amount)).toNumber(), buyerBalanceAfter.toNumber(), "Buyer's token balance must reduce by escrowed amount: "+amount); assert.equal(escrowContractBalanceBefore.plus(Number(amount)).toNumber(), escrowContractBalanceAfter.toNumber(), "Escrow contract's token balance must increase by escrowed amount: "+amount); @@ -1204,14 +1204,14 @@ contract("Escrow Contract Version 1- Supports Token transfer", function() { var receivedTransactionType = transaction[3]; var receivedTokenAddress = transaction[8]; - assert.equal(receivedBuyer, buyer, "Received buyer hash does not matches the buyer sent"); - assert.equal(receivedSeller, seller, "Received seller hash does not matches the seller sent"); - assert.equal(receivedAmount.toNumber(), Number(amount), "Received amount does not matches the amount sent"); + assert.equal(receivedBuyer, buyer, "Received buyer does not match the buyer sent"); + assert.equal(receivedSeller, seller, "Received seller does not match the seller sent"); + assert.equal(receivedAmount.toNumber(), Number(amount), "Received amount does not match the amount sent"); assert.equal(receivedStatus, 0, "Received status is not FUNDED(0)"); - assert.equal(receivedTimeoutHours, timeoutHours, "Received timeout hours does not matches the timeout hours sent"); - assert.equal(receivedThreshold, threshold, "Received threshold does not matches the threshold sent"); + assert.equal(receivedTimeoutHours, timeoutHours, "Received timeout hours does not match the timeout hours sent"); + assert.equal(receivedThreshold, threshold, "Received threshold does not match the threshold sent"); assert.equal(receivedTransactionType, 1, "Received transaction type is not TOKEN(1)"); - assert.equal(receivedTokenAddress, this.token.address, "Received token address does not matches the token address sent"); + assert.equal(receivedTokenAddress, this.token.address, "Received token address does not match the token address sent"); }); @@ -1250,8 +1250,8 @@ contract("Escrow Contract Version 1- Supports Token transfer", function() { assert.equal(eventName, "Funded", "Funded event should be fired"); assert.equal(from, buyer, "Transaction was sent from buyer's address: "+ buyer); - assert.equal(receivedScriptHash, scriptHash, "Received script hash does not matches the script hash sent"); - assert.equal(amountEscrowed.toNumber(), Number(amount), "Escrowed amount does not matches with the actual amount sent"); + assert.equal(receivedScriptHash, scriptHash, "Received script hash does not match the script hash sent"); + assert.equal(amountEscrowed.toNumber(), Number(amount), "Escrowed amount does not match with the actual amount sent"); assert.equal(buyerBalanceBefore.minus(Number(amount)).toNumber(), buyerBalanceAfter.toNumber(), "Buyer's token balance must reduce by escrowed amount: "+amount); assert.equal(escrowContractBalanceBefore.plus(Number(amount)).toNumber(), escrowContractBalanceAfter.toNumber(), "Escrow contract's token balance must increase by escrowed amount: "+amount); @@ -1268,14 +1268,14 @@ contract("Escrow Contract Version 1- Supports Token transfer", function() { var receivedTransactionType = transaction[3]; var receivedTokenAddress = transaction[8]; - assert.equal(receivedBuyer, buyer, "Received buyer hash does not matches the buyer sent"); - assert.equal(receivedSeller, seller, "Received seller hash does not matches the seller sent"); - assert.equal(receivedAmount.toNumber(), Number(amount), "Received amount does not matches the amount sent"); + assert.equal(receivedBuyer, buyer, "Received buyer does not match the buyer sent"); + assert.equal(receivedSeller, seller, "Received seller does not match the seller sent"); + assert.equal(receivedAmount.toNumber(), Number(amount), "Received amount does not match the amount sent"); assert.equal(receivedStatus, 0, "Received status is not FUNDED(0)"); - assert.equal(receivedTimeoutHours, timeoutHours, "Received timeout hours does not matches the timeout hours sent"); - assert.equal(receivedThreshold, threshold, "Received threshold does not matches the threshold sent"); + assert.equal(receivedTimeoutHours, timeoutHours, "Received timeout hours does not match the timeout hours sent"); + assert.equal(receivedThreshold, threshold, "Received threshold does not match the threshold sent"); assert.equal(receivedTransactionType, 1, "Received transaction type is not TOKEN(1)"); - assert.equal(receivedTokenAddress, this.token.address, "Received token address does not matches the token address sent"); + assert.equal(receivedTokenAddress, this.token.address, "Received token address does not match the token address sent"); }); @@ -1320,8 +1320,8 @@ contract("Escrow Contract Version 1- Supports Token transfer", function() { assert.equal(eventName, "FundAdded", "Funded event should be fired"); assert.equal(from, buyer, "Transaction was sent from buyer's address: "+ buyer); - assert.equal(receivedScriptHash, scriptHash, "Received script hash does not matches the script hash sent"); - assert.equal(amountEscrowed.toNumber(), Number(amount), "Escrowed amount does not matches with the actual amount sent"); + assert.equal(receivedScriptHash, scriptHash, "Received script hash does not match the script hash sent"); + assert.equal(amountEscrowed.toNumber(), Number(amount), "Escrowed amount does not match with the actual amount sent"); assert.equal(buyerBalanceBefore.minus(Number(amount)).toNumber(), buyerBalanceAfter.toNumber(), "Buyer's token balance must reduce by escrowed amount: "+amount); assert.equal(escrowContractBalanceBefore.plus(Number(amount)).toNumber(), escrowContractBalanceAfter.toNumber(), "Escrow contract's token balance must increase by escrowed amount: "+amount); @@ -1338,14 +1338,14 @@ contract("Escrow Contract Version 1- Supports Token transfer", function() { var receivedTransactionType = transaction[3]; var receivedTokenAddress = transaction[8]; - assert.equal(receivedBuyer, buyer, "Received buyer hash does not matches the buyer sent"); - assert.equal(receivedSeller, seller, "Received seller hash does not matches the seller sent"); - assert.equal(receivedAmount.toNumber(), Number(amount) + Number(amount), "Received amount does not matches the amount sent"); + assert.equal(receivedBuyer, buyer, "Received buyer does not match the buyer sent"); + assert.equal(receivedSeller, seller, "Received seller does not match the seller sent"); + assert.equal(receivedAmount.toNumber(), Number(amount) + Number(amount), "Received amount does not match the amount sent"); assert.equal(receivedStatus, 0, "Received status is not FUNDED(0)"); - assert.equal(receivedTimeoutHours, timeoutHours, "Received timeout hours does not matches the timeout hours sent"); - assert.equal(receivedThreshold, threshold, "Received threshold does not matches the threshold sent"); + assert.equal(receivedTimeoutHours, timeoutHours, "Received timeout hours does not match the timeout hours sent"); + assert.equal(receivedThreshold, threshold, "Received threshold does not match the threshold sent"); assert.equal(receivedTransactionType, 1, "Received transaction type is not TOKEN(1)"); - assert.equal(receivedTokenAddress, this.token.address, "Received token address does not matches the token address sent"); + assert.equal(receivedTokenAddress, this.token.address, "Received token address does not match the token address sent"); }); @@ -1460,7 +1460,7 @@ contract("Escrow Contract Version 1- Supports Token transfer", function() { var receivedScriptHash = txResult.logs[0].args.scriptHash; assert.equal(eventName, "Executed", "Executed event must be fired"); - assert.equal(receivedScriptHash, scriptHash, "Received script hash does not matches the script hash of the transaction executed"); + assert.equal(receivedScriptHash, scriptHash, "Received script hash does not match the script hash of the transaction executed"); var sellerBalanceAfter = await this.token.balanceOf(seller); var escrowContractBalanceAfter = await this.token.balanceOf(this.escrow.address); @@ -1504,7 +1504,7 @@ contract("Escrow Contract Version 1- Supports Token transfer", function() { var receivedScriptHash = txResult.logs[0].args.scriptHash; assert.equal(eventName, "Executed", "Executed event must be fired"); - assert.equal(receivedScriptHash, scriptHash, "Received script hash does not matches the script hash of the transaction executed"); + assert.equal(receivedScriptHash, scriptHash, "Received script hash does not match the script hash of the transaction executed"); var sellerBalanceAfter = await this.token.balanceOf(seller); var escrowContractBalanceAfter = await this.token.balanceOf(this.escrow.address); @@ -1545,7 +1545,7 @@ contract("Escrow Contract Version 1- Supports Token transfer", function() { var receivedScriptHash = txResult.logs[0].args.scriptHash; assert.equal(eventName, "Executed", "Executed event must be fired"); - assert.equal(receivedScriptHash, scriptHash, "Received script hash does not matches the script hash of the transaction executed"); + assert.equal(receivedScriptHash, scriptHash, "Received script hash does not match the script hash of the transaction executed"); var sellerBalanceAfter = await this.token.balanceOf(seller); var escrowContractBalanceAfter = await this.token.balanceOf(this.escrow.address); From 452a2067404818e428fae4f30bca78618cbc5d0a Mon Sep 17 00:00:00 2001 From: Sameep Singhania Date: Mon, 19 Nov 2018 19:32:17 +0530 Subject: [PATCH 17/19] lastModified parameter of transaction will not be updated when funds/tokens are added to the transaction post addition of transaction --- build/contracts/Escrow_v1_0.json | 4736 +++++++++++++-------------- build/contracts/ITokenContract.json | 2 +- build/contracts/SafeMath.json | 2 +- contracts/escrow/Escrow_v1_0.sol | 2 - 4 files changed, 2370 insertions(+), 2372 deletions(-) diff --git a/build/contracts/Escrow_v1_0.json b/build/contracts/Escrow_v1_0.json index 168a471..b56aabb 100644 --- a/build/contracts/Escrow_v1_0.json +++ b/build/contracts/Escrow_v1_0.json @@ -395,11 +395,11 @@ "type": "function" } ], - "bytecode": "0x6080604052600060015534801561001557600080fd5b5061432c806100256000396000f3006080604052600436106100af576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806323b6fd3f146100b45780632d9ef96e1461016e57806346fbcdeb1461019257806357bced7614610287578063642f2eaf14610378578063b0550c66146104da578063b719e28014610543578063b77bf6001461057e578063be84ceaf146105a9578063e4ec8b0014610641578063f0786562146106ea575b600080fd5b61016c600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff169060200190929190803563ffffffff169060200190929190803560001916906020019092919080356bffffffffffffffffffffffff19169060200190929190505050610753565b005b61019060048036038101908080356000191690602001909291905050506109a7565b005b34801561019e57600080fd5b5061026960048036038101908080356bffffffffffffffffffffffff19169060200190929190803560ff169060200190929190803563ffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610e24565b60405180826000191660001916815260200191505060405180910390f35b34801561029357600080fd5b50610376600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff169060200190929190803563ffffffff16906020019092919080356000191690602001909291908035906020019092919080356bffffffffffffffffffffffff19169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506112d0565b005b34801561038457600080fd5b506103a760048036038101908080356000191690602001909291905050506117a5565b604051808b81526020018a81526020018960018111156103c357fe5b60ff1681526020018860018111156103d757fe5b60ff1681526020018760ff1660ff1681526020018663ffffffff1663ffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019a505050505050505050505060405180910390f35b3480156104e657600080fd5b506105296004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506118b0565b604051808215151515815260200191505060405180910390f35b34801561054f57600080fd5b5061057c600480360381019080803560001916906020019092919080359060200190929190505050611922565b005b34801561058a57600080fd5b50610593611ff2565b6040518082815260200191505060405180910390f35b3480156105b557600080fd5b506105ea600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611ff8565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b8381101561062d578082015181840152602081019050610612565b505050509050019250505060405180910390f35b34801561064d57600080fd5b506106e86004803603810190808035906020019082018035906020019190919293919293908035906020019082018035906020019190919293919293908035906020019082018035906020019190919293919293908035600019169060200190929190803590602001908201803590602001919091929391929390803590602001908201803590602001919091929391929390505050612093565b005b3480156106f657600080fd5b506107396004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061267c565b604051808215151515815260200191505060405180910390f35b8160008060008360001916600019168152602001908152602001600020600001541415156107e9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f5472616e73616374696f6e20657869737400000000000000000000000000000081525060200191505060405180910390fd5b87600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561088f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b87600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610935576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b6109488a8a8a8a8a8a348b6000806126ee565b3373ffffffffffffffffffffffffffffffffffffffff1685600019167fce7089d0668849fb9ca29778c0cbf1e764d9efb048d81fd71fb34c94f26db368346040518082815260200191505060405180910390a350505050505050505050565b80600080600083600019166000191681526020019081526020016000206000015414151515610a3e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737400000000000081525060200191505060405180910390fd5b8160006001811115610a4c57fe5b600080836000191660001916815260200190815260200160002060020160009054906101000a900460ff166001811115610a8257fe5b141515610b1d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001807f5472616e73616374696f6e206973206e6f7420696e2046554e4445442073746181526020017f746500000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b826000806001811115610b2c57fe5b600080846000191660001916815260200190815260200160002060020160019054906101000a900460ff166001811115610b6257fe5b141515610bd7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5472616e73616374696f6e207479706520646f6573206e6f74206d617463680081525060200191505060405180910390fd5b84600080826000191660001916815260200190815260200160002060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610cde576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f54686520696e69746961746f72206f6620746865207472616e73616374696f6e81526020017f206973206e6f742062757965720000000000000000000000000000000000000081525060400191505060405180910390fd5b600034111515610d56576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f56616c7565206d7573742062652067726561746572207468616e207a65726f2e81525060200191505060405180910390fd5b610d863460008089600019166000191681526020019081526020016000206000015461307a90919063ffffffff16565b600080886000191660001916815260200190815260200160002060000181905550426000808860001916600019168152602001908152602001600020600101819055503373ffffffffffffffffffffffffffffffffffffffff1686600019167ff66fd2ae9e24a6a24b02e1b5b7512ffde5149a4176085fc0298ae228c9b9d729346040518082815260200191505060405180910390a3505050505050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611070578787878787873060405160200180886bffffffffffffffffffffffff19166bffffffffffffffffffffffff191681526014018760ff1660ff167f01000000000000000000000000000000000000000000000000000000000000000281526001018663ffffffff1663ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014019750505050505050506040516020818303038152906040526040518082805190602001908083835b60208310151561103c5780518252602082019150602081019050602083039250611017565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902090506112c5565b878787878787308860405160200180896bffffffffffffffffffffffff19166bffffffffffffffffffffffff191681526014018860ff1660ff167f01000000000000000000000000000000000000000000000000000000000000000281526001018763ffffffff1663ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401985050505050505050506040516020818303038152906040526040518082805190602001908083835b6020831015156112955780518252602082019150602081019050602083039250611270565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902090505b979650505050505050565b6000846000806000836000191660001916815260200190815260200160002060000154141515611368576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f5472616e73616374696f6e20657869737400000000000000000000000000000081525060200191505060405180910390fd5b8a600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561140e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b8a600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156114b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b84600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561155a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b61156d8e8e8e8e8e8e8e8e60018f6126ee565b8594508473ffffffffffffffffffffffffffffffffffffffff166323b872dd33308b6040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b15801561164757600080fd5b505af115801561165b573d6000803e3d6000fd5b505050506040513d602081101561167157600080fd5b81019080805190602001909291905050501515611742576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252605d8152602001807f546f6b656e207472616e73666572206661696c65642c206d6179626520796f7581526020017f20646964206e6f7420617070726f766520657363726f7720636f6e747261637481526020017f20746f207370656e64206f6e20626568616c66206f662073656e64657200000081525060600191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff1689600019167fce7089d0668849fb9ca29778c0cbf1e764d9efb048d81fd71fb34c94f26db3688a6040518082815260200191505060405180910390a35050505050505050505050505050565b60006020528060005260406000206000915090508060000154908060010154908060020160009054906101000a900460ff16908060020160019054906101000a900460ff16908060020160029054906101000a900460ff16908060020160039054906101000a900463ffffffff16908060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060050160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508a565b6000806000846000191660001916815260200190815260200160002060080160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6000826000806000836000191660001916815260200190815260200160002060000154141515156119bb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737400000000000081525060200191505060405180910390fd5b83600060018111156119c957fe5b600080836000191660001916815260200190815260200160002060020160009054906101000a900460ff1660018111156119ff57fe5b141515611a9a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001807f5472616e73616374696f6e206973206e6f7420696e2046554e4445442073746181526020017f746500000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b846001806001811115611aa957fe5b600080846000191660001916815260200190815260200160002060020160019054906101000a900460ff166001811115611adf57fe5b141515611b54576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5472616e73616374696f6e207479706520646f6573206e6f74206d617463680081525060200191505060405180910390fd5b86600080826000191660001916815260200190815260200160002060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611c5b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f54686520696e69746961746f72206f6620746865207472616e73616374696f6e81526020017f206973206e6f742062757965720000000000000000000000000000000000000081525060400191505060405180910390fd5b600087111515611cd3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f56616c7565206d7573742062652067726561746572207468616e207a65726f2e81525060200191505060405180910390fd5b600080896000191660001916815260200190815260200160002060040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1695508573ffffffffffffffffffffffffffffffffffffffff166323b872dd6000808b6000191660001916815260200190815260200160002060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff16308a6040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b158015611e2757600080fd5b505af1158015611e3b573d6000803e3d6000fd5b505050506040513d6020811015611e5157600080fd5b81019080805190602001909291905050501515611f22576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252605c8152602001807f546f6b656e207472616e73666572206661696c65642c206d6179626520796f7581526020017f20646964206e6f7420617070726f766520657363726f7720636f6e747261637481526020017f20746f207370656e64206f6e20626568616c66206f662062757965720000000081525060600191505060405180910390fd5b611f52876000808b600019166000191681526020019081526020016000206000015461307a90919063ffffffff16565b6000808a6000191660001916815260200190815260200160002060000181905550426000808a60001916600019168152602001908152602001600020600101819055503373ffffffffffffffffffffffffffffffffffffffff1688600019167ff66fd2ae9e24a6a24b02e1b5b7512ffde5149a4176085fc0298ae228c9b9d729896040518082815260200191505060405180910390a35050505050505050565b60015481565b6060600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080548060200260200160405190810160405280929190818152602001828054801561208757602002820191906000526020600020905b8154600019168152602001906001019080831161206f575b50505050509050919050565b8460008060008360001916600019168152602001908152602001600020600001541415151561212a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737400000000000081525060200191505060405180910390fd5b856000600181111561213857fe5b600080836000191660001916815260200190815260200160002060020160009054906101000a900460ff16600181111561216e57fe5b141515612209576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001807f5472616e73616374696f6e206973206e6f7420696e2046554e4445442073746181526020017f746500000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b6000868690501115156122aa576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f4e756d626572206f662064657374696e6174696f6e73206d757374206265206781526020017f726561746572207468616e20300000000000000000000000000000000000000081525060400191505060405180910390fd5b838390508686905014151561234d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260378152602001807f4e756d626572206f662064657374696e6174696f6e73206d757374206d61746381526020017f68206e756d626572206f662076616c7565732073656e7400000000000000000081525060400191505060405180910390fd5b6124468d8d808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508c8c808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508b8b808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508a8a8a8080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505089898080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505061309b565b6001600080896000191660001916815260200190815260200160002060020160006101000a81548160ff0219169083600181111561248057fe5b02179055504260008089600019166000191681526020019081526020016000206001018190555060008088600019166000191681526020019081526020016000206000015461252e8888888080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505087878080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505061327c565b1415156125ef576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260488152602001807f546f74616c2076616c756520746f2062652072656c6561736564206d7573742081526020017f626520657175616c20746f20746865207472616e73616374696f6e206573637281526020017f6f772076616c756500000000000000000000000000000000000000000000000081525060600191505060405180910390fd5b86600019167f688e2a1b34445bcd47b0e11ba2a9c8c4d850a1831b64199b59d1c70e29701545878787876040518080602001806020018381038352878782818152602001925060200280828437820191505083810382528585828181526020019250602002808284378201915050965050505050505060405180910390a250505050505050505050505050565b6000806000846000191660001916815260200190815260200160002060070160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b8873ffffffffffffffffffffffffffffffffffffffff168a73ffffffffffffffffffffffffffffffffffffffff1614151515612792576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f427579657220616e642073656c6c6572206172652073616d650000000000000081525060200191505060405180910390fd5b60008411151561280a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f56616c756520706173736564206973203000000000000000000000000000000081525060200191505060405180910390fd5b60008760ff16118015612821575060038760ff1611155b15156128bb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603d8152602001807f5468726573686f6c642063616e6e6f742062652067726561746572207468616e81526020017f203320616e64206d7573742062652067726561746572207468616e203000000081525060400191505060405180910390fd5b60018760ff1614806128fa5750600073ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff1614155b15156129ba576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260488152602001807f456974686572207468726573686f6c642073686f756c642062652031206f722081526020017f76616c6964206d6f64657261746f7220616464726573732073686f756c64206281526020017f652070617373656400000000000000000000000000000000000000000000000081525060600191505060405180910390fd5b6129c98388888d8d8d87610e24565b600019168560001916141515612a6d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260398152602001807f43616c63756c6174656420736372697074206861736820646f6573206e6f742081526020017f6d61746368207061737365642073637269707420686173682e0000000000000081525060400191505060405180910390fd5b6101406040519081016040528085815260200142815260200160006001811115612a9357fe5b8152602001836001811115612aa457fe5b81526020018860ff1681526020018763ffffffff1681526020018b73ffffffffffffffffffffffffffffffffffffffff1681526020018a73ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020018973ffffffffffffffffffffffffffffffffffffffff168152506000808760001916600019168152602001908152602001600020600082015181600001556020820151816001015560408201518160020160006101000a81548160ff02191690836001811115612b7e57fe5b021790555060608201518160020160016101000a81548160ff02191690836001811115612ba757fe5b021790555060808201518160020160026101000a81548160ff021916908360ff16021790555060a08201518160020160036101000a81548163ffffffff021916908363ffffffff16021790555060c08201518160020160076101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060e08201518160030160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506101008201518160040160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506101208201518160050160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055509050506001600080876000191660001916815260200190815260200160002060060160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600080876000191660001916815260200190815260200160002060060160008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600080866000191660001916815260200190815260200160002060060160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151515612efe576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f456974686572206275796572206f722073656c6c65722069732070617373656481526020017f206173206d6f64657261746f720000000000000000000000000000000000000081525060400191505060405180910390fd5b60018760ff161115612f7e576001600080876000191660001916815260200190815260200160002060060160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b600160008154809291906001019190505550600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020859080600181540180825580915050906001820390600052602060002001600090919290919091509060001916905550600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002085908060018154018082558091505090600182039060005260206000200160009091929091909150906000191690555050505050505050505050565b600080828401905083811015151561309157600080fd5b8091505092915050565b6000806130ac888888888888613bd4565b9150613102600080876000191660001916815260200190815260200160002060020160039054906101000a900463ffffffff1660008088600019166000191681526020019081526020016000206001015461424d565b9050600080866000191660001916815260200190815260200160002060020160029054906101000a900460ff1660ff1688511080156131b357508015806131b25750600080866000191660001916815260200190815260200160002060030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b5b15613272576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260588152602001807f4d696e696d756d206e756d626572206f66207369676e6174757265732061726581526020017f206e6f7420636f6c6c656374656420616e642074696d65206c6f636b2065787081526020017f69727920636f6e646974696f6e73206e6f74206d65742121000000000000000081525060600191505060405180910390fd5b5050505050505050565b6000806000806000806000808a60001916600019168152602001908152602001600020945060009350600060018111156132b257fe5b8560020160019054906101000a900460ff1660018111156132cf57fe5b141561369e57600092505b875183101561369957600073ffffffffffffffffffffffffffffffffffffffff16888481518110151561330957fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff16141515156133c5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001807f7a65726f2061646472657373206973206e6f7420616c6c6f776564206173206481526020017f657374696e6174696f6e2061646472657373000000000000000000000000000081525060400191505060405180910390fd5b84600601600089858151811015156133d957fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615156134c5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c8152602001807f44657374696e6174696f6e2061646472657373206973206e6f74206f6e65206f81526020017f6620746865206f776e657273000000000000000000000000000000000000000081525060400191505060405180910390fd5b600087848151811015156134d557fe5b9060200190602002015111151561357a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001807f416d6f756e7420746f2062652073656e742073686f756c64206265206772656181526020017f746572207468616e20300000000000000000000000000000000000000000000081525060400191505060405180910390fd5b6135a4878481518110151561358b57fe5b906020019060200201518561307a90919063ffffffff16565b935060018560080160008a868151811015156135bc57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550878381518110151561362557fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff166108fc888581518110151561365657fe5b906020019060200201519081150290604051600060405180830381858888f1935050505015801561368b573d6000803e3d6000fd5b5082806001019350506132da565b613bc5565b6001808111156136aa57fe5b8560020160019054906101000a900460ff1660018111156136c757fe5b1415613bc4578460040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169150600090505b8751811015613bc357600073ffffffffffffffffffffffffffffffffffffffff16888281518110151561372857fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff16141515156137e4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001807f7a65726f2061646472657373206973206e6f7420616c6c6f776564206173206481526020017f657374696e6174696f6e2061646472657373000000000000000000000000000081525060400191505060405180910390fd5b84600601600089838151811015156137f857fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615156138e4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c8152602001807f44657374696e6174696f6e2061646472657373206973206e6f74206f6e65206f81526020017f6620746865206f776e657273000000000000000000000000000000000000000081525060400191505060405180910390fd5b600087828151811015156138f457fe5b90602001906020020151111515613999576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001807f416d6f756e7420746f2062652073656e742073686f756c64206265206772656181526020017f746572207468616e20300000000000000000000000000000000000000000000081525060400191505060405180910390fd5b6139c387828151811015156139aa57fe5b906020019060200201518561307a90919063ffffffff16565b935060018560080160008a848151811015156139db57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb8983815181101515613a6057fe5b906020019060200201518984815181101515613a7857fe5b906020019060200201516040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015613b0757600080fd5b505af1158015613b1b573d6000803e3d6000fd5b505050506040513d6020811015613b3157600080fd5b81019080805190602001909291905050501515613bb6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f546f6b656e207472616e73666572206661696c65642e0000000000000000000081525060200191505060405180910390fd5b80806001019150506136f9565b5b5b83955050505050509392505050565b600080600080600088518a51148015613bee57508a518a51145b1515613c62576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f522c532c56206c656e677468206d69736d617463682e0000000000000000000081525060200191505060405180910390fd5b60197f01000000000000000000000000000000000000000000000000000000000000000260007f0100000000000000000000000000000000000000000000000000000000000000023089898c60405160200180877effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168152600101867effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526001018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401848051906020019060200280838360005b83811015613db6578082015181840152602081019050613d9b565b50505050905001838051906020019060200280838360005b83811015613de9578082015181840152602081019050613dce565b50505050905001826000191660001916815260200196505050505050506040516020818303038152906040526040518082805190602001908083835b602083101515613e4a5780518252602082019150602081019050602083039250613e25565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902060405160200180807f19457468657265756d205369676e6564204d6573736167653a0a333200000000815250601c0182600019166000191681526020019150506040516020818303038152906040526040518082805190602001908083835b602083101515613efb5780518252602082019150602081019050602083039250613ed6565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390209250600091505b895182101561423c576001838c84815181101515613f4957fe5b906020019060200201518c85815181101515613f6157fe5b906020019060200201518c86815181101515613f7957fe5b90602001906020020151604051600081526020016040526040518085600019166000191681526020018460ff1660ff1681526020018360001916600019168152602001826000191660001916815260200194505050505060206040516020810390808403906000865af1158015613ff4573d6000803e3d6000fd5b505050602060405103519050600080896000191660001916815260200190815260200160002060060160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615156140dc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f496e76616c6964207369676e617475726500000000000000000000000000000081525060200191505060405180910390fd5b600080896000191660001916815260200190815260200160002060070160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515156141b9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f53616d65207369676e61747572652073656e742074776963650000000000000081525060200191505060405180910390fd5b60016000808a6000191660001916815260200190815260200160002060070160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508093508180600101925050613f2f565b839450505050509695505050505050565b60008061426383426142a190919063ffffffff16565b905060008463ffffffff16146142955761428e610e108563ffffffff166142c290919063ffffffff16565b8111614298565b60005b91505092915050565b6000808383111515156142b357600080fd5b82840390508091505092915050565b60008060008414156142d757600091506142f9565b82840290508284828115156142e857fe5b041415156142f557600080fd5b8091505b50929150505600a165627a7a723058200eb572cc26727a325bd0e4a1a834cd8616d50751b6b9ea60b69bc1a6c85024430029", - "deployedBytecode": "0x6080604052600436106100af576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806323b6fd3f146100b45780632d9ef96e1461016e57806346fbcdeb1461019257806357bced7614610287578063642f2eaf14610378578063b0550c66146104da578063b719e28014610543578063b77bf6001461057e578063be84ceaf146105a9578063e4ec8b0014610641578063f0786562146106ea575b600080fd5b61016c600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff169060200190929190803563ffffffff169060200190929190803560001916906020019092919080356bffffffffffffffffffffffff19169060200190929190505050610753565b005b61019060048036038101908080356000191690602001909291905050506109a7565b005b34801561019e57600080fd5b5061026960048036038101908080356bffffffffffffffffffffffff19169060200190929190803560ff169060200190929190803563ffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610e24565b60405180826000191660001916815260200191505060405180910390f35b34801561029357600080fd5b50610376600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff169060200190929190803563ffffffff16906020019092919080356000191690602001909291908035906020019092919080356bffffffffffffffffffffffff19169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506112d0565b005b34801561038457600080fd5b506103a760048036038101908080356000191690602001909291905050506117a5565b604051808b81526020018a81526020018960018111156103c357fe5b60ff1681526020018860018111156103d757fe5b60ff1681526020018760ff1660ff1681526020018663ffffffff1663ffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019a505050505050505050505060405180910390f35b3480156104e657600080fd5b506105296004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506118b0565b604051808215151515815260200191505060405180910390f35b34801561054f57600080fd5b5061057c600480360381019080803560001916906020019092919080359060200190929190505050611922565b005b34801561058a57600080fd5b50610593611ff2565b6040518082815260200191505060405180910390f35b3480156105b557600080fd5b506105ea600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611ff8565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b8381101561062d578082015181840152602081019050610612565b505050509050019250505060405180910390f35b34801561064d57600080fd5b506106e86004803603810190808035906020019082018035906020019190919293919293908035906020019082018035906020019190919293919293908035906020019082018035906020019190919293919293908035600019169060200190929190803590602001908201803590602001919091929391929390803590602001908201803590602001919091929391929390505050612093565b005b3480156106f657600080fd5b506107396004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061267c565b604051808215151515815260200191505060405180910390f35b8160008060008360001916600019168152602001908152602001600020600001541415156107e9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f5472616e73616374696f6e20657869737400000000000000000000000000000081525060200191505060405180910390fd5b87600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561088f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b87600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610935576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b6109488a8a8a8a8a8a348b6000806126ee565b3373ffffffffffffffffffffffffffffffffffffffff1685600019167fce7089d0668849fb9ca29778c0cbf1e764d9efb048d81fd71fb34c94f26db368346040518082815260200191505060405180910390a350505050505050505050565b80600080600083600019166000191681526020019081526020016000206000015414151515610a3e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737400000000000081525060200191505060405180910390fd5b8160006001811115610a4c57fe5b600080836000191660001916815260200190815260200160002060020160009054906101000a900460ff166001811115610a8257fe5b141515610b1d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001807f5472616e73616374696f6e206973206e6f7420696e2046554e4445442073746181526020017f746500000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b826000806001811115610b2c57fe5b600080846000191660001916815260200190815260200160002060020160019054906101000a900460ff166001811115610b6257fe5b141515610bd7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5472616e73616374696f6e207479706520646f6573206e6f74206d617463680081525060200191505060405180910390fd5b84600080826000191660001916815260200190815260200160002060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610cde576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f54686520696e69746961746f72206f6620746865207472616e73616374696f6e81526020017f206973206e6f742062757965720000000000000000000000000000000000000081525060400191505060405180910390fd5b600034111515610d56576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f56616c7565206d7573742062652067726561746572207468616e207a65726f2e81525060200191505060405180910390fd5b610d863460008089600019166000191681526020019081526020016000206000015461307a90919063ffffffff16565b600080886000191660001916815260200190815260200160002060000181905550426000808860001916600019168152602001908152602001600020600101819055503373ffffffffffffffffffffffffffffffffffffffff1686600019167ff66fd2ae9e24a6a24b02e1b5b7512ffde5149a4176085fc0298ae228c9b9d729346040518082815260200191505060405180910390a3505050505050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611070578787878787873060405160200180886bffffffffffffffffffffffff19166bffffffffffffffffffffffff191681526014018760ff1660ff167f01000000000000000000000000000000000000000000000000000000000000000281526001018663ffffffff1663ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014019750505050505050506040516020818303038152906040526040518082805190602001908083835b60208310151561103c5780518252602082019150602081019050602083039250611017565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902090506112c5565b878787878787308860405160200180896bffffffffffffffffffffffff19166bffffffffffffffffffffffff191681526014018860ff1660ff167f01000000000000000000000000000000000000000000000000000000000000000281526001018763ffffffff1663ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401985050505050505050506040516020818303038152906040526040518082805190602001908083835b6020831015156112955780518252602082019150602081019050602083039250611270565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902090505b979650505050505050565b6000846000806000836000191660001916815260200190815260200160002060000154141515611368576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f5472616e73616374696f6e20657869737400000000000000000000000000000081525060200191505060405180910390fd5b8a600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561140e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b8a600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156114b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b84600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561155a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b61156d8e8e8e8e8e8e8e8e60018f6126ee565b8594508473ffffffffffffffffffffffffffffffffffffffff166323b872dd33308b6040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b15801561164757600080fd5b505af115801561165b573d6000803e3d6000fd5b505050506040513d602081101561167157600080fd5b81019080805190602001909291905050501515611742576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252605d8152602001807f546f6b656e207472616e73666572206661696c65642c206d6179626520796f7581526020017f20646964206e6f7420617070726f766520657363726f7720636f6e747261637481526020017f20746f207370656e64206f6e20626568616c66206f662073656e64657200000081525060600191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff1689600019167fce7089d0668849fb9ca29778c0cbf1e764d9efb048d81fd71fb34c94f26db3688a6040518082815260200191505060405180910390a35050505050505050505050505050565b60006020528060005260406000206000915090508060000154908060010154908060020160009054906101000a900460ff16908060020160019054906101000a900460ff16908060020160029054906101000a900460ff16908060020160039054906101000a900463ffffffff16908060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060050160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508a565b6000806000846000191660001916815260200190815260200160002060080160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6000826000806000836000191660001916815260200190815260200160002060000154141515156119bb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737400000000000081525060200191505060405180910390fd5b83600060018111156119c957fe5b600080836000191660001916815260200190815260200160002060020160009054906101000a900460ff1660018111156119ff57fe5b141515611a9a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001807f5472616e73616374696f6e206973206e6f7420696e2046554e4445442073746181526020017f746500000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b846001806001811115611aa957fe5b600080846000191660001916815260200190815260200160002060020160019054906101000a900460ff166001811115611adf57fe5b141515611b54576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5472616e73616374696f6e207479706520646f6573206e6f74206d617463680081525060200191505060405180910390fd5b86600080826000191660001916815260200190815260200160002060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611c5b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f54686520696e69746961746f72206f6620746865207472616e73616374696f6e81526020017f206973206e6f742062757965720000000000000000000000000000000000000081525060400191505060405180910390fd5b600087111515611cd3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f56616c7565206d7573742062652067726561746572207468616e207a65726f2e81525060200191505060405180910390fd5b600080896000191660001916815260200190815260200160002060040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1695508573ffffffffffffffffffffffffffffffffffffffff166323b872dd6000808b6000191660001916815260200190815260200160002060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff16308a6040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b158015611e2757600080fd5b505af1158015611e3b573d6000803e3d6000fd5b505050506040513d6020811015611e5157600080fd5b81019080805190602001909291905050501515611f22576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252605c8152602001807f546f6b656e207472616e73666572206661696c65642c206d6179626520796f7581526020017f20646964206e6f7420617070726f766520657363726f7720636f6e747261637481526020017f20746f207370656e64206f6e20626568616c66206f662062757965720000000081525060600191505060405180910390fd5b611f52876000808b600019166000191681526020019081526020016000206000015461307a90919063ffffffff16565b6000808a6000191660001916815260200190815260200160002060000181905550426000808a60001916600019168152602001908152602001600020600101819055503373ffffffffffffffffffffffffffffffffffffffff1688600019167ff66fd2ae9e24a6a24b02e1b5b7512ffde5149a4176085fc0298ae228c9b9d729896040518082815260200191505060405180910390a35050505050505050565b60015481565b6060600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080548060200260200160405190810160405280929190818152602001828054801561208757602002820191906000526020600020905b8154600019168152602001906001019080831161206f575b50505050509050919050565b8460008060008360001916600019168152602001908152602001600020600001541415151561212a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737400000000000081525060200191505060405180910390fd5b856000600181111561213857fe5b600080836000191660001916815260200190815260200160002060020160009054906101000a900460ff16600181111561216e57fe5b141515612209576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001807f5472616e73616374696f6e206973206e6f7420696e2046554e4445442073746181526020017f746500000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b6000868690501115156122aa576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f4e756d626572206f662064657374696e6174696f6e73206d757374206265206781526020017f726561746572207468616e20300000000000000000000000000000000000000081525060400191505060405180910390fd5b838390508686905014151561234d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260378152602001807f4e756d626572206f662064657374696e6174696f6e73206d757374206d61746381526020017f68206e756d626572206f662076616c7565732073656e7400000000000000000081525060400191505060405180910390fd5b6124468d8d808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508c8c808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508b8b808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508a8a8a8080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505089898080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505061309b565b6001600080896000191660001916815260200190815260200160002060020160006101000a81548160ff0219169083600181111561248057fe5b02179055504260008089600019166000191681526020019081526020016000206001018190555060008088600019166000191681526020019081526020016000206000015461252e8888888080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505087878080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505061327c565b1415156125ef576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260488152602001807f546f74616c2076616c756520746f2062652072656c6561736564206d7573742081526020017f626520657175616c20746f20746865207472616e73616374696f6e206573637281526020017f6f772076616c756500000000000000000000000000000000000000000000000081525060600191505060405180910390fd5b86600019167f688e2a1b34445bcd47b0e11ba2a9c8c4d850a1831b64199b59d1c70e29701545878787876040518080602001806020018381038352878782818152602001925060200280828437820191505083810382528585828181526020019250602002808284378201915050965050505050505060405180910390a250505050505050505050505050565b6000806000846000191660001916815260200190815260200160002060070160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b8873ffffffffffffffffffffffffffffffffffffffff168a73ffffffffffffffffffffffffffffffffffffffff1614151515612792576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f427579657220616e642073656c6c6572206172652073616d650000000000000081525060200191505060405180910390fd5b60008411151561280a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f56616c756520706173736564206973203000000000000000000000000000000081525060200191505060405180910390fd5b60008760ff16118015612821575060038760ff1611155b15156128bb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603d8152602001807f5468726573686f6c642063616e6e6f742062652067726561746572207468616e81526020017f203320616e64206d7573742062652067726561746572207468616e203000000081525060400191505060405180910390fd5b60018760ff1614806128fa5750600073ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff1614155b15156129ba576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260488152602001807f456974686572207468726573686f6c642073686f756c642062652031206f722081526020017f76616c6964206d6f64657261746f7220616464726573732073686f756c64206281526020017f652070617373656400000000000000000000000000000000000000000000000081525060600191505060405180910390fd5b6129c98388888d8d8d87610e24565b600019168560001916141515612a6d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260398152602001807f43616c63756c6174656420736372697074206861736820646f6573206e6f742081526020017f6d61746368207061737365642073637269707420686173682e0000000000000081525060400191505060405180910390fd5b6101406040519081016040528085815260200142815260200160006001811115612a9357fe5b8152602001836001811115612aa457fe5b81526020018860ff1681526020018763ffffffff1681526020018b73ffffffffffffffffffffffffffffffffffffffff1681526020018a73ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020018973ffffffffffffffffffffffffffffffffffffffff168152506000808760001916600019168152602001908152602001600020600082015181600001556020820151816001015560408201518160020160006101000a81548160ff02191690836001811115612b7e57fe5b021790555060608201518160020160016101000a81548160ff02191690836001811115612ba757fe5b021790555060808201518160020160026101000a81548160ff021916908360ff16021790555060a08201518160020160036101000a81548163ffffffff021916908363ffffffff16021790555060c08201518160020160076101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060e08201518160030160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506101008201518160040160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506101208201518160050160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055509050506001600080876000191660001916815260200190815260200160002060060160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600080876000191660001916815260200190815260200160002060060160008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600080866000191660001916815260200190815260200160002060060160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151515612efe576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f456974686572206275796572206f722073656c6c65722069732070617373656481526020017f206173206d6f64657261746f720000000000000000000000000000000000000081525060400191505060405180910390fd5b60018760ff161115612f7e576001600080876000191660001916815260200190815260200160002060060160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b600160008154809291906001019190505550600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020859080600181540180825580915050906001820390600052602060002001600090919290919091509060001916905550600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002085908060018154018082558091505090600182039060005260206000200160009091929091909150906000191690555050505050505050505050565b600080828401905083811015151561309157600080fd5b8091505092915050565b6000806130ac888888888888613bd4565b9150613102600080876000191660001916815260200190815260200160002060020160039054906101000a900463ffffffff1660008088600019166000191681526020019081526020016000206001015461424d565b9050600080866000191660001916815260200190815260200160002060020160029054906101000a900460ff1660ff1688511080156131b357508015806131b25750600080866000191660001916815260200190815260200160002060030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b5b15613272576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260588152602001807f4d696e696d756d206e756d626572206f66207369676e6174757265732061726581526020017f206e6f7420636f6c6c656374656420616e642074696d65206c6f636b2065787081526020017f69727920636f6e646974696f6e73206e6f74206d65742121000000000000000081525060600191505060405180910390fd5b5050505050505050565b6000806000806000806000808a60001916600019168152602001908152602001600020945060009350600060018111156132b257fe5b8560020160019054906101000a900460ff1660018111156132cf57fe5b141561369e57600092505b875183101561369957600073ffffffffffffffffffffffffffffffffffffffff16888481518110151561330957fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff16141515156133c5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001807f7a65726f2061646472657373206973206e6f7420616c6c6f776564206173206481526020017f657374696e6174696f6e2061646472657373000000000000000000000000000081525060400191505060405180910390fd5b84600601600089858151811015156133d957fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615156134c5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c8152602001807f44657374696e6174696f6e2061646472657373206973206e6f74206f6e65206f81526020017f6620746865206f776e657273000000000000000000000000000000000000000081525060400191505060405180910390fd5b600087848151811015156134d557fe5b9060200190602002015111151561357a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001807f416d6f756e7420746f2062652073656e742073686f756c64206265206772656181526020017f746572207468616e20300000000000000000000000000000000000000000000081525060400191505060405180910390fd5b6135a4878481518110151561358b57fe5b906020019060200201518561307a90919063ffffffff16565b935060018560080160008a868151811015156135bc57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550878381518110151561362557fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff166108fc888581518110151561365657fe5b906020019060200201519081150290604051600060405180830381858888f1935050505015801561368b573d6000803e3d6000fd5b5082806001019350506132da565b613bc5565b6001808111156136aa57fe5b8560020160019054906101000a900460ff1660018111156136c757fe5b1415613bc4578460040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169150600090505b8751811015613bc357600073ffffffffffffffffffffffffffffffffffffffff16888281518110151561372857fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff16141515156137e4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001807f7a65726f2061646472657373206973206e6f7420616c6c6f776564206173206481526020017f657374696e6174696f6e2061646472657373000000000000000000000000000081525060400191505060405180910390fd5b84600601600089838151811015156137f857fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615156138e4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c8152602001807f44657374696e6174696f6e2061646472657373206973206e6f74206f6e65206f81526020017f6620746865206f776e657273000000000000000000000000000000000000000081525060400191505060405180910390fd5b600087828151811015156138f457fe5b90602001906020020151111515613999576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001807f416d6f756e7420746f2062652073656e742073686f756c64206265206772656181526020017f746572207468616e20300000000000000000000000000000000000000000000081525060400191505060405180910390fd5b6139c387828151811015156139aa57fe5b906020019060200201518561307a90919063ffffffff16565b935060018560080160008a848151811015156139db57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb8983815181101515613a6057fe5b906020019060200201518984815181101515613a7857fe5b906020019060200201516040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015613b0757600080fd5b505af1158015613b1b573d6000803e3d6000fd5b505050506040513d6020811015613b3157600080fd5b81019080805190602001909291905050501515613bb6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f546f6b656e207472616e73666572206661696c65642e0000000000000000000081525060200191505060405180910390fd5b80806001019150506136f9565b5b5b83955050505050509392505050565b600080600080600088518a51148015613bee57508a518a51145b1515613c62576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f522c532c56206c656e677468206d69736d617463682e0000000000000000000081525060200191505060405180910390fd5b60197f01000000000000000000000000000000000000000000000000000000000000000260007f0100000000000000000000000000000000000000000000000000000000000000023089898c60405160200180877effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168152600101867effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526001018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401848051906020019060200280838360005b83811015613db6578082015181840152602081019050613d9b565b50505050905001838051906020019060200280838360005b83811015613de9578082015181840152602081019050613dce565b50505050905001826000191660001916815260200196505050505050506040516020818303038152906040526040518082805190602001908083835b602083101515613e4a5780518252602082019150602081019050602083039250613e25565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902060405160200180807f19457468657265756d205369676e6564204d6573736167653a0a333200000000815250601c0182600019166000191681526020019150506040516020818303038152906040526040518082805190602001908083835b602083101515613efb5780518252602082019150602081019050602083039250613ed6565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390209250600091505b895182101561423c576001838c84815181101515613f4957fe5b906020019060200201518c85815181101515613f6157fe5b906020019060200201518c86815181101515613f7957fe5b90602001906020020151604051600081526020016040526040518085600019166000191681526020018460ff1660ff1681526020018360001916600019168152602001826000191660001916815260200194505050505060206040516020810390808403906000865af1158015613ff4573d6000803e3d6000fd5b505050602060405103519050600080896000191660001916815260200190815260200160002060060160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615156140dc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f496e76616c6964207369676e617475726500000000000000000000000000000081525060200191505060405180910390fd5b600080896000191660001916815260200190815260200160002060070160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515156141b9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f53616d65207369676e61747572652073656e742074776963650000000000000081525060200191505060405180910390fd5b60016000808a6000191660001916815260200190815260200160002060070160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508093508180600101925050613f2f565b839450505050509695505050505050565b60008061426383426142a190919063ffffffff16565b905060008463ffffffff16146142955761428e610e108563ffffffff166142c290919063ffffffff16565b8111614298565b60005b91505092915050565b6000808383111515156142b357600080fd5b82840390508091505092915050565b60008060008414156142d757600091506142f9565b82840290508284828115156142e857fe5b041415156142f557600080fd5b8091505b50929150505600a165627a7a723058200eb572cc26727a325bd0e4a1a834cd8616d50751b6b9ea60b69bc1a6c85024430029", - "sourceMap": "605:20561:0:-;;;1798:1;1764:35;;605:20561;8:9:-1;5:2;;;30:1;27;20:12;5:2;605:20561:0;;;;;;;", - "deployedSourceMap": "605:20561:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3859:701;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7761:579;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12199:1017;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12199:1017:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5508:1030;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5508:1030:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1706:51;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1706:51:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6779:221;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6779:221:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8668:897;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8668:897:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1764:35;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1764:35:0;;;;;;;;;;;;;;;;;;;;;;;9682:194;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9682:194:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;9682:194:0;;;;;;;;;;;;;;;;;10474:1204;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10474:1204:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7240:194;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7240:194:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3859:701;4136:10;2222:1;2188:12;:24;2201:10;2188:24;;;;;;;;;;;;;;;;;:30;;;:35;2180:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4171:5;2555:1;2529:28;;:14;:28;;;;2521:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4201:6;2555:1;2529:28;;:14;:28;;;;2521:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4223:264;4252:5;4271:6;4291:9;4314;4337:12;4363:10;4387:9;4410:8;4432:21;4475:1;4223:15;:264::i;:::-;4530:10;4511:41;;4518:10;4511:41;;;;4542:9;4511:41;;;;;;;;;;;;;;;;;;2591:1;2255;3859:701;;;;;;;;:::o;7761:579::-;7884:10;2052:1;2018:12;:24;2031:10;2018:24;;;;;;;;;;;;;;;;;:30;;;:35;;1997:96;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7918:10;2378:13;2343:48;;;;;;;;:12;:24;2356:10;2343:24;;;;;;;;;;;;;;;;;:31;;;;;;;;;;;;:48;;;;;;;;;2322:117;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7959:10;7971:21;2789:15;2745:59;;;;;;;;:12;:24;2758:10;2745:24;;;;;;;;;;;;;;;;;:40;;;;;;;;;;;;:59;;;;;;;;;2724:125;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8012:10;2957:12;:24;2970:10;2957:24;;;;;;;;;;;;;;;;;:30;;;;;;;;;;;;2943:44;;:10;:44;;;2922:124;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8068:1;8056:9;:13;8048:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8150;8198:9;8150:12;:24;8163:10;8150:24;;;;;;;;;;;;;;;;;:30;;;:47;;:58;;;;:::i;:::-;8117:12;:24;8130:10;8117:24;;;;;;;;;;;;;;;;;:30;;:91;;;;8258:15;8218:12;:24;8231:10;8218:24;;;;;;;;;;;;;;;;;:37;;:55;;;;8311:10;8289:44;;8299:10;8289:44;;;;8323:9;8289:44;;;;;;;;;;;;;;;;;;2859:1;2449;;2103;7761:579;;:::o;12199:1017::-;12469:7;12520:1;12496:26;;:12;:26;;;12492:718;;;12610:8;12640:9;12671:12;12705:5;12732:6;12760:9;12799:4;12572:250;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;12572:250:0;;;12545:291;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;12545:291:0;;;;;;;;;;;;;;;;12538:298;;;;12492:718;12939:8;12969:9;13000:12;13034:5;13061:6;13089:9;13128:4;13155:12;12901:284;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;12901:284:0;;;12874:325;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;12874:325:0;;;;;;;;;;;;;;;;12867:332;;12199:1017;;;;;;;;;;:::o;5508:1030::-;6225:20;5827:10;2222:1;2188:12;:24;2201:10;2188:24;;;;;;;;;;;;;;;;;:30;;;:35;2180:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5862:5;2555:1;2529:28;;:14;:28;;;;2521:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5892:6;2555:1;2529:28;;:14;:28;;;;2521:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5923:12;2555:1;2529:28;;:14;:28;;;;2521:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5952:262;5981:5;6000:6;6020:9;6043;6066:12;6092:10;6116:5;6135:8;6157:21;6192:12;5952:15;:262::i;:::-;6263:12;6225:51;;6308:5;:18;;;6327:10;6347:4;6354:5;6308:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6308:52:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6308:52:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6308:52:0;;;;;;;;;;;;;;;;6287:192;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6513:10;6494:37;;6501:10;6494:37;;;;6525:5;6494:37;;;;;;;;;;;;;;;;;;2591:1;;2255;5508:1030;;;;;;;;;;;:::o;1706:51::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;6779:221::-;6915:4;6942:12;:24;6955:10;6942:24;;;;;;;;;;;;;;;;;:38;;:51;6981:11;6942:51;;;;;;;;;;;;;;;;;;;;;;;;;6935:58;;6779:221;;;;:::o;8668:897::-;9019:20;8799:10;2052:1;2018:12;:24;2031:10;2018:24;;;;;;;;;;;;;;;;;:30;;;:35;;1997:96;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8833:10;2378:13;2343:48;;;;;;;;:12;:24;2356:10;2343:24;;;;;;;;;;;;;;;;;:31;;;;;;;;;;;;:48;;;;;;;;;2322:117;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8874:10;8886:21;2789:15;2745:59;;;;;;;;:12;:24;2758:10;2745:24;;;;;;;;;;;;;;;;;:40;;;;;;;;;;;;:59;;;;;;;;;2724:125;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8927:10;2957:12;:24;2970:10;2957:24;;;;;;;;;;;;;;;;;:30;;;;;;;;;;;;2943:44;;:10;:44;;;2922:124;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8970:1;8962:5;:9;8954:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9070:12;:24;9083:10;9070:24;;;;;;;;;;;;;;;;;:37;;;;;;;;;;;;9019:98;;9149:5;:18;;;9168:12;:24;9181:10;9168:24;;;;;;;;;;;;;;;;;:30;;;;;;;;;;;;9208:4;9215:5;9149:72;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9149:72:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9149:72:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;9149:72:0;;;;;;;;;;;;;;;;9128:211;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9383:54;9431:5;9383:12;:24;9396:10;9383:24;;;;;;;;;;;;;;;;;:30;;;:47;;:54;;;;:::i;:::-;9350:12;:24;9363:10;9350:24;;;;;;;;;;;;;;;;;:30;;:87;;;;9487:15;9447:12;:24;9460:10;9447:24;;;;;;;;;;;;;;;;;:37;;:55;;;;9540:10;9518:40;;9528:10;9518:40;;;;9552:5;9518:40;;;;;;;;;;;;;;;;;;2859:1;2449;;2103;8668:897;;;;:::o;1764:35::-;;;;:::o;9682:194::-;9804:9;9837:18;:32;9856:12;9837:32;;;;;;;;;;;;;;;9830:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9682:194;;;:::o;10474:1204::-;10696:10;2052:1;2018:12;:24;2031:10;2018:24;;;;;;;;;;;;;;;;;:30;;;:35;;1997:96;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10730:10;2378:13;2343:48;;;;;;;;:12;:24;2356:10;2343:24;;;;;;;;;;;;;;;;;:31;;;;;;;;;;;;:48;;;;;;;;;2322:117;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10800:1;10780:12;;:19;;:21;10759:114;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10927:7;;:14;;10904:12;;:19;;:37;10883:139;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11040:153;11072:4;;11040:153;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11090:4;;11040:153;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11108:4;;11040:153;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11126:10;11150:12;;11040:153;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11176:7;;11040:153;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:18;:153::i;:::-;11238:15;11204:12;:24;11217:10;11204:24;;;;;;;;;;;;;;;;;:31;;;:49;;;;;;;;;;;;;;;;;;;;;;;;11377:15;11337:12;:24;11350:10;11337:24;;;;;;;;;;;;;;;;;:37;;:55;;;;11476:12;:24;11489:10;11476:24;;;;;;;;;;;;;;;;;:30;;;11423:49;11438:10;11450:12;;11423:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11464:7;;11423:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:14;:49::i;:::-;:83;11402:202;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11637:10;11628:43;;;;11649:12;;11663:7;;11628:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2103:1;10474:1204;;;;;;;;;;;;:::o;7240:194::-;7363:4;7390:12;:24;7403:10;7390:24;;;;;;;;;;;;;;;;;:30;;:37;7421:5;7390:37;;;;;;;;;;;;;;;;;;;;;;;;;7383:44;;7240:194;;;;:::o;18523:2641::-;18885:6;18876:15;;:5;:15;;;;18868:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18996:1;18988:5;:9;18980:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19134:1;19122:9;:13;;;:31;;;;;19152:1;19139:9;:14;;;;19122:31;19101:140;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19535:1;19522:9;:14;;;:41;;;;19561:1;19540:23;;:9;:23;;;;19522:41;19501:160;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19707:226;19750:8;19776:9;19803:12;19833:5;19856:6;19880:9;19907:12;19707:25;:226::i;:::-;19693:240;;;:10;:240;;;;19672:345;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20055:373;;;;;;;;;20176:5;20055:373;;;;20244:15;20055:373;;;;20203:13;20055:373;;;;;;;;;;;;20363:15;20055:373;;;;;;;;;;;;20284:9;20055:373;;;;;;20321:12;20055:373;;;;;;20088:5;20055:373;;;;;;20115:6;20055:373;;;;;;20405:12;20055:373;;;;;;20146:9;20055:373;;;;;20028:12;:24;20041:10;20028:24;;;;;;;;;;;;;;;;;:400;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20482:4;20439:12;:24;20452:10;20439:24;;;;;;;;;;;;;;;;;:32;;:40;20472:6;20439:40;;;;;;;;;;;;;;;;:47;;;;;;;;;;;;;;;;;;20538:4;20496:12;:24;20509:10;20496:24;;;;;;;;;;;;;;;;;:32;;:39;20529:5;20496:39;;;;;;;;;;;;;;;;:46;;;;;;;;;;;;;;;;;;20650:12;:24;20663:10;20650:24;;;;;;;;;;;;;;;;;:32;;:43;20683:9;20650:43;;;;;;;;;;;;;;;;;;;;;;;;;20649:44;20628:137;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20937:1;20925:9;:13;;;20921:94;;;21000:4;20954:12;:24;20967:10;20954:24;;;;;;;;;;;;;;;;;:32;;:43;20987:9;20954:43;;;;;;;;;;;;;;;;:50;;;;;;;;;;;;;;;;;;20921:94;21033:16;;:18;;;;;;;;;;;;;21062;:25;21081:5;21062:25;;;;;;;;;;;;;;;21093:10;21062:42;;39:1:-1;33:3;27:10;23:18;57:10;52:3;45:23;79:10;72:17;;0:93;21062:42:0;;;;;;;;;;;;;;;;;;;;;;;;;;;21114:18;:26;21133:6;21114:26;;;;;;;;;;;;;;;21146:10;21114:43;;39:1:-1;33:3;27:10;23:18;57:10;52:3;45:23;79:10;72:17;;0:93;21114:43:0;;;;;;;;;;;;;;;;;;;;;;;;;;;18523:2641;;;;;;;;;;:::o;1272:131:2:-;1330:7;1345:9;1361:1;1357;:5;1345:17;;1381:1;1376;:6;;1368:15;;;;;;;;1397:1;1390:8;;1272:131;;;;;:::o;13490:1008:0:-;13711:21;13898:20;13735:152;13766:4;13784;13802;13820:10;13844:12;13870:7;13735:17;:152::i;:::-;13711:176;;13921:130;13953:12;:24;13966:10;13953:24;;;;;;;;;;;;;;;;;:37;;;;;;;;;;;;14004:12;:24;14017:10;14004:24;;;;;;;;;;;;;;;;;:37;;;13921:18;:130::i;:::-;13898:153;;14237:12;:24;14250:10;14237:24;;;;;;;;;;;;;;;;;:34;;;;;;;;;;;;14223:48;;:4;:11;:48;:122;;;;;14277:15;14276:16;:68;;;;14313:12;:24;14326:10;14313:24;;;;;;;;;;;;;;;;;:31;;;;;;;;;;;;14296:48;;:13;:48;;;;14276:68;14223:122;14202:289;;;14382:98;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14202:289;13490:1008;;;;;;;;:::o;14624:1723::-;14772:7;14795:21;14854:24;14960:9;15612:20;15685:9;14819:12;:24;14832:10;14819:24;;;;;;;;;;;;;;;;;14795:48;;14881:1;14854:28;;14918:21;14897:42;;;;;;;;:1;:17;;;;;;;;;;;;:42;;;;;;;;;14893:1414;;;14972:1;14960:13;;14955:577;14979:12;:19;14975:1;:23;14955:577;;;15059:1;15032:29;;:12;15045:1;15032:15;;;;;;;;;;;;;;;;;;:29;;;;15024:92;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15143:1;:9;;:26;15153:12;15166:1;15153:15;;;;;;;;;;;;;;;;;;15143:26;;;;;;;;;;;;;;;;;;;;;;;;;15135:83;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15258:1;15245:7;15253:1;15245:10;;;;;;;;;;;;;;;;;;:14;15237:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15344:32;15365:7;15373:1;15365:10;;;;;;;;;;;;;;;;;;15344:16;:20;;:32;;;;:::i;:::-;15325:51;;15430:4;15395:1;:15;;:32;15411:12;15424:1;15411:15;;;;;;;;;;;;;;;;;;15395:32;;;;;;;;;;;;;;;;:39;;;;;;;;;;;;;;;;;;15481:12;15494:1;15481:15;;;;;;;;;;;;;;;;;;:24;;:36;15506:7;15514:1;15506:10;;;;;;;;;;;;;;;;;;15481:36;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;15481:36:0;15000:3;;;;;;;14955:577;;;14893:1414;;;15574:21;15553:42;;;;;;;;:1;:17;;;;;;;;;;;;:42;;;;;;;;;15549:758;;;15650:1;:14;;;;;;;;;;;;15612:53;;15697:1;15685:13;;15680:617;15702:12;:19;15700:1;:21;15680:617;;;15782:1;15755:29;;:12;15768:1;15755:15;;;;;;;;;;;;;;;;;;:29;;;;15747:92;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15866:1;:9;;:26;15876:12;15889:1;15876:15;;;;;;;;;;;;;;;;;;15866:26;;;;;;;;;;;;;;;;;;;;;;;;;15858:83;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15981:1;15968:7;15976:1;15968:10;;;;;;;;;;;;;;;;;;:14;15960:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16067:32;16088:7;16096:1;16088:10;;;;;;;;;;;;;;;;;;16067:16;:20;;:32;;;;:::i;:::-;16048:51;;16152:4;16117:1;:15;;:32;16133:12;16146:1;16133:15;;;;;;;;;;;;;;;;;;16117:32;;;;;;;;;;;;;;;;:39;;;;;;;;;;;;;;;;;;16212:5;:14;;;16227:12;16240:1;16227:15;;;;;;;;;;;;;;;;;;16244:7;16252:1;16244:10;;;;;;;;;;;;;;;;;;16212:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;16212:43:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;16212:43:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;16212:43:0;;;;;;;;;;;;;;;;16204:78;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15723:3;;;;;;;15680:617;;;15549:758;14893:1414;16324:16;16317:23;;14624:1723;;;;;;;;;;:::o;16532:1581::-;16754:7;16915:19;17033:14;17501:6;17550:17;16814:4;:11;16799:4;:11;:26;:56;;;;;16844:4;:11;16829:4;:11;:26;16799:56;16778:126;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17237:4;17232:10;;17273:1;17268:7;;17309:4;17340:12;17378:7;17411:10;17190:253;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;17190:253:0;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;17190:253:0;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;17190:253:0;;;17159:302;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;17159:302:0;;;;;;;;;;;;;;;;17073:402;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;17073:402:0;;;17050:435;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;17050:435:0;;;;;;;;;;;;;;;;17033:452;;17510:1;17501:10;;17496:582;17517:4;:11;17513:1;:15;17496:582;;;17570:122;17597:6;17621:4;17626:1;17621:7;;;;;;;;;;;;;;;;;;17646:4;17651:1;17646:7;;;;;;;;;;;;;;;;;;17671:4;17676:1;17671:7;;;;;;;;;;;;;;;;;;17570:122;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;17570:122:0;;;;;;;;17550:142;;17732:12;:24;17745:10;17732:24;;;;;;;;;;;;;;;;;:32;;:43;17765:9;17732:43;;;;;;;;;;;;;;;;;;;;;;;;;17707:120;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17867:12;:24;17880:10;17867:24;;;;;;;;;;;;;;;;;:30;;:41;17898:9;17867:41;;;;;;;;;;;;;;;;;;;;;;;;;17866:42;17841:127;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18026:4;17982:12;:24;17995:10;17982:24;;;;;;;;;;;;;;;;;:30;;:41;18013:9;17982:41;;;;;;;;;;;;;;;;:48;;;;;;;;;;;;;;;;;;18058:9;18044:23;;17530:3;;;;;;;17496:582;;;18095:11;18088:18;;16532:1581;;;;;;;;;;;;:::o;18119:317::-;18258:4;18278:17;18298:21;18306:12;18298:3;:7;;:21;;;;:::i;:::-;18278:41;;18366:1;18350:12;:17;;;:69;;18388:31;18414:4;18396:12;18388:21;;:25;;:31;;;;:::i;:::-;18376:9;:43;18350:69;;;18370:5;18350:69;18329:100;;18119:317;;;;;:::o;1078:131:2:-;1136:7;1172:9;1164:1;1159;:6;;1151:15;;;;;;;;1188:1;1184;:5;1172:17;;1203:1;1196:8;;1078:131;;;;;:::o;204:381::-;262:7;523:9;491:1;486;:6;482:35;;;509:1;502:8;;;;482:35;539:1;535;:5;523:17;;563:1;558;554;:5;;;;;;;;:10;546:19;;;;;;;;579:1;572:8;;204:381;;;;;;:::o", - "source": "pragma solidity 0.4.24;\n\nimport \"openzeppelin-solidity/contracts/math/SafeMath.sol\";\n\nimport \"../token/ITokenContract.sol\";\n\n\n/**\n* @dev Supports ERC20 tokens\n* The escrow smart contract for the open bazaar trades in Ethereum\n* The smart contract is designed keeping in mind the current wallet interface of the OB-core\n* https://github.com/OpenBazaar/wallet-interface/blob/master/wallet.go\n* Current wallet interface strictly adheres to UTXO(bitcoin) model\n* Please read below mentioned link for detailed specs\n* https://github.com/OpenBazaar/smart-contracts/blob/master/contracts/escrow/EscrowSpec.md\n*/\ncontract Escrow_v1_0 {\n\n using SafeMath for uint256;\n\n enum Status {FUNDED, RELEASED}\n\n enum TransactionType {ETHER, TOKEN}\n\n event Executed(\n bytes32 indexed scriptHash,\n address[] destinations,\n uint256[] amounts\n );\n\n event FundAdded(\n bytes32 indexed scriptHash,\n address indexed from,\n uint256 valueAdded\n );\n\n event Funded(\n bytes32 indexed scriptHash, \n address indexed from, \n uint256 value\n );\n\n struct Transaction {\n uint256 value;\n uint256 lastModified;//Time at which transaction was last modified\n Status status;\n TransactionType transactionType;\n uint8 threshold;\n uint32 timeoutHours;\n address buyer;\n address seller;\n address tokenAddress;//Token address in case of token transfer\n address moderator;\n mapping(address=>bool) isOwner;//to keep track of owners.\n mapping(address=>bool) voted;//to keep track of who all voted\n mapping(address=>bool) beneficiaries;//Benefeciaries of execution\n }\n\n mapping(bytes32 => Transaction) public transactions;\n\n uint256 public transactionCount = 0;\n\n //Contains mapping between each party and all of their transactions\n mapping(address => bytes32[]) private partyVsTransaction;\n\n modifier transactionExist(bytes32 scriptHash) {\n require(\n transactions[scriptHash].value != 0, \"Transaction does not exist\"\n );\n _;\n }\n\n modifier transactionDoesNotExist(bytes32 scriptHash) {\n require(transactions[scriptHash].value == 0, \"Transaction exist\");\n _;\n }\n\n modifier inFundedState(bytes32 scriptHash) {\n require(\n transactions[scriptHash].status == Status.FUNDED, \"Transaction is not in FUNDED state\"\n );\n _;\n }\n\n modifier nonZeroAddress(address addressToCheck) {\n require(addressToCheck != address(0), \"Zero address passed\");\n _;\n }\n\n modifier checkTransactionType(\n bytes32 scriptHash,\n TransactionType transactionType\n )\n {\n require(\n transactions[scriptHash].transactionType == transactionType, \"Transaction type does not match\"\n );\n _;\n }\n\n modifier onlyBuyer(bytes32 scriptHash) {\n require(\n msg.sender == transactions[scriptHash].buyer, \"The initiator of the transaction is not buyer\"\n );\n _;\n }\n\n /**\n * @dev Add new transaction in the contract\n * @param buyer The buyer of the transaction\n * @param seller The seller of the listing associated with the transaction\n * @param moderator Moderator for this transaction\n * @param threshold Minimum number of signatures required to released funds\n * @param timeoutHours Hours after which seller can release funds into his favour by signing transaction unilaterally\n * @param scriptHash keccak256 hash of the redeem script\n * @param uniqueId bytes20 unique id for the transaction, generated by ETH wallet\n * Redeem Script format will be following\n \n * Pass amount of the ethers to be put in escrow\n */\n function addTransaction(\n address buyer,\n address seller,\n address moderator,\n uint8 threshold,\n uint32 timeoutHours,\n bytes32 scriptHash,\n bytes20 uniqueId\n )\n external\n payable\n transactionDoesNotExist(scriptHash)\n nonZeroAddress(buyer)\n nonZeroAddress(seller)\n {\n _addTransaction(\n buyer,\n seller,\n moderator,\n threshold,\n timeoutHours,\n scriptHash,\n msg.value,\n uniqueId,\n TransactionType.ETHER,\n address(0)\n );\n \n emit Funded(scriptHash, msg.sender, msg.value);\n\n }\n\n /**\n * @dev Add new transaction in the contract\n * @param buyer The buyer of the transaction\n * @param seller The seller of the listing associated with the transaction\n * @param moderator Moderator for this transaction\n * @param threshold Minimum number of signatures required to released funds\n * @param timeoutHours Hours after which seller can release funds into his favour by signing transaction unilaterally\n * @param scriptHash keccak256 hash of the redeem script\n * @param value Amount of tokens to be put in escrow\n * @param uniqueId bytes20 unique id for the transaction, generated by ETH wallet\n * @param tokenAddress Address of the token to be used\n * Redeem Script format will be following\n \n * Approve escrow contract to spend amount of token on sender's behalf\n */\n function addTokenTransaction(\n address buyer,\n address seller,\n address moderator,\n uint8 threshold,\n uint32 timeoutHours,\n bytes32 scriptHash,\n uint256 value,\n bytes20 uniqueId,\n address tokenAddress\n )\n external\n transactionDoesNotExist(scriptHash)\n nonZeroAddress(buyer)\n nonZeroAddress(seller)\n nonZeroAddress(tokenAddress)\n {\n\n _addTransaction(\n buyer,\n seller,\n moderator,\n threshold,\n timeoutHours,\n scriptHash,\n value,\n uniqueId,\n TransactionType.TOKEN,\n tokenAddress\n );\n\n ITokenContract token = ITokenContract(tokenAddress);\n\n require(\n token.transferFrom(msg.sender, address(this), value),\n \"Token transfer failed, maybe you did not approve escrow contract to spend on behalf of sender\"\n );\n emit Funded(scriptHash, msg.sender, value);\n }\n\n /**\n * @dev This method will check whether given address was a beneficiary of transaction execution or not\n * @param scriptHash script hash of the transaction\n * @param beneficiary Beneficiary address to be checked\n */\n function checkBeneficiary(\n bytes32 scriptHash,\n address beneficiary\n )\n external\n view\n returns (bool)\n {\n return transactions[scriptHash].beneficiaries[beneficiary];\n }\n\n /**\n * @dev This method will check whether given party has voted or not\n * @param scriptHash script hash of the transaction\n * @param party Address of the party whose vote has to be checked\n * @return bool vote\n */\n function checkVote(\n bytes32 scriptHash,\n address party\n )\n external\n view\n returns (bool)\n {\n return transactions[scriptHash].voted[party];\n }\n\n /**\n * @dev Allows buyer of the transaction to add more funds(ether) in the transaction. \n * This will help to cater scenarios wherein initially buyer missed to fund transaction as required\n * @param scriptHash script hash of the transaction\n * Only buyer of the transaction can invoke this method\n */\n function addFundsToTransaction(\n bytes32 scriptHash\n )\n external\n payable\n transactionExist(scriptHash)\n inFundedState(scriptHash)\n checkTransactionType(scriptHash, TransactionType.ETHER)\n onlyBuyer(scriptHash)\n \n {\n\n require(msg.value > 0, \"Value must be greater than zero.\");\n\n transactions[scriptHash].value = transactions[scriptHash].value\n .add(msg.value);\n transactions[scriptHash].lastModified = block.timestamp;\n\n emit FundAdded(scriptHash, msg.sender, msg.value);\n }\n\n /**\n * @dev Allows buyer of the transaction to add more funds(Tokens) in the transaction. \n * This will help to cater scenarios wherein initially buyer missed to fund transaction as required\n * @param scriptHash script hash of the transaction\n * Only buyer of the transaction can invoke this method\n */\n function addTokensToTransaction(\n bytes32 scriptHash,\n uint256 value\n )\n external\n transactionExist(scriptHash)\n inFundedState(scriptHash)\n checkTransactionType(scriptHash, TransactionType.TOKEN)\n onlyBuyer(scriptHash)\n {\n\n require(value > 0, \"Value must be greater than zero.\");\n\n ITokenContract token = ITokenContract(\n transactions[scriptHash].tokenAddress\n );\n\n require(\n token.transferFrom(transactions[scriptHash].buyer, address(this), value),\n \"Token transfer failed, maybe you did not approve escrow contract to spend on behalf of buyer\"\n );\n\n transactions[scriptHash].value = transactions[scriptHash].value\n .add(value);\n transactions[scriptHash].lastModified = block.timestamp;\n\n emit FundAdded(scriptHash, msg.sender, value);\n }\n\n /**\n *@dev Returns all transaction ids for a party\n *@param partyAddress Address of the party\n */\n function getAllTransactionsForParty(\n address partyAddress\n ) \n external \n view \n returns (bytes32[]) \n {\n return partyVsTransaction[partyAddress];\n }\n\n /**\n *@dev This method will be used to release funds associated with the transaction\n * Please see specs https://github.com/OpenBazaar/smart-contracts/blob/master/contracts/escrow/EscrowSpec.md\n *@param sigV Array containing V component of all the signatures\n *@param sigR Array containing R component of all the signatures\n *@param signS Array containing S component of all the signatures\n *@param scriptHash script hash of the transaction\n *@param destinations List of addresses who will receive funds\n *@param amounts amount released to each destination\n */\n function execute(\n uint8[] sigV,\n bytes32[] sigR,\n bytes32[] sigS,\n bytes32 scriptHash,\n address[] destinations,\n uint256[] amounts\n )\n external\n transactionExist(scriptHash)\n inFundedState(scriptHash)\n { \n require(\n destinations.length>0, \n \"Number of destinations must be greater than 0\"\n );\n require(\n destinations.length == amounts.length,\n \"Number of destinations must match number of values sent\"\n );\n \n _verifyTransaction(\n sigV,\n sigR,\n sigS,\n scriptHash,\n destinations,\n amounts\n );\n\n transactions[scriptHash].status = Status.RELEASED;\n //Last modified timestamp modified, which will be used by rewards\n transactions[scriptHash].lastModified = block.timestamp;\n require(\n _transferFunds(scriptHash, destinations, amounts) == transactions[scriptHash].value,\n \"Total value to be released must be equal to the transaction escrow value\"\n );\n \n emit Executed(scriptHash, destinations, amounts);\n }\n\n\n /**\n *@dev Method for calculating script hash. Calculation will depend upon the type of transaction\n * ETHER Type transaction-:\n * Script Hash- keccak256(uniqueId, threshold, timeoutHours, buyer, seller, moderator, multiSigContractAddress)\n * TOKEN Type transaction\n * Script Hash- keccak256(uniqueId, threshold, timeoutHours, buyer, seller, moderator, multiSigContractAddress, tokenAddress)\n * Client can use this method to verify whether it has calculated correct script hash or not\n */\n function calculateRedeemScriptHash(\n bytes20 uniqueId,\n uint8 threshold,\n uint32 timeoutHours,\n address buyer,\n address seller,\n address moderator,\n address tokenAddress\n )\n public\n view\n returns (bytes32)\n {\n if (tokenAddress == address(0)) {\n return keccak256(\n abi.encodePacked(\n uniqueId,\n threshold,\n timeoutHours,\n buyer,\n seller,\n moderator,\n address(this)\n )\n );\n } else {\n return keccak256(\n abi.encodePacked(\n uniqueId,\n threshold,\n timeoutHours,\n buyer,\n seller,\n moderator,\n address(this),\n tokenAddress\n )\n );\n }\n }\n\n /**\n * @dev This methods checks validity of transaction\n * 1. Verify Signatures\n * 2. Check if minimum number of signatures has been acquired\n * 3. If above condition is false, check if time lock is expired and the execution is signed by seller\n */\n function _verifyTransaction(\n uint8[] sigV,\n bytes32[] sigR,\n bytes32[] sigS,\n bytes32 scriptHash,\n address[] destinations,\n uint256[] amounts\n )\n private\n {\n address lastRecovered = _verifySignatures(\n sigV,\n sigR,\n sigS,\n scriptHash,\n destinations,\n amounts\n );\n\n bool timeLockExpired = _isTimeLockExpired(\n transactions[scriptHash].timeoutHours,\n transactions[scriptHash].lastModified\n );\n\n //if Minimum number of signatures are not gathered and timelock has not expired or transaction was not signed by seller then revert\n if (\n sigV.length < transactions[scriptHash].threshold && (!timeLockExpired || lastRecovered != transactions[scriptHash].seller)\n )\n {\n revert(\"Minimum number of signatures are not collected and time lock expiry conditions not met!!\");\n }\n\n }\n\n /**\n *@dev Private method to transfer funds to the destination addresses on the basis of transaction type\n */\n function _transferFunds(\n bytes32 scriptHash,\n address[]destinations,\n uint256[]amounts\n )\n private\n returns (uint256)\n {\n Transaction storage t = transactions[scriptHash];\n\n uint256 valueTransferred = 0;\n\n if (t.transactionType == TransactionType.ETHER) {\n for (uint256 i = 0; i < destinations.length; i++) {\n\n require(destinations[i] != address(0), \"zero address is not allowed as destination address\");\n\n require(t.isOwner[destinations[i]], \"Destination address is not one of the owners\");\n\n require(amounts[i] > 0, \"Amount to be sent should be greater than 0\");\n\n valueTransferred = valueTransferred.add(amounts[i]);\n\n t.beneficiaries[destinations[i]] = true;//add receiver as beneficiary\n destinations[i].transfer(amounts[i]);\n }\n\n } else if (t.transactionType == TransactionType.TOKEN) {\n\n ITokenContract token = ITokenContract(t.tokenAddress);\n\n for (uint256 j = 0; j 0, \"Amount to be sent should be greater than 0\");\n\n valueTransferred = valueTransferred.add(amounts[j]);\n t.beneficiaries[destinations[j]] = true;//add receiver as beneficiary\n\n require(token.transfer(destinations[j], amounts[j]), \"Token transfer failed.\");\n }\n } \n return valueTransferred;\n }\n\n //to check whether the signatures are valid or not and if consensus was reached\n //returns the last address recovered, in case of timeout this must be the sender's address\n function _verifySignatures(\n uint8[] sigV,\n bytes32[] sigR,\n bytes32[] sigS,\n bytes32 scriptHash,\n address[] destinations,\n uint256[]amounts\n )\n private\n returns (address)\n {\n\n require(\n sigR.length == sigS.length && sigR.length == sigV.length, \n \"R,S,V length mismatch.\"\n );\n\n address lastAddress;\n\n // Follows ERC191 signature scheme: https://github.com/ethereum/EIPs/issues/191\n bytes32 txHash = keccak256(\n abi.encodePacked(\n \"\\x19Ethereum Signed Message:\\n32\",\n keccak256(\n abi.encodePacked(\n byte(0x19),\n byte(0),\n address(this),\n destinations,\n amounts,\n scriptHash\n )\n )\n )\n );\n\n for (uint i = 0; i < sigR.length; i++) {\n\n address recovered = ecrecover(\n txHash,\n sigV[i],\n sigR[i],\n sigS[i]\n );\n\n require(\n transactions[scriptHash].isOwner[recovered], \n \"Invalid signature\"\n );\n require(\n !transactions[scriptHash].voted[recovered], \n \"Same signature sent twice\"\n );\n transactions[scriptHash].voted[recovered] = true;\n lastAddress = recovered;\n }\n\n return lastAddress;\n }\n\n function _isTimeLockExpired(\n uint32 timeoutHours,\n uint256 lastModified\n )\n private\n view\n returns (bool)\n {\n uint256 timeSince = now.sub(lastModified);\n return (\n timeoutHours == 0 ? false:timeSince > uint256(timeoutHours).mul(3600)\n );\n }\n\n /**\n * Private method to add transaction to reduce code redundancy\n */\n function _addTransaction(\n address buyer,\n address seller,\n address moderator,\n uint8 threshold,\n uint32 timeoutHours,\n bytes32 scriptHash,\n uint256 value,\n bytes20 uniqueId,\n TransactionType transactionType,\n address tokenAddress\n )\n private\n { \n require(buyer != seller, \"Buyer and seller are same\");\n\n //value passed should be greater than 0\n require(value > 0, \"Value passed is 0\");\n\n // For now allowing 0 moderator to support 1-2 multisig wallet\n require(\n threshold > 0 && threshold <= 3, \n \"Threshold cannot be greater than 3 and must be greater than 0\"\n );\n\n //if threshold is 1 then moderator can be passed as zero address or any other address\n //(it won't matter apart from scripthash since we wont add moderator as one of the owner),\n //otherwise moderator should be a valid address\n require(\n threshold == 1 || moderator != address(0),\n \"Either threshold should be 1 or valid moderator address should be passed\"\n );\n\n require(\n scriptHash == calculateRedeemScriptHash(\n uniqueId,\n threshold,\n timeoutHours,\n buyer,\n seller,\n moderator,\n tokenAddress\n ), \n \"Calculated script hash does not match passed script hash.\"\n );\n\n transactions[scriptHash] = Transaction({\n buyer: buyer,\n seller: seller,\n moderator: moderator,\n value: value,\n status: Status.FUNDED,\n lastModified: block.timestamp,\n threshold: threshold,\n timeoutHours: timeoutHours,\n transactionType:transactionType,\n tokenAddress:tokenAddress\n });\n\n transactions[scriptHash].isOwner[seller] = true;\n transactions[scriptHash].isOwner[buyer] = true; \n\n //Check if buyer or seller are not passed as moderator\n require(\n !transactions[scriptHash].isOwner[moderator], \n \"Either buyer or seller is passed as moderator\"\n );\n\n //set moderator as one of the owners only if threshold is greater than 1 otherwise only buyer and seller should be able to release funds\n if (threshold > 1) {\n transactions[scriptHash].isOwner[moderator] = true;\n }\n \n\n transactionCount++;\n\n partyVsTransaction[buyer].push(scriptHash);\n partyVsTransaction[seller].push(scriptHash);\n }\n}\n", + "bytecode": "0x6080604052600060015534801561001557600080fd5b5061432c806100256000396000f3006080604052600436106100af576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806323b6fd3f146100b45780632d9ef96e1461016e57806346fbcdeb1461019257806357bced7614610287578063642f2eaf14610378578063b0550c66146104da578063b719e28014610543578063b77bf6001461057e578063be84ceaf146105a9578063e4ec8b0014610641578063f0786562146106ea575b600080fd5b61016c600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff169060200190929190803563ffffffff169060200190929190803560001916906020019092919080356bffffffffffffffffffffffff19169060200190929190505050610753565b005b61019060048036038101908080356000191690602001909291905050506109a7565b005b34801561019e57600080fd5b5061026960048036038101908080356bffffffffffffffffffffffff19169060200190929190803560ff169060200190929190803563ffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610e24565b60405180826000191660001916815260200191505060405180910390f35b34801561029357600080fd5b50610376600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff169060200190929190803563ffffffff16906020019092919080356000191690602001909291908035906020019092919080356bffffffffffffffffffffffff19169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506112d0565b005b34801561038457600080fd5b506103a760048036038101908080356000191690602001909291905050506117a5565b604051808b81526020018a81526020018960018111156103c357fe5b60ff1681526020018860018111156103d757fe5b60ff1681526020018760ff1660ff1681526020018663ffffffff1663ffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019a505050505050505050505060405180910390f35b3480156104e657600080fd5b506105296004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506118b0565b604051808215151515815260200191505060405180910390f35b34801561054f57600080fd5b5061057c600480360381019080803560001916906020019092919080359060200190929190505050611922565b005b34801561058a57600080fd5b50610593611ff2565b6040518082815260200191505060405180910390f35b3480156105b557600080fd5b506105ea600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611ff8565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b8381101561062d578082015181840152602081019050610612565b505050509050019250505060405180910390f35b34801561064d57600080fd5b506106e86004803603810190808035906020019082018035906020019190919293919293908035906020019082018035906020019190919293919293908035906020019082018035906020019190919293919293908035600019169060200190929190803590602001908201803590602001919091929391929390803590602001908201803590602001919091929391929390505050612093565b005b3480156106f657600080fd5b506107396004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061267c565b604051808215151515815260200191505060405180910390f35b8160008060008360001916600019168152602001908152602001600020600001541415156107e9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f5472616e73616374696f6e20657869737400000000000000000000000000000081525060200191505060405180910390fd5b87600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561088f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b87600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610935576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b6109488a8a8a8a8a8a348b6000806126ee565b3373ffffffffffffffffffffffffffffffffffffffff1685600019167fce7089d0668849fb9ca29778c0cbf1e764d9efb048d81fd71fb34c94f26db368346040518082815260200191505060405180910390a350505050505050505050565b80600080600083600019166000191681526020019081526020016000206000015414151515610a3e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737400000000000081525060200191505060405180910390fd5b8160006001811115610a4c57fe5b600080836000191660001916815260200190815260200160002060020160009054906101000a900460ff166001811115610a8257fe5b141515610b1d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001807f5472616e73616374696f6e206973206e6f7420696e2046554e4445442073746181526020017f746500000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b826000806001811115610b2c57fe5b600080846000191660001916815260200190815260200160002060020160019054906101000a900460ff166001811115610b6257fe5b141515610bd7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5472616e73616374696f6e207479706520646f6573206e6f74206d617463680081525060200191505060405180910390fd5b84600080826000191660001916815260200190815260200160002060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610cde576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f54686520696e69746961746f72206f6620746865207472616e73616374696f6e81526020017f206973206e6f742062757965720000000000000000000000000000000000000081525060400191505060405180910390fd5b600034111515610d56576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f56616c7565206d7573742062652067726561746572207468616e207a65726f2e81525060200191505060405180910390fd5b610d863460008089600019166000191681526020019081526020016000206000015461307a90919063ffffffff16565b600080886000191660001916815260200190815260200160002060000181905550426000808860001916600019168152602001908152602001600020600101819055503373ffffffffffffffffffffffffffffffffffffffff1686600019167ff66fd2ae9e24a6a24b02e1b5b7512ffde5149a4176085fc0298ae228c9b9d729346040518082815260200191505060405180910390a3505050505050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611070578787878787873060405160200180886bffffffffffffffffffffffff19166bffffffffffffffffffffffff191681526014018760ff1660ff167f01000000000000000000000000000000000000000000000000000000000000000281526001018663ffffffff1663ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014019750505050505050506040516020818303038152906040526040518082805190602001908083835b60208310151561103c5780518252602082019150602081019050602083039250611017565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902090506112c5565b878787878787308860405160200180896bffffffffffffffffffffffff19166bffffffffffffffffffffffff191681526014018860ff1660ff167f01000000000000000000000000000000000000000000000000000000000000000281526001018763ffffffff1663ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401985050505050505050506040516020818303038152906040526040518082805190602001908083835b6020831015156112955780518252602082019150602081019050602083039250611270565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902090505b979650505050505050565b6000846000806000836000191660001916815260200190815260200160002060000154141515611368576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f5472616e73616374696f6e20657869737400000000000000000000000000000081525060200191505060405180910390fd5b8a600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561140e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b8a600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156114b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b84600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561155a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b61156d8e8e8e8e8e8e8e8e60018f6126ee565b8594508473ffffffffffffffffffffffffffffffffffffffff166323b872dd33308b6040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b15801561164757600080fd5b505af115801561165b573d6000803e3d6000fd5b505050506040513d602081101561167157600080fd5b81019080805190602001909291905050501515611742576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252605d8152602001807f546f6b656e207472616e73666572206661696c65642c206d6179626520796f7581526020017f20646964206e6f7420617070726f766520657363726f7720636f6e747261637481526020017f20746f207370656e64206f6e20626568616c66206f662073656e64657200000081525060600191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff1689600019167fce7089d0668849fb9ca29778c0cbf1e764d9efb048d81fd71fb34c94f26db3688a6040518082815260200191505060405180910390a35050505050505050505050505050565b60006020528060005260406000206000915090508060000154908060010154908060020160009054906101000a900460ff16908060020160019054906101000a900460ff16908060020160029054906101000a900460ff16908060020160039054906101000a900463ffffffff16908060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060050160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508a565b6000806000846000191660001916815260200190815260200160002060080160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6000826000806000836000191660001916815260200190815260200160002060000154141515156119bb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737400000000000081525060200191505060405180910390fd5b83600060018111156119c957fe5b600080836000191660001916815260200190815260200160002060020160009054906101000a900460ff1660018111156119ff57fe5b141515611a9a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001807f5472616e73616374696f6e206973206e6f7420696e2046554e4445442073746181526020017f746500000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b846001806001811115611aa957fe5b600080846000191660001916815260200190815260200160002060020160019054906101000a900460ff166001811115611adf57fe5b141515611b54576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5472616e73616374696f6e207479706520646f6573206e6f74206d617463680081525060200191505060405180910390fd5b86600080826000191660001916815260200190815260200160002060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611c5b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f54686520696e69746961746f72206f6620746865207472616e73616374696f6e81526020017f206973206e6f742062757965720000000000000000000000000000000000000081525060400191505060405180910390fd5b600087111515611cd3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f56616c7565206d7573742062652067726561746572207468616e207a65726f2e81525060200191505060405180910390fd5b600080896000191660001916815260200190815260200160002060040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1695508573ffffffffffffffffffffffffffffffffffffffff166323b872dd6000808b6000191660001916815260200190815260200160002060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff16308a6040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b158015611e2757600080fd5b505af1158015611e3b573d6000803e3d6000fd5b505050506040513d6020811015611e5157600080fd5b81019080805190602001909291905050501515611f22576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252605c8152602001807f546f6b656e207472616e73666572206661696c65642c206d6179626520796f7581526020017f20646964206e6f7420617070726f766520657363726f7720636f6e747261637481526020017f20746f207370656e64206f6e20626568616c66206f662062757965720000000081525060600191505060405180910390fd5b611f52876000808b600019166000191681526020019081526020016000206000015461307a90919063ffffffff16565b6000808a6000191660001916815260200190815260200160002060000181905550426000808a60001916600019168152602001908152602001600020600101819055503373ffffffffffffffffffffffffffffffffffffffff1688600019167ff66fd2ae9e24a6a24b02e1b5b7512ffde5149a4176085fc0298ae228c9b9d729896040518082815260200191505060405180910390a35050505050505050565b60015481565b6060600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080548060200260200160405190810160405280929190818152602001828054801561208757602002820191906000526020600020905b8154600019168152602001906001019080831161206f575b50505050509050919050565b8460008060008360001916600019168152602001908152602001600020600001541415151561212a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737400000000000081525060200191505060405180910390fd5b856000600181111561213857fe5b600080836000191660001916815260200190815260200160002060020160009054906101000a900460ff16600181111561216e57fe5b141515612209576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001807f5472616e73616374696f6e206973206e6f7420696e2046554e4445442073746181526020017f746500000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b6000868690501115156122aa576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f4e756d626572206f662064657374696e6174696f6e73206d757374206265206781526020017f726561746572207468616e20300000000000000000000000000000000000000081525060400191505060405180910390fd5b838390508686905014151561234d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260378152602001807f4e756d626572206f662064657374696e6174696f6e73206d757374206d61746381526020017f68206e756d626572206f662076616c7565732073656e7400000000000000000081525060400191505060405180910390fd5b6124468d8d808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508c8c808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508b8b808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508a8a8a8080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505089898080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505061309b565b6001600080896000191660001916815260200190815260200160002060020160006101000a81548160ff0219169083600181111561248057fe5b02179055504260008089600019166000191681526020019081526020016000206001018190555060008088600019166000191681526020019081526020016000206000015461252e8888888080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505087878080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505061327c565b1415156125ef576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260488152602001807f546f74616c2076616c756520746f2062652072656c6561736564206d7573742081526020017f626520657175616c20746f20746865207472616e73616374696f6e206573637281526020017f6f772076616c756500000000000000000000000000000000000000000000000081525060600191505060405180910390fd5b86600019167f688e2a1b34445bcd47b0e11ba2a9c8c4d850a1831b64199b59d1c70e29701545878787876040518080602001806020018381038352878782818152602001925060200280828437820191505083810382528585828181526020019250602002808284378201915050965050505050505060405180910390a250505050505050505050505050565b6000806000846000191660001916815260200190815260200160002060070160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b8873ffffffffffffffffffffffffffffffffffffffff168a73ffffffffffffffffffffffffffffffffffffffff1614151515612792576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f427579657220616e642073656c6c6572206172652073616d650000000000000081525060200191505060405180910390fd5b60008411151561280a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f56616c756520706173736564206973203000000000000000000000000000000081525060200191505060405180910390fd5b60008760ff16118015612821575060038760ff1611155b15156128bb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603d8152602001807f5468726573686f6c642063616e6e6f742062652067726561746572207468616e81526020017f203320616e64206d7573742062652067726561746572207468616e203000000081525060400191505060405180910390fd5b60018760ff1614806128fa5750600073ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff1614155b15156129ba576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260488152602001807f456974686572207468726573686f6c642073686f756c642062652031206f722081526020017f76616c6964206d6f64657261746f7220616464726573732073686f756c64206281526020017f652070617373656400000000000000000000000000000000000000000000000081525060600191505060405180910390fd5b6129c98388888d8d8d87610e24565b600019168560001916141515612a6d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260398152602001807f43616c63756c6174656420736372697074206861736820646f6573206e6f742081526020017f6d61746368207061737365642073637269707420686173682e0000000000000081525060400191505060405180910390fd5b6101406040519081016040528085815260200142815260200160006001811115612a9357fe5b8152602001836001811115612aa457fe5b81526020018860ff1681526020018763ffffffff1681526020018b73ffffffffffffffffffffffffffffffffffffffff1681526020018a73ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020018973ffffffffffffffffffffffffffffffffffffffff168152506000808760001916600019168152602001908152602001600020600082015181600001556020820151816001015560408201518160020160006101000a81548160ff02191690836001811115612b7e57fe5b021790555060608201518160020160016101000a81548160ff02191690836001811115612ba757fe5b021790555060808201518160020160026101000a81548160ff021916908360ff16021790555060a08201518160020160036101000a81548163ffffffff021916908363ffffffff16021790555060c08201518160020160076101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060e08201518160030160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506101008201518160040160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506101208201518160050160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055509050506001600080876000191660001916815260200190815260200160002060060160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600080876000191660001916815260200190815260200160002060060160008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600080866000191660001916815260200190815260200160002060060160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151515612efe576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f456974686572206275796572206f722073656c6c65722069732070617373656481526020017f206173206d6f64657261746f720000000000000000000000000000000000000081525060400191505060405180910390fd5b60018760ff161115612f7e576001600080876000191660001916815260200190815260200160002060060160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b600160008154809291906001019190505550600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020859080600181540180825580915050906001820390600052602060002001600090919290919091509060001916905550600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002085908060018154018082558091505090600182039060005260206000200160009091929091909150906000191690555050505050505050505050565b600080828401905083811015151561309157600080fd5b8091505092915050565b6000806130ac888888888888613bd4565b9150613102600080876000191660001916815260200190815260200160002060020160039054906101000a900463ffffffff1660008088600019166000191681526020019081526020016000206001015461424d565b9050600080866000191660001916815260200190815260200160002060020160029054906101000a900460ff1660ff1688511080156131b357508015806131b25750600080866000191660001916815260200190815260200160002060030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b5b15613272576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260588152602001807f4d696e696d756d206e756d626572206f66207369676e6174757265732061726581526020017f206e6f7420636f6c6c656374656420616e642074696d65206c6f636b2065787081526020017f69727920636f6e646974696f6e73206e6f74206d65742121000000000000000081525060600191505060405180910390fd5b5050505050505050565b6000806000806000806000808a60001916600019168152602001908152602001600020945060009350600060018111156132b257fe5b8560020160019054906101000a900460ff1660018111156132cf57fe5b141561369e57600092505b875183101561369957600073ffffffffffffffffffffffffffffffffffffffff16888481518110151561330957fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff16141515156133c5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001807f7a65726f2061646472657373206973206e6f7420616c6c6f776564206173206481526020017f657374696e6174696f6e2061646472657373000000000000000000000000000081525060400191505060405180910390fd5b84600601600089858151811015156133d957fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615156134c5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c8152602001807f44657374696e6174696f6e2061646472657373206973206e6f74206f6e65206f81526020017f6620746865206f776e657273000000000000000000000000000000000000000081525060400191505060405180910390fd5b600087848151811015156134d557fe5b9060200190602002015111151561357a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001807f416d6f756e7420746f2062652073656e742073686f756c64206265206772656181526020017f746572207468616e20300000000000000000000000000000000000000000000081525060400191505060405180910390fd5b6135a4878481518110151561358b57fe5b906020019060200201518561307a90919063ffffffff16565b935060018560080160008a868151811015156135bc57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550878381518110151561362557fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff166108fc888581518110151561365657fe5b906020019060200201519081150290604051600060405180830381858888f1935050505015801561368b573d6000803e3d6000fd5b5082806001019350506132da565b613bc5565b6001808111156136aa57fe5b8560020160019054906101000a900460ff1660018111156136c757fe5b1415613bc4578460040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169150600090505b8751811015613bc357600073ffffffffffffffffffffffffffffffffffffffff16888281518110151561372857fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff16141515156137e4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001807f7a65726f2061646472657373206973206e6f7420616c6c6f776564206173206481526020017f657374696e6174696f6e2061646472657373000000000000000000000000000081525060400191505060405180910390fd5b84600601600089838151811015156137f857fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615156138e4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c8152602001807f44657374696e6174696f6e2061646472657373206973206e6f74206f6e65206f81526020017f6620746865206f776e657273000000000000000000000000000000000000000081525060400191505060405180910390fd5b600087828151811015156138f457fe5b90602001906020020151111515613999576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001807f416d6f756e7420746f2062652073656e742073686f756c64206265206772656181526020017f746572207468616e20300000000000000000000000000000000000000000000081525060400191505060405180910390fd5b6139c387828151811015156139aa57fe5b906020019060200201518561307a90919063ffffffff16565b935060018560080160008a848151811015156139db57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb8983815181101515613a6057fe5b906020019060200201518984815181101515613a7857fe5b906020019060200201516040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015613b0757600080fd5b505af1158015613b1b573d6000803e3d6000fd5b505050506040513d6020811015613b3157600080fd5b81019080805190602001909291905050501515613bb6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f546f6b656e207472616e73666572206661696c65642e0000000000000000000081525060200191505060405180910390fd5b80806001019150506136f9565b5b5b83955050505050509392505050565b600080600080600088518a51148015613bee57508a518a51145b1515613c62576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f522c532c56206c656e677468206d69736d617463682e0000000000000000000081525060200191505060405180910390fd5b60197f01000000000000000000000000000000000000000000000000000000000000000260007f0100000000000000000000000000000000000000000000000000000000000000023089898c60405160200180877effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168152600101867effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526001018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401848051906020019060200280838360005b83811015613db6578082015181840152602081019050613d9b565b50505050905001838051906020019060200280838360005b83811015613de9578082015181840152602081019050613dce565b50505050905001826000191660001916815260200196505050505050506040516020818303038152906040526040518082805190602001908083835b602083101515613e4a5780518252602082019150602081019050602083039250613e25565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902060405160200180807f19457468657265756d205369676e6564204d6573736167653a0a333200000000815250601c0182600019166000191681526020019150506040516020818303038152906040526040518082805190602001908083835b602083101515613efb5780518252602082019150602081019050602083039250613ed6565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390209250600091505b895182101561423c576001838c84815181101515613f4957fe5b906020019060200201518c85815181101515613f6157fe5b906020019060200201518c86815181101515613f7957fe5b90602001906020020151604051600081526020016040526040518085600019166000191681526020018460ff1660ff1681526020018360001916600019168152602001826000191660001916815260200194505050505060206040516020810390808403906000865af1158015613ff4573d6000803e3d6000fd5b505050602060405103519050600080896000191660001916815260200190815260200160002060060160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615156140dc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f496e76616c6964207369676e617475726500000000000000000000000000000081525060200191505060405180910390fd5b600080896000191660001916815260200190815260200160002060070160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515156141b9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f53616d65207369676e61747572652073656e742074776963650000000000000081525060200191505060405180910390fd5b60016000808a6000191660001916815260200190815260200160002060070160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508093508180600101925050613f2f565b839450505050509695505050505050565b60008061426383426142a190919063ffffffff16565b905060008463ffffffff16146142955761428e610e108563ffffffff166142c290919063ffffffff16565b8111614298565b60005b91505092915050565b6000808383111515156142b357600080fd5b82840390508091505092915050565b60008060008414156142d757600091506142f9565b82840290508284828115156142e857fe5b041415156142f557600080fd5b8091505b50929150505600a165627a7a72305820a917fe9be52afe10ecafece56bbbb1fba543b243a617e9fa4effdca04571c6580029", + "deployedBytecode": "0x6080604052600436106100af576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806323b6fd3f146100b45780632d9ef96e1461016e57806346fbcdeb1461019257806357bced7614610287578063642f2eaf14610378578063b0550c66146104da578063b719e28014610543578063b77bf6001461057e578063be84ceaf146105a9578063e4ec8b0014610641578063f0786562146106ea575b600080fd5b61016c600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff169060200190929190803563ffffffff169060200190929190803560001916906020019092919080356bffffffffffffffffffffffff19169060200190929190505050610753565b005b61019060048036038101908080356000191690602001909291905050506109a7565b005b34801561019e57600080fd5b5061026960048036038101908080356bffffffffffffffffffffffff19169060200190929190803560ff169060200190929190803563ffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610e24565b60405180826000191660001916815260200191505060405180910390f35b34801561029357600080fd5b50610376600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff169060200190929190803563ffffffff16906020019092919080356000191690602001909291908035906020019092919080356bffffffffffffffffffffffff19169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506112d0565b005b34801561038457600080fd5b506103a760048036038101908080356000191690602001909291905050506117a5565b604051808b81526020018a81526020018960018111156103c357fe5b60ff1681526020018860018111156103d757fe5b60ff1681526020018760ff1660ff1681526020018663ffffffff1663ffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019a505050505050505050505060405180910390f35b3480156104e657600080fd5b506105296004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506118b0565b604051808215151515815260200191505060405180910390f35b34801561054f57600080fd5b5061057c600480360381019080803560001916906020019092919080359060200190929190505050611922565b005b34801561058a57600080fd5b50610593611ff2565b6040518082815260200191505060405180910390f35b3480156105b557600080fd5b506105ea600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611ff8565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b8381101561062d578082015181840152602081019050610612565b505050509050019250505060405180910390f35b34801561064d57600080fd5b506106e86004803603810190808035906020019082018035906020019190919293919293908035906020019082018035906020019190919293919293908035906020019082018035906020019190919293919293908035600019169060200190929190803590602001908201803590602001919091929391929390803590602001908201803590602001919091929391929390505050612093565b005b3480156106f657600080fd5b506107396004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061267c565b604051808215151515815260200191505060405180910390f35b8160008060008360001916600019168152602001908152602001600020600001541415156107e9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f5472616e73616374696f6e20657869737400000000000000000000000000000081525060200191505060405180910390fd5b87600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561088f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b87600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610935576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b6109488a8a8a8a8a8a348b6000806126ee565b3373ffffffffffffffffffffffffffffffffffffffff1685600019167fce7089d0668849fb9ca29778c0cbf1e764d9efb048d81fd71fb34c94f26db368346040518082815260200191505060405180910390a350505050505050505050565b80600080600083600019166000191681526020019081526020016000206000015414151515610a3e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737400000000000081525060200191505060405180910390fd5b8160006001811115610a4c57fe5b600080836000191660001916815260200190815260200160002060020160009054906101000a900460ff166001811115610a8257fe5b141515610b1d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001807f5472616e73616374696f6e206973206e6f7420696e2046554e4445442073746181526020017f746500000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b826000806001811115610b2c57fe5b600080846000191660001916815260200190815260200160002060020160019054906101000a900460ff166001811115610b6257fe5b141515610bd7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5472616e73616374696f6e207479706520646f6573206e6f74206d617463680081525060200191505060405180910390fd5b84600080826000191660001916815260200190815260200160002060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610cde576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f54686520696e69746961746f72206f6620746865207472616e73616374696f6e81526020017f206973206e6f742062757965720000000000000000000000000000000000000081525060400191505060405180910390fd5b600034111515610d56576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f56616c7565206d7573742062652067726561746572207468616e207a65726f2e81525060200191505060405180910390fd5b610d863460008089600019166000191681526020019081526020016000206000015461307a90919063ffffffff16565b600080886000191660001916815260200190815260200160002060000181905550426000808860001916600019168152602001908152602001600020600101819055503373ffffffffffffffffffffffffffffffffffffffff1686600019167ff66fd2ae9e24a6a24b02e1b5b7512ffde5149a4176085fc0298ae228c9b9d729346040518082815260200191505060405180910390a3505050505050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611070578787878787873060405160200180886bffffffffffffffffffffffff19166bffffffffffffffffffffffff191681526014018760ff1660ff167f01000000000000000000000000000000000000000000000000000000000000000281526001018663ffffffff1663ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014019750505050505050506040516020818303038152906040526040518082805190602001908083835b60208310151561103c5780518252602082019150602081019050602083039250611017565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902090506112c5565b878787878787308860405160200180896bffffffffffffffffffffffff19166bffffffffffffffffffffffff191681526014018860ff1660ff167f01000000000000000000000000000000000000000000000000000000000000000281526001018763ffffffff1663ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401985050505050505050506040516020818303038152906040526040518082805190602001908083835b6020831015156112955780518252602082019150602081019050602083039250611270565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902090505b979650505050505050565b6000846000806000836000191660001916815260200190815260200160002060000154141515611368576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f5472616e73616374696f6e20657869737400000000000000000000000000000081525060200191505060405180910390fd5b8a600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561140e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b8a600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156114b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b84600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561155a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b61156d8e8e8e8e8e8e8e8e60018f6126ee565b8594508473ffffffffffffffffffffffffffffffffffffffff166323b872dd33308b6040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b15801561164757600080fd5b505af115801561165b573d6000803e3d6000fd5b505050506040513d602081101561167157600080fd5b81019080805190602001909291905050501515611742576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252605d8152602001807f546f6b656e207472616e73666572206661696c65642c206d6179626520796f7581526020017f20646964206e6f7420617070726f766520657363726f7720636f6e747261637481526020017f20746f207370656e64206f6e20626568616c66206f662073656e64657200000081525060600191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff1689600019167fce7089d0668849fb9ca29778c0cbf1e764d9efb048d81fd71fb34c94f26db3688a6040518082815260200191505060405180910390a35050505050505050505050505050565b60006020528060005260406000206000915090508060000154908060010154908060020160009054906101000a900460ff16908060020160019054906101000a900460ff16908060020160029054906101000a900460ff16908060020160039054906101000a900463ffffffff16908060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060050160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508a565b6000806000846000191660001916815260200190815260200160002060080160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6000826000806000836000191660001916815260200190815260200160002060000154141515156119bb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737400000000000081525060200191505060405180910390fd5b83600060018111156119c957fe5b600080836000191660001916815260200190815260200160002060020160009054906101000a900460ff1660018111156119ff57fe5b141515611a9a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001807f5472616e73616374696f6e206973206e6f7420696e2046554e4445442073746181526020017f746500000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b846001806001811115611aa957fe5b600080846000191660001916815260200190815260200160002060020160019054906101000a900460ff166001811115611adf57fe5b141515611b54576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5472616e73616374696f6e207479706520646f6573206e6f74206d617463680081525060200191505060405180910390fd5b86600080826000191660001916815260200190815260200160002060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611c5b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f54686520696e69746961746f72206f6620746865207472616e73616374696f6e81526020017f206973206e6f742062757965720000000000000000000000000000000000000081525060400191505060405180910390fd5b600087111515611cd3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f56616c7565206d7573742062652067726561746572207468616e207a65726f2e81525060200191505060405180910390fd5b600080896000191660001916815260200190815260200160002060040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1695508573ffffffffffffffffffffffffffffffffffffffff166323b872dd6000808b6000191660001916815260200190815260200160002060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff16308a6040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b158015611e2757600080fd5b505af1158015611e3b573d6000803e3d6000fd5b505050506040513d6020811015611e5157600080fd5b81019080805190602001909291905050501515611f22576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252605c8152602001807f546f6b656e207472616e73666572206661696c65642c206d6179626520796f7581526020017f20646964206e6f7420617070726f766520657363726f7720636f6e747261637481526020017f20746f207370656e64206f6e20626568616c66206f662062757965720000000081525060600191505060405180910390fd5b611f52876000808b600019166000191681526020019081526020016000206000015461307a90919063ffffffff16565b6000808a6000191660001916815260200190815260200160002060000181905550426000808a60001916600019168152602001908152602001600020600101819055503373ffffffffffffffffffffffffffffffffffffffff1688600019167ff66fd2ae9e24a6a24b02e1b5b7512ffde5149a4176085fc0298ae228c9b9d729896040518082815260200191505060405180910390a35050505050505050565b60015481565b6060600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080548060200260200160405190810160405280929190818152602001828054801561208757602002820191906000526020600020905b8154600019168152602001906001019080831161206f575b50505050509050919050565b8460008060008360001916600019168152602001908152602001600020600001541415151561212a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737400000000000081525060200191505060405180910390fd5b856000600181111561213857fe5b600080836000191660001916815260200190815260200160002060020160009054906101000a900460ff16600181111561216e57fe5b141515612209576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001807f5472616e73616374696f6e206973206e6f7420696e2046554e4445442073746181526020017f746500000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b6000868690501115156122aa576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f4e756d626572206f662064657374696e6174696f6e73206d757374206265206781526020017f726561746572207468616e20300000000000000000000000000000000000000081525060400191505060405180910390fd5b838390508686905014151561234d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260378152602001807f4e756d626572206f662064657374696e6174696f6e73206d757374206d61746381526020017f68206e756d626572206f662076616c7565732073656e7400000000000000000081525060400191505060405180910390fd5b6124468d8d808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508c8c808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508b8b808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508a8a8a8080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505089898080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505061309b565b6001600080896000191660001916815260200190815260200160002060020160006101000a81548160ff0219169083600181111561248057fe5b02179055504260008089600019166000191681526020019081526020016000206001018190555060008088600019166000191681526020019081526020016000206000015461252e8888888080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505087878080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505061327c565b1415156125ef576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260488152602001807f546f74616c2076616c756520746f2062652072656c6561736564206d7573742081526020017f626520657175616c20746f20746865207472616e73616374696f6e206573637281526020017f6f772076616c756500000000000000000000000000000000000000000000000081525060600191505060405180910390fd5b86600019167f688e2a1b34445bcd47b0e11ba2a9c8c4d850a1831b64199b59d1c70e29701545878787876040518080602001806020018381038352878782818152602001925060200280828437820191505083810382528585828181526020019250602002808284378201915050965050505050505060405180910390a250505050505050505050505050565b6000806000846000191660001916815260200190815260200160002060070160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b8873ffffffffffffffffffffffffffffffffffffffff168a73ffffffffffffffffffffffffffffffffffffffff1614151515612792576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f427579657220616e642073656c6c6572206172652073616d650000000000000081525060200191505060405180910390fd5b60008411151561280a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f56616c756520706173736564206973203000000000000000000000000000000081525060200191505060405180910390fd5b60008760ff16118015612821575060038760ff1611155b15156128bb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603d8152602001807f5468726573686f6c642063616e6e6f742062652067726561746572207468616e81526020017f203320616e64206d7573742062652067726561746572207468616e203000000081525060400191505060405180910390fd5b60018760ff1614806128fa5750600073ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff1614155b15156129ba576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260488152602001807f456974686572207468726573686f6c642073686f756c642062652031206f722081526020017f76616c6964206d6f64657261746f7220616464726573732073686f756c64206281526020017f652070617373656400000000000000000000000000000000000000000000000081525060600191505060405180910390fd5b6129c98388888d8d8d87610e24565b600019168560001916141515612a6d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260398152602001807f43616c63756c6174656420736372697074206861736820646f6573206e6f742081526020017f6d61746368207061737365642073637269707420686173682e0000000000000081525060400191505060405180910390fd5b6101406040519081016040528085815260200142815260200160006001811115612a9357fe5b8152602001836001811115612aa457fe5b81526020018860ff1681526020018763ffffffff1681526020018b73ffffffffffffffffffffffffffffffffffffffff1681526020018a73ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020018973ffffffffffffffffffffffffffffffffffffffff168152506000808760001916600019168152602001908152602001600020600082015181600001556020820151816001015560408201518160020160006101000a81548160ff02191690836001811115612b7e57fe5b021790555060608201518160020160016101000a81548160ff02191690836001811115612ba757fe5b021790555060808201518160020160026101000a81548160ff021916908360ff16021790555060a08201518160020160036101000a81548163ffffffff021916908363ffffffff16021790555060c08201518160020160076101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060e08201518160030160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506101008201518160040160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506101208201518160050160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055509050506001600080876000191660001916815260200190815260200160002060060160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600080876000191660001916815260200190815260200160002060060160008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600080866000191660001916815260200190815260200160002060060160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151515612efe576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f456974686572206275796572206f722073656c6c65722069732070617373656481526020017f206173206d6f64657261746f720000000000000000000000000000000000000081525060400191505060405180910390fd5b60018760ff161115612f7e576001600080876000191660001916815260200190815260200160002060060160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b600160008154809291906001019190505550600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020859080600181540180825580915050906001820390600052602060002001600090919290919091509060001916905550600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002085908060018154018082558091505090600182039060005260206000200160009091929091909150906000191690555050505050505050505050565b600080828401905083811015151561309157600080fd5b8091505092915050565b6000806130ac888888888888613bd4565b9150613102600080876000191660001916815260200190815260200160002060020160039054906101000a900463ffffffff1660008088600019166000191681526020019081526020016000206001015461424d565b9050600080866000191660001916815260200190815260200160002060020160029054906101000a900460ff1660ff1688511080156131b357508015806131b25750600080866000191660001916815260200190815260200160002060030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b5b15613272576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260588152602001807f4d696e696d756d206e756d626572206f66207369676e6174757265732061726581526020017f206e6f7420636f6c6c656374656420616e642074696d65206c6f636b2065787081526020017f69727920636f6e646974696f6e73206e6f74206d65742121000000000000000081525060600191505060405180910390fd5b5050505050505050565b6000806000806000806000808a60001916600019168152602001908152602001600020945060009350600060018111156132b257fe5b8560020160019054906101000a900460ff1660018111156132cf57fe5b141561369e57600092505b875183101561369957600073ffffffffffffffffffffffffffffffffffffffff16888481518110151561330957fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff16141515156133c5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001807f7a65726f2061646472657373206973206e6f7420616c6c6f776564206173206481526020017f657374696e6174696f6e2061646472657373000000000000000000000000000081525060400191505060405180910390fd5b84600601600089858151811015156133d957fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615156134c5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c8152602001807f44657374696e6174696f6e2061646472657373206973206e6f74206f6e65206f81526020017f6620746865206f776e657273000000000000000000000000000000000000000081525060400191505060405180910390fd5b600087848151811015156134d557fe5b9060200190602002015111151561357a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001807f416d6f756e7420746f2062652073656e742073686f756c64206265206772656181526020017f746572207468616e20300000000000000000000000000000000000000000000081525060400191505060405180910390fd5b6135a4878481518110151561358b57fe5b906020019060200201518561307a90919063ffffffff16565b935060018560080160008a868151811015156135bc57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550878381518110151561362557fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff166108fc888581518110151561365657fe5b906020019060200201519081150290604051600060405180830381858888f1935050505015801561368b573d6000803e3d6000fd5b5082806001019350506132da565b613bc5565b6001808111156136aa57fe5b8560020160019054906101000a900460ff1660018111156136c757fe5b1415613bc4578460040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169150600090505b8751811015613bc357600073ffffffffffffffffffffffffffffffffffffffff16888281518110151561372857fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff16141515156137e4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001807f7a65726f2061646472657373206973206e6f7420616c6c6f776564206173206481526020017f657374696e6174696f6e2061646472657373000000000000000000000000000081525060400191505060405180910390fd5b84600601600089838151811015156137f857fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615156138e4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c8152602001807f44657374696e6174696f6e2061646472657373206973206e6f74206f6e65206f81526020017f6620746865206f776e657273000000000000000000000000000000000000000081525060400191505060405180910390fd5b600087828151811015156138f457fe5b90602001906020020151111515613999576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001807f416d6f756e7420746f2062652073656e742073686f756c64206265206772656181526020017f746572207468616e20300000000000000000000000000000000000000000000081525060400191505060405180910390fd5b6139c387828151811015156139aa57fe5b906020019060200201518561307a90919063ffffffff16565b935060018560080160008a848151811015156139db57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb8983815181101515613a6057fe5b906020019060200201518984815181101515613a7857fe5b906020019060200201516040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015613b0757600080fd5b505af1158015613b1b573d6000803e3d6000fd5b505050506040513d6020811015613b3157600080fd5b81019080805190602001909291905050501515613bb6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f546f6b656e207472616e73666572206661696c65642e0000000000000000000081525060200191505060405180910390fd5b80806001019150506136f9565b5b5b83955050505050509392505050565b600080600080600088518a51148015613bee57508a518a51145b1515613c62576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f522c532c56206c656e677468206d69736d617463682e0000000000000000000081525060200191505060405180910390fd5b60197f01000000000000000000000000000000000000000000000000000000000000000260007f0100000000000000000000000000000000000000000000000000000000000000023089898c60405160200180877effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168152600101867effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526001018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401848051906020019060200280838360005b83811015613db6578082015181840152602081019050613d9b565b50505050905001838051906020019060200280838360005b83811015613de9578082015181840152602081019050613dce565b50505050905001826000191660001916815260200196505050505050506040516020818303038152906040526040518082805190602001908083835b602083101515613e4a5780518252602082019150602081019050602083039250613e25565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902060405160200180807f19457468657265756d205369676e6564204d6573736167653a0a333200000000815250601c0182600019166000191681526020019150506040516020818303038152906040526040518082805190602001908083835b602083101515613efb5780518252602082019150602081019050602083039250613ed6565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390209250600091505b895182101561423c576001838c84815181101515613f4957fe5b906020019060200201518c85815181101515613f6157fe5b906020019060200201518c86815181101515613f7957fe5b90602001906020020151604051600081526020016040526040518085600019166000191681526020018460ff1660ff1681526020018360001916600019168152602001826000191660001916815260200194505050505060206040516020810390808403906000865af1158015613ff4573d6000803e3d6000fd5b505050602060405103519050600080896000191660001916815260200190815260200160002060060160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615156140dc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f496e76616c6964207369676e617475726500000000000000000000000000000081525060200191505060405180910390fd5b600080896000191660001916815260200190815260200160002060070160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515156141b9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f53616d65207369676e61747572652073656e742074776963650000000000000081525060200191505060405180910390fd5b60016000808a6000191660001916815260200190815260200160002060070160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508093508180600101925050613f2f565b839450505050509695505050505050565b60008061426383426142a190919063ffffffff16565b905060008463ffffffff16146142955761428e610e108563ffffffff166142c290919063ffffffff16565b8111614298565b60005b91505092915050565b6000808383111515156142b357600080fd5b82840390508091505092915050565b60008060008414156142d757600091506142f9565b82840290508284828115156142e857fe5b041415156142f557600080fd5b8091505b50929150505600a165627a7a72305820a917fe9be52afe10ecafece56bbbb1fba543b243a617e9fa4effdca04571c6580029", + "sourceMap": "605:20563:0:-;;;1800:1;1766:35;;605:20563;8:9:-1;5:2;;;30:1;27;20:12;5:2;605:20563:0;;;;;;;", + "deployedSourceMap": "605:20563:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3861:701;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7763:579;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12201:1017;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12201:1017:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5510:1030;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5510:1030:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1708:51;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1708:51:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6781:221;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6781:221:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8670:897;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8670:897:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1766:35;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1766:35:0;;;;;;;;;;;;;;;;;;;;;;;9684:194;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9684:194:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;9684:194:0;;;;;;;;;;;;;;;;;10476:1204;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10476:1204:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7242:194;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7242:194:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3861:701;4138:10;2224:1;2190:12;:24;2203:10;2190:24;;;;;;;;;;;;;;;;;:30;;;:35;2182:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4173:5;2557:1;2531:28;;:14;:28;;;;2523:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4203:6;2557:1;2531:28;;:14;:28;;;;2523:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4225:264;4254:5;4273:6;4293:9;4316;4339:12;4365:10;4389:9;4412:8;4434:21;4477:1;4225:15;:264::i;:::-;4532:10;4513:41;;4520:10;4513:41;;;;4544:9;4513:41;;;;;;;;;;;;;;;;;;2593:1;2257;3861:701;;;;;;;;:::o;7763:579::-;7886:10;2054:1;2020:12;:24;2033:10;2020:24;;;;;;;;;;;;;;;;;:30;;;:35;;1999:96;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7920:10;2380:13;2345:48;;;;;;;;:12;:24;2358:10;2345:24;;;;;;;;;;;;;;;;;:31;;;;;;;;;;;;:48;;;;;;;;;2324:117;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7961:10;7973:21;2791:15;2747:59;;;;;;;;:12;:24;2760:10;2747:24;;;;;;;;;;;;;;;;;:40;;;;;;;;;;;;:59;;;;;;;;;2726:125;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8014:10;2959:12;:24;2972:10;2959:24;;;;;;;;;;;;;;;;;:30;;;;;;;;;;;;2945:44;;:10;:44;;;2924:124;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8070:1;8058:9;:13;8050:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8152;8200:9;8152:12;:24;8165:10;8152:24;;;;;;;;;;;;;;;;;:30;;;:47;;:58;;;;:::i;:::-;8119:12;:24;8132:10;8119:24;;;;;;;;;;;;;;;;;:30;;:91;;;;8260:15;8220:12;:24;8233:10;8220:24;;;;;;;;;;;;;;;;;:37;;:55;;;;8313:10;8291:44;;8301:10;8291:44;;;;8325:9;8291:44;;;;;;;;;;;;;;;;;;2861:1;2451;;2105;7763:579;;:::o;12201:1017::-;12471:7;12522:1;12498:26;;:12;:26;;;12494:718;;;12612:8;12642:9;12673:12;12707:5;12734:6;12762:9;12801:4;12574:250;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;12574:250:0;;;12547:291;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;12547:291:0;;;;;;;;;;;;;;;;12540:298;;;;12494:718;12941:8;12971:9;13002:12;13036:5;13063:6;13091:9;13130:4;13157:12;12903:284;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;12903:284:0;;;12876:325;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;12876:325:0;;;;;;;;;;;;;;;;12869:332;;12201:1017;;;;;;;;;;:::o;5510:1030::-;6227:20;5829:10;2224:1;2190:12;:24;2203:10;2190:24;;;;;;;;;;;;;;;;;:30;;;:35;2182:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5864:5;2557:1;2531:28;;:14;:28;;;;2523:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5894:6;2557:1;2531:28;;:14;:28;;;;2523:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5925:12;2557:1;2531:28;;:14;:28;;;;2523:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5954:262;5983:5;6002:6;6022:9;6045;6068:12;6094:10;6118:5;6137:8;6159:21;6194:12;5954:15;:262::i;:::-;6265:12;6227:51;;6310:5;:18;;;6329:10;6349:4;6356:5;6310:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6310:52:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6310:52:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6310:52:0;;;;;;;;;;;;;;;;6289:192;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6515:10;6496:37;;6503:10;6496:37;;;;6527:5;6496:37;;;;;;;;;;;;;;;;;;2593:1;;2257;5510:1030;;;;;;;;;;;:::o;1708:51::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;6781:221::-;6917:4;6944:12;:24;6957:10;6944:24;;;;;;;;;;;;;;;;;:38;;:51;6983:11;6944:51;;;;;;;;;;;;;;;;;;;;;;;;;6937:58;;6781:221;;;;:::o;8670:897::-;9021:20;8801:10;2054:1;2020:12;:24;2033:10;2020:24;;;;;;;;;;;;;;;;;:30;;;:35;;1999:96;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8835:10;2380:13;2345:48;;;;;;;;:12;:24;2358:10;2345:24;;;;;;;;;;;;;;;;;:31;;;;;;;;;;;;:48;;;;;;;;;2324:117;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8876:10;8888:21;2791:15;2747:59;;;;;;;;:12;:24;2760:10;2747:24;;;;;;;;;;;;;;;;;:40;;;;;;;;;;;;:59;;;;;;;;;2726:125;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8929:10;2959:12;:24;2972:10;2959:24;;;;;;;;;;;;;;;;;:30;;;;;;;;;;;;2945:44;;:10;:44;;;2924:124;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8972:1;8964:5;:9;8956:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9072:12;:24;9085:10;9072:24;;;;;;;;;;;;;;;;;:37;;;;;;;;;;;;9021:98;;9151:5;:18;;;9170:12;:24;9183:10;9170:24;;;;;;;;;;;;;;;;;:30;;;;;;;;;;;;9210:4;9217:5;9151:72;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9151:72:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9151:72:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;9151:72:0;;;;;;;;;;;;;;;;9130:211;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9385:54;9433:5;9385:12;:24;9398:10;9385:24;;;;;;;;;;;;;;;;;:30;;;:47;;:54;;;;:::i;:::-;9352:12;:24;9365:10;9352:24;;;;;;;;;;;;;;;;;:30;;:87;;;;9489:15;9449:12;:24;9462:10;9449:24;;;;;;;;;;;;;;;;;:37;;:55;;;;9542:10;9520:40;;9530:10;9520:40;;;;9554:5;9520:40;;;;;;;;;;;;;;;;;;2861:1;2451;;2105;8670:897;;;;:::o;1766:35::-;;;;:::o;9684:194::-;9806:9;9839:18;:32;9858:12;9839:32;;;;;;;;;;;;;;;9832:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9684:194;;;:::o;10476:1204::-;10698:10;2054:1;2020:12;:24;2033:10;2020:24;;;;;;;;;;;;;;;;;:30;;;:35;;1999:96;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10732:10;2380:13;2345:48;;;;;;;;:12;:24;2358:10;2345:24;;;;;;;;;;;;;;;;;:31;;;;;;;;;;;;:48;;;;;;;;;2324:117;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10802:1;10782:12;;:19;;:21;10761:114;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10929:7;;:14;;10906:12;;:19;;:37;10885:139;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11042:153;11074:4;;11042:153;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11092:4;;11042:153;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11110:4;;11042:153;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11128:10;11152:12;;11042:153;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11178:7;;11042:153;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:18;:153::i;:::-;11240:15;11206:12;:24;11219:10;11206:24;;;;;;;;;;;;;;;;;:31;;;:49;;;;;;;;;;;;;;;;;;;;;;;;11379:15;11339:12;:24;11352:10;11339:24;;;;;;;;;;;;;;;;;:37;;:55;;;;11478:12;:24;11491:10;11478:24;;;;;;;;;;;;;;;;;:30;;;11425:49;11440:10;11452:12;;11425:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11466:7;;11425:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:14;:49::i;:::-;:83;11404:202;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11639:10;11630:43;;;;11651:12;;11665:7;;11630:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2105:1;10476:1204;;;;;;;;;;;;:::o;7242:194::-;7365:4;7392:12;:24;7405:10;7392:24;;;;;;;;;;;;;;;;;:30;;:37;7423:5;7392:37;;;;;;;;;;;;;;;;;;;;;;;;;7385:44;;7242:194;;;;:::o;18525:2641::-;18887:6;18878:15;;:5;:15;;;;18870:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18998:1;18990:5;:9;18982:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19136:1;19124:9;:13;;;:31;;;;;19154:1;19141:9;:14;;;;19124:31;19103:140;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19537:1;19524:9;:14;;;:41;;;;19563:1;19542:23;;:9;:23;;;;19524:41;19503:160;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19709:226;19752:8;19778:9;19805:12;19835:5;19858:6;19882:9;19909:12;19709:25;:226::i;:::-;19695:240;;;:10;:240;;;;19674:345;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20057:373;;;;;;;;;20178:5;20057:373;;;;20246:15;20057:373;;;;20205:13;20057:373;;;;;;;;;;;;20365:15;20057:373;;;;;;;;;;;;20286:9;20057:373;;;;;;20323:12;20057:373;;;;;;20090:5;20057:373;;;;;;20117:6;20057:373;;;;;;20407:12;20057:373;;;;;;20148:9;20057:373;;;;;20030:12;:24;20043:10;20030:24;;;;;;;;;;;;;;;;;:400;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20484:4;20441:12;:24;20454:10;20441:24;;;;;;;;;;;;;;;;;:32;;:40;20474:6;20441:40;;;;;;;;;;;;;;;;:47;;;;;;;;;;;;;;;;;;20540:4;20498:12;:24;20511:10;20498:24;;;;;;;;;;;;;;;;;:32;;:39;20531:5;20498:39;;;;;;;;;;;;;;;;:46;;;;;;;;;;;;;;;;;;20652:12;:24;20665:10;20652:24;;;;;;;;;;;;;;;;;:32;;:43;20685:9;20652:43;;;;;;;;;;;;;;;;;;;;;;;;;20651:44;20630:137;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20939:1;20927:9;:13;;;20923:94;;;21002:4;20956:12;:24;20969:10;20956:24;;;;;;;;;;;;;;;;;:32;;:43;20989:9;20956:43;;;;;;;;;;;;;;;;:50;;;;;;;;;;;;;;;;;;20923:94;21035:16;;:18;;;;;;;;;;;;;21064;:25;21083:5;21064:25;;;;;;;;;;;;;;;21095:10;21064:42;;39:1:-1;33:3;27:10;23:18;57:10;52:3;45:23;79:10;72:17;;0:93;21064:42:0;;;;;;;;;;;;;;;;;;;;;;;;;;;21116:18;:26;21135:6;21116:26;;;;;;;;;;;;;;;21148:10;21116:43;;39:1:-1;33:3;27:10;23:18;57:10;52:3;45:23;79:10;72:17;;0:93;21116:43:0;;;;;;;;;;;;;;;;;;;;;;;;;;;18525:2641;;;;;;;;;;:::o;1272:131:2:-;1330:7;1345:9;1361:1;1357;:5;1345:17;;1381:1;1376;:6;;1368:15;;;;;;;;1397:1;1390:8;;1272:131;;;;;:::o;13492:1008:0:-;13713:21;13900:20;13737:152;13768:4;13786;13804;13822:10;13846:12;13872:7;13737:17;:152::i;:::-;13713:176;;13923:130;13955:12;:24;13968:10;13955:24;;;;;;;;;;;;;;;;;:37;;;;;;;;;;;;14006:12;:24;14019:10;14006:24;;;;;;;;;;;;;;;;;:37;;;13923:18;:130::i;:::-;13900:153;;14239:12;:24;14252:10;14239:24;;;;;;;;;;;;;;;;;:34;;;;;;;;;;;;14225:48;;:4;:11;:48;:122;;;;;14279:15;14278:16;:68;;;;14315:12;:24;14328:10;14315:24;;;;;;;;;;;;;;;;;:31;;;;;;;;;;;;14298:48;;:13;:48;;;;14278:68;14225:122;14204:289;;;14384:98;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14204:289;13492:1008;;;;;;;;:::o;14626:1723::-;14774:7;14797:21;14856:24;14962:9;15614:20;15687:9;14821:12;:24;14834:10;14821:24;;;;;;;;;;;;;;;;;14797:48;;14883:1;14856:28;;14920:21;14899:42;;;;;;;;:1;:17;;;;;;;;;;;;:42;;;;;;;;;14895:1414;;;14974:1;14962:13;;14957:577;14981:12;:19;14977:1;:23;14957:577;;;15061:1;15034:29;;:12;15047:1;15034:15;;;;;;;;;;;;;;;;;;:29;;;;15026:92;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15145:1;:9;;:26;15155:12;15168:1;15155:15;;;;;;;;;;;;;;;;;;15145:26;;;;;;;;;;;;;;;;;;;;;;;;;15137:83;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15260:1;15247:7;15255:1;15247:10;;;;;;;;;;;;;;;;;;:14;15239:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15346:32;15367:7;15375:1;15367:10;;;;;;;;;;;;;;;;;;15346:16;:20;;:32;;;;:::i;:::-;15327:51;;15432:4;15397:1;:15;;:32;15413:12;15426:1;15413:15;;;;;;;;;;;;;;;;;;15397:32;;;;;;;;;;;;;;;;:39;;;;;;;;;;;;;;;;;;15483:12;15496:1;15483:15;;;;;;;;;;;;;;;;;;:24;;:36;15508:7;15516:1;15508:10;;;;;;;;;;;;;;;;;;15483:36;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;15483:36:0;15002:3;;;;;;;14957:577;;;14895:1414;;;15576:21;15555:42;;;;;;;;:1;:17;;;;;;;;;;;;:42;;;;;;;;;15551:758;;;15652:1;:14;;;;;;;;;;;;15614:53;;15699:1;15687:13;;15682:617;15704:12;:19;15702:1;:21;15682:617;;;15784:1;15757:29;;:12;15770:1;15757:15;;;;;;;;;;;;;;;;;;:29;;;;15749:92;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15868:1;:9;;:26;15878:12;15891:1;15878:15;;;;;;;;;;;;;;;;;;15868:26;;;;;;;;;;;;;;;;;;;;;;;;;15860:83;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15983:1;15970:7;15978:1;15970:10;;;;;;;;;;;;;;;;;;:14;15962:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16069:32;16090:7;16098:1;16090:10;;;;;;;;;;;;;;;;;;16069:16;:20;;:32;;;;:::i;:::-;16050:51;;16154:4;16119:1;:15;;:32;16135:12;16148:1;16135:15;;;;;;;;;;;;;;;;;;16119:32;;;;;;;;;;;;;;;;:39;;;;;;;;;;;;;;;;;;16214:5;:14;;;16229:12;16242:1;16229:15;;;;;;;;;;;;;;;;;;16246:7;16254:1;16246:10;;;;;;;;;;;;;;;;;;16214:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;16214:43:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;16214:43:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;16214:43:0;;;;;;;;;;;;;;;;16206:78;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15725:3;;;;;;;15682:617;;;15551:758;14895:1414;16326:16;16319:23;;14626:1723;;;;;;;;;;:::o;16534:1581::-;16756:7;16917:19;17035:14;17503:6;17552:17;16816:4;:11;16801:4;:11;:26;:56;;;;;16846:4;:11;16831:4;:11;:26;16801:56;16780:126;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17239:4;17234:10;;17275:1;17270:7;;17311:4;17342:12;17380:7;17413:10;17192:253;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;17192:253:0;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;17192:253:0;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;17192:253:0;;;17161:302;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;17161:302:0;;;;;;;;;;;;;;;;17075:402;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;17075:402:0;;;17052:435;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;17052:435:0;;;;;;;;;;;;;;;;17035:452;;17512:1;17503:10;;17498:582;17519:4;:11;17515:1;:15;17498:582;;;17572:122;17599:6;17623:4;17628:1;17623:7;;;;;;;;;;;;;;;;;;17648:4;17653:1;17648:7;;;;;;;;;;;;;;;;;;17673:4;17678:1;17673:7;;;;;;;;;;;;;;;;;;17572:122;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;17572:122:0;;;;;;;;17552:142;;17734:12;:24;17747:10;17734:24;;;;;;;;;;;;;;;;;:32;;:43;17767:9;17734:43;;;;;;;;;;;;;;;;;;;;;;;;;17709:120;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17869:12;:24;17882:10;17869:24;;;;;;;;;;;;;;;;;:30;;:41;17900:9;17869:41;;;;;;;;;;;;;;;;;;;;;;;;;17868:42;17843:127;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18028:4;17984:12;:24;17997:10;17984:24;;;;;;;;;;;;;;;;;:30;;:41;18015:9;17984:41;;;;;;;;;;;;;;;;:48;;;;;;;;;;;;;;;;;;18060:9;18046:23;;17532:3;;;;;;;17498:582;;;18097:11;18090:18;;16534:1581;;;;;;;;;;;;:::o;18121:317::-;18260:4;18280:17;18300:21;18308:12;18300:3;:7;;:21;;;;:::i;:::-;18280:41;;18368:1;18352:12;:17;;;:69;;18390:31;18416:4;18398:12;18390:21;;:25;;:31;;;;:::i;:::-;18378:9;:43;18352:69;;;18372:5;18352:69;18331:100;;18121:317;;;;;:::o;1078:131:2:-;1136:7;1172:9;1164:1;1159;:6;;1151:15;;;;;;;;1188:1;1184;:5;1172:17;;1203:1;1196:8;;1078:131;;;;;:::o;204:381::-;262:7;523:9;491:1;486;:6;482:35;;;509:1;502:8;;;;482:35;539:1;535;:5;523:17;;563:1;558;554;:5;;;;;;;;:10;546:19;;;;;;;;579:1;572:8;;204:381;;;;;;:::o", + "source": "pragma solidity 0.4.24;\n\nimport \"openzeppelin-solidity/contracts/math/SafeMath.sol\";\n\nimport \"../token/ITokenContract.sol\";\n\n\n/**\n* @dev Supports ERC20 tokens\n* The escrow smart contract for the open bazaar trades in Ethereum\n* The smart contract is designed keeping in mind the current wallet interface of the OB-core\n* https://github.com/OpenBazaar/wallet-interface/blob/master/wallet.go\n* Current wallet interface strictly adheres to UTXO(bitcoin) model\n* Please read below mentioned link for detailed specs\n* https://github.com/OpenBazaar/smart-contracts/blob/master/contracts/escrow/EscrowSpec.md\n*/\ncontract Escrow_v1_0 {\n\n using SafeMath for uint256;\n\n enum Status {FUNDED, RELEASED}\n\n enum TransactionType {ETHER, TOKEN}\n\n event Executed(\n bytes32 indexed scriptHash,\n address[] destinations,\n uint256[] amounts\n );\n\n event FundAdded(\n bytes32 indexed scriptHash,\n address indexed from,\n uint256 valueAdded\n );\n\n event Funded(\n bytes32 indexed scriptHash, \n address indexed from, \n uint256 value\n );\n\n struct Transaction {\n uint256 value;\n uint256 lastModified;//Time at which tx was last modified in seconds\n Status status;\n TransactionType transactionType;\n uint8 threshold;\n uint32 timeoutHours;\n address buyer;\n address seller;\n address tokenAddress;//Token address in case of token transfer\n address moderator;\n mapping(address=>bool) isOwner;//to keep track of owners.\n mapping(address=>bool) voted;//to keep track of who all voted\n mapping(address=>bool) beneficiaries;//Benefeciaries of execution\n }\n\n mapping(bytes32 => Transaction) public transactions;\n\n uint256 public transactionCount = 0;\n\n //Contains mapping between each party and all of their transactions\n mapping(address => bytes32[]) private partyVsTransaction;\n\n modifier transactionExist(bytes32 scriptHash) {\n require(\n transactions[scriptHash].value != 0, \"Transaction does not exist\"\n );\n _;\n }\n\n modifier transactionDoesNotExist(bytes32 scriptHash) {\n require(transactions[scriptHash].value == 0, \"Transaction exist\");\n _;\n }\n\n modifier inFundedState(bytes32 scriptHash) {\n require(\n transactions[scriptHash].status == Status.FUNDED, \"Transaction is not in FUNDED state\"\n );\n _;\n }\n\n modifier nonZeroAddress(address addressToCheck) {\n require(addressToCheck != address(0), \"Zero address passed\");\n _;\n }\n\n modifier checkTransactionType(\n bytes32 scriptHash,\n TransactionType transactionType\n )\n {\n require(\n transactions[scriptHash].transactionType == transactionType, \"Transaction type does not match\"\n );\n _;\n }\n\n modifier onlyBuyer(bytes32 scriptHash) {\n require(\n msg.sender == transactions[scriptHash].buyer, \"The initiator of the transaction is not buyer\"\n );\n _;\n }\n\n /**\n * @dev Add new transaction in the contract\n * @param buyer The buyer of the transaction\n * @param seller The seller of the listing associated with the transaction\n * @param moderator Moderator for this transaction\n * @param threshold Minimum number of signatures required to released funds\n * @param timeoutHours Hours after which seller can release funds into his favour by signing transaction unilaterally\n * @param scriptHash keccak256 hash of the redeem script\n * @param uniqueId bytes20 unique id for the transaction, generated by ETH wallet\n * Redeem Script format will be following\n \n * Pass amount of the ethers to be put in escrow\n */\n function addTransaction(\n address buyer,\n address seller,\n address moderator,\n uint8 threshold,\n uint32 timeoutHours,\n bytes32 scriptHash,\n bytes20 uniqueId\n )\n external\n payable\n transactionDoesNotExist(scriptHash)\n nonZeroAddress(buyer)\n nonZeroAddress(seller)\n {\n _addTransaction(\n buyer,\n seller,\n moderator,\n threshold,\n timeoutHours,\n scriptHash,\n msg.value,\n uniqueId,\n TransactionType.ETHER,\n address(0)\n );\n \n emit Funded(scriptHash, msg.sender, msg.value);\n\n }\n\n /**\n * @dev Add new transaction in the contract\n * @param buyer The buyer of the transaction\n * @param seller The seller of the listing associated with the transaction\n * @param moderator Moderator for this transaction\n * @param threshold Minimum number of signatures required to released funds\n * @param timeoutHours Hours after which seller can release funds into his favour by signing transaction unilaterally\n * @param scriptHash keccak256 hash of the redeem script\n * @param value Amount of tokens to be put in escrow\n * @param uniqueId bytes20 unique id for the transaction, generated by ETH wallet\n * @param tokenAddress Address of the token to be used\n * Redeem Script format will be following\n \n * Approve escrow contract to spend amount of token on sender's behalf\n */\n function addTokenTransaction(\n address buyer,\n address seller,\n address moderator,\n uint8 threshold,\n uint32 timeoutHours,\n bytes32 scriptHash,\n uint256 value,\n bytes20 uniqueId,\n address tokenAddress\n )\n external\n transactionDoesNotExist(scriptHash)\n nonZeroAddress(buyer)\n nonZeroAddress(seller)\n nonZeroAddress(tokenAddress)\n {\n\n _addTransaction(\n buyer,\n seller,\n moderator,\n threshold,\n timeoutHours,\n scriptHash,\n value,\n uniqueId,\n TransactionType.TOKEN,\n tokenAddress\n );\n\n ITokenContract token = ITokenContract(tokenAddress);\n\n require(\n token.transferFrom(msg.sender, address(this), value),\n \"Token transfer failed, maybe you did not approve escrow contract to spend on behalf of sender\"\n );\n emit Funded(scriptHash, msg.sender, value);\n }\n\n /**\n * @dev This method will check whether given address was a beneficiary of transaction execution or not\n * @param scriptHash script hash of the transaction\n * @param beneficiary Beneficiary address to be checked\n */\n function checkBeneficiary(\n bytes32 scriptHash,\n address beneficiary\n )\n external\n view\n returns (bool)\n {\n return transactions[scriptHash].beneficiaries[beneficiary];\n }\n\n /**\n * @dev This method will check whether given party has voted or not\n * @param scriptHash script hash of the transaction\n * @param party Address of the party whose vote has to be checked\n * @return bool vote\n */\n function checkVote(\n bytes32 scriptHash,\n address party\n )\n external\n view\n returns (bool)\n {\n return transactions[scriptHash].voted[party];\n }\n\n /**\n * @dev Allows buyer of the transaction to add more funds(ether) in the transaction. \n * This will help to cater scenarios wherein initially buyer missed to fund transaction as required\n * @param scriptHash script hash of the transaction\n * Only buyer of the transaction can invoke this method\n */\n function addFundsToTransaction(\n bytes32 scriptHash\n )\n external\n payable\n transactionExist(scriptHash)\n inFundedState(scriptHash)\n checkTransactionType(scriptHash, TransactionType.ETHER)\n onlyBuyer(scriptHash)\n \n {\n\n require(msg.value > 0, \"Value must be greater than zero.\");\n\n transactions[scriptHash].value = transactions[scriptHash].value\n .add(msg.value);\n transactions[scriptHash].lastModified = block.timestamp;\n\n emit FundAdded(scriptHash, msg.sender, msg.value);\n }\n\n /**\n * @dev Allows buyer of the transaction to add more funds(Tokens) in the transaction. \n * This will help to cater scenarios wherein initially buyer missed to fund transaction as required\n * @param scriptHash script hash of the transaction\n * Only buyer of the transaction can invoke this method\n */\n function addTokensToTransaction(\n bytes32 scriptHash,\n uint256 value\n )\n external\n transactionExist(scriptHash)\n inFundedState(scriptHash)\n checkTransactionType(scriptHash, TransactionType.TOKEN)\n onlyBuyer(scriptHash)\n {\n\n require(value > 0, \"Value must be greater than zero.\");\n\n ITokenContract token = ITokenContract(\n transactions[scriptHash].tokenAddress\n );\n\n require(\n token.transferFrom(transactions[scriptHash].buyer, address(this), value),\n \"Token transfer failed, maybe you did not approve escrow contract to spend on behalf of buyer\"\n );\n\n transactions[scriptHash].value = transactions[scriptHash].value\n .add(value);\n transactions[scriptHash].lastModified = block.timestamp;\n\n emit FundAdded(scriptHash, msg.sender, value);\n }\n\n /**\n *@dev Returns all transaction ids for a party\n *@param partyAddress Address of the party\n */\n function getAllTransactionsForParty(\n address partyAddress\n ) \n external \n view \n returns (bytes32[]) \n {\n return partyVsTransaction[partyAddress];\n }\n\n /**\n *@dev This method will be used to release funds associated with the transaction\n * Please see specs https://github.com/OpenBazaar/smart-contracts/blob/master/contracts/escrow/EscrowSpec.md\n *@param sigV Array containing V component of all the signatures\n *@param sigR Array containing R component of all the signatures\n *@param signS Array containing S component of all the signatures\n *@param scriptHash script hash of the transaction\n *@param destinations List of addresses who will receive funds\n *@param amounts amount released to each destination\n */\n function execute(\n uint8[] sigV,\n bytes32[] sigR,\n bytes32[] sigS,\n bytes32 scriptHash,\n address[] destinations,\n uint256[] amounts\n )\n external\n transactionExist(scriptHash)\n inFundedState(scriptHash)\n { \n require(\n destinations.length>0, \n \"Number of destinations must be greater than 0\"\n );\n require(\n destinations.length == amounts.length,\n \"Number of destinations must match number of values sent\"\n );\n \n _verifyTransaction(\n sigV,\n sigR,\n sigS,\n scriptHash,\n destinations,\n amounts\n );\n\n transactions[scriptHash].status = Status.RELEASED;\n //Last modified timestamp modified, which will be used by rewards\n transactions[scriptHash].lastModified = block.timestamp;\n require(\n _transferFunds(scriptHash, destinations, amounts) == transactions[scriptHash].value,\n \"Total value to be released must be equal to the transaction escrow value\"\n );\n \n emit Executed(scriptHash, destinations, amounts);\n }\n\n\n /**\n *@dev Method for calculating script hash. Calculation will depend upon the type of transaction\n * ETHER Type transaction-:\n * Script Hash- keccak256(uniqueId, threshold, timeoutHours, buyer, seller, moderator, multiSigContractAddress)\n * TOKEN Type transaction\n * Script Hash- keccak256(uniqueId, threshold, timeoutHours, buyer, seller, moderator, multiSigContractAddress, tokenAddress)\n * Client can use this method to verify whether it has calculated correct script hash or not\n */\n function calculateRedeemScriptHash(\n bytes20 uniqueId,\n uint8 threshold,\n uint32 timeoutHours,\n address buyer,\n address seller,\n address moderator,\n address tokenAddress\n )\n public\n view\n returns (bytes32)\n {\n if (tokenAddress == address(0)) {\n return keccak256(\n abi.encodePacked(\n uniqueId,\n threshold,\n timeoutHours,\n buyer,\n seller,\n moderator,\n address(this)\n )\n );\n } else {\n return keccak256(\n abi.encodePacked(\n uniqueId,\n threshold,\n timeoutHours,\n buyer,\n seller,\n moderator,\n address(this),\n tokenAddress\n )\n );\n }\n }\n\n /**\n * @dev This methods checks validity of transaction\n * 1. Verify Signatures\n * 2. Check if minimum number of signatures has been acquired\n * 3. If above condition is false, check if time lock is expired and the execution is signed by seller\n */\n function _verifyTransaction(\n uint8[] sigV,\n bytes32[] sigR,\n bytes32[] sigS,\n bytes32 scriptHash,\n address[] destinations,\n uint256[] amounts\n )\n private\n {\n address lastRecovered = _verifySignatures(\n sigV,\n sigR,\n sigS,\n scriptHash,\n destinations,\n amounts\n );\n\n bool timeLockExpired = _isTimeLockExpired(\n transactions[scriptHash].timeoutHours,\n transactions[scriptHash].lastModified\n );\n\n //if Minimum number of signatures are not gathered and timelock has not expired or transaction was not signed by seller then revert\n if (\n sigV.length < transactions[scriptHash].threshold && (!timeLockExpired || lastRecovered != transactions[scriptHash].seller)\n )\n {\n revert(\"Minimum number of signatures are not collected and time lock expiry conditions not met!!\");\n }\n\n }\n\n /**\n *@dev Private method to transfer funds to the destination addresses on the basis of transaction type\n */\n function _transferFunds(\n bytes32 scriptHash,\n address[]destinations,\n uint256[]amounts\n )\n private\n returns (uint256)\n {\n Transaction storage t = transactions[scriptHash];\n\n uint256 valueTransferred = 0;\n\n if (t.transactionType == TransactionType.ETHER) {\n for (uint256 i = 0; i < destinations.length; i++) {\n\n require(destinations[i] != address(0), \"zero address is not allowed as destination address\");\n\n require(t.isOwner[destinations[i]], \"Destination address is not one of the owners\");\n\n require(amounts[i] > 0, \"Amount to be sent should be greater than 0\");\n\n valueTransferred = valueTransferred.add(amounts[i]);\n\n t.beneficiaries[destinations[i]] = true;//add receiver as beneficiary\n destinations[i].transfer(amounts[i]);\n }\n\n } else if (t.transactionType == TransactionType.TOKEN) {\n\n ITokenContract token = ITokenContract(t.tokenAddress);\n\n for (uint256 j = 0; j 0, \"Amount to be sent should be greater than 0\");\n\n valueTransferred = valueTransferred.add(amounts[j]);\n t.beneficiaries[destinations[j]] = true;//add receiver as beneficiary\n\n require(token.transfer(destinations[j], amounts[j]), \"Token transfer failed.\");\n }\n } \n return valueTransferred;\n }\n\n //to check whether the signatures are valid or not and if consensus was reached\n //returns the last address recovered, in case of timeout this must be the sender's address\n function _verifySignatures(\n uint8[] sigV,\n bytes32[] sigR,\n bytes32[] sigS,\n bytes32 scriptHash,\n address[] destinations,\n uint256[]amounts\n )\n private\n returns (address)\n {\n\n require(\n sigR.length == sigS.length && sigR.length == sigV.length, \n \"R,S,V length mismatch.\"\n );\n\n address lastAddress;\n\n // Follows ERC191 signature scheme: https://github.com/ethereum/EIPs/issues/191\n bytes32 txHash = keccak256(\n abi.encodePacked(\n \"\\x19Ethereum Signed Message:\\n32\",\n keccak256(\n abi.encodePacked(\n byte(0x19),\n byte(0),\n address(this),\n destinations,\n amounts,\n scriptHash\n )\n )\n )\n );\n\n for (uint i = 0; i < sigR.length; i++) {\n\n address recovered = ecrecover(\n txHash,\n sigV[i],\n sigR[i],\n sigS[i]\n );\n\n require(\n transactions[scriptHash].isOwner[recovered], \n \"Invalid signature\"\n );\n require(\n !transactions[scriptHash].voted[recovered], \n \"Same signature sent twice\"\n );\n transactions[scriptHash].voted[recovered] = true;\n lastAddress = recovered;\n }\n\n return lastAddress;\n }\n\n function _isTimeLockExpired(\n uint32 timeoutHours,\n uint256 lastModified\n )\n private\n view\n returns (bool)\n {\n uint256 timeSince = now.sub(lastModified);\n return (\n timeoutHours == 0 ? false:timeSince > uint256(timeoutHours).mul(3600)\n );\n }\n\n /**\n * Private method to add transaction to reduce code redundancy\n */\n function _addTransaction(\n address buyer,\n address seller,\n address moderator,\n uint8 threshold,\n uint32 timeoutHours,\n bytes32 scriptHash,\n uint256 value,\n bytes20 uniqueId,\n TransactionType transactionType,\n address tokenAddress\n )\n private\n { \n require(buyer != seller, \"Buyer and seller are same\");\n\n //value passed should be greater than 0\n require(value > 0, \"Value passed is 0\");\n\n // For now allowing 0 moderator to support 1-2 multisig wallet\n require(\n threshold > 0 && threshold <= 3, \n \"Threshold cannot be greater than 3 and must be greater than 0\"\n );\n\n //if threshold is 1 then moderator can be passed as zero address or any other address\n //(it won't matter apart from scripthash since we wont add moderator as one of the owner),\n //otherwise moderator should be a valid address\n require(\n threshold == 1 || moderator != address(0),\n \"Either threshold should be 1 or valid moderator address should be passed\"\n );\n\n require(\n scriptHash == calculateRedeemScriptHash(\n uniqueId,\n threshold,\n timeoutHours,\n buyer,\n seller,\n moderator,\n tokenAddress\n ), \n \"Calculated script hash does not match passed script hash.\"\n );\n\n transactions[scriptHash] = Transaction({\n buyer: buyer,\n seller: seller,\n moderator: moderator,\n value: value,\n status: Status.FUNDED,\n lastModified: block.timestamp,\n threshold: threshold,\n timeoutHours: timeoutHours,\n transactionType:transactionType,\n tokenAddress:tokenAddress\n });\n\n transactions[scriptHash].isOwner[seller] = true;\n transactions[scriptHash].isOwner[buyer] = true; \n\n //Check if buyer or seller are not passed as moderator\n require(\n !transactions[scriptHash].isOwner[moderator], \n \"Either buyer or seller is passed as moderator\"\n );\n\n //set moderator as one of the owners only if threshold is greater than 1 otherwise only buyer and seller should be able to release funds\n if (threshold > 1) {\n transactions[scriptHash].isOwner[moderator] = true;\n }\n \n\n transactionCount++;\n\n partyVsTransaction[buyer].push(scriptHash);\n partyVsTransaction[seller].push(scriptHash);\n }\n}\n", "sourcePath": "/home/sameep/freelancing-projects/toptal/open baazar/publicRepo/smart-contracts/contracts/escrow/Escrow_v1_0.sol", "ast": { "absolutePath": "/home/sameep/freelancing-projects/toptal/open baazar/publicRepo/smart-contracts/contracts/escrow/Escrow_v1_0.sol", @@ -895,7 +895,7 @@ "name": "status", "nodeType": "VariableDeclaration", "scope": 71, - "src": "1230:13:0", + "src": "1232:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -908,7 +908,7 @@ "name": "Status", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 9, - "src": "1230:6:0", + "src": "1232:6:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$9", "typeString": "enum Escrow_v1_0.Status" @@ -923,7 +923,7 @@ "name": "transactionType", "nodeType": "VariableDeclaration", "scope": 71, - "src": "1253:31:0", + "src": "1255:31:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -936,7 +936,7 @@ "name": "TransactionType", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 12, - "src": "1253:15:0", + "src": "1255:15:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -951,7 +951,7 @@ "name": "threshold", "nodeType": "VariableDeclaration", "scope": 71, - "src": "1294:15:0", + "src": "1296:15:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -962,7 +962,7 @@ "id": 47, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "1294:5:0", + "src": "1296:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -977,7 +977,7 @@ "name": "timeoutHours", "nodeType": "VariableDeclaration", "scope": 71, - "src": "1319:19:0", + "src": "1321:19:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -988,7 +988,7 @@ "id": 49, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "1319:6:0", + "src": "1321:6:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -1003,7 +1003,7 @@ "name": "buyer", "nodeType": "VariableDeclaration", "scope": 71, - "src": "1348:13:0", + "src": "1350:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1014,7 +1014,7 @@ "id": 51, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1348:7:0", + "src": "1350:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1029,7 +1029,7 @@ "name": "seller", "nodeType": "VariableDeclaration", "scope": 71, - "src": "1371:14:0", + "src": "1373:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1040,7 +1040,7 @@ "id": 53, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1371:7:0", + "src": "1373:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1055,7 +1055,7 @@ "name": "tokenAddress", "nodeType": "VariableDeclaration", "scope": 71, - "src": "1395:20:0", + "src": "1397:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1066,7 +1066,7 @@ "id": 55, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1395:7:0", + "src": "1397:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1081,7 +1081,7 @@ "name": "moderator", "nodeType": "VariableDeclaration", "scope": 71, - "src": "1466:17:0", + "src": "1468:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1092,7 +1092,7 @@ "id": 57, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1466:7:0", + "src": "1468:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1107,7 +1107,7 @@ "name": "isOwner", "nodeType": "VariableDeclaration", "scope": 71, - "src": "1493:30:0", + "src": "1495:30:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1120,14 +1120,14 @@ "id": 59, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1501:7:0", + "src": "1503:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "Mapping", - "src": "1493:22:0", + "src": "1495:22:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -1136,7 +1136,7 @@ "id": 60, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "1510:4:0", + "src": "1512:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1152,7 +1152,7 @@ "name": "voted", "nodeType": "VariableDeclaration", "scope": 71, - "src": "1559:28:0", + "src": "1561:28:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1165,14 +1165,14 @@ "id": 63, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1567:7:0", + "src": "1569:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "Mapping", - "src": "1559:22:0", + "src": "1561:22:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -1181,7 +1181,7 @@ "id": 64, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "1576:4:0", + "src": "1578:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1197,7 +1197,7 @@ "name": "beneficiaries", "nodeType": "VariableDeclaration", "scope": 71, - "src": "1629:36:0", + "src": "1631:36:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1210,14 +1210,14 @@ "id": 67, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1637:7:0", + "src": "1639:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "Mapping", - "src": "1629:22:0", + "src": "1631:22:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -1226,7 +1226,7 @@ "id": 68, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "1646:4:0", + "src": "1648:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1240,7 +1240,7 @@ "name": "Transaction", "nodeType": "StructDefinition", "scope": 1224, - "src": "1103:597:0", + "src": "1103:599:0", "visibility": "public" }, { @@ -1249,7 +1249,7 @@ "name": "transactions", "nodeType": "VariableDeclaration", "scope": 1224, - "src": "1706:51:0", + "src": "1708:51:0", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -1262,14 +1262,14 @@ "id": 72, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "1714:7:0", + "src": "1716:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "nodeType": "Mapping", - "src": "1706:31:0", + "src": "1708:31:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction)" @@ -1280,7 +1280,7 @@ "name": "Transaction", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 71, - "src": "1725:11:0", + "src": "1727:11:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction" @@ -1296,7 +1296,7 @@ "name": "transactionCount", "nodeType": "VariableDeclaration", "scope": 1224, - "src": "1764:35:0", + "src": "1766:35:0", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -1307,7 +1307,7 @@ "id": 76, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1764:7:0", + "src": "1766:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1323,7 +1323,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1798:1:0", + "src": "1800:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -1339,7 +1339,7 @@ "name": "partyVsTransaction", "nodeType": "VariableDeclaration", "scope": 1224, - "src": "1878:56:0", + "src": "1880:56:0", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -1352,14 +1352,14 @@ "id": 79, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1886:7:0", + "src": "1888:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "Mapping", - "src": "1878:29:0", + "src": "1880:29:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_bytes32_$dyn_storage_$", "typeString": "mapping(address => bytes32[])" @@ -1369,7 +1369,7 @@ "id": 80, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "1897:7:0", + "src": "1899:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -1378,7 +1378,7 @@ "id": 81, "length": null, "nodeType": "ArrayTypeName", - "src": "1897:9:0", + "src": "1899:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -1392,7 +1392,7 @@ "body": { "id": 98, "nodeType": "Block", - "src": "1987:124:0", + "src": "1989:124:0", "statements": [ { "expression": { @@ -1420,7 +1420,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "2018:12:0", + "src": "2020:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -1434,7 +1434,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 85, - "src": "2031:10:0", + "src": "2033:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -1445,7 +1445,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "2018:24:0", + "src": "2020:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -1459,7 +1459,7 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": 40, - "src": "2018:30:0", + "src": "2020:30:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1477,7 +1477,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2052:1:0", + "src": "2054:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -1485,7 +1485,7 @@ }, "value": "0" }, - "src": "2018:35:0", + "src": "2020:35:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1501,7 +1501,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "2055:28:0", + "src": "2057:28:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_cb323e46bbcca91e157c2b50ad4ce2acbe1153338b838c84372d5723b8995ef0", @@ -1529,7 +1529,7 @@ 1401 ], "referencedDeclaration": 1401, - "src": "1997:7:0", + "src": "1999:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -1543,7 +1543,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1997:96:0", + "src": "1999:96:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -1551,12 +1551,12 @@ }, "id": 96, "nodeType": "ExpressionStatement", - "src": "1997:96:0" + "src": "1999:96:0" }, { "id": 97, "nodeType": "PlaceholderStatement", - "src": "2103:1:0" + "src": "2105:1:0" } ] }, @@ -1574,7 +1574,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 99, - "src": "1967:18:0", + "src": "1969:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1585,7 +1585,7 @@ "id": 84, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "1967:7:0", + "src": "1969:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -1595,16 +1595,16 @@ "visibility": "internal" } ], - "src": "1966:20:0" + "src": "1968:20:0" }, - "src": "1941:170:0", + "src": "1943:170:0", "visibility": "internal" }, { "body": { "id": 114, "nodeType": "Block", - "src": "2170:93:0", + "src": "2172:93:0", "statements": [ { "expression": { @@ -1632,7 +1632,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "2188:12:0", + "src": "2190:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -1646,7 +1646,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 101, - "src": "2201:10:0", + "src": "2203:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -1657,7 +1657,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "2188:24:0", + "src": "2190:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -1671,7 +1671,7 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": 40, - "src": "2188:30:0", + "src": "2190:30:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1689,7 +1689,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2222:1:0", + "src": "2224:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -1697,7 +1697,7 @@ }, "value": "0" }, - "src": "2188:35:0", + "src": "2190:35:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1713,7 +1713,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "2225:19:0", + "src": "2227:19:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_4f41f109da323167d042f4559ebd6e2dc42fdbc2be1a2cea9ff6130572900782", @@ -1741,7 +1741,7 @@ 1401 ], "referencedDeclaration": 1401, - "src": "2180:7:0", + "src": "2182:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -1755,7 +1755,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2180:65:0", + "src": "2182:65:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -1763,12 +1763,12 @@ }, "id": 112, "nodeType": "ExpressionStatement", - "src": "2180:65:0" + "src": "2182:65:0" }, { "id": 113, "nodeType": "PlaceholderStatement", - "src": "2255:1:0" + "src": "2257:1:0" } ] }, @@ -1786,7 +1786,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 115, - "src": "2150:18:0", + "src": "2152:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1797,7 +1797,7 @@ "id": 100, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "2150:7:0", + "src": "2152:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -1807,16 +1807,16 @@ "visibility": "internal" } ], - "src": "2149:20:0" + "src": "2151:20:0" }, - "src": "2117:146:0", + "src": "2119:146:0", "visibility": "internal" }, { "body": { "id": 131, "nodeType": "Block", - "src": "2312:145:0", + "src": "2314:145:0", "statements": [ { "expression": { @@ -1844,7 +1844,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "2343:12:0", + "src": "2345:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -1858,7 +1858,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 117, - "src": "2356:10:0", + "src": "2358:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -1869,7 +1869,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "2343:24:0", + "src": "2345:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -1883,7 +1883,7 @@ "memberName": "status", "nodeType": "MemberAccess", "referencedDeclaration": 44, - "src": "2343:31:0", + "src": "2345:31:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$9", "typeString": "enum Escrow_v1_0.Status" @@ -1900,7 +1900,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9, - "src": "2378:6:0", + "src": "2380:6:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_Status_$9_$", "typeString": "type(enum Escrow_v1_0.Status)" @@ -1914,13 +1914,13 @@ "memberName": "FUNDED", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "2378:13:0", + "src": "2380:13:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$9", "typeString": "enum Escrow_v1_0.Status" } }, - "src": "2343:48:0", + "src": "2345:48:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1936,7 +1936,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "2393:36:0", + "src": "2395:36:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_5244efce1630cfae7257c0817c921ae75135c1043344a4cf9a1988c03337f39d", @@ -1964,7 +1964,7 @@ 1401 ], "referencedDeclaration": 1401, - "src": "2322:7:0", + "src": "2324:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -1978,7 +1978,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2322:117:0", + "src": "2324:117:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -1986,12 +1986,12 @@ }, "id": 129, "nodeType": "ExpressionStatement", - "src": "2322:117:0" + "src": "2324:117:0" }, { "id": 130, "nodeType": "PlaceholderStatement", - "src": "2449:1:0" + "src": "2451:1:0" } ] }, @@ -2009,7 +2009,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 132, - "src": "2292:18:0", + "src": "2294:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2020,7 +2020,7 @@ "id": 116, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "2292:7:0", + "src": "2294:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -2030,16 +2030,16 @@ "visibility": "internal" } ], - "src": "2291:20:0" + "src": "2293:20:0" }, - "src": "2269:188:0", + "src": "2271:188:0", "visibility": "internal" }, { "body": { "id": 146, "nodeType": "Block", - "src": "2511:88:0", + "src": "2513:88:0", "statements": [ { "expression": { @@ -2063,7 +2063,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 134, - "src": "2529:14:0", + "src": "2531:14:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2084,7 +2084,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2555:1:0", + "src": "2557:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -2106,7 +2106,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "2547:7:0", + "src": "2549:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" @@ -2121,13 +2121,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2547:10:0", + "src": "2549:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "2529:28:0", + "src": "2531:28:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -2143,7 +2143,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "2559:21:0", + "src": "2561:21:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_93e85f37f73cf8e1b855512ab7e00aab2b791117712ecb476daeb6c2c0a27a67", @@ -2171,7 +2171,7 @@ 1401 ], "referencedDeclaration": 1401, - "src": "2521:7:0", + "src": "2523:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -2185,7 +2185,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2521:60:0", + "src": "2523:60:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -2193,12 +2193,12 @@ }, "id": 144, "nodeType": "ExpressionStatement", - "src": "2521:60:0" + "src": "2523:60:0" }, { "id": 145, "nodeType": "PlaceholderStatement", - "src": "2591:1:0" + "src": "2593:1:0" } ] }, @@ -2216,7 +2216,7 @@ "name": "addressToCheck", "nodeType": "VariableDeclaration", "scope": 147, - "src": "2487:22:0", + "src": "2489:22:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2227,7 +2227,7 @@ "id": 133, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2487:7:0", + "src": "2489:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2237,16 +2237,16 @@ "visibility": "internal" } ], - "src": "2486:24:0" + "src": "2488:24:0" }, - "src": "2463:136:0", + "src": "2465:136:0", "visibility": "internal" }, { "body": { "id": 164, "nodeType": "Block", - "src": "2714:153:0", + "src": "2716:153:0", "statements": [ { "expression": { @@ -2274,7 +2274,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "2745:12:0", + "src": "2747:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -2288,7 +2288,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 149, - "src": "2758:10:0", + "src": "2760:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -2299,7 +2299,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "2745:24:0", + "src": "2747:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -2313,7 +2313,7 @@ "memberName": "transactionType", "nodeType": "MemberAccess", "referencedDeclaration": 46, - "src": "2745:40:0", + "src": "2747:40:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -2328,13 +2328,13 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 151, - "src": "2789:15:0", + "src": "2791:15:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" } }, - "src": "2745:59:0", + "src": "2747:59:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -2350,7 +2350,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "2806:33:0", + "src": "2808:33:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_c798eb33a8bd5d4c22212d5c8611219bb87da2d82aefe8e88b1f970a0f133cc3", @@ -2378,7 +2378,7 @@ 1401 ], "referencedDeclaration": 1401, - "src": "2724:7:0", + "src": "2726:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -2392,7 +2392,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2724:125:0", + "src": "2726:125:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -2400,12 +2400,12 @@ }, "id": 162, "nodeType": "ExpressionStatement", - "src": "2724:125:0" + "src": "2726:125:0" }, { "id": 163, "nodeType": "PlaceholderStatement", - "src": "2859:1:0" + "src": "2861:1:0" } ] }, @@ -2423,7 +2423,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 165, - "src": "2644:18:0", + "src": "2646:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2434,7 +2434,7 @@ "id": 148, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "2644:7:0", + "src": "2646:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -2449,7 +2449,7 @@ "name": "transactionType", "nodeType": "VariableDeclaration", "scope": 165, - "src": "2672:31:0", + "src": "2674:31:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2462,7 +2462,7 @@ "name": "TransactionType", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 12, - "src": "2672:15:0", + "src": "2674:15:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -2472,16 +2472,16 @@ "visibility": "internal" } ], - "src": "2634:75:0" + "src": "2636:75:0" }, - "src": "2605:262:0", + "src": "2607:262:0", "visibility": "internal" }, { "body": { "id": 181, "nodeType": "Block", - "src": "2912:152:0", + "src": "2914:152:0", "statements": [ { "expression": { @@ -2507,7 +2507,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1397, - "src": "2943:3:0", + "src": "2945:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -2521,7 +2521,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "2943:10:0", + "src": "2945:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2540,7 +2540,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "2957:12:0", + "src": "2959:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -2554,7 +2554,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 167, - "src": "2970:10:0", + "src": "2972:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -2565,7 +2565,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "2957:24:0", + "src": "2959:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -2579,13 +2579,13 @@ "memberName": "buyer", "nodeType": "MemberAccess", "referencedDeclaration": 52, - "src": "2957:30:0", + "src": "2959:30:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "2943:44:0", + "src": "2945:44:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -2601,7 +2601,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "2989:47:0", + "src": "2991:47:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_b4fc72d2373e6fc668b2bc10a6c84713d84de5f4dc58bb69053e1a18ae67c2f9", @@ -2629,7 +2629,7 @@ 1401 ], "referencedDeclaration": 1401, - "src": "2922:7:0", + "src": "2924:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -2643,7 +2643,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2922:124:0", + "src": "2924:124:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -2651,12 +2651,12 @@ }, "id": 179, "nodeType": "ExpressionStatement", - "src": "2922:124:0" + "src": "2924:124:0" }, { "id": 180, "nodeType": "PlaceholderStatement", - "src": "3056:1:0" + "src": "3058:1:0" } ] }, @@ -2674,7 +2674,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 182, - "src": "2892:18:0", + "src": "2894:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2685,7 +2685,7 @@ "id": 166, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "2892:7:0", + "src": "2894:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -2695,16 +2695,16 @@ "visibility": "internal" } ], - "src": "2891:20:0" + "src": "2893:20:0" }, - "src": "2873:191:0", + "src": "2875:191:0", "visibility": "internal" }, { "body": { "id": 233, "nodeType": "Block", - "src": "4213:347:0", + "src": "4215:347:0", "statements": [ { "expression": { @@ -2717,7 +2717,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 184, - "src": "4252:5:0", + "src": "4254:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2730,7 +2730,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 186, - "src": "4271:6:0", + "src": "4273:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2743,7 +2743,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 188, - "src": "4291:9:0", + "src": "4293:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2756,7 +2756,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 190, - "src": "4314:9:0", + "src": "4316:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -2769,7 +2769,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 192, - "src": "4337:12:0", + "src": "4339:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -2782,7 +2782,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 194, - "src": "4363:10:0", + "src": "4365:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -2797,7 +2797,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1397, - "src": "4387:3:0", + "src": "4389:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -2811,7 +2811,7 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "4387:9:0", + "src": "4389:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2824,7 +2824,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 196, - "src": "4410:8:0", + "src": "4412:8:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -2839,7 +2839,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12, - "src": "4432:15:0", + "src": "4434:15:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_TransactionType_$12_$", "typeString": "type(enum Escrow_v1_0.TransactionType)" @@ -2853,7 +2853,7 @@ "memberName": "ETHER", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "4432:21:0", + "src": "4434:21:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -2872,7 +2872,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "4475:1:0", + "src": "4477:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -2894,7 +2894,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "4467:7:0", + "src": "4469:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" @@ -2909,7 +2909,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4467:10:0", + "src": "4469:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2964,7 +2964,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1223, - "src": "4223:15:0", + "src": "4225:15:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_address_$_t_uint8_$_t_uint32_$_t_bytes32_$_t_uint256_$_t_bytes20_$_t_enum$_TransactionType_$12_$_t_address_$returns$__$", "typeString": "function (address,address,address,uint8,uint32,bytes32,uint256,bytes20,enum Escrow_v1_0.TransactionType,address)" @@ -2978,7 +2978,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4223:264:0", + "src": "4225:264:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -2986,7 +2986,7 @@ }, "id": 224, "nodeType": "ExpressionStatement", - "src": "4223:264:0" + "src": "4225:264:0" }, { "eventCall": { @@ -2999,7 +2999,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 194, - "src": "4518:10:0", + "src": "4520:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -3014,7 +3014,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1397, - "src": "4530:3:0", + "src": "4532:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -3028,7 +3028,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "4530:10:0", + "src": "4532:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3043,7 +3043,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1397, - "src": "4542:3:0", + "src": "4544:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -3057,7 +3057,7 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "4542:9:0", + "src": "4544:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3084,7 +3084,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 38, - "src": "4511:6:0", + "src": "4513:6:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (bytes32,address,uint256)" @@ -3098,7 +3098,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4511:41:0", + "src": "4513:41:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -3106,7 +3106,7 @@ }, "id": 232, "nodeType": "EmitStatement", - "src": "4506:46:0" + "src": "4508:46:0" } ] }, @@ -3125,7 +3125,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 194, - "src": "4136:10:0", + "src": "4138:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -3140,14 +3140,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 115, - "src": "4112:23:0", + "src": "4114:23:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "4112:35:0" + "src": "4114:35:0" }, { "arguments": [ @@ -3158,7 +3158,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 184, - "src": "4171:5:0", + "src": "4173:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3173,14 +3173,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 147, - "src": "4156:14:0", + "src": "4158:14:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_address_$", "typeString": "modifier (address)" } }, "nodeType": "ModifierInvocation", - "src": "4156:21:0" + "src": "4158:21:0" }, { "arguments": [ @@ -3191,7 +3191,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 186, - "src": "4201:6:0", + "src": "4203:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3206,14 +3206,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 147, - "src": "4186:14:0", + "src": "4188:14:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_address_$", "typeString": "modifier (address)" } }, "nodeType": "ModifierInvocation", - "src": "4186:22:0" + "src": "4188:22:0" } ], "name": "addTransaction", @@ -3228,7 +3228,7 @@ "name": "buyer", "nodeType": "VariableDeclaration", "scope": 234, - "src": "3892:13:0", + "src": "3894:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3239,7 +3239,7 @@ "id": 183, "name": "address", "nodeType": "ElementaryTypeName", - "src": "3892:7:0", + "src": "3894:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3254,7 +3254,7 @@ "name": "seller", "nodeType": "VariableDeclaration", "scope": 234, - "src": "3915:14:0", + "src": "3917:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3265,7 +3265,7 @@ "id": 185, "name": "address", "nodeType": "ElementaryTypeName", - "src": "3915:7:0", + "src": "3917:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3280,7 +3280,7 @@ "name": "moderator", "nodeType": "VariableDeclaration", "scope": 234, - "src": "3939:17:0", + "src": "3941:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3291,7 +3291,7 @@ "id": 187, "name": "address", "nodeType": "ElementaryTypeName", - "src": "3939:7:0", + "src": "3941:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3306,7 +3306,7 @@ "name": "threshold", "nodeType": "VariableDeclaration", "scope": 234, - "src": "3966:15:0", + "src": "3968:15:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3317,7 +3317,7 @@ "id": 189, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "3966:5:0", + "src": "3968:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -3332,7 +3332,7 @@ "name": "timeoutHours", "nodeType": "VariableDeclaration", "scope": 234, - "src": "3991:19:0", + "src": "3993:19:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3343,7 +3343,7 @@ "id": 191, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "3991:6:0", + "src": "3993:6:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -3358,7 +3358,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 234, - "src": "4020:18:0", + "src": "4022:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3369,7 +3369,7 @@ "id": 193, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "4020:7:0", + "src": "4022:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -3384,7 +3384,7 @@ "name": "uniqueId", "nodeType": "VariableDeclaration", "scope": 234, - "src": "4048:16:0", + "src": "4050:16:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3395,7 +3395,7 @@ "id": 195, "name": "bytes20", "nodeType": "ElementaryTypeName", - "src": "4048:7:0", + "src": "4050:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -3405,17 +3405,17 @@ "visibility": "internal" } ], - "src": "3882:188:0" + "src": "3884:188:0" }, "payable": true, "returnParameters": { "id": 207, "nodeType": "ParameterList", "parameters": [], - "src": "4213:0:0" + "src": "4215:0:0" }, "scope": 1224, - "src": "3859:701:0", + "src": "3861:701:0", "stateMutability": "payable", "superFunction": null, "visibility": "external" @@ -3424,7 +3424,7 @@ "body": { "id": 307, "nodeType": "Block", - "src": "5941:597:0", + "src": "5943:597:0", "statements": [ { "expression": { @@ -3437,7 +3437,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 236, - "src": "5981:5:0", + "src": "5983:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3450,7 +3450,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 238, - "src": "6000:6:0", + "src": "6002:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3463,7 +3463,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 240, - "src": "6020:9:0", + "src": "6022:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3476,7 +3476,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 242, - "src": "6043:9:0", + "src": "6045:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -3489,7 +3489,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 244, - "src": "6066:12:0", + "src": "6068:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -3502,7 +3502,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 246, - "src": "6092:10:0", + "src": "6094:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -3515,7 +3515,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 248, - "src": "6116:5:0", + "src": "6118:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3528,7 +3528,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 250, - "src": "6135:8:0", + "src": "6137:8:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -3543,7 +3543,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12, - "src": "6157:15:0", + "src": "6159:15:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_TransactionType_$12_$", "typeString": "type(enum Escrow_v1_0.TransactionType)" @@ -3557,7 +3557,7 @@ "memberName": "TOKEN", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "6157:21:0", + "src": "6159:21:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -3570,7 +3570,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 252, - "src": "6192:12:0", + "src": "6194:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3625,7 +3625,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1223, - "src": "5952:15:0", + "src": "5954:15:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_address_$_t_uint8_$_t_uint32_$_t_bytes32_$_t_uint256_$_t_bytes20_$_t_enum$_TransactionType_$12_$_t_address_$returns$__$", "typeString": "function (address,address,address,uint8,uint32,bytes32,uint256,bytes20,enum Escrow_v1_0.TransactionType,address)" @@ -3639,7 +3639,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5952:262:0", + "src": "5954:262:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -3647,7 +3647,7 @@ }, "id": 280, "nodeType": "ExpressionStatement", - "src": "5952:262:0" + "src": "5954:262:0" }, { "assignments": [ @@ -3660,7 +3660,7 @@ "name": "token", "nodeType": "VariableDeclaration", "scope": 308, - "src": "6225:20:0", + "src": "6227:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3673,7 +3673,7 @@ "name": "ITokenContract", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 1254, - "src": "6225:14:0", + "src": "6227:14:0", "typeDescriptions": { "typeIdentifier": "t_contract$_ITokenContract_$1254", "typeString": "contract ITokenContract" @@ -3694,7 +3694,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 252, - "src": "6263:12:0", + "src": "6265:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3713,7 +3713,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1254, - "src": "6248:14:0", + "src": "6250:14:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_ITokenContract_$1254_$", "typeString": "type(contract ITokenContract)" @@ -3727,14 +3727,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6248:28:0", + "src": "6250:28:0", "typeDescriptions": { "typeIdentifier": "t_contract$_ITokenContract_$1254", "typeString": "contract ITokenContract" } }, "nodeType": "VariableDeclarationStatement", - "src": "6225:51:0" + "src": "6227:51:0" }, { "expression": { @@ -3752,7 +3752,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1397, - "src": "6327:3:0", + "src": "6329:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -3766,7 +3766,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "6327:10:0", + "src": "6329:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3782,7 +3782,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1414, - "src": "6347:4:0", + "src": "6349:4:0", "typeDescriptions": { "typeIdentifier": "t_contract$_Escrow_v1_0_$1224", "typeString": "contract Escrow_v1_0" @@ -3802,7 +3802,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "6339:7:0", + "src": "6341:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" @@ -3817,7 +3817,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6339:13:0", + "src": "6341:13:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3830,7 +3830,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 248, - "src": "6354:5:0", + "src": "6356:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3859,7 +3859,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 282, - "src": "6308:5:0", + "src": "6310:5:0", "typeDescriptions": { "typeIdentifier": "t_contract$_ITokenContract_$1254", "typeString": "contract ITokenContract" @@ -3873,7 +3873,7 @@ "memberName": "transferFrom", "nodeType": "MemberAccess", "referencedDeclaration": 1253, - "src": "6308:18:0", + "src": "6310:18:0", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", "typeString": "function (address,address,uint256) external returns (bool)" @@ -3887,7 +3887,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6308:52:0", + "src": "6310:52:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -3903,7 +3903,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "6374:95:0", + "src": "6376:95:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_d81b627ac67759234197a5bdf4d9f7d33298e824ce7bd47e08ce9919cd96c696", @@ -3931,7 +3931,7 @@ 1401 ], "referencedDeclaration": 1401, - "src": "6287:7:0", + "src": "6289:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -3945,7 +3945,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6287:192:0", + "src": "6289:192:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -3953,7 +3953,7 @@ }, "id": 299, "nodeType": "ExpressionStatement", - "src": "6287:192:0" + "src": "6289:192:0" }, { "eventCall": { @@ -3966,7 +3966,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 246, - "src": "6501:10:0", + "src": "6503:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -3981,7 +3981,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1397, - "src": "6513:3:0", + "src": "6515:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -3995,7 +3995,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "6513:10:0", + "src": "6515:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4008,7 +4008,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 248, - "src": "6525:5:0", + "src": "6527:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4035,7 +4035,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 38, - "src": "6494:6:0", + "src": "6496:6:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (bytes32,address,uint256)" @@ -4049,7 +4049,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6494:37:0", + "src": "6496:37:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -4057,7 +4057,7 @@ }, "id": 306, "nodeType": "EmitStatement", - "src": "6489:42:0" + "src": "6491:42:0" } ] }, @@ -4076,7 +4076,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 246, - "src": "5827:10:0", + "src": "5829:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -4091,14 +4091,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 115, - "src": "5803:23:0", + "src": "5805:23:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "5803:35:0" + "src": "5805:35:0" }, { "arguments": [ @@ -4109,7 +4109,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 236, - "src": "5862:5:0", + "src": "5864:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4124,14 +4124,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 147, - "src": "5847:14:0", + "src": "5849:14:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_address_$", "typeString": "modifier (address)" } }, "nodeType": "ModifierInvocation", - "src": "5847:21:0" + "src": "5849:21:0" }, { "arguments": [ @@ -4142,7 +4142,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 238, - "src": "5892:6:0", + "src": "5894:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4157,14 +4157,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 147, - "src": "5877:14:0", + "src": "5879:14:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_address_$", "typeString": "modifier (address)" } }, "nodeType": "ModifierInvocation", - "src": "5877:22:0" + "src": "5879:22:0" }, { "arguments": [ @@ -4175,7 +4175,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 252, - "src": "5923:12:0", + "src": "5925:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4190,14 +4190,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 147, - "src": "5908:14:0", + "src": "5910:14:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_address_$", "typeString": "modifier (address)" } }, "nodeType": "ModifierInvocation", - "src": "5908:28:0" + "src": "5910:28:0" } ], "name": "addTokenTransaction", @@ -4212,7 +4212,7 @@ "name": "buyer", "nodeType": "VariableDeclaration", "scope": 308, - "src": "5546:13:0", + "src": "5548:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4223,7 +4223,7 @@ "id": 235, "name": "address", "nodeType": "ElementaryTypeName", - "src": "5546:7:0", + "src": "5548:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4238,7 +4238,7 @@ "name": "seller", "nodeType": "VariableDeclaration", "scope": 308, - "src": "5569:14:0", + "src": "5571:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4249,7 +4249,7 @@ "id": 237, "name": "address", "nodeType": "ElementaryTypeName", - "src": "5569:7:0", + "src": "5571:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4264,7 +4264,7 @@ "name": "moderator", "nodeType": "VariableDeclaration", "scope": 308, - "src": "5593:17:0", + "src": "5595:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4275,7 +4275,7 @@ "id": 239, "name": "address", "nodeType": "ElementaryTypeName", - "src": "5593:7:0", + "src": "5595:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4290,7 +4290,7 @@ "name": "threshold", "nodeType": "VariableDeclaration", "scope": 308, - "src": "5620:15:0", + "src": "5622:15:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4301,7 +4301,7 @@ "id": 241, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "5620:5:0", + "src": "5622:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -4316,7 +4316,7 @@ "name": "timeoutHours", "nodeType": "VariableDeclaration", "scope": 308, - "src": "5645:19:0", + "src": "5647:19:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4327,7 +4327,7 @@ "id": 243, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "5645:6:0", + "src": "5647:6:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -4342,7 +4342,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 308, - "src": "5674:18:0", + "src": "5676:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4353,7 +4353,7 @@ "id": 245, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "5674:7:0", + "src": "5676:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -4368,7 +4368,7 @@ "name": "value", "nodeType": "VariableDeclaration", "scope": 308, - "src": "5702:13:0", + "src": "5704:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4379,7 +4379,7 @@ "id": 247, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "5702:7:0", + "src": "5704:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4394,7 +4394,7 @@ "name": "uniqueId", "nodeType": "VariableDeclaration", "scope": 308, - "src": "5725:16:0", + "src": "5727:16:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4405,7 +4405,7 @@ "id": 249, "name": "bytes20", "nodeType": "ElementaryTypeName", - "src": "5725:7:0", + "src": "5727:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -4420,7 +4420,7 @@ "name": "tokenAddress", "nodeType": "VariableDeclaration", "scope": 308, - "src": "5751:20:0", + "src": "5753:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4431,7 +4431,7 @@ "id": 251, "name": "address", "nodeType": "ElementaryTypeName", - "src": "5751:7:0", + "src": "5753:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4441,17 +4441,17 @@ "visibility": "internal" } ], - "src": "5536:241:0" + "src": "5538:241:0" }, "payable": false, "returnParameters": { "id": 266, "nodeType": "ParameterList", "parameters": [], - "src": "5941:0:0" + "src": "5943:0:0" }, "scope": 1224, - "src": "5508:1030:0", + "src": "5510:1030:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" @@ -4460,7 +4460,7 @@ "body": { "id": 324, "nodeType": "Block", - "src": "6925:75:0", + "src": "6927:75:0", "statements": [ { "expression": { @@ -4476,7 +4476,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "6942:12:0", + "src": "6944:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -4490,7 +4490,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 310, - "src": "6955:10:0", + "src": "6957:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -4501,7 +4501,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "6942:24:0", + "src": "6944:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -4515,7 +4515,7 @@ "memberName": "beneficiaries", "nodeType": "MemberAccess", "referencedDeclaration": 70, - "src": "6942:38:0", + "src": "6944:38:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -4529,7 +4529,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 312, - "src": "6981:11:0", + "src": "6983:11:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4540,7 +4540,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "6942:51:0", + "src": "6944:51:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -4549,7 +4549,7 @@ "functionReturnParameters": 316, "id": 323, "nodeType": "Return", - "src": "6935:58:0" + "src": "6937:58:0" } ] }, @@ -4571,7 +4571,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 325, - "src": "6814:18:0", + "src": "6816:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4582,7 +4582,7 @@ "id": 309, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "6814:7:0", + "src": "6816:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -4597,7 +4597,7 @@ "name": "beneficiary", "nodeType": "VariableDeclaration", "scope": 325, - "src": "6842:19:0", + "src": "6844:19:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4608,7 +4608,7 @@ "id": 311, "name": "address", "nodeType": "ElementaryTypeName", - "src": "6842:7:0", + "src": "6844:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4618,7 +4618,7 @@ "visibility": "internal" } ], - "src": "6804:63:0" + "src": "6806:63:0" }, "payable": false, "returnParameters": { @@ -4631,7 +4631,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 325, - "src": "6915:4:0", + "src": "6917:4:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4642,7 +4642,7 @@ "id": 314, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "6915:4:0", + "src": "6917:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -4652,10 +4652,10 @@ "visibility": "internal" } ], - "src": "6914:6:0" + "src": "6916:6:0" }, "scope": 1224, - "src": "6779:221:0", + "src": "6781:221:0", "stateMutability": "view", "superFunction": null, "visibility": "external" @@ -4664,7 +4664,7 @@ "body": { "id": 341, "nodeType": "Block", - "src": "7373:61:0", + "src": "7375:61:0", "statements": [ { "expression": { @@ -4680,7 +4680,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "7390:12:0", + "src": "7392:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -4694,7 +4694,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 327, - "src": "7403:10:0", + "src": "7405:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -4705,7 +4705,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "7390:24:0", + "src": "7392:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -4719,7 +4719,7 @@ "memberName": "voted", "nodeType": "MemberAccess", "referencedDeclaration": 66, - "src": "7390:30:0", + "src": "7392:30:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -4733,7 +4733,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 329, - "src": "7421:5:0", + "src": "7423:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4744,7 +4744,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "7390:37:0", + "src": "7392:37:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -4753,7 +4753,7 @@ "functionReturnParameters": 333, "id": 340, "nodeType": "Return", - "src": "7383:44:0" + "src": "7385:44:0" } ] }, @@ -4775,7 +4775,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 342, - "src": "7268:18:0", + "src": "7270:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4786,7 +4786,7 @@ "id": 326, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "7268:7:0", + "src": "7270:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -4801,7 +4801,7 @@ "name": "party", "nodeType": "VariableDeclaration", "scope": 342, - "src": "7296:13:0", + "src": "7298:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4812,7 +4812,7 @@ "id": 328, "name": "address", "nodeType": "ElementaryTypeName", - "src": "7296:7:0", + "src": "7298:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4822,7 +4822,7 @@ "visibility": "internal" } ], - "src": "7258:57:0" + "src": "7260:57:0" }, "payable": false, "returnParameters": { @@ -4835,7 +4835,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 342, - "src": "7363:4:0", + "src": "7365:4:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4846,7 +4846,7 @@ "id": 331, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "7363:4:0", + "src": "7365:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -4856,10 +4856,10 @@ "visibility": "internal" } ], - "src": "7362:6:0" + "src": "7364:6:0" }, "scope": 1224, - "src": "7240:194:0", + "src": "7242:194:0", "stateMutability": "view", "superFunction": null, "visibility": "external" @@ -4868,7 +4868,7 @@ "body": { "id": 399, "nodeType": "Block", - "src": "8037:303:0", + "src": "8039:303:0", "statements": [ { "expression": { @@ -4894,7 +4894,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1397, - "src": "8056:3:0", + "src": "8058:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -4908,7 +4908,7 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "8056:9:0", + "src": "8058:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4926,7 +4926,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "8068:1:0", + "src": "8070:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -4934,7 +4934,7 @@ }, "value": "0" }, - "src": "8056:13:0", + "src": "8058:13:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -4950,7 +4950,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "8071:34:0", + "src": "8073:34:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_21fbec2be6560b9ccffc4980d43c0d147770168e7aaf24999b418b9010085622", @@ -4978,7 +4978,7 @@ 1401 ], "referencedDeclaration": 1401, - "src": "8048:7:0", + "src": "8050:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -4992,7 +4992,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8048:58:0", + "src": "8050:58:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -5000,7 +5000,7 @@ }, "id": 368, "nodeType": "ExpressionStatement", - "src": "8048:58:0" + "src": "8050:58:0" }, { "expression": { @@ -5021,7 +5021,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "8117:12:0", + "src": "8119:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -5035,7 +5035,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 344, - "src": "8130:10:0", + "src": "8132:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -5046,7 +5046,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "8117:24:0", + "src": "8119:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -5060,7 +5060,7 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": 40, - "src": "8117:30:0", + "src": "8119:30:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5080,7 +5080,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1397, - "src": "8198:3:0", + "src": "8200:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -5094,7 +5094,7 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "8198:9:0", + "src": "8200:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5119,7 +5119,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "8150:12:0", + "src": "8152:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -5133,7 +5133,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 344, - "src": "8163:10:0", + "src": "8165:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -5144,7 +5144,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "8150:24:0", + "src": "8152:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -5158,7 +5158,7 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": 40, - "src": "8150:30:0", + "src": "8152:30:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5172,7 +5172,7 @@ "memberName": "add", "nodeType": "MemberAccess", "referencedDeclaration": 1361, - "src": "8150:47:0", + "src": "8152:47:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" @@ -5186,13 +5186,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8150:58:0", + "src": "8152:58:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "8117:91:0", + "src": "8119:91:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5200,7 +5200,7 @@ }, "id": 382, "nodeType": "ExpressionStatement", - "src": "8117:91:0" + "src": "8119:91:0" }, { "expression": { @@ -5221,7 +5221,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "8218:12:0", + "src": "8220:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -5235,7 +5235,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 344, - "src": "8231:10:0", + "src": "8233:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -5246,7 +5246,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "8218:24:0", + "src": "8220:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -5260,7 +5260,7 @@ "memberName": "lastModified", "nodeType": "MemberAccess", "referencedDeclaration": 42, - "src": "8218:37:0", + "src": "8220:37:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5277,7 +5277,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1387, - "src": "8258:5:0", + "src": "8260:5:0", "typeDescriptions": { "typeIdentifier": "t_magic_block", "typeString": "block" @@ -5291,13 +5291,13 @@ "memberName": "timestamp", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "8258:15:0", + "src": "8260:15:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "8218:55:0", + "src": "8220:55:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5305,7 +5305,7 @@ }, "id": 390, "nodeType": "ExpressionStatement", - "src": "8218:55:0" + "src": "8220:55:0" }, { "eventCall": { @@ -5318,7 +5318,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 344, - "src": "8299:10:0", + "src": "8301:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -5333,7 +5333,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1397, - "src": "8311:3:0", + "src": "8313:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -5347,7 +5347,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "8311:10:0", + "src": "8313:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -5362,7 +5362,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1397, - "src": "8323:3:0", + "src": "8325:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -5376,7 +5376,7 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "8323:9:0", + "src": "8325:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5403,7 +5403,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 30, - "src": "8289:9:0", + "src": "8291:9:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (bytes32,address,uint256)" @@ -5417,7 +5417,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8289:44:0", + "src": "8291:44:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -5425,7 +5425,7 @@ }, "id": 398, "nodeType": "EmitStatement", - "src": "8284:49:0" + "src": "8286:49:0" } ] }, @@ -5444,7 +5444,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 344, - "src": "7884:10:0", + "src": "7886:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -5459,14 +5459,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 99, - "src": "7867:16:0", + "src": "7869:16:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "7867:28:0" + "src": "7869:28:0" }, { "arguments": [ @@ -5477,7 +5477,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 344, - "src": "7918:10:0", + "src": "7920:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -5492,14 +5492,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 132, - "src": "7904:13:0", + "src": "7906:13:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "7904:25:0" + "src": "7906:25:0" }, { "arguments": [ @@ -5510,7 +5510,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 344, - "src": "7959:10:0", + "src": "7961:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -5525,7 +5525,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12, - "src": "7971:15:0", + "src": "7973:15:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_TransactionType_$12_$", "typeString": "type(enum Escrow_v1_0.TransactionType)" @@ -5539,7 +5539,7 @@ "memberName": "ETHER", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "7971:21:0", + "src": "7973:21:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -5554,14 +5554,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 165, - "src": "7938:20:0", + "src": "7940:20:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$_t_enum$_TransactionType_$12_$", "typeString": "modifier (bytes32,enum Escrow_v1_0.TransactionType)" } }, "nodeType": "ModifierInvocation", - "src": "7938:55:0" + "src": "7940:55:0" }, { "arguments": [ @@ -5572,7 +5572,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 344, - "src": "8012:10:0", + "src": "8014:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -5587,14 +5587,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 182, - "src": "8002:9:0", + "src": "8004:9:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "8002:21:0" + "src": "8004:21:0" } ], "name": "addFundsToTransaction", @@ -5609,7 +5609,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 400, - "src": "7801:18:0", + "src": "7803:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5620,7 +5620,7 @@ "id": 343, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "7801:7:0", + "src": "7803:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -5630,17 +5630,17 @@ "visibility": "internal" } ], - "src": "7791:34:0" + "src": "7793:34:0" }, "payable": true, "returnParameters": { "id": 360, "nodeType": "ParameterList", "parameters": [], - "src": "8037:0:0" + "src": "8039:0:0" }, "scope": 1224, - "src": "7761:579:0", + "src": "7763:579:0", "stateMutability": "payable", "superFunction": null, "visibility": "external" @@ -5649,7 +5649,7 @@ "body": { "id": 480, "nodeType": "Block", - "src": "8943:622:0", + "src": "8945:622:0", "statements": [ { "expression": { @@ -5673,7 +5673,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 404, - "src": "8962:5:0", + "src": "8964:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5691,7 +5691,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "8970:1:0", + "src": "8972:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -5699,7 +5699,7 @@ }, "value": "0" }, - "src": "8962:9:0", + "src": "8964:9:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -5715,7 +5715,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "8973:34:0", + "src": "8975:34:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_21fbec2be6560b9ccffc4980d43c0d147770168e7aaf24999b418b9010085622", @@ -5743,7 +5743,7 @@ 1401 ], "referencedDeclaration": 1401, - "src": "8954:7:0", + "src": "8956:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -5757,7 +5757,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8954:54:0", + "src": "8956:54:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -5765,7 +5765,7 @@ }, "id": 427, "nodeType": "ExpressionStatement", - "src": "8954:54:0" + "src": "8956:54:0" }, { "assignments": [ @@ -5778,7 +5778,7 @@ "name": "token", "nodeType": "VariableDeclaration", "scope": 481, - "src": "9019:20:0", + "src": "9021:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5791,7 +5791,7 @@ "name": "ITokenContract", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 1254, - "src": "9019:14:0", + "src": "9021:14:0", "typeDescriptions": { "typeIdentifier": "t_contract$_ITokenContract_$1254", "typeString": "contract ITokenContract" @@ -5816,7 +5816,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "9070:12:0", + "src": "9072:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -5830,7 +5830,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 402, - "src": "9083:10:0", + "src": "9085:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -5841,7 +5841,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "9070:24:0", + "src": "9072:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -5855,7 +5855,7 @@ "memberName": "tokenAddress", "nodeType": "MemberAccess", "referencedDeclaration": 56, - "src": "9070:37:0", + "src": "9072:37:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -5874,7 +5874,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1254, - "src": "9042:14:0", + "src": "9044:14:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_ITokenContract_$1254_$", "typeString": "type(contract ITokenContract)" @@ -5888,14 +5888,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "9042:75:0", + "src": "9044:75:0", "typeDescriptions": { "typeIdentifier": "t_contract$_ITokenContract_$1254", "typeString": "contract ITokenContract" } }, "nodeType": "VariableDeclarationStatement", - "src": "9019:98:0" + "src": "9021:98:0" }, { "expression": { @@ -5915,7 +5915,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "9168:12:0", + "src": "9170:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -5929,7 +5929,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 402, - "src": "9181:10:0", + "src": "9183:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -5940,7 +5940,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "9168:24:0", + "src": "9170:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -5954,7 +5954,7 @@ "memberName": "buyer", "nodeType": "MemberAccess", "referencedDeclaration": 52, - "src": "9168:30:0", + "src": "9170:30:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -5970,7 +5970,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1414, - "src": "9208:4:0", + "src": "9210:4:0", "typeDescriptions": { "typeIdentifier": "t_contract$_Escrow_v1_0_$1224", "typeString": "contract Escrow_v1_0" @@ -5990,7 +5990,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "9200:7:0", + "src": "9202:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" @@ -6005,7 +6005,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "9200:13:0", + "src": "9202:13:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -6018,7 +6018,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 404, - "src": "9215:5:0", + "src": "9217:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6047,7 +6047,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 429, - "src": "9149:5:0", + "src": "9151:5:0", "typeDescriptions": { "typeIdentifier": "t_contract$_ITokenContract_$1254", "typeString": "contract ITokenContract" @@ -6061,7 +6061,7 @@ "memberName": "transferFrom", "nodeType": "MemberAccess", "referencedDeclaration": 1253, - "src": "9149:18:0", + "src": "9151:18:0", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", "typeString": "function (address,address,uint256) external returns (bool)" @@ -6075,7 +6075,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "9149:72:0", + "src": "9151:72:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -6091,7 +6091,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "9235:94:0", + "src": "9237:94:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_d9d07068d589bc4adc53018a3c57c159ec128fdfb62732a5fa9410e76cf03318", @@ -6119,7 +6119,7 @@ 1401 ], "referencedDeclaration": 1401, - "src": "9128:7:0", + "src": "9130:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -6133,7 +6133,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "9128:211:0", + "src": "9130:211:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -6141,7 +6141,7 @@ }, "id": 451, "nodeType": "ExpressionStatement", - "src": "9128:211:0" + "src": "9130:211:0" }, { "expression": { @@ -6162,7 +6162,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "9350:12:0", + "src": "9352:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -6176,7 +6176,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 402, - "src": "9363:10:0", + "src": "9365:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -6187,7 +6187,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "9350:24:0", + "src": "9352:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -6201,7 +6201,7 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": 40, - "src": "9350:30:0", + "src": "9352:30:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6219,7 +6219,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 404, - "src": "9431:5:0", + "src": "9433:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6244,7 +6244,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "9383:12:0", + "src": "9385:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -6258,7 +6258,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 402, - "src": "9396:10:0", + "src": "9398:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -6269,7 +6269,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "9383:24:0", + "src": "9385:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -6283,7 +6283,7 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": 40, - "src": "9383:30:0", + "src": "9385:30:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6297,7 +6297,7 @@ "memberName": "add", "nodeType": "MemberAccess", "referencedDeclaration": 1361, - "src": "9383:47:0", + "src": "9385:47:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" @@ -6311,13 +6311,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "9383:54:0", + "src": "9385:54:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "9350:87:0", + "src": "9352:87:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6325,7 +6325,7 @@ }, "id": 464, "nodeType": "ExpressionStatement", - "src": "9350:87:0" + "src": "9352:87:0" }, { "expression": { @@ -6346,7 +6346,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "9447:12:0", + "src": "9449:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -6360,7 +6360,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 402, - "src": "9460:10:0", + "src": "9462:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -6371,7 +6371,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "9447:24:0", + "src": "9449:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -6385,7 +6385,7 @@ "memberName": "lastModified", "nodeType": "MemberAccess", "referencedDeclaration": 42, - "src": "9447:37:0", + "src": "9449:37:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6402,7 +6402,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1387, - "src": "9487:5:0", + "src": "9489:5:0", "typeDescriptions": { "typeIdentifier": "t_magic_block", "typeString": "block" @@ -6416,13 +6416,13 @@ "memberName": "timestamp", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "9487:15:0", + "src": "9489:15:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "9447:55:0", + "src": "9449:55:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6430,7 +6430,7 @@ }, "id": 472, "nodeType": "ExpressionStatement", - "src": "9447:55:0" + "src": "9449:55:0" }, { "eventCall": { @@ -6443,7 +6443,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 402, - "src": "9528:10:0", + "src": "9530:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -6458,7 +6458,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1397, - "src": "9540:3:0", + "src": "9542:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -6472,7 +6472,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "9540:10:0", + "src": "9542:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -6485,7 +6485,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 404, - "src": "9552:5:0", + "src": "9554:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6512,7 +6512,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 30, - "src": "9518:9:0", + "src": "9520:9:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (bytes32,address,uint256)" @@ -6526,7 +6526,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "9518:40:0", + "src": "9520:40:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -6534,7 +6534,7 @@ }, "id": 479, "nodeType": "EmitStatement", - "src": "9513:45:0" + "src": "9515:45:0" } ] }, @@ -6553,7 +6553,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 402, - "src": "8799:10:0", + "src": "8801:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -6568,14 +6568,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 99, - "src": "8782:16:0", + "src": "8784:16:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "8782:28:0" + "src": "8784:28:0" }, { "arguments": [ @@ -6586,7 +6586,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 402, - "src": "8833:10:0", + "src": "8835:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -6601,14 +6601,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 132, - "src": "8819:13:0", + "src": "8821:13:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "8819:25:0" + "src": "8821:25:0" }, { "arguments": [ @@ -6619,7 +6619,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 402, - "src": "8874:10:0", + "src": "8876:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -6634,7 +6634,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12, - "src": "8886:15:0", + "src": "8888:15:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_TransactionType_$12_$", "typeString": "type(enum Escrow_v1_0.TransactionType)" @@ -6648,7 +6648,7 @@ "memberName": "TOKEN", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "8886:21:0", + "src": "8888:21:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -6663,14 +6663,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 165, - "src": "8853:20:0", + "src": "8855:20:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$_t_enum$_TransactionType_$12_$", "typeString": "modifier (bytes32,enum Escrow_v1_0.TransactionType)" } }, "nodeType": "ModifierInvocation", - "src": "8853:55:0" + "src": "8855:55:0" }, { "arguments": [ @@ -6681,7 +6681,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 402, - "src": "8927:10:0", + "src": "8929:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -6696,14 +6696,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 182, - "src": "8917:9:0", + "src": "8919:9:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "8917:21:0" + "src": "8919:21:0" } ], "name": "addTokensToTransaction", @@ -6718,7 +6718,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 481, - "src": "8709:18:0", + "src": "8711:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6729,7 +6729,7 @@ "id": 401, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "8709:7:0", + "src": "8711:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -6744,7 +6744,7 @@ "name": "value", "nodeType": "VariableDeclaration", "scope": 481, - "src": "8737:13:0", + "src": "8739:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6755,7 +6755,7 @@ "id": 403, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "8737:7:0", + "src": "8739:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6765,17 +6765,17 @@ "visibility": "internal" } ], - "src": "8699:57:0" + "src": "8701:57:0" }, "payable": false, "returnParameters": { "id": 420, "nodeType": "ParameterList", "parameters": [], - "src": "8943:0:0" + "src": "8945:0:0" }, "scope": 1224, - "src": "8668:897:0", + "src": "8670:897:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" @@ -6784,7 +6784,7 @@ "body": { "id": 493, "nodeType": "Block", - "src": "9820:56:0", + "src": "9822:56:0", "statements": [ { "expression": { @@ -6796,7 +6796,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 83, - "src": "9837:18:0", + "src": "9839:18:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_bytes32_$dyn_storage_$", "typeString": "mapping(address => bytes32[] storage ref)" @@ -6810,7 +6810,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 483, - "src": "9856:12:0", + "src": "9858:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -6821,7 +6821,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "9837:32:0", + "src": "9839:32:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage", "typeString": "bytes32[] storage ref" @@ -6830,7 +6830,7 @@ "functionReturnParameters": 488, "id": 492, "nodeType": "Return", - "src": "9830:39:0" + "src": "9832:39:0" } ] }, @@ -6852,7 +6852,7 @@ "name": "partyAddress", "nodeType": "VariableDeclaration", "scope": 494, - "src": "9727:20:0", + "src": "9729:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6863,7 +6863,7 @@ "id": 482, "name": "address", "nodeType": "ElementaryTypeName", - "src": "9727:7:0", + "src": "9729:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -6873,7 +6873,7 @@ "visibility": "internal" } ], - "src": "9717:36:0" + "src": "9719:36:0" }, "payable": false, "returnParameters": { @@ -6886,7 +6886,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 494, - "src": "9804:9:0", + "src": "9806:9:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6898,7 +6898,7 @@ "id": 485, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "9804:7:0", + "src": "9806:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -6907,7 +6907,7 @@ "id": 486, "length": null, "nodeType": "ArrayTypeName", - "src": "9804:9:0", + "src": "9806:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -6917,10 +6917,10 @@ "visibility": "internal" } ], - "src": "9803:11:0" + "src": "9805:11:0" }, "scope": 1224, - "src": "9682:194:0", + "src": "9684:194:0", "stateMutability": "view", "superFunction": null, "visibility": "external" @@ -6929,7 +6929,7 @@ "body": { "id": 582, "nodeType": "Block", - "src": "10746:932:0", + "src": "10748:932:0", "statements": [ { "expression": { @@ -6955,7 +6955,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 508, - "src": "10780:12:0", + "src": "10782:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" @@ -6969,7 +6969,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "10780:19:0", + "src": "10782:19:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6987,7 +6987,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "10800:1:0", + "src": "10802:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -6995,7 +6995,7 @@ }, "value": "0" }, - "src": "10780:21:0", + "src": "10782:21:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -7011,7 +7011,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "10816:47:0", + "src": "10818:47:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_fbeb58246a6e3ff255a1d618f14d1cced67ffd4784fbc3e1cfbdf71d1f7fbdf9", @@ -7039,7 +7039,7 @@ 1401 ], "referencedDeclaration": 1401, - "src": "10759:7:0", + "src": "10761:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -7053,7 +7053,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "10759:114:0", + "src": "10761:114:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -7061,7 +7061,7 @@ }, "id": 527, "nodeType": "ExpressionStatement", - "src": "10759:114:0" + "src": "10761:114:0" }, { "expression": { @@ -7087,7 +7087,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 508, - "src": "10904:12:0", + "src": "10906:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" @@ -7101,7 +7101,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "10904:19:0", + "src": "10906:19:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7118,7 +7118,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 511, - "src": "10927:7:0", + "src": "10929:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", "typeString": "uint256[] calldata" @@ -7132,13 +7132,13 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "10927:14:0", + "src": "10929:14:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "10904:37:0", + "src": "10906:37:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -7154,7 +7154,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "10955:57:0", + "src": "10957:57:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_e70a315a5939ff57e3400503291dbc0af19d18c32f15c80c7c6f5b7c54a6cd3c", @@ -7182,7 +7182,7 @@ 1401 ], "referencedDeclaration": 1401, - "src": "10883:7:0", + "src": "10885:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -7196,7 +7196,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "10883:139:0", + "src": "10885:139:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -7204,7 +7204,7 @@ }, "id": 536, "nodeType": "ExpressionStatement", - "src": "10883:139:0" + "src": "10885:139:0" }, { "expression": { @@ -7217,7 +7217,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 497, - "src": "11072:4:0", + "src": "11074:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_calldata_ptr", "typeString": "uint8[] calldata" @@ -7230,7 +7230,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 500, - "src": "11090:4:0", + "src": "11092:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", "typeString": "bytes32[] calldata" @@ -7243,7 +7243,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 503, - "src": "11108:4:0", + "src": "11110:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", "typeString": "bytes32[] calldata" @@ -7256,7 +7256,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 505, - "src": "11126:10:0", + "src": "11128:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -7269,7 +7269,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 508, - "src": "11150:12:0", + "src": "11152:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" @@ -7282,7 +7282,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 511, - "src": "11176:7:0", + "src": "11178:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", "typeString": "uint256[] calldata" @@ -7321,7 +7321,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 711, - "src": "11040:18:0", + "src": "11042:18:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_array$_t_uint8_$dyn_memory_ptr_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_bytes32_$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$__$", "typeString": "function (uint8[] memory,bytes32[] memory,bytes32[] memory,bytes32,address[] memory,uint256[] memory)" @@ -7335,7 +7335,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "11040:153:0", + "src": "11042:153:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -7343,7 +7343,7 @@ }, "id": 545, "nodeType": "ExpressionStatement", - "src": "11040:153:0" + "src": "11042:153:0" }, { "expression": { @@ -7364,7 +7364,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "11204:12:0", + "src": "11206:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -7378,7 +7378,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 505, - "src": "11217:10:0", + "src": "11219:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -7389,7 +7389,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "11204:24:0", + "src": "11206:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -7403,7 +7403,7 @@ "memberName": "status", "nodeType": "MemberAccess", "referencedDeclaration": 44, - "src": "11204:31:0", + "src": "11206:31:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$9", "typeString": "enum Escrow_v1_0.Status" @@ -7420,7 +7420,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9, - "src": "11238:6:0", + "src": "11240:6:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_Status_$9_$", "typeString": "type(enum Escrow_v1_0.Status)" @@ -7434,13 +7434,13 @@ "memberName": "RELEASED", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "11238:15:0", + "src": "11240:15:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$9", "typeString": "enum Escrow_v1_0.Status" } }, - "src": "11204:49:0", + "src": "11206:49:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$9", "typeString": "enum Escrow_v1_0.Status" @@ -7448,7 +7448,7 @@ }, "id": 553, "nodeType": "ExpressionStatement", - "src": "11204:49:0" + "src": "11206:49:0" }, { "expression": { @@ -7469,7 +7469,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "11337:12:0", + "src": "11339:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -7483,7 +7483,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 505, - "src": "11350:10:0", + "src": "11352:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -7494,7 +7494,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "11337:24:0", + "src": "11339:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -7508,7 +7508,7 @@ "memberName": "lastModified", "nodeType": "MemberAccess", "referencedDeclaration": 42, - "src": "11337:37:0", + "src": "11339:37:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7525,7 +7525,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1387, - "src": "11377:5:0", + "src": "11379:5:0", "typeDescriptions": { "typeIdentifier": "t_magic_block", "typeString": "block" @@ -7539,13 +7539,13 @@ "memberName": "timestamp", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "11377:15:0", + "src": "11379:15:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "11337:55:0", + "src": "11339:55:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7553,7 +7553,7 @@ }, "id": 561, "nodeType": "ExpressionStatement", - "src": "11337:55:0" + "src": "11339:55:0" }, { "expression": { @@ -7580,7 +7580,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 505, - "src": "11438:10:0", + "src": "11440:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -7593,7 +7593,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 508, - "src": "11450:12:0", + "src": "11452:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" @@ -7606,7 +7606,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 511, - "src": "11464:7:0", + "src": "11466:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", "typeString": "uint256[] calldata" @@ -7633,7 +7633,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 904, - "src": "11423:14:0", + "src": "11425:14:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$_t_uint256_$", "typeString": "function (bytes32,address[] memory,uint256[] memory) returns (uint256)" @@ -7647,7 +7647,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "11423:49:0", + "src": "11425:49:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7666,7 +7666,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "11476:12:0", + "src": "11478:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -7680,7 +7680,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 505, - "src": "11489:10:0", + "src": "11491:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -7691,7 +7691,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "11476:24:0", + "src": "11478:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -7705,13 +7705,13 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": 40, - "src": "11476:30:0", + "src": "11478:30:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "11423:83:0", + "src": "11425:83:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -7727,7 +7727,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "11520:74:0", + "src": "11522:74:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_9e0bdb14e2e0d5e118fd1f547268c6a1fdb5e8facacd614066d4b60bc2c9941d", @@ -7755,7 +7755,7 @@ 1401 ], "referencedDeclaration": 1401, - "src": "11402:7:0", + "src": "11404:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -7769,7 +7769,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "11402:202:0", + "src": "11404:202:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -7777,7 +7777,7 @@ }, "id": 575, "nodeType": "ExpressionStatement", - "src": "11402:202:0" + "src": "11404:202:0" }, { "eventCall": { @@ -7790,7 +7790,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 505, - "src": "11637:10:0", + "src": "11639:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -7803,7 +7803,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 508, - "src": "11649:12:0", + "src": "11651:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" @@ -7816,7 +7816,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 511, - "src": "11663:7:0", + "src": "11665:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", "typeString": "uint256[] calldata" @@ -7843,7 +7843,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 22, - "src": "11628:8:0", + "src": "11630:8:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$__$", "typeString": "function (bytes32,address[] memory,uint256[] memory)" @@ -7857,7 +7857,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "11628:43:0", + "src": "11630:43:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -7865,7 +7865,7 @@ }, "id": 581, "nodeType": "EmitStatement", - "src": "11623:48:0" + "src": "11625:48:0" } ] }, @@ -7884,7 +7884,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 505, - "src": "10696:10:0", + "src": "10698:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -7899,14 +7899,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 99, - "src": "10679:16:0", + "src": "10681:16:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "10679:28:0" + "src": "10681:28:0" }, { "arguments": [ @@ -7917,7 +7917,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 505, - "src": "10730:10:0", + "src": "10732:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -7932,14 +7932,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 132, - "src": "10716:13:0", + "src": "10718:13:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "10716:25:0" + "src": "10718:25:0" } ], "name": "execute", @@ -7954,7 +7954,7 @@ "name": "sigV", "nodeType": "VariableDeclaration", "scope": 583, - "src": "10500:12:0", + "src": "10502:12:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -7966,7 +7966,7 @@ "id": 495, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "10500:5:0", + "src": "10502:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -7975,7 +7975,7 @@ "id": 496, "length": null, "nodeType": "ArrayTypeName", - "src": "10500:7:0", + "src": "10502:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_storage_ptr", "typeString": "uint8[]" @@ -7990,7 +7990,7 @@ "name": "sigR", "nodeType": "VariableDeclaration", "scope": 583, - "src": "10522:14:0", + "src": "10524:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8002,7 +8002,7 @@ "id": 498, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "10522:7:0", + "src": "10524:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -8011,7 +8011,7 @@ "id": 499, "length": null, "nodeType": "ArrayTypeName", - "src": "10522:9:0", + "src": "10524:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -8026,7 +8026,7 @@ "name": "sigS", "nodeType": "VariableDeclaration", "scope": 583, - "src": "10546:14:0", + "src": "10548:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8038,7 +8038,7 @@ "id": 501, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "10546:7:0", + "src": "10548:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -8047,7 +8047,7 @@ "id": 502, "length": null, "nodeType": "ArrayTypeName", - "src": "10546:9:0", + "src": "10548:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -8062,7 +8062,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 583, - "src": "10570:18:0", + "src": "10572:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8073,7 +8073,7 @@ "id": 504, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "10570:7:0", + "src": "10572:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -8088,7 +8088,7 @@ "name": "destinations", "nodeType": "VariableDeclaration", "scope": 583, - "src": "10598:22:0", + "src": "10600:22:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8100,7 +8100,7 @@ "id": 506, "name": "address", "nodeType": "ElementaryTypeName", - "src": "10598:7:0", + "src": "10600:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8109,7 +8109,7 @@ "id": 507, "length": null, "nodeType": "ArrayTypeName", - "src": "10598:9:0", + "src": "10600:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", "typeString": "address[]" @@ -8124,7 +8124,7 @@ "name": "amounts", "nodeType": "VariableDeclaration", "scope": 583, - "src": "10630:17:0", + "src": "10632:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8136,7 +8136,7 @@ "id": 509, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "10630:7:0", + "src": "10632:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8145,7 +8145,7 @@ "id": 510, "length": null, "nodeType": "ArrayTypeName", - "src": "10630:9:0", + "src": "10632:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -8155,17 +8155,17 @@ "visibility": "internal" } ], - "src": "10490:163:0" + "src": "10492:163:0" }, "payable": false, "returnParameters": { "id": 519, "nodeType": "ParameterList", "parameters": [], - "src": "10746:0:0" + "src": "10748:0:0" }, "scope": 1224, - "src": "10474:1204:0", + "src": "10476:1204:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" @@ -8174,7 +8174,7 @@ "body": { "id": 641, "nodeType": "Block", - "src": "12482:734:0", + "src": "12484:734:0", "statements": [ { "condition": { @@ -8195,7 +8195,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 597, - "src": "12496:12:0", + "src": "12498:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8216,7 +8216,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "12520:1:0", + "src": "12522:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -8238,7 +8238,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "12512:7:0", + "src": "12514:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" @@ -8253,13 +8253,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "12512:10:0", + "src": "12514:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "12496:26:0", + "src": "12498:26:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -8268,7 +8268,7 @@ "falseBody": { "id": 639, "nodeType": "Block", - "src": "12853:357:0", + "src": "12855:357:0", "statements": [ { "expression": { @@ -8284,7 +8284,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 585, - "src": "12939:8:0", + "src": "12941:8:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -8297,7 +8297,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 587, - "src": "12969:9:0", + "src": "12971:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -8310,7 +8310,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 589, - "src": "13000:12:0", + "src": "13002:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -8323,7 +8323,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 591, - "src": "13034:5:0", + "src": "13036:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8336,7 +8336,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 593, - "src": "13061:6:0", + "src": "13063:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8349,7 +8349,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 595, - "src": "13089:9:0", + "src": "13091:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8365,7 +8365,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1414, - "src": "13128:4:0", + "src": "13130:4:0", "typeDescriptions": { "typeIdentifier": "t_contract$_Escrow_v1_0_$1224", "typeString": "contract Escrow_v1_0" @@ -8385,7 +8385,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "13120:7:0", + "src": "13122:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" @@ -8400,7 +8400,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "13120:13:0", + "src": "13122:13:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8413,7 +8413,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 597, - "src": "13155:12:0", + "src": "13157:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8462,7 +8462,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1384, - "src": "12901:3:0", + "src": "12903:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" @@ -8476,7 +8476,7 @@ "memberName": "encodePacked", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "12901:16:0", + "src": "12903:16:0", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" @@ -8490,7 +8490,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "12901:284:0", + "src": "12903:284:0", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -8509,7 +8509,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1391, - "src": "12874:9:0", + "src": "12876:9:0", "typeDescriptions": { "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", "typeString": "function () pure returns (bytes32)" @@ -8523,7 +8523,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "12874:325:0", + "src": "12876:325:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -8532,17 +8532,17 @@ "functionReturnParameters": 601, "id": 638, "nodeType": "Return", - "src": "12867:332:0" + "src": "12869:332:0" } ] }, "id": 640, "nodeType": "IfStatement", - "src": "12492:718:0", + "src": "12494:718:0", "trueBody": { "id": 622, "nodeType": "Block", - "src": "12524:323:0", + "src": "12526:323:0", "statements": [ { "expression": { @@ -8558,7 +8558,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 585, - "src": "12610:8:0", + "src": "12612:8:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -8571,7 +8571,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 587, - "src": "12640:9:0", + "src": "12642:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -8584,7 +8584,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 589, - "src": "12671:12:0", + "src": "12673:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -8597,7 +8597,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 591, - "src": "12705:5:0", + "src": "12707:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8610,7 +8610,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 593, - "src": "12732:6:0", + "src": "12734:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8623,7 +8623,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 595, - "src": "12760:9:0", + "src": "12762:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8639,7 +8639,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1414, - "src": "12799:4:0", + "src": "12801:4:0", "typeDescriptions": { "typeIdentifier": "t_contract$_Escrow_v1_0_$1224", "typeString": "contract Escrow_v1_0" @@ -8659,7 +8659,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "12791:7:0", + "src": "12793:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" @@ -8674,7 +8674,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "12791:13:0", + "src": "12793:13:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8719,7 +8719,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1384, - "src": "12572:3:0", + "src": "12574:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" @@ -8733,7 +8733,7 @@ "memberName": "encodePacked", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "12572:16:0", + "src": "12574:16:0", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" @@ -8747,7 +8747,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "12572:250:0", + "src": "12574:250:0", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -8766,7 +8766,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1391, - "src": "12545:9:0", + "src": "12547:9:0", "typeDescriptions": { "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", "typeString": "function () pure returns (bytes32)" @@ -8780,7 +8780,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "12545:291:0", + "src": "12547:291:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -8789,7 +8789,7 @@ "functionReturnParameters": 601, "id": 621, "nodeType": "Return", - "src": "12538:298:0" + "src": "12540:298:0" } ] } @@ -8814,7 +8814,7 @@ "name": "uniqueId", "nodeType": "VariableDeclaration", "scope": 642, - "src": "12243:16:0", + "src": "12245:16:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8825,7 +8825,7 @@ "id": 584, "name": "bytes20", "nodeType": "ElementaryTypeName", - "src": "12243:7:0", + "src": "12245:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -8840,7 +8840,7 @@ "name": "threshold", "nodeType": "VariableDeclaration", "scope": 642, - "src": "12269:15:0", + "src": "12271:15:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8851,7 +8851,7 @@ "id": 586, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "12269:5:0", + "src": "12271:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -8866,7 +8866,7 @@ "name": "timeoutHours", "nodeType": "VariableDeclaration", "scope": 642, - "src": "12294:19:0", + "src": "12296:19:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8877,7 +8877,7 @@ "id": 588, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "12294:6:0", + "src": "12296:6:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -8892,7 +8892,7 @@ "name": "buyer", "nodeType": "VariableDeclaration", "scope": 642, - "src": "12323:13:0", + "src": "12325:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8903,7 +8903,7 @@ "id": 590, "name": "address", "nodeType": "ElementaryTypeName", - "src": "12323:7:0", + "src": "12325:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8918,7 +8918,7 @@ "name": "seller", "nodeType": "VariableDeclaration", "scope": 642, - "src": "12346:14:0", + "src": "12348:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8929,7 +8929,7 @@ "id": 592, "name": "address", "nodeType": "ElementaryTypeName", - "src": "12346:7:0", + "src": "12348:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8944,7 +8944,7 @@ "name": "moderator", "nodeType": "VariableDeclaration", "scope": 642, - "src": "12370:17:0", + "src": "12372:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8955,7 +8955,7 @@ "id": 594, "name": "address", "nodeType": "ElementaryTypeName", - "src": "12370:7:0", + "src": "12372:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8970,7 +8970,7 @@ "name": "tokenAddress", "nodeType": "VariableDeclaration", "scope": 642, - "src": "12397:20:0", + "src": "12399:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8981,7 +8981,7 @@ "id": 596, "name": "address", "nodeType": "ElementaryTypeName", - "src": "12397:7:0", + "src": "12399:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8991,7 +8991,7 @@ "visibility": "internal" } ], - "src": "12233:190:0" + "src": "12235:190:0" }, "payable": false, "returnParameters": { @@ -9004,7 +9004,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 642, - "src": "12469:7:0", + "src": "12471:7:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9015,7 +9015,7 @@ "id": 599, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "12469:7:0", + "src": "12471:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -9025,10 +9025,10 @@ "visibility": "internal" } ], - "src": "12468:9:0" + "src": "12470:9:0" }, "scope": 1224, - "src": "12199:1017:0", + "src": "12201:1017:0", "stateMutability": "view", "superFunction": null, "visibility": "public" @@ -9037,7 +9037,7 @@ "body": { "id": 710, "nodeType": "Block", - "src": "13701:797:0", + "src": "13703:797:0", "statements": [ { "assignments": [ @@ -9050,7 +9050,7 @@ "name": "lastRecovered", "nodeType": "VariableDeclaration", "scope": 711, - "src": "13711:21:0", + "src": "13713:21:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9061,7 +9061,7 @@ "id": 662, "name": "address", "nodeType": "ElementaryTypeName", - "src": "13711:7:0", + "src": "13713:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -9082,7 +9082,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 645, - "src": "13766:4:0", + "src": "13768:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr", "typeString": "uint8[] memory" @@ -9095,7 +9095,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 648, - "src": "13784:4:0", + "src": "13786:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" @@ -9108,7 +9108,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 651, - "src": "13802:4:0", + "src": "13804:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" @@ -9121,7 +9121,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 653, - "src": "13820:10:0", + "src": "13822:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -9134,7 +9134,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 656, - "src": "13844:12:0", + "src": "13846:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -9147,7 +9147,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 659, - "src": "13870:7:0", + "src": "13872:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" @@ -9186,7 +9186,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1035, - "src": "13735:17:0", + "src": "13737:17:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_array$_t_uint8_$dyn_memory_ptr_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_bytes32_$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$_t_address_$", "typeString": "function (uint8[] memory,bytes32[] memory,bytes32[] memory,bytes32,address[] memory,uint256[] memory) returns (address)" @@ -9200,14 +9200,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "13735:152:0", + "src": "13737:152:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "VariableDeclarationStatement", - "src": "13711:176:0" + "src": "13713:176:0" }, { "assignments": [ @@ -9220,7 +9220,7 @@ "name": "timeLockExpired", "nodeType": "VariableDeclaration", "scope": 711, - "src": "13898:20:0", + "src": "13900:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9231,7 +9231,7 @@ "id": 673, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "13898:4:0", + "src": "13900:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -9256,7 +9256,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "13953:12:0", + "src": "13955:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -9270,7 +9270,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 653, - "src": "13966:10:0", + "src": "13968:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -9281,7 +9281,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "13953:24:0", + "src": "13955:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -9295,7 +9295,7 @@ "memberName": "timeoutHours", "nodeType": "MemberAccess", "referencedDeclaration": 50, - "src": "13953:37:0", + "src": "13955:37:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -9312,7 +9312,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "14004:12:0", + "src": "14006:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -9326,7 +9326,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 653, - "src": "14017:10:0", + "src": "14019:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -9337,7 +9337,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "14004:24:0", + "src": "14006:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -9351,7 +9351,7 @@ "memberName": "lastModified", "nodeType": "MemberAccess", "referencedDeclaration": 42, - "src": "14004:37:0", + "src": "14006:37:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9374,7 +9374,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1067, - "src": "13921:18:0", + "src": "13923:18:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_uint32_$_t_uint256_$returns$_t_bool_$", "typeString": "function (uint32,uint256) view returns (bool)" @@ -9388,14 +9388,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "13921:130:0", + "src": "13923:130:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "nodeType": "VariableDeclarationStatement", - "src": "13898:153:0" + "src": "13900:153:0" }, { "condition": { @@ -9429,7 +9429,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 645, - "src": "14223:4:0", + "src": "14225:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr", "typeString": "uint8[] memory" @@ -9443,7 +9443,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "14223:11:0", + "src": "14225:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9462,7 +9462,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "14237:12:0", + "src": "14239:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -9476,7 +9476,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 653, - "src": "14250:10:0", + "src": "14252:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -9487,7 +9487,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "14237:24:0", + "src": "14239:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -9501,13 +9501,13 @@ "memberName": "threshold", "nodeType": "MemberAccess", "referencedDeclaration": 48, - "src": "14237:34:0", + "src": "14239:34:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, - "src": "14223:48:0", + "src": "14225:48:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -9539,7 +9539,7 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "14276:16:0", + "src": "14278:16:0", "subExpression": { "argumentTypes": null, "id": 693, @@ -9547,7 +9547,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 674, - "src": "14277:15:0", + "src": "14279:15:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -9578,7 +9578,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 663, - "src": "14296:13:0", + "src": "14298:13:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -9597,7 +9597,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "14313:12:0", + "src": "14315:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -9611,7 +9611,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 653, - "src": "14326:10:0", + "src": "14328:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -9622,7 +9622,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "14313:24:0", + "src": "14315:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -9636,19 +9636,19 @@ "memberName": "seller", "nodeType": "MemberAccess", "referencedDeclaration": 54, - "src": "14313:31:0", + "src": "14315:31:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "14296:48:0", + "src": "14298:48:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "14276:68:0", + "src": "14278:68:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -9662,13 +9662,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "14275:70:0", + "src": "14277:70:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "14223:122:0", + "src": "14225:122:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -9677,11 +9677,11 @@ "falseBody": null, "id": 709, "nodeType": "IfStatement", - "src": "14202:289:0", + "src": "14204:289:0", "trueBody": { "id": 708, "nodeType": "Block", - "src": "14368:123:0", + "src": "14370:123:0", "statements": [ { "expression": { @@ -9697,7 +9697,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "14389:90:0", + "src": "14391:90:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_e454643f61f81e3a3dc8dabaafde295fea592e232abeb03abbb1835bdc3d20d0", @@ -9721,7 +9721,7 @@ 1403 ], "referencedDeclaration": 1403, - "src": "14382:6:0", + "src": "14384:6:0", "typeDescriptions": { "typeIdentifier": "t_function_revert_pure$_t_string_memory_ptr_$returns$__$", "typeString": "function (string memory) pure" @@ -9735,7 +9735,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "14382:98:0", + "src": "14384:98:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -9743,7 +9743,7 @@ }, "id": 707, "nodeType": "ExpressionStatement", - "src": "14382:98:0" + "src": "14384:98:0" } ] } @@ -9768,7 +9768,7 @@ "name": "sigV", "nodeType": "VariableDeclaration", "scope": 711, - "src": "13527:12:0", + "src": "13529:12:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9780,7 +9780,7 @@ "id": 643, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "13527:5:0", + "src": "13529:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -9789,7 +9789,7 @@ "id": 644, "length": null, "nodeType": "ArrayTypeName", - "src": "13527:7:0", + "src": "13529:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_storage_ptr", "typeString": "uint8[]" @@ -9804,7 +9804,7 @@ "name": "sigR", "nodeType": "VariableDeclaration", "scope": 711, - "src": "13549:14:0", + "src": "13551:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9816,7 +9816,7 @@ "id": 646, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "13549:7:0", + "src": "13551:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -9825,7 +9825,7 @@ "id": 647, "length": null, "nodeType": "ArrayTypeName", - "src": "13549:9:0", + "src": "13551:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -9840,7 +9840,7 @@ "name": "sigS", "nodeType": "VariableDeclaration", "scope": 711, - "src": "13573:14:0", + "src": "13575:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9852,7 +9852,7 @@ "id": 649, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "13573:7:0", + "src": "13575:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -9861,7 +9861,7 @@ "id": 650, "length": null, "nodeType": "ArrayTypeName", - "src": "13573:9:0", + "src": "13575:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -9876,7 +9876,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 711, - "src": "13597:18:0", + "src": "13599:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9887,7 +9887,7 @@ "id": 652, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "13597:7:0", + "src": "13599:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -9902,7 +9902,7 @@ "name": "destinations", "nodeType": "VariableDeclaration", "scope": 711, - "src": "13625:22:0", + "src": "13627:22:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9914,7 +9914,7 @@ "id": 654, "name": "address", "nodeType": "ElementaryTypeName", - "src": "13625:7:0", + "src": "13627:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -9923,7 +9923,7 @@ "id": 655, "length": null, "nodeType": "ArrayTypeName", - "src": "13625:9:0", + "src": "13627:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", "typeString": "address[]" @@ -9938,7 +9938,7 @@ "name": "amounts", "nodeType": "VariableDeclaration", "scope": 711, - "src": "13657:17:0", + "src": "13659:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9950,7 +9950,7 @@ "id": 657, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "13657:7:0", + "src": "13659:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9959,7 +9959,7 @@ "id": 658, "length": null, "nodeType": "ArrayTypeName", - "src": "13657:9:0", + "src": "13659:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -9969,17 +9969,17 @@ "visibility": "internal" } ], - "src": "13517:163:0" + "src": "13519:163:0" }, "payable": false, "returnParameters": { "id": 661, "nodeType": "ParameterList", "parameters": [], - "src": "13701:0:0" + "src": "13703:0:0" }, "scope": 1224, - "src": "13490:1008:0", + "src": "13492:1008:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "private" @@ -9988,7 +9988,7 @@ "body": { "id": 903, "nodeType": "Block", - "src": "14785:1562:0", + "src": "14787:1562:0", "statements": [ { "assignments": [ @@ -10001,7 +10001,7 @@ "name": "t", "nodeType": "VariableDeclaration", "scope": 904, - "src": "14795:21:0", + "src": "14797:21:0", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { @@ -10014,7 +10014,7 @@ "name": "Transaction", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 71, - "src": "14795:11:0", + "src": "14797:11:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction" @@ -10034,7 +10034,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "14819:12:0", + "src": "14821:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -10048,7 +10048,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 713, - "src": "14832:10:0", + "src": "14834:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -10059,14 +10059,14 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "14819:24:0", + "src": "14821:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "14795:48:0" + "src": "14797:48:0" }, { "assignments": [ @@ -10079,7 +10079,7 @@ "name": "valueTransferred", "nodeType": "VariableDeclaration", "scope": 904, - "src": "14854:24:0", + "src": "14856:24:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -10090,7 +10090,7 @@ "id": 730, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "14854:7:0", + "src": "14856:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10111,7 +10111,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "14881:1:0", + "src": "14883:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -10120,7 +10120,7 @@ "value": "0" }, "nodeType": "VariableDeclarationStatement", - "src": "14854:28:0" + "src": "14856:28:0" }, { "condition": { @@ -10143,7 +10143,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 725, - "src": "14897:1:0", + "src": "14899:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" @@ -10157,7 +10157,7 @@ "memberName": "transactionType", "nodeType": "MemberAccess", "referencedDeclaration": 46, - "src": "14897:17:0", + "src": "14899:17:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -10174,7 +10174,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12, - "src": "14918:15:0", + "src": "14920:15:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_TransactionType_$12_$", "typeString": "type(enum Escrow_v1_0.TransactionType)" @@ -10188,13 +10188,13 @@ "memberName": "ETHER", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "14918:21:0", + "src": "14920:21:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" } }, - "src": "14897:42:0", + "src": "14899:42:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -10221,7 +10221,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 725, - "src": "15553:1:0", + "src": "15555:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" @@ -10235,7 +10235,7 @@ "memberName": "transactionType", "nodeType": "MemberAccess", "referencedDeclaration": 46, - "src": "15553:17:0", + "src": "15555:17:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -10252,7 +10252,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12, - "src": "15574:15:0", + "src": "15576:15:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_TransactionType_$12_$", "typeString": "type(enum Escrow_v1_0.TransactionType)" @@ -10266,13 +10266,13 @@ "memberName": "TOKEN", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "15574:21:0", + "src": "15576:21:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" } }, - "src": "15553:42:0", + "src": "15555:42:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -10281,11 +10281,11 @@ "falseBody": null, "id": 899, "nodeType": "IfStatement", - "src": "15549:758:0", + "src": "15551:758:0", "trueBody": { "id": 898, "nodeType": "Block", - "src": "15597:710:0", + "src": "15599:710:0", "statements": [ { "assignments": [ @@ -10298,7 +10298,7 @@ "name": "token", "nodeType": "VariableDeclaration", "scope": 904, - "src": "15612:20:0", + "src": "15614:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -10311,7 +10311,7 @@ "name": "ITokenContract", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 1254, - "src": "15612:14:0", + "src": "15614:14:0", "typeDescriptions": { "typeIdentifier": "t_contract$_ITokenContract_$1254", "typeString": "contract ITokenContract" @@ -10334,7 +10334,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 725, - "src": "15650:1:0", + "src": "15652:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" @@ -10348,7 +10348,7 @@ "memberName": "tokenAddress", "nodeType": "MemberAccess", "referencedDeclaration": 56, - "src": "15650:14:0", + "src": "15652:14:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -10367,7 +10367,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1254, - "src": "15635:14:0", + "src": "15637:14:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_ITokenContract_$1254_$", "typeString": "type(contract ITokenContract)" @@ -10381,20 +10381,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15635:30:0", + "src": "15637:30:0", "typeDescriptions": { "typeIdentifier": "t_contract$_ITokenContract_$1254", "typeString": "contract ITokenContract" } }, "nodeType": "VariableDeclarationStatement", - "src": "15612:53:0" + "src": "15614:53:0" }, { "body": { "id": 896, "nodeType": "Block", - "src": "15728:569:0", + "src": "15730:569:0", "statements": [ { "expression": { @@ -10420,7 +10420,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 716, - "src": "15755:12:0", + "src": "15757:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -10434,7 +10434,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 824, - "src": "15768:1:0", + "src": "15770:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10445,7 +10445,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15755:15:0", + "src": "15757:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -10466,7 +10466,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "15782:1:0", + "src": "15784:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -10488,7 +10488,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "15774:7:0", + "src": "15776:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" @@ -10503,13 +10503,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15774:10:0", + "src": "15776:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "15755:29:0", + "src": "15757:29:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -10525,7 +10525,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "15786:52:0", + "src": "15788:52:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_587fbb5a9b8e6d4cc482f236066ac51bcf007ae6026eab186437d2f1b22fc139", @@ -10553,7 +10553,7 @@ 1401 ], "referencedDeclaration": 1401, - "src": "15747:7:0", + "src": "15749:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -10567,7 +10567,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15747:92:0", + "src": "15749:92:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -10575,7 +10575,7 @@ }, "id": 844, "nodeType": "ExpressionStatement", - "src": "15747:92:0" + "src": "15749:92:0" }, { "expression": { @@ -10592,7 +10592,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 725, - "src": "15866:1:0", + "src": "15868:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" @@ -10606,7 +10606,7 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "15866:9:0", + "src": "15868:9:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -10622,7 +10622,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 716, - "src": "15876:12:0", + "src": "15878:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -10636,7 +10636,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 824, - "src": "15889:1:0", + "src": "15891:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10647,7 +10647,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15876:15:0", + "src": "15878:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -10658,7 +10658,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15866:26:0", + "src": "15868:26:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -10674,7 +10674,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "15894:46:0", + "src": "15896:46:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_5ccbe9d117aeeb4b3546dfe6a12f083cb37039367b3ec38b60873b8650bc846f", @@ -10702,7 +10702,7 @@ 1401 ], "referencedDeclaration": 1401, - "src": "15858:7:0", + "src": "15860:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -10716,7 +10716,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15858:83:0", + "src": "15860:83:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -10724,7 +10724,7 @@ }, "id": 854, "nodeType": "ExpressionStatement", - "src": "15858:83:0" + "src": "15860:83:0" }, { "expression": { @@ -10750,7 +10750,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 719, - "src": "15968:7:0", + "src": "15970:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" @@ -10764,7 +10764,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 824, - "src": "15976:1:0", + "src": "15978:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10775,7 +10775,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15968:10:0", + "src": "15970:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10793,7 +10793,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "15981:1:0", + "src": "15983:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -10801,7 +10801,7 @@ }, "value": "0" }, - "src": "15968:14:0", + "src": "15970:14:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -10817,7 +10817,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "15984:44:0", + "src": "15986:44:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_5e1271a09dbb64ae031de288deb0ad8d707df7db51d6e827931dc8fa6642a71e", @@ -10845,7 +10845,7 @@ 1401 ], "referencedDeclaration": 1401, - "src": "15960:7:0", + "src": "15962:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -10859,7 +10859,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15960:69:0", + "src": "15962:69:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -10867,7 +10867,7 @@ }, "id": 863, "nodeType": "ExpressionStatement", - "src": "15960:69:0" + "src": "15962:69:0" }, { "expression": { @@ -10884,7 +10884,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 731, - "src": "16048:16:0", + "src": "16050:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10904,7 +10904,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 719, - "src": "16088:7:0", + "src": "16090:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" @@ -10918,7 +10918,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 824, - "src": "16096:1:0", + "src": "16098:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10929,7 +10929,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "16088:10:0", + "src": "16090:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10950,7 +10950,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 731, - "src": "16067:16:0", + "src": "16069:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10964,7 +10964,7 @@ "memberName": "add", "nodeType": "MemberAccess", "referencedDeclaration": 1361, - "src": "16067:20:0", + "src": "16069:20:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" @@ -10978,13 +10978,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16067:32:0", + "src": "16069:32:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "16048:51:0", + "src": "16050:51:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10992,7 +10992,7 @@ }, "id": 872, "nodeType": "ExpressionStatement", - "src": "16048:51:0" + "src": "16050:51:0" }, { "expression": { @@ -11013,7 +11013,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 725, - "src": "16117:1:0", + "src": "16119:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" @@ -11027,7 +11027,7 @@ "memberName": "beneficiaries", "nodeType": "MemberAccess", "referencedDeclaration": 70, - "src": "16117:15:0", + "src": "16119:15:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -11043,7 +11043,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 716, - "src": "16133:12:0", + "src": "16135:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -11057,7 +11057,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 824, - "src": "16146:1:0", + "src": "16148:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11068,7 +11068,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "16133:15:0", + "src": "16135:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -11079,7 +11079,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "16117:32:0", + "src": "16119:32:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -11097,7 +11097,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "16152:4:0", + "src": "16154:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -11105,7 +11105,7 @@ }, "value": "true" }, - "src": "16117:39:0", + "src": "16119:39:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -11113,7 +11113,7 @@ }, "id": 882, "nodeType": "ExpressionStatement", - "src": "16117:39:0" + "src": "16119:39:0" }, { "expression": { @@ -11131,7 +11131,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 716, - "src": "16227:12:0", + "src": "16229:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -11145,7 +11145,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 824, - "src": "16240:1:0", + "src": "16242:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11156,7 +11156,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "16227:15:0", + "src": "16229:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -11171,7 +11171,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 719, - "src": "16244:7:0", + "src": "16246:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" @@ -11185,7 +11185,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 824, - "src": "16252:1:0", + "src": "16254:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11196,7 +11196,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "16244:10:0", + "src": "16246:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11221,7 +11221,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 817, - "src": "16212:5:0", + "src": "16214:5:0", "typeDescriptions": { "typeIdentifier": "t_contract$_ITokenContract_$1254", "typeString": "contract ITokenContract" @@ -11235,7 +11235,7 @@ "memberName": "transfer", "nodeType": "MemberAccess", "referencedDeclaration": 1242, - "src": "16212:14:0", + "src": "16214:14:0", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", "typeString": "function (address,uint256) external returns (bool)" @@ -11249,7 +11249,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16212:43:0", + "src": "16214:43:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -11265,7 +11265,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "16257:24:0", + "src": "16259:24:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_e545223bb79d8456d66fa5a98897abb42bb4807111f004a120200da3b7e292c5", @@ -11293,7 +11293,7 @@ 1401 ], "referencedDeclaration": 1401, - "src": "16204:7:0", + "src": "16206:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -11307,7 +11307,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16204:78:0", + "src": "16206:78:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -11315,7 +11315,7 @@ }, "id": 895, "nodeType": "ExpressionStatement", - "src": "16204:78:0" + "src": "16206:78:0" } ] }, @@ -11337,7 +11337,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 824, - "src": "15700:1:0", + "src": "15702:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11354,7 +11354,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 716, - "src": "15702:12:0", + "src": "15704:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -11368,13 +11368,13 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "15702:19:0", + "src": "15704:19:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "15700:21:0", + "src": "15702:21:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -11392,7 +11392,7 @@ "name": "j", "nodeType": "VariableDeclaration", "scope": 904, - "src": "15685:9:0", + "src": "15687:9:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -11403,7 +11403,7 @@ "id": 823, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "15685:7:0", + "src": "15687:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11424,7 +11424,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "15697:1:0", + "src": "15699:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -11433,7 +11433,7 @@ "value": "0" }, "nodeType": "VariableDeclarationStatement", - "src": "15685:13:0" + "src": "15687:13:0" }, "loopExpression": { "expression": { @@ -11446,7 +11446,7 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "15723:3:0", + "src": "15725:3:0", "subExpression": { "argumentTypes": null, "id": 831, @@ -11454,7 +11454,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 824, - "src": "15723:1:0", + "src": "15725:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11467,27 +11467,27 @@ }, "id": 833, "nodeType": "ExpressionStatement", - "src": "15723:3:0" + "src": "15725:3:0" }, "nodeType": "ForStatement", - "src": "15680:617:0" + "src": "15682:617:0" } ] } }, "id": 900, "nodeType": "IfStatement", - "src": "14893:1414:0", + "src": "14895:1414:0", "trueBody": { "id": 810, "nodeType": "Block", - "src": "14941:602:0", + "src": "14943:602:0", "statements": [ { "body": { "id": 808, "nodeType": "Block", - "src": "15005:527:0", + "src": "15007:527:0", "statements": [ { "expression": { @@ -11513,7 +11513,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 716, - "src": "15032:12:0", + "src": "15034:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -11527,7 +11527,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 740, - "src": "15045:1:0", + "src": "15047:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11538,7 +11538,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15032:15:0", + "src": "15034:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -11559,7 +11559,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "15059:1:0", + "src": "15061:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -11581,7 +11581,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "15051:7:0", + "src": "15053:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" @@ -11596,13 +11596,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15051:10:0", + "src": "15053:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "15032:29:0", + "src": "15034:29:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -11618,7 +11618,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "15063:52:0", + "src": "15065:52:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_587fbb5a9b8e6d4cc482f236066ac51bcf007ae6026eab186437d2f1b22fc139", @@ -11646,7 +11646,7 @@ 1401 ], "referencedDeclaration": 1401, - "src": "15024:7:0", + "src": "15026:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -11660,7 +11660,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15024:92:0", + "src": "15026:92:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -11668,7 +11668,7 @@ }, "id": 760, "nodeType": "ExpressionStatement", - "src": "15024:92:0" + "src": "15026:92:0" }, { "expression": { @@ -11685,7 +11685,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 725, - "src": "15143:1:0", + "src": "15145:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" @@ -11699,7 +11699,7 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "15143:9:0", + "src": "15145:9:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -11715,7 +11715,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 716, - "src": "15153:12:0", + "src": "15155:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -11729,7 +11729,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 740, - "src": "15166:1:0", + "src": "15168:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11740,7 +11740,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15153:15:0", + "src": "15155:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -11751,7 +11751,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15143:26:0", + "src": "15145:26:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -11767,7 +11767,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "15171:46:0", + "src": "15173:46:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_5ccbe9d117aeeb4b3546dfe6a12f083cb37039367b3ec38b60873b8650bc846f", @@ -11795,7 +11795,7 @@ 1401 ], "referencedDeclaration": 1401, - "src": "15135:7:0", + "src": "15137:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -11809,7 +11809,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15135:83:0", + "src": "15137:83:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -11817,7 +11817,7 @@ }, "id": 770, "nodeType": "ExpressionStatement", - "src": "15135:83:0" + "src": "15137:83:0" }, { "expression": { @@ -11843,7 +11843,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 719, - "src": "15245:7:0", + "src": "15247:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" @@ -11857,7 +11857,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 740, - "src": "15253:1:0", + "src": "15255:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11868,7 +11868,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15245:10:0", + "src": "15247:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11886,7 +11886,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "15258:1:0", + "src": "15260:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -11894,7 +11894,7 @@ }, "value": "0" }, - "src": "15245:14:0", + "src": "15247:14:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -11910,7 +11910,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "15261:44:0", + "src": "15263:44:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_5e1271a09dbb64ae031de288deb0ad8d707df7db51d6e827931dc8fa6642a71e", @@ -11938,7 +11938,7 @@ 1401 ], "referencedDeclaration": 1401, - "src": "15237:7:0", + "src": "15239:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -11952,7 +11952,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15237:69:0", + "src": "15239:69:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -11960,7 +11960,7 @@ }, "id": 779, "nodeType": "ExpressionStatement", - "src": "15237:69:0" + "src": "15239:69:0" }, { "expression": { @@ -11977,7 +11977,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 731, - "src": "15325:16:0", + "src": "15327:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11997,7 +11997,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 719, - "src": "15365:7:0", + "src": "15367:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" @@ -12011,7 +12011,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 740, - "src": "15373:1:0", + "src": "15375:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12022,7 +12022,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15365:10:0", + "src": "15367:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12043,7 +12043,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 731, - "src": "15344:16:0", + "src": "15346:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12057,7 +12057,7 @@ "memberName": "add", "nodeType": "MemberAccess", "referencedDeclaration": 1361, - "src": "15344:20:0", + "src": "15346:20:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" @@ -12071,13 +12071,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15344:32:0", + "src": "15346:32:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "15325:51:0", + "src": "15327:51:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12085,7 +12085,7 @@ }, "id": 788, "nodeType": "ExpressionStatement", - "src": "15325:51:0" + "src": "15327:51:0" }, { "expression": { @@ -12106,7 +12106,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 725, - "src": "15395:1:0", + "src": "15397:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" @@ -12120,7 +12120,7 @@ "memberName": "beneficiaries", "nodeType": "MemberAccess", "referencedDeclaration": 70, - "src": "15395:15:0", + "src": "15397:15:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -12136,7 +12136,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 716, - "src": "15411:12:0", + "src": "15413:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -12150,7 +12150,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 740, - "src": "15424:1:0", + "src": "15426:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12161,7 +12161,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15411:15:0", + "src": "15413:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -12172,7 +12172,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "15395:32:0", + "src": "15397:32:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -12190,7 +12190,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "15430:4:0", + "src": "15432:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -12198,7 +12198,7 @@ }, "value": "true" }, - "src": "15395:39:0", + "src": "15397:39:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -12206,7 +12206,7 @@ }, "id": 798, "nodeType": "ExpressionStatement", - "src": "15395:39:0" + "src": "15397:39:0" }, { "expression": { @@ -12221,7 +12221,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 719, - "src": "15506:7:0", + "src": "15508:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" @@ -12235,7 +12235,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 740, - "src": "15514:1:0", + "src": "15516:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12246,7 +12246,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15506:10:0", + "src": "15508:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12269,7 +12269,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 716, - "src": "15481:12:0", + "src": "15483:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -12283,7 +12283,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 740, - "src": "15494:1:0", + "src": "15496:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12294,7 +12294,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15481:15:0", + "src": "15483:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -12308,7 +12308,7 @@ "memberName": "transfer", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "15481:24:0", + "src": "15483:24:0", "typeDescriptions": { "typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$", "typeString": "function (uint256)" @@ -12322,7 +12322,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15481:36:0", + "src": "15483:36:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -12330,7 +12330,7 @@ }, "id": 807, "nodeType": "ExpressionStatement", - "src": "15481:36:0" + "src": "15483:36:0" } ] }, @@ -12352,7 +12352,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 740, - "src": "14975:1:0", + "src": "14977:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12369,7 +12369,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 716, - "src": "14979:12:0", + "src": "14981:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -12383,13 +12383,13 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "14979:19:0", + "src": "14981:19:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "14975:23:0", + "src": "14977:23:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -12407,7 +12407,7 @@ "name": "i", "nodeType": "VariableDeclaration", "scope": 904, - "src": "14960:9:0", + "src": "14962:9:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12418,7 +12418,7 @@ "id": 739, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "14960:7:0", + "src": "14962:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12439,7 +12439,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "14972:1:0", + "src": "14974:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -12448,7 +12448,7 @@ "value": "0" }, "nodeType": "VariableDeclarationStatement", - "src": "14960:13:0" + "src": "14962:13:0" }, "loopExpression": { "expression": { @@ -12461,7 +12461,7 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "15000:3:0", + "src": "15002:3:0", "subExpression": { "argumentTypes": null, "id": 747, @@ -12469,7 +12469,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 740, - "src": "15000:1:0", + "src": "15002:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12482,10 +12482,10 @@ }, "id": 749, "nodeType": "ExpressionStatement", - "src": "15000:3:0" + "src": "15002:3:0" }, "nodeType": "ForStatement", - "src": "14955:577:0" + "src": "14957:577:0" } ] } @@ -12498,7 +12498,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 731, - "src": "16324:16:0", + "src": "16326:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12507,7 +12507,7 @@ "functionReturnParameters": 723, "id": 902, "nodeType": "Return", - "src": "16317:23:0" + "src": "16319:23:0" } ] }, @@ -12529,7 +12529,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 904, - "src": "14657:18:0", + "src": "14659:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12540,7 +12540,7 @@ "id": 712, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "14657:7:0", + "src": "14659:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -12555,7 +12555,7 @@ "name": "destinations", "nodeType": "VariableDeclaration", "scope": 904, - "src": "14685:21:0", + "src": "14687:21:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12567,7 +12567,7 @@ "id": 714, "name": "address", "nodeType": "ElementaryTypeName", - "src": "14685:7:0", + "src": "14687:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -12576,7 +12576,7 @@ "id": 715, "length": null, "nodeType": "ArrayTypeName", - "src": "14685:9:0", + "src": "14687:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", "typeString": "address[]" @@ -12591,7 +12591,7 @@ "name": "amounts", "nodeType": "VariableDeclaration", "scope": 904, - "src": "14716:16:0", + "src": "14718:16:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12603,7 +12603,7 @@ "id": 717, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "14716:7:0", + "src": "14718:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12612,7 +12612,7 @@ "id": 718, "length": null, "nodeType": "ArrayTypeName", - "src": "14716:9:0", + "src": "14718:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -12622,7 +12622,7 @@ "visibility": "internal" } ], - "src": "14647:91:0" + "src": "14649:91:0" }, "payable": false, "returnParameters": { @@ -12635,7 +12635,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 904, - "src": "14772:7:0", + "src": "14774:7:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12646,7 +12646,7 @@ "id": 721, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "14772:7:0", + "src": "14774:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12656,10 +12656,10 @@ "visibility": "internal" } ], - "src": "14771:9:0" + "src": "14773:9:0" }, "scope": 1224, - "src": "14624:1723:0", + "src": "14626:1723:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "private" @@ -12668,7 +12668,7 @@ "body": { "id": 1034, "nodeType": "Block", - "src": "16767:1346:0", + "src": "16769:1346:0", "statements": [ { "expression": { @@ -12705,7 +12705,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 910, - "src": "16799:4:0", + "src": "16801:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" @@ -12719,7 +12719,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "16799:11:0", + "src": "16801:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12736,7 +12736,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 913, - "src": "16814:4:0", + "src": "16816:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" @@ -12750,13 +12750,13 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "16814:11:0", + "src": "16816:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "16799:26:0", + "src": "16801:26:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -12784,7 +12784,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 910, - "src": "16829:4:0", + "src": "16831:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" @@ -12798,7 +12798,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "16829:11:0", + "src": "16831:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12815,7 +12815,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 907, - "src": "16844:4:0", + "src": "16846:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr", "typeString": "uint8[] memory" @@ -12829,19 +12829,19 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "16844:11:0", + "src": "16846:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "16829:26:0", + "src": "16831:26:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "16799:56:0", + "src": "16801:56:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -12857,7 +12857,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "16870:24:0", + "src": "16872:24:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_f85073c8befb65baed58ca1ee563e5da0bdbdce8abd4d29ef22a8329c7c97506", @@ -12885,7 +12885,7 @@ 1401 ], "referencedDeclaration": 1401, - "src": "16778:7:0", + "src": "16780:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -12899,7 +12899,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16778:126:0", + "src": "16780:126:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -12907,7 +12907,7 @@ }, "id": 940, "nodeType": "ExpressionStatement", - "src": "16778:126:0" + "src": "16780:126:0" }, { "assignments": [], @@ -12918,7 +12918,7 @@ "name": "lastAddress", "nodeType": "VariableDeclaration", "scope": 1035, - "src": "16915:19:0", + "src": "16917:19:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12929,7 +12929,7 @@ "id": 941, "name": "address", "nodeType": "ElementaryTypeName", - "src": "16915:7:0", + "src": "16917:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -12942,7 +12942,7 @@ "id": 943, "initialValue": null, "nodeType": "VariableDeclarationStatement", - "src": "16915:19:0" + "src": "16917:19:0" }, { "assignments": [ @@ -12955,7 +12955,7 @@ "name": "txHash", "nodeType": "VariableDeclaration", "scope": 1035, - "src": "17033:14:0", + "src": "17035:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12966,7 +12966,7 @@ "id": 944, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "17033:7:0", + "src": "17035:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -12993,7 +12993,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "17107:34:0", + "src": "17109:34:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_178a2411ab6fbc1ba11064408972259c558d0e82fd48b0aba3ad81d14f065e73", @@ -13020,7 +13020,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "17237:4:0", + "src": "17239:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_25_by_1", @@ -13042,7 +13042,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "17232:4:0", + "src": "17234:4:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes1_$", "typeString": "type(bytes1)" @@ -13057,7 +13057,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17232:10:0", + "src": "17234:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes1", "typeString": "bytes1" @@ -13076,7 +13076,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "17273:1:0", + "src": "17275:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -13098,7 +13098,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "17268:4:0", + "src": "17270:4:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes1_$", "typeString": "type(bytes1)" @@ -13113,7 +13113,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17268:7:0", + "src": "17270:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes1", "typeString": "bytes1" @@ -13129,7 +13129,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1414, - "src": "17309:4:0", + "src": "17311:4:0", "typeDescriptions": { "typeIdentifier": "t_contract$_Escrow_v1_0_$1224", "typeString": "contract Escrow_v1_0" @@ -13149,7 +13149,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "17301:7:0", + "src": "17303:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" @@ -13164,7 +13164,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17301:13:0", + "src": "17303:13:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -13177,7 +13177,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 918, - "src": "17340:12:0", + "src": "17342:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -13190,7 +13190,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 921, - "src": "17378:7:0", + "src": "17380:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" @@ -13203,7 +13203,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 915, - "src": "17411:10:0", + "src": "17413:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -13244,7 +13244,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1384, - "src": "17190:3:0", + "src": "17192:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" @@ -13258,7 +13258,7 @@ "memberName": "encodePacked", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "17190:16:0", + "src": "17192:16:0", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" @@ -13272,7 +13272,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17190:253:0", + "src": "17192:253:0", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -13291,7 +13291,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1391, - "src": "17159:9:0", + "src": "17161:9:0", "typeDescriptions": { "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", "typeString": "function () pure returns (bytes32)" @@ -13305,7 +13305,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17159:302:0", + "src": "17161:302:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -13330,7 +13330,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1384, - "src": "17073:3:0", + "src": "17075:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" @@ -13344,7 +13344,7 @@ "memberName": "encodePacked", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "17073:16:0", + "src": "17075:16:0", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" @@ -13358,7 +13358,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17073:402:0", + "src": "17075:402:0", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -13377,7 +13377,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1391, - "src": "17050:9:0", + "src": "17052:9:0", "typeDescriptions": { "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", "typeString": "function () pure returns (bytes32)" @@ -13391,20 +13391,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17050:435:0", + "src": "17052:435:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "nodeType": "VariableDeclarationStatement", - "src": "17033:452:0" + "src": "17035:452:0" }, { "body": { "id": 1030, "nodeType": "Block", - "src": "17535:543:0", + "src": "17537:543:0", "statements": [ { "assignments": [ @@ -13417,7 +13417,7 @@ "name": "recovered", "nodeType": "VariableDeclaration", "scope": 1035, - "src": "17550:17:0", + "src": "17552:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -13428,7 +13428,7 @@ "id": 981, "name": "address", "nodeType": "ElementaryTypeName", - "src": "17550:7:0", + "src": "17552:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -13449,7 +13449,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 945, - "src": "17597:6:0", + "src": "17599:6:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -13464,7 +13464,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 907, - "src": "17621:4:0", + "src": "17623:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr", "typeString": "uint8[] memory" @@ -13478,7 +13478,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 971, - "src": "17626:1:0", + "src": "17628:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13489,7 +13489,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17621:7:0", + "src": "17623:7:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -13504,7 +13504,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 910, - "src": "17646:4:0", + "src": "17648:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" @@ -13518,7 +13518,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 971, - "src": "17651:1:0", + "src": "17653:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13529,7 +13529,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17646:7:0", + "src": "17648:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -13544,7 +13544,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 913, - "src": "17671:4:0", + "src": "17673:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" @@ -13558,7 +13558,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 971, - "src": "17676:1:0", + "src": "17678:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13569,7 +13569,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17671:7:0", + "src": "17673:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -13600,7 +13600,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1389, - "src": "17570:9:0", + "src": "17572:9:0", "typeDescriptions": { "typeIdentifier": "t_function_ecrecover_pure$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$_t_address_$", "typeString": "function (bytes32,uint8,bytes32,bytes32) pure returns (address)" @@ -13614,14 +13614,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17570:122:0", + "src": "17572:122:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "VariableDeclarationStatement", - "src": "17550:142:0" + "src": "17552:142:0" }, { "expression": { @@ -13640,7 +13640,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "17732:12:0", + "src": "17734:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -13654,7 +13654,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 915, - "src": "17745:10:0", + "src": "17747:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -13665,7 +13665,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17732:24:0", + "src": "17734:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -13679,7 +13679,7 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "17732:32:0", + "src": "17734:32:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -13693,7 +13693,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 982, - "src": "17765:9:0", + "src": "17767:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -13704,7 +13704,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17732:43:0", + "src": "17734:43:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -13720,7 +13720,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "17794:19:0", + "src": "17796:19:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_4f2d7dfcb27c0aafa13ae8c400de482c7832204d194018b6e45bd2bf244c74e7", @@ -13748,7 +13748,7 @@ 1401 ], "referencedDeclaration": 1401, - "src": "17707:7:0", + "src": "17709:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -13762,7 +13762,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17707:120:0", + "src": "17709:120:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -13770,7 +13770,7 @@ }, "id": 1005, "nodeType": "ExpressionStatement", - "src": "17707:120:0" + "src": "17709:120:0" }, { "expression": { @@ -13786,7 +13786,7 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "17866:42:0", + "src": "17868:42:0", "subExpression": { "argumentTypes": null, "baseExpression": { @@ -13800,7 +13800,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "17867:12:0", + "src": "17869:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -13814,7 +13814,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 915, - "src": "17880:10:0", + "src": "17882:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -13825,7 +13825,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17867:24:0", + "src": "17869:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -13839,7 +13839,7 @@ "memberName": "voted", "nodeType": "MemberAccess", "referencedDeclaration": 66, - "src": "17867:30:0", + "src": "17869:30:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -13853,7 +13853,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 982, - "src": "17898:9:0", + "src": "17900:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -13864,7 +13864,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17867:41:0", + "src": "17869:41:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -13885,7 +13885,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "17927:27:0", + "src": "17929:27:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_fb2c7e49d5ec7ce36fa812cf15ee7fa946942f931d04fe3ae970516007b2a543", @@ -13913,7 +13913,7 @@ 1401 ], "referencedDeclaration": 1401, - "src": "17841:7:0", + "src": "17843:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -13927,7 +13927,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17841:127:0", + "src": "17843:127:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -13935,7 +13935,7 @@ }, "id": 1016, "nodeType": "ExpressionStatement", - "src": "17841:127:0" + "src": "17843:127:0" }, { "expression": { @@ -13958,7 +13958,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "17982:12:0", + "src": "17984:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -13972,7 +13972,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 915, - "src": "17995:10:0", + "src": "17997:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -13983,7 +13983,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17982:24:0", + "src": "17984:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -13997,7 +13997,7 @@ "memberName": "voted", "nodeType": "MemberAccess", "referencedDeclaration": 66, - "src": "17982:30:0", + "src": "17984:30:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -14011,7 +14011,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 982, - "src": "18013:9:0", + "src": "18015:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -14022,7 +14022,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "17982:41:0", + "src": "17984:41:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -14040,7 +14040,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "18026:4:0", + "src": "18028:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -14048,7 +14048,7 @@ }, "value": "true" }, - "src": "17982:48:0", + "src": "17984:48:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -14056,7 +14056,7 @@ }, "id": 1025, "nodeType": "ExpressionStatement", - "src": "17982:48:0" + "src": "17984:48:0" }, { "expression": { @@ -14073,7 +14073,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 942, - "src": "18044:11:0", + "src": "18046:11:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -14088,13 +14088,13 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 982, - "src": "18058:9:0", + "src": "18060:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "18044:23:0", + "src": "18046:23:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -14102,7 +14102,7 @@ }, "id": 1029, "nodeType": "ExpressionStatement", - "src": "18044:23:0" + "src": "18046:23:0" } ] }, @@ -14124,7 +14124,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 971, - "src": "17513:1:0", + "src": "17515:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14141,7 +14141,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 910, - "src": "17517:4:0", + "src": "17519:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" @@ -14155,13 +14155,13 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "17517:11:0", + "src": "17519:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "17513:15:0", + "src": "17515:15:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -14179,7 +14179,7 @@ "name": "i", "nodeType": "VariableDeclaration", "scope": 1035, - "src": "17501:6:0", + "src": "17503:6:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14190,7 +14190,7 @@ "id": 970, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "17501:4:0", + "src": "17503:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14211,7 +14211,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "17510:1:0", + "src": "17512:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -14220,7 +14220,7 @@ "value": "0" }, "nodeType": "VariableDeclarationStatement", - "src": "17501:10:0" + "src": "17503:10:0" }, "loopExpression": { "expression": { @@ -14233,7 +14233,7 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "17530:3:0", + "src": "17532:3:0", "subExpression": { "argumentTypes": null, "id": 978, @@ -14241,7 +14241,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 971, - "src": "17530:1:0", + "src": "17532:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14254,10 +14254,10 @@ }, "id": 980, "nodeType": "ExpressionStatement", - "src": "17530:3:0" + "src": "17532:3:0" }, "nodeType": "ForStatement", - "src": "17496:582:0" + "src": "17498:582:0" }, { "expression": { @@ -14267,7 +14267,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 942, - "src": "18095:11:0", + "src": "18097:11:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -14276,7 +14276,7 @@ "functionReturnParameters": 925, "id": 1033, "nodeType": "Return", - "src": "18088:18:0" + "src": "18090:18:0" } ] }, @@ -14298,7 +14298,7 @@ "name": "sigV", "nodeType": "VariableDeclaration", "scope": 1035, - "src": "16568:12:0", + "src": "16570:12:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14310,7 +14310,7 @@ "id": 905, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "16568:5:0", + "src": "16570:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -14319,7 +14319,7 @@ "id": 906, "length": null, "nodeType": "ArrayTypeName", - "src": "16568:7:0", + "src": "16570:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_storage_ptr", "typeString": "uint8[]" @@ -14334,7 +14334,7 @@ "name": "sigR", "nodeType": "VariableDeclaration", "scope": 1035, - "src": "16590:14:0", + "src": "16592:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14346,7 +14346,7 @@ "id": 908, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "16590:7:0", + "src": "16592:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -14355,7 +14355,7 @@ "id": 909, "length": null, "nodeType": "ArrayTypeName", - "src": "16590:9:0", + "src": "16592:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -14370,7 +14370,7 @@ "name": "sigS", "nodeType": "VariableDeclaration", "scope": 1035, - "src": "16614:14:0", + "src": "16616:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14382,7 +14382,7 @@ "id": 911, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "16614:7:0", + "src": "16616:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -14391,7 +14391,7 @@ "id": 912, "length": null, "nodeType": "ArrayTypeName", - "src": "16614:9:0", + "src": "16616:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -14406,7 +14406,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 1035, - "src": "16638:18:0", + "src": "16640:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14417,7 +14417,7 @@ "id": 914, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "16638:7:0", + "src": "16640:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -14432,7 +14432,7 @@ "name": "destinations", "nodeType": "VariableDeclaration", "scope": 1035, - "src": "16666:22:0", + "src": "16668:22:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14444,7 +14444,7 @@ "id": 916, "name": "address", "nodeType": "ElementaryTypeName", - "src": "16666:7:0", + "src": "16668:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -14453,7 +14453,7 @@ "id": 917, "length": null, "nodeType": "ArrayTypeName", - "src": "16666:9:0", + "src": "16668:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", "typeString": "address[]" @@ -14468,7 +14468,7 @@ "name": "amounts", "nodeType": "VariableDeclaration", "scope": 1035, - "src": "16698:16:0", + "src": "16700:16:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14480,7 +14480,7 @@ "id": 919, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "16698:7:0", + "src": "16700:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14489,7 +14489,7 @@ "id": 920, "length": null, "nodeType": "ArrayTypeName", - "src": "16698:9:0", + "src": "16700:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -14499,7 +14499,7 @@ "visibility": "internal" } ], - "src": "16558:162:0" + "src": "16560:162:0" }, "payable": false, "returnParameters": { @@ -14512,7 +14512,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 1035, - "src": "16754:7:0", + "src": "16756:7:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14523,7 +14523,7 @@ "id": 923, "name": "address", "nodeType": "ElementaryTypeName", - "src": "16754:7:0", + "src": "16756:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -14533,10 +14533,10 @@ "visibility": "internal" } ], - "src": "16753:9:0" + "src": "16755:9:0" }, "scope": 1224, - "src": "16532:1581:0", + "src": "16534:1581:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "private" @@ -14545,7 +14545,7 @@ "body": { "id": 1066, "nodeType": "Block", - "src": "18268:168:0", + "src": "18270:168:0", "statements": [ { "assignments": [ @@ -14558,7 +14558,7 @@ "name": "timeSince", "nodeType": "VariableDeclaration", "scope": 1067, - "src": "18278:17:0", + "src": "18280:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14569,7 +14569,7 @@ "id": 1044, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "18278:7:0", + "src": "18280:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14590,7 +14590,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1039, - "src": "18306:12:0", + "src": "18308:12:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14611,7 +14611,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1399, - "src": "18298:3:0", + "src": "18300:3:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14625,7 +14625,7 @@ "memberName": "sub", "nodeType": "MemberAccess", "referencedDeclaration": 1337, - "src": "18298:7:0", + "src": "18300:7:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" @@ -14639,14 +14639,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18298:21:0", + "src": "18300:21:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "18278:41:0" + "src": "18280:41:0" }, { "expression": { @@ -14672,7 +14672,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1037, - "src": "18350:12:0", + "src": "18352:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -14690,7 +14690,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "18366:1:0", + "src": "18368:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -14698,7 +14698,7 @@ }, "value": "0" }, - "src": "18350:17:0", + "src": "18352:17:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -14722,7 +14722,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1045, - "src": "18376:9:0", + "src": "18378:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14743,7 +14743,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "18414:4:0", + "src": "18416:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_3600_by_1", @@ -14769,7 +14769,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1037, - "src": "18396:12:0", + "src": "18398:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -14789,7 +14789,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "18388:7:0", + "src": "18390:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint256_$", "typeString": "type(uint256)" @@ -14804,7 +14804,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18388:21:0", + "src": "18390:21:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14818,7 +14818,7 @@ "memberName": "mul", "nodeType": "MemberAccess", "referencedDeclaration": 1289, - "src": "18388:25:0", + "src": "18390:25:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" @@ -14832,13 +14832,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18388:31:0", + "src": "18390:31:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "18376:43:0", + "src": "18378:43:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -14850,7 +14850,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "Conditional", - "src": "18350:69:0", + "src": "18352:69:0", "trueExpression": { "argumentTypes": null, "hexValue": "66616c7365", @@ -14861,7 +14861,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "18370:5:0", + "src": "18372:5:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -14882,7 +14882,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "18336:93:0", + "src": "18338:93:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -14891,7 +14891,7 @@ "functionReturnParameters": 1043, "id": 1065, "nodeType": "Return", - "src": "18329:100:0" + "src": "18331:100:0" } ] }, @@ -14913,7 +14913,7 @@ "name": "timeoutHours", "nodeType": "VariableDeclaration", "scope": 1067, - "src": "18156:19:0", + "src": "18158:19:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14924,7 +14924,7 @@ "id": 1036, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "18156:6:0", + "src": "18158:6:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -14939,7 +14939,7 @@ "name": "lastModified", "nodeType": "VariableDeclaration", "scope": 1067, - "src": "18185:20:0", + "src": "18187:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14950,7 +14950,7 @@ "id": 1038, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "18185:7:0", + "src": "18187:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14960,7 +14960,7 @@ "visibility": "internal" } ], - "src": "18146:65:0" + "src": "18148:65:0" }, "payable": false, "returnParameters": { @@ -14973,7 +14973,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 1067, - "src": "18258:4:0", + "src": "18260:4:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14984,7 +14984,7 @@ "id": 1041, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "18258:4:0", + "src": "18260:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -14994,10 +14994,10 @@ "visibility": "internal" } ], - "src": "18257:6:0" + "src": "18259:6:0" }, "scope": 1224, - "src": "18119:317:0", + "src": "18121:317:0", "stateMutability": "view", "superFunction": null, "visibility": "private" @@ -15006,7 +15006,7 @@ "body": { "id": 1222, "nodeType": "Block", - "src": "18850:2314:0", + "src": "18852:2314:0", "statements": [ { "expression": { @@ -15030,7 +15030,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1069, - "src": "18876:5:0", + "src": "18878:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15045,13 +15045,13 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1071, - "src": "18885:6:0", + "src": "18887:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "18876:15:0", + "src": "18878:15:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -15067,7 +15067,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "18893:27:0", + "src": "18895:27:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_6141441751234d42e9a73d96317794195c7ff57b8f16ac15725a10f10763f824", @@ -15095,7 +15095,7 @@ 1401 ], "referencedDeclaration": 1401, - "src": "18868:7:0", + "src": "18870:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -15109,7 +15109,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18868:53:0", + "src": "18870:53:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -15117,7 +15117,7 @@ }, "id": 1096, "nodeType": "ExpressionStatement", - "src": "18868:53:0" + "src": "18870:53:0" }, { "expression": { @@ -15141,7 +15141,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1081, - "src": "18988:5:0", + "src": "18990:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -15159,7 +15159,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "18996:1:0", + "src": "18998:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -15167,7 +15167,7 @@ }, "value": "0" }, - "src": "18988:9:0", + "src": "18990:9:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -15183,7 +15183,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "18999:19:0", + "src": "19001:19:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_3686f87c4804517ea83323ccf1a3b5b5ff52ed144b19e6fc56abe8fcd182e747", @@ -15211,7 +15211,7 @@ 1401 ], "referencedDeclaration": 1401, - "src": "18980:7:0", + "src": "18982:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -15225,7 +15225,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18980:39:0", + "src": "18982:39:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -15233,7 +15233,7 @@ }, "id": 1103, "nodeType": "ExpressionStatement", - "src": "18980:39:0" + "src": "18982:39:0" }, { "expression": { @@ -15268,7 +15268,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1075, - "src": "19122:9:0", + "src": "19124:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -15286,7 +15286,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "19134:1:0", + "src": "19136:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -15294,7 +15294,7 @@ }, "value": "0" }, - "src": "19122:13:0", + "src": "19124:13:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -15320,7 +15320,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1075, - "src": "19139:9:0", + "src": "19141:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -15338,7 +15338,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "19152:1:0", + "src": "19154:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_3_by_1", @@ -15346,13 +15346,13 @@ }, "value": "3" }, - "src": "19139:14:0", + "src": "19141:14:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "19122:31:0", + "src": "19124:31:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -15368,7 +15368,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "19168:63:0", + "src": "19170:63:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_351c1d5dfdc4a2b4c61d6f4dbb41a0d2ae70a9c094d3c0add87af24b5dd19c13", @@ -15396,7 +15396,7 @@ 1401 ], "referencedDeclaration": 1401, - "src": "19101:7:0", + "src": "19103:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -15410,7 +15410,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "19101:140:0", + "src": "19103:140:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -15418,7 +15418,7 @@ }, "id": 1114, "nodeType": "ExpressionStatement", - "src": "19101:140:0" + "src": "19103:140:0" }, { "expression": { @@ -15453,7 +15453,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1075, - "src": "19522:9:0", + "src": "19524:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -15471,7 +15471,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "19535:1:0", + "src": "19537:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -15479,7 +15479,7 @@ }, "value": "1" }, - "src": "19522:14:0", + "src": "19524:14:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -15505,7 +15505,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1073, - "src": "19540:9:0", + "src": "19542:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15526,7 +15526,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "19561:1:0", + "src": "19563:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -15548,7 +15548,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "19553:7:0", + "src": "19555:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" @@ -15563,19 +15563,19 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "19553:10:0", + "src": "19555:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "19540:23:0", + "src": "19542:23:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "19522:41:0", + "src": "19524:41:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -15591,7 +15591,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "19577:74:0", + "src": "19579:74:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_2056db168725d2fabb8aaf14efad7a3fc12ef6bc7132f0596ea09b041b71cb25", @@ -15619,7 +15619,7 @@ 1401 ], "referencedDeclaration": 1401, - "src": "19501:7:0", + "src": "19503:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -15633,7 +15633,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "19501:160:0", + "src": "19503:160:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -15641,7 +15641,7 @@ }, "id": 1127, "nodeType": "ExpressionStatement", - "src": "19501:160:0" + "src": "19503:160:0" }, { "expression": { @@ -15665,7 +15665,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1079, - "src": "19693:10:0", + "src": "19695:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -15683,7 +15683,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1083, - "src": "19750:8:0", + "src": "19752:8:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -15696,7 +15696,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1075, - "src": "19776:9:0", + "src": "19778:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -15709,7 +15709,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1077, - "src": "19803:12:0", + "src": "19805:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -15722,7 +15722,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1069, - "src": "19833:5:0", + "src": "19835:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15735,7 +15735,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1071, - "src": "19856:6:0", + "src": "19858:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15748,7 +15748,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1073, - "src": "19880:9:0", + "src": "19882:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15761,7 +15761,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1087, - "src": "19907:12:0", + "src": "19909:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15804,7 +15804,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 642, - "src": "19707:25:0", + "src": "19709:25:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_bytes20_$_t_uint8_$_t_uint32_$_t_address_$_t_address_$_t_address_$_t_address_$returns$_t_bytes32_$", "typeString": "function (bytes20,uint8,uint32,address,address,address,address) view returns (bytes32)" @@ -15818,13 +15818,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "19707:226:0", + "src": "19709:226:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "src": "19693:240:0", + "src": "19695:240:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -15840,7 +15840,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "19948:59:0", + "src": "19950:59:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_0c041e0c58e6b0e01d338d852a5abb639065eabeb0aee05e0ce3e5f0e52b4f51", @@ -15868,7 +15868,7 @@ 1401 ], "referencedDeclaration": 1401, - "src": "19672:7:0", + "src": "19674:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -15882,7 +15882,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "19672:345:0", + "src": "19674:345:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -15890,7 +15890,7 @@ }, "id": 1142, "nodeType": "ExpressionStatement", - "src": "19672:345:0" + "src": "19674:345:0" }, { "expression": { @@ -15909,7 +15909,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "20028:12:0", + "src": "20030:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -15923,7 +15923,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1079, - "src": "20041:10:0", + "src": "20043:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -15934,7 +15934,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "20028:24:0", + "src": "20030:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -15952,7 +15952,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1069, - "src": "20088:5:0", + "src": "20090:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15965,7 +15965,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1071, - "src": "20115:6:0", + "src": "20117:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15978,7 +15978,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1073, - "src": "20146:9:0", + "src": "20148:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15991,7 +15991,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1081, - "src": "20176:5:0", + "src": "20178:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -16006,7 +16006,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9, - "src": "20203:6:0", + "src": "20205:6:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_Status_$9_$", "typeString": "type(enum Escrow_v1_0.Status)" @@ -16020,7 +16020,7 @@ "memberName": "FUNDED", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "20203:13:0", + "src": "20205:13:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$9", "typeString": "enum Escrow_v1_0.Status" @@ -16035,7 +16035,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1387, - "src": "20244:5:0", + "src": "20246:5:0", "typeDescriptions": { "typeIdentifier": "t_magic_block", "typeString": "block" @@ -16049,7 +16049,7 @@ "memberName": "timestamp", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "20244:15:0", + "src": "20246:15:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -16062,7 +16062,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1075, - "src": "20284:9:0", + "src": "20286:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -16075,7 +16075,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1077, - "src": "20321:12:0", + "src": "20323:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -16088,7 +16088,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1085, - "src": "20363:15:0", + "src": "20365:15:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -16101,7 +16101,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1087, - "src": "20405:12:0", + "src": "20407:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -16115,7 +16115,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 71, - "src": "20055:11:0", + "src": "20057:11:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_struct$_Transaction_$71_storage_ptr_$", "typeString": "type(struct Escrow_v1_0.Transaction storage pointer)" @@ -16140,13 +16140,13 @@ "tokenAddress" ], "nodeType": "FunctionCall", - "src": "20055:373:0", + "src": "20057:373:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_memory", "typeString": "struct Escrow_v1_0.Transaction memory" } }, - "src": "20028:400:0", + "src": "20030:400:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -16154,7 +16154,7 @@ }, "id": 1161, "nodeType": "ExpressionStatement", - "src": "20028:400:0" + "src": "20030:400:0" }, { "expression": { @@ -16177,7 +16177,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "20439:12:0", + "src": "20441:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -16191,7 +16191,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1079, - "src": "20452:10:0", + "src": "20454:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -16202,7 +16202,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20439:24:0", + "src": "20441:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -16216,7 +16216,7 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "20439:32:0", + "src": "20441:32:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -16230,7 +16230,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1071, - "src": "20472:6:0", + "src": "20474:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -16241,7 +16241,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "20439:40:0", + "src": "20441:40:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -16259,7 +16259,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "20482:4:0", + "src": "20484:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -16267,7 +16267,7 @@ }, "value": "true" }, - "src": "20439:47:0", + "src": "20441:47:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -16275,7 +16275,7 @@ }, "id": 1170, "nodeType": "ExpressionStatement", - "src": "20439:47:0" + "src": "20441:47:0" }, { "expression": { @@ -16298,7 +16298,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "20496:12:0", + "src": "20498:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -16312,7 +16312,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1079, - "src": "20509:10:0", + "src": "20511:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -16323,7 +16323,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20496:24:0", + "src": "20498:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -16337,7 +16337,7 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "20496:32:0", + "src": "20498:32:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -16351,7 +16351,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1069, - "src": "20529:5:0", + "src": "20531:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -16362,7 +16362,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "20496:39:0", + "src": "20498:39:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -16380,7 +16380,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "20538:4:0", + "src": "20540:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -16388,7 +16388,7 @@ }, "value": "true" }, - "src": "20496:46:0", + "src": "20498:46:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -16396,7 +16396,7 @@ }, "id": 1179, "nodeType": "ExpressionStatement", - "src": "20496:46:0" + "src": "20498:46:0" }, { "expression": { @@ -16412,7 +16412,7 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "20649:44:0", + "src": "20651:44:0", "subExpression": { "argumentTypes": null, "baseExpression": { @@ -16426,7 +16426,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "20650:12:0", + "src": "20652:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -16440,7 +16440,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1079, - "src": "20663:10:0", + "src": "20665:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -16451,7 +16451,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20650:24:0", + "src": "20652:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -16465,7 +16465,7 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "20650:32:0", + "src": "20652:32:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -16479,7 +16479,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1073, - "src": "20683:9:0", + "src": "20685:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -16490,7 +16490,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20650:43:0", + "src": "20652:43:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -16511,7 +16511,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "20708:47:0", + "src": "20710:47:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_313b391557427937e7bdb85c7561d47c5b9c985755a448dd33a92026ffb38f8d", @@ -16539,7 +16539,7 @@ 1401 ], "referencedDeclaration": 1401, - "src": "20628:7:0", + "src": "20630:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -16553,7 +16553,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "20628:137:0", + "src": "20630:137:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -16561,7 +16561,7 @@ }, "id": 1190, "nodeType": "ExpressionStatement", - "src": "20628:137:0" + "src": "20630:137:0" }, { "condition": { @@ -16582,7 +16582,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1075, - "src": "20925:9:0", + "src": "20927:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -16600,7 +16600,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "20937:1:0", + "src": "20939:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -16608,7 +16608,7 @@ }, "value": "1" }, - "src": "20925:13:0", + "src": "20927:13:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -16617,11 +16617,11 @@ "falseBody": null, "id": 1204, "nodeType": "IfStatement", - "src": "20921:94:0", + "src": "20923:94:0", "trueBody": { "id": 1203, "nodeType": "Block", - "src": "20940:75:0", + "src": "20942:75:0", "statements": [ { "expression": { @@ -16644,7 +16644,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "20954:12:0", + "src": "20956:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -16658,7 +16658,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1079, - "src": "20967:10:0", + "src": "20969:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -16669,7 +16669,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20954:24:0", + "src": "20956:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -16683,7 +16683,7 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "20954:32:0", + "src": "20956:32:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -16697,7 +16697,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1073, - "src": "20987:9:0", + "src": "20989:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -16708,7 +16708,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "20954:43:0", + "src": "20956:43:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -16726,7 +16726,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "21000:4:0", + "src": "21002:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -16734,7 +16734,7 @@ }, "value": "true" }, - "src": "20954:50:0", + "src": "20956:50:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -16742,7 +16742,7 @@ }, "id": 1202, "nodeType": "ExpressionStatement", - "src": "20954:50:0" + "src": "20956:50:0" } ] } @@ -16758,7 +16758,7 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "21033:18:0", + "src": "21035:18:0", "subExpression": { "argumentTypes": null, "id": 1205, @@ -16766,7 +16766,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 78, - "src": "21033:16:0", + "src": "21035:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -16779,7 +16779,7 @@ }, "id": 1207, "nodeType": "ExpressionStatement", - "src": "21033:18:0" + "src": "21035:18:0" }, { "expression": { @@ -16792,7 +16792,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1079, - "src": "21093:10:0", + "src": "21095:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -16815,7 +16815,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 83, - "src": "21062:18:0", + "src": "21064:18:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_bytes32_$dyn_storage_$", "typeString": "mapping(address => bytes32[] storage ref)" @@ -16829,7 +16829,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1069, - "src": "21081:5:0", + "src": "21083:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -16840,7 +16840,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "21062:25:0", + "src": "21064:25:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage", "typeString": "bytes32[] storage ref" @@ -16854,7 +16854,7 @@ "memberName": "push", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "21062:30:0", + "src": "21064:30:0", "typeDescriptions": { "typeIdentifier": "t_function_arraypush_nonpayable$_t_bytes32_$returns$_t_uint256_$", "typeString": "function (bytes32) returns (uint256)" @@ -16868,7 +16868,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "21062:42:0", + "src": "21064:42:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -16876,7 +16876,7 @@ }, "id": 1214, "nodeType": "ExpressionStatement", - "src": "21062:42:0" + "src": "21064:42:0" }, { "expression": { @@ -16889,7 +16889,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1079, - "src": "21146:10:0", + "src": "21148:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -16912,7 +16912,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 83, - "src": "21114:18:0", + "src": "21116:18:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_bytes32_$dyn_storage_$", "typeString": "mapping(address => bytes32[] storage ref)" @@ -16926,7 +16926,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1071, - "src": "21133:6:0", + "src": "21135:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -16937,7 +16937,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "21114:26:0", + "src": "21116:26:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage", "typeString": "bytes32[] storage ref" @@ -16951,7 +16951,7 @@ "memberName": "push", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "21114:31:0", + "src": "21116:31:0", "typeDescriptions": { "typeIdentifier": "t_function_arraypush_nonpayable$_t_bytes32_$returns$_t_uint256_$", "typeString": "function (bytes32) returns (uint256)" @@ -16965,7 +16965,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "21114:43:0", + "src": "21116:43:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -16973,7 +16973,7 @@ }, "id": 1221, "nodeType": "ExpressionStatement", - "src": "21114:43:0" + "src": "21116:43:0" } ] }, @@ -16995,7 +16995,7 @@ "name": "buyer", "nodeType": "VariableDeclaration", "scope": 1223, - "src": "18557:13:0", + "src": "18559:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -17006,7 +17006,7 @@ "id": 1068, "name": "address", "nodeType": "ElementaryTypeName", - "src": "18557:7:0", + "src": "18559:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -17021,7 +17021,7 @@ "name": "seller", "nodeType": "VariableDeclaration", "scope": 1223, - "src": "18580:14:0", + "src": "18582:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -17032,7 +17032,7 @@ "id": 1070, "name": "address", "nodeType": "ElementaryTypeName", - "src": "18580:7:0", + "src": "18582:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -17047,7 +17047,7 @@ "name": "moderator", "nodeType": "VariableDeclaration", "scope": 1223, - "src": "18604:17:0", + "src": "18606:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -17058,7 +17058,7 @@ "id": 1072, "name": "address", "nodeType": "ElementaryTypeName", - "src": "18604:7:0", + "src": "18606:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -17073,7 +17073,7 @@ "name": "threshold", "nodeType": "VariableDeclaration", "scope": 1223, - "src": "18631:15:0", + "src": "18633:15:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -17084,7 +17084,7 @@ "id": 1074, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "18631:5:0", + "src": "18633:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -17099,7 +17099,7 @@ "name": "timeoutHours", "nodeType": "VariableDeclaration", "scope": 1223, - "src": "18656:19:0", + "src": "18658:19:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -17110,7 +17110,7 @@ "id": 1076, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "18656:6:0", + "src": "18658:6:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -17125,7 +17125,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 1223, - "src": "18685:18:0", + "src": "18687:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -17136,7 +17136,7 @@ "id": 1078, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "18685:7:0", + "src": "18687:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -17151,7 +17151,7 @@ "name": "value", "nodeType": "VariableDeclaration", "scope": 1223, - "src": "18713:13:0", + "src": "18715:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -17162,7 +17162,7 @@ "id": 1080, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "18713:7:0", + "src": "18715:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -17177,7 +17177,7 @@ "name": "uniqueId", "nodeType": "VariableDeclaration", "scope": 1223, - "src": "18736:16:0", + "src": "18738:16:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -17188,7 +17188,7 @@ "id": 1082, "name": "bytes20", "nodeType": "ElementaryTypeName", - "src": "18736:7:0", + "src": "18738:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -17203,7 +17203,7 @@ "name": "transactionType", "nodeType": "VariableDeclaration", "scope": 1223, - "src": "18762:31:0", + "src": "18764:31:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -17216,7 +17216,7 @@ "name": "TransactionType", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 12, - "src": "18762:15:0", + "src": "18764:15:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -17231,7 +17231,7 @@ "name": "tokenAddress", "nodeType": "VariableDeclaration", "scope": 1223, - "src": "18803:20:0", + "src": "18805:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -17242,7 +17242,7 @@ "id": 1086, "name": "address", "nodeType": "ElementaryTypeName", - "src": "18803:7:0", + "src": "18805:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -17252,27 +17252,27 @@ "visibility": "internal" } ], - "src": "18547:282:0" + "src": "18549:282:0" }, "payable": false, "returnParameters": { "id": 1089, "nodeType": "ParameterList", "parameters": [], - "src": "18850:0:0" + "src": "18852:0:0" }, "scope": 1224, - "src": "18523:2641:0", + "src": "18525:2641:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "private" } ], "scope": 1225, - "src": "605:20561:0" + "src": "605:20563:0" } ], - "src": "0:21167:0" + "src": "0:21169:0" }, "legacyAST": { "absolutePath": "/home/sameep/freelancing-projects/toptal/open baazar/publicRepo/smart-contracts/contracts/escrow/Escrow_v1_0.sol", @@ -17768,7 +17768,7 @@ "name": "status", "nodeType": "VariableDeclaration", "scope": 71, - "src": "1230:13:0", + "src": "1232:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -17781,7 +17781,7 @@ "name": "Status", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 9, - "src": "1230:6:0", + "src": "1232:6:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$9", "typeString": "enum Escrow_v1_0.Status" @@ -17796,7 +17796,7 @@ "name": "transactionType", "nodeType": "VariableDeclaration", "scope": 71, - "src": "1253:31:0", + "src": "1255:31:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -17809,7 +17809,7 @@ "name": "TransactionType", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 12, - "src": "1253:15:0", + "src": "1255:15:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -17824,7 +17824,7 @@ "name": "threshold", "nodeType": "VariableDeclaration", "scope": 71, - "src": "1294:15:0", + "src": "1296:15:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -17835,7 +17835,7 @@ "id": 47, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "1294:5:0", + "src": "1296:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -17850,7 +17850,7 @@ "name": "timeoutHours", "nodeType": "VariableDeclaration", "scope": 71, - "src": "1319:19:0", + "src": "1321:19:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -17861,7 +17861,7 @@ "id": 49, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "1319:6:0", + "src": "1321:6:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -17876,7 +17876,7 @@ "name": "buyer", "nodeType": "VariableDeclaration", "scope": 71, - "src": "1348:13:0", + "src": "1350:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -17887,7 +17887,7 @@ "id": 51, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1348:7:0", + "src": "1350:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -17902,7 +17902,7 @@ "name": "seller", "nodeType": "VariableDeclaration", "scope": 71, - "src": "1371:14:0", + "src": "1373:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -17913,7 +17913,7 @@ "id": 53, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1371:7:0", + "src": "1373:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -17928,7 +17928,7 @@ "name": "tokenAddress", "nodeType": "VariableDeclaration", "scope": 71, - "src": "1395:20:0", + "src": "1397:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -17939,7 +17939,7 @@ "id": 55, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1395:7:0", + "src": "1397:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -17954,7 +17954,7 @@ "name": "moderator", "nodeType": "VariableDeclaration", "scope": 71, - "src": "1466:17:0", + "src": "1468:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -17965,7 +17965,7 @@ "id": 57, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1466:7:0", + "src": "1468:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -17980,7 +17980,7 @@ "name": "isOwner", "nodeType": "VariableDeclaration", "scope": 71, - "src": "1493:30:0", + "src": "1495:30:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -17993,14 +17993,14 @@ "id": 59, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1501:7:0", + "src": "1503:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "Mapping", - "src": "1493:22:0", + "src": "1495:22:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -18009,7 +18009,7 @@ "id": 60, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "1510:4:0", + "src": "1512:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -18025,7 +18025,7 @@ "name": "voted", "nodeType": "VariableDeclaration", "scope": 71, - "src": "1559:28:0", + "src": "1561:28:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -18038,14 +18038,14 @@ "id": 63, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1567:7:0", + "src": "1569:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "Mapping", - "src": "1559:22:0", + "src": "1561:22:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -18054,7 +18054,7 @@ "id": 64, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "1576:4:0", + "src": "1578:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -18070,7 +18070,7 @@ "name": "beneficiaries", "nodeType": "VariableDeclaration", "scope": 71, - "src": "1629:36:0", + "src": "1631:36:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -18083,14 +18083,14 @@ "id": 67, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1637:7:0", + "src": "1639:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "Mapping", - "src": "1629:22:0", + "src": "1631:22:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -18099,7 +18099,7 @@ "id": 68, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "1646:4:0", + "src": "1648:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -18113,7 +18113,7 @@ "name": "Transaction", "nodeType": "StructDefinition", "scope": 1224, - "src": "1103:597:0", + "src": "1103:599:0", "visibility": "public" }, { @@ -18122,7 +18122,7 @@ "name": "transactions", "nodeType": "VariableDeclaration", "scope": 1224, - "src": "1706:51:0", + "src": "1708:51:0", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -18135,14 +18135,14 @@ "id": 72, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "1714:7:0", + "src": "1716:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "nodeType": "Mapping", - "src": "1706:31:0", + "src": "1708:31:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction)" @@ -18153,7 +18153,7 @@ "name": "Transaction", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 71, - "src": "1725:11:0", + "src": "1727:11:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction" @@ -18169,7 +18169,7 @@ "name": "transactionCount", "nodeType": "VariableDeclaration", "scope": 1224, - "src": "1764:35:0", + "src": "1766:35:0", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -18180,7 +18180,7 @@ "id": 76, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1764:7:0", + "src": "1766:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -18196,7 +18196,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1798:1:0", + "src": "1800:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -18212,7 +18212,7 @@ "name": "partyVsTransaction", "nodeType": "VariableDeclaration", "scope": 1224, - "src": "1878:56:0", + "src": "1880:56:0", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -18225,14 +18225,14 @@ "id": 79, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1886:7:0", + "src": "1888:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "Mapping", - "src": "1878:29:0", + "src": "1880:29:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_bytes32_$dyn_storage_$", "typeString": "mapping(address => bytes32[])" @@ -18242,7 +18242,7 @@ "id": 80, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "1897:7:0", + "src": "1899:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -18251,7 +18251,7 @@ "id": 81, "length": null, "nodeType": "ArrayTypeName", - "src": "1897:9:0", + "src": "1899:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -18265,7 +18265,7 @@ "body": { "id": 98, "nodeType": "Block", - "src": "1987:124:0", + "src": "1989:124:0", "statements": [ { "expression": { @@ -18293,7 +18293,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "2018:12:0", + "src": "2020:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -18307,7 +18307,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 85, - "src": "2031:10:0", + "src": "2033:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -18318,7 +18318,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "2018:24:0", + "src": "2020:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -18332,7 +18332,7 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": 40, - "src": "2018:30:0", + "src": "2020:30:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -18350,7 +18350,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2052:1:0", + "src": "2054:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -18358,7 +18358,7 @@ }, "value": "0" }, - "src": "2018:35:0", + "src": "2020:35:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -18374,7 +18374,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "2055:28:0", + "src": "2057:28:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_cb323e46bbcca91e157c2b50ad4ce2acbe1153338b838c84372d5723b8995ef0", @@ -18402,7 +18402,7 @@ 1401 ], "referencedDeclaration": 1401, - "src": "1997:7:0", + "src": "1999:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -18416,7 +18416,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1997:96:0", + "src": "1999:96:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -18424,12 +18424,12 @@ }, "id": 96, "nodeType": "ExpressionStatement", - "src": "1997:96:0" + "src": "1999:96:0" }, { "id": 97, "nodeType": "PlaceholderStatement", - "src": "2103:1:0" + "src": "2105:1:0" } ] }, @@ -18447,7 +18447,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 99, - "src": "1967:18:0", + "src": "1969:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -18458,7 +18458,7 @@ "id": 84, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "1967:7:0", + "src": "1969:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -18468,16 +18468,16 @@ "visibility": "internal" } ], - "src": "1966:20:0" + "src": "1968:20:0" }, - "src": "1941:170:0", + "src": "1943:170:0", "visibility": "internal" }, { "body": { "id": 114, "nodeType": "Block", - "src": "2170:93:0", + "src": "2172:93:0", "statements": [ { "expression": { @@ -18505,7 +18505,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "2188:12:0", + "src": "2190:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -18519,7 +18519,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 101, - "src": "2201:10:0", + "src": "2203:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -18530,7 +18530,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "2188:24:0", + "src": "2190:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -18544,7 +18544,7 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": 40, - "src": "2188:30:0", + "src": "2190:30:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -18562,7 +18562,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2222:1:0", + "src": "2224:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -18570,7 +18570,7 @@ }, "value": "0" }, - "src": "2188:35:0", + "src": "2190:35:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -18586,7 +18586,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "2225:19:0", + "src": "2227:19:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_4f41f109da323167d042f4559ebd6e2dc42fdbc2be1a2cea9ff6130572900782", @@ -18614,7 +18614,7 @@ 1401 ], "referencedDeclaration": 1401, - "src": "2180:7:0", + "src": "2182:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -18628,7 +18628,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2180:65:0", + "src": "2182:65:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -18636,12 +18636,12 @@ }, "id": 112, "nodeType": "ExpressionStatement", - "src": "2180:65:0" + "src": "2182:65:0" }, { "id": 113, "nodeType": "PlaceholderStatement", - "src": "2255:1:0" + "src": "2257:1:0" } ] }, @@ -18659,7 +18659,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 115, - "src": "2150:18:0", + "src": "2152:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -18670,7 +18670,7 @@ "id": 100, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "2150:7:0", + "src": "2152:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -18680,16 +18680,16 @@ "visibility": "internal" } ], - "src": "2149:20:0" + "src": "2151:20:0" }, - "src": "2117:146:0", + "src": "2119:146:0", "visibility": "internal" }, { "body": { "id": 131, "nodeType": "Block", - "src": "2312:145:0", + "src": "2314:145:0", "statements": [ { "expression": { @@ -18717,7 +18717,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "2343:12:0", + "src": "2345:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -18731,7 +18731,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 117, - "src": "2356:10:0", + "src": "2358:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -18742,7 +18742,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "2343:24:0", + "src": "2345:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -18756,7 +18756,7 @@ "memberName": "status", "nodeType": "MemberAccess", "referencedDeclaration": 44, - "src": "2343:31:0", + "src": "2345:31:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$9", "typeString": "enum Escrow_v1_0.Status" @@ -18773,7 +18773,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9, - "src": "2378:6:0", + "src": "2380:6:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_Status_$9_$", "typeString": "type(enum Escrow_v1_0.Status)" @@ -18787,13 +18787,13 @@ "memberName": "FUNDED", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "2378:13:0", + "src": "2380:13:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$9", "typeString": "enum Escrow_v1_0.Status" } }, - "src": "2343:48:0", + "src": "2345:48:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -18809,7 +18809,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "2393:36:0", + "src": "2395:36:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_5244efce1630cfae7257c0817c921ae75135c1043344a4cf9a1988c03337f39d", @@ -18837,7 +18837,7 @@ 1401 ], "referencedDeclaration": 1401, - "src": "2322:7:0", + "src": "2324:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -18851,7 +18851,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2322:117:0", + "src": "2324:117:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -18859,12 +18859,12 @@ }, "id": 129, "nodeType": "ExpressionStatement", - "src": "2322:117:0" + "src": "2324:117:0" }, { "id": 130, "nodeType": "PlaceholderStatement", - "src": "2449:1:0" + "src": "2451:1:0" } ] }, @@ -18882,7 +18882,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 132, - "src": "2292:18:0", + "src": "2294:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -18893,7 +18893,7 @@ "id": 116, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "2292:7:0", + "src": "2294:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -18903,16 +18903,16 @@ "visibility": "internal" } ], - "src": "2291:20:0" + "src": "2293:20:0" }, - "src": "2269:188:0", + "src": "2271:188:0", "visibility": "internal" }, { "body": { "id": 146, "nodeType": "Block", - "src": "2511:88:0", + "src": "2513:88:0", "statements": [ { "expression": { @@ -18936,7 +18936,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 134, - "src": "2529:14:0", + "src": "2531:14:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -18957,7 +18957,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2555:1:0", + "src": "2557:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -18979,7 +18979,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "2547:7:0", + "src": "2549:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" @@ -18994,13 +18994,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2547:10:0", + "src": "2549:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "2529:28:0", + "src": "2531:28:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -19016,7 +19016,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "2559:21:0", + "src": "2561:21:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_93e85f37f73cf8e1b855512ab7e00aab2b791117712ecb476daeb6c2c0a27a67", @@ -19044,7 +19044,7 @@ 1401 ], "referencedDeclaration": 1401, - "src": "2521:7:0", + "src": "2523:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -19058,7 +19058,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2521:60:0", + "src": "2523:60:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -19066,12 +19066,12 @@ }, "id": 144, "nodeType": "ExpressionStatement", - "src": "2521:60:0" + "src": "2523:60:0" }, { "id": 145, "nodeType": "PlaceholderStatement", - "src": "2591:1:0" + "src": "2593:1:0" } ] }, @@ -19089,7 +19089,7 @@ "name": "addressToCheck", "nodeType": "VariableDeclaration", "scope": 147, - "src": "2487:22:0", + "src": "2489:22:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -19100,7 +19100,7 @@ "id": 133, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2487:7:0", + "src": "2489:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -19110,16 +19110,16 @@ "visibility": "internal" } ], - "src": "2486:24:0" + "src": "2488:24:0" }, - "src": "2463:136:0", + "src": "2465:136:0", "visibility": "internal" }, { "body": { "id": 164, "nodeType": "Block", - "src": "2714:153:0", + "src": "2716:153:0", "statements": [ { "expression": { @@ -19147,7 +19147,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "2745:12:0", + "src": "2747:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -19161,7 +19161,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 149, - "src": "2758:10:0", + "src": "2760:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -19172,7 +19172,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "2745:24:0", + "src": "2747:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -19186,7 +19186,7 @@ "memberName": "transactionType", "nodeType": "MemberAccess", "referencedDeclaration": 46, - "src": "2745:40:0", + "src": "2747:40:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -19201,13 +19201,13 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 151, - "src": "2789:15:0", + "src": "2791:15:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" } }, - "src": "2745:59:0", + "src": "2747:59:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -19223,7 +19223,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "2806:33:0", + "src": "2808:33:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_c798eb33a8bd5d4c22212d5c8611219bb87da2d82aefe8e88b1f970a0f133cc3", @@ -19251,7 +19251,7 @@ 1401 ], "referencedDeclaration": 1401, - "src": "2724:7:0", + "src": "2726:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -19265,7 +19265,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2724:125:0", + "src": "2726:125:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -19273,12 +19273,12 @@ }, "id": 162, "nodeType": "ExpressionStatement", - "src": "2724:125:0" + "src": "2726:125:0" }, { "id": 163, "nodeType": "PlaceholderStatement", - "src": "2859:1:0" + "src": "2861:1:0" } ] }, @@ -19296,7 +19296,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 165, - "src": "2644:18:0", + "src": "2646:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -19307,7 +19307,7 @@ "id": 148, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "2644:7:0", + "src": "2646:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -19322,7 +19322,7 @@ "name": "transactionType", "nodeType": "VariableDeclaration", "scope": 165, - "src": "2672:31:0", + "src": "2674:31:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -19335,7 +19335,7 @@ "name": "TransactionType", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 12, - "src": "2672:15:0", + "src": "2674:15:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -19345,16 +19345,16 @@ "visibility": "internal" } ], - "src": "2634:75:0" + "src": "2636:75:0" }, - "src": "2605:262:0", + "src": "2607:262:0", "visibility": "internal" }, { "body": { "id": 181, "nodeType": "Block", - "src": "2912:152:0", + "src": "2914:152:0", "statements": [ { "expression": { @@ -19380,7 +19380,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1397, - "src": "2943:3:0", + "src": "2945:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -19394,7 +19394,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "2943:10:0", + "src": "2945:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -19413,7 +19413,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "2957:12:0", + "src": "2959:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -19427,7 +19427,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 167, - "src": "2970:10:0", + "src": "2972:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -19438,7 +19438,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "2957:24:0", + "src": "2959:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -19452,13 +19452,13 @@ "memberName": "buyer", "nodeType": "MemberAccess", "referencedDeclaration": 52, - "src": "2957:30:0", + "src": "2959:30:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "2943:44:0", + "src": "2945:44:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -19474,7 +19474,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "2989:47:0", + "src": "2991:47:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_b4fc72d2373e6fc668b2bc10a6c84713d84de5f4dc58bb69053e1a18ae67c2f9", @@ -19502,7 +19502,7 @@ 1401 ], "referencedDeclaration": 1401, - "src": "2922:7:0", + "src": "2924:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -19516,7 +19516,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2922:124:0", + "src": "2924:124:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -19524,12 +19524,12 @@ }, "id": 179, "nodeType": "ExpressionStatement", - "src": "2922:124:0" + "src": "2924:124:0" }, { "id": 180, "nodeType": "PlaceholderStatement", - "src": "3056:1:0" + "src": "3058:1:0" } ] }, @@ -19547,7 +19547,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 182, - "src": "2892:18:0", + "src": "2894:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -19558,7 +19558,7 @@ "id": 166, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "2892:7:0", + "src": "2894:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -19568,16 +19568,16 @@ "visibility": "internal" } ], - "src": "2891:20:0" + "src": "2893:20:0" }, - "src": "2873:191:0", + "src": "2875:191:0", "visibility": "internal" }, { "body": { "id": 233, "nodeType": "Block", - "src": "4213:347:0", + "src": "4215:347:0", "statements": [ { "expression": { @@ -19590,7 +19590,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 184, - "src": "4252:5:0", + "src": "4254:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -19603,7 +19603,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 186, - "src": "4271:6:0", + "src": "4273:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -19616,7 +19616,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 188, - "src": "4291:9:0", + "src": "4293:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -19629,7 +19629,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 190, - "src": "4314:9:0", + "src": "4316:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -19642,7 +19642,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 192, - "src": "4337:12:0", + "src": "4339:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -19655,7 +19655,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 194, - "src": "4363:10:0", + "src": "4365:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -19670,7 +19670,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1397, - "src": "4387:3:0", + "src": "4389:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -19684,7 +19684,7 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "4387:9:0", + "src": "4389:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -19697,7 +19697,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 196, - "src": "4410:8:0", + "src": "4412:8:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -19712,7 +19712,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12, - "src": "4432:15:0", + "src": "4434:15:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_TransactionType_$12_$", "typeString": "type(enum Escrow_v1_0.TransactionType)" @@ -19726,7 +19726,7 @@ "memberName": "ETHER", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "4432:21:0", + "src": "4434:21:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -19745,7 +19745,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "4475:1:0", + "src": "4477:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -19767,7 +19767,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "4467:7:0", + "src": "4469:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" @@ -19782,7 +19782,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4467:10:0", + "src": "4469:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -19837,7 +19837,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1223, - "src": "4223:15:0", + "src": "4225:15:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_address_$_t_uint8_$_t_uint32_$_t_bytes32_$_t_uint256_$_t_bytes20_$_t_enum$_TransactionType_$12_$_t_address_$returns$__$", "typeString": "function (address,address,address,uint8,uint32,bytes32,uint256,bytes20,enum Escrow_v1_0.TransactionType,address)" @@ -19851,7 +19851,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4223:264:0", + "src": "4225:264:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -19859,7 +19859,7 @@ }, "id": 224, "nodeType": "ExpressionStatement", - "src": "4223:264:0" + "src": "4225:264:0" }, { "eventCall": { @@ -19872,7 +19872,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 194, - "src": "4518:10:0", + "src": "4520:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -19887,7 +19887,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1397, - "src": "4530:3:0", + "src": "4532:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -19901,7 +19901,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "4530:10:0", + "src": "4532:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -19916,7 +19916,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1397, - "src": "4542:3:0", + "src": "4544:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -19930,7 +19930,7 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "4542:9:0", + "src": "4544:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -19957,7 +19957,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 38, - "src": "4511:6:0", + "src": "4513:6:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (bytes32,address,uint256)" @@ -19971,7 +19971,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4511:41:0", + "src": "4513:41:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -19979,7 +19979,7 @@ }, "id": 232, "nodeType": "EmitStatement", - "src": "4506:46:0" + "src": "4508:46:0" } ] }, @@ -19998,7 +19998,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 194, - "src": "4136:10:0", + "src": "4138:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -20013,14 +20013,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 115, - "src": "4112:23:0", + "src": "4114:23:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "4112:35:0" + "src": "4114:35:0" }, { "arguments": [ @@ -20031,7 +20031,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 184, - "src": "4171:5:0", + "src": "4173:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -20046,14 +20046,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 147, - "src": "4156:14:0", + "src": "4158:14:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_address_$", "typeString": "modifier (address)" } }, "nodeType": "ModifierInvocation", - "src": "4156:21:0" + "src": "4158:21:0" }, { "arguments": [ @@ -20064,7 +20064,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 186, - "src": "4201:6:0", + "src": "4203:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -20079,14 +20079,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 147, - "src": "4186:14:0", + "src": "4188:14:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_address_$", "typeString": "modifier (address)" } }, "nodeType": "ModifierInvocation", - "src": "4186:22:0" + "src": "4188:22:0" } ], "name": "addTransaction", @@ -20101,7 +20101,7 @@ "name": "buyer", "nodeType": "VariableDeclaration", "scope": 234, - "src": "3892:13:0", + "src": "3894:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -20112,7 +20112,7 @@ "id": 183, "name": "address", "nodeType": "ElementaryTypeName", - "src": "3892:7:0", + "src": "3894:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -20127,7 +20127,7 @@ "name": "seller", "nodeType": "VariableDeclaration", "scope": 234, - "src": "3915:14:0", + "src": "3917:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -20138,7 +20138,7 @@ "id": 185, "name": "address", "nodeType": "ElementaryTypeName", - "src": "3915:7:0", + "src": "3917:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -20153,7 +20153,7 @@ "name": "moderator", "nodeType": "VariableDeclaration", "scope": 234, - "src": "3939:17:0", + "src": "3941:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -20164,7 +20164,7 @@ "id": 187, "name": "address", "nodeType": "ElementaryTypeName", - "src": "3939:7:0", + "src": "3941:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -20179,7 +20179,7 @@ "name": "threshold", "nodeType": "VariableDeclaration", "scope": 234, - "src": "3966:15:0", + "src": "3968:15:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -20190,7 +20190,7 @@ "id": 189, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "3966:5:0", + "src": "3968:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -20205,7 +20205,7 @@ "name": "timeoutHours", "nodeType": "VariableDeclaration", "scope": 234, - "src": "3991:19:0", + "src": "3993:19:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -20216,7 +20216,7 @@ "id": 191, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "3991:6:0", + "src": "3993:6:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -20231,7 +20231,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 234, - "src": "4020:18:0", + "src": "4022:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -20242,7 +20242,7 @@ "id": 193, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "4020:7:0", + "src": "4022:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -20257,7 +20257,7 @@ "name": "uniqueId", "nodeType": "VariableDeclaration", "scope": 234, - "src": "4048:16:0", + "src": "4050:16:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -20268,7 +20268,7 @@ "id": 195, "name": "bytes20", "nodeType": "ElementaryTypeName", - "src": "4048:7:0", + "src": "4050:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -20278,17 +20278,17 @@ "visibility": "internal" } ], - "src": "3882:188:0" + "src": "3884:188:0" }, "payable": true, "returnParameters": { "id": 207, "nodeType": "ParameterList", "parameters": [], - "src": "4213:0:0" + "src": "4215:0:0" }, "scope": 1224, - "src": "3859:701:0", + "src": "3861:701:0", "stateMutability": "payable", "superFunction": null, "visibility": "external" @@ -20297,7 +20297,7 @@ "body": { "id": 307, "nodeType": "Block", - "src": "5941:597:0", + "src": "5943:597:0", "statements": [ { "expression": { @@ -20310,7 +20310,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 236, - "src": "5981:5:0", + "src": "5983:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -20323,7 +20323,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 238, - "src": "6000:6:0", + "src": "6002:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -20336,7 +20336,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 240, - "src": "6020:9:0", + "src": "6022:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -20349,7 +20349,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 242, - "src": "6043:9:0", + "src": "6045:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -20362,7 +20362,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 244, - "src": "6066:12:0", + "src": "6068:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -20375,7 +20375,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 246, - "src": "6092:10:0", + "src": "6094:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -20388,7 +20388,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 248, - "src": "6116:5:0", + "src": "6118:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -20401,7 +20401,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 250, - "src": "6135:8:0", + "src": "6137:8:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -20416,7 +20416,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12, - "src": "6157:15:0", + "src": "6159:15:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_TransactionType_$12_$", "typeString": "type(enum Escrow_v1_0.TransactionType)" @@ -20430,7 +20430,7 @@ "memberName": "TOKEN", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "6157:21:0", + "src": "6159:21:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -20443,7 +20443,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 252, - "src": "6192:12:0", + "src": "6194:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -20498,7 +20498,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1223, - "src": "5952:15:0", + "src": "5954:15:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_address_$_t_uint8_$_t_uint32_$_t_bytes32_$_t_uint256_$_t_bytes20_$_t_enum$_TransactionType_$12_$_t_address_$returns$__$", "typeString": "function (address,address,address,uint8,uint32,bytes32,uint256,bytes20,enum Escrow_v1_0.TransactionType,address)" @@ -20512,7 +20512,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5952:262:0", + "src": "5954:262:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -20520,7 +20520,7 @@ }, "id": 280, "nodeType": "ExpressionStatement", - "src": "5952:262:0" + "src": "5954:262:0" }, { "assignments": [ @@ -20533,7 +20533,7 @@ "name": "token", "nodeType": "VariableDeclaration", "scope": 308, - "src": "6225:20:0", + "src": "6227:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -20546,7 +20546,7 @@ "name": "ITokenContract", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 1254, - "src": "6225:14:0", + "src": "6227:14:0", "typeDescriptions": { "typeIdentifier": "t_contract$_ITokenContract_$1254", "typeString": "contract ITokenContract" @@ -20567,7 +20567,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 252, - "src": "6263:12:0", + "src": "6265:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -20586,7 +20586,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1254, - "src": "6248:14:0", + "src": "6250:14:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_ITokenContract_$1254_$", "typeString": "type(contract ITokenContract)" @@ -20600,14 +20600,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6248:28:0", + "src": "6250:28:0", "typeDescriptions": { "typeIdentifier": "t_contract$_ITokenContract_$1254", "typeString": "contract ITokenContract" } }, "nodeType": "VariableDeclarationStatement", - "src": "6225:51:0" + "src": "6227:51:0" }, { "expression": { @@ -20625,7 +20625,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1397, - "src": "6327:3:0", + "src": "6329:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -20639,7 +20639,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "6327:10:0", + "src": "6329:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -20655,7 +20655,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1414, - "src": "6347:4:0", + "src": "6349:4:0", "typeDescriptions": { "typeIdentifier": "t_contract$_Escrow_v1_0_$1224", "typeString": "contract Escrow_v1_0" @@ -20675,7 +20675,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "6339:7:0", + "src": "6341:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" @@ -20690,7 +20690,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6339:13:0", + "src": "6341:13:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -20703,7 +20703,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 248, - "src": "6354:5:0", + "src": "6356:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -20732,7 +20732,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 282, - "src": "6308:5:0", + "src": "6310:5:0", "typeDescriptions": { "typeIdentifier": "t_contract$_ITokenContract_$1254", "typeString": "contract ITokenContract" @@ -20746,7 +20746,7 @@ "memberName": "transferFrom", "nodeType": "MemberAccess", "referencedDeclaration": 1253, - "src": "6308:18:0", + "src": "6310:18:0", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", "typeString": "function (address,address,uint256) external returns (bool)" @@ -20760,7 +20760,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6308:52:0", + "src": "6310:52:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -20776,7 +20776,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "6374:95:0", + "src": "6376:95:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_d81b627ac67759234197a5bdf4d9f7d33298e824ce7bd47e08ce9919cd96c696", @@ -20804,7 +20804,7 @@ 1401 ], "referencedDeclaration": 1401, - "src": "6287:7:0", + "src": "6289:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -20818,7 +20818,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6287:192:0", + "src": "6289:192:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -20826,7 +20826,7 @@ }, "id": 299, "nodeType": "ExpressionStatement", - "src": "6287:192:0" + "src": "6289:192:0" }, { "eventCall": { @@ -20839,7 +20839,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 246, - "src": "6501:10:0", + "src": "6503:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -20854,7 +20854,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1397, - "src": "6513:3:0", + "src": "6515:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -20868,7 +20868,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "6513:10:0", + "src": "6515:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -20881,7 +20881,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 248, - "src": "6525:5:0", + "src": "6527:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -20908,7 +20908,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 38, - "src": "6494:6:0", + "src": "6496:6:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (bytes32,address,uint256)" @@ -20922,7 +20922,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6494:37:0", + "src": "6496:37:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -20930,7 +20930,7 @@ }, "id": 306, "nodeType": "EmitStatement", - "src": "6489:42:0" + "src": "6491:42:0" } ] }, @@ -20949,7 +20949,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 246, - "src": "5827:10:0", + "src": "5829:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -20964,14 +20964,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 115, - "src": "5803:23:0", + "src": "5805:23:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "5803:35:0" + "src": "5805:35:0" }, { "arguments": [ @@ -20982,7 +20982,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 236, - "src": "5862:5:0", + "src": "5864:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -20997,14 +20997,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 147, - "src": "5847:14:0", + "src": "5849:14:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_address_$", "typeString": "modifier (address)" } }, "nodeType": "ModifierInvocation", - "src": "5847:21:0" + "src": "5849:21:0" }, { "arguments": [ @@ -21015,7 +21015,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 238, - "src": "5892:6:0", + "src": "5894:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -21030,14 +21030,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 147, - "src": "5877:14:0", + "src": "5879:14:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_address_$", "typeString": "modifier (address)" } }, "nodeType": "ModifierInvocation", - "src": "5877:22:0" + "src": "5879:22:0" }, { "arguments": [ @@ -21048,7 +21048,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 252, - "src": "5923:12:0", + "src": "5925:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -21063,14 +21063,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 147, - "src": "5908:14:0", + "src": "5910:14:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_address_$", "typeString": "modifier (address)" } }, "nodeType": "ModifierInvocation", - "src": "5908:28:0" + "src": "5910:28:0" } ], "name": "addTokenTransaction", @@ -21085,7 +21085,7 @@ "name": "buyer", "nodeType": "VariableDeclaration", "scope": 308, - "src": "5546:13:0", + "src": "5548:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -21096,7 +21096,7 @@ "id": 235, "name": "address", "nodeType": "ElementaryTypeName", - "src": "5546:7:0", + "src": "5548:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -21111,7 +21111,7 @@ "name": "seller", "nodeType": "VariableDeclaration", "scope": 308, - "src": "5569:14:0", + "src": "5571:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -21122,7 +21122,7 @@ "id": 237, "name": "address", "nodeType": "ElementaryTypeName", - "src": "5569:7:0", + "src": "5571:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -21137,7 +21137,7 @@ "name": "moderator", "nodeType": "VariableDeclaration", "scope": 308, - "src": "5593:17:0", + "src": "5595:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -21148,7 +21148,7 @@ "id": 239, "name": "address", "nodeType": "ElementaryTypeName", - "src": "5593:7:0", + "src": "5595:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -21163,7 +21163,7 @@ "name": "threshold", "nodeType": "VariableDeclaration", "scope": 308, - "src": "5620:15:0", + "src": "5622:15:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -21174,7 +21174,7 @@ "id": 241, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "5620:5:0", + "src": "5622:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -21189,7 +21189,7 @@ "name": "timeoutHours", "nodeType": "VariableDeclaration", "scope": 308, - "src": "5645:19:0", + "src": "5647:19:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -21200,7 +21200,7 @@ "id": 243, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "5645:6:0", + "src": "5647:6:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -21215,7 +21215,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 308, - "src": "5674:18:0", + "src": "5676:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -21226,7 +21226,7 @@ "id": 245, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "5674:7:0", + "src": "5676:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -21241,7 +21241,7 @@ "name": "value", "nodeType": "VariableDeclaration", "scope": 308, - "src": "5702:13:0", + "src": "5704:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -21252,7 +21252,7 @@ "id": 247, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "5702:7:0", + "src": "5704:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -21267,7 +21267,7 @@ "name": "uniqueId", "nodeType": "VariableDeclaration", "scope": 308, - "src": "5725:16:0", + "src": "5727:16:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -21278,7 +21278,7 @@ "id": 249, "name": "bytes20", "nodeType": "ElementaryTypeName", - "src": "5725:7:0", + "src": "5727:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -21293,7 +21293,7 @@ "name": "tokenAddress", "nodeType": "VariableDeclaration", "scope": 308, - "src": "5751:20:0", + "src": "5753:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -21304,7 +21304,7 @@ "id": 251, "name": "address", "nodeType": "ElementaryTypeName", - "src": "5751:7:0", + "src": "5753:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -21314,17 +21314,17 @@ "visibility": "internal" } ], - "src": "5536:241:0" + "src": "5538:241:0" }, "payable": false, "returnParameters": { "id": 266, "nodeType": "ParameterList", "parameters": [], - "src": "5941:0:0" + "src": "5943:0:0" }, "scope": 1224, - "src": "5508:1030:0", + "src": "5510:1030:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" @@ -21333,7 +21333,7 @@ "body": { "id": 324, "nodeType": "Block", - "src": "6925:75:0", + "src": "6927:75:0", "statements": [ { "expression": { @@ -21349,7 +21349,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "6942:12:0", + "src": "6944:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -21363,7 +21363,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 310, - "src": "6955:10:0", + "src": "6957:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -21374,7 +21374,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "6942:24:0", + "src": "6944:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -21388,7 +21388,7 @@ "memberName": "beneficiaries", "nodeType": "MemberAccess", "referencedDeclaration": 70, - "src": "6942:38:0", + "src": "6944:38:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -21402,7 +21402,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 312, - "src": "6981:11:0", + "src": "6983:11:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -21413,7 +21413,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "6942:51:0", + "src": "6944:51:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -21422,7 +21422,7 @@ "functionReturnParameters": 316, "id": 323, "nodeType": "Return", - "src": "6935:58:0" + "src": "6937:58:0" } ] }, @@ -21444,7 +21444,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 325, - "src": "6814:18:0", + "src": "6816:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -21455,7 +21455,7 @@ "id": 309, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "6814:7:0", + "src": "6816:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -21470,7 +21470,7 @@ "name": "beneficiary", "nodeType": "VariableDeclaration", "scope": 325, - "src": "6842:19:0", + "src": "6844:19:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -21481,7 +21481,7 @@ "id": 311, "name": "address", "nodeType": "ElementaryTypeName", - "src": "6842:7:0", + "src": "6844:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -21491,7 +21491,7 @@ "visibility": "internal" } ], - "src": "6804:63:0" + "src": "6806:63:0" }, "payable": false, "returnParameters": { @@ -21504,7 +21504,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 325, - "src": "6915:4:0", + "src": "6917:4:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -21515,7 +21515,7 @@ "id": 314, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "6915:4:0", + "src": "6917:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -21525,10 +21525,10 @@ "visibility": "internal" } ], - "src": "6914:6:0" + "src": "6916:6:0" }, "scope": 1224, - "src": "6779:221:0", + "src": "6781:221:0", "stateMutability": "view", "superFunction": null, "visibility": "external" @@ -21537,7 +21537,7 @@ "body": { "id": 341, "nodeType": "Block", - "src": "7373:61:0", + "src": "7375:61:0", "statements": [ { "expression": { @@ -21553,7 +21553,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "7390:12:0", + "src": "7392:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -21567,7 +21567,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 327, - "src": "7403:10:0", + "src": "7405:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -21578,7 +21578,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "7390:24:0", + "src": "7392:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -21592,7 +21592,7 @@ "memberName": "voted", "nodeType": "MemberAccess", "referencedDeclaration": 66, - "src": "7390:30:0", + "src": "7392:30:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -21606,7 +21606,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 329, - "src": "7421:5:0", + "src": "7423:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -21617,7 +21617,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "7390:37:0", + "src": "7392:37:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -21626,7 +21626,7 @@ "functionReturnParameters": 333, "id": 340, "nodeType": "Return", - "src": "7383:44:0" + "src": "7385:44:0" } ] }, @@ -21648,7 +21648,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 342, - "src": "7268:18:0", + "src": "7270:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -21659,7 +21659,7 @@ "id": 326, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "7268:7:0", + "src": "7270:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -21674,7 +21674,7 @@ "name": "party", "nodeType": "VariableDeclaration", "scope": 342, - "src": "7296:13:0", + "src": "7298:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -21685,7 +21685,7 @@ "id": 328, "name": "address", "nodeType": "ElementaryTypeName", - "src": "7296:7:0", + "src": "7298:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -21695,7 +21695,7 @@ "visibility": "internal" } ], - "src": "7258:57:0" + "src": "7260:57:0" }, "payable": false, "returnParameters": { @@ -21708,7 +21708,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 342, - "src": "7363:4:0", + "src": "7365:4:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -21719,7 +21719,7 @@ "id": 331, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "7363:4:0", + "src": "7365:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -21729,10 +21729,10 @@ "visibility": "internal" } ], - "src": "7362:6:0" + "src": "7364:6:0" }, "scope": 1224, - "src": "7240:194:0", + "src": "7242:194:0", "stateMutability": "view", "superFunction": null, "visibility": "external" @@ -21741,7 +21741,7 @@ "body": { "id": 399, "nodeType": "Block", - "src": "8037:303:0", + "src": "8039:303:0", "statements": [ { "expression": { @@ -21767,7 +21767,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1397, - "src": "8056:3:0", + "src": "8058:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -21781,7 +21781,7 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "8056:9:0", + "src": "8058:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -21799,7 +21799,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "8068:1:0", + "src": "8070:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -21807,7 +21807,7 @@ }, "value": "0" }, - "src": "8056:13:0", + "src": "8058:13:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -21823,7 +21823,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "8071:34:0", + "src": "8073:34:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_21fbec2be6560b9ccffc4980d43c0d147770168e7aaf24999b418b9010085622", @@ -21851,7 +21851,7 @@ 1401 ], "referencedDeclaration": 1401, - "src": "8048:7:0", + "src": "8050:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -21865,7 +21865,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8048:58:0", + "src": "8050:58:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -21873,7 +21873,7 @@ }, "id": 368, "nodeType": "ExpressionStatement", - "src": "8048:58:0" + "src": "8050:58:0" }, { "expression": { @@ -21894,7 +21894,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "8117:12:0", + "src": "8119:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -21908,7 +21908,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 344, - "src": "8130:10:0", + "src": "8132:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -21919,7 +21919,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "8117:24:0", + "src": "8119:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -21933,7 +21933,7 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": 40, - "src": "8117:30:0", + "src": "8119:30:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -21953,7 +21953,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1397, - "src": "8198:3:0", + "src": "8200:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -21967,7 +21967,7 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "8198:9:0", + "src": "8200:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -21992,7 +21992,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "8150:12:0", + "src": "8152:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -22006,7 +22006,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 344, - "src": "8163:10:0", + "src": "8165:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -22017,7 +22017,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "8150:24:0", + "src": "8152:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -22031,7 +22031,7 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": 40, - "src": "8150:30:0", + "src": "8152:30:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -22045,7 +22045,7 @@ "memberName": "add", "nodeType": "MemberAccess", "referencedDeclaration": 1361, - "src": "8150:47:0", + "src": "8152:47:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" @@ -22059,13 +22059,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8150:58:0", + "src": "8152:58:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "8117:91:0", + "src": "8119:91:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -22073,7 +22073,7 @@ }, "id": 382, "nodeType": "ExpressionStatement", - "src": "8117:91:0" + "src": "8119:91:0" }, { "expression": { @@ -22094,7 +22094,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "8218:12:0", + "src": "8220:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -22108,7 +22108,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 344, - "src": "8231:10:0", + "src": "8233:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -22119,7 +22119,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "8218:24:0", + "src": "8220:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -22133,7 +22133,7 @@ "memberName": "lastModified", "nodeType": "MemberAccess", "referencedDeclaration": 42, - "src": "8218:37:0", + "src": "8220:37:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -22150,7 +22150,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1387, - "src": "8258:5:0", + "src": "8260:5:0", "typeDescriptions": { "typeIdentifier": "t_magic_block", "typeString": "block" @@ -22164,13 +22164,13 @@ "memberName": "timestamp", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "8258:15:0", + "src": "8260:15:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "8218:55:0", + "src": "8220:55:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -22178,7 +22178,7 @@ }, "id": 390, "nodeType": "ExpressionStatement", - "src": "8218:55:0" + "src": "8220:55:0" }, { "eventCall": { @@ -22191,7 +22191,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 344, - "src": "8299:10:0", + "src": "8301:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -22206,7 +22206,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1397, - "src": "8311:3:0", + "src": "8313:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -22220,7 +22220,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "8311:10:0", + "src": "8313:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -22235,7 +22235,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1397, - "src": "8323:3:0", + "src": "8325:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -22249,7 +22249,7 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "8323:9:0", + "src": "8325:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -22276,7 +22276,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 30, - "src": "8289:9:0", + "src": "8291:9:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (bytes32,address,uint256)" @@ -22290,7 +22290,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8289:44:0", + "src": "8291:44:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -22298,7 +22298,7 @@ }, "id": 398, "nodeType": "EmitStatement", - "src": "8284:49:0" + "src": "8286:49:0" } ] }, @@ -22317,7 +22317,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 344, - "src": "7884:10:0", + "src": "7886:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -22332,14 +22332,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 99, - "src": "7867:16:0", + "src": "7869:16:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "7867:28:0" + "src": "7869:28:0" }, { "arguments": [ @@ -22350,7 +22350,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 344, - "src": "7918:10:0", + "src": "7920:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -22365,14 +22365,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 132, - "src": "7904:13:0", + "src": "7906:13:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "7904:25:0" + "src": "7906:25:0" }, { "arguments": [ @@ -22383,7 +22383,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 344, - "src": "7959:10:0", + "src": "7961:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -22398,7 +22398,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12, - "src": "7971:15:0", + "src": "7973:15:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_TransactionType_$12_$", "typeString": "type(enum Escrow_v1_0.TransactionType)" @@ -22412,7 +22412,7 @@ "memberName": "ETHER", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "7971:21:0", + "src": "7973:21:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -22427,14 +22427,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 165, - "src": "7938:20:0", + "src": "7940:20:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$_t_enum$_TransactionType_$12_$", "typeString": "modifier (bytes32,enum Escrow_v1_0.TransactionType)" } }, "nodeType": "ModifierInvocation", - "src": "7938:55:0" + "src": "7940:55:0" }, { "arguments": [ @@ -22445,7 +22445,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 344, - "src": "8012:10:0", + "src": "8014:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -22460,14 +22460,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 182, - "src": "8002:9:0", + "src": "8004:9:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "8002:21:0" + "src": "8004:21:0" } ], "name": "addFundsToTransaction", @@ -22482,7 +22482,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 400, - "src": "7801:18:0", + "src": "7803:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -22493,7 +22493,7 @@ "id": 343, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "7801:7:0", + "src": "7803:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -22503,17 +22503,17 @@ "visibility": "internal" } ], - "src": "7791:34:0" + "src": "7793:34:0" }, "payable": true, "returnParameters": { "id": 360, "nodeType": "ParameterList", "parameters": [], - "src": "8037:0:0" + "src": "8039:0:0" }, "scope": 1224, - "src": "7761:579:0", + "src": "7763:579:0", "stateMutability": "payable", "superFunction": null, "visibility": "external" @@ -22522,7 +22522,7 @@ "body": { "id": 480, "nodeType": "Block", - "src": "8943:622:0", + "src": "8945:622:0", "statements": [ { "expression": { @@ -22546,7 +22546,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 404, - "src": "8962:5:0", + "src": "8964:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -22564,7 +22564,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "8970:1:0", + "src": "8972:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -22572,7 +22572,7 @@ }, "value": "0" }, - "src": "8962:9:0", + "src": "8964:9:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -22588,7 +22588,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "8973:34:0", + "src": "8975:34:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_21fbec2be6560b9ccffc4980d43c0d147770168e7aaf24999b418b9010085622", @@ -22616,7 +22616,7 @@ 1401 ], "referencedDeclaration": 1401, - "src": "8954:7:0", + "src": "8956:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -22630,7 +22630,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8954:54:0", + "src": "8956:54:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -22638,7 +22638,7 @@ }, "id": 427, "nodeType": "ExpressionStatement", - "src": "8954:54:0" + "src": "8956:54:0" }, { "assignments": [ @@ -22651,7 +22651,7 @@ "name": "token", "nodeType": "VariableDeclaration", "scope": 481, - "src": "9019:20:0", + "src": "9021:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -22664,7 +22664,7 @@ "name": "ITokenContract", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 1254, - "src": "9019:14:0", + "src": "9021:14:0", "typeDescriptions": { "typeIdentifier": "t_contract$_ITokenContract_$1254", "typeString": "contract ITokenContract" @@ -22689,7 +22689,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "9070:12:0", + "src": "9072:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -22703,7 +22703,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 402, - "src": "9083:10:0", + "src": "9085:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -22714,7 +22714,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "9070:24:0", + "src": "9072:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -22728,7 +22728,7 @@ "memberName": "tokenAddress", "nodeType": "MemberAccess", "referencedDeclaration": 56, - "src": "9070:37:0", + "src": "9072:37:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -22747,7 +22747,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1254, - "src": "9042:14:0", + "src": "9044:14:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_ITokenContract_$1254_$", "typeString": "type(contract ITokenContract)" @@ -22761,14 +22761,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "9042:75:0", + "src": "9044:75:0", "typeDescriptions": { "typeIdentifier": "t_contract$_ITokenContract_$1254", "typeString": "contract ITokenContract" } }, "nodeType": "VariableDeclarationStatement", - "src": "9019:98:0" + "src": "9021:98:0" }, { "expression": { @@ -22788,7 +22788,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "9168:12:0", + "src": "9170:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -22802,7 +22802,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 402, - "src": "9181:10:0", + "src": "9183:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -22813,7 +22813,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "9168:24:0", + "src": "9170:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -22827,7 +22827,7 @@ "memberName": "buyer", "nodeType": "MemberAccess", "referencedDeclaration": 52, - "src": "9168:30:0", + "src": "9170:30:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -22843,7 +22843,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1414, - "src": "9208:4:0", + "src": "9210:4:0", "typeDescriptions": { "typeIdentifier": "t_contract$_Escrow_v1_0_$1224", "typeString": "contract Escrow_v1_0" @@ -22863,7 +22863,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "9200:7:0", + "src": "9202:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" @@ -22878,7 +22878,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "9200:13:0", + "src": "9202:13:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -22891,7 +22891,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 404, - "src": "9215:5:0", + "src": "9217:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -22920,7 +22920,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 429, - "src": "9149:5:0", + "src": "9151:5:0", "typeDescriptions": { "typeIdentifier": "t_contract$_ITokenContract_$1254", "typeString": "contract ITokenContract" @@ -22934,7 +22934,7 @@ "memberName": "transferFrom", "nodeType": "MemberAccess", "referencedDeclaration": 1253, - "src": "9149:18:0", + "src": "9151:18:0", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", "typeString": "function (address,address,uint256) external returns (bool)" @@ -22948,7 +22948,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "9149:72:0", + "src": "9151:72:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -22964,7 +22964,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "9235:94:0", + "src": "9237:94:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_d9d07068d589bc4adc53018a3c57c159ec128fdfb62732a5fa9410e76cf03318", @@ -22992,7 +22992,7 @@ 1401 ], "referencedDeclaration": 1401, - "src": "9128:7:0", + "src": "9130:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -23006,7 +23006,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "9128:211:0", + "src": "9130:211:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -23014,7 +23014,7 @@ }, "id": 451, "nodeType": "ExpressionStatement", - "src": "9128:211:0" + "src": "9130:211:0" }, { "expression": { @@ -23035,7 +23035,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "9350:12:0", + "src": "9352:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -23049,7 +23049,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 402, - "src": "9363:10:0", + "src": "9365:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -23060,7 +23060,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "9350:24:0", + "src": "9352:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -23074,7 +23074,7 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": 40, - "src": "9350:30:0", + "src": "9352:30:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -23092,7 +23092,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 404, - "src": "9431:5:0", + "src": "9433:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -23117,7 +23117,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "9383:12:0", + "src": "9385:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -23131,7 +23131,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 402, - "src": "9396:10:0", + "src": "9398:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -23142,7 +23142,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "9383:24:0", + "src": "9385:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -23156,7 +23156,7 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": 40, - "src": "9383:30:0", + "src": "9385:30:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -23170,7 +23170,7 @@ "memberName": "add", "nodeType": "MemberAccess", "referencedDeclaration": 1361, - "src": "9383:47:0", + "src": "9385:47:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" @@ -23184,13 +23184,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "9383:54:0", + "src": "9385:54:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "9350:87:0", + "src": "9352:87:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -23198,7 +23198,7 @@ }, "id": 464, "nodeType": "ExpressionStatement", - "src": "9350:87:0" + "src": "9352:87:0" }, { "expression": { @@ -23219,7 +23219,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "9447:12:0", + "src": "9449:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -23233,7 +23233,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 402, - "src": "9460:10:0", + "src": "9462:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -23244,7 +23244,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "9447:24:0", + "src": "9449:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -23258,7 +23258,7 @@ "memberName": "lastModified", "nodeType": "MemberAccess", "referencedDeclaration": 42, - "src": "9447:37:0", + "src": "9449:37:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -23275,7 +23275,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1387, - "src": "9487:5:0", + "src": "9489:5:0", "typeDescriptions": { "typeIdentifier": "t_magic_block", "typeString": "block" @@ -23289,13 +23289,13 @@ "memberName": "timestamp", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "9487:15:0", + "src": "9489:15:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "9447:55:0", + "src": "9449:55:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -23303,7 +23303,7 @@ }, "id": 472, "nodeType": "ExpressionStatement", - "src": "9447:55:0" + "src": "9449:55:0" }, { "eventCall": { @@ -23316,7 +23316,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 402, - "src": "9528:10:0", + "src": "9530:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -23331,7 +23331,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1397, - "src": "9540:3:0", + "src": "9542:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -23345,7 +23345,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "9540:10:0", + "src": "9542:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -23358,7 +23358,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 404, - "src": "9552:5:0", + "src": "9554:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -23385,7 +23385,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 30, - "src": "9518:9:0", + "src": "9520:9:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (bytes32,address,uint256)" @@ -23399,7 +23399,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "9518:40:0", + "src": "9520:40:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -23407,7 +23407,7 @@ }, "id": 479, "nodeType": "EmitStatement", - "src": "9513:45:0" + "src": "9515:45:0" } ] }, @@ -23426,7 +23426,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 402, - "src": "8799:10:0", + "src": "8801:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -23441,14 +23441,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 99, - "src": "8782:16:0", + "src": "8784:16:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "8782:28:0" + "src": "8784:28:0" }, { "arguments": [ @@ -23459,7 +23459,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 402, - "src": "8833:10:0", + "src": "8835:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -23474,14 +23474,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 132, - "src": "8819:13:0", + "src": "8821:13:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "8819:25:0" + "src": "8821:25:0" }, { "arguments": [ @@ -23492,7 +23492,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 402, - "src": "8874:10:0", + "src": "8876:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -23507,7 +23507,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12, - "src": "8886:15:0", + "src": "8888:15:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_TransactionType_$12_$", "typeString": "type(enum Escrow_v1_0.TransactionType)" @@ -23521,7 +23521,7 @@ "memberName": "TOKEN", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "8886:21:0", + "src": "8888:21:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -23536,14 +23536,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 165, - "src": "8853:20:0", + "src": "8855:20:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$_t_enum$_TransactionType_$12_$", "typeString": "modifier (bytes32,enum Escrow_v1_0.TransactionType)" } }, "nodeType": "ModifierInvocation", - "src": "8853:55:0" + "src": "8855:55:0" }, { "arguments": [ @@ -23554,7 +23554,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 402, - "src": "8927:10:0", + "src": "8929:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -23569,14 +23569,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 182, - "src": "8917:9:0", + "src": "8919:9:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "8917:21:0" + "src": "8919:21:0" } ], "name": "addTokensToTransaction", @@ -23591,7 +23591,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 481, - "src": "8709:18:0", + "src": "8711:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -23602,7 +23602,7 @@ "id": 401, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "8709:7:0", + "src": "8711:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -23617,7 +23617,7 @@ "name": "value", "nodeType": "VariableDeclaration", "scope": 481, - "src": "8737:13:0", + "src": "8739:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -23628,7 +23628,7 @@ "id": 403, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "8737:7:0", + "src": "8739:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -23638,17 +23638,17 @@ "visibility": "internal" } ], - "src": "8699:57:0" + "src": "8701:57:0" }, "payable": false, "returnParameters": { "id": 420, "nodeType": "ParameterList", "parameters": [], - "src": "8943:0:0" + "src": "8945:0:0" }, "scope": 1224, - "src": "8668:897:0", + "src": "8670:897:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" @@ -23657,7 +23657,7 @@ "body": { "id": 493, "nodeType": "Block", - "src": "9820:56:0", + "src": "9822:56:0", "statements": [ { "expression": { @@ -23669,7 +23669,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 83, - "src": "9837:18:0", + "src": "9839:18:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_bytes32_$dyn_storage_$", "typeString": "mapping(address => bytes32[] storage ref)" @@ -23683,7 +23683,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 483, - "src": "9856:12:0", + "src": "9858:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -23694,7 +23694,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "9837:32:0", + "src": "9839:32:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage", "typeString": "bytes32[] storage ref" @@ -23703,7 +23703,7 @@ "functionReturnParameters": 488, "id": 492, "nodeType": "Return", - "src": "9830:39:0" + "src": "9832:39:0" } ] }, @@ -23725,7 +23725,7 @@ "name": "partyAddress", "nodeType": "VariableDeclaration", "scope": 494, - "src": "9727:20:0", + "src": "9729:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -23736,7 +23736,7 @@ "id": 482, "name": "address", "nodeType": "ElementaryTypeName", - "src": "9727:7:0", + "src": "9729:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -23746,7 +23746,7 @@ "visibility": "internal" } ], - "src": "9717:36:0" + "src": "9719:36:0" }, "payable": false, "returnParameters": { @@ -23759,7 +23759,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 494, - "src": "9804:9:0", + "src": "9806:9:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -23771,7 +23771,7 @@ "id": 485, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "9804:7:0", + "src": "9806:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -23780,7 +23780,7 @@ "id": 486, "length": null, "nodeType": "ArrayTypeName", - "src": "9804:9:0", + "src": "9806:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -23790,10 +23790,10 @@ "visibility": "internal" } ], - "src": "9803:11:0" + "src": "9805:11:0" }, "scope": 1224, - "src": "9682:194:0", + "src": "9684:194:0", "stateMutability": "view", "superFunction": null, "visibility": "external" @@ -23802,7 +23802,7 @@ "body": { "id": 582, "nodeType": "Block", - "src": "10746:932:0", + "src": "10748:932:0", "statements": [ { "expression": { @@ -23828,7 +23828,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 508, - "src": "10780:12:0", + "src": "10782:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" @@ -23842,7 +23842,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "10780:19:0", + "src": "10782:19:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -23860,7 +23860,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "10800:1:0", + "src": "10802:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -23868,7 +23868,7 @@ }, "value": "0" }, - "src": "10780:21:0", + "src": "10782:21:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -23884,7 +23884,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "10816:47:0", + "src": "10818:47:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_fbeb58246a6e3ff255a1d618f14d1cced67ffd4784fbc3e1cfbdf71d1f7fbdf9", @@ -23912,7 +23912,7 @@ 1401 ], "referencedDeclaration": 1401, - "src": "10759:7:0", + "src": "10761:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -23926,7 +23926,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "10759:114:0", + "src": "10761:114:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -23934,7 +23934,7 @@ }, "id": 527, "nodeType": "ExpressionStatement", - "src": "10759:114:0" + "src": "10761:114:0" }, { "expression": { @@ -23960,7 +23960,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 508, - "src": "10904:12:0", + "src": "10906:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" @@ -23974,7 +23974,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "10904:19:0", + "src": "10906:19:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -23991,7 +23991,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 511, - "src": "10927:7:0", + "src": "10929:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", "typeString": "uint256[] calldata" @@ -24005,13 +24005,13 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "10927:14:0", + "src": "10929:14:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "10904:37:0", + "src": "10906:37:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -24027,7 +24027,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "10955:57:0", + "src": "10957:57:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_e70a315a5939ff57e3400503291dbc0af19d18c32f15c80c7c6f5b7c54a6cd3c", @@ -24055,7 +24055,7 @@ 1401 ], "referencedDeclaration": 1401, - "src": "10883:7:0", + "src": "10885:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -24069,7 +24069,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "10883:139:0", + "src": "10885:139:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -24077,7 +24077,7 @@ }, "id": 536, "nodeType": "ExpressionStatement", - "src": "10883:139:0" + "src": "10885:139:0" }, { "expression": { @@ -24090,7 +24090,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 497, - "src": "11072:4:0", + "src": "11074:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_calldata_ptr", "typeString": "uint8[] calldata" @@ -24103,7 +24103,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 500, - "src": "11090:4:0", + "src": "11092:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", "typeString": "bytes32[] calldata" @@ -24116,7 +24116,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 503, - "src": "11108:4:0", + "src": "11110:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", "typeString": "bytes32[] calldata" @@ -24129,7 +24129,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 505, - "src": "11126:10:0", + "src": "11128:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -24142,7 +24142,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 508, - "src": "11150:12:0", + "src": "11152:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" @@ -24155,7 +24155,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 511, - "src": "11176:7:0", + "src": "11178:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", "typeString": "uint256[] calldata" @@ -24194,7 +24194,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 711, - "src": "11040:18:0", + "src": "11042:18:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_array$_t_uint8_$dyn_memory_ptr_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_bytes32_$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$__$", "typeString": "function (uint8[] memory,bytes32[] memory,bytes32[] memory,bytes32,address[] memory,uint256[] memory)" @@ -24208,7 +24208,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "11040:153:0", + "src": "11042:153:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -24216,7 +24216,7 @@ }, "id": 545, "nodeType": "ExpressionStatement", - "src": "11040:153:0" + "src": "11042:153:0" }, { "expression": { @@ -24237,7 +24237,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "11204:12:0", + "src": "11206:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -24251,7 +24251,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 505, - "src": "11217:10:0", + "src": "11219:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -24262,7 +24262,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "11204:24:0", + "src": "11206:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -24276,7 +24276,7 @@ "memberName": "status", "nodeType": "MemberAccess", "referencedDeclaration": 44, - "src": "11204:31:0", + "src": "11206:31:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$9", "typeString": "enum Escrow_v1_0.Status" @@ -24293,7 +24293,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9, - "src": "11238:6:0", + "src": "11240:6:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_Status_$9_$", "typeString": "type(enum Escrow_v1_0.Status)" @@ -24307,13 +24307,13 @@ "memberName": "RELEASED", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "11238:15:0", + "src": "11240:15:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$9", "typeString": "enum Escrow_v1_0.Status" } }, - "src": "11204:49:0", + "src": "11206:49:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$9", "typeString": "enum Escrow_v1_0.Status" @@ -24321,7 +24321,7 @@ }, "id": 553, "nodeType": "ExpressionStatement", - "src": "11204:49:0" + "src": "11206:49:0" }, { "expression": { @@ -24342,7 +24342,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "11337:12:0", + "src": "11339:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -24356,7 +24356,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 505, - "src": "11350:10:0", + "src": "11352:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -24367,7 +24367,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "11337:24:0", + "src": "11339:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -24381,7 +24381,7 @@ "memberName": "lastModified", "nodeType": "MemberAccess", "referencedDeclaration": 42, - "src": "11337:37:0", + "src": "11339:37:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -24398,7 +24398,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1387, - "src": "11377:5:0", + "src": "11379:5:0", "typeDescriptions": { "typeIdentifier": "t_magic_block", "typeString": "block" @@ -24412,13 +24412,13 @@ "memberName": "timestamp", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "11377:15:0", + "src": "11379:15:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "11337:55:0", + "src": "11339:55:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -24426,7 +24426,7 @@ }, "id": 561, "nodeType": "ExpressionStatement", - "src": "11337:55:0" + "src": "11339:55:0" }, { "expression": { @@ -24453,7 +24453,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 505, - "src": "11438:10:0", + "src": "11440:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -24466,7 +24466,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 508, - "src": "11450:12:0", + "src": "11452:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" @@ -24479,7 +24479,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 511, - "src": "11464:7:0", + "src": "11466:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", "typeString": "uint256[] calldata" @@ -24506,7 +24506,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 904, - "src": "11423:14:0", + "src": "11425:14:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$_t_uint256_$", "typeString": "function (bytes32,address[] memory,uint256[] memory) returns (uint256)" @@ -24520,7 +24520,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "11423:49:0", + "src": "11425:49:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -24539,7 +24539,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "11476:12:0", + "src": "11478:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -24553,7 +24553,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 505, - "src": "11489:10:0", + "src": "11491:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -24564,7 +24564,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "11476:24:0", + "src": "11478:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -24578,13 +24578,13 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": 40, - "src": "11476:30:0", + "src": "11478:30:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "11423:83:0", + "src": "11425:83:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -24600,7 +24600,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "11520:74:0", + "src": "11522:74:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_9e0bdb14e2e0d5e118fd1f547268c6a1fdb5e8facacd614066d4b60bc2c9941d", @@ -24628,7 +24628,7 @@ 1401 ], "referencedDeclaration": 1401, - "src": "11402:7:0", + "src": "11404:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -24642,7 +24642,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "11402:202:0", + "src": "11404:202:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -24650,7 +24650,7 @@ }, "id": 575, "nodeType": "ExpressionStatement", - "src": "11402:202:0" + "src": "11404:202:0" }, { "eventCall": { @@ -24663,7 +24663,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 505, - "src": "11637:10:0", + "src": "11639:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -24676,7 +24676,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 508, - "src": "11649:12:0", + "src": "11651:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" @@ -24689,7 +24689,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 511, - "src": "11663:7:0", + "src": "11665:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", "typeString": "uint256[] calldata" @@ -24716,7 +24716,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 22, - "src": "11628:8:0", + "src": "11630:8:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$__$", "typeString": "function (bytes32,address[] memory,uint256[] memory)" @@ -24730,7 +24730,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "11628:43:0", + "src": "11630:43:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -24738,7 +24738,7 @@ }, "id": 581, "nodeType": "EmitStatement", - "src": "11623:48:0" + "src": "11625:48:0" } ] }, @@ -24757,7 +24757,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 505, - "src": "10696:10:0", + "src": "10698:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -24772,14 +24772,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 99, - "src": "10679:16:0", + "src": "10681:16:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "10679:28:0" + "src": "10681:28:0" }, { "arguments": [ @@ -24790,7 +24790,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 505, - "src": "10730:10:0", + "src": "10732:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -24805,14 +24805,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 132, - "src": "10716:13:0", + "src": "10718:13:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "10716:25:0" + "src": "10718:25:0" } ], "name": "execute", @@ -24827,7 +24827,7 @@ "name": "sigV", "nodeType": "VariableDeclaration", "scope": 583, - "src": "10500:12:0", + "src": "10502:12:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -24839,7 +24839,7 @@ "id": 495, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "10500:5:0", + "src": "10502:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -24848,7 +24848,7 @@ "id": 496, "length": null, "nodeType": "ArrayTypeName", - "src": "10500:7:0", + "src": "10502:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_storage_ptr", "typeString": "uint8[]" @@ -24863,7 +24863,7 @@ "name": "sigR", "nodeType": "VariableDeclaration", "scope": 583, - "src": "10522:14:0", + "src": "10524:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -24875,7 +24875,7 @@ "id": 498, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "10522:7:0", + "src": "10524:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -24884,7 +24884,7 @@ "id": 499, "length": null, "nodeType": "ArrayTypeName", - "src": "10522:9:0", + "src": "10524:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -24899,7 +24899,7 @@ "name": "sigS", "nodeType": "VariableDeclaration", "scope": 583, - "src": "10546:14:0", + "src": "10548:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -24911,7 +24911,7 @@ "id": 501, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "10546:7:0", + "src": "10548:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -24920,7 +24920,7 @@ "id": 502, "length": null, "nodeType": "ArrayTypeName", - "src": "10546:9:0", + "src": "10548:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -24935,7 +24935,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 583, - "src": "10570:18:0", + "src": "10572:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -24946,7 +24946,7 @@ "id": 504, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "10570:7:0", + "src": "10572:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -24961,7 +24961,7 @@ "name": "destinations", "nodeType": "VariableDeclaration", "scope": 583, - "src": "10598:22:0", + "src": "10600:22:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -24973,7 +24973,7 @@ "id": 506, "name": "address", "nodeType": "ElementaryTypeName", - "src": "10598:7:0", + "src": "10600:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -24982,7 +24982,7 @@ "id": 507, "length": null, "nodeType": "ArrayTypeName", - "src": "10598:9:0", + "src": "10600:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", "typeString": "address[]" @@ -24997,7 +24997,7 @@ "name": "amounts", "nodeType": "VariableDeclaration", "scope": 583, - "src": "10630:17:0", + "src": "10632:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -25009,7 +25009,7 @@ "id": 509, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "10630:7:0", + "src": "10632:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -25018,7 +25018,7 @@ "id": 510, "length": null, "nodeType": "ArrayTypeName", - "src": "10630:9:0", + "src": "10632:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -25028,17 +25028,17 @@ "visibility": "internal" } ], - "src": "10490:163:0" + "src": "10492:163:0" }, "payable": false, "returnParameters": { "id": 519, "nodeType": "ParameterList", "parameters": [], - "src": "10746:0:0" + "src": "10748:0:0" }, "scope": 1224, - "src": "10474:1204:0", + "src": "10476:1204:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" @@ -25047,7 +25047,7 @@ "body": { "id": 641, "nodeType": "Block", - "src": "12482:734:0", + "src": "12484:734:0", "statements": [ { "condition": { @@ -25068,7 +25068,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 597, - "src": "12496:12:0", + "src": "12498:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -25089,7 +25089,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "12520:1:0", + "src": "12522:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -25111,7 +25111,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "12512:7:0", + "src": "12514:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" @@ -25126,13 +25126,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "12512:10:0", + "src": "12514:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "12496:26:0", + "src": "12498:26:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -25141,7 +25141,7 @@ "falseBody": { "id": 639, "nodeType": "Block", - "src": "12853:357:0", + "src": "12855:357:0", "statements": [ { "expression": { @@ -25157,7 +25157,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 585, - "src": "12939:8:0", + "src": "12941:8:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -25170,7 +25170,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 587, - "src": "12969:9:0", + "src": "12971:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -25183,7 +25183,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 589, - "src": "13000:12:0", + "src": "13002:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -25196,7 +25196,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 591, - "src": "13034:5:0", + "src": "13036:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -25209,7 +25209,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 593, - "src": "13061:6:0", + "src": "13063:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -25222,7 +25222,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 595, - "src": "13089:9:0", + "src": "13091:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -25238,7 +25238,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1414, - "src": "13128:4:0", + "src": "13130:4:0", "typeDescriptions": { "typeIdentifier": "t_contract$_Escrow_v1_0_$1224", "typeString": "contract Escrow_v1_0" @@ -25258,7 +25258,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "13120:7:0", + "src": "13122:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" @@ -25273,7 +25273,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "13120:13:0", + "src": "13122:13:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -25286,7 +25286,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 597, - "src": "13155:12:0", + "src": "13157:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -25335,7 +25335,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1384, - "src": "12901:3:0", + "src": "12903:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" @@ -25349,7 +25349,7 @@ "memberName": "encodePacked", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "12901:16:0", + "src": "12903:16:0", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" @@ -25363,7 +25363,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "12901:284:0", + "src": "12903:284:0", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -25382,7 +25382,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1391, - "src": "12874:9:0", + "src": "12876:9:0", "typeDescriptions": { "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", "typeString": "function () pure returns (bytes32)" @@ -25396,7 +25396,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "12874:325:0", + "src": "12876:325:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -25405,17 +25405,17 @@ "functionReturnParameters": 601, "id": 638, "nodeType": "Return", - "src": "12867:332:0" + "src": "12869:332:0" } ] }, "id": 640, "nodeType": "IfStatement", - "src": "12492:718:0", + "src": "12494:718:0", "trueBody": { "id": 622, "nodeType": "Block", - "src": "12524:323:0", + "src": "12526:323:0", "statements": [ { "expression": { @@ -25431,7 +25431,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 585, - "src": "12610:8:0", + "src": "12612:8:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -25444,7 +25444,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 587, - "src": "12640:9:0", + "src": "12642:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -25457,7 +25457,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 589, - "src": "12671:12:0", + "src": "12673:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -25470,7 +25470,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 591, - "src": "12705:5:0", + "src": "12707:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -25483,7 +25483,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 593, - "src": "12732:6:0", + "src": "12734:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -25496,7 +25496,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 595, - "src": "12760:9:0", + "src": "12762:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -25512,7 +25512,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1414, - "src": "12799:4:0", + "src": "12801:4:0", "typeDescriptions": { "typeIdentifier": "t_contract$_Escrow_v1_0_$1224", "typeString": "contract Escrow_v1_0" @@ -25532,7 +25532,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "12791:7:0", + "src": "12793:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" @@ -25547,7 +25547,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "12791:13:0", + "src": "12793:13:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -25592,7 +25592,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1384, - "src": "12572:3:0", + "src": "12574:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" @@ -25606,7 +25606,7 @@ "memberName": "encodePacked", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "12572:16:0", + "src": "12574:16:0", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" @@ -25620,7 +25620,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "12572:250:0", + "src": "12574:250:0", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -25639,7 +25639,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1391, - "src": "12545:9:0", + "src": "12547:9:0", "typeDescriptions": { "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", "typeString": "function () pure returns (bytes32)" @@ -25653,7 +25653,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "12545:291:0", + "src": "12547:291:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -25662,7 +25662,7 @@ "functionReturnParameters": 601, "id": 621, "nodeType": "Return", - "src": "12538:298:0" + "src": "12540:298:0" } ] } @@ -25687,7 +25687,7 @@ "name": "uniqueId", "nodeType": "VariableDeclaration", "scope": 642, - "src": "12243:16:0", + "src": "12245:16:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -25698,7 +25698,7 @@ "id": 584, "name": "bytes20", "nodeType": "ElementaryTypeName", - "src": "12243:7:0", + "src": "12245:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -25713,7 +25713,7 @@ "name": "threshold", "nodeType": "VariableDeclaration", "scope": 642, - "src": "12269:15:0", + "src": "12271:15:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -25724,7 +25724,7 @@ "id": 586, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "12269:5:0", + "src": "12271:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -25739,7 +25739,7 @@ "name": "timeoutHours", "nodeType": "VariableDeclaration", "scope": 642, - "src": "12294:19:0", + "src": "12296:19:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -25750,7 +25750,7 @@ "id": 588, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "12294:6:0", + "src": "12296:6:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -25765,7 +25765,7 @@ "name": "buyer", "nodeType": "VariableDeclaration", "scope": 642, - "src": "12323:13:0", + "src": "12325:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -25776,7 +25776,7 @@ "id": 590, "name": "address", "nodeType": "ElementaryTypeName", - "src": "12323:7:0", + "src": "12325:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -25791,7 +25791,7 @@ "name": "seller", "nodeType": "VariableDeclaration", "scope": 642, - "src": "12346:14:0", + "src": "12348:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -25802,7 +25802,7 @@ "id": 592, "name": "address", "nodeType": "ElementaryTypeName", - "src": "12346:7:0", + "src": "12348:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -25817,7 +25817,7 @@ "name": "moderator", "nodeType": "VariableDeclaration", "scope": 642, - "src": "12370:17:0", + "src": "12372:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -25828,7 +25828,7 @@ "id": 594, "name": "address", "nodeType": "ElementaryTypeName", - "src": "12370:7:0", + "src": "12372:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -25843,7 +25843,7 @@ "name": "tokenAddress", "nodeType": "VariableDeclaration", "scope": 642, - "src": "12397:20:0", + "src": "12399:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -25854,7 +25854,7 @@ "id": 596, "name": "address", "nodeType": "ElementaryTypeName", - "src": "12397:7:0", + "src": "12399:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -25864,7 +25864,7 @@ "visibility": "internal" } ], - "src": "12233:190:0" + "src": "12235:190:0" }, "payable": false, "returnParameters": { @@ -25877,7 +25877,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 642, - "src": "12469:7:0", + "src": "12471:7:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -25888,7 +25888,7 @@ "id": 599, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "12469:7:0", + "src": "12471:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -25898,10 +25898,10 @@ "visibility": "internal" } ], - "src": "12468:9:0" + "src": "12470:9:0" }, "scope": 1224, - "src": "12199:1017:0", + "src": "12201:1017:0", "stateMutability": "view", "superFunction": null, "visibility": "public" @@ -25910,7 +25910,7 @@ "body": { "id": 710, "nodeType": "Block", - "src": "13701:797:0", + "src": "13703:797:0", "statements": [ { "assignments": [ @@ -25923,7 +25923,7 @@ "name": "lastRecovered", "nodeType": "VariableDeclaration", "scope": 711, - "src": "13711:21:0", + "src": "13713:21:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -25934,7 +25934,7 @@ "id": 662, "name": "address", "nodeType": "ElementaryTypeName", - "src": "13711:7:0", + "src": "13713:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -25955,7 +25955,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 645, - "src": "13766:4:0", + "src": "13768:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr", "typeString": "uint8[] memory" @@ -25968,7 +25968,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 648, - "src": "13784:4:0", + "src": "13786:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" @@ -25981,7 +25981,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 651, - "src": "13802:4:0", + "src": "13804:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" @@ -25994,7 +25994,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 653, - "src": "13820:10:0", + "src": "13822:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -26007,7 +26007,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 656, - "src": "13844:12:0", + "src": "13846:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -26020,7 +26020,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 659, - "src": "13870:7:0", + "src": "13872:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" @@ -26059,7 +26059,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1035, - "src": "13735:17:0", + "src": "13737:17:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_array$_t_uint8_$dyn_memory_ptr_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_bytes32_$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$_t_address_$", "typeString": "function (uint8[] memory,bytes32[] memory,bytes32[] memory,bytes32,address[] memory,uint256[] memory) returns (address)" @@ -26073,14 +26073,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "13735:152:0", + "src": "13737:152:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "VariableDeclarationStatement", - "src": "13711:176:0" + "src": "13713:176:0" }, { "assignments": [ @@ -26093,7 +26093,7 @@ "name": "timeLockExpired", "nodeType": "VariableDeclaration", "scope": 711, - "src": "13898:20:0", + "src": "13900:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -26104,7 +26104,7 @@ "id": 673, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "13898:4:0", + "src": "13900:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -26129,7 +26129,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "13953:12:0", + "src": "13955:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -26143,7 +26143,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 653, - "src": "13966:10:0", + "src": "13968:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -26154,7 +26154,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "13953:24:0", + "src": "13955:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -26168,7 +26168,7 @@ "memberName": "timeoutHours", "nodeType": "MemberAccess", "referencedDeclaration": 50, - "src": "13953:37:0", + "src": "13955:37:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -26185,7 +26185,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "14004:12:0", + "src": "14006:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -26199,7 +26199,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 653, - "src": "14017:10:0", + "src": "14019:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -26210,7 +26210,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "14004:24:0", + "src": "14006:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -26224,7 +26224,7 @@ "memberName": "lastModified", "nodeType": "MemberAccess", "referencedDeclaration": 42, - "src": "14004:37:0", + "src": "14006:37:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -26247,7 +26247,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1067, - "src": "13921:18:0", + "src": "13923:18:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_uint32_$_t_uint256_$returns$_t_bool_$", "typeString": "function (uint32,uint256) view returns (bool)" @@ -26261,14 +26261,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "13921:130:0", + "src": "13923:130:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "nodeType": "VariableDeclarationStatement", - "src": "13898:153:0" + "src": "13900:153:0" }, { "condition": { @@ -26302,7 +26302,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 645, - "src": "14223:4:0", + "src": "14225:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr", "typeString": "uint8[] memory" @@ -26316,7 +26316,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "14223:11:0", + "src": "14225:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -26335,7 +26335,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "14237:12:0", + "src": "14239:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -26349,7 +26349,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 653, - "src": "14250:10:0", + "src": "14252:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -26360,7 +26360,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "14237:24:0", + "src": "14239:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -26374,13 +26374,13 @@ "memberName": "threshold", "nodeType": "MemberAccess", "referencedDeclaration": 48, - "src": "14237:34:0", + "src": "14239:34:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, - "src": "14223:48:0", + "src": "14225:48:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -26412,7 +26412,7 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "14276:16:0", + "src": "14278:16:0", "subExpression": { "argumentTypes": null, "id": 693, @@ -26420,7 +26420,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 674, - "src": "14277:15:0", + "src": "14279:15:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -26451,7 +26451,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 663, - "src": "14296:13:0", + "src": "14298:13:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -26470,7 +26470,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "14313:12:0", + "src": "14315:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -26484,7 +26484,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 653, - "src": "14326:10:0", + "src": "14328:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -26495,7 +26495,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "14313:24:0", + "src": "14315:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -26509,19 +26509,19 @@ "memberName": "seller", "nodeType": "MemberAccess", "referencedDeclaration": 54, - "src": "14313:31:0", + "src": "14315:31:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "14296:48:0", + "src": "14298:48:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "14276:68:0", + "src": "14278:68:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -26535,13 +26535,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "14275:70:0", + "src": "14277:70:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "14223:122:0", + "src": "14225:122:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -26550,11 +26550,11 @@ "falseBody": null, "id": 709, "nodeType": "IfStatement", - "src": "14202:289:0", + "src": "14204:289:0", "trueBody": { "id": 708, "nodeType": "Block", - "src": "14368:123:0", + "src": "14370:123:0", "statements": [ { "expression": { @@ -26570,7 +26570,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "14389:90:0", + "src": "14391:90:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_e454643f61f81e3a3dc8dabaafde295fea592e232abeb03abbb1835bdc3d20d0", @@ -26594,7 +26594,7 @@ 1403 ], "referencedDeclaration": 1403, - "src": "14382:6:0", + "src": "14384:6:0", "typeDescriptions": { "typeIdentifier": "t_function_revert_pure$_t_string_memory_ptr_$returns$__$", "typeString": "function (string memory) pure" @@ -26608,7 +26608,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "14382:98:0", + "src": "14384:98:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -26616,7 +26616,7 @@ }, "id": 707, "nodeType": "ExpressionStatement", - "src": "14382:98:0" + "src": "14384:98:0" } ] } @@ -26641,7 +26641,7 @@ "name": "sigV", "nodeType": "VariableDeclaration", "scope": 711, - "src": "13527:12:0", + "src": "13529:12:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -26653,7 +26653,7 @@ "id": 643, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "13527:5:0", + "src": "13529:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -26662,7 +26662,7 @@ "id": 644, "length": null, "nodeType": "ArrayTypeName", - "src": "13527:7:0", + "src": "13529:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_storage_ptr", "typeString": "uint8[]" @@ -26677,7 +26677,7 @@ "name": "sigR", "nodeType": "VariableDeclaration", "scope": 711, - "src": "13549:14:0", + "src": "13551:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -26689,7 +26689,7 @@ "id": 646, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "13549:7:0", + "src": "13551:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -26698,7 +26698,7 @@ "id": 647, "length": null, "nodeType": "ArrayTypeName", - "src": "13549:9:0", + "src": "13551:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -26713,7 +26713,7 @@ "name": "sigS", "nodeType": "VariableDeclaration", "scope": 711, - "src": "13573:14:0", + "src": "13575:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -26725,7 +26725,7 @@ "id": 649, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "13573:7:0", + "src": "13575:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -26734,7 +26734,7 @@ "id": 650, "length": null, "nodeType": "ArrayTypeName", - "src": "13573:9:0", + "src": "13575:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -26749,7 +26749,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 711, - "src": "13597:18:0", + "src": "13599:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -26760,7 +26760,7 @@ "id": 652, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "13597:7:0", + "src": "13599:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -26775,7 +26775,7 @@ "name": "destinations", "nodeType": "VariableDeclaration", "scope": 711, - "src": "13625:22:0", + "src": "13627:22:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -26787,7 +26787,7 @@ "id": 654, "name": "address", "nodeType": "ElementaryTypeName", - "src": "13625:7:0", + "src": "13627:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -26796,7 +26796,7 @@ "id": 655, "length": null, "nodeType": "ArrayTypeName", - "src": "13625:9:0", + "src": "13627:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", "typeString": "address[]" @@ -26811,7 +26811,7 @@ "name": "amounts", "nodeType": "VariableDeclaration", "scope": 711, - "src": "13657:17:0", + "src": "13659:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -26823,7 +26823,7 @@ "id": 657, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "13657:7:0", + "src": "13659:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -26832,7 +26832,7 @@ "id": 658, "length": null, "nodeType": "ArrayTypeName", - "src": "13657:9:0", + "src": "13659:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -26842,17 +26842,17 @@ "visibility": "internal" } ], - "src": "13517:163:0" + "src": "13519:163:0" }, "payable": false, "returnParameters": { "id": 661, "nodeType": "ParameterList", "parameters": [], - "src": "13701:0:0" + "src": "13703:0:0" }, "scope": 1224, - "src": "13490:1008:0", + "src": "13492:1008:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "private" @@ -26861,7 +26861,7 @@ "body": { "id": 903, "nodeType": "Block", - "src": "14785:1562:0", + "src": "14787:1562:0", "statements": [ { "assignments": [ @@ -26874,7 +26874,7 @@ "name": "t", "nodeType": "VariableDeclaration", "scope": 904, - "src": "14795:21:0", + "src": "14797:21:0", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { @@ -26887,7 +26887,7 @@ "name": "Transaction", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 71, - "src": "14795:11:0", + "src": "14797:11:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction" @@ -26907,7 +26907,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "14819:12:0", + "src": "14821:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -26921,7 +26921,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 713, - "src": "14832:10:0", + "src": "14834:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -26932,14 +26932,14 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "14819:24:0", + "src": "14821:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "14795:48:0" + "src": "14797:48:0" }, { "assignments": [ @@ -26952,7 +26952,7 @@ "name": "valueTransferred", "nodeType": "VariableDeclaration", "scope": 904, - "src": "14854:24:0", + "src": "14856:24:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -26963,7 +26963,7 @@ "id": 730, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "14854:7:0", + "src": "14856:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -26984,7 +26984,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "14881:1:0", + "src": "14883:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -26993,7 +26993,7 @@ "value": "0" }, "nodeType": "VariableDeclarationStatement", - "src": "14854:28:0" + "src": "14856:28:0" }, { "condition": { @@ -27016,7 +27016,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 725, - "src": "14897:1:0", + "src": "14899:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" @@ -27030,7 +27030,7 @@ "memberName": "transactionType", "nodeType": "MemberAccess", "referencedDeclaration": 46, - "src": "14897:17:0", + "src": "14899:17:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -27047,7 +27047,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12, - "src": "14918:15:0", + "src": "14920:15:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_TransactionType_$12_$", "typeString": "type(enum Escrow_v1_0.TransactionType)" @@ -27061,13 +27061,13 @@ "memberName": "ETHER", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "14918:21:0", + "src": "14920:21:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" } }, - "src": "14897:42:0", + "src": "14899:42:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -27094,7 +27094,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 725, - "src": "15553:1:0", + "src": "15555:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" @@ -27108,7 +27108,7 @@ "memberName": "transactionType", "nodeType": "MemberAccess", "referencedDeclaration": 46, - "src": "15553:17:0", + "src": "15555:17:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -27125,7 +27125,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12, - "src": "15574:15:0", + "src": "15576:15:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_TransactionType_$12_$", "typeString": "type(enum Escrow_v1_0.TransactionType)" @@ -27139,13 +27139,13 @@ "memberName": "TOKEN", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "15574:21:0", + "src": "15576:21:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" } }, - "src": "15553:42:0", + "src": "15555:42:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -27154,11 +27154,11 @@ "falseBody": null, "id": 899, "nodeType": "IfStatement", - "src": "15549:758:0", + "src": "15551:758:0", "trueBody": { "id": 898, "nodeType": "Block", - "src": "15597:710:0", + "src": "15599:710:0", "statements": [ { "assignments": [ @@ -27171,7 +27171,7 @@ "name": "token", "nodeType": "VariableDeclaration", "scope": 904, - "src": "15612:20:0", + "src": "15614:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -27184,7 +27184,7 @@ "name": "ITokenContract", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 1254, - "src": "15612:14:0", + "src": "15614:14:0", "typeDescriptions": { "typeIdentifier": "t_contract$_ITokenContract_$1254", "typeString": "contract ITokenContract" @@ -27207,7 +27207,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 725, - "src": "15650:1:0", + "src": "15652:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" @@ -27221,7 +27221,7 @@ "memberName": "tokenAddress", "nodeType": "MemberAccess", "referencedDeclaration": 56, - "src": "15650:14:0", + "src": "15652:14:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -27240,7 +27240,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1254, - "src": "15635:14:0", + "src": "15637:14:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_ITokenContract_$1254_$", "typeString": "type(contract ITokenContract)" @@ -27254,20 +27254,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15635:30:0", + "src": "15637:30:0", "typeDescriptions": { "typeIdentifier": "t_contract$_ITokenContract_$1254", "typeString": "contract ITokenContract" } }, "nodeType": "VariableDeclarationStatement", - "src": "15612:53:0" + "src": "15614:53:0" }, { "body": { "id": 896, "nodeType": "Block", - "src": "15728:569:0", + "src": "15730:569:0", "statements": [ { "expression": { @@ -27293,7 +27293,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 716, - "src": "15755:12:0", + "src": "15757:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -27307,7 +27307,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 824, - "src": "15768:1:0", + "src": "15770:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27318,7 +27318,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15755:15:0", + "src": "15757:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -27339,7 +27339,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "15782:1:0", + "src": "15784:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -27361,7 +27361,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "15774:7:0", + "src": "15776:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" @@ -27376,13 +27376,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15774:10:0", + "src": "15776:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "15755:29:0", + "src": "15757:29:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -27398,7 +27398,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "15786:52:0", + "src": "15788:52:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_587fbb5a9b8e6d4cc482f236066ac51bcf007ae6026eab186437d2f1b22fc139", @@ -27426,7 +27426,7 @@ 1401 ], "referencedDeclaration": 1401, - "src": "15747:7:0", + "src": "15749:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -27440,7 +27440,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15747:92:0", + "src": "15749:92:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -27448,7 +27448,7 @@ }, "id": 844, "nodeType": "ExpressionStatement", - "src": "15747:92:0" + "src": "15749:92:0" }, { "expression": { @@ -27465,7 +27465,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 725, - "src": "15866:1:0", + "src": "15868:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" @@ -27479,7 +27479,7 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "15866:9:0", + "src": "15868:9:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -27495,7 +27495,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 716, - "src": "15876:12:0", + "src": "15878:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -27509,7 +27509,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 824, - "src": "15889:1:0", + "src": "15891:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27520,7 +27520,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15876:15:0", + "src": "15878:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -27531,7 +27531,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15866:26:0", + "src": "15868:26:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -27547,7 +27547,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "15894:46:0", + "src": "15896:46:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_5ccbe9d117aeeb4b3546dfe6a12f083cb37039367b3ec38b60873b8650bc846f", @@ -27575,7 +27575,7 @@ 1401 ], "referencedDeclaration": 1401, - "src": "15858:7:0", + "src": "15860:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -27589,7 +27589,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15858:83:0", + "src": "15860:83:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -27597,7 +27597,7 @@ }, "id": 854, "nodeType": "ExpressionStatement", - "src": "15858:83:0" + "src": "15860:83:0" }, { "expression": { @@ -27623,7 +27623,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 719, - "src": "15968:7:0", + "src": "15970:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" @@ -27637,7 +27637,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 824, - "src": "15976:1:0", + "src": "15978:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27648,7 +27648,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15968:10:0", + "src": "15970:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27666,7 +27666,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "15981:1:0", + "src": "15983:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -27674,7 +27674,7 @@ }, "value": "0" }, - "src": "15968:14:0", + "src": "15970:14:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -27690,7 +27690,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "15984:44:0", + "src": "15986:44:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_5e1271a09dbb64ae031de288deb0ad8d707df7db51d6e827931dc8fa6642a71e", @@ -27718,7 +27718,7 @@ 1401 ], "referencedDeclaration": 1401, - "src": "15960:7:0", + "src": "15962:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -27732,7 +27732,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15960:69:0", + "src": "15962:69:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -27740,7 +27740,7 @@ }, "id": 863, "nodeType": "ExpressionStatement", - "src": "15960:69:0" + "src": "15962:69:0" }, { "expression": { @@ -27757,7 +27757,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 731, - "src": "16048:16:0", + "src": "16050:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27777,7 +27777,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 719, - "src": "16088:7:0", + "src": "16090:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" @@ -27791,7 +27791,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 824, - "src": "16096:1:0", + "src": "16098:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27802,7 +27802,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "16088:10:0", + "src": "16090:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27823,7 +27823,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 731, - "src": "16067:16:0", + "src": "16069:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27837,7 +27837,7 @@ "memberName": "add", "nodeType": "MemberAccess", "referencedDeclaration": 1361, - "src": "16067:20:0", + "src": "16069:20:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" @@ -27851,13 +27851,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16067:32:0", + "src": "16069:32:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "16048:51:0", + "src": "16050:51:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27865,7 +27865,7 @@ }, "id": 872, "nodeType": "ExpressionStatement", - "src": "16048:51:0" + "src": "16050:51:0" }, { "expression": { @@ -27886,7 +27886,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 725, - "src": "16117:1:0", + "src": "16119:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" @@ -27900,7 +27900,7 @@ "memberName": "beneficiaries", "nodeType": "MemberAccess", "referencedDeclaration": 70, - "src": "16117:15:0", + "src": "16119:15:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -27916,7 +27916,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 716, - "src": "16133:12:0", + "src": "16135:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -27930,7 +27930,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 824, - "src": "16146:1:0", + "src": "16148:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27941,7 +27941,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "16133:15:0", + "src": "16135:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -27952,7 +27952,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "16117:32:0", + "src": "16119:32:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -27970,7 +27970,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "16152:4:0", + "src": "16154:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -27978,7 +27978,7 @@ }, "value": "true" }, - "src": "16117:39:0", + "src": "16119:39:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -27986,7 +27986,7 @@ }, "id": 882, "nodeType": "ExpressionStatement", - "src": "16117:39:0" + "src": "16119:39:0" }, { "expression": { @@ -28004,7 +28004,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 716, - "src": "16227:12:0", + "src": "16229:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -28018,7 +28018,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 824, - "src": "16240:1:0", + "src": "16242:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28029,7 +28029,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "16227:15:0", + "src": "16229:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -28044,7 +28044,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 719, - "src": "16244:7:0", + "src": "16246:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" @@ -28058,7 +28058,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 824, - "src": "16252:1:0", + "src": "16254:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28069,7 +28069,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "16244:10:0", + "src": "16246:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28094,7 +28094,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 817, - "src": "16212:5:0", + "src": "16214:5:0", "typeDescriptions": { "typeIdentifier": "t_contract$_ITokenContract_$1254", "typeString": "contract ITokenContract" @@ -28108,7 +28108,7 @@ "memberName": "transfer", "nodeType": "MemberAccess", "referencedDeclaration": 1242, - "src": "16212:14:0", + "src": "16214:14:0", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", "typeString": "function (address,uint256) external returns (bool)" @@ -28122,7 +28122,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16212:43:0", + "src": "16214:43:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -28138,7 +28138,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "16257:24:0", + "src": "16259:24:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_e545223bb79d8456d66fa5a98897abb42bb4807111f004a120200da3b7e292c5", @@ -28166,7 +28166,7 @@ 1401 ], "referencedDeclaration": 1401, - "src": "16204:7:0", + "src": "16206:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -28180,7 +28180,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16204:78:0", + "src": "16206:78:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -28188,7 +28188,7 @@ }, "id": 895, "nodeType": "ExpressionStatement", - "src": "16204:78:0" + "src": "16206:78:0" } ] }, @@ -28210,7 +28210,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 824, - "src": "15700:1:0", + "src": "15702:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28227,7 +28227,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 716, - "src": "15702:12:0", + "src": "15704:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -28241,13 +28241,13 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "15702:19:0", + "src": "15704:19:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "15700:21:0", + "src": "15702:21:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -28265,7 +28265,7 @@ "name": "j", "nodeType": "VariableDeclaration", "scope": 904, - "src": "15685:9:0", + "src": "15687:9:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -28276,7 +28276,7 @@ "id": 823, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "15685:7:0", + "src": "15687:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28297,7 +28297,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "15697:1:0", + "src": "15699:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -28306,7 +28306,7 @@ "value": "0" }, "nodeType": "VariableDeclarationStatement", - "src": "15685:13:0" + "src": "15687:13:0" }, "loopExpression": { "expression": { @@ -28319,7 +28319,7 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "15723:3:0", + "src": "15725:3:0", "subExpression": { "argumentTypes": null, "id": 831, @@ -28327,7 +28327,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 824, - "src": "15723:1:0", + "src": "15725:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28340,27 +28340,27 @@ }, "id": 833, "nodeType": "ExpressionStatement", - "src": "15723:3:0" + "src": "15725:3:0" }, "nodeType": "ForStatement", - "src": "15680:617:0" + "src": "15682:617:0" } ] } }, "id": 900, "nodeType": "IfStatement", - "src": "14893:1414:0", + "src": "14895:1414:0", "trueBody": { "id": 810, "nodeType": "Block", - "src": "14941:602:0", + "src": "14943:602:0", "statements": [ { "body": { "id": 808, "nodeType": "Block", - "src": "15005:527:0", + "src": "15007:527:0", "statements": [ { "expression": { @@ -28386,7 +28386,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 716, - "src": "15032:12:0", + "src": "15034:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -28400,7 +28400,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 740, - "src": "15045:1:0", + "src": "15047:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28411,7 +28411,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15032:15:0", + "src": "15034:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -28432,7 +28432,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "15059:1:0", + "src": "15061:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -28454,7 +28454,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "15051:7:0", + "src": "15053:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" @@ -28469,13 +28469,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15051:10:0", + "src": "15053:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "15032:29:0", + "src": "15034:29:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -28491,7 +28491,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "15063:52:0", + "src": "15065:52:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_587fbb5a9b8e6d4cc482f236066ac51bcf007ae6026eab186437d2f1b22fc139", @@ -28519,7 +28519,7 @@ 1401 ], "referencedDeclaration": 1401, - "src": "15024:7:0", + "src": "15026:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -28533,7 +28533,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15024:92:0", + "src": "15026:92:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -28541,7 +28541,7 @@ }, "id": 760, "nodeType": "ExpressionStatement", - "src": "15024:92:0" + "src": "15026:92:0" }, { "expression": { @@ -28558,7 +28558,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 725, - "src": "15143:1:0", + "src": "15145:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" @@ -28572,7 +28572,7 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "15143:9:0", + "src": "15145:9:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -28588,7 +28588,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 716, - "src": "15153:12:0", + "src": "15155:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -28602,7 +28602,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 740, - "src": "15166:1:0", + "src": "15168:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28613,7 +28613,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15153:15:0", + "src": "15155:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -28624,7 +28624,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15143:26:0", + "src": "15145:26:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -28640,7 +28640,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "15171:46:0", + "src": "15173:46:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_5ccbe9d117aeeb4b3546dfe6a12f083cb37039367b3ec38b60873b8650bc846f", @@ -28668,7 +28668,7 @@ 1401 ], "referencedDeclaration": 1401, - "src": "15135:7:0", + "src": "15137:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -28682,7 +28682,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15135:83:0", + "src": "15137:83:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -28690,7 +28690,7 @@ }, "id": 770, "nodeType": "ExpressionStatement", - "src": "15135:83:0" + "src": "15137:83:0" }, { "expression": { @@ -28716,7 +28716,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 719, - "src": "15245:7:0", + "src": "15247:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" @@ -28730,7 +28730,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 740, - "src": "15253:1:0", + "src": "15255:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28741,7 +28741,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15245:10:0", + "src": "15247:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28759,7 +28759,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "15258:1:0", + "src": "15260:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -28767,7 +28767,7 @@ }, "value": "0" }, - "src": "15245:14:0", + "src": "15247:14:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -28783,7 +28783,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "15261:44:0", + "src": "15263:44:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_5e1271a09dbb64ae031de288deb0ad8d707df7db51d6e827931dc8fa6642a71e", @@ -28811,7 +28811,7 @@ 1401 ], "referencedDeclaration": 1401, - "src": "15237:7:0", + "src": "15239:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -28825,7 +28825,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15237:69:0", + "src": "15239:69:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -28833,7 +28833,7 @@ }, "id": 779, "nodeType": "ExpressionStatement", - "src": "15237:69:0" + "src": "15239:69:0" }, { "expression": { @@ -28850,7 +28850,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 731, - "src": "15325:16:0", + "src": "15327:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28870,7 +28870,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 719, - "src": "15365:7:0", + "src": "15367:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" @@ -28884,7 +28884,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 740, - "src": "15373:1:0", + "src": "15375:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28895,7 +28895,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15365:10:0", + "src": "15367:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28916,7 +28916,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 731, - "src": "15344:16:0", + "src": "15346:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28930,7 +28930,7 @@ "memberName": "add", "nodeType": "MemberAccess", "referencedDeclaration": 1361, - "src": "15344:20:0", + "src": "15346:20:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" @@ -28944,13 +28944,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15344:32:0", + "src": "15346:32:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "15325:51:0", + "src": "15327:51:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28958,7 +28958,7 @@ }, "id": 788, "nodeType": "ExpressionStatement", - "src": "15325:51:0" + "src": "15327:51:0" }, { "expression": { @@ -28979,7 +28979,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 725, - "src": "15395:1:0", + "src": "15397:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" @@ -28993,7 +28993,7 @@ "memberName": "beneficiaries", "nodeType": "MemberAccess", "referencedDeclaration": 70, - "src": "15395:15:0", + "src": "15397:15:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -29009,7 +29009,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 716, - "src": "15411:12:0", + "src": "15413:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -29023,7 +29023,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 740, - "src": "15424:1:0", + "src": "15426:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29034,7 +29034,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15411:15:0", + "src": "15413:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -29045,7 +29045,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "15395:32:0", + "src": "15397:32:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -29063,7 +29063,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "15430:4:0", + "src": "15432:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -29071,7 +29071,7 @@ }, "value": "true" }, - "src": "15395:39:0", + "src": "15397:39:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -29079,7 +29079,7 @@ }, "id": 798, "nodeType": "ExpressionStatement", - "src": "15395:39:0" + "src": "15397:39:0" }, { "expression": { @@ -29094,7 +29094,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 719, - "src": "15506:7:0", + "src": "15508:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" @@ -29108,7 +29108,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 740, - "src": "15514:1:0", + "src": "15516:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29119,7 +29119,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15506:10:0", + "src": "15508:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29142,7 +29142,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 716, - "src": "15481:12:0", + "src": "15483:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -29156,7 +29156,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 740, - "src": "15494:1:0", + "src": "15496:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29167,7 +29167,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15481:15:0", + "src": "15483:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -29181,7 +29181,7 @@ "memberName": "transfer", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "15481:24:0", + "src": "15483:24:0", "typeDescriptions": { "typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$", "typeString": "function (uint256)" @@ -29195,7 +29195,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15481:36:0", + "src": "15483:36:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -29203,7 +29203,7 @@ }, "id": 807, "nodeType": "ExpressionStatement", - "src": "15481:36:0" + "src": "15483:36:0" } ] }, @@ -29225,7 +29225,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 740, - "src": "14975:1:0", + "src": "14977:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29242,7 +29242,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 716, - "src": "14979:12:0", + "src": "14981:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -29256,13 +29256,13 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "14979:19:0", + "src": "14981:19:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "14975:23:0", + "src": "14977:23:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -29280,7 +29280,7 @@ "name": "i", "nodeType": "VariableDeclaration", "scope": 904, - "src": "14960:9:0", + "src": "14962:9:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -29291,7 +29291,7 @@ "id": 739, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "14960:7:0", + "src": "14962:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29312,7 +29312,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "14972:1:0", + "src": "14974:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -29321,7 +29321,7 @@ "value": "0" }, "nodeType": "VariableDeclarationStatement", - "src": "14960:13:0" + "src": "14962:13:0" }, "loopExpression": { "expression": { @@ -29334,7 +29334,7 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "15000:3:0", + "src": "15002:3:0", "subExpression": { "argumentTypes": null, "id": 747, @@ -29342,7 +29342,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 740, - "src": "15000:1:0", + "src": "15002:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29355,10 +29355,10 @@ }, "id": 749, "nodeType": "ExpressionStatement", - "src": "15000:3:0" + "src": "15002:3:0" }, "nodeType": "ForStatement", - "src": "14955:577:0" + "src": "14957:577:0" } ] } @@ -29371,7 +29371,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 731, - "src": "16324:16:0", + "src": "16326:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29380,7 +29380,7 @@ "functionReturnParameters": 723, "id": 902, "nodeType": "Return", - "src": "16317:23:0" + "src": "16319:23:0" } ] }, @@ -29402,7 +29402,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 904, - "src": "14657:18:0", + "src": "14659:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -29413,7 +29413,7 @@ "id": 712, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "14657:7:0", + "src": "14659:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -29428,7 +29428,7 @@ "name": "destinations", "nodeType": "VariableDeclaration", "scope": 904, - "src": "14685:21:0", + "src": "14687:21:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -29440,7 +29440,7 @@ "id": 714, "name": "address", "nodeType": "ElementaryTypeName", - "src": "14685:7:0", + "src": "14687:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -29449,7 +29449,7 @@ "id": 715, "length": null, "nodeType": "ArrayTypeName", - "src": "14685:9:0", + "src": "14687:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", "typeString": "address[]" @@ -29464,7 +29464,7 @@ "name": "amounts", "nodeType": "VariableDeclaration", "scope": 904, - "src": "14716:16:0", + "src": "14718:16:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -29476,7 +29476,7 @@ "id": 717, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "14716:7:0", + "src": "14718:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29485,7 +29485,7 @@ "id": 718, "length": null, "nodeType": "ArrayTypeName", - "src": "14716:9:0", + "src": "14718:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -29495,7 +29495,7 @@ "visibility": "internal" } ], - "src": "14647:91:0" + "src": "14649:91:0" }, "payable": false, "returnParameters": { @@ -29508,7 +29508,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 904, - "src": "14772:7:0", + "src": "14774:7:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -29519,7 +29519,7 @@ "id": 721, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "14772:7:0", + "src": "14774:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29529,10 +29529,10 @@ "visibility": "internal" } ], - "src": "14771:9:0" + "src": "14773:9:0" }, "scope": 1224, - "src": "14624:1723:0", + "src": "14626:1723:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "private" @@ -29541,7 +29541,7 @@ "body": { "id": 1034, "nodeType": "Block", - "src": "16767:1346:0", + "src": "16769:1346:0", "statements": [ { "expression": { @@ -29578,7 +29578,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 910, - "src": "16799:4:0", + "src": "16801:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" @@ -29592,7 +29592,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "16799:11:0", + "src": "16801:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29609,7 +29609,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 913, - "src": "16814:4:0", + "src": "16816:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" @@ -29623,13 +29623,13 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "16814:11:0", + "src": "16816:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "16799:26:0", + "src": "16801:26:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -29657,7 +29657,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 910, - "src": "16829:4:0", + "src": "16831:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" @@ -29671,7 +29671,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "16829:11:0", + "src": "16831:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29688,7 +29688,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 907, - "src": "16844:4:0", + "src": "16846:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr", "typeString": "uint8[] memory" @@ -29702,19 +29702,19 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "16844:11:0", + "src": "16846:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "16829:26:0", + "src": "16831:26:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "16799:56:0", + "src": "16801:56:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -29730,7 +29730,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "16870:24:0", + "src": "16872:24:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_f85073c8befb65baed58ca1ee563e5da0bdbdce8abd4d29ef22a8329c7c97506", @@ -29758,7 +29758,7 @@ 1401 ], "referencedDeclaration": 1401, - "src": "16778:7:0", + "src": "16780:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -29772,7 +29772,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16778:126:0", + "src": "16780:126:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -29780,7 +29780,7 @@ }, "id": 940, "nodeType": "ExpressionStatement", - "src": "16778:126:0" + "src": "16780:126:0" }, { "assignments": [], @@ -29791,7 +29791,7 @@ "name": "lastAddress", "nodeType": "VariableDeclaration", "scope": 1035, - "src": "16915:19:0", + "src": "16917:19:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -29802,7 +29802,7 @@ "id": 941, "name": "address", "nodeType": "ElementaryTypeName", - "src": "16915:7:0", + "src": "16917:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -29815,7 +29815,7 @@ "id": 943, "initialValue": null, "nodeType": "VariableDeclarationStatement", - "src": "16915:19:0" + "src": "16917:19:0" }, { "assignments": [ @@ -29828,7 +29828,7 @@ "name": "txHash", "nodeType": "VariableDeclaration", "scope": 1035, - "src": "17033:14:0", + "src": "17035:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -29839,7 +29839,7 @@ "id": 944, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "17033:7:0", + "src": "17035:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -29866,7 +29866,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "17107:34:0", + "src": "17109:34:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_178a2411ab6fbc1ba11064408972259c558d0e82fd48b0aba3ad81d14f065e73", @@ -29893,7 +29893,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "17237:4:0", + "src": "17239:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_25_by_1", @@ -29915,7 +29915,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "17232:4:0", + "src": "17234:4:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes1_$", "typeString": "type(bytes1)" @@ -29930,7 +29930,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17232:10:0", + "src": "17234:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes1", "typeString": "bytes1" @@ -29949,7 +29949,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "17273:1:0", + "src": "17275:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -29971,7 +29971,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "17268:4:0", + "src": "17270:4:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes1_$", "typeString": "type(bytes1)" @@ -29986,7 +29986,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17268:7:0", + "src": "17270:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes1", "typeString": "bytes1" @@ -30002,7 +30002,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1414, - "src": "17309:4:0", + "src": "17311:4:0", "typeDescriptions": { "typeIdentifier": "t_contract$_Escrow_v1_0_$1224", "typeString": "contract Escrow_v1_0" @@ -30022,7 +30022,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "17301:7:0", + "src": "17303:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" @@ -30037,7 +30037,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17301:13:0", + "src": "17303:13:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -30050,7 +30050,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 918, - "src": "17340:12:0", + "src": "17342:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -30063,7 +30063,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 921, - "src": "17378:7:0", + "src": "17380:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" @@ -30076,7 +30076,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 915, - "src": "17411:10:0", + "src": "17413:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -30117,7 +30117,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1384, - "src": "17190:3:0", + "src": "17192:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" @@ -30131,7 +30131,7 @@ "memberName": "encodePacked", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "17190:16:0", + "src": "17192:16:0", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" @@ -30145,7 +30145,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17190:253:0", + "src": "17192:253:0", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -30164,7 +30164,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1391, - "src": "17159:9:0", + "src": "17161:9:0", "typeDescriptions": { "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", "typeString": "function () pure returns (bytes32)" @@ -30178,7 +30178,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17159:302:0", + "src": "17161:302:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -30203,7 +30203,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1384, - "src": "17073:3:0", + "src": "17075:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" @@ -30217,7 +30217,7 @@ "memberName": "encodePacked", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "17073:16:0", + "src": "17075:16:0", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" @@ -30231,7 +30231,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17073:402:0", + "src": "17075:402:0", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -30250,7 +30250,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1391, - "src": "17050:9:0", + "src": "17052:9:0", "typeDescriptions": { "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", "typeString": "function () pure returns (bytes32)" @@ -30264,20 +30264,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17050:435:0", + "src": "17052:435:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "nodeType": "VariableDeclarationStatement", - "src": "17033:452:0" + "src": "17035:452:0" }, { "body": { "id": 1030, "nodeType": "Block", - "src": "17535:543:0", + "src": "17537:543:0", "statements": [ { "assignments": [ @@ -30290,7 +30290,7 @@ "name": "recovered", "nodeType": "VariableDeclaration", "scope": 1035, - "src": "17550:17:0", + "src": "17552:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -30301,7 +30301,7 @@ "id": 981, "name": "address", "nodeType": "ElementaryTypeName", - "src": "17550:7:0", + "src": "17552:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -30322,7 +30322,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 945, - "src": "17597:6:0", + "src": "17599:6:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -30337,7 +30337,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 907, - "src": "17621:4:0", + "src": "17623:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr", "typeString": "uint8[] memory" @@ -30351,7 +30351,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 971, - "src": "17626:1:0", + "src": "17628:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -30362,7 +30362,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17621:7:0", + "src": "17623:7:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -30377,7 +30377,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 910, - "src": "17646:4:0", + "src": "17648:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" @@ -30391,7 +30391,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 971, - "src": "17651:1:0", + "src": "17653:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -30402,7 +30402,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17646:7:0", + "src": "17648:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -30417,7 +30417,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 913, - "src": "17671:4:0", + "src": "17673:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" @@ -30431,7 +30431,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 971, - "src": "17676:1:0", + "src": "17678:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -30442,7 +30442,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17671:7:0", + "src": "17673:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -30473,7 +30473,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1389, - "src": "17570:9:0", + "src": "17572:9:0", "typeDescriptions": { "typeIdentifier": "t_function_ecrecover_pure$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$_t_address_$", "typeString": "function (bytes32,uint8,bytes32,bytes32) pure returns (address)" @@ -30487,14 +30487,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17570:122:0", + "src": "17572:122:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "VariableDeclarationStatement", - "src": "17550:142:0" + "src": "17552:142:0" }, { "expression": { @@ -30513,7 +30513,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "17732:12:0", + "src": "17734:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -30527,7 +30527,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 915, - "src": "17745:10:0", + "src": "17747:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -30538,7 +30538,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17732:24:0", + "src": "17734:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -30552,7 +30552,7 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "17732:32:0", + "src": "17734:32:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -30566,7 +30566,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 982, - "src": "17765:9:0", + "src": "17767:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -30577,7 +30577,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17732:43:0", + "src": "17734:43:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -30593,7 +30593,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "17794:19:0", + "src": "17796:19:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_4f2d7dfcb27c0aafa13ae8c400de482c7832204d194018b6e45bd2bf244c74e7", @@ -30621,7 +30621,7 @@ 1401 ], "referencedDeclaration": 1401, - "src": "17707:7:0", + "src": "17709:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -30635,7 +30635,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17707:120:0", + "src": "17709:120:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -30643,7 +30643,7 @@ }, "id": 1005, "nodeType": "ExpressionStatement", - "src": "17707:120:0" + "src": "17709:120:0" }, { "expression": { @@ -30659,7 +30659,7 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "17866:42:0", + "src": "17868:42:0", "subExpression": { "argumentTypes": null, "baseExpression": { @@ -30673,7 +30673,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "17867:12:0", + "src": "17869:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -30687,7 +30687,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 915, - "src": "17880:10:0", + "src": "17882:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -30698,7 +30698,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17867:24:0", + "src": "17869:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -30712,7 +30712,7 @@ "memberName": "voted", "nodeType": "MemberAccess", "referencedDeclaration": 66, - "src": "17867:30:0", + "src": "17869:30:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -30726,7 +30726,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 982, - "src": "17898:9:0", + "src": "17900:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -30737,7 +30737,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17867:41:0", + "src": "17869:41:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -30758,7 +30758,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "17927:27:0", + "src": "17929:27:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_fb2c7e49d5ec7ce36fa812cf15ee7fa946942f931d04fe3ae970516007b2a543", @@ -30786,7 +30786,7 @@ 1401 ], "referencedDeclaration": 1401, - "src": "17841:7:0", + "src": "17843:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -30800,7 +30800,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17841:127:0", + "src": "17843:127:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -30808,7 +30808,7 @@ }, "id": 1016, "nodeType": "ExpressionStatement", - "src": "17841:127:0" + "src": "17843:127:0" }, { "expression": { @@ -30831,7 +30831,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "17982:12:0", + "src": "17984:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -30845,7 +30845,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 915, - "src": "17995:10:0", + "src": "17997:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -30856,7 +30856,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17982:24:0", + "src": "17984:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -30870,7 +30870,7 @@ "memberName": "voted", "nodeType": "MemberAccess", "referencedDeclaration": 66, - "src": "17982:30:0", + "src": "17984:30:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -30884,7 +30884,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 982, - "src": "18013:9:0", + "src": "18015:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -30895,7 +30895,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "17982:41:0", + "src": "17984:41:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -30913,7 +30913,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "18026:4:0", + "src": "18028:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -30921,7 +30921,7 @@ }, "value": "true" }, - "src": "17982:48:0", + "src": "17984:48:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -30929,7 +30929,7 @@ }, "id": 1025, "nodeType": "ExpressionStatement", - "src": "17982:48:0" + "src": "17984:48:0" }, { "expression": { @@ -30946,7 +30946,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 942, - "src": "18044:11:0", + "src": "18046:11:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -30961,13 +30961,13 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 982, - "src": "18058:9:0", + "src": "18060:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "18044:23:0", + "src": "18046:23:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -30975,7 +30975,7 @@ }, "id": 1029, "nodeType": "ExpressionStatement", - "src": "18044:23:0" + "src": "18046:23:0" } ] }, @@ -30997,7 +30997,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 971, - "src": "17513:1:0", + "src": "17515:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -31014,7 +31014,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 910, - "src": "17517:4:0", + "src": "17519:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" @@ -31028,13 +31028,13 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "17517:11:0", + "src": "17519:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "17513:15:0", + "src": "17515:15:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -31052,7 +31052,7 @@ "name": "i", "nodeType": "VariableDeclaration", "scope": 1035, - "src": "17501:6:0", + "src": "17503:6:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -31063,7 +31063,7 @@ "id": 970, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "17501:4:0", + "src": "17503:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -31084,7 +31084,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "17510:1:0", + "src": "17512:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -31093,7 +31093,7 @@ "value": "0" }, "nodeType": "VariableDeclarationStatement", - "src": "17501:10:0" + "src": "17503:10:0" }, "loopExpression": { "expression": { @@ -31106,7 +31106,7 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "17530:3:0", + "src": "17532:3:0", "subExpression": { "argumentTypes": null, "id": 978, @@ -31114,7 +31114,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 971, - "src": "17530:1:0", + "src": "17532:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -31127,10 +31127,10 @@ }, "id": 980, "nodeType": "ExpressionStatement", - "src": "17530:3:0" + "src": "17532:3:0" }, "nodeType": "ForStatement", - "src": "17496:582:0" + "src": "17498:582:0" }, { "expression": { @@ -31140,7 +31140,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 942, - "src": "18095:11:0", + "src": "18097:11:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -31149,7 +31149,7 @@ "functionReturnParameters": 925, "id": 1033, "nodeType": "Return", - "src": "18088:18:0" + "src": "18090:18:0" } ] }, @@ -31171,7 +31171,7 @@ "name": "sigV", "nodeType": "VariableDeclaration", "scope": 1035, - "src": "16568:12:0", + "src": "16570:12:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -31183,7 +31183,7 @@ "id": 905, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "16568:5:0", + "src": "16570:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -31192,7 +31192,7 @@ "id": 906, "length": null, "nodeType": "ArrayTypeName", - "src": "16568:7:0", + "src": "16570:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_storage_ptr", "typeString": "uint8[]" @@ -31207,7 +31207,7 @@ "name": "sigR", "nodeType": "VariableDeclaration", "scope": 1035, - "src": "16590:14:0", + "src": "16592:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -31219,7 +31219,7 @@ "id": 908, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "16590:7:0", + "src": "16592:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -31228,7 +31228,7 @@ "id": 909, "length": null, "nodeType": "ArrayTypeName", - "src": "16590:9:0", + "src": "16592:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -31243,7 +31243,7 @@ "name": "sigS", "nodeType": "VariableDeclaration", "scope": 1035, - "src": "16614:14:0", + "src": "16616:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -31255,7 +31255,7 @@ "id": 911, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "16614:7:0", + "src": "16616:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -31264,7 +31264,7 @@ "id": 912, "length": null, "nodeType": "ArrayTypeName", - "src": "16614:9:0", + "src": "16616:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -31279,7 +31279,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 1035, - "src": "16638:18:0", + "src": "16640:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -31290,7 +31290,7 @@ "id": 914, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "16638:7:0", + "src": "16640:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -31305,7 +31305,7 @@ "name": "destinations", "nodeType": "VariableDeclaration", "scope": 1035, - "src": "16666:22:0", + "src": "16668:22:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -31317,7 +31317,7 @@ "id": 916, "name": "address", "nodeType": "ElementaryTypeName", - "src": "16666:7:0", + "src": "16668:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -31326,7 +31326,7 @@ "id": 917, "length": null, "nodeType": "ArrayTypeName", - "src": "16666:9:0", + "src": "16668:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", "typeString": "address[]" @@ -31341,7 +31341,7 @@ "name": "amounts", "nodeType": "VariableDeclaration", "scope": 1035, - "src": "16698:16:0", + "src": "16700:16:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -31353,7 +31353,7 @@ "id": 919, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "16698:7:0", + "src": "16700:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -31362,7 +31362,7 @@ "id": 920, "length": null, "nodeType": "ArrayTypeName", - "src": "16698:9:0", + "src": "16700:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -31372,7 +31372,7 @@ "visibility": "internal" } ], - "src": "16558:162:0" + "src": "16560:162:0" }, "payable": false, "returnParameters": { @@ -31385,7 +31385,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 1035, - "src": "16754:7:0", + "src": "16756:7:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -31396,7 +31396,7 @@ "id": 923, "name": "address", "nodeType": "ElementaryTypeName", - "src": "16754:7:0", + "src": "16756:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -31406,10 +31406,10 @@ "visibility": "internal" } ], - "src": "16753:9:0" + "src": "16755:9:0" }, "scope": 1224, - "src": "16532:1581:0", + "src": "16534:1581:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "private" @@ -31418,7 +31418,7 @@ "body": { "id": 1066, "nodeType": "Block", - "src": "18268:168:0", + "src": "18270:168:0", "statements": [ { "assignments": [ @@ -31431,7 +31431,7 @@ "name": "timeSince", "nodeType": "VariableDeclaration", "scope": 1067, - "src": "18278:17:0", + "src": "18280:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -31442,7 +31442,7 @@ "id": 1044, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "18278:7:0", + "src": "18280:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -31463,7 +31463,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1039, - "src": "18306:12:0", + "src": "18308:12:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -31484,7 +31484,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1399, - "src": "18298:3:0", + "src": "18300:3:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -31498,7 +31498,7 @@ "memberName": "sub", "nodeType": "MemberAccess", "referencedDeclaration": 1337, - "src": "18298:7:0", + "src": "18300:7:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" @@ -31512,14 +31512,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18298:21:0", + "src": "18300:21:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "18278:41:0" + "src": "18280:41:0" }, { "expression": { @@ -31545,7 +31545,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1037, - "src": "18350:12:0", + "src": "18352:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -31563,7 +31563,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "18366:1:0", + "src": "18368:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -31571,7 +31571,7 @@ }, "value": "0" }, - "src": "18350:17:0", + "src": "18352:17:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -31595,7 +31595,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1045, - "src": "18376:9:0", + "src": "18378:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -31616,7 +31616,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "18414:4:0", + "src": "18416:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_3600_by_1", @@ -31642,7 +31642,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1037, - "src": "18396:12:0", + "src": "18398:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -31662,7 +31662,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "18388:7:0", + "src": "18390:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint256_$", "typeString": "type(uint256)" @@ -31677,7 +31677,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18388:21:0", + "src": "18390:21:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -31691,7 +31691,7 @@ "memberName": "mul", "nodeType": "MemberAccess", "referencedDeclaration": 1289, - "src": "18388:25:0", + "src": "18390:25:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" @@ -31705,13 +31705,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18388:31:0", + "src": "18390:31:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "18376:43:0", + "src": "18378:43:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -31723,7 +31723,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "Conditional", - "src": "18350:69:0", + "src": "18352:69:0", "trueExpression": { "argumentTypes": null, "hexValue": "66616c7365", @@ -31734,7 +31734,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "18370:5:0", + "src": "18372:5:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -31755,7 +31755,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "18336:93:0", + "src": "18338:93:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -31764,7 +31764,7 @@ "functionReturnParameters": 1043, "id": 1065, "nodeType": "Return", - "src": "18329:100:0" + "src": "18331:100:0" } ] }, @@ -31786,7 +31786,7 @@ "name": "timeoutHours", "nodeType": "VariableDeclaration", "scope": 1067, - "src": "18156:19:0", + "src": "18158:19:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -31797,7 +31797,7 @@ "id": 1036, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "18156:6:0", + "src": "18158:6:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -31812,7 +31812,7 @@ "name": "lastModified", "nodeType": "VariableDeclaration", "scope": 1067, - "src": "18185:20:0", + "src": "18187:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -31823,7 +31823,7 @@ "id": 1038, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "18185:7:0", + "src": "18187:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -31833,7 +31833,7 @@ "visibility": "internal" } ], - "src": "18146:65:0" + "src": "18148:65:0" }, "payable": false, "returnParameters": { @@ -31846,7 +31846,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 1067, - "src": "18258:4:0", + "src": "18260:4:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -31857,7 +31857,7 @@ "id": 1041, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "18258:4:0", + "src": "18260:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -31867,10 +31867,10 @@ "visibility": "internal" } ], - "src": "18257:6:0" + "src": "18259:6:0" }, "scope": 1224, - "src": "18119:317:0", + "src": "18121:317:0", "stateMutability": "view", "superFunction": null, "visibility": "private" @@ -31879,7 +31879,7 @@ "body": { "id": 1222, "nodeType": "Block", - "src": "18850:2314:0", + "src": "18852:2314:0", "statements": [ { "expression": { @@ -31903,7 +31903,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1069, - "src": "18876:5:0", + "src": "18878:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -31918,13 +31918,13 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1071, - "src": "18885:6:0", + "src": "18887:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "18876:15:0", + "src": "18878:15:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -31940,7 +31940,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "18893:27:0", + "src": "18895:27:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_6141441751234d42e9a73d96317794195c7ff57b8f16ac15725a10f10763f824", @@ -31968,7 +31968,7 @@ 1401 ], "referencedDeclaration": 1401, - "src": "18868:7:0", + "src": "18870:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -31982,7 +31982,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18868:53:0", + "src": "18870:53:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -31990,7 +31990,7 @@ }, "id": 1096, "nodeType": "ExpressionStatement", - "src": "18868:53:0" + "src": "18870:53:0" }, { "expression": { @@ -32014,7 +32014,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1081, - "src": "18988:5:0", + "src": "18990:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -32032,7 +32032,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "18996:1:0", + "src": "18998:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -32040,7 +32040,7 @@ }, "value": "0" }, - "src": "18988:9:0", + "src": "18990:9:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -32056,7 +32056,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "18999:19:0", + "src": "19001:19:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_3686f87c4804517ea83323ccf1a3b5b5ff52ed144b19e6fc56abe8fcd182e747", @@ -32084,7 +32084,7 @@ 1401 ], "referencedDeclaration": 1401, - "src": "18980:7:0", + "src": "18982:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -32098,7 +32098,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18980:39:0", + "src": "18982:39:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -32106,7 +32106,7 @@ }, "id": 1103, "nodeType": "ExpressionStatement", - "src": "18980:39:0" + "src": "18982:39:0" }, { "expression": { @@ -32141,7 +32141,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1075, - "src": "19122:9:0", + "src": "19124:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -32159,7 +32159,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "19134:1:0", + "src": "19136:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -32167,7 +32167,7 @@ }, "value": "0" }, - "src": "19122:13:0", + "src": "19124:13:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -32193,7 +32193,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1075, - "src": "19139:9:0", + "src": "19141:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -32211,7 +32211,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "19152:1:0", + "src": "19154:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_3_by_1", @@ -32219,13 +32219,13 @@ }, "value": "3" }, - "src": "19139:14:0", + "src": "19141:14:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "19122:31:0", + "src": "19124:31:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -32241,7 +32241,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "19168:63:0", + "src": "19170:63:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_351c1d5dfdc4a2b4c61d6f4dbb41a0d2ae70a9c094d3c0add87af24b5dd19c13", @@ -32269,7 +32269,7 @@ 1401 ], "referencedDeclaration": 1401, - "src": "19101:7:0", + "src": "19103:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -32283,7 +32283,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "19101:140:0", + "src": "19103:140:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -32291,7 +32291,7 @@ }, "id": 1114, "nodeType": "ExpressionStatement", - "src": "19101:140:0" + "src": "19103:140:0" }, { "expression": { @@ -32326,7 +32326,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1075, - "src": "19522:9:0", + "src": "19524:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -32344,7 +32344,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "19535:1:0", + "src": "19537:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -32352,7 +32352,7 @@ }, "value": "1" }, - "src": "19522:14:0", + "src": "19524:14:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -32378,7 +32378,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1073, - "src": "19540:9:0", + "src": "19542:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -32399,7 +32399,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "19561:1:0", + "src": "19563:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -32421,7 +32421,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "19553:7:0", + "src": "19555:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" @@ -32436,19 +32436,19 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "19553:10:0", + "src": "19555:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "19540:23:0", + "src": "19542:23:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "19522:41:0", + "src": "19524:41:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -32464,7 +32464,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "19577:74:0", + "src": "19579:74:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_2056db168725d2fabb8aaf14efad7a3fc12ef6bc7132f0596ea09b041b71cb25", @@ -32492,7 +32492,7 @@ 1401 ], "referencedDeclaration": 1401, - "src": "19501:7:0", + "src": "19503:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -32506,7 +32506,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "19501:160:0", + "src": "19503:160:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -32514,7 +32514,7 @@ }, "id": 1127, "nodeType": "ExpressionStatement", - "src": "19501:160:0" + "src": "19503:160:0" }, { "expression": { @@ -32538,7 +32538,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1079, - "src": "19693:10:0", + "src": "19695:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -32556,7 +32556,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1083, - "src": "19750:8:0", + "src": "19752:8:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -32569,7 +32569,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1075, - "src": "19776:9:0", + "src": "19778:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -32582,7 +32582,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1077, - "src": "19803:12:0", + "src": "19805:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -32595,7 +32595,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1069, - "src": "19833:5:0", + "src": "19835:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -32608,7 +32608,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1071, - "src": "19856:6:0", + "src": "19858:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -32621,7 +32621,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1073, - "src": "19880:9:0", + "src": "19882:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -32634,7 +32634,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1087, - "src": "19907:12:0", + "src": "19909:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -32677,7 +32677,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 642, - "src": "19707:25:0", + "src": "19709:25:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_bytes20_$_t_uint8_$_t_uint32_$_t_address_$_t_address_$_t_address_$_t_address_$returns$_t_bytes32_$", "typeString": "function (bytes20,uint8,uint32,address,address,address,address) view returns (bytes32)" @@ -32691,13 +32691,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "19707:226:0", + "src": "19709:226:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "src": "19693:240:0", + "src": "19695:240:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -32713,7 +32713,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "19948:59:0", + "src": "19950:59:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_0c041e0c58e6b0e01d338d852a5abb639065eabeb0aee05e0ce3e5f0e52b4f51", @@ -32741,7 +32741,7 @@ 1401 ], "referencedDeclaration": 1401, - "src": "19672:7:0", + "src": "19674:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -32755,7 +32755,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "19672:345:0", + "src": "19674:345:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -32763,7 +32763,7 @@ }, "id": 1142, "nodeType": "ExpressionStatement", - "src": "19672:345:0" + "src": "19674:345:0" }, { "expression": { @@ -32782,7 +32782,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "20028:12:0", + "src": "20030:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -32796,7 +32796,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1079, - "src": "20041:10:0", + "src": "20043:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -32807,7 +32807,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "20028:24:0", + "src": "20030:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -32825,7 +32825,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1069, - "src": "20088:5:0", + "src": "20090:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -32838,7 +32838,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1071, - "src": "20115:6:0", + "src": "20117:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -32851,7 +32851,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1073, - "src": "20146:9:0", + "src": "20148:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -32864,7 +32864,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1081, - "src": "20176:5:0", + "src": "20178:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -32879,7 +32879,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9, - "src": "20203:6:0", + "src": "20205:6:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_Status_$9_$", "typeString": "type(enum Escrow_v1_0.Status)" @@ -32893,7 +32893,7 @@ "memberName": "FUNDED", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "20203:13:0", + "src": "20205:13:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$9", "typeString": "enum Escrow_v1_0.Status" @@ -32908,7 +32908,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1387, - "src": "20244:5:0", + "src": "20246:5:0", "typeDescriptions": { "typeIdentifier": "t_magic_block", "typeString": "block" @@ -32922,7 +32922,7 @@ "memberName": "timestamp", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "20244:15:0", + "src": "20246:15:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -32935,7 +32935,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1075, - "src": "20284:9:0", + "src": "20286:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -32948,7 +32948,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1077, - "src": "20321:12:0", + "src": "20323:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -32961,7 +32961,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1085, - "src": "20363:15:0", + "src": "20365:15:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -32974,7 +32974,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1087, - "src": "20405:12:0", + "src": "20407:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -32988,7 +32988,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 71, - "src": "20055:11:0", + "src": "20057:11:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_struct$_Transaction_$71_storage_ptr_$", "typeString": "type(struct Escrow_v1_0.Transaction storage pointer)" @@ -33013,13 +33013,13 @@ "tokenAddress" ], "nodeType": "FunctionCall", - "src": "20055:373:0", + "src": "20057:373:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_memory", "typeString": "struct Escrow_v1_0.Transaction memory" } }, - "src": "20028:400:0", + "src": "20030:400:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -33027,7 +33027,7 @@ }, "id": 1161, "nodeType": "ExpressionStatement", - "src": "20028:400:0" + "src": "20030:400:0" }, { "expression": { @@ -33050,7 +33050,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "20439:12:0", + "src": "20441:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -33064,7 +33064,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1079, - "src": "20452:10:0", + "src": "20454:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -33075,7 +33075,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20439:24:0", + "src": "20441:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -33089,7 +33089,7 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "20439:32:0", + "src": "20441:32:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -33103,7 +33103,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1071, - "src": "20472:6:0", + "src": "20474:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -33114,7 +33114,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "20439:40:0", + "src": "20441:40:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -33132,7 +33132,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "20482:4:0", + "src": "20484:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -33140,7 +33140,7 @@ }, "value": "true" }, - "src": "20439:47:0", + "src": "20441:47:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -33148,7 +33148,7 @@ }, "id": 1170, "nodeType": "ExpressionStatement", - "src": "20439:47:0" + "src": "20441:47:0" }, { "expression": { @@ -33171,7 +33171,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "20496:12:0", + "src": "20498:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -33185,7 +33185,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1079, - "src": "20509:10:0", + "src": "20511:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -33196,7 +33196,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20496:24:0", + "src": "20498:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -33210,7 +33210,7 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "20496:32:0", + "src": "20498:32:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -33224,7 +33224,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1069, - "src": "20529:5:0", + "src": "20531:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -33235,7 +33235,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "20496:39:0", + "src": "20498:39:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -33253,7 +33253,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "20538:4:0", + "src": "20540:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -33261,7 +33261,7 @@ }, "value": "true" }, - "src": "20496:46:0", + "src": "20498:46:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -33269,7 +33269,7 @@ }, "id": 1179, "nodeType": "ExpressionStatement", - "src": "20496:46:0" + "src": "20498:46:0" }, { "expression": { @@ -33285,7 +33285,7 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "20649:44:0", + "src": "20651:44:0", "subExpression": { "argumentTypes": null, "baseExpression": { @@ -33299,7 +33299,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "20650:12:0", + "src": "20652:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -33313,7 +33313,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1079, - "src": "20663:10:0", + "src": "20665:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -33324,7 +33324,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20650:24:0", + "src": "20652:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -33338,7 +33338,7 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "20650:32:0", + "src": "20652:32:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -33352,7 +33352,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1073, - "src": "20683:9:0", + "src": "20685:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -33363,7 +33363,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20650:43:0", + "src": "20652:43:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -33384,7 +33384,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "20708:47:0", + "src": "20710:47:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_313b391557427937e7bdb85c7561d47c5b9c985755a448dd33a92026ffb38f8d", @@ -33412,7 +33412,7 @@ 1401 ], "referencedDeclaration": 1401, - "src": "20628:7:0", + "src": "20630:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" @@ -33426,7 +33426,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "20628:137:0", + "src": "20630:137:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -33434,7 +33434,7 @@ }, "id": 1190, "nodeType": "ExpressionStatement", - "src": "20628:137:0" + "src": "20630:137:0" }, { "condition": { @@ -33455,7 +33455,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1075, - "src": "20925:9:0", + "src": "20927:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -33473,7 +33473,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "20937:1:0", + "src": "20939:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -33481,7 +33481,7 @@ }, "value": "1" }, - "src": "20925:13:0", + "src": "20927:13:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -33490,11 +33490,11 @@ "falseBody": null, "id": 1204, "nodeType": "IfStatement", - "src": "20921:94:0", + "src": "20923:94:0", "trueBody": { "id": 1203, "nodeType": "Block", - "src": "20940:75:0", + "src": "20942:75:0", "statements": [ { "expression": { @@ -33517,7 +33517,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "20954:12:0", + "src": "20956:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" @@ -33531,7 +33531,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1079, - "src": "20967:10:0", + "src": "20969:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -33542,7 +33542,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20954:24:0", + "src": "20956:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -33556,7 +33556,7 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "20954:32:0", + "src": "20956:32:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -33570,7 +33570,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1073, - "src": "20987:9:0", + "src": "20989:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -33581,7 +33581,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "20954:43:0", + "src": "20956:43:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -33599,7 +33599,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "21000:4:0", + "src": "21002:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -33607,7 +33607,7 @@ }, "value": "true" }, - "src": "20954:50:0", + "src": "20956:50:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -33615,7 +33615,7 @@ }, "id": 1202, "nodeType": "ExpressionStatement", - "src": "20954:50:0" + "src": "20956:50:0" } ] } @@ -33631,7 +33631,7 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "21033:18:0", + "src": "21035:18:0", "subExpression": { "argumentTypes": null, "id": 1205, @@ -33639,7 +33639,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 78, - "src": "21033:16:0", + "src": "21035:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -33652,7 +33652,7 @@ }, "id": 1207, "nodeType": "ExpressionStatement", - "src": "21033:18:0" + "src": "21035:18:0" }, { "expression": { @@ -33665,7 +33665,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1079, - "src": "21093:10:0", + "src": "21095:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -33688,7 +33688,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 83, - "src": "21062:18:0", + "src": "21064:18:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_bytes32_$dyn_storage_$", "typeString": "mapping(address => bytes32[] storage ref)" @@ -33702,7 +33702,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1069, - "src": "21081:5:0", + "src": "21083:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -33713,7 +33713,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "21062:25:0", + "src": "21064:25:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage", "typeString": "bytes32[] storage ref" @@ -33727,7 +33727,7 @@ "memberName": "push", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "21062:30:0", + "src": "21064:30:0", "typeDescriptions": { "typeIdentifier": "t_function_arraypush_nonpayable$_t_bytes32_$returns$_t_uint256_$", "typeString": "function (bytes32) returns (uint256)" @@ -33741,7 +33741,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "21062:42:0", + "src": "21064:42:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -33749,7 +33749,7 @@ }, "id": 1214, "nodeType": "ExpressionStatement", - "src": "21062:42:0" + "src": "21064:42:0" }, { "expression": { @@ -33762,7 +33762,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1079, - "src": "21146:10:0", + "src": "21148:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -33785,7 +33785,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 83, - "src": "21114:18:0", + "src": "21116:18:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_bytes32_$dyn_storage_$", "typeString": "mapping(address => bytes32[] storage ref)" @@ -33799,7 +33799,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1071, - "src": "21133:6:0", + "src": "21135:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -33810,7 +33810,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "21114:26:0", + "src": "21116:26:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage", "typeString": "bytes32[] storage ref" @@ -33824,7 +33824,7 @@ "memberName": "push", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "21114:31:0", + "src": "21116:31:0", "typeDescriptions": { "typeIdentifier": "t_function_arraypush_nonpayable$_t_bytes32_$returns$_t_uint256_$", "typeString": "function (bytes32) returns (uint256)" @@ -33838,7 +33838,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "21114:43:0", + "src": "21116:43:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -33846,7 +33846,7 @@ }, "id": 1221, "nodeType": "ExpressionStatement", - "src": "21114:43:0" + "src": "21116:43:0" } ] }, @@ -33868,7 +33868,7 @@ "name": "buyer", "nodeType": "VariableDeclaration", "scope": 1223, - "src": "18557:13:0", + "src": "18559:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -33879,7 +33879,7 @@ "id": 1068, "name": "address", "nodeType": "ElementaryTypeName", - "src": "18557:7:0", + "src": "18559:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -33894,7 +33894,7 @@ "name": "seller", "nodeType": "VariableDeclaration", "scope": 1223, - "src": "18580:14:0", + "src": "18582:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -33905,7 +33905,7 @@ "id": 1070, "name": "address", "nodeType": "ElementaryTypeName", - "src": "18580:7:0", + "src": "18582:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -33920,7 +33920,7 @@ "name": "moderator", "nodeType": "VariableDeclaration", "scope": 1223, - "src": "18604:17:0", + "src": "18606:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -33931,7 +33931,7 @@ "id": 1072, "name": "address", "nodeType": "ElementaryTypeName", - "src": "18604:7:0", + "src": "18606:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -33946,7 +33946,7 @@ "name": "threshold", "nodeType": "VariableDeclaration", "scope": 1223, - "src": "18631:15:0", + "src": "18633:15:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -33957,7 +33957,7 @@ "id": 1074, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "18631:5:0", + "src": "18633:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -33972,7 +33972,7 @@ "name": "timeoutHours", "nodeType": "VariableDeclaration", "scope": 1223, - "src": "18656:19:0", + "src": "18658:19:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -33983,7 +33983,7 @@ "id": 1076, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "18656:6:0", + "src": "18658:6:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -33998,7 +33998,7 @@ "name": "scriptHash", "nodeType": "VariableDeclaration", "scope": 1223, - "src": "18685:18:0", + "src": "18687:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -34009,7 +34009,7 @@ "id": 1078, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "18685:7:0", + "src": "18687:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -34024,7 +34024,7 @@ "name": "value", "nodeType": "VariableDeclaration", "scope": 1223, - "src": "18713:13:0", + "src": "18715:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -34035,7 +34035,7 @@ "id": 1080, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "18713:7:0", + "src": "18715:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -34050,7 +34050,7 @@ "name": "uniqueId", "nodeType": "VariableDeclaration", "scope": 1223, - "src": "18736:16:0", + "src": "18738:16:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -34061,7 +34061,7 @@ "id": 1082, "name": "bytes20", "nodeType": "ElementaryTypeName", - "src": "18736:7:0", + "src": "18738:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -34076,7 +34076,7 @@ "name": "transactionType", "nodeType": "VariableDeclaration", "scope": 1223, - "src": "18762:31:0", + "src": "18764:31:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -34089,7 +34089,7 @@ "name": "TransactionType", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 12, - "src": "18762:15:0", + "src": "18764:15:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -34104,7 +34104,7 @@ "name": "tokenAddress", "nodeType": "VariableDeclaration", "scope": 1223, - "src": "18803:20:0", + "src": "18805:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -34115,7 +34115,7 @@ "id": 1086, "name": "address", "nodeType": "ElementaryTypeName", - "src": "18803:7:0", + "src": "18805:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -34125,27 +34125,27 @@ "visibility": "internal" } ], - "src": "18547:282:0" + "src": "18549:282:0" }, "payable": false, "returnParameters": { "id": 1089, "nodeType": "ParameterList", "parameters": [], - "src": "18850:0:0" + "src": "18852:0:0" }, "scope": 1224, - "src": "18523:2641:0", + "src": "18525:2641:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "private" } ], "scope": 1225, - "src": "605:20561:0" + "src": "605:20563:0" } ], - "src": "0:21167:0" + "src": "0:21169:0" }, "compiler": { "name": "solc", @@ -34153,5 +34153,5 @@ }, "networks": {}, "schemaVersion": "2.0.1", - "updatedAt": "2018-11-19T13:48:58.856Z" + "updatedAt": "2018-11-19T13:59:44.091Z" } \ No newline at end of file diff --git a/build/contracts/ITokenContract.json b/build/contracts/ITokenContract.json index 9136d01..47f1950 100644 --- a/build/contracts/ITokenContract.json +++ b/build/contracts/ITokenContract.json @@ -817,5 +817,5 @@ }, "networks": {}, "schemaVersion": "2.0.1", - "updatedAt": "2018-11-19T13:48:58.846Z" + "updatedAt": "2018-11-19T13:59:44.073Z" } \ No newline at end of file diff --git a/build/contracts/SafeMath.json b/build/contracts/SafeMath.json index 4ccee3e..0346376 100644 --- a/build/contracts/SafeMath.json +++ b/build/contracts/SafeMath.json @@ -3295,5 +3295,5 @@ }, "networks": {}, "schemaVersion": "2.0.1", - "updatedAt": "2018-11-19T13:48:58.848Z" + "updatedAt": "2018-11-19T13:59:44.075Z" } \ No newline at end of file diff --git a/contracts/escrow/Escrow_v1_0.sol b/contracts/escrow/Escrow_v1_0.sol index dee73eb..48bb7f2 100644 --- a/contracts/escrow/Escrow_v1_0.sol +++ b/contracts/escrow/Escrow_v1_0.sol @@ -260,7 +260,6 @@ contract Escrow_v1_0 { transactions[scriptHash].value = transactions[scriptHash].value .add(msg.value); - transactions[scriptHash].lastModified = block.timestamp; emit FundAdded(scriptHash, msg.sender, msg.value); } @@ -295,7 +294,6 @@ contract Escrow_v1_0 { transactions[scriptHash].value = transactions[scriptHash].value .add(value); - transactions[scriptHash].lastModified = block.timestamp; emit FundAdded(scriptHash, msg.sender, value); } From fe8c7b8aacfda2dd431fc485b7ae77ddae993d9f Mon Sep 17 00:00:00 2001 From: Sameep Singhania Date: Mon, 19 Nov 2018 19:35:08 +0530 Subject: [PATCH 18/19] In addTokensToTransaction using msg.sender instead of buyer, both are same --- build/contracts/Escrow_v1_0.json | 8850 +++++++++++++-------------- build/contracts/ITokenContract.json | 182 +- build/contracts/SafeMath.json | 818 +-- contracts/escrow/Escrow_v1_0.sol | 2 +- 4 files changed, 4716 insertions(+), 5136 deletions(-) diff --git a/build/contracts/Escrow_v1_0.json b/build/contracts/Escrow_v1_0.json index b56aabb..3ded161 100644 --- a/build/contracts/Escrow_v1_0.json +++ b/build/contracts/Escrow_v1_0.json @@ -395,20 +395,20 @@ "type": "function" } ], - "bytecode": "0x6080604052600060015534801561001557600080fd5b5061432c806100256000396000f3006080604052600436106100af576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806323b6fd3f146100b45780632d9ef96e1461016e57806346fbcdeb1461019257806357bced7614610287578063642f2eaf14610378578063b0550c66146104da578063b719e28014610543578063b77bf6001461057e578063be84ceaf146105a9578063e4ec8b0014610641578063f0786562146106ea575b600080fd5b61016c600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff169060200190929190803563ffffffff169060200190929190803560001916906020019092919080356bffffffffffffffffffffffff19169060200190929190505050610753565b005b61019060048036038101908080356000191690602001909291905050506109a7565b005b34801561019e57600080fd5b5061026960048036038101908080356bffffffffffffffffffffffff19169060200190929190803560ff169060200190929190803563ffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610e24565b60405180826000191660001916815260200191505060405180910390f35b34801561029357600080fd5b50610376600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff169060200190929190803563ffffffff16906020019092919080356000191690602001909291908035906020019092919080356bffffffffffffffffffffffff19169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506112d0565b005b34801561038457600080fd5b506103a760048036038101908080356000191690602001909291905050506117a5565b604051808b81526020018a81526020018960018111156103c357fe5b60ff1681526020018860018111156103d757fe5b60ff1681526020018760ff1660ff1681526020018663ffffffff1663ffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019a505050505050505050505060405180910390f35b3480156104e657600080fd5b506105296004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506118b0565b604051808215151515815260200191505060405180910390f35b34801561054f57600080fd5b5061057c600480360381019080803560001916906020019092919080359060200190929190505050611922565b005b34801561058a57600080fd5b50610593611ff2565b6040518082815260200191505060405180910390f35b3480156105b557600080fd5b506105ea600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611ff8565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b8381101561062d578082015181840152602081019050610612565b505050509050019250505060405180910390f35b34801561064d57600080fd5b506106e86004803603810190808035906020019082018035906020019190919293919293908035906020019082018035906020019190919293919293908035906020019082018035906020019190919293919293908035600019169060200190929190803590602001908201803590602001919091929391929390803590602001908201803590602001919091929391929390505050612093565b005b3480156106f657600080fd5b506107396004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061267c565b604051808215151515815260200191505060405180910390f35b8160008060008360001916600019168152602001908152602001600020600001541415156107e9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f5472616e73616374696f6e20657869737400000000000000000000000000000081525060200191505060405180910390fd5b87600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561088f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b87600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610935576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b6109488a8a8a8a8a8a348b6000806126ee565b3373ffffffffffffffffffffffffffffffffffffffff1685600019167fce7089d0668849fb9ca29778c0cbf1e764d9efb048d81fd71fb34c94f26db368346040518082815260200191505060405180910390a350505050505050505050565b80600080600083600019166000191681526020019081526020016000206000015414151515610a3e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737400000000000081525060200191505060405180910390fd5b8160006001811115610a4c57fe5b600080836000191660001916815260200190815260200160002060020160009054906101000a900460ff166001811115610a8257fe5b141515610b1d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001807f5472616e73616374696f6e206973206e6f7420696e2046554e4445442073746181526020017f746500000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b826000806001811115610b2c57fe5b600080846000191660001916815260200190815260200160002060020160019054906101000a900460ff166001811115610b6257fe5b141515610bd7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5472616e73616374696f6e207479706520646f6573206e6f74206d617463680081525060200191505060405180910390fd5b84600080826000191660001916815260200190815260200160002060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610cde576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f54686520696e69746961746f72206f6620746865207472616e73616374696f6e81526020017f206973206e6f742062757965720000000000000000000000000000000000000081525060400191505060405180910390fd5b600034111515610d56576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f56616c7565206d7573742062652067726561746572207468616e207a65726f2e81525060200191505060405180910390fd5b610d863460008089600019166000191681526020019081526020016000206000015461307a90919063ffffffff16565b600080886000191660001916815260200190815260200160002060000181905550426000808860001916600019168152602001908152602001600020600101819055503373ffffffffffffffffffffffffffffffffffffffff1686600019167ff66fd2ae9e24a6a24b02e1b5b7512ffde5149a4176085fc0298ae228c9b9d729346040518082815260200191505060405180910390a3505050505050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611070578787878787873060405160200180886bffffffffffffffffffffffff19166bffffffffffffffffffffffff191681526014018760ff1660ff167f01000000000000000000000000000000000000000000000000000000000000000281526001018663ffffffff1663ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014019750505050505050506040516020818303038152906040526040518082805190602001908083835b60208310151561103c5780518252602082019150602081019050602083039250611017565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902090506112c5565b878787878787308860405160200180896bffffffffffffffffffffffff19166bffffffffffffffffffffffff191681526014018860ff1660ff167f01000000000000000000000000000000000000000000000000000000000000000281526001018763ffffffff1663ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401985050505050505050506040516020818303038152906040526040518082805190602001908083835b6020831015156112955780518252602082019150602081019050602083039250611270565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902090505b979650505050505050565b6000846000806000836000191660001916815260200190815260200160002060000154141515611368576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f5472616e73616374696f6e20657869737400000000000000000000000000000081525060200191505060405180910390fd5b8a600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561140e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b8a600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156114b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b84600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561155a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b61156d8e8e8e8e8e8e8e8e60018f6126ee565b8594508473ffffffffffffffffffffffffffffffffffffffff166323b872dd33308b6040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b15801561164757600080fd5b505af115801561165b573d6000803e3d6000fd5b505050506040513d602081101561167157600080fd5b81019080805190602001909291905050501515611742576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252605d8152602001807f546f6b656e207472616e73666572206661696c65642c206d6179626520796f7581526020017f20646964206e6f7420617070726f766520657363726f7720636f6e747261637481526020017f20746f207370656e64206f6e20626568616c66206f662073656e64657200000081525060600191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff1689600019167fce7089d0668849fb9ca29778c0cbf1e764d9efb048d81fd71fb34c94f26db3688a6040518082815260200191505060405180910390a35050505050505050505050505050565b60006020528060005260406000206000915090508060000154908060010154908060020160009054906101000a900460ff16908060020160019054906101000a900460ff16908060020160029054906101000a900460ff16908060020160039054906101000a900463ffffffff16908060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060050160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508a565b6000806000846000191660001916815260200190815260200160002060080160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6000826000806000836000191660001916815260200190815260200160002060000154141515156119bb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737400000000000081525060200191505060405180910390fd5b83600060018111156119c957fe5b600080836000191660001916815260200190815260200160002060020160009054906101000a900460ff1660018111156119ff57fe5b141515611a9a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001807f5472616e73616374696f6e206973206e6f7420696e2046554e4445442073746181526020017f746500000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b846001806001811115611aa957fe5b600080846000191660001916815260200190815260200160002060020160019054906101000a900460ff166001811115611adf57fe5b141515611b54576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5472616e73616374696f6e207479706520646f6573206e6f74206d617463680081525060200191505060405180910390fd5b86600080826000191660001916815260200190815260200160002060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611c5b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f54686520696e69746961746f72206f6620746865207472616e73616374696f6e81526020017f206973206e6f742062757965720000000000000000000000000000000000000081525060400191505060405180910390fd5b600087111515611cd3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f56616c7565206d7573742062652067726561746572207468616e207a65726f2e81525060200191505060405180910390fd5b600080896000191660001916815260200190815260200160002060040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1695508573ffffffffffffffffffffffffffffffffffffffff166323b872dd6000808b6000191660001916815260200190815260200160002060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff16308a6040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b158015611e2757600080fd5b505af1158015611e3b573d6000803e3d6000fd5b505050506040513d6020811015611e5157600080fd5b81019080805190602001909291905050501515611f22576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252605c8152602001807f546f6b656e207472616e73666572206661696c65642c206d6179626520796f7581526020017f20646964206e6f7420617070726f766520657363726f7720636f6e747261637481526020017f20746f207370656e64206f6e20626568616c66206f662062757965720000000081525060600191505060405180910390fd5b611f52876000808b600019166000191681526020019081526020016000206000015461307a90919063ffffffff16565b6000808a6000191660001916815260200190815260200160002060000181905550426000808a60001916600019168152602001908152602001600020600101819055503373ffffffffffffffffffffffffffffffffffffffff1688600019167ff66fd2ae9e24a6a24b02e1b5b7512ffde5149a4176085fc0298ae228c9b9d729896040518082815260200191505060405180910390a35050505050505050565b60015481565b6060600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080548060200260200160405190810160405280929190818152602001828054801561208757602002820191906000526020600020905b8154600019168152602001906001019080831161206f575b50505050509050919050565b8460008060008360001916600019168152602001908152602001600020600001541415151561212a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737400000000000081525060200191505060405180910390fd5b856000600181111561213857fe5b600080836000191660001916815260200190815260200160002060020160009054906101000a900460ff16600181111561216e57fe5b141515612209576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001807f5472616e73616374696f6e206973206e6f7420696e2046554e4445442073746181526020017f746500000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b6000868690501115156122aa576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f4e756d626572206f662064657374696e6174696f6e73206d757374206265206781526020017f726561746572207468616e20300000000000000000000000000000000000000081525060400191505060405180910390fd5b838390508686905014151561234d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260378152602001807f4e756d626572206f662064657374696e6174696f6e73206d757374206d61746381526020017f68206e756d626572206f662076616c7565732073656e7400000000000000000081525060400191505060405180910390fd5b6124468d8d808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508c8c808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508b8b808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508a8a8a8080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505089898080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505061309b565b6001600080896000191660001916815260200190815260200160002060020160006101000a81548160ff0219169083600181111561248057fe5b02179055504260008089600019166000191681526020019081526020016000206001018190555060008088600019166000191681526020019081526020016000206000015461252e8888888080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505087878080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505061327c565b1415156125ef576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260488152602001807f546f74616c2076616c756520746f2062652072656c6561736564206d7573742081526020017f626520657175616c20746f20746865207472616e73616374696f6e206573637281526020017f6f772076616c756500000000000000000000000000000000000000000000000081525060600191505060405180910390fd5b86600019167f688e2a1b34445bcd47b0e11ba2a9c8c4d850a1831b64199b59d1c70e29701545878787876040518080602001806020018381038352878782818152602001925060200280828437820191505083810382528585828181526020019250602002808284378201915050965050505050505060405180910390a250505050505050505050505050565b6000806000846000191660001916815260200190815260200160002060070160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b8873ffffffffffffffffffffffffffffffffffffffff168a73ffffffffffffffffffffffffffffffffffffffff1614151515612792576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f427579657220616e642073656c6c6572206172652073616d650000000000000081525060200191505060405180910390fd5b60008411151561280a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f56616c756520706173736564206973203000000000000000000000000000000081525060200191505060405180910390fd5b60008760ff16118015612821575060038760ff1611155b15156128bb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603d8152602001807f5468726573686f6c642063616e6e6f742062652067726561746572207468616e81526020017f203320616e64206d7573742062652067726561746572207468616e203000000081525060400191505060405180910390fd5b60018760ff1614806128fa5750600073ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff1614155b15156129ba576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260488152602001807f456974686572207468726573686f6c642073686f756c642062652031206f722081526020017f76616c6964206d6f64657261746f7220616464726573732073686f756c64206281526020017f652070617373656400000000000000000000000000000000000000000000000081525060600191505060405180910390fd5b6129c98388888d8d8d87610e24565b600019168560001916141515612a6d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260398152602001807f43616c63756c6174656420736372697074206861736820646f6573206e6f742081526020017f6d61746368207061737365642073637269707420686173682e0000000000000081525060400191505060405180910390fd5b6101406040519081016040528085815260200142815260200160006001811115612a9357fe5b8152602001836001811115612aa457fe5b81526020018860ff1681526020018763ffffffff1681526020018b73ffffffffffffffffffffffffffffffffffffffff1681526020018a73ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020018973ffffffffffffffffffffffffffffffffffffffff168152506000808760001916600019168152602001908152602001600020600082015181600001556020820151816001015560408201518160020160006101000a81548160ff02191690836001811115612b7e57fe5b021790555060608201518160020160016101000a81548160ff02191690836001811115612ba757fe5b021790555060808201518160020160026101000a81548160ff021916908360ff16021790555060a08201518160020160036101000a81548163ffffffff021916908363ffffffff16021790555060c08201518160020160076101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060e08201518160030160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506101008201518160040160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506101208201518160050160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055509050506001600080876000191660001916815260200190815260200160002060060160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600080876000191660001916815260200190815260200160002060060160008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600080866000191660001916815260200190815260200160002060060160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151515612efe576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f456974686572206275796572206f722073656c6c65722069732070617373656481526020017f206173206d6f64657261746f720000000000000000000000000000000000000081525060400191505060405180910390fd5b60018760ff161115612f7e576001600080876000191660001916815260200190815260200160002060060160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b600160008154809291906001019190505550600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020859080600181540180825580915050906001820390600052602060002001600090919290919091509060001916905550600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002085908060018154018082558091505090600182039060005260206000200160009091929091909150906000191690555050505050505050505050565b600080828401905083811015151561309157600080fd5b8091505092915050565b6000806130ac888888888888613bd4565b9150613102600080876000191660001916815260200190815260200160002060020160039054906101000a900463ffffffff1660008088600019166000191681526020019081526020016000206001015461424d565b9050600080866000191660001916815260200190815260200160002060020160029054906101000a900460ff1660ff1688511080156131b357508015806131b25750600080866000191660001916815260200190815260200160002060030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b5b15613272576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260588152602001807f4d696e696d756d206e756d626572206f66207369676e6174757265732061726581526020017f206e6f7420636f6c6c656374656420616e642074696d65206c6f636b2065787081526020017f69727920636f6e646974696f6e73206e6f74206d65742121000000000000000081525060600191505060405180910390fd5b5050505050505050565b6000806000806000806000808a60001916600019168152602001908152602001600020945060009350600060018111156132b257fe5b8560020160019054906101000a900460ff1660018111156132cf57fe5b141561369e57600092505b875183101561369957600073ffffffffffffffffffffffffffffffffffffffff16888481518110151561330957fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff16141515156133c5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001807f7a65726f2061646472657373206973206e6f7420616c6c6f776564206173206481526020017f657374696e6174696f6e2061646472657373000000000000000000000000000081525060400191505060405180910390fd5b84600601600089858151811015156133d957fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615156134c5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c8152602001807f44657374696e6174696f6e2061646472657373206973206e6f74206f6e65206f81526020017f6620746865206f776e657273000000000000000000000000000000000000000081525060400191505060405180910390fd5b600087848151811015156134d557fe5b9060200190602002015111151561357a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001807f416d6f756e7420746f2062652073656e742073686f756c64206265206772656181526020017f746572207468616e20300000000000000000000000000000000000000000000081525060400191505060405180910390fd5b6135a4878481518110151561358b57fe5b906020019060200201518561307a90919063ffffffff16565b935060018560080160008a868151811015156135bc57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550878381518110151561362557fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff166108fc888581518110151561365657fe5b906020019060200201519081150290604051600060405180830381858888f1935050505015801561368b573d6000803e3d6000fd5b5082806001019350506132da565b613bc5565b6001808111156136aa57fe5b8560020160019054906101000a900460ff1660018111156136c757fe5b1415613bc4578460040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169150600090505b8751811015613bc357600073ffffffffffffffffffffffffffffffffffffffff16888281518110151561372857fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff16141515156137e4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001807f7a65726f2061646472657373206973206e6f7420616c6c6f776564206173206481526020017f657374696e6174696f6e2061646472657373000000000000000000000000000081525060400191505060405180910390fd5b84600601600089838151811015156137f857fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615156138e4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c8152602001807f44657374696e6174696f6e2061646472657373206973206e6f74206f6e65206f81526020017f6620746865206f776e657273000000000000000000000000000000000000000081525060400191505060405180910390fd5b600087828151811015156138f457fe5b90602001906020020151111515613999576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001807f416d6f756e7420746f2062652073656e742073686f756c64206265206772656181526020017f746572207468616e20300000000000000000000000000000000000000000000081525060400191505060405180910390fd5b6139c387828151811015156139aa57fe5b906020019060200201518561307a90919063ffffffff16565b935060018560080160008a848151811015156139db57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb8983815181101515613a6057fe5b906020019060200201518984815181101515613a7857fe5b906020019060200201516040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015613b0757600080fd5b505af1158015613b1b573d6000803e3d6000fd5b505050506040513d6020811015613b3157600080fd5b81019080805190602001909291905050501515613bb6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f546f6b656e207472616e73666572206661696c65642e0000000000000000000081525060200191505060405180910390fd5b80806001019150506136f9565b5b5b83955050505050509392505050565b600080600080600088518a51148015613bee57508a518a51145b1515613c62576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f522c532c56206c656e677468206d69736d617463682e0000000000000000000081525060200191505060405180910390fd5b60197f01000000000000000000000000000000000000000000000000000000000000000260007f0100000000000000000000000000000000000000000000000000000000000000023089898c60405160200180877effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168152600101867effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526001018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401848051906020019060200280838360005b83811015613db6578082015181840152602081019050613d9b565b50505050905001838051906020019060200280838360005b83811015613de9578082015181840152602081019050613dce565b50505050905001826000191660001916815260200196505050505050506040516020818303038152906040526040518082805190602001908083835b602083101515613e4a5780518252602082019150602081019050602083039250613e25565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902060405160200180807f19457468657265756d205369676e6564204d6573736167653a0a333200000000815250601c0182600019166000191681526020019150506040516020818303038152906040526040518082805190602001908083835b602083101515613efb5780518252602082019150602081019050602083039250613ed6565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390209250600091505b895182101561423c576001838c84815181101515613f4957fe5b906020019060200201518c85815181101515613f6157fe5b906020019060200201518c86815181101515613f7957fe5b90602001906020020151604051600081526020016040526040518085600019166000191681526020018460ff1660ff1681526020018360001916600019168152602001826000191660001916815260200194505050505060206040516020810390808403906000865af1158015613ff4573d6000803e3d6000fd5b505050602060405103519050600080896000191660001916815260200190815260200160002060060160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615156140dc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f496e76616c6964207369676e617475726500000000000000000000000000000081525060200191505060405180910390fd5b600080896000191660001916815260200190815260200160002060070160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515156141b9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f53616d65207369676e61747572652073656e742074776963650000000000000081525060200191505060405180910390fd5b60016000808a6000191660001916815260200190815260200160002060070160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508093508180600101925050613f2f565b839450505050509695505050505050565b60008061426383426142a190919063ffffffff16565b905060008463ffffffff16146142955761428e610e108563ffffffff166142c290919063ffffffff16565b8111614298565b60005b91505092915050565b6000808383111515156142b357600080fd5b82840390508091505092915050565b60008060008414156142d757600091506142f9565b82840290508284828115156142e857fe5b041415156142f557600080fd5b8091505b50929150505600a165627a7a72305820a917fe9be52afe10ecafece56bbbb1fba543b243a617e9fa4effdca04571c6580029", - "deployedBytecode": "0x6080604052600436106100af576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806323b6fd3f146100b45780632d9ef96e1461016e57806346fbcdeb1461019257806357bced7614610287578063642f2eaf14610378578063b0550c66146104da578063b719e28014610543578063b77bf6001461057e578063be84ceaf146105a9578063e4ec8b0014610641578063f0786562146106ea575b600080fd5b61016c600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff169060200190929190803563ffffffff169060200190929190803560001916906020019092919080356bffffffffffffffffffffffff19169060200190929190505050610753565b005b61019060048036038101908080356000191690602001909291905050506109a7565b005b34801561019e57600080fd5b5061026960048036038101908080356bffffffffffffffffffffffff19169060200190929190803560ff169060200190929190803563ffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610e24565b60405180826000191660001916815260200191505060405180910390f35b34801561029357600080fd5b50610376600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff169060200190929190803563ffffffff16906020019092919080356000191690602001909291908035906020019092919080356bffffffffffffffffffffffff19169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506112d0565b005b34801561038457600080fd5b506103a760048036038101908080356000191690602001909291905050506117a5565b604051808b81526020018a81526020018960018111156103c357fe5b60ff1681526020018860018111156103d757fe5b60ff1681526020018760ff1660ff1681526020018663ffffffff1663ffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019a505050505050505050505060405180910390f35b3480156104e657600080fd5b506105296004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506118b0565b604051808215151515815260200191505060405180910390f35b34801561054f57600080fd5b5061057c600480360381019080803560001916906020019092919080359060200190929190505050611922565b005b34801561058a57600080fd5b50610593611ff2565b6040518082815260200191505060405180910390f35b3480156105b557600080fd5b506105ea600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611ff8565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b8381101561062d578082015181840152602081019050610612565b505050509050019250505060405180910390f35b34801561064d57600080fd5b506106e86004803603810190808035906020019082018035906020019190919293919293908035906020019082018035906020019190919293919293908035906020019082018035906020019190919293919293908035600019169060200190929190803590602001908201803590602001919091929391929390803590602001908201803590602001919091929391929390505050612093565b005b3480156106f657600080fd5b506107396004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061267c565b604051808215151515815260200191505060405180910390f35b8160008060008360001916600019168152602001908152602001600020600001541415156107e9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f5472616e73616374696f6e20657869737400000000000000000000000000000081525060200191505060405180910390fd5b87600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561088f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b87600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610935576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b6109488a8a8a8a8a8a348b6000806126ee565b3373ffffffffffffffffffffffffffffffffffffffff1685600019167fce7089d0668849fb9ca29778c0cbf1e764d9efb048d81fd71fb34c94f26db368346040518082815260200191505060405180910390a350505050505050505050565b80600080600083600019166000191681526020019081526020016000206000015414151515610a3e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737400000000000081525060200191505060405180910390fd5b8160006001811115610a4c57fe5b600080836000191660001916815260200190815260200160002060020160009054906101000a900460ff166001811115610a8257fe5b141515610b1d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001807f5472616e73616374696f6e206973206e6f7420696e2046554e4445442073746181526020017f746500000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b826000806001811115610b2c57fe5b600080846000191660001916815260200190815260200160002060020160019054906101000a900460ff166001811115610b6257fe5b141515610bd7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5472616e73616374696f6e207479706520646f6573206e6f74206d617463680081525060200191505060405180910390fd5b84600080826000191660001916815260200190815260200160002060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610cde576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f54686520696e69746961746f72206f6620746865207472616e73616374696f6e81526020017f206973206e6f742062757965720000000000000000000000000000000000000081525060400191505060405180910390fd5b600034111515610d56576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f56616c7565206d7573742062652067726561746572207468616e207a65726f2e81525060200191505060405180910390fd5b610d863460008089600019166000191681526020019081526020016000206000015461307a90919063ffffffff16565b600080886000191660001916815260200190815260200160002060000181905550426000808860001916600019168152602001908152602001600020600101819055503373ffffffffffffffffffffffffffffffffffffffff1686600019167ff66fd2ae9e24a6a24b02e1b5b7512ffde5149a4176085fc0298ae228c9b9d729346040518082815260200191505060405180910390a3505050505050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611070578787878787873060405160200180886bffffffffffffffffffffffff19166bffffffffffffffffffffffff191681526014018760ff1660ff167f01000000000000000000000000000000000000000000000000000000000000000281526001018663ffffffff1663ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014019750505050505050506040516020818303038152906040526040518082805190602001908083835b60208310151561103c5780518252602082019150602081019050602083039250611017565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902090506112c5565b878787878787308860405160200180896bffffffffffffffffffffffff19166bffffffffffffffffffffffff191681526014018860ff1660ff167f01000000000000000000000000000000000000000000000000000000000000000281526001018763ffffffff1663ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401985050505050505050506040516020818303038152906040526040518082805190602001908083835b6020831015156112955780518252602082019150602081019050602083039250611270565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902090505b979650505050505050565b6000846000806000836000191660001916815260200190815260200160002060000154141515611368576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f5472616e73616374696f6e20657869737400000000000000000000000000000081525060200191505060405180910390fd5b8a600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561140e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b8a600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156114b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b84600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561155a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b61156d8e8e8e8e8e8e8e8e60018f6126ee565b8594508473ffffffffffffffffffffffffffffffffffffffff166323b872dd33308b6040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b15801561164757600080fd5b505af115801561165b573d6000803e3d6000fd5b505050506040513d602081101561167157600080fd5b81019080805190602001909291905050501515611742576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252605d8152602001807f546f6b656e207472616e73666572206661696c65642c206d6179626520796f7581526020017f20646964206e6f7420617070726f766520657363726f7720636f6e747261637481526020017f20746f207370656e64206f6e20626568616c66206f662073656e64657200000081525060600191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff1689600019167fce7089d0668849fb9ca29778c0cbf1e764d9efb048d81fd71fb34c94f26db3688a6040518082815260200191505060405180910390a35050505050505050505050505050565b60006020528060005260406000206000915090508060000154908060010154908060020160009054906101000a900460ff16908060020160019054906101000a900460ff16908060020160029054906101000a900460ff16908060020160039054906101000a900463ffffffff16908060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060050160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508a565b6000806000846000191660001916815260200190815260200160002060080160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6000826000806000836000191660001916815260200190815260200160002060000154141515156119bb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737400000000000081525060200191505060405180910390fd5b83600060018111156119c957fe5b600080836000191660001916815260200190815260200160002060020160009054906101000a900460ff1660018111156119ff57fe5b141515611a9a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001807f5472616e73616374696f6e206973206e6f7420696e2046554e4445442073746181526020017f746500000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b846001806001811115611aa957fe5b600080846000191660001916815260200190815260200160002060020160019054906101000a900460ff166001811115611adf57fe5b141515611b54576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5472616e73616374696f6e207479706520646f6573206e6f74206d617463680081525060200191505060405180910390fd5b86600080826000191660001916815260200190815260200160002060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611c5b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f54686520696e69746961746f72206f6620746865207472616e73616374696f6e81526020017f206973206e6f742062757965720000000000000000000000000000000000000081525060400191505060405180910390fd5b600087111515611cd3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f56616c7565206d7573742062652067726561746572207468616e207a65726f2e81525060200191505060405180910390fd5b600080896000191660001916815260200190815260200160002060040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1695508573ffffffffffffffffffffffffffffffffffffffff166323b872dd6000808b6000191660001916815260200190815260200160002060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff16308a6040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b158015611e2757600080fd5b505af1158015611e3b573d6000803e3d6000fd5b505050506040513d6020811015611e5157600080fd5b81019080805190602001909291905050501515611f22576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252605c8152602001807f546f6b656e207472616e73666572206661696c65642c206d6179626520796f7581526020017f20646964206e6f7420617070726f766520657363726f7720636f6e747261637481526020017f20746f207370656e64206f6e20626568616c66206f662062757965720000000081525060600191505060405180910390fd5b611f52876000808b600019166000191681526020019081526020016000206000015461307a90919063ffffffff16565b6000808a6000191660001916815260200190815260200160002060000181905550426000808a60001916600019168152602001908152602001600020600101819055503373ffffffffffffffffffffffffffffffffffffffff1688600019167ff66fd2ae9e24a6a24b02e1b5b7512ffde5149a4176085fc0298ae228c9b9d729896040518082815260200191505060405180910390a35050505050505050565b60015481565b6060600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080548060200260200160405190810160405280929190818152602001828054801561208757602002820191906000526020600020905b8154600019168152602001906001019080831161206f575b50505050509050919050565b8460008060008360001916600019168152602001908152602001600020600001541415151561212a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737400000000000081525060200191505060405180910390fd5b856000600181111561213857fe5b600080836000191660001916815260200190815260200160002060020160009054906101000a900460ff16600181111561216e57fe5b141515612209576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001807f5472616e73616374696f6e206973206e6f7420696e2046554e4445442073746181526020017f746500000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b6000868690501115156122aa576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f4e756d626572206f662064657374696e6174696f6e73206d757374206265206781526020017f726561746572207468616e20300000000000000000000000000000000000000081525060400191505060405180910390fd5b838390508686905014151561234d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260378152602001807f4e756d626572206f662064657374696e6174696f6e73206d757374206d61746381526020017f68206e756d626572206f662076616c7565732073656e7400000000000000000081525060400191505060405180910390fd5b6124468d8d808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508c8c808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508b8b808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508a8a8a8080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505089898080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505061309b565b6001600080896000191660001916815260200190815260200160002060020160006101000a81548160ff0219169083600181111561248057fe5b02179055504260008089600019166000191681526020019081526020016000206001018190555060008088600019166000191681526020019081526020016000206000015461252e8888888080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505087878080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505061327c565b1415156125ef576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260488152602001807f546f74616c2076616c756520746f2062652072656c6561736564206d7573742081526020017f626520657175616c20746f20746865207472616e73616374696f6e206573637281526020017f6f772076616c756500000000000000000000000000000000000000000000000081525060600191505060405180910390fd5b86600019167f688e2a1b34445bcd47b0e11ba2a9c8c4d850a1831b64199b59d1c70e29701545878787876040518080602001806020018381038352878782818152602001925060200280828437820191505083810382528585828181526020019250602002808284378201915050965050505050505060405180910390a250505050505050505050505050565b6000806000846000191660001916815260200190815260200160002060070160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b8873ffffffffffffffffffffffffffffffffffffffff168a73ffffffffffffffffffffffffffffffffffffffff1614151515612792576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f427579657220616e642073656c6c6572206172652073616d650000000000000081525060200191505060405180910390fd5b60008411151561280a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f56616c756520706173736564206973203000000000000000000000000000000081525060200191505060405180910390fd5b60008760ff16118015612821575060038760ff1611155b15156128bb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603d8152602001807f5468726573686f6c642063616e6e6f742062652067726561746572207468616e81526020017f203320616e64206d7573742062652067726561746572207468616e203000000081525060400191505060405180910390fd5b60018760ff1614806128fa5750600073ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff1614155b15156129ba576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260488152602001807f456974686572207468726573686f6c642073686f756c642062652031206f722081526020017f76616c6964206d6f64657261746f7220616464726573732073686f756c64206281526020017f652070617373656400000000000000000000000000000000000000000000000081525060600191505060405180910390fd5b6129c98388888d8d8d87610e24565b600019168560001916141515612a6d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260398152602001807f43616c63756c6174656420736372697074206861736820646f6573206e6f742081526020017f6d61746368207061737365642073637269707420686173682e0000000000000081525060400191505060405180910390fd5b6101406040519081016040528085815260200142815260200160006001811115612a9357fe5b8152602001836001811115612aa457fe5b81526020018860ff1681526020018763ffffffff1681526020018b73ffffffffffffffffffffffffffffffffffffffff1681526020018a73ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020018973ffffffffffffffffffffffffffffffffffffffff168152506000808760001916600019168152602001908152602001600020600082015181600001556020820151816001015560408201518160020160006101000a81548160ff02191690836001811115612b7e57fe5b021790555060608201518160020160016101000a81548160ff02191690836001811115612ba757fe5b021790555060808201518160020160026101000a81548160ff021916908360ff16021790555060a08201518160020160036101000a81548163ffffffff021916908363ffffffff16021790555060c08201518160020160076101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060e08201518160030160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506101008201518160040160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506101208201518160050160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055509050506001600080876000191660001916815260200190815260200160002060060160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600080876000191660001916815260200190815260200160002060060160008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600080866000191660001916815260200190815260200160002060060160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151515612efe576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f456974686572206275796572206f722073656c6c65722069732070617373656481526020017f206173206d6f64657261746f720000000000000000000000000000000000000081525060400191505060405180910390fd5b60018760ff161115612f7e576001600080876000191660001916815260200190815260200160002060060160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b600160008154809291906001019190505550600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020859080600181540180825580915050906001820390600052602060002001600090919290919091509060001916905550600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002085908060018154018082558091505090600182039060005260206000200160009091929091909150906000191690555050505050505050505050565b600080828401905083811015151561309157600080fd5b8091505092915050565b6000806130ac888888888888613bd4565b9150613102600080876000191660001916815260200190815260200160002060020160039054906101000a900463ffffffff1660008088600019166000191681526020019081526020016000206001015461424d565b9050600080866000191660001916815260200190815260200160002060020160029054906101000a900460ff1660ff1688511080156131b357508015806131b25750600080866000191660001916815260200190815260200160002060030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b5b15613272576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260588152602001807f4d696e696d756d206e756d626572206f66207369676e6174757265732061726581526020017f206e6f7420636f6c6c656374656420616e642074696d65206c6f636b2065787081526020017f69727920636f6e646974696f6e73206e6f74206d65742121000000000000000081525060600191505060405180910390fd5b5050505050505050565b6000806000806000806000808a60001916600019168152602001908152602001600020945060009350600060018111156132b257fe5b8560020160019054906101000a900460ff1660018111156132cf57fe5b141561369e57600092505b875183101561369957600073ffffffffffffffffffffffffffffffffffffffff16888481518110151561330957fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff16141515156133c5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001807f7a65726f2061646472657373206973206e6f7420616c6c6f776564206173206481526020017f657374696e6174696f6e2061646472657373000000000000000000000000000081525060400191505060405180910390fd5b84600601600089858151811015156133d957fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615156134c5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c8152602001807f44657374696e6174696f6e2061646472657373206973206e6f74206f6e65206f81526020017f6620746865206f776e657273000000000000000000000000000000000000000081525060400191505060405180910390fd5b600087848151811015156134d557fe5b9060200190602002015111151561357a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001807f416d6f756e7420746f2062652073656e742073686f756c64206265206772656181526020017f746572207468616e20300000000000000000000000000000000000000000000081525060400191505060405180910390fd5b6135a4878481518110151561358b57fe5b906020019060200201518561307a90919063ffffffff16565b935060018560080160008a868151811015156135bc57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550878381518110151561362557fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff166108fc888581518110151561365657fe5b906020019060200201519081150290604051600060405180830381858888f1935050505015801561368b573d6000803e3d6000fd5b5082806001019350506132da565b613bc5565b6001808111156136aa57fe5b8560020160019054906101000a900460ff1660018111156136c757fe5b1415613bc4578460040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169150600090505b8751811015613bc357600073ffffffffffffffffffffffffffffffffffffffff16888281518110151561372857fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff16141515156137e4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001807f7a65726f2061646472657373206973206e6f7420616c6c6f776564206173206481526020017f657374696e6174696f6e2061646472657373000000000000000000000000000081525060400191505060405180910390fd5b84600601600089838151811015156137f857fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615156138e4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c8152602001807f44657374696e6174696f6e2061646472657373206973206e6f74206f6e65206f81526020017f6620746865206f776e657273000000000000000000000000000000000000000081525060400191505060405180910390fd5b600087828151811015156138f457fe5b90602001906020020151111515613999576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001807f416d6f756e7420746f2062652073656e742073686f756c64206265206772656181526020017f746572207468616e20300000000000000000000000000000000000000000000081525060400191505060405180910390fd5b6139c387828151811015156139aa57fe5b906020019060200201518561307a90919063ffffffff16565b935060018560080160008a848151811015156139db57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb8983815181101515613a6057fe5b906020019060200201518984815181101515613a7857fe5b906020019060200201516040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015613b0757600080fd5b505af1158015613b1b573d6000803e3d6000fd5b505050506040513d6020811015613b3157600080fd5b81019080805190602001909291905050501515613bb6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f546f6b656e207472616e73666572206661696c65642e0000000000000000000081525060200191505060405180910390fd5b80806001019150506136f9565b5b5b83955050505050509392505050565b600080600080600088518a51148015613bee57508a518a51145b1515613c62576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f522c532c56206c656e677468206d69736d617463682e0000000000000000000081525060200191505060405180910390fd5b60197f01000000000000000000000000000000000000000000000000000000000000000260007f0100000000000000000000000000000000000000000000000000000000000000023089898c60405160200180877effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168152600101867effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526001018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401848051906020019060200280838360005b83811015613db6578082015181840152602081019050613d9b565b50505050905001838051906020019060200280838360005b83811015613de9578082015181840152602081019050613dce565b50505050905001826000191660001916815260200196505050505050506040516020818303038152906040526040518082805190602001908083835b602083101515613e4a5780518252602082019150602081019050602083039250613e25565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902060405160200180807f19457468657265756d205369676e6564204d6573736167653a0a333200000000815250601c0182600019166000191681526020019150506040516020818303038152906040526040518082805190602001908083835b602083101515613efb5780518252602082019150602081019050602083039250613ed6565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390209250600091505b895182101561423c576001838c84815181101515613f4957fe5b906020019060200201518c85815181101515613f6157fe5b906020019060200201518c86815181101515613f7957fe5b90602001906020020151604051600081526020016040526040518085600019166000191681526020018460ff1660ff1681526020018360001916600019168152602001826000191660001916815260200194505050505060206040516020810390808403906000865af1158015613ff4573d6000803e3d6000fd5b505050602060405103519050600080896000191660001916815260200190815260200160002060060160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615156140dc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f496e76616c6964207369676e617475726500000000000000000000000000000081525060200191505060405180910390fd5b600080896000191660001916815260200190815260200160002060070160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515156141b9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f53616d65207369676e61747572652073656e742074776963650000000000000081525060200191505060405180910390fd5b60016000808a6000191660001916815260200190815260200160002060070160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508093508180600101925050613f2f565b839450505050509695505050505050565b60008061426383426142a190919063ffffffff16565b905060008463ffffffff16146142955761428e610e108563ffffffff166142c290919063ffffffff16565b8111614298565b60005b91505092915050565b6000808383111515156142b357600080fd5b82840390508091505092915050565b60008060008414156142d757600091506142f9565b82840290508284828115156142e857fe5b041415156142f557600080fd5b8091505b50929150505600a165627a7a72305820a917fe9be52afe10ecafece56bbbb1fba543b243a617e9fa4effdca04571c6580029", - "sourceMap": "605:20563:0:-;;;1800:1;1766:35;;605:20563;8:9:-1;5:2;;;30:1;27;20:12;5:2;605:20563:0;;;;;;;", - "deployedSourceMap": "605:20563:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3861:701;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7763:579;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12201:1017;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12201:1017:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5510:1030;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5510:1030:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1708:51;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1708:51:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6781:221;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6781:221:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8670:897;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8670:897:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1766:35;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1766:35:0;;;;;;;;;;;;;;;;;;;;;;;9684:194;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9684:194:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;9684:194:0;;;;;;;;;;;;;;;;;10476:1204;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10476:1204:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7242:194;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7242:194:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3861:701;4138:10;2224:1;2190:12;:24;2203:10;2190:24;;;;;;;;;;;;;;;;;:30;;;:35;2182:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4173:5;2557:1;2531:28;;:14;:28;;;;2523:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4203:6;2557:1;2531:28;;:14;:28;;;;2523:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4225:264;4254:5;4273:6;4293:9;4316;4339:12;4365:10;4389:9;4412:8;4434:21;4477:1;4225:15;:264::i;:::-;4532:10;4513:41;;4520:10;4513:41;;;;4544:9;4513:41;;;;;;;;;;;;;;;;;;2593:1;2257;3861:701;;;;;;;;:::o;7763:579::-;7886:10;2054:1;2020:12;:24;2033:10;2020:24;;;;;;;;;;;;;;;;;:30;;;:35;;1999:96;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7920:10;2380:13;2345:48;;;;;;;;:12;:24;2358:10;2345:24;;;;;;;;;;;;;;;;;:31;;;;;;;;;;;;:48;;;;;;;;;2324:117;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7961:10;7973:21;2791:15;2747:59;;;;;;;;:12;:24;2760:10;2747:24;;;;;;;;;;;;;;;;;:40;;;;;;;;;;;;:59;;;;;;;;;2726:125;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8014:10;2959:12;:24;2972:10;2959:24;;;;;;;;;;;;;;;;;:30;;;;;;;;;;;;2945:44;;:10;:44;;;2924:124;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8070:1;8058:9;:13;8050:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8152;8200:9;8152:12;:24;8165:10;8152:24;;;;;;;;;;;;;;;;;:30;;;:47;;:58;;;;:::i;:::-;8119:12;:24;8132:10;8119:24;;;;;;;;;;;;;;;;;:30;;:91;;;;8260:15;8220:12;:24;8233:10;8220:24;;;;;;;;;;;;;;;;;:37;;:55;;;;8313:10;8291:44;;8301:10;8291:44;;;;8325:9;8291:44;;;;;;;;;;;;;;;;;;2861:1;2451;;2105;7763:579;;:::o;12201:1017::-;12471:7;12522:1;12498:26;;:12;:26;;;12494:718;;;12612:8;12642:9;12673:12;12707:5;12734:6;12762:9;12801:4;12574:250;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;12574:250:0;;;12547:291;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;12547:291:0;;;;;;;;;;;;;;;;12540:298;;;;12494:718;12941:8;12971:9;13002:12;13036:5;13063:6;13091:9;13130:4;13157:12;12903:284;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;12903:284:0;;;12876:325;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;12876:325:0;;;;;;;;;;;;;;;;12869:332;;12201:1017;;;;;;;;;;:::o;5510:1030::-;6227:20;5829:10;2224:1;2190:12;:24;2203:10;2190:24;;;;;;;;;;;;;;;;;:30;;;:35;2182:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5864:5;2557:1;2531:28;;:14;:28;;;;2523:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5894:6;2557:1;2531:28;;:14;:28;;;;2523:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5925:12;2557:1;2531:28;;:14;:28;;;;2523:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5954:262;5983:5;6002:6;6022:9;6045;6068:12;6094:10;6118:5;6137:8;6159:21;6194:12;5954:15;:262::i;:::-;6265:12;6227:51;;6310:5;:18;;;6329:10;6349:4;6356:5;6310:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6310:52:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6310:52:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6310:52:0;;;;;;;;;;;;;;;;6289:192;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6515:10;6496:37;;6503:10;6496:37;;;;6527:5;6496:37;;;;;;;;;;;;;;;;;;2593:1;;2257;5510:1030;;;;;;;;;;;:::o;1708:51::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;6781:221::-;6917:4;6944:12;:24;6957:10;6944:24;;;;;;;;;;;;;;;;;:38;;:51;6983:11;6944:51;;;;;;;;;;;;;;;;;;;;;;;;;6937:58;;6781:221;;;;:::o;8670:897::-;9021:20;8801:10;2054:1;2020:12;:24;2033:10;2020:24;;;;;;;;;;;;;;;;;:30;;;:35;;1999:96;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8835:10;2380:13;2345:48;;;;;;;;:12;:24;2358:10;2345:24;;;;;;;;;;;;;;;;;:31;;;;;;;;;;;;:48;;;;;;;;;2324:117;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8876:10;8888:21;2791:15;2747:59;;;;;;;;:12;:24;2760:10;2747:24;;;;;;;;;;;;;;;;;:40;;;;;;;;;;;;:59;;;;;;;;;2726:125;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8929:10;2959:12;:24;2972:10;2959:24;;;;;;;;;;;;;;;;;:30;;;;;;;;;;;;2945:44;;:10;:44;;;2924:124;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8972:1;8964:5;:9;8956:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9072:12;:24;9085:10;9072:24;;;;;;;;;;;;;;;;;:37;;;;;;;;;;;;9021:98;;9151:5;:18;;;9170:12;:24;9183:10;9170:24;;;;;;;;;;;;;;;;;:30;;;;;;;;;;;;9210:4;9217:5;9151:72;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9151:72:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9151:72:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;9151:72:0;;;;;;;;;;;;;;;;9130:211;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9385:54;9433:5;9385:12;:24;9398:10;9385:24;;;;;;;;;;;;;;;;;:30;;;:47;;:54;;;;:::i;:::-;9352:12;:24;9365:10;9352:24;;;;;;;;;;;;;;;;;:30;;:87;;;;9489:15;9449:12;:24;9462:10;9449:24;;;;;;;;;;;;;;;;;:37;;:55;;;;9542:10;9520:40;;9530:10;9520:40;;;;9554:5;9520:40;;;;;;;;;;;;;;;;;;2861:1;2451;;2105;8670:897;;;;:::o;1766:35::-;;;;:::o;9684:194::-;9806:9;9839:18;:32;9858:12;9839:32;;;;;;;;;;;;;;;9832:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9684:194;;;:::o;10476:1204::-;10698:10;2054:1;2020:12;:24;2033:10;2020:24;;;;;;;;;;;;;;;;;:30;;;:35;;1999:96;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10732:10;2380:13;2345:48;;;;;;;;:12;:24;2358:10;2345:24;;;;;;;;;;;;;;;;;:31;;;;;;;;;;;;:48;;;;;;;;;2324:117;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10802:1;10782:12;;:19;;:21;10761:114;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10929:7;;:14;;10906:12;;:19;;:37;10885:139;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11042:153;11074:4;;11042:153;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11092:4;;11042:153;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11110:4;;11042:153;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11128:10;11152:12;;11042:153;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11178:7;;11042:153;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:18;:153::i;:::-;11240:15;11206:12;:24;11219:10;11206:24;;;;;;;;;;;;;;;;;:31;;;:49;;;;;;;;;;;;;;;;;;;;;;;;11379:15;11339:12;:24;11352:10;11339:24;;;;;;;;;;;;;;;;;:37;;:55;;;;11478:12;:24;11491:10;11478:24;;;;;;;;;;;;;;;;;:30;;;11425:49;11440:10;11452:12;;11425:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11466:7;;11425:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:14;:49::i;:::-;:83;11404:202;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11639:10;11630:43;;;;11651:12;;11665:7;;11630:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2105:1;10476:1204;;;;;;;;;;;;:::o;7242:194::-;7365:4;7392:12;:24;7405:10;7392:24;;;;;;;;;;;;;;;;;:30;;:37;7423:5;7392:37;;;;;;;;;;;;;;;;;;;;;;;;;7385:44;;7242:194;;;;:::o;18525:2641::-;18887:6;18878:15;;:5;:15;;;;18870:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18998:1;18990:5;:9;18982:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19136:1;19124:9;:13;;;:31;;;;;19154:1;19141:9;:14;;;;19124:31;19103:140;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19537:1;19524:9;:14;;;:41;;;;19563:1;19542:23;;:9;:23;;;;19524:41;19503:160;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19709:226;19752:8;19778:9;19805:12;19835:5;19858:6;19882:9;19909:12;19709:25;:226::i;:::-;19695:240;;;:10;:240;;;;19674:345;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20057:373;;;;;;;;;20178:5;20057:373;;;;20246:15;20057:373;;;;20205:13;20057:373;;;;;;;;;;;;20365:15;20057:373;;;;;;;;;;;;20286:9;20057:373;;;;;;20323:12;20057:373;;;;;;20090:5;20057:373;;;;;;20117:6;20057:373;;;;;;20407:12;20057:373;;;;;;20148:9;20057:373;;;;;20030:12;:24;20043:10;20030:24;;;;;;;;;;;;;;;;;:400;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20484:4;20441:12;:24;20454:10;20441:24;;;;;;;;;;;;;;;;;:32;;:40;20474:6;20441:40;;;;;;;;;;;;;;;;:47;;;;;;;;;;;;;;;;;;20540:4;20498:12;:24;20511:10;20498:24;;;;;;;;;;;;;;;;;:32;;:39;20531:5;20498:39;;;;;;;;;;;;;;;;:46;;;;;;;;;;;;;;;;;;20652:12;:24;20665:10;20652:24;;;;;;;;;;;;;;;;;:32;;:43;20685:9;20652:43;;;;;;;;;;;;;;;;;;;;;;;;;20651:44;20630:137;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20939:1;20927:9;:13;;;20923:94;;;21002:4;20956:12;:24;20969:10;20956:24;;;;;;;;;;;;;;;;;:32;;:43;20989:9;20956:43;;;;;;;;;;;;;;;;:50;;;;;;;;;;;;;;;;;;20923:94;21035:16;;:18;;;;;;;;;;;;;21064;:25;21083:5;21064:25;;;;;;;;;;;;;;;21095:10;21064:42;;39:1:-1;33:3;27:10;23:18;57:10;52:3;45:23;79:10;72:17;;0:93;21064:42:0;;;;;;;;;;;;;;;;;;;;;;;;;;;21116:18;:26;21135:6;21116:26;;;;;;;;;;;;;;;21148:10;21116:43;;39:1:-1;33:3;27:10;23:18;57:10;52:3;45:23;79:10;72:17;;0:93;21116:43:0;;;;;;;;;;;;;;;;;;;;;;;;;;;18525:2641;;;;;;;;;;:::o;1272:131:2:-;1330:7;1345:9;1361:1;1357;:5;1345:17;;1381:1;1376;:6;;1368:15;;;;;;;;1397:1;1390:8;;1272:131;;;;;:::o;13492:1008:0:-;13713:21;13900:20;13737:152;13768:4;13786;13804;13822:10;13846:12;13872:7;13737:17;:152::i;:::-;13713:176;;13923:130;13955:12;:24;13968:10;13955:24;;;;;;;;;;;;;;;;;:37;;;;;;;;;;;;14006:12;:24;14019:10;14006:24;;;;;;;;;;;;;;;;;:37;;;13923:18;:130::i;:::-;13900:153;;14239:12;:24;14252:10;14239:24;;;;;;;;;;;;;;;;;:34;;;;;;;;;;;;14225:48;;:4;:11;:48;:122;;;;;14279:15;14278:16;:68;;;;14315:12;:24;14328:10;14315:24;;;;;;;;;;;;;;;;;:31;;;;;;;;;;;;14298:48;;:13;:48;;;;14278:68;14225:122;14204:289;;;14384:98;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14204:289;13492:1008;;;;;;;;:::o;14626:1723::-;14774:7;14797:21;14856:24;14962:9;15614:20;15687:9;14821:12;:24;14834:10;14821:24;;;;;;;;;;;;;;;;;14797:48;;14883:1;14856:28;;14920:21;14899:42;;;;;;;;:1;:17;;;;;;;;;;;;:42;;;;;;;;;14895:1414;;;14974:1;14962:13;;14957:577;14981:12;:19;14977:1;:23;14957:577;;;15061:1;15034:29;;:12;15047:1;15034:15;;;;;;;;;;;;;;;;;;:29;;;;15026:92;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15145:1;:9;;:26;15155:12;15168:1;15155:15;;;;;;;;;;;;;;;;;;15145:26;;;;;;;;;;;;;;;;;;;;;;;;;15137:83;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15260:1;15247:7;15255:1;15247:10;;;;;;;;;;;;;;;;;;:14;15239:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15346:32;15367:7;15375:1;15367:10;;;;;;;;;;;;;;;;;;15346:16;:20;;:32;;;;:::i;:::-;15327:51;;15432:4;15397:1;:15;;:32;15413:12;15426:1;15413:15;;;;;;;;;;;;;;;;;;15397:32;;;;;;;;;;;;;;;;:39;;;;;;;;;;;;;;;;;;15483:12;15496:1;15483:15;;;;;;;;;;;;;;;;;;:24;;:36;15508:7;15516:1;15508:10;;;;;;;;;;;;;;;;;;15483:36;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;15483:36:0;15002:3;;;;;;;14957:577;;;14895:1414;;;15576:21;15555:42;;;;;;;;:1;:17;;;;;;;;;;;;:42;;;;;;;;;15551:758;;;15652:1;:14;;;;;;;;;;;;15614:53;;15699:1;15687:13;;15682:617;15704:12;:19;15702:1;:21;15682:617;;;15784:1;15757:29;;:12;15770:1;15757:15;;;;;;;;;;;;;;;;;;:29;;;;15749:92;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15868:1;:9;;:26;15878:12;15891:1;15878:15;;;;;;;;;;;;;;;;;;15868:26;;;;;;;;;;;;;;;;;;;;;;;;;15860:83;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15983:1;15970:7;15978:1;15970:10;;;;;;;;;;;;;;;;;;:14;15962:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16069:32;16090:7;16098:1;16090:10;;;;;;;;;;;;;;;;;;16069:16;:20;;:32;;;;:::i;:::-;16050:51;;16154:4;16119:1;:15;;:32;16135:12;16148:1;16135:15;;;;;;;;;;;;;;;;;;16119:32;;;;;;;;;;;;;;;;:39;;;;;;;;;;;;;;;;;;16214:5;:14;;;16229:12;16242:1;16229:15;;;;;;;;;;;;;;;;;;16246:7;16254:1;16246:10;;;;;;;;;;;;;;;;;;16214:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;16214:43:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;16214:43:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;16214:43:0;;;;;;;;;;;;;;;;16206:78;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15725:3;;;;;;;15682:617;;;15551:758;14895:1414;16326:16;16319:23;;14626:1723;;;;;;;;;;:::o;16534:1581::-;16756:7;16917:19;17035:14;17503:6;17552:17;16816:4;:11;16801:4;:11;:26;:56;;;;;16846:4;:11;16831:4;:11;:26;16801:56;16780:126;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17239:4;17234:10;;17275:1;17270:7;;17311:4;17342:12;17380:7;17413:10;17192:253;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;17192:253:0;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;17192:253:0;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;17192:253:0;;;17161:302;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;17161:302:0;;;;;;;;;;;;;;;;17075:402;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;17075:402:0;;;17052:435;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;17052:435:0;;;;;;;;;;;;;;;;17035:452;;17512:1;17503:10;;17498:582;17519:4;:11;17515:1;:15;17498:582;;;17572:122;17599:6;17623:4;17628:1;17623:7;;;;;;;;;;;;;;;;;;17648:4;17653:1;17648:7;;;;;;;;;;;;;;;;;;17673:4;17678:1;17673:7;;;;;;;;;;;;;;;;;;17572:122;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;17572:122:0;;;;;;;;17552:142;;17734:12;:24;17747:10;17734:24;;;;;;;;;;;;;;;;;:32;;:43;17767:9;17734:43;;;;;;;;;;;;;;;;;;;;;;;;;17709:120;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17869:12;:24;17882:10;17869:24;;;;;;;;;;;;;;;;;:30;;:41;17900:9;17869:41;;;;;;;;;;;;;;;;;;;;;;;;;17868:42;17843:127;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18028:4;17984:12;:24;17997:10;17984:24;;;;;;;;;;;;;;;;;:30;;:41;18015:9;17984:41;;;;;;;;;;;;;;;;:48;;;;;;;;;;;;;;;;;;18060:9;18046:23;;17532:3;;;;;;;17498:582;;;18097:11;18090:18;;16534:1581;;;;;;;;;;;;:::o;18121:317::-;18260:4;18280:17;18300:21;18308:12;18300:3;:7;;:21;;;;:::i;:::-;18280:41;;18368:1;18352:12;:17;;;:69;;18390:31;18416:4;18398:12;18390:21;;:25;;:31;;;;:::i;:::-;18378:9;:43;18352:69;;;18372:5;18352:69;18331:100;;18121:317;;;;;:::o;1078:131:2:-;1136:7;1172:9;1164:1;1159;:6;;1151:15;;;;;;;;1188:1;1184;:5;1172:17;;1203:1;1196:8;;1078:131;;;;;:::o;204:381::-;262:7;523:9;491:1;486;:6;482:35;;;509:1;502:8;;;;482:35;539:1;535;:5;523:17;;563:1;558;554;:5;;;;;;;;:10;546:19;;;;;;;;579:1;572:8;;204:381;;;;;;:::o", - "source": "pragma solidity 0.4.24;\n\nimport \"openzeppelin-solidity/contracts/math/SafeMath.sol\";\n\nimport \"../token/ITokenContract.sol\";\n\n\n/**\n* @dev Supports ERC20 tokens\n* The escrow smart contract for the open bazaar trades in Ethereum\n* The smart contract is designed keeping in mind the current wallet interface of the OB-core\n* https://github.com/OpenBazaar/wallet-interface/blob/master/wallet.go\n* Current wallet interface strictly adheres to UTXO(bitcoin) model\n* Please read below mentioned link for detailed specs\n* https://github.com/OpenBazaar/smart-contracts/blob/master/contracts/escrow/EscrowSpec.md\n*/\ncontract Escrow_v1_0 {\n\n using SafeMath for uint256;\n\n enum Status {FUNDED, RELEASED}\n\n enum TransactionType {ETHER, TOKEN}\n\n event Executed(\n bytes32 indexed scriptHash,\n address[] destinations,\n uint256[] amounts\n );\n\n event FundAdded(\n bytes32 indexed scriptHash,\n address indexed from,\n uint256 valueAdded\n );\n\n event Funded(\n bytes32 indexed scriptHash, \n address indexed from, \n uint256 value\n );\n\n struct Transaction {\n uint256 value;\n uint256 lastModified;//Time at which tx was last modified in seconds\n Status status;\n TransactionType transactionType;\n uint8 threshold;\n uint32 timeoutHours;\n address buyer;\n address seller;\n address tokenAddress;//Token address in case of token transfer\n address moderator;\n mapping(address=>bool) isOwner;//to keep track of owners.\n mapping(address=>bool) voted;//to keep track of who all voted\n mapping(address=>bool) beneficiaries;//Benefeciaries of execution\n }\n\n mapping(bytes32 => Transaction) public transactions;\n\n uint256 public transactionCount = 0;\n\n //Contains mapping between each party and all of their transactions\n mapping(address => bytes32[]) private partyVsTransaction;\n\n modifier transactionExist(bytes32 scriptHash) {\n require(\n transactions[scriptHash].value != 0, \"Transaction does not exist\"\n );\n _;\n }\n\n modifier transactionDoesNotExist(bytes32 scriptHash) {\n require(transactions[scriptHash].value == 0, \"Transaction exist\");\n _;\n }\n\n modifier inFundedState(bytes32 scriptHash) {\n require(\n transactions[scriptHash].status == Status.FUNDED, \"Transaction is not in FUNDED state\"\n );\n _;\n }\n\n modifier nonZeroAddress(address addressToCheck) {\n require(addressToCheck != address(0), \"Zero address passed\");\n _;\n }\n\n modifier checkTransactionType(\n bytes32 scriptHash,\n TransactionType transactionType\n )\n {\n require(\n transactions[scriptHash].transactionType == transactionType, \"Transaction type does not match\"\n );\n _;\n }\n\n modifier onlyBuyer(bytes32 scriptHash) {\n require(\n msg.sender == transactions[scriptHash].buyer, \"The initiator of the transaction is not buyer\"\n );\n _;\n }\n\n /**\n * @dev Add new transaction in the contract\n * @param buyer The buyer of the transaction\n * @param seller The seller of the listing associated with the transaction\n * @param moderator Moderator for this transaction\n * @param threshold Minimum number of signatures required to released funds\n * @param timeoutHours Hours after which seller can release funds into his favour by signing transaction unilaterally\n * @param scriptHash keccak256 hash of the redeem script\n * @param uniqueId bytes20 unique id for the transaction, generated by ETH wallet\n * Redeem Script format will be following\n \n * Pass amount of the ethers to be put in escrow\n */\n function addTransaction(\n address buyer,\n address seller,\n address moderator,\n uint8 threshold,\n uint32 timeoutHours,\n bytes32 scriptHash,\n bytes20 uniqueId\n )\n external\n payable\n transactionDoesNotExist(scriptHash)\n nonZeroAddress(buyer)\n nonZeroAddress(seller)\n {\n _addTransaction(\n buyer,\n seller,\n moderator,\n threshold,\n timeoutHours,\n scriptHash,\n msg.value,\n uniqueId,\n TransactionType.ETHER,\n address(0)\n );\n \n emit Funded(scriptHash, msg.sender, msg.value);\n\n }\n\n /**\n * @dev Add new transaction in the contract\n * @param buyer The buyer of the transaction\n * @param seller The seller of the listing associated with the transaction\n * @param moderator Moderator for this transaction\n * @param threshold Minimum number of signatures required to released funds\n * @param timeoutHours Hours after which seller can release funds into his favour by signing transaction unilaterally\n * @param scriptHash keccak256 hash of the redeem script\n * @param value Amount of tokens to be put in escrow\n * @param uniqueId bytes20 unique id for the transaction, generated by ETH wallet\n * @param tokenAddress Address of the token to be used\n * Redeem Script format will be following\n \n * Approve escrow contract to spend amount of token on sender's behalf\n */\n function addTokenTransaction(\n address buyer,\n address seller,\n address moderator,\n uint8 threshold,\n uint32 timeoutHours,\n bytes32 scriptHash,\n uint256 value,\n bytes20 uniqueId,\n address tokenAddress\n )\n external\n transactionDoesNotExist(scriptHash)\n nonZeroAddress(buyer)\n nonZeroAddress(seller)\n nonZeroAddress(tokenAddress)\n {\n\n _addTransaction(\n buyer,\n seller,\n moderator,\n threshold,\n timeoutHours,\n scriptHash,\n value,\n uniqueId,\n TransactionType.TOKEN,\n tokenAddress\n );\n\n ITokenContract token = ITokenContract(tokenAddress);\n\n require(\n token.transferFrom(msg.sender, address(this), value),\n \"Token transfer failed, maybe you did not approve escrow contract to spend on behalf of sender\"\n );\n emit Funded(scriptHash, msg.sender, value);\n }\n\n /**\n * @dev This method will check whether given address was a beneficiary of transaction execution or not\n * @param scriptHash script hash of the transaction\n * @param beneficiary Beneficiary address to be checked\n */\n function checkBeneficiary(\n bytes32 scriptHash,\n address beneficiary\n )\n external\n view\n returns (bool)\n {\n return transactions[scriptHash].beneficiaries[beneficiary];\n }\n\n /**\n * @dev This method will check whether given party has voted or not\n * @param scriptHash script hash of the transaction\n * @param party Address of the party whose vote has to be checked\n * @return bool vote\n */\n function checkVote(\n bytes32 scriptHash,\n address party\n )\n external\n view\n returns (bool)\n {\n return transactions[scriptHash].voted[party];\n }\n\n /**\n * @dev Allows buyer of the transaction to add more funds(ether) in the transaction. \n * This will help to cater scenarios wherein initially buyer missed to fund transaction as required\n * @param scriptHash script hash of the transaction\n * Only buyer of the transaction can invoke this method\n */\n function addFundsToTransaction(\n bytes32 scriptHash\n )\n external\n payable\n transactionExist(scriptHash)\n inFundedState(scriptHash)\n checkTransactionType(scriptHash, TransactionType.ETHER)\n onlyBuyer(scriptHash)\n \n {\n\n require(msg.value > 0, \"Value must be greater than zero.\");\n\n transactions[scriptHash].value = transactions[scriptHash].value\n .add(msg.value);\n transactions[scriptHash].lastModified = block.timestamp;\n\n emit FundAdded(scriptHash, msg.sender, msg.value);\n }\n\n /**\n * @dev Allows buyer of the transaction to add more funds(Tokens) in the transaction. \n * This will help to cater scenarios wherein initially buyer missed to fund transaction as required\n * @param scriptHash script hash of the transaction\n * Only buyer of the transaction can invoke this method\n */\n function addTokensToTransaction(\n bytes32 scriptHash,\n uint256 value\n )\n external\n transactionExist(scriptHash)\n inFundedState(scriptHash)\n checkTransactionType(scriptHash, TransactionType.TOKEN)\n onlyBuyer(scriptHash)\n {\n\n require(value > 0, \"Value must be greater than zero.\");\n\n ITokenContract token = ITokenContract(\n transactions[scriptHash].tokenAddress\n );\n\n require(\n token.transferFrom(transactions[scriptHash].buyer, address(this), value),\n \"Token transfer failed, maybe you did not approve escrow contract to spend on behalf of buyer\"\n );\n\n transactions[scriptHash].value = transactions[scriptHash].value\n .add(value);\n transactions[scriptHash].lastModified = block.timestamp;\n\n emit FundAdded(scriptHash, msg.sender, value);\n }\n\n /**\n *@dev Returns all transaction ids for a party\n *@param partyAddress Address of the party\n */\n function getAllTransactionsForParty(\n address partyAddress\n ) \n external \n view \n returns (bytes32[]) \n {\n return partyVsTransaction[partyAddress];\n }\n\n /**\n *@dev This method will be used to release funds associated with the transaction\n * Please see specs https://github.com/OpenBazaar/smart-contracts/blob/master/contracts/escrow/EscrowSpec.md\n *@param sigV Array containing V component of all the signatures\n *@param sigR Array containing R component of all the signatures\n *@param signS Array containing S component of all the signatures\n *@param scriptHash script hash of the transaction\n *@param destinations List of addresses who will receive funds\n *@param amounts amount released to each destination\n */\n function execute(\n uint8[] sigV,\n bytes32[] sigR,\n bytes32[] sigS,\n bytes32 scriptHash,\n address[] destinations,\n uint256[] amounts\n )\n external\n transactionExist(scriptHash)\n inFundedState(scriptHash)\n { \n require(\n destinations.length>0, \n \"Number of destinations must be greater than 0\"\n );\n require(\n destinations.length == amounts.length,\n \"Number of destinations must match number of values sent\"\n );\n \n _verifyTransaction(\n sigV,\n sigR,\n sigS,\n scriptHash,\n destinations,\n amounts\n );\n\n transactions[scriptHash].status = Status.RELEASED;\n //Last modified timestamp modified, which will be used by rewards\n transactions[scriptHash].lastModified = block.timestamp;\n require(\n _transferFunds(scriptHash, destinations, amounts) == transactions[scriptHash].value,\n \"Total value to be released must be equal to the transaction escrow value\"\n );\n \n emit Executed(scriptHash, destinations, amounts);\n }\n\n\n /**\n *@dev Method for calculating script hash. Calculation will depend upon the type of transaction\n * ETHER Type transaction-:\n * Script Hash- keccak256(uniqueId, threshold, timeoutHours, buyer, seller, moderator, multiSigContractAddress)\n * TOKEN Type transaction\n * Script Hash- keccak256(uniqueId, threshold, timeoutHours, buyer, seller, moderator, multiSigContractAddress, tokenAddress)\n * Client can use this method to verify whether it has calculated correct script hash or not\n */\n function calculateRedeemScriptHash(\n bytes20 uniqueId,\n uint8 threshold,\n uint32 timeoutHours,\n address buyer,\n address seller,\n address moderator,\n address tokenAddress\n )\n public\n view\n returns (bytes32)\n {\n if (tokenAddress == address(0)) {\n return keccak256(\n abi.encodePacked(\n uniqueId,\n threshold,\n timeoutHours,\n buyer,\n seller,\n moderator,\n address(this)\n )\n );\n } else {\n return keccak256(\n abi.encodePacked(\n uniqueId,\n threshold,\n timeoutHours,\n buyer,\n seller,\n moderator,\n address(this),\n tokenAddress\n )\n );\n }\n }\n\n /**\n * @dev This methods checks validity of transaction\n * 1. Verify Signatures\n * 2. Check if minimum number of signatures has been acquired\n * 3. If above condition is false, check if time lock is expired and the execution is signed by seller\n */\n function _verifyTransaction(\n uint8[] sigV,\n bytes32[] sigR,\n bytes32[] sigS,\n bytes32 scriptHash,\n address[] destinations,\n uint256[] amounts\n )\n private\n {\n address lastRecovered = _verifySignatures(\n sigV,\n sigR,\n sigS,\n scriptHash,\n destinations,\n amounts\n );\n\n bool timeLockExpired = _isTimeLockExpired(\n transactions[scriptHash].timeoutHours,\n transactions[scriptHash].lastModified\n );\n\n //if Minimum number of signatures are not gathered and timelock has not expired or transaction was not signed by seller then revert\n if (\n sigV.length < transactions[scriptHash].threshold && (!timeLockExpired || lastRecovered != transactions[scriptHash].seller)\n )\n {\n revert(\"Minimum number of signatures are not collected and time lock expiry conditions not met!!\");\n }\n\n }\n\n /**\n *@dev Private method to transfer funds to the destination addresses on the basis of transaction type\n */\n function _transferFunds(\n bytes32 scriptHash,\n address[]destinations,\n uint256[]amounts\n )\n private\n returns (uint256)\n {\n Transaction storage t = transactions[scriptHash];\n\n uint256 valueTransferred = 0;\n\n if (t.transactionType == TransactionType.ETHER) {\n for (uint256 i = 0; i < destinations.length; i++) {\n\n require(destinations[i] != address(0), \"zero address is not allowed as destination address\");\n\n require(t.isOwner[destinations[i]], \"Destination address is not one of the owners\");\n\n require(amounts[i] > 0, \"Amount to be sent should be greater than 0\");\n\n valueTransferred = valueTransferred.add(amounts[i]);\n\n t.beneficiaries[destinations[i]] = true;//add receiver as beneficiary\n destinations[i].transfer(amounts[i]);\n }\n\n } else if (t.transactionType == TransactionType.TOKEN) {\n\n ITokenContract token = ITokenContract(t.tokenAddress);\n\n for (uint256 j = 0; j 0, \"Amount to be sent should be greater than 0\");\n\n valueTransferred = valueTransferred.add(amounts[j]);\n t.beneficiaries[destinations[j]] = true;//add receiver as beneficiary\n\n require(token.transfer(destinations[j], amounts[j]), \"Token transfer failed.\");\n }\n } \n return valueTransferred;\n }\n\n //to check whether the signatures are valid or not and if consensus was reached\n //returns the last address recovered, in case of timeout this must be the sender's address\n function _verifySignatures(\n uint8[] sigV,\n bytes32[] sigR,\n bytes32[] sigS,\n bytes32 scriptHash,\n address[] destinations,\n uint256[]amounts\n )\n private\n returns (address)\n {\n\n require(\n sigR.length == sigS.length && sigR.length == sigV.length, \n \"R,S,V length mismatch.\"\n );\n\n address lastAddress;\n\n // Follows ERC191 signature scheme: https://github.com/ethereum/EIPs/issues/191\n bytes32 txHash = keccak256(\n abi.encodePacked(\n \"\\x19Ethereum Signed Message:\\n32\",\n keccak256(\n abi.encodePacked(\n byte(0x19),\n byte(0),\n address(this),\n destinations,\n amounts,\n scriptHash\n )\n )\n )\n );\n\n for (uint i = 0; i < sigR.length; i++) {\n\n address recovered = ecrecover(\n txHash,\n sigV[i],\n sigR[i],\n sigS[i]\n );\n\n require(\n transactions[scriptHash].isOwner[recovered], \n \"Invalid signature\"\n );\n require(\n !transactions[scriptHash].voted[recovered], \n \"Same signature sent twice\"\n );\n transactions[scriptHash].voted[recovered] = true;\n lastAddress = recovered;\n }\n\n return lastAddress;\n }\n\n function _isTimeLockExpired(\n uint32 timeoutHours,\n uint256 lastModified\n )\n private\n view\n returns (bool)\n {\n uint256 timeSince = now.sub(lastModified);\n return (\n timeoutHours == 0 ? false:timeSince > uint256(timeoutHours).mul(3600)\n );\n }\n\n /**\n * Private method to add transaction to reduce code redundancy\n */\n function _addTransaction(\n address buyer,\n address seller,\n address moderator,\n uint8 threshold,\n uint32 timeoutHours,\n bytes32 scriptHash,\n uint256 value,\n bytes20 uniqueId,\n TransactionType transactionType,\n address tokenAddress\n )\n private\n { \n require(buyer != seller, \"Buyer and seller are same\");\n\n //value passed should be greater than 0\n require(value > 0, \"Value passed is 0\");\n\n // For now allowing 0 moderator to support 1-2 multisig wallet\n require(\n threshold > 0 && threshold <= 3, \n \"Threshold cannot be greater than 3 and must be greater than 0\"\n );\n\n //if threshold is 1 then moderator can be passed as zero address or any other address\n //(it won't matter apart from scripthash since we wont add moderator as one of the owner),\n //otherwise moderator should be a valid address\n require(\n threshold == 1 || moderator != address(0),\n \"Either threshold should be 1 or valid moderator address should be passed\"\n );\n\n require(\n scriptHash == calculateRedeemScriptHash(\n uniqueId,\n threshold,\n timeoutHours,\n buyer,\n seller,\n moderator,\n tokenAddress\n ), \n \"Calculated script hash does not match passed script hash.\"\n );\n\n transactions[scriptHash] = Transaction({\n buyer: buyer,\n seller: seller,\n moderator: moderator,\n value: value,\n status: Status.FUNDED,\n lastModified: block.timestamp,\n threshold: threshold,\n timeoutHours: timeoutHours,\n transactionType:transactionType,\n tokenAddress:tokenAddress\n });\n\n transactions[scriptHash].isOwner[seller] = true;\n transactions[scriptHash].isOwner[buyer] = true; \n\n //Check if buyer or seller are not passed as moderator\n require(\n !transactions[scriptHash].isOwner[moderator], \n \"Either buyer or seller is passed as moderator\"\n );\n\n //set moderator as one of the owners only if threshold is greater than 1 otherwise only buyer and seller should be able to release funds\n if (threshold > 1) {\n transactions[scriptHash].isOwner[moderator] = true;\n }\n \n\n transactionCount++;\n\n partyVsTransaction[buyer].push(scriptHash);\n partyVsTransaction[seller].push(scriptHash);\n }\n}\n", + "bytecode": "0x6080604052600060015534801561001557600080fd5b506142e8806100256000396000f3006080604052600436106100af576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806323b6fd3f146100b45780632d9ef96e1461016e57806346fbcdeb1461019257806357bced7614610287578063642f2eaf14610378578063b0550c66146104da578063b719e28014610543578063b77bf6001461057e578063be84ceaf146105a9578063e4ec8b0014610641578063f0786562146106ea575b600080fd5b61016c600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff169060200190929190803563ffffffff169060200190929190803560001916906020019092919080356bffffffffffffffffffffffff19169060200190929190505050610753565b005b61019060048036038101908080356000191690602001909291905050506109a7565b005b34801561019e57600080fd5b5061026960048036038101908080356bffffffffffffffffffffffff19169060200190929190803560ff169060200190929190803563ffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610e02565b60405180826000191660001916815260200191505060405180910390f35b34801561029357600080fd5b50610376600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff169060200190929190803563ffffffff16906020019092919080356000191690602001909291908035906020019092919080356bffffffffffffffffffffffff19169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506112ae565b005b34801561038457600080fd5b506103a76004803603810190808035600019169060200190929190505050611783565b604051808b81526020018a81526020018960018111156103c357fe5b60ff1681526020018860018111156103d757fe5b60ff1681526020018760ff1660ff1681526020018663ffffffff1663ffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019a505050505050505050505060405180910390f35b3480156104e657600080fd5b506105296004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061188e565b604051808215151515815260200191505060405180910390f35b34801561054f57600080fd5b5061057c600480360381019080803560001916906020019092919080359060200190929190505050611900565b005b34801561058a57600080fd5b50610593611fae565b6040518082815260200191505060405180910390f35b3480156105b557600080fd5b506105ea600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611fb4565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b8381101561062d578082015181840152602081019050610612565b505050509050019250505060405180910390f35b34801561064d57600080fd5b506106e8600480360381019080803590602001908201803590602001919091929391929390803590602001908201803590602001919091929391929390803590602001908201803590602001919091929391929390803560001916906020019092919080359060200190820180359060200191909192939192939080359060200190820180359060200191909192939192939050505061204f565b005b3480156106f657600080fd5b506107396004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612638565b604051808215151515815260200191505060405180910390f35b8160008060008360001916600019168152602001908152602001600020600001541415156107e9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f5472616e73616374696f6e20657869737400000000000000000000000000000081525060200191505060405180910390fd5b87600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561088f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b87600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610935576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b6109488a8a8a8a8a8a348b6000806126aa565b3373ffffffffffffffffffffffffffffffffffffffff1685600019167fce7089d0668849fb9ca29778c0cbf1e764d9efb048d81fd71fb34c94f26db368346040518082815260200191505060405180910390a350505050505050505050565b80600080600083600019166000191681526020019081526020016000206000015414151515610a3e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737400000000000081525060200191505060405180910390fd5b8160006001811115610a4c57fe5b600080836000191660001916815260200190815260200160002060020160009054906101000a900460ff166001811115610a8257fe5b141515610b1d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001807f5472616e73616374696f6e206973206e6f7420696e2046554e4445442073746181526020017f746500000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b826000806001811115610b2c57fe5b600080846000191660001916815260200190815260200160002060020160019054906101000a900460ff166001811115610b6257fe5b141515610bd7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5472616e73616374696f6e207479706520646f6573206e6f74206d617463680081525060200191505060405180910390fd5b84600080826000191660001916815260200190815260200160002060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610cde576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f54686520696e69746961746f72206f6620746865207472616e73616374696f6e81526020017f206973206e6f742062757965720000000000000000000000000000000000000081525060400191505060405180910390fd5b600034111515610d56576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f56616c7565206d7573742062652067726561746572207468616e207a65726f2e81525060200191505060405180910390fd5b610d863460008089600019166000191681526020019081526020016000206000015461303690919063ffffffff16565b6000808860001916600019168152602001908152602001600020600001819055503373ffffffffffffffffffffffffffffffffffffffff1686600019167ff66fd2ae9e24a6a24b02e1b5b7512ffde5149a4176085fc0298ae228c9b9d729346040518082815260200191505060405180910390a3505050505050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561104e578787878787873060405160200180886bffffffffffffffffffffffff19166bffffffffffffffffffffffff191681526014018760ff1660ff167f01000000000000000000000000000000000000000000000000000000000000000281526001018663ffffffff1663ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014019750505050505050506040516020818303038152906040526040518082805190602001908083835b60208310151561101a5780518252602082019150602081019050602083039250610ff5565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902090506112a3565b878787878787308860405160200180896bffffffffffffffffffffffff19166bffffffffffffffffffffffff191681526014018860ff1660ff167f01000000000000000000000000000000000000000000000000000000000000000281526001018763ffffffff1663ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401985050505050505050506040516020818303038152906040526040518082805190602001908083835b602083101515611273578051825260208201915060208101905060208303925061124e565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902090505b979650505050505050565b6000846000806000836000191660001916815260200190815260200160002060000154141515611346576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f5472616e73616374696f6e20657869737400000000000000000000000000000081525060200191505060405180910390fd5b8a600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156113ec576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b8a600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515611492576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b84600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515611538576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b61154b8e8e8e8e8e8e8e8e60018f6126aa565b8594508473ffffffffffffffffffffffffffffffffffffffff166323b872dd33308b6040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b15801561162557600080fd5b505af1158015611639573d6000803e3d6000fd5b505050506040513d602081101561164f57600080fd5b81019080805190602001909291905050501515611720576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252605d8152602001807f546f6b656e207472616e73666572206661696c65642c206d6179626520796f7581526020017f20646964206e6f7420617070726f766520657363726f7720636f6e747261637481526020017f20746f207370656e64206f6e20626568616c66206f662073656e64657200000081525060600191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff1689600019167fce7089d0668849fb9ca29778c0cbf1e764d9efb048d81fd71fb34c94f26db3688a6040518082815260200191505060405180910390a35050505050505050505050505050565b60006020528060005260406000206000915090508060000154908060010154908060020160009054906101000a900460ff16908060020160019054906101000a900460ff16908060020160029054906101000a900460ff16908060020160039054906101000a900463ffffffff16908060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060050160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508a565b6000806000846000191660001916815260200190815260200160002060080160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b600082600080600083600019166000191681526020019081526020016000206000015414151515611999576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737400000000000081525060200191505060405180910390fd5b83600060018111156119a757fe5b600080836000191660001916815260200190815260200160002060020160009054906101000a900460ff1660018111156119dd57fe5b141515611a78576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001807f5472616e73616374696f6e206973206e6f7420696e2046554e4445442073746181526020017f746500000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b846001806001811115611a8757fe5b600080846000191660001916815260200190815260200160002060020160019054906101000a900460ff166001811115611abd57fe5b141515611b32576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5472616e73616374696f6e207479706520646f6573206e6f74206d617463680081525060200191505060405180910390fd5b86600080826000191660001916815260200190815260200160002060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611c39576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f54686520696e69746961746f72206f6620746865207472616e73616374696f6e81526020017f206973206e6f742062757965720000000000000000000000000000000000000081525060400191505060405180910390fd5b600087111515611cb1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f56616c7565206d7573742062652067726561746572207468616e207a65726f2e81525060200191505060405180910390fd5b600080896000191660001916815260200190815260200160002060040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1695508573ffffffffffffffffffffffffffffffffffffffff166323b872dd6000808b6000191660001916815260200190815260200160002060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff16308a6040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b158015611e0557600080fd5b505af1158015611e19573d6000803e3d6000fd5b505050506040513d6020811015611e2f57600080fd5b81019080805190602001909291905050501515611f00576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252605c8152602001807f546f6b656e207472616e73666572206661696c65642c206d6179626520796f7581526020017f20646964206e6f7420617070726f766520657363726f7720636f6e747261637481526020017f20746f207370656e64206f6e20626568616c66206f662062757965720000000081525060600191505060405180910390fd5b611f30876000808b600019166000191681526020019081526020016000206000015461303690919063ffffffff16565b6000808a60001916600019168152602001908152602001600020600001819055503373ffffffffffffffffffffffffffffffffffffffff1688600019167ff66fd2ae9e24a6a24b02e1b5b7512ffde5149a4176085fc0298ae228c9b9d729896040518082815260200191505060405180910390a35050505050505050565b60015481565b6060600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080548060200260200160405190810160405280929190818152602001828054801561204357602002820191906000526020600020905b8154600019168152602001906001019080831161202b575b50505050509050919050565b846000806000836000191660001916815260200190815260200160002060000154141515156120e6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737400000000000081525060200191505060405180910390fd5b85600060018111156120f457fe5b600080836000191660001916815260200190815260200160002060020160009054906101000a900460ff16600181111561212a57fe5b1415156121c5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001807f5472616e73616374696f6e206973206e6f7420696e2046554e4445442073746181526020017f746500000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b600086869050111515612266576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f4e756d626572206f662064657374696e6174696f6e73206d757374206265206781526020017f726561746572207468616e20300000000000000000000000000000000000000081525060400191505060405180910390fd5b8383905086869050141515612309576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260378152602001807f4e756d626572206f662064657374696e6174696f6e73206d757374206d61746381526020017f68206e756d626572206f662076616c7565732073656e7400000000000000000081525060400191505060405180910390fd5b6124028d8d808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508c8c808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508b8b808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508a8a8a80806020026020016040519081016040528093929190818152602001838360200280828437820191505050505050898980806020026020016040519081016040528093929190818152602001838360200280828437820191505050505050613057565b6001600080896000191660001916815260200190815260200160002060020160006101000a81548160ff0219169083600181111561243c57fe5b0217905550426000808960001916600019168152602001908152602001600020600101819055506000808860001916600019168152602001908152602001600020600001546124ea88888880806020026020016040519081016040528093929190818152602001838360200280828437820191505050505050878780806020026020016040519081016040528093929190818152602001838360200280828437820191505050505050613238565b1415156125ab576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260488152602001807f546f74616c2076616c756520746f2062652072656c6561736564206d7573742081526020017f626520657175616c20746f20746865207472616e73616374696f6e206573637281526020017f6f772076616c756500000000000000000000000000000000000000000000000081525060600191505060405180910390fd5b86600019167f688e2a1b34445bcd47b0e11ba2a9c8c4d850a1831b64199b59d1c70e29701545878787876040518080602001806020018381038352878782818152602001925060200280828437820191505083810382528585828181526020019250602002808284378201915050965050505050505060405180910390a250505050505050505050505050565b6000806000846000191660001916815260200190815260200160002060070160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b8873ffffffffffffffffffffffffffffffffffffffff168a73ffffffffffffffffffffffffffffffffffffffff161415151561274e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f427579657220616e642073656c6c6572206172652073616d650000000000000081525060200191505060405180910390fd5b6000841115156127c6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f56616c756520706173736564206973203000000000000000000000000000000081525060200191505060405180910390fd5b60008760ff161180156127dd575060038760ff1611155b1515612877576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603d8152602001807f5468726573686f6c642063616e6e6f742062652067726561746572207468616e81526020017f203320616e64206d7573742062652067726561746572207468616e203000000081525060400191505060405180910390fd5b60018760ff1614806128b65750600073ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff1614155b1515612976576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260488152602001807f456974686572207468726573686f6c642073686f756c642062652031206f722081526020017f76616c6964206d6f64657261746f7220616464726573732073686f756c64206281526020017f652070617373656400000000000000000000000000000000000000000000000081525060600191505060405180910390fd5b6129858388888d8d8d87610e02565b600019168560001916141515612a29576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260398152602001807f43616c63756c6174656420736372697074206861736820646f6573206e6f742081526020017f6d61746368207061737365642073637269707420686173682e0000000000000081525060400191505060405180910390fd5b6101406040519081016040528085815260200142815260200160006001811115612a4f57fe5b8152602001836001811115612a6057fe5b81526020018860ff1681526020018763ffffffff1681526020018b73ffffffffffffffffffffffffffffffffffffffff1681526020018a73ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020018973ffffffffffffffffffffffffffffffffffffffff168152506000808760001916600019168152602001908152602001600020600082015181600001556020820151816001015560408201518160020160006101000a81548160ff02191690836001811115612b3a57fe5b021790555060608201518160020160016101000a81548160ff02191690836001811115612b6357fe5b021790555060808201518160020160026101000a81548160ff021916908360ff16021790555060a08201518160020160036101000a81548163ffffffff021916908363ffffffff16021790555060c08201518160020160076101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060e08201518160030160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506101008201518160040160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506101208201518160050160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055509050506001600080876000191660001916815260200190815260200160002060060160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600080876000191660001916815260200190815260200160002060060160008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600080866000191660001916815260200190815260200160002060060160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151515612eba576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f456974686572206275796572206f722073656c6c65722069732070617373656481526020017f206173206d6f64657261746f720000000000000000000000000000000000000081525060400191505060405180910390fd5b60018760ff161115612f3a576001600080876000191660001916815260200190815260200160002060060160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b600160008154809291906001019190505550600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020859080600181540180825580915050906001820390600052602060002001600090919290919091509060001916905550600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002085908060018154018082558091505090600182039060005260206000200160009091929091909150906000191690555050505050505050505050565b600080828401905083811015151561304d57600080fd5b8091505092915050565b600080613068888888888888613b90565b91506130be600080876000191660001916815260200190815260200160002060020160039054906101000a900463ffffffff16600080886000191660001916815260200190815260200160002060010154614209565b9050600080866000191660001916815260200190815260200160002060020160029054906101000a900460ff1660ff16885110801561316f575080158061316e5750600080866000191660001916815260200190815260200160002060030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b5b1561322e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260588152602001807f4d696e696d756d206e756d626572206f66207369676e6174757265732061726581526020017f206e6f7420636f6c6c656374656420616e642074696d65206c6f636b2065787081526020017f69727920636f6e646974696f6e73206e6f74206d65742121000000000000000081525060600191505060405180910390fd5b5050505050505050565b6000806000806000806000808a600019166000191681526020019081526020016000209450600093506000600181111561326e57fe5b8560020160019054906101000a900460ff16600181111561328b57fe5b141561365a57600092505b875183101561365557600073ffffffffffffffffffffffffffffffffffffffff1688848151811015156132c557fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1614151515613381576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001807f7a65726f2061646472657373206973206e6f7420616c6c6f776564206173206481526020017f657374696e6174696f6e2061646472657373000000000000000000000000000081525060400191505060405180910390fd5b846006016000898581518110151561339557fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515613481576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c8152602001807f44657374696e6174696f6e2061646472657373206973206e6f74206f6e65206f81526020017f6620746865206f776e657273000000000000000000000000000000000000000081525060400191505060405180910390fd5b6000878481518110151561349157fe5b90602001906020020151111515613536576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001807f416d6f756e7420746f2062652073656e742073686f756c64206265206772656181526020017f746572207468616e20300000000000000000000000000000000000000000000081525060400191505060405180910390fd5b613560878481518110151561354757fe5b906020019060200201518561303690919063ffffffff16565b935060018560080160008a8681518110151561357857fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555087838151811015156135e157fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff166108fc888581518110151561361257fe5b906020019060200201519081150290604051600060405180830381858888f19350505050158015613647573d6000803e3d6000fd5b508280600101935050613296565b613b81565b60018081111561366657fe5b8560020160019054906101000a900460ff16600181111561368357fe5b1415613b80578460040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169150600090505b8751811015613b7f57600073ffffffffffffffffffffffffffffffffffffffff1688828151811015156136e457fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff16141515156137a0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001807f7a65726f2061646472657373206973206e6f7420616c6c6f776564206173206481526020017f657374696e6174696f6e2061646472657373000000000000000000000000000081525060400191505060405180910390fd5b84600601600089838151811015156137b457fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615156138a0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c8152602001807f44657374696e6174696f6e2061646472657373206973206e6f74206f6e65206f81526020017f6620746865206f776e657273000000000000000000000000000000000000000081525060400191505060405180910390fd5b600087828151811015156138b057fe5b90602001906020020151111515613955576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001807f416d6f756e7420746f2062652073656e742073686f756c64206265206772656181526020017f746572207468616e20300000000000000000000000000000000000000000000081525060400191505060405180910390fd5b61397f878281518110151561396657fe5b906020019060200201518561303690919063ffffffff16565b935060018560080160008a8481518110151561399757fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb8983815181101515613a1c57fe5b906020019060200201518984815181101515613a3457fe5b906020019060200201516040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015613ac357600080fd5b505af1158015613ad7573d6000803e3d6000fd5b505050506040513d6020811015613aed57600080fd5b81019080805190602001909291905050501515613b72576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f546f6b656e207472616e73666572206661696c65642e0000000000000000000081525060200191505060405180910390fd5b80806001019150506136b5565b5b5b83955050505050509392505050565b600080600080600088518a51148015613baa57508a518a51145b1515613c1e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f522c532c56206c656e677468206d69736d617463682e0000000000000000000081525060200191505060405180910390fd5b60197f01000000000000000000000000000000000000000000000000000000000000000260007f0100000000000000000000000000000000000000000000000000000000000000023089898c60405160200180877effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168152600101867effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526001018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401848051906020019060200280838360005b83811015613d72578082015181840152602081019050613d57565b50505050905001838051906020019060200280838360005b83811015613da5578082015181840152602081019050613d8a565b50505050905001826000191660001916815260200196505050505050506040516020818303038152906040526040518082805190602001908083835b602083101515613e065780518252602082019150602081019050602083039250613de1565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902060405160200180807f19457468657265756d205369676e6564204d6573736167653a0a333200000000815250601c0182600019166000191681526020019150506040516020818303038152906040526040518082805190602001908083835b602083101515613eb75780518252602082019150602081019050602083039250613e92565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390209250600091505b89518210156141f8576001838c84815181101515613f0557fe5b906020019060200201518c85815181101515613f1d57fe5b906020019060200201518c86815181101515613f3557fe5b90602001906020020151604051600081526020016040526040518085600019166000191681526020018460ff1660ff1681526020018360001916600019168152602001826000191660001916815260200194505050505060206040516020810390808403906000865af1158015613fb0573d6000803e3d6000fd5b505050602060405103519050600080896000191660001916815260200190815260200160002060060160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515614098576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f496e76616c6964207369676e617475726500000000000000000000000000000081525060200191505060405180910390fd5b600080896000191660001916815260200190815260200160002060070160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151515614175576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f53616d65207369676e61747572652073656e742074776963650000000000000081525060200191505060405180910390fd5b60016000808a6000191660001916815260200190815260200160002060070160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508093508180600101925050613eeb565b839450505050509695505050505050565b60008061421f834261425d90919063ffffffff16565b905060008463ffffffff16146142515761424a610e108563ffffffff1661427e90919063ffffffff16565b8111614254565b60005b91505092915050565b60008083831115151561426f57600080fd5b82840390508091505092915050565b600080600084141561429357600091506142b5565b82840290508284828115156142a457fe5b041415156142b157600080fd5b8091505b50929150505600a165627a7a723058207cf845abc2b34c73968f82b8d354c7549975a1a317493ef094ea52cecd92824f0029", + "deployedBytecode": "0x6080604052600436106100af576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806323b6fd3f146100b45780632d9ef96e1461016e57806346fbcdeb1461019257806357bced7614610287578063642f2eaf14610378578063b0550c66146104da578063b719e28014610543578063b77bf6001461057e578063be84ceaf146105a9578063e4ec8b0014610641578063f0786562146106ea575b600080fd5b61016c600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff169060200190929190803563ffffffff169060200190929190803560001916906020019092919080356bffffffffffffffffffffffff19169060200190929190505050610753565b005b61019060048036038101908080356000191690602001909291905050506109a7565b005b34801561019e57600080fd5b5061026960048036038101908080356bffffffffffffffffffffffff19169060200190929190803560ff169060200190929190803563ffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610e02565b60405180826000191660001916815260200191505060405180910390f35b34801561029357600080fd5b50610376600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff169060200190929190803563ffffffff16906020019092919080356000191690602001909291908035906020019092919080356bffffffffffffffffffffffff19169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506112ae565b005b34801561038457600080fd5b506103a76004803603810190808035600019169060200190929190505050611783565b604051808b81526020018a81526020018960018111156103c357fe5b60ff1681526020018860018111156103d757fe5b60ff1681526020018760ff1660ff1681526020018663ffffffff1663ffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019a505050505050505050505060405180910390f35b3480156104e657600080fd5b506105296004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061188e565b604051808215151515815260200191505060405180910390f35b34801561054f57600080fd5b5061057c600480360381019080803560001916906020019092919080359060200190929190505050611900565b005b34801561058a57600080fd5b50610593611fae565b6040518082815260200191505060405180910390f35b3480156105b557600080fd5b506105ea600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611fb4565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b8381101561062d578082015181840152602081019050610612565b505050509050019250505060405180910390f35b34801561064d57600080fd5b506106e8600480360381019080803590602001908201803590602001919091929391929390803590602001908201803590602001919091929391929390803590602001908201803590602001919091929391929390803560001916906020019092919080359060200190820180359060200191909192939192939080359060200190820180359060200191909192939192939050505061204f565b005b3480156106f657600080fd5b506107396004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612638565b604051808215151515815260200191505060405180910390f35b8160008060008360001916600019168152602001908152602001600020600001541415156107e9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f5472616e73616374696f6e20657869737400000000000000000000000000000081525060200191505060405180910390fd5b87600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561088f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b87600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610935576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b6109488a8a8a8a8a8a348b6000806126aa565b3373ffffffffffffffffffffffffffffffffffffffff1685600019167fce7089d0668849fb9ca29778c0cbf1e764d9efb048d81fd71fb34c94f26db368346040518082815260200191505060405180910390a350505050505050505050565b80600080600083600019166000191681526020019081526020016000206000015414151515610a3e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737400000000000081525060200191505060405180910390fd5b8160006001811115610a4c57fe5b600080836000191660001916815260200190815260200160002060020160009054906101000a900460ff166001811115610a8257fe5b141515610b1d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001807f5472616e73616374696f6e206973206e6f7420696e2046554e4445442073746181526020017f746500000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b826000806001811115610b2c57fe5b600080846000191660001916815260200190815260200160002060020160019054906101000a900460ff166001811115610b6257fe5b141515610bd7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5472616e73616374696f6e207479706520646f6573206e6f74206d617463680081525060200191505060405180910390fd5b84600080826000191660001916815260200190815260200160002060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610cde576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f54686520696e69746961746f72206f6620746865207472616e73616374696f6e81526020017f206973206e6f742062757965720000000000000000000000000000000000000081525060400191505060405180910390fd5b600034111515610d56576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f56616c7565206d7573742062652067726561746572207468616e207a65726f2e81525060200191505060405180910390fd5b610d863460008089600019166000191681526020019081526020016000206000015461303690919063ffffffff16565b6000808860001916600019168152602001908152602001600020600001819055503373ffffffffffffffffffffffffffffffffffffffff1686600019167ff66fd2ae9e24a6a24b02e1b5b7512ffde5149a4176085fc0298ae228c9b9d729346040518082815260200191505060405180910390a3505050505050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561104e578787878787873060405160200180886bffffffffffffffffffffffff19166bffffffffffffffffffffffff191681526014018760ff1660ff167f01000000000000000000000000000000000000000000000000000000000000000281526001018663ffffffff1663ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014019750505050505050506040516020818303038152906040526040518082805190602001908083835b60208310151561101a5780518252602082019150602081019050602083039250610ff5565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902090506112a3565b878787878787308860405160200180896bffffffffffffffffffffffff19166bffffffffffffffffffffffff191681526014018860ff1660ff167f01000000000000000000000000000000000000000000000000000000000000000281526001018763ffffffff1663ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401985050505050505050506040516020818303038152906040526040518082805190602001908083835b602083101515611273578051825260208201915060208101905060208303925061124e565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902090505b979650505050505050565b6000846000806000836000191660001916815260200190815260200160002060000154141515611346576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f5472616e73616374696f6e20657869737400000000000000000000000000000081525060200191505060405180910390fd5b8a600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156113ec576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b8a600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515611492576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b84600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515611538576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b61154b8e8e8e8e8e8e8e8e60018f6126aa565b8594508473ffffffffffffffffffffffffffffffffffffffff166323b872dd33308b6040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b15801561162557600080fd5b505af1158015611639573d6000803e3d6000fd5b505050506040513d602081101561164f57600080fd5b81019080805190602001909291905050501515611720576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252605d8152602001807f546f6b656e207472616e73666572206661696c65642c206d6179626520796f7581526020017f20646964206e6f7420617070726f766520657363726f7720636f6e747261637481526020017f20746f207370656e64206f6e20626568616c66206f662073656e64657200000081525060600191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff1689600019167fce7089d0668849fb9ca29778c0cbf1e764d9efb048d81fd71fb34c94f26db3688a6040518082815260200191505060405180910390a35050505050505050505050505050565b60006020528060005260406000206000915090508060000154908060010154908060020160009054906101000a900460ff16908060020160019054906101000a900460ff16908060020160029054906101000a900460ff16908060020160039054906101000a900463ffffffff16908060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060050160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508a565b6000806000846000191660001916815260200190815260200160002060080160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b600082600080600083600019166000191681526020019081526020016000206000015414151515611999576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737400000000000081525060200191505060405180910390fd5b83600060018111156119a757fe5b600080836000191660001916815260200190815260200160002060020160009054906101000a900460ff1660018111156119dd57fe5b141515611a78576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001807f5472616e73616374696f6e206973206e6f7420696e2046554e4445442073746181526020017f746500000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b846001806001811115611a8757fe5b600080846000191660001916815260200190815260200160002060020160019054906101000a900460ff166001811115611abd57fe5b141515611b32576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5472616e73616374696f6e207479706520646f6573206e6f74206d617463680081525060200191505060405180910390fd5b86600080826000191660001916815260200190815260200160002060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611c39576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f54686520696e69746961746f72206f6620746865207472616e73616374696f6e81526020017f206973206e6f742062757965720000000000000000000000000000000000000081525060400191505060405180910390fd5b600087111515611cb1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f56616c7565206d7573742062652067726561746572207468616e207a65726f2e81525060200191505060405180910390fd5b600080896000191660001916815260200190815260200160002060040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1695508573ffffffffffffffffffffffffffffffffffffffff166323b872dd6000808b6000191660001916815260200190815260200160002060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff16308a6040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b158015611e0557600080fd5b505af1158015611e19573d6000803e3d6000fd5b505050506040513d6020811015611e2f57600080fd5b81019080805190602001909291905050501515611f00576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252605c8152602001807f546f6b656e207472616e73666572206661696c65642c206d6179626520796f7581526020017f20646964206e6f7420617070726f766520657363726f7720636f6e747261637481526020017f20746f207370656e64206f6e20626568616c66206f662062757965720000000081525060600191505060405180910390fd5b611f30876000808b600019166000191681526020019081526020016000206000015461303690919063ffffffff16565b6000808a60001916600019168152602001908152602001600020600001819055503373ffffffffffffffffffffffffffffffffffffffff1688600019167ff66fd2ae9e24a6a24b02e1b5b7512ffde5149a4176085fc0298ae228c9b9d729896040518082815260200191505060405180910390a35050505050505050565b60015481565b6060600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080548060200260200160405190810160405280929190818152602001828054801561204357602002820191906000526020600020905b8154600019168152602001906001019080831161202b575b50505050509050919050565b846000806000836000191660001916815260200190815260200160002060000154141515156120e6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737400000000000081525060200191505060405180910390fd5b85600060018111156120f457fe5b600080836000191660001916815260200190815260200160002060020160009054906101000a900460ff16600181111561212a57fe5b1415156121c5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001807f5472616e73616374696f6e206973206e6f7420696e2046554e4445442073746181526020017f746500000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b600086869050111515612266576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f4e756d626572206f662064657374696e6174696f6e73206d757374206265206781526020017f726561746572207468616e20300000000000000000000000000000000000000081525060400191505060405180910390fd5b8383905086869050141515612309576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260378152602001807f4e756d626572206f662064657374696e6174696f6e73206d757374206d61746381526020017f68206e756d626572206f662076616c7565732073656e7400000000000000000081525060400191505060405180910390fd5b6124028d8d808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508c8c808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508b8b808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508a8a8a80806020026020016040519081016040528093929190818152602001838360200280828437820191505050505050898980806020026020016040519081016040528093929190818152602001838360200280828437820191505050505050613057565b6001600080896000191660001916815260200190815260200160002060020160006101000a81548160ff0219169083600181111561243c57fe5b0217905550426000808960001916600019168152602001908152602001600020600101819055506000808860001916600019168152602001908152602001600020600001546124ea88888880806020026020016040519081016040528093929190818152602001838360200280828437820191505050505050878780806020026020016040519081016040528093929190818152602001838360200280828437820191505050505050613238565b1415156125ab576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260488152602001807f546f74616c2076616c756520746f2062652072656c6561736564206d7573742081526020017f626520657175616c20746f20746865207472616e73616374696f6e206573637281526020017f6f772076616c756500000000000000000000000000000000000000000000000081525060600191505060405180910390fd5b86600019167f688e2a1b34445bcd47b0e11ba2a9c8c4d850a1831b64199b59d1c70e29701545878787876040518080602001806020018381038352878782818152602001925060200280828437820191505083810382528585828181526020019250602002808284378201915050965050505050505060405180910390a250505050505050505050505050565b6000806000846000191660001916815260200190815260200160002060070160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b8873ffffffffffffffffffffffffffffffffffffffff168a73ffffffffffffffffffffffffffffffffffffffff161415151561274e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f427579657220616e642073656c6c6572206172652073616d650000000000000081525060200191505060405180910390fd5b6000841115156127c6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f56616c756520706173736564206973203000000000000000000000000000000081525060200191505060405180910390fd5b60008760ff161180156127dd575060038760ff1611155b1515612877576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603d8152602001807f5468726573686f6c642063616e6e6f742062652067726561746572207468616e81526020017f203320616e64206d7573742062652067726561746572207468616e203000000081525060400191505060405180910390fd5b60018760ff1614806128b65750600073ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff1614155b1515612976576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260488152602001807f456974686572207468726573686f6c642073686f756c642062652031206f722081526020017f76616c6964206d6f64657261746f7220616464726573732073686f756c64206281526020017f652070617373656400000000000000000000000000000000000000000000000081525060600191505060405180910390fd5b6129858388888d8d8d87610e02565b600019168560001916141515612a29576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260398152602001807f43616c63756c6174656420736372697074206861736820646f6573206e6f742081526020017f6d61746368207061737365642073637269707420686173682e0000000000000081525060400191505060405180910390fd5b6101406040519081016040528085815260200142815260200160006001811115612a4f57fe5b8152602001836001811115612a6057fe5b81526020018860ff1681526020018763ffffffff1681526020018b73ffffffffffffffffffffffffffffffffffffffff1681526020018a73ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020018973ffffffffffffffffffffffffffffffffffffffff168152506000808760001916600019168152602001908152602001600020600082015181600001556020820151816001015560408201518160020160006101000a81548160ff02191690836001811115612b3a57fe5b021790555060608201518160020160016101000a81548160ff02191690836001811115612b6357fe5b021790555060808201518160020160026101000a81548160ff021916908360ff16021790555060a08201518160020160036101000a81548163ffffffff021916908363ffffffff16021790555060c08201518160020160076101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060e08201518160030160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506101008201518160040160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506101208201518160050160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055509050506001600080876000191660001916815260200190815260200160002060060160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600080876000191660001916815260200190815260200160002060060160008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600080866000191660001916815260200190815260200160002060060160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151515612eba576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f456974686572206275796572206f722073656c6c65722069732070617373656481526020017f206173206d6f64657261746f720000000000000000000000000000000000000081525060400191505060405180910390fd5b60018760ff161115612f3a576001600080876000191660001916815260200190815260200160002060060160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b600160008154809291906001019190505550600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020859080600181540180825580915050906001820390600052602060002001600090919290919091509060001916905550600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002085908060018154018082558091505090600182039060005260206000200160009091929091909150906000191690555050505050505050505050565b600080828401905083811015151561304d57600080fd5b8091505092915050565b600080613068888888888888613b90565b91506130be600080876000191660001916815260200190815260200160002060020160039054906101000a900463ffffffff16600080886000191660001916815260200190815260200160002060010154614209565b9050600080866000191660001916815260200190815260200160002060020160029054906101000a900460ff1660ff16885110801561316f575080158061316e5750600080866000191660001916815260200190815260200160002060030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b5b1561322e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260588152602001807f4d696e696d756d206e756d626572206f66207369676e6174757265732061726581526020017f206e6f7420636f6c6c656374656420616e642074696d65206c6f636b2065787081526020017f69727920636f6e646974696f6e73206e6f74206d65742121000000000000000081525060600191505060405180910390fd5b5050505050505050565b6000806000806000806000808a600019166000191681526020019081526020016000209450600093506000600181111561326e57fe5b8560020160019054906101000a900460ff16600181111561328b57fe5b141561365a57600092505b875183101561365557600073ffffffffffffffffffffffffffffffffffffffff1688848151811015156132c557fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1614151515613381576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001807f7a65726f2061646472657373206973206e6f7420616c6c6f776564206173206481526020017f657374696e6174696f6e2061646472657373000000000000000000000000000081525060400191505060405180910390fd5b846006016000898581518110151561339557fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515613481576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c8152602001807f44657374696e6174696f6e2061646472657373206973206e6f74206f6e65206f81526020017f6620746865206f776e657273000000000000000000000000000000000000000081525060400191505060405180910390fd5b6000878481518110151561349157fe5b90602001906020020151111515613536576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001807f416d6f756e7420746f2062652073656e742073686f756c64206265206772656181526020017f746572207468616e20300000000000000000000000000000000000000000000081525060400191505060405180910390fd5b613560878481518110151561354757fe5b906020019060200201518561303690919063ffffffff16565b935060018560080160008a8681518110151561357857fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555087838151811015156135e157fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff166108fc888581518110151561361257fe5b906020019060200201519081150290604051600060405180830381858888f19350505050158015613647573d6000803e3d6000fd5b508280600101935050613296565b613b81565b60018081111561366657fe5b8560020160019054906101000a900460ff16600181111561368357fe5b1415613b80578460040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169150600090505b8751811015613b7f57600073ffffffffffffffffffffffffffffffffffffffff1688828151811015156136e457fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff16141515156137a0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001807f7a65726f2061646472657373206973206e6f7420616c6c6f776564206173206481526020017f657374696e6174696f6e2061646472657373000000000000000000000000000081525060400191505060405180910390fd5b84600601600089838151811015156137b457fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615156138a0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c8152602001807f44657374696e6174696f6e2061646472657373206973206e6f74206f6e65206f81526020017f6620746865206f776e657273000000000000000000000000000000000000000081525060400191505060405180910390fd5b600087828151811015156138b057fe5b90602001906020020151111515613955576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001807f416d6f756e7420746f2062652073656e742073686f756c64206265206772656181526020017f746572207468616e20300000000000000000000000000000000000000000000081525060400191505060405180910390fd5b61397f878281518110151561396657fe5b906020019060200201518561303690919063ffffffff16565b935060018560080160008a8481518110151561399757fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb8983815181101515613a1c57fe5b906020019060200201518984815181101515613a3457fe5b906020019060200201516040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015613ac357600080fd5b505af1158015613ad7573d6000803e3d6000fd5b505050506040513d6020811015613aed57600080fd5b81019080805190602001909291905050501515613b72576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f546f6b656e207472616e73666572206661696c65642e0000000000000000000081525060200191505060405180910390fd5b80806001019150506136b5565b5b5b83955050505050509392505050565b600080600080600088518a51148015613baa57508a518a51145b1515613c1e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f522c532c56206c656e677468206d69736d617463682e0000000000000000000081525060200191505060405180910390fd5b60197f01000000000000000000000000000000000000000000000000000000000000000260007f0100000000000000000000000000000000000000000000000000000000000000023089898c60405160200180877effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168152600101867effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526001018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401848051906020019060200280838360005b83811015613d72578082015181840152602081019050613d57565b50505050905001838051906020019060200280838360005b83811015613da5578082015181840152602081019050613d8a565b50505050905001826000191660001916815260200196505050505050506040516020818303038152906040526040518082805190602001908083835b602083101515613e065780518252602082019150602081019050602083039250613de1565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902060405160200180807f19457468657265756d205369676e6564204d6573736167653a0a333200000000815250601c0182600019166000191681526020019150506040516020818303038152906040526040518082805190602001908083835b602083101515613eb75780518252602082019150602081019050602083039250613e92565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390209250600091505b89518210156141f8576001838c84815181101515613f0557fe5b906020019060200201518c85815181101515613f1d57fe5b906020019060200201518c86815181101515613f3557fe5b90602001906020020151604051600081526020016040526040518085600019166000191681526020018460ff1660ff1681526020018360001916600019168152602001826000191660001916815260200194505050505060206040516020810390808403906000865af1158015613fb0573d6000803e3d6000fd5b505050602060405103519050600080896000191660001916815260200190815260200160002060060160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515614098576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f496e76616c6964207369676e617475726500000000000000000000000000000081525060200191505060405180910390fd5b600080896000191660001916815260200190815260200160002060070160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151515614175576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f53616d65207369676e61747572652073656e742074776963650000000000000081525060200191505060405180910390fd5b60016000808a6000191660001916815260200190815260200160002060070160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508093508180600101925050613eeb565b839450505050509695505050505050565b60008061421f834261425d90919063ffffffff16565b905060008463ffffffff16146142515761424a610e108563ffffffff1661427e90919063ffffffff16565b8111614254565b60005b91505092915050565b60008083831115151561426f57600080fd5b82840390508091505092915050565b600080600084141561429357600091506142b5565b82840290508284828115156142a457fe5b041415156142b157600080fd5b8091505b50929150505600a165627a7a723058207cf845abc2b34c73968f82b8d354c7549975a1a317493ef094ea52cecd92824f0029", + "sourceMap": "605:20433:0:-;;;1800:1;1766:35;;605:20433;8:9:-1;5:2;;;30:1;27;20:12;5:2;605:20433:0;;;;;;;", + "deployedSourceMap": "605:20433:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3861:701;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7763:514;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12071:1017;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12071:1017:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5510:1030;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5510:1030:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1708:51;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1708:51:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6781:221;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6781:221:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8605:832;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8605:832:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1766:35;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1766:35:0;;;;;;;;;;;;;;;;;;;;;;;9554:194;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9554:194:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;9554:194:0;;;;;;;;;;;;;;;;;10346:1204;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10346:1204:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7242:194;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7242:194:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3861:701;4138:10;2224:1;2190:12;:24;2203:10;2190:24;;;;;;;;;;;;;;;;;:30;;;:35;2182:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4173:5;2557:1;2531:28;;:14;:28;;;;2523:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4203:6;2557:1;2531:28;;:14;:28;;;;2523:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4225:264;4254:5;4273:6;4293:9;4316;4339:12;4365:10;4389:9;4412:8;4434:21;4477:1;4225:15;:264::i;:::-;4532:10;4513:41;;4520:10;4513:41;;;;4544:9;4513:41;;;;;;;;;;;;;;;;;;2593:1;2257;3861:701;;;;;;;;:::o;7763:514::-;7886:10;2054:1;2020:12;:24;2033:10;2020:24;;;;;;;;;;;;;;;;;:30;;;:35;;1999:96;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7920:10;2380:13;2345:48;;;;;;;;:12;:24;2358:10;2345:24;;;;;;;;;;;;;;;;;:31;;;;;;;;;;;;:48;;;;;;;;;2324:117;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7961:10;7973:21;2791:15;2747:59;;;;;;;;:12;:24;2760:10;2747:24;;;;;;;;;;;;;;;;;:40;;;;;;;;;;;;:59;;;;;;;;;2726:125;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8014:10;2959:12;:24;2972:10;2959:24;;;;;;;;;;;;;;;;;:30;;;;;;;;;;;;2945:44;;:10;:44;;;2924:124;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8070:1;8058:9;:13;8050:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8152;8200:9;8152:12;:24;8165:10;8152:24;;;;;;;;;;;;;;;;;:30;;;:47;;:58;;;;:::i;:::-;8119:12;:24;8132:10;8119:24;;;;;;;;;;;;;;;;;:30;;:91;;;;8248:10;8226:44;;8236:10;8226:44;;;;8260:9;8226:44;;;;;;;;;;;;;;;;;;2861:1;2451;;2105;7763:514;;:::o;12071:1017::-;12341:7;12392:1;12368:26;;:12;:26;;;12364:718;;;12482:8;12512:9;12543:12;12577:5;12604:6;12632:9;12671:4;12444:250;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;12444:250:0;;;12417:291;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;12417:291:0;;;;;;;;;;;;;;;;12410:298;;;;12364:718;12811:8;12841:9;12872:12;12906:5;12933:6;12961:9;13000:4;13027:12;12773:284;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;12773:284:0;;;12746:325;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;12746:325:0;;;;;;;;;;;;;;;;12739:332;;12071:1017;;;;;;;;;;:::o;5510:1030::-;6227:20;5829:10;2224:1;2190:12;:24;2203:10;2190:24;;;;;;;;;;;;;;;;;:30;;;:35;2182:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5864:5;2557:1;2531:28;;:14;:28;;;;2523:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5894:6;2557:1;2531:28;;:14;:28;;;;2523:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5925:12;2557:1;2531:28;;:14;:28;;;;2523:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5954:262;5983:5;6002:6;6022:9;6045;6068:12;6094:10;6118:5;6137:8;6159:21;6194:12;5954:15;:262::i;:::-;6265:12;6227:51;;6310:5;:18;;;6329:10;6349:4;6356:5;6310:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6310:52:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6310:52:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6310:52:0;;;;;;;;;;;;;;;;6289:192;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6515:10;6496:37;;6503:10;6496:37;;;;6527:5;6496:37;;;;;;;;;;;;;;;;;;2593:1;;2257;5510:1030;;;;;;;;;;;:::o;1708:51::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;6781:221::-;6917:4;6944:12;:24;6957:10;6944:24;;;;;;;;;;;;;;;;;:38;;:51;6983:11;6944:51;;;;;;;;;;;;;;;;;;;;;;;;;6937:58;;6781:221;;;;:::o;8605:832::-;8956:20;8736:10;2054:1;2020:12;:24;2033:10;2020:24;;;;;;;;;;;;;;;;;:30;;;:35;;1999:96;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8770:10;2380:13;2345:48;;;;;;;;:12;:24;2358:10;2345:24;;;;;;;;;;;;;;;;;:31;;;;;;;;;;;;:48;;;;;;;;;2324:117;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8811:10;8823:21;2791:15;2747:59;;;;;;;;:12;:24;2760:10;2747:24;;;;;;;;;;;;;;;;;:40;;;;;;;;;;;;:59;;;;;;;;;2726:125;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8864:10;2959:12;:24;2972:10;2959:24;;;;;;;;;;;;;;;;;:30;;;;;;;;;;;;2945:44;;:10;:44;;;2924:124;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8907:1;8899:5;:9;8891:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9007:12;:24;9020:10;9007:24;;;;;;;;;;;;;;;;;:37;;;;;;;;;;;;8956:98;;9086:5;:18;;;9105:12;:24;9118:10;9105:24;;;;;;;;;;;;;;;;;:30;;;;;;;;;;;;9145:4;9152:5;9086:72;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9086:72:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9086:72:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;9086:72:0;;;;;;;;;;;;;;;;9065:211;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9320:54;9368:5;9320:12;:24;9333:10;9320:24;;;;;;;;;;;;;;;;;:30;;;:47;;:54;;;;:::i;:::-;9287:12;:24;9300:10;9287:24;;;;;;;;;;;;;;;;;:30;;:87;;;;9412:10;9390:40;;9400:10;9390:40;;;;9424:5;9390:40;;;;;;;;;;;;;;;;;;2861:1;2451;;2105;8605:832;;;;:::o;1766:35::-;;;;:::o;9554:194::-;9676:9;9709:18;:32;9728:12;9709:32;;;;;;;;;;;;;;;9702:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9554:194;;;:::o;10346:1204::-;10568:10;2054:1;2020:12;:24;2033:10;2020:24;;;;;;;;;;;;;;;;;:30;;;:35;;1999:96;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10602:10;2380:13;2345:48;;;;;;;;:12;:24;2358:10;2345:24;;;;;;;;;;;;;;;;;:31;;;;;;;;;;;;:48;;;;;;;;;2324:117;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10672:1;10652:12;;:19;;:21;10631:114;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10799:7;;:14;;10776:12;;:19;;:37;10755:139;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10912:153;10944:4;;10912:153;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10962:4;;10912:153;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10980:4;;10912:153;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10998:10;11022:12;;10912:153;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11048:7;;10912:153;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:18;:153::i;:::-;11110:15;11076:12;:24;11089:10;11076:24;;;;;;;;;;;;;;;;;:31;;;:49;;;;;;;;;;;;;;;;;;;;;;;;11249:15;11209:12;:24;11222:10;11209:24;;;;;;;;;;;;;;;;;:37;;:55;;;;11348:12;:24;11361:10;11348:24;;;;;;;;;;;;;;;;;:30;;;11295:49;11310:10;11322:12;;11295:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11336:7;;11295:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:14;:49::i;:::-;:83;11274:202;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11509:10;11500:43;;;;11521:12;;11535:7;;11500:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2105:1;10346:1204;;;;;;;;;;;;:::o;7242:194::-;7365:4;7392:12;:24;7405:10;7392:24;;;;;;;;;;;;;;;;;:30;;:37;7423:5;7392:37;;;;;;;;;;;;;;;;;;;;;;;;;7385:44;;7242:194;;;;:::o;18395:2641::-;18757:6;18748:15;;:5;:15;;;;18740:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18868:1;18860:5;:9;18852:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19006:1;18994:9;:13;;;:31;;;;;19024:1;19011:9;:14;;;;18994:31;18973:140;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19407:1;19394:9;:14;;;:41;;;;19433:1;19412:23;;:9;:23;;;;19394:41;19373:160;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19579:226;19622:8;19648:9;19675:12;19705:5;19728:6;19752:9;19779:12;19579:25;:226::i;:::-;19565:240;;;:10;:240;;;;19544:345;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19927:373;;;;;;;;;20048:5;19927:373;;;;20116:15;19927:373;;;;20075:13;19927:373;;;;;;;;;;;;20235:15;19927:373;;;;;;;;;;;;20156:9;19927:373;;;;;;20193:12;19927:373;;;;;;19960:5;19927:373;;;;;;19987:6;19927:373;;;;;;20277:12;19927:373;;;;;;20018:9;19927:373;;;;;19900:12;:24;19913:10;19900:24;;;;;;;;;;;;;;;;;:400;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20354:4;20311:12;:24;20324:10;20311:24;;;;;;;;;;;;;;;;;:32;;:40;20344:6;20311:40;;;;;;;;;;;;;;;;:47;;;;;;;;;;;;;;;;;;20410:4;20368:12;:24;20381:10;20368:24;;;;;;;;;;;;;;;;;:32;;:39;20401:5;20368:39;;;;;;;;;;;;;;;;:46;;;;;;;;;;;;;;;;;;20522:12;:24;20535:10;20522:24;;;;;;;;;;;;;;;;;:32;;:43;20555:9;20522:43;;;;;;;;;;;;;;;;;;;;;;;;;20521:44;20500:137;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20809:1;20797:9;:13;;;20793:94;;;20872:4;20826:12;:24;20839:10;20826:24;;;;;;;;;;;;;;;;;:32;;:43;20859:9;20826:43;;;;;;;;;;;;;;;;:50;;;;;;;;;;;;;;;;;;20793:94;20905:16;;:18;;;;;;;;;;;;;20934;:25;20953:5;20934:25;;;;;;;;;;;;;;;20965:10;20934:42;;39:1:-1;33:3;27:10;23:18;57:10;52:3;45:23;79:10;72:17;;0:93;20934:42:0;;;;;;;;;;;;;;;;;;;;;;;;;;;20986:18;:26;21005:6;20986:26;;;;;;;;;;;;;;;21018:10;20986:43;;39:1:-1;33:3;27:10;23:18;57:10;52:3;45:23;79:10;72:17;;0:93;20986:43:0;;;;;;;;;;;;;;;;;;;;;;;;;;;18395:2641;;;;;;;;;;:::o;1272:131:2:-;1330:7;1345:9;1361:1;1357;:5;1345:17;;1381:1;1376;:6;;1368:15;;;;;;;;1397:1;1390:8;;1272:131;;;;;:::o;13362:1008:0:-;13583:21;13770:20;13607:152;13638:4;13656;13674;13692:10;13716:12;13742:7;13607:17;:152::i;:::-;13583:176;;13793:130;13825:12;:24;13838:10;13825:24;;;;;;;;;;;;;;;;;:37;;;;;;;;;;;;13876:12;:24;13889:10;13876:24;;;;;;;;;;;;;;;;;:37;;;13793:18;:130::i;:::-;13770:153;;14109:12;:24;14122:10;14109:24;;;;;;;;;;;;;;;;;:34;;;;;;;;;;;;14095:48;;:4;:11;:48;:122;;;;;14149:15;14148:16;:68;;;;14185:12;:24;14198:10;14185:24;;;;;;;;;;;;;;;;;:31;;;;;;;;;;;;14168:48;;:13;:48;;;;14148:68;14095:122;14074:289;;;14254:98;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14074:289;13362:1008;;;;;;;;:::o;14496:1723::-;14644:7;14667:21;14726:24;14832:9;15484:20;15557:9;14691:12;:24;14704:10;14691:24;;;;;;;;;;;;;;;;;14667:48;;14753:1;14726:28;;14790:21;14769:42;;;;;;;;:1;:17;;;;;;;;;;;;:42;;;;;;;;;14765:1414;;;14844:1;14832:13;;14827:577;14851:12;:19;14847:1;:23;14827:577;;;14931:1;14904:29;;:12;14917:1;14904:15;;;;;;;;;;;;;;;;;;:29;;;;14896:92;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15015:1;:9;;:26;15025:12;15038:1;15025:15;;;;;;;;;;;;;;;;;;15015:26;;;;;;;;;;;;;;;;;;;;;;;;;15007:83;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15130:1;15117:7;15125:1;15117:10;;;;;;;;;;;;;;;;;;:14;15109:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15216:32;15237:7;15245:1;15237:10;;;;;;;;;;;;;;;;;;15216:16;:20;;:32;;;;:::i;:::-;15197:51;;15302:4;15267:1;:15;;:32;15283:12;15296:1;15283:15;;;;;;;;;;;;;;;;;;15267:32;;;;;;;;;;;;;;;;:39;;;;;;;;;;;;;;;;;;15353:12;15366:1;15353:15;;;;;;;;;;;;;;;;;;:24;;:36;15378:7;15386:1;15378:10;;;;;;;;;;;;;;;;;;15353:36;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;15353:36:0;14872:3;;;;;;;14827:577;;;14765:1414;;;15446:21;15425:42;;;;;;;;:1;:17;;;;;;;;;;;;:42;;;;;;;;;15421:758;;;15522:1;:14;;;;;;;;;;;;15484:53;;15569:1;15557:13;;15552:617;15574:12;:19;15572:1;:21;15552:617;;;15654:1;15627:29;;:12;15640:1;15627:15;;;;;;;;;;;;;;;;;;:29;;;;15619:92;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15738:1;:9;;:26;15748:12;15761:1;15748:15;;;;;;;;;;;;;;;;;;15738:26;;;;;;;;;;;;;;;;;;;;;;;;;15730:83;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15853:1;15840:7;15848:1;15840:10;;;;;;;;;;;;;;;;;;:14;15832:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15939:32;15960:7;15968:1;15960:10;;;;;;;;;;;;;;;;;;15939:16;:20;;:32;;;;:::i;:::-;15920:51;;16024:4;15989:1;:15;;:32;16005:12;16018:1;16005:15;;;;;;;;;;;;;;;;;;15989:32;;;;;;;;;;;;;;;;:39;;;;;;;;;;;;;;;;;;16084:5;:14;;;16099:12;16112:1;16099:15;;;;;;;;;;;;;;;;;;16116:7;16124:1;16116:10;;;;;;;;;;;;;;;;;;16084:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;16084:43:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;16084:43:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;16084:43:0;;;;;;;;;;;;;;;;16076:78;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15595:3;;;;;;;15552:617;;;15421:758;14765:1414;16196:16;16189:23;;14496:1723;;;;;;;;;;:::o;16404:1581::-;16626:7;16787:19;16905:14;17373:6;17422:17;16686:4;:11;16671:4;:11;:26;:56;;;;;16716:4;:11;16701:4;:11;:26;16671:56;16650:126;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17109:4;17104:10;;17145:1;17140:7;;17181:4;17212:12;17250:7;17283:10;17062:253;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;17062:253:0;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;17062:253:0;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;17062:253:0;;;17031:302;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;17031:302:0;;;;;;;;;;;;;;;;16945:402;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;16945:402:0;;;16922:435;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;16922:435:0;;;;;;;;;;;;;;;;16905:452;;17382:1;17373:10;;17368:582;17389:4;:11;17385:1;:15;17368:582;;;17442:122;17469:6;17493:4;17498:1;17493:7;;;;;;;;;;;;;;;;;;17518:4;17523:1;17518:7;;;;;;;;;;;;;;;;;;17543:4;17548:1;17543:7;;;;;;;;;;;;;;;;;;17442:122;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;17442:122:0;;;;;;;;17422:142;;17604:12;:24;17617:10;17604:24;;;;;;;;;;;;;;;;;:32;;:43;17637:9;17604:43;;;;;;;;;;;;;;;;;;;;;;;;;17579:120;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17739:12;:24;17752:10;17739:24;;;;;;;;;;;;;;;;;:30;;:41;17770:9;17739:41;;;;;;;;;;;;;;;;;;;;;;;;;17738:42;17713:127;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17898:4;17854:12;:24;17867:10;17854:24;;;;;;;;;;;;;;;;;:30;;:41;17885:9;17854:41;;;;;;;;;;;;;;;;:48;;;;;;;;;;;;;;;;;;17930:9;17916:23;;17402:3;;;;;;;17368:582;;;17967:11;17960:18;;16404:1581;;;;;;;;;;;;:::o;17991:317::-;18130:4;18150:17;18170:21;18178:12;18170:3;:7;;:21;;;;:::i;:::-;18150:41;;18238:1;18222:12;:17;;;:69;;18260:31;18286:4;18268:12;18260:21;;:25;;:31;;;;:::i;:::-;18248:9;:43;18222:69;;;18242:5;18222:69;18201:100;;17991:317;;;;;:::o;1078:131:2:-;1136:7;1172:9;1164:1;1159;:6;;1151:15;;;;;;;;1188:1;1184;:5;1172:17;;1203:1;1196:8;;1078:131;;;;;:::o;204:381::-;262:7;523:9;491:1;486;:6;482:35;;;509:1;502:8;;;;482:35;539:1;535;:5;523:17;;563:1;558;554;:5;;;;;;;;:10;546:19;;;;;;;;579:1;572:8;;204:381;;;;;;:::o", + "source": "pragma solidity 0.4.24;\n\nimport \"openzeppelin-solidity/contracts/math/SafeMath.sol\";\n\nimport \"../token/ITokenContract.sol\";\n\n\n/**\n* @dev Supports ERC20 tokens\n* The escrow smart contract for the open bazaar trades in Ethereum\n* The smart contract is designed keeping in mind the current wallet interface of the OB-core\n* https://github.com/OpenBazaar/wallet-interface/blob/master/wallet.go\n* Current wallet interface strictly adheres to UTXO(bitcoin) model\n* Please read below mentioned link for detailed specs\n* https://github.com/OpenBazaar/smart-contracts/blob/master/contracts/escrow/EscrowSpec.md\n*/\ncontract Escrow_v1_0 {\n\n using SafeMath for uint256;\n\n enum Status {FUNDED, RELEASED}\n\n enum TransactionType {ETHER, TOKEN}\n\n event Executed(\n bytes32 indexed scriptHash,\n address[] destinations,\n uint256[] amounts\n );\n\n event FundAdded(\n bytes32 indexed scriptHash,\n address indexed from,\n uint256 valueAdded\n );\n\n event Funded(\n bytes32 indexed scriptHash, \n address indexed from, \n uint256 value\n );\n\n struct Transaction {\n uint256 value;\n uint256 lastModified;//Time at which tx was last modified in seconds\n Status status;\n TransactionType transactionType;\n uint8 threshold;\n uint32 timeoutHours;\n address buyer;\n address seller;\n address tokenAddress;//Token address in case of token transfer\n address moderator;\n mapping(address=>bool) isOwner;//to keep track of owners.\n mapping(address=>bool) voted;//to keep track of who all voted\n mapping(address=>bool) beneficiaries;//Benefeciaries of execution\n }\n\n mapping(bytes32 => Transaction) public transactions;\n\n uint256 public transactionCount = 0;\n\n //Contains mapping between each party and all of their transactions\n mapping(address => bytes32[]) private partyVsTransaction;\n\n modifier transactionExist(bytes32 scriptHash) {\n require(\n transactions[scriptHash].value != 0, \"Transaction does not exist\"\n );\n _;\n }\n\n modifier transactionDoesNotExist(bytes32 scriptHash) {\n require(transactions[scriptHash].value == 0, \"Transaction exist\");\n _;\n }\n\n modifier inFundedState(bytes32 scriptHash) {\n require(\n transactions[scriptHash].status == Status.FUNDED, \"Transaction is not in FUNDED state\"\n );\n _;\n }\n\n modifier nonZeroAddress(address addressToCheck) {\n require(addressToCheck != address(0), \"Zero address passed\");\n _;\n }\n\n modifier checkTransactionType(\n bytes32 scriptHash,\n TransactionType transactionType\n )\n {\n require(\n transactions[scriptHash].transactionType == transactionType, \"Transaction type does not match\"\n );\n _;\n }\n\n modifier onlyBuyer(bytes32 scriptHash) {\n require(\n msg.sender == transactions[scriptHash].buyer, \"The initiator of the transaction is not buyer\"\n );\n _;\n }\n\n /**\n * @dev Add new transaction in the contract\n * @param buyer The buyer of the transaction\n * @param seller The seller of the listing associated with the transaction\n * @param moderator Moderator for this transaction\n * @param threshold Minimum number of signatures required to released funds\n * @param timeoutHours Hours after which seller can release funds into his favour by signing transaction unilaterally\n * @param scriptHash keccak256 hash of the redeem script\n * @param uniqueId bytes20 unique id for the transaction, generated by ETH wallet\n * Redeem Script format will be following\n \n * Pass amount of the ethers to be put in escrow\n */\n function addTransaction(\n address buyer,\n address seller,\n address moderator,\n uint8 threshold,\n uint32 timeoutHours,\n bytes32 scriptHash,\n bytes20 uniqueId\n )\n external\n payable\n transactionDoesNotExist(scriptHash)\n nonZeroAddress(buyer)\n nonZeroAddress(seller)\n {\n _addTransaction(\n buyer,\n seller,\n moderator,\n threshold,\n timeoutHours,\n scriptHash,\n msg.value,\n uniqueId,\n TransactionType.ETHER,\n address(0)\n );\n \n emit Funded(scriptHash, msg.sender, msg.value);\n\n }\n\n /**\n * @dev Add new transaction in the contract\n * @param buyer The buyer of the transaction\n * @param seller The seller of the listing associated with the transaction\n * @param moderator Moderator for this transaction\n * @param threshold Minimum number of signatures required to released funds\n * @param timeoutHours Hours after which seller can release funds into his favour by signing transaction unilaterally\n * @param scriptHash keccak256 hash of the redeem script\n * @param value Amount of tokens to be put in escrow\n * @param uniqueId bytes20 unique id for the transaction, generated by ETH wallet\n * @param tokenAddress Address of the token to be used\n * Redeem Script format will be following\n \n * Approve escrow contract to spend amount of token on sender's behalf\n */\n function addTokenTransaction(\n address buyer,\n address seller,\n address moderator,\n uint8 threshold,\n uint32 timeoutHours,\n bytes32 scriptHash,\n uint256 value,\n bytes20 uniqueId,\n address tokenAddress\n )\n external\n transactionDoesNotExist(scriptHash)\n nonZeroAddress(buyer)\n nonZeroAddress(seller)\n nonZeroAddress(tokenAddress)\n {\n\n _addTransaction(\n buyer,\n seller,\n moderator,\n threshold,\n timeoutHours,\n scriptHash,\n value,\n uniqueId,\n TransactionType.TOKEN,\n tokenAddress\n );\n\n ITokenContract token = ITokenContract(tokenAddress);\n\n require(\n token.transferFrom(msg.sender, address(this), value),\n \"Token transfer failed, maybe you did not approve escrow contract to spend on behalf of sender\"\n );\n emit Funded(scriptHash, msg.sender, value);\n }\n\n /**\n * @dev This method will check whether given address was a beneficiary of transaction execution or not\n * @param scriptHash script hash of the transaction\n * @param beneficiary Beneficiary address to be checked\n */\n function checkBeneficiary(\n bytes32 scriptHash,\n address beneficiary\n )\n external\n view\n returns (bool)\n {\n return transactions[scriptHash].beneficiaries[beneficiary];\n }\n\n /**\n * @dev This method will check whether given party has voted or not\n * @param scriptHash script hash of the transaction\n * @param party Address of the party whose vote has to be checked\n * @return bool vote\n */\n function checkVote(\n bytes32 scriptHash,\n address party\n )\n external\n view\n returns (bool)\n {\n return transactions[scriptHash].voted[party];\n }\n\n /**\n * @dev Allows buyer of the transaction to add more funds(ether) in the transaction. \n * This will help to cater scenarios wherein initially buyer missed to fund transaction as required\n * @param scriptHash script hash of the transaction\n * Only buyer of the transaction can invoke this method\n */\n function addFundsToTransaction(\n bytes32 scriptHash\n )\n external\n payable\n transactionExist(scriptHash)\n inFundedState(scriptHash)\n checkTransactionType(scriptHash, TransactionType.ETHER)\n onlyBuyer(scriptHash)\n \n {\n\n require(msg.value > 0, \"Value must be greater than zero.\");\n\n transactions[scriptHash].value = transactions[scriptHash].value\n .add(msg.value);\n\n emit FundAdded(scriptHash, msg.sender, msg.value);\n }\n\n /**\n * @dev Allows buyer of the transaction to add more funds(Tokens) in the transaction. \n * This will help to cater scenarios wherein initially buyer missed to fund transaction as required\n * @param scriptHash script hash of the transaction\n * Only buyer of the transaction can invoke this method\n */\n function addTokensToTransaction(\n bytes32 scriptHash,\n uint256 value\n )\n external\n transactionExist(scriptHash)\n inFundedState(scriptHash)\n checkTransactionType(scriptHash, TransactionType.TOKEN)\n onlyBuyer(scriptHash)\n {\n\n require(value > 0, \"Value must be greater than zero.\");\n\n ITokenContract token = ITokenContract(\n transactions[scriptHash].tokenAddress\n );\n\n require(\n token.transferFrom(transactions[scriptHash].buyer, address(this), value),\n \"Token transfer failed, maybe you did not approve escrow contract to spend on behalf of buyer\"\n );\n\n transactions[scriptHash].value = transactions[scriptHash].value\n .add(value);\n\n emit FundAdded(scriptHash, msg.sender, value);\n }\n\n /**\n *@dev Returns all transaction ids for a party\n *@param partyAddress Address of the party\n */\n function getAllTransactionsForParty(\n address partyAddress\n ) \n external \n view \n returns (bytes32[]) \n {\n return partyVsTransaction[partyAddress];\n }\n\n /**\n *@dev This method will be used to release funds associated with the transaction\n * Please see specs https://github.com/OpenBazaar/smart-contracts/blob/master/contracts/escrow/EscrowSpec.md\n *@param sigV Array containing V component of all the signatures\n *@param sigR Array containing R component of all the signatures\n *@param signS Array containing S component of all the signatures\n *@param scriptHash script hash of the transaction\n *@param destinations List of addresses who will receive funds\n *@param amounts amount released to each destination\n */\n function execute(\n uint8[] sigV,\n bytes32[] sigR,\n bytes32[] sigS,\n bytes32 scriptHash,\n address[] destinations,\n uint256[] amounts\n )\n external\n transactionExist(scriptHash)\n inFundedState(scriptHash)\n { \n require(\n destinations.length>0, \n \"Number of destinations must be greater than 0\"\n );\n require(\n destinations.length == amounts.length,\n \"Number of destinations must match number of values sent\"\n );\n \n _verifyTransaction(\n sigV,\n sigR,\n sigS,\n scriptHash,\n destinations,\n amounts\n );\n\n transactions[scriptHash].status = Status.RELEASED;\n //Last modified timestamp modified, which will be used by rewards\n transactions[scriptHash].lastModified = block.timestamp;\n require(\n _transferFunds(scriptHash, destinations, amounts) == transactions[scriptHash].value,\n \"Total value to be released must be equal to the transaction escrow value\"\n );\n \n emit Executed(scriptHash, destinations, amounts);\n }\n\n\n /**\n *@dev Method for calculating script hash. Calculation will depend upon the type of transaction\n * ETHER Type transaction-:\n * Script Hash- keccak256(uniqueId, threshold, timeoutHours, buyer, seller, moderator, multiSigContractAddress)\n * TOKEN Type transaction\n * Script Hash- keccak256(uniqueId, threshold, timeoutHours, buyer, seller, moderator, multiSigContractAddress, tokenAddress)\n * Client can use this method to verify whether it has calculated correct script hash or not\n */\n function calculateRedeemScriptHash(\n bytes20 uniqueId,\n uint8 threshold,\n uint32 timeoutHours,\n address buyer,\n address seller,\n address moderator,\n address tokenAddress\n )\n public\n view\n returns (bytes32)\n {\n if (tokenAddress == address(0)) {\n return keccak256(\n abi.encodePacked(\n uniqueId,\n threshold,\n timeoutHours,\n buyer,\n seller,\n moderator,\n address(this)\n )\n );\n } else {\n return keccak256(\n abi.encodePacked(\n uniqueId,\n threshold,\n timeoutHours,\n buyer,\n seller,\n moderator,\n address(this),\n tokenAddress\n )\n );\n }\n }\n\n /**\n * @dev This methods checks validity of transaction\n * 1. Verify Signatures\n * 2. Check if minimum number of signatures has been acquired\n * 3. If above condition is false, check if time lock is expired and the execution is signed by seller\n */\n function _verifyTransaction(\n uint8[] sigV,\n bytes32[] sigR,\n bytes32[] sigS,\n bytes32 scriptHash,\n address[] destinations,\n uint256[] amounts\n )\n private\n {\n address lastRecovered = _verifySignatures(\n sigV,\n sigR,\n sigS,\n scriptHash,\n destinations,\n amounts\n );\n\n bool timeLockExpired = _isTimeLockExpired(\n transactions[scriptHash].timeoutHours,\n transactions[scriptHash].lastModified\n );\n\n //if Minimum number of signatures are not gathered and timelock has not expired or transaction was not signed by seller then revert\n if (\n sigV.length < transactions[scriptHash].threshold && (!timeLockExpired || lastRecovered != transactions[scriptHash].seller)\n )\n {\n revert(\"Minimum number of signatures are not collected and time lock expiry conditions not met!!\");\n }\n\n }\n\n /**\n *@dev Private method to transfer funds to the destination addresses on the basis of transaction type\n */\n function _transferFunds(\n bytes32 scriptHash,\n address[]destinations,\n uint256[]amounts\n )\n private\n returns (uint256)\n {\n Transaction storage t = transactions[scriptHash];\n\n uint256 valueTransferred = 0;\n\n if (t.transactionType == TransactionType.ETHER) {\n for (uint256 i = 0; i < destinations.length; i++) {\n\n require(destinations[i] != address(0), \"zero address is not allowed as destination address\");\n\n require(t.isOwner[destinations[i]], \"Destination address is not one of the owners\");\n\n require(amounts[i] > 0, \"Amount to be sent should be greater than 0\");\n\n valueTransferred = valueTransferred.add(amounts[i]);\n\n t.beneficiaries[destinations[i]] = true;//add receiver as beneficiary\n destinations[i].transfer(amounts[i]);\n }\n\n } else if (t.transactionType == TransactionType.TOKEN) {\n\n ITokenContract token = ITokenContract(t.tokenAddress);\n\n for (uint256 j = 0; j 0, \"Amount to be sent should be greater than 0\");\n\n valueTransferred = valueTransferred.add(amounts[j]);\n t.beneficiaries[destinations[j]] = true;//add receiver as beneficiary\n\n require(token.transfer(destinations[j], amounts[j]), \"Token transfer failed.\");\n }\n } \n return valueTransferred;\n }\n\n //to check whether the signatures are valid or not and if consensus was reached\n //returns the last address recovered, in case of timeout this must be the sender's address\n function _verifySignatures(\n uint8[] sigV,\n bytes32[] sigR,\n bytes32[] sigS,\n bytes32 scriptHash,\n address[] destinations,\n uint256[]amounts\n )\n private\n returns (address)\n {\n\n require(\n sigR.length == sigS.length && sigR.length == sigV.length, \n \"R,S,V length mismatch.\"\n );\n\n address lastAddress;\n\n // Follows ERC191 signature scheme: https://github.com/ethereum/EIPs/issues/191\n bytes32 txHash = keccak256(\n abi.encodePacked(\n \"\\x19Ethereum Signed Message:\\n32\",\n keccak256(\n abi.encodePacked(\n byte(0x19),\n byte(0),\n address(this),\n destinations,\n amounts,\n scriptHash\n )\n )\n )\n );\n\n for (uint i = 0; i < sigR.length; i++) {\n\n address recovered = ecrecover(\n txHash,\n sigV[i],\n sigR[i],\n sigS[i]\n );\n\n require(\n transactions[scriptHash].isOwner[recovered], \n \"Invalid signature\"\n );\n require(\n !transactions[scriptHash].voted[recovered], \n \"Same signature sent twice\"\n );\n transactions[scriptHash].voted[recovered] = true;\n lastAddress = recovered;\n }\n\n return lastAddress;\n }\n\n function _isTimeLockExpired(\n uint32 timeoutHours,\n uint256 lastModified\n )\n private\n view\n returns (bool)\n {\n uint256 timeSince = now.sub(lastModified);\n return (\n timeoutHours == 0 ? false:timeSince > uint256(timeoutHours).mul(3600)\n );\n }\n\n /**\n * Private method to add transaction to reduce code redundancy\n */\n function _addTransaction(\n address buyer,\n address seller,\n address moderator,\n uint8 threshold,\n uint32 timeoutHours,\n bytes32 scriptHash,\n uint256 value,\n bytes20 uniqueId,\n TransactionType transactionType,\n address tokenAddress\n )\n private\n { \n require(buyer != seller, \"Buyer and seller are same\");\n\n //value passed should be greater than 0\n require(value > 0, \"Value passed is 0\");\n\n // For now allowing 0 moderator to support 1-2 multisig wallet\n require(\n threshold > 0 && threshold <= 3, \n \"Threshold cannot be greater than 3 and must be greater than 0\"\n );\n\n //if threshold is 1 then moderator can be passed as zero address or any other address\n //(it won't matter apart from scripthash since we wont add moderator as one of the owner),\n //otherwise moderator should be a valid address\n require(\n threshold == 1 || moderator != address(0),\n \"Either threshold should be 1 or valid moderator address should be passed\"\n );\n\n require(\n scriptHash == calculateRedeemScriptHash(\n uniqueId,\n threshold,\n timeoutHours,\n buyer,\n seller,\n moderator,\n tokenAddress\n ), \n \"Calculated script hash does not match passed script hash.\"\n );\n\n transactions[scriptHash] = Transaction({\n buyer: buyer,\n seller: seller,\n moderator: moderator,\n value: value,\n status: Status.FUNDED,\n lastModified: block.timestamp,\n threshold: threshold,\n timeoutHours: timeoutHours,\n transactionType:transactionType,\n tokenAddress:tokenAddress\n });\n\n transactions[scriptHash].isOwner[seller] = true;\n transactions[scriptHash].isOwner[buyer] = true; \n\n //Check if buyer or seller are not passed as moderator\n require(\n !transactions[scriptHash].isOwner[moderator], \n \"Either buyer or seller is passed as moderator\"\n );\n\n //set moderator as one of the owners only if threshold is greater than 1 otherwise only buyer and seller should be able to release funds\n if (threshold > 1) {\n transactions[scriptHash].isOwner[moderator] = true;\n }\n \n\n transactionCount++;\n\n partyVsTransaction[buyer].push(scriptHash);\n partyVsTransaction[seller].push(scriptHash);\n }\n}\n", "sourcePath": "/home/sameep/freelancing-projects/toptal/open baazar/publicRepo/smart-contracts/contracts/escrow/Escrow_v1_0.sol", "ast": { "absolutePath": "/home/sameep/freelancing-projects/toptal/open baazar/publicRepo/smart-contracts/contracts/escrow/Escrow_v1_0.sol", "exportedSymbols": { "Escrow_v1_0": [ - 1224 + 1208 ] }, - "id": 1225, + "id": 1209, "nodeType": "SourceUnit", "nodes": [ { @@ -426,8 +426,8 @@ "file": "openzeppelin-solidity/contracts/math/SafeMath.sol", "id": 2, "nodeType": "ImportDirective", - "scope": 1225, - "sourceUnit": 1383, + "scope": 1209, + "sourceUnit": 1367, "src": "25:59:0", "symbolAliases": [], "unitAlias": "" @@ -437,8 +437,8 @@ "file": "../token/ITokenContract.sol", "id": 3, "nodeType": "ImportDirective", - "scope": 1225, - "sourceUnit": 1255, + "scope": 1209, + "sourceUnit": 1239, "src": "86:37:0", "symbolAliases": [], "unitAlias": "" @@ -449,9 +449,9 @@ "contractKind": "contract", "documentation": "@dev Supports ERC20 tokens\nThe escrow smart contract for the open bazaar trades in Ethereum\nThe smart contract is designed keeping in mind the current wallet interface of the OB-core\nhttps://github.com/OpenBazaar/wallet-interface/blob/master/wallet.go\nCurrent wallet interface strictly adheres to UTXO(bitcoin) model\nPlease read below mentioned link for detailed specs\nhttps://github.com/OpenBazaar/smart-contracts/blob/master/contracts/escrow/EscrowSpec.md", "fullyImplemented": true, - "id": 1224, + "id": 1208, "linearizedBaseContracts": [ - 1224 + 1208 ], "name": "Escrow_v1_0", "nodeType": "ContractDefinition", @@ -463,10 +463,10 @@ "id": 4, "name": "SafeMath", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1382, + "referencedDeclaration": 1366, "src": "639:8:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$1382", + "typeIdentifier": "t_contract$_SafeMath_$1366", "typeString": "library SafeMath" } }, @@ -1239,7 +1239,7 @@ ], "name": "Transaction", "nodeType": "StructDefinition", - "scope": 1224, + "scope": 1208, "src": "1103:599:0", "visibility": "public" }, @@ -1248,7 +1248,7 @@ "id": 75, "name": "transactions", "nodeType": "VariableDeclaration", - "scope": 1224, + "scope": 1208, "src": "1708:51:0", "stateVariable": true, "storageLocation": "default", @@ -1295,7 +1295,7 @@ "id": 78, "name": "transactionCount", "nodeType": "VariableDeclaration", - "scope": 1224, + "scope": 1208, "src": "1766:35:0", "stateVariable": true, "storageLocation": "default", @@ -1338,7 +1338,7 @@ "id": 83, "name": "partyVsTransaction", "nodeType": "VariableDeclaration", - "scope": 1224, + "scope": 1208, "src": "1880:56:0", "stateVariable": true, "storageLocation": "default", @@ -1525,10 +1525,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1400, - 1401 + 1384, + 1385 ], - "referencedDeclaration": 1401, + "referencedDeclaration": 1385, "src": "1999:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -1737,10 +1737,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1400, - 1401 + 1384, + 1385 ], - "referencedDeclaration": 1401, + "referencedDeclaration": 1385, "src": "2182:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -1960,10 +1960,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1400, - 1401 + 1384, + 1385 ], - "referencedDeclaration": 1401, + "referencedDeclaration": 1385, "src": "2324:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -2167,10 +2167,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1400, - 1401 + 1384, + 1385 ], - "referencedDeclaration": 1401, + "referencedDeclaration": 1385, "src": "2523:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -2374,10 +2374,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1400, - 1401 + 1384, + 1385 ], - "referencedDeclaration": 1401, + "referencedDeclaration": 1385, "src": "2726:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -2506,7 +2506,7 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1397, + "referencedDeclaration": 1381, "src": "2945:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", @@ -2625,10 +2625,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1400, - 1401 + 1384, + 1385 ], - "referencedDeclaration": 1401, + "referencedDeclaration": 1385, "src": "2924:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -2796,7 +2796,7 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1397, + "referencedDeclaration": 1381, "src": "4389:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", @@ -2963,7 +2963,7 @@ "name": "_addTransaction", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1223, + "referencedDeclaration": 1207, "src": "4225:15:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_address_$_t_uint8_$_t_uint32_$_t_bytes32_$_t_uint256_$_t_bytes20_$_t_enum$_TransactionType_$12_$_t_address_$returns$__$", @@ -3013,7 +3013,7 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1397, + "referencedDeclaration": 1381, "src": "4532:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", @@ -3042,7 +3042,7 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1397, + "referencedDeclaration": 1381, "src": "4544:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", @@ -3414,7 +3414,7 @@ "parameters": [], "src": "4215:0:0" }, - "scope": 1224, + "scope": 1208, "src": "3861:701:0", "stateMutability": "payable", "superFunction": null, @@ -3624,7 +3624,7 @@ "name": "_addTransaction", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1223, + "referencedDeclaration": 1207, "src": "5954:15:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_address_$_t_uint8_$_t_uint32_$_t_bytes32_$_t_uint256_$_t_bytes20_$_t_enum$_TransactionType_$12_$_t_address_$returns$__$", @@ -3664,7 +3664,7 @@ "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenContract_$1254", + "typeIdentifier": "t_contract$_ITokenContract_$1238", "typeString": "contract ITokenContract" }, "typeName": { @@ -3672,10 +3672,10 @@ "id": 281, "name": "ITokenContract", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1254, + "referencedDeclaration": 1238, "src": "6227:14:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenContract_$1254", + "typeIdentifier": "t_contract$_ITokenContract_$1238", "typeString": "contract ITokenContract" } }, @@ -3712,10 +3712,10 @@ "name": "ITokenContract", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1254, + "referencedDeclaration": 1238, "src": "6250:14:0", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ITokenContract_$1254_$", + "typeIdentifier": "t_type$_t_contract$_ITokenContract_$1238_$", "typeString": "type(contract ITokenContract)" } }, @@ -3729,7 +3729,7 @@ "nodeType": "FunctionCall", "src": "6250:28:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenContract_$1254", + "typeIdentifier": "t_contract$_ITokenContract_$1238", "typeString": "contract ITokenContract" } }, @@ -3751,7 +3751,7 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1397, + "referencedDeclaration": 1381, "src": "6329:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", @@ -3781,10 +3781,10 @@ "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1414, + "referencedDeclaration": 1398, "src": "6349:4:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_Escrow_v1_0_$1224", + "typeIdentifier": "t_contract$_Escrow_v1_0_$1208", "typeString": "contract Escrow_v1_0" } } @@ -3792,7 +3792,7 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_Escrow_v1_0_$1224", + "typeIdentifier": "t_contract$_Escrow_v1_0_$1208", "typeString": "contract Escrow_v1_0" } ], @@ -3861,7 +3861,7 @@ "referencedDeclaration": 282, "src": "6310:5:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenContract_$1254", + "typeIdentifier": "t_contract$_ITokenContract_$1238", "typeString": "contract ITokenContract" } }, @@ -3872,7 +3872,7 @@ "lValueRequested": false, "memberName": "transferFrom", "nodeType": "MemberAccess", - "referencedDeclaration": 1253, + "referencedDeclaration": 1237, "src": "6310:18:0", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", @@ -3927,10 +3927,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1400, - 1401 + 1384, + 1385 ], - "referencedDeclaration": 1401, + "referencedDeclaration": 1385, "src": "6289:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -3980,7 +3980,7 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1397, + "referencedDeclaration": 1381, "src": "6515:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", @@ -4450,7 +4450,7 @@ "parameters": [], "src": "5943:0:0" }, - "scope": 1224, + "scope": 1208, "src": "5510:1030:0", "stateMutability": "nonpayable", "superFunction": null, @@ -4654,7 +4654,7 @@ ], "src": "6916:6:0" }, - "scope": 1224, + "scope": 1208, "src": "6781:221:0", "stateMutability": "view", "superFunction": null, @@ -4858,7 +4858,7 @@ ], "src": "7364:6:0" }, - "scope": 1224, + "scope": 1208, "src": "7242:194:0", "stateMutability": "view", "superFunction": null, @@ -4866,9 +4866,9 @@ }, { "body": { - "id": 399, + "id": 391, "nodeType": "Block", - "src": "8039:303:0", + "src": "8039:238:0", "statements": [ { "expression": { @@ -4893,7 +4893,7 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1397, + "referencedDeclaration": 1381, "src": "8058:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", @@ -4974,10 +4974,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1400, - 1401 + 1384, + 1385 ], - "referencedDeclaration": 1401, + "referencedDeclaration": 1385, "src": "8050:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -5079,7 +5079,7 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1397, + "referencedDeclaration": 1381, "src": "8200:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", @@ -5171,7 +5171,7 @@ "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 1361, + "referencedDeclaration": 1345, "src": "8152:47:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", @@ -5202,123 +5202,18 @@ "nodeType": "ExpressionStatement", "src": "8119:91:0" }, - { - "expression": { - "argumentTypes": null, - "id": 389, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 383, - "name": "transactions", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75, - "src": "8220:12:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", - "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" - } - }, - "id": 385, - "indexExpression": { - "argumentTypes": null, - "id": 384, - "name": "scriptHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 344, - "src": "8233:10:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8220:24:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Transaction_$71_storage", - "typeString": "struct Escrow_v1_0.Transaction storage ref" - } - }, - "id": 386, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "lastModified", - "nodeType": "MemberAccess", - "referencedDeclaration": 42, - "src": "8220:37:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 387, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1387, - "src": "8260:5:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 388, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "timestamp", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "8260:15:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8220:55:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 390, - "nodeType": "ExpressionStatement", - "src": "8220:55:0" - }, { "eventCall": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 392, + "id": 384, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 344, - "src": "8301:10:0", + "src": "8236:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -5328,18 +5223,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 393, + "id": 385, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1397, - "src": "8313:3:0", + "referencedDeclaration": 1381, + "src": "8248:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 394, + "id": 386, "isConstant": false, "isLValue": false, "isPure": false, @@ -5347,7 +5242,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "8313:10:0", + "src": "8248:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -5357,18 +5252,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 395, + "id": 387, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1397, - "src": "8325:3:0", + "referencedDeclaration": 1381, + "src": "8260:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 396, + "id": 388, "isConstant": false, "isLValue": false, "isPure": false, @@ -5376,7 +5271,7 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "8325:9:0", + "src": "8260:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5398,18 +5293,18 @@ "typeString": "uint256" } ], - "id": 391, + "id": 383, "name": "FundAdded", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 30, - "src": "8291:9:0", + "src": "8226:9:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (bytes32,address,uint256)" } }, - "id": 397, + "id": 389, "isConstant": false, "isLValue": false, "isPure": false, @@ -5417,20 +5312,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8291:44:0", + "src": "8226:44:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 398, + "id": 390, "nodeType": "EmitStatement", - "src": "8286:49:0" + "src": "8221:49:0" } ] }, "documentation": "@dev Allows buyer of the transaction to add more funds(ether) in the transaction. \nThis will help to cater scenarios wherein initially buyer missed to fund transaction as required\n@param scriptHash script hash of the transaction\nOnly buyer of the transaction can invoke this method", - "id": 400, + "id": 392, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -5608,7 +5503,7 @@ "id": 344, "name": "scriptHash", "nodeType": "VariableDeclaration", - "scope": 400, + "scope": 392, "src": "7803:18:0", "stateVariable": false, "storageLocation": "default", @@ -5639,17 +5534,17 @@ "parameters": [], "src": "8039:0:0" }, - "scope": 1224, - "src": "7763:579:0", + "scope": 1208, + "src": "7763:514:0", "stateMutability": "payable", "superFunction": null, "visibility": "external" }, { "body": { - "id": 480, + "id": 464, "nodeType": "Block", - "src": "8945:622:0", + "src": "8880:557:0", "statements": [ { "expression": { @@ -5661,19 +5556,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 424, + "id": 416, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 422, + "id": 414, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 404, - "src": "8964:5:0", + "referencedDeclaration": 396, + "src": "8899:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5684,14 +5579,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 423, + "id": 415, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "8972:1:0", + "src": "8907:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -5699,7 +5594,7 @@ }, "value": "0" }, - "src": "8964:9:0", + "src": "8899:9:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -5708,14 +5603,14 @@ { "argumentTypes": null, "hexValue": "56616c7565206d7573742062652067726561746572207468616e207a65726f2e", - "id": 425, + "id": 417, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "8975:34:0", + "src": "8910:34:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_21fbec2be6560b9ccffc4980d43c0d147770168e7aaf24999b418b9010085622", @@ -5735,21 +5630,21 @@ "typeString": "literal_string \"Value must be greater than zero.\"" } ], - "id": 421, + "id": 413, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1400, - 1401 + 1384, + 1385 ], - "referencedDeclaration": 1401, - "src": "8956:7:0", + "referencedDeclaration": 1385, + "src": "8891:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 426, + "id": 418, "isConstant": false, "isLValue": false, "isPure": false, @@ -5757,43 +5652,43 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8956:54:0", + "src": "8891:54:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 427, + "id": 419, "nodeType": "ExpressionStatement", - "src": "8956:54:0" + "src": "8891:54:0" }, { "assignments": [ - 429 + 421 ], "declarations": [ { "constant": false, - "id": 429, + "id": 421, "name": "token", "nodeType": "VariableDeclaration", - "scope": 481, - "src": "9021:20:0", + "scope": 465, + "src": "8956:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenContract_$1254", + "typeIdentifier": "t_contract$_ITokenContract_$1238", "typeString": "contract ITokenContract" }, "typeName": { "contractScope": null, - "id": 428, + "id": 420, "name": "ITokenContract", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1254, - "src": "9021:14:0", + "referencedDeclaration": 1238, + "src": "8956:14:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenContract_$1254", + "typeIdentifier": "t_contract$_ITokenContract_$1238", "typeString": "contract ITokenContract" } }, @@ -5801,7 +5696,7 @@ "visibility": "internal" } ], - "id": 436, + "id": 428, "initialValue": { "argumentTypes": null, "arguments": [ @@ -5811,26 +5706,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 431, + "id": 423, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "9072:12:0", + "src": "9007:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 433, + "id": 425, "indexExpression": { "argumentTypes": null, - "id": 432, + "id": 424, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 402, - "src": "9085:10:0", + "referencedDeclaration": 394, + "src": "9020:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -5841,13 +5736,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "9072:24:0", + "src": "9007:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 434, + "id": 426, "isConstant": false, "isLValue": true, "isPure": false, @@ -5855,7 +5750,7 @@ "memberName": "tokenAddress", "nodeType": "MemberAccess", "referencedDeclaration": 56, - "src": "9072:37:0", + "src": "9007:37:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -5869,18 +5764,18 @@ "typeString": "address" } ], - "id": 430, + "id": 422, "name": "ITokenContract", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1254, - "src": "9044:14:0", + "referencedDeclaration": 1238, + "src": "8979:14:0", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ITokenContract_$1254_$", + "typeIdentifier": "t_type$_t_contract$_ITokenContract_$1238_$", "typeString": "type(contract ITokenContract)" } }, - "id": 435, + "id": 427, "isConstant": false, "isLValue": false, "isPure": false, @@ -5888,14 +5783,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "9044:75:0", + "src": "8979:75:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenContract_$1254", + "typeIdentifier": "t_contract$_ITokenContract_$1238", "typeString": "contract ITokenContract" } }, "nodeType": "VariableDeclarationStatement", - "src": "9021:98:0" + "src": "8956:98:0" }, { "expression": { @@ -5910,26 +5805,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 440, + "id": 432, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "9170:12:0", + "src": "9105:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 442, + "id": 434, "indexExpression": { "argumentTypes": null, - "id": 441, + "id": 433, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 402, - "src": "9183:10:0", + "referencedDeclaration": 394, + "src": "9118:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -5940,13 +5835,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "9170:24:0", + "src": "9105:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 443, + "id": 435, "isConstant": false, "isLValue": true, "isPure": false, @@ -5954,7 +5849,7 @@ "memberName": "buyer", "nodeType": "MemberAccess", "referencedDeclaration": 52, - "src": "9170:30:0", + "src": "9105:30:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -5965,14 +5860,14 @@ "arguments": [ { "argumentTypes": null, - "id": 445, + "id": 437, "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1414, - "src": "9210:4:0", + "referencedDeclaration": 1398, + "src": "9145:4:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_Escrow_v1_0_$1224", + "typeIdentifier": "t_contract$_Escrow_v1_0_$1208", "typeString": "contract Escrow_v1_0" } } @@ -5980,24 +5875,24 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_Escrow_v1_0_$1224", + "typeIdentifier": "t_contract$_Escrow_v1_0_$1208", "typeString": "contract Escrow_v1_0" } ], - "id": 444, + "id": 436, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "9202:7:0", + "src": "9137:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, - "id": 446, + "id": 438, "isConstant": false, "isLValue": false, "isPure": false, @@ -6005,7 +5900,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "9202:13:0", + "src": "9137:13:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -6013,12 +5908,12 @@ }, { "argumentTypes": null, - "id": 447, + "id": 439, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 404, - "src": "9217:5:0", + "referencedDeclaration": 396, + "src": "9152:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6042,32 +5937,32 @@ ], "expression": { "argumentTypes": null, - "id": 438, + "id": 430, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 429, - "src": "9151:5:0", + "referencedDeclaration": 421, + "src": "9086:5:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenContract_$1254", + "typeIdentifier": "t_contract$_ITokenContract_$1238", "typeString": "contract ITokenContract" } }, - "id": 439, + "id": 431, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "transferFrom", "nodeType": "MemberAccess", - "referencedDeclaration": 1253, - "src": "9151:18:0", + "referencedDeclaration": 1237, + "src": "9086:18:0", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", "typeString": "function (address,address,uint256) external returns (bool)" } }, - "id": 448, + "id": 440, "isConstant": false, "isLValue": false, "isPure": false, @@ -6075,7 +5970,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "9151:72:0", + "src": "9086:72:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -6084,14 +5979,14 @@ { "argumentTypes": null, "hexValue": "546f6b656e207472616e73666572206661696c65642c206d6179626520796f7520646964206e6f7420617070726f766520657363726f7720636f6e747261637420746f207370656e64206f6e20626568616c66206f66206275796572", - "id": 449, + "id": 441, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "9237:94:0", + "src": "9172:94:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_d9d07068d589bc4adc53018a3c57c159ec128fdfb62732a5fa9410e76cf03318", @@ -6111,21 +6006,21 @@ "typeString": "literal_string \"Token transfer failed, maybe you did not approve escrow contract to spend on behalf of buyer\"" } ], - "id": 437, + "id": 429, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1400, - 1401 + 1384, + 1385 ], - "referencedDeclaration": 1401, - "src": "9130:7:0", + "referencedDeclaration": 1385, + "src": "9065:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 450, + "id": 442, "isConstant": false, "isLValue": false, "isPure": false, @@ -6133,20 +6028,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "9130:211:0", + "src": "9065:211:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 451, + "id": 443, "nodeType": "ExpressionStatement", - "src": "9130:211:0" + "src": "9065:211:0" }, { "expression": { "argumentTypes": null, - "id": 463, + "id": 455, "isConstant": false, "isLValue": false, "isPure": false, @@ -6157,26 +6052,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 452, + "id": 444, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "9352:12:0", + "src": "9287:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 454, + "id": 446, "indexExpression": { "argumentTypes": null, - "id": 453, + "id": 445, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 402, - "src": "9365:10:0", + "referencedDeclaration": 394, + "src": "9300:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -6187,13 +6082,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "9352:24:0", + "src": "9287:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 455, + "id": 447, "isConstant": false, "isLValue": true, "isPure": false, @@ -6201,7 +6096,7 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": 40, - "src": "9352:30:0", + "src": "9287:30:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6214,12 +6109,12 @@ "arguments": [ { "argumentTypes": null, - "id": 461, + "id": 453, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 404, - "src": "9433:5:0", + "referencedDeclaration": 396, + "src": "9368:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6239,26 +6134,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 456, + "id": 448, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "9385:12:0", + "src": "9320:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 458, + "id": 450, "indexExpression": { "argumentTypes": null, - "id": 457, + "id": 449, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 402, - "src": "9398:10:0", + "referencedDeclaration": 394, + "src": "9333:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -6269,13 +6164,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "9385:24:0", + "src": "9320:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 459, + "id": 451, "isConstant": false, "isLValue": true, "isPure": false, @@ -6283,27 +6178,27 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": 40, - "src": "9385:30:0", + "src": "9320:30:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 460, + "id": 452, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 1361, - "src": "9385:47:0", + "referencedDeclaration": 1345, + "src": "9320:47:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 462, + "id": 454, "isConstant": false, "isLValue": false, "isPure": false, @@ -6311,126 +6206,21 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "9385:54:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "9352:87:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 464, - "nodeType": "ExpressionStatement", - "src": "9352:87:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 471, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 465, - "name": "transactions", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75, - "src": "9449:12:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", - "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" - } - }, - "id": 467, - "indexExpression": { - "argumentTypes": null, - "id": 466, - "name": "scriptHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 402, - "src": "9462:10:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9449:24:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Transaction_$71_storage", - "typeString": "struct Escrow_v1_0.Transaction storage ref" - } - }, - "id": 468, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "lastModified", - "nodeType": "MemberAccess", - "referencedDeclaration": 42, - "src": "9449:37:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 469, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1387, - "src": "9489:5:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 470, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "timestamp", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "9489:15:0", + "src": "9320:54:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "9449:55:0", + "src": "9287:87:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 472, + "id": 456, "nodeType": "ExpressionStatement", - "src": "9449:55:0" + "src": "9287:87:0" }, { "eventCall": { @@ -6438,12 +6228,12 @@ "arguments": [ { "argumentTypes": null, - "id": 474, + "id": 458, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 402, - "src": "9530:10:0", + "referencedDeclaration": 394, + "src": "9400:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -6453,18 +6243,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 475, + "id": 459, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1397, - "src": "9542:3:0", + "referencedDeclaration": 1381, + "src": "9412:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 476, + "id": 460, "isConstant": false, "isLValue": false, "isPure": false, @@ -6472,7 +6262,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "9542:10:0", + "src": "9412:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -6480,12 +6270,12 @@ }, { "argumentTypes": null, - "id": 477, + "id": 461, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 404, - "src": "9554:5:0", + "referencedDeclaration": 396, + "src": "9424:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6507,18 +6297,18 @@ "typeString": "uint256" } ], - "id": 473, + "id": 457, "name": "FundAdded", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 30, - "src": "9520:9:0", + "src": "9390:9:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (bytes32,address,uint256)" } }, - "id": 478, + "id": 462, "isConstant": false, "isLValue": false, "isPure": false, @@ -6526,20 +6316,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "9520:40:0", + "src": "9390:40:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 479, + "id": 463, "nodeType": "EmitStatement", - "src": "9515:45:0" + "src": "9385:45:0" } ] }, "documentation": "@dev Allows buyer of the transaction to add more funds(Tokens) in the transaction. \nThis will help to cater scenarios wherein initially buyer missed to fund transaction as required\n@param scriptHash script hash of the transaction\nOnly buyer of the transaction can invoke this method", - "id": 481, + "id": 465, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -6548,78 +6338,78 @@ "arguments": [ { "argumentTypes": null, - "id": 407, + "id": 399, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 402, - "src": "8801:10:0", + "referencedDeclaration": 394, + "src": "8736:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } } ], - "id": 408, + "id": 400, "modifierName": { "argumentTypes": null, - "id": 406, + "id": 398, "name": "transactionExist", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 99, - "src": "8784:16:0", + "src": "8719:16:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "8784:28:0" + "src": "8719:28:0" }, { "arguments": [ { "argumentTypes": null, - "id": 410, + "id": 402, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 402, - "src": "8835:10:0", + "referencedDeclaration": 394, + "src": "8770:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } } ], - "id": 411, + "id": 403, "modifierName": { "argumentTypes": null, - "id": 409, + "id": 401, "name": "inFundedState", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 132, - "src": "8821:13:0", + "src": "8756:13:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "8821:25:0" + "src": "8756:25:0" }, { "arguments": [ { "argumentTypes": null, - "id": 413, + "id": 405, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 402, - "src": "8876:10:0", + "referencedDeclaration": 394, + "src": "8811:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -6629,18 +6419,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 414, + "id": 406, "name": "TransactionType", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12, - "src": "8888:15:0", + "src": "8823:15:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_TransactionType_$12_$", "typeString": "type(enum Escrow_v1_0.TransactionType)" } }, - "id": 415, + "id": 407, "isConstant": false, "isLValue": false, "isPure": true, @@ -6648,77 +6438,77 @@ "memberName": "TOKEN", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "8888:21:0", + "src": "8823:21:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" } } ], - "id": 416, + "id": 408, "modifierName": { "argumentTypes": null, - "id": 412, + "id": 404, "name": "checkTransactionType", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 165, - "src": "8855:20:0", + "src": "8790:20:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$_t_enum$_TransactionType_$12_$", "typeString": "modifier (bytes32,enum Escrow_v1_0.TransactionType)" } }, "nodeType": "ModifierInvocation", - "src": "8855:55:0" + "src": "8790:55:0" }, { "arguments": [ { "argumentTypes": null, - "id": 418, + "id": 410, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 402, - "src": "8929:10:0", + "referencedDeclaration": 394, + "src": "8864:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } } ], - "id": 419, + "id": 411, "modifierName": { "argumentTypes": null, - "id": 417, + "id": 409, "name": "onlyBuyer", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 182, - "src": "8919:9:0", + "src": "8854:9:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "8919:21:0" + "src": "8854:21:0" } ], "name": "addTokensToTransaction", "nodeType": "FunctionDefinition", "parameters": { - "id": 405, + "id": 397, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 402, + "id": 394, "name": "scriptHash", "nodeType": "VariableDeclaration", - "scope": 481, - "src": "8711:18:0", + "scope": 465, + "src": "8646:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6726,10 +6516,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 401, + "id": 393, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "8711:7:0", + "src": "8646:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -6740,11 +6530,11 @@ }, { "constant": false, - "id": 404, + "id": 396, "name": "value", "nodeType": "VariableDeclaration", - "scope": 481, - "src": "8739:13:0", + "scope": 465, + "src": "8674:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6752,10 +6542,10 @@ "typeString": "uint256" }, "typeName": { - "id": 403, + "id": 395, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "8739:7:0", + "src": "8674:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6765,52 +6555,52 @@ "visibility": "internal" } ], - "src": "8701:57:0" + "src": "8636:57:0" }, "payable": false, "returnParameters": { - "id": 420, + "id": 412, "nodeType": "ParameterList", "parameters": [], - "src": "8945:0:0" + "src": "8880:0:0" }, - "scope": 1224, - "src": "8670:897:0", + "scope": 1208, + "src": "8605:832:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" }, { "body": { - "id": 493, + "id": 477, "nodeType": "Block", - "src": "9822:56:0", + "src": "9692:56:0", "statements": [ { "expression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 489, + "id": 473, "name": "partyVsTransaction", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 83, - "src": "9839:18:0", + "src": "9709:18:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_bytes32_$dyn_storage_$", "typeString": "mapping(address => bytes32[] storage ref)" } }, - "id": 491, + "id": 475, "indexExpression": { "argumentTypes": null, - "id": 490, + "id": 474, "name": "partyAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 483, - "src": "9858:12:0", + "referencedDeclaration": 467, + "src": "9728:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -6821,21 +6611,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "9839:32:0", + "src": "9709:32:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage", "typeString": "bytes32[] storage ref" } }, - "functionReturnParameters": 488, - "id": 492, + "functionReturnParameters": 472, + "id": 476, "nodeType": "Return", - "src": "9832:39:0" + "src": "9702:39:0" } ] }, "documentation": "dev Returns all transaction ids for a party\nparam partyAddress Address of the party", - "id": 494, + "id": 478, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -6843,16 +6633,16 @@ "name": "getAllTransactionsForParty", "nodeType": "FunctionDefinition", "parameters": { - "id": 484, + "id": 468, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 483, + "id": 467, "name": "partyAddress", "nodeType": "VariableDeclaration", - "scope": 494, - "src": "9729:20:0", + "scope": 478, + "src": "9599:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6860,10 +6650,10 @@ "typeString": "address" }, "typeName": { - "id": 482, + "id": 466, "name": "address", "nodeType": "ElementaryTypeName", - "src": "9729:7:0", + "src": "9599:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -6873,20 +6663,20 @@ "visibility": "internal" } ], - "src": "9719:36:0" + "src": "9589:36:0" }, "payable": false, "returnParameters": { - "id": 488, + "id": 472, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 487, + "id": 471, "name": "", "nodeType": "VariableDeclaration", - "scope": 494, - "src": "9806:9:0", + "scope": 478, + "src": "9676:9:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6895,19 +6685,19 @@ }, "typeName": { "baseType": { - "id": 485, + "id": 469, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "9806:7:0", + "src": "9676:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "id": 486, + "id": 470, "length": null, "nodeType": "ArrayTypeName", - "src": "9806:9:0", + "src": "9676:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -6917,19 +6707,19 @@ "visibility": "internal" } ], - "src": "9805:11:0" + "src": "9675:11:0" }, - "scope": 1224, - "src": "9684:194:0", + "scope": 1208, + "src": "9554:194:0", "stateMutability": "view", "superFunction": null, "visibility": "external" }, { "body": { - "id": 582, + "id": 566, "nodeType": "Block", - "src": "10748:932:0", + "src": "10618:932:0", "statements": [ { "expression": { @@ -6941,7 +6731,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 524, + "id": 508, "isConstant": false, "isLValue": false, "isPure": false, @@ -6950,18 +6740,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 521, + "id": 505, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 508, - "src": "10782:12:0", + "referencedDeclaration": 492, + "src": "10652:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" } }, - "id": 522, + "id": 506, "isConstant": false, "isLValue": false, "isPure": false, @@ -6969,7 +6759,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "10782:19:0", + "src": "10652:19:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6980,14 +6770,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 523, + "id": 507, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "10802:1:0", + "src": "10672:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -6995,7 +6785,7 @@ }, "value": "0" }, - "src": "10782:21:0", + "src": "10652:21:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -7004,14 +6794,14 @@ { "argumentTypes": null, "hexValue": "4e756d626572206f662064657374696e6174696f6e73206d7573742062652067726561746572207468616e2030", - "id": 525, + "id": 509, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "10818:47:0", + "src": "10688:47:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_fbeb58246a6e3ff255a1d618f14d1cced67ffd4784fbc3e1cfbdf71d1f7fbdf9", @@ -7031,21 +6821,21 @@ "typeString": "literal_string \"Number of destinations must be greater than 0\"" } ], - "id": 520, + "id": 504, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1400, - 1401 + 1384, + 1385 ], - "referencedDeclaration": 1401, - "src": "10761:7:0", + "referencedDeclaration": 1385, + "src": "10631:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 526, + "id": 510, "isConstant": false, "isLValue": false, "isPure": false, @@ -7053,15 +6843,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "10761:114:0", + "src": "10631:114:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 527, + "id": 511, "nodeType": "ExpressionStatement", - "src": "10761:114:0" + "src": "10631:114:0" }, { "expression": { @@ -7073,7 +6863,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 533, + "id": 517, "isConstant": false, "isLValue": false, "isPure": false, @@ -7082,18 +6872,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 529, + "id": 513, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 508, - "src": "10906:12:0", + "referencedDeclaration": 492, + "src": "10776:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" } }, - "id": 530, + "id": 514, "isConstant": false, "isLValue": false, "isPure": false, @@ -7101,7 +6891,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "10906:19:0", + "src": "10776:19:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7113,18 +6903,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 531, + "id": 515, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 511, - "src": "10929:7:0", + "referencedDeclaration": 495, + "src": "10799:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", "typeString": "uint256[] calldata" } }, - "id": 532, + "id": 516, "isConstant": false, "isLValue": false, "isPure": false, @@ -7132,13 +6922,13 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "10929:14:0", + "src": "10799:14:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "10906:37:0", + "src": "10776:37:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -7147,14 +6937,14 @@ { "argumentTypes": null, "hexValue": "4e756d626572206f662064657374696e6174696f6e73206d757374206d61746368206e756d626572206f662076616c7565732073656e74", - "id": 534, + "id": 518, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "10957:57:0", + "src": "10827:57:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_e70a315a5939ff57e3400503291dbc0af19d18c32f15c80c7c6f5b7c54a6cd3c", @@ -7174,21 +6964,21 @@ "typeString": "literal_string \"Number of destinations must match number of values sent\"" } ], - "id": 528, + "id": 512, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1400, - 1401 + 1384, + 1385 ], - "referencedDeclaration": 1401, - "src": "10885:7:0", + "referencedDeclaration": 1385, + "src": "10755:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 535, + "id": 519, "isConstant": false, "isLValue": false, "isPure": false, @@ -7196,15 +6986,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "10885:139:0", + "src": "10755:139:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 536, + "id": 520, "nodeType": "ExpressionStatement", - "src": "10885:139:0" + "src": "10755:139:0" }, { "expression": { @@ -7212,12 +7002,12 @@ "arguments": [ { "argumentTypes": null, - "id": 538, + "id": 522, "name": "sigV", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 497, - "src": "11074:4:0", + "referencedDeclaration": 481, + "src": "10944:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_calldata_ptr", "typeString": "uint8[] calldata" @@ -7225,12 +7015,12 @@ }, { "argumentTypes": null, - "id": 539, + "id": 523, "name": "sigR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 500, - "src": "11092:4:0", + "referencedDeclaration": 484, + "src": "10962:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", "typeString": "bytes32[] calldata" @@ -7238,12 +7028,12 @@ }, { "argumentTypes": null, - "id": 540, + "id": 524, "name": "sigS", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 503, - "src": "11110:4:0", + "referencedDeclaration": 487, + "src": "10980:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", "typeString": "bytes32[] calldata" @@ -7251,12 +7041,12 @@ }, { "argumentTypes": null, - "id": 541, + "id": 525, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 505, - "src": "11128:10:0", + "referencedDeclaration": 489, + "src": "10998:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -7264,12 +7054,12 @@ }, { "argumentTypes": null, - "id": 542, + "id": 526, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 508, - "src": "11152:12:0", + "referencedDeclaration": 492, + "src": "11022:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" @@ -7277,12 +7067,12 @@ }, { "argumentTypes": null, - "id": 543, + "id": 527, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 511, - "src": "11178:7:0", + "referencedDeclaration": 495, + "src": "11048:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", "typeString": "uint256[] calldata" @@ -7316,18 +7106,18 @@ "typeString": "uint256[] calldata" } ], - "id": 537, + "id": 521, "name": "_verifyTransaction", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 711, - "src": "11042:18:0", + "referencedDeclaration": 695, + "src": "10912:18:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_array$_t_uint8_$dyn_memory_ptr_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_bytes32_$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$__$", "typeString": "function (uint8[] memory,bytes32[] memory,bytes32[] memory,bytes32,address[] memory,uint256[] memory)" } }, - "id": 544, + "id": 528, "isConstant": false, "isLValue": false, "isPure": false, @@ -7335,20 +7125,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "11042:153:0", + "src": "10912:153:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 545, + "id": 529, "nodeType": "ExpressionStatement", - "src": "11042:153:0" + "src": "10912:153:0" }, { "expression": { "argumentTypes": null, - "id": 552, + "id": 536, "isConstant": false, "isLValue": false, "isPure": false, @@ -7359,26 +7149,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 546, + "id": 530, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "11206:12:0", + "src": "11076:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 548, + "id": 532, "indexExpression": { "argumentTypes": null, - "id": 547, + "id": 531, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 505, - "src": "11219:10:0", + "referencedDeclaration": 489, + "src": "11089:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -7389,13 +7179,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "11206:24:0", + "src": "11076:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 549, + "id": 533, "isConstant": false, "isLValue": true, "isPure": false, @@ -7403,7 +7193,7 @@ "memberName": "status", "nodeType": "MemberAccess", "referencedDeclaration": 44, - "src": "11206:31:0", + "src": "11076:31:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$9", "typeString": "enum Escrow_v1_0.Status" @@ -7415,18 +7205,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 550, + "id": 534, "name": "Status", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9, - "src": "11240:6:0", + "src": "11110:6:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_Status_$9_$", "typeString": "type(enum Escrow_v1_0.Status)" } }, - "id": 551, + "id": 535, "isConstant": false, "isLValue": false, "isPure": true, @@ -7434,26 +7224,26 @@ "memberName": "RELEASED", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "11240:15:0", + "src": "11110:15:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$9", "typeString": "enum Escrow_v1_0.Status" } }, - "src": "11206:49:0", + "src": "11076:49:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$9", "typeString": "enum Escrow_v1_0.Status" } }, - "id": 553, + "id": 537, "nodeType": "ExpressionStatement", - "src": "11206:49:0" + "src": "11076:49:0" }, { "expression": { "argumentTypes": null, - "id": 560, + "id": 544, "isConstant": false, "isLValue": false, "isPure": false, @@ -7464,26 +7254,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 554, + "id": 538, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "11339:12:0", + "src": "11209:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 556, + "id": 540, "indexExpression": { "argumentTypes": null, - "id": 555, + "id": 539, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 505, - "src": "11352:10:0", + "referencedDeclaration": 489, + "src": "11222:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -7494,13 +7284,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "11339:24:0", + "src": "11209:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 557, + "id": 541, "isConstant": false, "isLValue": true, "isPure": false, @@ -7508,7 +7298,7 @@ "memberName": "lastModified", "nodeType": "MemberAccess", "referencedDeclaration": 42, - "src": "11339:37:0", + "src": "11209:37:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7520,18 +7310,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 558, + "id": 542, "name": "block", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1387, - "src": "11379:5:0", + "referencedDeclaration": 1371, + "src": "11249:5:0", "typeDescriptions": { "typeIdentifier": "t_magic_block", "typeString": "block" } }, - "id": 559, + "id": 543, "isConstant": false, "isLValue": false, "isPure": false, @@ -7539,21 +7329,21 @@ "memberName": "timestamp", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "11379:15:0", + "src": "11249:15:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "11339:55:0", + "src": "11209:55:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 561, + "id": 545, "nodeType": "ExpressionStatement", - "src": "11339:55:0" + "src": "11209:55:0" }, { "expression": { @@ -7565,7 +7355,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 572, + "id": 556, "isConstant": false, "isLValue": false, "isPure": false, @@ -7575,12 +7365,12 @@ "arguments": [ { "argumentTypes": null, - "id": 564, + "id": 548, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 505, - "src": "11440:10:0", + "referencedDeclaration": 489, + "src": "11310:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -7588,12 +7378,12 @@ }, { "argumentTypes": null, - "id": 565, + "id": 549, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 508, - "src": "11452:12:0", + "referencedDeclaration": 492, + "src": "11322:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" @@ -7601,12 +7391,12 @@ }, { "argumentTypes": null, - "id": 566, + "id": 550, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 511, - "src": "11466:7:0", + "referencedDeclaration": 495, + "src": "11336:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", "typeString": "uint256[] calldata" @@ -7628,18 +7418,18 @@ "typeString": "uint256[] calldata" } ], - "id": 563, + "id": 547, "name": "_transferFunds", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 904, - "src": "11425:14:0", + "referencedDeclaration": 888, + "src": "11295:14:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$_t_uint256_$", "typeString": "function (bytes32,address[] memory,uint256[] memory) returns (uint256)" } }, - "id": 567, + "id": 551, "isConstant": false, "isLValue": false, "isPure": false, @@ -7647,7 +7437,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "11425:49:0", + "src": "11295:49:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7661,26 +7451,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 568, + "id": 552, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "11478:12:0", + "src": "11348:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 570, + "id": 554, "indexExpression": { "argumentTypes": null, - "id": 569, + "id": 553, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 505, - "src": "11491:10:0", + "referencedDeclaration": 489, + "src": "11361:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -7691,13 +7481,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "11478:24:0", + "src": "11348:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 571, + "id": 555, "isConstant": false, "isLValue": true, "isPure": false, @@ -7705,13 +7495,13 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": 40, - "src": "11478:30:0", + "src": "11348:30:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "11425:83:0", + "src": "11295:83:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -7720,14 +7510,14 @@ { "argumentTypes": null, "hexValue": "546f74616c2076616c756520746f2062652072656c6561736564206d75737420626520657175616c20746f20746865207472616e73616374696f6e20657363726f772076616c7565", - "id": 573, + "id": 557, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "11522:74:0", + "src": "11392:74:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_9e0bdb14e2e0d5e118fd1f547268c6a1fdb5e8facacd614066d4b60bc2c9941d", @@ -7747,21 +7537,21 @@ "typeString": "literal_string \"Total value to be released must be equal to the transaction escrow value\"" } ], - "id": 562, + "id": 546, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1400, - 1401 + 1384, + 1385 ], - "referencedDeclaration": 1401, - "src": "11404:7:0", + "referencedDeclaration": 1385, + "src": "11274:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 574, + "id": 558, "isConstant": false, "isLValue": false, "isPure": false, @@ -7769,15 +7559,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "11404:202:0", + "src": "11274:202:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 575, + "id": 559, "nodeType": "ExpressionStatement", - "src": "11404:202:0" + "src": "11274:202:0" }, { "eventCall": { @@ -7785,12 +7575,12 @@ "arguments": [ { "argumentTypes": null, - "id": 577, + "id": 561, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 505, - "src": "11639:10:0", + "referencedDeclaration": 489, + "src": "11509:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -7798,12 +7588,12 @@ }, { "argumentTypes": null, - "id": 578, + "id": 562, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 508, - "src": "11651:12:0", + "referencedDeclaration": 492, + "src": "11521:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" @@ -7811,12 +7601,12 @@ }, { "argumentTypes": null, - "id": 579, + "id": 563, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 511, - "src": "11665:7:0", + "referencedDeclaration": 495, + "src": "11535:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", "typeString": "uint256[] calldata" @@ -7838,18 +7628,18 @@ "typeString": "uint256[] calldata" } ], - "id": 576, + "id": 560, "name": "Executed", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 22, - "src": "11630:8:0", + "src": "11500:8:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$__$", "typeString": "function (bytes32,address[] memory,uint256[] memory)" } }, - "id": 580, + "id": 564, "isConstant": false, "isLValue": false, "isPure": false, @@ -7857,20 +7647,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "11630:43:0", + "src": "11500:43:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 581, + "id": 565, "nodeType": "EmitStatement", - "src": "11625:48:0" + "src": "11495:48:0" } ] }, "documentation": "dev This method will be used to release funds associated with the transaction\nPlease see specs https://github.com/OpenBazaar/smart-contracts/blob/master/contracts/escrow/EscrowSpec.md\nparam sigV Array containing V component of all the signatures\nparam sigR Array containing R component of all the signatures\nparam signS Array containing S component of all the signatures\nparam scriptHash script hash of the transaction\nparam destinations List of addresses who will receive funds\nparam amounts amount released to each destination", - "id": 583, + "id": 567, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -7879,82 +7669,82 @@ "arguments": [ { "argumentTypes": null, - "id": 514, + "id": 498, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 505, - "src": "10698:10:0", + "referencedDeclaration": 489, + "src": "10568:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } } ], - "id": 515, + "id": 499, "modifierName": { "argumentTypes": null, - "id": 513, + "id": 497, "name": "transactionExist", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 99, - "src": "10681:16:0", + "src": "10551:16:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "10681:28:0" + "src": "10551:28:0" }, { "arguments": [ { "argumentTypes": null, - "id": 517, + "id": 501, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 505, - "src": "10732:10:0", + "referencedDeclaration": 489, + "src": "10602:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } } ], - "id": 518, + "id": 502, "modifierName": { "argumentTypes": null, - "id": 516, + "id": 500, "name": "inFundedState", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 132, - "src": "10718:13:0", + "src": "10588:13:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "10718:25:0" + "src": "10588:25:0" } ], "name": "execute", "nodeType": "FunctionDefinition", "parameters": { - "id": 512, + "id": 496, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 497, + "id": 481, "name": "sigV", "nodeType": "VariableDeclaration", - "scope": 583, - "src": "10502:12:0", + "scope": 567, + "src": "10372:12:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -7963,19 +7753,19 @@ }, "typeName": { "baseType": { - "id": 495, + "id": 479, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "10502:5:0", + "src": "10372:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, - "id": 496, + "id": 480, "length": null, "nodeType": "ArrayTypeName", - "src": "10502:7:0", + "src": "10372:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_storage_ptr", "typeString": "uint8[]" @@ -7986,11 +7776,11 @@ }, { "constant": false, - "id": 500, + "id": 484, "name": "sigR", "nodeType": "VariableDeclaration", - "scope": 583, - "src": "10524:14:0", + "scope": 567, + "src": "10394:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -7999,19 +7789,19 @@ }, "typeName": { "baseType": { - "id": 498, + "id": 482, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "10524:7:0", + "src": "10394:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "id": 499, + "id": 483, "length": null, "nodeType": "ArrayTypeName", - "src": "10524:9:0", + "src": "10394:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -8022,11 +7812,11 @@ }, { "constant": false, - "id": 503, + "id": 487, "name": "sigS", "nodeType": "VariableDeclaration", - "scope": 583, - "src": "10548:14:0", + "scope": 567, + "src": "10418:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8035,19 +7825,19 @@ }, "typeName": { "baseType": { - "id": 501, + "id": 485, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "10548:7:0", + "src": "10418:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "id": 502, + "id": 486, "length": null, "nodeType": "ArrayTypeName", - "src": "10548:9:0", + "src": "10418:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -8058,11 +7848,11 @@ }, { "constant": false, - "id": 505, + "id": 489, "name": "scriptHash", "nodeType": "VariableDeclaration", - "scope": 583, - "src": "10572:18:0", + "scope": 567, + "src": "10442:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8070,10 +7860,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 504, + "id": 488, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "10572:7:0", + "src": "10442:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -8084,11 +7874,11 @@ }, { "constant": false, - "id": 508, + "id": 492, "name": "destinations", "nodeType": "VariableDeclaration", - "scope": 583, - "src": "10600:22:0", + "scope": 567, + "src": "10470:22:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8097,19 +7887,19 @@ }, "typeName": { "baseType": { - "id": 506, + "id": 490, "name": "address", "nodeType": "ElementaryTypeName", - "src": "10600:7:0", + "src": "10470:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 507, + "id": 491, "length": null, "nodeType": "ArrayTypeName", - "src": "10600:9:0", + "src": "10470:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", "typeString": "address[]" @@ -8120,11 +7910,11 @@ }, { "constant": false, - "id": 511, + "id": 495, "name": "amounts", "nodeType": "VariableDeclaration", - "scope": 583, - "src": "10632:17:0", + "scope": 567, + "src": "10502:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8133,19 +7923,19 @@ }, "typeName": { "baseType": { - "id": 509, + "id": 493, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "10632:7:0", + "src": "10502:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 510, + "id": 494, "length": null, "nodeType": "ArrayTypeName", - "src": "10632:9:0", + "src": "10502:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -8155,26 +7945,26 @@ "visibility": "internal" } ], - "src": "10492:163:0" + "src": "10362:163:0" }, "payable": false, "returnParameters": { - "id": 519, + "id": 503, "nodeType": "ParameterList", "parameters": [], - "src": "10748:0:0" + "src": "10618:0:0" }, - "scope": 1224, - "src": "10476:1204:0", + "scope": 1208, + "src": "10346:1204:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" }, { "body": { - "id": 641, + "id": 625, "nodeType": "Block", - "src": "12484:734:0", + "src": "12354:734:0", "statements": [ { "condition": { @@ -8183,19 +7973,19 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 606, + "id": 590, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 602, + "id": 586, "name": "tokenAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 597, - "src": "12498:12:0", + "referencedDeclaration": 581, + "src": "12368:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8209,14 +7999,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 604, + "id": 588, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "12522:1:0", + "src": "12392:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -8232,20 +8022,20 @@ "typeString": "int_const 0" } ], - "id": 603, + "id": 587, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "12514:7:0", + "src": "12384:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, - "id": 605, + "id": 589, "isConstant": false, "isLValue": false, "isPure": true, @@ -8253,22 +8043,22 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "12514:10:0", + "src": "12384:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "12498:26:0", + "src": "12368:26:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": { - "id": 639, + "id": 623, "nodeType": "Block", - "src": "12855:357:0", + "src": "12725:357:0", "statements": [ { "expression": { @@ -8279,12 +8069,12 @@ "arguments": [ { "argumentTypes": null, - "id": 626, + "id": 610, "name": "uniqueId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 585, - "src": "12941:8:0", + "referencedDeclaration": 569, + "src": "12811:8:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -8292,12 +8082,12 @@ }, { "argumentTypes": null, - "id": 627, + "id": 611, "name": "threshold", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 587, - "src": "12971:9:0", + "referencedDeclaration": 571, + "src": "12841:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -8305,12 +8095,12 @@ }, { "argumentTypes": null, - "id": 628, + "id": 612, "name": "timeoutHours", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 589, - "src": "13002:12:0", + "referencedDeclaration": 573, + "src": "12872:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -8318,12 +8108,12 @@ }, { "argumentTypes": null, - "id": 629, + "id": 613, "name": "buyer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 591, - "src": "13036:5:0", + "referencedDeclaration": 575, + "src": "12906:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8331,12 +8121,12 @@ }, { "argumentTypes": null, - "id": 630, + "id": 614, "name": "seller", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 593, - "src": "13063:6:0", + "referencedDeclaration": 577, + "src": "12933:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8344,12 +8134,12 @@ }, { "argumentTypes": null, - "id": 631, + "id": 615, "name": "moderator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 595, - "src": "13091:9:0", + "referencedDeclaration": 579, + "src": "12961:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8360,14 +8150,14 @@ "arguments": [ { "argumentTypes": null, - "id": 633, + "id": 617, "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1414, - "src": "13130:4:0", + "referencedDeclaration": 1398, + "src": "13000:4:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_Escrow_v1_0_$1224", + "typeIdentifier": "t_contract$_Escrow_v1_0_$1208", "typeString": "contract Escrow_v1_0" } } @@ -8375,24 +8165,24 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_Escrow_v1_0_$1224", + "typeIdentifier": "t_contract$_Escrow_v1_0_$1208", "typeString": "contract Escrow_v1_0" } ], - "id": 632, + "id": 616, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "13122:7:0", + "src": "12992:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, - "id": 634, + "id": 618, "isConstant": false, "isLValue": false, "isPure": false, @@ -8400,7 +8190,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "13122:13:0", + "src": "12992:13:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8408,12 +8198,12 @@ }, { "argumentTypes": null, - "id": 635, + "id": 619, "name": "tokenAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 597, - "src": "13157:12:0", + "referencedDeclaration": 581, + "src": "13027:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8457,18 +8247,18 @@ ], "expression": { "argumentTypes": null, - "id": 624, + "id": 608, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1384, - "src": "12903:3:0", + "referencedDeclaration": 1368, + "src": "12773:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, - "id": 625, + "id": 609, "isConstant": false, "isLValue": false, "isPure": true, @@ -8476,13 +8266,13 @@ "memberName": "encodePacked", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "12903:16:0", + "src": "12773:16:0", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, - "id": 636, + "id": 620, "isConstant": false, "isLValue": false, "isPure": false, @@ -8490,7 +8280,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "12903:284:0", + "src": "12773:284:0", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -8504,18 +8294,18 @@ "typeString": "bytes memory" } ], - "id": 623, + "id": 607, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1391, - "src": "12876:9:0", + "referencedDeclaration": 1375, + "src": "12746:9:0", "typeDescriptions": { "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", "typeString": "function () pure returns (bytes32)" } }, - "id": 637, + "id": 621, "isConstant": false, "isLValue": false, "isPure": false, @@ -8523,26 +8313,26 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "12876:325:0", + "src": "12746:325:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "functionReturnParameters": 601, - "id": 638, + "functionReturnParameters": 585, + "id": 622, "nodeType": "Return", - "src": "12869:332:0" + "src": "12739:332:0" } ] }, - "id": 640, + "id": 624, "nodeType": "IfStatement", - "src": "12494:718:0", + "src": "12364:718:0", "trueBody": { - "id": 622, + "id": 606, "nodeType": "Block", - "src": "12526:323:0", + "src": "12396:323:0", "statements": [ { "expression": { @@ -8553,12 +8343,12 @@ "arguments": [ { "argumentTypes": null, - "id": 610, + "id": 594, "name": "uniqueId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 585, - "src": "12612:8:0", + "referencedDeclaration": 569, + "src": "12482:8:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -8566,12 +8356,12 @@ }, { "argumentTypes": null, - "id": 611, + "id": 595, "name": "threshold", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 587, - "src": "12642:9:0", + "referencedDeclaration": 571, + "src": "12512:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -8579,12 +8369,12 @@ }, { "argumentTypes": null, - "id": 612, + "id": 596, "name": "timeoutHours", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 589, - "src": "12673:12:0", + "referencedDeclaration": 573, + "src": "12543:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -8592,12 +8382,12 @@ }, { "argumentTypes": null, - "id": 613, + "id": 597, "name": "buyer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 591, - "src": "12707:5:0", + "referencedDeclaration": 575, + "src": "12577:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8605,12 +8395,12 @@ }, { "argumentTypes": null, - "id": 614, + "id": 598, "name": "seller", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 593, - "src": "12734:6:0", + "referencedDeclaration": 577, + "src": "12604:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8618,12 +8408,12 @@ }, { "argumentTypes": null, - "id": 615, + "id": 599, "name": "moderator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 595, - "src": "12762:9:0", + "referencedDeclaration": 579, + "src": "12632:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8634,14 +8424,14 @@ "arguments": [ { "argumentTypes": null, - "id": 617, + "id": 601, "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1414, - "src": "12801:4:0", + "referencedDeclaration": 1398, + "src": "12671:4:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_Escrow_v1_0_$1224", + "typeIdentifier": "t_contract$_Escrow_v1_0_$1208", "typeString": "contract Escrow_v1_0" } } @@ -8649,24 +8439,24 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_Escrow_v1_0_$1224", + "typeIdentifier": "t_contract$_Escrow_v1_0_$1208", "typeString": "contract Escrow_v1_0" } ], - "id": 616, + "id": 600, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "12793:7:0", + "src": "12663:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, - "id": 618, + "id": 602, "isConstant": false, "isLValue": false, "isPure": false, @@ -8674,7 +8464,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "12793:13:0", + "src": "12663:13:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8714,18 +8504,18 @@ ], "expression": { "argumentTypes": null, - "id": 608, + "id": 592, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1384, - "src": "12574:3:0", + "referencedDeclaration": 1368, + "src": "12444:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, - "id": 609, + "id": 593, "isConstant": false, "isLValue": false, "isPure": true, @@ -8733,13 +8523,13 @@ "memberName": "encodePacked", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "12574:16:0", + "src": "12444:16:0", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, - "id": 619, + "id": 603, "isConstant": false, "isLValue": false, "isPure": false, @@ -8747,7 +8537,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "12574:250:0", + "src": "12444:250:0", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -8761,18 +8551,18 @@ "typeString": "bytes memory" } ], - "id": 607, + "id": 591, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1391, - "src": "12547:9:0", + "referencedDeclaration": 1375, + "src": "12417:9:0", "typeDescriptions": { "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", "typeString": "function () pure returns (bytes32)" } }, - "id": 620, + "id": 604, "isConstant": false, "isLValue": false, "isPure": false, @@ -8780,16 +8570,16 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "12547:291:0", + "src": "12417:291:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "functionReturnParameters": 601, - "id": 621, + "functionReturnParameters": 585, + "id": 605, "nodeType": "Return", - "src": "12540:298:0" + "src": "12410:298:0" } ] } @@ -8797,7 +8587,7 @@ ] }, "documentation": "dev Method for calculating script hash. Calculation will depend upon the type of transaction\nETHER Type transaction-:\nScript Hash- keccak256(uniqueId, threshold, timeoutHours, buyer, seller, moderator, multiSigContractAddress)\nTOKEN Type transaction\nScript Hash- keccak256(uniqueId, threshold, timeoutHours, buyer, seller, moderator, multiSigContractAddress, tokenAddress)\nClient can use this method to verify whether it has calculated correct script hash or not", - "id": 642, + "id": 626, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -8805,16 +8595,16 @@ "name": "calculateRedeemScriptHash", "nodeType": "FunctionDefinition", "parameters": { - "id": 598, + "id": 582, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 585, + "id": 569, "name": "uniqueId", "nodeType": "VariableDeclaration", - "scope": 642, - "src": "12245:16:0", + "scope": 626, + "src": "12115:16:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8822,10 +8612,10 @@ "typeString": "bytes20" }, "typeName": { - "id": 584, + "id": 568, "name": "bytes20", "nodeType": "ElementaryTypeName", - "src": "12245:7:0", + "src": "12115:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -8836,11 +8626,11 @@ }, { "constant": false, - "id": 587, + "id": 571, "name": "threshold", "nodeType": "VariableDeclaration", - "scope": 642, - "src": "12271:15:0", + "scope": 626, + "src": "12141:15:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8848,10 +8638,10 @@ "typeString": "uint8" }, "typeName": { - "id": 586, + "id": 570, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "12271:5:0", + "src": "12141:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -8862,11 +8652,11 @@ }, { "constant": false, - "id": 589, + "id": 573, "name": "timeoutHours", "nodeType": "VariableDeclaration", - "scope": 642, - "src": "12296:19:0", + "scope": 626, + "src": "12166:19:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8874,10 +8664,10 @@ "typeString": "uint32" }, "typeName": { - "id": 588, + "id": 572, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "12296:6:0", + "src": "12166:6:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -8888,11 +8678,11 @@ }, { "constant": false, - "id": 591, + "id": 575, "name": "buyer", "nodeType": "VariableDeclaration", - "scope": 642, - "src": "12325:13:0", + "scope": 626, + "src": "12195:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8900,10 +8690,10 @@ "typeString": "address" }, "typeName": { - "id": 590, + "id": 574, "name": "address", "nodeType": "ElementaryTypeName", - "src": "12325:7:0", + "src": "12195:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8914,11 +8704,11 @@ }, { "constant": false, - "id": 593, + "id": 577, "name": "seller", "nodeType": "VariableDeclaration", - "scope": 642, - "src": "12348:14:0", + "scope": 626, + "src": "12218:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8926,10 +8716,10 @@ "typeString": "address" }, "typeName": { - "id": 592, + "id": 576, "name": "address", "nodeType": "ElementaryTypeName", - "src": "12348:7:0", + "src": "12218:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8940,11 +8730,11 @@ }, { "constant": false, - "id": 595, + "id": 579, "name": "moderator", "nodeType": "VariableDeclaration", - "scope": 642, - "src": "12372:17:0", + "scope": 626, + "src": "12242:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8952,10 +8742,10 @@ "typeString": "address" }, "typeName": { - "id": 594, + "id": 578, "name": "address", "nodeType": "ElementaryTypeName", - "src": "12372:7:0", + "src": "12242:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8966,11 +8756,11 @@ }, { "constant": false, - "id": 597, + "id": 581, "name": "tokenAddress", "nodeType": "VariableDeclaration", - "scope": 642, - "src": "12399:20:0", + "scope": 626, + "src": "12269:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8978,10 +8768,10 @@ "typeString": "address" }, "typeName": { - "id": 596, + "id": 580, "name": "address", "nodeType": "ElementaryTypeName", - "src": "12399:7:0", + "src": "12269:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8991,20 +8781,20 @@ "visibility": "internal" } ], - "src": "12235:190:0" + "src": "12105:190:0" }, "payable": false, "returnParameters": { - "id": 601, + "id": 585, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 600, + "id": 584, "name": "", "nodeType": "VariableDeclaration", - "scope": 642, - "src": "12471:7:0", + "scope": 626, + "src": "12341:7:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9012,10 +8802,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 599, + "id": 583, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "12471:7:0", + "src": "12341:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -9025,32 +8815,32 @@ "visibility": "internal" } ], - "src": "12470:9:0" + "src": "12340:9:0" }, - "scope": 1224, - "src": "12201:1017:0", + "scope": 1208, + "src": "12071:1017:0", "stateMutability": "view", "superFunction": null, "visibility": "public" }, { "body": { - "id": 710, + "id": 694, "nodeType": "Block", - "src": "13703:797:0", + "src": "13573:797:0", "statements": [ { "assignments": [ - 663 + 647 ], "declarations": [ { "constant": false, - "id": 663, + "id": 647, "name": "lastRecovered", "nodeType": "VariableDeclaration", - "scope": 711, - "src": "13713:21:0", + "scope": 695, + "src": "13583:21:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9058,10 +8848,10 @@ "typeString": "address" }, "typeName": { - "id": 662, + "id": 646, "name": "address", "nodeType": "ElementaryTypeName", - "src": "13713:7:0", + "src": "13583:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -9071,18 +8861,18 @@ "visibility": "internal" } ], - "id": 672, + "id": 656, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 665, + "id": 649, "name": "sigV", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 645, - "src": "13768:4:0", + "referencedDeclaration": 629, + "src": "13638:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr", "typeString": "uint8[] memory" @@ -9090,12 +8880,12 @@ }, { "argumentTypes": null, - "id": 666, + "id": 650, "name": "sigR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 648, - "src": "13786:4:0", + "referencedDeclaration": 632, + "src": "13656:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" @@ -9103,12 +8893,12 @@ }, { "argumentTypes": null, - "id": 667, + "id": 651, "name": "sigS", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 651, - "src": "13804:4:0", + "referencedDeclaration": 635, + "src": "13674:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" @@ -9116,12 +8906,12 @@ }, { "argumentTypes": null, - "id": 668, + "id": 652, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 653, - "src": "13822:10:0", + "referencedDeclaration": 637, + "src": "13692:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -9129,12 +8919,12 @@ }, { "argumentTypes": null, - "id": 669, + "id": 653, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 656, - "src": "13846:12:0", + "referencedDeclaration": 640, + "src": "13716:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -9142,12 +8932,12 @@ }, { "argumentTypes": null, - "id": 670, + "id": 654, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 659, - "src": "13872:7:0", + "referencedDeclaration": 643, + "src": "13742:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" @@ -9181,18 +8971,18 @@ "typeString": "uint256[] memory" } ], - "id": 664, + "id": 648, "name": "_verifySignatures", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1035, - "src": "13737:17:0", + "referencedDeclaration": 1019, + "src": "13607:17:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_array$_t_uint8_$dyn_memory_ptr_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_bytes32_$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$_t_address_$", "typeString": "function (uint8[] memory,bytes32[] memory,bytes32[] memory,bytes32,address[] memory,uint256[] memory) returns (address)" } }, - "id": 671, + "id": 655, "isConstant": false, "isLValue": false, "isPure": false, @@ -9200,27 +8990,27 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "13737:152:0", + "src": "13607:152:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "VariableDeclarationStatement", - "src": "13713:176:0" + "src": "13583:176:0" }, { "assignments": [ - 674 + 658 ], "declarations": [ { "constant": false, - "id": 674, + "id": 658, "name": "timeLockExpired", "nodeType": "VariableDeclaration", - "scope": 711, - "src": "13900:20:0", + "scope": 695, + "src": "13770:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9228,10 +9018,10 @@ "typeString": "bool" }, "typeName": { - "id": 673, + "id": 657, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "13900:4:0", + "src": "13770:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -9241,7 +9031,7 @@ "visibility": "internal" } ], - "id": 685, + "id": 669, "initialValue": { "argumentTypes": null, "arguments": [ @@ -9251,26 +9041,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 676, + "id": 660, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "13955:12:0", + "src": "13825:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 678, + "id": 662, "indexExpression": { "argumentTypes": null, - "id": 677, + "id": 661, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 653, - "src": "13968:10:0", + "referencedDeclaration": 637, + "src": "13838:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -9281,13 +9071,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "13955:24:0", + "src": "13825:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 679, + "id": 663, "isConstant": false, "isLValue": true, "isPure": false, @@ -9295,7 +9085,7 @@ "memberName": "timeoutHours", "nodeType": "MemberAccess", "referencedDeclaration": 50, - "src": "13955:37:0", + "src": "13825:37:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -9307,26 +9097,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 680, + "id": 664, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "14006:12:0", + "src": "13876:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 682, + "id": 666, "indexExpression": { "argumentTypes": null, - "id": 681, + "id": 665, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 653, - "src": "14019:10:0", + "referencedDeclaration": 637, + "src": "13889:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -9337,13 +9127,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "14006:24:0", + "src": "13876:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 683, + "id": 667, "isConstant": false, "isLValue": true, "isPure": false, @@ -9351,7 +9141,7 @@ "memberName": "lastModified", "nodeType": "MemberAccess", "referencedDeclaration": 42, - "src": "14006:37:0", + "src": "13876:37:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9369,18 +9159,18 @@ "typeString": "uint256" } ], - "id": 675, + "id": 659, "name": "_isTimeLockExpired", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1067, - "src": "13923:18:0", + "referencedDeclaration": 1051, + "src": "13793:18:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_uint32_$_t_uint256_$returns$_t_bool_$", "typeString": "function (uint32,uint256) view returns (bool)" } }, - "id": 684, + "id": 668, "isConstant": false, "isLValue": false, "isPure": false, @@ -9388,14 +9178,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "13923:130:0", + "src": "13793:130:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "nodeType": "VariableDeclarationStatement", - "src": "13900:153:0" + "src": "13770:153:0" }, { "condition": { @@ -9404,7 +9194,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 703, + "id": 687, "isConstant": false, "isLValue": false, "isPure": false, @@ -9415,7 +9205,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 692, + "id": 676, "isConstant": false, "isLValue": false, "isPure": false, @@ -9424,18 +9214,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 686, + "id": 670, "name": "sigV", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 645, - "src": "14225:4:0", + "referencedDeclaration": 629, + "src": "14095:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr", "typeString": "uint8[] memory" } }, - "id": 687, + "id": 671, "isConstant": false, "isLValue": false, "isPure": false, @@ -9443,7 +9233,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "14225:11:0", + "src": "14095:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9457,26 +9247,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 688, + "id": 672, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "14239:12:0", + "src": "14109:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 690, + "id": 674, "indexExpression": { "argumentTypes": null, - "id": 689, + "id": 673, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 653, - "src": "14252:10:0", + "referencedDeclaration": 637, + "src": "14122:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -9487,13 +9277,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "14239:24:0", + "src": "14109:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 691, + "id": 675, "isConstant": false, "isLValue": true, "isPure": false, @@ -9501,13 +9291,13 @@ "memberName": "threshold", "nodeType": "MemberAccess", "referencedDeclaration": 48, - "src": "14239:34:0", + "src": "14109:34:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, - "src": "14225:48:0", + "src": "14095:48:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -9524,14 +9314,14 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 701, + "id": 685, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 694, + "id": 678, "isConstant": false, "isLValue": false, "isPure": false, @@ -9539,15 +9329,15 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "14278:16:0", + "src": "14148:16:0", "subExpression": { "argumentTypes": null, - "id": 693, + "id": 677, "name": "timeLockExpired", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 674, - "src": "14279:15:0", + "referencedDeclaration": 658, + "src": "14149:15:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -9566,19 +9356,19 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 700, + "id": 684, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 695, + "id": 679, "name": "lastRecovered", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 663, - "src": "14298:13:0", + "referencedDeclaration": 647, + "src": "14168:13:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -9592,26 +9382,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 696, + "id": 680, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "14315:12:0", + "src": "14185:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 698, + "id": 682, "indexExpression": { "argumentTypes": null, - "id": 697, + "id": 681, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 653, - "src": "14328:10:0", + "referencedDeclaration": 637, + "src": "14198:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -9622,13 +9412,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "14315:24:0", + "src": "14185:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 699, + "id": 683, "isConstant": false, "isLValue": true, "isPure": false, @@ -9636,52 +9426,52 @@ "memberName": "seller", "nodeType": "MemberAccess", "referencedDeclaration": 54, - "src": "14315:31:0", + "src": "14185:31:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "14298:48:0", + "src": "14168:48:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "14278:68:0", + "src": "14148:68:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } } ], - "id": 702, + "id": 686, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "14277:70:0", + "src": "14147:70:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "14225:122:0", + "src": "14095:122:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, - "id": 709, + "id": 693, "nodeType": "IfStatement", - "src": "14204:289:0", + "src": "14074:289:0", "trueBody": { - "id": 708, + "id": 692, "nodeType": "Block", - "src": "14370:123:0", + "src": "14240:123:0", "statements": [ { "expression": { @@ -9690,14 +9480,14 @@ { "argumentTypes": null, "hexValue": "4d696e696d756d206e756d626572206f66207369676e61747572657320617265206e6f7420636f6c6c656374656420616e642074696d65206c6f636b2065787069727920636f6e646974696f6e73206e6f74206d65742121", - "id": 705, + "id": 689, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "14391:90:0", + "src": "14261:90:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_e454643f61f81e3a3dc8dabaafde295fea592e232abeb03abbb1835bdc3d20d0", @@ -9713,21 +9503,21 @@ "typeString": "literal_string \"Minimum number of signatures are not collected and time lock expiry conditions not met!!\"" } ], - "id": 704, + "id": 688, "name": "revert", "nodeType": "Identifier", "overloadedDeclarations": [ - 1402, - 1403 + 1386, + 1387 ], - "referencedDeclaration": 1403, - "src": "14384:6:0", + "referencedDeclaration": 1387, + "src": "14254:6:0", "typeDescriptions": { "typeIdentifier": "t_function_revert_pure$_t_string_memory_ptr_$returns$__$", "typeString": "function (string memory) pure" } }, - "id": 706, + "id": 690, "isConstant": false, "isLValue": false, "isPure": false, @@ -9735,15 +9525,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "14384:98:0", + "src": "14254:98:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 707, + "id": 691, "nodeType": "ExpressionStatement", - "src": "14384:98:0" + "src": "14254:98:0" } ] } @@ -9751,7 +9541,7 @@ ] }, "documentation": "@dev This methods checks validity of transaction\n1. Verify Signatures\n2. Check if minimum number of signatures has been acquired\n3. If above condition is false, check if time lock is expired and the execution is signed by seller", - "id": 711, + "id": 695, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -9759,16 +9549,16 @@ "name": "_verifyTransaction", "nodeType": "FunctionDefinition", "parameters": { - "id": 660, + "id": 644, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 645, + "id": 629, "name": "sigV", "nodeType": "VariableDeclaration", - "scope": 711, - "src": "13529:12:0", + "scope": 695, + "src": "13399:12:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9777,19 +9567,19 @@ }, "typeName": { "baseType": { - "id": 643, + "id": 627, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "13529:5:0", + "src": "13399:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, - "id": 644, + "id": 628, "length": null, "nodeType": "ArrayTypeName", - "src": "13529:7:0", + "src": "13399:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_storage_ptr", "typeString": "uint8[]" @@ -9800,11 +9590,11 @@ }, { "constant": false, - "id": 648, + "id": 632, "name": "sigR", "nodeType": "VariableDeclaration", - "scope": 711, - "src": "13551:14:0", + "scope": 695, + "src": "13421:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9813,19 +9603,19 @@ }, "typeName": { "baseType": { - "id": 646, + "id": 630, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "13551:7:0", + "src": "13421:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "id": 647, + "id": 631, "length": null, "nodeType": "ArrayTypeName", - "src": "13551:9:0", + "src": "13421:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -9836,11 +9626,11 @@ }, { "constant": false, - "id": 651, + "id": 635, "name": "sigS", "nodeType": "VariableDeclaration", - "scope": 711, - "src": "13575:14:0", + "scope": 695, + "src": "13445:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9849,19 +9639,19 @@ }, "typeName": { "baseType": { - "id": 649, + "id": 633, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "13575:7:0", + "src": "13445:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "id": 650, + "id": 634, "length": null, "nodeType": "ArrayTypeName", - "src": "13575:9:0", + "src": "13445:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -9872,11 +9662,11 @@ }, { "constant": false, - "id": 653, + "id": 637, "name": "scriptHash", "nodeType": "VariableDeclaration", - "scope": 711, - "src": "13599:18:0", + "scope": 695, + "src": "13469:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9884,10 +9674,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 652, + "id": 636, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "13599:7:0", + "src": "13469:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -9898,11 +9688,11 @@ }, { "constant": false, - "id": 656, + "id": 640, "name": "destinations", "nodeType": "VariableDeclaration", - "scope": 711, - "src": "13627:22:0", + "scope": 695, + "src": "13497:22:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9911,19 +9701,19 @@ }, "typeName": { "baseType": { - "id": 654, + "id": 638, "name": "address", "nodeType": "ElementaryTypeName", - "src": "13627:7:0", + "src": "13497:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 655, + "id": 639, "length": null, "nodeType": "ArrayTypeName", - "src": "13627:9:0", + "src": "13497:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", "typeString": "address[]" @@ -9934,11 +9724,11 @@ }, { "constant": false, - "id": 659, + "id": 643, "name": "amounts", "nodeType": "VariableDeclaration", - "scope": 711, - "src": "13659:17:0", + "scope": 695, + "src": "13529:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9947,19 +9737,19 @@ }, "typeName": { "baseType": { - "id": 657, + "id": 641, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "13659:7:0", + "src": "13529:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 658, + "id": 642, "length": null, "nodeType": "ArrayTypeName", - "src": "13659:9:0", + "src": "13529:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -9969,39 +9759,39 @@ "visibility": "internal" } ], - "src": "13519:163:0" + "src": "13389:163:0" }, "payable": false, "returnParameters": { - "id": 661, + "id": 645, "nodeType": "ParameterList", "parameters": [], - "src": "13703:0:0" + "src": "13573:0:0" }, - "scope": 1224, - "src": "13492:1008:0", + "scope": 1208, + "src": "13362:1008:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "private" }, { "body": { - "id": 903, + "id": 887, "nodeType": "Block", - "src": "14787:1562:0", + "src": "14657:1562:0", "statements": [ { "assignments": [ - 725 + 709 ], "declarations": [ { "constant": false, - "id": 725, + "id": 709, "name": "t", "nodeType": "VariableDeclaration", - "scope": 904, - "src": "14797:21:0", + "scope": 888, + "src": "14667:21:0", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { @@ -10010,11 +9800,11 @@ }, "typeName": { "contractScope": null, - "id": 724, + "id": 708, "name": "Transaction", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 71, - "src": "14797:11:0", + "src": "14667:11:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction" @@ -10024,31 +9814,31 @@ "visibility": "internal" } ], - "id": 729, + "id": 713, "initialValue": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 726, + "id": 710, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "14821:12:0", + "src": "14691:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 728, + "id": 712, "indexExpression": { "argumentTypes": null, - "id": 727, + "id": 711, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 713, - "src": "14834:10:0", + "referencedDeclaration": 697, + "src": "14704:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -10059,27 +9849,27 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "14821:24:0", + "src": "14691:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "14797:48:0" + "src": "14667:48:0" }, { "assignments": [ - 731 + 715 ], "declarations": [ { "constant": false, - "id": 731, + "id": 715, "name": "valueTransferred", "nodeType": "VariableDeclaration", - "scope": 904, - "src": "14856:24:0", + "scope": 888, + "src": "14726:24:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -10087,10 +9877,10 @@ "typeString": "uint256" }, "typeName": { - "id": 730, + "id": 714, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "14856:7:0", + "src": "14726:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10100,18 +9890,18 @@ "visibility": "internal" } ], - "id": 733, + "id": 717, "initialValue": { "argumentTypes": null, "hexValue": "30", - "id": 732, + "id": 716, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "14883:1:0", + "src": "14753:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -10120,7 +9910,7 @@ "value": "0" }, "nodeType": "VariableDeclarationStatement", - "src": "14856:28:0" + "src": "14726:28:0" }, { "condition": { @@ -10129,7 +9919,7 @@ "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" }, - "id": 738, + "id": 722, "isConstant": false, "isLValue": false, "isPure": false, @@ -10138,18 +9928,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 734, + "id": 718, "name": "t", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 725, - "src": "14899:1:0", + "referencedDeclaration": 709, + "src": "14769:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" } }, - "id": 735, + "id": 719, "isConstant": false, "isLValue": true, "isPure": false, @@ -10157,7 +9947,7 @@ "memberName": "transactionType", "nodeType": "MemberAccess", "referencedDeclaration": 46, - "src": "14899:17:0", + "src": "14769:17:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -10169,18 +9959,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 736, + "id": 720, "name": "TransactionType", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12, - "src": "14920:15:0", + "src": "14790:15:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_TransactionType_$12_$", "typeString": "type(enum Escrow_v1_0.TransactionType)" } }, - "id": 737, + "id": 721, "isConstant": false, "isLValue": false, "isPure": true, @@ -10188,13 +9978,13 @@ "memberName": "ETHER", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "14920:21:0", + "src": "14790:21:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" } }, - "src": "14899:42:0", + "src": "14769:42:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -10207,7 +9997,7 @@ "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" }, - "id": 815, + "id": 799, "isConstant": false, "isLValue": false, "isPure": false, @@ -10216,18 +10006,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 811, + "id": 795, "name": "t", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 725, - "src": "15555:1:0", + "referencedDeclaration": 709, + "src": "15425:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" } }, - "id": 812, + "id": 796, "isConstant": false, "isLValue": true, "isPure": false, @@ -10235,7 +10025,7 @@ "memberName": "transactionType", "nodeType": "MemberAccess", "referencedDeclaration": 46, - "src": "15555:17:0", + "src": "15425:17:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -10247,18 +10037,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 813, + "id": 797, "name": "TransactionType", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12, - "src": "15576:15:0", + "src": "15446:15:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_TransactionType_$12_$", "typeString": "type(enum Escrow_v1_0.TransactionType)" } }, - "id": 814, + "id": 798, "isConstant": false, "isLValue": false, "isPure": true, @@ -10266,54 +10056,54 @@ "memberName": "TOKEN", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "15576:21:0", + "src": "15446:21:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" } }, - "src": "15555:42:0", + "src": "15425:42:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, - "id": 899, + "id": 883, "nodeType": "IfStatement", - "src": "15551:758:0", + "src": "15421:758:0", "trueBody": { - "id": 898, + "id": 882, "nodeType": "Block", - "src": "15599:710:0", + "src": "15469:710:0", "statements": [ { "assignments": [ - 817 + 801 ], "declarations": [ { "constant": false, - "id": 817, + "id": 801, "name": "token", "nodeType": "VariableDeclaration", - "scope": 904, - "src": "15614:20:0", + "scope": 888, + "src": "15484:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenContract_$1254", + "typeIdentifier": "t_contract$_ITokenContract_$1238", "typeString": "contract ITokenContract" }, "typeName": { "contractScope": null, - "id": 816, + "id": 800, "name": "ITokenContract", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1254, - "src": "15614:14:0", + "referencedDeclaration": 1238, + "src": "15484:14:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenContract_$1254", + "typeIdentifier": "t_contract$_ITokenContract_$1238", "typeString": "contract ITokenContract" } }, @@ -10321,7 +10111,7 @@ "visibility": "internal" } ], - "id": 822, + "id": 806, "initialValue": { "argumentTypes": null, "arguments": [ @@ -10329,18 +10119,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 819, + "id": 803, "name": "t", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 725, - "src": "15652:1:0", + "referencedDeclaration": 709, + "src": "15522:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" } }, - "id": 820, + "id": 804, "isConstant": false, "isLValue": true, "isPure": false, @@ -10348,7 +10138,7 @@ "memberName": "tokenAddress", "nodeType": "MemberAccess", "referencedDeclaration": 56, - "src": "15652:14:0", + "src": "15522:14:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -10362,18 +10152,18 @@ "typeString": "address" } ], - "id": 818, + "id": 802, "name": "ITokenContract", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1254, - "src": "15637:14:0", + "referencedDeclaration": 1238, + "src": "15507:14:0", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ITokenContract_$1254_$", + "typeIdentifier": "t_type$_t_contract$_ITokenContract_$1238_$", "typeString": "type(contract ITokenContract)" } }, - "id": 821, + "id": 805, "isConstant": false, "isLValue": false, "isPure": false, @@ -10381,20 +10171,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15637:30:0", + "src": "15507:30:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenContract_$1254", + "typeIdentifier": "t_contract$_ITokenContract_$1238", "typeString": "contract ITokenContract" } }, "nodeType": "VariableDeclarationStatement", - "src": "15614:53:0" + "src": "15484:53:0" }, { "body": { - "id": 896, + "id": 880, "nodeType": "Block", - "src": "15730:569:0", + "src": "15600:569:0", "statements": [ { "expression": { @@ -10406,7 +10196,7 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 841, + "id": 825, "isConstant": false, "isLValue": false, "isPure": false, @@ -10415,26 +10205,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 835, + "id": 819, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 716, - "src": "15757:12:0", + "referencedDeclaration": 700, + "src": "15627:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" } }, - "id": 837, + "id": 821, "indexExpression": { "argumentTypes": null, - "id": 836, + "id": 820, "name": "j", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 824, - "src": "15770:1:0", + "referencedDeclaration": 808, + "src": "15640:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10445,7 +10235,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15757:15:0", + "src": "15627:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -10459,14 +10249,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 839, + "id": 823, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "15784:1:0", + "src": "15654:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -10482,20 +10272,20 @@ "typeString": "int_const 0" } ], - "id": 838, + "id": 822, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "15776:7:0", + "src": "15646:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, - "id": 840, + "id": 824, "isConstant": false, "isLValue": false, "isPure": true, @@ -10503,13 +10293,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15776:10:0", + "src": "15646:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "15757:29:0", + "src": "15627:29:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -10518,14 +10308,14 @@ { "argumentTypes": null, "hexValue": "7a65726f2061646472657373206973206e6f7420616c6c6f7765642061732064657374696e6174696f6e2061646472657373", - "id": 842, + "id": 826, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "15788:52:0", + "src": "15658:52:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_587fbb5a9b8e6d4cc482f236066ac51bcf007ae6026eab186437d2f1b22fc139", @@ -10545,21 +10335,21 @@ "typeString": "literal_string \"zero address is not allowed as destination address\"" } ], - "id": 834, + "id": 818, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1400, - 1401 + 1384, + 1385 ], - "referencedDeclaration": 1401, - "src": "15749:7:0", + "referencedDeclaration": 1385, + "src": "15619:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 843, + "id": 827, "isConstant": false, "isLValue": false, "isPure": false, @@ -10567,15 +10357,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15749:92:0", + "src": "15619:92:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 844, + "id": 828, "nodeType": "ExpressionStatement", - "src": "15749:92:0" + "src": "15619:92:0" }, { "expression": { @@ -10587,18 +10377,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 846, + "id": 830, "name": "t", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 725, - "src": "15868:1:0", + "referencedDeclaration": 709, + "src": "15738:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" } }, - "id": 847, + "id": 831, "isConstant": false, "isLValue": true, "isPure": false, @@ -10606,37 +10396,37 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "15868:9:0", + "src": "15738:9:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 851, + "id": 835, "indexExpression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 848, + "id": 832, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 716, - "src": "15878:12:0", + "referencedDeclaration": 700, + "src": "15748:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" } }, - "id": 850, + "id": 834, "indexExpression": { "argumentTypes": null, - "id": 849, + "id": 833, "name": "j", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 824, - "src": "15891:1:0", + "referencedDeclaration": 808, + "src": "15761:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10647,7 +10437,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15878:15:0", + "src": "15748:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -10658,7 +10448,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15868:26:0", + "src": "15738:26:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -10667,14 +10457,14 @@ { "argumentTypes": null, "hexValue": "44657374696e6174696f6e2061646472657373206973206e6f74206f6e65206f6620746865206f776e657273", - "id": 852, + "id": 836, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "15896:46:0", + "src": "15766:46:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_5ccbe9d117aeeb4b3546dfe6a12f083cb37039367b3ec38b60873b8650bc846f", @@ -10694,21 +10484,21 @@ "typeString": "literal_string \"Destination address is not one of the owners\"" } ], - "id": 845, + "id": 829, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1400, - 1401 + 1384, + 1385 ], - "referencedDeclaration": 1401, - "src": "15860:7:0", + "referencedDeclaration": 1385, + "src": "15730:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 853, + "id": 837, "isConstant": false, "isLValue": false, "isPure": false, @@ -10716,15 +10506,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15860:83:0", + "src": "15730:83:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 854, + "id": 838, "nodeType": "ExpressionStatement", - "src": "15860:83:0" + "src": "15730:83:0" }, { "expression": { @@ -10736,7 +10526,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 860, + "id": 844, "isConstant": false, "isLValue": false, "isPure": false, @@ -10745,26 +10535,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 856, + "id": 840, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 719, - "src": "15970:7:0", + "referencedDeclaration": 703, + "src": "15840:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 858, + "id": 842, "indexExpression": { "argumentTypes": null, - "id": 857, + "id": 841, "name": "j", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 824, - "src": "15978:1:0", + "referencedDeclaration": 808, + "src": "15848:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10775,7 +10565,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15970:10:0", + "src": "15840:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10786,14 +10576,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 859, + "id": 843, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "15983:1:0", + "src": "15853:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -10801,7 +10591,7 @@ }, "value": "0" }, - "src": "15970:14:0", + "src": "15840:14:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -10810,14 +10600,14 @@ { "argumentTypes": null, "hexValue": "416d6f756e7420746f2062652073656e742073686f756c642062652067726561746572207468616e2030", - "id": 861, + "id": 845, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "15986:44:0", + "src": "15856:44:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_5e1271a09dbb64ae031de288deb0ad8d707df7db51d6e827931dc8fa6642a71e", @@ -10837,21 +10627,21 @@ "typeString": "literal_string \"Amount to be sent should be greater than 0\"" } ], - "id": 855, + "id": 839, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1400, - 1401 + 1384, + 1385 ], - "referencedDeclaration": 1401, - "src": "15962:7:0", + "referencedDeclaration": 1385, + "src": "15832:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 862, + "id": 846, "isConstant": false, "isLValue": false, "isPure": false, @@ -10859,32 +10649,32 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15962:69:0", + "src": "15832:69:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 863, + "id": 847, "nodeType": "ExpressionStatement", - "src": "15962:69:0" + "src": "15832:69:0" }, { "expression": { "argumentTypes": null, - "id": 871, + "id": 855, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 864, + "id": 848, "name": "valueTransferred", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 731, - "src": "16050:16:0", + "referencedDeclaration": 715, + "src": "15920:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10899,26 +10689,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 867, + "id": 851, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 719, - "src": "16090:7:0", + "referencedDeclaration": 703, + "src": "15960:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 869, + "id": 853, "indexExpression": { "argumentTypes": null, - "id": 868, + "id": 852, "name": "j", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 824, - "src": "16098:1:0", + "referencedDeclaration": 808, + "src": "15968:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10929,7 +10719,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "16090:10:0", + "src": "15960:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10945,32 +10735,32 @@ ], "expression": { "argumentTypes": null, - "id": 865, + "id": 849, "name": "valueTransferred", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 731, - "src": "16069:16:0", + "referencedDeclaration": 715, + "src": "15939:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 866, + "id": 850, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 1361, - "src": "16069:20:0", + "referencedDeclaration": 1345, + "src": "15939:20:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 870, + "id": 854, "isConstant": false, "isLValue": false, "isPure": false, @@ -10978,26 +10768,26 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16069:32:0", + "src": "15939:32:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "16050:51:0", + "src": "15920:51:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 872, + "id": 856, "nodeType": "ExpressionStatement", - "src": "16050:51:0" + "src": "15920:51:0" }, { "expression": { "argumentTypes": null, - "id": 881, + "id": 865, "isConstant": false, "isLValue": false, "isPure": false, @@ -11008,18 +10798,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 873, + "id": 857, "name": "t", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 725, - "src": "16119:1:0", + "referencedDeclaration": 709, + "src": "15989:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" } }, - "id": 878, + "id": 862, "isConstant": false, "isLValue": true, "isPure": false, @@ -11027,37 +10817,37 @@ "memberName": "beneficiaries", "nodeType": "MemberAccess", "referencedDeclaration": 70, - "src": "16119:15:0", + "src": "15989:15:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 879, + "id": 863, "indexExpression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 875, + "id": 859, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 716, - "src": "16135:12:0", + "referencedDeclaration": 700, + "src": "16005:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" } }, - "id": 877, + "id": 861, "indexExpression": { "argumentTypes": null, - "id": 876, + "id": 860, "name": "j", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 824, - "src": "16148:1:0", + "referencedDeclaration": 808, + "src": "16018:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11068,7 +10858,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "16135:15:0", + "src": "16005:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -11079,7 +10869,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "16119:32:0", + "src": "15989:32:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -11090,14 +10880,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "74727565", - "id": 880, + "id": 864, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "16154:4:0", + "src": "16024:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -11105,15 +10895,15 @@ }, "value": "true" }, - "src": "16119:39:0", + "src": "15989:39:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 882, + "id": 866, "nodeType": "ExpressionStatement", - "src": "16119:39:0" + "src": "15989:39:0" }, { "expression": { @@ -11126,26 +10916,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 886, + "id": 870, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 716, - "src": "16229:12:0", + "referencedDeclaration": 700, + "src": "16099:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" } }, - "id": 888, + "id": 872, "indexExpression": { "argumentTypes": null, - "id": 887, + "id": 871, "name": "j", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 824, - "src": "16242:1:0", + "referencedDeclaration": 808, + "src": "16112:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11156,7 +10946,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "16229:15:0", + "src": "16099:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -11166,26 +10956,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 889, + "id": 873, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 719, - "src": "16246:7:0", + "referencedDeclaration": 703, + "src": "16116:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 891, + "id": 875, "indexExpression": { "argumentTypes": null, - "id": 890, + "id": 874, "name": "j", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 824, - "src": "16254:1:0", + "referencedDeclaration": 808, + "src": "16124:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11196,7 +10986,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "16246:10:0", + "src": "16116:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11216,32 +11006,32 @@ ], "expression": { "argumentTypes": null, - "id": 884, + "id": 868, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 817, - "src": "16214:5:0", + "referencedDeclaration": 801, + "src": "16084:5:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenContract_$1254", + "typeIdentifier": "t_contract$_ITokenContract_$1238", "typeString": "contract ITokenContract" } }, - "id": 885, + "id": 869, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "transfer", "nodeType": "MemberAccess", - "referencedDeclaration": 1242, - "src": "16214:14:0", + "referencedDeclaration": 1226, + "src": "16084:14:0", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", "typeString": "function (address,uint256) external returns (bool)" } }, - "id": 892, + "id": 876, "isConstant": false, "isLValue": false, "isPure": false, @@ -11249,7 +11039,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16214:43:0", + "src": "16084:43:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -11258,14 +11048,14 @@ { "argumentTypes": null, "hexValue": "546f6b656e207472616e73666572206661696c65642e", - "id": 893, + "id": 877, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "16259:24:0", + "src": "16129:24:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_e545223bb79d8456d66fa5a98897abb42bb4807111f004a120200da3b7e292c5", @@ -11285,21 +11075,21 @@ "typeString": "literal_string \"Token transfer failed.\"" } ], - "id": 883, + "id": 867, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1400, - 1401 + 1384, + 1385 ], - "referencedDeclaration": 1401, - "src": "16206:7:0", + "referencedDeclaration": 1385, + "src": "16076:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 894, + "id": 878, "isConstant": false, "isLValue": false, "isPure": false, @@ -11307,15 +11097,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16206:78:0", + "src": "16076:78:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 895, + "id": 879, "nodeType": "ExpressionStatement", - "src": "16206:78:0" + "src": "16076:78:0" } ] }, @@ -11325,19 +11115,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 830, + "id": 814, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 827, + "id": 811, "name": "j", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 824, - "src": "15702:1:0", + "referencedDeclaration": 808, + "src": "15572:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11349,18 +11139,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 828, + "id": 812, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 716, - "src": "15704:12:0", + "referencedDeclaration": 700, + "src": "15574:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" } }, - "id": 829, + "id": 813, "isConstant": false, "isLValue": false, "isPure": false, @@ -11368,31 +11158,31 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "15704:19:0", + "src": "15574:19:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "15702:21:0", + "src": "15572:21:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 897, + "id": 881, "initializationExpression": { "assignments": [ - 824 + 808 ], "declarations": [ { "constant": false, - "id": 824, + "id": 808, "name": "j", "nodeType": "VariableDeclaration", - "scope": 904, - "src": "15687:9:0", + "scope": 888, + "src": "15557:9:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -11400,10 +11190,10 @@ "typeString": "uint256" }, "typeName": { - "id": 823, + "id": 807, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "15687:7:0", + "src": "15557:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11413,18 +11203,18 @@ "visibility": "internal" } ], - "id": 826, + "id": 810, "initialValue": { "argumentTypes": null, "hexValue": "30", - "id": 825, + "id": 809, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "15699:1:0", + "src": "15569:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -11433,12 +11223,12 @@ "value": "0" }, "nodeType": "VariableDeclarationStatement", - "src": "15687:13:0" + "src": "15557:13:0" }, "loopExpression": { "expression": { "argumentTypes": null, - "id": 832, + "id": 816, "isConstant": false, "isLValue": false, "isPure": false, @@ -11446,15 +11236,15 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "15725:3:0", + "src": "15595:3:0", "subExpression": { "argumentTypes": null, - "id": 831, + "id": 815, "name": "j", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 824, - "src": "15725:1:0", + "referencedDeclaration": 808, + "src": "15595:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11465,29 +11255,29 @@ "typeString": "uint256" } }, - "id": 833, + "id": 817, "nodeType": "ExpressionStatement", - "src": "15725:3:0" + "src": "15595:3:0" }, "nodeType": "ForStatement", - "src": "15682:617:0" + "src": "15552:617:0" } ] } }, - "id": 900, + "id": 884, "nodeType": "IfStatement", - "src": "14895:1414:0", + "src": "14765:1414:0", "trueBody": { - "id": 810, + "id": 794, "nodeType": "Block", - "src": "14943:602:0", + "src": "14813:602:0", "statements": [ { "body": { - "id": 808, + "id": 792, "nodeType": "Block", - "src": "15007:527:0", + "src": "14877:527:0", "statements": [ { "expression": { @@ -11499,7 +11289,7 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 757, + "id": 741, "isConstant": false, "isLValue": false, "isPure": false, @@ -11508,26 +11298,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 751, + "id": 735, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 716, - "src": "15034:12:0", + "referencedDeclaration": 700, + "src": "14904:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" } }, - "id": 753, + "id": 737, "indexExpression": { "argumentTypes": null, - "id": 752, + "id": 736, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 740, - "src": "15047:1:0", + "referencedDeclaration": 724, + "src": "14917:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11538,7 +11328,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15034:15:0", + "src": "14904:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -11552,14 +11342,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 755, + "id": 739, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "15061:1:0", + "src": "14931:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -11575,20 +11365,20 @@ "typeString": "int_const 0" } ], - "id": 754, + "id": 738, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "15053:7:0", + "src": "14923:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, - "id": 756, + "id": 740, "isConstant": false, "isLValue": false, "isPure": true, @@ -11596,13 +11386,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15053:10:0", + "src": "14923:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "15034:29:0", + "src": "14904:29:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -11611,14 +11401,14 @@ { "argumentTypes": null, "hexValue": "7a65726f2061646472657373206973206e6f7420616c6c6f7765642061732064657374696e6174696f6e2061646472657373", - "id": 758, + "id": 742, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "15065:52:0", + "src": "14935:52:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_587fbb5a9b8e6d4cc482f236066ac51bcf007ae6026eab186437d2f1b22fc139", @@ -11638,21 +11428,21 @@ "typeString": "literal_string \"zero address is not allowed as destination address\"" } ], - "id": 750, + "id": 734, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1400, - 1401 + 1384, + 1385 ], - "referencedDeclaration": 1401, - "src": "15026:7:0", + "referencedDeclaration": 1385, + "src": "14896:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 759, + "id": 743, "isConstant": false, "isLValue": false, "isPure": false, @@ -11660,15 +11450,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15026:92:0", + "src": "14896:92:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 760, + "id": 744, "nodeType": "ExpressionStatement", - "src": "15026:92:0" + "src": "14896:92:0" }, { "expression": { @@ -11680,18 +11470,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 762, + "id": 746, "name": "t", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 725, - "src": "15145:1:0", + "referencedDeclaration": 709, + "src": "15015:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" } }, - "id": 763, + "id": 747, "isConstant": false, "isLValue": true, "isPure": false, @@ -11699,37 +11489,37 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "15145:9:0", + "src": "15015:9:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 767, + "id": 751, "indexExpression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 764, + "id": 748, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 716, - "src": "15155:12:0", + "referencedDeclaration": 700, + "src": "15025:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" } }, - "id": 766, + "id": 750, "indexExpression": { "argumentTypes": null, - "id": 765, + "id": 749, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 740, - "src": "15168:1:0", + "referencedDeclaration": 724, + "src": "15038:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11740,7 +11530,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15155:15:0", + "src": "15025:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -11751,7 +11541,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15145:26:0", + "src": "15015:26:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -11760,14 +11550,14 @@ { "argumentTypes": null, "hexValue": "44657374696e6174696f6e2061646472657373206973206e6f74206f6e65206f6620746865206f776e657273", - "id": 768, + "id": 752, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "15173:46:0", + "src": "15043:46:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_5ccbe9d117aeeb4b3546dfe6a12f083cb37039367b3ec38b60873b8650bc846f", @@ -11787,21 +11577,21 @@ "typeString": "literal_string \"Destination address is not one of the owners\"" } ], - "id": 761, + "id": 745, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1400, - 1401 + 1384, + 1385 ], - "referencedDeclaration": 1401, - "src": "15137:7:0", + "referencedDeclaration": 1385, + "src": "15007:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 769, + "id": 753, "isConstant": false, "isLValue": false, "isPure": false, @@ -11809,15 +11599,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15137:83:0", + "src": "15007:83:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 770, + "id": 754, "nodeType": "ExpressionStatement", - "src": "15137:83:0" + "src": "15007:83:0" }, { "expression": { @@ -11829,7 +11619,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 776, + "id": 760, "isConstant": false, "isLValue": false, "isPure": false, @@ -11838,26 +11628,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 772, + "id": 756, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 719, - "src": "15247:7:0", + "referencedDeclaration": 703, + "src": "15117:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 774, + "id": 758, "indexExpression": { "argumentTypes": null, - "id": 773, + "id": 757, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 740, - "src": "15255:1:0", + "referencedDeclaration": 724, + "src": "15125:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11868,7 +11658,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15247:10:0", + "src": "15117:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11879,14 +11669,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 775, + "id": 759, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "15260:1:0", + "src": "15130:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -11894,7 +11684,7 @@ }, "value": "0" }, - "src": "15247:14:0", + "src": "15117:14:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -11903,14 +11693,14 @@ { "argumentTypes": null, "hexValue": "416d6f756e7420746f2062652073656e742073686f756c642062652067726561746572207468616e2030", - "id": 777, + "id": 761, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "15263:44:0", + "src": "15133:44:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_5e1271a09dbb64ae031de288deb0ad8d707df7db51d6e827931dc8fa6642a71e", @@ -11930,21 +11720,21 @@ "typeString": "literal_string \"Amount to be sent should be greater than 0\"" } ], - "id": 771, + "id": 755, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1400, - 1401 + 1384, + 1385 ], - "referencedDeclaration": 1401, - "src": "15239:7:0", + "referencedDeclaration": 1385, + "src": "15109:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 778, + "id": 762, "isConstant": false, "isLValue": false, "isPure": false, @@ -11952,32 +11742,32 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15239:69:0", + "src": "15109:69:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 779, + "id": 763, "nodeType": "ExpressionStatement", - "src": "15239:69:0" + "src": "15109:69:0" }, { "expression": { "argumentTypes": null, - "id": 787, + "id": 771, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 780, + "id": 764, "name": "valueTransferred", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 731, - "src": "15327:16:0", + "referencedDeclaration": 715, + "src": "15197:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11992,26 +11782,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 783, + "id": 767, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 719, - "src": "15367:7:0", + "referencedDeclaration": 703, + "src": "15237:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 785, + "id": 769, "indexExpression": { "argumentTypes": null, - "id": 784, + "id": 768, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 740, - "src": "15375:1:0", + "referencedDeclaration": 724, + "src": "15245:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12022,7 +11812,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15367:10:0", + "src": "15237:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12038,32 +11828,32 @@ ], "expression": { "argumentTypes": null, - "id": 781, + "id": 765, "name": "valueTransferred", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 731, - "src": "15346:16:0", + "referencedDeclaration": 715, + "src": "15216:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 782, + "id": 766, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 1361, - "src": "15346:20:0", + "referencedDeclaration": 1345, + "src": "15216:20:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 786, + "id": 770, "isConstant": false, "isLValue": false, "isPure": false, @@ -12071,26 +11861,26 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15346:32:0", + "src": "15216:32:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "15327:51:0", + "src": "15197:51:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 788, + "id": 772, "nodeType": "ExpressionStatement", - "src": "15327:51:0" + "src": "15197:51:0" }, { "expression": { "argumentTypes": null, - "id": 797, + "id": 781, "isConstant": false, "isLValue": false, "isPure": false, @@ -12101,18 +11891,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 789, + "id": 773, "name": "t", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 725, - "src": "15397:1:0", + "referencedDeclaration": 709, + "src": "15267:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" } }, - "id": 794, + "id": 778, "isConstant": false, "isLValue": true, "isPure": false, @@ -12120,37 +11910,37 @@ "memberName": "beneficiaries", "nodeType": "MemberAccess", "referencedDeclaration": 70, - "src": "15397:15:0", + "src": "15267:15:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 795, + "id": 779, "indexExpression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 791, + "id": 775, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 716, - "src": "15413:12:0", + "referencedDeclaration": 700, + "src": "15283:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" } }, - "id": 793, + "id": 777, "indexExpression": { "argumentTypes": null, - "id": 792, + "id": 776, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 740, - "src": "15426:1:0", + "referencedDeclaration": 724, + "src": "15296:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12161,7 +11951,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15413:15:0", + "src": "15283:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -12172,7 +11962,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "15397:32:0", + "src": "15267:32:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -12183,14 +11973,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "74727565", - "id": 796, + "id": 780, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "15432:4:0", + "src": "15302:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -12198,15 +11988,15 @@ }, "value": "true" }, - "src": "15397:39:0", + "src": "15267:39:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 798, + "id": 782, "nodeType": "ExpressionStatement", - "src": "15397:39:0" + "src": "15267:39:0" }, { "expression": { @@ -12216,26 +12006,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 803, + "id": 787, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 719, - "src": "15508:7:0", + "referencedDeclaration": 703, + "src": "15378:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 805, + "id": 789, "indexExpression": { "argumentTypes": null, - "id": 804, + "id": 788, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 740, - "src": "15516:1:0", + "referencedDeclaration": 724, + "src": "15386:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12246,7 +12036,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15508:10:0", + "src": "15378:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12264,26 +12054,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 799, + "id": 783, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 716, - "src": "15483:12:0", + "referencedDeclaration": 700, + "src": "15353:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" } }, - "id": 801, + "id": 785, "indexExpression": { "argumentTypes": null, - "id": 800, + "id": 784, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 740, - "src": "15496:1:0", + "referencedDeclaration": 724, + "src": "15366:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12294,13 +12084,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15483:15:0", + "src": "15353:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 802, + "id": 786, "isConstant": false, "isLValue": false, "isPure": false, @@ -12308,13 +12098,13 @@ "memberName": "transfer", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "15483:24:0", + "src": "15353:24:0", "typeDescriptions": { "typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$", "typeString": "function (uint256)" } }, - "id": 806, + "id": 790, "isConstant": false, "isLValue": false, "isPure": false, @@ -12322,15 +12112,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15483:36:0", + "src": "15353:36:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 807, + "id": 791, "nodeType": "ExpressionStatement", - "src": "15483:36:0" + "src": "15353:36:0" } ] }, @@ -12340,19 +12130,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 746, + "id": 730, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 743, + "id": 727, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 740, - "src": "14977:1:0", + "referencedDeclaration": 724, + "src": "14847:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12364,18 +12154,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 744, + "id": 728, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 716, - "src": "14981:12:0", + "referencedDeclaration": 700, + "src": "14851:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" } }, - "id": 745, + "id": 729, "isConstant": false, "isLValue": false, "isPure": false, @@ -12383,31 +12173,31 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "14981:19:0", + "src": "14851:19:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "14977:23:0", + "src": "14847:23:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 809, + "id": 793, "initializationExpression": { "assignments": [ - 740 + 724 ], "declarations": [ { "constant": false, - "id": 740, + "id": 724, "name": "i", "nodeType": "VariableDeclaration", - "scope": 904, - "src": "14962:9:0", + "scope": 888, + "src": "14832:9:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12415,10 +12205,10 @@ "typeString": "uint256" }, "typeName": { - "id": 739, + "id": 723, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "14962:7:0", + "src": "14832:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12428,18 +12218,18 @@ "visibility": "internal" } ], - "id": 742, + "id": 726, "initialValue": { "argumentTypes": null, "hexValue": "30", - "id": 741, + "id": 725, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "14974:1:0", + "src": "14844:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -12448,12 +12238,12 @@ "value": "0" }, "nodeType": "VariableDeclarationStatement", - "src": "14962:13:0" + "src": "14832:13:0" }, "loopExpression": { "expression": { "argumentTypes": null, - "id": 748, + "id": 732, "isConstant": false, "isLValue": false, "isPure": false, @@ -12461,15 +12251,15 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "15002:3:0", + "src": "14872:3:0", "subExpression": { "argumentTypes": null, - "id": 747, + "id": 731, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 740, - "src": "15002:1:0", + "referencedDeclaration": 724, + "src": "14872:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12480,12 +12270,12 @@ "typeString": "uint256" } }, - "id": 749, + "id": 733, "nodeType": "ExpressionStatement", - "src": "15002:3:0" + "src": "14872:3:0" }, "nodeType": "ForStatement", - "src": "14957:577:0" + "src": "14827:577:0" } ] } @@ -12493,26 +12283,26 @@ { "expression": { "argumentTypes": null, - "id": 901, + "id": 885, "name": "valueTransferred", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 731, - "src": "16326:16:0", + "referencedDeclaration": 715, + "src": "16196:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 723, - "id": 902, + "functionReturnParameters": 707, + "id": 886, "nodeType": "Return", - "src": "16319:23:0" + "src": "16189:23:0" } ] }, "documentation": "dev Private method to transfer funds to the destination addresses on the basis of transaction type", - "id": 904, + "id": 888, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -12520,16 +12310,16 @@ "name": "_transferFunds", "nodeType": "FunctionDefinition", "parameters": { - "id": 720, + "id": 704, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 713, + "id": 697, "name": "scriptHash", "nodeType": "VariableDeclaration", - "scope": 904, - "src": "14659:18:0", + "scope": 888, + "src": "14529:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12537,10 +12327,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 712, + "id": 696, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "14659:7:0", + "src": "14529:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -12551,11 +12341,11 @@ }, { "constant": false, - "id": 716, + "id": 700, "name": "destinations", "nodeType": "VariableDeclaration", - "scope": 904, - "src": "14687:21:0", + "scope": 888, + "src": "14557:21:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12564,19 +12354,19 @@ }, "typeName": { "baseType": { - "id": 714, + "id": 698, "name": "address", "nodeType": "ElementaryTypeName", - "src": "14687:7:0", + "src": "14557:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 715, + "id": 699, "length": null, "nodeType": "ArrayTypeName", - "src": "14687:9:0", + "src": "14557:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", "typeString": "address[]" @@ -12587,11 +12377,11 @@ }, { "constant": false, - "id": 719, + "id": 703, "name": "amounts", "nodeType": "VariableDeclaration", - "scope": 904, - "src": "14718:16:0", + "scope": 888, + "src": "14588:16:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12600,19 +12390,19 @@ }, "typeName": { "baseType": { - "id": 717, + "id": 701, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "14718:7:0", + "src": "14588:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 718, + "id": 702, "length": null, "nodeType": "ArrayTypeName", - "src": "14718:9:0", + "src": "14588:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -12622,20 +12412,20 @@ "visibility": "internal" } ], - "src": "14649:91:0" + "src": "14519:91:0" }, "payable": false, "returnParameters": { - "id": 723, + "id": 707, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 722, + "id": 706, "name": "", "nodeType": "VariableDeclaration", - "scope": 904, - "src": "14774:7:0", + "scope": 888, + "src": "14644:7:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12643,10 +12433,10 @@ "typeString": "uint256" }, "typeName": { - "id": 721, + "id": 705, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "14774:7:0", + "src": "14644:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12656,19 +12446,19 @@ "visibility": "internal" } ], - "src": "14773:9:0" + "src": "14643:9:0" }, - "scope": 1224, - "src": "14626:1723:0", + "scope": 1208, + "src": "14496:1723:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "private" }, { "body": { - "id": 1034, + "id": 1018, "nodeType": "Block", - "src": "16769:1346:0", + "src": "16639:1346:0", "statements": [ { "expression": { @@ -12680,7 +12470,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 937, + "id": 921, "isConstant": false, "isLValue": false, "isPure": false, @@ -12691,7 +12481,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 931, + "id": 915, "isConstant": false, "isLValue": false, "isPure": false, @@ -12700,18 +12490,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 927, + "id": 911, "name": "sigR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 910, - "src": "16801:4:0", + "referencedDeclaration": 894, + "src": "16671:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" } }, - "id": 928, + "id": 912, "isConstant": false, "isLValue": false, "isPure": false, @@ -12719,7 +12509,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "16801:11:0", + "src": "16671:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12731,18 +12521,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 929, + "id": 913, "name": "sigS", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 913, - "src": "16816:4:0", + "referencedDeclaration": 897, + "src": "16686:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" } }, - "id": 930, + "id": 914, "isConstant": false, "isLValue": false, "isPure": false, @@ -12750,13 +12540,13 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "16816:11:0", + "src": "16686:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "16801:26:0", + "src": "16671:26:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -12770,7 +12560,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 936, + "id": 920, "isConstant": false, "isLValue": false, "isPure": false, @@ -12779,18 +12569,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 932, + "id": 916, "name": "sigR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 910, - "src": "16831:4:0", + "referencedDeclaration": 894, + "src": "16701:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" } }, - "id": 933, + "id": 917, "isConstant": false, "isLValue": false, "isPure": false, @@ -12798,7 +12588,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "16831:11:0", + "src": "16701:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12810,18 +12600,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 934, + "id": 918, "name": "sigV", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 907, - "src": "16846:4:0", + "referencedDeclaration": 891, + "src": "16716:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr", "typeString": "uint8[] memory" } }, - "id": 935, + "id": 919, "isConstant": false, "isLValue": false, "isPure": false, @@ -12829,19 +12619,19 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "16846:11:0", + "src": "16716:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "16831:26:0", + "src": "16701:26:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "16801:56:0", + "src": "16671:56:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -12850,14 +12640,14 @@ { "argumentTypes": null, "hexValue": "522c532c56206c656e677468206d69736d617463682e", - "id": 938, + "id": 922, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "16872:24:0", + "src": "16742:24:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_f85073c8befb65baed58ca1ee563e5da0bdbdce8abd4d29ef22a8329c7c97506", @@ -12877,21 +12667,21 @@ "typeString": "literal_string \"R,S,V length mismatch.\"" } ], - "id": 926, + "id": 910, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1400, - 1401 + 1384, + 1385 ], - "referencedDeclaration": 1401, - "src": "16780:7:0", + "referencedDeclaration": 1385, + "src": "16650:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 939, + "id": 923, "isConstant": false, "isLValue": false, "isPure": false, @@ -12899,26 +12689,26 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16780:126:0", + "src": "16650:126:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 940, + "id": 924, "nodeType": "ExpressionStatement", - "src": "16780:126:0" + "src": "16650:126:0" }, { "assignments": [], "declarations": [ { "constant": false, - "id": 942, + "id": 926, "name": "lastAddress", "nodeType": "VariableDeclaration", - "scope": 1035, - "src": "16917:19:0", + "scope": 1019, + "src": "16787:19:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12926,10 +12716,10 @@ "typeString": "address" }, "typeName": { - "id": 941, + "id": 925, "name": "address", "nodeType": "ElementaryTypeName", - "src": "16917:7:0", + "src": "16787:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -12939,23 +12729,23 @@ "visibility": "internal" } ], - "id": 943, + "id": 927, "initialValue": null, "nodeType": "VariableDeclarationStatement", - "src": "16917:19:0" + "src": "16787:19:0" }, { "assignments": [ - 945 + 929 ], "declarations": [ { "constant": false, - "id": 945, + "id": 929, "name": "txHash", "nodeType": "VariableDeclaration", - "scope": 1035, - "src": "17035:14:0", + "scope": 1019, + "src": "16905:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12963,10 +12753,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 944, + "id": 928, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "17035:7:0", + "src": "16905:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -12976,7 +12766,7 @@ "visibility": "internal" } ], - "id": 969, + "id": 953, "initialValue": { "argumentTypes": null, "arguments": [ @@ -12986,14 +12776,14 @@ { "argumentTypes": null, "hexValue": "19457468657265756d205369676e6564204d6573736167653a0a3332", - "id": 949, + "id": 933, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "17109:34:0", + "src": "16979:34:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_178a2411ab6fbc1ba11064408972259c558d0e82fd48b0aba3ad81d14f065e73", @@ -13013,14 +12803,14 @@ { "argumentTypes": null, "hexValue": "30783139", - "id": 954, + "id": 938, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "17239:4:0", + "src": "17109:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_25_by_1", @@ -13036,20 +12826,20 @@ "typeString": "int_const 25" } ], - "id": 953, + "id": 937, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "17234:4:0", + "src": "17104:4:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes1_$", "typeString": "type(bytes1)" }, "typeName": "byte" }, - "id": 955, + "id": 939, "isConstant": false, "isLValue": false, "isPure": true, @@ -13057,7 +12847,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17234:10:0", + "src": "17104:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes1", "typeString": "bytes1" @@ -13069,14 +12859,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 957, + "id": 941, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "17275:1:0", + "src": "17145:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -13092,20 +12882,20 @@ "typeString": "int_const 0" } ], - "id": 956, + "id": 940, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "17270:4:0", + "src": "17140:4:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes1_$", "typeString": "type(bytes1)" }, "typeName": "byte" }, - "id": 958, + "id": 942, "isConstant": false, "isLValue": false, "isPure": true, @@ -13113,7 +12903,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17270:7:0", + "src": "17140:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes1", "typeString": "bytes1" @@ -13124,14 +12914,14 @@ "arguments": [ { "argumentTypes": null, - "id": 960, + "id": 944, "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1414, - "src": "17311:4:0", + "referencedDeclaration": 1398, + "src": "17181:4:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_Escrow_v1_0_$1224", + "typeIdentifier": "t_contract$_Escrow_v1_0_$1208", "typeString": "contract Escrow_v1_0" } } @@ -13139,24 +12929,24 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_Escrow_v1_0_$1224", + "typeIdentifier": "t_contract$_Escrow_v1_0_$1208", "typeString": "contract Escrow_v1_0" } ], - "id": 959, + "id": 943, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "17303:7:0", + "src": "17173:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, - "id": 961, + "id": 945, "isConstant": false, "isLValue": false, "isPure": false, @@ -13164,7 +12954,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17303:13:0", + "src": "17173:13:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -13172,12 +12962,12 @@ }, { "argumentTypes": null, - "id": 962, + "id": 946, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 918, - "src": "17342:12:0", + "referencedDeclaration": 902, + "src": "17212:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -13185,12 +12975,12 @@ }, { "argumentTypes": null, - "id": 963, + "id": 947, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 921, - "src": "17380:7:0", + "referencedDeclaration": 905, + "src": "17250:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" @@ -13198,12 +12988,12 @@ }, { "argumentTypes": null, - "id": 964, + "id": 948, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 915, - "src": "17413:10:0", + "referencedDeclaration": 899, + "src": "17283:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -13239,18 +13029,18 @@ ], "expression": { "argumentTypes": null, - "id": 951, + "id": 935, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1384, - "src": "17192:3:0", + "referencedDeclaration": 1368, + "src": "17062:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, - "id": 952, + "id": 936, "isConstant": false, "isLValue": false, "isPure": true, @@ -13258,13 +13048,13 @@ "memberName": "encodePacked", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "17192:16:0", + "src": "17062:16:0", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, - "id": 965, + "id": 949, "isConstant": false, "isLValue": false, "isPure": false, @@ -13272,7 +13062,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17192:253:0", + "src": "17062:253:0", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -13286,18 +13076,18 @@ "typeString": "bytes memory" } ], - "id": 950, + "id": 934, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1391, - "src": "17161:9:0", + "referencedDeclaration": 1375, + "src": "17031:9:0", "typeDescriptions": { "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", "typeString": "function () pure returns (bytes32)" } }, - "id": 966, + "id": 950, "isConstant": false, "isLValue": false, "isPure": false, @@ -13305,7 +13095,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17161:302:0", + "src": "17031:302:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -13325,18 +13115,18 @@ ], "expression": { "argumentTypes": null, - "id": 947, + "id": 931, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1384, - "src": "17075:3:0", + "referencedDeclaration": 1368, + "src": "16945:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, - "id": 948, + "id": 932, "isConstant": false, "isLValue": false, "isPure": true, @@ -13344,13 +13134,13 @@ "memberName": "encodePacked", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "17075:16:0", + "src": "16945:16:0", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, - "id": 967, + "id": 951, "isConstant": false, "isLValue": false, "isPure": false, @@ -13358,7 +13148,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17075:402:0", + "src": "16945:402:0", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -13372,18 +13162,18 @@ "typeString": "bytes memory" } ], - "id": 946, + "id": 930, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1391, - "src": "17052:9:0", + "referencedDeclaration": 1375, + "src": "16922:9:0", "typeDescriptions": { "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", "typeString": "function () pure returns (bytes32)" } }, - "id": 968, + "id": 952, "isConstant": false, "isLValue": false, "isPure": false, @@ -13391,33 +13181,33 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17052:435:0", + "src": "16922:435:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "nodeType": "VariableDeclarationStatement", - "src": "17035:452:0" + "src": "16905:452:0" }, { "body": { - "id": 1030, + "id": 1014, "nodeType": "Block", - "src": "17537:543:0", + "src": "17407:543:0", "statements": [ { "assignments": [ - 982 + 966 ], "declarations": [ { "constant": false, - "id": 982, + "id": 966, "name": "recovered", "nodeType": "VariableDeclaration", - "scope": 1035, - "src": "17552:17:0", + "scope": 1019, + "src": "17422:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -13425,10 +13215,10 @@ "typeString": "address" }, "typeName": { - "id": 981, + "id": 965, "name": "address", "nodeType": "ElementaryTypeName", - "src": "17552:7:0", + "src": "17422:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -13438,18 +13228,18 @@ "visibility": "internal" } ], - "id": 995, + "id": 979, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 984, + "id": 968, "name": "txHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 945, - "src": "17599:6:0", + "referencedDeclaration": 929, + "src": "17469:6:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -13459,26 +13249,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 985, + "id": 969, "name": "sigV", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 907, - "src": "17623:4:0", + "referencedDeclaration": 891, + "src": "17493:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr", "typeString": "uint8[] memory" } }, - "id": 987, + "id": 971, "indexExpression": { "argumentTypes": null, - "id": 986, + "id": 970, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 971, - "src": "17628:1:0", + "referencedDeclaration": 955, + "src": "17498:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13489,7 +13279,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17623:7:0", + "src": "17493:7:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -13499,26 +13289,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 988, + "id": 972, "name": "sigR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 910, - "src": "17648:4:0", + "referencedDeclaration": 894, + "src": "17518:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" } }, - "id": 990, + "id": 974, "indexExpression": { "argumentTypes": null, - "id": 989, + "id": 973, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 971, - "src": "17653:1:0", + "referencedDeclaration": 955, + "src": "17523:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13529,7 +13319,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17648:7:0", + "src": "17518:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -13539,26 +13329,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 991, + "id": 975, "name": "sigS", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 913, - "src": "17673:4:0", + "referencedDeclaration": 897, + "src": "17543:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" } }, - "id": 993, + "id": 977, "indexExpression": { "argumentTypes": null, - "id": 992, + "id": 976, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 971, - "src": "17678:1:0", + "referencedDeclaration": 955, + "src": "17548:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13569,7 +13359,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17673:7:0", + "src": "17543:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -13595,18 +13385,18 @@ "typeString": "bytes32" } ], - "id": 983, + "id": 967, "name": "ecrecover", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1389, - "src": "17572:9:0", + "referencedDeclaration": 1373, + "src": "17442:9:0", "typeDescriptions": { "typeIdentifier": "t_function_ecrecover_pure$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$_t_address_$", "typeString": "function (bytes32,uint8,bytes32,bytes32) pure returns (address)" } }, - "id": 994, + "id": 978, "isConstant": false, "isLValue": false, "isPure": false, @@ -13614,14 +13404,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17572:122:0", + "src": "17442:122:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "VariableDeclarationStatement", - "src": "17552:142:0" + "src": "17422:142:0" }, { "expression": { @@ -13635,26 +13425,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 997, + "id": 981, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "17734:12:0", + "src": "17604:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 999, + "id": 983, "indexExpression": { "argumentTypes": null, - "id": 998, + "id": 982, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 915, - "src": "17747:10:0", + "referencedDeclaration": 899, + "src": "17617:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -13665,13 +13455,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17734:24:0", + "src": "17604:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 1000, + "id": 984, "isConstant": false, "isLValue": true, "isPure": false, @@ -13679,21 +13469,21 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "17734:32:0", + "src": "17604:32:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 1002, + "id": 986, "indexExpression": { "argumentTypes": null, - "id": 1001, + "id": 985, "name": "recovered", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 982, - "src": "17767:9:0", + "referencedDeclaration": 966, + "src": "17637:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -13704,7 +13494,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17734:43:0", + "src": "17604:43:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -13713,14 +13503,14 @@ { "argumentTypes": null, "hexValue": "496e76616c6964207369676e6174757265", - "id": 1003, + "id": 987, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "17796:19:0", + "src": "17666:19:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_4f2d7dfcb27c0aafa13ae8c400de482c7832204d194018b6e45bd2bf244c74e7", @@ -13740,21 +13530,21 @@ "typeString": "literal_string \"Invalid signature\"" } ], - "id": 996, + "id": 980, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1400, - 1401 + 1384, + 1385 ], - "referencedDeclaration": 1401, - "src": "17709:7:0", + "referencedDeclaration": 1385, + "src": "17579:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 1004, + "id": 988, "isConstant": false, "isLValue": false, "isPure": false, @@ -13762,15 +13552,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17709:120:0", + "src": "17579:120:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1005, + "id": 989, "nodeType": "ExpressionStatement", - "src": "17709:120:0" + "src": "17579:120:0" }, { "expression": { @@ -13778,7 +13568,7 @@ "arguments": [ { "argumentTypes": null, - "id": 1013, + "id": 997, "isConstant": false, "isLValue": false, "isPure": false, @@ -13786,7 +13576,7 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "17868:42:0", + "src": "17738:42:0", "subExpression": { "argumentTypes": null, "baseExpression": { @@ -13795,26 +13585,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1007, + "id": 991, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "17869:12:0", + "src": "17739:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 1009, + "id": 993, "indexExpression": { "argumentTypes": null, - "id": 1008, + "id": 992, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 915, - "src": "17882:10:0", + "referencedDeclaration": 899, + "src": "17752:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -13825,13 +13615,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17869:24:0", + "src": "17739:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 1010, + "id": 994, "isConstant": false, "isLValue": true, "isPure": false, @@ -13839,21 +13629,21 @@ "memberName": "voted", "nodeType": "MemberAccess", "referencedDeclaration": 66, - "src": "17869:30:0", + "src": "17739:30:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 1012, + "id": 996, "indexExpression": { "argumentTypes": null, - "id": 1011, + "id": 995, "name": "recovered", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 982, - "src": "17900:9:0", + "referencedDeclaration": 966, + "src": "17770:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -13864,7 +13654,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17869:41:0", + "src": "17739:41:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -13878,14 +13668,14 @@ { "argumentTypes": null, "hexValue": "53616d65207369676e61747572652073656e74207477696365", - "id": 1014, + "id": 998, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "17929:27:0", + "src": "17799:27:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_fb2c7e49d5ec7ce36fa812cf15ee7fa946942f931d04fe3ae970516007b2a543", @@ -13905,21 +13695,21 @@ "typeString": "literal_string \"Same signature sent twice\"" } ], - "id": 1006, + "id": 990, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1400, - 1401 + 1384, + 1385 ], - "referencedDeclaration": 1401, - "src": "17843:7:0", + "referencedDeclaration": 1385, + "src": "17713:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 1015, + "id": 999, "isConstant": false, "isLValue": false, "isPure": false, @@ -13927,20 +13717,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17843:127:0", + "src": "17713:127:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1016, + "id": 1000, "nodeType": "ExpressionStatement", - "src": "17843:127:0" + "src": "17713:127:0" }, { "expression": { "argumentTypes": null, - "id": 1024, + "id": 1008, "isConstant": false, "isLValue": false, "isPure": false, @@ -13953,26 +13743,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1017, + "id": 1001, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "17984:12:0", + "src": "17854:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 1019, + "id": 1003, "indexExpression": { "argumentTypes": null, - "id": 1018, + "id": 1002, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 915, - "src": "17997:10:0", + "referencedDeclaration": 899, + "src": "17867:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -13983,13 +13773,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17984:24:0", + "src": "17854:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 1020, + "id": 1004, "isConstant": false, "isLValue": true, "isPure": false, @@ -13997,21 +13787,21 @@ "memberName": "voted", "nodeType": "MemberAccess", "referencedDeclaration": 66, - "src": "17984:30:0", + "src": "17854:30:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 1022, + "id": 1006, "indexExpression": { "argumentTypes": null, - "id": 1021, + "id": 1005, "name": "recovered", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 982, - "src": "18015:9:0", + "referencedDeclaration": 966, + "src": "17885:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -14022,7 +13812,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "17984:41:0", + "src": "17854:41:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -14033,14 +13823,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "74727565", - "id": 1023, + "id": 1007, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "18028:4:0", + "src": "17898:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -14048,32 +13838,32 @@ }, "value": "true" }, - "src": "17984:48:0", + "src": "17854:48:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 1025, + "id": 1009, "nodeType": "ExpressionStatement", - "src": "17984:48:0" + "src": "17854:48:0" }, { "expression": { "argumentTypes": null, - "id": 1028, + "id": 1012, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 1026, + "id": 1010, "name": "lastAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 942, - "src": "18046:11:0", + "referencedDeclaration": 926, + "src": "17916:11:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -14083,26 +13873,26 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 1027, + "id": 1011, "name": "recovered", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 982, - "src": "18060:9:0", + "referencedDeclaration": 966, + "src": "17930:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "18046:23:0", + "src": "17916:23:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 1029, + "id": 1013, "nodeType": "ExpressionStatement", - "src": "18046:23:0" + "src": "17916:23:0" } ] }, @@ -14112,19 +13902,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 977, + "id": 961, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 974, + "id": 958, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 971, - "src": "17515:1:0", + "referencedDeclaration": 955, + "src": "17385:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14136,18 +13926,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 975, + "id": 959, "name": "sigR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 910, - "src": "17519:4:0", + "referencedDeclaration": 894, + "src": "17389:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" } }, - "id": 976, + "id": 960, "isConstant": false, "isLValue": false, "isPure": false, @@ -14155,31 +13945,31 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "17519:11:0", + "src": "17389:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "17515:15:0", + "src": "17385:15:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 1031, + "id": 1015, "initializationExpression": { "assignments": [ - 971 + 955 ], "declarations": [ { "constant": false, - "id": 971, + "id": 955, "name": "i", "nodeType": "VariableDeclaration", - "scope": 1035, - "src": "17503:6:0", + "scope": 1019, + "src": "17373:6:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14187,10 +13977,10 @@ "typeString": "uint256" }, "typeName": { - "id": 970, + "id": 954, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "17503:4:0", + "src": "17373:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14200,18 +13990,18 @@ "visibility": "internal" } ], - "id": 973, + "id": 957, "initialValue": { "argumentTypes": null, "hexValue": "30", - "id": 972, + "id": 956, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "17512:1:0", + "src": "17382:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -14220,12 +14010,12 @@ "value": "0" }, "nodeType": "VariableDeclarationStatement", - "src": "17503:10:0" + "src": "17373:10:0" }, "loopExpression": { "expression": { "argumentTypes": null, - "id": 979, + "id": 963, "isConstant": false, "isLValue": false, "isPure": false, @@ -14233,15 +14023,15 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "17532:3:0", + "src": "17402:3:0", "subExpression": { "argumentTypes": null, - "id": 978, + "id": 962, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 971, - "src": "17532:1:0", + "referencedDeclaration": 955, + "src": "17402:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14252,36 +14042,36 @@ "typeString": "uint256" } }, - "id": 980, + "id": 964, "nodeType": "ExpressionStatement", - "src": "17532:3:0" + "src": "17402:3:0" }, "nodeType": "ForStatement", - "src": "17498:582:0" + "src": "17368:582:0" }, { "expression": { "argumentTypes": null, - "id": 1032, + "id": 1016, "name": "lastAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 942, - "src": "18097:11:0", + "referencedDeclaration": 926, + "src": "17967:11:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "functionReturnParameters": 925, - "id": 1033, + "functionReturnParameters": 909, + "id": 1017, "nodeType": "Return", - "src": "18090:18:0" + "src": "17960:18:0" } ] }, "documentation": null, - "id": 1035, + "id": 1019, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -14289,16 +14079,16 @@ "name": "_verifySignatures", "nodeType": "FunctionDefinition", "parameters": { - "id": 922, + "id": 906, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 907, + "id": 891, "name": "sigV", "nodeType": "VariableDeclaration", - "scope": 1035, - "src": "16570:12:0", + "scope": 1019, + "src": "16440:12:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14307,19 +14097,19 @@ }, "typeName": { "baseType": { - "id": 905, + "id": 889, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "16570:5:0", + "src": "16440:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, - "id": 906, + "id": 890, "length": null, "nodeType": "ArrayTypeName", - "src": "16570:7:0", + "src": "16440:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_storage_ptr", "typeString": "uint8[]" @@ -14330,11 +14120,11 @@ }, { "constant": false, - "id": 910, + "id": 894, "name": "sigR", "nodeType": "VariableDeclaration", - "scope": 1035, - "src": "16592:14:0", + "scope": 1019, + "src": "16462:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14343,19 +14133,19 @@ }, "typeName": { "baseType": { - "id": 908, + "id": 892, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "16592:7:0", + "src": "16462:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "id": 909, + "id": 893, "length": null, "nodeType": "ArrayTypeName", - "src": "16592:9:0", + "src": "16462:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -14366,11 +14156,11 @@ }, { "constant": false, - "id": 913, + "id": 897, "name": "sigS", "nodeType": "VariableDeclaration", - "scope": 1035, - "src": "16616:14:0", + "scope": 1019, + "src": "16486:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14379,19 +14169,19 @@ }, "typeName": { "baseType": { - "id": 911, + "id": 895, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "16616:7:0", + "src": "16486:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "id": 912, + "id": 896, "length": null, "nodeType": "ArrayTypeName", - "src": "16616:9:0", + "src": "16486:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -14402,11 +14192,11 @@ }, { "constant": false, - "id": 915, + "id": 899, "name": "scriptHash", "nodeType": "VariableDeclaration", - "scope": 1035, - "src": "16640:18:0", + "scope": 1019, + "src": "16510:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14414,10 +14204,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 914, + "id": 898, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "16640:7:0", + "src": "16510:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -14428,11 +14218,11 @@ }, { "constant": false, - "id": 918, + "id": 902, "name": "destinations", "nodeType": "VariableDeclaration", - "scope": 1035, - "src": "16668:22:0", + "scope": 1019, + "src": "16538:22:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14441,19 +14231,19 @@ }, "typeName": { "baseType": { - "id": 916, + "id": 900, "name": "address", "nodeType": "ElementaryTypeName", - "src": "16668:7:0", + "src": "16538:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 917, + "id": 901, "length": null, "nodeType": "ArrayTypeName", - "src": "16668:9:0", + "src": "16538:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", "typeString": "address[]" @@ -14464,11 +14254,11 @@ }, { "constant": false, - "id": 921, + "id": 905, "name": "amounts", "nodeType": "VariableDeclaration", - "scope": 1035, - "src": "16700:16:0", + "scope": 1019, + "src": "16570:16:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14477,19 +14267,19 @@ }, "typeName": { "baseType": { - "id": 919, + "id": 903, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "16700:7:0", + "src": "16570:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 920, + "id": 904, "length": null, "nodeType": "ArrayTypeName", - "src": "16700:9:0", + "src": "16570:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -14499,20 +14289,20 @@ "visibility": "internal" } ], - "src": "16560:162:0" + "src": "16430:162:0" }, "payable": false, "returnParameters": { - "id": 925, + "id": 909, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 924, + "id": 908, "name": "", "nodeType": "VariableDeclaration", - "scope": 1035, - "src": "16756:7:0", + "scope": 1019, + "src": "16626:7:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14520,10 +14310,10 @@ "typeString": "address" }, "typeName": { - "id": 923, + "id": 907, "name": "address", "nodeType": "ElementaryTypeName", - "src": "16756:7:0", + "src": "16626:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -14533,32 +14323,32 @@ "visibility": "internal" } ], - "src": "16755:9:0" + "src": "16625:9:0" }, - "scope": 1224, - "src": "16534:1581:0", + "scope": 1208, + "src": "16404:1581:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "private" }, { "body": { - "id": 1066, + "id": 1050, "nodeType": "Block", - "src": "18270:168:0", + "src": "18140:168:0", "statements": [ { "assignments": [ - 1045 + 1029 ], "declarations": [ { "constant": false, - "id": 1045, + "id": 1029, "name": "timeSince", "nodeType": "VariableDeclaration", - "scope": 1067, - "src": "18280:17:0", + "scope": 1051, + "src": "18150:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14566,10 +14356,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1044, + "id": 1028, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "18280:7:0", + "src": "18150:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14579,18 +14369,18 @@ "visibility": "internal" } ], - "id": 1050, + "id": 1034, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 1048, + "id": 1032, "name": "lastModified", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1039, - "src": "18308:12:0", + "referencedDeclaration": 1023, + "src": "18178:12:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14606,32 +14396,32 @@ ], "expression": { "argumentTypes": null, - "id": 1046, + "id": 1030, "name": "now", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1399, - "src": "18300:3:0", + "referencedDeclaration": 1383, + "src": "18170:3:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1047, + "id": 1031, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sub", "nodeType": "MemberAccess", - "referencedDeclaration": 1337, - "src": "18300:7:0", + "referencedDeclaration": 1321, + "src": "18170:7:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 1049, + "id": 1033, "isConstant": false, "isLValue": false, "isPure": false, @@ -14639,14 +14429,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18300:21:0", + "src": "18170:21:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "18280:41:0" + "src": "18150:41:0" }, { "expression": { @@ -14660,19 +14450,19 @@ "typeIdentifier": "t_uint32", "typeString": "uint32" }, - "id": 1053, + "id": 1037, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1051, + "id": 1035, "name": "timeoutHours", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1037, - "src": "18352:12:0", + "referencedDeclaration": 1021, + "src": "18222:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -14683,14 +14473,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 1052, + "id": 1036, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "18368:1:0", + "src": "18238:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -14698,7 +14488,7 @@ }, "value": "0" }, - "src": "18352:17:0", + "src": "18222:17:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -14710,19 +14500,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1062, + "id": 1046, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1055, + "id": 1039, "name": "timeSince", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1045, - "src": "18378:9:0", + "referencedDeclaration": 1029, + "src": "18248:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14736,14 +14526,14 @@ { "argumentTypes": null, "hexValue": "33363030", - "id": 1060, + "id": 1044, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "18416:4:0", + "src": "18286:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_3600_by_1", @@ -14764,12 +14554,12 @@ "arguments": [ { "argumentTypes": null, - "id": 1057, + "id": 1041, "name": "timeoutHours", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1037, - "src": "18398:12:0", + "referencedDeclaration": 1021, + "src": "18268:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -14783,20 +14573,20 @@ "typeString": "uint32" } ], - "id": 1056, + "id": 1040, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "18390:7:0", + "src": "18260:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint256_$", "typeString": "type(uint256)" }, "typeName": "uint256" }, - "id": 1058, + "id": 1042, "isConstant": false, "isLValue": false, "isPure": false, @@ -14804,27 +14594,27 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18390:21:0", + "src": "18260:21:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1059, + "id": 1043, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "mul", "nodeType": "MemberAccess", - "referencedDeclaration": 1289, - "src": "18390:25:0", + "referencedDeclaration": 1273, + "src": "18260:25:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 1061, + "id": 1045, "isConstant": false, "isLValue": false, "isPure": false, @@ -14832,36 +14622,36 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18390:31:0", + "src": "18260:31:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "18378:43:0", + "src": "18248:43:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 1063, + "id": 1047, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "Conditional", - "src": "18352:69:0", + "src": "18222:69:0", "trueExpression": { "argumentTypes": null, "hexValue": "66616c7365", - "id": 1054, + "id": 1038, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "18372:5:0", + "src": "18242:5:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -14875,28 +14665,28 @@ } } ], - "id": 1064, + "id": 1048, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "18338:93:0", + "src": "18208:93:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "functionReturnParameters": 1043, - "id": 1065, + "functionReturnParameters": 1027, + "id": 1049, "nodeType": "Return", - "src": "18331:100:0" + "src": "18201:100:0" } ] }, "documentation": null, - "id": 1067, + "id": 1051, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -14904,16 +14694,16 @@ "name": "_isTimeLockExpired", "nodeType": "FunctionDefinition", "parameters": { - "id": 1040, + "id": 1024, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1037, + "id": 1021, "name": "timeoutHours", "nodeType": "VariableDeclaration", - "scope": 1067, - "src": "18158:19:0", + "scope": 1051, + "src": "18028:19:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14921,10 +14711,10 @@ "typeString": "uint32" }, "typeName": { - "id": 1036, + "id": 1020, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "18158:6:0", + "src": "18028:6:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -14935,11 +14725,11 @@ }, { "constant": false, - "id": 1039, + "id": 1023, "name": "lastModified", "nodeType": "VariableDeclaration", - "scope": 1067, - "src": "18187:20:0", + "scope": 1051, + "src": "18057:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14947,10 +14737,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1038, + "id": 1022, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "18187:7:0", + "src": "18057:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14960,20 +14750,20 @@ "visibility": "internal" } ], - "src": "18148:65:0" + "src": "18018:65:0" }, "payable": false, "returnParameters": { - "id": 1043, + "id": 1027, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1042, + "id": 1026, "name": "", "nodeType": "VariableDeclaration", - "scope": 1067, - "src": "18260:4:0", + "scope": 1051, + "src": "18130:4:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14981,10 +14771,10 @@ "typeString": "bool" }, "typeName": { - "id": 1041, + "id": 1025, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "18260:4:0", + "src": "18130:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -14994,19 +14784,19 @@ "visibility": "internal" } ], - "src": "18259:6:0" + "src": "18129:6:0" }, - "scope": 1224, - "src": "18121:317:0", + "scope": 1208, + "src": "17991:317:0", "stateMutability": "view", "superFunction": null, "visibility": "private" }, { "body": { - "id": 1222, + "id": 1206, "nodeType": "Block", - "src": "18852:2314:0", + "src": "18722:2314:0", "statements": [ { "expression": { @@ -15018,19 +14808,19 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 1093, + "id": 1077, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1091, + "id": 1075, "name": "buyer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1069, - "src": "18878:5:0", + "referencedDeclaration": 1053, + "src": "18748:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15040,18 +14830,18 @@ "operator": "!=", "rightExpression": { "argumentTypes": null, - "id": 1092, + "id": 1076, "name": "seller", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1071, - "src": "18887:6:0", + "referencedDeclaration": 1055, + "src": "18757:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "18878:15:0", + "src": "18748:15:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -15060,14 +14850,14 @@ { "argumentTypes": null, "hexValue": "427579657220616e642073656c6c6572206172652073616d65", - "id": 1094, + "id": 1078, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "18895:27:0", + "src": "18765:27:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_6141441751234d42e9a73d96317794195c7ff57b8f16ac15725a10f10763f824", @@ -15087,21 +14877,21 @@ "typeString": "literal_string \"Buyer and seller are same\"" } ], - "id": 1090, + "id": 1074, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1400, - 1401 + 1384, + 1385 ], - "referencedDeclaration": 1401, - "src": "18870:7:0", + "referencedDeclaration": 1385, + "src": "18740:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 1095, + "id": 1079, "isConstant": false, "isLValue": false, "isPure": false, @@ -15109,15 +14899,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18870:53:0", + "src": "18740:53:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1096, + "id": 1080, "nodeType": "ExpressionStatement", - "src": "18870:53:0" + "src": "18740:53:0" }, { "expression": { @@ -15129,19 +14919,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1100, + "id": 1084, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1098, + "id": 1082, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1081, - "src": "18990:5:0", + "referencedDeclaration": 1065, + "src": "18860:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -15152,14 +14942,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 1099, + "id": 1083, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "18998:1:0", + "src": "18868:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -15167,7 +14957,7 @@ }, "value": "0" }, - "src": "18990:9:0", + "src": "18860:9:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -15176,14 +14966,14 @@ { "argumentTypes": null, "hexValue": "56616c7565207061737365642069732030", - "id": 1101, + "id": 1085, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "19001:19:0", + "src": "18871:19:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_3686f87c4804517ea83323ccf1a3b5b5ff52ed144b19e6fc56abe8fcd182e747", @@ -15203,21 +14993,21 @@ "typeString": "literal_string \"Value passed is 0\"" } ], - "id": 1097, + "id": 1081, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1400, - 1401 + 1384, + 1385 ], - "referencedDeclaration": 1401, - "src": "18982:7:0", + "referencedDeclaration": 1385, + "src": "18852:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 1102, + "id": 1086, "isConstant": false, "isLValue": false, "isPure": false, @@ -15225,15 +15015,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18982:39:0", + "src": "18852:39:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1103, + "id": 1087, "nodeType": "ExpressionStatement", - "src": "18982:39:0" + "src": "18852:39:0" }, { "expression": { @@ -15245,7 +15035,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 1111, + "id": 1095, "isConstant": false, "isLValue": false, "isPure": false, @@ -15256,19 +15046,19 @@ "typeIdentifier": "t_uint8", "typeString": "uint8" }, - "id": 1107, + "id": 1091, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1105, + "id": 1089, "name": "threshold", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1075, - "src": "19124:9:0", + "referencedDeclaration": 1059, + "src": "18994:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -15279,14 +15069,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 1106, + "id": 1090, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "19136:1:0", + "src": "19006:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -15294,7 +15084,7 @@ }, "value": "0" }, - "src": "19124:13:0", + "src": "18994:13:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -15308,19 +15098,19 @@ "typeIdentifier": "t_uint8", "typeString": "uint8" }, - "id": 1110, + "id": 1094, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1108, + "id": 1092, "name": "threshold", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1075, - "src": "19141:9:0", + "referencedDeclaration": 1059, + "src": "19011:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -15331,14 +15121,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "33", - "id": 1109, + "id": 1093, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "19154:1:0", + "src": "19024:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_3_by_1", @@ -15346,13 +15136,13 @@ }, "value": "3" }, - "src": "19141:14:0", + "src": "19011:14:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "19124:31:0", + "src": "18994:31:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -15361,14 +15151,14 @@ { "argumentTypes": null, "hexValue": "5468726573686f6c642063616e6e6f742062652067726561746572207468616e203320616e64206d7573742062652067726561746572207468616e2030", - "id": 1112, + "id": 1096, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "19170:63:0", + "src": "19040:63:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_351c1d5dfdc4a2b4c61d6f4dbb41a0d2ae70a9c094d3c0add87af24b5dd19c13", @@ -15388,21 +15178,21 @@ "typeString": "literal_string \"Threshold cannot be greater than 3 and must be greater than 0\"" } ], - "id": 1104, + "id": 1088, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1400, - 1401 + 1384, + 1385 ], - "referencedDeclaration": 1401, - "src": "19103:7:0", + "referencedDeclaration": 1385, + "src": "18973:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 1113, + "id": 1097, "isConstant": false, "isLValue": false, "isPure": false, @@ -15410,15 +15200,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "19103:140:0", + "src": "18973:140:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1114, + "id": 1098, "nodeType": "ExpressionStatement", - "src": "19103:140:0" + "src": "18973:140:0" }, { "expression": { @@ -15430,7 +15220,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 1124, + "id": 1108, "isConstant": false, "isLValue": false, "isPure": false, @@ -15441,19 +15231,19 @@ "typeIdentifier": "t_uint8", "typeString": "uint8" }, - "id": 1118, + "id": 1102, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1116, + "id": 1100, "name": "threshold", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1075, - "src": "19524:9:0", + "referencedDeclaration": 1059, + "src": "19394:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -15464,14 +15254,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "31", - "id": 1117, + "id": 1101, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "19537:1:0", + "src": "19407:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -15479,7 +15269,7 @@ }, "value": "1" }, - "src": "19524:14:0", + "src": "19394:14:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -15493,19 +15283,19 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 1123, + "id": 1107, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1119, + "id": 1103, "name": "moderator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1073, - "src": "19542:9:0", + "referencedDeclaration": 1057, + "src": "19412:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15519,14 +15309,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 1121, + "id": 1105, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "19563:1:0", + "src": "19433:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -15542,20 +15332,20 @@ "typeString": "int_const 0" } ], - "id": 1120, + "id": 1104, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "19555:7:0", + "src": "19425:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, - "id": 1122, + "id": 1106, "isConstant": false, "isLValue": false, "isPure": true, @@ -15563,19 +15353,19 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "19555:10:0", + "src": "19425:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "19542:23:0", + "src": "19412:23:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "19524:41:0", + "src": "19394:41:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -15584,14 +15374,14 @@ { "argumentTypes": null, "hexValue": "456974686572207468726573686f6c642073686f756c642062652031206f722076616c6964206d6f64657261746f7220616464726573732073686f756c6420626520706173736564", - "id": 1125, + "id": 1109, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "19579:74:0", + "src": "19449:74:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_2056db168725d2fabb8aaf14efad7a3fc12ef6bc7132f0596ea09b041b71cb25", @@ -15611,21 +15401,21 @@ "typeString": "literal_string \"Either threshold should be 1 or valid moderator address should be passed\"" } ], - "id": 1115, + "id": 1099, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1400, - 1401 + 1384, + 1385 ], - "referencedDeclaration": 1401, - "src": "19503:7:0", + "referencedDeclaration": 1385, + "src": "19373:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 1126, + "id": 1110, "isConstant": false, "isLValue": false, "isPure": false, @@ -15633,15 +15423,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "19503:160:0", + "src": "19373:160:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1127, + "id": 1111, "nodeType": "ExpressionStatement", - "src": "19503:160:0" + "src": "19373:160:0" }, { "expression": { @@ -15653,19 +15443,19 @@ "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, - "id": 1139, + "id": 1123, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1129, + "id": 1113, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1079, - "src": "19695:10:0", + "referencedDeclaration": 1063, + "src": "19565:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -15678,12 +15468,12 @@ "arguments": [ { "argumentTypes": null, - "id": 1131, + "id": 1115, "name": "uniqueId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1083, - "src": "19752:8:0", + "referencedDeclaration": 1067, + "src": "19622:8:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -15691,12 +15481,12 @@ }, { "argumentTypes": null, - "id": 1132, + "id": 1116, "name": "threshold", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1075, - "src": "19778:9:0", + "referencedDeclaration": 1059, + "src": "19648:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -15704,12 +15494,12 @@ }, { "argumentTypes": null, - "id": 1133, + "id": 1117, "name": "timeoutHours", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1077, - "src": "19805:12:0", + "referencedDeclaration": 1061, + "src": "19675:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -15717,12 +15507,12 @@ }, { "argumentTypes": null, - "id": 1134, + "id": 1118, "name": "buyer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1069, - "src": "19835:5:0", + "referencedDeclaration": 1053, + "src": "19705:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15730,12 +15520,12 @@ }, { "argumentTypes": null, - "id": 1135, + "id": 1119, "name": "seller", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1071, - "src": "19858:6:0", + "referencedDeclaration": 1055, + "src": "19728:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15743,12 +15533,12 @@ }, { "argumentTypes": null, - "id": 1136, + "id": 1120, "name": "moderator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1073, - "src": "19882:9:0", + "referencedDeclaration": 1057, + "src": "19752:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15756,12 +15546,12 @@ }, { "argumentTypes": null, - "id": 1137, + "id": 1121, "name": "tokenAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1087, - "src": "19909:12:0", + "referencedDeclaration": 1071, + "src": "19779:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15799,18 +15589,18 @@ "typeString": "address" } ], - "id": 1130, + "id": 1114, "name": "calculateRedeemScriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 642, - "src": "19709:25:0", + "referencedDeclaration": 626, + "src": "19579:25:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_bytes20_$_t_uint8_$_t_uint32_$_t_address_$_t_address_$_t_address_$_t_address_$returns$_t_bytes32_$", "typeString": "function (bytes20,uint8,uint32,address,address,address,address) view returns (bytes32)" } }, - "id": 1138, + "id": 1122, "isConstant": false, "isLValue": false, "isPure": false, @@ -15818,13 +15608,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "19709:226:0", + "src": "19579:226:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "src": "19695:240:0", + "src": "19565:240:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -15833,14 +15623,14 @@ { "argumentTypes": null, "hexValue": "43616c63756c6174656420736372697074206861736820646f6573206e6f74206d61746368207061737365642073637269707420686173682e", - "id": 1140, + "id": 1124, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "19950:59:0", + "src": "19820:59:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_0c041e0c58e6b0e01d338d852a5abb639065eabeb0aee05e0ce3e5f0e52b4f51", @@ -15860,21 +15650,21 @@ "typeString": "literal_string \"Calculated script hash does not match passed script hash.\"" } ], - "id": 1128, + "id": 1112, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1400, - 1401 + 1384, + 1385 ], - "referencedDeclaration": 1401, - "src": "19674:7:0", + "referencedDeclaration": 1385, + "src": "19544:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 1141, + "id": 1125, "isConstant": false, "isLValue": false, "isPure": false, @@ -15882,20 +15672,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "19674:345:0", + "src": "19544:345:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1142, + "id": 1126, "nodeType": "ExpressionStatement", - "src": "19674:345:0" + "src": "19544:345:0" }, { "expression": { "argumentTypes": null, - "id": 1160, + "id": 1144, "isConstant": false, "isLValue": false, "isPure": false, @@ -15904,26 +15694,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1143, + "id": 1127, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "20030:12:0", + "src": "19900:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 1145, + "id": 1129, "indexExpression": { "argumentTypes": null, - "id": 1144, + "id": 1128, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1079, - "src": "20043:10:0", + "referencedDeclaration": 1063, + "src": "19913:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -15934,7 +15724,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "20030:24:0", + "src": "19900:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -15947,12 +15737,12 @@ "arguments": [ { "argumentTypes": null, - "id": 1147, + "id": 1131, "name": "buyer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1069, - "src": "20090:5:0", + "referencedDeclaration": 1053, + "src": "19960:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15960,12 +15750,12 @@ }, { "argumentTypes": null, - "id": 1148, + "id": 1132, "name": "seller", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1071, - "src": "20117:6:0", + "referencedDeclaration": 1055, + "src": "19987:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15973,12 +15763,12 @@ }, { "argumentTypes": null, - "id": 1149, + "id": 1133, "name": "moderator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1073, - "src": "20148:9:0", + "referencedDeclaration": 1057, + "src": "20018:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15986,12 +15776,12 @@ }, { "argumentTypes": null, - "id": 1150, + "id": 1134, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1081, - "src": "20178:5:0", + "referencedDeclaration": 1065, + "src": "20048:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -16001,18 +15791,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1151, + "id": 1135, "name": "Status", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9, - "src": "20205:6:0", + "src": "20075:6:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_Status_$9_$", "typeString": "type(enum Escrow_v1_0.Status)" } }, - "id": 1152, + "id": 1136, "isConstant": false, "isLValue": false, "isPure": true, @@ -16020,7 +15810,7 @@ "memberName": "FUNDED", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "20205:13:0", + "src": "20075:13:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$9", "typeString": "enum Escrow_v1_0.Status" @@ -16030,18 +15820,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1153, + "id": 1137, "name": "block", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1387, - "src": "20246:5:0", + "referencedDeclaration": 1371, + "src": "20116:5:0", "typeDescriptions": { "typeIdentifier": "t_magic_block", "typeString": "block" } }, - "id": 1154, + "id": 1138, "isConstant": false, "isLValue": false, "isPure": false, @@ -16049,7 +15839,7 @@ "memberName": "timestamp", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "20246:15:0", + "src": "20116:15:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -16057,12 +15847,12 @@ }, { "argumentTypes": null, - "id": 1155, + "id": 1139, "name": "threshold", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1075, - "src": "20286:9:0", + "referencedDeclaration": 1059, + "src": "20156:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -16070,12 +15860,12 @@ }, { "argumentTypes": null, - "id": 1156, + "id": 1140, "name": "timeoutHours", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1077, - "src": "20323:12:0", + "referencedDeclaration": 1061, + "src": "20193:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -16083,12 +15873,12 @@ }, { "argumentTypes": null, - "id": 1157, + "id": 1141, "name": "transactionType", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1085, - "src": "20365:15:0", + "referencedDeclaration": 1069, + "src": "20235:15:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -16096,12 +15886,12 @@ }, { "argumentTypes": null, - "id": 1158, + "id": 1142, "name": "tokenAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1087, - "src": "20407:12:0", + "referencedDeclaration": 1071, + "src": "20277:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -16110,18 +15900,18 @@ ], "expression": { "argumentTypes": null, - "id": 1146, + "id": 1130, "name": "Transaction", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 71, - "src": "20057:11:0", + "src": "19927:11:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_struct$_Transaction_$71_storage_ptr_$", "typeString": "type(struct Escrow_v1_0.Transaction storage pointer)" } }, - "id": 1159, + "id": 1143, "isConstant": false, "isLValue": false, "isPure": false, @@ -16140,26 +15930,26 @@ "tokenAddress" ], "nodeType": "FunctionCall", - "src": "20057:373:0", + "src": "19927:373:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_memory", "typeString": "struct Escrow_v1_0.Transaction memory" } }, - "src": "20030:400:0", + "src": "19900:400:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 1161, + "id": 1145, "nodeType": "ExpressionStatement", - "src": "20030:400:0" + "src": "19900:400:0" }, { "expression": { "argumentTypes": null, - "id": 1169, + "id": 1153, "isConstant": false, "isLValue": false, "isPure": false, @@ -16172,26 +15962,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1162, + "id": 1146, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "20441:12:0", + "src": "20311:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 1164, + "id": 1148, "indexExpression": { "argumentTypes": null, - "id": 1163, + "id": 1147, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1079, - "src": "20454:10:0", + "referencedDeclaration": 1063, + "src": "20324:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -16202,13 +15992,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20441:24:0", + "src": "20311:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 1165, + "id": 1149, "isConstant": false, "isLValue": true, "isPure": false, @@ -16216,21 +16006,21 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "20441:32:0", + "src": "20311:32:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 1167, + "id": 1151, "indexExpression": { "argumentTypes": null, - "id": 1166, + "id": 1150, "name": "seller", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1071, - "src": "20474:6:0", + "referencedDeclaration": 1055, + "src": "20344:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -16241,7 +16031,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "20441:40:0", + "src": "20311:40:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -16252,14 +16042,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "74727565", - "id": 1168, + "id": 1152, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "20484:4:0", + "src": "20354:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -16267,20 +16057,20 @@ }, "value": "true" }, - "src": "20441:47:0", + "src": "20311:47:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 1170, + "id": 1154, "nodeType": "ExpressionStatement", - "src": "20441:47:0" + "src": "20311:47:0" }, { "expression": { "argumentTypes": null, - "id": 1178, + "id": 1162, "isConstant": false, "isLValue": false, "isPure": false, @@ -16293,26 +16083,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1171, + "id": 1155, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "20498:12:0", + "src": "20368:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 1173, + "id": 1157, "indexExpression": { "argumentTypes": null, - "id": 1172, + "id": 1156, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1079, - "src": "20511:10:0", + "referencedDeclaration": 1063, + "src": "20381:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -16323,13 +16113,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20498:24:0", + "src": "20368:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 1174, + "id": 1158, "isConstant": false, "isLValue": true, "isPure": false, @@ -16337,21 +16127,21 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "20498:32:0", + "src": "20368:32:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 1176, + "id": 1160, "indexExpression": { "argumentTypes": null, - "id": 1175, + "id": 1159, "name": "buyer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1069, - "src": "20531:5:0", + "referencedDeclaration": 1053, + "src": "20401:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -16362,7 +16152,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "20498:39:0", + "src": "20368:39:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -16373,14 +16163,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "74727565", - "id": 1177, + "id": 1161, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "20540:4:0", + "src": "20410:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -16388,15 +16178,15 @@ }, "value": "true" }, - "src": "20498:46:0", + "src": "20368:46:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 1179, + "id": 1163, "nodeType": "ExpressionStatement", - "src": "20498:46:0" + "src": "20368:46:0" }, { "expression": { @@ -16404,7 +16194,7 @@ "arguments": [ { "argumentTypes": null, - "id": 1187, + "id": 1171, "isConstant": false, "isLValue": false, "isPure": false, @@ -16412,7 +16202,7 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "20651:44:0", + "src": "20521:44:0", "subExpression": { "argumentTypes": null, "baseExpression": { @@ -16421,26 +16211,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1181, + "id": 1165, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "20652:12:0", + "src": "20522:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 1183, + "id": 1167, "indexExpression": { "argumentTypes": null, - "id": 1182, + "id": 1166, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1079, - "src": "20665:10:0", + "referencedDeclaration": 1063, + "src": "20535:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -16451,13 +16241,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20652:24:0", + "src": "20522:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 1184, + "id": 1168, "isConstant": false, "isLValue": true, "isPure": false, @@ -16465,21 +16255,21 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "20652:32:0", + "src": "20522:32:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 1186, + "id": 1170, "indexExpression": { "argumentTypes": null, - "id": 1185, + "id": 1169, "name": "moderator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1073, - "src": "20685:9:0", + "referencedDeclaration": 1057, + "src": "20555:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -16490,7 +16280,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20652:43:0", + "src": "20522:43:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -16504,14 +16294,14 @@ { "argumentTypes": null, "hexValue": "456974686572206275796572206f722073656c6c657220697320706173736564206173206d6f64657261746f72", - "id": 1188, + "id": 1172, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "20710:47:0", + "src": "20580:47:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_313b391557427937e7bdb85c7561d47c5b9c985755a448dd33a92026ffb38f8d", @@ -16531,21 +16321,21 @@ "typeString": "literal_string \"Either buyer or seller is passed as moderator\"" } ], - "id": 1180, + "id": 1164, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1400, - 1401 + 1384, + 1385 ], - "referencedDeclaration": 1401, - "src": "20630:7:0", + "referencedDeclaration": 1385, + "src": "20500:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 1189, + "id": 1173, "isConstant": false, "isLValue": false, "isPure": false, @@ -16553,15 +16343,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "20630:137:0", + "src": "20500:137:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1190, + "id": 1174, "nodeType": "ExpressionStatement", - "src": "20630:137:0" + "src": "20500:137:0" }, { "condition": { @@ -16570,19 +16360,19 @@ "typeIdentifier": "t_uint8", "typeString": "uint8" }, - "id": 1193, + "id": 1177, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1191, + "id": 1175, "name": "threshold", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1075, - "src": "20927:9:0", + "referencedDeclaration": 1059, + "src": "20797:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -16593,14 +16383,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "31", - "id": 1192, + "id": 1176, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "20939:1:0", + "src": "20809:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -16608,25 +16398,25 @@ }, "value": "1" }, - "src": "20927:13:0", + "src": "20797:13:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, - "id": 1204, + "id": 1188, "nodeType": "IfStatement", - "src": "20923:94:0", + "src": "20793:94:0", "trueBody": { - "id": 1203, + "id": 1187, "nodeType": "Block", - "src": "20942:75:0", + "src": "20812:75:0", "statements": [ { "expression": { "argumentTypes": null, - "id": 1201, + "id": 1185, "isConstant": false, "isLValue": false, "isPure": false, @@ -16639,26 +16429,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1194, + "id": 1178, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "20956:12:0", + "src": "20826:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 1196, + "id": 1180, "indexExpression": { "argumentTypes": null, - "id": 1195, + "id": 1179, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1079, - "src": "20969:10:0", + "referencedDeclaration": 1063, + "src": "20839:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -16669,13 +16459,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20956:24:0", + "src": "20826:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 1197, + "id": 1181, "isConstant": false, "isLValue": true, "isPure": false, @@ -16683,21 +16473,21 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "20956:32:0", + "src": "20826:32:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 1199, + "id": 1183, "indexExpression": { "argumentTypes": null, - "id": 1198, + "id": 1182, "name": "moderator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1073, - "src": "20989:9:0", + "referencedDeclaration": 1057, + "src": "20859:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -16708,7 +16498,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "20956:43:0", + "src": "20826:43:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -16719,14 +16509,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "74727565", - "id": 1200, + "id": 1184, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "21002:4:0", + "src": "20872:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -16734,15 +16524,15 @@ }, "value": "true" }, - "src": "20956:50:0", + "src": "20826:50:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 1202, + "id": 1186, "nodeType": "ExpressionStatement", - "src": "20956:50:0" + "src": "20826:50:0" } ] } @@ -16750,7 +16540,7 @@ { "expression": { "argumentTypes": null, - "id": 1206, + "id": 1190, "isConstant": false, "isLValue": false, "isPure": false, @@ -16758,15 +16548,15 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "21035:18:0", + "src": "20905:18:0", "subExpression": { "argumentTypes": null, - "id": 1205, + "id": 1189, "name": "transactionCount", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 78, - "src": "21035:16:0", + "src": "20905:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -16777,9 +16567,9 @@ "typeString": "uint256" } }, - "id": 1207, + "id": 1191, "nodeType": "ExpressionStatement", - "src": "21035:18:0" + "src": "20905:18:0" }, { "expression": { @@ -16787,12 +16577,12 @@ "arguments": [ { "argumentTypes": null, - "id": 1212, + "id": 1196, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1079, - "src": "21095:10:0", + "referencedDeclaration": 1063, + "src": "20965:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -16810,26 +16600,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1208, + "id": 1192, "name": "partyVsTransaction", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 83, - "src": "21064:18:0", + "src": "20934:18:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_bytes32_$dyn_storage_$", "typeString": "mapping(address => bytes32[] storage ref)" } }, - "id": 1210, + "id": 1194, "indexExpression": { "argumentTypes": null, - "id": 1209, + "id": 1193, "name": "buyer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1069, - "src": "21083:5:0", + "referencedDeclaration": 1053, + "src": "20953:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -16840,13 +16630,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "21064:25:0", + "src": "20934:25:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage", "typeString": "bytes32[] storage ref" } }, - "id": 1211, + "id": 1195, "isConstant": false, "isLValue": false, "isPure": false, @@ -16854,13 +16644,13 @@ "memberName": "push", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "21064:30:0", + "src": "20934:30:0", "typeDescriptions": { "typeIdentifier": "t_function_arraypush_nonpayable$_t_bytes32_$returns$_t_uint256_$", "typeString": "function (bytes32) returns (uint256)" } }, - "id": 1213, + "id": 1197, "isConstant": false, "isLValue": false, "isPure": false, @@ -16868,15 +16658,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "21064:42:0", + "src": "20934:42:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1214, + "id": 1198, "nodeType": "ExpressionStatement", - "src": "21064:42:0" + "src": "20934:42:0" }, { "expression": { @@ -16884,12 +16674,12 @@ "arguments": [ { "argumentTypes": null, - "id": 1219, + "id": 1203, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1079, - "src": "21148:10:0", + "referencedDeclaration": 1063, + "src": "21018:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -16907,26 +16697,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1215, + "id": 1199, "name": "partyVsTransaction", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 83, - "src": "21116:18:0", + "src": "20986:18:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_bytes32_$dyn_storage_$", "typeString": "mapping(address => bytes32[] storage ref)" } }, - "id": 1217, + "id": 1201, "indexExpression": { "argumentTypes": null, - "id": 1216, + "id": 1200, "name": "seller", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1071, - "src": "21135:6:0", + "referencedDeclaration": 1055, + "src": "21005:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -16937,13 +16727,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "21116:26:0", + "src": "20986:26:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage", "typeString": "bytes32[] storage ref" } }, - "id": 1218, + "id": 1202, "isConstant": false, "isLValue": false, "isPure": false, @@ -16951,13 +16741,13 @@ "memberName": "push", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "21116:31:0", + "src": "20986:31:0", "typeDescriptions": { "typeIdentifier": "t_function_arraypush_nonpayable$_t_bytes32_$returns$_t_uint256_$", "typeString": "function (bytes32) returns (uint256)" } }, - "id": 1220, + "id": 1204, "isConstant": false, "isLValue": false, "isPure": false, @@ -16965,20 +16755,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "21116:43:0", + "src": "20986:43:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1221, + "id": 1205, "nodeType": "ExpressionStatement", - "src": "21116:43:0" + "src": "20986:43:0" } ] }, "documentation": "Private method to add transaction to reduce code redundancy", - "id": 1223, + "id": 1207, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -16986,16 +16776,16 @@ "name": "_addTransaction", "nodeType": "FunctionDefinition", "parameters": { - "id": 1088, + "id": 1072, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1069, + "id": 1053, "name": "buyer", "nodeType": "VariableDeclaration", - "scope": 1223, - "src": "18559:13:0", + "scope": 1207, + "src": "18429:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -17003,10 +16793,10 @@ "typeString": "address" }, "typeName": { - "id": 1068, + "id": 1052, "name": "address", "nodeType": "ElementaryTypeName", - "src": "18559:7:0", + "src": "18429:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -17017,11 +16807,11 @@ }, { "constant": false, - "id": 1071, + "id": 1055, "name": "seller", "nodeType": "VariableDeclaration", - "scope": 1223, - "src": "18582:14:0", + "scope": 1207, + "src": "18452:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -17029,10 +16819,10 @@ "typeString": "address" }, "typeName": { - "id": 1070, + "id": 1054, "name": "address", "nodeType": "ElementaryTypeName", - "src": "18582:7:0", + "src": "18452:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -17043,11 +16833,11 @@ }, { "constant": false, - "id": 1073, + "id": 1057, "name": "moderator", "nodeType": "VariableDeclaration", - "scope": 1223, - "src": "18606:17:0", + "scope": 1207, + "src": "18476:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -17055,10 +16845,10 @@ "typeString": "address" }, "typeName": { - "id": 1072, + "id": 1056, "name": "address", "nodeType": "ElementaryTypeName", - "src": "18606:7:0", + "src": "18476:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -17069,11 +16859,11 @@ }, { "constant": false, - "id": 1075, + "id": 1059, "name": "threshold", "nodeType": "VariableDeclaration", - "scope": 1223, - "src": "18633:15:0", + "scope": 1207, + "src": "18503:15:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -17081,10 +16871,10 @@ "typeString": "uint8" }, "typeName": { - "id": 1074, + "id": 1058, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "18633:5:0", + "src": "18503:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -17095,11 +16885,11 @@ }, { "constant": false, - "id": 1077, + "id": 1061, "name": "timeoutHours", "nodeType": "VariableDeclaration", - "scope": 1223, - "src": "18658:19:0", + "scope": 1207, + "src": "18528:19:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -17107,10 +16897,10 @@ "typeString": "uint32" }, "typeName": { - "id": 1076, + "id": 1060, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "18658:6:0", + "src": "18528:6:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -17121,11 +16911,11 @@ }, { "constant": false, - "id": 1079, + "id": 1063, "name": "scriptHash", "nodeType": "VariableDeclaration", - "scope": 1223, - "src": "18687:18:0", + "scope": 1207, + "src": "18557:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -17133,10 +16923,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 1078, + "id": 1062, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "18687:7:0", + "src": "18557:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -17147,11 +16937,11 @@ }, { "constant": false, - "id": 1081, + "id": 1065, "name": "value", "nodeType": "VariableDeclaration", - "scope": 1223, - "src": "18715:13:0", + "scope": 1207, + "src": "18585:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -17159,10 +16949,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1080, + "id": 1064, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "18715:7:0", + "src": "18585:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -17173,11 +16963,11 @@ }, { "constant": false, - "id": 1083, + "id": 1067, "name": "uniqueId", "nodeType": "VariableDeclaration", - "scope": 1223, - "src": "18738:16:0", + "scope": 1207, + "src": "18608:16:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -17185,10 +16975,10 @@ "typeString": "bytes20" }, "typeName": { - "id": 1082, + "id": 1066, "name": "bytes20", "nodeType": "ElementaryTypeName", - "src": "18738:7:0", + "src": "18608:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -17199,11 +16989,11 @@ }, { "constant": false, - "id": 1085, + "id": 1069, "name": "transactionType", "nodeType": "VariableDeclaration", - "scope": 1223, - "src": "18764:31:0", + "scope": 1207, + "src": "18634:31:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -17212,11 +17002,11 @@ }, "typeName": { "contractScope": null, - "id": 1084, + "id": 1068, "name": "TransactionType", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 12, - "src": "18764:15:0", + "src": "18634:15:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -17227,11 +17017,11 @@ }, { "constant": false, - "id": 1087, + "id": 1071, "name": "tokenAddress", "nodeType": "VariableDeclaration", - "scope": 1223, - "src": "18805:20:0", + "scope": 1207, + "src": "18675:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -17239,10 +17029,10 @@ "typeString": "address" }, "typeName": { - "id": 1086, + "id": 1070, "name": "address", "nodeType": "ElementaryTypeName", - "src": "18805:7:0", + "src": "18675:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -17252,36 +17042,36 @@ "visibility": "internal" } ], - "src": "18549:282:0" + "src": "18419:282:0" }, "payable": false, "returnParameters": { - "id": 1089, + "id": 1073, "nodeType": "ParameterList", "parameters": [], - "src": "18852:0:0" + "src": "18722:0:0" }, - "scope": 1224, - "src": "18525:2641:0", + "scope": 1208, + "src": "18395:2641:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "private" } ], - "scope": 1225, - "src": "605:20563:0" + "scope": 1209, + "src": "605:20433:0" } ], - "src": "0:21169:0" + "src": "0:21039:0" }, "legacyAST": { "absolutePath": "/home/sameep/freelancing-projects/toptal/open baazar/publicRepo/smart-contracts/contracts/escrow/Escrow_v1_0.sol", "exportedSymbols": { "Escrow_v1_0": [ - 1224 + 1208 ] }, - "id": 1225, + "id": 1209, "nodeType": "SourceUnit", "nodes": [ { @@ -17299,8 +17089,8 @@ "file": "openzeppelin-solidity/contracts/math/SafeMath.sol", "id": 2, "nodeType": "ImportDirective", - "scope": 1225, - "sourceUnit": 1383, + "scope": 1209, + "sourceUnit": 1367, "src": "25:59:0", "symbolAliases": [], "unitAlias": "" @@ -17310,8 +17100,8 @@ "file": "../token/ITokenContract.sol", "id": 3, "nodeType": "ImportDirective", - "scope": 1225, - "sourceUnit": 1255, + "scope": 1209, + "sourceUnit": 1239, "src": "86:37:0", "symbolAliases": [], "unitAlias": "" @@ -17322,9 +17112,9 @@ "contractKind": "contract", "documentation": "@dev Supports ERC20 tokens\nThe escrow smart contract for the open bazaar trades in Ethereum\nThe smart contract is designed keeping in mind the current wallet interface of the OB-core\nhttps://github.com/OpenBazaar/wallet-interface/blob/master/wallet.go\nCurrent wallet interface strictly adheres to UTXO(bitcoin) model\nPlease read below mentioned link for detailed specs\nhttps://github.com/OpenBazaar/smart-contracts/blob/master/contracts/escrow/EscrowSpec.md", "fullyImplemented": true, - "id": 1224, + "id": 1208, "linearizedBaseContracts": [ - 1224 + 1208 ], "name": "Escrow_v1_0", "nodeType": "ContractDefinition", @@ -17336,10 +17126,10 @@ "id": 4, "name": "SafeMath", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1382, + "referencedDeclaration": 1366, "src": "639:8:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$1382", + "typeIdentifier": "t_contract$_SafeMath_$1366", "typeString": "library SafeMath" } }, @@ -18112,7 +17902,7 @@ ], "name": "Transaction", "nodeType": "StructDefinition", - "scope": 1224, + "scope": 1208, "src": "1103:599:0", "visibility": "public" }, @@ -18121,7 +17911,7 @@ "id": 75, "name": "transactions", "nodeType": "VariableDeclaration", - "scope": 1224, + "scope": 1208, "src": "1708:51:0", "stateVariable": true, "storageLocation": "default", @@ -18168,7 +17958,7 @@ "id": 78, "name": "transactionCount", "nodeType": "VariableDeclaration", - "scope": 1224, + "scope": 1208, "src": "1766:35:0", "stateVariable": true, "storageLocation": "default", @@ -18211,7 +18001,7 @@ "id": 83, "name": "partyVsTransaction", "nodeType": "VariableDeclaration", - "scope": 1224, + "scope": 1208, "src": "1880:56:0", "stateVariable": true, "storageLocation": "default", @@ -18398,10 +18188,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1400, - 1401 + 1384, + 1385 ], - "referencedDeclaration": 1401, + "referencedDeclaration": 1385, "src": "1999:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -18610,10 +18400,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1400, - 1401 + 1384, + 1385 ], - "referencedDeclaration": 1401, + "referencedDeclaration": 1385, "src": "2182:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -18833,10 +18623,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1400, - 1401 + 1384, + 1385 ], - "referencedDeclaration": 1401, + "referencedDeclaration": 1385, "src": "2324:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -19040,10 +18830,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1400, - 1401 + 1384, + 1385 ], - "referencedDeclaration": 1401, + "referencedDeclaration": 1385, "src": "2523:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -19247,10 +19037,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1400, - 1401 + 1384, + 1385 ], - "referencedDeclaration": 1401, + "referencedDeclaration": 1385, "src": "2726:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -19379,7 +19169,7 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1397, + "referencedDeclaration": 1381, "src": "2945:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", @@ -19498,10 +19288,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1400, - 1401 + 1384, + 1385 ], - "referencedDeclaration": 1401, + "referencedDeclaration": 1385, "src": "2924:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -19669,7 +19459,7 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1397, + "referencedDeclaration": 1381, "src": "4389:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", @@ -19836,7 +19626,7 @@ "name": "_addTransaction", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1223, + "referencedDeclaration": 1207, "src": "4225:15:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_address_$_t_uint8_$_t_uint32_$_t_bytes32_$_t_uint256_$_t_bytes20_$_t_enum$_TransactionType_$12_$_t_address_$returns$__$", @@ -19886,7 +19676,7 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1397, + "referencedDeclaration": 1381, "src": "4532:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", @@ -19915,7 +19705,7 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1397, + "referencedDeclaration": 1381, "src": "4544:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", @@ -20287,7 +20077,7 @@ "parameters": [], "src": "4215:0:0" }, - "scope": 1224, + "scope": 1208, "src": "3861:701:0", "stateMutability": "payable", "superFunction": null, @@ -20497,7 +20287,7 @@ "name": "_addTransaction", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1223, + "referencedDeclaration": 1207, "src": "5954:15:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_address_$_t_uint8_$_t_uint32_$_t_bytes32_$_t_uint256_$_t_bytes20_$_t_enum$_TransactionType_$12_$_t_address_$returns$__$", @@ -20537,7 +20327,7 @@ "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenContract_$1254", + "typeIdentifier": "t_contract$_ITokenContract_$1238", "typeString": "contract ITokenContract" }, "typeName": { @@ -20545,10 +20335,10 @@ "id": 281, "name": "ITokenContract", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1254, + "referencedDeclaration": 1238, "src": "6227:14:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenContract_$1254", + "typeIdentifier": "t_contract$_ITokenContract_$1238", "typeString": "contract ITokenContract" } }, @@ -20585,10 +20375,10 @@ "name": "ITokenContract", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1254, + "referencedDeclaration": 1238, "src": "6250:14:0", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ITokenContract_$1254_$", + "typeIdentifier": "t_type$_t_contract$_ITokenContract_$1238_$", "typeString": "type(contract ITokenContract)" } }, @@ -20602,7 +20392,7 @@ "nodeType": "FunctionCall", "src": "6250:28:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenContract_$1254", + "typeIdentifier": "t_contract$_ITokenContract_$1238", "typeString": "contract ITokenContract" } }, @@ -20624,7 +20414,7 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1397, + "referencedDeclaration": 1381, "src": "6329:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", @@ -20654,10 +20444,10 @@ "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1414, + "referencedDeclaration": 1398, "src": "6349:4:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_Escrow_v1_0_$1224", + "typeIdentifier": "t_contract$_Escrow_v1_0_$1208", "typeString": "contract Escrow_v1_0" } } @@ -20665,7 +20455,7 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_Escrow_v1_0_$1224", + "typeIdentifier": "t_contract$_Escrow_v1_0_$1208", "typeString": "contract Escrow_v1_0" } ], @@ -20734,7 +20524,7 @@ "referencedDeclaration": 282, "src": "6310:5:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenContract_$1254", + "typeIdentifier": "t_contract$_ITokenContract_$1238", "typeString": "contract ITokenContract" } }, @@ -20745,7 +20535,7 @@ "lValueRequested": false, "memberName": "transferFrom", "nodeType": "MemberAccess", - "referencedDeclaration": 1253, + "referencedDeclaration": 1237, "src": "6310:18:0", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", @@ -20800,10 +20590,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1400, - 1401 + 1384, + 1385 ], - "referencedDeclaration": 1401, + "referencedDeclaration": 1385, "src": "6289:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -20853,7 +20643,7 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1397, + "referencedDeclaration": 1381, "src": "6515:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", @@ -21323,7 +21113,7 @@ "parameters": [], "src": "5943:0:0" }, - "scope": 1224, + "scope": 1208, "src": "5510:1030:0", "stateMutability": "nonpayable", "superFunction": null, @@ -21527,7 +21317,7 @@ ], "src": "6916:6:0" }, - "scope": 1224, + "scope": 1208, "src": "6781:221:0", "stateMutability": "view", "superFunction": null, @@ -21731,7 +21521,7 @@ ], "src": "7364:6:0" }, - "scope": 1224, + "scope": 1208, "src": "7242:194:0", "stateMutability": "view", "superFunction": null, @@ -21739,9 +21529,9 @@ }, { "body": { - "id": 399, + "id": 391, "nodeType": "Block", - "src": "8039:303:0", + "src": "8039:238:0", "statements": [ { "expression": { @@ -21766,7 +21556,7 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1397, + "referencedDeclaration": 1381, "src": "8058:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", @@ -21847,10 +21637,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1400, - 1401 + 1384, + 1385 ], - "referencedDeclaration": 1401, + "referencedDeclaration": 1385, "src": "8050:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -21952,7 +21742,7 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1397, + "referencedDeclaration": 1381, "src": "8200:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", @@ -22044,7 +21834,7 @@ "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 1361, + "referencedDeclaration": 1345, "src": "8152:47:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", @@ -22075,123 +21865,18 @@ "nodeType": "ExpressionStatement", "src": "8119:91:0" }, - { - "expression": { - "argumentTypes": null, - "id": 389, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 383, - "name": "transactions", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75, - "src": "8220:12:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", - "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" - } - }, - "id": 385, - "indexExpression": { - "argumentTypes": null, - "id": 384, - "name": "scriptHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 344, - "src": "8233:10:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8220:24:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Transaction_$71_storage", - "typeString": "struct Escrow_v1_0.Transaction storage ref" - } - }, - "id": 386, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "lastModified", - "nodeType": "MemberAccess", - "referencedDeclaration": 42, - "src": "8220:37:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 387, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1387, - "src": "8260:5:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 388, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "timestamp", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "8260:15:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8220:55:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 390, - "nodeType": "ExpressionStatement", - "src": "8220:55:0" - }, { "eventCall": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 392, + "id": 384, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 344, - "src": "8301:10:0", + "src": "8236:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -22201,18 +21886,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 393, + "id": 385, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1397, - "src": "8313:3:0", + "referencedDeclaration": 1381, + "src": "8248:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 394, + "id": 386, "isConstant": false, "isLValue": false, "isPure": false, @@ -22220,7 +21905,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "8313:10:0", + "src": "8248:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -22230,18 +21915,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 395, + "id": 387, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1397, - "src": "8325:3:0", + "referencedDeclaration": 1381, + "src": "8260:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 396, + "id": 388, "isConstant": false, "isLValue": false, "isPure": false, @@ -22249,7 +21934,7 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "8325:9:0", + "src": "8260:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -22271,18 +21956,18 @@ "typeString": "uint256" } ], - "id": 391, + "id": 383, "name": "FundAdded", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 30, - "src": "8291:9:0", + "src": "8226:9:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (bytes32,address,uint256)" } }, - "id": 397, + "id": 389, "isConstant": false, "isLValue": false, "isPure": false, @@ -22290,20 +21975,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8291:44:0", + "src": "8226:44:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 398, + "id": 390, "nodeType": "EmitStatement", - "src": "8286:49:0" + "src": "8221:49:0" } ] }, "documentation": "@dev Allows buyer of the transaction to add more funds(ether) in the transaction. \nThis will help to cater scenarios wherein initially buyer missed to fund transaction as required\n@param scriptHash script hash of the transaction\nOnly buyer of the transaction can invoke this method", - "id": 400, + "id": 392, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -22481,7 +22166,7 @@ "id": 344, "name": "scriptHash", "nodeType": "VariableDeclaration", - "scope": 400, + "scope": 392, "src": "7803:18:0", "stateVariable": false, "storageLocation": "default", @@ -22512,17 +22197,17 @@ "parameters": [], "src": "8039:0:0" }, - "scope": 1224, - "src": "7763:579:0", + "scope": 1208, + "src": "7763:514:0", "stateMutability": "payable", "superFunction": null, "visibility": "external" }, { "body": { - "id": 480, + "id": 464, "nodeType": "Block", - "src": "8945:622:0", + "src": "8880:557:0", "statements": [ { "expression": { @@ -22534,19 +22219,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 424, + "id": 416, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 422, + "id": 414, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 404, - "src": "8964:5:0", + "referencedDeclaration": 396, + "src": "8899:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -22557,14 +22242,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 423, + "id": 415, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "8972:1:0", + "src": "8907:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -22572,7 +22257,7 @@ }, "value": "0" }, - "src": "8964:9:0", + "src": "8899:9:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -22581,14 +22266,14 @@ { "argumentTypes": null, "hexValue": "56616c7565206d7573742062652067726561746572207468616e207a65726f2e", - "id": 425, + "id": 417, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "8975:34:0", + "src": "8910:34:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_21fbec2be6560b9ccffc4980d43c0d147770168e7aaf24999b418b9010085622", @@ -22608,21 +22293,21 @@ "typeString": "literal_string \"Value must be greater than zero.\"" } ], - "id": 421, + "id": 413, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1400, - 1401 + 1384, + 1385 ], - "referencedDeclaration": 1401, - "src": "8956:7:0", + "referencedDeclaration": 1385, + "src": "8891:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 426, + "id": 418, "isConstant": false, "isLValue": false, "isPure": false, @@ -22630,43 +22315,43 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8956:54:0", + "src": "8891:54:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 427, + "id": 419, "nodeType": "ExpressionStatement", - "src": "8956:54:0" + "src": "8891:54:0" }, { "assignments": [ - 429 + 421 ], "declarations": [ { "constant": false, - "id": 429, + "id": 421, "name": "token", "nodeType": "VariableDeclaration", - "scope": 481, - "src": "9021:20:0", + "scope": 465, + "src": "8956:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenContract_$1254", + "typeIdentifier": "t_contract$_ITokenContract_$1238", "typeString": "contract ITokenContract" }, "typeName": { "contractScope": null, - "id": 428, + "id": 420, "name": "ITokenContract", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1254, - "src": "9021:14:0", + "referencedDeclaration": 1238, + "src": "8956:14:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenContract_$1254", + "typeIdentifier": "t_contract$_ITokenContract_$1238", "typeString": "contract ITokenContract" } }, @@ -22674,7 +22359,7 @@ "visibility": "internal" } ], - "id": 436, + "id": 428, "initialValue": { "argumentTypes": null, "arguments": [ @@ -22684,26 +22369,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 431, + "id": 423, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "9072:12:0", + "src": "9007:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 433, + "id": 425, "indexExpression": { "argumentTypes": null, - "id": 432, + "id": 424, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 402, - "src": "9085:10:0", + "referencedDeclaration": 394, + "src": "9020:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -22714,13 +22399,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "9072:24:0", + "src": "9007:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 434, + "id": 426, "isConstant": false, "isLValue": true, "isPure": false, @@ -22728,7 +22413,7 @@ "memberName": "tokenAddress", "nodeType": "MemberAccess", "referencedDeclaration": 56, - "src": "9072:37:0", + "src": "9007:37:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -22742,18 +22427,18 @@ "typeString": "address" } ], - "id": 430, + "id": 422, "name": "ITokenContract", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1254, - "src": "9044:14:0", + "referencedDeclaration": 1238, + "src": "8979:14:0", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ITokenContract_$1254_$", + "typeIdentifier": "t_type$_t_contract$_ITokenContract_$1238_$", "typeString": "type(contract ITokenContract)" } }, - "id": 435, + "id": 427, "isConstant": false, "isLValue": false, "isPure": false, @@ -22761,14 +22446,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "9044:75:0", + "src": "8979:75:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenContract_$1254", + "typeIdentifier": "t_contract$_ITokenContract_$1238", "typeString": "contract ITokenContract" } }, "nodeType": "VariableDeclarationStatement", - "src": "9021:98:0" + "src": "8956:98:0" }, { "expression": { @@ -22783,26 +22468,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 440, + "id": 432, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "9170:12:0", + "src": "9105:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 442, + "id": 434, "indexExpression": { "argumentTypes": null, - "id": 441, + "id": 433, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 402, - "src": "9183:10:0", + "referencedDeclaration": 394, + "src": "9118:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -22813,13 +22498,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "9170:24:0", + "src": "9105:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 443, + "id": 435, "isConstant": false, "isLValue": true, "isPure": false, @@ -22827,7 +22512,7 @@ "memberName": "buyer", "nodeType": "MemberAccess", "referencedDeclaration": 52, - "src": "9170:30:0", + "src": "9105:30:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -22838,14 +22523,14 @@ "arguments": [ { "argumentTypes": null, - "id": 445, + "id": 437, "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1414, - "src": "9210:4:0", + "referencedDeclaration": 1398, + "src": "9145:4:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_Escrow_v1_0_$1224", + "typeIdentifier": "t_contract$_Escrow_v1_0_$1208", "typeString": "contract Escrow_v1_0" } } @@ -22853,24 +22538,24 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_Escrow_v1_0_$1224", + "typeIdentifier": "t_contract$_Escrow_v1_0_$1208", "typeString": "contract Escrow_v1_0" } ], - "id": 444, + "id": 436, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "9202:7:0", + "src": "9137:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, - "id": 446, + "id": 438, "isConstant": false, "isLValue": false, "isPure": false, @@ -22878,7 +22563,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "9202:13:0", + "src": "9137:13:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -22886,12 +22571,12 @@ }, { "argumentTypes": null, - "id": 447, + "id": 439, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 404, - "src": "9217:5:0", + "referencedDeclaration": 396, + "src": "9152:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -22915,32 +22600,32 @@ ], "expression": { "argumentTypes": null, - "id": 438, + "id": 430, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 429, - "src": "9151:5:0", + "referencedDeclaration": 421, + "src": "9086:5:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenContract_$1254", + "typeIdentifier": "t_contract$_ITokenContract_$1238", "typeString": "contract ITokenContract" } }, - "id": 439, + "id": 431, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "transferFrom", "nodeType": "MemberAccess", - "referencedDeclaration": 1253, - "src": "9151:18:0", + "referencedDeclaration": 1237, + "src": "9086:18:0", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", "typeString": "function (address,address,uint256) external returns (bool)" } }, - "id": 448, + "id": 440, "isConstant": false, "isLValue": false, "isPure": false, @@ -22948,7 +22633,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "9151:72:0", + "src": "9086:72:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -22957,14 +22642,14 @@ { "argumentTypes": null, "hexValue": "546f6b656e207472616e73666572206661696c65642c206d6179626520796f7520646964206e6f7420617070726f766520657363726f7720636f6e747261637420746f207370656e64206f6e20626568616c66206f66206275796572", - "id": 449, + "id": 441, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "9237:94:0", + "src": "9172:94:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_d9d07068d589bc4adc53018a3c57c159ec128fdfb62732a5fa9410e76cf03318", @@ -22984,21 +22669,21 @@ "typeString": "literal_string \"Token transfer failed, maybe you did not approve escrow contract to spend on behalf of buyer\"" } ], - "id": 437, + "id": 429, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1400, - 1401 + 1384, + 1385 ], - "referencedDeclaration": 1401, - "src": "9130:7:0", + "referencedDeclaration": 1385, + "src": "9065:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 450, + "id": 442, "isConstant": false, "isLValue": false, "isPure": false, @@ -23006,20 +22691,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "9130:211:0", + "src": "9065:211:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 451, + "id": 443, "nodeType": "ExpressionStatement", - "src": "9130:211:0" + "src": "9065:211:0" }, { "expression": { "argumentTypes": null, - "id": 463, + "id": 455, "isConstant": false, "isLValue": false, "isPure": false, @@ -23030,26 +22715,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 452, + "id": 444, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "9352:12:0", + "src": "9287:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 454, + "id": 446, "indexExpression": { "argumentTypes": null, - "id": 453, + "id": 445, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 402, - "src": "9365:10:0", + "referencedDeclaration": 394, + "src": "9300:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -23060,13 +22745,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "9352:24:0", + "src": "9287:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 455, + "id": 447, "isConstant": false, "isLValue": true, "isPure": false, @@ -23074,7 +22759,7 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": 40, - "src": "9352:30:0", + "src": "9287:30:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -23087,12 +22772,12 @@ "arguments": [ { "argumentTypes": null, - "id": 461, + "id": 453, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 404, - "src": "9433:5:0", + "referencedDeclaration": 396, + "src": "9368:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -23112,26 +22797,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 456, + "id": 448, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "9385:12:0", + "src": "9320:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 458, + "id": 450, "indexExpression": { "argumentTypes": null, - "id": 457, + "id": 449, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 402, - "src": "9398:10:0", + "referencedDeclaration": 394, + "src": "9333:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -23142,13 +22827,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "9385:24:0", + "src": "9320:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 459, + "id": 451, "isConstant": false, "isLValue": true, "isPure": false, @@ -23156,154 +22841,49 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": 40, - "src": "9385:30:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 460, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 1361, - "src": "9385:47:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 462, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9385:54:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "9352:87:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 464, - "nodeType": "ExpressionStatement", - "src": "9352:87:0" - }, - { - "expression": { - "argumentTypes": null, - "id": 471, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 465, - "name": "transactions", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75, - "src": "9449:12:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", - "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" - } - }, - "id": 467, - "indexExpression": { - "argumentTypes": null, - "id": 466, - "name": "scriptHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 402, - "src": "9462:10:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" + "src": "9320:30:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, + "id": 452, "isConstant": false, - "isLValue": true, + "isLValue": false, "isPure": false, "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9449:24:0", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Transaction_$71_storage", - "typeString": "struct Escrow_v1_0.Transaction storage ref" - } - }, - "id": 468, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "lastModified", - "nodeType": "MemberAccess", - "referencedDeclaration": 42, - "src": "9449:37:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 469, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1387, - "src": "9489:5:0", + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 1345, + "src": "9320:47:0", "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 470, + "id": 454, "isConstant": false, "isLValue": false, "isPure": false, + "kind": "functionCall", "lValueRequested": false, - "memberName": "timestamp", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "9489:15:0", + "names": [], + "nodeType": "FunctionCall", + "src": "9320:54:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "9449:55:0", + "src": "9287:87:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 472, + "id": 456, "nodeType": "ExpressionStatement", - "src": "9449:55:0" + "src": "9287:87:0" }, { "eventCall": { @@ -23311,12 +22891,12 @@ "arguments": [ { "argumentTypes": null, - "id": 474, + "id": 458, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 402, - "src": "9530:10:0", + "referencedDeclaration": 394, + "src": "9400:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -23326,18 +22906,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 475, + "id": 459, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1397, - "src": "9542:3:0", + "referencedDeclaration": 1381, + "src": "9412:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 476, + "id": 460, "isConstant": false, "isLValue": false, "isPure": false, @@ -23345,7 +22925,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "9542:10:0", + "src": "9412:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -23353,12 +22933,12 @@ }, { "argumentTypes": null, - "id": 477, + "id": 461, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 404, - "src": "9554:5:0", + "referencedDeclaration": 396, + "src": "9424:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -23380,18 +22960,18 @@ "typeString": "uint256" } ], - "id": 473, + "id": 457, "name": "FundAdded", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 30, - "src": "9520:9:0", + "src": "9390:9:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (bytes32,address,uint256)" } }, - "id": 478, + "id": 462, "isConstant": false, "isLValue": false, "isPure": false, @@ -23399,20 +22979,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "9520:40:0", + "src": "9390:40:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 479, + "id": 463, "nodeType": "EmitStatement", - "src": "9515:45:0" + "src": "9385:45:0" } ] }, "documentation": "@dev Allows buyer of the transaction to add more funds(Tokens) in the transaction. \nThis will help to cater scenarios wherein initially buyer missed to fund transaction as required\n@param scriptHash script hash of the transaction\nOnly buyer of the transaction can invoke this method", - "id": 481, + "id": 465, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -23421,78 +23001,78 @@ "arguments": [ { "argumentTypes": null, - "id": 407, + "id": 399, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 402, - "src": "8801:10:0", + "referencedDeclaration": 394, + "src": "8736:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } } ], - "id": 408, + "id": 400, "modifierName": { "argumentTypes": null, - "id": 406, + "id": 398, "name": "transactionExist", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 99, - "src": "8784:16:0", + "src": "8719:16:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "8784:28:0" + "src": "8719:28:0" }, { "arguments": [ { "argumentTypes": null, - "id": 410, + "id": 402, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 402, - "src": "8835:10:0", + "referencedDeclaration": 394, + "src": "8770:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } } ], - "id": 411, + "id": 403, "modifierName": { "argumentTypes": null, - "id": 409, + "id": 401, "name": "inFundedState", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 132, - "src": "8821:13:0", + "src": "8756:13:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "8821:25:0" + "src": "8756:25:0" }, { "arguments": [ { "argumentTypes": null, - "id": 413, + "id": 405, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 402, - "src": "8876:10:0", + "referencedDeclaration": 394, + "src": "8811:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -23502,18 +23082,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 414, + "id": 406, "name": "TransactionType", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12, - "src": "8888:15:0", + "src": "8823:15:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_TransactionType_$12_$", "typeString": "type(enum Escrow_v1_0.TransactionType)" } }, - "id": 415, + "id": 407, "isConstant": false, "isLValue": false, "isPure": true, @@ -23521,77 +23101,77 @@ "memberName": "TOKEN", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "8888:21:0", + "src": "8823:21:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" } } ], - "id": 416, + "id": 408, "modifierName": { "argumentTypes": null, - "id": 412, + "id": 404, "name": "checkTransactionType", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 165, - "src": "8855:20:0", + "src": "8790:20:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$_t_enum$_TransactionType_$12_$", "typeString": "modifier (bytes32,enum Escrow_v1_0.TransactionType)" } }, "nodeType": "ModifierInvocation", - "src": "8855:55:0" + "src": "8790:55:0" }, { "arguments": [ { "argumentTypes": null, - "id": 418, + "id": 410, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 402, - "src": "8929:10:0", + "referencedDeclaration": 394, + "src": "8864:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } } ], - "id": 419, + "id": 411, "modifierName": { "argumentTypes": null, - "id": 417, + "id": 409, "name": "onlyBuyer", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 182, - "src": "8919:9:0", + "src": "8854:9:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "8919:21:0" + "src": "8854:21:0" } ], "name": "addTokensToTransaction", "nodeType": "FunctionDefinition", "parameters": { - "id": 405, + "id": 397, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 402, + "id": 394, "name": "scriptHash", "nodeType": "VariableDeclaration", - "scope": 481, - "src": "8711:18:0", + "scope": 465, + "src": "8646:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -23599,10 +23179,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 401, + "id": 393, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "8711:7:0", + "src": "8646:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -23613,11 +23193,11 @@ }, { "constant": false, - "id": 404, + "id": 396, "name": "value", "nodeType": "VariableDeclaration", - "scope": 481, - "src": "8739:13:0", + "scope": 465, + "src": "8674:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -23625,10 +23205,10 @@ "typeString": "uint256" }, "typeName": { - "id": 403, + "id": 395, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "8739:7:0", + "src": "8674:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -23638,52 +23218,52 @@ "visibility": "internal" } ], - "src": "8701:57:0" + "src": "8636:57:0" }, "payable": false, "returnParameters": { - "id": 420, + "id": 412, "nodeType": "ParameterList", "parameters": [], - "src": "8945:0:0" + "src": "8880:0:0" }, - "scope": 1224, - "src": "8670:897:0", + "scope": 1208, + "src": "8605:832:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" }, { "body": { - "id": 493, + "id": 477, "nodeType": "Block", - "src": "9822:56:0", + "src": "9692:56:0", "statements": [ { "expression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 489, + "id": 473, "name": "partyVsTransaction", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 83, - "src": "9839:18:0", + "src": "9709:18:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_bytes32_$dyn_storage_$", "typeString": "mapping(address => bytes32[] storage ref)" } }, - "id": 491, + "id": 475, "indexExpression": { "argumentTypes": null, - "id": 490, + "id": 474, "name": "partyAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 483, - "src": "9858:12:0", + "referencedDeclaration": 467, + "src": "9728:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -23694,21 +23274,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "9839:32:0", + "src": "9709:32:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage", "typeString": "bytes32[] storage ref" } }, - "functionReturnParameters": 488, - "id": 492, + "functionReturnParameters": 472, + "id": 476, "nodeType": "Return", - "src": "9832:39:0" + "src": "9702:39:0" } ] }, "documentation": "dev Returns all transaction ids for a party\nparam partyAddress Address of the party", - "id": 494, + "id": 478, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -23716,16 +23296,16 @@ "name": "getAllTransactionsForParty", "nodeType": "FunctionDefinition", "parameters": { - "id": 484, + "id": 468, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 483, + "id": 467, "name": "partyAddress", "nodeType": "VariableDeclaration", - "scope": 494, - "src": "9729:20:0", + "scope": 478, + "src": "9599:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -23733,10 +23313,10 @@ "typeString": "address" }, "typeName": { - "id": 482, + "id": 466, "name": "address", "nodeType": "ElementaryTypeName", - "src": "9729:7:0", + "src": "9599:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -23746,20 +23326,20 @@ "visibility": "internal" } ], - "src": "9719:36:0" + "src": "9589:36:0" }, "payable": false, "returnParameters": { - "id": 488, + "id": 472, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 487, + "id": 471, "name": "", "nodeType": "VariableDeclaration", - "scope": 494, - "src": "9806:9:0", + "scope": 478, + "src": "9676:9:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -23768,19 +23348,19 @@ }, "typeName": { "baseType": { - "id": 485, + "id": 469, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "9806:7:0", + "src": "9676:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "id": 486, + "id": 470, "length": null, "nodeType": "ArrayTypeName", - "src": "9806:9:0", + "src": "9676:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -23790,19 +23370,19 @@ "visibility": "internal" } ], - "src": "9805:11:0" + "src": "9675:11:0" }, - "scope": 1224, - "src": "9684:194:0", + "scope": 1208, + "src": "9554:194:0", "stateMutability": "view", "superFunction": null, "visibility": "external" }, { "body": { - "id": 582, + "id": 566, "nodeType": "Block", - "src": "10748:932:0", + "src": "10618:932:0", "statements": [ { "expression": { @@ -23814,7 +23394,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 524, + "id": 508, "isConstant": false, "isLValue": false, "isPure": false, @@ -23823,18 +23403,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 521, + "id": 505, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 508, - "src": "10782:12:0", + "referencedDeclaration": 492, + "src": "10652:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" } }, - "id": 522, + "id": 506, "isConstant": false, "isLValue": false, "isPure": false, @@ -23842,7 +23422,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "10782:19:0", + "src": "10652:19:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -23853,14 +23433,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 523, + "id": 507, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "10802:1:0", + "src": "10672:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -23868,7 +23448,7 @@ }, "value": "0" }, - "src": "10782:21:0", + "src": "10652:21:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -23877,14 +23457,14 @@ { "argumentTypes": null, "hexValue": "4e756d626572206f662064657374696e6174696f6e73206d7573742062652067726561746572207468616e2030", - "id": 525, + "id": 509, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "10818:47:0", + "src": "10688:47:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_fbeb58246a6e3ff255a1d618f14d1cced67ffd4784fbc3e1cfbdf71d1f7fbdf9", @@ -23904,21 +23484,21 @@ "typeString": "literal_string \"Number of destinations must be greater than 0\"" } ], - "id": 520, + "id": 504, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1400, - 1401 + 1384, + 1385 ], - "referencedDeclaration": 1401, - "src": "10761:7:0", + "referencedDeclaration": 1385, + "src": "10631:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 526, + "id": 510, "isConstant": false, "isLValue": false, "isPure": false, @@ -23926,15 +23506,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "10761:114:0", + "src": "10631:114:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 527, + "id": 511, "nodeType": "ExpressionStatement", - "src": "10761:114:0" + "src": "10631:114:0" }, { "expression": { @@ -23946,7 +23526,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 533, + "id": 517, "isConstant": false, "isLValue": false, "isPure": false, @@ -23955,18 +23535,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 529, + "id": 513, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 508, - "src": "10906:12:0", + "referencedDeclaration": 492, + "src": "10776:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" } }, - "id": 530, + "id": 514, "isConstant": false, "isLValue": false, "isPure": false, @@ -23974,7 +23554,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "10906:19:0", + "src": "10776:19:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -23986,18 +23566,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 531, + "id": 515, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 511, - "src": "10929:7:0", + "referencedDeclaration": 495, + "src": "10799:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", "typeString": "uint256[] calldata" } }, - "id": 532, + "id": 516, "isConstant": false, "isLValue": false, "isPure": false, @@ -24005,13 +23585,13 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "10929:14:0", + "src": "10799:14:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "10906:37:0", + "src": "10776:37:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -24020,14 +23600,14 @@ { "argumentTypes": null, "hexValue": "4e756d626572206f662064657374696e6174696f6e73206d757374206d61746368206e756d626572206f662076616c7565732073656e74", - "id": 534, + "id": 518, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "10957:57:0", + "src": "10827:57:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_e70a315a5939ff57e3400503291dbc0af19d18c32f15c80c7c6f5b7c54a6cd3c", @@ -24047,21 +23627,21 @@ "typeString": "literal_string \"Number of destinations must match number of values sent\"" } ], - "id": 528, + "id": 512, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1400, - 1401 + 1384, + 1385 ], - "referencedDeclaration": 1401, - "src": "10885:7:0", + "referencedDeclaration": 1385, + "src": "10755:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 535, + "id": 519, "isConstant": false, "isLValue": false, "isPure": false, @@ -24069,15 +23649,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "10885:139:0", + "src": "10755:139:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 536, + "id": 520, "nodeType": "ExpressionStatement", - "src": "10885:139:0" + "src": "10755:139:0" }, { "expression": { @@ -24085,12 +23665,12 @@ "arguments": [ { "argumentTypes": null, - "id": 538, + "id": 522, "name": "sigV", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 497, - "src": "11074:4:0", + "referencedDeclaration": 481, + "src": "10944:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_calldata_ptr", "typeString": "uint8[] calldata" @@ -24098,12 +23678,12 @@ }, { "argumentTypes": null, - "id": 539, + "id": 523, "name": "sigR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 500, - "src": "11092:4:0", + "referencedDeclaration": 484, + "src": "10962:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", "typeString": "bytes32[] calldata" @@ -24111,12 +23691,12 @@ }, { "argumentTypes": null, - "id": 540, + "id": 524, "name": "sigS", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 503, - "src": "11110:4:0", + "referencedDeclaration": 487, + "src": "10980:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", "typeString": "bytes32[] calldata" @@ -24124,12 +23704,12 @@ }, { "argumentTypes": null, - "id": 541, + "id": 525, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 505, - "src": "11128:10:0", + "referencedDeclaration": 489, + "src": "10998:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -24137,12 +23717,12 @@ }, { "argumentTypes": null, - "id": 542, + "id": 526, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 508, - "src": "11152:12:0", + "referencedDeclaration": 492, + "src": "11022:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" @@ -24150,12 +23730,12 @@ }, { "argumentTypes": null, - "id": 543, + "id": 527, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 511, - "src": "11178:7:0", + "referencedDeclaration": 495, + "src": "11048:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", "typeString": "uint256[] calldata" @@ -24189,18 +23769,18 @@ "typeString": "uint256[] calldata" } ], - "id": 537, + "id": 521, "name": "_verifyTransaction", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 711, - "src": "11042:18:0", + "referencedDeclaration": 695, + "src": "10912:18:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_array$_t_uint8_$dyn_memory_ptr_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_bytes32_$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$__$", "typeString": "function (uint8[] memory,bytes32[] memory,bytes32[] memory,bytes32,address[] memory,uint256[] memory)" } }, - "id": 544, + "id": 528, "isConstant": false, "isLValue": false, "isPure": false, @@ -24208,20 +23788,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "11042:153:0", + "src": "10912:153:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 545, + "id": 529, "nodeType": "ExpressionStatement", - "src": "11042:153:0" + "src": "10912:153:0" }, { "expression": { "argumentTypes": null, - "id": 552, + "id": 536, "isConstant": false, "isLValue": false, "isPure": false, @@ -24232,26 +23812,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 546, + "id": 530, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "11206:12:0", + "src": "11076:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 548, + "id": 532, "indexExpression": { "argumentTypes": null, - "id": 547, + "id": 531, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 505, - "src": "11219:10:0", + "referencedDeclaration": 489, + "src": "11089:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -24262,13 +23842,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "11206:24:0", + "src": "11076:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 549, + "id": 533, "isConstant": false, "isLValue": true, "isPure": false, @@ -24276,7 +23856,7 @@ "memberName": "status", "nodeType": "MemberAccess", "referencedDeclaration": 44, - "src": "11206:31:0", + "src": "11076:31:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$9", "typeString": "enum Escrow_v1_0.Status" @@ -24288,18 +23868,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 550, + "id": 534, "name": "Status", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9, - "src": "11240:6:0", + "src": "11110:6:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_Status_$9_$", "typeString": "type(enum Escrow_v1_0.Status)" } }, - "id": 551, + "id": 535, "isConstant": false, "isLValue": false, "isPure": true, @@ -24307,26 +23887,26 @@ "memberName": "RELEASED", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "11240:15:0", + "src": "11110:15:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$9", "typeString": "enum Escrow_v1_0.Status" } }, - "src": "11206:49:0", + "src": "11076:49:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$9", "typeString": "enum Escrow_v1_0.Status" } }, - "id": 553, + "id": 537, "nodeType": "ExpressionStatement", - "src": "11206:49:0" + "src": "11076:49:0" }, { "expression": { "argumentTypes": null, - "id": 560, + "id": 544, "isConstant": false, "isLValue": false, "isPure": false, @@ -24337,26 +23917,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 554, + "id": 538, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "11339:12:0", + "src": "11209:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 556, + "id": 540, "indexExpression": { "argumentTypes": null, - "id": 555, + "id": 539, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 505, - "src": "11352:10:0", + "referencedDeclaration": 489, + "src": "11222:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -24367,13 +23947,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "11339:24:0", + "src": "11209:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 557, + "id": 541, "isConstant": false, "isLValue": true, "isPure": false, @@ -24381,7 +23961,7 @@ "memberName": "lastModified", "nodeType": "MemberAccess", "referencedDeclaration": 42, - "src": "11339:37:0", + "src": "11209:37:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -24393,18 +23973,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 558, + "id": 542, "name": "block", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1387, - "src": "11379:5:0", + "referencedDeclaration": 1371, + "src": "11249:5:0", "typeDescriptions": { "typeIdentifier": "t_magic_block", "typeString": "block" } }, - "id": 559, + "id": 543, "isConstant": false, "isLValue": false, "isPure": false, @@ -24412,21 +23992,21 @@ "memberName": "timestamp", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "11379:15:0", + "src": "11249:15:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "11339:55:0", + "src": "11209:55:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 561, + "id": 545, "nodeType": "ExpressionStatement", - "src": "11339:55:0" + "src": "11209:55:0" }, { "expression": { @@ -24438,7 +24018,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 572, + "id": 556, "isConstant": false, "isLValue": false, "isPure": false, @@ -24448,12 +24028,12 @@ "arguments": [ { "argumentTypes": null, - "id": 564, + "id": 548, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 505, - "src": "11440:10:0", + "referencedDeclaration": 489, + "src": "11310:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -24461,12 +24041,12 @@ }, { "argumentTypes": null, - "id": 565, + "id": 549, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 508, - "src": "11452:12:0", + "referencedDeclaration": 492, + "src": "11322:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" @@ -24474,12 +24054,12 @@ }, { "argumentTypes": null, - "id": 566, + "id": 550, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 511, - "src": "11466:7:0", + "referencedDeclaration": 495, + "src": "11336:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", "typeString": "uint256[] calldata" @@ -24501,18 +24081,18 @@ "typeString": "uint256[] calldata" } ], - "id": 563, + "id": 547, "name": "_transferFunds", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 904, - "src": "11425:14:0", + "referencedDeclaration": 888, + "src": "11295:14:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$_t_uint256_$", "typeString": "function (bytes32,address[] memory,uint256[] memory) returns (uint256)" } }, - "id": 567, + "id": 551, "isConstant": false, "isLValue": false, "isPure": false, @@ -24520,7 +24100,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "11425:49:0", + "src": "11295:49:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -24534,26 +24114,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 568, + "id": 552, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "11478:12:0", + "src": "11348:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 570, + "id": 554, "indexExpression": { "argumentTypes": null, - "id": 569, + "id": 553, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 505, - "src": "11491:10:0", + "referencedDeclaration": 489, + "src": "11361:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -24564,13 +24144,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "11478:24:0", + "src": "11348:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 571, + "id": 555, "isConstant": false, "isLValue": true, "isPure": false, @@ -24578,13 +24158,13 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": 40, - "src": "11478:30:0", + "src": "11348:30:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "11425:83:0", + "src": "11295:83:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -24593,14 +24173,14 @@ { "argumentTypes": null, "hexValue": "546f74616c2076616c756520746f2062652072656c6561736564206d75737420626520657175616c20746f20746865207472616e73616374696f6e20657363726f772076616c7565", - "id": 573, + "id": 557, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "11522:74:0", + "src": "11392:74:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_9e0bdb14e2e0d5e118fd1f547268c6a1fdb5e8facacd614066d4b60bc2c9941d", @@ -24620,21 +24200,21 @@ "typeString": "literal_string \"Total value to be released must be equal to the transaction escrow value\"" } ], - "id": 562, + "id": 546, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1400, - 1401 + 1384, + 1385 ], - "referencedDeclaration": 1401, - "src": "11404:7:0", + "referencedDeclaration": 1385, + "src": "11274:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 574, + "id": 558, "isConstant": false, "isLValue": false, "isPure": false, @@ -24642,15 +24222,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "11404:202:0", + "src": "11274:202:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 575, + "id": 559, "nodeType": "ExpressionStatement", - "src": "11404:202:0" + "src": "11274:202:0" }, { "eventCall": { @@ -24658,12 +24238,12 @@ "arguments": [ { "argumentTypes": null, - "id": 577, + "id": 561, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 505, - "src": "11639:10:0", + "referencedDeclaration": 489, + "src": "11509:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -24671,12 +24251,12 @@ }, { "argumentTypes": null, - "id": 578, + "id": 562, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 508, - "src": "11651:12:0", + "referencedDeclaration": 492, + "src": "11521:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" @@ -24684,12 +24264,12 @@ }, { "argumentTypes": null, - "id": 579, + "id": 563, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 511, - "src": "11665:7:0", + "referencedDeclaration": 495, + "src": "11535:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", "typeString": "uint256[] calldata" @@ -24711,18 +24291,18 @@ "typeString": "uint256[] calldata" } ], - "id": 576, + "id": 560, "name": "Executed", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 22, - "src": "11630:8:0", + "src": "11500:8:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$__$", "typeString": "function (bytes32,address[] memory,uint256[] memory)" } }, - "id": 580, + "id": 564, "isConstant": false, "isLValue": false, "isPure": false, @@ -24730,20 +24310,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "11630:43:0", + "src": "11500:43:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 581, + "id": 565, "nodeType": "EmitStatement", - "src": "11625:48:0" + "src": "11495:48:0" } ] }, "documentation": "dev This method will be used to release funds associated with the transaction\nPlease see specs https://github.com/OpenBazaar/smart-contracts/blob/master/contracts/escrow/EscrowSpec.md\nparam sigV Array containing V component of all the signatures\nparam sigR Array containing R component of all the signatures\nparam signS Array containing S component of all the signatures\nparam scriptHash script hash of the transaction\nparam destinations List of addresses who will receive funds\nparam amounts amount released to each destination", - "id": 583, + "id": 567, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -24752,82 +24332,82 @@ "arguments": [ { "argumentTypes": null, - "id": 514, + "id": 498, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 505, - "src": "10698:10:0", + "referencedDeclaration": 489, + "src": "10568:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } } ], - "id": 515, + "id": 499, "modifierName": { "argumentTypes": null, - "id": 513, + "id": 497, "name": "transactionExist", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 99, - "src": "10681:16:0", + "src": "10551:16:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "10681:28:0" + "src": "10551:28:0" }, { "arguments": [ { "argumentTypes": null, - "id": 517, + "id": 501, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 505, - "src": "10732:10:0", + "referencedDeclaration": 489, + "src": "10602:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } } ], - "id": 518, + "id": 502, "modifierName": { "argumentTypes": null, - "id": 516, + "id": 500, "name": "inFundedState", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 132, - "src": "10718:13:0", + "src": "10588:13:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "10718:25:0" + "src": "10588:25:0" } ], "name": "execute", "nodeType": "FunctionDefinition", "parameters": { - "id": 512, + "id": 496, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 497, + "id": 481, "name": "sigV", "nodeType": "VariableDeclaration", - "scope": 583, - "src": "10502:12:0", + "scope": 567, + "src": "10372:12:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -24836,19 +24416,19 @@ }, "typeName": { "baseType": { - "id": 495, + "id": 479, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "10502:5:0", + "src": "10372:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, - "id": 496, + "id": 480, "length": null, "nodeType": "ArrayTypeName", - "src": "10502:7:0", + "src": "10372:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_storage_ptr", "typeString": "uint8[]" @@ -24859,11 +24439,11 @@ }, { "constant": false, - "id": 500, + "id": 484, "name": "sigR", "nodeType": "VariableDeclaration", - "scope": 583, - "src": "10524:14:0", + "scope": 567, + "src": "10394:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -24872,19 +24452,19 @@ }, "typeName": { "baseType": { - "id": 498, + "id": 482, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "10524:7:0", + "src": "10394:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "id": 499, + "id": 483, "length": null, "nodeType": "ArrayTypeName", - "src": "10524:9:0", + "src": "10394:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -24895,11 +24475,11 @@ }, { "constant": false, - "id": 503, + "id": 487, "name": "sigS", "nodeType": "VariableDeclaration", - "scope": 583, - "src": "10548:14:0", + "scope": 567, + "src": "10418:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -24908,19 +24488,19 @@ }, "typeName": { "baseType": { - "id": 501, + "id": 485, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "10548:7:0", + "src": "10418:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "id": 502, + "id": 486, "length": null, "nodeType": "ArrayTypeName", - "src": "10548:9:0", + "src": "10418:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -24931,11 +24511,11 @@ }, { "constant": false, - "id": 505, + "id": 489, "name": "scriptHash", "nodeType": "VariableDeclaration", - "scope": 583, - "src": "10572:18:0", + "scope": 567, + "src": "10442:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -24943,10 +24523,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 504, + "id": 488, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "10572:7:0", + "src": "10442:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -24957,11 +24537,11 @@ }, { "constant": false, - "id": 508, + "id": 492, "name": "destinations", "nodeType": "VariableDeclaration", - "scope": 583, - "src": "10600:22:0", + "scope": 567, + "src": "10470:22:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -24970,19 +24550,19 @@ }, "typeName": { "baseType": { - "id": 506, + "id": 490, "name": "address", "nodeType": "ElementaryTypeName", - "src": "10600:7:0", + "src": "10470:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 507, + "id": 491, "length": null, "nodeType": "ArrayTypeName", - "src": "10600:9:0", + "src": "10470:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", "typeString": "address[]" @@ -24993,11 +24573,11 @@ }, { "constant": false, - "id": 511, + "id": 495, "name": "amounts", "nodeType": "VariableDeclaration", - "scope": 583, - "src": "10632:17:0", + "scope": 567, + "src": "10502:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -25006,19 +24586,19 @@ }, "typeName": { "baseType": { - "id": 509, + "id": 493, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "10632:7:0", + "src": "10502:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 510, + "id": 494, "length": null, "nodeType": "ArrayTypeName", - "src": "10632:9:0", + "src": "10502:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -25028,26 +24608,26 @@ "visibility": "internal" } ], - "src": "10492:163:0" + "src": "10362:163:0" }, "payable": false, "returnParameters": { - "id": 519, + "id": 503, "nodeType": "ParameterList", "parameters": [], - "src": "10748:0:0" + "src": "10618:0:0" }, - "scope": 1224, - "src": "10476:1204:0", + "scope": 1208, + "src": "10346:1204:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" }, { "body": { - "id": 641, + "id": 625, "nodeType": "Block", - "src": "12484:734:0", + "src": "12354:734:0", "statements": [ { "condition": { @@ -25056,19 +24636,19 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 606, + "id": 590, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 602, + "id": 586, "name": "tokenAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 597, - "src": "12498:12:0", + "referencedDeclaration": 581, + "src": "12368:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -25082,14 +24662,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 604, + "id": 588, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "12522:1:0", + "src": "12392:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -25105,20 +24685,20 @@ "typeString": "int_const 0" } ], - "id": 603, + "id": 587, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "12514:7:0", + "src": "12384:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, - "id": 605, + "id": 589, "isConstant": false, "isLValue": false, "isPure": true, @@ -25126,22 +24706,22 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "12514:10:0", + "src": "12384:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "12498:26:0", + "src": "12368:26:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": { - "id": 639, + "id": 623, "nodeType": "Block", - "src": "12855:357:0", + "src": "12725:357:0", "statements": [ { "expression": { @@ -25152,12 +24732,12 @@ "arguments": [ { "argumentTypes": null, - "id": 626, + "id": 610, "name": "uniqueId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 585, - "src": "12941:8:0", + "referencedDeclaration": 569, + "src": "12811:8:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -25165,12 +24745,12 @@ }, { "argumentTypes": null, - "id": 627, + "id": 611, "name": "threshold", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 587, - "src": "12971:9:0", + "referencedDeclaration": 571, + "src": "12841:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -25178,12 +24758,12 @@ }, { "argumentTypes": null, - "id": 628, + "id": 612, "name": "timeoutHours", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 589, - "src": "13002:12:0", + "referencedDeclaration": 573, + "src": "12872:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -25191,12 +24771,12 @@ }, { "argumentTypes": null, - "id": 629, + "id": 613, "name": "buyer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 591, - "src": "13036:5:0", + "referencedDeclaration": 575, + "src": "12906:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -25204,12 +24784,12 @@ }, { "argumentTypes": null, - "id": 630, + "id": 614, "name": "seller", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 593, - "src": "13063:6:0", + "referencedDeclaration": 577, + "src": "12933:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -25217,12 +24797,12 @@ }, { "argumentTypes": null, - "id": 631, + "id": 615, "name": "moderator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 595, - "src": "13091:9:0", + "referencedDeclaration": 579, + "src": "12961:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -25233,14 +24813,14 @@ "arguments": [ { "argumentTypes": null, - "id": 633, + "id": 617, "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1414, - "src": "13130:4:0", + "referencedDeclaration": 1398, + "src": "13000:4:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_Escrow_v1_0_$1224", + "typeIdentifier": "t_contract$_Escrow_v1_0_$1208", "typeString": "contract Escrow_v1_0" } } @@ -25248,24 +24828,24 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_Escrow_v1_0_$1224", + "typeIdentifier": "t_contract$_Escrow_v1_0_$1208", "typeString": "contract Escrow_v1_0" } ], - "id": 632, + "id": 616, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "13122:7:0", + "src": "12992:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, - "id": 634, + "id": 618, "isConstant": false, "isLValue": false, "isPure": false, @@ -25273,7 +24853,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "13122:13:0", + "src": "12992:13:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -25281,12 +24861,12 @@ }, { "argumentTypes": null, - "id": 635, + "id": 619, "name": "tokenAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 597, - "src": "13157:12:0", + "referencedDeclaration": 581, + "src": "13027:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -25330,18 +24910,18 @@ ], "expression": { "argumentTypes": null, - "id": 624, + "id": 608, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1384, - "src": "12903:3:0", + "referencedDeclaration": 1368, + "src": "12773:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, - "id": 625, + "id": 609, "isConstant": false, "isLValue": false, "isPure": true, @@ -25349,13 +24929,13 @@ "memberName": "encodePacked", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "12903:16:0", + "src": "12773:16:0", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, - "id": 636, + "id": 620, "isConstant": false, "isLValue": false, "isPure": false, @@ -25363,7 +24943,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "12903:284:0", + "src": "12773:284:0", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -25377,18 +24957,18 @@ "typeString": "bytes memory" } ], - "id": 623, + "id": 607, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1391, - "src": "12876:9:0", + "referencedDeclaration": 1375, + "src": "12746:9:0", "typeDescriptions": { "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", "typeString": "function () pure returns (bytes32)" } }, - "id": 637, + "id": 621, "isConstant": false, "isLValue": false, "isPure": false, @@ -25396,26 +24976,26 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "12876:325:0", + "src": "12746:325:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "functionReturnParameters": 601, - "id": 638, + "functionReturnParameters": 585, + "id": 622, "nodeType": "Return", - "src": "12869:332:0" + "src": "12739:332:0" } ] }, - "id": 640, + "id": 624, "nodeType": "IfStatement", - "src": "12494:718:0", + "src": "12364:718:0", "trueBody": { - "id": 622, + "id": 606, "nodeType": "Block", - "src": "12526:323:0", + "src": "12396:323:0", "statements": [ { "expression": { @@ -25426,12 +25006,12 @@ "arguments": [ { "argumentTypes": null, - "id": 610, + "id": 594, "name": "uniqueId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 585, - "src": "12612:8:0", + "referencedDeclaration": 569, + "src": "12482:8:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -25439,12 +25019,12 @@ }, { "argumentTypes": null, - "id": 611, + "id": 595, "name": "threshold", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 587, - "src": "12642:9:0", + "referencedDeclaration": 571, + "src": "12512:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -25452,12 +25032,12 @@ }, { "argumentTypes": null, - "id": 612, + "id": 596, "name": "timeoutHours", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 589, - "src": "12673:12:0", + "referencedDeclaration": 573, + "src": "12543:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -25465,12 +25045,12 @@ }, { "argumentTypes": null, - "id": 613, + "id": 597, "name": "buyer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 591, - "src": "12707:5:0", + "referencedDeclaration": 575, + "src": "12577:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -25478,12 +25058,12 @@ }, { "argumentTypes": null, - "id": 614, + "id": 598, "name": "seller", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 593, - "src": "12734:6:0", + "referencedDeclaration": 577, + "src": "12604:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -25491,12 +25071,12 @@ }, { "argumentTypes": null, - "id": 615, + "id": 599, "name": "moderator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 595, - "src": "12762:9:0", + "referencedDeclaration": 579, + "src": "12632:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -25507,14 +25087,14 @@ "arguments": [ { "argumentTypes": null, - "id": 617, + "id": 601, "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1414, - "src": "12801:4:0", + "referencedDeclaration": 1398, + "src": "12671:4:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_Escrow_v1_0_$1224", + "typeIdentifier": "t_contract$_Escrow_v1_0_$1208", "typeString": "contract Escrow_v1_0" } } @@ -25522,24 +25102,24 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_Escrow_v1_0_$1224", + "typeIdentifier": "t_contract$_Escrow_v1_0_$1208", "typeString": "contract Escrow_v1_0" } ], - "id": 616, + "id": 600, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "12793:7:0", + "src": "12663:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, - "id": 618, + "id": 602, "isConstant": false, "isLValue": false, "isPure": false, @@ -25547,7 +25127,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "12793:13:0", + "src": "12663:13:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -25587,18 +25167,18 @@ ], "expression": { "argumentTypes": null, - "id": 608, + "id": 592, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1384, - "src": "12574:3:0", + "referencedDeclaration": 1368, + "src": "12444:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, - "id": 609, + "id": 593, "isConstant": false, "isLValue": false, "isPure": true, @@ -25606,13 +25186,13 @@ "memberName": "encodePacked", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "12574:16:0", + "src": "12444:16:0", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, - "id": 619, + "id": 603, "isConstant": false, "isLValue": false, "isPure": false, @@ -25620,7 +25200,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "12574:250:0", + "src": "12444:250:0", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -25634,18 +25214,18 @@ "typeString": "bytes memory" } ], - "id": 607, + "id": 591, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1391, - "src": "12547:9:0", + "referencedDeclaration": 1375, + "src": "12417:9:0", "typeDescriptions": { "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", "typeString": "function () pure returns (bytes32)" } }, - "id": 620, + "id": 604, "isConstant": false, "isLValue": false, "isPure": false, @@ -25653,16 +25233,16 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "12547:291:0", + "src": "12417:291:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "functionReturnParameters": 601, - "id": 621, + "functionReturnParameters": 585, + "id": 605, "nodeType": "Return", - "src": "12540:298:0" + "src": "12410:298:0" } ] } @@ -25670,7 +25250,7 @@ ] }, "documentation": "dev Method for calculating script hash. Calculation will depend upon the type of transaction\nETHER Type transaction-:\nScript Hash- keccak256(uniqueId, threshold, timeoutHours, buyer, seller, moderator, multiSigContractAddress)\nTOKEN Type transaction\nScript Hash- keccak256(uniqueId, threshold, timeoutHours, buyer, seller, moderator, multiSigContractAddress, tokenAddress)\nClient can use this method to verify whether it has calculated correct script hash or not", - "id": 642, + "id": 626, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -25678,16 +25258,16 @@ "name": "calculateRedeemScriptHash", "nodeType": "FunctionDefinition", "parameters": { - "id": 598, + "id": 582, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 585, + "id": 569, "name": "uniqueId", "nodeType": "VariableDeclaration", - "scope": 642, - "src": "12245:16:0", + "scope": 626, + "src": "12115:16:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -25695,10 +25275,10 @@ "typeString": "bytes20" }, "typeName": { - "id": 584, + "id": 568, "name": "bytes20", "nodeType": "ElementaryTypeName", - "src": "12245:7:0", + "src": "12115:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -25709,11 +25289,11 @@ }, { "constant": false, - "id": 587, + "id": 571, "name": "threshold", "nodeType": "VariableDeclaration", - "scope": 642, - "src": "12271:15:0", + "scope": 626, + "src": "12141:15:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -25721,10 +25301,10 @@ "typeString": "uint8" }, "typeName": { - "id": 586, + "id": 570, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "12271:5:0", + "src": "12141:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -25735,11 +25315,11 @@ }, { "constant": false, - "id": 589, + "id": 573, "name": "timeoutHours", "nodeType": "VariableDeclaration", - "scope": 642, - "src": "12296:19:0", + "scope": 626, + "src": "12166:19:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -25747,10 +25327,10 @@ "typeString": "uint32" }, "typeName": { - "id": 588, + "id": 572, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "12296:6:0", + "src": "12166:6:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -25761,11 +25341,11 @@ }, { "constant": false, - "id": 591, + "id": 575, "name": "buyer", "nodeType": "VariableDeclaration", - "scope": 642, - "src": "12325:13:0", + "scope": 626, + "src": "12195:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -25773,10 +25353,10 @@ "typeString": "address" }, "typeName": { - "id": 590, + "id": 574, "name": "address", "nodeType": "ElementaryTypeName", - "src": "12325:7:0", + "src": "12195:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -25787,11 +25367,11 @@ }, { "constant": false, - "id": 593, + "id": 577, "name": "seller", "nodeType": "VariableDeclaration", - "scope": 642, - "src": "12348:14:0", + "scope": 626, + "src": "12218:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -25799,10 +25379,10 @@ "typeString": "address" }, "typeName": { - "id": 592, + "id": 576, "name": "address", "nodeType": "ElementaryTypeName", - "src": "12348:7:0", + "src": "12218:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -25813,11 +25393,11 @@ }, { "constant": false, - "id": 595, + "id": 579, "name": "moderator", "nodeType": "VariableDeclaration", - "scope": 642, - "src": "12372:17:0", + "scope": 626, + "src": "12242:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -25825,10 +25405,10 @@ "typeString": "address" }, "typeName": { - "id": 594, + "id": 578, "name": "address", "nodeType": "ElementaryTypeName", - "src": "12372:7:0", + "src": "12242:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -25839,11 +25419,11 @@ }, { "constant": false, - "id": 597, + "id": 581, "name": "tokenAddress", "nodeType": "VariableDeclaration", - "scope": 642, - "src": "12399:20:0", + "scope": 626, + "src": "12269:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -25851,10 +25431,10 @@ "typeString": "address" }, "typeName": { - "id": 596, + "id": 580, "name": "address", "nodeType": "ElementaryTypeName", - "src": "12399:7:0", + "src": "12269:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -25864,20 +25444,20 @@ "visibility": "internal" } ], - "src": "12235:190:0" + "src": "12105:190:0" }, "payable": false, "returnParameters": { - "id": 601, + "id": 585, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 600, + "id": 584, "name": "", "nodeType": "VariableDeclaration", - "scope": 642, - "src": "12471:7:0", + "scope": 626, + "src": "12341:7:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -25885,10 +25465,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 599, + "id": 583, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "12471:7:0", + "src": "12341:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -25898,32 +25478,32 @@ "visibility": "internal" } ], - "src": "12470:9:0" + "src": "12340:9:0" }, - "scope": 1224, - "src": "12201:1017:0", + "scope": 1208, + "src": "12071:1017:0", "stateMutability": "view", "superFunction": null, "visibility": "public" }, { "body": { - "id": 710, + "id": 694, "nodeType": "Block", - "src": "13703:797:0", + "src": "13573:797:0", "statements": [ { "assignments": [ - 663 + 647 ], "declarations": [ { "constant": false, - "id": 663, + "id": 647, "name": "lastRecovered", "nodeType": "VariableDeclaration", - "scope": 711, - "src": "13713:21:0", + "scope": 695, + "src": "13583:21:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -25931,10 +25511,10 @@ "typeString": "address" }, "typeName": { - "id": 662, + "id": 646, "name": "address", "nodeType": "ElementaryTypeName", - "src": "13713:7:0", + "src": "13583:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -25944,18 +25524,18 @@ "visibility": "internal" } ], - "id": 672, + "id": 656, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 665, + "id": 649, "name": "sigV", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 645, - "src": "13768:4:0", + "referencedDeclaration": 629, + "src": "13638:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr", "typeString": "uint8[] memory" @@ -25963,12 +25543,12 @@ }, { "argumentTypes": null, - "id": 666, + "id": 650, "name": "sigR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 648, - "src": "13786:4:0", + "referencedDeclaration": 632, + "src": "13656:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" @@ -25976,12 +25556,12 @@ }, { "argumentTypes": null, - "id": 667, + "id": 651, "name": "sigS", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 651, - "src": "13804:4:0", + "referencedDeclaration": 635, + "src": "13674:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" @@ -25989,12 +25569,12 @@ }, { "argumentTypes": null, - "id": 668, + "id": 652, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 653, - "src": "13822:10:0", + "referencedDeclaration": 637, + "src": "13692:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -26002,12 +25582,12 @@ }, { "argumentTypes": null, - "id": 669, + "id": 653, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 656, - "src": "13846:12:0", + "referencedDeclaration": 640, + "src": "13716:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -26015,12 +25595,12 @@ }, { "argumentTypes": null, - "id": 670, + "id": 654, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 659, - "src": "13872:7:0", + "referencedDeclaration": 643, + "src": "13742:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" @@ -26054,18 +25634,18 @@ "typeString": "uint256[] memory" } ], - "id": 664, + "id": 648, "name": "_verifySignatures", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1035, - "src": "13737:17:0", + "referencedDeclaration": 1019, + "src": "13607:17:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_array$_t_uint8_$dyn_memory_ptr_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_bytes32_$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$_t_address_$", "typeString": "function (uint8[] memory,bytes32[] memory,bytes32[] memory,bytes32,address[] memory,uint256[] memory) returns (address)" } }, - "id": 671, + "id": 655, "isConstant": false, "isLValue": false, "isPure": false, @@ -26073,27 +25653,27 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "13737:152:0", + "src": "13607:152:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "VariableDeclarationStatement", - "src": "13713:176:0" + "src": "13583:176:0" }, { "assignments": [ - 674 + 658 ], "declarations": [ { "constant": false, - "id": 674, + "id": 658, "name": "timeLockExpired", "nodeType": "VariableDeclaration", - "scope": 711, - "src": "13900:20:0", + "scope": 695, + "src": "13770:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -26101,10 +25681,10 @@ "typeString": "bool" }, "typeName": { - "id": 673, + "id": 657, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "13900:4:0", + "src": "13770:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -26114,7 +25694,7 @@ "visibility": "internal" } ], - "id": 685, + "id": 669, "initialValue": { "argumentTypes": null, "arguments": [ @@ -26124,26 +25704,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 676, + "id": 660, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "13955:12:0", + "src": "13825:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 678, + "id": 662, "indexExpression": { "argumentTypes": null, - "id": 677, + "id": 661, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 653, - "src": "13968:10:0", + "referencedDeclaration": 637, + "src": "13838:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -26154,13 +25734,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "13955:24:0", + "src": "13825:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 679, + "id": 663, "isConstant": false, "isLValue": true, "isPure": false, @@ -26168,7 +25748,7 @@ "memberName": "timeoutHours", "nodeType": "MemberAccess", "referencedDeclaration": 50, - "src": "13955:37:0", + "src": "13825:37:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -26180,26 +25760,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 680, + "id": 664, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "14006:12:0", + "src": "13876:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 682, + "id": 666, "indexExpression": { "argumentTypes": null, - "id": 681, + "id": 665, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 653, - "src": "14019:10:0", + "referencedDeclaration": 637, + "src": "13889:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -26210,13 +25790,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "14006:24:0", + "src": "13876:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 683, + "id": 667, "isConstant": false, "isLValue": true, "isPure": false, @@ -26224,7 +25804,7 @@ "memberName": "lastModified", "nodeType": "MemberAccess", "referencedDeclaration": 42, - "src": "14006:37:0", + "src": "13876:37:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -26242,18 +25822,18 @@ "typeString": "uint256" } ], - "id": 675, + "id": 659, "name": "_isTimeLockExpired", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1067, - "src": "13923:18:0", + "referencedDeclaration": 1051, + "src": "13793:18:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_uint32_$_t_uint256_$returns$_t_bool_$", "typeString": "function (uint32,uint256) view returns (bool)" } }, - "id": 684, + "id": 668, "isConstant": false, "isLValue": false, "isPure": false, @@ -26261,14 +25841,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "13923:130:0", + "src": "13793:130:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "nodeType": "VariableDeclarationStatement", - "src": "13900:153:0" + "src": "13770:153:0" }, { "condition": { @@ -26277,7 +25857,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 703, + "id": 687, "isConstant": false, "isLValue": false, "isPure": false, @@ -26288,7 +25868,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 692, + "id": 676, "isConstant": false, "isLValue": false, "isPure": false, @@ -26297,18 +25877,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 686, + "id": 670, "name": "sigV", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 645, - "src": "14225:4:0", + "referencedDeclaration": 629, + "src": "14095:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr", "typeString": "uint8[] memory" } }, - "id": 687, + "id": 671, "isConstant": false, "isLValue": false, "isPure": false, @@ -26316,7 +25896,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "14225:11:0", + "src": "14095:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -26330,26 +25910,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 688, + "id": 672, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "14239:12:0", + "src": "14109:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 690, + "id": 674, "indexExpression": { "argumentTypes": null, - "id": 689, + "id": 673, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 653, - "src": "14252:10:0", + "referencedDeclaration": 637, + "src": "14122:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -26360,13 +25940,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "14239:24:0", + "src": "14109:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 691, + "id": 675, "isConstant": false, "isLValue": true, "isPure": false, @@ -26374,13 +25954,13 @@ "memberName": "threshold", "nodeType": "MemberAccess", "referencedDeclaration": 48, - "src": "14239:34:0", + "src": "14109:34:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, - "src": "14225:48:0", + "src": "14095:48:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -26397,14 +25977,14 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 701, + "id": 685, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 694, + "id": 678, "isConstant": false, "isLValue": false, "isPure": false, @@ -26412,15 +25992,15 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "14278:16:0", + "src": "14148:16:0", "subExpression": { "argumentTypes": null, - "id": 693, + "id": 677, "name": "timeLockExpired", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 674, - "src": "14279:15:0", + "referencedDeclaration": 658, + "src": "14149:15:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -26439,19 +26019,19 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 700, + "id": 684, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 695, + "id": 679, "name": "lastRecovered", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 663, - "src": "14298:13:0", + "referencedDeclaration": 647, + "src": "14168:13:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -26465,26 +26045,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 696, + "id": 680, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "14315:12:0", + "src": "14185:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 698, + "id": 682, "indexExpression": { "argumentTypes": null, - "id": 697, + "id": 681, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 653, - "src": "14328:10:0", + "referencedDeclaration": 637, + "src": "14198:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -26495,13 +26075,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "14315:24:0", + "src": "14185:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 699, + "id": 683, "isConstant": false, "isLValue": true, "isPure": false, @@ -26509,52 +26089,52 @@ "memberName": "seller", "nodeType": "MemberAccess", "referencedDeclaration": 54, - "src": "14315:31:0", + "src": "14185:31:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "14298:48:0", + "src": "14168:48:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "14278:68:0", + "src": "14148:68:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } } ], - "id": 702, + "id": 686, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "14277:70:0", + "src": "14147:70:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "14225:122:0", + "src": "14095:122:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, - "id": 709, + "id": 693, "nodeType": "IfStatement", - "src": "14204:289:0", + "src": "14074:289:0", "trueBody": { - "id": 708, + "id": 692, "nodeType": "Block", - "src": "14370:123:0", + "src": "14240:123:0", "statements": [ { "expression": { @@ -26563,14 +26143,14 @@ { "argumentTypes": null, "hexValue": "4d696e696d756d206e756d626572206f66207369676e61747572657320617265206e6f7420636f6c6c656374656420616e642074696d65206c6f636b2065787069727920636f6e646974696f6e73206e6f74206d65742121", - "id": 705, + "id": 689, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "14391:90:0", + "src": "14261:90:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_e454643f61f81e3a3dc8dabaafde295fea592e232abeb03abbb1835bdc3d20d0", @@ -26586,21 +26166,21 @@ "typeString": "literal_string \"Minimum number of signatures are not collected and time lock expiry conditions not met!!\"" } ], - "id": 704, + "id": 688, "name": "revert", "nodeType": "Identifier", "overloadedDeclarations": [ - 1402, - 1403 + 1386, + 1387 ], - "referencedDeclaration": 1403, - "src": "14384:6:0", + "referencedDeclaration": 1387, + "src": "14254:6:0", "typeDescriptions": { "typeIdentifier": "t_function_revert_pure$_t_string_memory_ptr_$returns$__$", "typeString": "function (string memory) pure" } }, - "id": 706, + "id": 690, "isConstant": false, "isLValue": false, "isPure": false, @@ -26608,15 +26188,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "14384:98:0", + "src": "14254:98:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 707, + "id": 691, "nodeType": "ExpressionStatement", - "src": "14384:98:0" + "src": "14254:98:0" } ] } @@ -26624,7 +26204,7 @@ ] }, "documentation": "@dev This methods checks validity of transaction\n1. Verify Signatures\n2. Check if minimum number of signatures has been acquired\n3. If above condition is false, check if time lock is expired and the execution is signed by seller", - "id": 711, + "id": 695, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -26632,16 +26212,16 @@ "name": "_verifyTransaction", "nodeType": "FunctionDefinition", "parameters": { - "id": 660, + "id": 644, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 645, + "id": 629, "name": "sigV", "nodeType": "VariableDeclaration", - "scope": 711, - "src": "13529:12:0", + "scope": 695, + "src": "13399:12:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -26650,19 +26230,19 @@ }, "typeName": { "baseType": { - "id": 643, + "id": 627, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "13529:5:0", + "src": "13399:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, - "id": 644, + "id": 628, "length": null, "nodeType": "ArrayTypeName", - "src": "13529:7:0", + "src": "13399:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_storage_ptr", "typeString": "uint8[]" @@ -26673,11 +26253,11 @@ }, { "constant": false, - "id": 648, + "id": 632, "name": "sigR", "nodeType": "VariableDeclaration", - "scope": 711, - "src": "13551:14:0", + "scope": 695, + "src": "13421:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -26686,19 +26266,19 @@ }, "typeName": { "baseType": { - "id": 646, + "id": 630, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "13551:7:0", + "src": "13421:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "id": 647, + "id": 631, "length": null, "nodeType": "ArrayTypeName", - "src": "13551:9:0", + "src": "13421:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -26709,11 +26289,11 @@ }, { "constant": false, - "id": 651, + "id": 635, "name": "sigS", "nodeType": "VariableDeclaration", - "scope": 711, - "src": "13575:14:0", + "scope": 695, + "src": "13445:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -26722,19 +26302,19 @@ }, "typeName": { "baseType": { - "id": 649, + "id": 633, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "13575:7:0", + "src": "13445:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "id": 650, + "id": 634, "length": null, "nodeType": "ArrayTypeName", - "src": "13575:9:0", + "src": "13445:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -26745,11 +26325,11 @@ }, { "constant": false, - "id": 653, + "id": 637, "name": "scriptHash", "nodeType": "VariableDeclaration", - "scope": 711, - "src": "13599:18:0", + "scope": 695, + "src": "13469:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -26757,10 +26337,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 652, + "id": 636, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "13599:7:0", + "src": "13469:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -26771,11 +26351,11 @@ }, { "constant": false, - "id": 656, + "id": 640, "name": "destinations", "nodeType": "VariableDeclaration", - "scope": 711, - "src": "13627:22:0", + "scope": 695, + "src": "13497:22:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -26784,19 +26364,19 @@ }, "typeName": { "baseType": { - "id": 654, + "id": 638, "name": "address", "nodeType": "ElementaryTypeName", - "src": "13627:7:0", + "src": "13497:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 655, + "id": 639, "length": null, "nodeType": "ArrayTypeName", - "src": "13627:9:0", + "src": "13497:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", "typeString": "address[]" @@ -26807,11 +26387,11 @@ }, { "constant": false, - "id": 659, + "id": 643, "name": "amounts", "nodeType": "VariableDeclaration", - "scope": 711, - "src": "13659:17:0", + "scope": 695, + "src": "13529:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -26820,19 +26400,19 @@ }, "typeName": { "baseType": { - "id": 657, + "id": 641, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "13659:7:0", + "src": "13529:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 658, + "id": 642, "length": null, "nodeType": "ArrayTypeName", - "src": "13659:9:0", + "src": "13529:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -26842,39 +26422,39 @@ "visibility": "internal" } ], - "src": "13519:163:0" + "src": "13389:163:0" }, "payable": false, "returnParameters": { - "id": 661, + "id": 645, "nodeType": "ParameterList", "parameters": [], - "src": "13703:0:0" + "src": "13573:0:0" }, - "scope": 1224, - "src": "13492:1008:0", + "scope": 1208, + "src": "13362:1008:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "private" }, { "body": { - "id": 903, + "id": 887, "nodeType": "Block", - "src": "14787:1562:0", + "src": "14657:1562:0", "statements": [ { "assignments": [ - 725 + 709 ], "declarations": [ { "constant": false, - "id": 725, + "id": 709, "name": "t", "nodeType": "VariableDeclaration", - "scope": 904, - "src": "14797:21:0", + "scope": 888, + "src": "14667:21:0", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { @@ -26883,11 +26463,11 @@ }, "typeName": { "contractScope": null, - "id": 724, + "id": 708, "name": "Transaction", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 71, - "src": "14797:11:0", + "src": "14667:11:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction" @@ -26897,31 +26477,31 @@ "visibility": "internal" } ], - "id": 729, + "id": 713, "initialValue": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 726, + "id": 710, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "14821:12:0", + "src": "14691:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 728, + "id": 712, "indexExpression": { "argumentTypes": null, - "id": 727, + "id": 711, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 713, - "src": "14834:10:0", + "referencedDeclaration": 697, + "src": "14704:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -26932,27 +26512,27 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "14821:24:0", + "src": "14691:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "14797:48:0" + "src": "14667:48:0" }, { "assignments": [ - 731 + 715 ], "declarations": [ { "constant": false, - "id": 731, + "id": 715, "name": "valueTransferred", "nodeType": "VariableDeclaration", - "scope": 904, - "src": "14856:24:0", + "scope": 888, + "src": "14726:24:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -26960,10 +26540,10 @@ "typeString": "uint256" }, "typeName": { - "id": 730, + "id": 714, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "14856:7:0", + "src": "14726:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -26973,18 +26553,18 @@ "visibility": "internal" } ], - "id": 733, + "id": 717, "initialValue": { "argumentTypes": null, "hexValue": "30", - "id": 732, + "id": 716, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "14883:1:0", + "src": "14753:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -26993,7 +26573,7 @@ "value": "0" }, "nodeType": "VariableDeclarationStatement", - "src": "14856:28:0" + "src": "14726:28:0" }, { "condition": { @@ -27002,7 +26582,7 @@ "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" }, - "id": 738, + "id": 722, "isConstant": false, "isLValue": false, "isPure": false, @@ -27011,18 +26591,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 734, + "id": 718, "name": "t", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 725, - "src": "14899:1:0", + "referencedDeclaration": 709, + "src": "14769:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" } }, - "id": 735, + "id": 719, "isConstant": false, "isLValue": true, "isPure": false, @@ -27030,7 +26610,7 @@ "memberName": "transactionType", "nodeType": "MemberAccess", "referencedDeclaration": 46, - "src": "14899:17:0", + "src": "14769:17:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -27042,18 +26622,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 736, + "id": 720, "name": "TransactionType", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12, - "src": "14920:15:0", + "src": "14790:15:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_TransactionType_$12_$", "typeString": "type(enum Escrow_v1_0.TransactionType)" } }, - "id": 737, + "id": 721, "isConstant": false, "isLValue": false, "isPure": true, @@ -27061,13 +26641,13 @@ "memberName": "ETHER", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "14920:21:0", + "src": "14790:21:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" } }, - "src": "14899:42:0", + "src": "14769:42:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -27080,7 +26660,7 @@ "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" }, - "id": 815, + "id": 799, "isConstant": false, "isLValue": false, "isPure": false, @@ -27089,18 +26669,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 811, + "id": 795, "name": "t", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 725, - "src": "15555:1:0", + "referencedDeclaration": 709, + "src": "15425:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" } }, - "id": 812, + "id": 796, "isConstant": false, "isLValue": true, "isPure": false, @@ -27108,7 +26688,7 @@ "memberName": "transactionType", "nodeType": "MemberAccess", "referencedDeclaration": 46, - "src": "15555:17:0", + "src": "15425:17:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -27120,18 +26700,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 813, + "id": 797, "name": "TransactionType", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12, - "src": "15576:15:0", + "src": "15446:15:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_TransactionType_$12_$", "typeString": "type(enum Escrow_v1_0.TransactionType)" } }, - "id": 814, + "id": 798, "isConstant": false, "isLValue": false, "isPure": true, @@ -27139,54 +26719,54 @@ "memberName": "TOKEN", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "15576:21:0", + "src": "15446:21:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" } }, - "src": "15555:42:0", + "src": "15425:42:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, - "id": 899, + "id": 883, "nodeType": "IfStatement", - "src": "15551:758:0", + "src": "15421:758:0", "trueBody": { - "id": 898, + "id": 882, "nodeType": "Block", - "src": "15599:710:0", + "src": "15469:710:0", "statements": [ { "assignments": [ - 817 + 801 ], "declarations": [ { "constant": false, - "id": 817, + "id": 801, "name": "token", "nodeType": "VariableDeclaration", - "scope": 904, - "src": "15614:20:0", + "scope": 888, + "src": "15484:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenContract_$1254", + "typeIdentifier": "t_contract$_ITokenContract_$1238", "typeString": "contract ITokenContract" }, "typeName": { "contractScope": null, - "id": 816, + "id": 800, "name": "ITokenContract", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1254, - "src": "15614:14:0", + "referencedDeclaration": 1238, + "src": "15484:14:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenContract_$1254", + "typeIdentifier": "t_contract$_ITokenContract_$1238", "typeString": "contract ITokenContract" } }, @@ -27194,7 +26774,7 @@ "visibility": "internal" } ], - "id": 822, + "id": 806, "initialValue": { "argumentTypes": null, "arguments": [ @@ -27202,18 +26782,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 819, + "id": 803, "name": "t", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 725, - "src": "15652:1:0", + "referencedDeclaration": 709, + "src": "15522:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" } }, - "id": 820, + "id": 804, "isConstant": false, "isLValue": true, "isPure": false, @@ -27221,7 +26801,7 @@ "memberName": "tokenAddress", "nodeType": "MemberAccess", "referencedDeclaration": 56, - "src": "15652:14:0", + "src": "15522:14:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -27235,18 +26815,18 @@ "typeString": "address" } ], - "id": 818, + "id": 802, "name": "ITokenContract", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1254, - "src": "15637:14:0", + "referencedDeclaration": 1238, + "src": "15507:14:0", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ITokenContract_$1254_$", + "typeIdentifier": "t_type$_t_contract$_ITokenContract_$1238_$", "typeString": "type(contract ITokenContract)" } }, - "id": 821, + "id": 805, "isConstant": false, "isLValue": false, "isPure": false, @@ -27254,20 +26834,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15637:30:0", + "src": "15507:30:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenContract_$1254", + "typeIdentifier": "t_contract$_ITokenContract_$1238", "typeString": "contract ITokenContract" } }, "nodeType": "VariableDeclarationStatement", - "src": "15614:53:0" + "src": "15484:53:0" }, { "body": { - "id": 896, + "id": 880, "nodeType": "Block", - "src": "15730:569:0", + "src": "15600:569:0", "statements": [ { "expression": { @@ -27279,7 +26859,7 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 841, + "id": 825, "isConstant": false, "isLValue": false, "isPure": false, @@ -27288,26 +26868,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 835, + "id": 819, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 716, - "src": "15757:12:0", + "referencedDeclaration": 700, + "src": "15627:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" } }, - "id": 837, + "id": 821, "indexExpression": { "argumentTypes": null, - "id": 836, + "id": 820, "name": "j", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 824, - "src": "15770:1:0", + "referencedDeclaration": 808, + "src": "15640:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27318,7 +26898,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15757:15:0", + "src": "15627:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -27332,14 +26912,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 839, + "id": 823, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "15784:1:0", + "src": "15654:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -27355,20 +26935,20 @@ "typeString": "int_const 0" } ], - "id": 838, + "id": 822, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "15776:7:0", + "src": "15646:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, - "id": 840, + "id": 824, "isConstant": false, "isLValue": false, "isPure": true, @@ -27376,13 +26956,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15776:10:0", + "src": "15646:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "15757:29:0", + "src": "15627:29:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -27391,14 +26971,14 @@ { "argumentTypes": null, "hexValue": "7a65726f2061646472657373206973206e6f7420616c6c6f7765642061732064657374696e6174696f6e2061646472657373", - "id": 842, + "id": 826, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "15788:52:0", + "src": "15658:52:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_587fbb5a9b8e6d4cc482f236066ac51bcf007ae6026eab186437d2f1b22fc139", @@ -27418,21 +26998,21 @@ "typeString": "literal_string \"zero address is not allowed as destination address\"" } ], - "id": 834, + "id": 818, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1400, - 1401 + 1384, + 1385 ], - "referencedDeclaration": 1401, - "src": "15749:7:0", + "referencedDeclaration": 1385, + "src": "15619:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 843, + "id": 827, "isConstant": false, "isLValue": false, "isPure": false, @@ -27440,15 +27020,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15749:92:0", + "src": "15619:92:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 844, + "id": 828, "nodeType": "ExpressionStatement", - "src": "15749:92:0" + "src": "15619:92:0" }, { "expression": { @@ -27460,18 +27040,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 846, + "id": 830, "name": "t", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 725, - "src": "15868:1:0", + "referencedDeclaration": 709, + "src": "15738:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" } }, - "id": 847, + "id": 831, "isConstant": false, "isLValue": true, "isPure": false, @@ -27479,37 +27059,37 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "15868:9:0", + "src": "15738:9:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 851, + "id": 835, "indexExpression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 848, + "id": 832, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 716, - "src": "15878:12:0", + "referencedDeclaration": 700, + "src": "15748:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" } }, - "id": 850, + "id": 834, "indexExpression": { "argumentTypes": null, - "id": 849, + "id": 833, "name": "j", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 824, - "src": "15891:1:0", + "referencedDeclaration": 808, + "src": "15761:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27520,7 +27100,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15878:15:0", + "src": "15748:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -27531,7 +27111,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15868:26:0", + "src": "15738:26:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -27540,14 +27120,14 @@ { "argumentTypes": null, "hexValue": "44657374696e6174696f6e2061646472657373206973206e6f74206f6e65206f6620746865206f776e657273", - "id": 852, + "id": 836, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "15896:46:0", + "src": "15766:46:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_5ccbe9d117aeeb4b3546dfe6a12f083cb37039367b3ec38b60873b8650bc846f", @@ -27567,21 +27147,21 @@ "typeString": "literal_string \"Destination address is not one of the owners\"" } ], - "id": 845, + "id": 829, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1400, - 1401 + 1384, + 1385 ], - "referencedDeclaration": 1401, - "src": "15860:7:0", + "referencedDeclaration": 1385, + "src": "15730:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 853, + "id": 837, "isConstant": false, "isLValue": false, "isPure": false, @@ -27589,15 +27169,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15860:83:0", + "src": "15730:83:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 854, + "id": 838, "nodeType": "ExpressionStatement", - "src": "15860:83:0" + "src": "15730:83:0" }, { "expression": { @@ -27609,7 +27189,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 860, + "id": 844, "isConstant": false, "isLValue": false, "isPure": false, @@ -27618,26 +27198,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 856, + "id": 840, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 719, - "src": "15970:7:0", + "referencedDeclaration": 703, + "src": "15840:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 858, + "id": 842, "indexExpression": { "argumentTypes": null, - "id": 857, + "id": 841, "name": "j", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 824, - "src": "15978:1:0", + "referencedDeclaration": 808, + "src": "15848:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27648,7 +27228,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15970:10:0", + "src": "15840:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27659,14 +27239,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 859, + "id": 843, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "15983:1:0", + "src": "15853:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -27674,7 +27254,7 @@ }, "value": "0" }, - "src": "15970:14:0", + "src": "15840:14:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -27683,14 +27263,14 @@ { "argumentTypes": null, "hexValue": "416d6f756e7420746f2062652073656e742073686f756c642062652067726561746572207468616e2030", - "id": 861, + "id": 845, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "15986:44:0", + "src": "15856:44:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_5e1271a09dbb64ae031de288deb0ad8d707df7db51d6e827931dc8fa6642a71e", @@ -27710,21 +27290,21 @@ "typeString": "literal_string \"Amount to be sent should be greater than 0\"" } ], - "id": 855, + "id": 839, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1400, - 1401 + 1384, + 1385 ], - "referencedDeclaration": 1401, - "src": "15962:7:0", + "referencedDeclaration": 1385, + "src": "15832:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 862, + "id": 846, "isConstant": false, "isLValue": false, "isPure": false, @@ -27732,32 +27312,32 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15962:69:0", + "src": "15832:69:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 863, + "id": 847, "nodeType": "ExpressionStatement", - "src": "15962:69:0" + "src": "15832:69:0" }, { "expression": { "argumentTypes": null, - "id": 871, + "id": 855, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 864, + "id": 848, "name": "valueTransferred", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 731, - "src": "16050:16:0", + "referencedDeclaration": 715, + "src": "15920:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27772,26 +27352,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 867, + "id": 851, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 719, - "src": "16090:7:0", + "referencedDeclaration": 703, + "src": "15960:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 869, + "id": 853, "indexExpression": { "argumentTypes": null, - "id": 868, + "id": 852, "name": "j", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 824, - "src": "16098:1:0", + "referencedDeclaration": 808, + "src": "15968:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27802,7 +27382,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "16090:10:0", + "src": "15960:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27818,32 +27398,32 @@ ], "expression": { "argumentTypes": null, - "id": 865, + "id": 849, "name": "valueTransferred", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 731, - "src": "16069:16:0", + "referencedDeclaration": 715, + "src": "15939:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 866, + "id": 850, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 1361, - "src": "16069:20:0", + "referencedDeclaration": 1345, + "src": "15939:20:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 870, + "id": 854, "isConstant": false, "isLValue": false, "isPure": false, @@ -27851,26 +27431,26 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16069:32:0", + "src": "15939:32:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "16050:51:0", + "src": "15920:51:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 872, + "id": 856, "nodeType": "ExpressionStatement", - "src": "16050:51:0" + "src": "15920:51:0" }, { "expression": { "argumentTypes": null, - "id": 881, + "id": 865, "isConstant": false, "isLValue": false, "isPure": false, @@ -27881,18 +27461,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 873, + "id": 857, "name": "t", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 725, - "src": "16119:1:0", + "referencedDeclaration": 709, + "src": "15989:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" } }, - "id": 878, + "id": 862, "isConstant": false, "isLValue": true, "isPure": false, @@ -27900,37 +27480,37 @@ "memberName": "beneficiaries", "nodeType": "MemberAccess", "referencedDeclaration": 70, - "src": "16119:15:0", + "src": "15989:15:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 879, + "id": 863, "indexExpression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 875, + "id": 859, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 716, - "src": "16135:12:0", + "referencedDeclaration": 700, + "src": "16005:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" } }, - "id": 877, + "id": 861, "indexExpression": { "argumentTypes": null, - "id": 876, + "id": 860, "name": "j", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 824, - "src": "16148:1:0", + "referencedDeclaration": 808, + "src": "16018:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27941,7 +27521,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "16135:15:0", + "src": "16005:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -27952,7 +27532,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "16119:32:0", + "src": "15989:32:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -27963,14 +27543,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "74727565", - "id": 880, + "id": 864, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "16154:4:0", + "src": "16024:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -27978,15 +27558,15 @@ }, "value": "true" }, - "src": "16119:39:0", + "src": "15989:39:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 882, + "id": 866, "nodeType": "ExpressionStatement", - "src": "16119:39:0" + "src": "15989:39:0" }, { "expression": { @@ -27999,26 +27579,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 886, + "id": 870, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 716, - "src": "16229:12:0", + "referencedDeclaration": 700, + "src": "16099:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" } }, - "id": 888, + "id": 872, "indexExpression": { "argumentTypes": null, - "id": 887, + "id": 871, "name": "j", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 824, - "src": "16242:1:0", + "referencedDeclaration": 808, + "src": "16112:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28029,7 +27609,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "16229:15:0", + "src": "16099:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -28039,26 +27619,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 889, + "id": 873, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 719, - "src": "16246:7:0", + "referencedDeclaration": 703, + "src": "16116:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 891, + "id": 875, "indexExpression": { "argumentTypes": null, - "id": 890, + "id": 874, "name": "j", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 824, - "src": "16254:1:0", + "referencedDeclaration": 808, + "src": "16124:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28069,7 +27649,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "16246:10:0", + "src": "16116:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28089,32 +27669,32 @@ ], "expression": { "argumentTypes": null, - "id": 884, + "id": 868, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 817, - "src": "16214:5:0", + "referencedDeclaration": 801, + "src": "16084:5:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenContract_$1254", + "typeIdentifier": "t_contract$_ITokenContract_$1238", "typeString": "contract ITokenContract" } }, - "id": 885, + "id": 869, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "transfer", "nodeType": "MemberAccess", - "referencedDeclaration": 1242, - "src": "16214:14:0", + "referencedDeclaration": 1226, + "src": "16084:14:0", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", "typeString": "function (address,uint256) external returns (bool)" } }, - "id": 892, + "id": 876, "isConstant": false, "isLValue": false, "isPure": false, @@ -28122,7 +27702,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16214:43:0", + "src": "16084:43:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -28131,14 +27711,14 @@ { "argumentTypes": null, "hexValue": "546f6b656e207472616e73666572206661696c65642e", - "id": 893, + "id": 877, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "16259:24:0", + "src": "16129:24:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_e545223bb79d8456d66fa5a98897abb42bb4807111f004a120200da3b7e292c5", @@ -28158,21 +27738,21 @@ "typeString": "literal_string \"Token transfer failed.\"" } ], - "id": 883, + "id": 867, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1400, - 1401 + 1384, + 1385 ], - "referencedDeclaration": 1401, - "src": "16206:7:0", + "referencedDeclaration": 1385, + "src": "16076:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 894, + "id": 878, "isConstant": false, "isLValue": false, "isPure": false, @@ -28180,15 +27760,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16206:78:0", + "src": "16076:78:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 895, + "id": 879, "nodeType": "ExpressionStatement", - "src": "16206:78:0" + "src": "16076:78:0" } ] }, @@ -28198,19 +27778,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 830, + "id": 814, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 827, + "id": 811, "name": "j", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 824, - "src": "15702:1:0", + "referencedDeclaration": 808, + "src": "15572:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28222,18 +27802,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 828, + "id": 812, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 716, - "src": "15704:12:0", + "referencedDeclaration": 700, + "src": "15574:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" } }, - "id": 829, + "id": 813, "isConstant": false, "isLValue": false, "isPure": false, @@ -28241,31 +27821,31 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "15704:19:0", + "src": "15574:19:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "15702:21:0", + "src": "15572:21:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 897, + "id": 881, "initializationExpression": { "assignments": [ - 824 + 808 ], "declarations": [ { "constant": false, - "id": 824, + "id": 808, "name": "j", "nodeType": "VariableDeclaration", - "scope": 904, - "src": "15687:9:0", + "scope": 888, + "src": "15557:9:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -28273,10 +27853,10 @@ "typeString": "uint256" }, "typeName": { - "id": 823, + "id": 807, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "15687:7:0", + "src": "15557:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28286,18 +27866,18 @@ "visibility": "internal" } ], - "id": 826, + "id": 810, "initialValue": { "argumentTypes": null, "hexValue": "30", - "id": 825, + "id": 809, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "15699:1:0", + "src": "15569:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -28306,12 +27886,12 @@ "value": "0" }, "nodeType": "VariableDeclarationStatement", - "src": "15687:13:0" + "src": "15557:13:0" }, "loopExpression": { "expression": { "argumentTypes": null, - "id": 832, + "id": 816, "isConstant": false, "isLValue": false, "isPure": false, @@ -28319,15 +27899,15 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "15725:3:0", + "src": "15595:3:0", "subExpression": { "argumentTypes": null, - "id": 831, + "id": 815, "name": "j", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 824, - "src": "15725:1:0", + "referencedDeclaration": 808, + "src": "15595:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28338,29 +27918,29 @@ "typeString": "uint256" } }, - "id": 833, + "id": 817, "nodeType": "ExpressionStatement", - "src": "15725:3:0" + "src": "15595:3:0" }, "nodeType": "ForStatement", - "src": "15682:617:0" + "src": "15552:617:0" } ] } }, - "id": 900, + "id": 884, "nodeType": "IfStatement", - "src": "14895:1414:0", + "src": "14765:1414:0", "trueBody": { - "id": 810, + "id": 794, "nodeType": "Block", - "src": "14943:602:0", + "src": "14813:602:0", "statements": [ { "body": { - "id": 808, + "id": 792, "nodeType": "Block", - "src": "15007:527:0", + "src": "14877:527:0", "statements": [ { "expression": { @@ -28372,7 +27952,7 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 757, + "id": 741, "isConstant": false, "isLValue": false, "isPure": false, @@ -28381,26 +27961,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 751, + "id": 735, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 716, - "src": "15034:12:0", + "referencedDeclaration": 700, + "src": "14904:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" } }, - "id": 753, + "id": 737, "indexExpression": { "argumentTypes": null, - "id": 752, + "id": 736, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 740, - "src": "15047:1:0", + "referencedDeclaration": 724, + "src": "14917:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28411,7 +27991,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15034:15:0", + "src": "14904:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -28425,14 +28005,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 755, + "id": 739, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "15061:1:0", + "src": "14931:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -28448,20 +28028,20 @@ "typeString": "int_const 0" } ], - "id": 754, + "id": 738, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "15053:7:0", + "src": "14923:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, - "id": 756, + "id": 740, "isConstant": false, "isLValue": false, "isPure": true, @@ -28469,13 +28049,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15053:10:0", + "src": "14923:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "15034:29:0", + "src": "14904:29:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -28484,14 +28064,14 @@ { "argumentTypes": null, "hexValue": "7a65726f2061646472657373206973206e6f7420616c6c6f7765642061732064657374696e6174696f6e2061646472657373", - "id": 758, + "id": 742, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "15065:52:0", + "src": "14935:52:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_587fbb5a9b8e6d4cc482f236066ac51bcf007ae6026eab186437d2f1b22fc139", @@ -28511,21 +28091,21 @@ "typeString": "literal_string \"zero address is not allowed as destination address\"" } ], - "id": 750, + "id": 734, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1400, - 1401 + 1384, + 1385 ], - "referencedDeclaration": 1401, - "src": "15026:7:0", + "referencedDeclaration": 1385, + "src": "14896:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 759, + "id": 743, "isConstant": false, "isLValue": false, "isPure": false, @@ -28533,15 +28113,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15026:92:0", + "src": "14896:92:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 760, + "id": 744, "nodeType": "ExpressionStatement", - "src": "15026:92:0" + "src": "14896:92:0" }, { "expression": { @@ -28553,18 +28133,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 762, + "id": 746, "name": "t", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 725, - "src": "15145:1:0", + "referencedDeclaration": 709, + "src": "15015:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" } }, - "id": 763, + "id": 747, "isConstant": false, "isLValue": true, "isPure": false, @@ -28572,37 +28152,37 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "15145:9:0", + "src": "15015:9:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 767, + "id": 751, "indexExpression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 764, + "id": 748, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 716, - "src": "15155:12:0", + "referencedDeclaration": 700, + "src": "15025:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" } }, - "id": 766, + "id": 750, "indexExpression": { "argumentTypes": null, - "id": 765, + "id": 749, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 740, - "src": "15168:1:0", + "referencedDeclaration": 724, + "src": "15038:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28613,7 +28193,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15155:15:0", + "src": "15025:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -28624,7 +28204,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15145:26:0", + "src": "15015:26:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -28633,14 +28213,14 @@ { "argumentTypes": null, "hexValue": "44657374696e6174696f6e2061646472657373206973206e6f74206f6e65206f6620746865206f776e657273", - "id": 768, + "id": 752, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "15173:46:0", + "src": "15043:46:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_5ccbe9d117aeeb4b3546dfe6a12f083cb37039367b3ec38b60873b8650bc846f", @@ -28660,21 +28240,21 @@ "typeString": "literal_string \"Destination address is not one of the owners\"" } ], - "id": 761, + "id": 745, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1400, - 1401 + 1384, + 1385 ], - "referencedDeclaration": 1401, - "src": "15137:7:0", + "referencedDeclaration": 1385, + "src": "15007:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 769, + "id": 753, "isConstant": false, "isLValue": false, "isPure": false, @@ -28682,15 +28262,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15137:83:0", + "src": "15007:83:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 770, + "id": 754, "nodeType": "ExpressionStatement", - "src": "15137:83:0" + "src": "15007:83:0" }, { "expression": { @@ -28702,7 +28282,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 776, + "id": 760, "isConstant": false, "isLValue": false, "isPure": false, @@ -28711,26 +28291,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 772, + "id": 756, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 719, - "src": "15247:7:0", + "referencedDeclaration": 703, + "src": "15117:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 774, + "id": 758, "indexExpression": { "argumentTypes": null, - "id": 773, + "id": 757, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 740, - "src": "15255:1:0", + "referencedDeclaration": 724, + "src": "15125:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28741,7 +28321,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15247:10:0", + "src": "15117:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28752,14 +28332,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 775, + "id": 759, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "15260:1:0", + "src": "15130:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -28767,7 +28347,7 @@ }, "value": "0" }, - "src": "15247:14:0", + "src": "15117:14:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -28776,14 +28356,14 @@ { "argumentTypes": null, "hexValue": "416d6f756e7420746f2062652073656e742073686f756c642062652067726561746572207468616e2030", - "id": 777, + "id": 761, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "15263:44:0", + "src": "15133:44:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_5e1271a09dbb64ae031de288deb0ad8d707df7db51d6e827931dc8fa6642a71e", @@ -28803,21 +28383,21 @@ "typeString": "literal_string \"Amount to be sent should be greater than 0\"" } ], - "id": 771, + "id": 755, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1400, - 1401 + 1384, + 1385 ], - "referencedDeclaration": 1401, - "src": "15239:7:0", + "referencedDeclaration": 1385, + "src": "15109:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 778, + "id": 762, "isConstant": false, "isLValue": false, "isPure": false, @@ -28825,32 +28405,32 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15239:69:0", + "src": "15109:69:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 779, + "id": 763, "nodeType": "ExpressionStatement", - "src": "15239:69:0" + "src": "15109:69:0" }, { "expression": { "argumentTypes": null, - "id": 787, + "id": 771, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 780, + "id": 764, "name": "valueTransferred", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 731, - "src": "15327:16:0", + "referencedDeclaration": 715, + "src": "15197:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28865,26 +28445,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 783, + "id": 767, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 719, - "src": "15367:7:0", + "referencedDeclaration": 703, + "src": "15237:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 785, + "id": 769, "indexExpression": { "argumentTypes": null, - "id": 784, + "id": 768, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 740, - "src": "15375:1:0", + "referencedDeclaration": 724, + "src": "15245:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28895,7 +28475,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15367:10:0", + "src": "15237:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28911,32 +28491,32 @@ ], "expression": { "argumentTypes": null, - "id": 781, + "id": 765, "name": "valueTransferred", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 731, - "src": "15346:16:0", + "referencedDeclaration": 715, + "src": "15216:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 782, + "id": 766, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 1361, - "src": "15346:20:0", + "referencedDeclaration": 1345, + "src": "15216:20:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 786, + "id": 770, "isConstant": false, "isLValue": false, "isPure": false, @@ -28944,26 +28524,26 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15346:32:0", + "src": "15216:32:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "15327:51:0", + "src": "15197:51:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 788, + "id": 772, "nodeType": "ExpressionStatement", - "src": "15327:51:0" + "src": "15197:51:0" }, { "expression": { "argumentTypes": null, - "id": 797, + "id": 781, "isConstant": false, "isLValue": false, "isPure": false, @@ -28974,18 +28554,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 789, + "id": 773, "name": "t", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 725, - "src": "15397:1:0", + "referencedDeclaration": 709, + "src": "15267:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" } }, - "id": 794, + "id": 778, "isConstant": false, "isLValue": true, "isPure": false, @@ -28993,37 +28573,37 @@ "memberName": "beneficiaries", "nodeType": "MemberAccess", "referencedDeclaration": 70, - "src": "15397:15:0", + "src": "15267:15:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 795, + "id": 779, "indexExpression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 791, + "id": 775, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 716, - "src": "15413:12:0", + "referencedDeclaration": 700, + "src": "15283:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" } }, - "id": 793, + "id": 777, "indexExpression": { "argumentTypes": null, - "id": 792, + "id": 776, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 740, - "src": "15426:1:0", + "referencedDeclaration": 724, + "src": "15296:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29034,7 +28614,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15413:15:0", + "src": "15283:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -29045,7 +28625,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "15397:32:0", + "src": "15267:32:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -29056,14 +28636,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "74727565", - "id": 796, + "id": 780, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "15432:4:0", + "src": "15302:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -29071,15 +28651,15 @@ }, "value": "true" }, - "src": "15397:39:0", + "src": "15267:39:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 798, + "id": 782, "nodeType": "ExpressionStatement", - "src": "15397:39:0" + "src": "15267:39:0" }, { "expression": { @@ -29089,26 +28669,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 803, + "id": 787, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 719, - "src": "15508:7:0", + "referencedDeclaration": 703, + "src": "15378:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 805, + "id": 789, "indexExpression": { "argumentTypes": null, - "id": 804, + "id": 788, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 740, - "src": "15516:1:0", + "referencedDeclaration": 724, + "src": "15386:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29119,7 +28699,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15508:10:0", + "src": "15378:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29137,26 +28717,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 799, + "id": 783, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 716, - "src": "15483:12:0", + "referencedDeclaration": 700, + "src": "15353:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" } }, - "id": 801, + "id": 785, "indexExpression": { "argumentTypes": null, - "id": 800, + "id": 784, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 740, - "src": "15496:1:0", + "referencedDeclaration": 724, + "src": "15366:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29167,13 +28747,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15483:15:0", + "src": "15353:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 802, + "id": 786, "isConstant": false, "isLValue": false, "isPure": false, @@ -29181,13 +28761,13 @@ "memberName": "transfer", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "15483:24:0", + "src": "15353:24:0", "typeDescriptions": { "typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$", "typeString": "function (uint256)" } }, - "id": 806, + "id": 790, "isConstant": false, "isLValue": false, "isPure": false, @@ -29195,15 +28775,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15483:36:0", + "src": "15353:36:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 807, + "id": 791, "nodeType": "ExpressionStatement", - "src": "15483:36:0" + "src": "15353:36:0" } ] }, @@ -29213,19 +28793,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 746, + "id": 730, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 743, + "id": 727, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 740, - "src": "14977:1:0", + "referencedDeclaration": 724, + "src": "14847:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29237,18 +28817,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 744, + "id": 728, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 716, - "src": "14981:12:0", + "referencedDeclaration": 700, + "src": "14851:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" } }, - "id": 745, + "id": 729, "isConstant": false, "isLValue": false, "isPure": false, @@ -29256,31 +28836,31 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "14981:19:0", + "src": "14851:19:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "14977:23:0", + "src": "14847:23:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 809, + "id": 793, "initializationExpression": { "assignments": [ - 740 + 724 ], "declarations": [ { "constant": false, - "id": 740, + "id": 724, "name": "i", "nodeType": "VariableDeclaration", - "scope": 904, - "src": "14962:9:0", + "scope": 888, + "src": "14832:9:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -29288,10 +28868,10 @@ "typeString": "uint256" }, "typeName": { - "id": 739, + "id": 723, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "14962:7:0", + "src": "14832:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29301,18 +28881,18 @@ "visibility": "internal" } ], - "id": 742, + "id": 726, "initialValue": { "argumentTypes": null, "hexValue": "30", - "id": 741, + "id": 725, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "14974:1:0", + "src": "14844:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -29321,12 +28901,12 @@ "value": "0" }, "nodeType": "VariableDeclarationStatement", - "src": "14962:13:0" + "src": "14832:13:0" }, "loopExpression": { "expression": { "argumentTypes": null, - "id": 748, + "id": 732, "isConstant": false, "isLValue": false, "isPure": false, @@ -29334,15 +28914,15 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "15002:3:0", + "src": "14872:3:0", "subExpression": { "argumentTypes": null, - "id": 747, + "id": 731, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 740, - "src": "15002:1:0", + "referencedDeclaration": 724, + "src": "14872:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29353,12 +28933,12 @@ "typeString": "uint256" } }, - "id": 749, + "id": 733, "nodeType": "ExpressionStatement", - "src": "15002:3:0" + "src": "14872:3:0" }, "nodeType": "ForStatement", - "src": "14957:577:0" + "src": "14827:577:0" } ] } @@ -29366,26 +28946,26 @@ { "expression": { "argumentTypes": null, - "id": 901, + "id": 885, "name": "valueTransferred", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 731, - "src": "16326:16:0", + "referencedDeclaration": 715, + "src": "16196:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 723, - "id": 902, + "functionReturnParameters": 707, + "id": 886, "nodeType": "Return", - "src": "16319:23:0" + "src": "16189:23:0" } ] }, "documentation": "dev Private method to transfer funds to the destination addresses on the basis of transaction type", - "id": 904, + "id": 888, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -29393,16 +28973,16 @@ "name": "_transferFunds", "nodeType": "FunctionDefinition", "parameters": { - "id": 720, + "id": 704, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 713, + "id": 697, "name": "scriptHash", "nodeType": "VariableDeclaration", - "scope": 904, - "src": "14659:18:0", + "scope": 888, + "src": "14529:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -29410,10 +28990,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 712, + "id": 696, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "14659:7:0", + "src": "14529:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -29424,11 +29004,11 @@ }, { "constant": false, - "id": 716, + "id": 700, "name": "destinations", "nodeType": "VariableDeclaration", - "scope": 904, - "src": "14687:21:0", + "scope": 888, + "src": "14557:21:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -29437,19 +29017,19 @@ }, "typeName": { "baseType": { - "id": 714, + "id": 698, "name": "address", "nodeType": "ElementaryTypeName", - "src": "14687:7:0", + "src": "14557:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 715, + "id": 699, "length": null, "nodeType": "ArrayTypeName", - "src": "14687:9:0", + "src": "14557:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", "typeString": "address[]" @@ -29460,11 +29040,11 @@ }, { "constant": false, - "id": 719, + "id": 703, "name": "amounts", "nodeType": "VariableDeclaration", - "scope": 904, - "src": "14718:16:0", + "scope": 888, + "src": "14588:16:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -29473,19 +29053,19 @@ }, "typeName": { "baseType": { - "id": 717, + "id": 701, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "14718:7:0", + "src": "14588:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 718, + "id": 702, "length": null, "nodeType": "ArrayTypeName", - "src": "14718:9:0", + "src": "14588:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -29495,20 +29075,20 @@ "visibility": "internal" } ], - "src": "14649:91:0" + "src": "14519:91:0" }, "payable": false, "returnParameters": { - "id": 723, + "id": 707, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 722, + "id": 706, "name": "", "nodeType": "VariableDeclaration", - "scope": 904, - "src": "14774:7:0", + "scope": 888, + "src": "14644:7:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -29516,10 +29096,10 @@ "typeString": "uint256" }, "typeName": { - "id": 721, + "id": 705, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "14774:7:0", + "src": "14644:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29529,19 +29109,19 @@ "visibility": "internal" } ], - "src": "14773:9:0" + "src": "14643:9:0" }, - "scope": 1224, - "src": "14626:1723:0", + "scope": 1208, + "src": "14496:1723:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "private" }, { "body": { - "id": 1034, + "id": 1018, "nodeType": "Block", - "src": "16769:1346:0", + "src": "16639:1346:0", "statements": [ { "expression": { @@ -29553,7 +29133,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 937, + "id": 921, "isConstant": false, "isLValue": false, "isPure": false, @@ -29564,7 +29144,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 931, + "id": 915, "isConstant": false, "isLValue": false, "isPure": false, @@ -29573,18 +29153,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 927, + "id": 911, "name": "sigR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 910, - "src": "16801:4:0", + "referencedDeclaration": 894, + "src": "16671:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" } }, - "id": 928, + "id": 912, "isConstant": false, "isLValue": false, "isPure": false, @@ -29592,7 +29172,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "16801:11:0", + "src": "16671:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29604,18 +29184,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 929, + "id": 913, "name": "sigS", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 913, - "src": "16816:4:0", + "referencedDeclaration": 897, + "src": "16686:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" } }, - "id": 930, + "id": 914, "isConstant": false, "isLValue": false, "isPure": false, @@ -29623,13 +29203,13 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "16816:11:0", + "src": "16686:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "16801:26:0", + "src": "16671:26:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -29643,7 +29223,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 936, + "id": 920, "isConstant": false, "isLValue": false, "isPure": false, @@ -29652,18 +29232,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 932, + "id": 916, "name": "sigR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 910, - "src": "16831:4:0", + "referencedDeclaration": 894, + "src": "16701:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" } }, - "id": 933, + "id": 917, "isConstant": false, "isLValue": false, "isPure": false, @@ -29671,7 +29251,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "16831:11:0", + "src": "16701:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29683,18 +29263,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 934, + "id": 918, "name": "sigV", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 907, - "src": "16846:4:0", + "referencedDeclaration": 891, + "src": "16716:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr", "typeString": "uint8[] memory" } }, - "id": 935, + "id": 919, "isConstant": false, "isLValue": false, "isPure": false, @@ -29702,19 +29282,19 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "16846:11:0", + "src": "16716:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "16831:26:0", + "src": "16701:26:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "16801:56:0", + "src": "16671:56:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -29723,14 +29303,14 @@ { "argumentTypes": null, "hexValue": "522c532c56206c656e677468206d69736d617463682e", - "id": 938, + "id": 922, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "16872:24:0", + "src": "16742:24:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_f85073c8befb65baed58ca1ee563e5da0bdbdce8abd4d29ef22a8329c7c97506", @@ -29750,21 +29330,21 @@ "typeString": "literal_string \"R,S,V length mismatch.\"" } ], - "id": 926, + "id": 910, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1400, - 1401 + 1384, + 1385 ], - "referencedDeclaration": 1401, - "src": "16780:7:0", + "referencedDeclaration": 1385, + "src": "16650:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 939, + "id": 923, "isConstant": false, "isLValue": false, "isPure": false, @@ -29772,26 +29352,26 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16780:126:0", + "src": "16650:126:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 940, + "id": 924, "nodeType": "ExpressionStatement", - "src": "16780:126:0" + "src": "16650:126:0" }, { "assignments": [], "declarations": [ { "constant": false, - "id": 942, + "id": 926, "name": "lastAddress", "nodeType": "VariableDeclaration", - "scope": 1035, - "src": "16917:19:0", + "scope": 1019, + "src": "16787:19:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -29799,10 +29379,10 @@ "typeString": "address" }, "typeName": { - "id": 941, + "id": 925, "name": "address", "nodeType": "ElementaryTypeName", - "src": "16917:7:0", + "src": "16787:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -29812,23 +29392,23 @@ "visibility": "internal" } ], - "id": 943, + "id": 927, "initialValue": null, "nodeType": "VariableDeclarationStatement", - "src": "16917:19:0" + "src": "16787:19:0" }, { "assignments": [ - 945 + 929 ], "declarations": [ { "constant": false, - "id": 945, + "id": 929, "name": "txHash", "nodeType": "VariableDeclaration", - "scope": 1035, - "src": "17035:14:0", + "scope": 1019, + "src": "16905:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -29836,10 +29416,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 944, + "id": 928, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "17035:7:0", + "src": "16905:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -29849,7 +29429,7 @@ "visibility": "internal" } ], - "id": 969, + "id": 953, "initialValue": { "argumentTypes": null, "arguments": [ @@ -29859,14 +29439,14 @@ { "argumentTypes": null, "hexValue": "19457468657265756d205369676e6564204d6573736167653a0a3332", - "id": 949, + "id": 933, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "17109:34:0", + "src": "16979:34:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_178a2411ab6fbc1ba11064408972259c558d0e82fd48b0aba3ad81d14f065e73", @@ -29886,14 +29466,14 @@ { "argumentTypes": null, "hexValue": "30783139", - "id": 954, + "id": 938, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "17239:4:0", + "src": "17109:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_25_by_1", @@ -29909,20 +29489,20 @@ "typeString": "int_const 25" } ], - "id": 953, + "id": 937, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "17234:4:0", + "src": "17104:4:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes1_$", "typeString": "type(bytes1)" }, "typeName": "byte" }, - "id": 955, + "id": 939, "isConstant": false, "isLValue": false, "isPure": true, @@ -29930,7 +29510,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17234:10:0", + "src": "17104:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes1", "typeString": "bytes1" @@ -29942,14 +29522,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 957, + "id": 941, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "17275:1:0", + "src": "17145:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -29965,20 +29545,20 @@ "typeString": "int_const 0" } ], - "id": 956, + "id": 940, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "17270:4:0", + "src": "17140:4:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes1_$", "typeString": "type(bytes1)" }, "typeName": "byte" }, - "id": 958, + "id": 942, "isConstant": false, "isLValue": false, "isPure": true, @@ -29986,7 +29566,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17270:7:0", + "src": "17140:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes1", "typeString": "bytes1" @@ -29997,14 +29577,14 @@ "arguments": [ { "argumentTypes": null, - "id": 960, + "id": 944, "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1414, - "src": "17311:4:0", + "referencedDeclaration": 1398, + "src": "17181:4:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_Escrow_v1_0_$1224", + "typeIdentifier": "t_contract$_Escrow_v1_0_$1208", "typeString": "contract Escrow_v1_0" } } @@ -30012,24 +29592,24 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_Escrow_v1_0_$1224", + "typeIdentifier": "t_contract$_Escrow_v1_0_$1208", "typeString": "contract Escrow_v1_0" } ], - "id": 959, + "id": 943, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "17303:7:0", + "src": "17173:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, - "id": 961, + "id": 945, "isConstant": false, "isLValue": false, "isPure": false, @@ -30037,7 +29617,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17303:13:0", + "src": "17173:13:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -30045,12 +29625,12 @@ }, { "argumentTypes": null, - "id": 962, + "id": 946, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 918, - "src": "17342:12:0", + "referencedDeclaration": 902, + "src": "17212:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -30058,12 +29638,12 @@ }, { "argumentTypes": null, - "id": 963, + "id": 947, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 921, - "src": "17380:7:0", + "referencedDeclaration": 905, + "src": "17250:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" @@ -30071,12 +29651,12 @@ }, { "argumentTypes": null, - "id": 964, + "id": 948, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 915, - "src": "17413:10:0", + "referencedDeclaration": 899, + "src": "17283:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -30112,18 +29692,18 @@ ], "expression": { "argumentTypes": null, - "id": 951, + "id": 935, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1384, - "src": "17192:3:0", + "referencedDeclaration": 1368, + "src": "17062:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, - "id": 952, + "id": 936, "isConstant": false, "isLValue": false, "isPure": true, @@ -30131,13 +29711,13 @@ "memberName": "encodePacked", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "17192:16:0", + "src": "17062:16:0", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, - "id": 965, + "id": 949, "isConstant": false, "isLValue": false, "isPure": false, @@ -30145,7 +29725,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17192:253:0", + "src": "17062:253:0", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -30159,18 +29739,18 @@ "typeString": "bytes memory" } ], - "id": 950, + "id": 934, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1391, - "src": "17161:9:0", + "referencedDeclaration": 1375, + "src": "17031:9:0", "typeDescriptions": { "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", "typeString": "function () pure returns (bytes32)" } }, - "id": 966, + "id": 950, "isConstant": false, "isLValue": false, "isPure": false, @@ -30178,7 +29758,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17161:302:0", + "src": "17031:302:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -30198,18 +29778,18 @@ ], "expression": { "argumentTypes": null, - "id": 947, + "id": 931, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1384, - "src": "17075:3:0", + "referencedDeclaration": 1368, + "src": "16945:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, - "id": 948, + "id": 932, "isConstant": false, "isLValue": false, "isPure": true, @@ -30217,13 +29797,13 @@ "memberName": "encodePacked", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "17075:16:0", + "src": "16945:16:0", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, - "id": 967, + "id": 951, "isConstant": false, "isLValue": false, "isPure": false, @@ -30231,7 +29811,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17075:402:0", + "src": "16945:402:0", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -30245,18 +29825,18 @@ "typeString": "bytes memory" } ], - "id": 946, + "id": 930, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1391, - "src": "17052:9:0", + "referencedDeclaration": 1375, + "src": "16922:9:0", "typeDescriptions": { "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", "typeString": "function () pure returns (bytes32)" } }, - "id": 968, + "id": 952, "isConstant": false, "isLValue": false, "isPure": false, @@ -30264,33 +29844,33 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17052:435:0", + "src": "16922:435:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "nodeType": "VariableDeclarationStatement", - "src": "17035:452:0" + "src": "16905:452:0" }, { "body": { - "id": 1030, + "id": 1014, "nodeType": "Block", - "src": "17537:543:0", + "src": "17407:543:0", "statements": [ { "assignments": [ - 982 + 966 ], "declarations": [ { "constant": false, - "id": 982, + "id": 966, "name": "recovered", "nodeType": "VariableDeclaration", - "scope": 1035, - "src": "17552:17:0", + "scope": 1019, + "src": "17422:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -30298,10 +29878,10 @@ "typeString": "address" }, "typeName": { - "id": 981, + "id": 965, "name": "address", "nodeType": "ElementaryTypeName", - "src": "17552:7:0", + "src": "17422:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -30311,18 +29891,18 @@ "visibility": "internal" } ], - "id": 995, + "id": 979, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 984, + "id": 968, "name": "txHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 945, - "src": "17599:6:0", + "referencedDeclaration": 929, + "src": "17469:6:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -30332,26 +29912,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 985, + "id": 969, "name": "sigV", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 907, - "src": "17623:4:0", + "referencedDeclaration": 891, + "src": "17493:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr", "typeString": "uint8[] memory" } }, - "id": 987, + "id": 971, "indexExpression": { "argumentTypes": null, - "id": 986, + "id": 970, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 971, - "src": "17628:1:0", + "referencedDeclaration": 955, + "src": "17498:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -30362,7 +29942,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17623:7:0", + "src": "17493:7:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -30372,26 +29952,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 988, + "id": 972, "name": "sigR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 910, - "src": "17648:4:0", + "referencedDeclaration": 894, + "src": "17518:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" } }, - "id": 990, + "id": 974, "indexExpression": { "argumentTypes": null, - "id": 989, + "id": 973, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 971, - "src": "17653:1:0", + "referencedDeclaration": 955, + "src": "17523:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -30402,7 +29982,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17648:7:0", + "src": "17518:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -30412,26 +29992,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 991, + "id": 975, "name": "sigS", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 913, - "src": "17673:4:0", + "referencedDeclaration": 897, + "src": "17543:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" } }, - "id": 993, + "id": 977, "indexExpression": { "argumentTypes": null, - "id": 992, + "id": 976, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 971, - "src": "17678:1:0", + "referencedDeclaration": 955, + "src": "17548:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -30442,7 +30022,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17673:7:0", + "src": "17543:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -30468,18 +30048,18 @@ "typeString": "bytes32" } ], - "id": 983, + "id": 967, "name": "ecrecover", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1389, - "src": "17572:9:0", + "referencedDeclaration": 1373, + "src": "17442:9:0", "typeDescriptions": { "typeIdentifier": "t_function_ecrecover_pure$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$_t_address_$", "typeString": "function (bytes32,uint8,bytes32,bytes32) pure returns (address)" } }, - "id": 994, + "id": 978, "isConstant": false, "isLValue": false, "isPure": false, @@ -30487,14 +30067,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17572:122:0", + "src": "17442:122:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "VariableDeclarationStatement", - "src": "17552:142:0" + "src": "17422:142:0" }, { "expression": { @@ -30508,26 +30088,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 997, + "id": 981, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "17734:12:0", + "src": "17604:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 999, + "id": 983, "indexExpression": { "argumentTypes": null, - "id": 998, + "id": 982, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 915, - "src": "17747:10:0", + "referencedDeclaration": 899, + "src": "17617:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -30538,13 +30118,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17734:24:0", + "src": "17604:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 1000, + "id": 984, "isConstant": false, "isLValue": true, "isPure": false, @@ -30552,21 +30132,21 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "17734:32:0", + "src": "17604:32:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 1002, + "id": 986, "indexExpression": { "argumentTypes": null, - "id": 1001, + "id": 985, "name": "recovered", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 982, - "src": "17767:9:0", + "referencedDeclaration": 966, + "src": "17637:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -30577,7 +30157,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17734:43:0", + "src": "17604:43:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -30586,14 +30166,14 @@ { "argumentTypes": null, "hexValue": "496e76616c6964207369676e6174757265", - "id": 1003, + "id": 987, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "17796:19:0", + "src": "17666:19:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_4f2d7dfcb27c0aafa13ae8c400de482c7832204d194018b6e45bd2bf244c74e7", @@ -30613,21 +30193,21 @@ "typeString": "literal_string \"Invalid signature\"" } ], - "id": 996, + "id": 980, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1400, - 1401 + 1384, + 1385 ], - "referencedDeclaration": 1401, - "src": "17709:7:0", + "referencedDeclaration": 1385, + "src": "17579:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 1004, + "id": 988, "isConstant": false, "isLValue": false, "isPure": false, @@ -30635,15 +30215,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17709:120:0", + "src": "17579:120:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1005, + "id": 989, "nodeType": "ExpressionStatement", - "src": "17709:120:0" + "src": "17579:120:0" }, { "expression": { @@ -30651,7 +30231,7 @@ "arguments": [ { "argumentTypes": null, - "id": 1013, + "id": 997, "isConstant": false, "isLValue": false, "isPure": false, @@ -30659,7 +30239,7 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "17868:42:0", + "src": "17738:42:0", "subExpression": { "argumentTypes": null, "baseExpression": { @@ -30668,26 +30248,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1007, + "id": 991, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "17869:12:0", + "src": "17739:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 1009, + "id": 993, "indexExpression": { "argumentTypes": null, - "id": 1008, + "id": 992, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 915, - "src": "17882:10:0", + "referencedDeclaration": 899, + "src": "17752:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -30698,13 +30278,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17869:24:0", + "src": "17739:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 1010, + "id": 994, "isConstant": false, "isLValue": true, "isPure": false, @@ -30712,21 +30292,21 @@ "memberName": "voted", "nodeType": "MemberAccess", "referencedDeclaration": 66, - "src": "17869:30:0", + "src": "17739:30:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 1012, + "id": 996, "indexExpression": { "argumentTypes": null, - "id": 1011, + "id": 995, "name": "recovered", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 982, - "src": "17900:9:0", + "referencedDeclaration": 966, + "src": "17770:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -30737,7 +30317,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17869:41:0", + "src": "17739:41:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -30751,14 +30331,14 @@ { "argumentTypes": null, "hexValue": "53616d65207369676e61747572652073656e74207477696365", - "id": 1014, + "id": 998, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "17929:27:0", + "src": "17799:27:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_fb2c7e49d5ec7ce36fa812cf15ee7fa946942f931d04fe3ae970516007b2a543", @@ -30778,21 +30358,21 @@ "typeString": "literal_string \"Same signature sent twice\"" } ], - "id": 1006, + "id": 990, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1400, - 1401 + 1384, + 1385 ], - "referencedDeclaration": 1401, - "src": "17843:7:0", + "referencedDeclaration": 1385, + "src": "17713:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 1015, + "id": 999, "isConstant": false, "isLValue": false, "isPure": false, @@ -30800,20 +30380,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17843:127:0", + "src": "17713:127:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1016, + "id": 1000, "nodeType": "ExpressionStatement", - "src": "17843:127:0" + "src": "17713:127:0" }, { "expression": { "argumentTypes": null, - "id": 1024, + "id": 1008, "isConstant": false, "isLValue": false, "isPure": false, @@ -30826,26 +30406,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1017, + "id": 1001, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "17984:12:0", + "src": "17854:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 1019, + "id": 1003, "indexExpression": { "argumentTypes": null, - "id": 1018, + "id": 1002, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 915, - "src": "17997:10:0", + "referencedDeclaration": 899, + "src": "17867:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -30856,13 +30436,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17984:24:0", + "src": "17854:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 1020, + "id": 1004, "isConstant": false, "isLValue": true, "isPure": false, @@ -30870,21 +30450,21 @@ "memberName": "voted", "nodeType": "MemberAccess", "referencedDeclaration": 66, - "src": "17984:30:0", + "src": "17854:30:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 1022, + "id": 1006, "indexExpression": { "argumentTypes": null, - "id": 1021, + "id": 1005, "name": "recovered", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 982, - "src": "18015:9:0", + "referencedDeclaration": 966, + "src": "17885:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -30895,7 +30475,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "17984:41:0", + "src": "17854:41:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -30906,14 +30486,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "74727565", - "id": 1023, + "id": 1007, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "18028:4:0", + "src": "17898:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -30921,32 +30501,32 @@ }, "value": "true" }, - "src": "17984:48:0", + "src": "17854:48:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 1025, + "id": 1009, "nodeType": "ExpressionStatement", - "src": "17984:48:0" + "src": "17854:48:0" }, { "expression": { "argumentTypes": null, - "id": 1028, + "id": 1012, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 1026, + "id": 1010, "name": "lastAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 942, - "src": "18046:11:0", + "referencedDeclaration": 926, + "src": "17916:11:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -30956,26 +30536,26 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 1027, + "id": 1011, "name": "recovered", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 982, - "src": "18060:9:0", + "referencedDeclaration": 966, + "src": "17930:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "18046:23:0", + "src": "17916:23:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 1029, + "id": 1013, "nodeType": "ExpressionStatement", - "src": "18046:23:0" + "src": "17916:23:0" } ] }, @@ -30985,19 +30565,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 977, + "id": 961, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 974, + "id": 958, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 971, - "src": "17515:1:0", + "referencedDeclaration": 955, + "src": "17385:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -31009,18 +30589,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 975, + "id": 959, "name": "sigR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 910, - "src": "17519:4:0", + "referencedDeclaration": 894, + "src": "17389:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" } }, - "id": 976, + "id": 960, "isConstant": false, "isLValue": false, "isPure": false, @@ -31028,31 +30608,31 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "17519:11:0", + "src": "17389:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "17515:15:0", + "src": "17385:15:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 1031, + "id": 1015, "initializationExpression": { "assignments": [ - 971 + 955 ], "declarations": [ { "constant": false, - "id": 971, + "id": 955, "name": "i", "nodeType": "VariableDeclaration", - "scope": 1035, - "src": "17503:6:0", + "scope": 1019, + "src": "17373:6:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -31060,10 +30640,10 @@ "typeString": "uint256" }, "typeName": { - "id": 970, + "id": 954, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "17503:4:0", + "src": "17373:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -31073,18 +30653,18 @@ "visibility": "internal" } ], - "id": 973, + "id": 957, "initialValue": { "argumentTypes": null, "hexValue": "30", - "id": 972, + "id": 956, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "17512:1:0", + "src": "17382:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -31093,12 +30673,12 @@ "value": "0" }, "nodeType": "VariableDeclarationStatement", - "src": "17503:10:0" + "src": "17373:10:0" }, "loopExpression": { "expression": { "argumentTypes": null, - "id": 979, + "id": 963, "isConstant": false, "isLValue": false, "isPure": false, @@ -31106,15 +30686,15 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "17532:3:0", + "src": "17402:3:0", "subExpression": { "argumentTypes": null, - "id": 978, + "id": 962, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 971, - "src": "17532:1:0", + "referencedDeclaration": 955, + "src": "17402:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -31125,36 +30705,36 @@ "typeString": "uint256" } }, - "id": 980, + "id": 964, "nodeType": "ExpressionStatement", - "src": "17532:3:0" + "src": "17402:3:0" }, "nodeType": "ForStatement", - "src": "17498:582:0" + "src": "17368:582:0" }, { "expression": { "argumentTypes": null, - "id": 1032, + "id": 1016, "name": "lastAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 942, - "src": "18097:11:0", + "referencedDeclaration": 926, + "src": "17967:11:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "functionReturnParameters": 925, - "id": 1033, + "functionReturnParameters": 909, + "id": 1017, "nodeType": "Return", - "src": "18090:18:0" + "src": "17960:18:0" } ] }, "documentation": null, - "id": 1035, + "id": 1019, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -31162,16 +30742,16 @@ "name": "_verifySignatures", "nodeType": "FunctionDefinition", "parameters": { - "id": 922, + "id": 906, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 907, + "id": 891, "name": "sigV", "nodeType": "VariableDeclaration", - "scope": 1035, - "src": "16570:12:0", + "scope": 1019, + "src": "16440:12:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -31180,19 +30760,19 @@ }, "typeName": { "baseType": { - "id": 905, + "id": 889, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "16570:5:0", + "src": "16440:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, - "id": 906, + "id": 890, "length": null, "nodeType": "ArrayTypeName", - "src": "16570:7:0", + "src": "16440:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_storage_ptr", "typeString": "uint8[]" @@ -31203,11 +30783,11 @@ }, { "constant": false, - "id": 910, + "id": 894, "name": "sigR", "nodeType": "VariableDeclaration", - "scope": 1035, - "src": "16592:14:0", + "scope": 1019, + "src": "16462:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -31216,19 +30796,19 @@ }, "typeName": { "baseType": { - "id": 908, + "id": 892, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "16592:7:0", + "src": "16462:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "id": 909, + "id": 893, "length": null, "nodeType": "ArrayTypeName", - "src": "16592:9:0", + "src": "16462:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -31239,11 +30819,11 @@ }, { "constant": false, - "id": 913, + "id": 897, "name": "sigS", "nodeType": "VariableDeclaration", - "scope": 1035, - "src": "16616:14:0", + "scope": 1019, + "src": "16486:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -31252,19 +30832,19 @@ }, "typeName": { "baseType": { - "id": 911, + "id": 895, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "16616:7:0", + "src": "16486:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "id": 912, + "id": 896, "length": null, "nodeType": "ArrayTypeName", - "src": "16616:9:0", + "src": "16486:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -31275,11 +30855,11 @@ }, { "constant": false, - "id": 915, + "id": 899, "name": "scriptHash", "nodeType": "VariableDeclaration", - "scope": 1035, - "src": "16640:18:0", + "scope": 1019, + "src": "16510:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -31287,10 +30867,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 914, + "id": 898, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "16640:7:0", + "src": "16510:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -31301,11 +30881,11 @@ }, { "constant": false, - "id": 918, + "id": 902, "name": "destinations", "nodeType": "VariableDeclaration", - "scope": 1035, - "src": "16668:22:0", + "scope": 1019, + "src": "16538:22:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -31314,19 +30894,19 @@ }, "typeName": { "baseType": { - "id": 916, + "id": 900, "name": "address", "nodeType": "ElementaryTypeName", - "src": "16668:7:0", + "src": "16538:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 917, + "id": 901, "length": null, "nodeType": "ArrayTypeName", - "src": "16668:9:0", + "src": "16538:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", "typeString": "address[]" @@ -31337,11 +30917,11 @@ }, { "constant": false, - "id": 921, + "id": 905, "name": "amounts", "nodeType": "VariableDeclaration", - "scope": 1035, - "src": "16700:16:0", + "scope": 1019, + "src": "16570:16:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -31350,19 +30930,19 @@ }, "typeName": { "baseType": { - "id": 919, + "id": 903, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "16700:7:0", + "src": "16570:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 920, + "id": 904, "length": null, "nodeType": "ArrayTypeName", - "src": "16700:9:0", + "src": "16570:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -31372,20 +30952,20 @@ "visibility": "internal" } ], - "src": "16560:162:0" + "src": "16430:162:0" }, "payable": false, "returnParameters": { - "id": 925, + "id": 909, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 924, + "id": 908, "name": "", "nodeType": "VariableDeclaration", - "scope": 1035, - "src": "16756:7:0", + "scope": 1019, + "src": "16626:7:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -31393,10 +30973,10 @@ "typeString": "address" }, "typeName": { - "id": 923, + "id": 907, "name": "address", "nodeType": "ElementaryTypeName", - "src": "16756:7:0", + "src": "16626:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -31406,32 +30986,32 @@ "visibility": "internal" } ], - "src": "16755:9:0" + "src": "16625:9:0" }, - "scope": 1224, - "src": "16534:1581:0", + "scope": 1208, + "src": "16404:1581:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "private" }, { "body": { - "id": 1066, + "id": 1050, "nodeType": "Block", - "src": "18270:168:0", + "src": "18140:168:0", "statements": [ { "assignments": [ - 1045 + 1029 ], "declarations": [ { "constant": false, - "id": 1045, + "id": 1029, "name": "timeSince", "nodeType": "VariableDeclaration", - "scope": 1067, - "src": "18280:17:0", + "scope": 1051, + "src": "18150:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -31439,10 +31019,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1044, + "id": 1028, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "18280:7:0", + "src": "18150:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -31452,18 +31032,18 @@ "visibility": "internal" } ], - "id": 1050, + "id": 1034, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 1048, + "id": 1032, "name": "lastModified", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1039, - "src": "18308:12:0", + "referencedDeclaration": 1023, + "src": "18178:12:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -31479,32 +31059,32 @@ ], "expression": { "argumentTypes": null, - "id": 1046, + "id": 1030, "name": "now", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1399, - "src": "18300:3:0", + "referencedDeclaration": 1383, + "src": "18170:3:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1047, + "id": 1031, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sub", "nodeType": "MemberAccess", - "referencedDeclaration": 1337, - "src": "18300:7:0", + "referencedDeclaration": 1321, + "src": "18170:7:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 1049, + "id": 1033, "isConstant": false, "isLValue": false, "isPure": false, @@ -31512,14 +31092,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18300:21:0", + "src": "18170:21:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "18280:41:0" + "src": "18150:41:0" }, { "expression": { @@ -31533,19 +31113,19 @@ "typeIdentifier": "t_uint32", "typeString": "uint32" }, - "id": 1053, + "id": 1037, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1051, + "id": 1035, "name": "timeoutHours", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1037, - "src": "18352:12:0", + "referencedDeclaration": 1021, + "src": "18222:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -31556,14 +31136,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 1052, + "id": 1036, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "18368:1:0", + "src": "18238:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -31571,7 +31151,7 @@ }, "value": "0" }, - "src": "18352:17:0", + "src": "18222:17:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -31583,19 +31163,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1062, + "id": 1046, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1055, + "id": 1039, "name": "timeSince", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1045, - "src": "18378:9:0", + "referencedDeclaration": 1029, + "src": "18248:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -31609,14 +31189,14 @@ { "argumentTypes": null, "hexValue": "33363030", - "id": 1060, + "id": 1044, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "18416:4:0", + "src": "18286:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_3600_by_1", @@ -31637,12 +31217,12 @@ "arguments": [ { "argumentTypes": null, - "id": 1057, + "id": 1041, "name": "timeoutHours", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1037, - "src": "18398:12:0", + "referencedDeclaration": 1021, + "src": "18268:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -31656,20 +31236,20 @@ "typeString": "uint32" } ], - "id": 1056, + "id": 1040, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "18390:7:0", + "src": "18260:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint256_$", "typeString": "type(uint256)" }, "typeName": "uint256" }, - "id": 1058, + "id": 1042, "isConstant": false, "isLValue": false, "isPure": false, @@ -31677,27 +31257,27 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18390:21:0", + "src": "18260:21:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1059, + "id": 1043, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "mul", "nodeType": "MemberAccess", - "referencedDeclaration": 1289, - "src": "18390:25:0", + "referencedDeclaration": 1273, + "src": "18260:25:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 1061, + "id": 1045, "isConstant": false, "isLValue": false, "isPure": false, @@ -31705,36 +31285,36 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18390:31:0", + "src": "18260:31:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "18378:43:0", + "src": "18248:43:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 1063, + "id": 1047, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "Conditional", - "src": "18352:69:0", + "src": "18222:69:0", "trueExpression": { "argumentTypes": null, "hexValue": "66616c7365", - "id": 1054, + "id": 1038, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "18372:5:0", + "src": "18242:5:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -31748,28 +31328,28 @@ } } ], - "id": 1064, + "id": 1048, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "18338:93:0", + "src": "18208:93:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "functionReturnParameters": 1043, - "id": 1065, + "functionReturnParameters": 1027, + "id": 1049, "nodeType": "Return", - "src": "18331:100:0" + "src": "18201:100:0" } ] }, "documentation": null, - "id": 1067, + "id": 1051, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -31777,16 +31357,16 @@ "name": "_isTimeLockExpired", "nodeType": "FunctionDefinition", "parameters": { - "id": 1040, + "id": 1024, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1037, + "id": 1021, "name": "timeoutHours", "nodeType": "VariableDeclaration", - "scope": 1067, - "src": "18158:19:0", + "scope": 1051, + "src": "18028:19:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -31794,10 +31374,10 @@ "typeString": "uint32" }, "typeName": { - "id": 1036, + "id": 1020, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "18158:6:0", + "src": "18028:6:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -31808,11 +31388,11 @@ }, { "constant": false, - "id": 1039, + "id": 1023, "name": "lastModified", "nodeType": "VariableDeclaration", - "scope": 1067, - "src": "18187:20:0", + "scope": 1051, + "src": "18057:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -31820,10 +31400,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1038, + "id": 1022, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "18187:7:0", + "src": "18057:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -31833,20 +31413,20 @@ "visibility": "internal" } ], - "src": "18148:65:0" + "src": "18018:65:0" }, "payable": false, "returnParameters": { - "id": 1043, + "id": 1027, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1042, + "id": 1026, "name": "", "nodeType": "VariableDeclaration", - "scope": 1067, - "src": "18260:4:0", + "scope": 1051, + "src": "18130:4:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -31854,10 +31434,10 @@ "typeString": "bool" }, "typeName": { - "id": 1041, + "id": 1025, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "18260:4:0", + "src": "18130:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -31867,19 +31447,19 @@ "visibility": "internal" } ], - "src": "18259:6:0" + "src": "18129:6:0" }, - "scope": 1224, - "src": "18121:317:0", + "scope": 1208, + "src": "17991:317:0", "stateMutability": "view", "superFunction": null, "visibility": "private" }, { "body": { - "id": 1222, + "id": 1206, "nodeType": "Block", - "src": "18852:2314:0", + "src": "18722:2314:0", "statements": [ { "expression": { @@ -31891,19 +31471,19 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 1093, + "id": 1077, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1091, + "id": 1075, "name": "buyer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1069, - "src": "18878:5:0", + "referencedDeclaration": 1053, + "src": "18748:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -31913,18 +31493,18 @@ "operator": "!=", "rightExpression": { "argumentTypes": null, - "id": 1092, + "id": 1076, "name": "seller", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1071, - "src": "18887:6:0", + "referencedDeclaration": 1055, + "src": "18757:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "18878:15:0", + "src": "18748:15:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -31933,14 +31513,14 @@ { "argumentTypes": null, "hexValue": "427579657220616e642073656c6c6572206172652073616d65", - "id": 1094, + "id": 1078, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "18895:27:0", + "src": "18765:27:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_6141441751234d42e9a73d96317794195c7ff57b8f16ac15725a10f10763f824", @@ -31960,21 +31540,21 @@ "typeString": "literal_string \"Buyer and seller are same\"" } ], - "id": 1090, + "id": 1074, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1400, - 1401 + 1384, + 1385 ], - "referencedDeclaration": 1401, - "src": "18870:7:0", + "referencedDeclaration": 1385, + "src": "18740:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 1095, + "id": 1079, "isConstant": false, "isLValue": false, "isPure": false, @@ -31982,15 +31562,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18870:53:0", + "src": "18740:53:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1096, + "id": 1080, "nodeType": "ExpressionStatement", - "src": "18870:53:0" + "src": "18740:53:0" }, { "expression": { @@ -32002,19 +31582,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1100, + "id": 1084, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1098, + "id": 1082, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1081, - "src": "18990:5:0", + "referencedDeclaration": 1065, + "src": "18860:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -32025,14 +31605,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 1099, + "id": 1083, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "18998:1:0", + "src": "18868:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -32040,7 +31620,7 @@ }, "value": "0" }, - "src": "18990:9:0", + "src": "18860:9:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -32049,14 +31629,14 @@ { "argumentTypes": null, "hexValue": "56616c7565207061737365642069732030", - "id": 1101, + "id": 1085, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "19001:19:0", + "src": "18871:19:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_3686f87c4804517ea83323ccf1a3b5b5ff52ed144b19e6fc56abe8fcd182e747", @@ -32076,21 +31656,21 @@ "typeString": "literal_string \"Value passed is 0\"" } ], - "id": 1097, + "id": 1081, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1400, - 1401 + 1384, + 1385 ], - "referencedDeclaration": 1401, - "src": "18982:7:0", + "referencedDeclaration": 1385, + "src": "18852:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 1102, + "id": 1086, "isConstant": false, "isLValue": false, "isPure": false, @@ -32098,15 +31678,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18982:39:0", + "src": "18852:39:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1103, + "id": 1087, "nodeType": "ExpressionStatement", - "src": "18982:39:0" + "src": "18852:39:0" }, { "expression": { @@ -32118,7 +31698,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 1111, + "id": 1095, "isConstant": false, "isLValue": false, "isPure": false, @@ -32129,19 +31709,19 @@ "typeIdentifier": "t_uint8", "typeString": "uint8" }, - "id": 1107, + "id": 1091, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1105, + "id": 1089, "name": "threshold", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1075, - "src": "19124:9:0", + "referencedDeclaration": 1059, + "src": "18994:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -32152,14 +31732,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 1106, + "id": 1090, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "19136:1:0", + "src": "19006:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -32167,7 +31747,7 @@ }, "value": "0" }, - "src": "19124:13:0", + "src": "18994:13:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -32181,19 +31761,19 @@ "typeIdentifier": "t_uint8", "typeString": "uint8" }, - "id": 1110, + "id": 1094, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1108, + "id": 1092, "name": "threshold", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1075, - "src": "19141:9:0", + "referencedDeclaration": 1059, + "src": "19011:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -32204,14 +31784,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "33", - "id": 1109, + "id": 1093, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "19154:1:0", + "src": "19024:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_3_by_1", @@ -32219,13 +31799,13 @@ }, "value": "3" }, - "src": "19141:14:0", + "src": "19011:14:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "19124:31:0", + "src": "18994:31:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -32234,14 +31814,14 @@ { "argumentTypes": null, "hexValue": "5468726573686f6c642063616e6e6f742062652067726561746572207468616e203320616e64206d7573742062652067726561746572207468616e2030", - "id": 1112, + "id": 1096, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "19170:63:0", + "src": "19040:63:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_351c1d5dfdc4a2b4c61d6f4dbb41a0d2ae70a9c094d3c0add87af24b5dd19c13", @@ -32261,21 +31841,21 @@ "typeString": "literal_string \"Threshold cannot be greater than 3 and must be greater than 0\"" } ], - "id": 1104, + "id": 1088, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1400, - 1401 + 1384, + 1385 ], - "referencedDeclaration": 1401, - "src": "19103:7:0", + "referencedDeclaration": 1385, + "src": "18973:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 1113, + "id": 1097, "isConstant": false, "isLValue": false, "isPure": false, @@ -32283,15 +31863,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "19103:140:0", + "src": "18973:140:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1114, + "id": 1098, "nodeType": "ExpressionStatement", - "src": "19103:140:0" + "src": "18973:140:0" }, { "expression": { @@ -32303,7 +31883,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 1124, + "id": 1108, "isConstant": false, "isLValue": false, "isPure": false, @@ -32314,19 +31894,19 @@ "typeIdentifier": "t_uint8", "typeString": "uint8" }, - "id": 1118, + "id": 1102, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1116, + "id": 1100, "name": "threshold", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1075, - "src": "19524:9:0", + "referencedDeclaration": 1059, + "src": "19394:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -32337,14 +31917,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "31", - "id": 1117, + "id": 1101, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "19537:1:0", + "src": "19407:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -32352,7 +31932,7 @@ }, "value": "1" }, - "src": "19524:14:0", + "src": "19394:14:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -32366,19 +31946,19 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 1123, + "id": 1107, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1119, + "id": 1103, "name": "moderator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1073, - "src": "19542:9:0", + "referencedDeclaration": 1057, + "src": "19412:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -32392,14 +31972,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 1121, + "id": 1105, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "19563:1:0", + "src": "19433:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -32415,20 +31995,20 @@ "typeString": "int_const 0" } ], - "id": 1120, + "id": 1104, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "19555:7:0", + "src": "19425:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, - "id": 1122, + "id": 1106, "isConstant": false, "isLValue": false, "isPure": true, @@ -32436,19 +32016,19 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "19555:10:0", + "src": "19425:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "19542:23:0", + "src": "19412:23:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "19524:41:0", + "src": "19394:41:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -32457,14 +32037,14 @@ { "argumentTypes": null, "hexValue": "456974686572207468726573686f6c642073686f756c642062652031206f722076616c6964206d6f64657261746f7220616464726573732073686f756c6420626520706173736564", - "id": 1125, + "id": 1109, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "19579:74:0", + "src": "19449:74:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_2056db168725d2fabb8aaf14efad7a3fc12ef6bc7132f0596ea09b041b71cb25", @@ -32484,21 +32064,21 @@ "typeString": "literal_string \"Either threshold should be 1 or valid moderator address should be passed\"" } ], - "id": 1115, + "id": 1099, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1400, - 1401 + 1384, + 1385 ], - "referencedDeclaration": 1401, - "src": "19503:7:0", + "referencedDeclaration": 1385, + "src": "19373:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 1126, + "id": 1110, "isConstant": false, "isLValue": false, "isPure": false, @@ -32506,15 +32086,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "19503:160:0", + "src": "19373:160:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1127, + "id": 1111, "nodeType": "ExpressionStatement", - "src": "19503:160:0" + "src": "19373:160:0" }, { "expression": { @@ -32526,19 +32106,19 @@ "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, - "id": 1139, + "id": 1123, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1129, + "id": 1113, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1079, - "src": "19695:10:0", + "referencedDeclaration": 1063, + "src": "19565:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -32551,12 +32131,12 @@ "arguments": [ { "argumentTypes": null, - "id": 1131, + "id": 1115, "name": "uniqueId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1083, - "src": "19752:8:0", + "referencedDeclaration": 1067, + "src": "19622:8:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -32564,12 +32144,12 @@ }, { "argumentTypes": null, - "id": 1132, + "id": 1116, "name": "threshold", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1075, - "src": "19778:9:0", + "referencedDeclaration": 1059, + "src": "19648:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -32577,12 +32157,12 @@ }, { "argumentTypes": null, - "id": 1133, + "id": 1117, "name": "timeoutHours", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1077, - "src": "19805:12:0", + "referencedDeclaration": 1061, + "src": "19675:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -32590,12 +32170,12 @@ }, { "argumentTypes": null, - "id": 1134, + "id": 1118, "name": "buyer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1069, - "src": "19835:5:0", + "referencedDeclaration": 1053, + "src": "19705:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -32603,12 +32183,12 @@ }, { "argumentTypes": null, - "id": 1135, + "id": 1119, "name": "seller", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1071, - "src": "19858:6:0", + "referencedDeclaration": 1055, + "src": "19728:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -32616,12 +32196,12 @@ }, { "argumentTypes": null, - "id": 1136, + "id": 1120, "name": "moderator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1073, - "src": "19882:9:0", + "referencedDeclaration": 1057, + "src": "19752:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -32629,12 +32209,12 @@ }, { "argumentTypes": null, - "id": 1137, + "id": 1121, "name": "tokenAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1087, - "src": "19909:12:0", + "referencedDeclaration": 1071, + "src": "19779:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -32672,18 +32252,18 @@ "typeString": "address" } ], - "id": 1130, + "id": 1114, "name": "calculateRedeemScriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 642, - "src": "19709:25:0", + "referencedDeclaration": 626, + "src": "19579:25:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_bytes20_$_t_uint8_$_t_uint32_$_t_address_$_t_address_$_t_address_$_t_address_$returns$_t_bytes32_$", "typeString": "function (bytes20,uint8,uint32,address,address,address,address) view returns (bytes32)" } }, - "id": 1138, + "id": 1122, "isConstant": false, "isLValue": false, "isPure": false, @@ -32691,13 +32271,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "19709:226:0", + "src": "19579:226:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "src": "19695:240:0", + "src": "19565:240:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -32706,14 +32286,14 @@ { "argumentTypes": null, "hexValue": "43616c63756c6174656420736372697074206861736820646f6573206e6f74206d61746368207061737365642073637269707420686173682e", - "id": 1140, + "id": 1124, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "19950:59:0", + "src": "19820:59:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_0c041e0c58e6b0e01d338d852a5abb639065eabeb0aee05e0ce3e5f0e52b4f51", @@ -32733,21 +32313,21 @@ "typeString": "literal_string \"Calculated script hash does not match passed script hash.\"" } ], - "id": 1128, + "id": 1112, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1400, - 1401 + 1384, + 1385 ], - "referencedDeclaration": 1401, - "src": "19674:7:0", + "referencedDeclaration": 1385, + "src": "19544:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 1141, + "id": 1125, "isConstant": false, "isLValue": false, "isPure": false, @@ -32755,20 +32335,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "19674:345:0", + "src": "19544:345:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1142, + "id": 1126, "nodeType": "ExpressionStatement", - "src": "19674:345:0" + "src": "19544:345:0" }, { "expression": { "argumentTypes": null, - "id": 1160, + "id": 1144, "isConstant": false, "isLValue": false, "isPure": false, @@ -32777,26 +32357,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1143, + "id": 1127, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "20030:12:0", + "src": "19900:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 1145, + "id": 1129, "indexExpression": { "argumentTypes": null, - "id": 1144, + "id": 1128, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1079, - "src": "20043:10:0", + "referencedDeclaration": 1063, + "src": "19913:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -32807,7 +32387,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "20030:24:0", + "src": "19900:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -32820,12 +32400,12 @@ "arguments": [ { "argumentTypes": null, - "id": 1147, + "id": 1131, "name": "buyer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1069, - "src": "20090:5:0", + "referencedDeclaration": 1053, + "src": "19960:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -32833,12 +32413,12 @@ }, { "argumentTypes": null, - "id": 1148, + "id": 1132, "name": "seller", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1071, - "src": "20117:6:0", + "referencedDeclaration": 1055, + "src": "19987:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -32846,12 +32426,12 @@ }, { "argumentTypes": null, - "id": 1149, + "id": 1133, "name": "moderator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1073, - "src": "20148:9:0", + "referencedDeclaration": 1057, + "src": "20018:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -32859,12 +32439,12 @@ }, { "argumentTypes": null, - "id": 1150, + "id": 1134, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1081, - "src": "20178:5:0", + "referencedDeclaration": 1065, + "src": "20048:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -32874,18 +32454,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1151, + "id": 1135, "name": "Status", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9, - "src": "20205:6:0", + "src": "20075:6:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_Status_$9_$", "typeString": "type(enum Escrow_v1_0.Status)" } }, - "id": 1152, + "id": 1136, "isConstant": false, "isLValue": false, "isPure": true, @@ -32893,7 +32473,7 @@ "memberName": "FUNDED", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "20205:13:0", + "src": "20075:13:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$9", "typeString": "enum Escrow_v1_0.Status" @@ -32903,18 +32483,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1153, + "id": 1137, "name": "block", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1387, - "src": "20246:5:0", + "referencedDeclaration": 1371, + "src": "20116:5:0", "typeDescriptions": { "typeIdentifier": "t_magic_block", "typeString": "block" } }, - "id": 1154, + "id": 1138, "isConstant": false, "isLValue": false, "isPure": false, @@ -32922,7 +32502,7 @@ "memberName": "timestamp", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "20246:15:0", + "src": "20116:15:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -32930,12 +32510,12 @@ }, { "argumentTypes": null, - "id": 1155, + "id": 1139, "name": "threshold", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1075, - "src": "20286:9:0", + "referencedDeclaration": 1059, + "src": "20156:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -32943,12 +32523,12 @@ }, { "argumentTypes": null, - "id": 1156, + "id": 1140, "name": "timeoutHours", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1077, - "src": "20323:12:0", + "referencedDeclaration": 1061, + "src": "20193:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -32956,12 +32536,12 @@ }, { "argumentTypes": null, - "id": 1157, + "id": 1141, "name": "transactionType", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1085, - "src": "20365:15:0", + "referencedDeclaration": 1069, + "src": "20235:15:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -32969,12 +32549,12 @@ }, { "argumentTypes": null, - "id": 1158, + "id": 1142, "name": "tokenAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1087, - "src": "20407:12:0", + "referencedDeclaration": 1071, + "src": "20277:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -32983,18 +32563,18 @@ ], "expression": { "argumentTypes": null, - "id": 1146, + "id": 1130, "name": "Transaction", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 71, - "src": "20057:11:0", + "src": "19927:11:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_struct$_Transaction_$71_storage_ptr_$", "typeString": "type(struct Escrow_v1_0.Transaction storage pointer)" } }, - "id": 1159, + "id": 1143, "isConstant": false, "isLValue": false, "isPure": false, @@ -33013,26 +32593,26 @@ "tokenAddress" ], "nodeType": "FunctionCall", - "src": "20057:373:0", + "src": "19927:373:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_memory", "typeString": "struct Escrow_v1_0.Transaction memory" } }, - "src": "20030:400:0", + "src": "19900:400:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 1161, + "id": 1145, "nodeType": "ExpressionStatement", - "src": "20030:400:0" + "src": "19900:400:0" }, { "expression": { "argumentTypes": null, - "id": 1169, + "id": 1153, "isConstant": false, "isLValue": false, "isPure": false, @@ -33045,26 +32625,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1162, + "id": 1146, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "20441:12:0", + "src": "20311:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 1164, + "id": 1148, "indexExpression": { "argumentTypes": null, - "id": 1163, + "id": 1147, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1079, - "src": "20454:10:0", + "referencedDeclaration": 1063, + "src": "20324:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -33075,13 +32655,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20441:24:0", + "src": "20311:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 1165, + "id": 1149, "isConstant": false, "isLValue": true, "isPure": false, @@ -33089,21 +32669,21 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "20441:32:0", + "src": "20311:32:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 1167, + "id": 1151, "indexExpression": { "argumentTypes": null, - "id": 1166, + "id": 1150, "name": "seller", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1071, - "src": "20474:6:0", + "referencedDeclaration": 1055, + "src": "20344:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -33114,7 +32694,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "20441:40:0", + "src": "20311:40:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -33125,14 +32705,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "74727565", - "id": 1168, + "id": 1152, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "20484:4:0", + "src": "20354:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -33140,20 +32720,20 @@ }, "value": "true" }, - "src": "20441:47:0", + "src": "20311:47:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 1170, + "id": 1154, "nodeType": "ExpressionStatement", - "src": "20441:47:0" + "src": "20311:47:0" }, { "expression": { "argumentTypes": null, - "id": 1178, + "id": 1162, "isConstant": false, "isLValue": false, "isPure": false, @@ -33166,26 +32746,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1171, + "id": 1155, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "20498:12:0", + "src": "20368:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 1173, + "id": 1157, "indexExpression": { "argumentTypes": null, - "id": 1172, + "id": 1156, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1079, - "src": "20511:10:0", + "referencedDeclaration": 1063, + "src": "20381:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -33196,13 +32776,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20498:24:0", + "src": "20368:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 1174, + "id": 1158, "isConstant": false, "isLValue": true, "isPure": false, @@ -33210,21 +32790,21 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "20498:32:0", + "src": "20368:32:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 1176, + "id": 1160, "indexExpression": { "argumentTypes": null, - "id": 1175, + "id": 1159, "name": "buyer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1069, - "src": "20531:5:0", + "referencedDeclaration": 1053, + "src": "20401:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -33235,7 +32815,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "20498:39:0", + "src": "20368:39:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -33246,14 +32826,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "74727565", - "id": 1177, + "id": 1161, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "20540:4:0", + "src": "20410:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -33261,15 +32841,15 @@ }, "value": "true" }, - "src": "20498:46:0", + "src": "20368:46:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 1179, + "id": 1163, "nodeType": "ExpressionStatement", - "src": "20498:46:0" + "src": "20368:46:0" }, { "expression": { @@ -33277,7 +32857,7 @@ "arguments": [ { "argumentTypes": null, - "id": 1187, + "id": 1171, "isConstant": false, "isLValue": false, "isPure": false, @@ -33285,7 +32865,7 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "20651:44:0", + "src": "20521:44:0", "subExpression": { "argumentTypes": null, "baseExpression": { @@ -33294,26 +32874,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1181, + "id": 1165, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "20652:12:0", + "src": "20522:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 1183, + "id": 1167, "indexExpression": { "argumentTypes": null, - "id": 1182, + "id": 1166, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1079, - "src": "20665:10:0", + "referencedDeclaration": 1063, + "src": "20535:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -33324,13 +32904,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20652:24:0", + "src": "20522:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 1184, + "id": 1168, "isConstant": false, "isLValue": true, "isPure": false, @@ -33338,21 +32918,21 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "20652:32:0", + "src": "20522:32:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 1186, + "id": 1170, "indexExpression": { "argumentTypes": null, - "id": 1185, + "id": 1169, "name": "moderator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1073, - "src": "20685:9:0", + "referencedDeclaration": 1057, + "src": "20555:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -33363,7 +32943,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20652:43:0", + "src": "20522:43:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -33377,14 +32957,14 @@ { "argumentTypes": null, "hexValue": "456974686572206275796572206f722073656c6c657220697320706173736564206173206d6f64657261746f72", - "id": 1188, + "id": 1172, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "20710:47:0", + "src": "20580:47:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_313b391557427937e7bdb85c7561d47c5b9c985755a448dd33a92026ffb38f8d", @@ -33404,21 +32984,21 @@ "typeString": "literal_string \"Either buyer or seller is passed as moderator\"" } ], - "id": 1180, + "id": 1164, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1400, - 1401 + 1384, + 1385 ], - "referencedDeclaration": 1401, - "src": "20630:7:0", + "referencedDeclaration": 1385, + "src": "20500:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 1189, + "id": 1173, "isConstant": false, "isLValue": false, "isPure": false, @@ -33426,15 +33006,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "20630:137:0", + "src": "20500:137:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1190, + "id": 1174, "nodeType": "ExpressionStatement", - "src": "20630:137:0" + "src": "20500:137:0" }, { "condition": { @@ -33443,19 +33023,19 @@ "typeIdentifier": "t_uint8", "typeString": "uint8" }, - "id": 1193, + "id": 1177, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1191, + "id": 1175, "name": "threshold", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1075, - "src": "20927:9:0", + "referencedDeclaration": 1059, + "src": "20797:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -33466,14 +33046,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "31", - "id": 1192, + "id": 1176, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "20939:1:0", + "src": "20809:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -33481,25 +33061,25 @@ }, "value": "1" }, - "src": "20927:13:0", + "src": "20797:13:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, - "id": 1204, + "id": 1188, "nodeType": "IfStatement", - "src": "20923:94:0", + "src": "20793:94:0", "trueBody": { - "id": 1203, + "id": 1187, "nodeType": "Block", - "src": "20942:75:0", + "src": "20812:75:0", "statements": [ { "expression": { "argumentTypes": null, - "id": 1201, + "id": 1185, "isConstant": false, "isLValue": false, "isPure": false, @@ -33512,26 +33092,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1194, + "id": 1178, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "20956:12:0", + "src": "20826:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 1196, + "id": 1180, "indexExpression": { "argumentTypes": null, - "id": 1195, + "id": 1179, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1079, - "src": "20969:10:0", + "referencedDeclaration": 1063, + "src": "20839:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -33542,13 +33122,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20956:24:0", + "src": "20826:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 1197, + "id": 1181, "isConstant": false, "isLValue": true, "isPure": false, @@ -33556,21 +33136,21 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "20956:32:0", + "src": "20826:32:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 1199, + "id": 1183, "indexExpression": { "argumentTypes": null, - "id": 1198, + "id": 1182, "name": "moderator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1073, - "src": "20989:9:0", + "referencedDeclaration": 1057, + "src": "20859:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -33581,7 +33161,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "20956:43:0", + "src": "20826:43:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -33592,14 +33172,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "74727565", - "id": 1200, + "id": 1184, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "21002:4:0", + "src": "20872:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -33607,15 +33187,15 @@ }, "value": "true" }, - "src": "20956:50:0", + "src": "20826:50:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 1202, + "id": 1186, "nodeType": "ExpressionStatement", - "src": "20956:50:0" + "src": "20826:50:0" } ] } @@ -33623,7 +33203,7 @@ { "expression": { "argumentTypes": null, - "id": 1206, + "id": 1190, "isConstant": false, "isLValue": false, "isPure": false, @@ -33631,15 +33211,15 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "21035:18:0", + "src": "20905:18:0", "subExpression": { "argumentTypes": null, - "id": 1205, + "id": 1189, "name": "transactionCount", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 78, - "src": "21035:16:0", + "src": "20905:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -33650,9 +33230,9 @@ "typeString": "uint256" } }, - "id": 1207, + "id": 1191, "nodeType": "ExpressionStatement", - "src": "21035:18:0" + "src": "20905:18:0" }, { "expression": { @@ -33660,12 +33240,12 @@ "arguments": [ { "argumentTypes": null, - "id": 1212, + "id": 1196, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1079, - "src": "21095:10:0", + "referencedDeclaration": 1063, + "src": "20965:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -33683,26 +33263,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1208, + "id": 1192, "name": "partyVsTransaction", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 83, - "src": "21064:18:0", + "src": "20934:18:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_bytes32_$dyn_storage_$", "typeString": "mapping(address => bytes32[] storage ref)" } }, - "id": 1210, + "id": 1194, "indexExpression": { "argumentTypes": null, - "id": 1209, + "id": 1193, "name": "buyer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1069, - "src": "21083:5:0", + "referencedDeclaration": 1053, + "src": "20953:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -33713,13 +33293,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "21064:25:0", + "src": "20934:25:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage", "typeString": "bytes32[] storage ref" } }, - "id": 1211, + "id": 1195, "isConstant": false, "isLValue": false, "isPure": false, @@ -33727,13 +33307,13 @@ "memberName": "push", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "21064:30:0", + "src": "20934:30:0", "typeDescriptions": { "typeIdentifier": "t_function_arraypush_nonpayable$_t_bytes32_$returns$_t_uint256_$", "typeString": "function (bytes32) returns (uint256)" } }, - "id": 1213, + "id": 1197, "isConstant": false, "isLValue": false, "isPure": false, @@ -33741,15 +33321,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "21064:42:0", + "src": "20934:42:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1214, + "id": 1198, "nodeType": "ExpressionStatement", - "src": "21064:42:0" + "src": "20934:42:0" }, { "expression": { @@ -33757,12 +33337,12 @@ "arguments": [ { "argumentTypes": null, - "id": 1219, + "id": 1203, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1079, - "src": "21148:10:0", + "referencedDeclaration": 1063, + "src": "21018:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -33780,26 +33360,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1215, + "id": 1199, "name": "partyVsTransaction", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 83, - "src": "21116:18:0", + "src": "20986:18:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_bytes32_$dyn_storage_$", "typeString": "mapping(address => bytes32[] storage ref)" } }, - "id": 1217, + "id": 1201, "indexExpression": { "argumentTypes": null, - "id": 1216, + "id": 1200, "name": "seller", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1071, - "src": "21135:6:0", + "referencedDeclaration": 1055, + "src": "21005:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -33810,13 +33390,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "21116:26:0", + "src": "20986:26:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage", "typeString": "bytes32[] storage ref" } }, - "id": 1218, + "id": 1202, "isConstant": false, "isLValue": false, "isPure": false, @@ -33824,13 +33404,13 @@ "memberName": "push", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "21116:31:0", + "src": "20986:31:0", "typeDescriptions": { "typeIdentifier": "t_function_arraypush_nonpayable$_t_bytes32_$returns$_t_uint256_$", "typeString": "function (bytes32) returns (uint256)" } }, - "id": 1220, + "id": 1204, "isConstant": false, "isLValue": false, "isPure": false, @@ -33838,20 +33418,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "21116:43:0", + "src": "20986:43:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1221, + "id": 1205, "nodeType": "ExpressionStatement", - "src": "21116:43:0" + "src": "20986:43:0" } ] }, "documentation": "Private method to add transaction to reduce code redundancy", - "id": 1223, + "id": 1207, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -33859,16 +33439,16 @@ "name": "_addTransaction", "nodeType": "FunctionDefinition", "parameters": { - "id": 1088, + "id": 1072, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1069, + "id": 1053, "name": "buyer", "nodeType": "VariableDeclaration", - "scope": 1223, - "src": "18559:13:0", + "scope": 1207, + "src": "18429:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -33876,10 +33456,10 @@ "typeString": "address" }, "typeName": { - "id": 1068, + "id": 1052, "name": "address", "nodeType": "ElementaryTypeName", - "src": "18559:7:0", + "src": "18429:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -33890,11 +33470,11 @@ }, { "constant": false, - "id": 1071, + "id": 1055, "name": "seller", "nodeType": "VariableDeclaration", - "scope": 1223, - "src": "18582:14:0", + "scope": 1207, + "src": "18452:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -33902,10 +33482,10 @@ "typeString": "address" }, "typeName": { - "id": 1070, + "id": 1054, "name": "address", "nodeType": "ElementaryTypeName", - "src": "18582:7:0", + "src": "18452:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -33916,11 +33496,11 @@ }, { "constant": false, - "id": 1073, + "id": 1057, "name": "moderator", "nodeType": "VariableDeclaration", - "scope": 1223, - "src": "18606:17:0", + "scope": 1207, + "src": "18476:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -33928,10 +33508,10 @@ "typeString": "address" }, "typeName": { - "id": 1072, + "id": 1056, "name": "address", "nodeType": "ElementaryTypeName", - "src": "18606:7:0", + "src": "18476:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -33942,11 +33522,11 @@ }, { "constant": false, - "id": 1075, + "id": 1059, "name": "threshold", "nodeType": "VariableDeclaration", - "scope": 1223, - "src": "18633:15:0", + "scope": 1207, + "src": "18503:15:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -33954,10 +33534,10 @@ "typeString": "uint8" }, "typeName": { - "id": 1074, + "id": 1058, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "18633:5:0", + "src": "18503:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -33968,11 +33548,11 @@ }, { "constant": false, - "id": 1077, + "id": 1061, "name": "timeoutHours", "nodeType": "VariableDeclaration", - "scope": 1223, - "src": "18658:19:0", + "scope": 1207, + "src": "18528:19:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -33980,10 +33560,10 @@ "typeString": "uint32" }, "typeName": { - "id": 1076, + "id": 1060, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "18658:6:0", + "src": "18528:6:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -33994,11 +33574,11 @@ }, { "constant": false, - "id": 1079, + "id": 1063, "name": "scriptHash", "nodeType": "VariableDeclaration", - "scope": 1223, - "src": "18687:18:0", + "scope": 1207, + "src": "18557:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -34006,10 +33586,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 1078, + "id": 1062, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "18687:7:0", + "src": "18557:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -34020,11 +33600,11 @@ }, { "constant": false, - "id": 1081, + "id": 1065, "name": "value", "nodeType": "VariableDeclaration", - "scope": 1223, - "src": "18715:13:0", + "scope": 1207, + "src": "18585:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -34032,10 +33612,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1080, + "id": 1064, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "18715:7:0", + "src": "18585:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -34046,11 +33626,11 @@ }, { "constant": false, - "id": 1083, + "id": 1067, "name": "uniqueId", "nodeType": "VariableDeclaration", - "scope": 1223, - "src": "18738:16:0", + "scope": 1207, + "src": "18608:16:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -34058,10 +33638,10 @@ "typeString": "bytes20" }, "typeName": { - "id": 1082, + "id": 1066, "name": "bytes20", "nodeType": "ElementaryTypeName", - "src": "18738:7:0", + "src": "18608:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -34072,11 +33652,11 @@ }, { "constant": false, - "id": 1085, + "id": 1069, "name": "transactionType", "nodeType": "VariableDeclaration", - "scope": 1223, - "src": "18764:31:0", + "scope": 1207, + "src": "18634:31:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -34085,11 +33665,11 @@ }, "typeName": { "contractScope": null, - "id": 1084, + "id": 1068, "name": "TransactionType", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 12, - "src": "18764:15:0", + "src": "18634:15:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -34100,11 +33680,11 @@ }, { "constant": false, - "id": 1087, + "id": 1071, "name": "tokenAddress", "nodeType": "VariableDeclaration", - "scope": 1223, - "src": "18805:20:0", + "scope": 1207, + "src": "18675:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -34112,10 +33692,10 @@ "typeString": "address" }, "typeName": { - "id": 1086, + "id": 1070, "name": "address", "nodeType": "ElementaryTypeName", - "src": "18805:7:0", + "src": "18675:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -34125,27 +33705,27 @@ "visibility": "internal" } ], - "src": "18549:282:0" + "src": "18419:282:0" }, "payable": false, "returnParameters": { - "id": 1089, + "id": 1073, "nodeType": "ParameterList", "parameters": [], - "src": "18852:0:0" + "src": "18722:0:0" }, - "scope": 1224, - "src": "18525:2641:0", + "scope": 1208, + "src": "18395:2641:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "private" } ], - "scope": 1225, - "src": "605:20563:0" + "scope": 1209, + "src": "605:20433:0" } ], - "src": "0:21169:0" + "src": "0:21039:0" }, "compiler": { "name": "solc", @@ -34153,5 +33733,5 @@ }, "networks": {}, "schemaVersion": "2.0.1", - "updatedAt": "2018-11-19T13:59:44.091Z" + "updatedAt": "2018-11-19T14:02:23.202Z" } \ No newline at end of file diff --git a/build/contracts/ITokenContract.json b/build/contracts/ITokenContract.json index 47f1950..d033f13 100644 --- a/build/contracts/ITokenContract.json +++ b/build/contracts/ITokenContract.json @@ -81,14 +81,14 @@ "absolutePath": "/home/sameep/freelancing-projects/toptal/open baazar/publicRepo/smart-contracts/contracts/token/ITokenContract.sol", "exportedSymbols": { "ITokenContract": [ - 1254 + 1238 ] }, - "id": 1255, + "id": 1239, "nodeType": "SourceUnit", "nodes": [ { - "id": 1226, + "id": 1210, "literals": [ "solidity", "0.4", @@ -103,9 +103,9 @@ "contractKind": "interface", "documentation": null, "fullyImplemented": false, - "id": 1254, + "id": 1238, "linearizedBaseContracts": [ - 1254 + 1238 ], "name": "ITokenContract", "nodeType": "ContractDefinition", @@ -113,7 +113,7 @@ { "body": null, "documentation": null, - "id": 1233, + "id": 1217, "implemented": false, "isConstructor": false, "isDeclaredConst": true, @@ -121,15 +121,15 @@ "name": "balanceOf", "nodeType": "FunctionDefinition", "parameters": { - "id": 1229, + "id": 1213, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1228, + "id": 1212, "name": "_owner", "nodeType": "VariableDeclaration", - "scope": 1233, + "scope": 1217, "src": "75:14:1", "stateVariable": false, "storageLocation": "default", @@ -138,7 +138,7 @@ "typeString": "address" }, "typeName": { - "id": 1227, + "id": 1211, "name": "address", "nodeType": "ElementaryTypeName", "src": "75:7:1", @@ -155,15 +155,15 @@ }, "payable": false, "returnParameters": { - "id": 1232, + "id": 1216, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1231, + "id": 1215, "name": "balance", "nodeType": "VariableDeclaration", - "scope": 1233, + "scope": 1217, "src": "114:15:1", "stateVariable": false, "storageLocation": "default", @@ -172,7 +172,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1230, + "id": 1214, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "114:7:1", @@ -187,7 +187,7 @@ ], "src": "113:17:1" }, - "scope": 1254, + "scope": 1238, "src": "56:75:1", "stateMutability": "view", "superFunction": null, @@ -196,7 +196,7 @@ { "body": null, "documentation": null, - "id": 1242, + "id": 1226, "implemented": false, "isConstructor": false, "isDeclaredConst": false, @@ -204,15 +204,15 @@ "name": "transfer", "nodeType": "FunctionDefinition", "parameters": { - "id": 1238, + "id": 1222, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1235, + "id": 1219, "name": "_to", "nodeType": "VariableDeclaration", - "scope": 1242, + "scope": 1226, "src": "166:11:1", "stateVariable": false, "storageLocation": "default", @@ -221,7 +221,7 @@ "typeString": "address" }, "typeName": { - "id": 1234, + "id": 1218, "name": "address", "nodeType": "ElementaryTypeName", "src": "166:7:1", @@ -235,10 +235,10 @@ }, { "constant": false, - "id": 1237, + "id": 1221, "name": "_amount", "nodeType": "VariableDeclaration", - "scope": 1242, + "scope": 1226, "src": "188:15:1", "stateVariable": false, "storageLocation": "default", @@ -247,7 +247,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1236, + "id": 1220, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "188:7:1", @@ -264,15 +264,15 @@ }, "payable": false, "returnParameters": { - "id": 1241, + "id": 1225, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1240, + "id": 1224, "name": "success", "nodeType": "VariableDeclaration", - "scope": 1242, + "scope": 1226, "src": "245:12:1", "stateVariable": false, "storageLocation": "default", @@ -281,7 +281,7 @@ "typeString": "bool" }, "typeName": { - "id": 1239, + "id": 1223, "name": "bool", "nodeType": "ElementaryTypeName", "src": "245:4:1", @@ -296,7 +296,7 @@ ], "src": "244:14:1" }, - "scope": 1254, + "scope": 1238, "src": "139:120:1", "stateMutability": "nonpayable", "superFunction": null, @@ -305,7 +305,7 @@ { "body": null, "documentation": null, - "id": 1253, + "id": 1237, "implemented": false, "isConstructor": false, "isDeclaredConst": false, @@ -313,15 +313,15 @@ "name": "transferFrom", "nodeType": "FunctionDefinition", "parameters": { - "id": 1249, + "id": 1233, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1244, + "id": 1228, "name": "_from", "nodeType": "VariableDeclaration", - "scope": 1253, + "scope": 1237, "src": "296:13:1", "stateVariable": false, "storageLocation": "default", @@ -330,7 +330,7 @@ "typeString": "address" }, "typeName": { - "id": 1243, + "id": 1227, "name": "address", "nodeType": "ElementaryTypeName", "src": "296:7:1", @@ -344,10 +344,10 @@ }, { "constant": false, - "id": 1246, + "id": 1230, "name": "_to", "nodeType": "VariableDeclaration", - "scope": 1253, + "scope": 1237, "src": "320:11:1", "stateVariable": false, "storageLocation": "default", @@ -356,7 +356,7 @@ "typeString": "address" }, "typeName": { - "id": 1245, + "id": 1229, "name": "address", "nodeType": "ElementaryTypeName", "src": "320:7:1", @@ -370,10 +370,10 @@ }, { "constant": false, - "id": 1248, + "id": 1232, "name": "_amount", "nodeType": "VariableDeclaration", - "scope": 1253, + "scope": 1237, "src": "342:15:1", "stateVariable": false, "storageLocation": "default", @@ -382,7 +382,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1247, + "id": 1231, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "342:7:1", @@ -399,15 +399,15 @@ }, "payable": false, "returnParameters": { - "id": 1252, + "id": 1236, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1251, + "id": 1235, "name": "success", "nodeType": "VariableDeclaration", - "scope": 1253, + "scope": 1237, "src": "400:12:1", "stateVariable": false, "storageLocation": "default", @@ -416,7 +416,7 @@ "typeString": "bool" }, "typeName": { - "id": 1250, + "id": 1234, "name": "bool", "nodeType": "ElementaryTypeName", "src": "400:4:1", @@ -431,14 +431,14 @@ ], "src": "399:14:1" }, - "scope": 1254, + "scope": 1238, "src": "265:149:1", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" } ], - "scope": 1255, + "scope": 1239, "src": "25:391:1" } ], @@ -448,14 +448,14 @@ "absolutePath": "/home/sameep/freelancing-projects/toptal/open baazar/publicRepo/smart-contracts/contracts/token/ITokenContract.sol", "exportedSymbols": { "ITokenContract": [ - 1254 + 1238 ] }, - "id": 1255, + "id": 1239, "nodeType": "SourceUnit", "nodes": [ { - "id": 1226, + "id": 1210, "literals": [ "solidity", "0.4", @@ -470,9 +470,9 @@ "contractKind": "interface", "documentation": null, "fullyImplemented": false, - "id": 1254, + "id": 1238, "linearizedBaseContracts": [ - 1254 + 1238 ], "name": "ITokenContract", "nodeType": "ContractDefinition", @@ -480,7 +480,7 @@ { "body": null, "documentation": null, - "id": 1233, + "id": 1217, "implemented": false, "isConstructor": false, "isDeclaredConst": true, @@ -488,15 +488,15 @@ "name": "balanceOf", "nodeType": "FunctionDefinition", "parameters": { - "id": 1229, + "id": 1213, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1228, + "id": 1212, "name": "_owner", "nodeType": "VariableDeclaration", - "scope": 1233, + "scope": 1217, "src": "75:14:1", "stateVariable": false, "storageLocation": "default", @@ -505,7 +505,7 @@ "typeString": "address" }, "typeName": { - "id": 1227, + "id": 1211, "name": "address", "nodeType": "ElementaryTypeName", "src": "75:7:1", @@ -522,15 +522,15 @@ }, "payable": false, "returnParameters": { - "id": 1232, + "id": 1216, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1231, + "id": 1215, "name": "balance", "nodeType": "VariableDeclaration", - "scope": 1233, + "scope": 1217, "src": "114:15:1", "stateVariable": false, "storageLocation": "default", @@ -539,7 +539,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1230, + "id": 1214, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "114:7:1", @@ -554,7 +554,7 @@ ], "src": "113:17:1" }, - "scope": 1254, + "scope": 1238, "src": "56:75:1", "stateMutability": "view", "superFunction": null, @@ -563,7 +563,7 @@ { "body": null, "documentation": null, - "id": 1242, + "id": 1226, "implemented": false, "isConstructor": false, "isDeclaredConst": false, @@ -571,15 +571,15 @@ "name": "transfer", "nodeType": "FunctionDefinition", "parameters": { - "id": 1238, + "id": 1222, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1235, + "id": 1219, "name": "_to", "nodeType": "VariableDeclaration", - "scope": 1242, + "scope": 1226, "src": "166:11:1", "stateVariable": false, "storageLocation": "default", @@ -588,7 +588,7 @@ "typeString": "address" }, "typeName": { - "id": 1234, + "id": 1218, "name": "address", "nodeType": "ElementaryTypeName", "src": "166:7:1", @@ -602,10 +602,10 @@ }, { "constant": false, - "id": 1237, + "id": 1221, "name": "_amount", "nodeType": "VariableDeclaration", - "scope": 1242, + "scope": 1226, "src": "188:15:1", "stateVariable": false, "storageLocation": "default", @@ -614,7 +614,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1236, + "id": 1220, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "188:7:1", @@ -631,15 +631,15 @@ }, "payable": false, "returnParameters": { - "id": 1241, + "id": 1225, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1240, + "id": 1224, "name": "success", "nodeType": "VariableDeclaration", - "scope": 1242, + "scope": 1226, "src": "245:12:1", "stateVariable": false, "storageLocation": "default", @@ -648,7 +648,7 @@ "typeString": "bool" }, "typeName": { - "id": 1239, + "id": 1223, "name": "bool", "nodeType": "ElementaryTypeName", "src": "245:4:1", @@ -663,7 +663,7 @@ ], "src": "244:14:1" }, - "scope": 1254, + "scope": 1238, "src": "139:120:1", "stateMutability": "nonpayable", "superFunction": null, @@ -672,7 +672,7 @@ { "body": null, "documentation": null, - "id": 1253, + "id": 1237, "implemented": false, "isConstructor": false, "isDeclaredConst": false, @@ -680,15 +680,15 @@ "name": "transferFrom", "nodeType": "FunctionDefinition", "parameters": { - "id": 1249, + "id": 1233, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1244, + "id": 1228, "name": "_from", "nodeType": "VariableDeclaration", - "scope": 1253, + "scope": 1237, "src": "296:13:1", "stateVariable": false, "storageLocation": "default", @@ -697,7 +697,7 @@ "typeString": "address" }, "typeName": { - "id": 1243, + "id": 1227, "name": "address", "nodeType": "ElementaryTypeName", "src": "296:7:1", @@ -711,10 +711,10 @@ }, { "constant": false, - "id": 1246, + "id": 1230, "name": "_to", "nodeType": "VariableDeclaration", - "scope": 1253, + "scope": 1237, "src": "320:11:1", "stateVariable": false, "storageLocation": "default", @@ -723,7 +723,7 @@ "typeString": "address" }, "typeName": { - "id": 1245, + "id": 1229, "name": "address", "nodeType": "ElementaryTypeName", "src": "320:7:1", @@ -737,10 +737,10 @@ }, { "constant": false, - "id": 1248, + "id": 1232, "name": "_amount", "nodeType": "VariableDeclaration", - "scope": 1253, + "scope": 1237, "src": "342:15:1", "stateVariable": false, "storageLocation": "default", @@ -749,7 +749,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1247, + "id": 1231, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "342:7:1", @@ -766,15 +766,15 @@ }, "payable": false, "returnParameters": { - "id": 1252, + "id": 1236, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1251, + "id": 1235, "name": "success", "nodeType": "VariableDeclaration", - "scope": 1253, + "scope": 1237, "src": "400:12:1", "stateVariable": false, "storageLocation": "default", @@ -783,7 +783,7 @@ "typeString": "bool" }, "typeName": { - "id": 1250, + "id": 1234, "name": "bool", "nodeType": "ElementaryTypeName", "src": "400:4:1", @@ -798,14 +798,14 @@ ], "src": "399:14:1" }, - "scope": 1254, + "scope": 1238, "src": "265:149:1", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" } ], - "scope": 1255, + "scope": 1239, "src": "25:391:1" } ], @@ -817,5 +817,5 @@ }, "networks": {}, "schemaVersion": "2.0.1", - "updatedAt": "2018-11-19T13:59:44.073Z" + "updatedAt": "2018-11-19T14:02:23.192Z" } \ No newline at end of file diff --git a/build/contracts/SafeMath.json b/build/contracts/SafeMath.json index 0346376..5e099af 100644 --- a/build/contracts/SafeMath.json +++ b/build/contracts/SafeMath.json @@ -11,14 +11,14 @@ "absolutePath": "openzeppelin-solidity/contracts/math/SafeMath.sol", "exportedSymbols": { "SafeMath": [ - 1382 + 1366 ] }, - "id": 1383, + "id": 1367, "nodeType": "SourceUnit", "nodes": [ { - "id": 1256, + "id": 1240, "literals": [ "solidity", "^", @@ -34,16 +34,16 @@ "contractKind": "library", "documentation": "@title SafeMath\n@dev Math operations with safety checks that revert on error", "fullyImplemented": true, - "id": 1382, + "id": 1366, "linearizedBaseContracts": [ - 1382 + 1366 ], "name": "SafeMath", "nodeType": "ContractDefinition", "nodes": [ { "body": { - "id": 1288, + "id": 1272, "nodeType": "Block", "src": "271:314:2", "statements": [ @@ -54,18 +54,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1267, + "id": 1251, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1265, + "id": 1249, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1258, + "referencedDeclaration": 1242, "src": "486:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -77,7 +77,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 1266, + "id": 1250, "isConstant": false, "isLValue": false, "isPure": true, @@ -99,11 +99,11 @@ } }, "falseBody": null, - "id": 1271, + "id": 1255, "nodeType": "IfStatement", "src": "482:35:2", "trueBody": { - "id": 1270, + "id": 1254, "nodeType": "Block", "src": "494:23:2", "statements": [ @@ -111,7 +111,7 @@ "expression": { "argumentTypes": null, "hexValue": "30", - "id": 1268, + "id": 1252, "isConstant": false, "isLValue": false, "isPure": true, @@ -126,8 +126,8 @@ }, "value": "0" }, - "functionReturnParameters": 1264, - "id": 1269, + "functionReturnParameters": 1248, + "id": 1253, "nodeType": "Return", "src": "502:8:2" } @@ -136,15 +136,15 @@ }, { "assignments": [ - 1273 + 1257 ], "declarations": [ { "constant": false, - "id": 1273, + "id": 1257, "name": "c", "nodeType": "VariableDeclaration", - "scope": 1289, + "scope": 1273, "src": "523:9:2", "stateVariable": false, "storageLocation": "default", @@ -153,7 +153,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1272, + "id": 1256, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "523:7:2", @@ -166,25 +166,25 @@ "visibility": "internal" } ], - "id": 1277, + "id": 1261, "initialValue": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1276, + "id": 1260, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1274, + "id": 1258, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1258, + "referencedDeclaration": 1242, "src": "535:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -195,11 +195,11 @@ "operator": "*", "rightExpression": { "argumentTypes": null, - "id": 1275, + "id": 1259, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1260, + "referencedDeclaration": 1244, "src": "539:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -225,7 +225,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1283, + "id": 1267, "isConstant": false, "isLValue": false, "isPure": false, @@ -236,18 +236,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1281, + "id": 1265, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1279, + "id": 1263, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1273, + "referencedDeclaration": 1257, "src": "554:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -258,11 +258,11 @@ "operator": "/", "rightExpression": { "argumentTypes": null, - "id": 1280, + "id": 1264, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1258, + "referencedDeclaration": 1242, "src": "558:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -279,11 +279,11 @@ "operator": "==", "rightExpression": { "argumentTypes": null, - "id": 1282, + "id": 1266, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1260, + "referencedDeclaration": 1244, "src": "563:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -304,21 +304,21 @@ "typeString": "bool" } ], - "id": 1278, + "id": 1262, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1400, - 1401 + 1384, + 1385 ], - "referencedDeclaration": 1400, + "referencedDeclaration": 1384, "src": "546:7:2", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 1284, + "id": 1268, "isConstant": false, "isLValue": false, "isPure": false, @@ -332,33 +332,33 @@ "typeString": "tuple()" } }, - "id": 1285, + "id": 1269, "nodeType": "ExpressionStatement", "src": "546:19:2" }, { "expression": { "argumentTypes": null, - "id": 1286, + "id": 1270, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1273, + "referencedDeclaration": 1257, "src": "579:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 1264, - "id": 1287, + "functionReturnParameters": 1248, + "id": 1271, "nodeType": "Return", "src": "572:8:2" } ] }, "documentation": "@dev Multiplies two numbers, reverts on overflow.", - "id": 1289, + "id": 1273, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -366,15 +366,15 @@ "name": "mul", "nodeType": "FunctionDefinition", "parameters": { - "id": 1261, + "id": 1245, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1258, + "id": 1242, "name": "a", "nodeType": "VariableDeclaration", - "scope": 1289, + "scope": 1273, "src": "217:9:2", "stateVariable": false, "storageLocation": "default", @@ -383,7 +383,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1257, + "id": 1241, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "217:7:2", @@ -397,10 +397,10 @@ }, { "constant": false, - "id": 1260, + "id": 1244, "name": "b", "nodeType": "VariableDeclaration", - "scope": 1289, + "scope": 1273, "src": "228:9:2", "stateVariable": false, "storageLocation": "default", @@ -409,7 +409,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1259, + "id": 1243, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "228:7:2", @@ -426,15 +426,15 @@ }, "payable": false, "returnParameters": { - "id": 1264, + "id": 1248, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1263, + "id": 1247, "name": "", "nodeType": "VariableDeclaration", - "scope": 1289, + "scope": 1273, "src": "262:7:2", "stateVariable": false, "storageLocation": "default", @@ -443,7 +443,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1262, + "id": 1246, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "262:7:2", @@ -458,7 +458,7 @@ ], "src": "261:9:2" }, - "scope": 1382, + "scope": 1366, "src": "204:381:2", "stateMutability": "pure", "superFunction": null, @@ -466,7 +466,7 @@ }, { "body": { - "id": 1312, + "id": 1296, "nodeType": "Block", "src": "762:203:2", "statements": [ @@ -480,18 +480,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1301, + "id": 1285, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1299, + "id": 1283, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1293, + "referencedDeclaration": 1277, "src": "776:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -503,7 +503,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 1300, + "id": 1284, "isConstant": false, "isLValue": false, "isPure": true, @@ -532,21 +532,21 @@ "typeString": "bool" } ], - "id": 1298, + "id": 1282, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1400, - 1401 + 1384, + 1385 ], - "referencedDeclaration": 1400, + "referencedDeclaration": 1384, "src": "768:7:2", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 1302, + "id": 1286, "isConstant": false, "isLValue": false, "isPure": false, @@ -560,21 +560,21 @@ "typeString": "tuple()" } }, - "id": 1303, + "id": 1287, "nodeType": "ExpressionStatement", "src": "768:14:2" }, { "assignments": [ - 1305 + 1289 ], "declarations": [ { "constant": false, - "id": 1305, + "id": 1289, "name": "c", "nodeType": "VariableDeclaration", - "scope": 1313, + "scope": 1297, "src": "846:9:2", "stateVariable": false, "storageLocation": "default", @@ -583,7 +583,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1304, + "id": 1288, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "846:7:2", @@ -596,25 +596,25 @@ "visibility": "internal" } ], - "id": 1309, + "id": 1293, "initialValue": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1308, + "id": 1292, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1306, + "id": 1290, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1291, + "referencedDeclaration": 1275, "src": "858:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -625,11 +625,11 @@ "operator": "/", "rightExpression": { "argumentTypes": null, - "id": 1307, + "id": 1291, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1293, + "referencedDeclaration": 1277, "src": "862:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -648,26 +648,26 @@ { "expression": { "argumentTypes": null, - "id": 1310, + "id": 1294, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1305, + "referencedDeclaration": 1289, "src": "959:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 1297, - "id": 1311, + "functionReturnParameters": 1281, + "id": 1295, "nodeType": "Return", "src": "952:8:2" } ] }, "documentation": "@dev Integer division of two numbers truncating the quotient, reverts on division by zero.", - "id": 1313, + "id": 1297, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -675,15 +675,15 @@ "name": "div", "nodeType": "FunctionDefinition", "parameters": { - "id": 1294, + "id": 1278, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1291, + "id": 1275, "name": "a", "nodeType": "VariableDeclaration", - "scope": 1313, + "scope": 1297, "src": "708:9:2", "stateVariable": false, "storageLocation": "default", @@ -692,7 +692,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1290, + "id": 1274, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "708:7:2", @@ -706,10 +706,10 @@ }, { "constant": false, - "id": 1293, + "id": 1277, "name": "b", "nodeType": "VariableDeclaration", - "scope": 1313, + "scope": 1297, "src": "719:9:2", "stateVariable": false, "storageLocation": "default", @@ -718,7 +718,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1292, + "id": 1276, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "719:7:2", @@ -735,15 +735,15 @@ }, "payable": false, "returnParameters": { - "id": 1297, + "id": 1281, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1296, + "id": 1280, "name": "", "nodeType": "VariableDeclaration", - "scope": 1313, + "scope": 1297, "src": "753:7:2", "stateVariable": false, "storageLocation": "default", @@ -752,7 +752,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1295, + "id": 1279, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "753:7:2", @@ -767,7 +767,7 @@ ], "src": "752:9:2" }, - "scope": 1382, + "scope": 1366, "src": "695:270:2", "stateMutability": "pure", "superFunction": null, @@ -775,7 +775,7 @@ }, { "body": { - "id": 1336, + "id": 1320, "nodeType": "Block", "src": "1145:64:2", "statements": [ @@ -789,18 +789,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1325, + "id": 1309, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1323, + "id": 1307, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1317, + "referencedDeclaration": 1301, "src": "1159:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -811,11 +811,11 @@ "operator": "<=", "rightExpression": { "argumentTypes": null, - "id": 1324, + "id": 1308, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1315, + "referencedDeclaration": 1299, "src": "1164:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -836,21 +836,21 @@ "typeString": "bool" } ], - "id": 1322, + "id": 1306, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1400, - 1401 + 1384, + 1385 ], - "referencedDeclaration": 1400, + "referencedDeclaration": 1384, "src": "1151:7:2", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 1326, + "id": 1310, "isConstant": false, "isLValue": false, "isPure": false, @@ -864,21 +864,21 @@ "typeString": "tuple()" } }, - "id": 1327, + "id": 1311, "nodeType": "ExpressionStatement", "src": "1151:15:2" }, { "assignments": [ - 1329 + 1313 ], "declarations": [ { "constant": false, - "id": 1329, + "id": 1313, "name": "c", "nodeType": "VariableDeclaration", - "scope": 1337, + "scope": 1321, "src": "1172:9:2", "stateVariable": false, "storageLocation": "default", @@ -887,7 +887,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1328, + "id": 1312, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1172:7:2", @@ -900,25 +900,25 @@ "visibility": "internal" } ], - "id": 1333, + "id": 1317, "initialValue": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1332, + "id": 1316, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1330, + "id": 1314, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1315, + "referencedDeclaration": 1299, "src": "1184:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -929,11 +929,11 @@ "operator": "-", "rightExpression": { "argumentTypes": null, - "id": 1331, + "id": 1315, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1317, + "referencedDeclaration": 1301, "src": "1188:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -952,26 +952,26 @@ { "expression": { "argumentTypes": null, - "id": 1334, + "id": 1318, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1329, + "referencedDeclaration": 1313, "src": "1203:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 1321, - "id": 1335, + "functionReturnParameters": 1305, + "id": 1319, "nodeType": "Return", "src": "1196:8:2" } ] }, "documentation": "@dev Subtracts two numbers, reverts on overflow (i.e. if subtrahend is greater than minuend).", - "id": 1337, + "id": 1321, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -979,15 +979,15 @@ "name": "sub", "nodeType": "FunctionDefinition", "parameters": { - "id": 1318, + "id": 1302, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1315, + "id": 1299, "name": "a", "nodeType": "VariableDeclaration", - "scope": 1337, + "scope": 1321, "src": "1091:9:2", "stateVariable": false, "storageLocation": "default", @@ -996,7 +996,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1314, + "id": 1298, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1091:7:2", @@ -1010,10 +1010,10 @@ }, { "constant": false, - "id": 1317, + "id": 1301, "name": "b", "nodeType": "VariableDeclaration", - "scope": 1337, + "scope": 1321, "src": "1102:9:2", "stateVariable": false, "storageLocation": "default", @@ -1022,7 +1022,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1316, + "id": 1300, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1102:7:2", @@ -1039,15 +1039,15 @@ }, "payable": false, "returnParameters": { - "id": 1321, + "id": 1305, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1320, + "id": 1304, "name": "", "nodeType": "VariableDeclaration", - "scope": 1337, + "scope": 1321, "src": "1136:7:2", "stateVariable": false, "storageLocation": "default", @@ -1056,7 +1056,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1319, + "id": 1303, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1136:7:2", @@ -1071,7 +1071,7 @@ ], "src": "1135:9:2" }, - "scope": 1382, + "scope": 1366, "src": "1078:131:2", "stateMutability": "pure", "superFunction": null, @@ -1079,21 +1079,21 @@ }, { "body": { - "id": 1360, + "id": 1344, "nodeType": "Block", "src": "1339:64:2", "statements": [ { "assignments": [ - 1347 + 1331 ], "declarations": [ { "constant": false, - "id": 1347, + "id": 1331, "name": "c", "nodeType": "VariableDeclaration", - "scope": 1361, + "scope": 1345, "src": "1345:9:2", "stateVariable": false, "storageLocation": "default", @@ -1102,7 +1102,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1346, + "id": 1330, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1345:7:2", @@ -1115,25 +1115,25 @@ "visibility": "internal" } ], - "id": 1351, + "id": 1335, "initialValue": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1350, + "id": 1334, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1348, + "id": 1332, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1339, + "referencedDeclaration": 1323, "src": "1357:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1144,11 +1144,11 @@ "operator": "+", "rightExpression": { "argumentTypes": null, - "id": 1349, + "id": 1333, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1341, + "referencedDeclaration": 1325, "src": "1361:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1174,18 +1174,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1355, + "id": 1339, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1353, + "id": 1337, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1347, + "referencedDeclaration": 1331, "src": "1376:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1196,11 +1196,11 @@ "operator": ">=", "rightExpression": { "argumentTypes": null, - "id": 1354, + "id": 1338, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1339, + "referencedDeclaration": 1323, "src": "1381:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1221,21 +1221,21 @@ "typeString": "bool" } ], - "id": 1352, + "id": 1336, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1400, - 1401 + 1384, + 1385 ], - "referencedDeclaration": 1400, + "referencedDeclaration": 1384, "src": "1368:7:2", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 1356, + "id": 1340, "isConstant": false, "isLValue": false, "isPure": false, @@ -1249,33 +1249,33 @@ "typeString": "tuple()" } }, - "id": 1357, + "id": 1341, "nodeType": "ExpressionStatement", "src": "1368:15:2" }, { "expression": { "argumentTypes": null, - "id": 1358, + "id": 1342, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1347, + "referencedDeclaration": 1331, "src": "1397:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 1345, - "id": 1359, + "functionReturnParameters": 1329, + "id": 1343, "nodeType": "Return", "src": "1390:8:2" } ] }, "documentation": "@dev Adds two numbers, reverts on overflow.", - "id": 1361, + "id": 1345, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -1283,15 +1283,15 @@ "name": "add", "nodeType": "FunctionDefinition", "parameters": { - "id": 1342, + "id": 1326, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1339, + "id": 1323, "name": "a", "nodeType": "VariableDeclaration", - "scope": 1361, + "scope": 1345, "src": "1285:9:2", "stateVariable": false, "storageLocation": "default", @@ -1300,7 +1300,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1338, + "id": 1322, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1285:7:2", @@ -1314,10 +1314,10 @@ }, { "constant": false, - "id": 1341, + "id": 1325, "name": "b", "nodeType": "VariableDeclaration", - "scope": 1361, + "scope": 1345, "src": "1296:9:2", "stateVariable": false, "storageLocation": "default", @@ -1326,7 +1326,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1340, + "id": 1324, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1296:7:2", @@ -1343,15 +1343,15 @@ }, "payable": false, "returnParameters": { - "id": 1345, + "id": 1329, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1344, + "id": 1328, "name": "", "nodeType": "VariableDeclaration", - "scope": 1361, + "scope": 1345, "src": "1330:7:2", "stateVariable": false, "storageLocation": "default", @@ -1360,7 +1360,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1343, + "id": 1327, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1330:7:2", @@ -1375,7 +1375,7 @@ ], "src": "1329:9:2" }, - "scope": 1382, + "scope": 1366, "src": "1272:131:2", "stateMutability": "pure", "superFunction": null, @@ -1383,7 +1383,7 @@ }, { "body": { - "id": 1380, + "id": 1364, "nodeType": "Block", "src": "1602:44:2", "statements": [ @@ -1397,18 +1397,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1373, + "id": 1357, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1371, + "id": 1355, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1365, + "referencedDeclaration": 1349, "src": "1616:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1420,7 +1420,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 1372, + "id": 1356, "isConstant": false, "isLValue": false, "isPure": true, @@ -1449,21 +1449,21 @@ "typeString": "bool" } ], - "id": 1370, + "id": 1354, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1400, - 1401 + 1384, + 1385 ], - "referencedDeclaration": 1400, + "referencedDeclaration": 1384, "src": "1608:7:2", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 1374, + "id": 1358, "isConstant": false, "isLValue": false, "isPure": false, @@ -1477,7 +1477,7 @@ "typeString": "tuple()" } }, - "id": 1375, + "id": 1359, "nodeType": "ExpressionStatement", "src": "1608:15:2" }, @@ -1488,18 +1488,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1378, + "id": 1362, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1376, + "id": 1360, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1363, + "referencedDeclaration": 1347, "src": "1636:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1510,11 +1510,11 @@ "operator": "%", "rightExpression": { "argumentTypes": null, - "id": 1377, + "id": 1361, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1365, + "referencedDeclaration": 1349, "src": "1640:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1527,15 +1527,15 @@ "typeString": "uint256" } }, - "functionReturnParameters": 1369, - "id": 1379, + "functionReturnParameters": 1353, + "id": 1363, "nodeType": "Return", "src": "1629:12:2" } ] }, "documentation": "@dev Divides two numbers and returns the remainder (unsigned integer modulo),\nreverts when dividing by zero.", - "id": 1381, + "id": 1365, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -1543,15 +1543,15 @@ "name": "mod", "nodeType": "FunctionDefinition", "parameters": { - "id": 1366, + "id": 1350, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1363, + "id": 1347, "name": "a", "nodeType": "VariableDeclaration", - "scope": 1381, + "scope": 1365, "src": "1548:9:2", "stateVariable": false, "storageLocation": "default", @@ -1560,7 +1560,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1362, + "id": 1346, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1548:7:2", @@ -1574,10 +1574,10 @@ }, { "constant": false, - "id": 1365, + "id": 1349, "name": "b", "nodeType": "VariableDeclaration", - "scope": 1381, + "scope": 1365, "src": "1559:9:2", "stateVariable": false, "storageLocation": "default", @@ -1586,7 +1586,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1364, + "id": 1348, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1559:7:2", @@ -1603,15 +1603,15 @@ }, "payable": false, "returnParameters": { - "id": 1369, + "id": 1353, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1368, + "id": 1352, "name": "", "nodeType": "VariableDeclaration", - "scope": 1381, + "scope": 1365, "src": "1593:7:2", "stateVariable": false, "storageLocation": "default", @@ -1620,7 +1620,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1367, + "id": 1351, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1593:7:2", @@ -1635,14 +1635,14 @@ ], "src": "1592:9:2" }, - "scope": 1382, + "scope": 1366, "src": "1535:111:2", "stateMutability": "pure", "superFunction": null, "visibility": "internal" } ], - "scope": 1383, + "scope": 1367, "src": "117:1531:2" } ], @@ -1652,14 +1652,14 @@ "absolutePath": "openzeppelin-solidity/contracts/math/SafeMath.sol", "exportedSymbols": { "SafeMath": [ - 1382 + 1366 ] }, - "id": 1383, + "id": 1367, "nodeType": "SourceUnit", "nodes": [ { - "id": 1256, + "id": 1240, "literals": [ "solidity", "^", @@ -1675,16 +1675,16 @@ "contractKind": "library", "documentation": "@title SafeMath\n@dev Math operations with safety checks that revert on error", "fullyImplemented": true, - "id": 1382, + "id": 1366, "linearizedBaseContracts": [ - 1382 + 1366 ], "name": "SafeMath", "nodeType": "ContractDefinition", "nodes": [ { "body": { - "id": 1288, + "id": 1272, "nodeType": "Block", "src": "271:314:2", "statements": [ @@ -1695,18 +1695,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1267, + "id": 1251, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1265, + "id": 1249, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1258, + "referencedDeclaration": 1242, "src": "486:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1718,7 +1718,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 1266, + "id": 1250, "isConstant": false, "isLValue": false, "isPure": true, @@ -1740,11 +1740,11 @@ } }, "falseBody": null, - "id": 1271, + "id": 1255, "nodeType": "IfStatement", "src": "482:35:2", "trueBody": { - "id": 1270, + "id": 1254, "nodeType": "Block", "src": "494:23:2", "statements": [ @@ -1752,7 +1752,7 @@ "expression": { "argumentTypes": null, "hexValue": "30", - "id": 1268, + "id": 1252, "isConstant": false, "isLValue": false, "isPure": true, @@ -1767,8 +1767,8 @@ }, "value": "0" }, - "functionReturnParameters": 1264, - "id": 1269, + "functionReturnParameters": 1248, + "id": 1253, "nodeType": "Return", "src": "502:8:2" } @@ -1777,15 +1777,15 @@ }, { "assignments": [ - 1273 + 1257 ], "declarations": [ { "constant": false, - "id": 1273, + "id": 1257, "name": "c", "nodeType": "VariableDeclaration", - "scope": 1289, + "scope": 1273, "src": "523:9:2", "stateVariable": false, "storageLocation": "default", @@ -1794,7 +1794,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1272, + "id": 1256, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "523:7:2", @@ -1807,25 +1807,25 @@ "visibility": "internal" } ], - "id": 1277, + "id": 1261, "initialValue": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1276, + "id": 1260, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1274, + "id": 1258, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1258, + "referencedDeclaration": 1242, "src": "535:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1836,11 +1836,11 @@ "operator": "*", "rightExpression": { "argumentTypes": null, - "id": 1275, + "id": 1259, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1260, + "referencedDeclaration": 1244, "src": "539:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1866,7 +1866,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1283, + "id": 1267, "isConstant": false, "isLValue": false, "isPure": false, @@ -1877,18 +1877,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1281, + "id": 1265, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1279, + "id": 1263, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1273, + "referencedDeclaration": 1257, "src": "554:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1899,11 +1899,11 @@ "operator": "/", "rightExpression": { "argumentTypes": null, - "id": 1280, + "id": 1264, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1258, + "referencedDeclaration": 1242, "src": "558:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1920,11 +1920,11 @@ "operator": "==", "rightExpression": { "argumentTypes": null, - "id": 1282, + "id": 1266, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1260, + "referencedDeclaration": 1244, "src": "563:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1945,21 +1945,21 @@ "typeString": "bool" } ], - "id": 1278, + "id": 1262, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1400, - 1401 + 1384, + 1385 ], - "referencedDeclaration": 1400, + "referencedDeclaration": 1384, "src": "546:7:2", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 1284, + "id": 1268, "isConstant": false, "isLValue": false, "isPure": false, @@ -1973,33 +1973,33 @@ "typeString": "tuple()" } }, - "id": 1285, + "id": 1269, "nodeType": "ExpressionStatement", "src": "546:19:2" }, { "expression": { "argumentTypes": null, - "id": 1286, + "id": 1270, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1273, + "referencedDeclaration": 1257, "src": "579:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 1264, - "id": 1287, + "functionReturnParameters": 1248, + "id": 1271, "nodeType": "Return", "src": "572:8:2" } ] }, "documentation": "@dev Multiplies two numbers, reverts on overflow.", - "id": 1289, + "id": 1273, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -2007,15 +2007,15 @@ "name": "mul", "nodeType": "FunctionDefinition", "parameters": { - "id": 1261, + "id": 1245, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1258, + "id": 1242, "name": "a", "nodeType": "VariableDeclaration", - "scope": 1289, + "scope": 1273, "src": "217:9:2", "stateVariable": false, "storageLocation": "default", @@ -2024,7 +2024,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1257, + "id": 1241, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "217:7:2", @@ -2038,10 +2038,10 @@ }, { "constant": false, - "id": 1260, + "id": 1244, "name": "b", "nodeType": "VariableDeclaration", - "scope": 1289, + "scope": 1273, "src": "228:9:2", "stateVariable": false, "storageLocation": "default", @@ -2050,7 +2050,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1259, + "id": 1243, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "228:7:2", @@ -2067,15 +2067,15 @@ }, "payable": false, "returnParameters": { - "id": 1264, + "id": 1248, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1263, + "id": 1247, "name": "", "nodeType": "VariableDeclaration", - "scope": 1289, + "scope": 1273, "src": "262:7:2", "stateVariable": false, "storageLocation": "default", @@ -2084,7 +2084,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1262, + "id": 1246, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "262:7:2", @@ -2099,7 +2099,7 @@ ], "src": "261:9:2" }, - "scope": 1382, + "scope": 1366, "src": "204:381:2", "stateMutability": "pure", "superFunction": null, @@ -2107,7 +2107,7 @@ }, { "body": { - "id": 1312, + "id": 1296, "nodeType": "Block", "src": "762:203:2", "statements": [ @@ -2121,18 +2121,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1301, + "id": 1285, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1299, + "id": 1283, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1293, + "referencedDeclaration": 1277, "src": "776:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2144,7 +2144,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 1300, + "id": 1284, "isConstant": false, "isLValue": false, "isPure": true, @@ -2173,21 +2173,21 @@ "typeString": "bool" } ], - "id": 1298, + "id": 1282, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1400, - 1401 + 1384, + 1385 ], - "referencedDeclaration": 1400, + "referencedDeclaration": 1384, "src": "768:7:2", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 1302, + "id": 1286, "isConstant": false, "isLValue": false, "isPure": false, @@ -2201,21 +2201,21 @@ "typeString": "tuple()" } }, - "id": 1303, + "id": 1287, "nodeType": "ExpressionStatement", "src": "768:14:2" }, { "assignments": [ - 1305 + 1289 ], "declarations": [ { "constant": false, - "id": 1305, + "id": 1289, "name": "c", "nodeType": "VariableDeclaration", - "scope": 1313, + "scope": 1297, "src": "846:9:2", "stateVariable": false, "storageLocation": "default", @@ -2224,7 +2224,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1304, + "id": 1288, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "846:7:2", @@ -2237,25 +2237,25 @@ "visibility": "internal" } ], - "id": 1309, + "id": 1293, "initialValue": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1308, + "id": 1292, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1306, + "id": 1290, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1291, + "referencedDeclaration": 1275, "src": "858:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2266,11 +2266,11 @@ "operator": "/", "rightExpression": { "argumentTypes": null, - "id": 1307, + "id": 1291, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1293, + "referencedDeclaration": 1277, "src": "862:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2289,26 +2289,26 @@ { "expression": { "argumentTypes": null, - "id": 1310, + "id": 1294, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1305, + "referencedDeclaration": 1289, "src": "959:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 1297, - "id": 1311, + "functionReturnParameters": 1281, + "id": 1295, "nodeType": "Return", "src": "952:8:2" } ] }, "documentation": "@dev Integer division of two numbers truncating the quotient, reverts on division by zero.", - "id": 1313, + "id": 1297, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -2316,15 +2316,15 @@ "name": "div", "nodeType": "FunctionDefinition", "parameters": { - "id": 1294, + "id": 1278, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1291, + "id": 1275, "name": "a", "nodeType": "VariableDeclaration", - "scope": 1313, + "scope": 1297, "src": "708:9:2", "stateVariable": false, "storageLocation": "default", @@ -2333,7 +2333,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1290, + "id": 1274, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "708:7:2", @@ -2347,10 +2347,10 @@ }, { "constant": false, - "id": 1293, + "id": 1277, "name": "b", "nodeType": "VariableDeclaration", - "scope": 1313, + "scope": 1297, "src": "719:9:2", "stateVariable": false, "storageLocation": "default", @@ -2359,7 +2359,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1292, + "id": 1276, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "719:7:2", @@ -2376,15 +2376,15 @@ }, "payable": false, "returnParameters": { - "id": 1297, + "id": 1281, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1296, + "id": 1280, "name": "", "nodeType": "VariableDeclaration", - "scope": 1313, + "scope": 1297, "src": "753:7:2", "stateVariable": false, "storageLocation": "default", @@ -2393,7 +2393,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1295, + "id": 1279, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "753:7:2", @@ -2408,7 +2408,7 @@ ], "src": "752:9:2" }, - "scope": 1382, + "scope": 1366, "src": "695:270:2", "stateMutability": "pure", "superFunction": null, @@ -2416,7 +2416,7 @@ }, { "body": { - "id": 1336, + "id": 1320, "nodeType": "Block", "src": "1145:64:2", "statements": [ @@ -2430,18 +2430,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1325, + "id": 1309, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1323, + "id": 1307, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1317, + "referencedDeclaration": 1301, "src": "1159:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2452,11 +2452,11 @@ "operator": "<=", "rightExpression": { "argumentTypes": null, - "id": 1324, + "id": 1308, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1315, + "referencedDeclaration": 1299, "src": "1164:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2477,21 +2477,21 @@ "typeString": "bool" } ], - "id": 1322, + "id": 1306, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1400, - 1401 + 1384, + 1385 ], - "referencedDeclaration": 1400, + "referencedDeclaration": 1384, "src": "1151:7:2", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 1326, + "id": 1310, "isConstant": false, "isLValue": false, "isPure": false, @@ -2505,21 +2505,21 @@ "typeString": "tuple()" } }, - "id": 1327, + "id": 1311, "nodeType": "ExpressionStatement", "src": "1151:15:2" }, { "assignments": [ - 1329 + 1313 ], "declarations": [ { "constant": false, - "id": 1329, + "id": 1313, "name": "c", "nodeType": "VariableDeclaration", - "scope": 1337, + "scope": 1321, "src": "1172:9:2", "stateVariable": false, "storageLocation": "default", @@ -2528,7 +2528,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1328, + "id": 1312, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1172:7:2", @@ -2541,25 +2541,25 @@ "visibility": "internal" } ], - "id": 1333, + "id": 1317, "initialValue": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1332, + "id": 1316, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1330, + "id": 1314, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1315, + "referencedDeclaration": 1299, "src": "1184:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2570,11 +2570,11 @@ "operator": "-", "rightExpression": { "argumentTypes": null, - "id": 1331, + "id": 1315, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1317, + "referencedDeclaration": 1301, "src": "1188:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2593,26 +2593,26 @@ { "expression": { "argumentTypes": null, - "id": 1334, + "id": 1318, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1329, + "referencedDeclaration": 1313, "src": "1203:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 1321, - "id": 1335, + "functionReturnParameters": 1305, + "id": 1319, "nodeType": "Return", "src": "1196:8:2" } ] }, "documentation": "@dev Subtracts two numbers, reverts on overflow (i.e. if subtrahend is greater than minuend).", - "id": 1337, + "id": 1321, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -2620,15 +2620,15 @@ "name": "sub", "nodeType": "FunctionDefinition", "parameters": { - "id": 1318, + "id": 1302, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1315, + "id": 1299, "name": "a", "nodeType": "VariableDeclaration", - "scope": 1337, + "scope": 1321, "src": "1091:9:2", "stateVariable": false, "storageLocation": "default", @@ -2637,7 +2637,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1314, + "id": 1298, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1091:7:2", @@ -2651,10 +2651,10 @@ }, { "constant": false, - "id": 1317, + "id": 1301, "name": "b", "nodeType": "VariableDeclaration", - "scope": 1337, + "scope": 1321, "src": "1102:9:2", "stateVariable": false, "storageLocation": "default", @@ -2663,7 +2663,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1316, + "id": 1300, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1102:7:2", @@ -2680,15 +2680,15 @@ }, "payable": false, "returnParameters": { - "id": 1321, + "id": 1305, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1320, + "id": 1304, "name": "", "nodeType": "VariableDeclaration", - "scope": 1337, + "scope": 1321, "src": "1136:7:2", "stateVariable": false, "storageLocation": "default", @@ -2697,7 +2697,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1319, + "id": 1303, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1136:7:2", @@ -2712,7 +2712,7 @@ ], "src": "1135:9:2" }, - "scope": 1382, + "scope": 1366, "src": "1078:131:2", "stateMutability": "pure", "superFunction": null, @@ -2720,21 +2720,21 @@ }, { "body": { - "id": 1360, + "id": 1344, "nodeType": "Block", "src": "1339:64:2", "statements": [ { "assignments": [ - 1347 + 1331 ], "declarations": [ { "constant": false, - "id": 1347, + "id": 1331, "name": "c", "nodeType": "VariableDeclaration", - "scope": 1361, + "scope": 1345, "src": "1345:9:2", "stateVariable": false, "storageLocation": "default", @@ -2743,7 +2743,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1346, + "id": 1330, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1345:7:2", @@ -2756,25 +2756,25 @@ "visibility": "internal" } ], - "id": 1351, + "id": 1335, "initialValue": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1350, + "id": 1334, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1348, + "id": 1332, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1339, + "referencedDeclaration": 1323, "src": "1357:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2785,11 +2785,11 @@ "operator": "+", "rightExpression": { "argumentTypes": null, - "id": 1349, + "id": 1333, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1341, + "referencedDeclaration": 1325, "src": "1361:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2815,18 +2815,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1355, + "id": 1339, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1353, + "id": 1337, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1347, + "referencedDeclaration": 1331, "src": "1376:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2837,11 +2837,11 @@ "operator": ">=", "rightExpression": { "argumentTypes": null, - "id": 1354, + "id": 1338, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1339, + "referencedDeclaration": 1323, "src": "1381:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2862,21 +2862,21 @@ "typeString": "bool" } ], - "id": 1352, + "id": 1336, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1400, - 1401 + 1384, + 1385 ], - "referencedDeclaration": 1400, + "referencedDeclaration": 1384, "src": "1368:7:2", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 1356, + "id": 1340, "isConstant": false, "isLValue": false, "isPure": false, @@ -2890,33 +2890,33 @@ "typeString": "tuple()" } }, - "id": 1357, + "id": 1341, "nodeType": "ExpressionStatement", "src": "1368:15:2" }, { "expression": { "argumentTypes": null, - "id": 1358, + "id": 1342, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1347, + "referencedDeclaration": 1331, "src": "1397:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 1345, - "id": 1359, + "functionReturnParameters": 1329, + "id": 1343, "nodeType": "Return", "src": "1390:8:2" } ] }, "documentation": "@dev Adds two numbers, reverts on overflow.", - "id": 1361, + "id": 1345, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -2924,15 +2924,15 @@ "name": "add", "nodeType": "FunctionDefinition", "parameters": { - "id": 1342, + "id": 1326, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1339, + "id": 1323, "name": "a", "nodeType": "VariableDeclaration", - "scope": 1361, + "scope": 1345, "src": "1285:9:2", "stateVariable": false, "storageLocation": "default", @@ -2941,7 +2941,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1338, + "id": 1322, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1285:7:2", @@ -2955,10 +2955,10 @@ }, { "constant": false, - "id": 1341, + "id": 1325, "name": "b", "nodeType": "VariableDeclaration", - "scope": 1361, + "scope": 1345, "src": "1296:9:2", "stateVariable": false, "storageLocation": "default", @@ -2967,7 +2967,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1340, + "id": 1324, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1296:7:2", @@ -2984,15 +2984,15 @@ }, "payable": false, "returnParameters": { - "id": 1345, + "id": 1329, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1344, + "id": 1328, "name": "", "nodeType": "VariableDeclaration", - "scope": 1361, + "scope": 1345, "src": "1330:7:2", "stateVariable": false, "storageLocation": "default", @@ -3001,7 +3001,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1343, + "id": 1327, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1330:7:2", @@ -3016,7 +3016,7 @@ ], "src": "1329:9:2" }, - "scope": 1382, + "scope": 1366, "src": "1272:131:2", "stateMutability": "pure", "superFunction": null, @@ -3024,7 +3024,7 @@ }, { "body": { - "id": 1380, + "id": 1364, "nodeType": "Block", "src": "1602:44:2", "statements": [ @@ -3038,18 +3038,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1373, + "id": 1357, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1371, + "id": 1355, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1365, + "referencedDeclaration": 1349, "src": "1616:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -3061,7 +3061,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 1372, + "id": 1356, "isConstant": false, "isLValue": false, "isPure": true, @@ -3090,21 +3090,21 @@ "typeString": "bool" } ], - "id": 1370, + "id": 1354, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1400, - 1401 + 1384, + 1385 ], - "referencedDeclaration": 1400, + "referencedDeclaration": 1384, "src": "1608:7:2", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 1374, + "id": 1358, "isConstant": false, "isLValue": false, "isPure": false, @@ -3118,7 +3118,7 @@ "typeString": "tuple()" } }, - "id": 1375, + "id": 1359, "nodeType": "ExpressionStatement", "src": "1608:15:2" }, @@ -3129,18 +3129,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1378, + "id": 1362, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1376, + "id": 1360, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1363, + "referencedDeclaration": 1347, "src": "1636:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -3151,11 +3151,11 @@ "operator": "%", "rightExpression": { "argumentTypes": null, - "id": 1377, + "id": 1361, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1365, + "referencedDeclaration": 1349, "src": "1640:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -3168,15 +3168,15 @@ "typeString": "uint256" } }, - "functionReturnParameters": 1369, - "id": 1379, + "functionReturnParameters": 1353, + "id": 1363, "nodeType": "Return", "src": "1629:12:2" } ] }, "documentation": "@dev Divides two numbers and returns the remainder (unsigned integer modulo),\nreverts when dividing by zero.", - "id": 1381, + "id": 1365, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -3184,15 +3184,15 @@ "name": "mod", "nodeType": "FunctionDefinition", "parameters": { - "id": 1366, + "id": 1350, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1363, + "id": 1347, "name": "a", "nodeType": "VariableDeclaration", - "scope": 1381, + "scope": 1365, "src": "1548:9:2", "stateVariable": false, "storageLocation": "default", @@ -3201,7 +3201,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1362, + "id": 1346, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1548:7:2", @@ -3215,10 +3215,10 @@ }, { "constant": false, - "id": 1365, + "id": 1349, "name": "b", "nodeType": "VariableDeclaration", - "scope": 1381, + "scope": 1365, "src": "1559:9:2", "stateVariable": false, "storageLocation": "default", @@ -3227,7 +3227,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1364, + "id": 1348, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1559:7:2", @@ -3244,15 +3244,15 @@ }, "payable": false, "returnParameters": { - "id": 1369, + "id": 1353, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1368, + "id": 1352, "name": "", "nodeType": "VariableDeclaration", - "scope": 1381, + "scope": 1365, "src": "1593:7:2", "stateVariable": false, "storageLocation": "default", @@ -3261,7 +3261,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1367, + "id": 1351, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1593:7:2", @@ -3276,14 +3276,14 @@ ], "src": "1592:9:2" }, - "scope": 1382, + "scope": 1366, "src": "1535:111:2", "stateMutability": "pure", "superFunction": null, "visibility": "internal" } ], - "scope": 1383, + "scope": 1367, "src": "117:1531:2" } ], @@ -3295,5 +3295,5 @@ }, "networks": {}, "schemaVersion": "2.0.1", - "updatedAt": "2018-11-19T13:59:44.075Z" + "updatedAt": "2018-11-19T14:02:23.194Z" } \ No newline at end of file diff --git a/contracts/escrow/Escrow_v1_0.sol b/contracts/escrow/Escrow_v1_0.sol index 48bb7f2..5a0cfe2 100644 --- a/contracts/escrow/Escrow_v1_0.sol +++ b/contracts/escrow/Escrow_v1_0.sol @@ -288,7 +288,7 @@ contract Escrow_v1_0 { ); require( - token.transferFrom(transactions[scriptHash].buyer, address(this), value), + token.transferFrom(msg.sender, address(this), value), "Token transfer failed, maybe you did not approve escrow contract to spend on behalf of buyer" ); From 68d36edacfdc0492540469ca1e13964222237128 Mon Sep 17 00:00:00 2001 From: Sameep Singhania Date: Mon, 19 Nov 2018 19:47:19 +0530 Subject: [PATCH 19/19] Update test cases comments --- build/contracts/Escrow_v1_0.json | 8026 +++++++++++++-------------- build/contracts/ITokenContract.json | 182 +- build/contracts/SafeMath.json | 818 +-- test/escrow/1_Escrow_v1_0_test.js | 2 +- 4 files changed, 4487 insertions(+), 4541 deletions(-) diff --git a/build/contracts/Escrow_v1_0.json b/build/contracts/Escrow_v1_0.json index 3ded161..6378f32 100644 --- a/build/contracts/Escrow_v1_0.json +++ b/build/contracts/Escrow_v1_0.json @@ -395,20 +395,20 @@ "type": "function" } ], - "bytecode": "0x6080604052600060015534801561001557600080fd5b506142e8806100256000396000f3006080604052600436106100af576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806323b6fd3f146100b45780632d9ef96e1461016e57806346fbcdeb1461019257806357bced7614610287578063642f2eaf14610378578063b0550c66146104da578063b719e28014610543578063b77bf6001461057e578063be84ceaf146105a9578063e4ec8b0014610641578063f0786562146106ea575b600080fd5b61016c600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff169060200190929190803563ffffffff169060200190929190803560001916906020019092919080356bffffffffffffffffffffffff19169060200190929190505050610753565b005b61019060048036038101908080356000191690602001909291905050506109a7565b005b34801561019e57600080fd5b5061026960048036038101908080356bffffffffffffffffffffffff19169060200190929190803560ff169060200190929190803563ffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610e02565b60405180826000191660001916815260200191505060405180910390f35b34801561029357600080fd5b50610376600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff169060200190929190803563ffffffff16906020019092919080356000191690602001909291908035906020019092919080356bffffffffffffffffffffffff19169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506112ae565b005b34801561038457600080fd5b506103a76004803603810190808035600019169060200190929190505050611783565b604051808b81526020018a81526020018960018111156103c357fe5b60ff1681526020018860018111156103d757fe5b60ff1681526020018760ff1660ff1681526020018663ffffffff1663ffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019a505050505050505050505060405180910390f35b3480156104e657600080fd5b506105296004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061188e565b604051808215151515815260200191505060405180910390f35b34801561054f57600080fd5b5061057c600480360381019080803560001916906020019092919080359060200190929190505050611900565b005b34801561058a57600080fd5b50610593611fae565b6040518082815260200191505060405180910390f35b3480156105b557600080fd5b506105ea600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611fb4565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b8381101561062d578082015181840152602081019050610612565b505050509050019250505060405180910390f35b34801561064d57600080fd5b506106e8600480360381019080803590602001908201803590602001919091929391929390803590602001908201803590602001919091929391929390803590602001908201803590602001919091929391929390803560001916906020019092919080359060200190820180359060200191909192939192939080359060200190820180359060200191909192939192939050505061204f565b005b3480156106f657600080fd5b506107396004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612638565b604051808215151515815260200191505060405180910390f35b8160008060008360001916600019168152602001908152602001600020600001541415156107e9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f5472616e73616374696f6e20657869737400000000000000000000000000000081525060200191505060405180910390fd5b87600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561088f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b87600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610935576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b6109488a8a8a8a8a8a348b6000806126aa565b3373ffffffffffffffffffffffffffffffffffffffff1685600019167fce7089d0668849fb9ca29778c0cbf1e764d9efb048d81fd71fb34c94f26db368346040518082815260200191505060405180910390a350505050505050505050565b80600080600083600019166000191681526020019081526020016000206000015414151515610a3e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737400000000000081525060200191505060405180910390fd5b8160006001811115610a4c57fe5b600080836000191660001916815260200190815260200160002060020160009054906101000a900460ff166001811115610a8257fe5b141515610b1d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001807f5472616e73616374696f6e206973206e6f7420696e2046554e4445442073746181526020017f746500000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b826000806001811115610b2c57fe5b600080846000191660001916815260200190815260200160002060020160019054906101000a900460ff166001811115610b6257fe5b141515610bd7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5472616e73616374696f6e207479706520646f6573206e6f74206d617463680081525060200191505060405180910390fd5b84600080826000191660001916815260200190815260200160002060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610cde576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f54686520696e69746961746f72206f6620746865207472616e73616374696f6e81526020017f206973206e6f742062757965720000000000000000000000000000000000000081525060400191505060405180910390fd5b600034111515610d56576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f56616c7565206d7573742062652067726561746572207468616e207a65726f2e81525060200191505060405180910390fd5b610d863460008089600019166000191681526020019081526020016000206000015461303690919063ffffffff16565b6000808860001916600019168152602001908152602001600020600001819055503373ffffffffffffffffffffffffffffffffffffffff1686600019167ff66fd2ae9e24a6a24b02e1b5b7512ffde5149a4176085fc0298ae228c9b9d729346040518082815260200191505060405180910390a3505050505050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561104e578787878787873060405160200180886bffffffffffffffffffffffff19166bffffffffffffffffffffffff191681526014018760ff1660ff167f01000000000000000000000000000000000000000000000000000000000000000281526001018663ffffffff1663ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014019750505050505050506040516020818303038152906040526040518082805190602001908083835b60208310151561101a5780518252602082019150602081019050602083039250610ff5565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902090506112a3565b878787878787308860405160200180896bffffffffffffffffffffffff19166bffffffffffffffffffffffff191681526014018860ff1660ff167f01000000000000000000000000000000000000000000000000000000000000000281526001018763ffffffff1663ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401985050505050505050506040516020818303038152906040526040518082805190602001908083835b602083101515611273578051825260208201915060208101905060208303925061124e565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902090505b979650505050505050565b6000846000806000836000191660001916815260200190815260200160002060000154141515611346576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f5472616e73616374696f6e20657869737400000000000000000000000000000081525060200191505060405180910390fd5b8a600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156113ec576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b8a600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515611492576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b84600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515611538576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b61154b8e8e8e8e8e8e8e8e60018f6126aa565b8594508473ffffffffffffffffffffffffffffffffffffffff166323b872dd33308b6040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b15801561162557600080fd5b505af1158015611639573d6000803e3d6000fd5b505050506040513d602081101561164f57600080fd5b81019080805190602001909291905050501515611720576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252605d8152602001807f546f6b656e207472616e73666572206661696c65642c206d6179626520796f7581526020017f20646964206e6f7420617070726f766520657363726f7720636f6e747261637481526020017f20746f207370656e64206f6e20626568616c66206f662073656e64657200000081525060600191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff1689600019167fce7089d0668849fb9ca29778c0cbf1e764d9efb048d81fd71fb34c94f26db3688a6040518082815260200191505060405180910390a35050505050505050505050505050565b60006020528060005260406000206000915090508060000154908060010154908060020160009054906101000a900460ff16908060020160019054906101000a900460ff16908060020160029054906101000a900460ff16908060020160039054906101000a900463ffffffff16908060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060050160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508a565b6000806000846000191660001916815260200190815260200160002060080160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b600082600080600083600019166000191681526020019081526020016000206000015414151515611999576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737400000000000081525060200191505060405180910390fd5b83600060018111156119a757fe5b600080836000191660001916815260200190815260200160002060020160009054906101000a900460ff1660018111156119dd57fe5b141515611a78576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001807f5472616e73616374696f6e206973206e6f7420696e2046554e4445442073746181526020017f746500000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b846001806001811115611a8757fe5b600080846000191660001916815260200190815260200160002060020160019054906101000a900460ff166001811115611abd57fe5b141515611b32576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5472616e73616374696f6e207479706520646f6573206e6f74206d617463680081525060200191505060405180910390fd5b86600080826000191660001916815260200190815260200160002060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611c39576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f54686520696e69746961746f72206f6620746865207472616e73616374696f6e81526020017f206973206e6f742062757965720000000000000000000000000000000000000081525060400191505060405180910390fd5b600087111515611cb1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f56616c7565206d7573742062652067726561746572207468616e207a65726f2e81525060200191505060405180910390fd5b600080896000191660001916815260200190815260200160002060040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1695508573ffffffffffffffffffffffffffffffffffffffff166323b872dd6000808b6000191660001916815260200190815260200160002060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff16308a6040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b158015611e0557600080fd5b505af1158015611e19573d6000803e3d6000fd5b505050506040513d6020811015611e2f57600080fd5b81019080805190602001909291905050501515611f00576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252605c8152602001807f546f6b656e207472616e73666572206661696c65642c206d6179626520796f7581526020017f20646964206e6f7420617070726f766520657363726f7720636f6e747261637481526020017f20746f207370656e64206f6e20626568616c66206f662062757965720000000081525060600191505060405180910390fd5b611f30876000808b600019166000191681526020019081526020016000206000015461303690919063ffffffff16565b6000808a60001916600019168152602001908152602001600020600001819055503373ffffffffffffffffffffffffffffffffffffffff1688600019167ff66fd2ae9e24a6a24b02e1b5b7512ffde5149a4176085fc0298ae228c9b9d729896040518082815260200191505060405180910390a35050505050505050565b60015481565b6060600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080548060200260200160405190810160405280929190818152602001828054801561204357602002820191906000526020600020905b8154600019168152602001906001019080831161202b575b50505050509050919050565b846000806000836000191660001916815260200190815260200160002060000154141515156120e6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737400000000000081525060200191505060405180910390fd5b85600060018111156120f457fe5b600080836000191660001916815260200190815260200160002060020160009054906101000a900460ff16600181111561212a57fe5b1415156121c5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001807f5472616e73616374696f6e206973206e6f7420696e2046554e4445442073746181526020017f746500000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b600086869050111515612266576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f4e756d626572206f662064657374696e6174696f6e73206d757374206265206781526020017f726561746572207468616e20300000000000000000000000000000000000000081525060400191505060405180910390fd5b8383905086869050141515612309576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260378152602001807f4e756d626572206f662064657374696e6174696f6e73206d757374206d61746381526020017f68206e756d626572206f662076616c7565732073656e7400000000000000000081525060400191505060405180910390fd5b6124028d8d808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508c8c808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508b8b808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508a8a8a80806020026020016040519081016040528093929190818152602001838360200280828437820191505050505050898980806020026020016040519081016040528093929190818152602001838360200280828437820191505050505050613057565b6001600080896000191660001916815260200190815260200160002060020160006101000a81548160ff0219169083600181111561243c57fe5b0217905550426000808960001916600019168152602001908152602001600020600101819055506000808860001916600019168152602001908152602001600020600001546124ea88888880806020026020016040519081016040528093929190818152602001838360200280828437820191505050505050878780806020026020016040519081016040528093929190818152602001838360200280828437820191505050505050613238565b1415156125ab576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260488152602001807f546f74616c2076616c756520746f2062652072656c6561736564206d7573742081526020017f626520657175616c20746f20746865207472616e73616374696f6e206573637281526020017f6f772076616c756500000000000000000000000000000000000000000000000081525060600191505060405180910390fd5b86600019167f688e2a1b34445bcd47b0e11ba2a9c8c4d850a1831b64199b59d1c70e29701545878787876040518080602001806020018381038352878782818152602001925060200280828437820191505083810382528585828181526020019250602002808284378201915050965050505050505060405180910390a250505050505050505050505050565b6000806000846000191660001916815260200190815260200160002060070160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b8873ffffffffffffffffffffffffffffffffffffffff168a73ffffffffffffffffffffffffffffffffffffffff161415151561274e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f427579657220616e642073656c6c6572206172652073616d650000000000000081525060200191505060405180910390fd5b6000841115156127c6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f56616c756520706173736564206973203000000000000000000000000000000081525060200191505060405180910390fd5b60008760ff161180156127dd575060038760ff1611155b1515612877576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603d8152602001807f5468726573686f6c642063616e6e6f742062652067726561746572207468616e81526020017f203320616e64206d7573742062652067726561746572207468616e203000000081525060400191505060405180910390fd5b60018760ff1614806128b65750600073ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff1614155b1515612976576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260488152602001807f456974686572207468726573686f6c642073686f756c642062652031206f722081526020017f76616c6964206d6f64657261746f7220616464726573732073686f756c64206281526020017f652070617373656400000000000000000000000000000000000000000000000081525060600191505060405180910390fd5b6129858388888d8d8d87610e02565b600019168560001916141515612a29576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260398152602001807f43616c63756c6174656420736372697074206861736820646f6573206e6f742081526020017f6d61746368207061737365642073637269707420686173682e0000000000000081525060400191505060405180910390fd5b6101406040519081016040528085815260200142815260200160006001811115612a4f57fe5b8152602001836001811115612a6057fe5b81526020018860ff1681526020018763ffffffff1681526020018b73ffffffffffffffffffffffffffffffffffffffff1681526020018a73ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020018973ffffffffffffffffffffffffffffffffffffffff168152506000808760001916600019168152602001908152602001600020600082015181600001556020820151816001015560408201518160020160006101000a81548160ff02191690836001811115612b3a57fe5b021790555060608201518160020160016101000a81548160ff02191690836001811115612b6357fe5b021790555060808201518160020160026101000a81548160ff021916908360ff16021790555060a08201518160020160036101000a81548163ffffffff021916908363ffffffff16021790555060c08201518160020160076101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060e08201518160030160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506101008201518160040160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506101208201518160050160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055509050506001600080876000191660001916815260200190815260200160002060060160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600080876000191660001916815260200190815260200160002060060160008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600080866000191660001916815260200190815260200160002060060160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151515612eba576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f456974686572206275796572206f722073656c6c65722069732070617373656481526020017f206173206d6f64657261746f720000000000000000000000000000000000000081525060400191505060405180910390fd5b60018760ff161115612f3a576001600080876000191660001916815260200190815260200160002060060160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b600160008154809291906001019190505550600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020859080600181540180825580915050906001820390600052602060002001600090919290919091509060001916905550600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002085908060018154018082558091505090600182039060005260206000200160009091929091909150906000191690555050505050505050505050565b600080828401905083811015151561304d57600080fd5b8091505092915050565b600080613068888888888888613b90565b91506130be600080876000191660001916815260200190815260200160002060020160039054906101000a900463ffffffff16600080886000191660001916815260200190815260200160002060010154614209565b9050600080866000191660001916815260200190815260200160002060020160029054906101000a900460ff1660ff16885110801561316f575080158061316e5750600080866000191660001916815260200190815260200160002060030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b5b1561322e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260588152602001807f4d696e696d756d206e756d626572206f66207369676e6174757265732061726581526020017f206e6f7420636f6c6c656374656420616e642074696d65206c6f636b2065787081526020017f69727920636f6e646974696f6e73206e6f74206d65742121000000000000000081525060600191505060405180910390fd5b5050505050505050565b6000806000806000806000808a600019166000191681526020019081526020016000209450600093506000600181111561326e57fe5b8560020160019054906101000a900460ff16600181111561328b57fe5b141561365a57600092505b875183101561365557600073ffffffffffffffffffffffffffffffffffffffff1688848151811015156132c557fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1614151515613381576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001807f7a65726f2061646472657373206973206e6f7420616c6c6f776564206173206481526020017f657374696e6174696f6e2061646472657373000000000000000000000000000081525060400191505060405180910390fd5b846006016000898581518110151561339557fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515613481576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c8152602001807f44657374696e6174696f6e2061646472657373206973206e6f74206f6e65206f81526020017f6620746865206f776e657273000000000000000000000000000000000000000081525060400191505060405180910390fd5b6000878481518110151561349157fe5b90602001906020020151111515613536576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001807f416d6f756e7420746f2062652073656e742073686f756c64206265206772656181526020017f746572207468616e20300000000000000000000000000000000000000000000081525060400191505060405180910390fd5b613560878481518110151561354757fe5b906020019060200201518561303690919063ffffffff16565b935060018560080160008a8681518110151561357857fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555087838151811015156135e157fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff166108fc888581518110151561361257fe5b906020019060200201519081150290604051600060405180830381858888f19350505050158015613647573d6000803e3d6000fd5b508280600101935050613296565b613b81565b60018081111561366657fe5b8560020160019054906101000a900460ff16600181111561368357fe5b1415613b80578460040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169150600090505b8751811015613b7f57600073ffffffffffffffffffffffffffffffffffffffff1688828151811015156136e457fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff16141515156137a0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001807f7a65726f2061646472657373206973206e6f7420616c6c6f776564206173206481526020017f657374696e6174696f6e2061646472657373000000000000000000000000000081525060400191505060405180910390fd5b84600601600089838151811015156137b457fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615156138a0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c8152602001807f44657374696e6174696f6e2061646472657373206973206e6f74206f6e65206f81526020017f6620746865206f776e657273000000000000000000000000000000000000000081525060400191505060405180910390fd5b600087828151811015156138b057fe5b90602001906020020151111515613955576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001807f416d6f756e7420746f2062652073656e742073686f756c64206265206772656181526020017f746572207468616e20300000000000000000000000000000000000000000000081525060400191505060405180910390fd5b61397f878281518110151561396657fe5b906020019060200201518561303690919063ffffffff16565b935060018560080160008a8481518110151561399757fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb8983815181101515613a1c57fe5b906020019060200201518984815181101515613a3457fe5b906020019060200201516040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015613ac357600080fd5b505af1158015613ad7573d6000803e3d6000fd5b505050506040513d6020811015613aed57600080fd5b81019080805190602001909291905050501515613b72576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f546f6b656e207472616e73666572206661696c65642e0000000000000000000081525060200191505060405180910390fd5b80806001019150506136b5565b5b5b83955050505050509392505050565b600080600080600088518a51148015613baa57508a518a51145b1515613c1e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f522c532c56206c656e677468206d69736d617463682e0000000000000000000081525060200191505060405180910390fd5b60197f01000000000000000000000000000000000000000000000000000000000000000260007f0100000000000000000000000000000000000000000000000000000000000000023089898c60405160200180877effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168152600101867effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526001018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401848051906020019060200280838360005b83811015613d72578082015181840152602081019050613d57565b50505050905001838051906020019060200280838360005b83811015613da5578082015181840152602081019050613d8a565b50505050905001826000191660001916815260200196505050505050506040516020818303038152906040526040518082805190602001908083835b602083101515613e065780518252602082019150602081019050602083039250613de1565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902060405160200180807f19457468657265756d205369676e6564204d6573736167653a0a333200000000815250601c0182600019166000191681526020019150506040516020818303038152906040526040518082805190602001908083835b602083101515613eb75780518252602082019150602081019050602083039250613e92565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390209250600091505b89518210156141f8576001838c84815181101515613f0557fe5b906020019060200201518c85815181101515613f1d57fe5b906020019060200201518c86815181101515613f3557fe5b90602001906020020151604051600081526020016040526040518085600019166000191681526020018460ff1660ff1681526020018360001916600019168152602001826000191660001916815260200194505050505060206040516020810390808403906000865af1158015613fb0573d6000803e3d6000fd5b505050602060405103519050600080896000191660001916815260200190815260200160002060060160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515614098576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f496e76616c6964207369676e617475726500000000000000000000000000000081525060200191505060405180910390fd5b600080896000191660001916815260200190815260200160002060070160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151515614175576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f53616d65207369676e61747572652073656e742074776963650000000000000081525060200191505060405180910390fd5b60016000808a6000191660001916815260200190815260200160002060070160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508093508180600101925050613eeb565b839450505050509695505050505050565b60008061421f834261425d90919063ffffffff16565b905060008463ffffffff16146142515761424a610e108563ffffffff1661427e90919063ffffffff16565b8111614254565b60005b91505092915050565b60008083831115151561426f57600080fd5b82840390508091505092915050565b600080600084141561429357600091506142b5565b82840290508284828115156142a457fe5b041415156142b157600080fd5b8091505b50929150505600a165627a7a723058207cf845abc2b34c73968f82b8d354c7549975a1a317493ef094ea52cecd92824f0029", - "deployedBytecode": "0x6080604052600436106100af576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806323b6fd3f146100b45780632d9ef96e1461016e57806346fbcdeb1461019257806357bced7614610287578063642f2eaf14610378578063b0550c66146104da578063b719e28014610543578063b77bf6001461057e578063be84ceaf146105a9578063e4ec8b0014610641578063f0786562146106ea575b600080fd5b61016c600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff169060200190929190803563ffffffff169060200190929190803560001916906020019092919080356bffffffffffffffffffffffff19169060200190929190505050610753565b005b61019060048036038101908080356000191690602001909291905050506109a7565b005b34801561019e57600080fd5b5061026960048036038101908080356bffffffffffffffffffffffff19169060200190929190803560ff169060200190929190803563ffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610e02565b60405180826000191660001916815260200191505060405180910390f35b34801561029357600080fd5b50610376600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff169060200190929190803563ffffffff16906020019092919080356000191690602001909291908035906020019092919080356bffffffffffffffffffffffff19169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506112ae565b005b34801561038457600080fd5b506103a76004803603810190808035600019169060200190929190505050611783565b604051808b81526020018a81526020018960018111156103c357fe5b60ff1681526020018860018111156103d757fe5b60ff1681526020018760ff1660ff1681526020018663ffffffff1663ffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019a505050505050505050505060405180910390f35b3480156104e657600080fd5b506105296004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061188e565b604051808215151515815260200191505060405180910390f35b34801561054f57600080fd5b5061057c600480360381019080803560001916906020019092919080359060200190929190505050611900565b005b34801561058a57600080fd5b50610593611fae565b6040518082815260200191505060405180910390f35b3480156105b557600080fd5b506105ea600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611fb4565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b8381101561062d578082015181840152602081019050610612565b505050509050019250505060405180910390f35b34801561064d57600080fd5b506106e8600480360381019080803590602001908201803590602001919091929391929390803590602001908201803590602001919091929391929390803590602001908201803590602001919091929391929390803560001916906020019092919080359060200190820180359060200191909192939192939080359060200190820180359060200191909192939192939050505061204f565b005b3480156106f657600080fd5b506107396004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612638565b604051808215151515815260200191505060405180910390f35b8160008060008360001916600019168152602001908152602001600020600001541415156107e9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f5472616e73616374696f6e20657869737400000000000000000000000000000081525060200191505060405180910390fd5b87600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561088f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b87600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610935576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b6109488a8a8a8a8a8a348b6000806126aa565b3373ffffffffffffffffffffffffffffffffffffffff1685600019167fce7089d0668849fb9ca29778c0cbf1e764d9efb048d81fd71fb34c94f26db368346040518082815260200191505060405180910390a350505050505050505050565b80600080600083600019166000191681526020019081526020016000206000015414151515610a3e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737400000000000081525060200191505060405180910390fd5b8160006001811115610a4c57fe5b600080836000191660001916815260200190815260200160002060020160009054906101000a900460ff166001811115610a8257fe5b141515610b1d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001807f5472616e73616374696f6e206973206e6f7420696e2046554e4445442073746181526020017f746500000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b826000806001811115610b2c57fe5b600080846000191660001916815260200190815260200160002060020160019054906101000a900460ff166001811115610b6257fe5b141515610bd7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5472616e73616374696f6e207479706520646f6573206e6f74206d617463680081525060200191505060405180910390fd5b84600080826000191660001916815260200190815260200160002060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610cde576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f54686520696e69746961746f72206f6620746865207472616e73616374696f6e81526020017f206973206e6f742062757965720000000000000000000000000000000000000081525060400191505060405180910390fd5b600034111515610d56576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f56616c7565206d7573742062652067726561746572207468616e207a65726f2e81525060200191505060405180910390fd5b610d863460008089600019166000191681526020019081526020016000206000015461303690919063ffffffff16565b6000808860001916600019168152602001908152602001600020600001819055503373ffffffffffffffffffffffffffffffffffffffff1686600019167ff66fd2ae9e24a6a24b02e1b5b7512ffde5149a4176085fc0298ae228c9b9d729346040518082815260200191505060405180910390a3505050505050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561104e578787878787873060405160200180886bffffffffffffffffffffffff19166bffffffffffffffffffffffff191681526014018760ff1660ff167f01000000000000000000000000000000000000000000000000000000000000000281526001018663ffffffff1663ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014019750505050505050506040516020818303038152906040526040518082805190602001908083835b60208310151561101a5780518252602082019150602081019050602083039250610ff5565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902090506112a3565b878787878787308860405160200180896bffffffffffffffffffffffff19166bffffffffffffffffffffffff191681526014018860ff1660ff167f01000000000000000000000000000000000000000000000000000000000000000281526001018763ffffffff1663ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401985050505050505050506040516020818303038152906040526040518082805190602001908083835b602083101515611273578051825260208201915060208101905060208303925061124e565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902090505b979650505050505050565b6000846000806000836000191660001916815260200190815260200160002060000154141515611346576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f5472616e73616374696f6e20657869737400000000000000000000000000000081525060200191505060405180910390fd5b8a600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156113ec576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b8a600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515611492576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b84600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515611538576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b61154b8e8e8e8e8e8e8e8e60018f6126aa565b8594508473ffffffffffffffffffffffffffffffffffffffff166323b872dd33308b6040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b15801561162557600080fd5b505af1158015611639573d6000803e3d6000fd5b505050506040513d602081101561164f57600080fd5b81019080805190602001909291905050501515611720576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252605d8152602001807f546f6b656e207472616e73666572206661696c65642c206d6179626520796f7581526020017f20646964206e6f7420617070726f766520657363726f7720636f6e747261637481526020017f20746f207370656e64206f6e20626568616c66206f662073656e64657200000081525060600191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff1689600019167fce7089d0668849fb9ca29778c0cbf1e764d9efb048d81fd71fb34c94f26db3688a6040518082815260200191505060405180910390a35050505050505050505050505050565b60006020528060005260406000206000915090508060000154908060010154908060020160009054906101000a900460ff16908060020160019054906101000a900460ff16908060020160029054906101000a900460ff16908060020160039054906101000a900463ffffffff16908060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060050160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508a565b6000806000846000191660001916815260200190815260200160002060080160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b600082600080600083600019166000191681526020019081526020016000206000015414151515611999576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737400000000000081525060200191505060405180910390fd5b83600060018111156119a757fe5b600080836000191660001916815260200190815260200160002060020160009054906101000a900460ff1660018111156119dd57fe5b141515611a78576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001807f5472616e73616374696f6e206973206e6f7420696e2046554e4445442073746181526020017f746500000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b846001806001811115611a8757fe5b600080846000191660001916815260200190815260200160002060020160019054906101000a900460ff166001811115611abd57fe5b141515611b32576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5472616e73616374696f6e207479706520646f6573206e6f74206d617463680081525060200191505060405180910390fd5b86600080826000191660001916815260200190815260200160002060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611c39576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f54686520696e69746961746f72206f6620746865207472616e73616374696f6e81526020017f206973206e6f742062757965720000000000000000000000000000000000000081525060400191505060405180910390fd5b600087111515611cb1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f56616c7565206d7573742062652067726561746572207468616e207a65726f2e81525060200191505060405180910390fd5b600080896000191660001916815260200190815260200160002060040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1695508573ffffffffffffffffffffffffffffffffffffffff166323b872dd6000808b6000191660001916815260200190815260200160002060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff16308a6040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b158015611e0557600080fd5b505af1158015611e19573d6000803e3d6000fd5b505050506040513d6020811015611e2f57600080fd5b81019080805190602001909291905050501515611f00576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252605c8152602001807f546f6b656e207472616e73666572206661696c65642c206d6179626520796f7581526020017f20646964206e6f7420617070726f766520657363726f7720636f6e747261637481526020017f20746f207370656e64206f6e20626568616c66206f662062757965720000000081525060600191505060405180910390fd5b611f30876000808b600019166000191681526020019081526020016000206000015461303690919063ffffffff16565b6000808a60001916600019168152602001908152602001600020600001819055503373ffffffffffffffffffffffffffffffffffffffff1688600019167ff66fd2ae9e24a6a24b02e1b5b7512ffde5149a4176085fc0298ae228c9b9d729896040518082815260200191505060405180910390a35050505050505050565b60015481565b6060600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080548060200260200160405190810160405280929190818152602001828054801561204357602002820191906000526020600020905b8154600019168152602001906001019080831161202b575b50505050509050919050565b846000806000836000191660001916815260200190815260200160002060000154141515156120e6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737400000000000081525060200191505060405180910390fd5b85600060018111156120f457fe5b600080836000191660001916815260200190815260200160002060020160009054906101000a900460ff16600181111561212a57fe5b1415156121c5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001807f5472616e73616374696f6e206973206e6f7420696e2046554e4445442073746181526020017f746500000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b600086869050111515612266576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f4e756d626572206f662064657374696e6174696f6e73206d757374206265206781526020017f726561746572207468616e20300000000000000000000000000000000000000081525060400191505060405180910390fd5b8383905086869050141515612309576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260378152602001807f4e756d626572206f662064657374696e6174696f6e73206d757374206d61746381526020017f68206e756d626572206f662076616c7565732073656e7400000000000000000081525060400191505060405180910390fd5b6124028d8d808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508c8c808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508b8b808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508a8a8a80806020026020016040519081016040528093929190818152602001838360200280828437820191505050505050898980806020026020016040519081016040528093929190818152602001838360200280828437820191505050505050613057565b6001600080896000191660001916815260200190815260200160002060020160006101000a81548160ff0219169083600181111561243c57fe5b0217905550426000808960001916600019168152602001908152602001600020600101819055506000808860001916600019168152602001908152602001600020600001546124ea88888880806020026020016040519081016040528093929190818152602001838360200280828437820191505050505050878780806020026020016040519081016040528093929190818152602001838360200280828437820191505050505050613238565b1415156125ab576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260488152602001807f546f74616c2076616c756520746f2062652072656c6561736564206d7573742081526020017f626520657175616c20746f20746865207472616e73616374696f6e206573637281526020017f6f772076616c756500000000000000000000000000000000000000000000000081525060600191505060405180910390fd5b86600019167f688e2a1b34445bcd47b0e11ba2a9c8c4d850a1831b64199b59d1c70e29701545878787876040518080602001806020018381038352878782818152602001925060200280828437820191505083810382528585828181526020019250602002808284378201915050965050505050505060405180910390a250505050505050505050505050565b6000806000846000191660001916815260200190815260200160002060070160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b8873ffffffffffffffffffffffffffffffffffffffff168a73ffffffffffffffffffffffffffffffffffffffff161415151561274e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f427579657220616e642073656c6c6572206172652073616d650000000000000081525060200191505060405180910390fd5b6000841115156127c6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f56616c756520706173736564206973203000000000000000000000000000000081525060200191505060405180910390fd5b60008760ff161180156127dd575060038760ff1611155b1515612877576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603d8152602001807f5468726573686f6c642063616e6e6f742062652067726561746572207468616e81526020017f203320616e64206d7573742062652067726561746572207468616e203000000081525060400191505060405180910390fd5b60018760ff1614806128b65750600073ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff1614155b1515612976576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260488152602001807f456974686572207468726573686f6c642073686f756c642062652031206f722081526020017f76616c6964206d6f64657261746f7220616464726573732073686f756c64206281526020017f652070617373656400000000000000000000000000000000000000000000000081525060600191505060405180910390fd5b6129858388888d8d8d87610e02565b600019168560001916141515612a29576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260398152602001807f43616c63756c6174656420736372697074206861736820646f6573206e6f742081526020017f6d61746368207061737365642073637269707420686173682e0000000000000081525060400191505060405180910390fd5b6101406040519081016040528085815260200142815260200160006001811115612a4f57fe5b8152602001836001811115612a6057fe5b81526020018860ff1681526020018763ffffffff1681526020018b73ffffffffffffffffffffffffffffffffffffffff1681526020018a73ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020018973ffffffffffffffffffffffffffffffffffffffff168152506000808760001916600019168152602001908152602001600020600082015181600001556020820151816001015560408201518160020160006101000a81548160ff02191690836001811115612b3a57fe5b021790555060608201518160020160016101000a81548160ff02191690836001811115612b6357fe5b021790555060808201518160020160026101000a81548160ff021916908360ff16021790555060a08201518160020160036101000a81548163ffffffff021916908363ffffffff16021790555060c08201518160020160076101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060e08201518160030160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506101008201518160040160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506101208201518160050160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055509050506001600080876000191660001916815260200190815260200160002060060160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600080876000191660001916815260200190815260200160002060060160008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600080866000191660001916815260200190815260200160002060060160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151515612eba576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f456974686572206275796572206f722073656c6c65722069732070617373656481526020017f206173206d6f64657261746f720000000000000000000000000000000000000081525060400191505060405180910390fd5b60018760ff161115612f3a576001600080876000191660001916815260200190815260200160002060060160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b600160008154809291906001019190505550600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020859080600181540180825580915050906001820390600052602060002001600090919290919091509060001916905550600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002085908060018154018082558091505090600182039060005260206000200160009091929091909150906000191690555050505050505050505050565b600080828401905083811015151561304d57600080fd5b8091505092915050565b600080613068888888888888613b90565b91506130be600080876000191660001916815260200190815260200160002060020160039054906101000a900463ffffffff16600080886000191660001916815260200190815260200160002060010154614209565b9050600080866000191660001916815260200190815260200160002060020160029054906101000a900460ff1660ff16885110801561316f575080158061316e5750600080866000191660001916815260200190815260200160002060030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b5b1561322e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260588152602001807f4d696e696d756d206e756d626572206f66207369676e6174757265732061726581526020017f206e6f7420636f6c6c656374656420616e642074696d65206c6f636b2065787081526020017f69727920636f6e646974696f6e73206e6f74206d65742121000000000000000081525060600191505060405180910390fd5b5050505050505050565b6000806000806000806000808a600019166000191681526020019081526020016000209450600093506000600181111561326e57fe5b8560020160019054906101000a900460ff16600181111561328b57fe5b141561365a57600092505b875183101561365557600073ffffffffffffffffffffffffffffffffffffffff1688848151811015156132c557fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1614151515613381576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001807f7a65726f2061646472657373206973206e6f7420616c6c6f776564206173206481526020017f657374696e6174696f6e2061646472657373000000000000000000000000000081525060400191505060405180910390fd5b846006016000898581518110151561339557fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515613481576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c8152602001807f44657374696e6174696f6e2061646472657373206973206e6f74206f6e65206f81526020017f6620746865206f776e657273000000000000000000000000000000000000000081525060400191505060405180910390fd5b6000878481518110151561349157fe5b90602001906020020151111515613536576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001807f416d6f756e7420746f2062652073656e742073686f756c64206265206772656181526020017f746572207468616e20300000000000000000000000000000000000000000000081525060400191505060405180910390fd5b613560878481518110151561354757fe5b906020019060200201518561303690919063ffffffff16565b935060018560080160008a8681518110151561357857fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555087838151811015156135e157fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff166108fc888581518110151561361257fe5b906020019060200201519081150290604051600060405180830381858888f19350505050158015613647573d6000803e3d6000fd5b508280600101935050613296565b613b81565b60018081111561366657fe5b8560020160019054906101000a900460ff16600181111561368357fe5b1415613b80578460040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169150600090505b8751811015613b7f57600073ffffffffffffffffffffffffffffffffffffffff1688828151811015156136e457fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff16141515156137a0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001807f7a65726f2061646472657373206973206e6f7420616c6c6f776564206173206481526020017f657374696e6174696f6e2061646472657373000000000000000000000000000081525060400191505060405180910390fd5b84600601600089838151811015156137b457fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615156138a0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c8152602001807f44657374696e6174696f6e2061646472657373206973206e6f74206f6e65206f81526020017f6620746865206f776e657273000000000000000000000000000000000000000081525060400191505060405180910390fd5b600087828151811015156138b057fe5b90602001906020020151111515613955576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001807f416d6f756e7420746f2062652073656e742073686f756c64206265206772656181526020017f746572207468616e20300000000000000000000000000000000000000000000081525060400191505060405180910390fd5b61397f878281518110151561396657fe5b906020019060200201518561303690919063ffffffff16565b935060018560080160008a8481518110151561399757fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb8983815181101515613a1c57fe5b906020019060200201518984815181101515613a3457fe5b906020019060200201516040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015613ac357600080fd5b505af1158015613ad7573d6000803e3d6000fd5b505050506040513d6020811015613aed57600080fd5b81019080805190602001909291905050501515613b72576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f546f6b656e207472616e73666572206661696c65642e0000000000000000000081525060200191505060405180910390fd5b80806001019150506136b5565b5b5b83955050505050509392505050565b600080600080600088518a51148015613baa57508a518a51145b1515613c1e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f522c532c56206c656e677468206d69736d617463682e0000000000000000000081525060200191505060405180910390fd5b60197f01000000000000000000000000000000000000000000000000000000000000000260007f0100000000000000000000000000000000000000000000000000000000000000023089898c60405160200180877effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168152600101867effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526001018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401848051906020019060200280838360005b83811015613d72578082015181840152602081019050613d57565b50505050905001838051906020019060200280838360005b83811015613da5578082015181840152602081019050613d8a565b50505050905001826000191660001916815260200196505050505050506040516020818303038152906040526040518082805190602001908083835b602083101515613e065780518252602082019150602081019050602083039250613de1565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902060405160200180807f19457468657265756d205369676e6564204d6573736167653a0a333200000000815250601c0182600019166000191681526020019150506040516020818303038152906040526040518082805190602001908083835b602083101515613eb75780518252602082019150602081019050602083039250613e92565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390209250600091505b89518210156141f8576001838c84815181101515613f0557fe5b906020019060200201518c85815181101515613f1d57fe5b906020019060200201518c86815181101515613f3557fe5b90602001906020020151604051600081526020016040526040518085600019166000191681526020018460ff1660ff1681526020018360001916600019168152602001826000191660001916815260200194505050505060206040516020810390808403906000865af1158015613fb0573d6000803e3d6000fd5b505050602060405103519050600080896000191660001916815260200190815260200160002060060160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515614098576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f496e76616c6964207369676e617475726500000000000000000000000000000081525060200191505060405180910390fd5b600080896000191660001916815260200190815260200160002060070160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151515614175576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f53616d65207369676e61747572652073656e742074776963650000000000000081525060200191505060405180910390fd5b60016000808a6000191660001916815260200190815260200160002060070160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508093508180600101925050613eeb565b839450505050509695505050505050565b60008061421f834261425d90919063ffffffff16565b905060008463ffffffff16146142515761424a610e108563ffffffff1661427e90919063ffffffff16565b8111614254565b60005b91505092915050565b60008083831115151561426f57600080fd5b82840390508091505092915050565b600080600084141561429357600091506142b5565b82840290508284828115156142a457fe5b041415156142b157600080fd5b8091505b50929150505600a165627a7a723058207cf845abc2b34c73968f82b8d354c7549975a1a317493ef094ea52cecd92824f0029", - "sourceMap": "605:20433:0:-;;;1800:1;1766:35;;605:20433;8:9:-1;5:2;;;30:1;27;20:12;5:2;605:20433:0;;;;;;;", - "deployedSourceMap": "605:20433:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3861:701;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7763:514;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12071:1017;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12071:1017:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5510:1030;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5510:1030:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1708:51;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1708:51:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6781:221;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6781:221:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8605:832;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8605:832:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1766:35;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1766:35:0;;;;;;;;;;;;;;;;;;;;;;;9554:194;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9554:194:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;9554:194:0;;;;;;;;;;;;;;;;;10346:1204;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10346:1204:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7242:194;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7242:194:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3861:701;4138:10;2224:1;2190:12;:24;2203:10;2190:24;;;;;;;;;;;;;;;;;:30;;;:35;2182:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4173:5;2557:1;2531:28;;:14;:28;;;;2523:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4203:6;2557:1;2531:28;;:14;:28;;;;2523:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4225:264;4254:5;4273:6;4293:9;4316;4339:12;4365:10;4389:9;4412:8;4434:21;4477:1;4225:15;:264::i;:::-;4532:10;4513:41;;4520:10;4513:41;;;;4544:9;4513:41;;;;;;;;;;;;;;;;;;2593:1;2257;3861:701;;;;;;;;:::o;7763:514::-;7886:10;2054:1;2020:12;:24;2033:10;2020:24;;;;;;;;;;;;;;;;;:30;;;:35;;1999:96;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7920:10;2380:13;2345:48;;;;;;;;:12;:24;2358:10;2345:24;;;;;;;;;;;;;;;;;:31;;;;;;;;;;;;:48;;;;;;;;;2324:117;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7961:10;7973:21;2791:15;2747:59;;;;;;;;:12;:24;2760:10;2747:24;;;;;;;;;;;;;;;;;:40;;;;;;;;;;;;:59;;;;;;;;;2726:125;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8014:10;2959:12;:24;2972:10;2959:24;;;;;;;;;;;;;;;;;:30;;;;;;;;;;;;2945:44;;:10;:44;;;2924:124;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8070:1;8058:9;:13;8050:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8152;8200:9;8152:12;:24;8165:10;8152:24;;;;;;;;;;;;;;;;;:30;;;:47;;:58;;;;:::i;:::-;8119:12;:24;8132:10;8119:24;;;;;;;;;;;;;;;;;:30;;:91;;;;8248:10;8226:44;;8236:10;8226:44;;;;8260:9;8226:44;;;;;;;;;;;;;;;;;;2861:1;2451;;2105;7763:514;;:::o;12071:1017::-;12341:7;12392:1;12368:26;;:12;:26;;;12364:718;;;12482:8;12512:9;12543:12;12577:5;12604:6;12632:9;12671:4;12444:250;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;12444:250:0;;;12417:291;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;12417:291:0;;;;;;;;;;;;;;;;12410:298;;;;12364:718;12811:8;12841:9;12872:12;12906:5;12933:6;12961:9;13000:4;13027:12;12773:284;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;12773:284:0;;;12746:325;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;12746:325:0;;;;;;;;;;;;;;;;12739:332;;12071:1017;;;;;;;;;;:::o;5510:1030::-;6227:20;5829:10;2224:1;2190:12;:24;2203:10;2190:24;;;;;;;;;;;;;;;;;:30;;;:35;2182:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5864:5;2557:1;2531:28;;:14;:28;;;;2523:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5894:6;2557:1;2531:28;;:14;:28;;;;2523:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5925:12;2557:1;2531:28;;:14;:28;;;;2523:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5954:262;5983:5;6002:6;6022:9;6045;6068:12;6094:10;6118:5;6137:8;6159:21;6194:12;5954:15;:262::i;:::-;6265:12;6227:51;;6310:5;:18;;;6329:10;6349:4;6356:5;6310:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6310:52:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6310:52:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6310:52:0;;;;;;;;;;;;;;;;6289:192;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6515:10;6496:37;;6503:10;6496:37;;;;6527:5;6496:37;;;;;;;;;;;;;;;;;;2593:1;;2257;5510:1030;;;;;;;;;;;:::o;1708:51::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;6781:221::-;6917:4;6944:12;:24;6957:10;6944:24;;;;;;;;;;;;;;;;;:38;;:51;6983:11;6944:51;;;;;;;;;;;;;;;;;;;;;;;;;6937:58;;6781:221;;;;:::o;8605:832::-;8956:20;8736:10;2054:1;2020:12;:24;2033:10;2020:24;;;;;;;;;;;;;;;;;:30;;;:35;;1999:96;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8770:10;2380:13;2345:48;;;;;;;;:12;:24;2358:10;2345:24;;;;;;;;;;;;;;;;;:31;;;;;;;;;;;;:48;;;;;;;;;2324:117;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8811:10;8823:21;2791:15;2747:59;;;;;;;;:12;:24;2760:10;2747:24;;;;;;;;;;;;;;;;;:40;;;;;;;;;;;;:59;;;;;;;;;2726:125;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8864:10;2959:12;:24;2972:10;2959:24;;;;;;;;;;;;;;;;;:30;;;;;;;;;;;;2945:44;;:10;:44;;;2924:124;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8907:1;8899:5;:9;8891:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9007:12;:24;9020:10;9007:24;;;;;;;;;;;;;;;;;:37;;;;;;;;;;;;8956:98;;9086:5;:18;;;9105:12;:24;9118:10;9105:24;;;;;;;;;;;;;;;;;:30;;;;;;;;;;;;9145:4;9152:5;9086:72;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9086:72:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9086:72:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;9086:72:0;;;;;;;;;;;;;;;;9065:211;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9320:54;9368:5;9320:12;:24;9333:10;9320:24;;;;;;;;;;;;;;;;;:30;;;:47;;:54;;;;:::i;:::-;9287:12;:24;9300:10;9287:24;;;;;;;;;;;;;;;;;:30;;:87;;;;9412:10;9390:40;;9400:10;9390:40;;;;9424:5;9390:40;;;;;;;;;;;;;;;;;;2861:1;2451;;2105;8605:832;;;;:::o;1766:35::-;;;;:::o;9554:194::-;9676:9;9709:18;:32;9728:12;9709:32;;;;;;;;;;;;;;;9702:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9554:194;;;:::o;10346:1204::-;10568:10;2054:1;2020:12;:24;2033:10;2020:24;;;;;;;;;;;;;;;;;:30;;;:35;;1999:96;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10602:10;2380:13;2345:48;;;;;;;;:12;:24;2358:10;2345:24;;;;;;;;;;;;;;;;;:31;;;;;;;;;;;;:48;;;;;;;;;2324:117;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10672:1;10652:12;;:19;;:21;10631:114;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10799:7;;:14;;10776:12;;:19;;:37;10755:139;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10912:153;10944:4;;10912:153;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10962:4;;10912:153;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10980:4;;10912:153;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10998:10;11022:12;;10912:153;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11048:7;;10912:153;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:18;:153::i;:::-;11110:15;11076:12;:24;11089:10;11076:24;;;;;;;;;;;;;;;;;:31;;;:49;;;;;;;;;;;;;;;;;;;;;;;;11249:15;11209:12;:24;11222:10;11209:24;;;;;;;;;;;;;;;;;:37;;:55;;;;11348:12;:24;11361:10;11348:24;;;;;;;;;;;;;;;;;:30;;;11295:49;11310:10;11322:12;;11295:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11336:7;;11295:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:14;:49::i;:::-;:83;11274:202;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11509:10;11500:43;;;;11521:12;;11535:7;;11500:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2105:1;10346:1204;;;;;;;;;;;;:::o;7242:194::-;7365:4;7392:12;:24;7405:10;7392:24;;;;;;;;;;;;;;;;;:30;;:37;7423:5;7392:37;;;;;;;;;;;;;;;;;;;;;;;;;7385:44;;7242:194;;;;:::o;18395:2641::-;18757:6;18748:15;;:5;:15;;;;18740:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18868:1;18860:5;:9;18852:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19006:1;18994:9;:13;;;:31;;;;;19024:1;19011:9;:14;;;;18994:31;18973:140;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19407:1;19394:9;:14;;;:41;;;;19433:1;19412:23;;:9;:23;;;;19394:41;19373:160;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19579:226;19622:8;19648:9;19675:12;19705:5;19728:6;19752:9;19779:12;19579:25;:226::i;:::-;19565:240;;;:10;:240;;;;19544:345;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19927:373;;;;;;;;;20048:5;19927:373;;;;20116:15;19927:373;;;;20075:13;19927:373;;;;;;;;;;;;20235:15;19927:373;;;;;;;;;;;;20156:9;19927:373;;;;;;20193:12;19927:373;;;;;;19960:5;19927:373;;;;;;19987:6;19927:373;;;;;;20277:12;19927:373;;;;;;20018:9;19927:373;;;;;19900:12;:24;19913:10;19900:24;;;;;;;;;;;;;;;;;:400;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20354:4;20311:12;:24;20324:10;20311:24;;;;;;;;;;;;;;;;;:32;;:40;20344:6;20311:40;;;;;;;;;;;;;;;;:47;;;;;;;;;;;;;;;;;;20410:4;20368:12;:24;20381:10;20368:24;;;;;;;;;;;;;;;;;:32;;:39;20401:5;20368:39;;;;;;;;;;;;;;;;:46;;;;;;;;;;;;;;;;;;20522:12;:24;20535:10;20522:24;;;;;;;;;;;;;;;;;:32;;:43;20555:9;20522:43;;;;;;;;;;;;;;;;;;;;;;;;;20521:44;20500:137;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20809:1;20797:9;:13;;;20793:94;;;20872:4;20826:12;:24;20839:10;20826:24;;;;;;;;;;;;;;;;;:32;;:43;20859:9;20826:43;;;;;;;;;;;;;;;;:50;;;;;;;;;;;;;;;;;;20793:94;20905:16;;:18;;;;;;;;;;;;;20934;:25;20953:5;20934:25;;;;;;;;;;;;;;;20965:10;20934:42;;39:1:-1;33:3;27:10;23:18;57:10;52:3;45:23;79:10;72:17;;0:93;20934:42:0;;;;;;;;;;;;;;;;;;;;;;;;;;;20986:18;:26;21005:6;20986:26;;;;;;;;;;;;;;;21018:10;20986:43;;39:1:-1;33:3;27:10;23:18;57:10;52:3;45:23;79:10;72:17;;0:93;20986:43:0;;;;;;;;;;;;;;;;;;;;;;;;;;;18395:2641;;;;;;;;;;:::o;1272:131:2:-;1330:7;1345:9;1361:1;1357;:5;1345:17;;1381:1;1376;:6;;1368:15;;;;;;;;1397:1;1390:8;;1272:131;;;;;:::o;13362:1008:0:-;13583:21;13770:20;13607:152;13638:4;13656;13674;13692:10;13716:12;13742:7;13607:17;:152::i;:::-;13583:176;;13793:130;13825:12;:24;13838:10;13825:24;;;;;;;;;;;;;;;;;:37;;;;;;;;;;;;13876:12;:24;13889:10;13876:24;;;;;;;;;;;;;;;;;:37;;;13793:18;:130::i;:::-;13770:153;;14109:12;:24;14122:10;14109:24;;;;;;;;;;;;;;;;;:34;;;;;;;;;;;;14095:48;;:4;:11;:48;:122;;;;;14149:15;14148:16;:68;;;;14185:12;:24;14198:10;14185:24;;;;;;;;;;;;;;;;;:31;;;;;;;;;;;;14168:48;;:13;:48;;;;14148:68;14095:122;14074:289;;;14254:98;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14074:289;13362:1008;;;;;;;;:::o;14496:1723::-;14644:7;14667:21;14726:24;14832:9;15484:20;15557:9;14691:12;:24;14704:10;14691:24;;;;;;;;;;;;;;;;;14667:48;;14753:1;14726:28;;14790:21;14769:42;;;;;;;;:1;:17;;;;;;;;;;;;:42;;;;;;;;;14765:1414;;;14844:1;14832:13;;14827:577;14851:12;:19;14847:1;:23;14827:577;;;14931:1;14904:29;;:12;14917:1;14904:15;;;;;;;;;;;;;;;;;;:29;;;;14896:92;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15015:1;:9;;:26;15025:12;15038:1;15025:15;;;;;;;;;;;;;;;;;;15015:26;;;;;;;;;;;;;;;;;;;;;;;;;15007:83;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15130:1;15117:7;15125:1;15117:10;;;;;;;;;;;;;;;;;;:14;15109:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15216:32;15237:7;15245:1;15237:10;;;;;;;;;;;;;;;;;;15216:16;:20;;:32;;;;:::i;:::-;15197:51;;15302:4;15267:1;:15;;:32;15283:12;15296:1;15283:15;;;;;;;;;;;;;;;;;;15267:32;;;;;;;;;;;;;;;;:39;;;;;;;;;;;;;;;;;;15353:12;15366:1;15353:15;;;;;;;;;;;;;;;;;;:24;;:36;15378:7;15386:1;15378:10;;;;;;;;;;;;;;;;;;15353:36;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;15353:36:0;14872:3;;;;;;;14827:577;;;14765:1414;;;15446:21;15425:42;;;;;;;;:1;:17;;;;;;;;;;;;:42;;;;;;;;;15421:758;;;15522:1;:14;;;;;;;;;;;;15484:53;;15569:1;15557:13;;15552:617;15574:12;:19;15572:1;:21;15552:617;;;15654:1;15627:29;;:12;15640:1;15627:15;;;;;;;;;;;;;;;;;;:29;;;;15619:92;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15738:1;:9;;:26;15748:12;15761:1;15748:15;;;;;;;;;;;;;;;;;;15738:26;;;;;;;;;;;;;;;;;;;;;;;;;15730:83;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15853:1;15840:7;15848:1;15840:10;;;;;;;;;;;;;;;;;;:14;15832:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15939:32;15960:7;15968:1;15960:10;;;;;;;;;;;;;;;;;;15939:16;:20;;:32;;;;:::i;:::-;15920:51;;16024:4;15989:1;:15;;:32;16005:12;16018:1;16005:15;;;;;;;;;;;;;;;;;;15989:32;;;;;;;;;;;;;;;;:39;;;;;;;;;;;;;;;;;;16084:5;:14;;;16099:12;16112:1;16099:15;;;;;;;;;;;;;;;;;;16116:7;16124:1;16116:10;;;;;;;;;;;;;;;;;;16084:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;16084:43:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;16084:43:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;16084:43:0;;;;;;;;;;;;;;;;16076:78;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15595:3;;;;;;;15552:617;;;15421:758;14765:1414;16196:16;16189:23;;14496:1723;;;;;;;;;;:::o;16404:1581::-;16626:7;16787:19;16905:14;17373:6;17422:17;16686:4;:11;16671:4;:11;:26;:56;;;;;16716:4;:11;16701:4;:11;:26;16671:56;16650:126;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17109:4;17104:10;;17145:1;17140:7;;17181:4;17212:12;17250:7;17283:10;17062:253;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;17062:253:0;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;17062:253:0;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;17062:253:0;;;17031:302;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;17031:302:0;;;;;;;;;;;;;;;;16945:402;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;16945:402:0;;;16922:435;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;16922:435:0;;;;;;;;;;;;;;;;16905:452;;17382:1;17373:10;;17368:582;17389:4;:11;17385:1;:15;17368:582;;;17442:122;17469:6;17493:4;17498:1;17493:7;;;;;;;;;;;;;;;;;;17518:4;17523:1;17518:7;;;;;;;;;;;;;;;;;;17543:4;17548:1;17543:7;;;;;;;;;;;;;;;;;;17442:122;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;17442:122:0;;;;;;;;17422:142;;17604:12;:24;17617:10;17604:24;;;;;;;;;;;;;;;;;:32;;:43;17637:9;17604:43;;;;;;;;;;;;;;;;;;;;;;;;;17579:120;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17739:12;:24;17752:10;17739:24;;;;;;;;;;;;;;;;;:30;;:41;17770:9;17739:41;;;;;;;;;;;;;;;;;;;;;;;;;17738:42;17713:127;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17898:4;17854:12;:24;17867:10;17854:24;;;;;;;;;;;;;;;;;:30;;:41;17885:9;17854:41;;;;;;;;;;;;;;;;:48;;;;;;;;;;;;;;;;;;17930:9;17916:23;;17402:3;;;;;;;17368:582;;;17967:11;17960:18;;16404:1581;;;;;;;;;;;;:::o;17991:317::-;18130:4;18150:17;18170:21;18178:12;18170:3;:7;;:21;;;;:::i;:::-;18150:41;;18238:1;18222:12;:17;;;:69;;18260:31;18286:4;18268:12;18260:21;;:25;;:31;;;;:::i;:::-;18248:9;:43;18222:69;;;18242:5;18222:69;18201:100;;17991:317;;;;;:::o;1078:131:2:-;1136:7;1172:9;1164:1;1159;:6;;1151:15;;;;;;;;1188:1;1184;:5;1172:17;;1203:1;1196:8;;1078:131;;;;;:::o;204:381::-;262:7;523:9;491:1;486;:6;482:35;;;509:1;502:8;;;;482:35;539:1;535;:5;523:17;;563:1;558;554;:5;;;;;;;;:10;546:19;;;;;;;;579:1;572:8;;204:381;;;;;;:::o", - "source": "pragma solidity 0.4.24;\n\nimport \"openzeppelin-solidity/contracts/math/SafeMath.sol\";\n\nimport \"../token/ITokenContract.sol\";\n\n\n/**\n* @dev Supports ERC20 tokens\n* The escrow smart contract for the open bazaar trades in Ethereum\n* The smart contract is designed keeping in mind the current wallet interface of the OB-core\n* https://github.com/OpenBazaar/wallet-interface/blob/master/wallet.go\n* Current wallet interface strictly adheres to UTXO(bitcoin) model\n* Please read below mentioned link for detailed specs\n* https://github.com/OpenBazaar/smart-contracts/blob/master/contracts/escrow/EscrowSpec.md\n*/\ncontract Escrow_v1_0 {\n\n using SafeMath for uint256;\n\n enum Status {FUNDED, RELEASED}\n\n enum TransactionType {ETHER, TOKEN}\n\n event Executed(\n bytes32 indexed scriptHash,\n address[] destinations,\n uint256[] amounts\n );\n\n event FundAdded(\n bytes32 indexed scriptHash,\n address indexed from,\n uint256 valueAdded\n );\n\n event Funded(\n bytes32 indexed scriptHash, \n address indexed from, \n uint256 value\n );\n\n struct Transaction {\n uint256 value;\n uint256 lastModified;//Time at which tx was last modified in seconds\n Status status;\n TransactionType transactionType;\n uint8 threshold;\n uint32 timeoutHours;\n address buyer;\n address seller;\n address tokenAddress;//Token address in case of token transfer\n address moderator;\n mapping(address=>bool) isOwner;//to keep track of owners.\n mapping(address=>bool) voted;//to keep track of who all voted\n mapping(address=>bool) beneficiaries;//Benefeciaries of execution\n }\n\n mapping(bytes32 => Transaction) public transactions;\n\n uint256 public transactionCount = 0;\n\n //Contains mapping between each party and all of their transactions\n mapping(address => bytes32[]) private partyVsTransaction;\n\n modifier transactionExist(bytes32 scriptHash) {\n require(\n transactions[scriptHash].value != 0, \"Transaction does not exist\"\n );\n _;\n }\n\n modifier transactionDoesNotExist(bytes32 scriptHash) {\n require(transactions[scriptHash].value == 0, \"Transaction exist\");\n _;\n }\n\n modifier inFundedState(bytes32 scriptHash) {\n require(\n transactions[scriptHash].status == Status.FUNDED, \"Transaction is not in FUNDED state\"\n );\n _;\n }\n\n modifier nonZeroAddress(address addressToCheck) {\n require(addressToCheck != address(0), \"Zero address passed\");\n _;\n }\n\n modifier checkTransactionType(\n bytes32 scriptHash,\n TransactionType transactionType\n )\n {\n require(\n transactions[scriptHash].transactionType == transactionType, \"Transaction type does not match\"\n );\n _;\n }\n\n modifier onlyBuyer(bytes32 scriptHash) {\n require(\n msg.sender == transactions[scriptHash].buyer, \"The initiator of the transaction is not buyer\"\n );\n _;\n }\n\n /**\n * @dev Add new transaction in the contract\n * @param buyer The buyer of the transaction\n * @param seller The seller of the listing associated with the transaction\n * @param moderator Moderator for this transaction\n * @param threshold Minimum number of signatures required to released funds\n * @param timeoutHours Hours after which seller can release funds into his favour by signing transaction unilaterally\n * @param scriptHash keccak256 hash of the redeem script\n * @param uniqueId bytes20 unique id for the transaction, generated by ETH wallet\n * Redeem Script format will be following\n \n * Pass amount of the ethers to be put in escrow\n */\n function addTransaction(\n address buyer,\n address seller,\n address moderator,\n uint8 threshold,\n uint32 timeoutHours,\n bytes32 scriptHash,\n bytes20 uniqueId\n )\n external\n payable\n transactionDoesNotExist(scriptHash)\n nonZeroAddress(buyer)\n nonZeroAddress(seller)\n {\n _addTransaction(\n buyer,\n seller,\n moderator,\n threshold,\n timeoutHours,\n scriptHash,\n msg.value,\n uniqueId,\n TransactionType.ETHER,\n address(0)\n );\n \n emit Funded(scriptHash, msg.sender, msg.value);\n\n }\n\n /**\n * @dev Add new transaction in the contract\n * @param buyer The buyer of the transaction\n * @param seller The seller of the listing associated with the transaction\n * @param moderator Moderator for this transaction\n * @param threshold Minimum number of signatures required to released funds\n * @param timeoutHours Hours after which seller can release funds into his favour by signing transaction unilaterally\n * @param scriptHash keccak256 hash of the redeem script\n * @param value Amount of tokens to be put in escrow\n * @param uniqueId bytes20 unique id for the transaction, generated by ETH wallet\n * @param tokenAddress Address of the token to be used\n * Redeem Script format will be following\n \n * Approve escrow contract to spend amount of token on sender's behalf\n */\n function addTokenTransaction(\n address buyer,\n address seller,\n address moderator,\n uint8 threshold,\n uint32 timeoutHours,\n bytes32 scriptHash,\n uint256 value,\n bytes20 uniqueId,\n address tokenAddress\n )\n external\n transactionDoesNotExist(scriptHash)\n nonZeroAddress(buyer)\n nonZeroAddress(seller)\n nonZeroAddress(tokenAddress)\n {\n\n _addTransaction(\n buyer,\n seller,\n moderator,\n threshold,\n timeoutHours,\n scriptHash,\n value,\n uniqueId,\n TransactionType.TOKEN,\n tokenAddress\n );\n\n ITokenContract token = ITokenContract(tokenAddress);\n\n require(\n token.transferFrom(msg.sender, address(this), value),\n \"Token transfer failed, maybe you did not approve escrow contract to spend on behalf of sender\"\n );\n emit Funded(scriptHash, msg.sender, value);\n }\n\n /**\n * @dev This method will check whether given address was a beneficiary of transaction execution or not\n * @param scriptHash script hash of the transaction\n * @param beneficiary Beneficiary address to be checked\n */\n function checkBeneficiary(\n bytes32 scriptHash,\n address beneficiary\n )\n external\n view\n returns (bool)\n {\n return transactions[scriptHash].beneficiaries[beneficiary];\n }\n\n /**\n * @dev This method will check whether given party has voted or not\n * @param scriptHash script hash of the transaction\n * @param party Address of the party whose vote has to be checked\n * @return bool vote\n */\n function checkVote(\n bytes32 scriptHash,\n address party\n )\n external\n view\n returns (bool)\n {\n return transactions[scriptHash].voted[party];\n }\n\n /**\n * @dev Allows buyer of the transaction to add more funds(ether) in the transaction. \n * This will help to cater scenarios wherein initially buyer missed to fund transaction as required\n * @param scriptHash script hash of the transaction\n * Only buyer of the transaction can invoke this method\n */\n function addFundsToTransaction(\n bytes32 scriptHash\n )\n external\n payable\n transactionExist(scriptHash)\n inFundedState(scriptHash)\n checkTransactionType(scriptHash, TransactionType.ETHER)\n onlyBuyer(scriptHash)\n \n {\n\n require(msg.value > 0, \"Value must be greater than zero.\");\n\n transactions[scriptHash].value = transactions[scriptHash].value\n .add(msg.value);\n\n emit FundAdded(scriptHash, msg.sender, msg.value);\n }\n\n /**\n * @dev Allows buyer of the transaction to add more funds(Tokens) in the transaction. \n * This will help to cater scenarios wherein initially buyer missed to fund transaction as required\n * @param scriptHash script hash of the transaction\n * Only buyer of the transaction can invoke this method\n */\n function addTokensToTransaction(\n bytes32 scriptHash,\n uint256 value\n )\n external\n transactionExist(scriptHash)\n inFundedState(scriptHash)\n checkTransactionType(scriptHash, TransactionType.TOKEN)\n onlyBuyer(scriptHash)\n {\n\n require(value > 0, \"Value must be greater than zero.\");\n\n ITokenContract token = ITokenContract(\n transactions[scriptHash].tokenAddress\n );\n\n require(\n token.transferFrom(transactions[scriptHash].buyer, address(this), value),\n \"Token transfer failed, maybe you did not approve escrow contract to spend on behalf of buyer\"\n );\n\n transactions[scriptHash].value = transactions[scriptHash].value\n .add(value);\n\n emit FundAdded(scriptHash, msg.sender, value);\n }\n\n /**\n *@dev Returns all transaction ids for a party\n *@param partyAddress Address of the party\n */\n function getAllTransactionsForParty(\n address partyAddress\n ) \n external \n view \n returns (bytes32[]) \n {\n return partyVsTransaction[partyAddress];\n }\n\n /**\n *@dev This method will be used to release funds associated with the transaction\n * Please see specs https://github.com/OpenBazaar/smart-contracts/blob/master/contracts/escrow/EscrowSpec.md\n *@param sigV Array containing V component of all the signatures\n *@param sigR Array containing R component of all the signatures\n *@param signS Array containing S component of all the signatures\n *@param scriptHash script hash of the transaction\n *@param destinations List of addresses who will receive funds\n *@param amounts amount released to each destination\n */\n function execute(\n uint8[] sigV,\n bytes32[] sigR,\n bytes32[] sigS,\n bytes32 scriptHash,\n address[] destinations,\n uint256[] amounts\n )\n external\n transactionExist(scriptHash)\n inFundedState(scriptHash)\n { \n require(\n destinations.length>0, \n \"Number of destinations must be greater than 0\"\n );\n require(\n destinations.length == amounts.length,\n \"Number of destinations must match number of values sent\"\n );\n \n _verifyTransaction(\n sigV,\n sigR,\n sigS,\n scriptHash,\n destinations,\n amounts\n );\n\n transactions[scriptHash].status = Status.RELEASED;\n //Last modified timestamp modified, which will be used by rewards\n transactions[scriptHash].lastModified = block.timestamp;\n require(\n _transferFunds(scriptHash, destinations, amounts) == transactions[scriptHash].value,\n \"Total value to be released must be equal to the transaction escrow value\"\n );\n \n emit Executed(scriptHash, destinations, amounts);\n }\n\n\n /**\n *@dev Method for calculating script hash. Calculation will depend upon the type of transaction\n * ETHER Type transaction-:\n * Script Hash- keccak256(uniqueId, threshold, timeoutHours, buyer, seller, moderator, multiSigContractAddress)\n * TOKEN Type transaction\n * Script Hash- keccak256(uniqueId, threshold, timeoutHours, buyer, seller, moderator, multiSigContractAddress, tokenAddress)\n * Client can use this method to verify whether it has calculated correct script hash or not\n */\n function calculateRedeemScriptHash(\n bytes20 uniqueId,\n uint8 threshold,\n uint32 timeoutHours,\n address buyer,\n address seller,\n address moderator,\n address tokenAddress\n )\n public\n view\n returns (bytes32)\n {\n if (tokenAddress == address(0)) {\n return keccak256(\n abi.encodePacked(\n uniqueId,\n threshold,\n timeoutHours,\n buyer,\n seller,\n moderator,\n address(this)\n )\n );\n } else {\n return keccak256(\n abi.encodePacked(\n uniqueId,\n threshold,\n timeoutHours,\n buyer,\n seller,\n moderator,\n address(this),\n tokenAddress\n )\n );\n }\n }\n\n /**\n * @dev This methods checks validity of transaction\n * 1. Verify Signatures\n * 2. Check if minimum number of signatures has been acquired\n * 3. If above condition is false, check if time lock is expired and the execution is signed by seller\n */\n function _verifyTransaction(\n uint8[] sigV,\n bytes32[] sigR,\n bytes32[] sigS,\n bytes32 scriptHash,\n address[] destinations,\n uint256[] amounts\n )\n private\n {\n address lastRecovered = _verifySignatures(\n sigV,\n sigR,\n sigS,\n scriptHash,\n destinations,\n amounts\n );\n\n bool timeLockExpired = _isTimeLockExpired(\n transactions[scriptHash].timeoutHours,\n transactions[scriptHash].lastModified\n );\n\n //if Minimum number of signatures are not gathered and timelock has not expired or transaction was not signed by seller then revert\n if (\n sigV.length < transactions[scriptHash].threshold && (!timeLockExpired || lastRecovered != transactions[scriptHash].seller)\n )\n {\n revert(\"Minimum number of signatures are not collected and time lock expiry conditions not met!!\");\n }\n\n }\n\n /**\n *@dev Private method to transfer funds to the destination addresses on the basis of transaction type\n */\n function _transferFunds(\n bytes32 scriptHash,\n address[]destinations,\n uint256[]amounts\n )\n private\n returns (uint256)\n {\n Transaction storage t = transactions[scriptHash];\n\n uint256 valueTransferred = 0;\n\n if (t.transactionType == TransactionType.ETHER) {\n for (uint256 i = 0; i < destinations.length; i++) {\n\n require(destinations[i] != address(0), \"zero address is not allowed as destination address\");\n\n require(t.isOwner[destinations[i]], \"Destination address is not one of the owners\");\n\n require(amounts[i] > 0, \"Amount to be sent should be greater than 0\");\n\n valueTransferred = valueTransferred.add(amounts[i]);\n\n t.beneficiaries[destinations[i]] = true;//add receiver as beneficiary\n destinations[i].transfer(amounts[i]);\n }\n\n } else if (t.transactionType == TransactionType.TOKEN) {\n\n ITokenContract token = ITokenContract(t.tokenAddress);\n\n for (uint256 j = 0; j 0, \"Amount to be sent should be greater than 0\");\n\n valueTransferred = valueTransferred.add(amounts[j]);\n t.beneficiaries[destinations[j]] = true;//add receiver as beneficiary\n\n require(token.transfer(destinations[j], amounts[j]), \"Token transfer failed.\");\n }\n } \n return valueTransferred;\n }\n\n //to check whether the signatures are valid or not and if consensus was reached\n //returns the last address recovered, in case of timeout this must be the sender's address\n function _verifySignatures(\n uint8[] sigV,\n bytes32[] sigR,\n bytes32[] sigS,\n bytes32 scriptHash,\n address[] destinations,\n uint256[]amounts\n )\n private\n returns (address)\n {\n\n require(\n sigR.length == sigS.length && sigR.length == sigV.length, \n \"R,S,V length mismatch.\"\n );\n\n address lastAddress;\n\n // Follows ERC191 signature scheme: https://github.com/ethereum/EIPs/issues/191\n bytes32 txHash = keccak256(\n abi.encodePacked(\n \"\\x19Ethereum Signed Message:\\n32\",\n keccak256(\n abi.encodePacked(\n byte(0x19),\n byte(0),\n address(this),\n destinations,\n amounts,\n scriptHash\n )\n )\n )\n );\n\n for (uint i = 0; i < sigR.length; i++) {\n\n address recovered = ecrecover(\n txHash,\n sigV[i],\n sigR[i],\n sigS[i]\n );\n\n require(\n transactions[scriptHash].isOwner[recovered], \n \"Invalid signature\"\n );\n require(\n !transactions[scriptHash].voted[recovered], \n \"Same signature sent twice\"\n );\n transactions[scriptHash].voted[recovered] = true;\n lastAddress = recovered;\n }\n\n return lastAddress;\n }\n\n function _isTimeLockExpired(\n uint32 timeoutHours,\n uint256 lastModified\n )\n private\n view\n returns (bool)\n {\n uint256 timeSince = now.sub(lastModified);\n return (\n timeoutHours == 0 ? false:timeSince > uint256(timeoutHours).mul(3600)\n );\n }\n\n /**\n * Private method to add transaction to reduce code redundancy\n */\n function _addTransaction(\n address buyer,\n address seller,\n address moderator,\n uint8 threshold,\n uint32 timeoutHours,\n bytes32 scriptHash,\n uint256 value,\n bytes20 uniqueId,\n TransactionType transactionType,\n address tokenAddress\n )\n private\n { \n require(buyer != seller, \"Buyer and seller are same\");\n\n //value passed should be greater than 0\n require(value > 0, \"Value passed is 0\");\n\n // For now allowing 0 moderator to support 1-2 multisig wallet\n require(\n threshold > 0 && threshold <= 3, \n \"Threshold cannot be greater than 3 and must be greater than 0\"\n );\n\n //if threshold is 1 then moderator can be passed as zero address or any other address\n //(it won't matter apart from scripthash since we wont add moderator as one of the owner),\n //otherwise moderator should be a valid address\n require(\n threshold == 1 || moderator != address(0),\n \"Either threshold should be 1 or valid moderator address should be passed\"\n );\n\n require(\n scriptHash == calculateRedeemScriptHash(\n uniqueId,\n threshold,\n timeoutHours,\n buyer,\n seller,\n moderator,\n tokenAddress\n ), \n \"Calculated script hash does not match passed script hash.\"\n );\n\n transactions[scriptHash] = Transaction({\n buyer: buyer,\n seller: seller,\n moderator: moderator,\n value: value,\n status: Status.FUNDED,\n lastModified: block.timestamp,\n threshold: threshold,\n timeoutHours: timeoutHours,\n transactionType:transactionType,\n tokenAddress:tokenAddress\n });\n\n transactions[scriptHash].isOwner[seller] = true;\n transactions[scriptHash].isOwner[buyer] = true; \n\n //Check if buyer or seller are not passed as moderator\n require(\n !transactions[scriptHash].isOwner[moderator], \n \"Either buyer or seller is passed as moderator\"\n );\n\n //set moderator as one of the owners only if threshold is greater than 1 otherwise only buyer and seller should be able to release funds\n if (threshold > 1) {\n transactions[scriptHash].isOwner[moderator] = true;\n }\n \n\n transactionCount++;\n\n partyVsTransaction[buyer].push(scriptHash);\n partyVsTransaction[seller].push(scriptHash);\n }\n}\n", + "bytecode": "0x6080604052600060015534801561001557600080fd5b506142ab806100256000396000f3006080604052600436106100af576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806323b6fd3f146100b45780632d9ef96e1461016e57806346fbcdeb1461019257806357bced7614610287578063642f2eaf14610378578063b0550c66146104da578063b719e28014610543578063b77bf6001461057e578063be84ceaf146105a9578063e4ec8b0014610641578063f0786562146106ea575b600080fd5b61016c600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff169060200190929190803563ffffffff169060200190929190803560001916906020019092919080356bffffffffffffffffffffffff19169060200190929190505050610753565b005b61019060048036038101908080356000191690602001909291905050506109a7565b005b34801561019e57600080fd5b5061026960048036038101908080356bffffffffffffffffffffffff19169060200190929190803560ff169060200190929190803563ffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610e02565b60405180826000191660001916815260200191505060405180910390f35b34801561029357600080fd5b50610376600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff169060200190929190803563ffffffff16906020019092919080356000191690602001909291908035906020019092919080356bffffffffffffffffffffffff19169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506112ae565b005b34801561038457600080fd5b506103a76004803603810190808035600019169060200190929190505050611783565b604051808b81526020018a81526020018960018111156103c357fe5b60ff1681526020018860018111156103d757fe5b60ff1681526020018760ff1660ff1681526020018663ffffffff1663ffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019a505050505050505050505060405180910390f35b3480156104e657600080fd5b506105296004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061188e565b604051808215151515815260200191505060405180910390f35b34801561054f57600080fd5b5061057c600480360381019080803560001916906020019092919080359060200190929190505050611900565b005b34801561058a57600080fd5b50610593611f71565b6040518082815260200191505060405180910390f35b3480156105b557600080fd5b506105ea600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611f77565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b8381101561062d578082015181840152602081019050610612565b505050509050019250505060405180910390f35b34801561064d57600080fd5b506106e86004803603810190808035906020019082018035906020019190919293919293908035906020019082018035906020019190919293919293908035906020019082018035906020019190919293919293908035600019169060200190929190803590602001908201803590602001919091929391929390803590602001908201803590602001919091929391929390505050612012565b005b3480156106f657600080fd5b506107396004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506125fb565b604051808215151515815260200191505060405180910390f35b8160008060008360001916600019168152602001908152602001600020600001541415156107e9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f5472616e73616374696f6e20657869737400000000000000000000000000000081525060200191505060405180910390fd5b87600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561088f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b87600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610935576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b6109488a8a8a8a8a8a348b60008061266d565b3373ffffffffffffffffffffffffffffffffffffffff1685600019167fce7089d0668849fb9ca29778c0cbf1e764d9efb048d81fd71fb34c94f26db368346040518082815260200191505060405180910390a350505050505050505050565b80600080600083600019166000191681526020019081526020016000206000015414151515610a3e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737400000000000081525060200191505060405180910390fd5b8160006001811115610a4c57fe5b600080836000191660001916815260200190815260200160002060020160009054906101000a900460ff166001811115610a8257fe5b141515610b1d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001807f5472616e73616374696f6e206973206e6f7420696e2046554e4445442073746181526020017f746500000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b826000806001811115610b2c57fe5b600080846000191660001916815260200190815260200160002060020160019054906101000a900460ff166001811115610b6257fe5b141515610bd7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5472616e73616374696f6e207479706520646f6573206e6f74206d617463680081525060200191505060405180910390fd5b84600080826000191660001916815260200190815260200160002060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610cde576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f54686520696e69746961746f72206f6620746865207472616e73616374696f6e81526020017f206973206e6f742062757965720000000000000000000000000000000000000081525060400191505060405180910390fd5b600034111515610d56576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f56616c7565206d7573742062652067726561746572207468616e207a65726f2e81525060200191505060405180910390fd5b610d8634600080896000191660001916815260200190815260200160002060000154612ff990919063ffffffff16565b6000808860001916600019168152602001908152602001600020600001819055503373ffffffffffffffffffffffffffffffffffffffff1686600019167ff66fd2ae9e24a6a24b02e1b5b7512ffde5149a4176085fc0298ae228c9b9d729346040518082815260200191505060405180910390a3505050505050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561104e578787878787873060405160200180886bffffffffffffffffffffffff19166bffffffffffffffffffffffff191681526014018760ff1660ff167f01000000000000000000000000000000000000000000000000000000000000000281526001018663ffffffff1663ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014019750505050505050506040516020818303038152906040526040518082805190602001908083835b60208310151561101a5780518252602082019150602081019050602083039250610ff5565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902090506112a3565b878787878787308860405160200180896bffffffffffffffffffffffff19166bffffffffffffffffffffffff191681526014018860ff1660ff167f01000000000000000000000000000000000000000000000000000000000000000281526001018763ffffffff1663ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401985050505050505050506040516020818303038152906040526040518082805190602001908083835b602083101515611273578051825260208201915060208101905060208303925061124e565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902090505b979650505050505050565b6000846000806000836000191660001916815260200190815260200160002060000154141515611346576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f5472616e73616374696f6e20657869737400000000000000000000000000000081525060200191505060405180910390fd5b8a600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156113ec576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b8a600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515611492576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b84600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515611538576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b61154b8e8e8e8e8e8e8e8e60018f61266d565b8594508473ffffffffffffffffffffffffffffffffffffffff166323b872dd33308b6040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b15801561162557600080fd5b505af1158015611639573d6000803e3d6000fd5b505050506040513d602081101561164f57600080fd5b81019080805190602001909291905050501515611720576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252605d8152602001807f546f6b656e207472616e73666572206661696c65642c206d6179626520796f7581526020017f20646964206e6f7420617070726f766520657363726f7720636f6e747261637481526020017f20746f207370656e64206f6e20626568616c66206f662073656e64657200000081525060600191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff1689600019167fce7089d0668849fb9ca29778c0cbf1e764d9efb048d81fd71fb34c94f26db3688a6040518082815260200191505060405180910390a35050505050505050505050505050565b60006020528060005260406000206000915090508060000154908060010154908060020160009054906101000a900460ff16908060020160019054906101000a900460ff16908060020160029054906101000a900460ff16908060020160039054906101000a900463ffffffff16908060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060050160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508a565b6000806000846000191660001916815260200190815260200160002060080160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b600082600080600083600019166000191681526020019081526020016000206000015414151515611999576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737400000000000081525060200191505060405180910390fd5b83600060018111156119a757fe5b600080836000191660001916815260200190815260200160002060020160009054906101000a900460ff1660018111156119dd57fe5b141515611a78576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001807f5472616e73616374696f6e206973206e6f7420696e2046554e4445442073746181526020017f746500000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b846001806001811115611a8757fe5b600080846000191660001916815260200190815260200160002060020160019054906101000a900460ff166001811115611abd57fe5b141515611b32576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5472616e73616374696f6e207479706520646f6573206e6f74206d617463680081525060200191505060405180910390fd5b86600080826000191660001916815260200190815260200160002060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611c39576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f54686520696e69746961746f72206f6620746865207472616e73616374696f6e81526020017f206973206e6f742062757965720000000000000000000000000000000000000081525060400191505060405180910390fd5b600087111515611cb1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f56616c7565206d7573742062652067726561746572207468616e207a65726f2e81525060200191505060405180910390fd5b600080896000191660001916815260200190815260200160002060040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1695508573ffffffffffffffffffffffffffffffffffffffff166323b872dd33308a6040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b158015611dc857600080fd5b505af1158015611ddc573d6000803e3d6000fd5b505050506040513d6020811015611df257600080fd5b81019080805190602001909291905050501515611ec3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252605c8152602001807f546f6b656e207472616e73666572206661696c65642c206d6179626520796f7581526020017f20646964206e6f7420617070726f766520657363726f7720636f6e747261637481526020017f20746f207370656e64206f6e20626568616c66206f662062757965720000000081525060600191505060405180910390fd5b611ef3876000808b6000191660001916815260200190815260200160002060000154612ff990919063ffffffff16565b6000808a60001916600019168152602001908152602001600020600001819055503373ffffffffffffffffffffffffffffffffffffffff1688600019167ff66fd2ae9e24a6a24b02e1b5b7512ffde5149a4176085fc0298ae228c9b9d729896040518082815260200191505060405180910390a35050505050505050565b60015481565b6060600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080548060200260200160405190810160405280929190818152602001828054801561200657602002820191906000526020600020905b81546000191681526020019060010190808311611fee575b50505050509050919050565b846000806000836000191660001916815260200190815260200160002060000154141515156120a9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737400000000000081525060200191505060405180910390fd5b85600060018111156120b757fe5b600080836000191660001916815260200190815260200160002060020160009054906101000a900460ff1660018111156120ed57fe5b141515612188576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001807f5472616e73616374696f6e206973206e6f7420696e2046554e4445442073746181526020017f746500000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b600086869050111515612229576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f4e756d626572206f662064657374696e6174696f6e73206d757374206265206781526020017f726561746572207468616e20300000000000000000000000000000000000000081525060400191505060405180910390fd5b83839050868690501415156122cc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260378152602001807f4e756d626572206f662064657374696e6174696f6e73206d757374206d61746381526020017f68206e756d626572206f662076616c7565732073656e7400000000000000000081525060400191505060405180910390fd5b6123c58d8d808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508c8c808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508b8b808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508a8a8a8080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505089898080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505061301a565b6001600080896000191660001916815260200190815260200160002060020160006101000a81548160ff021916908360018111156123ff57fe5b0217905550426000808960001916600019168152602001908152602001600020600101819055506000808860001916600019168152602001908152602001600020600001546124ad888888808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508787808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050506131fb565b14151561256e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260488152602001807f546f74616c2076616c756520746f2062652072656c6561736564206d7573742081526020017f626520657175616c20746f20746865207472616e73616374696f6e206573637281526020017f6f772076616c756500000000000000000000000000000000000000000000000081525060600191505060405180910390fd5b86600019167f688e2a1b34445bcd47b0e11ba2a9c8c4d850a1831b64199b59d1c70e29701545878787876040518080602001806020018381038352878782818152602001925060200280828437820191505083810382528585828181526020019250602002808284378201915050965050505050505060405180910390a250505050505050505050505050565b6000806000846000191660001916815260200190815260200160002060070160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b8873ffffffffffffffffffffffffffffffffffffffff168a73ffffffffffffffffffffffffffffffffffffffff1614151515612711576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f427579657220616e642073656c6c6572206172652073616d650000000000000081525060200191505060405180910390fd5b600084111515612789576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f56616c756520706173736564206973203000000000000000000000000000000081525060200191505060405180910390fd5b60008760ff161180156127a0575060038760ff1611155b151561283a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603d8152602001807f5468726573686f6c642063616e6e6f742062652067726561746572207468616e81526020017f203320616e64206d7573742062652067726561746572207468616e203000000081525060400191505060405180910390fd5b60018760ff1614806128795750600073ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff1614155b1515612939576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260488152602001807f456974686572207468726573686f6c642073686f756c642062652031206f722081526020017f76616c6964206d6f64657261746f7220616464726573732073686f756c64206281526020017f652070617373656400000000000000000000000000000000000000000000000081525060600191505060405180910390fd5b6129488388888d8d8d87610e02565b6000191685600019161415156129ec576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260398152602001807f43616c63756c6174656420736372697074206861736820646f6573206e6f742081526020017f6d61746368207061737365642073637269707420686173682e0000000000000081525060400191505060405180910390fd5b6101406040519081016040528085815260200142815260200160006001811115612a1257fe5b8152602001836001811115612a2357fe5b81526020018860ff1681526020018763ffffffff1681526020018b73ffffffffffffffffffffffffffffffffffffffff1681526020018a73ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020018973ffffffffffffffffffffffffffffffffffffffff168152506000808760001916600019168152602001908152602001600020600082015181600001556020820151816001015560408201518160020160006101000a81548160ff02191690836001811115612afd57fe5b021790555060608201518160020160016101000a81548160ff02191690836001811115612b2657fe5b021790555060808201518160020160026101000a81548160ff021916908360ff16021790555060a08201518160020160036101000a81548163ffffffff021916908363ffffffff16021790555060c08201518160020160076101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060e08201518160030160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506101008201518160040160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506101208201518160050160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055509050506001600080876000191660001916815260200190815260200160002060060160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600080876000191660001916815260200190815260200160002060060160008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600080866000191660001916815260200190815260200160002060060160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151515612e7d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f456974686572206275796572206f722073656c6c65722069732070617373656481526020017f206173206d6f64657261746f720000000000000000000000000000000000000081525060400191505060405180910390fd5b60018760ff161115612efd576001600080876000191660001916815260200190815260200160002060060160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b600160008154809291906001019190505550600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020859080600181540180825580915050906001820390600052602060002001600090919290919091509060001916905550600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002085908060018154018082558091505090600182039060005260206000200160009091929091909150906000191690555050505050505050505050565b600080828401905083811015151561301057600080fd5b8091505092915050565b60008061302b888888888888613b53565b9150613081600080876000191660001916815260200190815260200160002060020160039054906101000a900463ffffffff166000808860001916600019168152602001908152602001600020600101546141cc565b9050600080866000191660001916815260200190815260200160002060020160029054906101000a900460ff1660ff16885110801561313257508015806131315750600080866000191660001916815260200190815260200160002060030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b5b156131f1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260588152602001807f4d696e696d756d206e756d626572206f66207369676e6174757265732061726581526020017f206e6f7420636f6c6c656374656420616e642074696d65206c6f636b2065787081526020017f69727920636f6e646974696f6e73206e6f74206d65742121000000000000000081525060600191505060405180910390fd5b5050505050505050565b6000806000806000806000808a600019166000191681526020019081526020016000209450600093506000600181111561323157fe5b8560020160019054906101000a900460ff16600181111561324e57fe5b141561361d57600092505b875183101561361857600073ffffffffffffffffffffffffffffffffffffffff16888481518110151561328857fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1614151515613344576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001807f7a65726f2061646472657373206973206e6f7420616c6c6f776564206173206481526020017f657374696e6174696f6e2061646472657373000000000000000000000000000081525060400191505060405180910390fd5b846006016000898581518110151561335857fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515613444576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c8152602001807f44657374696e6174696f6e2061646472657373206973206e6f74206f6e65206f81526020017f6620746865206f776e657273000000000000000000000000000000000000000081525060400191505060405180910390fd5b6000878481518110151561345457fe5b906020019060200201511115156134f9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001807f416d6f756e7420746f2062652073656e742073686f756c64206265206772656181526020017f746572207468616e20300000000000000000000000000000000000000000000081525060400191505060405180910390fd5b613523878481518110151561350a57fe5b9060200190602002015185612ff990919063ffffffff16565b935060018560080160008a8681518110151561353b57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555087838151811015156135a457fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff166108fc88858151811015156135d557fe5b906020019060200201519081150290604051600060405180830381858888f1935050505015801561360a573d6000803e3d6000fd5b508280600101935050613259565b613b44565b60018081111561362957fe5b8560020160019054906101000a900460ff16600181111561364657fe5b1415613b43578460040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169150600090505b8751811015613b4257600073ffffffffffffffffffffffffffffffffffffffff1688828151811015156136a757fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1614151515613763576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001807f7a65726f2061646472657373206973206e6f7420616c6c6f776564206173206481526020017f657374696e6174696f6e2061646472657373000000000000000000000000000081525060400191505060405180910390fd5b846006016000898381518110151561377757fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515613863576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c8152602001807f44657374696e6174696f6e2061646472657373206973206e6f74206f6e65206f81526020017f6620746865206f776e657273000000000000000000000000000000000000000081525060400191505060405180910390fd5b6000878281518110151561387357fe5b90602001906020020151111515613918576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001807f416d6f756e7420746f2062652073656e742073686f756c64206265206772656181526020017f746572207468616e20300000000000000000000000000000000000000000000081525060400191505060405180910390fd5b613942878281518110151561392957fe5b9060200190602002015185612ff990919063ffffffff16565b935060018560080160008a8481518110151561395a57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb89838151811015156139df57fe5b9060200190602002015189848151811015156139f757fe5b906020019060200201516040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015613a8657600080fd5b505af1158015613a9a573d6000803e3d6000fd5b505050506040513d6020811015613ab057600080fd5b81019080805190602001909291905050501515613b35576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f546f6b656e207472616e73666572206661696c65642e0000000000000000000081525060200191505060405180910390fd5b8080600101915050613678565b5b5b83955050505050509392505050565b600080600080600088518a51148015613b6d57508a518a51145b1515613be1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f522c532c56206c656e677468206d69736d617463682e0000000000000000000081525060200191505060405180910390fd5b60197f01000000000000000000000000000000000000000000000000000000000000000260007f0100000000000000000000000000000000000000000000000000000000000000023089898c60405160200180877effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168152600101867effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526001018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401848051906020019060200280838360005b83811015613d35578082015181840152602081019050613d1a565b50505050905001838051906020019060200280838360005b83811015613d68578082015181840152602081019050613d4d565b50505050905001826000191660001916815260200196505050505050506040516020818303038152906040526040518082805190602001908083835b602083101515613dc95780518252602082019150602081019050602083039250613da4565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902060405160200180807f19457468657265756d205369676e6564204d6573736167653a0a333200000000815250601c0182600019166000191681526020019150506040516020818303038152906040526040518082805190602001908083835b602083101515613e7a5780518252602082019150602081019050602083039250613e55565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390209250600091505b89518210156141bb576001838c84815181101515613ec857fe5b906020019060200201518c85815181101515613ee057fe5b906020019060200201518c86815181101515613ef857fe5b90602001906020020151604051600081526020016040526040518085600019166000191681526020018460ff1660ff1681526020018360001916600019168152602001826000191660001916815260200194505050505060206040516020810390808403906000865af1158015613f73573d6000803e3d6000fd5b505050602060405103519050600080896000191660001916815260200190815260200160002060060160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151561405b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f496e76616c6964207369676e617475726500000000000000000000000000000081525060200191505060405180910390fd5b600080896000191660001916815260200190815260200160002060070160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151515614138576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f53616d65207369676e61747572652073656e742074776963650000000000000081525060200191505060405180910390fd5b60016000808a6000191660001916815260200190815260200160002060070160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508093508180600101925050613eae565b839450505050509695505050505050565b6000806141e2834261422090919063ffffffff16565b905060008463ffffffff16146142145761420d610e108563ffffffff1661424190919063ffffffff16565b8111614217565b60005b91505092915050565b60008083831115151561423257600080fd5b82840390508091505092915050565b60008060008414156142565760009150614278565b828402905082848281151561426757fe5b0414151561427457600080fd5b8091505b50929150505600a165627a7a723058205874ebc0f046d887d84c5cc9698020804c01fbbce14192c6a75b0585b1ffbe520029", + "deployedBytecode": "0x6080604052600436106100af576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806323b6fd3f146100b45780632d9ef96e1461016e57806346fbcdeb1461019257806357bced7614610287578063642f2eaf14610378578063b0550c66146104da578063b719e28014610543578063b77bf6001461057e578063be84ceaf146105a9578063e4ec8b0014610641578063f0786562146106ea575b600080fd5b61016c600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff169060200190929190803563ffffffff169060200190929190803560001916906020019092919080356bffffffffffffffffffffffff19169060200190929190505050610753565b005b61019060048036038101908080356000191690602001909291905050506109a7565b005b34801561019e57600080fd5b5061026960048036038101908080356bffffffffffffffffffffffff19169060200190929190803560ff169060200190929190803563ffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610e02565b60405180826000191660001916815260200191505060405180910390f35b34801561029357600080fd5b50610376600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff169060200190929190803563ffffffff16906020019092919080356000191690602001909291908035906020019092919080356bffffffffffffffffffffffff19169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506112ae565b005b34801561038457600080fd5b506103a76004803603810190808035600019169060200190929190505050611783565b604051808b81526020018a81526020018960018111156103c357fe5b60ff1681526020018860018111156103d757fe5b60ff1681526020018760ff1660ff1681526020018663ffffffff1663ffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019a505050505050505050505060405180910390f35b3480156104e657600080fd5b506105296004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061188e565b604051808215151515815260200191505060405180910390f35b34801561054f57600080fd5b5061057c600480360381019080803560001916906020019092919080359060200190929190505050611900565b005b34801561058a57600080fd5b50610593611f71565b6040518082815260200191505060405180910390f35b3480156105b557600080fd5b506105ea600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611f77565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b8381101561062d578082015181840152602081019050610612565b505050509050019250505060405180910390f35b34801561064d57600080fd5b506106e86004803603810190808035906020019082018035906020019190919293919293908035906020019082018035906020019190919293919293908035906020019082018035906020019190919293919293908035600019169060200190929190803590602001908201803590602001919091929391929390803590602001908201803590602001919091929391929390505050612012565b005b3480156106f657600080fd5b506107396004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506125fb565b604051808215151515815260200191505060405180910390f35b8160008060008360001916600019168152602001908152602001600020600001541415156107e9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f5472616e73616374696f6e20657869737400000000000000000000000000000081525060200191505060405180910390fd5b87600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561088f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b87600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610935576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b6109488a8a8a8a8a8a348b60008061266d565b3373ffffffffffffffffffffffffffffffffffffffff1685600019167fce7089d0668849fb9ca29778c0cbf1e764d9efb048d81fd71fb34c94f26db368346040518082815260200191505060405180910390a350505050505050505050565b80600080600083600019166000191681526020019081526020016000206000015414151515610a3e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737400000000000081525060200191505060405180910390fd5b8160006001811115610a4c57fe5b600080836000191660001916815260200190815260200160002060020160009054906101000a900460ff166001811115610a8257fe5b141515610b1d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001807f5472616e73616374696f6e206973206e6f7420696e2046554e4445442073746181526020017f746500000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b826000806001811115610b2c57fe5b600080846000191660001916815260200190815260200160002060020160019054906101000a900460ff166001811115610b6257fe5b141515610bd7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5472616e73616374696f6e207479706520646f6573206e6f74206d617463680081525060200191505060405180910390fd5b84600080826000191660001916815260200190815260200160002060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610cde576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f54686520696e69746961746f72206f6620746865207472616e73616374696f6e81526020017f206973206e6f742062757965720000000000000000000000000000000000000081525060400191505060405180910390fd5b600034111515610d56576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f56616c7565206d7573742062652067726561746572207468616e207a65726f2e81525060200191505060405180910390fd5b610d8634600080896000191660001916815260200190815260200160002060000154612ff990919063ffffffff16565b6000808860001916600019168152602001908152602001600020600001819055503373ffffffffffffffffffffffffffffffffffffffff1686600019167ff66fd2ae9e24a6a24b02e1b5b7512ffde5149a4176085fc0298ae228c9b9d729346040518082815260200191505060405180910390a3505050505050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561104e578787878787873060405160200180886bffffffffffffffffffffffff19166bffffffffffffffffffffffff191681526014018760ff1660ff167f01000000000000000000000000000000000000000000000000000000000000000281526001018663ffffffff1663ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014019750505050505050506040516020818303038152906040526040518082805190602001908083835b60208310151561101a5780518252602082019150602081019050602083039250610ff5565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902090506112a3565b878787878787308860405160200180896bffffffffffffffffffffffff19166bffffffffffffffffffffffff191681526014018860ff1660ff167f01000000000000000000000000000000000000000000000000000000000000000281526001018763ffffffff1663ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401985050505050505050506040516020818303038152906040526040518082805190602001908083835b602083101515611273578051825260208201915060208101905060208303925061124e565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902090505b979650505050505050565b6000846000806000836000191660001916815260200190815260200160002060000154141515611346576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f5472616e73616374696f6e20657869737400000000000000000000000000000081525060200191505060405180910390fd5b8a600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156113ec576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b8a600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515611492576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b84600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515611538576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f5a65726f2061646472657373207061737365640000000000000000000000000081525060200191505060405180910390fd5b61154b8e8e8e8e8e8e8e8e60018f61266d565b8594508473ffffffffffffffffffffffffffffffffffffffff166323b872dd33308b6040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b15801561162557600080fd5b505af1158015611639573d6000803e3d6000fd5b505050506040513d602081101561164f57600080fd5b81019080805190602001909291905050501515611720576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252605d8152602001807f546f6b656e207472616e73666572206661696c65642c206d6179626520796f7581526020017f20646964206e6f7420617070726f766520657363726f7720636f6e747261637481526020017f20746f207370656e64206f6e20626568616c66206f662073656e64657200000081525060600191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff1689600019167fce7089d0668849fb9ca29778c0cbf1e764d9efb048d81fd71fb34c94f26db3688a6040518082815260200191505060405180910390a35050505050505050505050505050565b60006020528060005260406000206000915090508060000154908060010154908060020160009054906101000a900460ff16908060020160019054906101000a900460ff16908060020160029054906101000a900460ff16908060020160039054906101000a900463ffffffff16908060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060050160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508a565b6000806000846000191660001916815260200190815260200160002060080160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b600082600080600083600019166000191681526020019081526020016000206000015414151515611999576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737400000000000081525060200191505060405180910390fd5b83600060018111156119a757fe5b600080836000191660001916815260200190815260200160002060020160009054906101000a900460ff1660018111156119dd57fe5b141515611a78576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001807f5472616e73616374696f6e206973206e6f7420696e2046554e4445442073746181526020017f746500000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b846001806001811115611a8757fe5b600080846000191660001916815260200190815260200160002060020160019054906101000a900460ff166001811115611abd57fe5b141515611b32576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5472616e73616374696f6e207479706520646f6573206e6f74206d617463680081525060200191505060405180910390fd5b86600080826000191660001916815260200190815260200160002060020160079054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611c39576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f54686520696e69746961746f72206f6620746865207472616e73616374696f6e81526020017f206973206e6f742062757965720000000000000000000000000000000000000081525060400191505060405180910390fd5b600087111515611cb1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f56616c7565206d7573742062652067726561746572207468616e207a65726f2e81525060200191505060405180910390fd5b600080896000191660001916815260200190815260200160002060040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1695508573ffffffffffffffffffffffffffffffffffffffff166323b872dd33308a6040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b158015611dc857600080fd5b505af1158015611ddc573d6000803e3d6000fd5b505050506040513d6020811015611df257600080fd5b81019080805190602001909291905050501515611ec3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252605c8152602001807f546f6b656e207472616e73666572206661696c65642c206d6179626520796f7581526020017f20646964206e6f7420617070726f766520657363726f7720636f6e747261637481526020017f20746f207370656e64206f6e20626568616c66206f662062757965720000000081525060600191505060405180910390fd5b611ef3876000808b6000191660001916815260200190815260200160002060000154612ff990919063ffffffff16565b6000808a60001916600019168152602001908152602001600020600001819055503373ffffffffffffffffffffffffffffffffffffffff1688600019167ff66fd2ae9e24a6a24b02e1b5b7512ffde5149a4176085fc0298ae228c9b9d729896040518082815260200191505060405180910390a35050505050505050565b60015481565b6060600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080548060200260200160405190810160405280929190818152602001828054801561200657602002820191906000526020600020905b81546000191681526020019060010190808311611fee575b50505050509050919050565b846000806000836000191660001916815260200190815260200160002060000154141515156120a9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f5472616e73616374696f6e20646f6573206e6f7420657869737400000000000081525060200191505060405180910390fd5b85600060018111156120b757fe5b600080836000191660001916815260200190815260200160002060020160009054906101000a900460ff1660018111156120ed57fe5b141515612188576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001807f5472616e73616374696f6e206973206e6f7420696e2046554e4445442073746181526020017f746500000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b600086869050111515612229576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f4e756d626572206f662064657374696e6174696f6e73206d757374206265206781526020017f726561746572207468616e20300000000000000000000000000000000000000081525060400191505060405180910390fd5b83839050868690501415156122cc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260378152602001807f4e756d626572206f662064657374696e6174696f6e73206d757374206d61746381526020017f68206e756d626572206f662076616c7565732073656e7400000000000000000081525060400191505060405180910390fd5b6123c58d8d808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508c8c808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508b8b808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508a8a8a8080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505089898080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505061301a565b6001600080896000191660001916815260200190815260200160002060020160006101000a81548160ff021916908360018111156123ff57fe5b0217905550426000808960001916600019168152602001908152602001600020600101819055506000808860001916600019168152602001908152602001600020600001546124ad888888808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508787808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050506131fb565b14151561256e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260488152602001807f546f74616c2076616c756520746f2062652072656c6561736564206d7573742081526020017f626520657175616c20746f20746865207472616e73616374696f6e206573637281526020017f6f772076616c756500000000000000000000000000000000000000000000000081525060600191505060405180910390fd5b86600019167f688e2a1b34445bcd47b0e11ba2a9c8c4d850a1831b64199b59d1c70e29701545878787876040518080602001806020018381038352878782818152602001925060200280828437820191505083810382528585828181526020019250602002808284378201915050965050505050505060405180910390a250505050505050505050505050565b6000806000846000191660001916815260200190815260200160002060070160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b8873ffffffffffffffffffffffffffffffffffffffff168a73ffffffffffffffffffffffffffffffffffffffff1614151515612711576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f427579657220616e642073656c6c6572206172652073616d650000000000000081525060200191505060405180910390fd5b600084111515612789576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f56616c756520706173736564206973203000000000000000000000000000000081525060200191505060405180910390fd5b60008760ff161180156127a0575060038760ff1611155b151561283a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603d8152602001807f5468726573686f6c642063616e6e6f742062652067726561746572207468616e81526020017f203320616e64206d7573742062652067726561746572207468616e203000000081525060400191505060405180910390fd5b60018760ff1614806128795750600073ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff1614155b1515612939576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260488152602001807f456974686572207468726573686f6c642073686f756c642062652031206f722081526020017f76616c6964206d6f64657261746f7220616464726573732073686f756c64206281526020017f652070617373656400000000000000000000000000000000000000000000000081525060600191505060405180910390fd5b6129488388888d8d8d87610e02565b6000191685600019161415156129ec576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260398152602001807f43616c63756c6174656420736372697074206861736820646f6573206e6f742081526020017f6d61746368207061737365642073637269707420686173682e0000000000000081525060400191505060405180910390fd5b6101406040519081016040528085815260200142815260200160006001811115612a1257fe5b8152602001836001811115612a2357fe5b81526020018860ff1681526020018763ffffffff1681526020018b73ffffffffffffffffffffffffffffffffffffffff1681526020018a73ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020018973ffffffffffffffffffffffffffffffffffffffff168152506000808760001916600019168152602001908152602001600020600082015181600001556020820151816001015560408201518160020160006101000a81548160ff02191690836001811115612afd57fe5b021790555060608201518160020160016101000a81548160ff02191690836001811115612b2657fe5b021790555060808201518160020160026101000a81548160ff021916908360ff16021790555060a08201518160020160036101000a81548163ffffffff021916908363ffffffff16021790555060c08201518160020160076101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060e08201518160030160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506101008201518160040160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506101208201518160050160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055509050506001600080876000191660001916815260200190815260200160002060060160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600080876000191660001916815260200190815260200160002060060160008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600080866000191660001916815260200190815260200160002060060160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151515612e7d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f456974686572206275796572206f722073656c6c65722069732070617373656481526020017f206173206d6f64657261746f720000000000000000000000000000000000000081525060400191505060405180910390fd5b60018760ff161115612efd576001600080876000191660001916815260200190815260200160002060060160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b600160008154809291906001019190505550600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020859080600181540180825580915050906001820390600052602060002001600090919290919091509060001916905550600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002085908060018154018082558091505090600182039060005260206000200160009091929091909150906000191690555050505050505050505050565b600080828401905083811015151561301057600080fd5b8091505092915050565b60008061302b888888888888613b53565b9150613081600080876000191660001916815260200190815260200160002060020160039054906101000a900463ffffffff166000808860001916600019168152602001908152602001600020600101546141cc565b9050600080866000191660001916815260200190815260200160002060020160029054906101000a900460ff1660ff16885110801561313257508015806131315750600080866000191660001916815260200190815260200160002060030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b5b156131f1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260588152602001807f4d696e696d756d206e756d626572206f66207369676e6174757265732061726581526020017f206e6f7420636f6c6c656374656420616e642074696d65206c6f636b2065787081526020017f69727920636f6e646974696f6e73206e6f74206d65742121000000000000000081525060600191505060405180910390fd5b5050505050505050565b6000806000806000806000808a600019166000191681526020019081526020016000209450600093506000600181111561323157fe5b8560020160019054906101000a900460ff16600181111561324e57fe5b141561361d57600092505b875183101561361857600073ffffffffffffffffffffffffffffffffffffffff16888481518110151561328857fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1614151515613344576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001807f7a65726f2061646472657373206973206e6f7420616c6c6f776564206173206481526020017f657374696e6174696f6e2061646472657373000000000000000000000000000081525060400191505060405180910390fd5b846006016000898581518110151561335857fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515613444576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c8152602001807f44657374696e6174696f6e2061646472657373206973206e6f74206f6e65206f81526020017f6620746865206f776e657273000000000000000000000000000000000000000081525060400191505060405180910390fd5b6000878481518110151561345457fe5b906020019060200201511115156134f9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001807f416d6f756e7420746f2062652073656e742073686f756c64206265206772656181526020017f746572207468616e20300000000000000000000000000000000000000000000081525060400191505060405180910390fd5b613523878481518110151561350a57fe5b9060200190602002015185612ff990919063ffffffff16565b935060018560080160008a8681518110151561353b57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555087838151811015156135a457fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff166108fc88858151811015156135d557fe5b906020019060200201519081150290604051600060405180830381858888f1935050505015801561360a573d6000803e3d6000fd5b508280600101935050613259565b613b44565b60018081111561362957fe5b8560020160019054906101000a900460ff16600181111561364657fe5b1415613b43578460040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169150600090505b8751811015613b4257600073ffffffffffffffffffffffffffffffffffffffff1688828151811015156136a757fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1614151515613763576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001807f7a65726f2061646472657373206973206e6f7420616c6c6f776564206173206481526020017f657374696e6174696f6e2061646472657373000000000000000000000000000081525060400191505060405180910390fd5b846006016000898381518110151561377757fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515613863576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c8152602001807f44657374696e6174696f6e2061646472657373206973206e6f74206f6e65206f81526020017f6620746865206f776e657273000000000000000000000000000000000000000081525060400191505060405180910390fd5b6000878281518110151561387357fe5b90602001906020020151111515613918576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001807f416d6f756e7420746f2062652073656e742073686f756c64206265206772656181526020017f746572207468616e20300000000000000000000000000000000000000000000081525060400191505060405180910390fd5b613942878281518110151561392957fe5b9060200190602002015185612ff990919063ffffffff16565b935060018560080160008a8481518110151561395a57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb89838151811015156139df57fe5b9060200190602002015189848151811015156139f757fe5b906020019060200201516040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015613a8657600080fd5b505af1158015613a9a573d6000803e3d6000fd5b505050506040513d6020811015613ab057600080fd5b81019080805190602001909291905050501515613b35576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f546f6b656e207472616e73666572206661696c65642e0000000000000000000081525060200191505060405180910390fd5b8080600101915050613678565b5b5b83955050505050509392505050565b600080600080600088518a51148015613b6d57508a518a51145b1515613be1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f522c532c56206c656e677468206d69736d617463682e0000000000000000000081525060200191505060405180910390fd5b60197f01000000000000000000000000000000000000000000000000000000000000000260007f0100000000000000000000000000000000000000000000000000000000000000023089898c60405160200180877effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168152600101867effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526001018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401848051906020019060200280838360005b83811015613d35578082015181840152602081019050613d1a565b50505050905001838051906020019060200280838360005b83811015613d68578082015181840152602081019050613d4d565b50505050905001826000191660001916815260200196505050505050506040516020818303038152906040526040518082805190602001908083835b602083101515613dc95780518252602082019150602081019050602083039250613da4565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902060405160200180807f19457468657265756d205369676e6564204d6573736167653a0a333200000000815250601c0182600019166000191681526020019150506040516020818303038152906040526040518082805190602001908083835b602083101515613e7a5780518252602082019150602081019050602083039250613e55565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390209250600091505b89518210156141bb576001838c84815181101515613ec857fe5b906020019060200201518c85815181101515613ee057fe5b906020019060200201518c86815181101515613ef857fe5b90602001906020020151604051600081526020016040526040518085600019166000191681526020018460ff1660ff1681526020018360001916600019168152602001826000191660001916815260200194505050505060206040516020810390808403906000865af1158015613f73573d6000803e3d6000fd5b505050602060405103519050600080896000191660001916815260200190815260200160002060060160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151561405b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f496e76616c6964207369676e617475726500000000000000000000000000000081525060200191505060405180910390fd5b600080896000191660001916815260200190815260200160002060070160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151515614138576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f53616d65207369676e61747572652073656e742074776963650000000000000081525060200191505060405180910390fd5b60016000808a6000191660001916815260200190815260200160002060070160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508093508180600101925050613eae565b839450505050509695505050505050565b6000806141e2834261422090919063ffffffff16565b905060008463ffffffff16146142145761420d610e108563ffffffff1661424190919063ffffffff16565b8111614217565b60005b91505092915050565b60008083831115151561423257600080fd5b82840390508091505092915050565b60008060008414156142565760009150614278565b828402905082848281151561426757fe5b0414151561427457600080fd5b8091505b50929150505600a165627a7a723058205874ebc0f046d887d84c5cc9698020804c01fbbce14192c6a75b0585b1ffbe520029", + "sourceMap": "605:20413:0:-;;;1800:1;1766:35;;605:20413;8:9:-1;5:2;;;30:1;27;20:12;5:2;605:20413:0;;;;;;;", + "deployedSourceMap": "605:20413:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3861:701;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7763:514;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12051:1017;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12051:1017:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5510:1030;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5510:1030:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1708:51;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1708:51:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6781:221;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6781:221:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8605:812;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8605:812:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1766:35;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1766:35:0;;;;;;;;;;;;;;;;;;;;;;;9534:194;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9534:194:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;9534:194:0;;;;;;;;;;;;;;;;;10326:1204;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10326:1204:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7242:194;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7242:194:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3861:701;4138:10;2224:1;2190:12;:24;2203:10;2190:24;;;;;;;;;;;;;;;;;:30;;;:35;2182:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4173:5;2557:1;2531:28;;:14;:28;;;;2523:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4203:6;2557:1;2531:28;;:14;:28;;;;2523:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4225:264;4254:5;4273:6;4293:9;4316;4339:12;4365:10;4389:9;4412:8;4434:21;4477:1;4225:15;:264::i;:::-;4532:10;4513:41;;4520:10;4513:41;;;;4544:9;4513:41;;;;;;;;;;;;;;;;;;2593:1;2257;3861:701;;;;;;;;:::o;7763:514::-;7886:10;2054:1;2020:12;:24;2033:10;2020:24;;;;;;;;;;;;;;;;;:30;;;:35;;1999:96;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7920:10;2380:13;2345:48;;;;;;;;:12;:24;2358:10;2345:24;;;;;;;;;;;;;;;;;:31;;;;;;;;;;;;:48;;;;;;;;;2324:117;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7961:10;7973:21;2791:15;2747:59;;;;;;;;:12;:24;2760:10;2747:24;;;;;;;;;;;;;;;;;:40;;;;;;;;;;;;:59;;;;;;;;;2726:125;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8014:10;2959:12;:24;2972:10;2959:24;;;;;;;;;;;;;;;;;:30;;;;;;;;;;;;2945:44;;:10;:44;;;2924:124;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8070:1;8058:9;:13;8050:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8152;8200:9;8152:12;:24;8165:10;8152:24;;;;;;;;;;;;;;;;;:30;;;:47;;:58;;;;:::i;:::-;8119:12;:24;8132:10;8119:24;;;;;;;;;;;;;;;;;:30;;:91;;;;8248:10;8226:44;;8236:10;8226:44;;;;8260:9;8226:44;;;;;;;;;;;;;;;;;;2861:1;2451;;2105;7763:514;;:::o;12051:1017::-;12321:7;12372:1;12348:26;;:12;:26;;;12344:718;;;12462:8;12492:9;12523:12;12557:5;12584:6;12612:9;12651:4;12424:250;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;12424:250:0;;;12397:291;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;12397:291:0;;;;;;;;;;;;;;;;12390:298;;;;12344:718;12791:8;12821:9;12852:12;12886:5;12913:6;12941:9;12980:4;13007:12;12753:284;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;12753:284:0;;;12726:325;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;12726:325:0;;;;;;;;;;;;;;;;12719:332;;12051:1017;;;;;;;;;;:::o;5510:1030::-;6227:20;5829:10;2224:1;2190:12;:24;2203:10;2190:24;;;;;;;;;;;;;;;;;:30;;;:35;2182:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5864:5;2557:1;2531:28;;:14;:28;;;;2523:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5894:6;2557:1;2531:28;;:14;:28;;;;2523:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5925:12;2557:1;2531:28;;:14;:28;;;;2523:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5954:262;5983:5;6002:6;6022:9;6045;6068:12;6094:10;6118:5;6137:8;6159:21;6194:12;5954:15;:262::i;:::-;6265:12;6227:51;;6310:5;:18;;;6329:10;6349:4;6356:5;6310:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6310:52:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6310:52:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6310:52:0;;;;;;;;;;;;;;;;6289:192;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6515:10;6496:37;;6503:10;6496:37;;;;6527:5;6496:37;;;;;;;;;;;;;;;;;;2593:1;;2257;5510:1030;;;;;;;;;;;:::o;1708:51::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;6781:221::-;6917:4;6944:12;:24;6957:10;6944:24;;;;;;;;;;;;;;;;;:38;;:51;6983:11;6944:51;;;;;;;;;;;;;;;;;;;;;;;;;6937:58;;6781:221;;;;:::o;8605:812::-;8956:20;8736:10;2054:1;2020:12;:24;2033:10;2020:24;;;;;;;;;;;;;;;;;:30;;;:35;;1999:96;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8770:10;2380:13;2345:48;;;;;;;;:12;:24;2358:10;2345:24;;;;;;;;;;;;;;;;;:31;;;;;;;;;;;;:48;;;;;;;;;2324:117;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8811:10;8823:21;2791:15;2747:59;;;;;;;;:12;:24;2760:10;2747:24;;;;;;;;;;;;;;;;;:40;;;;;;;;;;;;:59;;;;;;;;;2726:125;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8864:10;2959:12;:24;2972:10;2959:24;;;;;;;;;;;;;;;;;:30;;;;;;;;;;;;2945:44;;:10;:44;;;2924:124;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8907:1;8899:5;:9;8891:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9007:12;:24;9020:10;9007:24;;;;;;;;;;;;;;;;;:37;;;;;;;;;;;;8956:98;;9086:5;:18;;;9105:10;9125:4;9132:5;9086:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9086:52:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9086:52:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;9086:52:0;;;;;;;;;;;;;;;;9065:191;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9300:54;9348:5;9300:12;:24;9313:10;9300:24;;;;;;;;;;;;;;;;;:30;;;:47;;:54;;;;:::i;:::-;9267:12;:24;9280:10;9267:24;;;;;;;;;;;;;;;;;:30;;:87;;;;9392:10;9370:40;;9380:10;9370:40;;;;9404:5;9370:40;;;;;;;;;;;;;;;;;;2861:1;2451;;2105;8605:812;;;;:::o;1766:35::-;;;;:::o;9534:194::-;9656:9;9689:18;:32;9708:12;9689:32;;;;;;;;;;;;;;;9682:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9534:194;;;:::o;10326:1204::-;10548:10;2054:1;2020:12;:24;2033:10;2020:24;;;;;;;;;;;;;;;;;:30;;;:35;;1999:96;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10582:10;2380:13;2345:48;;;;;;;;:12;:24;2358:10;2345:24;;;;;;;;;;;;;;;;;:31;;;;;;;;;;;;:48;;;;;;;;;2324:117;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10652:1;10632:12;;:19;;:21;10611:114;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10779:7;;:14;;10756:12;;:19;;:37;10735:139;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10892:153;10924:4;;10892:153;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10942:4;;10892:153;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10960:4;;10892:153;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10978:10;11002:12;;10892:153;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11028:7;;10892:153;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:18;:153::i;:::-;11090:15;11056:12;:24;11069:10;11056:24;;;;;;;;;;;;;;;;;:31;;;:49;;;;;;;;;;;;;;;;;;;;;;;;11229:15;11189:12;:24;11202:10;11189:24;;;;;;;;;;;;;;;;;:37;;:55;;;;11328:12;:24;11341:10;11328:24;;;;;;;;;;;;;;;;;:30;;;11275:49;11290:10;11302:12;;11275:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11316:7;;11275:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:14;:49::i;:::-;:83;11254:202;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11489:10;11480:43;;;;11501:12;;11515:7;;11480:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2105:1;10326:1204;;;;;;;;;;;;:::o;7242:194::-;7365:4;7392:12;:24;7405:10;7392:24;;;;;;;;;;;;;;;;;:30;;:37;7423:5;7392:37;;;;;;;;;;;;;;;;;;;;;;;;;7385:44;;7242:194;;;;:::o;18375:2641::-;18737:6;18728:15;;:5;:15;;;;18720:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18848:1;18840:5;:9;18832:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18986:1;18974:9;:13;;;:31;;;;;19004:1;18991:9;:14;;;;18974:31;18953:140;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19387:1;19374:9;:14;;;:41;;;;19413:1;19392:23;;:9;:23;;;;19374:41;19353:160;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19559:226;19602:8;19628:9;19655:12;19685:5;19708:6;19732:9;19759:12;19559:25;:226::i;:::-;19545:240;;;:10;:240;;;;19524:345;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19907:373;;;;;;;;;20028:5;19907:373;;;;20096:15;19907:373;;;;20055:13;19907:373;;;;;;;;;;;;20215:15;19907:373;;;;;;;;;;;;20136:9;19907:373;;;;;;20173:12;19907:373;;;;;;19940:5;19907:373;;;;;;19967:6;19907:373;;;;;;20257:12;19907:373;;;;;;19998:9;19907:373;;;;;19880:12;:24;19893:10;19880:24;;;;;;;;;;;;;;;;;:400;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20334:4;20291:12;:24;20304:10;20291:24;;;;;;;;;;;;;;;;;:32;;:40;20324:6;20291:40;;;;;;;;;;;;;;;;:47;;;;;;;;;;;;;;;;;;20390:4;20348:12;:24;20361:10;20348:24;;;;;;;;;;;;;;;;;:32;;:39;20381:5;20348:39;;;;;;;;;;;;;;;;:46;;;;;;;;;;;;;;;;;;20502:12;:24;20515:10;20502:24;;;;;;;;;;;;;;;;;:32;;:43;20535:9;20502:43;;;;;;;;;;;;;;;;;;;;;;;;;20501:44;20480:137;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20789:1;20777:9;:13;;;20773:94;;;20852:4;20806:12;:24;20819:10;20806:24;;;;;;;;;;;;;;;;;:32;;:43;20839:9;20806:43;;;;;;;;;;;;;;;;:50;;;;;;;;;;;;;;;;;;20773:94;20885:16;;:18;;;;;;;;;;;;;20914;:25;20933:5;20914:25;;;;;;;;;;;;;;;20945:10;20914:42;;39:1:-1;33:3;27:10;23:18;57:10;52:3;45:23;79:10;72:17;;0:93;20914:42:0;;;;;;;;;;;;;;;;;;;;;;;;;;;20966:18;:26;20985:6;20966:26;;;;;;;;;;;;;;;20998:10;20966:43;;39:1:-1;33:3;27:10;23:18;57:10;52:3;45:23;79:10;72:17;;0:93;20966:43:0;;;;;;;;;;;;;;;;;;;;;;;;;;;18375:2641;;;;;;;;;;:::o;1272:131:2:-;1330:7;1345:9;1361:1;1357;:5;1345:17;;1381:1;1376;:6;;1368:15;;;;;;;;1397:1;1390:8;;1272:131;;;;;:::o;13342:1008:0:-;13563:21;13750:20;13587:152;13618:4;13636;13654;13672:10;13696:12;13722:7;13587:17;:152::i;:::-;13563:176;;13773:130;13805:12;:24;13818:10;13805:24;;;;;;;;;;;;;;;;;:37;;;;;;;;;;;;13856:12;:24;13869:10;13856:24;;;;;;;;;;;;;;;;;:37;;;13773:18;:130::i;:::-;13750:153;;14089:12;:24;14102:10;14089:24;;;;;;;;;;;;;;;;;:34;;;;;;;;;;;;14075:48;;:4;:11;:48;:122;;;;;14129:15;14128:16;:68;;;;14165:12;:24;14178:10;14165:24;;;;;;;;;;;;;;;;;:31;;;;;;;;;;;;14148:48;;:13;:48;;;;14128:68;14075:122;14054:289;;;14234:98;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14054:289;13342:1008;;;;;;;;:::o;14476:1723::-;14624:7;14647:21;14706:24;14812:9;15464:20;15537:9;14671:12;:24;14684:10;14671:24;;;;;;;;;;;;;;;;;14647:48;;14733:1;14706:28;;14770:21;14749:42;;;;;;;;:1;:17;;;;;;;;;;;;:42;;;;;;;;;14745:1414;;;14824:1;14812:13;;14807:577;14831:12;:19;14827:1;:23;14807:577;;;14911:1;14884:29;;:12;14897:1;14884:15;;;;;;;;;;;;;;;;;;:29;;;;14876:92;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14995:1;:9;;:26;15005:12;15018:1;15005:15;;;;;;;;;;;;;;;;;;14995:26;;;;;;;;;;;;;;;;;;;;;;;;;14987:83;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15110:1;15097:7;15105:1;15097:10;;;;;;;;;;;;;;;;;;:14;15089:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15196:32;15217:7;15225:1;15217:10;;;;;;;;;;;;;;;;;;15196:16;:20;;:32;;;;:::i;:::-;15177:51;;15282:4;15247:1;:15;;:32;15263:12;15276:1;15263:15;;;;;;;;;;;;;;;;;;15247:32;;;;;;;;;;;;;;;;:39;;;;;;;;;;;;;;;;;;15333:12;15346:1;15333:15;;;;;;;;;;;;;;;;;;:24;;:36;15358:7;15366:1;15358:10;;;;;;;;;;;;;;;;;;15333:36;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;15333:36:0;14852:3;;;;;;;14807:577;;;14745:1414;;;15426:21;15405:42;;;;;;;;:1;:17;;;;;;;;;;;;:42;;;;;;;;;15401:758;;;15502:1;:14;;;;;;;;;;;;15464:53;;15549:1;15537:13;;15532:617;15554:12;:19;15552:1;:21;15532:617;;;15634:1;15607:29;;:12;15620:1;15607:15;;;;;;;;;;;;;;;;;;:29;;;;15599:92;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15718:1;:9;;:26;15728:12;15741:1;15728:15;;;;;;;;;;;;;;;;;;15718:26;;;;;;;;;;;;;;;;;;;;;;;;;15710:83;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15833:1;15820:7;15828:1;15820:10;;;;;;;;;;;;;;;;;;:14;15812:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15919:32;15940:7;15948:1;15940:10;;;;;;;;;;;;;;;;;;15919:16;:20;;:32;;;;:::i;:::-;15900:51;;16004:4;15969:1;:15;;:32;15985:12;15998:1;15985:15;;;;;;;;;;;;;;;;;;15969:32;;;;;;;;;;;;;;;;:39;;;;;;;;;;;;;;;;;;16064:5;:14;;;16079:12;16092:1;16079:15;;;;;;;;;;;;;;;;;;16096:7;16104:1;16096:10;;;;;;;;;;;;;;;;;;16064:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;16064:43:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;16064:43:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;16064:43:0;;;;;;;;;;;;;;;;16056:78;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15575:3;;;;;;;15532:617;;;15401:758;14745:1414;16176:16;16169:23;;14476:1723;;;;;;;;;;:::o;16384:1581::-;16606:7;16767:19;16885:14;17353:6;17402:17;16666:4;:11;16651:4;:11;:26;:56;;;;;16696:4;:11;16681:4;:11;:26;16651:56;16630:126;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17089:4;17084:10;;17125:1;17120:7;;17161:4;17192:12;17230:7;17263:10;17042:253;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;17042:253:0;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;17042:253:0;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;17042:253:0;;;17011:302;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;17011:302:0;;;;;;;;;;;;;;;;16925:402;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;16925:402:0;;;16902:435;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;16902:435:0;;;;;;;;;;;;;;;;16885:452;;17362:1;17353:10;;17348:582;17369:4;:11;17365:1;:15;17348:582;;;17422:122;17449:6;17473:4;17478:1;17473:7;;;;;;;;;;;;;;;;;;17498:4;17503:1;17498:7;;;;;;;;;;;;;;;;;;17523:4;17528:1;17523:7;;;;;;;;;;;;;;;;;;17422:122;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;17422:122:0;;;;;;;;17402:142;;17584:12;:24;17597:10;17584:24;;;;;;;;;;;;;;;;;:32;;:43;17617:9;17584:43;;;;;;;;;;;;;;;;;;;;;;;;;17559:120;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17719:12;:24;17732:10;17719:24;;;;;;;;;;;;;;;;;:30;;:41;17750:9;17719:41;;;;;;;;;;;;;;;;;;;;;;;;;17718:42;17693:127;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17878:4;17834:12;:24;17847:10;17834:24;;;;;;;;;;;;;;;;;:30;;:41;17865:9;17834:41;;;;;;;;;;;;;;;;:48;;;;;;;;;;;;;;;;;;17910:9;17896:23;;17382:3;;;;;;;17348:582;;;17947:11;17940:18;;16384:1581;;;;;;;;;;;;:::o;17971:317::-;18110:4;18130:17;18150:21;18158:12;18150:3;:7;;:21;;;;:::i;:::-;18130:41;;18218:1;18202:12;:17;;;:69;;18240:31;18266:4;18248:12;18240:21;;:25;;:31;;;;:::i;:::-;18228:9;:43;18202:69;;;18222:5;18202:69;18181:100;;17971:317;;;;;:::o;1078:131:2:-;1136:7;1172:9;1164:1;1159;:6;;1151:15;;;;;;;;1188:1;1184;:5;1172:17;;1203:1;1196:8;;1078:131;;;;;:::o;204:381::-;262:7;523:9;491:1;486;:6;482:35;;;509:1;502:8;;;;482:35;539:1;535;:5;523:17;;563:1;558;554;:5;;;;;;;;:10;546:19;;;;;;;;579:1;572:8;;204:381;;;;;;:::o", + "source": "pragma solidity 0.4.24;\n\nimport \"openzeppelin-solidity/contracts/math/SafeMath.sol\";\n\nimport \"../token/ITokenContract.sol\";\n\n\n/**\n* @dev Supports ERC20 tokens\n* The escrow smart contract for the open bazaar trades in Ethereum\n* The smart contract is designed keeping in mind the current wallet interface of the OB-core\n* https://github.com/OpenBazaar/wallet-interface/blob/master/wallet.go\n* Current wallet interface strictly adheres to UTXO(bitcoin) model\n* Please read below mentioned link for detailed specs\n* https://github.com/OpenBazaar/smart-contracts/blob/master/contracts/escrow/EscrowSpec.md\n*/\ncontract Escrow_v1_0 {\n\n using SafeMath for uint256;\n\n enum Status {FUNDED, RELEASED}\n\n enum TransactionType {ETHER, TOKEN}\n\n event Executed(\n bytes32 indexed scriptHash,\n address[] destinations,\n uint256[] amounts\n );\n\n event FundAdded(\n bytes32 indexed scriptHash,\n address indexed from,\n uint256 valueAdded\n );\n\n event Funded(\n bytes32 indexed scriptHash, \n address indexed from, \n uint256 value\n );\n\n struct Transaction {\n uint256 value;\n uint256 lastModified;//Time at which tx was last modified in seconds\n Status status;\n TransactionType transactionType;\n uint8 threshold;\n uint32 timeoutHours;\n address buyer;\n address seller;\n address tokenAddress;//Token address in case of token transfer\n address moderator;\n mapping(address=>bool) isOwner;//to keep track of owners.\n mapping(address=>bool) voted;//to keep track of who all voted\n mapping(address=>bool) beneficiaries;//Benefeciaries of execution\n }\n\n mapping(bytes32 => Transaction) public transactions;\n\n uint256 public transactionCount = 0;\n\n //Contains mapping between each party and all of their transactions\n mapping(address => bytes32[]) private partyVsTransaction;\n\n modifier transactionExist(bytes32 scriptHash) {\n require(\n transactions[scriptHash].value != 0, \"Transaction does not exist\"\n );\n _;\n }\n\n modifier transactionDoesNotExist(bytes32 scriptHash) {\n require(transactions[scriptHash].value == 0, \"Transaction exist\");\n _;\n }\n\n modifier inFundedState(bytes32 scriptHash) {\n require(\n transactions[scriptHash].status == Status.FUNDED, \"Transaction is not in FUNDED state\"\n );\n _;\n }\n\n modifier nonZeroAddress(address addressToCheck) {\n require(addressToCheck != address(0), \"Zero address passed\");\n _;\n }\n\n modifier checkTransactionType(\n bytes32 scriptHash,\n TransactionType transactionType\n )\n {\n require(\n transactions[scriptHash].transactionType == transactionType, \"Transaction type does not match\"\n );\n _;\n }\n\n modifier onlyBuyer(bytes32 scriptHash) {\n require(\n msg.sender == transactions[scriptHash].buyer, \"The initiator of the transaction is not buyer\"\n );\n _;\n }\n\n /**\n * @dev Add new transaction in the contract\n * @param buyer The buyer of the transaction\n * @param seller The seller of the listing associated with the transaction\n * @param moderator Moderator for this transaction\n * @param threshold Minimum number of signatures required to released funds\n * @param timeoutHours Hours after which seller can release funds into his favour by signing transaction unilaterally\n * @param scriptHash keccak256 hash of the redeem script\n * @param uniqueId bytes20 unique id for the transaction, generated by ETH wallet\n * Redeem Script format will be following\n \n * Pass amount of the ethers to be put in escrow\n */\n function addTransaction(\n address buyer,\n address seller,\n address moderator,\n uint8 threshold,\n uint32 timeoutHours,\n bytes32 scriptHash,\n bytes20 uniqueId\n )\n external\n payable\n transactionDoesNotExist(scriptHash)\n nonZeroAddress(buyer)\n nonZeroAddress(seller)\n {\n _addTransaction(\n buyer,\n seller,\n moderator,\n threshold,\n timeoutHours,\n scriptHash,\n msg.value,\n uniqueId,\n TransactionType.ETHER,\n address(0)\n );\n \n emit Funded(scriptHash, msg.sender, msg.value);\n\n }\n\n /**\n * @dev Add new transaction in the contract\n * @param buyer The buyer of the transaction\n * @param seller The seller of the listing associated with the transaction\n * @param moderator Moderator for this transaction\n * @param threshold Minimum number of signatures required to released funds\n * @param timeoutHours Hours after which seller can release funds into his favour by signing transaction unilaterally\n * @param scriptHash keccak256 hash of the redeem script\n * @param value Amount of tokens to be put in escrow\n * @param uniqueId bytes20 unique id for the transaction, generated by ETH wallet\n * @param tokenAddress Address of the token to be used\n * Redeem Script format will be following\n \n * Approve escrow contract to spend amount of token on sender's behalf\n */\n function addTokenTransaction(\n address buyer,\n address seller,\n address moderator,\n uint8 threshold,\n uint32 timeoutHours,\n bytes32 scriptHash,\n uint256 value,\n bytes20 uniqueId,\n address tokenAddress\n )\n external\n transactionDoesNotExist(scriptHash)\n nonZeroAddress(buyer)\n nonZeroAddress(seller)\n nonZeroAddress(tokenAddress)\n {\n\n _addTransaction(\n buyer,\n seller,\n moderator,\n threshold,\n timeoutHours,\n scriptHash,\n value,\n uniqueId,\n TransactionType.TOKEN,\n tokenAddress\n );\n\n ITokenContract token = ITokenContract(tokenAddress);\n\n require(\n token.transferFrom(msg.sender, address(this), value),\n \"Token transfer failed, maybe you did not approve escrow contract to spend on behalf of sender\"\n );\n emit Funded(scriptHash, msg.sender, value);\n }\n\n /**\n * @dev This method will check whether given address was a beneficiary of transaction execution or not\n * @param scriptHash script hash of the transaction\n * @param beneficiary Beneficiary address to be checked\n */\n function checkBeneficiary(\n bytes32 scriptHash,\n address beneficiary\n )\n external\n view\n returns (bool)\n {\n return transactions[scriptHash].beneficiaries[beneficiary];\n }\n\n /**\n * @dev This method will check whether given party has voted or not\n * @param scriptHash script hash of the transaction\n * @param party Address of the party whose vote has to be checked\n * @return bool vote\n */\n function checkVote(\n bytes32 scriptHash,\n address party\n )\n external\n view\n returns (bool)\n {\n return transactions[scriptHash].voted[party];\n }\n\n /**\n * @dev Allows buyer of the transaction to add more funds(ether) in the transaction. \n * This will help to cater scenarios wherein initially buyer missed to fund transaction as required\n * @param scriptHash script hash of the transaction\n * Only buyer of the transaction can invoke this method\n */\n function addFundsToTransaction(\n bytes32 scriptHash\n )\n external\n payable\n transactionExist(scriptHash)\n inFundedState(scriptHash)\n checkTransactionType(scriptHash, TransactionType.ETHER)\n onlyBuyer(scriptHash)\n \n {\n\n require(msg.value > 0, \"Value must be greater than zero.\");\n\n transactions[scriptHash].value = transactions[scriptHash].value\n .add(msg.value);\n\n emit FundAdded(scriptHash, msg.sender, msg.value);\n }\n\n /**\n * @dev Allows buyer of the transaction to add more funds(Tokens) in the transaction. \n * This will help to cater scenarios wherein initially buyer missed to fund transaction as required\n * @param scriptHash script hash of the transaction\n * Only buyer of the transaction can invoke this method\n */\n function addTokensToTransaction(\n bytes32 scriptHash,\n uint256 value\n )\n external\n transactionExist(scriptHash)\n inFundedState(scriptHash)\n checkTransactionType(scriptHash, TransactionType.TOKEN)\n onlyBuyer(scriptHash)\n {\n\n require(value > 0, \"Value must be greater than zero.\");\n\n ITokenContract token = ITokenContract(\n transactions[scriptHash].tokenAddress\n );\n\n require(\n token.transferFrom(msg.sender, address(this), value),\n \"Token transfer failed, maybe you did not approve escrow contract to spend on behalf of buyer\"\n );\n\n transactions[scriptHash].value = transactions[scriptHash].value\n .add(value);\n\n emit FundAdded(scriptHash, msg.sender, value);\n }\n\n /**\n *@dev Returns all transaction ids for a party\n *@param partyAddress Address of the party\n */\n function getAllTransactionsForParty(\n address partyAddress\n ) \n external \n view \n returns (bytes32[]) \n {\n return partyVsTransaction[partyAddress];\n }\n\n /**\n *@dev This method will be used to release funds associated with the transaction\n * Please see specs https://github.com/OpenBazaar/smart-contracts/blob/master/contracts/escrow/EscrowSpec.md\n *@param sigV Array containing V component of all the signatures\n *@param sigR Array containing R component of all the signatures\n *@param signS Array containing S component of all the signatures\n *@param scriptHash script hash of the transaction\n *@param destinations List of addresses who will receive funds\n *@param amounts amount released to each destination\n */\n function execute(\n uint8[] sigV,\n bytes32[] sigR,\n bytes32[] sigS,\n bytes32 scriptHash,\n address[] destinations,\n uint256[] amounts\n )\n external\n transactionExist(scriptHash)\n inFundedState(scriptHash)\n { \n require(\n destinations.length>0, \n \"Number of destinations must be greater than 0\"\n );\n require(\n destinations.length == amounts.length,\n \"Number of destinations must match number of values sent\"\n );\n \n _verifyTransaction(\n sigV,\n sigR,\n sigS,\n scriptHash,\n destinations,\n amounts\n );\n\n transactions[scriptHash].status = Status.RELEASED;\n //Last modified timestamp modified, which will be used by rewards\n transactions[scriptHash].lastModified = block.timestamp;\n require(\n _transferFunds(scriptHash, destinations, amounts) == transactions[scriptHash].value,\n \"Total value to be released must be equal to the transaction escrow value\"\n );\n \n emit Executed(scriptHash, destinations, amounts);\n }\n\n\n /**\n *@dev Method for calculating script hash. Calculation will depend upon the type of transaction\n * ETHER Type transaction-:\n * Script Hash- keccak256(uniqueId, threshold, timeoutHours, buyer, seller, moderator, multiSigContractAddress)\n * TOKEN Type transaction\n * Script Hash- keccak256(uniqueId, threshold, timeoutHours, buyer, seller, moderator, multiSigContractAddress, tokenAddress)\n * Client can use this method to verify whether it has calculated correct script hash or not\n */\n function calculateRedeemScriptHash(\n bytes20 uniqueId,\n uint8 threshold,\n uint32 timeoutHours,\n address buyer,\n address seller,\n address moderator,\n address tokenAddress\n )\n public\n view\n returns (bytes32)\n {\n if (tokenAddress == address(0)) {\n return keccak256(\n abi.encodePacked(\n uniqueId,\n threshold,\n timeoutHours,\n buyer,\n seller,\n moderator,\n address(this)\n )\n );\n } else {\n return keccak256(\n abi.encodePacked(\n uniqueId,\n threshold,\n timeoutHours,\n buyer,\n seller,\n moderator,\n address(this),\n tokenAddress\n )\n );\n }\n }\n\n /**\n * @dev This methods checks validity of transaction\n * 1. Verify Signatures\n * 2. Check if minimum number of signatures has been acquired\n * 3. If above condition is false, check if time lock is expired and the execution is signed by seller\n */\n function _verifyTransaction(\n uint8[] sigV,\n bytes32[] sigR,\n bytes32[] sigS,\n bytes32 scriptHash,\n address[] destinations,\n uint256[] amounts\n )\n private\n {\n address lastRecovered = _verifySignatures(\n sigV,\n sigR,\n sigS,\n scriptHash,\n destinations,\n amounts\n );\n\n bool timeLockExpired = _isTimeLockExpired(\n transactions[scriptHash].timeoutHours,\n transactions[scriptHash].lastModified\n );\n\n //if Minimum number of signatures are not gathered and timelock has not expired or transaction was not signed by seller then revert\n if (\n sigV.length < transactions[scriptHash].threshold && (!timeLockExpired || lastRecovered != transactions[scriptHash].seller)\n )\n {\n revert(\"Minimum number of signatures are not collected and time lock expiry conditions not met!!\");\n }\n\n }\n\n /**\n *@dev Private method to transfer funds to the destination addresses on the basis of transaction type\n */\n function _transferFunds(\n bytes32 scriptHash,\n address[]destinations,\n uint256[]amounts\n )\n private\n returns (uint256)\n {\n Transaction storage t = transactions[scriptHash];\n\n uint256 valueTransferred = 0;\n\n if (t.transactionType == TransactionType.ETHER) {\n for (uint256 i = 0; i < destinations.length; i++) {\n\n require(destinations[i] != address(0), \"zero address is not allowed as destination address\");\n\n require(t.isOwner[destinations[i]], \"Destination address is not one of the owners\");\n\n require(amounts[i] > 0, \"Amount to be sent should be greater than 0\");\n\n valueTransferred = valueTransferred.add(amounts[i]);\n\n t.beneficiaries[destinations[i]] = true;//add receiver as beneficiary\n destinations[i].transfer(amounts[i]);\n }\n\n } else if (t.transactionType == TransactionType.TOKEN) {\n\n ITokenContract token = ITokenContract(t.tokenAddress);\n\n for (uint256 j = 0; j 0, \"Amount to be sent should be greater than 0\");\n\n valueTransferred = valueTransferred.add(amounts[j]);\n t.beneficiaries[destinations[j]] = true;//add receiver as beneficiary\n\n require(token.transfer(destinations[j], amounts[j]), \"Token transfer failed.\");\n }\n } \n return valueTransferred;\n }\n\n //to check whether the signatures are valid or not and if consensus was reached\n //returns the last address recovered, in case of timeout this must be the sender's address\n function _verifySignatures(\n uint8[] sigV,\n bytes32[] sigR,\n bytes32[] sigS,\n bytes32 scriptHash,\n address[] destinations,\n uint256[]amounts\n )\n private\n returns (address)\n {\n\n require(\n sigR.length == sigS.length && sigR.length == sigV.length, \n \"R,S,V length mismatch.\"\n );\n\n address lastAddress;\n\n // Follows ERC191 signature scheme: https://github.com/ethereum/EIPs/issues/191\n bytes32 txHash = keccak256(\n abi.encodePacked(\n \"\\x19Ethereum Signed Message:\\n32\",\n keccak256(\n abi.encodePacked(\n byte(0x19),\n byte(0),\n address(this),\n destinations,\n amounts,\n scriptHash\n )\n )\n )\n );\n\n for (uint i = 0; i < sigR.length; i++) {\n\n address recovered = ecrecover(\n txHash,\n sigV[i],\n sigR[i],\n sigS[i]\n );\n\n require(\n transactions[scriptHash].isOwner[recovered], \n \"Invalid signature\"\n );\n require(\n !transactions[scriptHash].voted[recovered], \n \"Same signature sent twice\"\n );\n transactions[scriptHash].voted[recovered] = true;\n lastAddress = recovered;\n }\n\n return lastAddress;\n }\n\n function _isTimeLockExpired(\n uint32 timeoutHours,\n uint256 lastModified\n )\n private\n view\n returns (bool)\n {\n uint256 timeSince = now.sub(lastModified);\n return (\n timeoutHours == 0 ? false:timeSince > uint256(timeoutHours).mul(3600)\n );\n }\n\n /**\n * Private method to add transaction to reduce code redundancy\n */\n function _addTransaction(\n address buyer,\n address seller,\n address moderator,\n uint8 threshold,\n uint32 timeoutHours,\n bytes32 scriptHash,\n uint256 value,\n bytes20 uniqueId,\n TransactionType transactionType,\n address tokenAddress\n )\n private\n { \n require(buyer != seller, \"Buyer and seller are same\");\n\n //value passed should be greater than 0\n require(value > 0, \"Value passed is 0\");\n\n // For now allowing 0 moderator to support 1-2 multisig wallet\n require(\n threshold > 0 && threshold <= 3, \n \"Threshold cannot be greater than 3 and must be greater than 0\"\n );\n\n //if threshold is 1 then moderator can be passed as zero address or any other address\n //(it won't matter apart from scripthash since we wont add moderator as one of the owner),\n //otherwise moderator should be a valid address\n require(\n threshold == 1 || moderator != address(0),\n \"Either threshold should be 1 or valid moderator address should be passed\"\n );\n\n require(\n scriptHash == calculateRedeemScriptHash(\n uniqueId,\n threshold,\n timeoutHours,\n buyer,\n seller,\n moderator,\n tokenAddress\n ), \n \"Calculated script hash does not match passed script hash.\"\n );\n\n transactions[scriptHash] = Transaction({\n buyer: buyer,\n seller: seller,\n moderator: moderator,\n value: value,\n status: Status.FUNDED,\n lastModified: block.timestamp,\n threshold: threshold,\n timeoutHours: timeoutHours,\n transactionType:transactionType,\n tokenAddress:tokenAddress\n });\n\n transactions[scriptHash].isOwner[seller] = true;\n transactions[scriptHash].isOwner[buyer] = true; \n\n //Check if buyer or seller are not passed as moderator\n require(\n !transactions[scriptHash].isOwner[moderator], \n \"Either buyer or seller is passed as moderator\"\n );\n\n //set moderator as one of the owners only if threshold is greater than 1 otherwise only buyer and seller should be able to release funds\n if (threshold > 1) {\n transactions[scriptHash].isOwner[moderator] = true;\n }\n \n\n transactionCount++;\n\n partyVsTransaction[buyer].push(scriptHash);\n partyVsTransaction[seller].push(scriptHash);\n }\n}\n", "sourcePath": "/home/sameep/freelancing-projects/toptal/open baazar/publicRepo/smart-contracts/contracts/escrow/Escrow_v1_0.sol", "ast": { "absolutePath": "/home/sameep/freelancing-projects/toptal/open baazar/publicRepo/smart-contracts/contracts/escrow/Escrow_v1_0.sol", "exportedSymbols": { "Escrow_v1_0": [ - 1208 + 1206 ] }, - "id": 1209, + "id": 1207, "nodeType": "SourceUnit", "nodes": [ { @@ -426,8 +426,8 @@ "file": "openzeppelin-solidity/contracts/math/SafeMath.sol", "id": 2, "nodeType": "ImportDirective", - "scope": 1209, - "sourceUnit": 1367, + "scope": 1207, + "sourceUnit": 1365, "src": "25:59:0", "symbolAliases": [], "unitAlias": "" @@ -437,8 +437,8 @@ "file": "../token/ITokenContract.sol", "id": 3, "nodeType": "ImportDirective", - "scope": 1209, - "sourceUnit": 1239, + "scope": 1207, + "sourceUnit": 1237, "src": "86:37:0", "symbolAliases": [], "unitAlias": "" @@ -449,9 +449,9 @@ "contractKind": "contract", "documentation": "@dev Supports ERC20 tokens\nThe escrow smart contract for the open bazaar trades in Ethereum\nThe smart contract is designed keeping in mind the current wallet interface of the OB-core\nhttps://github.com/OpenBazaar/wallet-interface/blob/master/wallet.go\nCurrent wallet interface strictly adheres to UTXO(bitcoin) model\nPlease read below mentioned link for detailed specs\nhttps://github.com/OpenBazaar/smart-contracts/blob/master/contracts/escrow/EscrowSpec.md", "fullyImplemented": true, - "id": 1208, + "id": 1206, "linearizedBaseContracts": [ - 1208 + 1206 ], "name": "Escrow_v1_0", "nodeType": "ContractDefinition", @@ -463,10 +463,10 @@ "id": 4, "name": "SafeMath", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1366, + "referencedDeclaration": 1364, "src": "639:8:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$1366", + "typeIdentifier": "t_contract$_SafeMath_$1364", "typeString": "library SafeMath" } }, @@ -1239,7 +1239,7 @@ ], "name": "Transaction", "nodeType": "StructDefinition", - "scope": 1208, + "scope": 1206, "src": "1103:599:0", "visibility": "public" }, @@ -1248,7 +1248,7 @@ "id": 75, "name": "transactions", "nodeType": "VariableDeclaration", - "scope": 1208, + "scope": 1206, "src": "1708:51:0", "stateVariable": true, "storageLocation": "default", @@ -1295,7 +1295,7 @@ "id": 78, "name": "transactionCount", "nodeType": "VariableDeclaration", - "scope": 1208, + "scope": 1206, "src": "1766:35:0", "stateVariable": true, "storageLocation": "default", @@ -1338,7 +1338,7 @@ "id": 83, "name": "partyVsTransaction", "nodeType": "VariableDeclaration", - "scope": 1208, + "scope": 1206, "src": "1880:56:0", "stateVariable": true, "storageLocation": "default", @@ -1525,10 +1525,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1384, - 1385 + 1382, + 1383 ], - "referencedDeclaration": 1385, + "referencedDeclaration": 1383, "src": "1999:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -1737,10 +1737,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1384, - 1385 + 1382, + 1383 ], - "referencedDeclaration": 1385, + "referencedDeclaration": 1383, "src": "2182:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -1960,10 +1960,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1384, - 1385 + 1382, + 1383 ], - "referencedDeclaration": 1385, + "referencedDeclaration": 1383, "src": "2324:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -2167,10 +2167,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1384, - 1385 + 1382, + 1383 ], - "referencedDeclaration": 1385, + "referencedDeclaration": 1383, "src": "2523:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -2374,10 +2374,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1384, - 1385 + 1382, + 1383 ], - "referencedDeclaration": 1385, + "referencedDeclaration": 1383, "src": "2726:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -2506,7 +2506,7 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1381, + "referencedDeclaration": 1379, "src": "2945:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", @@ -2625,10 +2625,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1384, - 1385 + 1382, + 1383 ], - "referencedDeclaration": 1385, + "referencedDeclaration": 1383, "src": "2924:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -2796,7 +2796,7 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1381, + "referencedDeclaration": 1379, "src": "4389:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", @@ -2963,7 +2963,7 @@ "name": "_addTransaction", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1207, + "referencedDeclaration": 1205, "src": "4225:15:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_address_$_t_uint8_$_t_uint32_$_t_bytes32_$_t_uint256_$_t_bytes20_$_t_enum$_TransactionType_$12_$_t_address_$returns$__$", @@ -3013,7 +3013,7 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1381, + "referencedDeclaration": 1379, "src": "4532:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", @@ -3042,7 +3042,7 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1381, + "referencedDeclaration": 1379, "src": "4544:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", @@ -3414,7 +3414,7 @@ "parameters": [], "src": "4215:0:0" }, - "scope": 1208, + "scope": 1206, "src": "3861:701:0", "stateMutability": "payable", "superFunction": null, @@ -3624,7 +3624,7 @@ "name": "_addTransaction", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1207, + "referencedDeclaration": 1205, "src": "5954:15:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_address_$_t_uint8_$_t_uint32_$_t_bytes32_$_t_uint256_$_t_bytes20_$_t_enum$_TransactionType_$12_$_t_address_$returns$__$", @@ -3664,7 +3664,7 @@ "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenContract_$1238", + "typeIdentifier": "t_contract$_ITokenContract_$1236", "typeString": "contract ITokenContract" }, "typeName": { @@ -3672,10 +3672,10 @@ "id": 281, "name": "ITokenContract", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1238, + "referencedDeclaration": 1236, "src": "6227:14:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenContract_$1238", + "typeIdentifier": "t_contract$_ITokenContract_$1236", "typeString": "contract ITokenContract" } }, @@ -3712,10 +3712,10 @@ "name": "ITokenContract", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1238, + "referencedDeclaration": 1236, "src": "6250:14:0", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ITokenContract_$1238_$", + "typeIdentifier": "t_type$_t_contract$_ITokenContract_$1236_$", "typeString": "type(contract ITokenContract)" } }, @@ -3729,7 +3729,7 @@ "nodeType": "FunctionCall", "src": "6250:28:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenContract_$1238", + "typeIdentifier": "t_contract$_ITokenContract_$1236", "typeString": "contract ITokenContract" } }, @@ -3751,7 +3751,7 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1381, + "referencedDeclaration": 1379, "src": "6329:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", @@ -3781,10 +3781,10 @@ "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1398, + "referencedDeclaration": 1396, "src": "6349:4:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_Escrow_v1_0_$1208", + "typeIdentifier": "t_contract$_Escrow_v1_0_$1206", "typeString": "contract Escrow_v1_0" } } @@ -3792,7 +3792,7 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_Escrow_v1_0_$1208", + "typeIdentifier": "t_contract$_Escrow_v1_0_$1206", "typeString": "contract Escrow_v1_0" } ], @@ -3861,7 +3861,7 @@ "referencedDeclaration": 282, "src": "6310:5:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenContract_$1238", + "typeIdentifier": "t_contract$_ITokenContract_$1236", "typeString": "contract ITokenContract" } }, @@ -3872,7 +3872,7 @@ "lValueRequested": false, "memberName": "transferFrom", "nodeType": "MemberAccess", - "referencedDeclaration": 1237, + "referencedDeclaration": 1235, "src": "6310:18:0", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", @@ -3927,10 +3927,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1384, - 1385 + 1382, + 1383 ], - "referencedDeclaration": 1385, + "referencedDeclaration": 1383, "src": "6289:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -3980,7 +3980,7 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1381, + "referencedDeclaration": 1379, "src": "6515:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", @@ -4450,7 +4450,7 @@ "parameters": [], "src": "5943:0:0" }, - "scope": 1208, + "scope": 1206, "src": "5510:1030:0", "stateMutability": "nonpayable", "superFunction": null, @@ -4654,7 +4654,7 @@ ], "src": "6916:6:0" }, - "scope": 1208, + "scope": 1206, "src": "6781:221:0", "stateMutability": "view", "superFunction": null, @@ -4858,7 +4858,7 @@ ], "src": "7364:6:0" }, - "scope": 1208, + "scope": 1206, "src": "7242:194:0", "stateMutability": "view", "superFunction": null, @@ -4893,7 +4893,7 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1381, + "referencedDeclaration": 1379, "src": "8058:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", @@ -4974,10 +4974,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1384, - 1385 + 1382, + 1383 ], - "referencedDeclaration": 1385, + "referencedDeclaration": 1383, "src": "8050:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -5079,7 +5079,7 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1381, + "referencedDeclaration": 1379, "src": "8200:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", @@ -5171,7 +5171,7 @@ "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 1345, + "referencedDeclaration": 1343, "src": "8152:47:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", @@ -5227,7 +5227,7 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1381, + "referencedDeclaration": 1379, "src": "8248:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", @@ -5256,7 +5256,7 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1381, + "referencedDeclaration": 1379, "src": "8260:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", @@ -5534,7 +5534,7 @@ "parameters": [], "src": "8039:0:0" }, - "scope": 1208, + "scope": 1206, "src": "7763:514:0", "stateMutability": "payable", "superFunction": null, @@ -5542,9 +5542,9 @@ }, { "body": { - "id": 464, + "id": 462, "nodeType": "Block", - "src": "8880:557:0", + "src": "8880:537:0", "statements": [ { "expression": { @@ -5634,10 +5634,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1384, - 1385 + 1382, + 1383 ], - "referencedDeclaration": 1385, + "referencedDeclaration": 1383, "src": "8891:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -5672,12 +5672,12 @@ "id": 421, "name": "token", "nodeType": "VariableDeclaration", - "scope": 465, + "scope": 463, "src": "8956:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenContract_$1238", + "typeIdentifier": "t_contract$_ITokenContract_$1236", "typeString": "contract ITokenContract" }, "typeName": { @@ -5685,10 +5685,10 @@ "id": 420, "name": "ITokenContract", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1238, + "referencedDeclaration": 1236, "src": "8956:14:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenContract_$1238", + "typeIdentifier": "t_contract$_ITokenContract_$1236", "typeString": "contract ITokenContract" } }, @@ -5768,10 +5768,10 @@ "name": "ITokenContract", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1238, + "referencedDeclaration": 1236, "src": "8979:14:0", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ITokenContract_$1238_$", + "typeIdentifier": "t_type$_t_contract$_ITokenContract_$1236_$", "typeString": "type(contract ITokenContract)" } }, @@ -5785,7 +5785,7 @@ "nodeType": "FunctionCall", "src": "8979:75:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenContract_$1238", + "typeIdentifier": "t_contract$_ITokenContract_$1236", "typeString": "contract ITokenContract" } }, @@ -5803,53 +5803,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 432, - "name": "transactions", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75, - "src": "9105:12:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", - "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" - } - }, - "id": 434, - "indexExpression": { - "argumentTypes": null, - "id": 433, - "name": "scriptHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 394, - "src": "9118:10:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9105:24:0", + "id": 432, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1379, + "src": "9105:3:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_Transaction_$71_storage", - "typeString": "struct Escrow_v1_0.Transaction storage ref" + "typeIdentifier": "t_magic_message", + "typeString": "msg" } }, - "id": 435, + "id": 433, "isConstant": false, - "isLValue": true, + "isLValue": false, "isPure": false, "lValueRequested": false, - "memberName": "buyer", + "memberName": "sender", "nodeType": "MemberAccess", - "referencedDeclaration": 52, - "src": "9105:30:0", + "referencedDeclaration": null, + "src": "9105:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -5860,14 +5833,14 @@ "arguments": [ { "argumentTypes": null, - "id": 437, + "id": 435, "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1398, - "src": "9145:4:0", + "referencedDeclaration": 1396, + "src": "9125:4:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_Escrow_v1_0_$1208", + "typeIdentifier": "t_contract$_Escrow_v1_0_$1206", "typeString": "contract Escrow_v1_0" } } @@ -5875,24 +5848,24 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_Escrow_v1_0_$1208", + "typeIdentifier": "t_contract$_Escrow_v1_0_$1206", "typeString": "contract Escrow_v1_0" } ], - "id": 436, + "id": 434, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "9137:7:0", + "src": "9117:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, - "id": 438, + "id": 436, "isConstant": false, "isLValue": false, "isPure": false, @@ -5900,7 +5873,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "9137:13:0", + "src": "9117:13:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -5908,12 +5881,12 @@ }, { "argumentTypes": null, - "id": 439, + "id": 437, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 396, - "src": "9152:5:0", + "src": "9132:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5944,7 +5917,7 @@ "referencedDeclaration": 421, "src": "9086:5:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenContract_$1238", + "typeIdentifier": "t_contract$_ITokenContract_$1236", "typeString": "contract ITokenContract" } }, @@ -5955,14 +5928,14 @@ "lValueRequested": false, "memberName": "transferFrom", "nodeType": "MemberAccess", - "referencedDeclaration": 1237, + "referencedDeclaration": 1235, "src": "9086:18:0", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", "typeString": "function (address,address,uint256) external returns (bool)" } }, - "id": 440, + "id": 438, "isConstant": false, "isLValue": false, "isPure": false, @@ -5970,7 +5943,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "9086:72:0", + "src": "9086:52:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -5979,14 +5952,14 @@ { "argumentTypes": null, "hexValue": "546f6b656e207472616e73666572206661696c65642c206d6179626520796f7520646964206e6f7420617070726f766520657363726f7720636f6e747261637420746f207370656e64206f6e20626568616c66206f66206275796572", - "id": 441, + "id": 439, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "9172:94:0", + "src": "9152:94:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_d9d07068d589bc4adc53018a3c57c159ec128fdfb62732a5fa9410e76cf03318", @@ -6010,17 +5983,17 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1384, - 1385 + 1382, + 1383 ], - "referencedDeclaration": 1385, + "referencedDeclaration": 1383, "src": "9065:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 442, + "id": 440, "isConstant": false, "isLValue": false, "isPure": false, @@ -6028,20 +6001,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "9065:211:0", + "src": "9065:191:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 443, + "id": 441, "nodeType": "ExpressionStatement", - "src": "9065:211:0" + "src": "9065:191:0" }, { "expression": { "argumentTypes": null, - "id": 455, + "id": 453, "isConstant": false, "isLValue": false, "isPure": false, @@ -6052,26 +6025,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 444, + "id": 442, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "9287:12:0", + "src": "9267:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 446, + "id": 444, "indexExpression": { "argumentTypes": null, - "id": 445, + "id": 443, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 394, - "src": "9300:10:0", + "src": "9280:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -6082,13 +6055,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "9287:24:0", + "src": "9267:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 447, + "id": 445, "isConstant": false, "isLValue": true, "isPure": false, @@ -6096,7 +6069,7 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": 40, - "src": "9287:30:0", + "src": "9267:30:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6109,12 +6082,12 @@ "arguments": [ { "argumentTypes": null, - "id": 453, + "id": 451, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 396, - "src": "9368:5:0", + "src": "9348:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6134,26 +6107,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 448, + "id": 446, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "9320:12:0", + "src": "9300:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 450, + "id": 448, "indexExpression": { "argumentTypes": null, - "id": 449, + "id": 447, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 394, - "src": "9333:10:0", + "src": "9313:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -6164,13 +6137,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "9320:24:0", + "src": "9300:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 451, + "id": 449, "isConstant": false, "isLValue": true, "isPure": false, @@ -6178,27 +6151,27 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": 40, - "src": "9320:30:0", + "src": "9300:30:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 452, + "id": 450, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 1345, - "src": "9320:47:0", + "referencedDeclaration": 1343, + "src": "9300:47:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 454, + "id": 452, "isConstant": false, "isLValue": false, "isPure": false, @@ -6206,21 +6179,21 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "9320:54:0", + "src": "9300:54:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "9287:87:0", + "src": "9267:87:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 456, + "id": 454, "nodeType": "ExpressionStatement", - "src": "9287:87:0" + "src": "9267:87:0" }, { "eventCall": { @@ -6228,12 +6201,12 @@ "arguments": [ { "argumentTypes": null, - "id": 458, + "id": 456, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 394, - "src": "9400:10:0", + "src": "9380:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -6243,18 +6216,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 459, + "id": 457, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1381, - "src": "9412:3:0", + "referencedDeclaration": 1379, + "src": "9392:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 460, + "id": 458, "isConstant": false, "isLValue": false, "isPure": false, @@ -6262,7 +6235,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "9412:10:0", + "src": "9392:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -6270,12 +6243,12 @@ }, { "argumentTypes": null, - "id": 461, + "id": 459, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 396, - "src": "9424:5:0", + "src": "9404:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6297,18 +6270,18 @@ "typeString": "uint256" } ], - "id": 457, + "id": 455, "name": "FundAdded", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 30, - "src": "9390:9:0", + "src": "9370:9:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (bytes32,address,uint256)" } }, - "id": 462, + "id": 460, "isConstant": false, "isLValue": false, "isPure": false, @@ -6316,20 +6289,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "9390:40:0", + "src": "9370:40:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 463, + "id": 461, "nodeType": "EmitStatement", - "src": "9385:45:0" + "src": "9365:45:0" } ] }, "documentation": "@dev Allows buyer of the transaction to add more funds(Tokens) in the transaction. \nThis will help to cater scenarios wherein initially buyer missed to fund transaction as required\n@param scriptHash script hash of the transaction\nOnly buyer of the transaction can invoke this method", - "id": 465, + "id": 463, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -6507,7 +6480,7 @@ "id": 394, "name": "scriptHash", "nodeType": "VariableDeclaration", - "scope": 465, + "scope": 463, "src": "8646:18:0", "stateVariable": false, "storageLocation": "default", @@ -6533,7 +6506,7 @@ "id": 396, "name": "value", "nodeType": "VariableDeclaration", - "scope": 465, + "scope": 463, "src": "8674:13:0", "stateVariable": false, "storageLocation": "default", @@ -6564,43 +6537,43 @@ "parameters": [], "src": "8880:0:0" }, - "scope": 1208, - "src": "8605:832:0", + "scope": 1206, + "src": "8605:812:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" }, { "body": { - "id": 477, + "id": 475, "nodeType": "Block", - "src": "9692:56:0", + "src": "9672:56:0", "statements": [ { "expression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 473, + "id": 471, "name": "partyVsTransaction", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 83, - "src": "9709:18:0", + "src": "9689:18:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_bytes32_$dyn_storage_$", "typeString": "mapping(address => bytes32[] storage ref)" } }, - "id": 475, + "id": 473, "indexExpression": { "argumentTypes": null, - "id": 474, + "id": 472, "name": "partyAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 467, - "src": "9728:12:0", + "referencedDeclaration": 465, + "src": "9708:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -6611,21 +6584,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "9709:32:0", + "src": "9689:32:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage", "typeString": "bytes32[] storage ref" } }, - "functionReturnParameters": 472, - "id": 476, + "functionReturnParameters": 470, + "id": 474, "nodeType": "Return", - "src": "9702:39:0" + "src": "9682:39:0" } ] }, "documentation": "dev Returns all transaction ids for a party\nparam partyAddress Address of the party", - "id": 478, + "id": 476, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -6633,16 +6606,16 @@ "name": "getAllTransactionsForParty", "nodeType": "FunctionDefinition", "parameters": { - "id": 468, + "id": 466, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 467, + "id": 465, "name": "partyAddress", "nodeType": "VariableDeclaration", - "scope": 478, - "src": "9599:20:0", + "scope": 476, + "src": "9579:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6650,10 +6623,10 @@ "typeString": "address" }, "typeName": { - "id": 466, + "id": 464, "name": "address", "nodeType": "ElementaryTypeName", - "src": "9599:7:0", + "src": "9579:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -6663,20 +6636,20 @@ "visibility": "internal" } ], - "src": "9589:36:0" + "src": "9569:36:0" }, "payable": false, "returnParameters": { - "id": 472, + "id": 470, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 471, + "id": 469, "name": "", "nodeType": "VariableDeclaration", - "scope": 478, - "src": "9676:9:0", + "scope": 476, + "src": "9656:9:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6685,19 +6658,19 @@ }, "typeName": { "baseType": { - "id": 469, + "id": 467, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "9676:7:0", + "src": "9656:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "id": 470, + "id": 468, "length": null, "nodeType": "ArrayTypeName", - "src": "9676:9:0", + "src": "9656:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -6707,19 +6680,19 @@ "visibility": "internal" } ], - "src": "9675:11:0" + "src": "9655:11:0" }, - "scope": 1208, - "src": "9554:194:0", + "scope": 1206, + "src": "9534:194:0", "stateMutability": "view", "superFunction": null, "visibility": "external" }, { "body": { - "id": 566, + "id": 564, "nodeType": "Block", - "src": "10618:932:0", + "src": "10598:932:0", "statements": [ { "expression": { @@ -6731,7 +6704,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 508, + "id": 506, "isConstant": false, "isLValue": false, "isPure": false, @@ -6740,18 +6713,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 505, + "id": 503, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 492, - "src": "10652:12:0", + "referencedDeclaration": 490, + "src": "10632:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" } }, - "id": 506, + "id": 504, "isConstant": false, "isLValue": false, "isPure": false, @@ -6759,7 +6732,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "10652:19:0", + "src": "10632:19:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6770,14 +6743,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 507, + "id": 505, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "10672:1:0", + "src": "10652:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -6785,7 +6758,7 @@ }, "value": "0" }, - "src": "10652:21:0", + "src": "10632:21:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -6794,14 +6767,14 @@ { "argumentTypes": null, "hexValue": "4e756d626572206f662064657374696e6174696f6e73206d7573742062652067726561746572207468616e2030", - "id": 509, + "id": 507, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "10688:47:0", + "src": "10668:47:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_fbeb58246a6e3ff255a1d618f14d1cced67ffd4784fbc3e1cfbdf71d1f7fbdf9", @@ -6821,21 +6794,21 @@ "typeString": "literal_string \"Number of destinations must be greater than 0\"" } ], - "id": 504, + "id": 502, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1384, - 1385 + 1382, + 1383 ], - "referencedDeclaration": 1385, - "src": "10631:7:0", + "referencedDeclaration": 1383, + "src": "10611:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 510, + "id": 508, "isConstant": false, "isLValue": false, "isPure": false, @@ -6843,15 +6816,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "10631:114:0", + "src": "10611:114:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 511, + "id": 509, "nodeType": "ExpressionStatement", - "src": "10631:114:0" + "src": "10611:114:0" }, { "expression": { @@ -6863,7 +6836,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 517, + "id": 515, "isConstant": false, "isLValue": false, "isPure": false, @@ -6872,18 +6845,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 513, + "id": 511, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 492, - "src": "10776:12:0", + "referencedDeclaration": 490, + "src": "10756:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" } }, - "id": 514, + "id": 512, "isConstant": false, "isLValue": false, "isPure": false, @@ -6891,7 +6864,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "10776:19:0", + "src": "10756:19:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6903,18 +6876,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 515, + "id": 513, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 495, - "src": "10799:7:0", + "referencedDeclaration": 493, + "src": "10779:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", "typeString": "uint256[] calldata" } }, - "id": 516, + "id": 514, "isConstant": false, "isLValue": false, "isPure": false, @@ -6922,13 +6895,13 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "10799:14:0", + "src": "10779:14:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "10776:37:0", + "src": "10756:37:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -6937,14 +6910,14 @@ { "argumentTypes": null, "hexValue": "4e756d626572206f662064657374696e6174696f6e73206d757374206d61746368206e756d626572206f662076616c7565732073656e74", - "id": 518, + "id": 516, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "10827:57:0", + "src": "10807:57:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_e70a315a5939ff57e3400503291dbc0af19d18c32f15c80c7c6f5b7c54a6cd3c", @@ -6964,21 +6937,21 @@ "typeString": "literal_string \"Number of destinations must match number of values sent\"" } ], - "id": 512, + "id": 510, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1384, - 1385 + 1382, + 1383 ], - "referencedDeclaration": 1385, - "src": "10755:7:0", + "referencedDeclaration": 1383, + "src": "10735:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 519, + "id": 517, "isConstant": false, "isLValue": false, "isPure": false, @@ -6986,15 +6959,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "10755:139:0", + "src": "10735:139:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 520, + "id": 518, "nodeType": "ExpressionStatement", - "src": "10755:139:0" + "src": "10735:139:0" }, { "expression": { @@ -7002,12 +6975,12 @@ "arguments": [ { "argumentTypes": null, - "id": 522, + "id": 520, "name": "sigV", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 481, - "src": "10944:4:0", + "referencedDeclaration": 479, + "src": "10924:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_calldata_ptr", "typeString": "uint8[] calldata" @@ -7015,12 +6988,12 @@ }, { "argumentTypes": null, - "id": 523, + "id": 521, "name": "sigR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 484, - "src": "10962:4:0", + "referencedDeclaration": 482, + "src": "10942:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", "typeString": "bytes32[] calldata" @@ -7028,12 +7001,12 @@ }, { "argumentTypes": null, - "id": 524, + "id": 522, "name": "sigS", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 487, - "src": "10980:4:0", + "referencedDeclaration": 485, + "src": "10960:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", "typeString": "bytes32[] calldata" @@ -7041,12 +7014,12 @@ }, { "argumentTypes": null, - "id": 525, + "id": 523, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 489, - "src": "10998:10:0", + "referencedDeclaration": 487, + "src": "10978:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -7054,12 +7027,12 @@ }, { "argumentTypes": null, - "id": 526, + "id": 524, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 492, - "src": "11022:12:0", + "referencedDeclaration": 490, + "src": "11002:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" @@ -7067,12 +7040,12 @@ }, { "argumentTypes": null, - "id": 527, + "id": 525, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 495, - "src": "11048:7:0", + "referencedDeclaration": 493, + "src": "11028:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", "typeString": "uint256[] calldata" @@ -7106,18 +7079,18 @@ "typeString": "uint256[] calldata" } ], - "id": 521, + "id": 519, "name": "_verifyTransaction", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 695, - "src": "10912:18:0", + "referencedDeclaration": 693, + "src": "10892:18:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_array$_t_uint8_$dyn_memory_ptr_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_bytes32_$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$__$", "typeString": "function (uint8[] memory,bytes32[] memory,bytes32[] memory,bytes32,address[] memory,uint256[] memory)" } }, - "id": 528, + "id": 526, "isConstant": false, "isLValue": false, "isPure": false, @@ -7125,20 +7098,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "10912:153:0", + "src": "10892:153:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 529, + "id": 527, "nodeType": "ExpressionStatement", - "src": "10912:153:0" + "src": "10892:153:0" }, { "expression": { "argumentTypes": null, - "id": 536, + "id": 534, "isConstant": false, "isLValue": false, "isPure": false, @@ -7149,26 +7122,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 530, + "id": 528, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "11076:12:0", + "src": "11056:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 532, + "id": 530, "indexExpression": { "argumentTypes": null, - "id": 531, + "id": 529, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 489, - "src": "11089:10:0", + "referencedDeclaration": 487, + "src": "11069:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -7179,13 +7152,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "11076:24:0", + "src": "11056:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 533, + "id": 531, "isConstant": false, "isLValue": true, "isPure": false, @@ -7193,7 +7166,7 @@ "memberName": "status", "nodeType": "MemberAccess", "referencedDeclaration": 44, - "src": "11076:31:0", + "src": "11056:31:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$9", "typeString": "enum Escrow_v1_0.Status" @@ -7205,18 +7178,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 534, + "id": 532, "name": "Status", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9, - "src": "11110:6:0", + "src": "11090:6:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_Status_$9_$", "typeString": "type(enum Escrow_v1_0.Status)" } }, - "id": 535, + "id": 533, "isConstant": false, "isLValue": false, "isPure": true, @@ -7224,26 +7197,26 @@ "memberName": "RELEASED", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "11110:15:0", + "src": "11090:15:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$9", "typeString": "enum Escrow_v1_0.Status" } }, - "src": "11076:49:0", + "src": "11056:49:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$9", "typeString": "enum Escrow_v1_0.Status" } }, - "id": 537, + "id": 535, "nodeType": "ExpressionStatement", - "src": "11076:49:0" + "src": "11056:49:0" }, { "expression": { "argumentTypes": null, - "id": 544, + "id": 542, "isConstant": false, "isLValue": false, "isPure": false, @@ -7254,26 +7227,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 538, + "id": 536, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "11209:12:0", + "src": "11189:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 540, + "id": 538, "indexExpression": { "argumentTypes": null, - "id": 539, + "id": 537, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 489, - "src": "11222:10:0", + "referencedDeclaration": 487, + "src": "11202:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -7284,13 +7257,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "11209:24:0", + "src": "11189:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 541, + "id": 539, "isConstant": false, "isLValue": true, "isPure": false, @@ -7298,7 +7271,7 @@ "memberName": "lastModified", "nodeType": "MemberAccess", "referencedDeclaration": 42, - "src": "11209:37:0", + "src": "11189:37:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7310,18 +7283,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 542, + "id": 540, "name": "block", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1371, - "src": "11249:5:0", + "referencedDeclaration": 1369, + "src": "11229:5:0", "typeDescriptions": { "typeIdentifier": "t_magic_block", "typeString": "block" } }, - "id": 543, + "id": 541, "isConstant": false, "isLValue": false, "isPure": false, @@ -7329,21 +7302,21 @@ "memberName": "timestamp", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "11249:15:0", + "src": "11229:15:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "11209:55:0", + "src": "11189:55:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 545, + "id": 543, "nodeType": "ExpressionStatement", - "src": "11209:55:0" + "src": "11189:55:0" }, { "expression": { @@ -7355,7 +7328,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 556, + "id": 554, "isConstant": false, "isLValue": false, "isPure": false, @@ -7365,12 +7338,12 @@ "arguments": [ { "argumentTypes": null, - "id": 548, + "id": 546, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 489, - "src": "11310:10:0", + "referencedDeclaration": 487, + "src": "11290:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -7378,12 +7351,12 @@ }, { "argumentTypes": null, - "id": 549, + "id": 547, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 492, - "src": "11322:12:0", + "referencedDeclaration": 490, + "src": "11302:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" @@ -7391,12 +7364,12 @@ }, { "argumentTypes": null, - "id": 550, + "id": 548, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 495, - "src": "11336:7:0", + "referencedDeclaration": 493, + "src": "11316:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", "typeString": "uint256[] calldata" @@ -7418,18 +7391,18 @@ "typeString": "uint256[] calldata" } ], - "id": 547, + "id": 545, "name": "_transferFunds", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 888, - "src": "11295:14:0", + "referencedDeclaration": 886, + "src": "11275:14:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$_t_uint256_$", "typeString": "function (bytes32,address[] memory,uint256[] memory) returns (uint256)" } }, - "id": 551, + "id": 549, "isConstant": false, "isLValue": false, "isPure": false, @@ -7437,7 +7410,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "11295:49:0", + "src": "11275:49:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7451,26 +7424,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 552, + "id": 550, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "11348:12:0", + "src": "11328:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 554, + "id": 552, "indexExpression": { "argumentTypes": null, - "id": 553, + "id": 551, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 489, - "src": "11361:10:0", + "referencedDeclaration": 487, + "src": "11341:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -7481,13 +7454,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "11348:24:0", + "src": "11328:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 555, + "id": 553, "isConstant": false, "isLValue": true, "isPure": false, @@ -7495,13 +7468,13 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": 40, - "src": "11348:30:0", + "src": "11328:30:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "11295:83:0", + "src": "11275:83:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -7510,14 +7483,14 @@ { "argumentTypes": null, "hexValue": "546f74616c2076616c756520746f2062652072656c6561736564206d75737420626520657175616c20746f20746865207472616e73616374696f6e20657363726f772076616c7565", - "id": 557, + "id": 555, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "11392:74:0", + "src": "11372:74:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_9e0bdb14e2e0d5e118fd1f547268c6a1fdb5e8facacd614066d4b60bc2c9941d", @@ -7537,21 +7510,21 @@ "typeString": "literal_string \"Total value to be released must be equal to the transaction escrow value\"" } ], - "id": 546, + "id": 544, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1384, - 1385 + 1382, + 1383 ], - "referencedDeclaration": 1385, - "src": "11274:7:0", + "referencedDeclaration": 1383, + "src": "11254:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 558, + "id": 556, "isConstant": false, "isLValue": false, "isPure": false, @@ -7559,15 +7532,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "11274:202:0", + "src": "11254:202:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 559, + "id": 557, "nodeType": "ExpressionStatement", - "src": "11274:202:0" + "src": "11254:202:0" }, { "eventCall": { @@ -7575,12 +7548,12 @@ "arguments": [ { "argumentTypes": null, - "id": 561, + "id": 559, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 489, - "src": "11509:10:0", + "referencedDeclaration": 487, + "src": "11489:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -7588,12 +7561,12 @@ }, { "argumentTypes": null, - "id": 562, + "id": 560, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 492, - "src": "11521:12:0", + "referencedDeclaration": 490, + "src": "11501:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" @@ -7601,12 +7574,12 @@ }, { "argumentTypes": null, - "id": 563, + "id": 561, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 495, - "src": "11535:7:0", + "referencedDeclaration": 493, + "src": "11515:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", "typeString": "uint256[] calldata" @@ -7628,18 +7601,18 @@ "typeString": "uint256[] calldata" } ], - "id": 560, + "id": 558, "name": "Executed", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 22, - "src": "11500:8:0", + "src": "11480:8:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$__$", "typeString": "function (bytes32,address[] memory,uint256[] memory)" } }, - "id": 564, + "id": 562, "isConstant": false, "isLValue": false, "isPure": false, @@ -7647,20 +7620,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "11500:43:0", + "src": "11480:43:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 565, + "id": 563, "nodeType": "EmitStatement", - "src": "11495:48:0" + "src": "11475:48:0" } ] }, "documentation": "dev This method will be used to release funds associated with the transaction\nPlease see specs https://github.com/OpenBazaar/smart-contracts/blob/master/contracts/escrow/EscrowSpec.md\nparam sigV Array containing V component of all the signatures\nparam sigR Array containing R component of all the signatures\nparam signS Array containing S component of all the signatures\nparam scriptHash script hash of the transaction\nparam destinations List of addresses who will receive funds\nparam amounts amount released to each destination", - "id": 567, + "id": 565, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -7669,82 +7642,82 @@ "arguments": [ { "argumentTypes": null, - "id": 498, + "id": 496, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 489, - "src": "10568:10:0", + "referencedDeclaration": 487, + "src": "10548:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } } ], - "id": 499, + "id": 497, "modifierName": { "argumentTypes": null, - "id": 497, + "id": 495, "name": "transactionExist", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 99, - "src": "10551:16:0", + "src": "10531:16:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "10551:28:0" + "src": "10531:28:0" }, { "arguments": [ { "argumentTypes": null, - "id": 501, + "id": 499, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 489, - "src": "10602:10:0", + "referencedDeclaration": 487, + "src": "10582:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } } ], - "id": 502, + "id": 500, "modifierName": { "argumentTypes": null, - "id": 500, + "id": 498, "name": "inFundedState", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 132, - "src": "10588:13:0", + "src": "10568:13:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "10588:25:0" + "src": "10568:25:0" } ], "name": "execute", "nodeType": "FunctionDefinition", "parameters": { - "id": 496, + "id": 494, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 481, + "id": 479, "name": "sigV", "nodeType": "VariableDeclaration", - "scope": 567, - "src": "10372:12:0", + "scope": 565, + "src": "10352:12:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -7753,19 +7726,19 @@ }, "typeName": { "baseType": { - "id": 479, + "id": 477, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "10372:5:0", + "src": "10352:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, - "id": 480, + "id": 478, "length": null, "nodeType": "ArrayTypeName", - "src": "10372:7:0", + "src": "10352:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_storage_ptr", "typeString": "uint8[]" @@ -7776,11 +7749,11 @@ }, { "constant": false, - "id": 484, + "id": 482, "name": "sigR", "nodeType": "VariableDeclaration", - "scope": 567, - "src": "10394:14:0", + "scope": 565, + "src": "10374:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -7789,19 +7762,19 @@ }, "typeName": { "baseType": { - "id": 482, + "id": 480, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "10394:7:0", + "src": "10374:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "id": 483, + "id": 481, "length": null, "nodeType": "ArrayTypeName", - "src": "10394:9:0", + "src": "10374:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -7812,11 +7785,11 @@ }, { "constant": false, - "id": 487, + "id": 485, "name": "sigS", "nodeType": "VariableDeclaration", - "scope": 567, - "src": "10418:14:0", + "scope": 565, + "src": "10398:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -7825,19 +7798,19 @@ }, "typeName": { "baseType": { - "id": 485, + "id": 483, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "10418:7:0", + "src": "10398:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "id": 486, + "id": 484, "length": null, "nodeType": "ArrayTypeName", - "src": "10418:9:0", + "src": "10398:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -7848,11 +7821,11 @@ }, { "constant": false, - "id": 489, + "id": 487, "name": "scriptHash", "nodeType": "VariableDeclaration", - "scope": 567, - "src": "10442:18:0", + "scope": 565, + "src": "10422:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -7860,10 +7833,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 488, + "id": 486, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "10442:7:0", + "src": "10422:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -7874,11 +7847,11 @@ }, { "constant": false, - "id": 492, + "id": 490, "name": "destinations", "nodeType": "VariableDeclaration", - "scope": 567, - "src": "10470:22:0", + "scope": 565, + "src": "10450:22:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -7887,19 +7860,19 @@ }, "typeName": { "baseType": { - "id": 490, + "id": 488, "name": "address", "nodeType": "ElementaryTypeName", - "src": "10470:7:0", + "src": "10450:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 491, + "id": 489, "length": null, "nodeType": "ArrayTypeName", - "src": "10470:9:0", + "src": "10450:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", "typeString": "address[]" @@ -7910,11 +7883,11 @@ }, { "constant": false, - "id": 495, + "id": 493, "name": "amounts", "nodeType": "VariableDeclaration", - "scope": 567, - "src": "10502:17:0", + "scope": 565, + "src": "10482:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -7923,19 +7896,19 @@ }, "typeName": { "baseType": { - "id": 493, + "id": 491, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "10502:7:0", + "src": "10482:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 494, + "id": 492, "length": null, "nodeType": "ArrayTypeName", - "src": "10502:9:0", + "src": "10482:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -7945,26 +7918,26 @@ "visibility": "internal" } ], - "src": "10362:163:0" + "src": "10342:163:0" }, "payable": false, "returnParameters": { - "id": 503, + "id": 501, "nodeType": "ParameterList", "parameters": [], - "src": "10618:0:0" + "src": "10598:0:0" }, - "scope": 1208, - "src": "10346:1204:0", + "scope": 1206, + "src": "10326:1204:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" }, { "body": { - "id": 625, + "id": 623, "nodeType": "Block", - "src": "12354:734:0", + "src": "12334:734:0", "statements": [ { "condition": { @@ -7973,19 +7946,19 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 590, + "id": 588, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 586, + "id": 584, "name": "tokenAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 581, - "src": "12368:12:0", + "referencedDeclaration": 579, + "src": "12348:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -7999,14 +7972,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 588, + "id": 586, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "12392:1:0", + "src": "12372:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -8022,20 +7995,20 @@ "typeString": "int_const 0" } ], - "id": 587, + "id": 585, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "12384:7:0", + "src": "12364:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, - "id": 589, + "id": 587, "isConstant": false, "isLValue": false, "isPure": true, @@ -8043,22 +8016,22 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "12384:10:0", + "src": "12364:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "12368:26:0", + "src": "12348:26:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": { - "id": 623, + "id": 621, "nodeType": "Block", - "src": "12725:357:0", + "src": "12705:357:0", "statements": [ { "expression": { @@ -8069,12 +8042,12 @@ "arguments": [ { "argumentTypes": null, - "id": 610, + "id": 608, "name": "uniqueId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 569, - "src": "12811:8:0", + "referencedDeclaration": 567, + "src": "12791:8:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -8082,12 +8055,12 @@ }, { "argumentTypes": null, - "id": 611, + "id": 609, "name": "threshold", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 571, - "src": "12841:9:0", + "referencedDeclaration": 569, + "src": "12821:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -8095,12 +8068,12 @@ }, { "argumentTypes": null, - "id": 612, + "id": 610, "name": "timeoutHours", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 573, - "src": "12872:12:0", + "referencedDeclaration": 571, + "src": "12852:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -8108,12 +8081,12 @@ }, { "argumentTypes": null, - "id": 613, + "id": 611, "name": "buyer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 575, - "src": "12906:5:0", + "referencedDeclaration": 573, + "src": "12886:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8121,12 +8094,12 @@ }, { "argumentTypes": null, - "id": 614, + "id": 612, "name": "seller", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 577, - "src": "12933:6:0", + "referencedDeclaration": 575, + "src": "12913:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8134,12 +8107,12 @@ }, { "argumentTypes": null, - "id": 615, + "id": 613, "name": "moderator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 579, - "src": "12961:9:0", + "referencedDeclaration": 577, + "src": "12941:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8150,14 +8123,14 @@ "arguments": [ { "argumentTypes": null, - "id": 617, + "id": 615, "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1398, - "src": "13000:4:0", + "referencedDeclaration": 1396, + "src": "12980:4:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_Escrow_v1_0_$1208", + "typeIdentifier": "t_contract$_Escrow_v1_0_$1206", "typeString": "contract Escrow_v1_0" } } @@ -8165,24 +8138,24 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_Escrow_v1_0_$1208", + "typeIdentifier": "t_contract$_Escrow_v1_0_$1206", "typeString": "contract Escrow_v1_0" } ], - "id": 616, + "id": 614, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "12992:7:0", + "src": "12972:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, - "id": 618, + "id": 616, "isConstant": false, "isLValue": false, "isPure": false, @@ -8190,7 +8163,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "12992:13:0", + "src": "12972:13:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8198,12 +8171,12 @@ }, { "argumentTypes": null, - "id": 619, + "id": 617, "name": "tokenAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 581, - "src": "13027:12:0", + "referencedDeclaration": 579, + "src": "13007:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8247,18 +8220,18 @@ ], "expression": { "argumentTypes": null, - "id": 608, + "id": 606, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1368, - "src": "12773:3:0", + "referencedDeclaration": 1366, + "src": "12753:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, - "id": 609, + "id": 607, "isConstant": false, "isLValue": false, "isPure": true, @@ -8266,13 +8239,13 @@ "memberName": "encodePacked", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "12773:16:0", + "src": "12753:16:0", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, - "id": 620, + "id": 618, "isConstant": false, "isLValue": false, "isPure": false, @@ -8280,7 +8253,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "12773:284:0", + "src": "12753:284:0", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -8294,18 +8267,18 @@ "typeString": "bytes memory" } ], - "id": 607, + "id": 605, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1375, - "src": "12746:9:0", + "referencedDeclaration": 1373, + "src": "12726:9:0", "typeDescriptions": { "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", "typeString": "function () pure returns (bytes32)" } }, - "id": 621, + "id": 619, "isConstant": false, "isLValue": false, "isPure": false, @@ -8313,26 +8286,26 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "12746:325:0", + "src": "12726:325:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "functionReturnParameters": 585, - "id": 622, + "functionReturnParameters": 583, + "id": 620, "nodeType": "Return", - "src": "12739:332:0" + "src": "12719:332:0" } ] }, - "id": 624, + "id": 622, "nodeType": "IfStatement", - "src": "12364:718:0", + "src": "12344:718:0", "trueBody": { - "id": 606, + "id": 604, "nodeType": "Block", - "src": "12396:323:0", + "src": "12376:323:0", "statements": [ { "expression": { @@ -8343,12 +8316,12 @@ "arguments": [ { "argumentTypes": null, - "id": 594, + "id": 592, "name": "uniqueId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 569, - "src": "12482:8:0", + "referencedDeclaration": 567, + "src": "12462:8:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -8356,12 +8329,12 @@ }, { "argumentTypes": null, - "id": 595, + "id": 593, "name": "threshold", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 571, - "src": "12512:9:0", + "referencedDeclaration": 569, + "src": "12492:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -8369,12 +8342,12 @@ }, { "argumentTypes": null, - "id": 596, + "id": 594, "name": "timeoutHours", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 573, - "src": "12543:12:0", + "referencedDeclaration": 571, + "src": "12523:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -8382,12 +8355,12 @@ }, { "argumentTypes": null, - "id": 597, + "id": 595, "name": "buyer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 575, - "src": "12577:5:0", + "referencedDeclaration": 573, + "src": "12557:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8395,12 +8368,12 @@ }, { "argumentTypes": null, - "id": 598, + "id": 596, "name": "seller", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 577, - "src": "12604:6:0", + "referencedDeclaration": 575, + "src": "12584:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8408,12 +8381,12 @@ }, { "argumentTypes": null, - "id": 599, + "id": 597, "name": "moderator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 579, - "src": "12632:9:0", + "referencedDeclaration": 577, + "src": "12612:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8424,14 +8397,14 @@ "arguments": [ { "argumentTypes": null, - "id": 601, + "id": 599, "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1398, - "src": "12671:4:0", + "referencedDeclaration": 1396, + "src": "12651:4:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_Escrow_v1_0_$1208", + "typeIdentifier": "t_contract$_Escrow_v1_0_$1206", "typeString": "contract Escrow_v1_0" } } @@ -8439,24 +8412,24 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_Escrow_v1_0_$1208", + "typeIdentifier": "t_contract$_Escrow_v1_0_$1206", "typeString": "contract Escrow_v1_0" } ], - "id": 600, + "id": 598, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "12663:7:0", + "src": "12643:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, - "id": 602, + "id": 600, "isConstant": false, "isLValue": false, "isPure": false, @@ -8464,7 +8437,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "12663:13:0", + "src": "12643:13:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8504,18 +8477,18 @@ ], "expression": { "argumentTypes": null, - "id": 592, + "id": 590, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1368, - "src": "12444:3:0", + "referencedDeclaration": 1366, + "src": "12424:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, - "id": 593, + "id": 591, "isConstant": false, "isLValue": false, "isPure": true, @@ -8523,13 +8496,13 @@ "memberName": "encodePacked", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "12444:16:0", + "src": "12424:16:0", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, - "id": 603, + "id": 601, "isConstant": false, "isLValue": false, "isPure": false, @@ -8537,7 +8510,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "12444:250:0", + "src": "12424:250:0", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -8551,18 +8524,18 @@ "typeString": "bytes memory" } ], - "id": 591, + "id": 589, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1375, - "src": "12417:9:0", + "referencedDeclaration": 1373, + "src": "12397:9:0", "typeDescriptions": { "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", "typeString": "function () pure returns (bytes32)" } }, - "id": 604, + "id": 602, "isConstant": false, "isLValue": false, "isPure": false, @@ -8570,16 +8543,16 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "12417:291:0", + "src": "12397:291:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "functionReturnParameters": 585, - "id": 605, + "functionReturnParameters": 583, + "id": 603, "nodeType": "Return", - "src": "12410:298:0" + "src": "12390:298:0" } ] } @@ -8587,7 +8560,7 @@ ] }, "documentation": "dev Method for calculating script hash. Calculation will depend upon the type of transaction\nETHER Type transaction-:\nScript Hash- keccak256(uniqueId, threshold, timeoutHours, buyer, seller, moderator, multiSigContractAddress)\nTOKEN Type transaction\nScript Hash- keccak256(uniqueId, threshold, timeoutHours, buyer, seller, moderator, multiSigContractAddress, tokenAddress)\nClient can use this method to verify whether it has calculated correct script hash or not", - "id": 626, + "id": 624, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -8595,16 +8568,16 @@ "name": "calculateRedeemScriptHash", "nodeType": "FunctionDefinition", "parameters": { - "id": 582, + "id": 580, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 569, + "id": 567, "name": "uniqueId", "nodeType": "VariableDeclaration", - "scope": 626, - "src": "12115:16:0", + "scope": 624, + "src": "12095:16:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8612,10 +8585,10 @@ "typeString": "bytes20" }, "typeName": { - "id": 568, + "id": 566, "name": "bytes20", "nodeType": "ElementaryTypeName", - "src": "12115:7:0", + "src": "12095:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -8626,11 +8599,11 @@ }, { "constant": false, - "id": 571, + "id": 569, "name": "threshold", "nodeType": "VariableDeclaration", - "scope": 626, - "src": "12141:15:0", + "scope": 624, + "src": "12121:15:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8638,10 +8611,10 @@ "typeString": "uint8" }, "typeName": { - "id": 570, + "id": 568, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "12141:5:0", + "src": "12121:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -8652,11 +8625,11 @@ }, { "constant": false, - "id": 573, + "id": 571, "name": "timeoutHours", "nodeType": "VariableDeclaration", - "scope": 626, - "src": "12166:19:0", + "scope": 624, + "src": "12146:19:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8664,10 +8637,10 @@ "typeString": "uint32" }, "typeName": { - "id": 572, + "id": 570, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "12166:6:0", + "src": "12146:6:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -8678,11 +8651,11 @@ }, { "constant": false, - "id": 575, + "id": 573, "name": "buyer", "nodeType": "VariableDeclaration", - "scope": 626, - "src": "12195:13:0", + "scope": 624, + "src": "12175:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8690,10 +8663,10 @@ "typeString": "address" }, "typeName": { - "id": 574, + "id": 572, "name": "address", "nodeType": "ElementaryTypeName", - "src": "12195:7:0", + "src": "12175:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8704,11 +8677,11 @@ }, { "constant": false, - "id": 577, + "id": 575, "name": "seller", "nodeType": "VariableDeclaration", - "scope": 626, - "src": "12218:14:0", + "scope": 624, + "src": "12198:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8716,10 +8689,10 @@ "typeString": "address" }, "typeName": { - "id": 576, + "id": 574, "name": "address", "nodeType": "ElementaryTypeName", - "src": "12218:7:0", + "src": "12198:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8730,11 +8703,11 @@ }, { "constant": false, - "id": 579, + "id": 577, "name": "moderator", "nodeType": "VariableDeclaration", - "scope": 626, - "src": "12242:17:0", + "scope": 624, + "src": "12222:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8742,10 +8715,10 @@ "typeString": "address" }, "typeName": { - "id": 578, + "id": 576, "name": "address", "nodeType": "ElementaryTypeName", - "src": "12242:7:0", + "src": "12222:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8756,11 +8729,11 @@ }, { "constant": false, - "id": 581, + "id": 579, "name": "tokenAddress", "nodeType": "VariableDeclaration", - "scope": 626, - "src": "12269:20:0", + "scope": 624, + "src": "12249:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8768,10 +8741,10 @@ "typeString": "address" }, "typeName": { - "id": 580, + "id": 578, "name": "address", "nodeType": "ElementaryTypeName", - "src": "12269:7:0", + "src": "12249:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8781,20 +8754,20 @@ "visibility": "internal" } ], - "src": "12105:190:0" + "src": "12085:190:0" }, "payable": false, "returnParameters": { - "id": 585, + "id": 583, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 584, + "id": 582, "name": "", "nodeType": "VariableDeclaration", - "scope": 626, - "src": "12341:7:0", + "scope": 624, + "src": "12321:7:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8802,10 +8775,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 583, + "id": 581, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "12341:7:0", + "src": "12321:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -8815,32 +8788,32 @@ "visibility": "internal" } ], - "src": "12340:9:0" + "src": "12320:9:0" }, - "scope": 1208, - "src": "12071:1017:0", + "scope": 1206, + "src": "12051:1017:0", "stateMutability": "view", "superFunction": null, "visibility": "public" }, { "body": { - "id": 694, + "id": 692, "nodeType": "Block", - "src": "13573:797:0", + "src": "13553:797:0", "statements": [ { "assignments": [ - 647 + 645 ], "declarations": [ { "constant": false, - "id": 647, + "id": 645, "name": "lastRecovered", "nodeType": "VariableDeclaration", - "scope": 695, - "src": "13583:21:0", + "scope": 693, + "src": "13563:21:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8848,10 +8821,10 @@ "typeString": "address" }, "typeName": { - "id": 646, + "id": 644, "name": "address", "nodeType": "ElementaryTypeName", - "src": "13583:7:0", + "src": "13563:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8861,18 +8834,18 @@ "visibility": "internal" } ], - "id": 656, + "id": 654, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 649, + "id": 647, "name": "sigV", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 629, - "src": "13638:4:0", + "referencedDeclaration": 627, + "src": "13618:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr", "typeString": "uint8[] memory" @@ -8880,12 +8853,12 @@ }, { "argumentTypes": null, - "id": 650, + "id": 648, "name": "sigR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 632, - "src": "13656:4:0", + "referencedDeclaration": 630, + "src": "13636:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" @@ -8893,12 +8866,12 @@ }, { "argumentTypes": null, - "id": 651, + "id": 649, "name": "sigS", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 635, - "src": "13674:4:0", + "referencedDeclaration": 633, + "src": "13654:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" @@ -8906,12 +8879,12 @@ }, { "argumentTypes": null, - "id": 652, + "id": 650, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 637, - "src": "13692:10:0", + "referencedDeclaration": 635, + "src": "13672:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -8919,12 +8892,12 @@ }, { "argumentTypes": null, - "id": 653, + "id": 651, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 640, - "src": "13716:12:0", + "referencedDeclaration": 638, + "src": "13696:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -8932,12 +8905,12 @@ }, { "argumentTypes": null, - "id": 654, + "id": 652, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 643, - "src": "13742:7:0", + "referencedDeclaration": 641, + "src": "13722:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" @@ -8971,18 +8944,18 @@ "typeString": "uint256[] memory" } ], - "id": 648, + "id": 646, "name": "_verifySignatures", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1019, - "src": "13607:17:0", + "referencedDeclaration": 1017, + "src": "13587:17:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_array$_t_uint8_$dyn_memory_ptr_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_bytes32_$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$_t_address_$", "typeString": "function (uint8[] memory,bytes32[] memory,bytes32[] memory,bytes32,address[] memory,uint256[] memory) returns (address)" } }, - "id": 655, + "id": 653, "isConstant": false, "isLValue": false, "isPure": false, @@ -8990,27 +8963,27 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "13607:152:0", + "src": "13587:152:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "VariableDeclarationStatement", - "src": "13583:176:0" + "src": "13563:176:0" }, { "assignments": [ - 658 + 656 ], "declarations": [ { "constant": false, - "id": 658, + "id": 656, "name": "timeLockExpired", "nodeType": "VariableDeclaration", - "scope": 695, - "src": "13770:20:0", + "scope": 693, + "src": "13750:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9018,10 +8991,10 @@ "typeString": "bool" }, "typeName": { - "id": 657, + "id": 655, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "13770:4:0", + "src": "13750:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -9031,7 +9004,7 @@ "visibility": "internal" } ], - "id": 669, + "id": 667, "initialValue": { "argumentTypes": null, "arguments": [ @@ -9041,26 +9014,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 660, + "id": 658, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "13825:12:0", + "src": "13805:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 662, + "id": 660, "indexExpression": { "argumentTypes": null, - "id": 661, + "id": 659, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 637, - "src": "13838:10:0", + "referencedDeclaration": 635, + "src": "13818:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -9071,13 +9044,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "13825:24:0", + "src": "13805:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 663, + "id": 661, "isConstant": false, "isLValue": true, "isPure": false, @@ -9085,7 +9058,7 @@ "memberName": "timeoutHours", "nodeType": "MemberAccess", "referencedDeclaration": 50, - "src": "13825:37:0", + "src": "13805:37:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -9097,26 +9070,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 664, + "id": 662, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "13876:12:0", + "src": "13856:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 666, + "id": 664, "indexExpression": { "argumentTypes": null, - "id": 665, + "id": 663, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 637, - "src": "13889:10:0", + "referencedDeclaration": 635, + "src": "13869:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -9127,13 +9100,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "13876:24:0", + "src": "13856:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 667, + "id": 665, "isConstant": false, "isLValue": true, "isPure": false, @@ -9141,7 +9114,7 @@ "memberName": "lastModified", "nodeType": "MemberAccess", "referencedDeclaration": 42, - "src": "13876:37:0", + "src": "13856:37:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9159,18 +9132,18 @@ "typeString": "uint256" } ], - "id": 659, + "id": 657, "name": "_isTimeLockExpired", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1051, - "src": "13793:18:0", + "referencedDeclaration": 1049, + "src": "13773:18:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_uint32_$_t_uint256_$returns$_t_bool_$", "typeString": "function (uint32,uint256) view returns (bool)" } }, - "id": 668, + "id": 666, "isConstant": false, "isLValue": false, "isPure": false, @@ -9178,14 +9151,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "13793:130:0", + "src": "13773:130:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "nodeType": "VariableDeclarationStatement", - "src": "13770:153:0" + "src": "13750:153:0" }, { "condition": { @@ -9194,7 +9167,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 687, + "id": 685, "isConstant": false, "isLValue": false, "isPure": false, @@ -9205,7 +9178,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 676, + "id": 674, "isConstant": false, "isLValue": false, "isPure": false, @@ -9214,18 +9187,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 670, + "id": 668, "name": "sigV", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 629, - "src": "14095:4:0", + "referencedDeclaration": 627, + "src": "14075:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr", "typeString": "uint8[] memory" } }, - "id": 671, + "id": 669, "isConstant": false, "isLValue": false, "isPure": false, @@ -9233,7 +9206,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "14095:11:0", + "src": "14075:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9247,26 +9220,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 672, + "id": 670, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "14109:12:0", + "src": "14089:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 674, + "id": 672, "indexExpression": { "argumentTypes": null, - "id": 673, + "id": 671, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 637, - "src": "14122:10:0", + "referencedDeclaration": 635, + "src": "14102:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -9277,13 +9250,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "14109:24:0", + "src": "14089:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 675, + "id": 673, "isConstant": false, "isLValue": true, "isPure": false, @@ -9291,13 +9264,13 @@ "memberName": "threshold", "nodeType": "MemberAccess", "referencedDeclaration": 48, - "src": "14109:34:0", + "src": "14089:34:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, - "src": "14095:48:0", + "src": "14075:48:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -9314,14 +9287,14 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 685, + "id": 683, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 678, + "id": 676, "isConstant": false, "isLValue": false, "isPure": false, @@ -9329,15 +9302,15 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "14148:16:0", + "src": "14128:16:0", "subExpression": { "argumentTypes": null, - "id": 677, + "id": 675, "name": "timeLockExpired", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 658, - "src": "14149:15:0", + "referencedDeclaration": 656, + "src": "14129:15:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -9356,19 +9329,19 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 684, + "id": 682, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 679, + "id": 677, "name": "lastRecovered", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 647, - "src": "14168:13:0", + "referencedDeclaration": 645, + "src": "14148:13:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -9382,26 +9355,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 680, + "id": 678, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "14185:12:0", + "src": "14165:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 682, + "id": 680, "indexExpression": { "argumentTypes": null, - "id": 681, + "id": 679, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 637, - "src": "14198:10:0", + "referencedDeclaration": 635, + "src": "14178:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -9412,13 +9385,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "14185:24:0", + "src": "14165:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 683, + "id": 681, "isConstant": false, "isLValue": true, "isPure": false, @@ -9426,52 +9399,52 @@ "memberName": "seller", "nodeType": "MemberAccess", "referencedDeclaration": 54, - "src": "14185:31:0", + "src": "14165:31:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "14168:48:0", + "src": "14148:48:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "14148:68:0", + "src": "14128:68:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } } ], - "id": 686, + "id": 684, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "14147:70:0", + "src": "14127:70:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "14095:122:0", + "src": "14075:122:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, - "id": 693, + "id": 691, "nodeType": "IfStatement", - "src": "14074:289:0", + "src": "14054:289:0", "trueBody": { - "id": 692, + "id": 690, "nodeType": "Block", - "src": "14240:123:0", + "src": "14220:123:0", "statements": [ { "expression": { @@ -9480,14 +9453,14 @@ { "argumentTypes": null, "hexValue": "4d696e696d756d206e756d626572206f66207369676e61747572657320617265206e6f7420636f6c6c656374656420616e642074696d65206c6f636b2065787069727920636f6e646974696f6e73206e6f74206d65742121", - "id": 689, + "id": 687, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "14261:90:0", + "src": "14241:90:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_e454643f61f81e3a3dc8dabaafde295fea592e232abeb03abbb1835bdc3d20d0", @@ -9503,21 +9476,21 @@ "typeString": "literal_string \"Minimum number of signatures are not collected and time lock expiry conditions not met!!\"" } ], - "id": 688, + "id": 686, "name": "revert", "nodeType": "Identifier", "overloadedDeclarations": [ - 1386, - 1387 + 1384, + 1385 ], - "referencedDeclaration": 1387, - "src": "14254:6:0", + "referencedDeclaration": 1385, + "src": "14234:6:0", "typeDescriptions": { "typeIdentifier": "t_function_revert_pure$_t_string_memory_ptr_$returns$__$", "typeString": "function (string memory) pure" } }, - "id": 690, + "id": 688, "isConstant": false, "isLValue": false, "isPure": false, @@ -9525,15 +9498,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "14254:98:0", + "src": "14234:98:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 691, + "id": 689, "nodeType": "ExpressionStatement", - "src": "14254:98:0" + "src": "14234:98:0" } ] } @@ -9541,7 +9514,7 @@ ] }, "documentation": "@dev This methods checks validity of transaction\n1. Verify Signatures\n2. Check if minimum number of signatures has been acquired\n3. If above condition is false, check if time lock is expired and the execution is signed by seller", - "id": 695, + "id": 693, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -9549,16 +9522,16 @@ "name": "_verifyTransaction", "nodeType": "FunctionDefinition", "parameters": { - "id": 644, + "id": 642, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 629, + "id": 627, "name": "sigV", "nodeType": "VariableDeclaration", - "scope": 695, - "src": "13399:12:0", + "scope": 693, + "src": "13379:12:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9567,19 +9540,19 @@ }, "typeName": { "baseType": { - "id": 627, + "id": 625, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "13399:5:0", + "src": "13379:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, - "id": 628, + "id": 626, "length": null, "nodeType": "ArrayTypeName", - "src": "13399:7:0", + "src": "13379:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_storage_ptr", "typeString": "uint8[]" @@ -9590,11 +9563,11 @@ }, { "constant": false, - "id": 632, + "id": 630, "name": "sigR", "nodeType": "VariableDeclaration", - "scope": 695, - "src": "13421:14:0", + "scope": 693, + "src": "13401:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9603,19 +9576,19 @@ }, "typeName": { "baseType": { - "id": 630, + "id": 628, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "13421:7:0", + "src": "13401:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "id": 631, + "id": 629, "length": null, "nodeType": "ArrayTypeName", - "src": "13421:9:0", + "src": "13401:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -9626,11 +9599,11 @@ }, { "constant": false, - "id": 635, + "id": 633, "name": "sigS", "nodeType": "VariableDeclaration", - "scope": 695, - "src": "13445:14:0", + "scope": 693, + "src": "13425:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9639,19 +9612,19 @@ }, "typeName": { "baseType": { - "id": 633, + "id": 631, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "13445:7:0", + "src": "13425:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "id": 634, + "id": 632, "length": null, "nodeType": "ArrayTypeName", - "src": "13445:9:0", + "src": "13425:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -9662,11 +9635,11 @@ }, { "constant": false, - "id": 637, + "id": 635, "name": "scriptHash", "nodeType": "VariableDeclaration", - "scope": 695, - "src": "13469:18:0", + "scope": 693, + "src": "13449:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9674,10 +9647,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 636, + "id": 634, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "13469:7:0", + "src": "13449:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -9688,11 +9661,11 @@ }, { "constant": false, - "id": 640, + "id": 638, "name": "destinations", "nodeType": "VariableDeclaration", - "scope": 695, - "src": "13497:22:0", + "scope": 693, + "src": "13477:22:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9701,19 +9674,19 @@ }, "typeName": { "baseType": { - "id": 638, + "id": 636, "name": "address", "nodeType": "ElementaryTypeName", - "src": "13497:7:0", + "src": "13477:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 639, + "id": 637, "length": null, "nodeType": "ArrayTypeName", - "src": "13497:9:0", + "src": "13477:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", "typeString": "address[]" @@ -9724,11 +9697,11 @@ }, { "constant": false, - "id": 643, + "id": 641, "name": "amounts", "nodeType": "VariableDeclaration", - "scope": 695, - "src": "13529:17:0", + "scope": 693, + "src": "13509:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9737,19 +9710,19 @@ }, "typeName": { "baseType": { - "id": 641, + "id": 639, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "13529:7:0", + "src": "13509:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 642, + "id": 640, "length": null, "nodeType": "ArrayTypeName", - "src": "13529:9:0", + "src": "13509:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -9759,39 +9732,39 @@ "visibility": "internal" } ], - "src": "13389:163:0" + "src": "13369:163:0" }, "payable": false, "returnParameters": { - "id": 645, + "id": 643, "nodeType": "ParameterList", "parameters": [], - "src": "13573:0:0" + "src": "13553:0:0" }, - "scope": 1208, - "src": "13362:1008:0", + "scope": 1206, + "src": "13342:1008:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "private" }, { "body": { - "id": 887, + "id": 885, "nodeType": "Block", - "src": "14657:1562:0", + "src": "14637:1562:0", "statements": [ { "assignments": [ - 709 + 707 ], "declarations": [ { "constant": false, - "id": 709, + "id": 707, "name": "t", "nodeType": "VariableDeclaration", - "scope": 888, - "src": "14667:21:0", + "scope": 886, + "src": "14647:21:0", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { @@ -9800,11 +9773,11 @@ }, "typeName": { "contractScope": null, - "id": 708, + "id": 706, "name": "Transaction", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 71, - "src": "14667:11:0", + "src": "14647:11:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction" @@ -9814,31 +9787,31 @@ "visibility": "internal" } ], - "id": 713, + "id": 711, "initialValue": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 710, + "id": 708, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "14691:12:0", + "src": "14671:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 712, + "id": 710, "indexExpression": { "argumentTypes": null, - "id": 711, + "id": 709, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 697, - "src": "14704:10:0", + "referencedDeclaration": 695, + "src": "14684:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -9849,27 +9822,27 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "14691:24:0", + "src": "14671:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "14667:48:0" + "src": "14647:48:0" }, { "assignments": [ - 715 + 713 ], "declarations": [ { "constant": false, - "id": 715, + "id": 713, "name": "valueTransferred", "nodeType": "VariableDeclaration", - "scope": 888, - "src": "14726:24:0", + "scope": 886, + "src": "14706:24:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9877,10 +9850,10 @@ "typeString": "uint256" }, "typeName": { - "id": 714, + "id": 712, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "14726:7:0", + "src": "14706:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9890,18 +9863,18 @@ "visibility": "internal" } ], - "id": 717, + "id": 715, "initialValue": { "argumentTypes": null, "hexValue": "30", - "id": 716, + "id": 714, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "14753:1:0", + "src": "14733:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -9910,7 +9883,7 @@ "value": "0" }, "nodeType": "VariableDeclarationStatement", - "src": "14726:28:0" + "src": "14706:28:0" }, { "condition": { @@ -9919,7 +9892,7 @@ "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" }, - "id": 722, + "id": 720, "isConstant": false, "isLValue": false, "isPure": false, @@ -9928,18 +9901,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 718, + "id": 716, "name": "t", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 709, - "src": "14769:1:0", + "referencedDeclaration": 707, + "src": "14749:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" } }, - "id": 719, + "id": 717, "isConstant": false, "isLValue": true, "isPure": false, @@ -9947,7 +9920,7 @@ "memberName": "transactionType", "nodeType": "MemberAccess", "referencedDeclaration": 46, - "src": "14769:17:0", + "src": "14749:17:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -9959,18 +9932,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 720, + "id": 718, "name": "TransactionType", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12, - "src": "14790:15:0", + "src": "14770:15:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_TransactionType_$12_$", "typeString": "type(enum Escrow_v1_0.TransactionType)" } }, - "id": 721, + "id": 719, "isConstant": false, "isLValue": false, "isPure": true, @@ -9978,13 +9951,13 @@ "memberName": "ETHER", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "14790:21:0", + "src": "14770:21:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" } }, - "src": "14769:42:0", + "src": "14749:42:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -9997,7 +9970,7 @@ "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" }, - "id": 799, + "id": 797, "isConstant": false, "isLValue": false, "isPure": false, @@ -10006,18 +9979,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 795, + "id": 793, "name": "t", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 709, - "src": "15425:1:0", + "referencedDeclaration": 707, + "src": "15405:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" } }, - "id": 796, + "id": 794, "isConstant": false, "isLValue": true, "isPure": false, @@ -10025,7 +9998,7 @@ "memberName": "transactionType", "nodeType": "MemberAccess", "referencedDeclaration": 46, - "src": "15425:17:0", + "src": "15405:17:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -10037,18 +10010,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 797, + "id": 795, "name": "TransactionType", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12, - "src": "15446:15:0", + "src": "15426:15:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_TransactionType_$12_$", "typeString": "type(enum Escrow_v1_0.TransactionType)" } }, - "id": 798, + "id": 796, "isConstant": false, "isLValue": false, "isPure": true, @@ -10056,54 +10029,54 @@ "memberName": "TOKEN", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "15446:21:0", + "src": "15426:21:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" } }, - "src": "15425:42:0", + "src": "15405:42:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, - "id": 883, + "id": 881, "nodeType": "IfStatement", - "src": "15421:758:0", + "src": "15401:758:0", "trueBody": { - "id": 882, + "id": 880, "nodeType": "Block", - "src": "15469:710:0", + "src": "15449:710:0", "statements": [ { "assignments": [ - 801 + 799 ], "declarations": [ { "constant": false, - "id": 801, + "id": 799, "name": "token", "nodeType": "VariableDeclaration", - "scope": 888, - "src": "15484:20:0", + "scope": 886, + "src": "15464:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenContract_$1238", + "typeIdentifier": "t_contract$_ITokenContract_$1236", "typeString": "contract ITokenContract" }, "typeName": { "contractScope": null, - "id": 800, + "id": 798, "name": "ITokenContract", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1238, - "src": "15484:14:0", + "referencedDeclaration": 1236, + "src": "15464:14:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenContract_$1238", + "typeIdentifier": "t_contract$_ITokenContract_$1236", "typeString": "contract ITokenContract" } }, @@ -10111,7 +10084,7 @@ "visibility": "internal" } ], - "id": 806, + "id": 804, "initialValue": { "argumentTypes": null, "arguments": [ @@ -10119,18 +10092,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 803, + "id": 801, "name": "t", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 709, - "src": "15522:1:0", + "referencedDeclaration": 707, + "src": "15502:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" } }, - "id": 804, + "id": 802, "isConstant": false, "isLValue": true, "isPure": false, @@ -10138,7 +10111,7 @@ "memberName": "tokenAddress", "nodeType": "MemberAccess", "referencedDeclaration": 56, - "src": "15522:14:0", + "src": "15502:14:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -10152,18 +10125,18 @@ "typeString": "address" } ], - "id": 802, + "id": 800, "name": "ITokenContract", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1238, - "src": "15507:14:0", + "referencedDeclaration": 1236, + "src": "15487:14:0", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ITokenContract_$1238_$", + "typeIdentifier": "t_type$_t_contract$_ITokenContract_$1236_$", "typeString": "type(contract ITokenContract)" } }, - "id": 805, + "id": 803, "isConstant": false, "isLValue": false, "isPure": false, @@ -10171,20 +10144,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15507:30:0", + "src": "15487:30:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenContract_$1238", + "typeIdentifier": "t_contract$_ITokenContract_$1236", "typeString": "contract ITokenContract" } }, "nodeType": "VariableDeclarationStatement", - "src": "15484:53:0" + "src": "15464:53:0" }, { "body": { - "id": 880, + "id": 878, "nodeType": "Block", - "src": "15600:569:0", + "src": "15580:569:0", "statements": [ { "expression": { @@ -10196,7 +10169,7 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 825, + "id": 823, "isConstant": false, "isLValue": false, "isPure": false, @@ -10205,26 +10178,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 819, + "id": 817, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 700, - "src": "15627:12:0", + "referencedDeclaration": 698, + "src": "15607:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" } }, - "id": 821, + "id": 819, "indexExpression": { "argumentTypes": null, - "id": 820, + "id": 818, "name": "j", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 808, - "src": "15640:1:0", + "referencedDeclaration": 806, + "src": "15620:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10235,7 +10208,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15627:15:0", + "src": "15607:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -10249,14 +10222,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 823, + "id": 821, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "15654:1:0", + "src": "15634:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -10272,20 +10245,20 @@ "typeString": "int_const 0" } ], - "id": 822, + "id": 820, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "15646:7:0", + "src": "15626:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, - "id": 824, + "id": 822, "isConstant": false, "isLValue": false, "isPure": true, @@ -10293,13 +10266,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15646:10:0", + "src": "15626:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "15627:29:0", + "src": "15607:29:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -10308,14 +10281,14 @@ { "argumentTypes": null, "hexValue": "7a65726f2061646472657373206973206e6f7420616c6c6f7765642061732064657374696e6174696f6e2061646472657373", - "id": 826, + "id": 824, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "15658:52:0", + "src": "15638:52:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_587fbb5a9b8e6d4cc482f236066ac51bcf007ae6026eab186437d2f1b22fc139", @@ -10335,21 +10308,21 @@ "typeString": "literal_string \"zero address is not allowed as destination address\"" } ], - "id": 818, + "id": 816, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1384, - 1385 + 1382, + 1383 ], - "referencedDeclaration": 1385, - "src": "15619:7:0", + "referencedDeclaration": 1383, + "src": "15599:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 827, + "id": 825, "isConstant": false, "isLValue": false, "isPure": false, @@ -10357,15 +10330,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15619:92:0", + "src": "15599:92:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 828, + "id": 826, "nodeType": "ExpressionStatement", - "src": "15619:92:0" + "src": "15599:92:0" }, { "expression": { @@ -10377,18 +10350,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 830, + "id": 828, "name": "t", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 709, - "src": "15738:1:0", + "referencedDeclaration": 707, + "src": "15718:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" } }, - "id": 831, + "id": 829, "isConstant": false, "isLValue": true, "isPure": false, @@ -10396,37 +10369,37 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "15738:9:0", + "src": "15718:9:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 835, + "id": 833, "indexExpression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 832, + "id": 830, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 700, - "src": "15748:12:0", + "referencedDeclaration": 698, + "src": "15728:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" } }, - "id": 834, + "id": 832, "indexExpression": { "argumentTypes": null, - "id": 833, + "id": 831, "name": "j", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 808, - "src": "15761:1:0", + "referencedDeclaration": 806, + "src": "15741:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10437,7 +10410,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15748:15:0", + "src": "15728:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -10448,7 +10421,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15738:26:0", + "src": "15718:26:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -10457,14 +10430,14 @@ { "argumentTypes": null, "hexValue": "44657374696e6174696f6e2061646472657373206973206e6f74206f6e65206f6620746865206f776e657273", - "id": 836, + "id": 834, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "15766:46:0", + "src": "15746:46:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_5ccbe9d117aeeb4b3546dfe6a12f083cb37039367b3ec38b60873b8650bc846f", @@ -10484,21 +10457,21 @@ "typeString": "literal_string \"Destination address is not one of the owners\"" } ], - "id": 829, + "id": 827, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1384, - 1385 + 1382, + 1383 ], - "referencedDeclaration": 1385, - "src": "15730:7:0", + "referencedDeclaration": 1383, + "src": "15710:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 837, + "id": 835, "isConstant": false, "isLValue": false, "isPure": false, @@ -10506,15 +10479,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15730:83:0", + "src": "15710:83:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 838, + "id": 836, "nodeType": "ExpressionStatement", - "src": "15730:83:0" + "src": "15710:83:0" }, { "expression": { @@ -10526,7 +10499,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 844, + "id": 842, "isConstant": false, "isLValue": false, "isPure": false, @@ -10535,26 +10508,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 840, + "id": 838, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 703, - "src": "15840:7:0", + "referencedDeclaration": 701, + "src": "15820:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 842, + "id": 840, "indexExpression": { "argumentTypes": null, - "id": 841, + "id": 839, "name": "j", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 808, - "src": "15848:1:0", + "referencedDeclaration": 806, + "src": "15828:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10565,7 +10538,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15840:10:0", + "src": "15820:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10576,14 +10549,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 843, + "id": 841, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "15853:1:0", + "src": "15833:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -10591,7 +10564,7 @@ }, "value": "0" }, - "src": "15840:14:0", + "src": "15820:14:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -10600,14 +10573,14 @@ { "argumentTypes": null, "hexValue": "416d6f756e7420746f2062652073656e742073686f756c642062652067726561746572207468616e2030", - "id": 845, + "id": 843, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "15856:44:0", + "src": "15836:44:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_5e1271a09dbb64ae031de288deb0ad8d707df7db51d6e827931dc8fa6642a71e", @@ -10627,21 +10600,21 @@ "typeString": "literal_string \"Amount to be sent should be greater than 0\"" } ], - "id": 839, + "id": 837, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1384, - 1385 + 1382, + 1383 ], - "referencedDeclaration": 1385, - "src": "15832:7:0", + "referencedDeclaration": 1383, + "src": "15812:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 846, + "id": 844, "isConstant": false, "isLValue": false, "isPure": false, @@ -10649,32 +10622,32 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15832:69:0", + "src": "15812:69:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 847, + "id": 845, "nodeType": "ExpressionStatement", - "src": "15832:69:0" + "src": "15812:69:0" }, { "expression": { "argumentTypes": null, - "id": 855, + "id": 853, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 848, + "id": 846, "name": "valueTransferred", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 715, - "src": "15920:16:0", + "referencedDeclaration": 713, + "src": "15900:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10689,26 +10662,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 851, + "id": 849, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 703, - "src": "15960:7:0", + "referencedDeclaration": 701, + "src": "15940:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 853, + "id": 851, "indexExpression": { "argumentTypes": null, - "id": 852, + "id": 850, "name": "j", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 808, - "src": "15968:1:0", + "referencedDeclaration": 806, + "src": "15948:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10719,7 +10692,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15960:10:0", + "src": "15940:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10735,32 +10708,32 @@ ], "expression": { "argumentTypes": null, - "id": 849, + "id": 847, "name": "valueTransferred", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 715, - "src": "15939:16:0", + "referencedDeclaration": 713, + "src": "15919:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 850, + "id": 848, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 1345, - "src": "15939:20:0", + "referencedDeclaration": 1343, + "src": "15919:20:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 854, + "id": 852, "isConstant": false, "isLValue": false, "isPure": false, @@ -10768,26 +10741,26 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15939:32:0", + "src": "15919:32:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "15920:51:0", + "src": "15900:51:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 856, + "id": 854, "nodeType": "ExpressionStatement", - "src": "15920:51:0" + "src": "15900:51:0" }, { "expression": { "argumentTypes": null, - "id": 865, + "id": 863, "isConstant": false, "isLValue": false, "isPure": false, @@ -10798,18 +10771,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 857, + "id": 855, "name": "t", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 709, - "src": "15989:1:0", + "referencedDeclaration": 707, + "src": "15969:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" } }, - "id": 862, + "id": 860, "isConstant": false, "isLValue": true, "isPure": false, @@ -10817,37 +10790,37 @@ "memberName": "beneficiaries", "nodeType": "MemberAccess", "referencedDeclaration": 70, - "src": "15989:15:0", + "src": "15969:15:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 863, + "id": 861, "indexExpression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 859, + "id": 857, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 700, - "src": "16005:12:0", + "referencedDeclaration": 698, + "src": "15985:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" } }, - "id": 861, + "id": 859, "indexExpression": { "argumentTypes": null, - "id": 860, + "id": 858, "name": "j", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 808, - "src": "16018:1:0", + "referencedDeclaration": 806, + "src": "15998:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10858,7 +10831,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "16005:15:0", + "src": "15985:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -10869,7 +10842,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "15989:32:0", + "src": "15969:32:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -10880,14 +10853,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "74727565", - "id": 864, + "id": 862, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "16024:4:0", + "src": "16004:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -10895,15 +10868,15 @@ }, "value": "true" }, - "src": "15989:39:0", + "src": "15969:39:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 866, + "id": 864, "nodeType": "ExpressionStatement", - "src": "15989:39:0" + "src": "15969:39:0" }, { "expression": { @@ -10916,26 +10889,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 870, + "id": 868, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 700, - "src": "16099:12:0", + "referencedDeclaration": 698, + "src": "16079:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" } }, - "id": 872, + "id": 870, "indexExpression": { "argumentTypes": null, - "id": 871, + "id": 869, "name": "j", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 808, - "src": "16112:1:0", + "referencedDeclaration": 806, + "src": "16092:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10946,7 +10919,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "16099:15:0", + "src": "16079:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -10956,26 +10929,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 873, + "id": 871, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 703, - "src": "16116:7:0", + "referencedDeclaration": 701, + "src": "16096:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 875, + "id": 873, "indexExpression": { "argumentTypes": null, - "id": 874, + "id": 872, "name": "j", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 808, - "src": "16124:1:0", + "referencedDeclaration": 806, + "src": "16104:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10986,7 +10959,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "16116:10:0", + "src": "16096:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11006,32 +10979,32 @@ ], "expression": { "argumentTypes": null, - "id": 868, + "id": 866, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 801, - "src": "16084:5:0", + "referencedDeclaration": 799, + "src": "16064:5:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenContract_$1238", + "typeIdentifier": "t_contract$_ITokenContract_$1236", "typeString": "contract ITokenContract" } }, - "id": 869, + "id": 867, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "transfer", "nodeType": "MemberAccess", - "referencedDeclaration": 1226, - "src": "16084:14:0", + "referencedDeclaration": 1224, + "src": "16064:14:0", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", "typeString": "function (address,uint256) external returns (bool)" } }, - "id": 876, + "id": 874, "isConstant": false, "isLValue": false, "isPure": false, @@ -11039,7 +11012,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16084:43:0", + "src": "16064:43:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -11048,14 +11021,14 @@ { "argumentTypes": null, "hexValue": "546f6b656e207472616e73666572206661696c65642e", - "id": 877, + "id": 875, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "16129:24:0", + "src": "16109:24:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_e545223bb79d8456d66fa5a98897abb42bb4807111f004a120200da3b7e292c5", @@ -11075,21 +11048,21 @@ "typeString": "literal_string \"Token transfer failed.\"" } ], - "id": 867, + "id": 865, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1384, - 1385 + 1382, + 1383 ], - "referencedDeclaration": 1385, - "src": "16076:7:0", + "referencedDeclaration": 1383, + "src": "16056:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 878, + "id": 876, "isConstant": false, "isLValue": false, "isPure": false, @@ -11097,15 +11070,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16076:78:0", + "src": "16056:78:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 879, + "id": 877, "nodeType": "ExpressionStatement", - "src": "16076:78:0" + "src": "16056:78:0" } ] }, @@ -11115,19 +11088,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 814, + "id": 812, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 811, + "id": 809, "name": "j", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 808, - "src": "15572:1:0", + "referencedDeclaration": 806, + "src": "15552:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11139,18 +11112,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 812, + "id": 810, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 700, - "src": "15574:12:0", + "referencedDeclaration": 698, + "src": "15554:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" } }, - "id": 813, + "id": 811, "isConstant": false, "isLValue": false, "isPure": false, @@ -11158,31 +11131,31 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "15574:19:0", + "src": "15554:19:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "15572:21:0", + "src": "15552:21:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 881, + "id": 879, "initializationExpression": { "assignments": [ - 808 + 806 ], "declarations": [ { "constant": false, - "id": 808, + "id": 806, "name": "j", "nodeType": "VariableDeclaration", - "scope": 888, - "src": "15557:9:0", + "scope": 886, + "src": "15537:9:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -11190,10 +11163,10 @@ "typeString": "uint256" }, "typeName": { - "id": 807, + "id": 805, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "15557:7:0", + "src": "15537:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11203,18 +11176,18 @@ "visibility": "internal" } ], - "id": 810, + "id": 808, "initialValue": { "argumentTypes": null, "hexValue": "30", - "id": 809, + "id": 807, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "15569:1:0", + "src": "15549:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -11223,12 +11196,12 @@ "value": "0" }, "nodeType": "VariableDeclarationStatement", - "src": "15557:13:0" + "src": "15537:13:0" }, "loopExpression": { "expression": { "argumentTypes": null, - "id": 816, + "id": 814, "isConstant": false, "isLValue": false, "isPure": false, @@ -11236,15 +11209,15 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "15595:3:0", + "src": "15575:3:0", "subExpression": { "argumentTypes": null, - "id": 815, + "id": 813, "name": "j", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 808, - "src": "15595:1:0", + "referencedDeclaration": 806, + "src": "15575:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11255,29 +11228,29 @@ "typeString": "uint256" } }, - "id": 817, + "id": 815, "nodeType": "ExpressionStatement", - "src": "15595:3:0" + "src": "15575:3:0" }, "nodeType": "ForStatement", - "src": "15552:617:0" + "src": "15532:617:0" } ] } }, - "id": 884, + "id": 882, "nodeType": "IfStatement", - "src": "14765:1414:0", + "src": "14745:1414:0", "trueBody": { - "id": 794, + "id": 792, "nodeType": "Block", - "src": "14813:602:0", + "src": "14793:602:0", "statements": [ { "body": { - "id": 792, + "id": 790, "nodeType": "Block", - "src": "14877:527:0", + "src": "14857:527:0", "statements": [ { "expression": { @@ -11289,7 +11262,7 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 741, + "id": 739, "isConstant": false, "isLValue": false, "isPure": false, @@ -11298,26 +11271,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 735, + "id": 733, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 700, - "src": "14904:12:0", + "referencedDeclaration": 698, + "src": "14884:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" } }, - "id": 737, + "id": 735, "indexExpression": { "argumentTypes": null, - "id": 736, + "id": 734, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 724, - "src": "14917:1:0", + "referencedDeclaration": 722, + "src": "14897:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11328,7 +11301,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "14904:15:0", + "src": "14884:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -11342,14 +11315,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 739, + "id": 737, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "14931:1:0", + "src": "14911:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -11365,20 +11338,20 @@ "typeString": "int_const 0" } ], - "id": 738, + "id": 736, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "14923:7:0", + "src": "14903:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, - "id": 740, + "id": 738, "isConstant": false, "isLValue": false, "isPure": true, @@ -11386,13 +11359,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "14923:10:0", + "src": "14903:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "14904:29:0", + "src": "14884:29:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -11401,14 +11374,14 @@ { "argumentTypes": null, "hexValue": "7a65726f2061646472657373206973206e6f7420616c6c6f7765642061732064657374696e6174696f6e2061646472657373", - "id": 742, + "id": 740, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "14935:52:0", + "src": "14915:52:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_587fbb5a9b8e6d4cc482f236066ac51bcf007ae6026eab186437d2f1b22fc139", @@ -11428,21 +11401,21 @@ "typeString": "literal_string \"zero address is not allowed as destination address\"" } ], - "id": 734, + "id": 732, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1384, - 1385 + 1382, + 1383 ], - "referencedDeclaration": 1385, - "src": "14896:7:0", + "referencedDeclaration": 1383, + "src": "14876:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 743, + "id": 741, "isConstant": false, "isLValue": false, "isPure": false, @@ -11450,15 +11423,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "14896:92:0", + "src": "14876:92:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 744, + "id": 742, "nodeType": "ExpressionStatement", - "src": "14896:92:0" + "src": "14876:92:0" }, { "expression": { @@ -11470,18 +11443,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 746, + "id": 744, "name": "t", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 709, - "src": "15015:1:0", + "referencedDeclaration": 707, + "src": "14995:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" } }, - "id": 747, + "id": 745, "isConstant": false, "isLValue": true, "isPure": false, @@ -11489,37 +11462,37 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "15015:9:0", + "src": "14995:9:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 751, + "id": 749, "indexExpression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 748, + "id": 746, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 700, - "src": "15025:12:0", + "referencedDeclaration": 698, + "src": "15005:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" } }, - "id": 750, + "id": 748, "indexExpression": { "argumentTypes": null, - "id": 749, + "id": 747, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 724, - "src": "15038:1:0", + "referencedDeclaration": 722, + "src": "15018:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11530,7 +11503,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15025:15:0", + "src": "15005:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -11541,7 +11514,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15015:26:0", + "src": "14995:26:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -11550,14 +11523,14 @@ { "argumentTypes": null, "hexValue": "44657374696e6174696f6e2061646472657373206973206e6f74206f6e65206f6620746865206f776e657273", - "id": 752, + "id": 750, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "15043:46:0", + "src": "15023:46:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_5ccbe9d117aeeb4b3546dfe6a12f083cb37039367b3ec38b60873b8650bc846f", @@ -11577,21 +11550,21 @@ "typeString": "literal_string \"Destination address is not one of the owners\"" } ], - "id": 745, + "id": 743, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1384, - 1385 + 1382, + 1383 ], - "referencedDeclaration": 1385, - "src": "15007:7:0", + "referencedDeclaration": 1383, + "src": "14987:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 753, + "id": 751, "isConstant": false, "isLValue": false, "isPure": false, @@ -11599,15 +11572,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15007:83:0", + "src": "14987:83:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 754, + "id": 752, "nodeType": "ExpressionStatement", - "src": "15007:83:0" + "src": "14987:83:0" }, { "expression": { @@ -11619,7 +11592,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 760, + "id": 758, "isConstant": false, "isLValue": false, "isPure": false, @@ -11628,26 +11601,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 756, + "id": 754, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 703, - "src": "15117:7:0", + "referencedDeclaration": 701, + "src": "15097:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 758, + "id": 756, "indexExpression": { "argumentTypes": null, - "id": 757, + "id": 755, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 724, - "src": "15125:1:0", + "referencedDeclaration": 722, + "src": "15105:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11658,7 +11631,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15117:10:0", + "src": "15097:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11669,14 +11642,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 759, + "id": 757, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "15130:1:0", + "src": "15110:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -11684,7 +11657,7 @@ }, "value": "0" }, - "src": "15117:14:0", + "src": "15097:14:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -11693,14 +11666,14 @@ { "argumentTypes": null, "hexValue": "416d6f756e7420746f2062652073656e742073686f756c642062652067726561746572207468616e2030", - "id": 761, + "id": 759, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "15133:44:0", + "src": "15113:44:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_5e1271a09dbb64ae031de288deb0ad8d707df7db51d6e827931dc8fa6642a71e", @@ -11720,21 +11693,21 @@ "typeString": "literal_string \"Amount to be sent should be greater than 0\"" } ], - "id": 755, + "id": 753, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1384, - 1385 + 1382, + 1383 ], - "referencedDeclaration": 1385, - "src": "15109:7:0", + "referencedDeclaration": 1383, + "src": "15089:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 762, + "id": 760, "isConstant": false, "isLValue": false, "isPure": false, @@ -11742,32 +11715,32 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15109:69:0", + "src": "15089:69:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 763, + "id": 761, "nodeType": "ExpressionStatement", - "src": "15109:69:0" + "src": "15089:69:0" }, { "expression": { "argumentTypes": null, - "id": 771, + "id": 769, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 764, + "id": 762, "name": "valueTransferred", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 715, - "src": "15197:16:0", + "referencedDeclaration": 713, + "src": "15177:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11782,26 +11755,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 767, + "id": 765, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 703, - "src": "15237:7:0", + "referencedDeclaration": 701, + "src": "15217:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 769, + "id": 767, "indexExpression": { "argumentTypes": null, - "id": 768, + "id": 766, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 724, - "src": "15245:1:0", + "referencedDeclaration": 722, + "src": "15225:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11812,7 +11785,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15237:10:0", + "src": "15217:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11828,32 +11801,32 @@ ], "expression": { "argumentTypes": null, - "id": 765, + "id": 763, "name": "valueTransferred", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 715, - "src": "15216:16:0", + "referencedDeclaration": 713, + "src": "15196:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 766, + "id": 764, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 1345, - "src": "15216:20:0", + "referencedDeclaration": 1343, + "src": "15196:20:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 770, + "id": 768, "isConstant": false, "isLValue": false, "isPure": false, @@ -11861,26 +11834,26 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15216:32:0", + "src": "15196:32:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "15197:51:0", + "src": "15177:51:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 772, + "id": 770, "nodeType": "ExpressionStatement", - "src": "15197:51:0" + "src": "15177:51:0" }, { "expression": { "argumentTypes": null, - "id": 781, + "id": 779, "isConstant": false, "isLValue": false, "isPure": false, @@ -11891,18 +11864,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 773, + "id": 771, "name": "t", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 709, - "src": "15267:1:0", + "referencedDeclaration": 707, + "src": "15247:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" } }, - "id": 778, + "id": 776, "isConstant": false, "isLValue": true, "isPure": false, @@ -11910,37 +11883,37 @@ "memberName": "beneficiaries", "nodeType": "MemberAccess", "referencedDeclaration": 70, - "src": "15267:15:0", + "src": "15247:15:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 779, + "id": 777, "indexExpression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 775, + "id": 773, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 700, - "src": "15283:12:0", + "referencedDeclaration": 698, + "src": "15263:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" } }, - "id": 777, + "id": 775, "indexExpression": { "argumentTypes": null, - "id": 776, + "id": 774, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 724, - "src": "15296:1:0", + "referencedDeclaration": 722, + "src": "15276:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11951,7 +11924,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15283:15:0", + "src": "15263:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -11962,7 +11935,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "15267:32:0", + "src": "15247:32:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -11973,14 +11946,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "74727565", - "id": 780, + "id": 778, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "15302:4:0", + "src": "15282:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -11988,15 +11961,15 @@ }, "value": "true" }, - "src": "15267:39:0", + "src": "15247:39:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 782, + "id": 780, "nodeType": "ExpressionStatement", - "src": "15267:39:0" + "src": "15247:39:0" }, { "expression": { @@ -12006,26 +11979,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 787, + "id": 785, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 703, - "src": "15378:7:0", + "referencedDeclaration": 701, + "src": "15358:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 789, + "id": 787, "indexExpression": { "argumentTypes": null, - "id": 788, + "id": 786, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 724, - "src": "15386:1:0", + "referencedDeclaration": 722, + "src": "15366:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12036,7 +12009,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15378:10:0", + "src": "15358:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12054,26 +12027,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 783, + "id": 781, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 700, - "src": "15353:12:0", + "referencedDeclaration": 698, + "src": "15333:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" } }, - "id": 785, + "id": 783, "indexExpression": { "argumentTypes": null, - "id": 784, + "id": 782, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 724, - "src": "15366:1:0", + "referencedDeclaration": 722, + "src": "15346:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12084,13 +12057,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15353:15:0", + "src": "15333:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 786, + "id": 784, "isConstant": false, "isLValue": false, "isPure": false, @@ -12098,13 +12071,13 @@ "memberName": "transfer", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "15353:24:0", + "src": "15333:24:0", "typeDescriptions": { "typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$", "typeString": "function (uint256)" } }, - "id": 790, + "id": 788, "isConstant": false, "isLValue": false, "isPure": false, @@ -12112,15 +12085,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15353:36:0", + "src": "15333:36:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 791, + "id": 789, "nodeType": "ExpressionStatement", - "src": "15353:36:0" + "src": "15333:36:0" } ] }, @@ -12130,19 +12103,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 730, + "id": 728, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 727, + "id": 725, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 724, - "src": "14847:1:0", + "referencedDeclaration": 722, + "src": "14827:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12154,18 +12127,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 728, + "id": 726, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 700, - "src": "14851:12:0", + "referencedDeclaration": 698, + "src": "14831:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" } }, - "id": 729, + "id": 727, "isConstant": false, "isLValue": false, "isPure": false, @@ -12173,31 +12146,31 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "14851:19:0", + "src": "14831:19:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "14847:23:0", + "src": "14827:23:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 793, + "id": 791, "initializationExpression": { "assignments": [ - 724 + 722 ], "declarations": [ { "constant": false, - "id": 724, + "id": 722, "name": "i", "nodeType": "VariableDeclaration", - "scope": 888, - "src": "14832:9:0", + "scope": 886, + "src": "14812:9:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12205,10 +12178,10 @@ "typeString": "uint256" }, "typeName": { - "id": 723, + "id": 721, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "14832:7:0", + "src": "14812:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12218,18 +12191,18 @@ "visibility": "internal" } ], - "id": 726, + "id": 724, "initialValue": { "argumentTypes": null, "hexValue": "30", - "id": 725, + "id": 723, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "14844:1:0", + "src": "14824:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -12238,12 +12211,12 @@ "value": "0" }, "nodeType": "VariableDeclarationStatement", - "src": "14832:13:0" + "src": "14812:13:0" }, "loopExpression": { "expression": { "argumentTypes": null, - "id": 732, + "id": 730, "isConstant": false, "isLValue": false, "isPure": false, @@ -12251,15 +12224,15 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "14872:3:0", + "src": "14852:3:0", "subExpression": { "argumentTypes": null, - "id": 731, + "id": 729, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 724, - "src": "14872:1:0", + "referencedDeclaration": 722, + "src": "14852:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12270,12 +12243,12 @@ "typeString": "uint256" } }, - "id": 733, + "id": 731, "nodeType": "ExpressionStatement", - "src": "14872:3:0" + "src": "14852:3:0" }, "nodeType": "ForStatement", - "src": "14827:577:0" + "src": "14807:577:0" } ] } @@ -12283,26 +12256,26 @@ { "expression": { "argumentTypes": null, - "id": 885, + "id": 883, "name": "valueTransferred", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 715, - "src": "16196:16:0", + "referencedDeclaration": 713, + "src": "16176:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 707, - "id": 886, + "functionReturnParameters": 705, + "id": 884, "nodeType": "Return", - "src": "16189:23:0" + "src": "16169:23:0" } ] }, "documentation": "dev Private method to transfer funds to the destination addresses on the basis of transaction type", - "id": 888, + "id": 886, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -12310,16 +12283,16 @@ "name": "_transferFunds", "nodeType": "FunctionDefinition", "parameters": { - "id": 704, + "id": 702, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 697, + "id": 695, "name": "scriptHash", "nodeType": "VariableDeclaration", - "scope": 888, - "src": "14529:18:0", + "scope": 886, + "src": "14509:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12327,10 +12300,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 696, + "id": 694, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "14529:7:0", + "src": "14509:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -12341,11 +12314,11 @@ }, { "constant": false, - "id": 700, + "id": 698, "name": "destinations", "nodeType": "VariableDeclaration", - "scope": 888, - "src": "14557:21:0", + "scope": 886, + "src": "14537:21:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12354,19 +12327,19 @@ }, "typeName": { "baseType": { - "id": 698, + "id": 696, "name": "address", "nodeType": "ElementaryTypeName", - "src": "14557:7:0", + "src": "14537:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 699, + "id": 697, "length": null, "nodeType": "ArrayTypeName", - "src": "14557:9:0", + "src": "14537:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", "typeString": "address[]" @@ -12377,11 +12350,11 @@ }, { "constant": false, - "id": 703, + "id": 701, "name": "amounts", "nodeType": "VariableDeclaration", - "scope": 888, - "src": "14588:16:0", + "scope": 886, + "src": "14568:16:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12390,19 +12363,19 @@ }, "typeName": { "baseType": { - "id": 701, + "id": 699, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "14588:7:0", + "src": "14568:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 702, + "id": 700, "length": null, "nodeType": "ArrayTypeName", - "src": "14588:9:0", + "src": "14568:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -12412,20 +12385,20 @@ "visibility": "internal" } ], - "src": "14519:91:0" + "src": "14499:91:0" }, "payable": false, "returnParameters": { - "id": 707, + "id": 705, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 706, + "id": 704, "name": "", "nodeType": "VariableDeclaration", - "scope": 888, - "src": "14644:7:0", + "scope": 886, + "src": "14624:7:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12433,10 +12406,10 @@ "typeString": "uint256" }, "typeName": { - "id": 705, + "id": 703, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "14644:7:0", + "src": "14624:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12446,19 +12419,19 @@ "visibility": "internal" } ], - "src": "14643:9:0" + "src": "14623:9:0" }, - "scope": 1208, - "src": "14496:1723:0", + "scope": 1206, + "src": "14476:1723:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "private" }, { "body": { - "id": 1018, + "id": 1016, "nodeType": "Block", - "src": "16639:1346:0", + "src": "16619:1346:0", "statements": [ { "expression": { @@ -12470,7 +12443,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 921, + "id": 919, "isConstant": false, "isLValue": false, "isPure": false, @@ -12481,7 +12454,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 915, + "id": 913, "isConstant": false, "isLValue": false, "isPure": false, @@ -12490,18 +12463,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 911, + "id": 909, "name": "sigR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 894, - "src": "16671:4:0", + "referencedDeclaration": 892, + "src": "16651:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" } }, - "id": 912, + "id": 910, "isConstant": false, "isLValue": false, "isPure": false, @@ -12509,7 +12482,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "16671:11:0", + "src": "16651:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12521,18 +12494,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 913, + "id": 911, "name": "sigS", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 897, - "src": "16686:4:0", + "referencedDeclaration": 895, + "src": "16666:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" } }, - "id": 914, + "id": 912, "isConstant": false, "isLValue": false, "isPure": false, @@ -12540,13 +12513,13 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "16686:11:0", + "src": "16666:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "16671:26:0", + "src": "16651:26:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -12560,7 +12533,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 920, + "id": 918, "isConstant": false, "isLValue": false, "isPure": false, @@ -12569,18 +12542,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 916, + "id": 914, "name": "sigR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 894, - "src": "16701:4:0", + "referencedDeclaration": 892, + "src": "16681:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" } }, - "id": 917, + "id": 915, "isConstant": false, "isLValue": false, "isPure": false, @@ -12588,7 +12561,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "16701:11:0", + "src": "16681:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12600,18 +12573,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 918, + "id": 916, "name": "sigV", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 891, - "src": "16716:4:0", + "referencedDeclaration": 889, + "src": "16696:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr", "typeString": "uint8[] memory" } }, - "id": 919, + "id": 917, "isConstant": false, "isLValue": false, "isPure": false, @@ -12619,19 +12592,19 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "16716:11:0", + "src": "16696:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "16701:26:0", + "src": "16681:26:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "16671:56:0", + "src": "16651:56:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -12640,14 +12613,14 @@ { "argumentTypes": null, "hexValue": "522c532c56206c656e677468206d69736d617463682e", - "id": 922, + "id": 920, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "16742:24:0", + "src": "16722:24:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_f85073c8befb65baed58ca1ee563e5da0bdbdce8abd4d29ef22a8329c7c97506", @@ -12667,21 +12640,21 @@ "typeString": "literal_string \"R,S,V length mismatch.\"" } ], - "id": 910, + "id": 908, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1384, - 1385 + 1382, + 1383 ], - "referencedDeclaration": 1385, - "src": "16650:7:0", + "referencedDeclaration": 1383, + "src": "16630:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 923, + "id": 921, "isConstant": false, "isLValue": false, "isPure": false, @@ -12689,26 +12662,26 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16650:126:0", + "src": "16630:126:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 924, + "id": 922, "nodeType": "ExpressionStatement", - "src": "16650:126:0" + "src": "16630:126:0" }, { "assignments": [], "declarations": [ { "constant": false, - "id": 926, + "id": 924, "name": "lastAddress", "nodeType": "VariableDeclaration", - "scope": 1019, - "src": "16787:19:0", + "scope": 1017, + "src": "16767:19:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12716,10 +12689,10 @@ "typeString": "address" }, "typeName": { - "id": 925, + "id": 923, "name": "address", "nodeType": "ElementaryTypeName", - "src": "16787:7:0", + "src": "16767:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -12729,23 +12702,23 @@ "visibility": "internal" } ], - "id": 927, + "id": 925, "initialValue": null, "nodeType": "VariableDeclarationStatement", - "src": "16787:19:0" + "src": "16767:19:0" }, { "assignments": [ - 929 + 927 ], "declarations": [ { "constant": false, - "id": 929, + "id": 927, "name": "txHash", "nodeType": "VariableDeclaration", - "scope": 1019, - "src": "16905:14:0", + "scope": 1017, + "src": "16885:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12753,10 +12726,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 928, + "id": 926, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "16905:7:0", + "src": "16885:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -12766,7 +12739,7 @@ "visibility": "internal" } ], - "id": 953, + "id": 951, "initialValue": { "argumentTypes": null, "arguments": [ @@ -12776,14 +12749,14 @@ { "argumentTypes": null, "hexValue": "19457468657265756d205369676e6564204d6573736167653a0a3332", - "id": 933, + "id": 931, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "16979:34:0", + "src": "16959:34:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_178a2411ab6fbc1ba11064408972259c558d0e82fd48b0aba3ad81d14f065e73", @@ -12803,14 +12776,14 @@ { "argumentTypes": null, "hexValue": "30783139", - "id": 938, + "id": 936, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "17109:4:0", + "src": "17089:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_25_by_1", @@ -12826,20 +12799,20 @@ "typeString": "int_const 25" } ], - "id": 937, + "id": 935, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "17104:4:0", + "src": "17084:4:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes1_$", "typeString": "type(bytes1)" }, "typeName": "byte" }, - "id": 939, + "id": 937, "isConstant": false, "isLValue": false, "isPure": true, @@ -12847,7 +12820,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17104:10:0", + "src": "17084:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes1", "typeString": "bytes1" @@ -12859,14 +12832,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 941, + "id": 939, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "17145:1:0", + "src": "17125:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -12882,20 +12855,20 @@ "typeString": "int_const 0" } ], - "id": 940, + "id": 938, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "17140:4:0", + "src": "17120:4:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes1_$", "typeString": "type(bytes1)" }, "typeName": "byte" }, - "id": 942, + "id": 940, "isConstant": false, "isLValue": false, "isPure": true, @@ -12903,7 +12876,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17140:7:0", + "src": "17120:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes1", "typeString": "bytes1" @@ -12914,14 +12887,14 @@ "arguments": [ { "argumentTypes": null, - "id": 944, + "id": 942, "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1398, - "src": "17181:4:0", + "referencedDeclaration": 1396, + "src": "17161:4:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_Escrow_v1_0_$1208", + "typeIdentifier": "t_contract$_Escrow_v1_0_$1206", "typeString": "contract Escrow_v1_0" } } @@ -12929,24 +12902,24 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_Escrow_v1_0_$1208", + "typeIdentifier": "t_contract$_Escrow_v1_0_$1206", "typeString": "contract Escrow_v1_0" } ], - "id": 943, + "id": 941, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "17173:7:0", + "src": "17153:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, - "id": 945, + "id": 943, "isConstant": false, "isLValue": false, "isPure": false, @@ -12954,7 +12927,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17173:13:0", + "src": "17153:13:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -12962,12 +12935,12 @@ }, { "argumentTypes": null, - "id": 946, + "id": 944, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 902, - "src": "17212:12:0", + "referencedDeclaration": 900, + "src": "17192:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -12975,12 +12948,12 @@ }, { "argumentTypes": null, - "id": 947, + "id": 945, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 905, - "src": "17250:7:0", + "referencedDeclaration": 903, + "src": "17230:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" @@ -12988,12 +12961,12 @@ }, { "argumentTypes": null, - "id": 948, + "id": 946, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 899, - "src": "17283:10:0", + "referencedDeclaration": 897, + "src": "17263:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -13029,18 +13002,18 @@ ], "expression": { "argumentTypes": null, - "id": 935, + "id": 933, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1368, - "src": "17062:3:0", + "referencedDeclaration": 1366, + "src": "17042:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, - "id": 936, + "id": 934, "isConstant": false, "isLValue": false, "isPure": true, @@ -13048,13 +13021,13 @@ "memberName": "encodePacked", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "17062:16:0", + "src": "17042:16:0", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, - "id": 949, + "id": 947, "isConstant": false, "isLValue": false, "isPure": false, @@ -13062,7 +13035,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17062:253:0", + "src": "17042:253:0", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -13076,18 +13049,18 @@ "typeString": "bytes memory" } ], - "id": 934, + "id": 932, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1375, - "src": "17031:9:0", + "referencedDeclaration": 1373, + "src": "17011:9:0", "typeDescriptions": { "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", "typeString": "function () pure returns (bytes32)" } }, - "id": 950, + "id": 948, "isConstant": false, "isLValue": false, "isPure": false, @@ -13095,7 +13068,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17031:302:0", + "src": "17011:302:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -13115,18 +13088,18 @@ ], "expression": { "argumentTypes": null, - "id": 931, + "id": 929, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1368, - "src": "16945:3:0", + "referencedDeclaration": 1366, + "src": "16925:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, - "id": 932, + "id": 930, "isConstant": false, "isLValue": false, "isPure": true, @@ -13134,13 +13107,13 @@ "memberName": "encodePacked", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "16945:16:0", + "src": "16925:16:0", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, - "id": 951, + "id": 949, "isConstant": false, "isLValue": false, "isPure": false, @@ -13148,7 +13121,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16945:402:0", + "src": "16925:402:0", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -13162,18 +13135,18 @@ "typeString": "bytes memory" } ], - "id": 930, + "id": 928, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1375, - "src": "16922:9:0", + "referencedDeclaration": 1373, + "src": "16902:9:0", "typeDescriptions": { "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", "typeString": "function () pure returns (bytes32)" } }, - "id": 952, + "id": 950, "isConstant": false, "isLValue": false, "isPure": false, @@ -13181,33 +13154,33 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16922:435:0", + "src": "16902:435:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "nodeType": "VariableDeclarationStatement", - "src": "16905:452:0" + "src": "16885:452:0" }, { "body": { - "id": 1014, + "id": 1012, "nodeType": "Block", - "src": "17407:543:0", + "src": "17387:543:0", "statements": [ { "assignments": [ - 966 + 964 ], "declarations": [ { "constant": false, - "id": 966, + "id": 964, "name": "recovered", "nodeType": "VariableDeclaration", - "scope": 1019, - "src": "17422:17:0", + "scope": 1017, + "src": "17402:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -13215,10 +13188,10 @@ "typeString": "address" }, "typeName": { - "id": 965, + "id": 963, "name": "address", "nodeType": "ElementaryTypeName", - "src": "17422:7:0", + "src": "17402:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -13228,18 +13201,18 @@ "visibility": "internal" } ], - "id": 979, + "id": 977, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 968, + "id": 966, "name": "txHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 929, - "src": "17469:6:0", + "referencedDeclaration": 927, + "src": "17449:6:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -13249,26 +13222,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 969, + "id": 967, "name": "sigV", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 891, - "src": "17493:4:0", + "referencedDeclaration": 889, + "src": "17473:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr", "typeString": "uint8[] memory" } }, - "id": 971, + "id": 969, "indexExpression": { "argumentTypes": null, - "id": 970, + "id": 968, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 955, - "src": "17498:1:0", + "referencedDeclaration": 953, + "src": "17478:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13279,7 +13252,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17493:7:0", + "src": "17473:7:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -13289,26 +13262,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 972, + "id": 970, "name": "sigR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 894, - "src": "17518:4:0", + "referencedDeclaration": 892, + "src": "17498:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" } }, - "id": 974, + "id": 972, "indexExpression": { "argumentTypes": null, - "id": 973, + "id": 971, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 955, - "src": "17523:1:0", + "referencedDeclaration": 953, + "src": "17503:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13319,7 +13292,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17518:7:0", + "src": "17498:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -13329,26 +13302,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 975, + "id": 973, "name": "sigS", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 897, - "src": "17543:4:0", + "referencedDeclaration": 895, + "src": "17523:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" } }, - "id": 977, + "id": 975, "indexExpression": { "argumentTypes": null, - "id": 976, + "id": 974, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 955, - "src": "17548:1:0", + "referencedDeclaration": 953, + "src": "17528:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13359,7 +13332,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17543:7:0", + "src": "17523:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -13385,18 +13358,18 @@ "typeString": "bytes32" } ], - "id": 967, + "id": 965, "name": "ecrecover", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1373, - "src": "17442:9:0", + "referencedDeclaration": 1371, + "src": "17422:9:0", "typeDescriptions": { "typeIdentifier": "t_function_ecrecover_pure$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$_t_address_$", "typeString": "function (bytes32,uint8,bytes32,bytes32) pure returns (address)" } }, - "id": 978, + "id": 976, "isConstant": false, "isLValue": false, "isPure": false, @@ -13404,14 +13377,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17442:122:0", + "src": "17422:122:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "VariableDeclarationStatement", - "src": "17422:142:0" + "src": "17402:142:0" }, { "expression": { @@ -13425,26 +13398,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 981, + "id": 979, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "17604:12:0", + "src": "17584:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 983, + "id": 981, "indexExpression": { "argumentTypes": null, - "id": 982, + "id": 980, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 899, - "src": "17617:10:0", + "referencedDeclaration": 897, + "src": "17597:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -13455,13 +13428,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17604:24:0", + "src": "17584:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 984, + "id": 982, "isConstant": false, "isLValue": true, "isPure": false, @@ -13469,21 +13442,21 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "17604:32:0", + "src": "17584:32:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 986, + "id": 984, "indexExpression": { "argumentTypes": null, - "id": 985, + "id": 983, "name": "recovered", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 966, - "src": "17637:9:0", + "referencedDeclaration": 964, + "src": "17617:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -13494,7 +13467,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17604:43:0", + "src": "17584:43:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -13503,14 +13476,14 @@ { "argumentTypes": null, "hexValue": "496e76616c6964207369676e6174757265", - "id": 987, + "id": 985, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "17666:19:0", + "src": "17646:19:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_4f2d7dfcb27c0aafa13ae8c400de482c7832204d194018b6e45bd2bf244c74e7", @@ -13530,21 +13503,21 @@ "typeString": "literal_string \"Invalid signature\"" } ], - "id": 980, + "id": 978, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1384, - 1385 + 1382, + 1383 ], - "referencedDeclaration": 1385, - "src": "17579:7:0", + "referencedDeclaration": 1383, + "src": "17559:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 988, + "id": 986, "isConstant": false, "isLValue": false, "isPure": false, @@ -13552,15 +13525,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17579:120:0", + "src": "17559:120:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 989, + "id": 987, "nodeType": "ExpressionStatement", - "src": "17579:120:0" + "src": "17559:120:0" }, { "expression": { @@ -13568,7 +13541,7 @@ "arguments": [ { "argumentTypes": null, - "id": 997, + "id": 995, "isConstant": false, "isLValue": false, "isPure": false, @@ -13576,7 +13549,7 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "17738:42:0", + "src": "17718:42:0", "subExpression": { "argumentTypes": null, "baseExpression": { @@ -13585,26 +13558,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 991, + "id": 989, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "17739:12:0", + "src": "17719:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 993, + "id": 991, "indexExpression": { "argumentTypes": null, - "id": 992, + "id": 990, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 899, - "src": "17752:10:0", + "referencedDeclaration": 897, + "src": "17732:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -13615,13 +13588,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17739:24:0", + "src": "17719:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 994, + "id": 992, "isConstant": false, "isLValue": true, "isPure": false, @@ -13629,21 +13602,21 @@ "memberName": "voted", "nodeType": "MemberAccess", "referencedDeclaration": 66, - "src": "17739:30:0", + "src": "17719:30:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 996, + "id": 994, "indexExpression": { "argumentTypes": null, - "id": 995, + "id": 993, "name": "recovered", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 966, - "src": "17770:9:0", + "referencedDeclaration": 964, + "src": "17750:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -13654,7 +13627,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17739:41:0", + "src": "17719:41:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -13668,14 +13641,14 @@ { "argumentTypes": null, "hexValue": "53616d65207369676e61747572652073656e74207477696365", - "id": 998, + "id": 996, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "17799:27:0", + "src": "17779:27:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_fb2c7e49d5ec7ce36fa812cf15ee7fa946942f931d04fe3ae970516007b2a543", @@ -13695,21 +13668,21 @@ "typeString": "literal_string \"Same signature sent twice\"" } ], - "id": 990, + "id": 988, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1384, - 1385 + 1382, + 1383 ], - "referencedDeclaration": 1385, - "src": "17713:7:0", + "referencedDeclaration": 1383, + "src": "17693:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 999, + "id": 997, "isConstant": false, "isLValue": false, "isPure": false, @@ -13717,20 +13690,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17713:127:0", + "src": "17693:127:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1000, + "id": 998, "nodeType": "ExpressionStatement", - "src": "17713:127:0" + "src": "17693:127:0" }, { "expression": { "argumentTypes": null, - "id": 1008, + "id": 1006, "isConstant": false, "isLValue": false, "isPure": false, @@ -13743,26 +13716,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1001, + "id": 999, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "17854:12:0", + "src": "17834:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 1003, + "id": 1001, "indexExpression": { "argumentTypes": null, - "id": 1002, + "id": 1000, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 899, - "src": "17867:10:0", + "referencedDeclaration": 897, + "src": "17847:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -13773,13 +13746,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17854:24:0", + "src": "17834:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 1004, + "id": 1002, "isConstant": false, "isLValue": true, "isPure": false, @@ -13787,21 +13760,21 @@ "memberName": "voted", "nodeType": "MemberAccess", "referencedDeclaration": 66, - "src": "17854:30:0", + "src": "17834:30:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 1006, + "id": 1004, "indexExpression": { "argumentTypes": null, - "id": 1005, + "id": 1003, "name": "recovered", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 966, - "src": "17885:9:0", + "referencedDeclaration": 964, + "src": "17865:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -13812,7 +13785,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "17854:41:0", + "src": "17834:41:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -13823,14 +13796,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "74727565", - "id": 1007, + "id": 1005, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "17898:4:0", + "src": "17878:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -13838,32 +13811,32 @@ }, "value": "true" }, - "src": "17854:48:0", + "src": "17834:48:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 1009, + "id": 1007, "nodeType": "ExpressionStatement", - "src": "17854:48:0" + "src": "17834:48:0" }, { "expression": { "argumentTypes": null, - "id": 1012, + "id": 1010, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 1010, + "id": 1008, "name": "lastAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 926, - "src": "17916:11:0", + "referencedDeclaration": 924, + "src": "17896:11:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -13873,26 +13846,26 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 1011, + "id": 1009, "name": "recovered", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 966, - "src": "17930:9:0", + "referencedDeclaration": 964, + "src": "17910:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "17916:23:0", + "src": "17896:23:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 1013, + "id": 1011, "nodeType": "ExpressionStatement", - "src": "17916:23:0" + "src": "17896:23:0" } ] }, @@ -13902,19 +13875,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 961, + "id": 959, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 958, + "id": 956, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 955, - "src": "17385:1:0", + "referencedDeclaration": 953, + "src": "17365:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13926,18 +13899,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 959, + "id": 957, "name": "sigR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 894, - "src": "17389:4:0", + "referencedDeclaration": 892, + "src": "17369:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" } }, - "id": 960, + "id": 958, "isConstant": false, "isLValue": false, "isPure": false, @@ -13945,31 +13918,31 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "17389:11:0", + "src": "17369:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "17385:15:0", + "src": "17365:15:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 1015, + "id": 1013, "initializationExpression": { "assignments": [ - 955 + 953 ], "declarations": [ { "constant": false, - "id": 955, + "id": 953, "name": "i", "nodeType": "VariableDeclaration", - "scope": 1019, - "src": "17373:6:0", + "scope": 1017, + "src": "17353:6:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -13977,10 +13950,10 @@ "typeString": "uint256" }, "typeName": { - "id": 954, + "id": 952, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "17373:4:0", + "src": "17353:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13990,18 +13963,18 @@ "visibility": "internal" } ], - "id": 957, + "id": 955, "initialValue": { "argumentTypes": null, "hexValue": "30", - "id": 956, + "id": 954, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "17382:1:0", + "src": "17362:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -14010,12 +13983,12 @@ "value": "0" }, "nodeType": "VariableDeclarationStatement", - "src": "17373:10:0" + "src": "17353:10:0" }, "loopExpression": { "expression": { "argumentTypes": null, - "id": 963, + "id": 961, "isConstant": false, "isLValue": false, "isPure": false, @@ -14023,15 +13996,15 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "17402:3:0", + "src": "17382:3:0", "subExpression": { "argumentTypes": null, - "id": 962, + "id": 960, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 955, - "src": "17402:1:0", + "referencedDeclaration": 953, + "src": "17382:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14042,36 +14015,36 @@ "typeString": "uint256" } }, - "id": 964, + "id": 962, "nodeType": "ExpressionStatement", - "src": "17402:3:0" + "src": "17382:3:0" }, "nodeType": "ForStatement", - "src": "17368:582:0" + "src": "17348:582:0" }, { "expression": { "argumentTypes": null, - "id": 1016, + "id": 1014, "name": "lastAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 926, - "src": "17967:11:0", + "referencedDeclaration": 924, + "src": "17947:11:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "functionReturnParameters": 909, - "id": 1017, + "functionReturnParameters": 907, + "id": 1015, "nodeType": "Return", - "src": "17960:18:0" + "src": "17940:18:0" } ] }, "documentation": null, - "id": 1019, + "id": 1017, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -14079,16 +14052,16 @@ "name": "_verifySignatures", "nodeType": "FunctionDefinition", "parameters": { - "id": 906, + "id": 904, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 891, + "id": 889, "name": "sigV", "nodeType": "VariableDeclaration", - "scope": 1019, - "src": "16440:12:0", + "scope": 1017, + "src": "16420:12:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14097,19 +14070,19 @@ }, "typeName": { "baseType": { - "id": 889, + "id": 887, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "16440:5:0", + "src": "16420:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, - "id": 890, + "id": 888, "length": null, "nodeType": "ArrayTypeName", - "src": "16440:7:0", + "src": "16420:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_storage_ptr", "typeString": "uint8[]" @@ -14120,11 +14093,11 @@ }, { "constant": false, - "id": 894, + "id": 892, "name": "sigR", "nodeType": "VariableDeclaration", - "scope": 1019, - "src": "16462:14:0", + "scope": 1017, + "src": "16442:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14133,19 +14106,19 @@ }, "typeName": { "baseType": { - "id": 892, + "id": 890, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "16462:7:0", + "src": "16442:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "id": 893, + "id": 891, "length": null, "nodeType": "ArrayTypeName", - "src": "16462:9:0", + "src": "16442:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -14156,11 +14129,11 @@ }, { "constant": false, - "id": 897, + "id": 895, "name": "sigS", "nodeType": "VariableDeclaration", - "scope": 1019, - "src": "16486:14:0", + "scope": 1017, + "src": "16466:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14169,19 +14142,19 @@ }, "typeName": { "baseType": { - "id": 895, + "id": 893, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "16486:7:0", + "src": "16466:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "id": 896, + "id": 894, "length": null, "nodeType": "ArrayTypeName", - "src": "16486:9:0", + "src": "16466:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -14192,11 +14165,11 @@ }, { "constant": false, - "id": 899, + "id": 897, "name": "scriptHash", "nodeType": "VariableDeclaration", - "scope": 1019, - "src": "16510:18:0", + "scope": 1017, + "src": "16490:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14204,10 +14177,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 898, + "id": 896, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "16510:7:0", + "src": "16490:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -14218,11 +14191,11 @@ }, { "constant": false, - "id": 902, + "id": 900, "name": "destinations", "nodeType": "VariableDeclaration", - "scope": 1019, - "src": "16538:22:0", + "scope": 1017, + "src": "16518:22:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14231,19 +14204,19 @@ }, "typeName": { "baseType": { - "id": 900, + "id": 898, "name": "address", "nodeType": "ElementaryTypeName", - "src": "16538:7:0", + "src": "16518:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 901, + "id": 899, "length": null, "nodeType": "ArrayTypeName", - "src": "16538:9:0", + "src": "16518:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", "typeString": "address[]" @@ -14254,11 +14227,11 @@ }, { "constant": false, - "id": 905, + "id": 903, "name": "amounts", "nodeType": "VariableDeclaration", - "scope": 1019, - "src": "16570:16:0", + "scope": 1017, + "src": "16550:16:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14267,19 +14240,19 @@ }, "typeName": { "baseType": { - "id": 903, + "id": 901, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "16570:7:0", + "src": "16550:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 904, + "id": 902, "length": null, "nodeType": "ArrayTypeName", - "src": "16570:9:0", + "src": "16550:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -14289,20 +14262,20 @@ "visibility": "internal" } ], - "src": "16430:162:0" + "src": "16410:162:0" }, "payable": false, "returnParameters": { - "id": 909, + "id": 907, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 908, + "id": 906, "name": "", "nodeType": "VariableDeclaration", - "scope": 1019, - "src": "16626:7:0", + "scope": 1017, + "src": "16606:7:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14310,10 +14283,10 @@ "typeString": "address" }, "typeName": { - "id": 907, + "id": 905, "name": "address", "nodeType": "ElementaryTypeName", - "src": "16626:7:0", + "src": "16606:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -14323,32 +14296,32 @@ "visibility": "internal" } ], - "src": "16625:9:0" + "src": "16605:9:0" }, - "scope": 1208, - "src": "16404:1581:0", + "scope": 1206, + "src": "16384:1581:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "private" }, { "body": { - "id": 1050, + "id": 1048, "nodeType": "Block", - "src": "18140:168:0", + "src": "18120:168:0", "statements": [ { "assignments": [ - 1029 + 1027 ], "declarations": [ { "constant": false, - "id": 1029, + "id": 1027, "name": "timeSince", "nodeType": "VariableDeclaration", - "scope": 1051, - "src": "18150:17:0", + "scope": 1049, + "src": "18130:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14356,10 +14329,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1028, + "id": 1026, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "18150:7:0", + "src": "18130:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14369,18 +14342,18 @@ "visibility": "internal" } ], - "id": 1034, + "id": 1032, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 1032, + "id": 1030, "name": "lastModified", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1023, - "src": "18178:12:0", + "referencedDeclaration": 1021, + "src": "18158:12:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14396,32 +14369,32 @@ ], "expression": { "argumentTypes": null, - "id": 1030, + "id": 1028, "name": "now", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1383, - "src": "18170:3:0", + "referencedDeclaration": 1381, + "src": "18150:3:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1031, + "id": 1029, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sub", "nodeType": "MemberAccess", - "referencedDeclaration": 1321, - "src": "18170:7:0", + "referencedDeclaration": 1319, + "src": "18150:7:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 1033, + "id": 1031, "isConstant": false, "isLValue": false, "isPure": false, @@ -14429,14 +14402,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18170:21:0", + "src": "18150:21:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "18150:41:0" + "src": "18130:41:0" }, { "expression": { @@ -14450,19 +14423,19 @@ "typeIdentifier": "t_uint32", "typeString": "uint32" }, - "id": 1037, + "id": 1035, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1035, + "id": 1033, "name": "timeoutHours", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1021, - "src": "18222:12:0", + "referencedDeclaration": 1019, + "src": "18202:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -14473,14 +14446,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 1036, + "id": 1034, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "18238:1:0", + "src": "18218:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -14488,7 +14461,7 @@ }, "value": "0" }, - "src": "18222:17:0", + "src": "18202:17:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -14500,19 +14473,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1046, + "id": 1044, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1039, + "id": 1037, "name": "timeSince", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1029, - "src": "18248:9:0", + "referencedDeclaration": 1027, + "src": "18228:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14526,14 +14499,14 @@ { "argumentTypes": null, "hexValue": "33363030", - "id": 1044, + "id": 1042, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "18286:4:0", + "src": "18266:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_3600_by_1", @@ -14554,12 +14527,12 @@ "arguments": [ { "argumentTypes": null, - "id": 1041, + "id": 1039, "name": "timeoutHours", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1021, - "src": "18268:12:0", + "referencedDeclaration": 1019, + "src": "18248:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -14573,20 +14546,20 @@ "typeString": "uint32" } ], - "id": 1040, + "id": 1038, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "18260:7:0", + "src": "18240:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint256_$", "typeString": "type(uint256)" }, "typeName": "uint256" }, - "id": 1042, + "id": 1040, "isConstant": false, "isLValue": false, "isPure": false, @@ -14594,27 +14567,27 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18260:21:0", + "src": "18240:21:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1043, + "id": 1041, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "mul", "nodeType": "MemberAccess", - "referencedDeclaration": 1273, - "src": "18260:25:0", + "referencedDeclaration": 1271, + "src": "18240:25:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 1045, + "id": 1043, "isConstant": false, "isLValue": false, "isPure": false, @@ -14622,36 +14595,36 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18260:31:0", + "src": "18240:31:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "18248:43:0", + "src": "18228:43:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 1047, + "id": 1045, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "Conditional", - "src": "18222:69:0", + "src": "18202:69:0", "trueExpression": { "argumentTypes": null, "hexValue": "66616c7365", - "id": 1038, + "id": 1036, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "18242:5:0", + "src": "18222:5:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -14665,28 +14638,28 @@ } } ], - "id": 1048, + "id": 1046, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "18208:93:0", + "src": "18188:93:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "functionReturnParameters": 1027, - "id": 1049, + "functionReturnParameters": 1025, + "id": 1047, "nodeType": "Return", - "src": "18201:100:0" + "src": "18181:100:0" } ] }, "documentation": null, - "id": 1051, + "id": 1049, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -14694,16 +14667,16 @@ "name": "_isTimeLockExpired", "nodeType": "FunctionDefinition", "parameters": { - "id": 1024, + "id": 1022, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1021, + "id": 1019, "name": "timeoutHours", "nodeType": "VariableDeclaration", - "scope": 1051, - "src": "18028:19:0", + "scope": 1049, + "src": "18008:19:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14711,10 +14684,10 @@ "typeString": "uint32" }, "typeName": { - "id": 1020, + "id": 1018, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "18028:6:0", + "src": "18008:6:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -14725,11 +14698,11 @@ }, { "constant": false, - "id": 1023, + "id": 1021, "name": "lastModified", "nodeType": "VariableDeclaration", - "scope": 1051, - "src": "18057:20:0", + "scope": 1049, + "src": "18037:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14737,10 +14710,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1022, + "id": 1020, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "18057:7:0", + "src": "18037:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14750,20 +14723,20 @@ "visibility": "internal" } ], - "src": "18018:65:0" + "src": "17998:65:0" }, "payable": false, "returnParameters": { - "id": 1027, + "id": 1025, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1026, + "id": 1024, "name": "", "nodeType": "VariableDeclaration", - "scope": 1051, - "src": "18130:4:0", + "scope": 1049, + "src": "18110:4:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14771,10 +14744,10 @@ "typeString": "bool" }, "typeName": { - "id": 1025, + "id": 1023, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "18130:4:0", + "src": "18110:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -14784,19 +14757,19 @@ "visibility": "internal" } ], - "src": "18129:6:0" + "src": "18109:6:0" }, - "scope": 1208, - "src": "17991:317:0", + "scope": 1206, + "src": "17971:317:0", "stateMutability": "view", "superFunction": null, "visibility": "private" }, { "body": { - "id": 1206, + "id": 1204, "nodeType": "Block", - "src": "18722:2314:0", + "src": "18702:2314:0", "statements": [ { "expression": { @@ -14808,19 +14781,19 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 1077, + "id": 1075, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1075, + "id": 1073, "name": "buyer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1053, - "src": "18748:5:0", + "referencedDeclaration": 1051, + "src": "18728:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -14830,18 +14803,18 @@ "operator": "!=", "rightExpression": { "argumentTypes": null, - "id": 1076, + "id": 1074, "name": "seller", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1055, - "src": "18757:6:0", + "referencedDeclaration": 1053, + "src": "18737:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "18748:15:0", + "src": "18728:15:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -14850,14 +14823,14 @@ { "argumentTypes": null, "hexValue": "427579657220616e642073656c6c6572206172652073616d65", - "id": 1078, + "id": 1076, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "18765:27:0", + "src": "18745:27:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_6141441751234d42e9a73d96317794195c7ff57b8f16ac15725a10f10763f824", @@ -14877,21 +14850,21 @@ "typeString": "literal_string \"Buyer and seller are same\"" } ], - "id": 1074, + "id": 1072, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1384, - 1385 + 1382, + 1383 ], - "referencedDeclaration": 1385, - "src": "18740:7:0", + "referencedDeclaration": 1383, + "src": "18720:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 1079, + "id": 1077, "isConstant": false, "isLValue": false, "isPure": false, @@ -14899,15 +14872,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18740:53:0", + "src": "18720:53:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1080, + "id": 1078, "nodeType": "ExpressionStatement", - "src": "18740:53:0" + "src": "18720:53:0" }, { "expression": { @@ -14919,19 +14892,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1084, + "id": 1082, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1082, + "id": 1080, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1065, - "src": "18860:5:0", + "referencedDeclaration": 1063, + "src": "18840:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14942,14 +14915,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 1083, + "id": 1081, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "18868:1:0", + "src": "18848:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -14957,7 +14930,7 @@ }, "value": "0" }, - "src": "18860:9:0", + "src": "18840:9:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -14966,14 +14939,14 @@ { "argumentTypes": null, "hexValue": "56616c7565207061737365642069732030", - "id": 1085, + "id": 1083, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "18871:19:0", + "src": "18851:19:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_3686f87c4804517ea83323ccf1a3b5b5ff52ed144b19e6fc56abe8fcd182e747", @@ -14993,21 +14966,21 @@ "typeString": "literal_string \"Value passed is 0\"" } ], - "id": 1081, + "id": 1079, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1384, - 1385 + 1382, + 1383 ], - "referencedDeclaration": 1385, - "src": "18852:7:0", + "referencedDeclaration": 1383, + "src": "18832:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 1086, + "id": 1084, "isConstant": false, "isLValue": false, "isPure": false, @@ -15015,15 +14988,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18852:39:0", + "src": "18832:39:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1087, + "id": 1085, "nodeType": "ExpressionStatement", - "src": "18852:39:0" + "src": "18832:39:0" }, { "expression": { @@ -15035,7 +15008,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 1095, + "id": 1093, "isConstant": false, "isLValue": false, "isPure": false, @@ -15046,19 +15019,19 @@ "typeIdentifier": "t_uint8", "typeString": "uint8" }, - "id": 1091, + "id": 1089, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1089, + "id": 1087, "name": "threshold", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1059, - "src": "18994:9:0", + "referencedDeclaration": 1057, + "src": "18974:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -15069,14 +15042,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 1090, + "id": 1088, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "19006:1:0", + "src": "18986:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -15084,7 +15057,7 @@ }, "value": "0" }, - "src": "18994:13:0", + "src": "18974:13:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -15098,19 +15071,19 @@ "typeIdentifier": "t_uint8", "typeString": "uint8" }, - "id": 1094, + "id": 1092, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1092, + "id": 1090, "name": "threshold", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1059, - "src": "19011:9:0", + "referencedDeclaration": 1057, + "src": "18991:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -15121,14 +15094,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "33", - "id": 1093, + "id": 1091, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "19024:1:0", + "src": "19004:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_3_by_1", @@ -15136,13 +15109,13 @@ }, "value": "3" }, - "src": "19011:14:0", + "src": "18991:14:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "18994:31:0", + "src": "18974:31:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -15151,14 +15124,14 @@ { "argumentTypes": null, "hexValue": "5468726573686f6c642063616e6e6f742062652067726561746572207468616e203320616e64206d7573742062652067726561746572207468616e2030", - "id": 1096, + "id": 1094, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "19040:63:0", + "src": "19020:63:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_351c1d5dfdc4a2b4c61d6f4dbb41a0d2ae70a9c094d3c0add87af24b5dd19c13", @@ -15178,21 +15151,21 @@ "typeString": "literal_string \"Threshold cannot be greater than 3 and must be greater than 0\"" } ], - "id": 1088, + "id": 1086, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1384, - 1385 + 1382, + 1383 ], - "referencedDeclaration": 1385, - "src": "18973:7:0", + "referencedDeclaration": 1383, + "src": "18953:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 1097, + "id": 1095, "isConstant": false, "isLValue": false, "isPure": false, @@ -15200,15 +15173,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18973:140:0", + "src": "18953:140:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1098, + "id": 1096, "nodeType": "ExpressionStatement", - "src": "18973:140:0" + "src": "18953:140:0" }, { "expression": { @@ -15220,7 +15193,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 1108, + "id": 1106, "isConstant": false, "isLValue": false, "isPure": false, @@ -15231,19 +15204,19 @@ "typeIdentifier": "t_uint8", "typeString": "uint8" }, - "id": 1102, + "id": 1100, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1100, + "id": 1098, "name": "threshold", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1059, - "src": "19394:9:0", + "referencedDeclaration": 1057, + "src": "19374:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -15254,14 +15227,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "31", - "id": 1101, + "id": 1099, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "19407:1:0", + "src": "19387:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -15269,7 +15242,7 @@ }, "value": "1" }, - "src": "19394:14:0", + "src": "19374:14:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -15283,19 +15256,19 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 1107, + "id": 1105, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1103, + "id": 1101, "name": "moderator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1057, - "src": "19412:9:0", + "referencedDeclaration": 1055, + "src": "19392:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15309,14 +15282,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 1105, + "id": 1103, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "19433:1:0", + "src": "19413:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -15332,20 +15305,20 @@ "typeString": "int_const 0" } ], - "id": 1104, + "id": 1102, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "19425:7:0", + "src": "19405:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, - "id": 1106, + "id": 1104, "isConstant": false, "isLValue": false, "isPure": true, @@ -15353,19 +15326,19 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "19425:10:0", + "src": "19405:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "19412:23:0", + "src": "19392:23:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "19394:41:0", + "src": "19374:41:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -15374,14 +15347,14 @@ { "argumentTypes": null, "hexValue": "456974686572207468726573686f6c642073686f756c642062652031206f722076616c6964206d6f64657261746f7220616464726573732073686f756c6420626520706173736564", - "id": 1109, + "id": 1107, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "19449:74:0", + "src": "19429:74:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_2056db168725d2fabb8aaf14efad7a3fc12ef6bc7132f0596ea09b041b71cb25", @@ -15401,21 +15374,21 @@ "typeString": "literal_string \"Either threshold should be 1 or valid moderator address should be passed\"" } ], - "id": 1099, + "id": 1097, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1384, - 1385 + 1382, + 1383 ], - "referencedDeclaration": 1385, - "src": "19373:7:0", + "referencedDeclaration": 1383, + "src": "19353:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 1110, + "id": 1108, "isConstant": false, "isLValue": false, "isPure": false, @@ -15423,15 +15396,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "19373:160:0", + "src": "19353:160:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1111, + "id": 1109, "nodeType": "ExpressionStatement", - "src": "19373:160:0" + "src": "19353:160:0" }, { "expression": { @@ -15443,19 +15416,19 @@ "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, - "id": 1123, + "id": 1121, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1113, + "id": 1111, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1063, - "src": "19565:10:0", + "referencedDeclaration": 1061, + "src": "19545:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -15468,12 +15441,12 @@ "arguments": [ { "argumentTypes": null, - "id": 1115, + "id": 1113, "name": "uniqueId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1067, - "src": "19622:8:0", + "referencedDeclaration": 1065, + "src": "19602:8:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -15481,12 +15454,12 @@ }, { "argumentTypes": null, - "id": 1116, + "id": 1114, "name": "threshold", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1059, - "src": "19648:9:0", + "referencedDeclaration": 1057, + "src": "19628:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -15494,12 +15467,12 @@ }, { "argumentTypes": null, - "id": 1117, + "id": 1115, "name": "timeoutHours", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1061, - "src": "19675:12:0", + "referencedDeclaration": 1059, + "src": "19655:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -15507,12 +15480,12 @@ }, { "argumentTypes": null, - "id": 1118, + "id": 1116, "name": "buyer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1053, - "src": "19705:5:0", + "referencedDeclaration": 1051, + "src": "19685:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15520,12 +15493,12 @@ }, { "argumentTypes": null, - "id": 1119, + "id": 1117, "name": "seller", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1055, - "src": "19728:6:0", + "referencedDeclaration": 1053, + "src": "19708:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15533,12 +15506,12 @@ }, { "argumentTypes": null, - "id": 1120, + "id": 1118, "name": "moderator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1057, - "src": "19752:9:0", + "referencedDeclaration": 1055, + "src": "19732:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15546,12 +15519,12 @@ }, { "argumentTypes": null, - "id": 1121, + "id": 1119, "name": "tokenAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1071, - "src": "19779:12:0", + "referencedDeclaration": 1069, + "src": "19759:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15589,18 +15562,18 @@ "typeString": "address" } ], - "id": 1114, + "id": 1112, "name": "calculateRedeemScriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 626, - "src": "19579:25:0", + "referencedDeclaration": 624, + "src": "19559:25:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_bytes20_$_t_uint8_$_t_uint32_$_t_address_$_t_address_$_t_address_$_t_address_$returns$_t_bytes32_$", "typeString": "function (bytes20,uint8,uint32,address,address,address,address) view returns (bytes32)" } }, - "id": 1122, + "id": 1120, "isConstant": false, "isLValue": false, "isPure": false, @@ -15608,13 +15581,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "19579:226:0", + "src": "19559:226:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "src": "19565:240:0", + "src": "19545:240:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -15623,14 +15596,14 @@ { "argumentTypes": null, "hexValue": "43616c63756c6174656420736372697074206861736820646f6573206e6f74206d61746368207061737365642073637269707420686173682e", - "id": 1124, + "id": 1122, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "19820:59:0", + "src": "19800:59:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_0c041e0c58e6b0e01d338d852a5abb639065eabeb0aee05e0ce3e5f0e52b4f51", @@ -15650,21 +15623,21 @@ "typeString": "literal_string \"Calculated script hash does not match passed script hash.\"" } ], - "id": 1112, + "id": 1110, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1384, - 1385 + 1382, + 1383 ], - "referencedDeclaration": 1385, - "src": "19544:7:0", + "referencedDeclaration": 1383, + "src": "19524:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 1125, + "id": 1123, "isConstant": false, "isLValue": false, "isPure": false, @@ -15672,20 +15645,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "19544:345:0", + "src": "19524:345:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1126, + "id": 1124, "nodeType": "ExpressionStatement", - "src": "19544:345:0" + "src": "19524:345:0" }, { "expression": { "argumentTypes": null, - "id": 1144, + "id": 1142, "isConstant": false, "isLValue": false, "isPure": false, @@ -15694,26 +15667,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1127, + "id": 1125, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "19900:12:0", + "src": "19880:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 1129, + "id": 1127, "indexExpression": { "argumentTypes": null, - "id": 1128, + "id": 1126, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1063, - "src": "19913:10:0", + "referencedDeclaration": 1061, + "src": "19893:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -15724,7 +15697,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "19900:24:0", + "src": "19880:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -15737,12 +15710,12 @@ "arguments": [ { "argumentTypes": null, - "id": 1131, + "id": 1129, "name": "buyer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1053, - "src": "19960:5:0", + "referencedDeclaration": 1051, + "src": "19940:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15750,12 +15723,12 @@ }, { "argumentTypes": null, - "id": 1132, + "id": 1130, "name": "seller", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1055, - "src": "19987:6:0", + "referencedDeclaration": 1053, + "src": "19967:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15763,12 +15736,12 @@ }, { "argumentTypes": null, - "id": 1133, + "id": 1131, "name": "moderator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1057, - "src": "20018:9:0", + "referencedDeclaration": 1055, + "src": "19998:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15776,12 +15749,12 @@ }, { "argumentTypes": null, - "id": 1134, + "id": 1132, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1065, - "src": "20048:5:0", + "referencedDeclaration": 1063, + "src": "20028:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -15791,18 +15764,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1135, + "id": 1133, "name": "Status", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9, - "src": "20075:6:0", + "src": "20055:6:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_Status_$9_$", "typeString": "type(enum Escrow_v1_0.Status)" } }, - "id": 1136, + "id": 1134, "isConstant": false, "isLValue": false, "isPure": true, @@ -15810,7 +15783,7 @@ "memberName": "FUNDED", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "20075:13:0", + "src": "20055:13:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$9", "typeString": "enum Escrow_v1_0.Status" @@ -15820,18 +15793,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1137, + "id": 1135, "name": "block", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1371, - "src": "20116:5:0", + "referencedDeclaration": 1369, + "src": "20096:5:0", "typeDescriptions": { "typeIdentifier": "t_magic_block", "typeString": "block" } }, - "id": 1138, + "id": 1136, "isConstant": false, "isLValue": false, "isPure": false, @@ -15839,7 +15812,7 @@ "memberName": "timestamp", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "20116:15:0", + "src": "20096:15:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -15847,12 +15820,12 @@ }, { "argumentTypes": null, - "id": 1139, + "id": 1137, "name": "threshold", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1059, - "src": "20156:9:0", + "referencedDeclaration": 1057, + "src": "20136:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -15860,12 +15833,12 @@ }, { "argumentTypes": null, - "id": 1140, + "id": 1138, "name": "timeoutHours", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1061, - "src": "20193:12:0", + "referencedDeclaration": 1059, + "src": "20173:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -15873,12 +15846,12 @@ }, { "argumentTypes": null, - "id": 1141, + "id": 1139, "name": "transactionType", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1069, - "src": "20235:15:0", + "referencedDeclaration": 1067, + "src": "20215:15:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -15886,12 +15859,12 @@ }, { "argumentTypes": null, - "id": 1142, + "id": 1140, "name": "tokenAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1071, - "src": "20277:12:0", + "referencedDeclaration": 1069, + "src": "20257:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15900,18 +15873,18 @@ ], "expression": { "argumentTypes": null, - "id": 1130, + "id": 1128, "name": "Transaction", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 71, - "src": "19927:11:0", + "src": "19907:11:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_struct$_Transaction_$71_storage_ptr_$", "typeString": "type(struct Escrow_v1_0.Transaction storage pointer)" } }, - "id": 1143, + "id": 1141, "isConstant": false, "isLValue": false, "isPure": false, @@ -15930,26 +15903,26 @@ "tokenAddress" ], "nodeType": "FunctionCall", - "src": "19927:373:0", + "src": "19907:373:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_memory", "typeString": "struct Escrow_v1_0.Transaction memory" } }, - "src": "19900:400:0", + "src": "19880:400:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 1145, + "id": 1143, "nodeType": "ExpressionStatement", - "src": "19900:400:0" + "src": "19880:400:0" }, { "expression": { "argumentTypes": null, - "id": 1153, + "id": 1151, "isConstant": false, "isLValue": false, "isPure": false, @@ -15962,26 +15935,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1146, + "id": 1144, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "20311:12:0", + "src": "20291:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 1148, + "id": 1146, "indexExpression": { "argumentTypes": null, - "id": 1147, + "id": 1145, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1063, - "src": "20324:10:0", + "referencedDeclaration": 1061, + "src": "20304:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -15992,13 +15965,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20311:24:0", + "src": "20291:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 1149, + "id": 1147, "isConstant": false, "isLValue": true, "isPure": false, @@ -16006,21 +15979,21 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "20311:32:0", + "src": "20291:32:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 1151, + "id": 1149, "indexExpression": { "argumentTypes": null, - "id": 1150, + "id": 1148, "name": "seller", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1055, - "src": "20344:6:0", + "referencedDeclaration": 1053, + "src": "20324:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -16031,7 +16004,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "20311:40:0", + "src": "20291:40:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -16042,14 +16015,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "74727565", - "id": 1152, + "id": 1150, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "20354:4:0", + "src": "20334:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -16057,20 +16030,20 @@ }, "value": "true" }, - "src": "20311:47:0", + "src": "20291:47:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 1154, + "id": 1152, "nodeType": "ExpressionStatement", - "src": "20311:47:0" + "src": "20291:47:0" }, { "expression": { "argumentTypes": null, - "id": 1162, + "id": 1160, "isConstant": false, "isLValue": false, "isPure": false, @@ -16083,26 +16056,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1155, + "id": 1153, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "20368:12:0", + "src": "20348:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 1157, + "id": 1155, "indexExpression": { "argumentTypes": null, - "id": 1156, + "id": 1154, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1063, - "src": "20381:10:0", + "referencedDeclaration": 1061, + "src": "20361:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -16113,13 +16086,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20368:24:0", + "src": "20348:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 1158, + "id": 1156, "isConstant": false, "isLValue": true, "isPure": false, @@ -16127,21 +16100,21 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "20368:32:0", + "src": "20348:32:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 1160, + "id": 1158, "indexExpression": { "argumentTypes": null, - "id": 1159, + "id": 1157, "name": "buyer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1053, - "src": "20401:5:0", + "referencedDeclaration": 1051, + "src": "20381:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -16152,7 +16125,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "20368:39:0", + "src": "20348:39:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -16163,14 +16136,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "74727565", - "id": 1161, + "id": 1159, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "20410:4:0", + "src": "20390:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -16178,15 +16151,15 @@ }, "value": "true" }, - "src": "20368:46:0", + "src": "20348:46:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 1163, + "id": 1161, "nodeType": "ExpressionStatement", - "src": "20368:46:0" + "src": "20348:46:0" }, { "expression": { @@ -16194,7 +16167,7 @@ "arguments": [ { "argumentTypes": null, - "id": 1171, + "id": 1169, "isConstant": false, "isLValue": false, "isPure": false, @@ -16202,7 +16175,7 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "20521:44:0", + "src": "20501:44:0", "subExpression": { "argumentTypes": null, "baseExpression": { @@ -16211,26 +16184,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1165, + "id": 1163, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "20522:12:0", + "src": "20502:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 1167, + "id": 1165, "indexExpression": { "argumentTypes": null, - "id": 1166, + "id": 1164, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1063, - "src": "20535:10:0", + "referencedDeclaration": 1061, + "src": "20515:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -16241,13 +16214,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20522:24:0", + "src": "20502:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 1168, + "id": 1166, "isConstant": false, "isLValue": true, "isPure": false, @@ -16255,21 +16228,21 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "20522:32:0", + "src": "20502:32:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 1170, + "id": 1168, "indexExpression": { "argumentTypes": null, - "id": 1169, + "id": 1167, "name": "moderator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1057, - "src": "20555:9:0", + "referencedDeclaration": 1055, + "src": "20535:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -16280,7 +16253,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20522:43:0", + "src": "20502:43:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -16294,14 +16267,14 @@ { "argumentTypes": null, "hexValue": "456974686572206275796572206f722073656c6c657220697320706173736564206173206d6f64657261746f72", - "id": 1172, + "id": 1170, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "20580:47:0", + "src": "20560:47:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_313b391557427937e7bdb85c7561d47c5b9c985755a448dd33a92026ffb38f8d", @@ -16321,21 +16294,21 @@ "typeString": "literal_string \"Either buyer or seller is passed as moderator\"" } ], - "id": 1164, + "id": 1162, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1384, - 1385 + 1382, + 1383 ], - "referencedDeclaration": 1385, - "src": "20500:7:0", + "referencedDeclaration": 1383, + "src": "20480:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 1173, + "id": 1171, "isConstant": false, "isLValue": false, "isPure": false, @@ -16343,15 +16316,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "20500:137:0", + "src": "20480:137:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1174, + "id": 1172, "nodeType": "ExpressionStatement", - "src": "20500:137:0" + "src": "20480:137:0" }, { "condition": { @@ -16360,19 +16333,19 @@ "typeIdentifier": "t_uint8", "typeString": "uint8" }, - "id": 1177, + "id": 1175, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1175, + "id": 1173, "name": "threshold", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1059, - "src": "20797:9:0", + "referencedDeclaration": 1057, + "src": "20777:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -16383,14 +16356,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "31", - "id": 1176, + "id": 1174, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "20809:1:0", + "src": "20789:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -16398,25 +16371,25 @@ }, "value": "1" }, - "src": "20797:13:0", + "src": "20777:13:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, - "id": 1188, + "id": 1186, "nodeType": "IfStatement", - "src": "20793:94:0", + "src": "20773:94:0", "trueBody": { - "id": 1187, + "id": 1185, "nodeType": "Block", - "src": "20812:75:0", + "src": "20792:75:0", "statements": [ { "expression": { "argumentTypes": null, - "id": 1185, + "id": 1183, "isConstant": false, "isLValue": false, "isPure": false, @@ -16429,26 +16402,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1178, + "id": 1176, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "20826:12:0", + "src": "20806:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 1180, + "id": 1178, "indexExpression": { "argumentTypes": null, - "id": 1179, + "id": 1177, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1063, - "src": "20839:10:0", + "referencedDeclaration": 1061, + "src": "20819:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -16459,13 +16432,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20826:24:0", + "src": "20806:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 1181, + "id": 1179, "isConstant": false, "isLValue": true, "isPure": false, @@ -16473,21 +16446,21 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "20826:32:0", + "src": "20806:32:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 1183, + "id": 1181, "indexExpression": { "argumentTypes": null, - "id": 1182, + "id": 1180, "name": "moderator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1057, - "src": "20859:9:0", + "referencedDeclaration": 1055, + "src": "20839:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -16498,7 +16471,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "20826:43:0", + "src": "20806:43:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -16509,14 +16482,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "74727565", - "id": 1184, + "id": 1182, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "20872:4:0", + "src": "20852:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -16524,15 +16497,15 @@ }, "value": "true" }, - "src": "20826:50:0", + "src": "20806:50:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 1186, + "id": 1184, "nodeType": "ExpressionStatement", - "src": "20826:50:0" + "src": "20806:50:0" } ] } @@ -16540,7 +16513,7 @@ { "expression": { "argumentTypes": null, - "id": 1190, + "id": 1188, "isConstant": false, "isLValue": false, "isPure": false, @@ -16548,15 +16521,15 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "20905:18:0", + "src": "20885:18:0", "subExpression": { "argumentTypes": null, - "id": 1189, + "id": 1187, "name": "transactionCount", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 78, - "src": "20905:16:0", + "src": "20885:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -16567,9 +16540,9 @@ "typeString": "uint256" } }, - "id": 1191, + "id": 1189, "nodeType": "ExpressionStatement", - "src": "20905:18:0" + "src": "20885:18:0" }, { "expression": { @@ -16577,12 +16550,12 @@ "arguments": [ { "argumentTypes": null, - "id": 1196, + "id": 1194, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1063, - "src": "20965:10:0", + "referencedDeclaration": 1061, + "src": "20945:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -16600,26 +16573,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1192, + "id": 1190, "name": "partyVsTransaction", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 83, - "src": "20934:18:0", + "src": "20914:18:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_bytes32_$dyn_storage_$", "typeString": "mapping(address => bytes32[] storage ref)" } }, - "id": 1194, + "id": 1192, "indexExpression": { "argumentTypes": null, - "id": 1193, + "id": 1191, "name": "buyer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1053, - "src": "20953:5:0", + "referencedDeclaration": 1051, + "src": "20933:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -16630,13 +16603,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20934:25:0", + "src": "20914:25:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage", "typeString": "bytes32[] storage ref" } }, - "id": 1195, + "id": 1193, "isConstant": false, "isLValue": false, "isPure": false, @@ -16644,13 +16617,13 @@ "memberName": "push", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "20934:30:0", + "src": "20914:30:0", "typeDescriptions": { "typeIdentifier": "t_function_arraypush_nonpayable$_t_bytes32_$returns$_t_uint256_$", "typeString": "function (bytes32) returns (uint256)" } }, - "id": 1197, + "id": 1195, "isConstant": false, "isLValue": false, "isPure": false, @@ -16658,15 +16631,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "20934:42:0", + "src": "20914:42:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1198, + "id": 1196, "nodeType": "ExpressionStatement", - "src": "20934:42:0" + "src": "20914:42:0" }, { "expression": { @@ -16674,12 +16647,12 @@ "arguments": [ { "argumentTypes": null, - "id": 1203, + "id": 1201, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1063, - "src": "21018:10:0", + "referencedDeclaration": 1061, + "src": "20998:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -16697,26 +16670,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1199, + "id": 1197, "name": "partyVsTransaction", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 83, - "src": "20986:18:0", + "src": "20966:18:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_bytes32_$dyn_storage_$", "typeString": "mapping(address => bytes32[] storage ref)" } }, - "id": 1201, + "id": 1199, "indexExpression": { "argumentTypes": null, - "id": 1200, + "id": 1198, "name": "seller", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1055, - "src": "21005:6:0", + "referencedDeclaration": 1053, + "src": "20985:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -16727,13 +16700,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20986:26:0", + "src": "20966:26:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage", "typeString": "bytes32[] storage ref" } }, - "id": 1202, + "id": 1200, "isConstant": false, "isLValue": false, "isPure": false, @@ -16741,13 +16714,13 @@ "memberName": "push", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "20986:31:0", + "src": "20966:31:0", "typeDescriptions": { "typeIdentifier": "t_function_arraypush_nonpayable$_t_bytes32_$returns$_t_uint256_$", "typeString": "function (bytes32) returns (uint256)" } }, - "id": 1204, + "id": 1202, "isConstant": false, "isLValue": false, "isPure": false, @@ -16755,20 +16728,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "20986:43:0", + "src": "20966:43:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1205, + "id": 1203, "nodeType": "ExpressionStatement", - "src": "20986:43:0" + "src": "20966:43:0" } ] }, "documentation": "Private method to add transaction to reduce code redundancy", - "id": 1207, + "id": 1205, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -16776,16 +16749,16 @@ "name": "_addTransaction", "nodeType": "FunctionDefinition", "parameters": { - "id": 1072, + "id": 1070, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1053, + "id": 1051, "name": "buyer", "nodeType": "VariableDeclaration", - "scope": 1207, - "src": "18429:13:0", + "scope": 1205, + "src": "18409:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -16793,10 +16766,10 @@ "typeString": "address" }, "typeName": { - "id": 1052, + "id": 1050, "name": "address", "nodeType": "ElementaryTypeName", - "src": "18429:7:0", + "src": "18409:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -16807,11 +16780,11 @@ }, { "constant": false, - "id": 1055, + "id": 1053, "name": "seller", "nodeType": "VariableDeclaration", - "scope": 1207, - "src": "18452:14:0", + "scope": 1205, + "src": "18432:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -16819,10 +16792,10 @@ "typeString": "address" }, "typeName": { - "id": 1054, + "id": 1052, "name": "address", "nodeType": "ElementaryTypeName", - "src": "18452:7:0", + "src": "18432:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -16833,11 +16806,11 @@ }, { "constant": false, - "id": 1057, + "id": 1055, "name": "moderator", "nodeType": "VariableDeclaration", - "scope": 1207, - "src": "18476:17:0", + "scope": 1205, + "src": "18456:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -16845,10 +16818,10 @@ "typeString": "address" }, "typeName": { - "id": 1056, + "id": 1054, "name": "address", "nodeType": "ElementaryTypeName", - "src": "18476:7:0", + "src": "18456:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -16859,11 +16832,11 @@ }, { "constant": false, - "id": 1059, + "id": 1057, "name": "threshold", "nodeType": "VariableDeclaration", - "scope": 1207, - "src": "18503:15:0", + "scope": 1205, + "src": "18483:15:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -16871,10 +16844,10 @@ "typeString": "uint8" }, "typeName": { - "id": 1058, + "id": 1056, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "18503:5:0", + "src": "18483:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -16885,11 +16858,11 @@ }, { "constant": false, - "id": 1061, + "id": 1059, "name": "timeoutHours", "nodeType": "VariableDeclaration", - "scope": 1207, - "src": "18528:19:0", + "scope": 1205, + "src": "18508:19:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -16897,10 +16870,10 @@ "typeString": "uint32" }, "typeName": { - "id": 1060, + "id": 1058, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "18528:6:0", + "src": "18508:6:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -16911,11 +16884,11 @@ }, { "constant": false, - "id": 1063, + "id": 1061, "name": "scriptHash", "nodeType": "VariableDeclaration", - "scope": 1207, - "src": "18557:18:0", + "scope": 1205, + "src": "18537:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -16923,10 +16896,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 1062, + "id": 1060, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "18557:7:0", + "src": "18537:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -16937,11 +16910,11 @@ }, { "constant": false, - "id": 1065, + "id": 1063, "name": "value", "nodeType": "VariableDeclaration", - "scope": 1207, - "src": "18585:13:0", + "scope": 1205, + "src": "18565:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -16949,10 +16922,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1064, + "id": 1062, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "18585:7:0", + "src": "18565:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -16963,11 +16936,11 @@ }, { "constant": false, - "id": 1067, + "id": 1065, "name": "uniqueId", "nodeType": "VariableDeclaration", - "scope": 1207, - "src": "18608:16:0", + "scope": 1205, + "src": "18588:16:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -16975,10 +16948,10 @@ "typeString": "bytes20" }, "typeName": { - "id": 1066, + "id": 1064, "name": "bytes20", "nodeType": "ElementaryTypeName", - "src": "18608:7:0", + "src": "18588:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -16989,11 +16962,11 @@ }, { "constant": false, - "id": 1069, + "id": 1067, "name": "transactionType", "nodeType": "VariableDeclaration", - "scope": 1207, - "src": "18634:31:0", + "scope": 1205, + "src": "18614:31:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -17002,11 +16975,11 @@ }, "typeName": { "contractScope": null, - "id": 1068, + "id": 1066, "name": "TransactionType", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 12, - "src": "18634:15:0", + "src": "18614:15:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -17017,11 +16990,11 @@ }, { "constant": false, - "id": 1071, + "id": 1069, "name": "tokenAddress", "nodeType": "VariableDeclaration", - "scope": 1207, - "src": "18675:20:0", + "scope": 1205, + "src": "18655:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -17029,10 +17002,10 @@ "typeString": "address" }, "typeName": { - "id": 1070, + "id": 1068, "name": "address", "nodeType": "ElementaryTypeName", - "src": "18675:7:0", + "src": "18655:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -17042,36 +17015,36 @@ "visibility": "internal" } ], - "src": "18419:282:0" + "src": "18399:282:0" }, "payable": false, "returnParameters": { - "id": 1073, + "id": 1071, "nodeType": "ParameterList", "parameters": [], - "src": "18722:0:0" + "src": "18702:0:0" }, - "scope": 1208, - "src": "18395:2641:0", + "scope": 1206, + "src": "18375:2641:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "private" } ], - "scope": 1209, - "src": "605:20433:0" + "scope": 1207, + "src": "605:20413:0" } ], - "src": "0:21039:0" + "src": "0:21019:0" }, "legacyAST": { "absolutePath": "/home/sameep/freelancing-projects/toptal/open baazar/publicRepo/smart-contracts/contracts/escrow/Escrow_v1_0.sol", "exportedSymbols": { "Escrow_v1_0": [ - 1208 + 1206 ] }, - "id": 1209, + "id": 1207, "nodeType": "SourceUnit", "nodes": [ { @@ -17089,8 +17062,8 @@ "file": "openzeppelin-solidity/contracts/math/SafeMath.sol", "id": 2, "nodeType": "ImportDirective", - "scope": 1209, - "sourceUnit": 1367, + "scope": 1207, + "sourceUnit": 1365, "src": "25:59:0", "symbolAliases": [], "unitAlias": "" @@ -17100,8 +17073,8 @@ "file": "../token/ITokenContract.sol", "id": 3, "nodeType": "ImportDirective", - "scope": 1209, - "sourceUnit": 1239, + "scope": 1207, + "sourceUnit": 1237, "src": "86:37:0", "symbolAliases": [], "unitAlias": "" @@ -17112,9 +17085,9 @@ "contractKind": "contract", "documentation": "@dev Supports ERC20 tokens\nThe escrow smart contract for the open bazaar trades in Ethereum\nThe smart contract is designed keeping in mind the current wallet interface of the OB-core\nhttps://github.com/OpenBazaar/wallet-interface/blob/master/wallet.go\nCurrent wallet interface strictly adheres to UTXO(bitcoin) model\nPlease read below mentioned link for detailed specs\nhttps://github.com/OpenBazaar/smart-contracts/blob/master/contracts/escrow/EscrowSpec.md", "fullyImplemented": true, - "id": 1208, + "id": 1206, "linearizedBaseContracts": [ - 1208 + 1206 ], "name": "Escrow_v1_0", "nodeType": "ContractDefinition", @@ -17126,10 +17099,10 @@ "id": 4, "name": "SafeMath", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1366, + "referencedDeclaration": 1364, "src": "639:8:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$1366", + "typeIdentifier": "t_contract$_SafeMath_$1364", "typeString": "library SafeMath" } }, @@ -17902,7 +17875,7 @@ ], "name": "Transaction", "nodeType": "StructDefinition", - "scope": 1208, + "scope": 1206, "src": "1103:599:0", "visibility": "public" }, @@ -17911,7 +17884,7 @@ "id": 75, "name": "transactions", "nodeType": "VariableDeclaration", - "scope": 1208, + "scope": 1206, "src": "1708:51:0", "stateVariable": true, "storageLocation": "default", @@ -17958,7 +17931,7 @@ "id": 78, "name": "transactionCount", "nodeType": "VariableDeclaration", - "scope": 1208, + "scope": 1206, "src": "1766:35:0", "stateVariable": true, "storageLocation": "default", @@ -18001,7 +17974,7 @@ "id": 83, "name": "partyVsTransaction", "nodeType": "VariableDeclaration", - "scope": 1208, + "scope": 1206, "src": "1880:56:0", "stateVariable": true, "storageLocation": "default", @@ -18188,10 +18161,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1384, - 1385 + 1382, + 1383 ], - "referencedDeclaration": 1385, + "referencedDeclaration": 1383, "src": "1999:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -18400,10 +18373,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1384, - 1385 + 1382, + 1383 ], - "referencedDeclaration": 1385, + "referencedDeclaration": 1383, "src": "2182:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -18623,10 +18596,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1384, - 1385 + 1382, + 1383 ], - "referencedDeclaration": 1385, + "referencedDeclaration": 1383, "src": "2324:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -18830,10 +18803,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1384, - 1385 + 1382, + 1383 ], - "referencedDeclaration": 1385, + "referencedDeclaration": 1383, "src": "2523:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -19037,10 +19010,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1384, - 1385 + 1382, + 1383 ], - "referencedDeclaration": 1385, + "referencedDeclaration": 1383, "src": "2726:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -19169,7 +19142,7 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1381, + "referencedDeclaration": 1379, "src": "2945:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", @@ -19288,10 +19261,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1384, - 1385 + 1382, + 1383 ], - "referencedDeclaration": 1385, + "referencedDeclaration": 1383, "src": "2924:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -19459,7 +19432,7 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1381, + "referencedDeclaration": 1379, "src": "4389:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", @@ -19626,7 +19599,7 @@ "name": "_addTransaction", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1207, + "referencedDeclaration": 1205, "src": "4225:15:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_address_$_t_uint8_$_t_uint32_$_t_bytes32_$_t_uint256_$_t_bytes20_$_t_enum$_TransactionType_$12_$_t_address_$returns$__$", @@ -19676,7 +19649,7 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1381, + "referencedDeclaration": 1379, "src": "4532:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", @@ -19705,7 +19678,7 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1381, + "referencedDeclaration": 1379, "src": "4544:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", @@ -20077,7 +20050,7 @@ "parameters": [], "src": "4215:0:0" }, - "scope": 1208, + "scope": 1206, "src": "3861:701:0", "stateMutability": "payable", "superFunction": null, @@ -20287,7 +20260,7 @@ "name": "_addTransaction", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1207, + "referencedDeclaration": 1205, "src": "5954:15:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_address_$_t_uint8_$_t_uint32_$_t_bytes32_$_t_uint256_$_t_bytes20_$_t_enum$_TransactionType_$12_$_t_address_$returns$__$", @@ -20327,7 +20300,7 @@ "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenContract_$1238", + "typeIdentifier": "t_contract$_ITokenContract_$1236", "typeString": "contract ITokenContract" }, "typeName": { @@ -20335,10 +20308,10 @@ "id": 281, "name": "ITokenContract", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1238, + "referencedDeclaration": 1236, "src": "6227:14:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenContract_$1238", + "typeIdentifier": "t_contract$_ITokenContract_$1236", "typeString": "contract ITokenContract" } }, @@ -20375,10 +20348,10 @@ "name": "ITokenContract", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1238, + "referencedDeclaration": 1236, "src": "6250:14:0", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ITokenContract_$1238_$", + "typeIdentifier": "t_type$_t_contract$_ITokenContract_$1236_$", "typeString": "type(contract ITokenContract)" } }, @@ -20392,7 +20365,7 @@ "nodeType": "FunctionCall", "src": "6250:28:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenContract_$1238", + "typeIdentifier": "t_contract$_ITokenContract_$1236", "typeString": "contract ITokenContract" } }, @@ -20414,7 +20387,7 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1381, + "referencedDeclaration": 1379, "src": "6329:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", @@ -20444,10 +20417,10 @@ "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1398, + "referencedDeclaration": 1396, "src": "6349:4:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_Escrow_v1_0_$1208", + "typeIdentifier": "t_contract$_Escrow_v1_0_$1206", "typeString": "contract Escrow_v1_0" } } @@ -20455,7 +20428,7 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_Escrow_v1_0_$1208", + "typeIdentifier": "t_contract$_Escrow_v1_0_$1206", "typeString": "contract Escrow_v1_0" } ], @@ -20524,7 +20497,7 @@ "referencedDeclaration": 282, "src": "6310:5:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenContract_$1238", + "typeIdentifier": "t_contract$_ITokenContract_$1236", "typeString": "contract ITokenContract" } }, @@ -20535,7 +20508,7 @@ "lValueRequested": false, "memberName": "transferFrom", "nodeType": "MemberAccess", - "referencedDeclaration": 1237, + "referencedDeclaration": 1235, "src": "6310:18:0", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", @@ -20590,10 +20563,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1384, - 1385 + 1382, + 1383 ], - "referencedDeclaration": 1385, + "referencedDeclaration": 1383, "src": "6289:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -20643,7 +20616,7 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1381, + "referencedDeclaration": 1379, "src": "6515:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", @@ -21113,7 +21086,7 @@ "parameters": [], "src": "5943:0:0" }, - "scope": 1208, + "scope": 1206, "src": "5510:1030:0", "stateMutability": "nonpayable", "superFunction": null, @@ -21317,7 +21290,7 @@ ], "src": "6916:6:0" }, - "scope": 1208, + "scope": 1206, "src": "6781:221:0", "stateMutability": "view", "superFunction": null, @@ -21521,7 +21494,7 @@ ], "src": "7364:6:0" }, - "scope": 1208, + "scope": 1206, "src": "7242:194:0", "stateMutability": "view", "superFunction": null, @@ -21556,7 +21529,7 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1381, + "referencedDeclaration": 1379, "src": "8058:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", @@ -21637,10 +21610,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1384, - 1385 + 1382, + 1383 ], - "referencedDeclaration": 1385, + "referencedDeclaration": 1383, "src": "8050:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -21742,7 +21715,7 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1381, + "referencedDeclaration": 1379, "src": "8200:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", @@ -21834,7 +21807,7 @@ "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 1345, + "referencedDeclaration": 1343, "src": "8152:47:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", @@ -21890,7 +21863,7 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1381, + "referencedDeclaration": 1379, "src": "8248:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", @@ -21919,7 +21892,7 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1381, + "referencedDeclaration": 1379, "src": "8260:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", @@ -22197,7 +22170,7 @@ "parameters": [], "src": "8039:0:0" }, - "scope": 1208, + "scope": 1206, "src": "7763:514:0", "stateMutability": "payable", "superFunction": null, @@ -22205,9 +22178,9 @@ }, { "body": { - "id": 464, + "id": 462, "nodeType": "Block", - "src": "8880:557:0", + "src": "8880:537:0", "statements": [ { "expression": { @@ -22297,10 +22270,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1384, - 1385 + 1382, + 1383 ], - "referencedDeclaration": 1385, + "referencedDeclaration": 1383, "src": "8891:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -22335,12 +22308,12 @@ "id": 421, "name": "token", "nodeType": "VariableDeclaration", - "scope": 465, + "scope": 463, "src": "8956:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenContract_$1238", + "typeIdentifier": "t_contract$_ITokenContract_$1236", "typeString": "contract ITokenContract" }, "typeName": { @@ -22348,10 +22321,10 @@ "id": 420, "name": "ITokenContract", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1238, + "referencedDeclaration": 1236, "src": "8956:14:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenContract_$1238", + "typeIdentifier": "t_contract$_ITokenContract_$1236", "typeString": "contract ITokenContract" } }, @@ -22431,10 +22404,10 @@ "name": "ITokenContract", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1238, + "referencedDeclaration": 1236, "src": "8979:14:0", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ITokenContract_$1238_$", + "typeIdentifier": "t_type$_t_contract$_ITokenContract_$1236_$", "typeString": "type(contract ITokenContract)" } }, @@ -22448,7 +22421,7 @@ "nodeType": "FunctionCall", "src": "8979:75:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenContract_$1238", + "typeIdentifier": "t_contract$_ITokenContract_$1236", "typeString": "contract ITokenContract" } }, @@ -22466,53 +22439,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 432, - "name": "transactions", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75, - "src": "9105:12:0", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", - "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" - } - }, - "id": 434, - "indexExpression": { - "argumentTypes": null, - "id": 433, - "name": "scriptHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 394, - "src": "9118:10:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9105:24:0", + "id": 432, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1379, + "src": "9105:3:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_Transaction_$71_storage", - "typeString": "struct Escrow_v1_0.Transaction storage ref" + "typeIdentifier": "t_magic_message", + "typeString": "msg" } }, - "id": 435, + "id": 433, "isConstant": false, - "isLValue": true, + "isLValue": false, "isPure": false, "lValueRequested": false, - "memberName": "buyer", + "memberName": "sender", "nodeType": "MemberAccess", - "referencedDeclaration": 52, - "src": "9105:30:0", + "referencedDeclaration": null, + "src": "9105:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -22523,14 +22469,14 @@ "arguments": [ { "argumentTypes": null, - "id": 437, + "id": 435, "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1398, - "src": "9145:4:0", + "referencedDeclaration": 1396, + "src": "9125:4:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_Escrow_v1_0_$1208", + "typeIdentifier": "t_contract$_Escrow_v1_0_$1206", "typeString": "contract Escrow_v1_0" } } @@ -22538,24 +22484,24 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_Escrow_v1_0_$1208", + "typeIdentifier": "t_contract$_Escrow_v1_0_$1206", "typeString": "contract Escrow_v1_0" } ], - "id": 436, + "id": 434, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "9137:7:0", + "src": "9117:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, - "id": 438, + "id": 436, "isConstant": false, "isLValue": false, "isPure": false, @@ -22563,7 +22509,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "9137:13:0", + "src": "9117:13:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -22571,12 +22517,12 @@ }, { "argumentTypes": null, - "id": 439, + "id": 437, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 396, - "src": "9152:5:0", + "src": "9132:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -22607,7 +22553,7 @@ "referencedDeclaration": 421, "src": "9086:5:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenContract_$1238", + "typeIdentifier": "t_contract$_ITokenContract_$1236", "typeString": "contract ITokenContract" } }, @@ -22618,14 +22564,14 @@ "lValueRequested": false, "memberName": "transferFrom", "nodeType": "MemberAccess", - "referencedDeclaration": 1237, + "referencedDeclaration": 1235, "src": "9086:18:0", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", "typeString": "function (address,address,uint256) external returns (bool)" } }, - "id": 440, + "id": 438, "isConstant": false, "isLValue": false, "isPure": false, @@ -22633,7 +22579,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "9086:72:0", + "src": "9086:52:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -22642,14 +22588,14 @@ { "argumentTypes": null, "hexValue": "546f6b656e207472616e73666572206661696c65642c206d6179626520796f7520646964206e6f7420617070726f766520657363726f7720636f6e747261637420746f207370656e64206f6e20626568616c66206f66206275796572", - "id": 441, + "id": 439, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "9172:94:0", + "src": "9152:94:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_d9d07068d589bc4adc53018a3c57c159ec128fdfb62732a5fa9410e76cf03318", @@ -22673,17 +22619,17 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1384, - 1385 + 1382, + 1383 ], - "referencedDeclaration": 1385, + "referencedDeclaration": 1383, "src": "9065:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 442, + "id": 440, "isConstant": false, "isLValue": false, "isPure": false, @@ -22691,20 +22637,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "9065:211:0", + "src": "9065:191:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 443, + "id": 441, "nodeType": "ExpressionStatement", - "src": "9065:211:0" + "src": "9065:191:0" }, { "expression": { "argumentTypes": null, - "id": 455, + "id": 453, "isConstant": false, "isLValue": false, "isPure": false, @@ -22715,26 +22661,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 444, + "id": 442, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "9287:12:0", + "src": "9267:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 446, + "id": 444, "indexExpression": { "argumentTypes": null, - "id": 445, + "id": 443, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 394, - "src": "9300:10:0", + "src": "9280:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -22745,13 +22691,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "9287:24:0", + "src": "9267:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 447, + "id": 445, "isConstant": false, "isLValue": true, "isPure": false, @@ -22759,7 +22705,7 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": 40, - "src": "9287:30:0", + "src": "9267:30:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -22772,12 +22718,12 @@ "arguments": [ { "argumentTypes": null, - "id": 453, + "id": 451, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 396, - "src": "9368:5:0", + "src": "9348:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -22797,26 +22743,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 448, + "id": 446, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "9320:12:0", + "src": "9300:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 450, + "id": 448, "indexExpression": { "argumentTypes": null, - "id": 449, + "id": 447, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 394, - "src": "9333:10:0", + "src": "9313:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -22827,13 +22773,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "9320:24:0", + "src": "9300:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 451, + "id": 449, "isConstant": false, "isLValue": true, "isPure": false, @@ -22841,27 +22787,27 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": 40, - "src": "9320:30:0", + "src": "9300:30:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 452, + "id": 450, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 1345, - "src": "9320:47:0", + "referencedDeclaration": 1343, + "src": "9300:47:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 454, + "id": 452, "isConstant": false, "isLValue": false, "isPure": false, @@ -22869,21 +22815,21 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "9320:54:0", + "src": "9300:54:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "9287:87:0", + "src": "9267:87:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 456, + "id": 454, "nodeType": "ExpressionStatement", - "src": "9287:87:0" + "src": "9267:87:0" }, { "eventCall": { @@ -22891,12 +22837,12 @@ "arguments": [ { "argumentTypes": null, - "id": 458, + "id": 456, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 394, - "src": "9400:10:0", + "src": "9380:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -22906,18 +22852,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 459, + "id": 457, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1381, - "src": "9412:3:0", + "referencedDeclaration": 1379, + "src": "9392:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 460, + "id": 458, "isConstant": false, "isLValue": false, "isPure": false, @@ -22925,7 +22871,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "9412:10:0", + "src": "9392:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -22933,12 +22879,12 @@ }, { "argumentTypes": null, - "id": 461, + "id": 459, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 396, - "src": "9424:5:0", + "src": "9404:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -22960,18 +22906,18 @@ "typeString": "uint256" } ], - "id": 457, + "id": 455, "name": "FundAdded", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 30, - "src": "9390:9:0", + "src": "9370:9:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (bytes32,address,uint256)" } }, - "id": 462, + "id": 460, "isConstant": false, "isLValue": false, "isPure": false, @@ -22979,20 +22925,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "9390:40:0", + "src": "9370:40:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 463, + "id": 461, "nodeType": "EmitStatement", - "src": "9385:45:0" + "src": "9365:45:0" } ] }, "documentation": "@dev Allows buyer of the transaction to add more funds(Tokens) in the transaction. \nThis will help to cater scenarios wherein initially buyer missed to fund transaction as required\n@param scriptHash script hash of the transaction\nOnly buyer of the transaction can invoke this method", - "id": 465, + "id": 463, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -23170,7 +23116,7 @@ "id": 394, "name": "scriptHash", "nodeType": "VariableDeclaration", - "scope": 465, + "scope": 463, "src": "8646:18:0", "stateVariable": false, "storageLocation": "default", @@ -23196,7 +23142,7 @@ "id": 396, "name": "value", "nodeType": "VariableDeclaration", - "scope": 465, + "scope": 463, "src": "8674:13:0", "stateVariable": false, "storageLocation": "default", @@ -23227,43 +23173,43 @@ "parameters": [], "src": "8880:0:0" }, - "scope": 1208, - "src": "8605:832:0", + "scope": 1206, + "src": "8605:812:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" }, { "body": { - "id": 477, + "id": 475, "nodeType": "Block", - "src": "9692:56:0", + "src": "9672:56:0", "statements": [ { "expression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 473, + "id": 471, "name": "partyVsTransaction", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 83, - "src": "9709:18:0", + "src": "9689:18:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_bytes32_$dyn_storage_$", "typeString": "mapping(address => bytes32[] storage ref)" } }, - "id": 475, + "id": 473, "indexExpression": { "argumentTypes": null, - "id": 474, + "id": 472, "name": "partyAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 467, - "src": "9728:12:0", + "referencedDeclaration": 465, + "src": "9708:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -23274,21 +23220,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "9709:32:0", + "src": "9689:32:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage", "typeString": "bytes32[] storage ref" } }, - "functionReturnParameters": 472, - "id": 476, + "functionReturnParameters": 470, + "id": 474, "nodeType": "Return", - "src": "9702:39:0" + "src": "9682:39:0" } ] }, "documentation": "dev Returns all transaction ids for a party\nparam partyAddress Address of the party", - "id": 478, + "id": 476, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -23296,16 +23242,16 @@ "name": "getAllTransactionsForParty", "nodeType": "FunctionDefinition", "parameters": { - "id": 468, + "id": 466, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 467, + "id": 465, "name": "partyAddress", "nodeType": "VariableDeclaration", - "scope": 478, - "src": "9599:20:0", + "scope": 476, + "src": "9579:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -23313,10 +23259,10 @@ "typeString": "address" }, "typeName": { - "id": 466, + "id": 464, "name": "address", "nodeType": "ElementaryTypeName", - "src": "9599:7:0", + "src": "9579:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -23326,20 +23272,20 @@ "visibility": "internal" } ], - "src": "9589:36:0" + "src": "9569:36:0" }, "payable": false, "returnParameters": { - "id": 472, + "id": 470, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 471, + "id": 469, "name": "", "nodeType": "VariableDeclaration", - "scope": 478, - "src": "9676:9:0", + "scope": 476, + "src": "9656:9:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -23348,19 +23294,19 @@ }, "typeName": { "baseType": { - "id": 469, + "id": 467, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "9676:7:0", + "src": "9656:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "id": 470, + "id": 468, "length": null, "nodeType": "ArrayTypeName", - "src": "9676:9:0", + "src": "9656:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -23370,19 +23316,19 @@ "visibility": "internal" } ], - "src": "9675:11:0" + "src": "9655:11:0" }, - "scope": 1208, - "src": "9554:194:0", + "scope": 1206, + "src": "9534:194:0", "stateMutability": "view", "superFunction": null, "visibility": "external" }, { "body": { - "id": 566, + "id": 564, "nodeType": "Block", - "src": "10618:932:0", + "src": "10598:932:0", "statements": [ { "expression": { @@ -23394,7 +23340,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 508, + "id": 506, "isConstant": false, "isLValue": false, "isPure": false, @@ -23403,18 +23349,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 505, + "id": 503, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 492, - "src": "10652:12:0", + "referencedDeclaration": 490, + "src": "10632:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" } }, - "id": 506, + "id": 504, "isConstant": false, "isLValue": false, "isPure": false, @@ -23422,7 +23368,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "10652:19:0", + "src": "10632:19:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -23433,14 +23379,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 507, + "id": 505, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "10672:1:0", + "src": "10652:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -23448,7 +23394,7 @@ }, "value": "0" }, - "src": "10652:21:0", + "src": "10632:21:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -23457,14 +23403,14 @@ { "argumentTypes": null, "hexValue": "4e756d626572206f662064657374696e6174696f6e73206d7573742062652067726561746572207468616e2030", - "id": 509, + "id": 507, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "10688:47:0", + "src": "10668:47:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_fbeb58246a6e3ff255a1d618f14d1cced67ffd4784fbc3e1cfbdf71d1f7fbdf9", @@ -23484,21 +23430,21 @@ "typeString": "literal_string \"Number of destinations must be greater than 0\"" } ], - "id": 504, + "id": 502, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1384, - 1385 + 1382, + 1383 ], - "referencedDeclaration": 1385, - "src": "10631:7:0", + "referencedDeclaration": 1383, + "src": "10611:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 510, + "id": 508, "isConstant": false, "isLValue": false, "isPure": false, @@ -23506,15 +23452,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "10631:114:0", + "src": "10611:114:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 511, + "id": 509, "nodeType": "ExpressionStatement", - "src": "10631:114:0" + "src": "10611:114:0" }, { "expression": { @@ -23526,7 +23472,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 517, + "id": 515, "isConstant": false, "isLValue": false, "isPure": false, @@ -23535,18 +23481,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 513, + "id": 511, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 492, - "src": "10776:12:0", + "referencedDeclaration": 490, + "src": "10756:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" } }, - "id": 514, + "id": 512, "isConstant": false, "isLValue": false, "isPure": false, @@ -23554,7 +23500,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "10776:19:0", + "src": "10756:19:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -23566,18 +23512,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 515, + "id": 513, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 495, - "src": "10799:7:0", + "referencedDeclaration": 493, + "src": "10779:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", "typeString": "uint256[] calldata" } }, - "id": 516, + "id": 514, "isConstant": false, "isLValue": false, "isPure": false, @@ -23585,13 +23531,13 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "10799:14:0", + "src": "10779:14:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "10776:37:0", + "src": "10756:37:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -23600,14 +23546,14 @@ { "argumentTypes": null, "hexValue": "4e756d626572206f662064657374696e6174696f6e73206d757374206d61746368206e756d626572206f662076616c7565732073656e74", - "id": 518, + "id": 516, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "10827:57:0", + "src": "10807:57:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_e70a315a5939ff57e3400503291dbc0af19d18c32f15c80c7c6f5b7c54a6cd3c", @@ -23627,21 +23573,21 @@ "typeString": "literal_string \"Number of destinations must match number of values sent\"" } ], - "id": 512, + "id": 510, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1384, - 1385 + 1382, + 1383 ], - "referencedDeclaration": 1385, - "src": "10755:7:0", + "referencedDeclaration": 1383, + "src": "10735:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 519, + "id": 517, "isConstant": false, "isLValue": false, "isPure": false, @@ -23649,15 +23595,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "10755:139:0", + "src": "10735:139:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 520, + "id": 518, "nodeType": "ExpressionStatement", - "src": "10755:139:0" + "src": "10735:139:0" }, { "expression": { @@ -23665,12 +23611,12 @@ "arguments": [ { "argumentTypes": null, - "id": 522, + "id": 520, "name": "sigV", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 481, - "src": "10944:4:0", + "referencedDeclaration": 479, + "src": "10924:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_calldata_ptr", "typeString": "uint8[] calldata" @@ -23678,12 +23624,12 @@ }, { "argumentTypes": null, - "id": 523, + "id": 521, "name": "sigR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 484, - "src": "10962:4:0", + "referencedDeclaration": 482, + "src": "10942:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", "typeString": "bytes32[] calldata" @@ -23691,12 +23637,12 @@ }, { "argumentTypes": null, - "id": 524, + "id": 522, "name": "sigS", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 487, - "src": "10980:4:0", + "referencedDeclaration": 485, + "src": "10960:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", "typeString": "bytes32[] calldata" @@ -23704,12 +23650,12 @@ }, { "argumentTypes": null, - "id": 525, + "id": 523, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 489, - "src": "10998:10:0", + "referencedDeclaration": 487, + "src": "10978:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -23717,12 +23663,12 @@ }, { "argumentTypes": null, - "id": 526, + "id": 524, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 492, - "src": "11022:12:0", + "referencedDeclaration": 490, + "src": "11002:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" @@ -23730,12 +23676,12 @@ }, { "argumentTypes": null, - "id": 527, + "id": 525, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 495, - "src": "11048:7:0", + "referencedDeclaration": 493, + "src": "11028:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", "typeString": "uint256[] calldata" @@ -23769,18 +23715,18 @@ "typeString": "uint256[] calldata" } ], - "id": 521, + "id": 519, "name": "_verifyTransaction", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 695, - "src": "10912:18:0", + "referencedDeclaration": 693, + "src": "10892:18:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_array$_t_uint8_$dyn_memory_ptr_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_bytes32_$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$__$", "typeString": "function (uint8[] memory,bytes32[] memory,bytes32[] memory,bytes32,address[] memory,uint256[] memory)" } }, - "id": 528, + "id": 526, "isConstant": false, "isLValue": false, "isPure": false, @@ -23788,20 +23734,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "10912:153:0", + "src": "10892:153:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 529, + "id": 527, "nodeType": "ExpressionStatement", - "src": "10912:153:0" + "src": "10892:153:0" }, { "expression": { "argumentTypes": null, - "id": 536, + "id": 534, "isConstant": false, "isLValue": false, "isPure": false, @@ -23812,26 +23758,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 530, + "id": 528, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "11076:12:0", + "src": "11056:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 532, + "id": 530, "indexExpression": { "argumentTypes": null, - "id": 531, + "id": 529, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 489, - "src": "11089:10:0", + "referencedDeclaration": 487, + "src": "11069:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -23842,13 +23788,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "11076:24:0", + "src": "11056:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 533, + "id": 531, "isConstant": false, "isLValue": true, "isPure": false, @@ -23856,7 +23802,7 @@ "memberName": "status", "nodeType": "MemberAccess", "referencedDeclaration": 44, - "src": "11076:31:0", + "src": "11056:31:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$9", "typeString": "enum Escrow_v1_0.Status" @@ -23868,18 +23814,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 534, + "id": 532, "name": "Status", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9, - "src": "11110:6:0", + "src": "11090:6:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_Status_$9_$", "typeString": "type(enum Escrow_v1_0.Status)" } }, - "id": 535, + "id": 533, "isConstant": false, "isLValue": false, "isPure": true, @@ -23887,26 +23833,26 @@ "memberName": "RELEASED", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "11110:15:0", + "src": "11090:15:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$9", "typeString": "enum Escrow_v1_0.Status" } }, - "src": "11076:49:0", + "src": "11056:49:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$9", "typeString": "enum Escrow_v1_0.Status" } }, - "id": 537, + "id": 535, "nodeType": "ExpressionStatement", - "src": "11076:49:0" + "src": "11056:49:0" }, { "expression": { "argumentTypes": null, - "id": 544, + "id": 542, "isConstant": false, "isLValue": false, "isPure": false, @@ -23917,26 +23863,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 538, + "id": 536, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "11209:12:0", + "src": "11189:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 540, + "id": 538, "indexExpression": { "argumentTypes": null, - "id": 539, + "id": 537, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 489, - "src": "11222:10:0", + "referencedDeclaration": 487, + "src": "11202:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -23947,13 +23893,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "11209:24:0", + "src": "11189:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 541, + "id": 539, "isConstant": false, "isLValue": true, "isPure": false, @@ -23961,7 +23907,7 @@ "memberName": "lastModified", "nodeType": "MemberAccess", "referencedDeclaration": 42, - "src": "11209:37:0", + "src": "11189:37:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -23973,18 +23919,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 542, + "id": 540, "name": "block", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1371, - "src": "11249:5:0", + "referencedDeclaration": 1369, + "src": "11229:5:0", "typeDescriptions": { "typeIdentifier": "t_magic_block", "typeString": "block" } }, - "id": 543, + "id": 541, "isConstant": false, "isLValue": false, "isPure": false, @@ -23992,21 +23938,21 @@ "memberName": "timestamp", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "11249:15:0", + "src": "11229:15:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "11209:55:0", + "src": "11189:55:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 545, + "id": 543, "nodeType": "ExpressionStatement", - "src": "11209:55:0" + "src": "11189:55:0" }, { "expression": { @@ -24018,7 +23964,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 556, + "id": 554, "isConstant": false, "isLValue": false, "isPure": false, @@ -24028,12 +23974,12 @@ "arguments": [ { "argumentTypes": null, - "id": 548, + "id": 546, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 489, - "src": "11310:10:0", + "referencedDeclaration": 487, + "src": "11290:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -24041,12 +23987,12 @@ }, { "argumentTypes": null, - "id": 549, + "id": 547, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 492, - "src": "11322:12:0", + "referencedDeclaration": 490, + "src": "11302:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" @@ -24054,12 +24000,12 @@ }, { "argumentTypes": null, - "id": 550, + "id": 548, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 495, - "src": "11336:7:0", + "referencedDeclaration": 493, + "src": "11316:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", "typeString": "uint256[] calldata" @@ -24081,18 +24027,18 @@ "typeString": "uint256[] calldata" } ], - "id": 547, + "id": 545, "name": "_transferFunds", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 888, - "src": "11295:14:0", + "referencedDeclaration": 886, + "src": "11275:14:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$_t_uint256_$", "typeString": "function (bytes32,address[] memory,uint256[] memory) returns (uint256)" } }, - "id": 551, + "id": 549, "isConstant": false, "isLValue": false, "isPure": false, @@ -24100,7 +24046,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "11295:49:0", + "src": "11275:49:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -24114,26 +24060,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 552, + "id": 550, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "11348:12:0", + "src": "11328:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 554, + "id": 552, "indexExpression": { "argumentTypes": null, - "id": 553, + "id": 551, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 489, - "src": "11361:10:0", + "referencedDeclaration": 487, + "src": "11341:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -24144,13 +24090,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "11348:24:0", + "src": "11328:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 555, + "id": 553, "isConstant": false, "isLValue": true, "isPure": false, @@ -24158,13 +24104,13 @@ "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": 40, - "src": "11348:30:0", + "src": "11328:30:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "11295:83:0", + "src": "11275:83:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -24173,14 +24119,14 @@ { "argumentTypes": null, "hexValue": "546f74616c2076616c756520746f2062652072656c6561736564206d75737420626520657175616c20746f20746865207472616e73616374696f6e20657363726f772076616c7565", - "id": 557, + "id": 555, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "11392:74:0", + "src": "11372:74:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_9e0bdb14e2e0d5e118fd1f547268c6a1fdb5e8facacd614066d4b60bc2c9941d", @@ -24200,21 +24146,21 @@ "typeString": "literal_string \"Total value to be released must be equal to the transaction escrow value\"" } ], - "id": 546, + "id": 544, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1384, - 1385 + 1382, + 1383 ], - "referencedDeclaration": 1385, - "src": "11274:7:0", + "referencedDeclaration": 1383, + "src": "11254:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 558, + "id": 556, "isConstant": false, "isLValue": false, "isPure": false, @@ -24222,15 +24168,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "11274:202:0", + "src": "11254:202:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 559, + "id": 557, "nodeType": "ExpressionStatement", - "src": "11274:202:0" + "src": "11254:202:0" }, { "eventCall": { @@ -24238,12 +24184,12 @@ "arguments": [ { "argumentTypes": null, - "id": 561, + "id": 559, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 489, - "src": "11509:10:0", + "referencedDeclaration": 487, + "src": "11489:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -24251,12 +24197,12 @@ }, { "argumentTypes": null, - "id": 562, + "id": 560, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 492, - "src": "11521:12:0", + "referencedDeclaration": 490, + "src": "11501:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" @@ -24264,12 +24210,12 @@ }, { "argumentTypes": null, - "id": 563, + "id": 561, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 495, - "src": "11535:7:0", + "referencedDeclaration": 493, + "src": "11515:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", "typeString": "uint256[] calldata" @@ -24291,18 +24237,18 @@ "typeString": "uint256[] calldata" } ], - "id": 560, + "id": 558, "name": "Executed", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 22, - "src": "11500:8:0", + "src": "11480:8:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$__$", "typeString": "function (bytes32,address[] memory,uint256[] memory)" } }, - "id": 564, + "id": 562, "isConstant": false, "isLValue": false, "isPure": false, @@ -24310,20 +24256,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "11500:43:0", + "src": "11480:43:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 565, + "id": 563, "nodeType": "EmitStatement", - "src": "11495:48:0" + "src": "11475:48:0" } ] }, "documentation": "dev This method will be used to release funds associated with the transaction\nPlease see specs https://github.com/OpenBazaar/smart-contracts/blob/master/contracts/escrow/EscrowSpec.md\nparam sigV Array containing V component of all the signatures\nparam sigR Array containing R component of all the signatures\nparam signS Array containing S component of all the signatures\nparam scriptHash script hash of the transaction\nparam destinations List of addresses who will receive funds\nparam amounts amount released to each destination", - "id": 567, + "id": 565, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -24332,82 +24278,82 @@ "arguments": [ { "argumentTypes": null, - "id": 498, + "id": 496, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 489, - "src": "10568:10:0", + "referencedDeclaration": 487, + "src": "10548:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } } ], - "id": 499, + "id": 497, "modifierName": { "argumentTypes": null, - "id": 497, + "id": 495, "name": "transactionExist", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 99, - "src": "10551:16:0", + "src": "10531:16:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "10551:28:0" + "src": "10531:28:0" }, { "arguments": [ { "argumentTypes": null, - "id": 501, + "id": 499, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 489, - "src": "10602:10:0", + "referencedDeclaration": 487, + "src": "10582:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } } ], - "id": 502, + "id": 500, "modifierName": { "argumentTypes": null, - "id": 500, + "id": 498, "name": "inFundedState", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 132, - "src": "10588:13:0", + "src": "10568:13:0", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_bytes32_$", "typeString": "modifier (bytes32)" } }, "nodeType": "ModifierInvocation", - "src": "10588:25:0" + "src": "10568:25:0" } ], "name": "execute", "nodeType": "FunctionDefinition", "parameters": { - "id": 496, + "id": 494, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 481, + "id": 479, "name": "sigV", "nodeType": "VariableDeclaration", - "scope": 567, - "src": "10372:12:0", + "scope": 565, + "src": "10352:12:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -24416,19 +24362,19 @@ }, "typeName": { "baseType": { - "id": 479, + "id": 477, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "10372:5:0", + "src": "10352:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, - "id": 480, + "id": 478, "length": null, "nodeType": "ArrayTypeName", - "src": "10372:7:0", + "src": "10352:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_storage_ptr", "typeString": "uint8[]" @@ -24439,11 +24385,11 @@ }, { "constant": false, - "id": 484, + "id": 482, "name": "sigR", "nodeType": "VariableDeclaration", - "scope": 567, - "src": "10394:14:0", + "scope": 565, + "src": "10374:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -24452,19 +24398,19 @@ }, "typeName": { "baseType": { - "id": 482, + "id": 480, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "10394:7:0", + "src": "10374:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "id": 483, + "id": 481, "length": null, "nodeType": "ArrayTypeName", - "src": "10394:9:0", + "src": "10374:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -24475,11 +24421,11 @@ }, { "constant": false, - "id": 487, + "id": 485, "name": "sigS", "nodeType": "VariableDeclaration", - "scope": 567, - "src": "10418:14:0", + "scope": 565, + "src": "10398:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -24488,19 +24434,19 @@ }, "typeName": { "baseType": { - "id": 485, + "id": 483, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "10418:7:0", + "src": "10398:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "id": 486, + "id": 484, "length": null, "nodeType": "ArrayTypeName", - "src": "10418:9:0", + "src": "10398:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -24511,11 +24457,11 @@ }, { "constant": false, - "id": 489, + "id": 487, "name": "scriptHash", "nodeType": "VariableDeclaration", - "scope": 567, - "src": "10442:18:0", + "scope": 565, + "src": "10422:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -24523,10 +24469,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 488, + "id": 486, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "10442:7:0", + "src": "10422:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -24537,11 +24483,11 @@ }, { "constant": false, - "id": 492, + "id": 490, "name": "destinations", "nodeType": "VariableDeclaration", - "scope": 567, - "src": "10470:22:0", + "scope": 565, + "src": "10450:22:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -24550,19 +24496,19 @@ }, "typeName": { "baseType": { - "id": 490, + "id": 488, "name": "address", "nodeType": "ElementaryTypeName", - "src": "10470:7:0", + "src": "10450:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 491, + "id": 489, "length": null, "nodeType": "ArrayTypeName", - "src": "10470:9:0", + "src": "10450:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", "typeString": "address[]" @@ -24573,11 +24519,11 @@ }, { "constant": false, - "id": 495, + "id": 493, "name": "amounts", "nodeType": "VariableDeclaration", - "scope": 567, - "src": "10502:17:0", + "scope": 565, + "src": "10482:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -24586,19 +24532,19 @@ }, "typeName": { "baseType": { - "id": 493, + "id": 491, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "10502:7:0", + "src": "10482:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 494, + "id": 492, "length": null, "nodeType": "ArrayTypeName", - "src": "10502:9:0", + "src": "10482:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -24608,26 +24554,26 @@ "visibility": "internal" } ], - "src": "10362:163:0" + "src": "10342:163:0" }, "payable": false, "returnParameters": { - "id": 503, + "id": 501, "nodeType": "ParameterList", "parameters": [], - "src": "10618:0:0" + "src": "10598:0:0" }, - "scope": 1208, - "src": "10346:1204:0", + "scope": 1206, + "src": "10326:1204:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" }, { "body": { - "id": 625, + "id": 623, "nodeType": "Block", - "src": "12354:734:0", + "src": "12334:734:0", "statements": [ { "condition": { @@ -24636,19 +24582,19 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 590, + "id": 588, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 586, + "id": 584, "name": "tokenAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 581, - "src": "12368:12:0", + "referencedDeclaration": 579, + "src": "12348:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -24662,14 +24608,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 588, + "id": 586, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "12392:1:0", + "src": "12372:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -24685,20 +24631,20 @@ "typeString": "int_const 0" } ], - "id": 587, + "id": 585, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "12384:7:0", + "src": "12364:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, - "id": 589, + "id": 587, "isConstant": false, "isLValue": false, "isPure": true, @@ -24706,22 +24652,22 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "12384:10:0", + "src": "12364:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "12368:26:0", + "src": "12348:26:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": { - "id": 623, + "id": 621, "nodeType": "Block", - "src": "12725:357:0", + "src": "12705:357:0", "statements": [ { "expression": { @@ -24732,12 +24678,12 @@ "arguments": [ { "argumentTypes": null, - "id": 610, + "id": 608, "name": "uniqueId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 569, - "src": "12811:8:0", + "referencedDeclaration": 567, + "src": "12791:8:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -24745,12 +24691,12 @@ }, { "argumentTypes": null, - "id": 611, + "id": 609, "name": "threshold", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 571, - "src": "12841:9:0", + "referencedDeclaration": 569, + "src": "12821:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -24758,12 +24704,12 @@ }, { "argumentTypes": null, - "id": 612, + "id": 610, "name": "timeoutHours", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 573, - "src": "12872:12:0", + "referencedDeclaration": 571, + "src": "12852:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -24771,12 +24717,12 @@ }, { "argumentTypes": null, - "id": 613, + "id": 611, "name": "buyer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 575, - "src": "12906:5:0", + "referencedDeclaration": 573, + "src": "12886:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -24784,12 +24730,12 @@ }, { "argumentTypes": null, - "id": 614, + "id": 612, "name": "seller", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 577, - "src": "12933:6:0", + "referencedDeclaration": 575, + "src": "12913:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -24797,12 +24743,12 @@ }, { "argumentTypes": null, - "id": 615, + "id": 613, "name": "moderator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 579, - "src": "12961:9:0", + "referencedDeclaration": 577, + "src": "12941:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -24813,14 +24759,14 @@ "arguments": [ { "argumentTypes": null, - "id": 617, + "id": 615, "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1398, - "src": "13000:4:0", + "referencedDeclaration": 1396, + "src": "12980:4:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_Escrow_v1_0_$1208", + "typeIdentifier": "t_contract$_Escrow_v1_0_$1206", "typeString": "contract Escrow_v1_0" } } @@ -24828,24 +24774,24 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_Escrow_v1_0_$1208", + "typeIdentifier": "t_contract$_Escrow_v1_0_$1206", "typeString": "contract Escrow_v1_0" } ], - "id": 616, + "id": 614, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "12992:7:0", + "src": "12972:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, - "id": 618, + "id": 616, "isConstant": false, "isLValue": false, "isPure": false, @@ -24853,7 +24799,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "12992:13:0", + "src": "12972:13:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -24861,12 +24807,12 @@ }, { "argumentTypes": null, - "id": 619, + "id": 617, "name": "tokenAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 581, - "src": "13027:12:0", + "referencedDeclaration": 579, + "src": "13007:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -24910,18 +24856,18 @@ ], "expression": { "argumentTypes": null, - "id": 608, + "id": 606, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1368, - "src": "12773:3:0", + "referencedDeclaration": 1366, + "src": "12753:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, - "id": 609, + "id": 607, "isConstant": false, "isLValue": false, "isPure": true, @@ -24929,13 +24875,13 @@ "memberName": "encodePacked", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "12773:16:0", + "src": "12753:16:0", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, - "id": 620, + "id": 618, "isConstant": false, "isLValue": false, "isPure": false, @@ -24943,7 +24889,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "12773:284:0", + "src": "12753:284:0", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -24957,18 +24903,18 @@ "typeString": "bytes memory" } ], - "id": 607, + "id": 605, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1375, - "src": "12746:9:0", + "referencedDeclaration": 1373, + "src": "12726:9:0", "typeDescriptions": { "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", "typeString": "function () pure returns (bytes32)" } }, - "id": 621, + "id": 619, "isConstant": false, "isLValue": false, "isPure": false, @@ -24976,26 +24922,26 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "12746:325:0", + "src": "12726:325:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "functionReturnParameters": 585, - "id": 622, + "functionReturnParameters": 583, + "id": 620, "nodeType": "Return", - "src": "12739:332:0" + "src": "12719:332:0" } ] }, - "id": 624, + "id": 622, "nodeType": "IfStatement", - "src": "12364:718:0", + "src": "12344:718:0", "trueBody": { - "id": 606, + "id": 604, "nodeType": "Block", - "src": "12396:323:0", + "src": "12376:323:0", "statements": [ { "expression": { @@ -25006,12 +24952,12 @@ "arguments": [ { "argumentTypes": null, - "id": 594, + "id": 592, "name": "uniqueId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 569, - "src": "12482:8:0", + "referencedDeclaration": 567, + "src": "12462:8:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -25019,12 +24965,12 @@ }, { "argumentTypes": null, - "id": 595, + "id": 593, "name": "threshold", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 571, - "src": "12512:9:0", + "referencedDeclaration": 569, + "src": "12492:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -25032,12 +24978,12 @@ }, { "argumentTypes": null, - "id": 596, + "id": 594, "name": "timeoutHours", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 573, - "src": "12543:12:0", + "referencedDeclaration": 571, + "src": "12523:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -25045,12 +24991,12 @@ }, { "argumentTypes": null, - "id": 597, + "id": 595, "name": "buyer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 575, - "src": "12577:5:0", + "referencedDeclaration": 573, + "src": "12557:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -25058,12 +25004,12 @@ }, { "argumentTypes": null, - "id": 598, + "id": 596, "name": "seller", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 577, - "src": "12604:6:0", + "referencedDeclaration": 575, + "src": "12584:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -25071,12 +25017,12 @@ }, { "argumentTypes": null, - "id": 599, + "id": 597, "name": "moderator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 579, - "src": "12632:9:0", + "referencedDeclaration": 577, + "src": "12612:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -25087,14 +25033,14 @@ "arguments": [ { "argumentTypes": null, - "id": 601, + "id": 599, "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1398, - "src": "12671:4:0", + "referencedDeclaration": 1396, + "src": "12651:4:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_Escrow_v1_0_$1208", + "typeIdentifier": "t_contract$_Escrow_v1_0_$1206", "typeString": "contract Escrow_v1_0" } } @@ -25102,24 +25048,24 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_Escrow_v1_0_$1208", + "typeIdentifier": "t_contract$_Escrow_v1_0_$1206", "typeString": "contract Escrow_v1_0" } ], - "id": 600, + "id": 598, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "12663:7:0", + "src": "12643:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, - "id": 602, + "id": 600, "isConstant": false, "isLValue": false, "isPure": false, @@ -25127,7 +25073,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "12663:13:0", + "src": "12643:13:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -25167,18 +25113,18 @@ ], "expression": { "argumentTypes": null, - "id": 592, + "id": 590, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1368, - "src": "12444:3:0", + "referencedDeclaration": 1366, + "src": "12424:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, - "id": 593, + "id": 591, "isConstant": false, "isLValue": false, "isPure": true, @@ -25186,13 +25132,13 @@ "memberName": "encodePacked", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "12444:16:0", + "src": "12424:16:0", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, - "id": 603, + "id": 601, "isConstant": false, "isLValue": false, "isPure": false, @@ -25200,7 +25146,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "12444:250:0", + "src": "12424:250:0", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -25214,18 +25160,18 @@ "typeString": "bytes memory" } ], - "id": 591, + "id": 589, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1375, - "src": "12417:9:0", + "referencedDeclaration": 1373, + "src": "12397:9:0", "typeDescriptions": { "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", "typeString": "function () pure returns (bytes32)" } }, - "id": 604, + "id": 602, "isConstant": false, "isLValue": false, "isPure": false, @@ -25233,16 +25179,16 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "12417:291:0", + "src": "12397:291:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "functionReturnParameters": 585, - "id": 605, + "functionReturnParameters": 583, + "id": 603, "nodeType": "Return", - "src": "12410:298:0" + "src": "12390:298:0" } ] } @@ -25250,7 +25196,7 @@ ] }, "documentation": "dev Method for calculating script hash. Calculation will depend upon the type of transaction\nETHER Type transaction-:\nScript Hash- keccak256(uniqueId, threshold, timeoutHours, buyer, seller, moderator, multiSigContractAddress)\nTOKEN Type transaction\nScript Hash- keccak256(uniqueId, threshold, timeoutHours, buyer, seller, moderator, multiSigContractAddress, tokenAddress)\nClient can use this method to verify whether it has calculated correct script hash or not", - "id": 626, + "id": 624, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -25258,16 +25204,16 @@ "name": "calculateRedeemScriptHash", "nodeType": "FunctionDefinition", "parameters": { - "id": 582, + "id": 580, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 569, + "id": 567, "name": "uniqueId", "nodeType": "VariableDeclaration", - "scope": 626, - "src": "12115:16:0", + "scope": 624, + "src": "12095:16:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -25275,10 +25221,10 @@ "typeString": "bytes20" }, "typeName": { - "id": 568, + "id": 566, "name": "bytes20", "nodeType": "ElementaryTypeName", - "src": "12115:7:0", + "src": "12095:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -25289,11 +25235,11 @@ }, { "constant": false, - "id": 571, + "id": 569, "name": "threshold", "nodeType": "VariableDeclaration", - "scope": 626, - "src": "12141:15:0", + "scope": 624, + "src": "12121:15:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -25301,10 +25247,10 @@ "typeString": "uint8" }, "typeName": { - "id": 570, + "id": 568, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "12141:5:0", + "src": "12121:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -25315,11 +25261,11 @@ }, { "constant": false, - "id": 573, + "id": 571, "name": "timeoutHours", "nodeType": "VariableDeclaration", - "scope": 626, - "src": "12166:19:0", + "scope": 624, + "src": "12146:19:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -25327,10 +25273,10 @@ "typeString": "uint32" }, "typeName": { - "id": 572, + "id": 570, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "12166:6:0", + "src": "12146:6:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -25341,11 +25287,11 @@ }, { "constant": false, - "id": 575, + "id": 573, "name": "buyer", "nodeType": "VariableDeclaration", - "scope": 626, - "src": "12195:13:0", + "scope": 624, + "src": "12175:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -25353,10 +25299,10 @@ "typeString": "address" }, "typeName": { - "id": 574, + "id": 572, "name": "address", "nodeType": "ElementaryTypeName", - "src": "12195:7:0", + "src": "12175:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -25367,11 +25313,11 @@ }, { "constant": false, - "id": 577, + "id": 575, "name": "seller", "nodeType": "VariableDeclaration", - "scope": 626, - "src": "12218:14:0", + "scope": 624, + "src": "12198:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -25379,10 +25325,10 @@ "typeString": "address" }, "typeName": { - "id": 576, + "id": 574, "name": "address", "nodeType": "ElementaryTypeName", - "src": "12218:7:0", + "src": "12198:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -25393,11 +25339,11 @@ }, { "constant": false, - "id": 579, + "id": 577, "name": "moderator", "nodeType": "VariableDeclaration", - "scope": 626, - "src": "12242:17:0", + "scope": 624, + "src": "12222:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -25405,10 +25351,10 @@ "typeString": "address" }, "typeName": { - "id": 578, + "id": 576, "name": "address", "nodeType": "ElementaryTypeName", - "src": "12242:7:0", + "src": "12222:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -25419,11 +25365,11 @@ }, { "constant": false, - "id": 581, + "id": 579, "name": "tokenAddress", "nodeType": "VariableDeclaration", - "scope": 626, - "src": "12269:20:0", + "scope": 624, + "src": "12249:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -25431,10 +25377,10 @@ "typeString": "address" }, "typeName": { - "id": 580, + "id": 578, "name": "address", "nodeType": "ElementaryTypeName", - "src": "12269:7:0", + "src": "12249:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -25444,20 +25390,20 @@ "visibility": "internal" } ], - "src": "12105:190:0" + "src": "12085:190:0" }, "payable": false, "returnParameters": { - "id": 585, + "id": 583, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 584, + "id": 582, "name": "", "nodeType": "VariableDeclaration", - "scope": 626, - "src": "12341:7:0", + "scope": 624, + "src": "12321:7:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -25465,10 +25411,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 583, + "id": 581, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "12341:7:0", + "src": "12321:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -25478,32 +25424,32 @@ "visibility": "internal" } ], - "src": "12340:9:0" + "src": "12320:9:0" }, - "scope": 1208, - "src": "12071:1017:0", + "scope": 1206, + "src": "12051:1017:0", "stateMutability": "view", "superFunction": null, "visibility": "public" }, { "body": { - "id": 694, + "id": 692, "nodeType": "Block", - "src": "13573:797:0", + "src": "13553:797:0", "statements": [ { "assignments": [ - 647 + 645 ], "declarations": [ { "constant": false, - "id": 647, + "id": 645, "name": "lastRecovered", "nodeType": "VariableDeclaration", - "scope": 695, - "src": "13583:21:0", + "scope": 693, + "src": "13563:21:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -25511,10 +25457,10 @@ "typeString": "address" }, "typeName": { - "id": 646, + "id": 644, "name": "address", "nodeType": "ElementaryTypeName", - "src": "13583:7:0", + "src": "13563:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -25524,18 +25470,18 @@ "visibility": "internal" } ], - "id": 656, + "id": 654, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 649, + "id": 647, "name": "sigV", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 629, - "src": "13638:4:0", + "referencedDeclaration": 627, + "src": "13618:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr", "typeString": "uint8[] memory" @@ -25543,12 +25489,12 @@ }, { "argumentTypes": null, - "id": 650, + "id": 648, "name": "sigR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 632, - "src": "13656:4:0", + "referencedDeclaration": 630, + "src": "13636:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" @@ -25556,12 +25502,12 @@ }, { "argumentTypes": null, - "id": 651, + "id": 649, "name": "sigS", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 635, - "src": "13674:4:0", + "referencedDeclaration": 633, + "src": "13654:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" @@ -25569,12 +25515,12 @@ }, { "argumentTypes": null, - "id": 652, + "id": 650, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 637, - "src": "13692:10:0", + "referencedDeclaration": 635, + "src": "13672:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -25582,12 +25528,12 @@ }, { "argumentTypes": null, - "id": 653, + "id": 651, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 640, - "src": "13716:12:0", + "referencedDeclaration": 638, + "src": "13696:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -25595,12 +25541,12 @@ }, { "argumentTypes": null, - "id": 654, + "id": 652, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 643, - "src": "13742:7:0", + "referencedDeclaration": 641, + "src": "13722:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" @@ -25634,18 +25580,18 @@ "typeString": "uint256[] memory" } ], - "id": 648, + "id": 646, "name": "_verifySignatures", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1019, - "src": "13607:17:0", + "referencedDeclaration": 1017, + "src": "13587:17:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_array$_t_uint8_$dyn_memory_ptr_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_bytes32_$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$_t_address_$", "typeString": "function (uint8[] memory,bytes32[] memory,bytes32[] memory,bytes32,address[] memory,uint256[] memory) returns (address)" } }, - "id": 655, + "id": 653, "isConstant": false, "isLValue": false, "isPure": false, @@ -25653,27 +25599,27 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "13607:152:0", + "src": "13587:152:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "VariableDeclarationStatement", - "src": "13583:176:0" + "src": "13563:176:0" }, { "assignments": [ - 658 + 656 ], "declarations": [ { "constant": false, - "id": 658, + "id": 656, "name": "timeLockExpired", "nodeType": "VariableDeclaration", - "scope": 695, - "src": "13770:20:0", + "scope": 693, + "src": "13750:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -25681,10 +25627,10 @@ "typeString": "bool" }, "typeName": { - "id": 657, + "id": 655, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "13770:4:0", + "src": "13750:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -25694,7 +25640,7 @@ "visibility": "internal" } ], - "id": 669, + "id": 667, "initialValue": { "argumentTypes": null, "arguments": [ @@ -25704,26 +25650,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 660, + "id": 658, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "13825:12:0", + "src": "13805:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 662, + "id": 660, "indexExpression": { "argumentTypes": null, - "id": 661, + "id": 659, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 637, - "src": "13838:10:0", + "referencedDeclaration": 635, + "src": "13818:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -25734,13 +25680,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "13825:24:0", + "src": "13805:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 663, + "id": 661, "isConstant": false, "isLValue": true, "isPure": false, @@ -25748,7 +25694,7 @@ "memberName": "timeoutHours", "nodeType": "MemberAccess", "referencedDeclaration": 50, - "src": "13825:37:0", + "src": "13805:37:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -25760,26 +25706,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 664, + "id": 662, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "13876:12:0", + "src": "13856:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 666, + "id": 664, "indexExpression": { "argumentTypes": null, - "id": 665, + "id": 663, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 637, - "src": "13889:10:0", + "referencedDeclaration": 635, + "src": "13869:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -25790,13 +25736,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "13876:24:0", + "src": "13856:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 667, + "id": 665, "isConstant": false, "isLValue": true, "isPure": false, @@ -25804,7 +25750,7 @@ "memberName": "lastModified", "nodeType": "MemberAccess", "referencedDeclaration": 42, - "src": "13876:37:0", + "src": "13856:37:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -25822,18 +25768,18 @@ "typeString": "uint256" } ], - "id": 659, + "id": 657, "name": "_isTimeLockExpired", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1051, - "src": "13793:18:0", + "referencedDeclaration": 1049, + "src": "13773:18:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_uint32_$_t_uint256_$returns$_t_bool_$", "typeString": "function (uint32,uint256) view returns (bool)" } }, - "id": 668, + "id": 666, "isConstant": false, "isLValue": false, "isPure": false, @@ -25841,14 +25787,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "13793:130:0", + "src": "13773:130:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "nodeType": "VariableDeclarationStatement", - "src": "13770:153:0" + "src": "13750:153:0" }, { "condition": { @@ -25857,7 +25803,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 687, + "id": 685, "isConstant": false, "isLValue": false, "isPure": false, @@ -25868,7 +25814,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 676, + "id": 674, "isConstant": false, "isLValue": false, "isPure": false, @@ -25877,18 +25823,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 670, + "id": 668, "name": "sigV", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 629, - "src": "14095:4:0", + "referencedDeclaration": 627, + "src": "14075:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr", "typeString": "uint8[] memory" } }, - "id": 671, + "id": 669, "isConstant": false, "isLValue": false, "isPure": false, @@ -25896,7 +25842,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "14095:11:0", + "src": "14075:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -25910,26 +25856,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 672, + "id": 670, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "14109:12:0", + "src": "14089:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 674, + "id": 672, "indexExpression": { "argumentTypes": null, - "id": 673, + "id": 671, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 637, - "src": "14122:10:0", + "referencedDeclaration": 635, + "src": "14102:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -25940,13 +25886,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "14109:24:0", + "src": "14089:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 675, + "id": 673, "isConstant": false, "isLValue": true, "isPure": false, @@ -25954,13 +25900,13 @@ "memberName": "threshold", "nodeType": "MemberAccess", "referencedDeclaration": 48, - "src": "14109:34:0", + "src": "14089:34:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, - "src": "14095:48:0", + "src": "14075:48:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -25977,14 +25923,14 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 685, + "id": 683, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 678, + "id": 676, "isConstant": false, "isLValue": false, "isPure": false, @@ -25992,15 +25938,15 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "14148:16:0", + "src": "14128:16:0", "subExpression": { "argumentTypes": null, - "id": 677, + "id": 675, "name": "timeLockExpired", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 658, - "src": "14149:15:0", + "referencedDeclaration": 656, + "src": "14129:15:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -26019,19 +25965,19 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 684, + "id": 682, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 679, + "id": 677, "name": "lastRecovered", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 647, - "src": "14168:13:0", + "referencedDeclaration": 645, + "src": "14148:13:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -26045,26 +25991,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 680, + "id": 678, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "14185:12:0", + "src": "14165:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 682, + "id": 680, "indexExpression": { "argumentTypes": null, - "id": 681, + "id": 679, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 637, - "src": "14198:10:0", + "referencedDeclaration": 635, + "src": "14178:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -26075,13 +26021,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "14185:24:0", + "src": "14165:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 683, + "id": 681, "isConstant": false, "isLValue": true, "isPure": false, @@ -26089,52 +26035,52 @@ "memberName": "seller", "nodeType": "MemberAccess", "referencedDeclaration": 54, - "src": "14185:31:0", + "src": "14165:31:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "14168:48:0", + "src": "14148:48:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "14148:68:0", + "src": "14128:68:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } } ], - "id": 686, + "id": 684, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "14147:70:0", + "src": "14127:70:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "14095:122:0", + "src": "14075:122:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, - "id": 693, + "id": 691, "nodeType": "IfStatement", - "src": "14074:289:0", + "src": "14054:289:0", "trueBody": { - "id": 692, + "id": 690, "nodeType": "Block", - "src": "14240:123:0", + "src": "14220:123:0", "statements": [ { "expression": { @@ -26143,14 +26089,14 @@ { "argumentTypes": null, "hexValue": "4d696e696d756d206e756d626572206f66207369676e61747572657320617265206e6f7420636f6c6c656374656420616e642074696d65206c6f636b2065787069727920636f6e646974696f6e73206e6f74206d65742121", - "id": 689, + "id": 687, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "14261:90:0", + "src": "14241:90:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_e454643f61f81e3a3dc8dabaafde295fea592e232abeb03abbb1835bdc3d20d0", @@ -26166,21 +26112,21 @@ "typeString": "literal_string \"Minimum number of signatures are not collected and time lock expiry conditions not met!!\"" } ], - "id": 688, + "id": 686, "name": "revert", "nodeType": "Identifier", "overloadedDeclarations": [ - 1386, - 1387 + 1384, + 1385 ], - "referencedDeclaration": 1387, - "src": "14254:6:0", + "referencedDeclaration": 1385, + "src": "14234:6:0", "typeDescriptions": { "typeIdentifier": "t_function_revert_pure$_t_string_memory_ptr_$returns$__$", "typeString": "function (string memory) pure" } }, - "id": 690, + "id": 688, "isConstant": false, "isLValue": false, "isPure": false, @@ -26188,15 +26134,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "14254:98:0", + "src": "14234:98:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 691, + "id": 689, "nodeType": "ExpressionStatement", - "src": "14254:98:0" + "src": "14234:98:0" } ] } @@ -26204,7 +26150,7 @@ ] }, "documentation": "@dev This methods checks validity of transaction\n1. Verify Signatures\n2. Check if minimum number of signatures has been acquired\n3. If above condition is false, check if time lock is expired and the execution is signed by seller", - "id": 695, + "id": 693, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -26212,16 +26158,16 @@ "name": "_verifyTransaction", "nodeType": "FunctionDefinition", "parameters": { - "id": 644, + "id": 642, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 629, + "id": 627, "name": "sigV", "nodeType": "VariableDeclaration", - "scope": 695, - "src": "13399:12:0", + "scope": 693, + "src": "13379:12:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -26230,19 +26176,19 @@ }, "typeName": { "baseType": { - "id": 627, + "id": 625, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "13399:5:0", + "src": "13379:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, - "id": 628, + "id": 626, "length": null, "nodeType": "ArrayTypeName", - "src": "13399:7:0", + "src": "13379:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_storage_ptr", "typeString": "uint8[]" @@ -26253,11 +26199,11 @@ }, { "constant": false, - "id": 632, + "id": 630, "name": "sigR", "nodeType": "VariableDeclaration", - "scope": 695, - "src": "13421:14:0", + "scope": 693, + "src": "13401:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -26266,19 +26212,19 @@ }, "typeName": { "baseType": { - "id": 630, + "id": 628, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "13421:7:0", + "src": "13401:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "id": 631, + "id": 629, "length": null, "nodeType": "ArrayTypeName", - "src": "13421:9:0", + "src": "13401:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -26289,11 +26235,11 @@ }, { "constant": false, - "id": 635, + "id": 633, "name": "sigS", "nodeType": "VariableDeclaration", - "scope": 695, - "src": "13445:14:0", + "scope": 693, + "src": "13425:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -26302,19 +26248,19 @@ }, "typeName": { "baseType": { - "id": 633, + "id": 631, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "13445:7:0", + "src": "13425:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "id": 634, + "id": 632, "length": null, "nodeType": "ArrayTypeName", - "src": "13445:9:0", + "src": "13425:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -26325,11 +26271,11 @@ }, { "constant": false, - "id": 637, + "id": 635, "name": "scriptHash", "nodeType": "VariableDeclaration", - "scope": 695, - "src": "13469:18:0", + "scope": 693, + "src": "13449:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -26337,10 +26283,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 636, + "id": 634, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "13469:7:0", + "src": "13449:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -26351,11 +26297,11 @@ }, { "constant": false, - "id": 640, + "id": 638, "name": "destinations", "nodeType": "VariableDeclaration", - "scope": 695, - "src": "13497:22:0", + "scope": 693, + "src": "13477:22:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -26364,19 +26310,19 @@ }, "typeName": { "baseType": { - "id": 638, + "id": 636, "name": "address", "nodeType": "ElementaryTypeName", - "src": "13497:7:0", + "src": "13477:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 639, + "id": 637, "length": null, "nodeType": "ArrayTypeName", - "src": "13497:9:0", + "src": "13477:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", "typeString": "address[]" @@ -26387,11 +26333,11 @@ }, { "constant": false, - "id": 643, + "id": 641, "name": "amounts", "nodeType": "VariableDeclaration", - "scope": 695, - "src": "13529:17:0", + "scope": 693, + "src": "13509:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -26400,19 +26346,19 @@ }, "typeName": { "baseType": { - "id": 641, + "id": 639, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "13529:7:0", + "src": "13509:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 642, + "id": 640, "length": null, "nodeType": "ArrayTypeName", - "src": "13529:9:0", + "src": "13509:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -26422,39 +26368,39 @@ "visibility": "internal" } ], - "src": "13389:163:0" + "src": "13369:163:0" }, "payable": false, "returnParameters": { - "id": 645, + "id": 643, "nodeType": "ParameterList", "parameters": [], - "src": "13573:0:0" + "src": "13553:0:0" }, - "scope": 1208, - "src": "13362:1008:0", + "scope": 1206, + "src": "13342:1008:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "private" }, { "body": { - "id": 887, + "id": 885, "nodeType": "Block", - "src": "14657:1562:0", + "src": "14637:1562:0", "statements": [ { "assignments": [ - 709 + 707 ], "declarations": [ { "constant": false, - "id": 709, + "id": 707, "name": "t", "nodeType": "VariableDeclaration", - "scope": 888, - "src": "14667:21:0", + "scope": 886, + "src": "14647:21:0", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { @@ -26463,11 +26409,11 @@ }, "typeName": { "contractScope": null, - "id": 708, + "id": 706, "name": "Transaction", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 71, - "src": "14667:11:0", + "src": "14647:11:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction" @@ -26477,31 +26423,31 @@ "visibility": "internal" } ], - "id": 713, + "id": 711, "initialValue": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 710, + "id": 708, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "14691:12:0", + "src": "14671:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 712, + "id": 710, "indexExpression": { "argumentTypes": null, - "id": 711, + "id": 709, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 697, - "src": "14704:10:0", + "referencedDeclaration": 695, + "src": "14684:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -26512,27 +26458,27 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "14691:24:0", + "src": "14671:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "14667:48:0" + "src": "14647:48:0" }, { "assignments": [ - 715 + 713 ], "declarations": [ { "constant": false, - "id": 715, + "id": 713, "name": "valueTransferred", "nodeType": "VariableDeclaration", - "scope": 888, - "src": "14726:24:0", + "scope": 886, + "src": "14706:24:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -26540,10 +26486,10 @@ "typeString": "uint256" }, "typeName": { - "id": 714, + "id": 712, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "14726:7:0", + "src": "14706:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -26553,18 +26499,18 @@ "visibility": "internal" } ], - "id": 717, + "id": 715, "initialValue": { "argumentTypes": null, "hexValue": "30", - "id": 716, + "id": 714, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "14753:1:0", + "src": "14733:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -26573,7 +26519,7 @@ "value": "0" }, "nodeType": "VariableDeclarationStatement", - "src": "14726:28:0" + "src": "14706:28:0" }, { "condition": { @@ -26582,7 +26528,7 @@ "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" }, - "id": 722, + "id": 720, "isConstant": false, "isLValue": false, "isPure": false, @@ -26591,18 +26537,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 718, + "id": 716, "name": "t", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 709, - "src": "14769:1:0", + "referencedDeclaration": 707, + "src": "14749:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" } }, - "id": 719, + "id": 717, "isConstant": false, "isLValue": true, "isPure": false, @@ -26610,7 +26556,7 @@ "memberName": "transactionType", "nodeType": "MemberAccess", "referencedDeclaration": 46, - "src": "14769:17:0", + "src": "14749:17:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -26622,18 +26568,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 720, + "id": 718, "name": "TransactionType", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12, - "src": "14790:15:0", + "src": "14770:15:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_TransactionType_$12_$", "typeString": "type(enum Escrow_v1_0.TransactionType)" } }, - "id": 721, + "id": 719, "isConstant": false, "isLValue": false, "isPure": true, @@ -26641,13 +26587,13 @@ "memberName": "ETHER", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "14790:21:0", + "src": "14770:21:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" } }, - "src": "14769:42:0", + "src": "14749:42:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -26660,7 +26606,7 @@ "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" }, - "id": 799, + "id": 797, "isConstant": false, "isLValue": false, "isPure": false, @@ -26669,18 +26615,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 795, + "id": 793, "name": "t", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 709, - "src": "15425:1:0", + "referencedDeclaration": 707, + "src": "15405:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" } }, - "id": 796, + "id": 794, "isConstant": false, "isLValue": true, "isPure": false, @@ -26688,7 +26634,7 @@ "memberName": "transactionType", "nodeType": "MemberAccess", "referencedDeclaration": 46, - "src": "15425:17:0", + "src": "15405:17:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -26700,18 +26646,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 797, + "id": 795, "name": "TransactionType", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12, - "src": "15446:15:0", + "src": "15426:15:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_TransactionType_$12_$", "typeString": "type(enum Escrow_v1_0.TransactionType)" } }, - "id": 798, + "id": 796, "isConstant": false, "isLValue": false, "isPure": true, @@ -26719,54 +26665,54 @@ "memberName": "TOKEN", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "15446:21:0", + "src": "15426:21:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" } }, - "src": "15425:42:0", + "src": "15405:42:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, - "id": 883, + "id": 881, "nodeType": "IfStatement", - "src": "15421:758:0", + "src": "15401:758:0", "trueBody": { - "id": 882, + "id": 880, "nodeType": "Block", - "src": "15469:710:0", + "src": "15449:710:0", "statements": [ { "assignments": [ - 801 + 799 ], "declarations": [ { "constant": false, - "id": 801, + "id": 799, "name": "token", "nodeType": "VariableDeclaration", - "scope": 888, - "src": "15484:20:0", + "scope": 886, + "src": "15464:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenContract_$1238", + "typeIdentifier": "t_contract$_ITokenContract_$1236", "typeString": "contract ITokenContract" }, "typeName": { "contractScope": null, - "id": 800, + "id": 798, "name": "ITokenContract", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1238, - "src": "15484:14:0", + "referencedDeclaration": 1236, + "src": "15464:14:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenContract_$1238", + "typeIdentifier": "t_contract$_ITokenContract_$1236", "typeString": "contract ITokenContract" } }, @@ -26774,7 +26720,7 @@ "visibility": "internal" } ], - "id": 806, + "id": 804, "initialValue": { "argumentTypes": null, "arguments": [ @@ -26782,18 +26728,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 803, + "id": 801, "name": "t", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 709, - "src": "15522:1:0", + "referencedDeclaration": 707, + "src": "15502:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" } }, - "id": 804, + "id": 802, "isConstant": false, "isLValue": true, "isPure": false, @@ -26801,7 +26747,7 @@ "memberName": "tokenAddress", "nodeType": "MemberAccess", "referencedDeclaration": 56, - "src": "15522:14:0", + "src": "15502:14:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -26815,18 +26761,18 @@ "typeString": "address" } ], - "id": 802, + "id": 800, "name": "ITokenContract", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1238, - "src": "15507:14:0", + "referencedDeclaration": 1236, + "src": "15487:14:0", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ITokenContract_$1238_$", + "typeIdentifier": "t_type$_t_contract$_ITokenContract_$1236_$", "typeString": "type(contract ITokenContract)" } }, - "id": 805, + "id": 803, "isConstant": false, "isLValue": false, "isPure": false, @@ -26834,20 +26780,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15507:30:0", + "src": "15487:30:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenContract_$1238", + "typeIdentifier": "t_contract$_ITokenContract_$1236", "typeString": "contract ITokenContract" } }, "nodeType": "VariableDeclarationStatement", - "src": "15484:53:0" + "src": "15464:53:0" }, { "body": { - "id": 880, + "id": 878, "nodeType": "Block", - "src": "15600:569:0", + "src": "15580:569:0", "statements": [ { "expression": { @@ -26859,7 +26805,7 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 825, + "id": 823, "isConstant": false, "isLValue": false, "isPure": false, @@ -26868,26 +26814,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 819, + "id": 817, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 700, - "src": "15627:12:0", + "referencedDeclaration": 698, + "src": "15607:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" } }, - "id": 821, + "id": 819, "indexExpression": { "argumentTypes": null, - "id": 820, + "id": 818, "name": "j", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 808, - "src": "15640:1:0", + "referencedDeclaration": 806, + "src": "15620:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -26898,7 +26844,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15627:15:0", + "src": "15607:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -26912,14 +26858,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 823, + "id": 821, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "15654:1:0", + "src": "15634:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -26935,20 +26881,20 @@ "typeString": "int_const 0" } ], - "id": 822, + "id": 820, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "15646:7:0", + "src": "15626:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, - "id": 824, + "id": 822, "isConstant": false, "isLValue": false, "isPure": true, @@ -26956,13 +26902,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15646:10:0", + "src": "15626:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "15627:29:0", + "src": "15607:29:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -26971,14 +26917,14 @@ { "argumentTypes": null, "hexValue": "7a65726f2061646472657373206973206e6f7420616c6c6f7765642061732064657374696e6174696f6e2061646472657373", - "id": 826, + "id": 824, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "15658:52:0", + "src": "15638:52:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_587fbb5a9b8e6d4cc482f236066ac51bcf007ae6026eab186437d2f1b22fc139", @@ -26998,21 +26944,21 @@ "typeString": "literal_string \"zero address is not allowed as destination address\"" } ], - "id": 818, + "id": 816, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1384, - 1385 + 1382, + 1383 ], - "referencedDeclaration": 1385, - "src": "15619:7:0", + "referencedDeclaration": 1383, + "src": "15599:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 827, + "id": 825, "isConstant": false, "isLValue": false, "isPure": false, @@ -27020,15 +26966,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15619:92:0", + "src": "15599:92:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 828, + "id": 826, "nodeType": "ExpressionStatement", - "src": "15619:92:0" + "src": "15599:92:0" }, { "expression": { @@ -27040,18 +26986,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 830, + "id": 828, "name": "t", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 709, - "src": "15738:1:0", + "referencedDeclaration": 707, + "src": "15718:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" } }, - "id": 831, + "id": 829, "isConstant": false, "isLValue": true, "isPure": false, @@ -27059,37 +27005,37 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "15738:9:0", + "src": "15718:9:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 835, + "id": 833, "indexExpression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 832, + "id": 830, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 700, - "src": "15748:12:0", + "referencedDeclaration": 698, + "src": "15728:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" } }, - "id": 834, + "id": 832, "indexExpression": { "argumentTypes": null, - "id": 833, + "id": 831, "name": "j", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 808, - "src": "15761:1:0", + "referencedDeclaration": 806, + "src": "15741:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27100,7 +27046,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15748:15:0", + "src": "15728:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -27111,7 +27057,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15738:26:0", + "src": "15718:26:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -27120,14 +27066,14 @@ { "argumentTypes": null, "hexValue": "44657374696e6174696f6e2061646472657373206973206e6f74206f6e65206f6620746865206f776e657273", - "id": 836, + "id": 834, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "15766:46:0", + "src": "15746:46:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_5ccbe9d117aeeb4b3546dfe6a12f083cb37039367b3ec38b60873b8650bc846f", @@ -27147,21 +27093,21 @@ "typeString": "literal_string \"Destination address is not one of the owners\"" } ], - "id": 829, + "id": 827, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1384, - 1385 + 1382, + 1383 ], - "referencedDeclaration": 1385, - "src": "15730:7:0", + "referencedDeclaration": 1383, + "src": "15710:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 837, + "id": 835, "isConstant": false, "isLValue": false, "isPure": false, @@ -27169,15 +27115,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15730:83:0", + "src": "15710:83:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 838, + "id": 836, "nodeType": "ExpressionStatement", - "src": "15730:83:0" + "src": "15710:83:0" }, { "expression": { @@ -27189,7 +27135,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 844, + "id": 842, "isConstant": false, "isLValue": false, "isPure": false, @@ -27198,26 +27144,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 840, + "id": 838, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 703, - "src": "15840:7:0", + "referencedDeclaration": 701, + "src": "15820:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 842, + "id": 840, "indexExpression": { "argumentTypes": null, - "id": 841, + "id": 839, "name": "j", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 808, - "src": "15848:1:0", + "referencedDeclaration": 806, + "src": "15828:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27228,7 +27174,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15840:10:0", + "src": "15820:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27239,14 +27185,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 843, + "id": 841, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "15853:1:0", + "src": "15833:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -27254,7 +27200,7 @@ }, "value": "0" }, - "src": "15840:14:0", + "src": "15820:14:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -27263,14 +27209,14 @@ { "argumentTypes": null, "hexValue": "416d6f756e7420746f2062652073656e742073686f756c642062652067726561746572207468616e2030", - "id": 845, + "id": 843, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "15856:44:0", + "src": "15836:44:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_5e1271a09dbb64ae031de288deb0ad8d707df7db51d6e827931dc8fa6642a71e", @@ -27290,21 +27236,21 @@ "typeString": "literal_string \"Amount to be sent should be greater than 0\"" } ], - "id": 839, + "id": 837, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1384, - 1385 + 1382, + 1383 ], - "referencedDeclaration": 1385, - "src": "15832:7:0", + "referencedDeclaration": 1383, + "src": "15812:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 846, + "id": 844, "isConstant": false, "isLValue": false, "isPure": false, @@ -27312,32 +27258,32 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15832:69:0", + "src": "15812:69:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 847, + "id": 845, "nodeType": "ExpressionStatement", - "src": "15832:69:0" + "src": "15812:69:0" }, { "expression": { "argumentTypes": null, - "id": 855, + "id": 853, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 848, + "id": 846, "name": "valueTransferred", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 715, - "src": "15920:16:0", + "referencedDeclaration": 713, + "src": "15900:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27352,26 +27298,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 851, + "id": 849, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 703, - "src": "15960:7:0", + "referencedDeclaration": 701, + "src": "15940:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 853, + "id": 851, "indexExpression": { "argumentTypes": null, - "id": 852, + "id": 850, "name": "j", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 808, - "src": "15968:1:0", + "referencedDeclaration": 806, + "src": "15948:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27382,7 +27328,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15960:10:0", + "src": "15940:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27398,32 +27344,32 @@ ], "expression": { "argumentTypes": null, - "id": 849, + "id": 847, "name": "valueTransferred", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 715, - "src": "15939:16:0", + "referencedDeclaration": 713, + "src": "15919:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 850, + "id": 848, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 1345, - "src": "15939:20:0", + "referencedDeclaration": 1343, + "src": "15919:20:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 854, + "id": 852, "isConstant": false, "isLValue": false, "isPure": false, @@ -27431,26 +27377,26 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15939:32:0", + "src": "15919:32:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "15920:51:0", + "src": "15900:51:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 856, + "id": 854, "nodeType": "ExpressionStatement", - "src": "15920:51:0" + "src": "15900:51:0" }, { "expression": { "argumentTypes": null, - "id": 865, + "id": 863, "isConstant": false, "isLValue": false, "isPure": false, @@ -27461,18 +27407,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 857, + "id": 855, "name": "t", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 709, - "src": "15989:1:0", + "referencedDeclaration": 707, + "src": "15969:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" } }, - "id": 862, + "id": 860, "isConstant": false, "isLValue": true, "isPure": false, @@ -27480,37 +27426,37 @@ "memberName": "beneficiaries", "nodeType": "MemberAccess", "referencedDeclaration": 70, - "src": "15989:15:0", + "src": "15969:15:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 863, + "id": 861, "indexExpression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 859, + "id": 857, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 700, - "src": "16005:12:0", + "referencedDeclaration": 698, + "src": "15985:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" } }, - "id": 861, + "id": 859, "indexExpression": { "argumentTypes": null, - "id": 860, + "id": 858, "name": "j", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 808, - "src": "16018:1:0", + "referencedDeclaration": 806, + "src": "15998:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27521,7 +27467,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "16005:15:0", + "src": "15985:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -27532,7 +27478,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "15989:32:0", + "src": "15969:32:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -27543,14 +27489,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "74727565", - "id": 864, + "id": 862, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "16024:4:0", + "src": "16004:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -27558,15 +27504,15 @@ }, "value": "true" }, - "src": "15989:39:0", + "src": "15969:39:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 866, + "id": 864, "nodeType": "ExpressionStatement", - "src": "15989:39:0" + "src": "15969:39:0" }, { "expression": { @@ -27579,26 +27525,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 870, + "id": 868, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 700, - "src": "16099:12:0", + "referencedDeclaration": 698, + "src": "16079:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" } }, - "id": 872, + "id": 870, "indexExpression": { "argumentTypes": null, - "id": 871, + "id": 869, "name": "j", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 808, - "src": "16112:1:0", + "referencedDeclaration": 806, + "src": "16092:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27609,7 +27555,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "16099:15:0", + "src": "16079:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -27619,26 +27565,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 873, + "id": 871, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 703, - "src": "16116:7:0", + "referencedDeclaration": 701, + "src": "16096:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 875, + "id": 873, "indexExpression": { "argumentTypes": null, - "id": 874, + "id": 872, "name": "j", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 808, - "src": "16124:1:0", + "referencedDeclaration": 806, + "src": "16104:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27649,7 +27595,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "16116:10:0", + "src": "16096:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27669,32 +27615,32 @@ ], "expression": { "argumentTypes": null, - "id": 868, + "id": 866, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 801, - "src": "16084:5:0", + "referencedDeclaration": 799, + "src": "16064:5:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITokenContract_$1238", + "typeIdentifier": "t_contract$_ITokenContract_$1236", "typeString": "contract ITokenContract" } }, - "id": 869, + "id": 867, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "transfer", "nodeType": "MemberAccess", - "referencedDeclaration": 1226, - "src": "16084:14:0", + "referencedDeclaration": 1224, + "src": "16064:14:0", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", "typeString": "function (address,uint256) external returns (bool)" } }, - "id": 876, + "id": 874, "isConstant": false, "isLValue": false, "isPure": false, @@ -27702,7 +27648,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16084:43:0", + "src": "16064:43:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -27711,14 +27657,14 @@ { "argumentTypes": null, "hexValue": "546f6b656e207472616e73666572206661696c65642e", - "id": 877, + "id": 875, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "16129:24:0", + "src": "16109:24:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_e545223bb79d8456d66fa5a98897abb42bb4807111f004a120200da3b7e292c5", @@ -27738,21 +27684,21 @@ "typeString": "literal_string \"Token transfer failed.\"" } ], - "id": 867, + "id": 865, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1384, - 1385 + 1382, + 1383 ], - "referencedDeclaration": 1385, - "src": "16076:7:0", + "referencedDeclaration": 1383, + "src": "16056:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 878, + "id": 876, "isConstant": false, "isLValue": false, "isPure": false, @@ -27760,15 +27706,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16076:78:0", + "src": "16056:78:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 879, + "id": 877, "nodeType": "ExpressionStatement", - "src": "16076:78:0" + "src": "16056:78:0" } ] }, @@ -27778,19 +27724,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 814, + "id": 812, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 811, + "id": 809, "name": "j", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 808, - "src": "15572:1:0", + "referencedDeclaration": 806, + "src": "15552:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27802,18 +27748,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 812, + "id": 810, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 700, - "src": "15574:12:0", + "referencedDeclaration": 698, + "src": "15554:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" } }, - "id": 813, + "id": 811, "isConstant": false, "isLValue": false, "isPure": false, @@ -27821,31 +27767,31 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "15574:19:0", + "src": "15554:19:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "15572:21:0", + "src": "15552:21:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 881, + "id": 879, "initializationExpression": { "assignments": [ - 808 + 806 ], "declarations": [ { "constant": false, - "id": 808, + "id": 806, "name": "j", "nodeType": "VariableDeclaration", - "scope": 888, - "src": "15557:9:0", + "scope": 886, + "src": "15537:9:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -27853,10 +27799,10 @@ "typeString": "uint256" }, "typeName": { - "id": 807, + "id": 805, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "15557:7:0", + "src": "15537:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27866,18 +27812,18 @@ "visibility": "internal" } ], - "id": 810, + "id": 808, "initialValue": { "argumentTypes": null, "hexValue": "30", - "id": 809, + "id": 807, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "15569:1:0", + "src": "15549:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -27886,12 +27832,12 @@ "value": "0" }, "nodeType": "VariableDeclarationStatement", - "src": "15557:13:0" + "src": "15537:13:0" }, "loopExpression": { "expression": { "argumentTypes": null, - "id": 816, + "id": 814, "isConstant": false, "isLValue": false, "isPure": false, @@ -27899,15 +27845,15 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "15595:3:0", + "src": "15575:3:0", "subExpression": { "argumentTypes": null, - "id": 815, + "id": 813, "name": "j", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 808, - "src": "15595:1:0", + "referencedDeclaration": 806, + "src": "15575:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27918,29 +27864,29 @@ "typeString": "uint256" } }, - "id": 817, + "id": 815, "nodeType": "ExpressionStatement", - "src": "15595:3:0" + "src": "15575:3:0" }, "nodeType": "ForStatement", - "src": "15552:617:0" + "src": "15532:617:0" } ] } }, - "id": 884, + "id": 882, "nodeType": "IfStatement", - "src": "14765:1414:0", + "src": "14745:1414:0", "trueBody": { - "id": 794, + "id": 792, "nodeType": "Block", - "src": "14813:602:0", + "src": "14793:602:0", "statements": [ { "body": { - "id": 792, + "id": 790, "nodeType": "Block", - "src": "14877:527:0", + "src": "14857:527:0", "statements": [ { "expression": { @@ -27952,7 +27898,7 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 741, + "id": 739, "isConstant": false, "isLValue": false, "isPure": false, @@ -27961,26 +27907,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 735, + "id": 733, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 700, - "src": "14904:12:0", + "referencedDeclaration": 698, + "src": "14884:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" } }, - "id": 737, + "id": 735, "indexExpression": { "argumentTypes": null, - "id": 736, + "id": 734, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 724, - "src": "14917:1:0", + "referencedDeclaration": 722, + "src": "14897:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27991,7 +27937,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "14904:15:0", + "src": "14884:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -28005,14 +27951,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 739, + "id": 737, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "14931:1:0", + "src": "14911:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -28028,20 +27974,20 @@ "typeString": "int_const 0" } ], - "id": 738, + "id": 736, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "14923:7:0", + "src": "14903:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, - "id": 740, + "id": 738, "isConstant": false, "isLValue": false, "isPure": true, @@ -28049,13 +27995,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "14923:10:0", + "src": "14903:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "14904:29:0", + "src": "14884:29:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -28064,14 +28010,14 @@ { "argumentTypes": null, "hexValue": "7a65726f2061646472657373206973206e6f7420616c6c6f7765642061732064657374696e6174696f6e2061646472657373", - "id": 742, + "id": 740, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "14935:52:0", + "src": "14915:52:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_587fbb5a9b8e6d4cc482f236066ac51bcf007ae6026eab186437d2f1b22fc139", @@ -28091,21 +28037,21 @@ "typeString": "literal_string \"zero address is not allowed as destination address\"" } ], - "id": 734, + "id": 732, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1384, - 1385 + 1382, + 1383 ], - "referencedDeclaration": 1385, - "src": "14896:7:0", + "referencedDeclaration": 1383, + "src": "14876:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 743, + "id": 741, "isConstant": false, "isLValue": false, "isPure": false, @@ -28113,15 +28059,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "14896:92:0", + "src": "14876:92:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 744, + "id": 742, "nodeType": "ExpressionStatement", - "src": "14896:92:0" + "src": "14876:92:0" }, { "expression": { @@ -28133,18 +28079,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 746, + "id": 744, "name": "t", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 709, - "src": "15015:1:0", + "referencedDeclaration": 707, + "src": "14995:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" } }, - "id": 747, + "id": 745, "isConstant": false, "isLValue": true, "isPure": false, @@ -28152,37 +28098,37 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "15015:9:0", + "src": "14995:9:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 751, + "id": 749, "indexExpression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 748, + "id": 746, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 700, - "src": "15025:12:0", + "referencedDeclaration": 698, + "src": "15005:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" } }, - "id": 750, + "id": 748, "indexExpression": { "argumentTypes": null, - "id": 749, + "id": 747, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 724, - "src": "15038:1:0", + "referencedDeclaration": 722, + "src": "15018:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28193,7 +28139,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15025:15:0", + "src": "15005:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -28204,7 +28150,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15015:26:0", + "src": "14995:26:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -28213,14 +28159,14 @@ { "argumentTypes": null, "hexValue": "44657374696e6174696f6e2061646472657373206973206e6f74206f6e65206f6620746865206f776e657273", - "id": 752, + "id": 750, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "15043:46:0", + "src": "15023:46:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_5ccbe9d117aeeb4b3546dfe6a12f083cb37039367b3ec38b60873b8650bc846f", @@ -28240,21 +28186,21 @@ "typeString": "literal_string \"Destination address is not one of the owners\"" } ], - "id": 745, + "id": 743, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1384, - 1385 + 1382, + 1383 ], - "referencedDeclaration": 1385, - "src": "15007:7:0", + "referencedDeclaration": 1383, + "src": "14987:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 753, + "id": 751, "isConstant": false, "isLValue": false, "isPure": false, @@ -28262,15 +28208,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15007:83:0", + "src": "14987:83:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 754, + "id": 752, "nodeType": "ExpressionStatement", - "src": "15007:83:0" + "src": "14987:83:0" }, { "expression": { @@ -28282,7 +28228,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 760, + "id": 758, "isConstant": false, "isLValue": false, "isPure": false, @@ -28291,26 +28237,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 756, + "id": 754, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 703, - "src": "15117:7:0", + "referencedDeclaration": 701, + "src": "15097:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 758, + "id": 756, "indexExpression": { "argumentTypes": null, - "id": 757, + "id": 755, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 724, - "src": "15125:1:0", + "referencedDeclaration": 722, + "src": "15105:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28321,7 +28267,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15117:10:0", + "src": "15097:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28332,14 +28278,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 759, + "id": 757, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "15130:1:0", + "src": "15110:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -28347,7 +28293,7 @@ }, "value": "0" }, - "src": "15117:14:0", + "src": "15097:14:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -28356,14 +28302,14 @@ { "argumentTypes": null, "hexValue": "416d6f756e7420746f2062652073656e742073686f756c642062652067726561746572207468616e2030", - "id": 761, + "id": 759, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "15133:44:0", + "src": "15113:44:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_5e1271a09dbb64ae031de288deb0ad8d707df7db51d6e827931dc8fa6642a71e", @@ -28383,21 +28329,21 @@ "typeString": "literal_string \"Amount to be sent should be greater than 0\"" } ], - "id": 755, + "id": 753, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1384, - 1385 + 1382, + 1383 ], - "referencedDeclaration": 1385, - "src": "15109:7:0", + "referencedDeclaration": 1383, + "src": "15089:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 762, + "id": 760, "isConstant": false, "isLValue": false, "isPure": false, @@ -28405,32 +28351,32 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15109:69:0", + "src": "15089:69:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 763, + "id": 761, "nodeType": "ExpressionStatement", - "src": "15109:69:0" + "src": "15089:69:0" }, { "expression": { "argumentTypes": null, - "id": 771, + "id": 769, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 764, + "id": 762, "name": "valueTransferred", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 715, - "src": "15197:16:0", + "referencedDeclaration": 713, + "src": "15177:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28445,26 +28391,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 767, + "id": 765, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 703, - "src": "15237:7:0", + "referencedDeclaration": 701, + "src": "15217:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 769, + "id": 767, "indexExpression": { "argumentTypes": null, - "id": 768, + "id": 766, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 724, - "src": "15245:1:0", + "referencedDeclaration": 722, + "src": "15225:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28475,7 +28421,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15237:10:0", + "src": "15217:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28491,32 +28437,32 @@ ], "expression": { "argumentTypes": null, - "id": 765, + "id": 763, "name": "valueTransferred", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 715, - "src": "15216:16:0", + "referencedDeclaration": 713, + "src": "15196:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 766, + "id": 764, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 1345, - "src": "15216:20:0", + "referencedDeclaration": 1343, + "src": "15196:20:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 770, + "id": 768, "isConstant": false, "isLValue": false, "isPure": false, @@ -28524,26 +28470,26 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15216:32:0", + "src": "15196:32:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "15197:51:0", + "src": "15177:51:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 772, + "id": 770, "nodeType": "ExpressionStatement", - "src": "15197:51:0" + "src": "15177:51:0" }, { "expression": { "argumentTypes": null, - "id": 781, + "id": 779, "isConstant": false, "isLValue": false, "isPure": false, @@ -28554,18 +28500,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 773, + "id": 771, "name": "t", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 709, - "src": "15267:1:0", + "referencedDeclaration": 707, + "src": "15247:1:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage_ptr", "typeString": "struct Escrow_v1_0.Transaction storage pointer" } }, - "id": 778, + "id": 776, "isConstant": false, "isLValue": true, "isPure": false, @@ -28573,37 +28519,37 @@ "memberName": "beneficiaries", "nodeType": "MemberAccess", "referencedDeclaration": 70, - "src": "15267:15:0", + "src": "15247:15:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 779, + "id": 777, "indexExpression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 775, + "id": 773, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 700, - "src": "15283:12:0", + "referencedDeclaration": 698, + "src": "15263:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" } }, - "id": 777, + "id": 775, "indexExpression": { "argumentTypes": null, - "id": 776, + "id": 774, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 724, - "src": "15296:1:0", + "referencedDeclaration": 722, + "src": "15276:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28614,7 +28560,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15283:15:0", + "src": "15263:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -28625,7 +28571,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "15267:32:0", + "src": "15247:32:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -28636,14 +28582,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "74727565", - "id": 780, + "id": 778, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "15302:4:0", + "src": "15282:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -28651,15 +28597,15 @@ }, "value": "true" }, - "src": "15267:39:0", + "src": "15247:39:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 782, + "id": 780, "nodeType": "ExpressionStatement", - "src": "15267:39:0" + "src": "15247:39:0" }, { "expression": { @@ -28669,26 +28615,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 787, + "id": 785, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 703, - "src": "15378:7:0", + "referencedDeclaration": 701, + "src": "15358:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 789, + "id": 787, "indexExpression": { "argumentTypes": null, - "id": 788, + "id": 786, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 724, - "src": "15386:1:0", + "referencedDeclaration": 722, + "src": "15366:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28699,7 +28645,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15378:10:0", + "src": "15358:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28717,26 +28663,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 783, + "id": 781, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 700, - "src": "15353:12:0", + "referencedDeclaration": 698, + "src": "15333:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" } }, - "id": 785, + "id": 783, "indexExpression": { "argumentTypes": null, - "id": 784, + "id": 782, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 724, - "src": "15366:1:0", + "referencedDeclaration": 722, + "src": "15346:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28747,13 +28693,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "15353:15:0", + "src": "15333:15:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 786, + "id": 784, "isConstant": false, "isLValue": false, "isPure": false, @@ -28761,13 +28707,13 @@ "memberName": "transfer", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "15353:24:0", + "src": "15333:24:0", "typeDescriptions": { "typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$", "typeString": "function (uint256)" } }, - "id": 790, + "id": 788, "isConstant": false, "isLValue": false, "isPure": false, @@ -28775,15 +28721,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "15353:36:0", + "src": "15333:36:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 791, + "id": 789, "nodeType": "ExpressionStatement", - "src": "15353:36:0" + "src": "15333:36:0" } ] }, @@ -28793,19 +28739,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 730, + "id": 728, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 727, + "id": 725, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 724, - "src": "14847:1:0", + "referencedDeclaration": 722, + "src": "14827:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28817,18 +28763,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 728, + "id": 726, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 700, - "src": "14851:12:0", + "referencedDeclaration": 698, + "src": "14831:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" } }, - "id": 729, + "id": 727, "isConstant": false, "isLValue": false, "isPure": false, @@ -28836,31 +28782,31 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "14851:19:0", + "src": "14831:19:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "14847:23:0", + "src": "14827:23:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 793, + "id": 791, "initializationExpression": { "assignments": [ - 724 + 722 ], "declarations": [ { "constant": false, - "id": 724, + "id": 722, "name": "i", "nodeType": "VariableDeclaration", - "scope": 888, - "src": "14832:9:0", + "scope": 886, + "src": "14812:9:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -28868,10 +28814,10 @@ "typeString": "uint256" }, "typeName": { - "id": 723, + "id": 721, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "14832:7:0", + "src": "14812:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28881,18 +28827,18 @@ "visibility": "internal" } ], - "id": 726, + "id": 724, "initialValue": { "argumentTypes": null, "hexValue": "30", - "id": 725, + "id": 723, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "14844:1:0", + "src": "14824:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -28901,12 +28847,12 @@ "value": "0" }, "nodeType": "VariableDeclarationStatement", - "src": "14832:13:0" + "src": "14812:13:0" }, "loopExpression": { "expression": { "argumentTypes": null, - "id": 732, + "id": 730, "isConstant": false, "isLValue": false, "isPure": false, @@ -28914,15 +28860,15 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "14872:3:0", + "src": "14852:3:0", "subExpression": { "argumentTypes": null, - "id": 731, + "id": 729, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 724, - "src": "14872:1:0", + "referencedDeclaration": 722, + "src": "14852:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28933,12 +28879,12 @@ "typeString": "uint256" } }, - "id": 733, + "id": 731, "nodeType": "ExpressionStatement", - "src": "14872:3:0" + "src": "14852:3:0" }, "nodeType": "ForStatement", - "src": "14827:577:0" + "src": "14807:577:0" } ] } @@ -28946,26 +28892,26 @@ { "expression": { "argumentTypes": null, - "id": 885, + "id": 883, "name": "valueTransferred", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 715, - "src": "16196:16:0", + "referencedDeclaration": 713, + "src": "16176:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 707, - "id": 886, + "functionReturnParameters": 705, + "id": 884, "nodeType": "Return", - "src": "16189:23:0" + "src": "16169:23:0" } ] }, "documentation": "dev Private method to transfer funds to the destination addresses on the basis of transaction type", - "id": 888, + "id": 886, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -28973,16 +28919,16 @@ "name": "_transferFunds", "nodeType": "FunctionDefinition", "parameters": { - "id": 704, + "id": 702, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 697, + "id": 695, "name": "scriptHash", "nodeType": "VariableDeclaration", - "scope": 888, - "src": "14529:18:0", + "scope": 886, + "src": "14509:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -28990,10 +28936,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 696, + "id": 694, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "14529:7:0", + "src": "14509:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -29004,11 +28950,11 @@ }, { "constant": false, - "id": 700, + "id": 698, "name": "destinations", "nodeType": "VariableDeclaration", - "scope": 888, - "src": "14557:21:0", + "scope": 886, + "src": "14537:21:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -29017,19 +28963,19 @@ }, "typeName": { "baseType": { - "id": 698, + "id": 696, "name": "address", "nodeType": "ElementaryTypeName", - "src": "14557:7:0", + "src": "14537:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 699, + "id": 697, "length": null, "nodeType": "ArrayTypeName", - "src": "14557:9:0", + "src": "14537:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", "typeString": "address[]" @@ -29040,11 +28986,11 @@ }, { "constant": false, - "id": 703, + "id": 701, "name": "amounts", "nodeType": "VariableDeclaration", - "scope": 888, - "src": "14588:16:0", + "scope": 886, + "src": "14568:16:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -29053,19 +28999,19 @@ }, "typeName": { "baseType": { - "id": 701, + "id": 699, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "14588:7:0", + "src": "14568:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 702, + "id": 700, "length": null, "nodeType": "ArrayTypeName", - "src": "14588:9:0", + "src": "14568:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -29075,20 +29021,20 @@ "visibility": "internal" } ], - "src": "14519:91:0" + "src": "14499:91:0" }, "payable": false, "returnParameters": { - "id": 707, + "id": 705, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 706, + "id": 704, "name": "", "nodeType": "VariableDeclaration", - "scope": 888, - "src": "14644:7:0", + "scope": 886, + "src": "14624:7:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -29096,10 +29042,10 @@ "typeString": "uint256" }, "typeName": { - "id": 705, + "id": 703, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "14644:7:0", + "src": "14624:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29109,19 +29055,19 @@ "visibility": "internal" } ], - "src": "14643:9:0" + "src": "14623:9:0" }, - "scope": 1208, - "src": "14496:1723:0", + "scope": 1206, + "src": "14476:1723:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "private" }, { "body": { - "id": 1018, + "id": 1016, "nodeType": "Block", - "src": "16639:1346:0", + "src": "16619:1346:0", "statements": [ { "expression": { @@ -29133,7 +29079,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 921, + "id": 919, "isConstant": false, "isLValue": false, "isPure": false, @@ -29144,7 +29090,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 915, + "id": 913, "isConstant": false, "isLValue": false, "isPure": false, @@ -29153,18 +29099,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 911, + "id": 909, "name": "sigR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 894, - "src": "16671:4:0", + "referencedDeclaration": 892, + "src": "16651:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" } }, - "id": 912, + "id": 910, "isConstant": false, "isLValue": false, "isPure": false, @@ -29172,7 +29118,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "16671:11:0", + "src": "16651:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29184,18 +29130,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 913, + "id": 911, "name": "sigS", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 897, - "src": "16686:4:0", + "referencedDeclaration": 895, + "src": "16666:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" } }, - "id": 914, + "id": 912, "isConstant": false, "isLValue": false, "isPure": false, @@ -29203,13 +29149,13 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "16686:11:0", + "src": "16666:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "16671:26:0", + "src": "16651:26:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -29223,7 +29169,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 920, + "id": 918, "isConstant": false, "isLValue": false, "isPure": false, @@ -29232,18 +29178,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 916, + "id": 914, "name": "sigR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 894, - "src": "16701:4:0", + "referencedDeclaration": 892, + "src": "16681:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" } }, - "id": 917, + "id": 915, "isConstant": false, "isLValue": false, "isPure": false, @@ -29251,7 +29197,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "16701:11:0", + "src": "16681:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29263,18 +29209,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 918, + "id": 916, "name": "sigV", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 891, - "src": "16716:4:0", + "referencedDeclaration": 889, + "src": "16696:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr", "typeString": "uint8[] memory" } }, - "id": 919, + "id": 917, "isConstant": false, "isLValue": false, "isPure": false, @@ -29282,19 +29228,19 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "16716:11:0", + "src": "16696:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "16701:26:0", + "src": "16681:26:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "16671:56:0", + "src": "16651:56:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -29303,14 +29249,14 @@ { "argumentTypes": null, "hexValue": "522c532c56206c656e677468206d69736d617463682e", - "id": 922, + "id": 920, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "16742:24:0", + "src": "16722:24:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_f85073c8befb65baed58ca1ee563e5da0bdbdce8abd4d29ef22a8329c7c97506", @@ -29330,21 +29276,21 @@ "typeString": "literal_string \"R,S,V length mismatch.\"" } ], - "id": 910, + "id": 908, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1384, - 1385 + 1382, + 1383 ], - "referencedDeclaration": 1385, - "src": "16650:7:0", + "referencedDeclaration": 1383, + "src": "16630:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 923, + "id": 921, "isConstant": false, "isLValue": false, "isPure": false, @@ -29352,26 +29298,26 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16650:126:0", + "src": "16630:126:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 924, + "id": 922, "nodeType": "ExpressionStatement", - "src": "16650:126:0" + "src": "16630:126:0" }, { "assignments": [], "declarations": [ { "constant": false, - "id": 926, + "id": 924, "name": "lastAddress", "nodeType": "VariableDeclaration", - "scope": 1019, - "src": "16787:19:0", + "scope": 1017, + "src": "16767:19:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -29379,10 +29325,10 @@ "typeString": "address" }, "typeName": { - "id": 925, + "id": 923, "name": "address", "nodeType": "ElementaryTypeName", - "src": "16787:7:0", + "src": "16767:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -29392,23 +29338,23 @@ "visibility": "internal" } ], - "id": 927, + "id": 925, "initialValue": null, "nodeType": "VariableDeclarationStatement", - "src": "16787:19:0" + "src": "16767:19:0" }, { "assignments": [ - 929 + 927 ], "declarations": [ { "constant": false, - "id": 929, + "id": 927, "name": "txHash", "nodeType": "VariableDeclaration", - "scope": 1019, - "src": "16905:14:0", + "scope": 1017, + "src": "16885:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -29416,10 +29362,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 928, + "id": 926, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "16905:7:0", + "src": "16885:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -29429,7 +29375,7 @@ "visibility": "internal" } ], - "id": 953, + "id": 951, "initialValue": { "argumentTypes": null, "arguments": [ @@ -29439,14 +29385,14 @@ { "argumentTypes": null, "hexValue": "19457468657265756d205369676e6564204d6573736167653a0a3332", - "id": 933, + "id": 931, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "16979:34:0", + "src": "16959:34:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_178a2411ab6fbc1ba11064408972259c558d0e82fd48b0aba3ad81d14f065e73", @@ -29466,14 +29412,14 @@ { "argumentTypes": null, "hexValue": "30783139", - "id": 938, + "id": 936, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "17109:4:0", + "src": "17089:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_25_by_1", @@ -29489,20 +29435,20 @@ "typeString": "int_const 25" } ], - "id": 937, + "id": 935, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "17104:4:0", + "src": "17084:4:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes1_$", "typeString": "type(bytes1)" }, "typeName": "byte" }, - "id": 939, + "id": 937, "isConstant": false, "isLValue": false, "isPure": true, @@ -29510,7 +29456,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17104:10:0", + "src": "17084:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes1", "typeString": "bytes1" @@ -29522,14 +29468,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 941, + "id": 939, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "17145:1:0", + "src": "17125:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -29545,20 +29491,20 @@ "typeString": "int_const 0" } ], - "id": 940, + "id": 938, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "17140:4:0", + "src": "17120:4:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes1_$", "typeString": "type(bytes1)" }, "typeName": "byte" }, - "id": 942, + "id": 940, "isConstant": false, "isLValue": false, "isPure": true, @@ -29566,7 +29512,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17140:7:0", + "src": "17120:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes1", "typeString": "bytes1" @@ -29577,14 +29523,14 @@ "arguments": [ { "argumentTypes": null, - "id": 944, + "id": 942, "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1398, - "src": "17181:4:0", + "referencedDeclaration": 1396, + "src": "17161:4:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_Escrow_v1_0_$1208", + "typeIdentifier": "t_contract$_Escrow_v1_0_$1206", "typeString": "contract Escrow_v1_0" } } @@ -29592,24 +29538,24 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_Escrow_v1_0_$1208", + "typeIdentifier": "t_contract$_Escrow_v1_0_$1206", "typeString": "contract Escrow_v1_0" } ], - "id": 943, + "id": 941, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "17173:7:0", + "src": "17153:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, - "id": 945, + "id": 943, "isConstant": false, "isLValue": false, "isPure": false, @@ -29617,7 +29563,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17173:13:0", + "src": "17153:13:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -29625,12 +29571,12 @@ }, { "argumentTypes": null, - "id": 946, + "id": 944, "name": "destinations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 902, - "src": "17212:12:0", + "referencedDeclaration": 900, + "src": "17192:12:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" @@ -29638,12 +29584,12 @@ }, { "argumentTypes": null, - "id": 947, + "id": 945, "name": "amounts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 905, - "src": "17250:7:0", + "referencedDeclaration": 903, + "src": "17230:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" @@ -29651,12 +29597,12 @@ }, { "argumentTypes": null, - "id": 948, + "id": 946, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 899, - "src": "17283:10:0", + "referencedDeclaration": 897, + "src": "17263:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -29692,18 +29638,18 @@ ], "expression": { "argumentTypes": null, - "id": 935, + "id": 933, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1368, - "src": "17062:3:0", + "referencedDeclaration": 1366, + "src": "17042:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, - "id": 936, + "id": 934, "isConstant": false, "isLValue": false, "isPure": true, @@ -29711,13 +29657,13 @@ "memberName": "encodePacked", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "17062:16:0", + "src": "17042:16:0", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, - "id": 949, + "id": 947, "isConstant": false, "isLValue": false, "isPure": false, @@ -29725,7 +29671,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17062:253:0", + "src": "17042:253:0", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -29739,18 +29685,18 @@ "typeString": "bytes memory" } ], - "id": 934, + "id": 932, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1375, - "src": "17031:9:0", + "referencedDeclaration": 1373, + "src": "17011:9:0", "typeDescriptions": { "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", "typeString": "function () pure returns (bytes32)" } }, - "id": 950, + "id": 948, "isConstant": false, "isLValue": false, "isPure": false, @@ -29758,7 +29704,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17031:302:0", + "src": "17011:302:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -29778,18 +29724,18 @@ ], "expression": { "argumentTypes": null, - "id": 931, + "id": 929, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1368, - "src": "16945:3:0", + "referencedDeclaration": 1366, + "src": "16925:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, - "id": 932, + "id": 930, "isConstant": false, "isLValue": false, "isPure": true, @@ -29797,13 +29743,13 @@ "memberName": "encodePacked", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "16945:16:0", + "src": "16925:16:0", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, - "id": 951, + "id": 949, "isConstant": false, "isLValue": false, "isPure": false, @@ -29811,7 +29757,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16945:402:0", + "src": "16925:402:0", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -29825,18 +29771,18 @@ "typeString": "bytes memory" } ], - "id": 930, + "id": 928, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1375, - "src": "16922:9:0", + "referencedDeclaration": 1373, + "src": "16902:9:0", "typeDescriptions": { "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", "typeString": "function () pure returns (bytes32)" } }, - "id": 952, + "id": 950, "isConstant": false, "isLValue": false, "isPure": false, @@ -29844,33 +29790,33 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "16922:435:0", + "src": "16902:435:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "nodeType": "VariableDeclarationStatement", - "src": "16905:452:0" + "src": "16885:452:0" }, { "body": { - "id": 1014, + "id": 1012, "nodeType": "Block", - "src": "17407:543:0", + "src": "17387:543:0", "statements": [ { "assignments": [ - 966 + 964 ], "declarations": [ { "constant": false, - "id": 966, + "id": 964, "name": "recovered", "nodeType": "VariableDeclaration", - "scope": 1019, - "src": "17422:17:0", + "scope": 1017, + "src": "17402:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -29878,10 +29824,10 @@ "typeString": "address" }, "typeName": { - "id": 965, + "id": 963, "name": "address", "nodeType": "ElementaryTypeName", - "src": "17422:7:0", + "src": "17402:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -29891,18 +29837,18 @@ "visibility": "internal" } ], - "id": 979, + "id": 977, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 968, + "id": 966, "name": "txHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 929, - "src": "17469:6:0", + "referencedDeclaration": 927, + "src": "17449:6:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -29912,26 +29858,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 969, + "id": 967, "name": "sigV", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 891, - "src": "17493:4:0", + "referencedDeclaration": 889, + "src": "17473:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr", "typeString": "uint8[] memory" } }, - "id": 971, + "id": 969, "indexExpression": { "argumentTypes": null, - "id": 970, + "id": 968, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 955, - "src": "17498:1:0", + "referencedDeclaration": 953, + "src": "17478:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29942,7 +29888,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17493:7:0", + "src": "17473:7:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -29952,26 +29898,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 972, + "id": 970, "name": "sigR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 894, - "src": "17518:4:0", + "referencedDeclaration": 892, + "src": "17498:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" } }, - "id": 974, + "id": 972, "indexExpression": { "argumentTypes": null, - "id": 973, + "id": 971, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 955, - "src": "17523:1:0", + "referencedDeclaration": 953, + "src": "17503:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29982,7 +29928,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17518:7:0", + "src": "17498:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -29992,26 +29938,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 975, + "id": 973, "name": "sigS", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 897, - "src": "17543:4:0", + "referencedDeclaration": 895, + "src": "17523:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" } }, - "id": 977, + "id": 975, "indexExpression": { "argumentTypes": null, - "id": 976, + "id": 974, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 955, - "src": "17548:1:0", + "referencedDeclaration": 953, + "src": "17528:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -30022,7 +29968,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17543:7:0", + "src": "17523:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -30048,18 +29994,18 @@ "typeString": "bytes32" } ], - "id": 967, + "id": 965, "name": "ecrecover", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1373, - "src": "17442:9:0", + "referencedDeclaration": 1371, + "src": "17422:9:0", "typeDescriptions": { "typeIdentifier": "t_function_ecrecover_pure$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$_t_address_$", "typeString": "function (bytes32,uint8,bytes32,bytes32) pure returns (address)" } }, - "id": 978, + "id": 976, "isConstant": false, "isLValue": false, "isPure": false, @@ -30067,14 +30013,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17442:122:0", + "src": "17422:122:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "VariableDeclarationStatement", - "src": "17422:142:0" + "src": "17402:142:0" }, { "expression": { @@ -30088,26 +30034,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 981, + "id": 979, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "17604:12:0", + "src": "17584:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 983, + "id": 981, "indexExpression": { "argumentTypes": null, - "id": 982, + "id": 980, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 899, - "src": "17617:10:0", + "referencedDeclaration": 897, + "src": "17597:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -30118,13 +30064,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17604:24:0", + "src": "17584:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 984, + "id": 982, "isConstant": false, "isLValue": true, "isPure": false, @@ -30132,21 +30078,21 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "17604:32:0", + "src": "17584:32:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 986, + "id": 984, "indexExpression": { "argumentTypes": null, - "id": 985, + "id": 983, "name": "recovered", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 966, - "src": "17637:9:0", + "referencedDeclaration": 964, + "src": "17617:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -30157,7 +30103,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17604:43:0", + "src": "17584:43:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -30166,14 +30112,14 @@ { "argumentTypes": null, "hexValue": "496e76616c6964207369676e6174757265", - "id": 987, + "id": 985, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "17666:19:0", + "src": "17646:19:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_4f2d7dfcb27c0aafa13ae8c400de482c7832204d194018b6e45bd2bf244c74e7", @@ -30193,21 +30139,21 @@ "typeString": "literal_string \"Invalid signature\"" } ], - "id": 980, + "id": 978, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1384, - 1385 + 1382, + 1383 ], - "referencedDeclaration": 1385, - "src": "17579:7:0", + "referencedDeclaration": 1383, + "src": "17559:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 988, + "id": 986, "isConstant": false, "isLValue": false, "isPure": false, @@ -30215,15 +30161,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17579:120:0", + "src": "17559:120:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 989, + "id": 987, "nodeType": "ExpressionStatement", - "src": "17579:120:0" + "src": "17559:120:0" }, { "expression": { @@ -30231,7 +30177,7 @@ "arguments": [ { "argumentTypes": null, - "id": 997, + "id": 995, "isConstant": false, "isLValue": false, "isPure": false, @@ -30239,7 +30185,7 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "17738:42:0", + "src": "17718:42:0", "subExpression": { "argumentTypes": null, "baseExpression": { @@ -30248,26 +30194,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 991, + "id": 989, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "17739:12:0", + "src": "17719:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 993, + "id": 991, "indexExpression": { "argumentTypes": null, - "id": 992, + "id": 990, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 899, - "src": "17752:10:0", + "referencedDeclaration": 897, + "src": "17732:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -30278,13 +30224,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17739:24:0", + "src": "17719:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 994, + "id": 992, "isConstant": false, "isLValue": true, "isPure": false, @@ -30292,21 +30238,21 @@ "memberName": "voted", "nodeType": "MemberAccess", "referencedDeclaration": 66, - "src": "17739:30:0", + "src": "17719:30:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 996, + "id": 994, "indexExpression": { "argumentTypes": null, - "id": 995, + "id": 993, "name": "recovered", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 966, - "src": "17770:9:0", + "referencedDeclaration": 964, + "src": "17750:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -30317,7 +30263,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17739:41:0", + "src": "17719:41:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -30331,14 +30277,14 @@ { "argumentTypes": null, "hexValue": "53616d65207369676e61747572652073656e74207477696365", - "id": 998, + "id": 996, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "17799:27:0", + "src": "17779:27:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_fb2c7e49d5ec7ce36fa812cf15ee7fa946942f931d04fe3ae970516007b2a543", @@ -30358,21 +30304,21 @@ "typeString": "literal_string \"Same signature sent twice\"" } ], - "id": 990, + "id": 988, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1384, - 1385 + 1382, + 1383 ], - "referencedDeclaration": 1385, - "src": "17713:7:0", + "referencedDeclaration": 1383, + "src": "17693:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 999, + "id": 997, "isConstant": false, "isLValue": false, "isPure": false, @@ -30380,20 +30326,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "17713:127:0", + "src": "17693:127:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1000, + "id": 998, "nodeType": "ExpressionStatement", - "src": "17713:127:0" + "src": "17693:127:0" }, { "expression": { "argumentTypes": null, - "id": 1008, + "id": 1006, "isConstant": false, "isLValue": false, "isPure": false, @@ -30406,26 +30352,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1001, + "id": 999, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "17854:12:0", + "src": "17834:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 1003, + "id": 1001, "indexExpression": { "argumentTypes": null, - "id": 1002, + "id": 1000, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 899, - "src": "17867:10:0", + "referencedDeclaration": 897, + "src": "17847:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -30436,13 +30382,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "17854:24:0", + "src": "17834:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 1004, + "id": 1002, "isConstant": false, "isLValue": true, "isPure": false, @@ -30450,21 +30396,21 @@ "memberName": "voted", "nodeType": "MemberAccess", "referencedDeclaration": 66, - "src": "17854:30:0", + "src": "17834:30:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 1006, + "id": 1004, "indexExpression": { "argumentTypes": null, - "id": 1005, + "id": 1003, "name": "recovered", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 966, - "src": "17885:9:0", + "referencedDeclaration": 964, + "src": "17865:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -30475,7 +30421,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "17854:41:0", + "src": "17834:41:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -30486,14 +30432,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "74727565", - "id": 1007, + "id": 1005, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "17898:4:0", + "src": "17878:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -30501,32 +30447,32 @@ }, "value": "true" }, - "src": "17854:48:0", + "src": "17834:48:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 1009, + "id": 1007, "nodeType": "ExpressionStatement", - "src": "17854:48:0" + "src": "17834:48:0" }, { "expression": { "argumentTypes": null, - "id": 1012, + "id": 1010, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 1010, + "id": 1008, "name": "lastAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 926, - "src": "17916:11:0", + "referencedDeclaration": 924, + "src": "17896:11:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -30536,26 +30482,26 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 1011, + "id": 1009, "name": "recovered", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 966, - "src": "17930:9:0", + "referencedDeclaration": 964, + "src": "17910:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "17916:23:0", + "src": "17896:23:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 1013, + "id": 1011, "nodeType": "ExpressionStatement", - "src": "17916:23:0" + "src": "17896:23:0" } ] }, @@ -30565,19 +30511,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 961, + "id": 959, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 958, + "id": 956, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 955, - "src": "17385:1:0", + "referencedDeclaration": 953, + "src": "17365:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -30589,18 +30535,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 959, + "id": 957, "name": "sigR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 894, - "src": "17389:4:0", + "referencedDeclaration": 892, + "src": "17369:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", "typeString": "bytes32[] memory" } }, - "id": 960, + "id": 958, "isConstant": false, "isLValue": false, "isPure": false, @@ -30608,31 +30554,31 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "17389:11:0", + "src": "17369:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "17385:15:0", + "src": "17365:15:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 1015, + "id": 1013, "initializationExpression": { "assignments": [ - 955 + 953 ], "declarations": [ { "constant": false, - "id": 955, + "id": 953, "name": "i", "nodeType": "VariableDeclaration", - "scope": 1019, - "src": "17373:6:0", + "scope": 1017, + "src": "17353:6:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -30640,10 +30586,10 @@ "typeString": "uint256" }, "typeName": { - "id": 954, + "id": 952, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "17373:4:0", + "src": "17353:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -30653,18 +30599,18 @@ "visibility": "internal" } ], - "id": 957, + "id": 955, "initialValue": { "argumentTypes": null, "hexValue": "30", - "id": 956, + "id": 954, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "17382:1:0", + "src": "17362:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -30673,12 +30619,12 @@ "value": "0" }, "nodeType": "VariableDeclarationStatement", - "src": "17373:10:0" + "src": "17353:10:0" }, "loopExpression": { "expression": { "argumentTypes": null, - "id": 963, + "id": 961, "isConstant": false, "isLValue": false, "isPure": false, @@ -30686,15 +30632,15 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "17402:3:0", + "src": "17382:3:0", "subExpression": { "argumentTypes": null, - "id": 962, + "id": 960, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 955, - "src": "17402:1:0", + "referencedDeclaration": 953, + "src": "17382:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -30705,36 +30651,36 @@ "typeString": "uint256" } }, - "id": 964, + "id": 962, "nodeType": "ExpressionStatement", - "src": "17402:3:0" + "src": "17382:3:0" }, "nodeType": "ForStatement", - "src": "17368:582:0" + "src": "17348:582:0" }, { "expression": { "argumentTypes": null, - "id": 1016, + "id": 1014, "name": "lastAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 926, - "src": "17967:11:0", + "referencedDeclaration": 924, + "src": "17947:11:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "functionReturnParameters": 909, - "id": 1017, + "functionReturnParameters": 907, + "id": 1015, "nodeType": "Return", - "src": "17960:18:0" + "src": "17940:18:0" } ] }, "documentation": null, - "id": 1019, + "id": 1017, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -30742,16 +30688,16 @@ "name": "_verifySignatures", "nodeType": "FunctionDefinition", "parameters": { - "id": 906, + "id": 904, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 891, + "id": 889, "name": "sigV", "nodeType": "VariableDeclaration", - "scope": 1019, - "src": "16440:12:0", + "scope": 1017, + "src": "16420:12:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -30760,19 +30706,19 @@ }, "typeName": { "baseType": { - "id": 889, + "id": 887, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "16440:5:0", + "src": "16420:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, - "id": 890, + "id": 888, "length": null, "nodeType": "ArrayTypeName", - "src": "16440:7:0", + "src": "16420:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_storage_ptr", "typeString": "uint8[]" @@ -30783,11 +30729,11 @@ }, { "constant": false, - "id": 894, + "id": 892, "name": "sigR", "nodeType": "VariableDeclaration", - "scope": 1019, - "src": "16462:14:0", + "scope": 1017, + "src": "16442:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -30796,19 +30742,19 @@ }, "typeName": { "baseType": { - "id": 892, + "id": 890, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "16462:7:0", + "src": "16442:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "id": 893, + "id": 891, "length": null, "nodeType": "ArrayTypeName", - "src": "16462:9:0", + "src": "16442:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -30819,11 +30765,11 @@ }, { "constant": false, - "id": 897, + "id": 895, "name": "sigS", "nodeType": "VariableDeclaration", - "scope": 1019, - "src": "16486:14:0", + "scope": 1017, + "src": "16466:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -30832,19 +30778,19 @@ }, "typeName": { "baseType": { - "id": 895, + "id": 893, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "16486:7:0", + "src": "16466:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "id": 896, + "id": 894, "length": null, "nodeType": "ArrayTypeName", - "src": "16486:9:0", + "src": "16466:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -30855,11 +30801,11 @@ }, { "constant": false, - "id": 899, + "id": 897, "name": "scriptHash", "nodeType": "VariableDeclaration", - "scope": 1019, - "src": "16510:18:0", + "scope": 1017, + "src": "16490:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -30867,10 +30813,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 898, + "id": 896, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "16510:7:0", + "src": "16490:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -30881,11 +30827,11 @@ }, { "constant": false, - "id": 902, + "id": 900, "name": "destinations", "nodeType": "VariableDeclaration", - "scope": 1019, - "src": "16538:22:0", + "scope": 1017, + "src": "16518:22:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -30894,19 +30840,19 @@ }, "typeName": { "baseType": { - "id": 900, + "id": 898, "name": "address", "nodeType": "ElementaryTypeName", - "src": "16538:7:0", + "src": "16518:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 901, + "id": 899, "length": null, "nodeType": "ArrayTypeName", - "src": "16538:9:0", + "src": "16518:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", "typeString": "address[]" @@ -30917,11 +30863,11 @@ }, { "constant": false, - "id": 905, + "id": 903, "name": "amounts", "nodeType": "VariableDeclaration", - "scope": 1019, - "src": "16570:16:0", + "scope": 1017, + "src": "16550:16:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -30930,19 +30876,19 @@ }, "typeName": { "baseType": { - "id": 903, + "id": 901, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "16570:7:0", + "src": "16550:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 904, + "id": 902, "length": null, "nodeType": "ArrayTypeName", - "src": "16570:9:0", + "src": "16550:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -30952,20 +30898,20 @@ "visibility": "internal" } ], - "src": "16430:162:0" + "src": "16410:162:0" }, "payable": false, "returnParameters": { - "id": 909, + "id": 907, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 908, + "id": 906, "name": "", "nodeType": "VariableDeclaration", - "scope": 1019, - "src": "16626:7:0", + "scope": 1017, + "src": "16606:7:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -30973,10 +30919,10 @@ "typeString": "address" }, "typeName": { - "id": 907, + "id": 905, "name": "address", "nodeType": "ElementaryTypeName", - "src": "16626:7:0", + "src": "16606:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -30986,32 +30932,32 @@ "visibility": "internal" } ], - "src": "16625:9:0" + "src": "16605:9:0" }, - "scope": 1208, - "src": "16404:1581:0", + "scope": 1206, + "src": "16384:1581:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "private" }, { "body": { - "id": 1050, + "id": 1048, "nodeType": "Block", - "src": "18140:168:0", + "src": "18120:168:0", "statements": [ { "assignments": [ - 1029 + 1027 ], "declarations": [ { "constant": false, - "id": 1029, + "id": 1027, "name": "timeSince", "nodeType": "VariableDeclaration", - "scope": 1051, - "src": "18150:17:0", + "scope": 1049, + "src": "18130:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -31019,10 +30965,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1028, + "id": 1026, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "18150:7:0", + "src": "18130:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -31032,18 +30978,18 @@ "visibility": "internal" } ], - "id": 1034, + "id": 1032, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 1032, + "id": 1030, "name": "lastModified", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1023, - "src": "18178:12:0", + "referencedDeclaration": 1021, + "src": "18158:12:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -31059,32 +31005,32 @@ ], "expression": { "argumentTypes": null, - "id": 1030, + "id": 1028, "name": "now", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1383, - "src": "18170:3:0", + "referencedDeclaration": 1381, + "src": "18150:3:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1031, + "id": 1029, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sub", "nodeType": "MemberAccess", - "referencedDeclaration": 1321, - "src": "18170:7:0", + "referencedDeclaration": 1319, + "src": "18150:7:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 1033, + "id": 1031, "isConstant": false, "isLValue": false, "isPure": false, @@ -31092,14 +31038,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18170:21:0", + "src": "18150:21:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "18150:41:0" + "src": "18130:41:0" }, { "expression": { @@ -31113,19 +31059,19 @@ "typeIdentifier": "t_uint32", "typeString": "uint32" }, - "id": 1037, + "id": 1035, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1035, + "id": 1033, "name": "timeoutHours", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1021, - "src": "18222:12:0", + "referencedDeclaration": 1019, + "src": "18202:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -31136,14 +31082,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 1036, + "id": 1034, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "18238:1:0", + "src": "18218:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -31151,7 +31097,7 @@ }, "value": "0" }, - "src": "18222:17:0", + "src": "18202:17:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -31163,19 +31109,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1046, + "id": 1044, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1039, + "id": 1037, "name": "timeSince", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1029, - "src": "18248:9:0", + "referencedDeclaration": 1027, + "src": "18228:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -31189,14 +31135,14 @@ { "argumentTypes": null, "hexValue": "33363030", - "id": 1044, + "id": 1042, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "18286:4:0", + "src": "18266:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_3600_by_1", @@ -31217,12 +31163,12 @@ "arguments": [ { "argumentTypes": null, - "id": 1041, + "id": 1039, "name": "timeoutHours", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1021, - "src": "18268:12:0", + "referencedDeclaration": 1019, + "src": "18248:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -31236,20 +31182,20 @@ "typeString": "uint32" } ], - "id": 1040, + "id": 1038, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "18260:7:0", + "src": "18240:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint256_$", "typeString": "type(uint256)" }, "typeName": "uint256" }, - "id": 1042, + "id": 1040, "isConstant": false, "isLValue": false, "isPure": false, @@ -31257,27 +31203,27 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18260:21:0", + "src": "18240:21:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1043, + "id": 1041, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "mul", "nodeType": "MemberAccess", - "referencedDeclaration": 1273, - "src": "18260:25:0", + "referencedDeclaration": 1271, + "src": "18240:25:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 1045, + "id": 1043, "isConstant": false, "isLValue": false, "isPure": false, @@ -31285,36 +31231,36 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18260:31:0", + "src": "18240:31:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "18248:43:0", + "src": "18228:43:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 1047, + "id": 1045, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "Conditional", - "src": "18222:69:0", + "src": "18202:69:0", "trueExpression": { "argumentTypes": null, "hexValue": "66616c7365", - "id": 1038, + "id": 1036, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "18242:5:0", + "src": "18222:5:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -31328,28 +31274,28 @@ } } ], - "id": 1048, + "id": 1046, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "18208:93:0", + "src": "18188:93:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "functionReturnParameters": 1027, - "id": 1049, + "functionReturnParameters": 1025, + "id": 1047, "nodeType": "Return", - "src": "18201:100:0" + "src": "18181:100:0" } ] }, "documentation": null, - "id": 1051, + "id": 1049, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -31357,16 +31303,16 @@ "name": "_isTimeLockExpired", "nodeType": "FunctionDefinition", "parameters": { - "id": 1024, + "id": 1022, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1021, + "id": 1019, "name": "timeoutHours", "nodeType": "VariableDeclaration", - "scope": 1051, - "src": "18028:19:0", + "scope": 1049, + "src": "18008:19:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -31374,10 +31320,10 @@ "typeString": "uint32" }, "typeName": { - "id": 1020, + "id": 1018, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "18028:6:0", + "src": "18008:6:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -31388,11 +31334,11 @@ }, { "constant": false, - "id": 1023, + "id": 1021, "name": "lastModified", "nodeType": "VariableDeclaration", - "scope": 1051, - "src": "18057:20:0", + "scope": 1049, + "src": "18037:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -31400,10 +31346,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1022, + "id": 1020, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "18057:7:0", + "src": "18037:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -31413,20 +31359,20 @@ "visibility": "internal" } ], - "src": "18018:65:0" + "src": "17998:65:0" }, "payable": false, "returnParameters": { - "id": 1027, + "id": 1025, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1026, + "id": 1024, "name": "", "nodeType": "VariableDeclaration", - "scope": 1051, - "src": "18130:4:0", + "scope": 1049, + "src": "18110:4:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -31434,10 +31380,10 @@ "typeString": "bool" }, "typeName": { - "id": 1025, + "id": 1023, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "18130:4:0", + "src": "18110:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -31447,19 +31393,19 @@ "visibility": "internal" } ], - "src": "18129:6:0" + "src": "18109:6:0" }, - "scope": 1208, - "src": "17991:317:0", + "scope": 1206, + "src": "17971:317:0", "stateMutability": "view", "superFunction": null, "visibility": "private" }, { "body": { - "id": 1206, + "id": 1204, "nodeType": "Block", - "src": "18722:2314:0", + "src": "18702:2314:0", "statements": [ { "expression": { @@ -31471,19 +31417,19 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 1077, + "id": 1075, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1075, + "id": 1073, "name": "buyer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1053, - "src": "18748:5:0", + "referencedDeclaration": 1051, + "src": "18728:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -31493,18 +31439,18 @@ "operator": "!=", "rightExpression": { "argumentTypes": null, - "id": 1076, + "id": 1074, "name": "seller", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1055, - "src": "18757:6:0", + "referencedDeclaration": 1053, + "src": "18737:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "18748:15:0", + "src": "18728:15:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -31513,14 +31459,14 @@ { "argumentTypes": null, "hexValue": "427579657220616e642073656c6c6572206172652073616d65", - "id": 1078, + "id": 1076, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "18765:27:0", + "src": "18745:27:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_6141441751234d42e9a73d96317794195c7ff57b8f16ac15725a10f10763f824", @@ -31540,21 +31486,21 @@ "typeString": "literal_string \"Buyer and seller are same\"" } ], - "id": 1074, + "id": 1072, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1384, - 1385 + 1382, + 1383 ], - "referencedDeclaration": 1385, - "src": "18740:7:0", + "referencedDeclaration": 1383, + "src": "18720:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 1079, + "id": 1077, "isConstant": false, "isLValue": false, "isPure": false, @@ -31562,15 +31508,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18740:53:0", + "src": "18720:53:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1080, + "id": 1078, "nodeType": "ExpressionStatement", - "src": "18740:53:0" + "src": "18720:53:0" }, { "expression": { @@ -31582,19 +31528,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1084, + "id": 1082, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1082, + "id": 1080, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1065, - "src": "18860:5:0", + "referencedDeclaration": 1063, + "src": "18840:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -31605,14 +31551,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 1083, + "id": 1081, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "18868:1:0", + "src": "18848:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -31620,7 +31566,7 @@ }, "value": "0" }, - "src": "18860:9:0", + "src": "18840:9:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -31629,14 +31575,14 @@ { "argumentTypes": null, "hexValue": "56616c7565207061737365642069732030", - "id": 1085, + "id": 1083, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "18871:19:0", + "src": "18851:19:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_3686f87c4804517ea83323ccf1a3b5b5ff52ed144b19e6fc56abe8fcd182e747", @@ -31656,21 +31602,21 @@ "typeString": "literal_string \"Value passed is 0\"" } ], - "id": 1081, + "id": 1079, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1384, - 1385 + 1382, + 1383 ], - "referencedDeclaration": 1385, - "src": "18852:7:0", + "referencedDeclaration": 1383, + "src": "18832:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 1086, + "id": 1084, "isConstant": false, "isLValue": false, "isPure": false, @@ -31678,15 +31624,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18852:39:0", + "src": "18832:39:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1087, + "id": 1085, "nodeType": "ExpressionStatement", - "src": "18852:39:0" + "src": "18832:39:0" }, { "expression": { @@ -31698,7 +31644,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 1095, + "id": 1093, "isConstant": false, "isLValue": false, "isPure": false, @@ -31709,19 +31655,19 @@ "typeIdentifier": "t_uint8", "typeString": "uint8" }, - "id": 1091, + "id": 1089, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1089, + "id": 1087, "name": "threshold", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1059, - "src": "18994:9:0", + "referencedDeclaration": 1057, + "src": "18974:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -31732,14 +31678,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 1090, + "id": 1088, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "19006:1:0", + "src": "18986:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -31747,7 +31693,7 @@ }, "value": "0" }, - "src": "18994:13:0", + "src": "18974:13:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -31761,19 +31707,19 @@ "typeIdentifier": "t_uint8", "typeString": "uint8" }, - "id": 1094, + "id": 1092, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1092, + "id": 1090, "name": "threshold", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1059, - "src": "19011:9:0", + "referencedDeclaration": 1057, + "src": "18991:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -31784,14 +31730,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "33", - "id": 1093, + "id": 1091, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "19024:1:0", + "src": "19004:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_3_by_1", @@ -31799,13 +31745,13 @@ }, "value": "3" }, - "src": "19011:14:0", + "src": "18991:14:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "18994:31:0", + "src": "18974:31:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -31814,14 +31760,14 @@ { "argumentTypes": null, "hexValue": "5468726573686f6c642063616e6e6f742062652067726561746572207468616e203320616e64206d7573742062652067726561746572207468616e2030", - "id": 1096, + "id": 1094, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "19040:63:0", + "src": "19020:63:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_351c1d5dfdc4a2b4c61d6f4dbb41a0d2ae70a9c094d3c0add87af24b5dd19c13", @@ -31841,21 +31787,21 @@ "typeString": "literal_string \"Threshold cannot be greater than 3 and must be greater than 0\"" } ], - "id": 1088, + "id": 1086, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1384, - 1385 + 1382, + 1383 ], - "referencedDeclaration": 1385, - "src": "18973:7:0", + "referencedDeclaration": 1383, + "src": "18953:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 1097, + "id": 1095, "isConstant": false, "isLValue": false, "isPure": false, @@ -31863,15 +31809,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "18973:140:0", + "src": "18953:140:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1098, + "id": 1096, "nodeType": "ExpressionStatement", - "src": "18973:140:0" + "src": "18953:140:0" }, { "expression": { @@ -31883,7 +31829,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 1108, + "id": 1106, "isConstant": false, "isLValue": false, "isPure": false, @@ -31894,19 +31840,19 @@ "typeIdentifier": "t_uint8", "typeString": "uint8" }, - "id": 1102, + "id": 1100, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1100, + "id": 1098, "name": "threshold", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1059, - "src": "19394:9:0", + "referencedDeclaration": 1057, + "src": "19374:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -31917,14 +31863,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "31", - "id": 1101, + "id": 1099, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "19407:1:0", + "src": "19387:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -31932,7 +31878,7 @@ }, "value": "1" }, - "src": "19394:14:0", + "src": "19374:14:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -31946,19 +31892,19 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 1107, + "id": 1105, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1103, + "id": 1101, "name": "moderator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1057, - "src": "19412:9:0", + "referencedDeclaration": 1055, + "src": "19392:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -31972,14 +31918,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 1105, + "id": 1103, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "19433:1:0", + "src": "19413:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -31995,20 +31941,20 @@ "typeString": "int_const 0" } ], - "id": 1104, + "id": 1102, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "19425:7:0", + "src": "19405:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, - "id": 1106, + "id": 1104, "isConstant": false, "isLValue": false, "isPure": true, @@ -32016,19 +31962,19 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "19425:10:0", + "src": "19405:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "19412:23:0", + "src": "19392:23:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "19394:41:0", + "src": "19374:41:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -32037,14 +31983,14 @@ { "argumentTypes": null, "hexValue": "456974686572207468726573686f6c642073686f756c642062652031206f722076616c6964206d6f64657261746f7220616464726573732073686f756c6420626520706173736564", - "id": 1109, + "id": 1107, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "19449:74:0", + "src": "19429:74:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_2056db168725d2fabb8aaf14efad7a3fc12ef6bc7132f0596ea09b041b71cb25", @@ -32064,21 +32010,21 @@ "typeString": "literal_string \"Either threshold should be 1 or valid moderator address should be passed\"" } ], - "id": 1099, + "id": 1097, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1384, - 1385 + 1382, + 1383 ], - "referencedDeclaration": 1385, - "src": "19373:7:0", + "referencedDeclaration": 1383, + "src": "19353:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 1110, + "id": 1108, "isConstant": false, "isLValue": false, "isPure": false, @@ -32086,15 +32032,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "19373:160:0", + "src": "19353:160:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1111, + "id": 1109, "nodeType": "ExpressionStatement", - "src": "19373:160:0" + "src": "19353:160:0" }, { "expression": { @@ -32106,19 +32052,19 @@ "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, - "id": 1123, + "id": 1121, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1113, + "id": 1111, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1063, - "src": "19565:10:0", + "referencedDeclaration": 1061, + "src": "19545:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -32131,12 +32077,12 @@ "arguments": [ { "argumentTypes": null, - "id": 1115, + "id": 1113, "name": "uniqueId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1067, - "src": "19622:8:0", + "referencedDeclaration": 1065, + "src": "19602:8:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -32144,12 +32090,12 @@ }, { "argumentTypes": null, - "id": 1116, + "id": 1114, "name": "threshold", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1059, - "src": "19648:9:0", + "referencedDeclaration": 1057, + "src": "19628:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -32157,12 +32103,12 @@ }, { "argumentTypes": null, - "id": 1117, + "id": 1115, "name": "timeoutHours", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1061, - "src": "19675:12:0", + "referencedDeclaration": 1059, + "src": "19655:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -32170,12 +32116,12 @@ }, { "argumentTypes": null, - "id": 1118, + "id": 1116, "name": "buyer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1053, - "src": "19705:5:0", + "referencedDeclaration": 1051, + "src": "19685:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -32183,12 +32129,12 @@ }, { "argumentTypes": null, - "id": 1119, + "id": 1117, "name": "seller", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1055, - "src": "19728:6:0", + "referencedDeclaration": 1053, + "src": "19708:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -32196,12 +32142,12 @@ }, { "argumentTypes": null, - "id": 1120, + "id": 1118, "name": "moderator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1057, - "src": "19752:9:0", + "referencedDeclaration": 1055, + "src": "19732:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -32209,12 +32155,12 @@ }, { "argumentTypes": null, - "id": 1121, + "id": 1119, "name": "tokenAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1071, - "src": "19779:12:0", + "referencedDeclaration": 1069, + "src": "19759:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -32252,18 +32198,18 @@ "typeString": "address" } ], - "id": 1114, + "id": 1112, "name": "calculateRedeemScriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 626, - "src": "19579:25:0", + "referencedDeclaration": 624, + "src": "19559:25:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_bytes20_$_t_uint8_$_t_uint32_$_t_address_$_t_address_$_t_address_$_t_address_$returns$_t_bytes32_$", "typeString": "function (bytes20,uint8,uint32,address,address,address,address) view returns (bytes32)" } }, - "id": 1122, + "id": 1120, "isConstant": false, "isLValue": false, "isPure": false, @@ -32271,13 +32217,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "19579:226:0", + "src": "19559:226:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "src": "19565:240:0", + "src": "19545:240:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -32286,14 +32232,14 @@ { "argumentTypes": null, "hexValue": "43616c63756c6174656420736372697074206861736820646f6573206e6f74206d61746368207061737365642073637269707420686173682e", - "id": 1124, + "id": 1122, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "19820:59:0", + "src": "19800:59:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_0c041e0c58e6b0e01d338d852a5abb639065eabeb0aee05e0ce3e5f0e52b4f51", @@ -32313,21 +32259,21 @@ "typeString": "literal_string \"Calculated script hash does not match passed script hash.\"" } ], - "id": 1112, + "id": 1110, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1384, - 1385 + 1382, + 1383 ], - "referencedDeclaration": 1385, - "src": "19544:7:0", + "referencedDeclaration": 1383, + "src": "19524:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 1125, + "id": 1123, "isConstant": false, "isLValue": false, "isPure": false, @@ -32335,20 +32281,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "19544:345:0", + "src": "19524:345:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1126, + "id": 1124, "nodeType": "ExpressionStatement", - "src": "19544:345:0" + "src": "19524:345:0" }, { "expression": { "argumentTypes": null, - "id": 1144, + "id": 1142, "isConstant": false, "isLValue": false, "isPure": false, @@ -32357,26 +32303,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1127, + "id": 1125, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "19900:12:0", + "src": "19880:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 1129, + "id": 1127, "indexExpression": { "argumentTypes": null, - "id": 1128, + "id": 1126, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1063, - "src": "19913:10:0", + "referencedDeclaration": 1061, + "src": "19893:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -32387,7 +32333,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "19900:24:0", + "src": "19880:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" @@ -32400,12 +32346,12 @@ "arguments": [ { "argumentTypes": null, - "id": 1131, + "id": 1129, "name": "buyer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1053, - "src": "19960:5:0", + "referencedDeclaration": 1051, + "src": "19940:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -32413,12 +32359,12 @@ }, { "argumentTypes": null, - "id": 1132, + "id": 1130, "name": "seller", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1055, - "src": "19987:6:0", + "referencedDeclaration": 1053, + "src": "19967:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -32426,12 +32372,12 @@ }, { "argumentTypes": null, - "id": 1133, + "id": 1131, "name": "moderator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1057, - "src": "20018:9:0", + "referencedDeclaration": 1055, + "src": "19998:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -32439,12 +32385,12 @@ }, { "argumentTypes": null, - "id": 1134, + "id": 1132, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1065, - "src": "20048:5:0", + "referencedDeclaration": 1063, + "src": "20028:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -32454,18 +32400,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1135, + "id": 1133, "name": "Status", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9, - "src": "20075:6:0", + "src": "20055:6:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_Status_$9_$", "typeString": "type(enum Escrow_v1_0.Status)" } }, - "id": 1136, + "id": 1134, "isConstant": false, "isLValue": false, "isPure": true, @@ -32473,7 +32419,7 @@ "memberName": "FUNDED", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "20075:13:0", + "src": "20055:13:0", "typeDescriptions": { "typeIdentifier": "t_enum$_Status_$9", "typeString": "enum Escrow_v1_0.Status" @@ -32483,18 +32429,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1137, + "id": 1135, "name": "block", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1371, - "src": "20116:5:0", + "referencedDeclaration": 1369, + "src": "20096:5:0", "typeDescriptions": { "typeIdentifier": "t_magic_block", "typeString": "block" } }, - "id": 1138, + "id": 1136, "isConstant": false, "isLValue": false, "isPure": false, @@ -32502,7 +32448,7 @@ "memberName": "timestamp", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "20116:15:0", + "src": "20096:15:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -32510,12 +32456,12 @@ }, { "argumentTypes": null, - "id": 1139, + "id": 1137, "name": "threshold", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1059, - "src": "20156:9:0", + "referencedDeclaration": 1057, + "src": "20136:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -32523,12 +32469,12 @@ }, { "argumentTypes": null, - "id": 1140, + "id": 1138, "name": "timeoutHours", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1061, - "src": "20193:12:0", + "referencedDeclaration": 1059, + "src": "20173:12:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -32536,12 +32482,12 @@ }, { "argumentTypes": null, - "id": 1141, + "id": 1139, "name": "transactionType", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1069, - "src": "20235:15:0", + "referencedDeclaration": 1067, + "src": "20215:15:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -32549,12 +32495,12 @@ }, { "argumentTypes": null, - "id": 1142, + "id": 1140, "name": "tokenAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1071, - "src": "20277:12:0", + "referencedDeclaration": 1069, + "src": "20257:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -32563,18 +32509,18 @@ ], "expression": { "argumentTypes": null, - "id": 1130, + "id": 1128, "name": "Transaction", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 71, - "src": "19927:11:0", + "src": "19907:11:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_struct$_Transaction_$71_storage_ptr_$", "typeString": "type(struct Escrow_v1_0.Transaction storage pointer)" } }, - "id": 1143, + "id": 1141, "isConstant": false, "isLValue": false, "isPure": false, @@ -32593,26 +32539,26 @@ "tokenAddress" ], "nodeType": "FunctionCall", - "src": "19927:373:0", + "src": "19907:373:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_memory", "typeString": "struct Escrow_v1_0.Transaction memory" } }, - "src": "19900:400:0", + "src": "19880:400:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 1145, + "id": 1143, "nodeType": "ExpressionStatement", - "src": "19900:400:0" + "src": "19880:400:0" }, { "expression": { "argumentTypes": null, - "id": 1153, + "id": 1151, "isConstant": false, "isLValue": false, "isPure": false, @@ -32625,26 +32571,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1146, + "id": 1144, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "20311:12:0", + "src": "20291:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 1148, + "id": 1146, "indexExpression": { "argumentTypes": null, - "id": 1147, + "id": 1145, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1063, - "src": "20324:10:0", + "referencedDeclaration": 1061, + "src": "20304:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -32655,13 +32601,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20311:24:0", + "src": "20291:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 1149, + "id": 1147, "isConstant": false, "isLValue": true, "isPure": false, @@ -32669,21 +32615,21 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "20311:32:0", + "src": "20291:32:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 1151, + "id": 1149, "indexExpression": { "argumentTypes": null, - "id": 1150, + "id": 1148, "name": "seller", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1055, - "src": "20344:6:0", + "referencedDeclaration": 1053, + "src": "20324:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -32694,7 +32640,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "20311:40:0", + "src": "20291:40:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -32705,14 +32651,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "74727565", - "id": 1152, + "id": 1150, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "20354:4:0", + "src": "20334:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -32720,20 +32666,20 @@ }, "value": "true" }, - "src": "20311:47:0", + "src": "20291:47:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 1154, + "id": 1152, "nodeType": "ExpressionStatement", - "src": "20311:47:0" + "src": "20291:47:0" }, { "expression": { "argumentTypes": null, - "id": 1162, + "id": 1160, "isConstant": false, "isLValue": false, "isPure": false, @@ -32746,26 +32692,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1155, + "id": 1153, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "20368:12:0", + "src": "20348:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 1157, + "id": 1155, "indexExpression": { "argumentTypes": null, - "id": 1156, + "id": 1154, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1063, - "src": "20381:10:0", + "referencedDeclaration": 1061, + "src": "20361:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -32776,13 +32722,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20368:24:0", + "src": "20348:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 1158, + "id": 1156, "isConstant": false, "isLValue": true, "isPure": false, @@ -32790,21 +32736,21 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "20368:32:0", + "src": "20348:32:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 1160, + "id": 1158, "indexExpression": { "argumentTypes": null, - "id": 1159, + "id": 1157, "name": "buyer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1053, - "src": "20401:5:0", + "referencedDeclaration": 1051, + "src": "20381:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -32815,7 +32761,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "20368:39:0", + "src": "20348:39:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -32826,14 +32772,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "74727565", - "id": 1161, + "id": 1159, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "20410:4:0", + "src": "20390:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -32841,15 +32787,15 @@ }, "value": "true" }, - "src": "20368:46:0", + "src": "20348:46:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 1163, + "id": 1161, "nodeType": "ExpressionStatement", - "src": "20368:46:0" + "src": "20348:46:0" }, { "expression": { @@ -32857,7 +32803,7 @@ "arguments": [ { "argumentTypes": null, - "id": 1171, + "id": 1169, "isConstant": false, "isLValue": false, "isPure": false, @@ -32865,7 +32811,7 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "20521:44:0", + "src": "20501:44:0", "subExpression": { "argumentTypes": null, "baseExpression": { @@ -32874,26 +32820,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1165, + "id": 1163, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "20522:12:0", + "src": "20502:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 1167, + "id": 1165, "indexExpression": { "argumentTypes": null, - "id": 1166, + "id": 1164, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1063, - "src": "20535:10:0", + "referencedDeclaration": 1061, + "src": "20515:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -32904,13 +32850,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20522:24:0", + "src": "20502:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 1168, + "id": 1166, "isConstant": false, "isLValue": true, "isPure": false, @@ -32918,21 +32864,21 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "20522:32:0", + "src": "20502:32:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 1170, + "id": 1168, "indexExpression": { "argumentTypes": null, - "id": 1169, + "id": 1167, "name": "moderator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1057, - "src": "20555:9:0", + "referencedDeclaration": 1055, + "src": "20535:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -32943,7 +32889,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20522:43:0", + "src": "20502:43:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -32957,14 +32903,14 @@ { "argumentTypes": null, "hexValue": "456974686572206275796572206f722073656c6c657220697320706173736564206173206d6f64657261746f72", - "id": 1172, + "id": 1170, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "20580:47:0", + "src": "20560:47:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_313b391557427937e7bdb85c7561d47c5b9c985755a448dd33a92026ffb38f8d", @@ -32984,21 +32930,21 @@ "typeString": "literal_string \"Either buyer or seller is passed as moderator\"" } ], - "id": 1164, + "id": 1162, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1384, - 1385 + 1382, + 1383 ], - "referencedDeclaration": 1385, - "src": "20500:7:0", + "referencedDeclaration": 1383, + "src": "20480:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 1173, + "id": 1171, "isConstant": false, "isLValue": false, "isPure": false, @@ -33006,15 +32952,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "20500:137:0", + "src": "20480:137:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1174, + "id": 1172, "nodeType": "ExpressionStatement", - "src": "20500:137:0" + "src": "20480:137:0" }, { "condition": { @@ -33023,19 +32969,19 @@ "typeIdentifier": "t_uint8", "typeString": "uint8" }, - "id": 1177, + "id": 1175, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1175, + "id": 1173, "name": "threshold", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1059, - "src": "20797:9:0", + "referencedDeclaration": 1057, + "src": "20777:9:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -33046,14 +32992,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "31", - "id": 1176, + "id": 1174, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "20809:1:0", + "src": "20789:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -33061,25 +33007,25 @@ }, "value": "1" }, - "src": "20797:13:0", + "src": "20777:13:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, - "id": 1188, + "id": 1186, "nodeType": "IfStatement", - "src": "20793:94:0", + "src": "20773:94:0", "trueBody": { - "id": 1187, + "id": 1185, "nodeType": "Block", - "src": "20812:75:0", + "src": "20792:75:0", "statements": [ { "expression": { "argumentTypes": null, - "id": 1185, + "id": 1183, "isConstant": false, "isLValue": false, "isPure": false, @@ -33092,26 +33038,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1178, + "id": 1176, "name": "transactions", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "20826:12:0", + "src": "20806:12:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Transaction_$71_storage_$", "typeString": "mapping(bytes32 => struct Escrow_v1_0.Transaction storage ref)" } }, - "id": 1180, + "id": 1178, "indexExpression": { "argumentTypes": null, - "id": 1179, + "id": 1177, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1063, - "src": "20839:10:0", + "referencedDeclaration": 1061, + "src": "20819:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -33122,13 +33068,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20826:24:0", + "src": "20806:24:0", "typeDescriptions": { "typeIdentifier": "t_struct$_Transaction_$71_storage", "typeString": "struct Escrow_v1_0.Transaction storage ref" } }, - "id": 1181, + "id": 1179, "isConstant": false, "isLValue": true, "isPure": false, @@ -33136,21 +33082,21 @@ "memberName": "isOwner", "nodeType": "MemberAccess", "referencedDeclaration": 62, - "src": "20826:32:0", + "src": "20806:32:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 1183, + "id": 1181, "indexExpression": { "argumentTypes": null, - "id": 1182, + "id": 1180, "name": "moderator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1057, - "src": "20859:9:0", + "referencedDeclaration": 1055, + "src": "20839:9:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -33161,7 +33107,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "20826:43:0", + "src": "20806:43:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -33172,14 +33118,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "74727565", - "id": 1184, + "id": 1182, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "20872:4:0", + "src": "20852:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -33187,15 +33133,15 @@ }, "value": "true" }, - "src": "20826:50:0", + "src": "20806:50:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 1186, + "id": 1184, "nodeType": "ExpressionStatement", - "src": "20826:50:0" + "src": "20806:50:0" } ] } @@ -33203,7 +33149,7 @@ { "expression": { "argumentTypes": null, - "id": 1190, + "id": 1188, "isConstant": false, "isLValue": false, "isPure": false, @@ -33211,15 +33157,15 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "20905:18:0", + "src": "20885:18:0", "subExpression": { "argumentTypes": null, - "id": 1189, + "id": 1187, "name": "transactionCount", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 78, - "src": "20905:16:0", + "src": "20885:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -33230,9 +33176,9 @@ "typeString": "uint256" } }, - "id": 1191, + "id": 1189, "nodeType": "ExpressionStatement", - "src": "20905:18:0" + "src": "20885:18:0" }, { "expression": { @@ -33240,12 +33186,12 @@ "arguments": [ { "argumentTypes": null, - "id": 1196, + "id": 1194, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1063, - "src": "20965:10:0", + "referencedDeclaration": 1061, + "src": "20945:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -33263,26 +33209,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1192, + "id": 1190, "name": "partyVsTransaction", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 83, - "src": "20934:18:0", + "src": "20914:18:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_bytes32_$dyn_storage_$", "typeString": "mapping(address => bytes32[] storage ref)" } }, - "id": 1194, + "id": 1192, "indexExpression": { "argumentTypes": null, - "id": 1193, + "id": 1191, "name": "buyer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1053, - "src": "20953:5:0", + "referencedDeclaration": 1051, + "src": "20933:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -33293,13 +33239,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20934:25:0", + "src": "20914:25:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage", "typeString": "bytes32[] storage ref" } }, - "id": 1195, + "id": 1193, "isConstant": false, "isLValue": false, "isPure": false, @@ -33307,13 +33253,13 @@ "memberName": "push", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "20934:30:0", + "src": "20914:30:0", "typeDescriptions": { "typeIdentifier": "t_function_arraypush_nonpayable$_t_bytes32_$returns$_t_uint256_$", "typeString": "function (bytes32) returns (uint256)" } }, - "id": 1197, + "id": 1195, "isConstant": false, "isLValue": false, "isPure": false, @@ -33321,15 +33267,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "20934:42:0", + "src": "20914:42:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1198, + "id": 1196, "nodeType": "ExpressionStatement", - "src": "20934:42:0" + "src": "20914:42:0" }, { "expression": { @@ -33337,12 +33283,12 @@ "arguments": [ { "argumentTypes": null, - "id": 1203, + "id": 1201, "name": "scriptHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1063, - "src": "21018:10:0", + "referencedDeclaration": 1061, + "src": "20998:10:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -33360,26 +33306,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1199, + "id": 1197, "name": "partyVsTransaction", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 83, - "src": "20986:18:0", + "src": "20966:18:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_bytes32_$dyn_storage_$", "typeString": "mapping(address => bytes32[] storage ref)" } }, - "id": 1201, + "id": 1199, "indexExpression": { "argumentTypes": null, - "id": 1200, + "id": 1198, "name": "seller", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1055, - "src": "21005:6:0", + "referencedDeclaration": 1053, + "src": "20985:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -33390,13 +33336,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "20986:26:0", + "src": "20966:26:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage", "typeString": "bytes32[] storage ref" } }, - "id": 1202, + "id": 1200, "isConstant": false, "isLValue": false, "isPure": false, @@ -33404,13 +33350,13 @@ "memberName": "push", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "20986:31:0", + "src": "20966:31:0", "typeDescriptions": { "typeIdentifier": "t_function_arraypush_nonpayable$_t_bytes32_$returns$_t_uint256_$", "typeString": "function (bytes32) returns (uint256)" } }, - "id": 1204, + "id": 1202, "isConstant": false, "isLValue": false, "isPure": false, @@ -33418,20 +33364,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "20986:43:0", + "src": "20966:43:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1205, + "id": 1203, "nodeType": "ExpressionStatement", - "src": "20986:43:0" + "src": "20966:43:0" } ] }, "documentation": "Private method to add transaction to reduce code redundancy", - "id": 1207, + "id": 1205, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -33439,16 +33385,16 @@ "name": "_addTransaction", "nodeType": "FunctionDefinition", "parameters": { - "id": 1072, + "id": 1070, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1053, + "id": 1051, "name": "buyer", "nodeType": "VariableDeclaration", - "scope": 1207, - "src": "18429:13:0", + "scope": 1205, + "src": "18409:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -33456,10 +33402,10 @@ "typeString": "address" }, "typeName": { - "id": 1052, + "id": 1050, "name": "address", "nodeType": "ElementaryTypeName", - "src": "18429:7:0", + "src": "18409:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -33470,11 +33416,11 @@ }, { "constant": false, - "id": 1055, + "id": 1053, "name": "seller", "nodeType": "VariableDeclaration", - "scope": 1207, - "src": "18452:14:0", + "scope": 1205, + "src": "18432:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -33482,10 +33428,10 @@ "typeString": "address" }, "typeName": { - "id": 1054, + "id": 1052, "name": "address", "nodeType": "ElementaryTypeName", - "src": "18452:7:0", + "src": "18432:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -33496,11 +33442,11 @@ }, { "constant": false, - "id": 1057, + "id": 1055, "name": "moderator", "nodeType": "VariableDeclaration", - "scope": 1207, - "src": "18476:17:0", + "scope": 1205, + "src": "18456:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -33508,10 +33454,10 @@ "typeString": "address" }, "typeName": { - "id": 1056, + "id": 1054, "name": "address", "nodeType": "ElementaryTypeName", - "src": "18476:7:0", + "src": "18456:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -33522,11 +33468,11 @@ }, { "constant": false, - "id": 1059, + "id": 1057, "name": "threshold", "nodeType": "VariableDeclaration", - "scope": 1207, - "src": "18503:15:0", + "scope": 1205, + "src": "18483:15:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -33534,10 +33480,10 @@ "typeString": "uint8" }, "typeName": { - "id": 1058, + "id": 1056, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "18503:5:0", + "src": "18483:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -33548,11 +33494,11 @@ }, { "constant": false, - "id": 1061, + "id": 1059, "name": "timeoutHours", "nodeType": "VariableDeclaration", - "scope": 1207, - "src": "18528:19:0", + "scope": 1205, + "src": "18508:19:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -33560,10 +33506,10 @@ "typeString": "uint32" }, "typeName": { - "id": 1060, + "id": 1058, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "18528:6:0", + "src": "18508:6:0", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -33574,11 +33520,11 @@ }, { "constant": false, - "id": 1063, + "id": 1061, "name": "scriptHash", "nodeType": "VariableDeclaration", - "scope": 1207, - "src": "18557:18:0", + "scope": 1205, + "src": "18537:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -33586,10 +33532,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 1062, + "id": 1060, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "18557:7:0", + "src": "18537:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -33600,11 +33546,11 @@ }, { "constant": false, - "id": 1065, + "id": 1063, "name": "value", "nodeType": "VariableDeclaration", - "scope": 1207, - "src": "18585:13:0", + "scope": 1205, + "src": "18565:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -33612,10 +33558,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1064, + "id": 1062, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "18585:7:0", + "src": "18565:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -33626,11 +33572,11 @@ }, { "constant": false, - "id": 1067, + "id": 1065, "name": "uniqueId", "nodeType": "VariableDeclaration", - "scope": 1207, - "src": "18608:16:0", + "scope": 1205, + "src": "18588:16:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -33638,10 +33584,10 @@ "typeString": "bytes20" }, "typeName": { - "id": 1066, + "id": 1064, "name": "bytes20", "nodeType": "ElementaryTypeName", - "src": "18608:7:0", + "src": "18588:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" @@ -33652,11 +33598,11 @@ }, { "constant": false, - "id": 1069, + "id": 1067, "name": "transactionType", "nodeType": "VariableDeclaration", - "scope": 1207, - "src": "18634:31:0", + "scope": 1205, + "src": "18614:31:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -33665,11 +33611,11 @@ }, "typeName": { "contractScope": null, - "id": 1068, + "id": 1066, "name": "TransactionType", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 12, - "src": "18634:15:0", + "src": "18614:15:0", "typeDescriptions": { "typeIdentifier": "t_enum$_TransactionType_$12", "typeString": "enum Escrow_v1_0.TransactionType" @@ -33680,11 +33626,11 @@ }, { "constant": false, - "id": 1071, + "id": 1069, "name": "tokenAddress", "nodeType": "VariableDeclaration", - "scope": 1207, - "src": "18675:20:0", + "scope": 1205, + "src": "18655:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -33692,10 +33638,10 @@ "typeString": "address" }, "typeName": { - "id": 1070, + "id": 1068, "name": "address", "nodeType": "ElementaryTypeName", - "src": "18675:7:0", + "src": "18655:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -33705,27 +33651,27 @@ "visibility": "internal" } ], - "src": "18419:282:0" + "src": "18399:282:0" }, "payable": false, "returnParameters": { - "id": 1073, + "id": 1071, "nodeType": "ParameterList", "parameters": [], - "src": "18722:0:0" + "src": "18702:0:0" }, - "scope": 1208, - "src": "18395:2641:0", + "scope": 1206, + "src": "18375:2641:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "private" } ], - "scope": 1209, - "src": "605:20433:0" + "scope": 1207, + "src": "605:20413:0" } ], - "src": "0:21039:0" + "src": "0:21019:0" }, "compiler": { "name": "solc", @@ -33733,5 +33679,5 @@ }, "networks": {}, "schemaVersion": "2.0.1", - "updatedAt": "2018-11-19T14:02:23.202Z" + "updatedAt": "2018-11-19T14:05:13.577Z" } \ No newline at end of file diff --git a/build/contracts/ITokenContract.json b/build/contracts/ITokenContract.json index d033f13..2fdc0e8 100644 --- a/build/contracts/ITokenContract.json +++ b/build/contracts/ITokenContract.json @@ -81,14 +81,14 @@ "absolutePath": "/home/sameep/freelancing-projects/toptal/open baazar/publicRepo/smart-contracts/contracts/token/ITokenContract.sol", "exportedSymbols": { "ITokenContract": [ - 1238 + 1236 ] }, - "id": 1239, + "id": 1237, "nodeType": "SourceUnit", "nodes": [ { - "id": 1210, + "id": 1208, "literals": [ "solidity", "0.4", @@ -103,9 +103,9 @@ "contractKind": "interface", "documentation": null, "fullyImplemented": false, - "id": 1238, + "id": 1236, "linearizedBaseContracts": [ - 1238 + 1236 ], "name": "ITokenContract", "nodeType": "ContractDefinition", @@ -113,7 +113,7 @@ { "body": null, "documentation": null, - "id": 1217, + "id": 1215, "implemented": false, "isConstructor": false, "isDeclaredConst": true, @@ -121,15 +121,15 @@ "name": "balanceOf", "nodeType": "FunctionDefinition", "parameters": { - "id": 1213, + "id": 1211, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1212, + "id": 1210, "name": "_owner", "nodeType": "VariableDeclaration", - "scope": 1217, + "scope": 1215, "src": "75:14:1", "stateVariable": false, "storageLocation": "default", @@ -138,7 +138,7 @@ "typeString": "address" }, "typeName": { - "id": 1211, + "id": 1209, "name": "address", "nodeType": "ElementaryTypeName", "src": "75:7:1", @@ -155,15 +155,15 @@ }, "payable": false, "returnParameters": { - "id": 1216, + "id": 1214, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1215, + "id": 1213, "name": "balance", "nodeType": "VariableDeclaration", - "scope": 1217, + "scope": 1215, "src": "114:15:1", "stateVariable": false, "storageLocation": "default", @@ -172,7 +172,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1214, + "id": 1212, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "114:7:1", @@ -187,7 +187,7 @@ ], "src": "113:17:1" }, - "scope": 1238, + "scope": 1236, "src": "56:75:1", "stateMutability": "view", "superFunction": null, @@ -196,7 +196,7 @@ { "body": null, "documentation": null, - "id": 1226, + "id": 1224, "implemented": false, "isConstructor": false, "isDeclaredConst": false, @@ -204,15 +204,15 @@ "name": "transfer", "nodeType": "FunctionDefinition", "parameters": { - "id": 1222, + "id": 1220, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1219, + "id": 1217, "name": "_to", "nodeType": "VariableDeclaration", - "scope": 1226, + "scope": 1224, "src": "166:11:1", "stateVariable": false, "storageLocation": "default", @@ -221,7 +221,7 @@ "typeString": "address" }, "typeName": { - "id": 1218, + "id": 1216, "name": "address", "nodeType": "ElementaryTypeName", "src": "166:7:1", @@ -235,10 +235,10 @@ }, { "constant": false, - "id": 1221, + "id": 1219, "name": "_amount", "nodeType": "VariableDeclaration", - "scope": 1226, + "scope": 1224, "src": "188:15:1", "stateVariable": false, "storageLocation": "default", @@ -247,7 +247,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1220, + "id": 1218, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "188:7:1", @@ -264,15 +264,15 @@ }, "payable": false, "returnParameters": { - "id": 1225, + "id": 1223, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1224, + "id": 1222, "name": "success", "nodeType": "VariableDeclaration", - "scope": 1226, + "scope": 1224, "src": "245:12:1", "stateVariable": false, "storageLocation": "default", @@ -281,7 +281,7 @@ "typeString": "bool" }, "typeName": { - "id": 1223, + "id": 1221, "name": "bool", "nodeType": "ElementaryTypeName", "src": "245:4:1", @@ -296,7 +296,7 @@ ], "src": "244:14:1" }, - "scope": 1238, + "scope": 1236, "src": "139:120:1", "stateMutability": "nonpayable", "superFunction": null, @@ -305,7 +305,7 @@ { "body": null, "documentation": null, - "id": 1237, + "id": 1235, "implemented": false, "isConstructor": false, "isDeclaredConst": false, @@ -313,15 +313,15 @@ "name": "transferFrom", "nodeType": "FunctionDefinition", "parameters": { - "id": 1233, + "id": 1231, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1228, + "id": 1226, "name": "_from", "nodeType": "VariableDeclaration", - "scope": 1237, + "scope": 1235, "src": "296:13:1", "stateVariable": false, "storageLocation": "default", @@ -330,7 +330,7 @@ "typeString": "address" }, "typeName": { - "id": 1227, + "id": 1225, "name": "address", "nodeType": "ElementaryTypeName", "src": "296:7:1", @@ -344,10 +344,10 @@ }, { "constant": false, - "id": 1230, + "id": 1228, "name": "_to", "nodeType": "VariableDeclaration", - "scope": 1237, + "scope": 1235, "src": "320:11:1", "stateVariable": false, "storageLocation": "default", @@ -356,7 +356,7 @@ "typeString": "address" }, "typeName": { - "id": 1229, + "id": 1227, "name": "address", "nodeType": "ElementaryTypeName", "src": "320:7:1", @@ -370,10 +370,10 @@ }, { "constant": false, - "id": 1232, + "id": 1230, "name": "_amount", "nodeType": "VariableDeclaration", - "scope": 1237, + "scope": 1235, "src": "342:15:1", "stateVariable": false, "storageLocation": "default", @@ -382,7 +382,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1231, + "id": 1229, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "342:7:1", @@ -399,15 +399,15 @@ }, "payable": false, "returnParameters": { - "id": 1236, + "id": 1234, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1235, + "id": 1233, "name": "success", "nodeType": "VariableDeclaration", - "scope": 1237, + "scope": 1235, "src": "400:12:1", "stateVariable": false, "storageLocation": "default", @@ -416,7 +416,7 @@ "typeString": "bool" }, "typeName": { - "id": 1234, + "id": 1232, "name": "bool", "nodeType": "ElementaryTypeName", "src": "400:4:1", @@ -431,14 +431,14 @@ ], "src": "399:14:1" }, - "scope": 1238, + "scope": 1236, "src": "265:149:1", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" } ], - "scope": 1239, + "scope": 1237, "src": "25:391:1" } ], @@ -448,14 +448,14 @@ "absolutePath": "/home/sameep/freelancing-projects/toptal/open baazar/publicRepo/smart-contracts/contracts/token/ITokenContract.sol", "exportedSymbols": { "ITokenContract": [ - 1238 + 1236 ] }, - "id": 1239, + "id": 1237, "nodeType": "SourceUnit", "nodes": [ { - "id": 1210, + "id": 1208, "literals": [ "solidity", "0.4", @@ -470,9 +470,9 @@ "contractKind": "interface", "documentation": null, "fullyImplemented": false, - "id": 1238, + "id": 1236, "linearizedBaseContracts": [ - 1238 + 1236 ], "name": "ITokenContract", "nodeType": "ContractDefinition", @@ -480,7 +480,7 @@ { "body": null, "documentation": null, - "id": 1217, + "id": 1215, "implemented": false, "isConstructor": false, "isDeclaredConst": true, @@ -488,15 +488,15 @@ "name": "balanceOf", "nodeType": "FunctionDefinition", "parameters": { - "id": 1213, + "id": 1211, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1212, + "id": 1210, "name": "_owner", "nodeType": "VariableDeclaration", - "scope": 1217, + "scope": 1215, "src": "75:14:1", "stateVariable": false, "storageLocation": "default", @@ -505,7 +505,7 @@ "typeString": "address" }, "typeName": { - "id": 1211, + "id": 1209, "name": "address", "nodeType": "ElementaryTypeName", "src": "75:7:1", @@ -522,15 +522,15 @@ }, "payable": false, "returnParameters": { - "id": 1216, + "id": 1214, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1215, + "id": 1213, "name": "balance", "nodeType": "VariableDeclaration", - "scope": 1217, + "scope": 1215, "src": "114:15:1", "stateVariable": false, "storageLocation": "default", @@ -539,7 +539,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1214, + "id": 1212, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "114:7:1", @@ -554,7 +554,7 @@ ], "src": "113:17:1" }, - "scope": 1238, + "scope": 1236, "src": "56:75:1", "stateMutability": "view", "superFunction": null, @@ -563,7 +563,7 @@ { "body": null, "documentation": null, - "id": 1226, + "id": 1224, "implemented": false, "isConstructor": false, "isDeclaredConst": false, @@ -571,15 +571,15 @@ "name": "transfer", "nodeType": "FunctionDefinition", "parameters": { - "id": 1222, + "id": 1220, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1219, + "id": 1217, "name": "_to", "nodeType": "VariableDeclaration", - "scope": 1226, + "scope": 1224, "src": "166:11:1", "stateVariable": false, "storageLocation": "default", @@ -588,7 +588,7 @@ "typeString": "address" }, "typeName": { - "id": 1218, + "id": 1216, "name": "address", "nodeType": "ElementaryTypeName", "src": "166:7:1", @@ -602,10 +602,10 @@ }, { "constant": false, - "id": 1221, + "id": 1219, "name": "_amount", "nodeType": "VariableDeclaration", - "scope": 1226, + "scope": 1224, "src": "188:15:1", "stateVariable": false, "storageLocation": "default", @@ -614,7 +614,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1220, + "id": 1218, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "188:7:1", @@ -631,15 +631,15 @@ }, "payable": false, "returnParameters": { - "id": 1225, + "id": 1223, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1224, + "id": 1222, "name": "success", "nodeType": "VariableDeclaration", - "scope": 1226, + "scope": 1224, "src": "245:12:1", "stateVariable": false, "storageLocation": "default", @@ -648,7 +648,7 @@ "typeString": "bool" }, "typeName": { - "id": 1223, + "id": 1221, "name": "bool", "nodeType": "ElementaryTypeName", "src": "245:4:1", @@ -663,7 +663,7 @@ ], "src": "244:14:1" }, - "scope": 1238, + "scope": 1236, "src": "139:120:1", "stateMutability": "nonpayable", "superFunction": null, @@ -672,7 +672,7 @@ { "body": null, "documentation": null, - "id": 1237, + "id": 1235, "implemented": false, "isConstructor": false, "isDeclaredConst": false, @@ -680,15 +680,15 @@ "name": "transferFrom", "nodeType": "FunctionDefinition", "parameters": { - "id": 1233, + "id": 1231, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1228, + "id": 1226, "name": "_from", "nodeType": "VariableDeclaration", - "scope": 1237, + "scope": 1235, "src": "296:13:1", "stateVariable": false, "storageLocation": "default", @@ -697,7 +697,7 @@ "typeString": "address" }, "typeName": { - "id": 1227, + "id": 1225, "name": "address", "nodeType": "ElementaryTypeName", "src": "296:7:1", @@ -711,10 +711,10 @@ }, { "constant": false, - "id": 1230, + "id": 1228, "name": "_to", "nodeType": "VariableDeclaration", - "scope": 1237, + "scope": 1235, "src": "320:11:1", "stateVariable": false, "storageLocation": "default", @@ -723,7 +723,7 @@ "typeString": "address" }, "typeName": { - "id": 1229, + "id": 1227, "name": "address", "nodeType": "ElementaryTypeName", "src": "320:7:1", @@ -737,10 +737,10 @@ }, { "constant": false, - "id": 1232, + "id": 1230, "name": "_amount", "nodeType": "VariableDeclaration", - "scope": 1237, + "scope": 1235, "src": "342:15:1", "stateVariable": false, "storageLocation": "default", @@ -749,7 +749,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1231, + "id": 1229, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "342:7:1", @@ -766,15 +766,15 @@ }, "payable": false, "returnParameters": { - "id": 1236, + "id": 1234, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1235, + "id": 1233, "name": "success", "nodeType": "VariableDeclaration", - "scope": 1237, + "scope": 1235, "src": "400:12:1", "stateVariable": false, "storageLocation": "default", @@ -783,7 +783,7 @@ "typeString": "bool" }, "typeName": { - "id": 1234, + "id": 1232, "name": "bool", "nodeType": "ElementaryTypeName", "src": "400:4:1", @@ -798,14 +798,14 @@ ], "src": "399:14:1" }, - "scope": 1238, + "scope": 1236, "src": "265:149:1", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" } ], - "scope": 1239, + "scope": 1237, "src": "25:391:1" } ], @@ -817,5 +817,5 @@ }, "networks": {}, "schemaVersion": "2.0.1", - "updatedAt": "2018-11-19T14:02:23.192Z" + "updatedAt": "2018-11-19T14:05:13.568Z" } \ No newline at end of file diff --git a/build/contracts/SafeMath.json b/build/contracts/SafeMath.json index 5e099af..34c6d6f 100644 --- a/build/contracts/SafeMath.json +++ b/build/contracts/SafeMath.json @@ -11,14 +11,14 @@ "absolutePath": "openzeppelin-solidity/contracts/math/SafeMath.sol", "exportedSymbols": { "SafeMath": [ - 1366 + 1364 ] }, - "id": 1367, + "id": 1365, "nodeType": "SourceUnit", "nodes": [ { - "id": 1240, + "id": 1238, "literals": [ "solidity", "^", @@ -34,16 +34,16 @@ "contractKind": "library", "documentation": "@title SafeMath\n@dev Math operations with safety checks that revert on error", "fullyImplemented": true, - "id": 1366, + "id": 1364, "linearizedBaseContracts": [ - 1366 + 1364 ], "name": "SafeMath", "nodeType": "ContractDefinition", "nodes": [ { "body": { - "id": 1272, + "id": 1270, "nodeType": "Block", "src": "271:314:2", "statements": [ @@ -54,18 +54,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1251, + "id": 1249, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1249, + "id": 1247, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1242, + "referencedDeclaration": 1240, "src": "486:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -77,7 +77,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 1250, + "id": 1248, "isConstant": false, "isLValue": false, "isPure": true, @@ -99,11 +99,11 @@ } }, "falseBody": null, - "id": 1255, + "id": 1253, "nodeType": "IfStatement", "src": "482:35:2", "trueBody": { - "id": 1254, + "id": 1252, "nodeType": "Block", "src": "494:23:2", "statements": [ @@ -111,7 +111,7 @@ "expression": { "argumentTypes": null, "hexValue": "30", - "id": 1252, + "id": 1250, "isConstant": false, "isLValue": false, "isPure": true, @@ -126,8 +126,8 @@ }, "value": "0" }, - "functionReturnParameters": 1248, - "id": 1253, + "functionReturnParameters": 1246, + "id": 1251, "nodeType": "Return", "src": "502:8:2" } @@ -136,15 +136,15 @@ }, { "assignments": [ - 1257 + 1255 ], "declarations": [ { "constant": false, - "id": 1257, + "id": 1255, "name": "c", "nodeType": "VariableDeclaration", - "scope": 1273, + "scope": 1271, "src": "523:9:2", "stateVariable": false, "storageLocation": "default", @@ -153,7 +153,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1256, + "id": 1254, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "523:7:2", @@ -166,25 +166,25 @@ "visibility": "internal" } ], - "id": 1261, + "id": 1259, "initialValue": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1260, + "id": 1258, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1258, + "id": 1256, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1242, + "referencedDeclaration": 1240, "src": "535:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -195,11 +195,11 @@ "operator": "*", "rightExpression": { "argumentTypes": null, - "id": 1259, + "id": 1257, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1244, + "referencedDeclaration": 1242, "src": "539:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -225,7 +225,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1267, + "id": 1265, "isConstant": false, "isLValue": false, "isPure": false, @@ -236,18 +236,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1265, + "id": 1263, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1263, + "id": 1261, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1257, + "referencedDeclaration": 1255, "src": "554:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -258,11 +258,11 @@ "operator": "/", "rightExpression": { "argumentTypes": null, - "id": 1264, + "id": 1262, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1242, + "referencedDeclaration": 1240, "src": "558:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -279,11 +279,11 @@ "operator": "==", "rightExpression": { "argumentTypes": null, - "id": 1266, + "id": 1264, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1244, + "referencedDeclaration": 1242, "src": "563:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -304,21 +304,21 @@ "typeString": "bool" } ], - "id": 1262, + "id": 1260, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1384, - 1385 + 1382, + 1383 ], - "referencedDeclaration": 1384, + "referencedDeclaration": 1382, "src": "546:7:2", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 1268, + "id": 1266, "isConstant": false, "isLValue": false, "isPure": false, @@ -332,33 +332,33 @@ "typeString": "tuple()" } }, - "id": 1269, + "id": 1267, "nodeType": "ExpressionStatement", "src": "546:19:2" }, { "expression": { "argumentTypes": null, - "id": 1270, + "id": 1268, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1257, + "referencedDeclaration": 1255, "src": "579:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 1248, - "id": 1271, + "functionReturnParameters": 1246, + "id": 1269, "nodeType": "Return", "src": "572:8:2" } ] }, "documentation": "@dev Multiplies two numbers, reverts on overflow.", - "id": 1273, + "id": 1271, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -366,15 +366,15 @@ "name": "mul", "nodeType": "FunctionDefinition", "parameters": { - "id": 1245, + "id": 1243, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1242, + "id": 1240, "name": "a", "nodeType": "VariableDeclaration", - "scope": 1273, + "scope": 1271, "src": "217:9:2", "stateVariable": false, "storageLocation": "default", @@ -383,7 +383,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1241, + "id": 1239, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "217:7:2", @@ -397,10 +397,10 @@ }, { "constant": false, - "id": 1244, + "id": 1242, "name": "b", "nodeType": "VariableDeclaration", - "scope": 1273, + "scope": 1271, "src": "228:9:2", "stateVariable": false, "storageLocation": "default", @@ -409,7 +409,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1243, + "id": 1241, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "228:7:2", @@ -426,15 +426,15 @@ }, "payable": false, "returnParameters": { - "id": 1248, + "id": 1246, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1247, + "id": 1245, "name": "", "nodeType": "VariableDeclaration", - "scope": 1273, + "scope": 1271, "src": "262:7:2", "stateVariable": false, "storageLocation": "default", @@ -443,7 +443,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1246, + "id": 1244, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "262:7:2", @@ -458,7 +458,7 @@ ], "src": "261:9:2" }, - "scope": 1366, + "scope": 1364, "src": "204:381:2", "stateMutability": "pure", "superFunction": null, @@ -466,7 +466,7 @@ }, { "body": { - "id": 1296, + "id": 1294, "nodeType": "Block", "src": "762:203:2", "statements": [ @@ -480,18 +480,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1285, + "id": 1283, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1283, + "id": 1281, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1277, + "referencedDeclaration": 1275, "src": "776:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -503,7 +503,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 1284, + "id": 1282, "isConstant": false, "isLValue": false, "isPure": true, @@ -532,21 +532,21 @@ "typeString": "bool" } ], - "id": 1282, + "id": 1280, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1384, - 1385 + 1382, + 1383 ], - "referencedDeclaration": 1384, + "referencedDeclaration": 1382, "src": "768:7:2", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 1286, + "id": 1284, "isConstant": false, "isLValue": false, "isPure": false, @@ -560,21 +560,21 @@ "typeString": "tuple()" } }, - "id": 1287, + "id": 1285, "nodeType": "ExpressionStatement", "src": "768:14:2" }, { "assignments": [ - 1289 + 1287 ], "declarations": [ { "constant": false, - "id": 1289, + "id": 1287, "name": "c", "nodeType": "VariableDeclaration", - "scope": 1297, + "scope": 1295, "src": "846:9:2", "stateVariable": false, "storageLocation": "default", @@ -583,7 +583,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1288, + "id": 1286, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "846:7:2", @@ -596,25 +596,25 @@ "visibility": "internal" } ], - "id": 1293, + "id": 1291, "initialValue": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1292, + "id": 1290, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1290, + "id": 1288, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1275, + "referencedDeclaration": 1273, "src": "858:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -625,11 +625,11 @@ "operator": "/", "rightExpression": { "argumentTypes": null, - "id": 1291, + "id": 1289, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1277, + "referencedDeclaration": 1275, "src": "862:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -648,26 +648,26 @@ { "expression": { "argumentTypes": null, - "id": 1294, + "id": 1292, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1289, + "referencedDeclaration": 1287, "src": "959:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 1281, - "id": 1295, + "functionReturnParameters": 1279, + "id": 1293, "nodeType": "Return", "src": "952:8:2" } ] }, "documentation": "@dev Integer division of two numbers truncating the quotient, reverts on division by zero.", - "id": 1297, + "id": 1295, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -675,15 +675,15 @@ "name": "div", "nodeType": "FunctionDefinition", "parameters": { - "id": 1278, + "id": 1276, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1275, + "id": 1273, "name": "a", "nodeType": "VariableDeclaration", - "scope": 1297, + "scope": 1295, "src": "708:9:2", "stateVariable": false, "storageLocation": "default", @@ -692,7 +692,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1274, + "id": 1272, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "708:7:2", @@ -706,10 +706,10 @@ }, { "constant": false, - "id": 1277, + "id": 1275, "name": "b", "nodeType": "VariableDeclaration", - "scope": 1297, + "scope": 1295, "src": "719:9:2", "stateVariable": false, "storageLocation": "default", @@ -718,7 +718,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1276, + "id": 1274, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "719:7:2", @@ -735,15 +735,15 @@ }, "payable": false, "returnParameters": { - "id": 1281, + "id": 1279, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1280, + "id": 1278, "name": "", "nodeType": "VariableDeclaration", - "scope": 1297, + "scope": 1295, "src": "753:7:2", "stateVariable": false, "storageLocation": "default", @@ -752,7 +752,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1279, + "id": 1277, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "753:7:2", @@ -767,7 +767,7 @@ ], "src": "752:9:2" }, - "scope": 1366, + "scope": 1364, "src": "695:270:2", "stateMutability": "pure", "superFunction": null, @@ -775,7 +775,7 @@ }, { "body": { - "id": 1320, + "id": 1318, "nodeType": "Block", "src": "1145:64:2", "statements": [ @@ -789,18 +789,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1309, + "id": 1307, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1307, + "id": 1305, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1301, + "referencedDeclaration": 1299, "src": "1159:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -811,11 +811,11 @@ "operator": "<=", "rightExpression": { "argumentTypes": null, - "id": 1308, + "id": 1306, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1299, + "referencedDeclaration": 1297, "src": "1164:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -836,21 +836,21 @@ "typeString": "bool" } ], - "id": 1306, + "id": 1304, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1384, - 1385 + 1382, + 1383 ], - "referencedDeclaration": 1384, + "referencedDeclaration": 1382, "src": "1151:7:2", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 1310, + "id": 1308, "isConstant": false, "isLValue": false, "isPure": false, @@ -864,21 +864,21 @@ "typeString": "tuple()" } }, - "id": 1311, + "id": 1309, "nodeType": "ExpressionStatement", "src": "1151:15:2" }, { "assignments": [ - 1313 + 1311 ], "declarations": [ { "constant": false, - "id": 1313, + "id": 1311, "name": "c", "nodeType": "VariableDeclaration", - "scope": 1321, + "scope": 1319, "src": "1172:9:2", "stateVariable": false, "storageLocation": "default", @@ -887,7 +887,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1312, + "id": 1310, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1172:7:2", @@ -900,25 +900,25 @@ "visibility": "internal" } ], - "id": 1317, + "id": 1315, "initialValue": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1316, + "id": 1314, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1314, + "id": 1312, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1299, + "referencedDeclaration": 1297, "src": "1184:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -929,11 +929,11 @@ "operator": "-", "rightExpression": { "argumentTypes": null, - "id": 1315, + "id": 1313, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1301, + "referencedDeclaration": 1299, "src": "1188:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -952,26 +952,26 @@ { "expression": { "argumentTypes": null, - "id": 1318, + "id": 1316, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1313, + "referencedDeclaration": 1311, "src": "1203:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 1305, - "id": 1319, + "functionReturnParameters": 1303, + "id": 1317, "nodeType": "Return", "src": "1196:8:2" } ] }, "documentation": "@dev Subtracts two numbers, reverts on overflow (i.e. if subtrahend is greater than minuend).", - "id": 1321, + "id": 1319, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -979,15 +979,15 @@ "name": "sub", "nodeType": "FunctionDefinition", "parameters": { - "id": 1302, + "id": 1300, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1299, + "id": 1297, "name": "a", "nodeType": "VariableDeclaration", - "scope": 1321, + "scope": 1319, "src": "1091:9:2", "stateVariable": false, "storageLocation": "default", @@ -996,7 +996,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1298, + "id": 1296, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1091:7:2", @@ -1010,10 +1010,10 @@ }, { "constant": false, - "id": 1301, + "id": 1299, "name": "b", "nodeType": "VariableDeclaration", - "scope": 1321, + "scope": 1319, "src": "1102:9:2", "stateVariable": false, "storageLocation": "default", @@ -1022,7 +1022,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1300, + "id": 1298, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1102:7:2", @@ -1039,15 +1039,15 @@ }, "payable": false, "returnParameters": { - "id": 1305, + "id": 1303, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1304, + "id": 1302, "name": "", "nodeType": "VariableDeclaration", - "scope": 1321, + "scope": 1319, "src": "1136:7:2", "stateVariable": false, "storageLocation": "default", @@ -1056,7 +1056,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1303, + "id": 1301, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1136:7:2", @@ -1071,7 +1071,7 @@ ], "src": "1135:9:2" }, - "scope": 1366, + "scope": 1364, "src": "1078:131:2", "stateMutability": "pure", "superFunction": null, @@ -1079,21 +1079,21 @@ }, { "body": { - "id": 1344, + "id": 1342, "nodeType": "Block", "src": "1339:64:2", "statements": [ { "assignments": [ - 1331 + 1329 ], "declarations": [ { "constant": false, - "id": 1331, + "id": 1329, "name": "c", "nodeType": "VariableDeclaration", - "scope": 1345, + "scope": 1343, "src": "1345:9:2", "stateVariable": false, "storageLocation": "default", @@ -1102,7 +1102,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1330, + "id": 1328, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1345:7:2", @@ -1115,25 +1115,25 @@ "visibility": "internal" } ], - "id": 1335, + "id": 1333, "initialValue": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1334, + "id": 1332, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1332, + "id": 1330, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1323, + "referencedDeclaration": 1321, "src": "1357:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1144,11 +1144,11 @@ "operator": "+", "rightExpression": { "argumentTypes": null, - "id": 1333, + "id": 1331, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1325, + "referencedDeclaration": 1323, "src": "1361:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1174,18 +1174,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1339, + "id": 1337, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1337, + "id": 1335, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1331, + "referencedDeclaration": 1329, "src": "1376:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1196,11 +1196,11 @@ "operator": ">=", "rightExpression": { "argumentTypes": null, - "id": 1338, + "id": 1336, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1323, + "referencedDeclaration": 1321, "src": "1381:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1221,21 +1221,21 @@ "typeString": "bool" } ], - "id": 1336, + "id": 1334, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1384, - 1385 + 1382, + 1383 ], - "referencedDeclaration": 1384, + "referencedDeclaration": 1382, "src": "1368:7:2", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 1340, + "id": 1338, "isConstant": false, "isLValue": false, "isPure": false, @@ -1249,33 +1249,33 @@ "typeString": "tuple()" } }, - "id": 1341, + "id": 1339, "nodeType": "ExpressionStatement", "src": "1368:15:2" }, { "expression": { "argumentTypes": null, - "id": 1342, + "id": 1340, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1331, + "referencedDeclaration": 1329, "src": "1397:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 1329, - "id": 1343, + "functionReturnParameters": 1327, + "id": 1341, "nodeType": "Return", "src": "1390:8:2" } ] }, "documentation": "@dev Adds two numbers, reverts on overflow.", - "id": 1345, + "id": 1343, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -1283,15 +1283,15 @@ "name": "add", "nodeType": "FunctionDefinition", "parameters": { - "id": 1326, + "id": 1324, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1323, + "id": 1321, "name": "a", "nodeType": "VariableDeclaration", - "scope": 1345, + "scope": 1343, "src": "1285:9:2", "stateVariable": false, "storageLocation": "default", @@ -1300,7 +1300,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1322, + "id": 1320, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1285:7:2", @@ -1314,10 +1314,10 @@ }, { "constant": false, - "id": 1325, + "id": 1323, "name": "b", "nodeType": "VariableDeclaration", - "scope": 1345, + "scope": 1343, "src": "1296:9:2", "stateVariable": false, "storageLocation": "default", @@ -1326,7 +1326,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1324, + "id": 1322, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1296:7:2", @@ -1343,15 +1343,15 @@ }, "payable": false, "returnParameters": { - "id": 1329, + "id": 1327, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1328, + "id": 1326, "name": "", "nodeType": "VariableDeclaration", - "scope": 1345, + "scope": 1343, "src": "1330:7:2", "stateVariable": false, "storageLocation": "default", @@ -1360,7 +1360,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1327, + "id": 1325, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1330:7:2", @@ -1375,7 +1375,7 @@ ], "src": "1329:9:2" }, - "scope": 1366, + "scope": 1364, "src": "1272:131:2", "stateMutability": "pure", "superFunction": null, @@ -1383,7 +1383,7 @@ }, { "body": { - "id": 1364, + "id": 1362, "nodeType": "Block", "src": "1602:44:2", "statements": [ @@ -1397,18 +1397,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1357, + "id": 1355, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1355, + "id": 1353, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1349, + "referencedDeclaration": 1347, "src": "1616:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1420,7 +1420,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 1356, + "id": 1354, "isConstant": false, "isLValue": false, "isPure": true, @@ -1449,21 +1449,21 @@ "typeString": "bool" } ], - "id": 1354, + "id": 1352, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1384, - 1385 + 1382, + 1383 ], - "referencedDeclaration": 1384, + "referencedDeclaration": 1382, "src": "1608:7:2", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 1358, + "id": 1356, "isConstant": false, "isLValue": false, "isPure": false, @@ -1477,7 +1477,7 @@ "typeString": "tuple()" } }, - "id": 1359, + "id": 1357, "nodeType": "ExpressionStatement", "src": "1608:15:2" }, @@ -1488,18 +1488,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1362, + "id": 1360, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1360, + "id": 1358, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1347, + "referencedDeclaration": 1345, "src": "1636:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1510,11 +1510,11 @@ "operator": "%", "rightExpression": { "argumentTypes": null, - "id": 1361, + "id": 1359, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1349, + "referencedDeclaration": 1347, "src": "1640:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1527,15 +1527,15 @@ "typeString": "uint256" } }, - "functionReturnParameters": 1353, - "id": 1363, + "functionReturnParameters": 1351, + "id": 1361, "nodeType": "Return", "src": "1629:12:2" } ] }, "documentation": "@dev Divides two numbers and returns the remainder (unsigned integer modulo),\nreverts when dividing by zero.", - "id": 1365, + "id": 1363, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -1543,15 +1543,15 @@ "name": "mod", "nodeType": "FunctionDefinition", "parameters": { - "id": 1350, + "id": 1348, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1347, + "id": 1345, "name": "a", "nodeType": "VariableDeclaration", - "scope": 1365, + "scope": 1363, "src": "1548:9:2", "stateVariable": false, "storageLocation": "default", @@ -1560,7 +1560,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1346, + "id": 1344, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1548:7:2", @@ -1574,10 +1574,10 @@ }, { "constant": false, - "id": 1349, + "id": 1347, "name": "b", "nodeType": "VariableDeclaration", - "scope": 1365, + "scope": 1363, "src": "1559:9:2", "stateVariable": false, "storageLocation": "default", @@ -1586,7 +1586,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1348, + "id": 1346, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1559:7:2", @@ -1603,15 +1603,15 @@ }, "payable": false, "returnParameters": { - "id": 1353, + "id": 1351, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1352, + "id": 1350, "name": "", "nodeType": "VariableDeclaration", - "scope": 1365, + "scope": 1363, "src": "1593:7:2", "stateVariable": false, "storageLocation": "default", @@ -1620,7 +1620,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1351, + "id": 1349, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1593:7:2", @@ -1635,14 +1635,14 @@ ], "src": "1592:9:2" }, - "scope": 1366, + "scope": 1364, "src": "1535:111:2", "stateMutability": "pure", "superFunction": null, "visibility": "internal" } ], - "scope": 1367, + "scope": 1365, "src": "117:1531:2" } ], @@ -1652,14 +1652,14 @@ "absolutePath": "openzeppelin-solidity/contracts/math/SafeMath.sol", "exportedSymbols": { "SafeMath": [ - 1366 + 1364 ] }, - "id": 1367, + "id": 1365, "nodeType": "SourceUnit", "nodes": [ { - "id": 1240, + "id": 1238, "literals": [ "solidity", "^", @@ -1675,16 +1675,16 @@ "contractKind": "library", "documentation": "@title SafeMath\n@dev Math operations with safety checks that revert on error", "fullyImplemented": true, - "id": 1366, + "id": 1364, "linearizedBaseContracts": [ - 1366 + 1364 ], "name": "SafeMath", "nodeType": "ContractDefinition", "nodes": [ { "body": { - "id": 1272, + "id": 1270, "nodeType": "Block", "src": "271:314:2", "statements": [ @@ -1695,18 +1695,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1251, + "id": 1249, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1249, + "id": 1247, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1242, + "referencedDeclaration": 1240, "src": "486:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1718,7 +1718,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 1250, + "id": 1248, "isConstant": false, "isLValue": false, "isPure": true, @@ -1740,11 +1740,11 @@ } }, "falseBody": null, - "id": 1255, + "id": 1253, "nodeType": "IfStatement", "src": "482:35:2", "trueBody": { - "id": 1254, + "id": 1252, "nodeType": "Block", "src": "494:23:2", "statements": [ @@ -1752,7 +1752,7 @@ "expression": { "argumentTypes": null, "hexValue": "30", - "id": 1252, + "id": 1250, "isConstant": false, "isLValue": false, "isPure": true, @@ -1767,8 +1767,8 @@ }, "value": "0" }, - "functionReturnParameters": 1248, - "id": 1253, + "functionReturnParameters": 1246, + "id": 1251, "nodeType": "Return", "src": "502:8:2" } @@ -1777,15 +1777,15 @@ }, { "assignments": [ - 1257 + 1255 ], "declarations": [ { "constant": false, - "id": 1257, + "id": 1255, "name": "c", "nodeType": "VariableDeclaration", - "scope": 1273, + "scope": 1271, "src": "523:9:2", "stateVariable": false, "storageLocation": "default", @@ -1794,7 +1794,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1256, + "id": 1254, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "523:7:2", @@ -1807,25 +1807,25 @@ "visibility": "internal" } ], - "id": 1261, + "id": 1259, "initialValue": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1260, + "id": 1258, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1258, + "id": 1256, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1242, + "referencedDeclaration": 1240, "src": "535:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1836,11 +1836,11 @@ "operator": "*", "rightExpression": { "argumentTypes": null, - "id": 1259, + "id": 1257, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1244, + "referencedDeclaration": 1242, "src": "539:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1866,7 +1866,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1267, + "id": 1265, "isConstant": false, "isLValue": false, "isPure": false, @@ -1877,18 +1877,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1265, + "id": 1263, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1263, + "id": 1261, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1257, + "referencedDeclaration": 1255, "src": "554:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1899,11 +1899,11 @@ "operator": "/", "rightExpression": { "argumentTypes": null, - "id": 1264, + "id": 1262, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1242, + "referencedDeclaration": 1240, "src": "558:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1920,11 +1920,11 @@ "operator": "==", "rightExpression": { "argumentTypes": null, - "id": 1266, + "id": 1264, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1244, + "referencedDeclaration": 1242, "src": "563:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1945,21 +1945,21 @@ "typeString": "bool" } ], - "id": 1262, + "id": 1260, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1384, - 1385 + 1382, + 1383 ], - "referencedDeclaration": 1384, + "referencedDeclaration": 1382, "src": "546:7:2", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 1268, + "id": 1266, "isConstant": false, "isLValue": false, "isPure": false, @@ -1973,33 +1973,33 @@ "typeString": "tuple()" } }, - "id": 1269, + "id": 1267, "nodeType": "ExpressionStatement", "src": "546:19:2" }, { "expression": { "argumentTypes": null, - "id": 1270, + "id": 1268, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1257, + "referencedDeclaration": 1255, "src": "579:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 1248, - "id": 1271, + "functionReturnParameters": 1246, + "id": 1269, "nodeType": "Return", "src": "572:8:2" } ] }, "documentation": "@dev Multiplies two numbers, reverts on overflow.", - "id": 1273, + "id": 1271, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -2007,15 +2007,15 @@ "name": "mul", "nodeType": "FunctionDefinition", "parameters": { - "id": 1245, + "id": 1243, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1242, + "id": 1240, "name": "a", "nodeType": "VariableDeclaration", - "scope": 1273, + "scope": 1271, "src": "217:9:2", "stateVariable": false, "storageLocation": "default", @@ -2024,7 +2024,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1241, + "id": 1239, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "217:7:2", @@ -2038,10 +2038,10 @@ }, { "constant": false, - "id": 1244, + "id": 1242, "name": "b", "nodeType": "VariableDeclaration", - "scope": 1273, + "scope": 1271, "src": "228:9:2", "stateVariable": false, "storageLocation": "default", @@ -2050,7 +2050,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1243, + "id": 1241, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "228:7:2", @@ -2067,15 +2067,15 @@ }, "payable": false, "returnParameters": { - "id": 1248, + "id": 1246, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1247, + "id": 1245, "name": "", "nodeType": "VariableDeclaration", - "scope": 1273, + "scope": 1271, "src": "262:7:2", "stateVariable": false, "storageLocation": "default", @@ -2084,7 +2084,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1246, + "id": 1244, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "262:7:2", @@ -2099,7 +2099,7 @@ ], "src": "261:9:2" }, - "scope": 1366, + "scope": 1364, "src": "204:381:2", "stateMutability": "pure", "superFunction": null, @@ -2107,7 +2107,7 @@ }, { "body": { - "id": 1296, + "id": 1294, "nodeType": "Block", "src": "762:203:2", "statements": [ @@ -2121,18 +2121,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1285, + "id": 1283, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1283, + "id": 1281, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1277, + "referencedDeclaration": 1275, "src": "776:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2144,7 +2144,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 1284, + "id": 1282, "isConstant": false, "isLValue": false, "isPure": true, @@ -2173,21 +2173,21 @@ "typeString": "bool" } ], - "id": 1282, + "id": 1280, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1384, - 1385 + 1382, + 1383 ], - "referencedDeclaration": 1384, + "referencedDeclaration": 1382, "src": "768:7:2", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 1286, + "id": 1284, "isConstant": false, "isLValue": false, "isPure": false, @@ -2201,21 +2201,21 @@ "typeString": "tuple()" } }, - "id": 1287, + "id": 1285, "nodeType": "ExpressionStatement", "src": "768:14:2" }, { "assignments": [ - 1289 + 1287 ], "declarations": [ { "constant": false, - "id": 1289, + "id": 1287, "name": "c", "nodeType": "VariableDeclaration", - "scope": 1297, + "scope": 1295, "src": "846:9:2", "stateVariable": false, "storageLocation": "default", @@ -2224,7 +2224,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1288, + "id": 1286, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "846:7:2", @@ -2237,25 +2237,25 @@ "visibility": "internal" } ], - "id": 1293, + "id": 1291, "initialValue": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1292, + "id": 1290, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1290, + "id": 1288, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1275, + "referencedDeclaration": 1273, "src": "858:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2266,11 +2266,11 @@ "operator": "/", "rightExpression": { "argumentTypes": null, - "id": 1291, + "id": 1289, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1277, + "referencedDeclaration": 1275, "src": "862:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2289,26 +2289,26 @@ { "expression": { "argumentTypes": null, - "id": 1294, + "id": 1292, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1289, + "referencedDeclaration": 1287, "src": "959:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 1281, - "id": 1295, + "functionReturnParameters": 1279, + "id": 1293, "nodeType": "Return", "src": "952:8:2" } ] }, "documentation": "@dev Integer division of two numbers truncating the quotient, reverts on division by zero.", - "id": 1297, + "id": 1295, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -2316,15 +2316,15 @@ "name": "div", "nodeType": "FunctionDefinition", "parameters": { - "id": 1278, + "id": 1276, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1275, + "id": 1273, "name": "a", "nodeType": "VariableDeclaration", - "scope": 1297, + "scope": 1295, "src": "708:9:2", "stateVariable": false, "storageLocation": "default", @@ -2333,7 +2333,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1274, + "id": 1272, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "708:7:2", @@ -2347,10 +2347,10 @@ }, { "constant": false, - "id": 1277, + "id": 1275, "name": "b", "nodeType": "VariableDeclaration", - "scope": 1297, + "scope": 1295, "src": "719:9:2", "stateVariable": false, "storageLocation": "default", @@ -2359,7 +2359,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1276, + "id": 1274, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "719:7:2", @@ -2376,15 +2376,15 @@ }, "payable": false, "returnParameters": { - "id": 1281, + "id": 1279, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1280, + "id": 1278, "name": "", "nodeType": "VariableDeclaration", - "scope": 1297, + "scope": 1295, "src": "753:7:2", "stateVariable": false, "storageLocation": "default", @@ -2393,7 +2393,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1279, + "id": 1277, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "753:7:2", @@ -2408,7 +2408,7 @@ ], "src": "752:9:2" }, - "scope": 1366, + "scope": 1364, "src": "695:270:2", "stateMutability": "pure", "superFunction": null, @@ -2416,7 +2416,7 @@ }, { "body": { - "id": 1320, + "id": 1318, "nodeType": "Block", "src": "1145:64:2", "statements": [ @@ -2430,18 +2430,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1309, + "id": 1307, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1307, + "id": 1305, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1301, + "referencedDeclaration": 1299, "src": "1159:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2452,11 +2452,11 @@ "operator": "<=", "rightExpression": { "argumentTypes": null, - "id": 1308, + "id": 1306, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1299, + "referencedDeclaration": 1297, "src": "1164:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2477,21 +2477,21 @@ "typeString": "bool" } ], - "id": 1306, + "id": 1304, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1384, - 1385 + 1382, + 1383 ], - "referencedDeclaration": 1384, + "referencedDeclaration": 1382, "src": "1151:7:2", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 1310, + "id": 1308, "isConstant": false, "isLValue": false, "isPure": false, @@ -2505,21 +2505,21 @@ "typeString": "tuple()" } }, - "id": 1311, + "id": 1309, "nodeType": "ExpressionStatement", "src": "1151:15:2" }, { "assignments": [ - 1313 + 1311 ], "declarations": [ { "constant": false, - "id": 1313, + "id": 1311, "name": "c", "nodeType": "VariableDeclaration", - "scope": 1321, + "scope": 1319, "src": "1172:9:2", "stateVariable": false, "storageLocation": "default", @@ -2528,7 +2528,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1312, + "id": 1310, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1172:7:2", @@ -2541,25 +2541,25 @@ "visibility": "internal" } ], - "id": 1317, + "id": 1315, "initialValue": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1316, + "id": 1314, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1314, + "id": 1312, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1299, + "referencedDeclaration": 1297, "src": "1184:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2570,11 +2570,11 @@ "operator": "-", "rightExpression": { "argumentTypes": null, - "id": 1315, + "id": 1313, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1301, + "referencedDeclaration": 1299, "src": "1188:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2593,26 +2593,26 @@ { "expression": { "argumentTypes": null, - "id": 1318, + "id": 1316, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1313, + "referencedDeclaration": 1311, "src": "1203:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 1305, - "id": 1319, + "functionReturnParameters": 1303, + "id": 1317, "nodeType": "Return", "src": "1196:8:2" } ] }, "documentation": "@dev Subtracts two numbers, reverts on overflow (i.e. if subtrahend is greater than minuend).", - "id": 1321, + "id": 1319, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -2620,15 +2620,15 @@ "name": "sub", "nodeType": "FunctionDefinition", "parameters": { - "id": 1302, + "id": 1300, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1299, + "id": 1297, "name": "a", "nodeType": "VariableDeclaration", - "scope": 1321, + "scope": 1319, "src": "1091:9:2", "stateVariable": false, "storageLocation": "default", @@ -2637,7 +2637,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1298, + "id": 1296, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1091:7:2", @@ -2651,10 +2651,10 @@ }, { "constant": false, - "id": 1301, + "id": 1299, "name": "b", "nodeType": "VariableDeclaration", - "scope": 1321, + "scope": 1319, "src": "1102:9:2", "stateVariable": false, "storageLocation": "default", @@ -2663,7 +2663,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1300, + "id": 1298, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1102:7:2", @@ -2680,15 +2680,15 @@ }, "payable": false, "returnParameters": { - "id": 1305, + "id": 1303, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1304, + "id": 1302, "name": "", "nodeType": "VariableDeclaration", - "scope": 1321, + "scope": 1319, "src": "1136:7:2", "stateVariable": false, "storageLocation": "default", @@ -2697,7 +2697,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1303, + "id": 1301, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1136:7:2", @@ -2712,7 +2712,7 @@ ], "src": "1135:9:2" }, - "scope": 1366, + "scope": 1364, "src": "1078:131:2", "stateMutability": "pure", "superFunction": null, @@ -2720,21 +2720,21 @@ }, { "body": { - "id": 1344, + "id": 1342, "nodeType": "Block", "src": "1339:64:2", "statements": [ { "assignments": [ - 1331 + 1329 ], "declarations": [ { "constant": false, - "id": 1331, + "id": 1329, "name": "c", "nodeType": "VariableDeclaration", - "scope": 1345, + "scope": 1343, "src": "1345:9:2", "stateVariable": false, "storageLocation": "default", @@ -2743,7 +2743,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1330, + "id": 1328, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1345:7:2", @@ -2756,25 +2756,25 @@ "visibility": "internal" } ], - "id": 1335, + "id": 1333, "initialValue": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1334, + "id": 1332, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1332, + "id": 1330, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1323, + "referencedDeclaration": 1321, "src": "1357:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2785,11 +2785,11 @@ "operator": "+", "rightExpression": { "argumentTypes": null, - "id": 1333, + "id": 1331, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1325, + "referencedDeclaration": 1323, "src": "1361:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2815,18 +2815,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1339, + "id": 1337, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1337, + "id": 1335, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1331, + "referencedDeclaration": 1329, "src": "1376:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2837,11 +2837,11 @@ "operator": ">=", "rightExpression": { "argumentTypes": null, - "id": 1338, + "id": 1336, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1323, + "referencedDeclaration": 1321, "src": "1381:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2862,21 +2862,21 @@ "typeString": "bool" } ], - "id": 1336, + "id": 1334, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1384, - 1385 + 1382, + 1383 ], - "referencedDeclaration": 1384, + "referencedDeclaration": 1382, "src": "1368:7:2", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 1340, + "id": 1338, "isConstant": false, "isLValue": false, "isPure": false, @@ -2890,33 +2890,33 @@ "typeString": "tuple()" } }, - "id": 1341, + "id": 1339, "nodeType": "ExpressionStatement", "src": "1368:15:2" }, { "expression": { "argumentTypes": null, - "id": 1342, + "id": 1340, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1331, + "referencedDeclaration": 1329, "src": "1397:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 1329, - "id": 1343, + "functionReturnParameters": 1327, + "id": 1341, "nodeType": "Return", "src": "1390:8:2" } ] }, "documentation": "@dev Adds two numbers, reverts on overflow.", - "id": 1345, + "id": 1343, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -2924,15 +2924,15 @@ "name": "add", "nodeType": "FunctionDefinition", "parameters": { - "id": 1326, + "id": 1324, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1323, + "id": 1321, "name": "a", "nodeType": "VariableDeclaration", - "scope": 1345, + "scope": 1343, "src": "1285:9:2", "stateVariable": false, "storageLocation": "default", @@ -2941,7 +2941,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1322, + "id": 1320, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1285:7:2", @@ -2955,10 +2955,10 @@ }, { "constant": false, - "id": 1325, + "id": 1323, "name": "b", "nodeType": "VariableDeclaration", - "scope": 1345, + "scope": 1343, "src": "1296:9:2", "stateVariable": false, "storageLocation": "default", @@ -2967,7 +2967,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1324, + "id": 1322, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1296:7:2", @@ -2984,15 +2984,15 @@ }, "payable": false, "returnParameters": { - "id": 1329, + "id": 1327, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1328, + "id": 1326, "name": "", "nodeType": "VariableDeclaration", - "scope": 1345, + "scope": 1343, "src": "1330:7:2", "stateVariable": false, "storageLocation": "default", @@ -3001,7 +3001,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1327, + "id": 1325, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1330:7:2", @@ -3016,7 +3016,7 @@ ], "src": "1329:9:2" }, - "scope": 1366, + "scope": 1364, "src": "1272:131:2", "stateMutability": "pure", "superFunction": null, @@ -3024,7 +3024,7 @@ }, { "body": { - "id": 1364, + "id": 1362, "nodeType": "Block", "src": "1602:44:2", "statements": [ @@ -3038,18 +3038,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1357, + "id": 1355, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1355, + "id": 1353, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1349, + "referencedDeclaration": 1347, "src": "1616:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -3061,7 +3061,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 1356, + "id": 1354, "isConstant": false, "isLValue": false, "isPure": true, @@ -3090,21 +3090,21 @@ "typeString": "bool" } ], - "id": 1354, + "id": 1352, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1384, - 1385 + 1382, + 1383 ], - "referencedDeclaration": 1384, + "referencedDeclaration": 1382, "src": "1608:7:2", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 1358, + "id": 1356, "isConstant": false, "isLValue": false, "isPure": false, @@ -3118,7 +3118,7 @@ "typeString": "tuple()" } }, - "id": 1359, + "id": 1357, "nodeType": "ExpressionStatement", "src": "1608:15:2" }, @@ -3129,18 +3129,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1362, + "id": 1360, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1360, + "id": 1358, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1347, + "referencedDeclaration": 1345, "src": "1636:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -3151,11 +3151,11 @@ "operator": "%", "rightExpression": { "argumentTypes": null, - "id": 1361, + "id": 1359, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1349, + "referencedDeclaration": 1347, "src": "1640:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -3168,15 +3168,15 @@ "typeString": "uint256" } }, - "functionReturnParameters": 1353, - "id": 1363, + "functionReturnParameters": 1351, + "id": 1361, "nodeType": "Return", "src": "1629:12:2" } ] }, "documentation": "@dev Divides two numbers and returns the remainder (unsigned integer modulo),\nreverts when dividing by zero.", - "id": 1365, + "id": 1363, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -3184,15 +3184,15 @@ "name": "mod", "nodeType": "FunctionDefinition", "parameters": { - "id": 1350, + "id": 1348, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1347, + "id": 1345, "name": "a", "nodeType": "VariableDeclaration", - "scope": 1365, + "scope": 1363, "src": "1548:9:2", "stateVariable": false, "storageLocation": "default", @@ -3201,7 +3201,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1346, + "id": 1344, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1548:7:2", @@ -3215,10 +3215,10 @@ }, { "constant": false, - "id": 1349, + "id": 1347, "name": "b", "nodeType": "VariableDeclaration", - "scope": 1365, + "scope": 1363, "src": "1559:9:2", "stateVariable": false, "storageLocation": "default", @@ -3227,7 +3227,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1348, + "id": 1346, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1559:7:2", @@ -3244,15 +3244,15 @@ }, "payable": false, "returnParameters": { - "id": 1353, + "id": 1351, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1352, + "id": 1350, "name": "", "nodeType": "VariableDeclaration", - "scope": 1365, + "scope": 1363, "src": "1593:7:2", "stateVariable": false, "storageLocation": "default", @@ -3261,7 +3261,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1351, + "id": 1349, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1593:7:2", @@ -3276,14 +3276,14 @@ ], "src": "1592:9:2" }, - "scope": 1366, + "scope": 1364, "src": "1535:111:2", "stateMutability": "pure", "superFunction": null, "visibility": "internal" } ], - "scope": 1367, + "scope": 1365, "src": "117:1531:2" } ], @@ -3295,5 +3295,5 @@ }, "networks": {}, "schemaVersion": "2.0.1", - "updatedAt": "2018-11-19T14:02:23.194Z" + "updatedAt": "2018-11-19T14:05:13.569Z" } \ No newline at end of file diff --git a/test/escrow/1_Escrow_v1_0_test.js b/test/escrow/1_Escrow_v1_0_test.js index 27a5262..63bed32 100644 --- a/test/escrow/1_Escrow_v1_0_test.js +++ b/test/escrow/1_Escrow_v1_0_test.js @@ -1582,7 +1582,7 @@ contract("Escrow Contract Version 1- Supports Token transfer", function() { try{ await this.escrow.execute(sig.sigV, sig.sigR, sig.sigS, scriptHash, [seller], [amountToBeGivenToSeller]); - assert.equal(true, false, "Should not be able to execute transaction using moderators signature"); + assert.equal(true, false, "Should not be able to execute transaction using moderator's signature"); }catch(error){ assert.notInclude(error.toString(), 'AssertionError', error.message);